:root{
  --cream:#f4e5b4;--paper:#dfcf96;--ink:#1f271d;--green:#1f3b2f;--green2:#315846;
  --orange:#d8682b;--gold:#e6b44c;--red:#8d2e26;--brown:#6b4b2e;--blue:#315a6d;
  --shadow:rgba(27,32,22,.24)
}

/* BORDER RUN v4.2.10av — PACED ROAD FLOW + RECOVERABLE CARD DRAW */
.event-card-reveal.active{pointer-events:auto!important;cursor:pointer;touch-action:manipulation}
.event-card-reveal.active .event-card-caption{pointer-events:none}
.lr-master-node.travel.quiet-space{opacity:.68!important;filter:saturate(.72)!important}
.lr-master-node.travel.quiet-space .lr-master-trigger{display:none!important}
.lr-master-node.travel.quiet-space .lr-master-travel-dot{transform:scale(.72);opacity:.76!important}
.lr-master-node.travel.quiet-space.current,.lr-master-node.travel.quiet-space.preview{opacity:1!important;filter:none!important}
.lr-master-node.travel.actionable-space{opacity:1}
.map-node.travel-space-node.quiet-space{opacity:.72!important;filter:saturate(.72)!important}
.map-node.travel-space-node.quiet-space.current,.map-node.travel-space-node.quiet-space:focus-visible{opacity:1!important;filter:none!important}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#17271f;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:radial-gradient(circle at 15% 8%,rgba(230,180,76,.16),transparent 30%),linear-gradient(135deg,#15251d,#274334 56%,#15251d)}
button{font:inherit}.app-shell{width:min(100%,560px);margin:0 auto;min-height:100vh;padding:env(safe-area-inset-top) 14px env(safe-area-inset-bottom);background:var(--cream);box-shadow:0 0 60px rgba(0,0,0,.42)}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 4px 11px;border-bottom:4px double var(--green)}
.eyebrow,.mini-label,.modal-kicker{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--brown)}
h1{margin:2px 0 4px;font-size:34px;line-height:.95;letter-spacing:-.04em;color:var(--green);font-family:Georgia,serif;text-shadow:2px 2px 0 rgba(216,104,43,.2)}h1 span{color:var(--orange)}
.edition-line{font-size:9px;letter-spacing:.08em;font-weight:900;color:var(--orange)}
.icon-btn{border:2px solid var(--green);background:transparent;color:var(--green);width:42px;height:42px;border-radius:50%;font-size:24px;font-weight:800;cursor:pointer}
.hud{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.stat{background:var(--green);color:var(--cream);padding:9px 7px;border-radius:7px;box-shadow:3px 3px 0 var(--orange)}.stat span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;opacity:.78}.stat strong{font-size:14px}
.route-panel{border:2px solid var(--green);background:#eadcab;border-radius:13px;padding:11px;margin-bottom:10px}.route-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.route-panel-head strong{display:block;color:var(--green);font-size:15px}.upgrade-count{font-size:9px;font-weight:900;letter-spacing:.08em;border:1px solid var(--brown);padding:5px 7px;border-radius:20px;color:var(--brown)}
.route-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.route-tab{border:0;padding:9px 5px;border-radius:8px;background:#ccb980;color:#554126;font-weight:900;font-size:11px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(84,64,38,.2)}.route-tab.active{background:var(--green);color:var(--cream)}.route-tab.locked{box-shadow:0 0 0 2px var(--orange) inset}.route-tab small{display:block;font-size:8px;font-weight:800;opacity:.75;margin-top:2px}
.route-intel{margin-top:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:9px;color:#694f32}.route-intel div{background:rgba(255,255,255,.24);border-radius:6px;padding:5px}.route-intel strong{display:block;color:var(--green);font-size:11px}
.board-wrap{position:relative;background:#d6bf7b;border:2px solid var(--brown);border-radius:16px;padding:13px 8px;overflow:hidden;box-shadow:inset 0 0 32px rgba(85,58,33,.15);max-height:530px;overflow-y:auto}.board-grain{position:absolute;inset:0;opacity:.13;background-image:repeating-linear-gradient(0deg,transparent 0 14px,rgba(80,53,31,.18) 15px);pointer-events:none}.board{position:relative;display:flex;flex-direction:column-reverse;gap:7px;z-index:1}
.stop{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;background:rgba(244,229,180,.93);border:2px solid var(--brown);border-radius:9px;padding:7px 8px;min-height:52px;position:relative;transition:.18s transform,.18s box-shadow}.stop.current{transform:translateX(4px);box-shadow:-6px 0 0 var(--orange)}.stop.ai-current{box-shadow:6px 0 0 var(--green2)}.stop.current.ai-current{box-shadow:-6px 0 0 var(--orange),6px 0 0 var(--green2)}.stop.market-stop{background:#d9c57f;border-style:double;border-width:4px}.stop.junction-stop{border-color:var(--blue)}
.stop-num{font-family:Georgia,serif;font-weight:900;font-size:18px;color:var(--brown)}.stop-title{font-weight:900;color:var(--green);line-height:1.05;font-size:13px}.stop-sub{font-size:10px;color:#674e32;margin-top:3px}.stop-tag{font-size:8px;font-weight:900;letter-spacing:.08em;padding:5px 6px;border-radius:20px;background:var(--green);color:var(--cream)}.stop-tag.RISK{background:var(--red)}.stop-tag.EVENT{background:var(--orange)}.stop-tag.SELL{background:var(--blue)}.stop-tag.GARAGE{background:#6c5730}.stop-tag.SWITCH{background:#315a6d}
.pawns{display:flex;gap:3px;position:absolute;right:8px;bottom:4px}.pawn{display:inline-block;width:18px;height:9px;border:2px solid var(--cream);border-radius:6px 6px 3px 3px;box-shadow:0 1px 2px rgba(0,0,0,.25);position:relative}.pawn:after{content:"";position:absolute;left:1px;right:1px;bottom:-4px;height:4px;border-left:4px solid #24241f;border-right:4px solid #24241f}.pawn.player{background:var(--orange)}.pawn.ai{background:var(--green2)}
.upgrade-strip{display:flex;gap:6px;overflow:auto;padding:9px 2px 2px;min-height:34px}.upgrade-pill{flex:0 0 auto;background:#d8c89a;color:var(--green);border:1px solid rgba(31,59,47,.28);padding:5px 7px;border-radius:20px;font-size:9px;font-weight:900}.upgrade-pill.empty{opacity:.65}
.opponent-card{margin-top:10px;border:2px solid var(--green);border-radius:11px;padding:10px 11px;background:#ebddb0}.opponent-head,.turn-line{display:flex;justify-content:space-between;align-items:center}.opponent-head strong{display:block;color:var(--green)}.turn-badge{font-size:9px;font-weight:900;letter-spacing:.1em;border-radius:30px;padding:5px 8px;background:#cabd8f;color:#6a5a3c}.turn-badge.active{background:var(--orange);color:white}.opponent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.opponent-grid div{border-top:1px solid rgba(58,73,49,.25);padding-top:6px}.opponent-grid span{display:block;font-size:8px;text-transform:uppercase;color:#7c6444}.opponent-grid strong{font-size:11px}
.action-panel{padding:14px 2px 24px}.turn-line strong{display:block;font-size:21px;color:var(--green)}.dice{min-width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:var(--green);color:var(--cream);font-size:23px;font-weight:900;box-shadow:4px 4px 0 var(--gold);padding:0 8px}.action-text{margin:12px 0;font-size:14px;line-height:1.4;min-height:40px}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.actions.stacked{grid-template-columns:1fr;margin-top:16px}.btn{border:0;border-radius:10px;padding:13px 11px;font-weight:900;letter-spacing:.01em;cursor:pointer;box-shadow:0 4px 0 rgba(54,49,33,.25);transition:.08s transform,.08s box-shadow}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(54,49,33,.25)}.btn.primary{background:var(--orange);color:white}.btn.secondary{background:var(--green);color:var(--cream)}.btn.ghost{background:#d8c89a;color:var(--green);border:1px solid rgba(31,59,47,.25)}.btn.danger{background:var(--red);color:#fff}.btn.blue{background:var(--blue);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}
.log-wrap{margin-top:14px;border-top:1px solid rgba(107,75,46,.3);padding-top:10px}.log-wrap summary{cursor:pointer;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--brown)}.log{max-height:180px;overflow:auto;margin-top:8px;font-size:12px;line-height:1.5}.log-entry{padding:5px 0;border-bottom:1px dashed rgba(107,75,46,.25)}
.modal{position:fixed;inset:0;z-index:20;background:rgba(17,26,20,.76);display:grid;place-items:end center;padding:14px}.modal.hidden{display:none}.modal-card{width:min(100%,520px);background:var(--cream);border:3px solid var(--green);border-radius:18px 18px 8px 8px;padding:20px;box-shadow:0 -12px 40px rgba(0,0,0,.28);max-height:88vh;overflow:auto}.modal-card.positive{border-color:var(--green2)}.modal-card.negative{border-color:var(--red)}.modal-card h2{font-family:Georgia,serif;font-size:28px;color:var(--green);margin:4px 0 8px}.modal-card.negative h2{color:var(--red)}.modal-card p{line-height:1.45;margin:0 0 10px}.price-table{display:grid;gap:7px;margin:12px 0}.price-row{display:flex;justify-content:space-between;align-items:center;background:#e6d7a8;padding:9px 10px;border-radius:8px}.price-row strong{color:var(--green)}.choice-note{font-size:12px;color:#69543a;margin-top:8px}.win-banner{font-weight:900;color:var(--orange);font-size:18px}.card-badge{display:inline-block;margin-top:6px;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:900;letter-spacing:.08em}.card-badge.positive{background:var(--green2);color:#fff}.card-badge.negative{background:var(--red);color:#fff}.garage-grid{display:grid;gap:8px;margin-top:10px}.garage-item{background:#e5d6a5;border-radius:9px;padding:9px}.garage-item strong{display:block;color:var(--green)}.garage-item small{display:block;color:#6c5539;margin:3px 0 6px}
@media (min-width:700px){body{padding:28px}.app-shell{min-height:auto;border-radius:18px;padding:18px 18px 28px}.modal{place-items:center}.modal-card{border-radius:18px}.board-wrap{max-height:620px}}

/* v0.3 live event layer */
.event-hub{border:2px solid var(--green);background:linear-gradient(145deg,#eadcab,#d7c17d);border-radius:14px;padding:11px;margin:4px 0 10px;box-shadow:3px 3px 0 rgba(107,75,46,.18)}
.event-hub-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.event-hub-head strong{display:block;font-size:12px;color:var(--green);letter-spacing:.05em}.event-hub-btn{border:0;border-radius:20px;background:var(--green);color:var(--cream);padding:8px 10px;font-size:9px;font-weight:900;letter-spacing:.08em;cursor:pointer}
.event-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-card{border:0;text-align:left;border-radius:11px;padding:10px;min-height:104px;cursor:pointer;box-shadow:0 3px 0 rgba(52,47,31,.2);position:relative;overflow:hidden}.mini-event-card{background:#6d2f26;color:#fff2ce}.major-event-card{background:#203c31;color:#f6e4b2}.event-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 9px,rgba(255,255,255,.035) 10px 11px);pointer-events:none}.event-card .event-type{font-size:8px;font-weight:900;letter-spacing:.13em;opacity:.78}.event-card .event-name{display:block;font-family:Georgia,serif;font-weight:900;font-size:15px;line-height:1;margin:4px 0 7px}.event-card .event-meta{display:flex;justify-content:space-between;gap:6px;font-size:9px;font-weight:800;opacity:.88}.event-progress{height:8px;background:rgba(255,255,255,.18);border-radius:10px;overflow:hidden;margin:7px 0 4px}.event-progress i{display:block;height:100%;background:var(--gold);border-radius:10px}.event-card .event-next{font-size:8px;opacity:.86;line-height:1.2}.event-wallet{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(71,65,43,.22)}.event-wallet div{min-width:0}.event-wallet span{display:block;font-size:8px;text-transform:uppercase;color:#725a37}.event-wallet strong{font-size:11px;color:var(--green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pit-stop-btn{border:1px solid var(--brown);background:#f1dfaa;color:var(--brown);border-radius:8px;padding:8px 7px;font-size:8px;font-weight:900;cursor:pointer}
.event-detail{display:grid;gap:10px;margin-top:11px}.event-detail-card{background:#e5d5a3;border-radius:11px;padding:10px;border:1px solid rgba(107,75,46,.24)}.event-detail-card h3{margin:0 0 4px;color:var(--green);font-size:14px}.event-detail-card p{font-size:11px!important;margin:0!important;color:#69543a}.milestone-track{display:grid;gap:7px;margin-top:10px}.milestone-row{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;background:rgba(255,255,255,.24);padding:7px 8px;border-radius:8px;font-size:10px}.milestone-row .target{font-weight:900;color:var(--brown)}.milestone-row .reward{font-weight:800;color:var(--green)}.milestone-row .status{font-size:8px;font-weight:900;border-radius:12px;padding:4px 6px;background:#c7b887;color:#6d5a38}.milestone-row.claimed .status{background:var(--green2);color:white}.milestone-row.next{outline:2px solid var(--orange)}
.dice-locker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.dice-skin{border:2px solid transparent;background:#ddca92;border-radius:10px;padding:9px;text-align:center;cursor:pointer}.dice-skin.locked{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.dice-skin.active{border-color:var(--orange);box-shadow:0 0 0 2px rgba(216,104,43,.16)}.dice-preview{width:45px;height:45px;border-radius:10px;margin:0 auto 5px;display:grid;place-items:center;font-size:22px;font-weight:900;border:2px solid rgba(31,39,29,.3)}.dice-skin strong{display:block;font-size:10px;color:var(--green)}.dice-skin small{font-size:8px;color:#715b3c}
.dice.skin-ivory{background:#f2e2b5;color:#26362c;border:2px solid #59462e}.dice.skin-sunset{background:linear-gradient(135deg,#d8682b,#e6b44c);color:#fff}.dice.skin-blacktop{background:linear-gradient(135deg,#171d19,#414a3f);color:#e6b44c;border:2px solid #e6b44c}.dice.skin-route66{background:linear-gradient(135deg,#315a6d,#8d2e26);color:#fff6cf;border:2px solid #f4e5b4}.dice.skin-neon{background:linear-gradient(135deg,#532a59,#d8682b);color:#fff4cb;border:2px solid #e6b44c}
.pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.pick-crate{border:2px solid var(--brown);border-radius:10px;background:#d9c37e;padding:16px 6px;min-height:92px;font-weight:900;color:var(--green);cursor:pointer;box-shadow:0 4px 0 rgba(62,46,29,.18)}.pick-crate.revealed{background:#f0dfad}.pick-crate .crate-icon{display:block;font-size:28px;margin-bottom:5px}.pick-crate small{display:block;font-size:8px;color:#765b3b;margin-top:4px}
.event-flash{animation:eventPulse .55s ease}@keyframes eventPulse{0%{transform:scale(1)}45%{transform:scale(1.025)}100%{transform:scale(1)}}
@media(max-width:390px){.event-wallet{grid-template-columns:1fr 1fr}.pit-stop-btn{grid-column:1/-1}.event-card .event-name{font-size:13px}}


/* v0.4 Road Empire + Million Dollar Race */
.mode-hidden{display:none!important}
.empire-panel{border:2px solid var(--blue);background:#d8d2ad;border-radius:14px;padding:11px;margin:4px 0 10px;box-shadow:3px 3px 0 rgba(49,90,109,.18)}
.empire-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.empire-head strong{display:block;color:var(--green);font-size:13px}.empire-btn{border:0;border-radius:9px;background:var(--blue);color:#fff;padding:9px 10px;font-size:9px;font-weight:900;letter-spacing:.07em;cursor:pointer;white-space:nowrap}
.empire-progress{height:10px;border-radius:12px;background:rgba(49,90,109,.18);overflow:hidden;margin:10px 0 6px}.empire-progress i{display:block;height:100%;width:0;background:var(--blue);border-radius:12px;transition:width .2s ease}
.empire-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#66543a}.empire-meta strong{color:var(--green)}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.mode-card{background:#e6d7a8;border-radius:10px;padding:12px;border:1px solid rgba(31,59,47,.22)}.mode-card strong{display:block;color:var(--green);font-size:12px}.mode-card small{display:block;margin-top:5px;color:#6d5739;line-height:1.35}
.empire-builder{display:grid;gap:7px;margin-top:12px}.empire-build-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;background:#e7d8aa;border-radius:9px;padding:8px}.empire-icon{font-size:22px}.empire-build-row strong{display:block;color:var(--green);font-size:11px}.empire-build-row small{display:block;color:#725b3c;font-size:9px;margin-top:2px}.mini-build{border:0;border-radius:8px;background:var(--blue);color:white;font-weight:900;font-size:9px;padding:9px 8px;cursor:pointer}.mini-build:disabled{background:#aa9f7f;color:#72684e;cursor:not-allowed}
@media(max-width:390px){.mode-grid{grid-template-columns:1fr}.empire-meta{display:grid;grid-template-columns:1fr}.empire-head{align-items:flex-start}.empire-btn{max-width:118px;white-space:normal}}

/* v0.5 Chrome Shop monetization layer */
.top-actions{display:flex;gap:7px;align-items:center}.shop-top-btn{border:2px solid var(--orange);background:var(--orange);color:#fff;border-radius:20px;padding:10px 12px;font-size:9px;font-weight:900;letter-spacing:.08em;cursor:pointer}.shop-top-btn:active{transform:translateY(1px)}
.event-wallet{grid-template-columns:1fr 1fr 1fr auto auto}.chrome-shop-btn{border:1px solid var(--orange);background:var(--orange);color:#fff;border-radius:8px;padding:8px 8px;font-size:8px;font-weight:900;cursor:pointer}.store-wallet{display:flex;align-items:end;justify-content:space-between;background:var(--green);color:var(--cream);border-radius:11px;padding:12px 13px;margin:10px 0}.store-wallet span{font-size:9px;font-weight:900;letter-spacing:.12em}.store-wallet strong{font-size:24px;color:var(--gold)}.store-policy{border-radius:9px;padding:10px;margin:9px 0;font-size:10px;line-height:1.4}.store-policy.good{background:#d5dfbf;border:1px solid #6e8555;color:#31462f}.store-policy.warn{background:#edddb0;border:1px solid #a87437;color:#71491f}.store-section{margin-top:13px}.store-section h3{margin:0 0 8px;color:var(--green);font-size:14px}.iap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.iap-card{position:relative;background:#e5d5a3;border:1px solid rgba(107,75,46,.28);border-radius:11px;padding:12px 10px;min-height:130px;display:flex;flex-direction:column}.iap-tag{align-self:flex-start;background:var(--orange);color:white;border-radius:20px;padding:4px 7px;font-size:7px;font-weight:900;letter-spacing:.08em}.iap-card strong{display:block;color:var(--green);font-size:12px;margin-top:8px}.iap-card small{display:block;color:#6f5738;font-size:9px;line-height:1.35;margin:4px 0 9px}.iap-buy{margin-top:auto;border:0;border-radius:8px;background:var(--green);color:var(--cream);padding:10px;font-weight:900;font-size:11px;cursor:pointer}.iap-buy:disabled{opacity:.5}.chrome-list{display:grid;gap:8px}.chrome-item{display:grid;grid-template-columns:54px 1fr auto;gap:8px;align-items:center;background:#e5d5a3;border-radius:10px;padding:8px}.chrome-item .dice-preview{margin:0;width:46px;height:46px}.chrome-item strong{display:block;color:var(--green);font-size:11px}.chrome-item small{display:block;color:#715b3c;font-size:9px;margin-top:2px;line-height:1.25}.chrome-buy-btn{border:0;border-radius:8px;background:var(--orange);color:white;padding:9px 9px;font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap}.chrome-buy-btn:disabled{opacity:.45;cursor:not-allowed}.premium-offer{background:#d6c690;border:2px solid var(--gold);border-radius:11px;padding:11px}.premium-offer p{font-size:10px!important;margin:4px 0 9px!important;color:#665038}.premium-track{border-color:var(--gold)}.milestone-row.premium{background:#dccb91}.milestone-row.premium .status{background:#7a673c;color:#fff}.milestone-row.premium.claimed .status{background:var(--green2)}
.dice.skin-nightshift{background:linear-gradient(135deg,#121913,#2d5c58 58%,#d8682b);color:#f7e4af;border:2px solid #d8682b}.dice.skin-copper{background:linear-gradient(135deg,#6f351e,#bd6d39,#e6b44c);color:#fff7d1;border:2px solid #7a3c24}.dice.skin-velvet{background:linear-gradient(135deg,#2c1833,#684269,#b76863);color:#ffe7bd;border:2px solid #e6b44c}.dice.skin-whitewall{background:linear-gradient(135deg,#f3ead0,#f3ead0 50%,#d6aa3d 51%,#d6aa3d);color:#25352c;border:2px solid #6e5630}
@media(max-width:470px){.event-wallet{grid-template-columns:1fr 1fr 1fr}.pit-stop-btn,.chrome-shop-btn{grid-column:auto;min-width:0}.shop-top-btn{padding:9px 10px}.topbar h1{font-size:30px}.iap-grid{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.event-wallet{grid-template-columns:1fr 1fr}.event-wallet>div:nth-child(3){grid-column:1/-1}.pit-stop-btn,.chrome-shop-btn{grid-column:auto}.iap-grid{grid-template-columns:1fr}.chrome-item{grid-template-columns:50px 1fr}.chrome-item .chrome-buy-btn{grid-column:1/-1}.top-actions{gap:4px}.shop-top-btn{padding:8px 8px;font-size:8px}}
.dice-preview.skin-nightshift{background:linear-gradient(135deg,#121913,#2d5c58 58%,#d8682b);color:#f7e4af;border-color:#d8682b}.dice-preview.skin-copper{background:linear-gradient(135deg,#6f351e,#bd6d39,#e6b44c);color:#fff7d1;border-color:#7a3c24}.dice-preview.skin-velvet{background:linear-gradient(135deg,#2c1833,#684269,#b76863);color:#ffe7bd;border-color:#e6b44c}.dice-preview.skin-whitewall{background:linear-gradient(135deg,#f3ead0,#f3ead0 50%,#d6aa3d 51%,#d6aa3d);color:#25352c;border-color:#6e5630}


/* v0.6 Collector's Road — ad-free collections */
.collection-btn{border:1px solid var(--green);background:#efe0ae;color:var(--green);border-radius:8px;padding:8px 8px;font-size:8px;font-weight:900;cursor:pointer}
.token-mini{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:9px;vertical-align:-2px;margin-right:2px;border:1px solid rgba(0,0,0,.25)}
.token-road{background:#b98a38;color:#fff6cf}.token-greenleaf{background:linear-gradient(135deg,#173e2a,#4f8a3c);color:#e8f0c7}.token-purplesmoke{background:linear-gradient(135deg,#39264a,#80608c);color:#efe1ba}.token-goldfoil{background:linear-gradient(135deg,#8a651f,#e6b44c);color:#27352b}
.token-locker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.token-skin{border:2px solid transparent;border-radius:10px;padding:9px;text-align:center;cursor:pointer;min-height:91px}.token-skin>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;margin:0 auto 5px;border:2px solid rgba(255,255,255,.35);font-size:18px}.token-skin strong,.token-skin small{display:block}.token-skin strong{font-size:10px}.token-skin small{font-size:8px;opacity:.78;margin-top:2px}.token-skin.active{outline:3px solid var(--orange)}.token-skin.locked{filter:grayscale(1);opacity:.45}
.pack-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.pack-button{border:1px solid rgba(31,59,47,.28);border-radius:10px;background:#e5d5a3;color:var(--green);padding:10px 7px;cursor:pointer}.pack-button strong,.pack-button small{display:block}.pack-button strong{font-size:9px}.pack-button small{font-size:8px;color:#6a5539;margin-top:3px}.pack-button:disabled{opacity:.4;cursor:not-allowed}
.album-sets{display:grid;gap:12px}.card-set{border:1px solid rgba(107,75,46,.3);border-radius:11px;padding:10px;background:#e6d8aa}.card-set.complete{border:2px solid var(--gold)}.card-set header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.card-set header strong{display:block;color:var(--green);font-size:12px}.card-set header small{display:block;color:#6e573a;font-size:8px;line-height:1.3;margin-top:2px}.card-set header>span{font-weight:900;color:var(--orange);font-size:11px}.card-set footer{margin-top:8px;font-size:8px;color:#6d5739;font-weight:800}
.card-grid,.pack-reveal{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.collect-card{position:relative;min-height:98px;border-radius:9px;padding:8px 7px;background:#d3c190;border:2px solid #968058;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.collect-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 11px,rgba(255,255,255,.08) 12px 13px);pointer-events:none}.collect-card .rarity{position:absolute;top:6px;left:6px;font-size:7px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.collect-card strong{font-size:9px;color:#263b30;position:relative}.collect-card small{font-size:7px;color:#655037;position:relative;margin-top:2px}.collect-card em{font-style:normal;font-size:7px;font-weight:900;color:var(--orange);margin-top:4px;position:relative}.collect-card button{position:relative;border:0;border-radius:6px;background:var(--green);color:#fff6d4;padding:5px;margin-top:5px;font-size:7px;font-weight:900}.collect-card.missing{filter:saturate(.5);opacity:.67}.collect-card.uncommon{border-color:#567a68}.collect-card.rare{border-color:#73567c;background:#cec0d2}.collect-card.legendary{border-color:#c28b26;background:#e0c783;box-shadow:inset 0 0 0 1px #f5e5a8}.collect-card.duplicate{opacity:.78}.collection-complete{margin-top:10px;border:2px solid var(--gold);background:#efe0a3;border-radius:10px;padding:10px;text-align:center;color:var(--green);font-weight:900;font-size:10px}
.dice.skin-greenleaf,.dice-preview.skin-greenleaf{background:linear-gradient(135deg,#143b28,#3f7f3a 55%,#9cbf62);color:#f1e8b5;border:2px solid #d9bf55}.dice.skin-purplekush,.dice-preview.skin-purplekush{background:linear-gradient(135deg,#30203e,#62406d 55%,#8a6b91);color:#e8edc4;border:2px solid #6fa25a}
@media(max-width:470px){.event-wallet{grid-template-columns:1fr 1fr 1fr}.pit-stop-btn,.collection-btn,.chrome-shop-btn{grid-column:auto}.card-grid,.pack-reveal{grid-template-columns:repeat(2,1fr)}.pack-shelf{grid-template-columns:1fr}}

/* v0.7 Manifest Market + expanded collector cosmetics */
.market-pulse{display:grid;gap:4px;margin:10px 0 12px;padding:10px 11px;border-radius:10px;background:#203c30;color:#f4e5b4;border:2px solid #c8993f}.market-pulse strong{font-size:10px;letter-spacing:.13em}.market-pulse span{font-size:12px;line-height:1.35}.cargo-catalog{display:grid;gap:7px;margin:10px 0}.cargo-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 10px;background:#e5d6a5;border-radius:9px;border-left:4px solid #8b5d31}.cargo-item strong{display:block;color:#1f3b2f}.cargo-item small{display:block;margin-top:2px;color:#6b5337;line-height:1.25}.cargo-econ{display:grid;text-align:right;gap:1px}.cargo-econ span{font-weight:900;color:#1f3b2f;font-size:12px}.cargo-econ b{font-size:9px;letter-spacing:.06em;color:#8d2e26}.cargo-econ em{font-style:normal;font-size:9px;color:#69543a}.dice.skin-panamared,.dice-preview.skin-panamared{background:linear-gradient(135deg,#7e2621,#bc4a35 55%,#e5aa49);color:#fff0c4;border:2px solid #e5aa49}.dice.skin-diamond,.dice-preview.skin-diamond{background:linear-gradient(135deg,#dce9e7,#94b7b4 52%,#f4e5b4);color:#203c30;border:2px solid #587e7b}.dice.skin-cbwave,.dice-preview.skin-cbwave{background:linear-gradient(135deg,#244f61,#3e7784 55%,#e5b84b);color:#fff4c9;border:2px solid #d79c3e}.dice.skin-heatwave,.dice-preview.skin-heatwave{background:linear-gradient(135deg,#7d241e,#d25731 55%,#e8b248);color:#fff1c3;border:2px solid #8e2e24}.dice.skin-midnight,.dice-preview.skin-midnight{background:linear-gradient(135deg,#171a24,#293a4c 55%,#72506e);color:#f0d9b0;border:2px solid #8f756f}.dice.skin-kingpin,.dice-preview.skin-kingpin{background:linear-gradient(135deg,#171d19,#765a1d 50%,#e6b44c);color:#fff2bd;border:2px solid #e6b44c}.token-chromecrate{background:linear-gradient(135deg,#2e3b38,#87928d);color:#f0ddad}.token-cbchip{background:linear-gradient(135deg,#214e5d,#4d8992);color:#f5d36f}.token-leafgold{background:linear-gradient(135deg,#365c2d,#d39d36);color:#fff1b8}.token-diamondchip{background:linear-gradient(135deg,#dce9e7,#7fa6a3);color:#24453e}
@media(max-width:430px){.cargo-item{grid-template-columns:1fr}.cargo-econ{text-align:left;grid-template-columns:repeat(3,auto);gap:6px;justify-content:start;align-items:center}.cargo-econ em{grid-column:1/-1}}
.dice.skin-master72,.dice-preview.skin-master72{background:linear-gradient(135deg,#1b2f28,#d0a13e 48%,#f5e7b0 52%,#d0a13e);color:#1b2f28;border:2px solid #f3d475}.token-master72{background:linear-gradient(135deg,#1f3b2f,#d5a53e);color:#fff0b4;font-size:9px;font-weight:900}


/* v0.8 Rides & Raids */
.ride-btn,.raid-btn{border:1px solid var(--green);border-radius:8px;padding:8px 8px;font-size:8px;font-weight:900;cursor:pointer}.ride-btn{background:#d6c58c;color:#2a4435}.raid-btn{background:#71342b;color:#fff0ca;border-color:#71342b}
.vehicle-locker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.vehicle-skin{min-height:118px;border:2px solid transparent;border-radius:11px;padding:9px;text-align:center;background:#decd9a;color:#253b30;cursor:pointer}.vehicle-skin.locked{filter:grayscale(.75);opacity:.45}.vehicle-skin.active{border-color:var(--orange);box-shadow:inset 0 0 0 2px rgba(216,104,43,.16)}.vehicle-preview{display:grid;place-items:center;width:72px;height:47px;margin:0 auto 6px;border-radius:24px 24px 12px 12px;font-size:31px;background:#c7b680;border-bottom:5px solid #473c2d}.vehicle-skin strong,.vehicle-skin small{display:block}.vehicle-skin strong{font-size:10px}.vehicle-skin small{font-size:8px;margin-top:2px;opacity:.78;line-height:1.25}.ride-summary,.raid-wallet{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#203c30;color:#f3e4b2;border-radius:10px;padding:10px;margin:9px 0}.ride-summary{grid-template-columns:1fr auto;align-items:end}.ride-summary span,.raid-wallet span{display:block;font-size:8px;font-weight:900;letter-spacing:.08em;opacity:.76}.ride-summary strong,.raid-wallet strong{font-size:13px;color:#e7b84c}
.vehicle-pawn{position:relative;display:inline-grid;place-items:center;min-width:27px;height:18px;padding:0 2px;border-radius:8px;font-size:15px;line-height:1;background:#d9c58d;border:1px solid #59452f;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.ride-hoopty{--ride:#8b6547}.ride-microbus{--ride:#67a174}.ride-lowrider{--ride:#b35643}.ride-dusty{--ride:#9e794b}.ride-muscle{--ride:#bb6633}.ride-shag{--ride:#cc8f47}.ride-green{--ride:#3f7947}.ride-purple{--ride:#74567c}.ride-cb{--ride:#3f7180}.ride-midnight{--ride:#303846}.ride-stash{--ride:#806b45}.ride-raidboss{--ride:#8b3e37}.ride-kingpin{--ride:#7b6426}.ride-gold{--ride:#d5a63d}.vehicle-skin .vehicle-preview,.raid-ride{background:linear-gradient(160deg,var(--ride,#8b6547),#ead59e)}
.raid-targets{display:grid;gap:7px;margin:10px 0}.raid-target{display:grid;grid-template-columns:55px 1fr;gap:9px;align-items:center;text-align:left;border:1px solid rgba(86,63,40,.25);border-radius:10px;background:#e3d4a5;padding:9px;cursor:pointer;color:#243a30}.raid-target.revenge{border:2px solid #a34c36;background:#e3c99d}.raid-ride{display:grid;place-items:center;width:50px;height:42px;border-radius:15px;font-size:26px;border-bottom:4px solid #514331}.raid-target strong,.raid-target small,.raid-target em{display:block}.raid-target strong{font-size:11px}.raid-target small{font-size:8px;color:#8a4b34;font-weight:900;margin-top:2px}.raid-target em{font-style:normal;font-size:8px;color:#6c583b;margin-top:3px}.raid-intel,.raid-result{display:grid;gap:4px;border-radius:10px;padding:11px;margin:10px 0;background:#e1d19e;color:#2b4337}.raid-intel span,.raid-result strong{font-size:9px;font-weight:900;letter-spacing:.08em;color:#8a3e31}.raid-intel strong,.raid-result span{font-size:13px}.raid-intel small{font-size:9px;line-height:1.35}.raid-result.shielded{border:2px solid #6d806b}.raid-history{background:#d8c797;border-radius:10px;padding:10px}.raid-history>strong{font-size:9px;letter-spacing:.09em;color:#294236}.raid-history ul{margin:6px 0 0;padding-left:17px}.raid-history li{font-size:8px;color:#604e37;margin:4px 0;line-height:1.3}
.token-potleaf{background:linear-gradient(135deg,#173e2a,#5b9844);color:#eff1c8}.token-joint{background:linear-gradient(135deg,#eadbb5,#9a754e);color:#51361f}.token-bong{background:linear-gradient(135deg,#8fb8b8,#d9ece5);color:#21443f}.token-paper{background:linear-gradient(135deg,#f4ead0,#c9b47d);color:#4c402d}.token-lighter{background:linear-gradient(135deg,#b73d2d,#ea8a3d);color:#fff2cc}.token-grinder{background:linear-gradient(135deg,#555f5b,#a3aaa0);color:#f1e5be}.token-peace{background:linear-gradient(135deg,#b96942,#e5b447,#60946b);color:#fff2ca}.token-420{background:linear-gradient(135deg,#234832,#5a8b45);color:#e8d264;font-size:8px;font-weight:900}
@media(max-width:470px){.event-wallet{grid-template-columns:1fr 1fr 1fr}.ride-btn,.raid-btn,.collection-btn,.chrome-shop-btn,.pit-stop-btn{min-width:0}.vehicle-locker{grid-template-columns:repeat(2,1fr)}}
@media(max-width:360px){.vehicle-locker{grid-template-columns:1fr}.raid-wallet{grid-template-columns:1fr 1fr}.raid-wallet>div:last-child{grid-column:1/-1}}


/* ================================================================
   v0.9 — NEON GRIT ARCADE VISUAL SYSTEM
   Street-grit world + bright rewards + playful collectibles.
   ================================================================ */
:root{
  --asphalt:#171816;--asphalt2:#22231f;--soot:#0d0e0c;--dirty:#e8d7ac;
  --dirty2:#cdbb8e;--denim:#466b74;--olive:#667044;--tobacco:#6d472c;
  --teal:#18a39a;--teal2:#0c7773;--hot:#e56b24;--warm:#e4ae43;
  --cherry:#b5342f;--sunset:#735170;--metal:#363832;--line:#5b594d;
  --cream:var(--dirty);--paper:var(--dirty2);--ink:#171816;--green:#173d39;
  --green2:#236059;--orange:var(--hot);--gold:var(--warm);--red:var(--cherry);
  --brown:var(--tobacco);--blue:var(--denim);--shadow:rgba(0,0,0,.42)
}
html,body{background:#0d0e0c;color:var(--dirty);font-family:Arial,Helvetica,sans-serif}
body{
  background:
    radial-gradient(circle at 18% 8%,rgba(24,163,154,.13),transparent 26%),
    radial-gradient(circle at 82% 20%,rgba(229,107,36,.11),transparent 24%),
    repeating-linear-gradient(116deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px),
    linear-gradient(145deg,#0d0e0c,#20211e 58%,#10110f)
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:soft-light;background-image:radial-gradient(circle at 20% 30%,#fff 0 .45px,transparent .7px),radial-gradient(circle at 80% 70%,#fff 0 .5px,transparent .8px);background-size:9px 11px,13px 15px}
.app-shell{width:min(100%,590px);background:linear-gradient(#1c1d1a,#131411);box-shadow:0 0 80px rgba(0,0,0,.72);border-left:1px solid #363832;border-right:1px solid #363832;padding:env(safe-area-inset-top) 13px env(safe-area-inset-bottom);position:relative;overflow:hidden}
.app-shell:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background:repeating-linear-gradient(174deg,transparent 0 17px,rgba(255,255,255,.025) 18px),radial-gradient(circle at 12% 25%,rgba(229,107,36,.18),transparent 18%),radial-gradient(circle at 85% 64%,rgba(24,163,154,.14),transparent 21%)}
.app-shell>*{position:relative;z-index:1}
.topbar{padding:18px 4px 12px;border:0;border-bottom:1px solid #4c4d46;position:relative}
.topbar:after{content:"";position:absolute;left:4px;bottom:-3px;width:58%;height:5px;background:linear-gradient(90deg,var(--teal) 0 42%,var(--hot) 42% 76%,var(--warm) 76%);clip-path:polygon(0 25%,100% 0,96% 70%,1% 100%)}
.eyebrow,.mini-label,.modal-kicker{font-family:"Arial Narrow",Arial,sans-serif;color:#9a9a8c;font-weight:900;letter-spacing:.16em}
h1{margin:1px 0 5px;font-family:Impact,"Arial Narrow",sans-serif;font-size:40px;letter-spacing:.018em;line-height:.9;color:var(--dirty);text-transform:uppercase;text-shadow:2px 2px 0 #0b0c0a,3px 3px 0 rgba(229,107,36,.55)}
h1 span{color:#d84336;transform:skew(-7deg);display:inline-block;text-shadow:2px 2px 0 #0b0c0a}
.edition-line{font-family:"Arial Narrow",Arial,sans-serif;color:var(--teal);font-size:9px;letter-spacing:.11em;line-height:1.3}
.top-actions{display:flex;gap:7px}.icon-btn,.shop-top-btn{border:1px solid #5b594d;background:#262823;color:var(--dirty);border-radius:5px;min-height:42px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),2px 3px 0 #090a08}.shop-top-btn{padding:0 12px;color:#0e1714;background:var(--warm);font-weight:950;letter-spacing:.08em}.icon-btn:hover,.shop-top-btn:hover{filter:brightness(1.08)}
.street-ribbon{display:flex;align-items:center;gap:7px;margin:10px 2px 9px;color:#aaa796;font-size:8px;letter-spacing:.19em;font-weight:950}.street-ribbon i{height:1px;flex:1;background:#4a4a43}.street-ribbon span:first-child{color:var(--teal)}.street-ribbon span:last-child{color:var(--hot)}
.hud{gap:6px;margin:8px 0 12px}.stat{position:relative;overflow:hidden;background:linear-gradient(180deg,#2a2c27,#1b1d19);border:1px solid #55564e;color:var(--dirty);border-radius:6px;padding:9px 7px;box-shadow:inset 0 -6px 15px rgba(0,0,0,.28),2px 3px 0 #090a08}.stat:before{content:"";position:absolute;inset:2px;border-top:1px solid rgba(255,255,255,.06);pointer-events:none}.stat span{color:#9d9d91;opacity:1}.stat strong{font-family:"Arial Narrow",Arial,sans-serif;font-size:14px;color:#f4e7c1}.stat:nth-child(1) strong{color:#7cd1c5}.stat:nth-child(3) strong{color:#f17b4c}.stat:nth-child(4) strong{color:#e6b44c}
.empire-panel,.event-hub,.route-panel,.opponent-card,.action-panel{background:linear-gradient(160deg,#252621,#1b1c18);border:1px solid #55564e;color:var(--dirty);border-radius:9px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),3px 4px 0 rgba(0,0,0,.3)}
.empire-panel,.event-hub{padding:11px;margin-bottom:10px}.empire-panel:before,.event-hub:before,.route-panel:before,.opponent-card:before,.action-panel:before{content:"";display:block;height:2px;margin:-6px -4px 8px;background:linear-gradient(90deg,var(--teal),transparent 55%,var(--hot));opacity:.75}
.empire-head strong,.event-hub-head strong,.route-panel-head strong,.opponent-head strong{color:#f2e2b8;font-family:"Arial Narrow",Arial,sans-serif;letter-spacing:.04em}.empire-progress{background:#0f100e;border:1px solid #41433d}.empire-progress i{background:linear-gradient(90deg,var(--teal2),var(--teal),#7ed0c6)}.empire-meta{color:#aaa690}.empire-btn,.event-hub-btn{border:1px solid #61bdb5;background:#173d39;color:#e7f2e8;border-radius:5px;box-shadow:2px 2px 0 #090a08;letter-spacing:.06em}
.event-cards{gap:7px}.event-card{position:relative;overflow:hidden;border:1px solid #57584f;border-radius:7px;background:#21231f;color:var(--dirty);box-shadow:inset 0 -20px 38px rgba(0,0,0,.2)}.event-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(125deg,transparent 0 13px,rgba(255,255,255,.025) 14px 15px)}.mini-event-card{border-left:4px solid var(--hot)}.major-event-card{border-left:4px solid var(--warm)}
.event-wallet{background:#10110f;border:1px solid #3d3f39;border-radius:7px}.event-wallet>div{background:#1f211d;border:1px solid #40413b;border-radius:5px}.event-wallet span{color:#929487}.event-wallet strong{color:#e8d7ac}.event-wallet #eventTokens{color:#dcb443}.event-wallet #chromeCredits{color:#7ed0c6}
.pit-stop-btn,.collection-btn,.ride-btn,.raid-btn,.chrome-shop-btn{border-radius:5px!important;border:1px solid #5a5b53!important;box-shadow:2px 2px 0 #090a08!important;letter-spacing:.045em!important}.pit-stop-btn{background:#553a22!important;color:#f5dda1!important}.collection-btn{background:#243a38!important;color:#a7e0d7!important}.ride-btn{background:#26392d!important;color:#cfe4c9!important}.raid-btn{background:#652c27!important;color:#ffd7b4!important}.chrome-shop-btn{background:#e0ac3e!important;color:#161712!important;border-color:#e0ac3e!important}
.route-panel{padding:11px;margin-bottom:10px}.upgrade-count{border:1px solid #6a685e;color:#bdb9a4;background:#171815;border-radius:4px}.route-tabs{gap:5px}.route-tab{border:1px solid #505149;background:#2a2b27;color:#aaa794;border-radius:5px;box-shadow:2px 2px 0 #11120f;font-size:10px}.route-tab.active{background:#174d48;border-color:#27968e;color:#d8f0e8}.route-tab.locked{box-shadow:inset 0 0 0 1px var(--hot),2px 2px 0 #11120f}.route-intel{color:#969383}.route-intel div{background:#171815;border:1px solid #343630;border-radius:5px}.route-intel strong{color:#ddd0aa}
.board-wrap{position:relative;background:linear-gradient(90deg,#20211e,#2a2b27 18%,#20211e 18% 82%,#2a2b27 82%,#20211e);border:2px solid #4b4c46;border-radius:10px;padding:13px 8px;box-shadow:inset 0 0 40px rgba(0,0,0,.48),3px 4px 0 #080907;max-height:555px}
.board-wrap:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translateX(-50%);background:repeating-linear-gradient(180deg,rgba(235,219,172,.52) 0 12px,transparent 12px 24px);opacity:.45}
.board-grain{opacity:.3;background-image:repeating-linear-gradient(7deg,transparent 0 16px,rgba(255,255,255,.018) 17px),radial-gradient(circle at 12% 45%,rgba(255,255,255,.16) 0 .5px,transparent .8px);background-size:auto,10px 12px}
.board{gap:8px}.stop{grid-template-columns:35px 1fr auto auto;background:linear-gradient(160deg,rgba(40,42,37,.96),rgba(27,29,25,.97));border:1px solid #626157;border-left:4px solid #56574f;color:var(--dirty);border-radius:6px;min-height:56px;box-shadow:2px 3px 0 rgba(0,0,0,.42);transition:.18s transform,.18s box-shadow,.18s border-color}.stop:hover{border-color:#7a786c}.stop.current{transform:translateX(4px);box-shadow:-6px 0 0 var(--hot),2px 3px 0 rgba(0,0,0,.42);border-color:#a35d39}.stop.ai-current{box-shadow:6px 0 0 var(--teal),2px 3px 0 rgba(0,0,0,.42)}.stop.current.ai-current{box-shadow:-6px 0 0 var(--hot),6px 0 0 var(--teal),2px 3px 0 rgba(0,0,0,.42)}.stop.market-stop{background:linear-gradient(160deg,#37433b,#202721);border:2px solid #79907d;border-left:5px solid var(--warm)}.stop.junction-stop{border-color:#527b83;border-left-color:#527b83}
.stop-num{font-family:Impact,"Arial Narrow",sans-serif;color:#77786f;font-size:18px}.stop-title{font-family:"Arial Narrow",Arial,sans-serif;color:#f1e1b8;font-size:13px;letter-spacing:.02em}.stop-sub{color:#9a9788;font-size:9px}.stop-tag{font-family:"Arial Narrow",Arial,sans-serif;background:#3c423c;color:#d8d3bd;border:1px solid #606158;border-radius:3px;padding:5px 6px}.stop-tag.RISK{background:#692e29;border-color:#a84a3f}.stop-tag.EVENT{background:#75421f;border-color:#b76a2e}.stop-tag.SELL{background:#245a60;border-color:#3e8f94}.stop-tag.GARAGE{background:#59512c;border-color:#847641}.stop-tag.SWITCH{background:#354c60;border-color:#587b91}
.pawns{min-width:30px}.pawn.ai{background:var(--teal);border:2px solid #d7efe6;box-shadow:0 0 0 2px #0f100e}
.upgrade-strip{gap:5px}.upgrade-pill{background:#242620;border:1px solid #55564f;color:#d4caab;border-radius:4px}.upgrade-pill.empty{color:#817f74}
.opponent-card,.action-panel{padding:11px}.opponent-grid>div{background:#151613;border:1px solid #383a34;border-radius:5px}.opponent-grid span{color:#8d8e82}.opponent-grid strong{color:#dfd4b4}.turn-badge{background:#282a25;color:#a6a495;border:1px solid #4f5048}.turn-badge.active{background:#174d48;color:#b8ece5;border-color:#2a8d87}
.dice{border-radius:8px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),2px 3px 0 #080907!important}.action-text{background:#151613;border:1px solid #3e4039;color:#c5bea3;border-radius:6px}.btn{border-radius:5px!important;box-shadow:2px 3px 0 #090a08!important;letter-spacing:.045em!important}.btn.primary{background:var(--teal)!important;color:#071311!important}.btn.secondary{background:#3e403a!important;color:#e5d8b7!important}.btn.blue{background:#3e6670!important;color:#eef4e8!important}.btn.danger{background:#9f3c30!important;color:#ffe1bd!important}.btn:active{transform:translate(1px,2px);box-shadow:1px 1px 0 #090a08!important}.log-wrap{border-color:#3c3d37!important;color:#9b998a!important}.log{color:#9b998a}.log-entry{border-color:#34352f!important}
.modal{background:rgba(4,5,4,.78);backdrop-filter:blur(2px)}.modal-card{background:linear-gradient(160deg,#292a25,#181a16);border:1px solid #65655b;color:var(--dirty);border-radius:9px;box-shadow:0 18px 60px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.025);position:relative;overflow:hidden}.modal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--warm),var(--hot))}.modal-card h2{font-family:Impact,"Arial Narrow",sans-serif;color:#f1e1b8;letter-spacing:.04em;text-transform:uppercase}.modal-card p{color:#b3ad96}.modal-kicker{color:var(--hot)}

/* Collectible cards read like worn street posters; rarity stays clear. */
.card-set{background:#1f211d;border:1px solid #4e5048;color:#e8d7ac}.card-set.complete{border-color:var(--warm);box-shadow:inset 0 0 0 1px rgba(228,174,67,.25)}.card-set header strong{color:#f1e1b8}.card-set header small,.card-set footer{color:#969383}.collect-card{background:linear-gradient(150deg,#403d32,#282922);border:2px solid #69665b;color:#e8d7ac;box-shadow:2px 3px 0 #0b0c0a;min-height:102px}.collect-card:before{opacity:.45;background:repeating-linear-gradient(130deg,transparent 0 12px,rgba(255,255,255,.035) 13px 14px),radial-gradient(circle at 70% 20%,rgba(255,255,255,.08),transparent 25%)}.collect-card strong{color:#f2e4bd}.collect-card small{color:#aaa48c}.collect-card em{color:#eaa44a}.collect-card.uncommon{border-color:#4e8a6e}.collect-card.rare{border-color:#8b61a0;background:linear-gradient(150deg,#4d3a52,#28252d)}.collect-card.legendary{border-color:#d3a242;background:linear-gradient(145deg,#59471f,#28261b);box-shadow:inset 0 0 14px rgba(228,174,67,.13),2px 3px 0 #0b0c0a}.collect-card.missing{filter:saturate(.45) brightness(.72);opacity:.7}.collection-complete{background:#302d1c;color:#f1d982;border-color:#c99b39}

/* Vehicle locker: CSS-drawn silhouettes instead of platform emoji. */
.vehicle-locker{gap:9px}.vehicle-skin{background:linear-gradient(160deg,#2b2d27,#1c1e1a);color:#e8d7ac;border:1px solid #51534b;border-radius:8px;box-shadow:2px 3px 0 #0a0b09}.vehicle-skin.active{border-color:var(--hot);box-shadow:inset 0 0 0 1px rgba(229,107,36,.3),2px 3px 0 #0a0b09}.vehicle-skin.locked{filter:grayscale(.8) brightness(.62);opacity:.62}.vehicle-skin strong{color:#f2e3ba;font-size:11px}.vehicle-skin small{color:#9b9786}.vehicle-preview{width:100%;height:62px;margin:0 auto 7px;border-radius:6px;background:linear-gradient(#292a26,#1a1b18 68%,#353630 68% 72%,#191a17 72%);border:1px solid #44463f;border-bottom:3px solid #0d0e0c;display:grid;place-items:center;overflow:hidden;position:relative}.vehicle-preview:after{content:"";position:absolute;left:8%;right:8%;bottom:11px;height:1px;background:rgba(232,215,172,.22)}
.ride-art{--ride:#875c42;--trim:#d7c99f;display:inline-block;position:relative;width:72px;height:34px;vertical-align:middle;filter:drop-shadow(0 4px 1px rgba(0,0,0,.45))}.ride-art:before{content:"";position:absolute;left:4px;right:4px;bottom:8px;height:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--ride),#fff 7%),var(--ride));border:1px solid #161714;border-radius:8px 10px 5px 5px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.16)}.ride-art:after{content:"";position:absolute;left:8px;right:8px;bottom:12px;height:2px;background:rgba(232,215,172,.45);opacity:.75}.ride-cabin{position:absolute;left:20px;bottom:20px;width:34px;height:12px;background:var(--ride);border:1px solid #161714;border-bottom:0;border-radius:9px 10px 0 0}.ride-cabin:after{content:"";position:absolute;left:4px;right:4px;top:3px;height:6px;background:linear-gradient(90deg,#8bb2b3,#446469);clip-path:polygon(6% 0,94% 0,100% 100%,0 100%);opacity:.8}.ride-detail{position:absolute;z-index:3}.ride-wheel{position:absolute;bottom:2px;width:12px;height:12px;border-radius:50%;background:#0b0c0a;border:2px solid #55564f;box-shadow:inset 0 0 0 2px #171815}.ride-wheel-a{left:13px}.ride-wheel-b{right:12px}
.ride-microbus{--ride:#667f65}.ride-microbus:before,.ride-shag:before,.ride-purple:before{height:19px;border-radius:5px}.ride-microbus .ride-cabin,.ride-shag .ride-cabin,.ride-purple .ride-cabin{left:13px;bottom:24px;width:45px;height:13px;border-radius:5px 5px 0 0}.ride-microbus .ride-detail:after{content:"☮";position:absolute;left:33px;top:14px;color:#f2b84f;font-size:11px;font-weight:900}.ride-lowrider{--ride:#a95165;transform:translateY(3px)}.ride-lowrider:before{height:11px;left:1px;right:1px;border-radius:10px 15px 4px 4px}.ride-lowrider .ride-cabin{left:24px;bottom:17px;width:33px;height:10px}.ride-lowrider .ride-wheel{bottom:0}.ride-dusty,.ride-stash{--ride:#886946}.ride-dusty:before,.ride-stash:before{right:2px}.ride-dusty .ride-cabin,.ride-stash .ride-cabin{left:13px;width:26px}.ride-dusty .ride-detail,.ride-stash .ride-detail{right:7px;bottom:13px;width:28px;height:8px;border-top:2px solid #171815}.ride-muscle,.ride-midnight{--ride:#b7592e}.ride-muscle .ride-detail,.ride-midnight .ride-detail{left:17px;bottom:22px;width:13px;height:4px;background:#181916;border-radius:2px}.ride-midnight{--ride:#303747;--trim:#6f8a90}.ride-shag{--ride:#b76a35}.ride-green{--ride:#3f7d4c}.ride-green .ride-cabin{left:18px;width:38px}.ride-purple{--ride:#745178}.ride-cb{--ride:#3f7180;width:76px}.ride-cb:before{height:18px}.ride-cb .ride-cabin{left:11px;width:27px;height:15px}.ride-cb .ride-detail{right:7px;bottom:15px;width:34px;height:10px;border-top:2px solid #171815}.ride-raidboss{--ride:#8d3433}.ride-kingpin{--ride:#716020;width:78px}.ride-kingpin:before,.ride-gold:before{left:0;right:0;height:12px}.ride-gold{--ride:#c89a36;width:78px}.ride-hoopty{--ride:#76563f}.ride-hoopty:after{background:repeating-linear-gradient(90deg,#b26336 0 3px,rgba(232,215,172,.22) 3px 7px)}
.vehicle-pawn{background:transparent!important;border:0!important;filter:none!important;width:32px;min-width:32px;height:22px;padding:0;overflow:visible}.vehicle-pawn .ride-art{transform:scale(.43);transform-origin:center;width:72px;margin-left:-20px;margin-top:-5px}.raid-ride{background:#1b1c19!important;border:1px solid #55564e!important;border-bottom:3px solid #0b0c0a!important}.raid-ride .ride-art{transform:scale(.58);transform-origin:center}.ride-art.raid-art{margin-left:-11px}.ride-art.pawn-art{pointer-events:none}

/* Tokins become collectible street medallions. */
.token-mini,.token-skin>span{border-radius:50%!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),inset 0 0 12px rgba(0,0,0,.28),2px 2px 0 #080907!important;border:1px solid rgba(240,224,182,.35)!important;font-family:Impact,"Arial Narrow",sans-serif}.token-skin{background:#20221e!important;border:1px solid #4d4f47!important;color:#ddd1ae!important;border-radius:7px!important}.token-skin.active{border-color:var(--warm)!important}.token-skin strong{color:#f0e0b5!important}.token-skin small{color:#999584!important}

/* Raid/social surfaces */
.ride-summary,.raid-wallet{background:#11120f;border:1px solid #3e4039;color:#dcd0ae}.raid-target{background:linear-gradient(155deg,#2c2d28,#1c1e1a);border:1px solid #505149;color:#e7dab7;box-shadow:2px 3px 0 #0b0c0a}.raid-target.revenge{border-color:#b4493c;background:linear-gradient(155deg,#3d2722,#1e1b18)}.raid-target strong{color:#f1dfb6}.raid-target small{color:#e07550}.raid-target em{color:#9b9786}.raid-intel,.raid-result{background:#191b17;border:1px solid #44463f;color:#ded2af}.raid-history{background:#191a17;border:1px solid #3c3e37}.raid-history>strong{color:#b6cdbb}.raid-history li{color:#999584}

/* Store/reward surfaces stay brighter than the world. */
.chrome-item,.pack-button,.cargo-item,.empire-build-row{background:linear-gradient(155deg,#34342d,#24251f)!important;border:1px solid #5a5a4f!important;color:#e7d9b7!important;border-radius:7px!important}.chrome-item strong,.cargo-item strong,.empire-build-row strong{color:#f2e2b8!important}.chrome-item small,.cargo-item small,.empire-build-row small{color:#aaa58f!important}.chrome-buy-btn,.mini-build{background:var(--warm)!important;color:#171815!important;border:0!important;border-radius:4px!important;box-shadow:2px 2px 0 #090a08!important}.market-pulse{background:linear-gradient(155deg,#143c38,#1d2825)!important;border:1px solid #3f938b!important;color:#dff0e5!important;border-radius:7px!important}.cargo-econ span{color:#e7d49f!important}.cargo-econ b{color:#eb7650!important}.cargo-econ em{color:#a39d88!important}

@media(max-width:470px){
  h1{font-size:36px}.app-shell{padding-left:10px;padding-right:10px}.hud{grid-template-columns:repeat(2,1fr)}
  .stop{grid-template-columns:30px minmax(0,1fr) auto auto;padding:7px 6px}.stop-sub{line-height:1.25}.vehicle-preview{height:56px}
}
@media(max-width:360px){h1{font-size:32px}.street-ribbon{letter-spacing:.12em}.route-tabs{grid-template-columns:1fr}.stop{grid-template-columns:27px minmax(0,1fr) auto}.stop .pawns{grid-column:3;grid-row:2}.stop-tag{grid-column:3;grid-row:1}}


/* v1.0 city boards, side hustles and local quests */
.stop{appearance:none;text-align:left;cursor:pointer;width:100%}
.stop:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.location-card{margin:14px 0;background:linear-gradient(160deg,rgba(25,26,24,.96),rgba(18,19,18,.98));border:1px solid #58584f;border-left:5px solid var(--teal);border-radius:10px;padding:12px;box-shadow:2px 3px 0 rgba(0,0,0,.35)}
.location-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.location-head strong{font-family:Impact,"Arial Narrow",sans-serif;font-size:26px;letter-spacing:.03em;color:#f0e0b7}.location-district{padding:6px 10px;border:1px solid #66675e;background:rgba(255,255,255,.05);border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;color:#e7d7ad}
.location-scene{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px;margin-top:10px}.scene-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:rgba(0,0,0,.28);color:#f3e3b6;font-size:18px;border:1px solid rgba(255,255,255,.08)}.location-scene strong{display:block;color:#f0e0b7;font-size:13px}.location-scene small{display:block;color:#ab9f82;font-size:11px;line-height:1.35;margin-top:3px}
.location-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.location-meta div,.location-chip{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:8px}.location-meta span,.location-chip span{display:block;font-size:10px;color:#8fb0aa;text-transform:uppercase;letter-spacing:.09em}.location-meta strong,.location-chip strong{display:block;color:#eeddb2;margin-top:4px;font-size:13px}.location-body{display:grid;gap:8px;margin-top:10px}.location-blurb{color:#b5a88a;font-size:12px;line-height:1.45}.location-chip small{display:block;color:#ab9f82;line-height:1.35;margin-top:4px}.location-chip.active{border-color:#3e8f94;box-shadow:inset 0 0 0 1px rgba(62,143,148,.3)}
.district-market{border-left-color:#c89d39;background:linear-gradient(160deg,#364233,#1e251f)}
.district-border{border-left-color:#b84d3e}.district-desert{border-left-color:#d07d3f;background:linear-gradient(160deg,#3a3024,#1e1b18)}.district-oasis{border-left-color:#4fa78d}.district-neon,.district-motel,.district-nightmarket{border-left-color:#a74bd2;background:linear-gradient(160deg,#312236,#1d1822)}.district-garage{border-left-color:#b97a2d}.district-canyon{border-left-color:#b15a35}.district-junction{border-left-color:#4f8ba0}.district-river,.district-lakes{border-left-color:#3b7d9e}.district-route66,.district-fair{border-left-color:#d6a23b}.district-mountain{border-left-color:#6d7a8b}.district-coast,.district-port,.district-eastport,.district-atlantic{border-left-color:#3696a0}.district-diner,.district-fuel{border-left-color:#bf7440}.district-highway,.district-expressway,.district-turnpike{border-left-color:#6c6d6a}.district-state,.district-taskforce,.district-federal,.district-interstate{border-left-color:#be403f}.district-plains,.district-prairie{border-left-color:#8f8b51}.district-city,.district-steel,.district-warehouse,.district-metro,.district-metroeast,.district-capital,.district-rivercity,.district-terminal{border-left-color:#75808e}
@media(max-width:520px){.location-head{align-items:flex-start;flex-direction:column}.location-meta{grid-template-columns:1fr}.location-head strong{font-size:22px}}


/* v1.1 illustrated splash scenes */
.location-hero{position:relative;height:170px;margin-top:10px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#21231f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 -24px 40px rgba(0,0,0,.35)}
.hero-backdrop,.hero-mid,.hero-fore,.hero-roadmark{position:absolute;inset:0}.hero-backdrop{background:linear-gradient(180deg,#47524d 0%,#252826 60%,#151615 100%)}
.hero-mid{opacity:.95}.hero-fore{opacity:.98}.hero-roadmark{background:linear-gradient(180deg,transparent 0 67%,rgba(16,17,16,.12) 67%),linear-gradient(90deg,transparent 0 47%,rgba(245,222,167,.75) 47% 49%,transparent 49% 51%,rgba(245,222,167,.75) 51% 53%,transparent 53% 100%);clip-path:polygon(42% 100%,58% 100%,72% 66%,28% 66%);opacity:.4}
.hero-copy{position:absolute;left:12px;right:12px;bottom:11px;display:flex;flex-direction:column;gap:2px;z-index:4}.hero-copy strong{font-family:Impact,"Arial Narrow",sans-serif;font-size:24px;line-height:1;color:#fff1cb;letter-spacing:.04em;text-shadow:0 2px 0 rgba(0,0,0,.35)}.hero-copy small{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#d3c6a5}
.hero-badge{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12);color:#fff0c5;font-size:17px;z-index:4}

/* generic foreground shapes */
.location-hero .hero-mid:before,.location-hero .hero-mid:after,.location-hero .hero-fore:before,.location-hero .hero-fore:after{content:"";position:absolute}
.art-market .hero-backdrop{background:linear-gradient(180deg,#4f5b56 0%,#2a2e2a 56%,#171817 100%)}
.art-market .hero-mid{background:linear-gradient(180deg,transparent 0 62%,#222620 62% 100%)}
.art-market .hero-mid:before{left:6%;right:6%;bottom:44px;height:38px;background:repeating-linear-gradient(90deg,#6c654f 0 24px,#8a815f 24px 48px);box-shadow:0 0 0 2px rgba(28,30,26,.45)}
.art-market .hero-mid:after{left:0;right:0;bottom:82px;height:24px;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(233,220,177,.25) 10px 12px)}
.art-market .hero-fore:before{left:0;right:0;bottom:0;height:54px;background:linear-gradient(180deg,#191a19,#0f100f)}
.art-market .hero-fore:after{left:8%;bottom:56px;width:84%;height:8px;background:linear-gradient(90deg,transparent 0 2%,rgba(80,153,144,.9) 2% 16%,transparent 16% 21%,rgba(202,155,55,.9) 21% 36%,transparent 36% 100%)}

.art-border .hero-backdrop,.art-state .hero-backdrop,.art-federal .hero-backdrop,.art-taskforce .hero-backdrop,.art-turnpike .hero-backdrop,.art-interstate .hero-backdrop{background:linear-gradient(180deg,#5e5150 0%,#2a2627 54%,#171717 100%)}
.art-border .hero-mid:before,.art-state .hero-mid:before,.art-federal .hero-mid:before,.art-taskforce .hero-mid:before,.art-turnpike .hero-mid:before,.art-interstate .hero-mid:before{left:10%;right:10%;bottom:64px;height:8px;background:#ded3ae;box-shadow:0 -22px 0 #2e3130,0 0 0 2px rgba(0,0,0,.35)}
.art-border .hero-mid:after,.art-state .hero-mid:after,.art-federal .hero-mid:after,.art-taskforce .hero-mid:after,.art-turnpike .hero-mid:after,.art-interstate .hero-mid:after{left:16%;bottom:72px;width:68%;height:40px;background:repeating-linear-gradient(90deg,rgba(252,241,198,.95) 0 4px,transparent 4px 24px),linear-gradient(180deg,transparent 0 16px,#1d1f1d 16px 100%);border-top:4px solid #cda44a}
.art-border .hero-fore:before,.art-state .hero-fore:before,.art-federal .hero-fore:before,.art-taskforce .hero-fore:before,.art-turnpike .hero-fore:before,.art-interstate .hero-fore:before{left:0;right:0;bottom:0;height:60px;background:linear-gradient(180deg,#1e1f20,#0d0d0d)}
.art-border .hero-fore:after,.art-state .hero-fore:after,.art-federal .hero-fore:after,.art-taskforce .hero-fore:after,.art-turnpike .hero-fore:after,.art-interstate .hero-fore:after{left:8%;bottom:52px;width:9px;height:26px;background:#ff6d50;box-shadow:28px 0 0 #ff6d50,56px 0 0 #ff6d50,84px 0 0 #ff6d50}

.art-desert .hero-backdrop,.art-highway .hero-backdrop,.art-prairie .hero-backdrop,.art-expressway .hero-backdrop{background:linear-gradient(180deg,#8f5b44 0%,#d28a4a 38%,#564131 62%,#1f1d1b 100%)}
.art-desert .hero-mid:before,.art-highway .hero-mid:before,.art-prairie .hero-mid:before,.art-expressway .hero-mid:before{left:-6%;bottom:52px;width:60%;height:62px;background:#6f4b36;clip-path:polygon(0 100%,18% 62%,34% 70%,49% 34%,70% 58%,82% 44%,100% 100%)}
.art-desert .hero-mid:after,.art-highway .hero-mid:after,.art-prairie .hero-mid:after,.art-expressway .hero-mid:after{right:-3%;bottom:52px;width:58%;height:58px;background:#86563c;clip-path:polygon(0 100%,14% 58%,31% 65%,46% 30%,66% 54%,84% 40%,100% 100%)}
.art-desert .hero-fore:before,.art-highway .hero-fore:before,.art-prairie .hero-fore:before,.art-expressway .hero-fore:before{left:0;right:0;bottom:0;height:66px;background:linear-gradient(180deg,#33271f,#171412)}
.art-desert .hero-fore:after,.art-highway .hero-fore:after,.art-prairie .hero-fore:after,.art-expressway .hero-fore:after{left:0;right:0;bottom:56px;height:12px;background:repeating-linear-gradient(90deg,transparent 0 22px,#292218 22px 24px)}

.art-oasis .hero-backdrop,.art-coast .hero-backdrop,.art-lakes .hero-backdrop,.art-river .hero-backdrop,.art-atlantic .hero-backdrop{background:linear-gradient(180deg,#325d69 0%,#6cb4b0 44%,#35606c 65%,#171a1d 100%)}
.art-oasis .hero-mid:before,.art-coast .hero-mid:before,.art-lakes .hero-mid:before,.art-river .hero-mid:before,.art-atlantic .hero-mid:before{left:0;right:0;bottom:58px;height:22px;background:linear-gradient(180deg,rgba(131,218,214,.8),rgba(52,113,123,.9))}
.art-oasis .hero-mid:after,.art-coast .hero-mid:after,.art-lakes .hero-mid:after,.art-river .hero-mid:after,.art-atlantic .hero-mid:after{left:8%;bottom:64px;width:18px;height:52px;background:#0c1616;box-shadow:18px 10px 0 8px #0f2a28,122px 10px 0 0 #0c1616,140px 18px 0 8px #133732}
.art-oasis .hero-fore:before,.art-coast .hero-fore:before,.art-lakes .hero-fore:before,.art-river .hero-fore:before,.art-atlantic .hero-fore:before{left:0;right:0;bottom:0;height:60px;background:linear-gradient(180deg,#232624,#121412)}
.art-oasis .hero-fore:after,.art-coast .hero-fore:after,.art-lakes .hero-fore:after,.art-river .hero-fore:after,.art-atlantic .hero-fore:after{right:10%;bottom:72px;width:44px;height:18px;border:2px solid rgba(252,236,186,.9);border-radius:3px;background:rgba(0,0,0,.18)}

.art-neon .hero-backdrop,.art-motel .hero-backdrop,.art-nightmarket .hero-backdrop,.art-casino .hero-backdrop{background:linear-gradient(180deg,#2a1c39 0%,#5d266c 34%,#152033 72%,#101112 100%)}
.art-neon .hero-mid:before,.art-motel .hero-mid:before,.art-nightmarket .hero-mid:before,.art-casino .hero-mid:before{left:4%;right:4%;bottom:56px;height:52px;background:linear-gradient(180deg,transparent 0 24px,#1a1d20 24px 100%),repeating-linear-gradient(90deg,#15171a 0 22px,#252a2e 22px 42px);box-shadow:0 -8px 0 rgba(115,64,160,.3)}
.art-neon .hero-mid:after,.art-motel .hero-mid:after,.art-nightmarket .hero-mid:after,.art-casino .hero-mid:after{left:10%;bottom:82px;width:34%;height:16px;background:#2ac5b0;box-shadow:0 18px 0 #f06e48,120px 7px 0 #c55af0;border-radius:2px}
.art-neon .hero-fore:before,.art-motel .hero-fore:before,.art-nightmarket .hero-fore:before,.art-casino .hero-fore:before{left:0;right:0;bottom:0;height:60px;background:linear-gradient(180deg,#181a1d,#0f1011)}
.art-neon .hero-fore:after,.art-motel .hero-fore:after,.art-nightmarket .hero-fore:after,.art-casino .hero-fore:after{left:0;right:0;bottom:58px;height:3px;background:linear-gradient(90deg,transparent 0 8%,rgba(42,197,176,.8) 8% 22%,transparent 22% 33%,rgba(240,110,72,.85) 33% 46%,transparent 46% 61%,rgba(197,90,240,.8) 61% 72%,transparent 72% 100%)}

.art-garage .hero-backdrop,.art-truckstop .hero-backdrop,.art-fuel .hero-backdrop{background:linear-gradient(180deg,#334345 0%,#5d6454 42%,#212320 100%)}
.art-garage .hero-mid:before,.art-truckstop .hero-mid:before,.art-fuel .hero-mid:before{left:6%;right:6%;bottom:54px;height:58px;background:linear-gradient(180deg,#2a2d2e 0 14px,#5f5c4d 14px 18px,#2b2f2f 18px 100%);box-shadow:inset 0 -20px 0 rgba(12,12,12,.35)}
.art-garage .hero-mid:after,.art-truckstop .hero-mid:after,.art-fuel .hero-mid:after{left:10%;bottom:62px;width:16%;height:42px;background:repeating-linear-gradient(90deg,#1a1a1a 0 4px,#555 4px 8px);box-shadow:88px 0 0 rgba(0,0,0,0),160px -8px 0 6px #d28a42}
.art-garage .hero-fore:before,.art-truckstop .hero-fore:before,.art-fuel .hero-fore:before{left:0;right:0;bottom:0;height:62px;background:linear-gradient(180deg,#2b2d2b,#111211)}
.art-garage .hero-fore:after,.art-truckstop .hero-fore:after,.art-fuel .hero-fore:after{right:12%;bottom:66px;width:24px;height:36px;background:#1e2b2b;border-top:5px solid #2cc8b1;border-radius:2px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}

.art-city .hero-backdrop,.art-metro .hero-backdrop,.art-metroeast .hero-backdrop,.art-rivercity .hero-backdrop,.art-warehouse .hero-backdrop,.art-eastport .hero-backdrop,.art-steel .hero-backdrop,.art-terminal .hero-backdrop,.art-capital .hero-backdrop,.art-port .hero-backdrop{background:linear-gradient(180deg,#33485b 0%,#242c36 45%,#101214 100%)}
.art-city .hero-mid:before,.art-metro .hero-mid:before,.art-metroeast .hero-mid:before,.art-rivercity .hero-mid:before,.art-warehouse .hero-mid:before,.art-eastport .hero-mid:before,.art-steel .hero-mid:before,.art-terminal .hero-mid:before,.art-capital .hero-mid:before,.art-port .hero-mid:before{left:0;right:0;bottom:58px;height:72px;background:linear-gradient(180deg,transparent 0 22px,#181c1f 22px 100%),repeating-linear-gradient(90deg,#17191b 0 18px,#2a3139 18px 38px,#1b1d20 38px 55px)}
.art-city .hero-mid:after,.art-metro .hero-mid:after,.art-metroeast .hero-mid:after,.art-rivercity .hero-mid:after,.art-warehouse .hero-mid:after,.art-eastport .hero-mid:after,.art-steel .hero-mid:after,.art-terminal .hero-mid:after,.art-capital .hero-mid:after,.art-port .hero-mid:after{left:12%;bottom:88px;width:6px;height:26px;background:#efd68f;box-shadow:18px 8px 0 #efd68f,36px 3px 0 #efd68f,54px 11px 0 #efd68f,130px 1px 0 #2ac5b0,148px 10px 0 #2ac5b0}
.art-city .hero-fore:before,.art-metro .hero-fore:before,.art-metroeast .hero-fore:before,.art-rivercity .hero-fore:before,.art-warehouse .hero-fore:before,.art-eastport .hero-fore:before,.art-steel .hero-fore:before,.art-terminal .hero-fore:before,.art-capital .hero-fore:before,.art-port .hero-fore:before{left:0;right:0;bottom:0;height:60px;background:linear-gradient(180deg,#1c2022,#0c0d0e)}
.art-city .hero-fore:after,.art-metro .hero-fore:after,.art-metroeast .hero-fore:after,.art-rivercity .hero-fore:after,.art-warehouse .hero-fore:after,.art-eastport .hero-fore:after,.art-steel .hero-fore:after,.art-terminal .hero-fore:after,.art-capital .hero-fore:after,.art-port .hero-fore:after{right:8%;bottom:64px;width:72px;height:18px;background:linear-gradient(180deg,#534636,#1f1b18);border-left:4px solid #db9147;border-right:4px solid #db9147}

.art-mountain .hero-backdrop,.art-canyon .hero-backdrop{background:linear-gradient(180deg,#52657a 0%,#7f8aa0 36%,#39434d 68%,#121313 100%)}
.art-mountain .hero-mid:before,.art-canyon .hero-mid:before{left:-2%;bottom:56px;width:54%;height:78px;background:#475361;clip-path:polygon(0 100%,24% 50%,42% 66%,58% 20%,84% 72%,100% 100%)}
.art-mountain .hero-mid:after,.art-canyon .hero-mid:after{right:-2%;bottom:54px;width:56%;height:84px;background:#657286;clip-path:polygon(0 100%,20% 58%,39% 70%,55% 16%,82% 78%,100% 100%)}
.art-mountain .hero-fore:before,.art-canyon .hero-fore:before{left:0;right:0;bottom:0;height:64px;background:linear-gradient(180deg,#222527,#121314)}
.art-mountain .hero-fore:after,.art-canyon .hero-fore:after{left:0;right:0;bottom:54px;height:14px;background:linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.17) 12% 18%,transparent 18% 100%)}

.art-route66 .hero-backdrop,.art-fair .hero-backdrop,.art-junction .hero-backdrop{background:linear-gradient(180deg,#596371 0%,#c19049 38%,#3b3129 64%,#171515 100%)}
.art-route66 .hero-mid:before,.art-fair .hero-mid:before,.art-junction .hero-mid:before{left:12%;bottom:72px;width:58px;height:58px;background:#efe2bb;clip-path:polygon(50% 0,95% 18%,95% 68%,50% 100%,5% 68%,5% 18%);box-shadow:0 0 0 4px #aa7031}
.art-route66 .hero-mid:after,.art-fair .hero-mid:after,.art-junction .hero-mid:after{right:12%;bottom:76px;width:78px;height:12px;background:#2bc7b1;box-shadow:0 18px 0 #f06e48;border-radius:2px}
.art-route66 .hero-fore:before,.art-fair .hero-fore:before,.art-junction .hero-fore:before{left:0;right:0;bottom:0;height:64px;background:linear-gradient(180deg,#2c2723,#11100f)}
.art-route66 .hero-fore:after,.art-fair .hero-fore:after,.art-junction .hero-fore:after{left:16%;bottom:56px;width:68%;height:3px;background:repeating-linear-gradient(90deg,rgba(243,229,185,.85) 0 8px,transparent 8px 22px)}

@media(max-width:520px){.location-hero{height:150px}.hero-copy strong{font-size:20px}.hero-copy small{font-size:10px}.hero-badge{width:28px;height:28px;font-size:15px}}


/* v1.2 arrival reveals and underworld loan */
.location-chip.warn{border-color:#a84a3f;box-shadow:inset 0 0 0 1px rgba(168,74,63,.28)}
.location-chip.warn span{color:#e08674}
.arrival-reveal{display:grid;gap:10px}.arrival-reveal .location-hero{animation:arrivalZoom .42s ease-out both}.arrival-pills{display:flex;flex-wrap:wrap;gap:8px}.arrival-pill{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:11px;letter-spacing:.04em;color:#e4d5af}
@keyframes arrivalZoom{0%{transform:scale(.96) translateY(10px);opacity:0;filter:saturate(.7)}100%{transform:scale(1) translateY(0);opacity:1;filter:saturate(1)}}


/* v1.3 boss crew / favors */
.debt-pressure{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;background:rgba(120,45,38,.14);border:1px solid #7c4038;border-radius:9px;padding:9px;margin-bottom:9px}.debt-pressure span{font-size:9px;letter-spacing:.1em;color:#c98f82}.debt-pressure strong{display:block;color:#f0c4a9;font-size:15px;margin-top:2px}.debt-pressure small{grid-column:1/-1;color:#aa9484}.debt-meter{display:flex;gap:4px}.debt-meter i{width:14px;height:8px;border-radius:2px;background:#383735;border:1px solid #555}.debt-meter i.on{background:#c75243;border-color:#e36a58;box-shadow:0 0 8px rgba(221,76,61,.32)}
.collector-card{display:grid;grid-template-columns:66px 1fr;gap:10px;align-items:center;padding:10px;border-radius:9px;background:linear-gradient(150deg,#28221f,#181817);border:1px solid #6a4b40;margin-bottom:9px}.collector-silhouette{height:72px;border-radius:7px;background:linear-gradient(160deg,#372f2a,#111);position:relative;overflow:hidden}.collector-silhouette:before{content:"";position:absolute;width:28px;height:28px;border-radius:50%;left:18px;top:8px;background:#111}.collector-silhouette:after{content:"";position:absolute;width:48px;height:48px;left:9px;bottom:-8px;background:#0d0d0d;clip-path:polygon(30% 0,70% 0,100% 100%,0 100%)}.collector-card span{font-size:9px;color:#d77e66;letter-spacing:.1em}.collector-card strong{display:block;color:#f3d9b1;font-family:Impact,"Arial Narrow",sans-serif;font-size:19px;letter-spacing:.03em}.collector-card small{color:#b6a28f;line-height:1.4}.collector-rosie{border-color:#82445c}.collector-frankie{border-color:#657079}.collector-louie{border-color:#81683d}.collector-vinnie{border-color:#a45c3e;box-shadow:inset 0 0 24px rgba(139,61,43,.12)}
.boss-favor-card{padding:10px;border:1px solid #6e784d;background:rgba(93,107,57,.12);border-radius:9px;margin-top:9px}.boss-favor-card span{display:block;font-size:9px;letter-spacing:.1em;color:#aebe79}.boss-favor-card strong{display:block;color:#e7ddb4;margin-top:3px}.boss-favor-card small{display:block;color:#aaa187;margin-top:3px;line-height:1.4}


/* v2.4 TABLETOP ALIVE — preserve systems, make the board game the interface */
body{background:#17130f;background-image:radial-gradient(circle at 18% 12%,rgba(121,76,38,.22),transparent 28%),repeating-linear-gradient(92deg,rgba(255,255,255,.012) 0 2px,transparent 2px 9px)}
.app-shell{position:relative;background:linear-gradient(180deg,#29241d,#181714 34%,#171613);box-shadow:0 0 0 1px #4a3b2c,0 20px 70px rgba(0,0,0,.5)}
.app-shell:before{content:"BORDER RUN · ROAD EMPIRE";display:block;margin:-8px -2px 10px;padding:5px 9px;border:1px dashed #716044;color:#9f8d68;font:700 8px/1.2 "Arial Narrow",Arial,sans-serif;letter-spacing:.16em;text-align:center;background:#211e19}

.tabletop-tray{position:relative;display:grid;grid-template-columns:1.2fr 1.25fr 1.2fr .8fr .8fr .8fr;gap:7px;margin:10px 0 12px;padding:21px 8px 8px;border:2px solid #6d573b;border-radius:10px;background:linear-gradient(155deg,#5a402a,#38291f 45%,#2a211a);box-shadow:inset 0 0 0 3px rgba(21,13,8,.45),inset 0 0 26px rgba(0,0,0,.35),4px 5px 0 #0b0907}
.tray-label{position:absolute;top:5px;left:10px;color:#c2a977;font-size:8px;font-weight:900;letter-spacing:.18em}.table-piece{position:relative;min-width:0;min-height:74px;border:1px solid #695e48;border-radius:6px;padding:7px;background:#d8c899;color:#3f3527;text-align:left;box-shadow:2px 3px 0 #17110d;overflow:hidden}.table-piece:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(8deg,transparent 0 11px,rgba(65,48,28,.035) 12px)}button.table-piece{cursor:pointer}.piece-kicker{display:block;font:900 7px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.13em;color:#875438}.table-piece strong{position:relative;display:block;margin-top:5px;font:900 11px/1.05 "Arial Narrow",Arial,sans-serif;color:#2c3b31;z-index:1}.table-piece small{position:relative;display:block;margin-top:4px;font-size:8px;line-height:1.2;color:#66553b;z-index:1}.pawn-piece{background:#c7b77d}.piece-art{display:block;height:34px;margin-top:4px}.piece-art svg{width:100%;height:100%}.job-piece{transform:rotate(-.8deg);background:#e1d19e}.job-piece:after{content:"";position:absolute;top:-4px;left:42%;width:27px;height:9px;background:rgba(192,168,111,.68);transform:rotate(2deg)}.debt-piece{background:#bca989;border-color:#574332;transform:rotate(.7deg)}.debt-piece.armed{background:#c7a091;border-color:#8c453e}.card-stack{position:absolute;right:8px;bottom:8px;width:28px;height:18px;border:1px solid #5b4435;background:#47322a;box-shadow:3px -3px 0 #80604d,6px -6px 0 #ae8b70;transform:rotate(-4deg)}.chip-piece{background:#24251f;color:#eee1bc;text-align:center}.chip-piece strong{font-size:16px;color:#f2d994}.chip-stack{position:absolute;right:8px;bottom:7px;width:25px;height:9px;border-radius:50%;background:#b9843b;box-shadow:0 -4px 0 #d4ad59,0 -8px 0 #9f773a,0 -12px 0 #d4ad59;border:1px solid #3d3426}.chrome-stack{background:#89b8b5;box-shadow:0 -4px 0 #d1ece9,0 -8px 0 #6d9c9a,0 -12px 0 #d1ece9}.dice-piece{background:#ded1aa;text-align:center}.dice-piece strong{font-family:Georgia,serif;font-size:21px;color:#5b3a29}.dice-piece small{text-align:center}

.tabletop-board{overflow:visible;max-height:none;padding:19px 10px 15px;background:#6e684f;border:8px solid #4c3220;border-radius:12px;box-shadow:inset 0 0 0 2px #a98b5d,inset 0 0 40px rgba(0,0,0,.22),5px 7px 0 #090705}.tabletop-board:before{content:"";position:absolute;inset:7px;border:1px dashed rgba(66,52,35,.45);width:auto;transform:none;background:none}.tabletop-board:after{content:"NORTHBOUND HIGHWAY BOARD";position:absolute;top:4px;left:50%;transform:translateX(-50%);padding:1px 8px;background:#6e684f;color:#3b3024;font:900 7px/1.4 "Arial Narrow",Arial,sans-serif;letter-spacing:.15em;z-index:2}.board-corner{position:absolute;z-index:3;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#b39b69;border:2px solid #473420;color:#433222;font:900 7px/1 Arial,sans-serif;box-shadow:inset 0 0 0 2px #d7c494}.board-corner-tl{left:-5px;top:-6px}.board-corner-tr{right:-5px;top:-6px}.board-grain{opacity:.18}.board{display:flex;flex-direction:column-reverse;gap:6px}.board-row{display:flex;gap:6px;align-items:stretch}.board-row.reverse{flex-direction:row-reverse}.board-row .stop{flex:1 1 0;min-width:0;min-height:94px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:7px;background:#d8cb9f;color:#4a3a28;border:2px solid #66533c;border-left-width:2px;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),2px 2px 0 rgba(44,31,20,.35);transform:none}.board-row .stop:nth-child(2){transform:rotate(.25deg)}.board-row .stop.current{transform:translateY(-3px) rotate(-.5deg);box-shadow:0 0 0 3px #e47645,3px 5px 0 rgba(44,31,20,.45)}.board-row .stop.ai-current{box-shadow:0 0 0 3px #49aaa3,3px 5px 0 rgba(44,31,20,.45)}.board-row .stop-num{font-size:12px;color:#735d40}.board-space-copy{width:100%}.board-row .stop-title{font-family:Georgia,serif;color:#32443a;font-size:10px;line-height:1.05}.board-row .stop-sub{font-size:7px;color:#6a5941;line-height:1.15}.board-row .stop-tag{margin-top:auto;font-size:6px;padding:3px 5px;border-radius:12px;align-self:flex-start}.board-row .pawns{position:absolute;right:4px;bottom:4px}.board-row .vehicle-pawn{width:42px;height:24px}.board-row .stop.market-stop{background:#cbbd83;border:3px double #5d4a32}.board-row .stop:after{content:"";position:absolute;inset:3px;border:1px dotted rgba(83,66,43,.22);pointer-events:none}

.location-card{border:5px solid #51402d;background:#d7c99e;color:#443725;border-radius:8px;box-shadow:inset 0 0 0 2px #f0e5bd,4px 5px 0 #090705}.location-head strong{color:#31443a}.location-district{background:#5e4d37;color:#efe0b6;border-color:#35281c}.location-scene{background:#c7b88c;border-color:#8e7956}.location-scene strong{color:#34443a}.location-scene small,.location-blurb{color:#67583f}.location-meta div,.location-chip{background:#c9bb8f;border-color:#8c7857}.location-meta span,.location-chip span{color:#785037}.location-meta strong,.location-chip strong{color:#34443a}.location-chip small{color:#67583f}
.city-mini-board{margin-top:10px;padding:8px;border:3px solid #5d4b34;background:#776f50;border-radius:8px;box-shadow:inset 0 0 0 2px rgba(236,221,170,.3)}.mini-board-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:6px;color:#efe2b8}.mini-board-title span{font-size:7px;font-weight:900;letter-spacing:.16em}.mini-board-title strong{font:900 11px/1 Georgia,serif}.mini-board-track{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.mini-space{position:relative;min-height:76px;border:2px solid #66523a;border-radius:4px;padding:6px;background:#ddd0a3;color:#433829;text-align:left;box-shadow:1px 2px 0 #3a2d20}.mini-space:nth-child(2n){transform:rotate(.3deg)}.mini-space b{display:block;font:900 8px/1.05 "Arial Narrow",Arial,sans-serif;color:#33443b;letter-spacing:.04em}.mini-space small{display:block;margin-top:4px;font-size:7px;line-height:1.2;color:#6d5d42}.mini-space.active{background:#c8b878;border-color:#8c673b}.mini-space.interactive{cursor:pointer;background:#d4d6a3;border-color:#467c69;box-shadow:0 0 0 2px rgba(70,124,105,.23),1px 2px 0 #3a2d20}.mini-space.interactive:before{content:"PLAY";position:absolute;right:4px;top:4px;padding:2px 4px;background:#357568;color:#fff7d6;border-radius:8px;font-size:5px;font-weight:900}.mini-space.spent{opacity:.72}.mini-space.deck-space{background:#caa485}.mini-space.exit-space{background:#c7c0a1}.mini-pawn{position:absolute;right:3px;bottom:3px;width:44px;height:25px}.mini-pawn svg{width:100%;height:100%}.tiny-deck{position:absolute;right:8px;bottom:8px;width:25px;height:15px;background:#613b30;border:1px solid #3b2b20;box-shadow:3px -3px 0 #8b5d48,6px -6px 0 #b0805f}.market-mini .mini-space:nth-child(3){background:#c6a08e}

.modal-card{background:#d9cba0;border:5px solid #55402e;color:#493b2b;box-shadow:inset 0 0 0 2px #f0e1b6,7px 9px 0 rgba(0,0,0,.45)}.modal-kicker{color:#9a4e32}.modal-card h2{font-family:Georgia,serif;color:#31443a}.modal-card p{color:#67583f}.job-card-modal,.boss-favor-card{background:#cbbd90;border:2px solid #6f5b40;border-radius:4px;padding:10px;transform:rotate(-.4deg)}

.event-hub{position:relative}.event-hub:after{content:"CARD & EVENT TRAY";position:absolute;right:9px;top:8px;font-size:6px;font-weight:900;letter-spacing:.13em;color:#8f866d}.event-card{border-radius:4px;border:2px solid rgba(231,215,168,.18);box-shadow:3px 4px 0 #080806;transform:rotate(-.25deg)}.event-card:nth-child(2){transform:rotate(.35deg)}.event-wallet{border-style:dashed}.dice{border-radius:5px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.1),2px 3px 0 #090806}

@media(max-width:720px){.tabletop-tray{grid-template-columns:repeat(3,1fr)}.table-piece{min-height:70px}.board-row .stop{min-height:88px}.mini-board-track{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.tabletop-tray{grid-template-columns:repeat(2,1fr)}.board-row{gap:4px}.board-row .stop{min-height:90px;padding:6px 4px}.board-row .stop-title{font-size:9px}.board-row .stop-sub{font-size:6.5px}.board-row .vehicle-pawn{width:36px;height:21px}.mini-board-track{grid-template-columns:repeat(2,1fr)}}


/* Local board material changes by district, so cities feel like different boards from the same box. */
.city-mini-board.mini-neon,.city-mini-board.mini-motel,.city-mini-board.mini-nightmarket,.city-mini-board.mini-casino{background:#5b435f;border-color:#2c2430}.city-mini-board.mini-neon .mini-space,.city-mini-board.mini-motel .mini-space,.city-mini-board.mini-nightmarket .mini-space,.city-mini-board.mini-casino .mini-space{background:#d1b8c9;border-color:#60435f}
.city-mini-board.mini-desert,.city-mini-board.mini-highway,.city-mini-board.mini-prairie,.city-mini-board.mini-expressway{background:#876344;border-color:#4d3424}.city-mini-board.mini-desert .mini-space,.city-mini-board.mini-highway .mini-space,.city-mini-board.mini-prairie .mini-space,.city-mini-board.mini-expressway .mini-space{background:#dfc18e}
.city-mini-board.mini-oasis,.city-mini-board.mini-coast,.city-mini-board.mini-river,.city-mini-board.mini-lakes,.city-mini-board.mini-atlantic{background:#537777;border-color:#30494a}.city-mini-board.mini-oasis .mini-space,.city-mini-board.mini-coast .mini-space,.city-mini-board.mini-river .mini-space,.city-mini-board.mini-lakes .mini-space,.city-mini-board.mini-atlantic .mini-space{background:#bfd1bd}
.city-mini-board.mini-garage,.city-mini-board.mini-truckstop,.city-mini-board.mini-fuel{background:#666449;border-color:#393928}.city-mini-board.mini-garage .mini-space,.city-mini-board.mini-truckstop .mini-space,.city-mini-board.mini-fuel .mini-space{background:#c8c294}
.city-mini-board.mini-city,.city-mini-board.mini-metro,.city-mini-board.mini-metroeast,.city-mini-board.mini-rivercity,.city-mini-board.mini-warehouse,.city-mini-board.mini-steel,.city-mini-board.mini-terminal,.city-mini-board.mini-capital,.city-mini-board.mini-port,.city-mini-board.mini-eastport{background:#555e62;border-color:#30373a}.city-mini-board.mini-city .mini-space,.city-mini-board.mini-metro .mini-space,.city-mini-board.mini-metroeast .mini-space,.city-mini-board.mini-rivercity .mini-space,.city-mini-board.mini-warehouse .mini-space,.city-mini-board.mini-steel .mini-space,.city-mini-board.mini-terminal .mini-space,.city-mini-board.mini-capital .mini-space,.city-mini-board.mini-port .mini-space,.city-mini-board.mini-eastport .mini-space{background:#c2c3af}
.city-mini-board.mini-border,.city-mini-board.mini-state,.city-mini-board.mini-federal,.city-mini-board.mini-taskforce,.city-mini-board.mini-interstate,.city-mini-board.mini-turnpike{background:#704c45;border-color:#432c28}.city-mini-board.mini-border .mini-space,.city-mini-board.mini-state .mini-space,.city-mini-board.mini-federal .mini-space,.city-mini-board.mini-taskforce .mini-space,.city-mini-board.mini-interstate .mini-space,.city-mini-board.mini-turnpike .mini-space{background:#d0b19e}
.city-mini-board.mini-mountain,.city-mini-board.mini-canyon{background:#5e6461;border-color:#343936}.city-mini-board.mini-mountain .mini-space,.city-mini-board.mini-canyon .mini-space{background:#c7c6ad}
.city-mini-board.mini-route66,.city-mini-board.mini-fair,.city-mini-board.mini-junction{background:#806b46;border-color:#4a3b27}.city-mini-board.mini-route66 .mini-space,.city-mini-board.mini-fair .mini-space,.city-mini-board.mini-junction .mini-space{background:#dfc98f}


/* v2.5 BOARD FIRST — physical board is the hub, systems become supporting trays */
.board-stage{position:relative;margin:10px 0 12px;padding:10px 8px 9px;border:1px solid #735b3e;border-radius:12px;background:linear-gradient(145deg,#3b2a1d,#201a15 68%,#171411);box-shadow:inset 0 0 0 3px rgba(8,6,4,.4),5px 7px 0 rgba(0,0,0,.38)}
.board-stage:before{content:"";position:absolute;inset:5px;border:1px dashed rgba(190,160,104,.18);border-radius:8px;pointer-events:none}
.board-stage-head{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:8px;padding:2px 4px 8px;color:#e6d3a4}
.board-stage-head strong{display:block;margin-top:2px;font:900 15px/1 Georgia,serif;letter-spacing:.03em;color:#efe0b5}
.board-stage-legend{font:900 6px/1.2 "Arial Narrow",Arial,sans-serif;letter-spacing:.14em;color:#ae9163;text-align:right}

/* Route selector is now part of the board frame rather than a dashboard card. */
.board-stage .route-panel{position:relative;z-index:2;margin:0 0 7px;padding:7px 7px 6px;background:#211e18;border:1px solid #62553e;border-radius:6px;box-shadow:none}
.board-stage .route-panel:before{display:none}
.board-stage .route-panel-head{margin-bottom:5px}.board-stage .route-panel-head .mini-label{font-size:6px}.board-stage .route-panel-head strong{font-size:11px;color:#dfcfa4}
.board-stage .route-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.board-stage .route-tab{min-height:39px;padding:5px 3px;font-size:8px}
.board-stage .route-intel{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px}.board-stage .route-intel div{padding:5px 4px;min-width:0}.board-stage .route-intel span{font-size:6px}.board-stage .route-intel strong{font-size:8px;line-height:1.1}

/* The highway board gets most of the first viewport and behaves like a fold-out physical board. */
.tabletop-board{position:relative;z-index:2;height:clamp(355px,49vh,500px);max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8c7650 #473522;padding:20px 8px 15px!important;border-width:7px!important;border-radius:9px!important;background:#6f684d!important;box-shadow:inset 0 0 0 2px #b19360,inset 0 0 42px rgba(0,0,0,.27),4px 5px 0 #090705!important}
.tabletop-board::-webkit-scrollbar{width:5px}.tabletop-board::-webkit-scrollbar-track{background:#473522}.tabletop-board::-webkit-scrollbar-thumb{background:#9d8358;border-radius:9px}
.tabletop-board:after{font-size:6px!important;white-space:nowrap}
.board{gap:5px!important}.board-row{gap:5px!important}.board-row .stop{min-height:74px!important;padding:5px!important;border-radius:4px!important}.board-row .stop-num{font-size:9px!important}.board-row .stop-title{font-size:8.5px!important}.board-row .stop-sub{font-size:6px!important}.board-row .stop-tag{font-size:5.5px!important;padding:2px 4px!important}.board-row .vehicle-pawn{width:35px!important;height:20px!important}

/* Physical piece tray — force-reset native button styles so pieces cannot render as white browser buttons. */
.tabletop-tray{position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:1.15fr 1.35fr 1.25fr repeat(3,.82fr)!important;gap:6px!important;margin:8px 0 0!important;padding:19px 7px 7px!important;border:2px solid #6d573b!important;border-radius:8px!important;background:linear-gradient(155deg,#5a402a,#38291f 48%,#2a211a)!important;box-shadow:inset 0 0 0 2px rgba(21,13,8,.48),inset 0 0 24px rgba(0,0,0,.34),3px 4px 0 #0b0907!important}
.tabletop-tray .tray-label{display:block!important;position:absolute!important;top:5px!important;left:9px!important;color:#cdb37d!important;font:900 7px/1 "Arial Narrow",Arial,sans-serif!important;letter-spacing:.16em!important}
.tabletop-tray .table-piece{-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;position:relative!important;display:block!important;width:100%!important;min-width:0!important;min-height:65px!important;margin:0!important;border:1px solid #695e48!important;border-radius:5px!important;padding:6px!important;background:#d8c899!important;color:#3f3527!important;text-align:left!important;box-shadow:2px 3px 0 #17110d!important;overflow:hidden!important;line-height:1.1!important}
.tabletop-tray button.table-piece{cursor:pointer!important}
.tabletop-tray .piece-kicker{display:block!important;position:relative!important;z-index:2!important;font:900 6px/1 "Arial Narrow",Arial,sans-serif!important;letter-spacing:.12em!important;color:#875438!important}
.tabletop-tray .table-piece strong{display:block!important;position:relative!important;z-index:2!important;margin-top:4px!important;font:900 9px/1.05 "Arial Narrow",Arial,sans-serif!important;color:#2c3b31!important;white-space:normal!important}
.tabletop-tray .table-piece small{display:block!important;position:relative!important;z-index:2!important;margin-top:3px!important;font:500 6.5px/1.2 Arial,sans-serif!important;color:#66553b!important;white-space:normal!important}
.tabletop-tray .pawn-piece{background:#c7b77d!important}.tabletop-tray .job-piece{background:#e1d19e!important;transform:rotate(-.5deg)}.tabletop-tray .debt-piece{background:#bca989!important;transform:rotate(.45deg)}.tabletop-tray .debt-piece.armed{background:#c99f8f!important;border-color:#91483d!important}
.tabletop-tray .chip-piece{background:#24251f!important;color:#eee1bc!important;text-align:left!important}.tabletop-tray .chip-piece strong{font-size:14px!important;color:#f2d994!important}.tabletop-tray .dice-piece{background:#ded1aa!important;text-align:center!important}.tabletop-tray .dice-piece strong{font-family:Georgia,serif!important;font-size:18px!important;color:#5b3a29!important}
.tabletop-tray .piece-art{display:block!important;height:27px!important;margin-top:3px!important}.tabletop-tray .piece-art svg{width:100%!important;height:100%!important}.tabletop-tray .chip-stack{display:block!important;position:absolute!important;right:7px!important;bottom:7px!important}.tabletop-tray .card-stack{display:block!important}

/* Turn controls stay immediately below the physical board, like the player's side of the table. */
.board-stage + .action-panel{margin:0 0 10px;padding:10px;background:linear-gradient(160deg,#302b22,#1a1916);border:1px solid #68563e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),3px 4px 0 rgba(0,0,0,.3)}
.board-stage + .action-panel:before{content:"PLAYER TURN TRAY";display:block;height:auto;margin:-4px 0 7px;background:none;color:#9f8861;font:900 6px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.15em}
.board-stage + .action-panel .turn-line{align-items:center}.board-stage + .action-panel .dice{width:46px;height:46px;display:grid;place-items:center;background:#ded1aa!important;color:#4e3527!important;border:2px solid #6b573d!important;font-family:Georgia,serif!important;font-size:24px!important}

/* City board becomes the next major physical object after the turn controls. */
.location-card{margin-top:0!important}.location-head .mini-label:after{content:" · UNFOLDS WHEN YOU ARRIVE";color:#8a704d}

/* Old dashboard systems are still fully present, but live under one secondary tray. */
.secondary-systems{margin:10px 0 12px;border:1px solid #555147;border-radius:8px;background:#1a1a17;box-shadow:3px 4px 0 rgba(0,0,0,.28);overflow:hidden}
.secondary-systems>summary{cursor:pointer;list-style:none;padding:10px 11px;background:linear-gradient(90deg,#2a2a25,#1f201c);color:#d6c59d;font:900 8px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.12em;border-bottom:1px solid transparent}
.secondary-systems>summary::-webkit-details-marker{display:none}.secondary-systems>summary:after{content:"OPEN TRAY +";float:right;color:#54b9ae}.secondary-systems[open]>summary{border-bottom-color:#4b493f}.secondary-systems[open]>summary:after{content:"CLOSE TRAY –"}
.secondary-systems .empire-panel,.secondary-systems .event-hub{margin:8px!important;border-left:0;border-right:0}.secondary-systems .event-hub{margin-top:0!important}

/* Supporting content remains compact. */
#upgradeStrip{margin:6px 0 0!important}.opponent-card{margin-bottom:10px!important}

@media(max-width:520px){
  .board-stage{margin-left:-4px;margin-right:-4px;padding-left:6px;padding-right:6px}
  .tabletop-board{height:47vh;min-height:370px}
  .tabletop-tray{grid-template-columns:repeat(3,1fr)!important}
  .tabletop-tray .table-piece{min-height:60px!important}
  .board-stage .route-intel{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:380px){
  .tabletop-tray{grid-template-columns:repeat(2,1fr)!important}
  .tabletop-board{min-height:350px}
}


/* v2.6 REAL ROUTES + PARTY BOARD */
.real-route-stage{padding-left:84px!important;padding-right:70px!important;min-height:620px}
.party-badge{border:1px solid #60705b;background:#233226;color:#e7ddb8;border-radius:7px;padding:9px 10px;font:900 8px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.08em;box-shadow:2px 3px 0 #090a08}
.party-rail{position:absolute;z-index:8;left:6px;top:47px;width:72px;display:grid;gap:5px;padding:6px;border:1px solid #5e4e37;border-radius:8px;background:rgba(24,22,18,.96);box-shadow:3px 4px 0 rgba(0,0,0,.4)}
.party-rail-title{color:#c8b07a;font:900 6px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.16em;text-align:center;padding:3px}
.party-slot,.manage-party{appearance:none;border:1px solid #514a3b;background:#282820;color:#e5d7ad;border-radius:6px;padding:5px 4px;display:grid;grid-template-columns:18px 1fr;gap:4px;text-align:left;min-height:42px;box-shadow:1px 2px 0 #0d0d0b}
.party-slot.active{border-color:#d8a83f;box-shadow:0 0 0 1px #d8a83f,1px 2px 0 #0d0d0b}.party-slot.empty{opacity:.6}.party-num{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#195f58;color:#fff;font:900 8px/1 Arial}.party-slot b{display:block;font:900 7px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.05em}.party-slot small{display:block;margin-top:3px;font-size:5.5px;color:#9e9a84}.manage-party{display:block;grid-template-columns:1fr;text-align:center;color:#e2c57e;font-size:6px;min-height:30px}
.side-action-rail{position:absolute;z-index:8;right:6px;top:47px;width:58px;display:grid;gap:6px}
.side-action-rail button{appearance:none;border:1px solid #574d3b;background:#26261f;color:#dfd0a4;border-radius:7px;min-height:52px;padding:5px 2px;box-shadow:2px 3px 0 #0b0b09;display:grid;place-items:center;gap:3px}.side-action-rail button:first-child{background:#dca52d;color:#211c12}.side-action-rail span{font-size:16px;line-height:1}.side-action-rail b{font:900 6px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.08em}
.real-route-stage .board-stage-head,.real-route-stage .route-panel,.real-route-stage .tabletop-board,.real-route-stage .tabletop-tray,.real-route-stage .upgrade-strip{position:relative;z-index:3}
.real-route-stage .tabletop-board{height:clamp(430px,60vh,650px);scrollbar-width:none}.real-route-stage .tabletop-board::-webkit-scrollbar{display:none}
.real-route-stage .board-row .stop{min-height:105px}.real-route-stage .board-row .stop-title{font-size:10.5px}.real-route-stage .board-row .stop-sub{font-size:7px}
.real-route-stage .market-stop{background:linear-gradient(145deg,#c8b783,#a99a68)!important;box-shadow:inset 0 0 0 2px rgba(25,95,88,.65),2px 2px 0 rgba(44,31,20,.35)!important}
.real-route-stage .market-stop .stop-title{color:#1b5d57!important}.real-route-stage .stop.SELL .stop-tag,.real-route-stage .stop-tag.SELL{background:#206e64;color:#fff}.real-route-stage .stop-tag.RISK{background:#7c3028;color:#fff}.real-route-stage .stop-tag.EVENT{background:#9b5c2e;color:#fff}.real-route-stage .stop-tag.GARAGE{background:#655d36;color:#fff}.real-route-stage .stop-tag.SWITCH{background:#295568;color:#fff}
.party-lobby{display:grid;gap:5px;margin:8px 0}.party-lobby-row{display:flex;justify-content:space-between;padding:8px;border:1px solid #5d594d;border-radius:6px;background:#24251f}.party-lobby-row b{color:#e8d7aa}.party-lobby-row small{color:#7fc6bd}
@media(max-width:560px){
  .real-route-stage{margin-left:-5px!important;margin-right:-5px!important;padding-left:52px!important;padding-right:47px!important}
  .party-rail{left:3px;top:44px;width:44px;padding:4px;gap:4px}.party-rail-title{display:none}.party-slot{grid-template-columns:1fr;padding:4px 2px;min-height:38px;text-align:center}.party-slot>span:last-child small{display:none}.party-slot b{font-size:5.5px}.party-num{margin:auto;width:16px;height:16px}.manage-party{font-size:5px;padding:3px 1px}
  .side-action-rail{right:3px;top:44px;width:40px;gap:4px}.side-action-rail button{min-height:42px;padding:3px 1px}.side-action-rail span{font-size:13px}.side-action-rail b{font-size:5px}
  .real-route-stage .board-stage-head{padding-left:2px;padding-right:2px}.real-route-stage .tabletop-board{height:57vh;min-height:430px}.real-route-stage .tabletop-tray{grid-template-columns:repeat(3,1fr)!important}
  .top-actions{flex-wrap:wrap;justify-content:flex-end}.party-badge{padding:7px 6px;font-size:6px}
}


/* v2.6 3D-illusion dice and pawn motion */
.dice,.dice-piece{transform-style:preserve-3d;perspective:500px}.dice.rolling-3d,.dice-piece.rolling-3d{animation:br77DiceTumble .56s cubic-bezier(.2,.75,.25,1)}
@keyframes br77DiceTumble{0%{transform:perspective(500px) rotateX(0) rotateY(0) rotateZ(0) scale(1)}25%{transform:perspective(500px) rotateX(110deg) rotateY(70deg) rotateZ(45deg) scale(1.12)}55%{transform:perspective(500px) rotateX(235deg) rotateY(175deg) rotateZ(150deg) scale(.94)}80%{transform:perspective(500px) rotateX(330deg) rotateY(285deg) rotateZ(250deg) scale(1.08)}100%{transform:perspective(500px) rotateX(360deg) rotateY(360deg) rotateZ(360deg) scale(1)}}
.vehicle-pawn{filter:drop-shadow(2px 4px 2px rgba(0,0,0,.5));transform:perspective(180px) rotateX(18deg) rotateZ(-3deg);animation:br77PawnLand .42s cubic-bezier(.2,.9,.3,1)}
@keyframes br77PawnLand{0%{transform:perspective(180px) rotateX(18deg) translateY(-14px) scale(.9);filter:drop-shadow(2px 12px 5px rgba(0,0,0,.25))}65%{transform:perspective(180px) rotateX(18deg) translateY(3px) scale(1.04)}100%{transform:perspective(180px) rotateX(18deg) translateY(0) scale(1)}}

/* BORDER RUN '77 v2.7 LIVING MAP + THREE ROUTES */
:root{--route-west:#2c8b82;--route-central:#d1a338;--route-east:#b44f36}
body{overflow-x:hidden}
.app-shell{max-width:1020px}
.real-route-stage{padding-left:86px!important;padding-right:72px!important;background:linear-gradient(145deg,#211d16,#100f0c 72%);min-height:760px}
.board-stage-head strong{font-size:18px}
.board-stage-legend{font-size:7px}
.real-route-stage .route-panel{background:linear-gradient(#181713,#11110f);border-color:#685338}
.board-stage .route-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.board-stage .route-tab{position:relative;min-height:78px;padding:8px 5px 7px;display:flex;flex-direction:column;justify-content:center;gap:3px;border-width:2px;background:linear-gradient(165deg,#29271f,#171713);overflow:hidden}
.board-stage .route-tab:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#777}
.board-stage .route-tab.route-west:before{background:var(--route-west)}
.board-stage .route-tab.route-central:before{background:var(--route-central)}
.board-stage .route-tab.route-east:before{background:var(--route-east)}
.board-stage .route-tab.active{transform:translateY(-2px);box-shadow:0 0 0 2px rgba(235,211,153,.25),3px 5px 0 #070706}
.board-stage .route-tab.route-west.active{border-color:var(--route-west)}
.board-stage .route-tab.route-central.active{border-color:var(--route-central)}
.board-stage .route-tab.route-east.active{border-color:var(--route-east)}
.route-tab .route-name{font:900 11px/1 Georgia,serif;letter-spacing:.04em;color:#ead9ac}
.route-tab small{font-size:6px!important;color:#9b967f!important;letter-spacing:.08em}
.route-tab em,.route-tab i{display:block;font:900 6px/1.15 "Arial Narrow",Arial,sans-serif;letter-spacing:.08em;font-style:normal}
.route-tab em{color:#e37045}.route-tab i{color:#35a9a0}
.route-meter{display:flex;justify-content:center;gap:7px;margin-top:2px}.route-meter b{font-size:7px;letter-spacing:1px}.route-meter b:first-child{color:#e16a47}.route-meter b:last-child{color:#d9ad42}
.route-intel strong{white-space:normal}

/* The physical top-down board surface */
.real-route-stage .tabletop-board{height:min(69vh,760px);min-height:590px;padding:0!important;border:7px solid #53371f;background:#17130d;overflow:hidden!important;position:relative;box-shadow:inset 0 0 0 2px #a27a47,inset 0 0 60px rgba(0,0,0,.75),6px 8px 0 rgba(0,0,0,.45)}
.real-route-stage .tabletop-board:after{content:"LIVING HIGHWAY MAP";top:5px;background:#3a2718;color:#d8ba7a;z-index:10}
.real-route-stage .board-corner{z-index:11}
.board-grain{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 15% 25%,rgba(255,180,70,.08),transparent 20%),radial-gradient(circle at 78% 20%,rgba(69,154,134,.08),transparent 18%),repeating-linear-gradient(15deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px);pointer-events:none}
.board.living-map{position:absolute!important;inset:0;display:block!important;min-height:100%;background:
 radial-gradient(circle at 23% 34%,#4b3c25 0 1.2%,transparent 1.4%),
 radial-gradient(circle at 71% 57%,#483820 0 1.1%,transparent 1.4%),
 radial-gradient(circle at 38% 76%,#5c4424 0 1%,transparent 1.2%),
 linear-gradient(145deg,#80633b,#4c3b25 48%,#342a1c);
 overflow:hidden}
.board.living-map:before{content:"";position:absolute;inset:0;z-index:0;opacity:.42;background-image:radial-gradient(ellipse at center,transparent 0 55%,rgba(0,0,0,.58) 100%),repeating-linear-gradient(22deg,rgba(46,31,19,.18) 0 1px,transparent 1px 9px);pointer-events:none}
.living-map-west{--route-accent:var(--route-west)}.living-map-central{--route-accent:var(--route-central)}.living-map-east{--route-accent:var(--route-east)}
.living-roads{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}
.road-shadow{fill:none;stroke:#211a13;stroke-width:7.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.road-line{fill:none;stroke:#5d5c53;stroke-width:5.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.road-center{fill:none;stroke:#d8c68e;stroke-width:.8;stroke-dasharray:3 3;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.75}
.border-line{stroke:#d0683e;stroke-width:1.2;stroke-dasharray:2 1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #e36f43)}
.country{position:absolute;z-index:3;left:50%;transform:translateX(-50%);font:900 7px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.28em;text-shadow:0 2px 2px #24180f;pointer-events:none}.country-us{color:#e7d6aa}.country-mx{color:#e48554}
.corridor-stamp{position:absolute;z-index:3;right:2.5%;top:4%;padding:6px 7px;border:1px solid rgba(226,210,163,.35);border-radius:4px;background:rgba(18,17,13,.78);transform:rotate(1.4deg);text-align:right;box-shadow:2px 3px 0 rgba(0,0,0,.35)}
.corridor-stamp b{display:block;color:var(--route-accent);font:900 9px/1 Georgia,serif}.corridor-stamp span{display:block;margin-top:3px;color:#c6b68e;font:900 5.5px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.08em}
.map-node{position:absolute;z-index:5;transform:translate(-50%,-50%) rotate(-.5deg);width:19%;min-height:48px;padding:5px 4px;border:2px solid #615036;border-radius:7px;background:linear-gradient(155deg,#dbcf9d,#b5a36f);color:#423521;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),2px 4px 0 rgba(35,23,14,.52);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:transform .18s ease,filter .18s ease}
.map-node:nth-of-type(3n){transform:translate(-50%,-50%) rotate(.8deg)}
.map-node b{font:900 8.2px/1 Georgia,serif;text-transform:uppercase;color:#273c35;max-width:100%;overflow-wrap:anywhere}.map-node small{margin-top:2px;font:900 5.3px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.07em;color:#6b5334}.map-node .node-num{position:absolute;top:2px;left:3px;font:900 5px/1 Arial,sans-serif;color:#7c6749}.node-value{font:900 5.5px/1 Arial,sans-serif;color:#1d6d63;margin-top:2px}.map-node.node-sell{border-color:#2c756d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 0 0 1px rgba(44,117,109,.4),2px 4px 0 rgba(35,23,14,.52)}.map-node.node-checkpoint{border-color:#843b30}.map-node.node-event{border-color:#a36b33}.map-node.node-garage{border-color:#676234}.map-node.node-junction{border-color:#365e70}.map-node.buy-node{background:linear-gradient(155deg,#7f4b31,#5b2e26);border-color:#d27d45;color:#f4deb1}.map-node.buy-node b{color:#ffe2a8}.map-node.buy-node small{color:#ff9866}
.map-node.current{z-index:8;transform:translate(-50%,-58%) perspective(240px) rotateX(10deg) scale(1.08);filter:drop-shadow(0 0 8px var(--route-accent));box-shadow:0 0 0 3px var(--route-accent),3px 6px 0 rgba(20,12,8,.58)}
.map-node.ai-current{box-shadow:0 0 0 3px #8e62aa,3px 6px 0 rgba(20,12,8,.58)}
.node-pawns{position:absolute;left:50%;top:-22px;transform:translateX(-50%);display:flex;z-index:12}.map-node .vehicle-pawn{width:52px!important;height:30px!important;transform:perspective(180px) rotateX(25deg) rotateZ(-5deg) scale(1.05)!important;filter:drop-shadow(4px 7px 2px rgba(0,0,0,.62))!important}.map-node.current.pawn-arrive .vehicle-pawn{animation:br77LivingPawn .55s cubic-bezier(.16,.85,.25,1)}
@keyframes br77LivingPawn{0%{transform:perspective(180px) rotateX(25deg) rotateZ(-9deg) translateY(-25px) scale(.65)}65%{transform:perspective(180px) rotateX(25deg) rotateZ(-3deg) translateY(3px) scale(1.12)}100%{transform:perspective(180px) rotateX(25deg) rotateZ(-5deg) translateY(0) scale(1.05)}}

/* Side rails stay familiar while the board dominates */
.party-rail{background:linear-gradient(180deg,#1e1c17,#11110f);border-color:#7b5c32;box-shadow:4px 5px 0 rgba(0,0,0,.55)}
.side-action-rail button{background:linear-gradient(165deg,#29271f,#171713);border-color:#6e593a}.side-action-rail button:first-child{background:linear-gradient(#e9b83f,#c88c20)}

/* Physical 3D dice illusion */
.dice{position:relative;box-shadow:inset -6px -7px 0 rgba(70,48,23,.18),inset 4px 4px 0 rgba(255,255,255,.18),4px 7px 0 rgba(0,0,0,.45)!important;transform:perspective(260px) rotateX(16deg) rotateY(-13deg)}
.dice.rolling-3d{animation:br77LivingDice .56s cubic-bezier(.2,.75,.25,1)!important}
@keyframes br77LivingDice{0%{transform:perspective(260px) rotateX(0) rotateY(0) rotateZ(0) scale(.75)}35%{transform:perspective(260px) rotateX(160deg) rotateY(120deg) rotateZ(90deg) scale(1.18)}70%{transform:perspective(260px) rotateX(290deg) rotateY(250deg) rotateZ(180deg) scale(.92)}100%{transform:perspective(260px) rotateX(376deg) rotateY(347deg) rotateZ(360deg) scale(1)}}

@media(max-width:560px){
 .real-route-stage{padding-left:50px!important;padding-right:47px!important;margin-left:-7px!important;margin-right:-7px!important;min-height:720px}
 .party-rail{width:43px;left:3px}.side-action-rail{width:40px;right:3px}
 .board-stage .route-tab{min-height:67px;padding:6px 2px}.route-tab .route-name{font-size:8.2px}.route-tab em,.route-tab i{font-size:4.8px}.route-meter{gap:3px}.route-meter b{font-size:5px}
 .real-route-stage .tabletop-board{height:61vh;min-height:565px}
 .map-node{width:22%;min-height:42px;padding:4px 2px}.map-node b{font-size:6.3px}.map-node small{font-size:4.4px}.node-value{font-size:4.5px}
 .map-node .vehicle-pawn{width:43px!important;height:25px!important}
 .corridor-stamp{top:3%;right:1.5%;padding:4px}.corridor-stamp b{font-size:7px}.corridor-stamp span{font-size:4.3px}
 .country{font-size:5px}
}


/* ================================================================
   BORDER RUN '77 v2.8 FULLSCREEN LIVING BOARD
   Board dominates the viewport; familiar collapsible side rails;
   compact three-route selector; 3D dice + stepwise vehicle movement.
   ================================================================ */
:root{--v28-board-edge:#8e6539;--v28-panel:#171713;--v28-panel2:#222019}
html{scroll-behavior:smooth}
.app-shell{width:min(100%,680px);padding-bottom:94px}
.fullscreen-board-stage{position:relative;margin-top:4px!important;padding-left:42px!important;padding-right:46px!important;background:linear-gradient(145deg,#201b14,#0d0d0b 76%);border-radius:10px;min-height:auto!important}
.fullscreen-board-stage .board-stage-head{padding:4px 4px 5px;min-height:34px;align-items:center}
.fullscreen-board-stage .board-stage-head strong{font-size:16px}
.fullscreen-board-stage .board-stage-legend{font-size:6px;max-width:54%;text-align:right;color:#a99f82}

/* Compact route strip: still explicit West/Central/East risk-reward choices */
.fullscreen-board-stage .route-panel{padding:5px 6px 6px!important;margin:0 0 5px!important;border-radius:7px!important}
.fullscreen-board-stage .route-panel-head{display:none}
.fullscreen-board-stage .route-tabs{margin:0!important;gap:5px!important}
.fullscreen-board-stage .route-tab{min-height:49px!important;padding:5px 3px!important;border-radius:6px!important}
.fullscreen-board-stage .route-tab .route-name{font-size:9px!important}
.fullscreen-board-stage .route-tab small{font-size:5px!important;margin-top:0!important}
.fullscreen-board-stage .route-tab em,.fullscreen-board-stage .route-tab i{font-size:5.3px!important;line-height:1!important}
.fullscreen-board-stage .route-meter{margin-top:0!important;gap:4px!important}.fullscreen-board-stage .route-meter b{font-size:5px!important}
.fullscreen-board-stage .route-intel{display:none}

/* The map now owns most of the visual field */
.fullscreen-board-stage .tabletop-board{height:clamp(650px,76svh,860px)!important;min-height:650px!important;border-width:5px!important;border-radius:9px!important;box-shadow:inset 0 0 0 2px #9f7546,inset 0 0 70px rgba(0,0,0,.72),4px 6px 0 rgba(0,0,0,.5)!important}
.fullscreen-board-stage .tabletop-board:after{font-size:6px!important;letter-spacing:.2em;top:4px!important}
.board.living-map{background:radial-gradient(circle at 12% 22%,rgba(214,162,72,.12),transparent 22%),radial-gradient(circle at 79% 59%,rgba(39,138,124,.11),transparent 18%),linear-gradient(145deg,#826342,#4b3925 48%,#31271b)!important}
.map-node{width:17.5%!important;min-height:46px!important;padding:5px 3px!important;border-radius:8px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),2px 4px 0 rgba(28,18,11,.57)!important}
.map-node b{font-size:7.3px!important;line-height:.95!important}.map-node small{font-size:4.8px!important}.map-node .node-num{font-size:4.6px!important}.node-value{font-size:5px!important}
.map-node.current{z-index:12!important;transform:translate(-50%,-62%) perspective(260px) rotateX(13deg) scale(1.12)!important}
.map-node .vehicle-pawn{width:62px!important;height:34px!important;filter:drop-shadow(5px 10px 3px rgba(0,0,0,.62))!important}
.node-pawns{top:-29px!important}
@keyframes br77LivingPawn{0%{transform:perspective(220px) rotateX(28deg) rotateZ(-10deg) translateY(-30px) scale(.72)}52%{transform:perspective(220px) rotateX(28deg) rotateZ(4deg) translateY(-8px) scale(1.14)}76%{transform:perspective(220px) rotateX(28deg) rotateZ(-2deg) translateY(5px) scale(1.06)}100%{transform:perspective(220px) rotateX(28deg) rotateZ(-5deg) translateY(0) scale(1.08)}}

/* Familiar side rails: compact by default, expand over the map on demand */
.party-rail{left:4px!important;top:42px!important;width:34px!important;padding:3px!important;gap:4px!important;transition:width .18s ease,box-shadow .18s ease;overflow:visible!important}
.party-rail-title{display:none!important}.party-slot{grid-template-columns:1fr!important;min-height:39px!important;padding:4px 2px!important;text-align:center!important;position:relative!important}.party-slot>span.party-copy{display:none}.party-num{margin:auto!important;width:19px!important;height:19px!important;font-size:7px!important}.party-avatar{display:block;width:24px;height:12px;border-radius:7px 7px 4px 4px;margin:2px auto 0;background:var(--party-car,#4e8277);border:1px solid #d7c185;box-shadow:0 2px 0 #080806}.party-slot:nth-of-type(3){--party-car:#704987}.party-slot:nth-of-type(4){--party-car:#9d6a30}.party-slot:nth-of-type(5){--party-car:#3d6570}.party-slot:nth-of-type(6){--party-car:#8d3f34}.party-slot:nth-of-type(7){--party-car:#68614a}
.manage-party{min-height:28px!important;font-size:0!important;padding:3px!important}.manage-party:before{content:"☰";font-size:14px}.rail-toggle{border:1px solid #705c3c;background:#302a20;color:#e8d39e;box-shadow:1px 2px 0 #080806;cursor:pointer}
.party-rail .party-rail-toggle{display:block;width:100%;height:24px;border-radius:5px;font-size:12px}
.party-rail.expanded{width:146px!important;z-index:25!important;box-shadow:7px 8px 18px rgba(0,0,0,.65)!important}.party-rail.expanded .party-rail-title{display:block!important}.party-rail.expanded .party-slot{grid-template-columns:26px 1fr!important;text-align:left!important;padding:5px!important}.party-rail.expanded .party-num{margin:0!important}.party-rail.expanded .party-avatar{position:absolute;left:4px;bottom:3px;width:23px}.party-rail.expanded .party-copy{display:block!important}.party-rail.expanded .party-slot b{font-size:7px!important}.party-rail.expanded .party-slot small{display:block!important;font-size:5.5px!important}.party-rail.expanded .manage-party{font-size:6px!important}.party-rail.expanded .manage-party:before{content:""}

.side-action-rail{right:4px!important;top:42px!important;width:37px!important;gap:5px!important;transition:width .18s ease;z-index:20!important}.side-action-rail button{min-height:43px!important;padding:3px 1px!important}.side-action-rail button span{font-size:14px!important}.side-action-rail button b{display:none!important}.side-action-rail.expanded{width:106px!important;z-index:25!important;box-shadow:-7px 8px 18px rgba(0,0,0,.55)}.side-action-rail.expanded button{grid-template-columns:26px 1fr!important;display:grid!important;justify-items:start!important;padding:5px 7px!important}.side-action-rail.expanded button b{display:block!important;font-size:6px!important}.side-action-rail .action-rail-toggle{min-height:28px!important}.side-action-rail .action-rail-toggle span{font-size:16px!important}

/* Large 3D die rolls directly over the board */
.board-dice-overlay{position:absolute;inset:0;z-index:30;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .12s ease;background:radial-gradient(circle at center,rgba(0,0,0,.12),transparent 42%)}
.board-dice-overlay.active{opacity:1}.die-cube{width:76px;height:76px;border-radius:15px;background:linear-gradient(145deg,#f0dfaf,#c7a96a);border:3px solid #5c4529;color:#252119;display:grid;place-items:center;font-size:57px;line-height:1;box-shadow:inset -11px -12px 0 rgba(74,52,23,.16),inset 7px 7px 0 rgba(255,255,255,.25),10px 15px 0 rgba(0,0,0,.42);transform:perspective(420px) rotateX(19deg) rotateY(-21deg) rotateZ(4deg)}
.board-dice-overlay.rolling .die-cube{animation:v28DieTumble .68s cubic-bezier(.22,.75,.2,1)}.dice-shadow{position:absolute;width:94px;height:22px;border-radius:50%;background:rgba(0,0,0,.36);filter:blur(8px);transform:translateY(58px);z-index:-1}.board-dice-overlay.rolling .dice-shadow{animation:v28DieShadow .68s ease}
@keyframes v28DieTumble{0%{transform:perspective(420px) translateY(-90px) rotateX(0) rotateY(0) rotateZ(0) scale(.7)}28%{transform:perspective(420px) translateY(-18px) rotateX(165deg) rotateY(130deg) rotateZ(105deg) scale(1.18)}60%{transform:perspective(420px) translateY(10px) rotateX(305deg) rotateY(265deg) rotateZ(230deg) scale(.94)}78%{transform:perspective(420px) translateY(-8px) rotateX(344deg) rotateY(315deg) rotateZ(310deg) scale(1.04)}100%{transform:perspective(420px) translateY(0) rotateX(379deg) rotateY(339deg) rotateZ(360deg) scale(1)}}
@keyframes v28DieShadow{0%{opacity:.05;transform:translateY(62px) scale(.45)}55%{opacity:.5;transform:translateY(58px) scale(1.1)}100%{opacity:.35;transform:translateY(58px) scale(1)}}

/* Bottom control tray stays familiar and always reachable */
.action-panel{position:fixed!important;z-index:18;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,680px);padding:7px 10px calc(7px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(28,27,23,.97),#11110f);border-top:2px solid #6f5434;box-shadow:0 -8px 24px rgba(0,0,0,.52);display:grid;grid-template-columns:56px 1fr;gap:7px;align-items:center}.action-panel .turn-line{grid-column:1;display:block!important}.action-panel .turn-line>div{display:none}.action-panel .dice{width:52px;height:50px;min-width:0;font-size:22px;margin:0}.action-panel .action-text{display:none!important}.action-panel .actions{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.action-panel .btn{min-height:49px;padding:8px 6px;font-size:10px;border-radius:7px}.action-panel .log-wrap{display:none!important}
.modal{z-index:40!important}

/* Keep secondary systems below the board, not competing with it */
.tabletop-tray,.upgrade-strip{display:none!important}.location-card,.secondary-systems,.opponent-card{margin-top:10px}

@media(max-width:560px){
 .app-shell{padding-left:8px;padding-right:8px;padding-bottom:88px!important}
 .topbar{padding:9px 2px 7px!important}.eyebrow{font-size:7px!important}h1{font-size:29px!important}.edition-line{font-size:6.6px!important;max-width:270px}.shop-top-btn{min-height:35px!important;padding:0 8px!important;font-size:8px!important}.party-badge{min-height:35px!important;font-size:6px!important}.icon-btn{width:35px!important;height:35px!important;font-size:18px!important}
 .street-ribbon{margin:4px 2px!important;font-size:6px!important}.hud{margin:5px 0 7px!important;gap:3px!important}.stat{padding:5px 4px!important}.stat span{font-size:6.5px!important}.stat strong{font-size:11px!important}
 .fullscreen-board-stage{margin-left:-3px!important;margin-right:-3px!important;padding-left:36px!important;padding-right:39px!important;border-radius:7px!important}
 .fullscreen-board-stage .board-stage-head{min-height:28px!important;padding:2px 3px 3px!important}.fullscreen-board-stage .board-stage-head strong{font-size:13px!important}.fullscreen-board-stage .board-stage-legend{font-size:4.8px!important}
 .fullscreen-board-stage .route-tab{min-height:42px!important}.fullscreen-board-stage .route-tab .route-name{font-size:7.7px!important}.fullscreen-board-stage .route-tab small{display:none!important}.fullscreen-board-stage .route-tab em,.fullscreen-board-stage .route-tab i{font-size:4.7px!important}.fullscreen-board-stage .route-meter{display:none!important}
 .fullscreen-board-stage .tabletop-board{height:74svh!important;min-height:630px!important}
 .map-node{width:17%!important;min-height:40px!important;padding:3px 2px!important}.map-node b{font-size:5.9px!important}.map-node small{font-size:4px!important}.node-value{font-size:4.2px!important}.map-node .vehicle-pawn{width:52px!important;height:30px!important}.node-pawns{top:-25px!important}
 .country{font-size:4.4px!important}.corridor-stamp{top:2%!important;right:1%!important;padding:4px!important}.corridor-stamp b{font-size:6.3px!important}.corridor-stamp span{font-size:3.9px!important}
 .action-panel{width:100%;padding-left:7px!important;padding-right:7px!important;grid-template-columns:48px 1fr}.action-panel .dice{width:46px;height:45px;font-size:19px}.action-panel .btn{min-height:45px;font-size:8.5px!important}
}


/* ============================================================
   BORDER RUN '77 v2.9 ARRIVAL + LANDMARK MODE
   Camera-follow board · landmark nodes · cinematic action splashes
   ============================================================ */
.fullscreen-board-stage{padding-left:34px!important;padding-right:36px!important}
.fullscreen-board-stage .route-panel{position:sticky!important;top:0;z-index:30;background:rgba(25,22,17,.94)!important;backdrop-filter:blur(7px)}
.fullscreen-board-stage .tabletop-board{height:72svh!important;min-height:600px!important;overflow:auto!important;scrollbar-width:none!important;touch-action:pan-x pan-y pinch-zoom;scroll-behavior:smooth}
.fullscreen-board-stage .tabletop-board::-webkit-scrollbar{display:none!important}
.board.living-map{position:relative!important;inset:auto!important;width:148%!important;height:158%!important;min-height:980px!important;overflow:visible!important;transform:none!important}
.map-node{width:16.8%!important;min-height:58px!important;padding:7px 5px!important}
.map-node b{font-size:8px!important}.map-node small{font-size:5.1px!important}.map-node .node-value{font-size:5.7px!important}
.map-node.landmark-node{box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 0 0 2px rgba(214,166,68,.55),3px 5px 0 rgba(28,18,11,.58)!important}
.landmark-marker{position:absolute;right:-9px;top:-12px;z-index:16;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f3d989,#9b6b2e 58%,#3c2818);border:2px solid #ead59a;box-shadow:0 4px 8px rgba(0,0,0,.55);transform:rotate(6deg)}
.landmark-marker i{font-style:normal;font-size:14px;color:#1e1a14;text-shadow:0 1px #fff2c0}.landmark-marker em{display:none}
.map-node.current .landmark-marker{animation:br77LandmarkPulse 1.25s ease-in-out infinite}
@keyframes br77LandmarkPulse{50%{transform:rotate(3deg) scale(1.12);filter:brightness(1.22)}}
.node-pawns{top:-31px!important}.map-node .vehicle-pawn{width:72px!important;height:40px!important}

/* Arrival card becomes a destination scene instead of another generic modal. */
.modal-card:has(.cinematic-arrival){width:min(94vw,620px)!important;max-height:88svh!important;overflow:auto!important;background:linear-gradient(180deg,#171612,#262017)!important;border-color:#b6904c!important;box-shadow:0 22px 80px #000,0 0 0 2px rgba(234,201,126,.18)!important}
.cinematic-arrival .location-hero{min-height:215px!important;border-radius:10px!important;box-shadow:inset 0 0 45px rgba(0,0,0,.5),0 9px 18px rgba(0,0,0,.35)!important}
.arrival-landmark{display:flex;gap:12px;align-items:center;margin:10px 0;padding:10px 12px;background:linear-gradient(120deg,#2f2b21,#161713);border:1px solid #806b45;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.arrival-landmark>span{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#d3b765;color:#1e1d18;font-size:24px;box-shadow:0 4px 0 #4a351d}
.arrival-landmark small{display:block;color:#dc9e45;font:900 7px/1 Arial;letter-spacing:.13em}.arrival-landmark strong{display:block;margin-top:4px;color:#f2e5bd;font:900 16px/1 Georgia,serif}

/* Full-screen action splash layer. Every action kind has its own motion language. */
.action-splash{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .18s ease;overflow:hidden}
.action-splash.hidden{display:none}.action-splash.active{opacity:1}
.splash-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(20,22,19,.32),rgba(5,5,4,.92) 72%);backdrop-filter:blur(4px)}
.splash-motion{position:absolute;inset:-20%;opacity:.6}.splash-card{position:relative;width:min(84vw,420px);padding:26px 22px 23px;text-align:center;border:2px solid #856d43;border-radius:14px;background:linear-gradient(155deg,#27251e,#121310);box-shadow:0 25px 80px #000,inset 0 0 0 2px rgba(255,255,255,.025);transform:scale(.76) translateY(20px);animation:splashCardIn .48s cubic-bezier(.16,.88,.24,1) forwards}
@keyframes splashCardIn{to{transform:scale(1) translateY(0)}}
.splash-icon{width:78px;height:78px;margin:0 auto 10px;display:grid;place-items:center;border-radius:18px;background:#d6aa45;color:#1a1914;font:900 42px/1 Georgia,serif;box-shadow:0 10px 0 #5d4022,0 18px 28px rgba(0,0,0,.48);transform:perspective(240px) rotateX(12deg)}
.splash-kicker{color:#e6a84d;font:900 8px/1 Arial;letter-spacing:.22em}.splash-card h2{margin:7px 0 5px;color:#fff0c8;font:900 29px/1 Georgia,serif;text-transform:uppercase}.splash-card p{margin:0;color:#bdb69e;font:700 11px/1.4 Arial}.splash-landmark{margin-top:8px;color:#5bc3b6;font:900 8px/1 Arial;letter-spacing:.14em}
.splash-arrival .splash-motion{background:linear-gradient(90deg,transparent 0 46%,rgba(69,206,190,.45) 48% 52%,transparent 54%) center/100% 18px repeat-y;animation:arrivalRoad .6s linear infinite}@keyframes arrivalRoad{to{transform:translateY(36px)}}
.splash-arrival .splash-icon{background:#2d7e74;color:#eaf1cf;animation:arrivalIcon .85s ease-in-out infinite alternate}@keyframes arrivalIcon{to{transform:perspective(240px) rotateX(12deg) translateY(-7px)}}
.splash-dice .splash-icon{animation:diceTumble .55s cubic-bezier(.2,.8,.3,1) both}@keyframes diceTumble{0%{transform:rotate(-120deg) scale(.45)}60%{transform:rotate(24deg) scale(1.16)}100%{transform:rotate(0) scale(1)}}
.splash-buy .splash-motion{background:repeating-linear-gradient(0deg,transparent 0 52px,rgba(213,168,65,.16) 53px 70px);animation:loadCrates .55s ease-out both}@keyframes loadCrates{from{transform:translateY(35%)}to{transform:translateY(0)}}
.splash-sell .splash-motion{background:radial-gradient(circle,#e1bd51 0 2px,transparent 3px) 0 0/38px 38px;animation:cashBurst .7s ease-out both}@keyframes cashBurst{from{transform:scale(.5) rotate(-8deg);opacity:0}to{transform:scale(1.3);opacity:.65}}
.splash-event .splash-card{animation:eventFlip .55s ease both}@keyframes eventFlip{from{transform:perspective(500px) rotateY(90deg) scale(.8)}to{transform:perspective(500px) rotateY(0) scale(1)}}
.splash-risk .splash-backdrop{background:repeating-linear-gradient(135deg,rgba(155,42,26,.58) 0 18px,rgba(11,12,10,.9) 18px 36px);animation:riskFlash .25s steps(2) 3}@keyframes riskFlash{50%{filter:brightness(1.8)}}
.splash-switch .splash-motion{background:conic-gradient(from 180deg at 50% 70%,transparent 0 38%,rgba(67,174,186,.52) 39% 43%,transparent 44% 56%,rgba(224,166,63,.48) 57% 61%,transparent 62%);animation:switchFork .7s ease-out both}@keyframes switchFork{from{transform:translateY(30%) scale(.7)}to{transform:none}}
.splash-garage .splash-icon{animation:wrenchSpin .65s ease-out both}@keyframes wrenchSpin{from{transform:rotate(-140deg) scale(.6)}to{transform:rotate(0) scale(1)}}
.splash-cards .splash-motion{background:linear-gradient(110deg,transparent 30%,rgba(222,197,127,.18) 31% 34%,transparent 35% 42%,rgba(222,197,127,.12) 43% 46%,transparent 47%);animation:cardFan .55s ease-out both}@keyframes cardFan{from{transform:translateX(-35%) rotate(-12deg)}to{transform:translateX(0)}}
.splash-raid .splash-backdrop{background:radial-gradient(circle at 50% 55%,rgba(126,32,28,.46),#050504 72%)}.splash-raid .splash-motion{background:linear-gradient(90deg,transparent 49%,rgba(231,75,52,.6) 50%,transparent 51%);animation:raidScan .45s linear 2}@keyframes raidScan{from{transform:translateX(-60%)}to{transform:translateX(60%)}}
.splash-shop .splash-card{box-shadow:0 25px 80px #000,0 0 38px rgba(221,171,53,.34)}.splash-shop .splash-icon{background:linear-gradient(135deg,#fff4c2,#ad8131 55%,#f9e5a0);animation:chromeShine .75s linear both}@keyframes chromeShine{50%{filter:brightness(1.65)}}
.splash-party .splash-motion{background:radial-gradient(circle at 20% 50%,rgba(83,194,181,.3),transparent 16%),radial-gradient(circle at 50% 42%,rgba(216,169,62,.3),transparent 16%),radial-gradient(circle at 80% 50%,rgba(130,88,170,.28),transparent 16%);animation:partyJoin .7s ease-out both}@keyframes partyJoin{from{transform:scale(.35);opacity:0}to{transform:scale(1);opacity:.7}}
.splash-empire .splash-motion{background:linear-gradient(rgba(76,155,149,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(76,155,149,.12) 1px,transparent 1px);background-size:26px 26px;animation:blueprint .65s ease-out both}@keyframes blueprint{from{opacity:0;transform:scale(.75)}to{opacity:.65;transform:scale(1)}}

/* Side rails float over the board rather than stealing map width. */
.fullscreen-board-stage{padding-left:7px!important;padding-right:7px!important}
.party-rail{left:6px!important;z-index:36!important}.side-action-rail{right:6px!important;z-index:36!important}.party-rail:not(.expanded),.side-action-rail:not(.expanded){opacity:.86}
.fullscreen-board-stage .board-stage-head{padding-left:40px!important;padding-right:40px!important}.fullscreen-board-stage .route-panel{margin-left:34px!important;margin-right:34px!important}

@media(max-width:520px){
 .fullscreen-board-stage .tabletop-board{height:74svh!important;min-height:610px!important}
 .board.living-map{width:158%!important;height:164%!important;min-height:1030px!important}
 .map-node{width:17.2%!important;min-height:55px!important}.map-node b{font-size:7.1px!important}
 .splash-card{width:86vw;padding:22px 17px}.splash-card h2{font-size:24px}.splash-icon{width:66px;height:66px;font-size:34px}
}


/* ============================================================
   BORDER RUN v3.0 — ROAD EMPIRE REBRAND + BORDER RADIO
   '77 is retained only as legacy world-building.
   ============================================================ */
.brand-title{margin-bottom:0!important;letter-spacing:.035em}.brand-title span{display:none!important}.brand-subtitle{margin-top:1px;color:#dca54b;font:900 9px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase}
.radio-top-btn{border:1px solid #4c8e88;background:linear-gradient(180deg,#254943,#172d2a);color:#dff1df;border-radius:8px;padding:8px 10px;font:900 8px/1 Arial;letter-spacing:.09em;box-shadow:0 3px 0 #0d1715}
.legacy-corner{font-size:7px!important;letter-spacing:.08em!important;color:#bfa678!important}
.border-radio-badge{position:fixed;z-index:78;left:max(8px,env(safe-area-inset-left));bottom:calc(84px + env(safe-area-inset-bottom));width:112px;padding:8px 9px;text-align:left;border:1px solid #4b827a;border-radius:10px;background:linear-gradient(145deg,rgba(23,45,42,.96),rgba(16,20,18,.98));box-shadow:0 7px 22px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.035);color:#eee0b8}
.border-radio-badge .radio-legacy{display:block;color:#54b9aa;font:900 7px/1 Arial;letter-spacing:.15em}.border-radio-badge strong{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:900 9px/1.05 Georgia,serif}.border-radio-badge small{display:block;margin-top:4px;color:#9a9d88;font:800 5.8px/1 Arial;letter-spacing:.08em}
.radio-console{display:grid;gap:9px}.radio-dial{position:relative;padding:14px;border:1px solid #5c6e5d;border-radius:10px;background:radial-gradient(circle at 82% 50%,#3c6f66 0 5px,#17211e 6px 22px,#111311 23px),linear-gradient(145deg,#2c2a22,#151612);box-shadow:inset 0 0 28px rgba(0,0,0,.55)}.radio-dial:after{content:"";position:absolute;right:23px;top:23px;width:35px;height:35px;border:3px solid #d0ae63;border-radius:50%;box-shadow:inset 0 0 0 4px #181a17,0 0 13px rgba(88,194,177,.28)}.radio-dial span{display:block;color:#55b6a9;font:900 7px/1 Arial;letter-spacing:.18em}.radio-dial strong{display:block;margin-top:5px;color:#f1dfae;font:900 23px/1 Georgia,serif}.radio-dial small{display:block;margin-top:5px;width:70%;color:#a9a189;font:700 9px/1.35 Arial}
.radio-dial.station-dustline{border-color:#d29a3c;background:linear-gradient(90deg,rgba(20,11,4,.94),rgba(68,35,8,.80)),repeating-linear-gradient(118deg,transparent 0 20px,rgba(255,179,63,.10) 21px 23px),radial-gradient(circle at 82% 52%,#ffb234 0 6px,#5d2b08 7px 29px,#120b06 30px)}.radio-dial.station-dustline:before{content:"77";position:absolute;right:76px;top:5px;color:rgba(255,186,73,.16);font:900 74px/1 Impact,sans-serif;transform:skew(-8deg)}.radio-dial.station-dustline strong{color:#ffd27c;text-shadow:0 2px 14px #b45100}.radio-dial.station-redline{border-color:#ef4c35;background:linear-gradient(90deg,rgba(12,9,9,.96),rgba(82,8,8,.78)),repeating-linear-gradient(-20deg,transparent 0 18px,rgba(255,44,26,.13) 19px 22px),radial-gradient(circle at 83% 50%,#ff3a2e 0 5px,#4a0a08 6px 31px,#090909 32px)}.radio-dial.station-redline:before{content:"FM";position:absolute;right:76px;top:9px;color:rgba(255,52,37,.17);font:italic 900 62px/1 Arial,sans-serif}.radio-dial.station-redline strong{color:#ff7a67;text-shadow:0 2px 15px #b80f00}.radio-dial.station-chrome808{border-color:#9d6cff;background:linear-gradient(90deg,rgba(7,7,16,.96),rgba(27,8,69,.80)),repeating-linear-gradient(90deg,transparent 0 13px,rgba(0,224,255,.10) 14px 15px),radial-gradient(circle at 83% 50%,#25e0ff 0 5px,#371477 6px 31px,#070713 32px)}.radio-dial.station-chrome808:before{content:"808";position:absolute;right:68px;top:10px;color:rgba(66,226,255,.16);font:900 58px/1 Impact,sans-serif;letter-spacing:-.05em}.radio-dial.station-chrome808 strong{color:#be9dff;text-shadow:0 2px 15px #5520df}.radio-dial.station-external{background:radial-gradient(circle at 82% 50%,#3c6f66 0 5px,#17211e 6px 22px,#111311 23px),linear-gradient(145deg,#2c2a22,#151612)}
.radio-mode{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:10px;text-align:left;border:1px solid #514a3a;border-radius:9px;background:linear-gradient(150deg,#27251e,#171814);color:#e7d7ae}.radio-mode>span{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#252e2a;border:1px solid #466c62;color:#67c1b3;font-size:18px}.radio-mode strong{display:block;font:900 11px/1 Arial;letter-spacing:.05em}.radio-mode small{display:block;margin-top:4px;color:#aaa189;font:700 8px/1.35 Arial}.radio-mode.active{border-color:#56b5a7;box-shadow:inset 0 0 0 1px rgba(86,181,167,.22),0 0 18px rgba(86,181,167,.08)}
.radio-station-card{position:relative;overflow:hidden}.radio-station-card:after{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:900 29px/1 Impact,sans-serif;opacity:.13}.radio-station-card.station-dustline{background:linear-gradient(105deg,#38220e,#17130d);border-color:#885d27}.radio-station-card.station-dustline:after{content:"77";color:#ffc264}.radio-station-card.station-redline{background:linear-gradient(105deg,#35100c,#17100f);border-color:#8e3328}.radio-station-card.station-redline:after{content:"FM";color:#ff5a48}.radio-station-card.station-chrome808{background:linear-gradient(105deg,#19102e,#0e111c);border-color:#523e84}.radio-station-card.station-chrome808:after{content:"808";color:#62dbff}.radio-station-card.station-dustline>span{border-color:#ad7531;color:#ffc264;background:#34200d}.radio-station-card.station-redline>span{border-color:#a8382b;color:#ff6a55;background:#35100d}.radio-station-card.station-chrome808>span{border-color:#674ba6;color:#66dcff;background:#1c1235}
.radio-controls{display:grid;grid-template-columns:48px 1fr 48px 1fr 58px;gap:6px}.radio-controls button{min-height:38px;border:1px solid #5b5646;border-radius:7px;background:#22231e;color:#eadcb5;font:900 8px/1 Arial}.radio-controls button.active{border-color:#d1a84d;color:#ffd978}.radio-volume{display:grid;grid-template-columns:58px 1fr 34px;gap:8px;align-items:center;color:#b8ad91;font:900 7px/1 Arial;letter-spacing:.1em}.radio-volume input{accent-color:#51afa3;width:100%}.radio-volume output{color:#f1dfae;text-align:right;font-size:8px}
@media(max-width:520px){.border-radio-badge{width:94px;bottom:calc(78px + env(safe-area-inset-bottom));padding:7px}.border-radio-badge strong{font-size:8px}.radio-top-btn{padding:7px 8px}}


/* ============================================================
   BORDER RUN v3.1 — CINEMATIC ROAD CAMERA + ARRIVAL LANDMARKS
   The board is a navigated world: nearby spaces are primary;
   the full corridor is intentionally larger than the viewport.
   ============================================================ */

/* Camera-first board: substantially larger than the phone viewport. */
.fullscreen-board-stage .tabletop-board{height:76svh!important;min-height:640px!important;overflow:auto!important;overscroll-behavior:contain;scroll-snap-type:none!important;position:relative}
.board.living-map{width:238%!important;height:222%!important;min-height:1450px!important;min-width:930px!important;padding:0!important}
.map-node{width:12.6%!important;min-height:72px!important;padding:9px 7px!important;transition:opacity .25s ease,filter .25s ease,transform .25s ease,box-shadow .25s ease}
.map-node b{font-size:9.4px!important;line-height:1.05!important}.map-node small{font-size:6.2px!important}.map-node .node-value{font-size:6.6px!important}.node-pawns{top:-38px!important}.map-node .vehicle-pawn{width:88px!important;height:49px!important;filter:drop-shadow(0 8px 4px rgba(0,0,0,.52))}
.tabletop-board.camera-tracking .map-node:not(.current){filter:saturate(.82) brightness(.86)}
.tabletop-board.camera-tracking .map-node.neighborhood-0,.tabletop-board.camera-tracking .map-node.neighborhood-1,.tabletop-board.camera-tracking .map-node.neighborhood-2,.tabletop-board.camera-tracking .map-node.neighborhood-3{opacity:1;filter:none}
.tabletop-board.camera-tracking .map-node.neighborhood-4,.tabletop-board.camera-tracking .map-node.neighborhood-5{opacity:.68}.tabletop-board.camera-tracking .map-node.neighborhood-6,.tabletop-board.camera-tracking .map-node.neighborhood-7,.tabletop-board.camera-tracking .map-node.neighborhood-8,.tabletop-board.camera-tracking .map-node.neighborhood-9{opacity:.22;filter:blur(.35px) brightness(.65)}
.tabletop-board.camera-settle{animation:cameraSettle .62s cubic-bezier(.2,.86,.24,1)}@keyframes cameraSettle{0%{filter:brightness(.82);transform:scale(.995)}55%{filter:brightness(1.08);transform:scale(1.002)}100%{filter:none;transform:none}}
.travel-camera .route-panel,.travel-camera .board-stage-head{opacity:.2;transform:translateY(-4px);pointer-events:none}.travel-camera .party-rail,.travel-camera .side-action-rail{opacity:.22!important;transform:scale(.9)}

/* Floating camera HUD gives location context without exposing the whole board. */
.camera-hud{position:sticky;z-index:42;left:50%;top:8px;transform:translateX(-50%);width:max-content;max-width:74%;padding:6px 12px 7px;border:1px solid rgba(205,164,78,.68);border-radius:999px;background:linear-gradient(180deg,rgba(25,24,20,.93),rgba(11,12,10,.9));box-shadow:0 6px 20px rgba(0,0,0,.42);text-align:center;pointer-events:none;color:#ead7a8;backdrop-filter:blur(5px)}
.camera-hud span{display:inline-block;color:#58b9aa;font:900 6px/1 Arial;letter-spacing:.14em;margin-right:7px}.camera-hud strong{font:900 9px/1 Georgia,serif;text-transform:uppercase}.camera-hud small{display:block;margin-top:3px;color:#9f987f;font:800 5.6px/1 Arial;letter-spacing:.09em}.camera-vignette{position:sticky;z-index:34;inset:0;width:100%;height:0;pointer-events:none}.tabletop-board:after{content:"";position:sticky;z-index:33;display:block;left:0;top:0;width:100%;height:100%;pointer-events:none;box-shadow:inset 0 0 36px 14px rgba(14,10,7,.58)}

/* Route selector stays available but compact; the world gets the pixels. */
.fullscreen-board-stage .route-panel{padding:5px 6px!important;margin-bottom:4px!important;transition:.25s ease}.route-panel-head{display:none!important}.route-tabs{gap:4px!important}.route-tab{min-height:44px!important;padding:5px 3px!important}.route-tab .route-name{font-size:7.4px!important}.route-tab small{font-size:4.7px!important}.route-tab em,.route-tab i{font-size:5px!important}.route-tab .route-meter{display:none!important}.route-intel{display:none!important}.board-stage-head{min-height:26px!important;padding-top:4px!important;padding-bottom:3px!important;transition:.25s ease}.board-stage-legend{font-size:5.5px!important}

/* Landmark spaces are destination pieces, not generic rectangles. */
.map-node.landmark-node{min-height:86px!important;background:linear-gradient(155deg,#efe1b2,#b99d68)!important;border-color:#d9b65f!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.26),0 0 0 3px rgba(214,166,68,.55),4px 7px 0 rgba(28,18,11,.62)!important}
.landmark-marker{width:38px!important;height:38px!important;right:-15px!important;top:-17px!important}.landmark-marker i{font-size:19px!important}.map-node.current{z-index:28!important;transform:translate(-50%,-50%) scale(1.14)!important;box-shadow:0 0 0 4px rgba(85,190,174,.55),0 10px 20px rgba(0,0,0,.6)!important}

/* Cinematic arrival scenes: stylized landmark silhouettes per landmark family. */
.cinematic-arrival .location-hero{position:relative;overflow:hidden;min-height:260px!important;background:linear-gradient(#223c40 0 45%,#c07d42 46% 65%,#312718 66%)!important}
.cinematic-arrival .location-hero:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(12deg,transparent 0 34%,rgba(23,22,17,.92) 35% 48%,transparent 49%),linear-gradient(-10deg,transparent 0 38%,rgba(30,28,20,.72) 39% 53%,transparent 54%);opacity:.8}
.arrival-landmark-silhouette{position:absolute;z-index:5;left:50%;bottom:41px;transform:translateX(-50%);display:grid;place-items:center;color:#201b14;text-align:center;text-shadow:0 2px 0 rgba(255,225,150,.2);filter:drop-shadow(0 7px 5px rgba(0,0,0,.44))}.arrival-landmark-silhouette span{font-size:74px;line-height:.85}.arrival-landmark-silhouette b{margin-top:6px;padding:3px 8px;border-radius:999px;background:rgba(18,17,13,.72);color:#f2d797;font:900 7px/1 Arial;letter-spacing:.1em;white-space:nowrap}
.silhouette-bridge span{transform:scaleX(1.7)}.silhouette-arch span{font-size:92px}.silhouette-cactus span,.silhouette-palms span{font-size:90px}.silhouette-tower span,.silhouette-observatory span{font-size:82px}.silhouette-mountain span{font-size:94px}.silhouette-music span{font-size:86px}.silhouette-station span,.silhouette-adobe span,.silhouette-plaza span{font-size:78px}
.hero-copy{z-index:8!important}.hero-copy small{display:block;color:#62c9b9;font:900 7px/1 Arial;letter-spacing:.16em}.hero-copy strong{display:block;margin-top:4px}.hero-copy em{display:block;margin-top:4px;font:700 8px/1.2 Arial;color:#dac99f;font-style:normal}.arrival-scene-copy{padding:9px 10px;border-left:3px solid #4daea2;background:rgba(49,44,32,.68)}.arrival-scene-copy span{color:#e0a649;font:900 7px/1 Arial;letter-spacing:.15em}.arrival-scene-copy p{margin:5px 0 0;color:#dfd1aa;font:700 10px/1.35 Arial}.arrival-landmark em{display:block;margin-top:3px;color:#8f8b77;font:800 7px/1 Arial;font-style:normal;letter-spacing:.08em}

/* Positive/negative Road Event deck draw: physical card stack + 3D flip. */
.event-card-reveal{position:fixed;inset:0;z-index:1150;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .22s ease;perspective:900px}.event-card-reveal.hidden{display:none}.event-card-reveal.active{opacity:1}.event-card-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(34,29,21,.38),rgba(3,4,3,.95) 72%);backdrop-filter:blur(5px)}.event-card-stage{position:relative;width:min(82vw,330px);height:470px;display:grid;place-items:center}.event-deck-stack{position:absolute;left:50%;top:55%;width:210px;height:310px;transform:translate(-50%,-50%) rotate(-8deg)}.event-deck-stack i{position:absolute;inset:0;border:2px solid #b59451;border-radius:13px;background:repeating-linear-gradient(45deg,#18231f 0 9px,#2e4138 10px 18px);box-shadow:0 12px 26px rgba(0,0,0,.52)}.event-deck-stack i:nth-child(1){transform:translate(-14px,10px) rotate(-5deg)}.event-deck-stack i:nth-child(2){transform:translate(-7px,5px) rotate(-2deg)}
.event-flip-card{position:absolute;width:220px;height:320px;transform-style:preserve-3d;transform:translateY(58px) rotateY(0deg) scale(.72);transition:transform .72s cubic-bezier(.18,.78,.22,1);filter:drop-shadow(0 18px 24px rgba(0,0,0,.6))}.event-card-reveal.active .event-flip-card{transform:translateY(-8px) rotateY(0deg) scale(1)}.event-flip-card.flipped{transform:translateY(-20px) rotateY(180deg) scale(1.04)!important}.event-card-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;border:3px solid #caac67;box-shadow:inset 0 0 0 2px rgba(255,255,255,.07);overflow:hidden}.event-card-back{display:grid;align-content:center;justify-items:center;gap:9px;background:repeating-linear-gradient(45deg,#173029 0 13px,#26483d 14px 27px);color:#f0d799}.event-card-back:before{content:"";position:absolute;inset:13px;border:1px solid rgba(236,211,144,.42);border-radius:9px}.event-card-back span{font:900 58px/1 Georgia,serif}.event-card-back strong{font:900 15px/1 Arial;letter-spacing:.16em}.event-card-back small{font:800 7px/1 Arial;letter-spacing:.12em}.event-card-front{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;padding:22px 17px;text-align:center;background:linear-gradient(160deg,#f0deb2,#bd9d61);color:#1a1915}.reveal-negative .event-card-front{background:linear-gradient(160deg,#d6b390,#9b513d);border-color:#6e2e24;color:#211310}.event-card-polarity{font:900 8px/1 Arial;letter-spacing:.2em;color:#186a61}.reveal-negative .event-card-polarity{color:#6f211b}.event-card-symbol{width:58px;height:58px;margin:16px 0 12px;display:grid;place-items:center;border-radius:50%;background:#17685f;color:#f7e8b6;font:900 34px/1 Georgia,serif;box-shadow:0 7px 0 #0c3d38}.reveal-negative .event-card-symbol{background:#7a2a21;box-shadow:0 7px 0 #45150f}.event-card-front h2{margin:0;font:900 22px/1 Georgia,serif;text-transform:uppercase}.event-card-front p{margin:10px 0 0;font:700 10px/1.35 Arial}.event-card-effect{margin-top:auto;width:100%;padding:10px 7px;border-top:1px solid rgba(0,0,0,.28);font:900 10px/1.25 Arial}.event-card-caption{position:absolute;bottom:8px;color:#ead7a2;font:900 8px/1 Arial;letter-spacing:.16em;text-shadow:0 2px 3px #000}.event-card-reveal.resolved .event-card-caption{animation:captionPulse .48s ease-in-out infinite alternate}@keyframes captionPulse{to{filter:brightness(1.5);transform:scale(1.04)}}

/* Each action family has its own stronger cinematic signature. */
.splash-radio .splash-motion{background:repeating-linear-gradient(90deg,transparent 0 12px,rgba(81,185,170,.3) 13px 18px,transparent 19px 26px);mask:linear-gradient(transparent 25%,#000 45% 75%,transparent 90%);animation:radioBars .55s ease-in-out infinite alternate}@keyframes radioBars{to{transform:scaleY(.45)}}.splash-radio .splash-icon{background:#315c55;color:#dff3d7;animation:radioDial .7s ease-out both}@keyframes radioDial{from{transform:rotate(-65deg) scale(.7)}to{transform:rotate(0) scale(1)}}
.splash-buy .splash-icon:after{content:"";position:absolute;width:30px;height:18px;transform:translate(24px,24px);border:3px solid #5d4022;background:#d4a647;box-shadow:-15px -11px 0 #ba8b36}.splash-sell .splash-icon{animation:sellCounter .55s ease-out both}@keyframes sellCounter{0%{transform:scale(.6) rotate(-8deg)}70%{transform:scale(1.15) rotate(4deg)}100%{transform:scale(1)}}.splash-garage .splash-motion{background:radial-gradient(circle at 28% 38%,#f6bb4e 0 2px,transparent 3px),radial-gradient(circle at 70% 60%,#ee8139 0 2px,transparent 3px);background-size:39px 39px,47px 47px;animation:garageSparks .45s linear infinite}@keyframes garageSparks{to{background-position:18px 24px,-24px 12px}}.splash-switch .splash-card h2:after{content:"↙  ↘";display:block;margin-top:10px;color:#6cc6bb;font-size:22px}.splash-risk[data-visual="clear"] .splash-backdrop{background:radial-gradient(circle,rgba(38,116,90,.5),#050604 70%)}

/* Contextual bottom tray: not a permanent opaque wall over the board. */
.action-panel{transition:transform .28s ease,opacity .28s ease,box-shadow .28s ease!important;background:linear-gradient(180deg,rgba(31,29,23,.93),rgba(13,13,11,.96))!important;backdrop-filter:blur(6px)}.action-panel:before{content:attr(data-context);position:absolute;left:70px;top:2px;color:#9f9274;font:900 5.5px/1 Arial;letter-spacing:.14em}.action-panel.tray-hidden,.action-panel.tray-empty{transform:translate(-50%,calc(100% - 18px))!important;opacity:.38;pointer-events:none}.action-panel .actions{padding-top:5px}.action-panel .btn{min-height:45px!important}

/* Radio collapses to a tiny in-world control after status changes. */
.border-radio-badge{transition:width .28s ease,padding .28s ease,border-radius .28s ease,transform .28s ease,opacity .28s ease}.border-radio-badge.collapsed{width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#4f867c,#17322d 62%,#0f1412)!important}.border-radio-badge.collapsed:before{content:"♫";font:900 19px/1 Georgia,serif;color:#e9d9a8}.border-radio-badge.collapsed>*{display:none!important}.border-radio-badge.collapsed:after{content:"";position:absolute;width:7px;height:7px;right:2px;top:2px;border-radius:50%;background:#d6a844;box-shadow:0 0 8px #d6a844}

@media(max-width:520px){
 .fullscreen-board-stage .tabletop-board{height:77svh!important;min-height:650px!important}
 .board.living-map{width:255%!important;height:230%!important;min-width:960px!important;min-height:1500px!important}
 .map-node{width:12.4%!important;min-height:70px!important}.map-node b{font-size:8.8px!important}
 .camera-hud{top:5px;max-width:80%;padding:5px 10px}.arrival-landmark-silhouette span{font-size:66px}.cinematic-arrival .location-hero{min-height:230px!important}
 .event-card-stage{height:430px}.event-flip-card{width:205px;height:298px}.event-deck-stack{width:194px;height:286px}
 .action-panel:before{left:66px}.border-radio-badge{bottom:calc(70px + env(safe-area-inset-bottom))}
}


/* ======================================================================
   BORDER RUN v3.2 WORLD BIOME LIVING BOARD
   Deserts · mountains · plains · coasts · rivers · lakes · cities
   ====================================================================== */

/* Terrain is drawn beneath roads/nodes so the board reads like a world, not a card grid. */
.terrain-world{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#4a3522}
.terrain-zone{position:absolute;left:0;width:100%;overflow:hidden;isolation:isolate;box-shadow:inset 0 16px 22px rgba(0,0,0,.12),inset 0 -16px 22px rgba(0,0,0,.12);transition:filter .45s ease,opacity .45s ease}
.terrain-zone:before,.terrain-zone:after{content:"";position:absolute;inset:0;pointer-events:none}
.terrain-zone:after{opacity:.23;background-image:repeating-linear-gradient(20deg,rgba(255,255,255,.035) 0 1px,transparent 1px 8px),radial-gradient(circle at 30% 30%,rgba(255,255,255,.06),transparent 26%)}
.terrain-region-label{position:absolute;z-index:2;left:3%;top:8%;padding:4px 7px;border-radius:3px;background:rgba(24,20,14,.34);color:rgba(249,226,174,.48);font:900 9px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.2em;text-shadow:0 2px 3px #000}
.terrain-motion{position:absolute;inset:0;opacity:.32;pointer-events:none}

/* Desert: sand, scrub, mesas and drifting dust. */
.terrain-zone.biome-desert{background:radial-gradient(ellipse at 24% 34%,rgba(226,169,93,.22) 0 14%,transparent 15%),radial-gradient(ellipse at 72% 66%,rgba(74,43,23,.22) 0 18%,transparent 19%),linear-gradient(160deg,#8b5c32,#65401f 55%,#49301c)}
.terrain-zone.biome-desert .terrain-motion{background:repeating-linear-gradient(176deg,transparent 0 24px,rgba(235,193,124,.16) 25px 27px,transparent 28px 54px);animation:worldDust 8s linear infinite}@keyframes worldDust{to{transform:translateX(64px)}}

/* Mountain: dark ridges with cooler high-country pockets. */
.terrain-zone.biome-mountain{background:radial-gradient(ellipse at 65% 24%,rgba(157,171,132,.22),transparent 28%),linear-gradient(150deg,#5b5b45,#45452f 43%,#5c4630 70%,#3a3027)}
.terrain-zone.biome-mountain:before{background:linear-gradient(145deg,transparent 0 33%,rgba(32,37,32,.44) 34% 48%,transparent 49%),linear-gradient(35deg,transparent 0 42%,rgba(105,106,76,.3) 43% 54%,transparent 55%);background-size:220px 130px,260px 150px;opacity:.6}
.terrain-zone.biome-mountain .terrain-motion{background:radial-gradient(ellipse at 30% 25%,rgba(224,228,209,.12),transparent 22%),radial-gradient(ellipse at 70% 60%,rgba(224,228,209,.08),transparent 18%);animation:worldClouds 13s ease-in-out infinite alternate}@keyframes worldClouds{to{transform:translateX(34px)}}

/* Plains: muted grassland and field striping. */
.terrain-zone.biome-plains{background:linear-gradient(175deg,rgba(192,166,93,.14),transparent 35%),repeating-linear-gradient(92deg,rgba(89,96,48,.16) 0 36px,rgba(136,118,57,.12) 37px 76px),linear-gradient(160deg,#726f42,#665c34 60%,#514526)}
.terrain-zone.biome-plains .terrain-motion{background:repeating-linear-gradient(0deg,transparent 0 28px,rgba(217,207,143,.08) 29px 30px);animation:fieldBreathe 5s ease-in-out infinite alternate}@keyframes fieldBreathe{to{opacity:.55;transform:translateY(4px)}}

/* Coast / water: ocean edge, foam and port color. */
.terrain-zone.biome-coast{background:linear-gradient(90deg,#214a49 0 28%,#31645d 29% 35%,#776342 37% 54%,#675037 70%,#473523 100%)}
.terrain-zone.biome-coast:before{width:37%;right:auto;background:repeating-radial-gradient(ellipse at 0 50%,transparent 0 13px,rgba(184,225,210,.15) 14px 17px,transparent 18px 31px);animation:oceanShimmer 5.5s linear infinite}@keyframes oceanShimmer{to{transform:translateY(30px)}}
.terrain-zone.biome-coast .terrain-motion{left:28%;width:12%;background:linear-gradient(90deg,rgba(222,217,166,.18),transparent);filter:blur(2px)}

.terrain-zone.biome-river{background:linear-gradient(115deg,#5f5537 0 42%,#2e5c58 43% 51%,#6a5b37 52% 100%)}
.terrain-zone.biome-river:before{left:39%;width:17%;background:repeating-linear-gradient(0deg,rgba(180,222,210,.08) 0 2px,transparent 3px 17px);animation:riverFlow 4s linear infinite}@keyframes riverFlow{to{background-position:0 24px}}
.terrain-zone.biome-lakes{background:linear-gradient(125deg,#44543f 0 45%,#274e53 46% 72%,#36443d 73% 100%)}
.terrain-zone.biome-lakes:before{background:radial-gradient(ellipse at 65% 45%,rgba(153,207,203,.18),transparent 28%),repeating-linear-gradient(0deg,transparent 0 16px,rgba(190,225,216,.08) 17px 18px)}
.terrain-zone.biome-urban{background:linear-gradient(145deg,#4b4a3b,#36372f 45%,#48382d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.terrain-zone.biome-borderlands{background:radial-gradient(circle at 25% 60%,rgba(231,149,72,.13),transparent 28%),linear-gradient(155deg,#785036,#5a3825 55%,#3d2b21)}

/* Tiny terrain props. They are scenery only and deliberately abstract. */
.terrain-prop{position:absolute;z-index:1;left:var(--x);top:var(--y);transform:translate(-50%,-50%) scale(var(--s));opacity:.66;filter:drop-shadow(0 3px 2px rgba(0,0,0,.38));animation-delay:var(--delay)}
.prop-cactus{width:7px;height:25px;border-radius:6px 6px 3px 3px;background:#355f3c}.prop-cactus:before,.prop-cactus:after{content:"";position:absolute;width:8px;height:4px;background:#355f3c;top:10px;border-radius:4px}.prop-cactus:before{right:4px;transform:translateX(100%) rotate(-18deg)}.prop-cactus:after{left:4px;transform:translateX(-100%) rotate(18deg)}
.prop-mesa,.prop-rock{width:42px;height:16px;background:#744629;clip-path:polygon(15% 0,82% 0,100% 100%,0 100%)}.prop-rock{width:18px;height:12px;background:#59432f;clip-path:polygon(20% 10%,75% 0,100% 70%,62% 100%,0 82%)}
.prop-scrub,.prop-grass{width:22px;height:10px;border-bottom:3px solid #5f6537}.prop-scrub:before,.prop-scrub:after,.prop-grass:before,.prop-grass:after{content:"";position:absolute;bottom:0;width:2px;height:11px;background:#667040;transform-origin:bottom}.prop-scrub:before,.prop-grass:before{left:7px;transform:rotate(-28deg)}.prop-scrub:after,.prop-grass:after{right:6px;transform:rotate(24deg)}
.prop-peak,.prop-ridge,.prop-pine{width:0;height:0;border-left:26px solid transparent;border-right:26px solid transparent;border-bottom:43px solid #454a38}.prop-ridge{border-left-width:38px;border-right-width:38px;border-bottom-width:30px;border-bottom-color:#4e4936}.prop-pine{border-left-width:10px;border-right-width:10px;border-bottom-width:26px;border-bottom-color:#31503a}
.prop-silo{width:14px;height:28px;border-radius:7px 7px 2px 2px;background:#887b54;border:2px solid #4a422f}.prop-silo:before{content:"";position:absolute;left:-2px;top:-7px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:8px solid #5b553f}
.prop-windmill{width:2px;height:30px;background:#554f3c}.prop-windmill:before{content:"✣";position:absolute;left:50%;top:-11px;transform:translateX(-50%);color:#80775b;font-size:20px}.prop-fence{width:50px;height:14px;border-top:2px solid #655b40;border-bottom:2px solid #655b40}
.prop-wave,.prop-water{width:50px;height:17px;border-radius:50%;border-top:3px solid rgba(181,224,213,.55);border-bottom:2px solid rgba(181,224,213,.2);animation:propWave 2.5s ease-in-out infinite alternate}@keyframes propWave{to{transform:translate(-50%,-50%) scale(var(--s)) translateX(8px)}}
.prop-palm{width:3px;height:28px;background:#694c2c;transform-origin:bottom}.prop-palm:before{content:"✣";position:absolute;left:50%;top:-12px;transform:translateX(-50%);color:#3e6444;font-size:24px}.prop-pier,.prop-bridge{width:48px;height:7px;background:#6c6250;box-shadow:0 5px 0 rgba(37,34,28,.4)}
.prop-reed,.prop-tree{width:18px;height:24px;border-bottom:4px solid #4e603c}.prop-reed:before,.prop-tree:before{content:"";position:absolute;left:8px;bottom:2px;width:3px;height:20px;background:#547148}.prop-freighter{width:46px;height:12px;background:#554c40;clip-path:polygon(0 0,85% 0,100% 45%,90% 100%,8% 100%)}
.prop-city,.prop-warehouse,.prop-yard{width:38px;height:28px;background:repeating-linear-gradient(90deg,#443e34 0 8px,#544a38 9px 17px);border-bottom:3px solid #26251f}.prop-warehouse{height:16px;width:54px}.prop-yard{height:14px;width:46px;background:repeating-linear-gradient(90deg,#68503a 0 8px,#43382f 9px 13px)}
.prop-lamp,.prop-light{width:2px;height:25px;background:#50483a}.prop-lamp:after,.prop-light:after{content:"";position:absolute;left:-4px;top:-2px;width:10px;height:7px;border-radius:50%;background:#d3ae61;box-shadow:0 0 12px rgba(219,173,83,.65)}.prop-overpass{width:56px;height:8px;border:3px solid #595347;border-radius:50%}.prop-sign{width:28px;height:16px;background:#6d563a;border:2px solid #b2935d}.prop-sign:after{content:"";position:absolute;width:2px;height:15px;left:50%;top:100%;background:#554432}

/* Roads now sit visibly above the terrain like a physical highway board. */
.living-roads{z-index:3!important}.road-shadow{stroke:#17130e!important;stroke-width:3.7!important;opacity:.82!important}.road-line{stroke:#5f5b4d!important;stroke-width:2.7!important;filter:drop-shadow(0 2px 1px rgba(0,0,0,.5))}.road-center{stroke:#d6bc72!important;stroke-width:.26!important;stroke-dasharray:1.1 1.5!important;opacity:.9!important}.border-line{z-index:4;filter:drop-shadow(0 0 5px rgba(228,126,64,.32))}

/* Nodes inherit a little regional material without losing gameplay readability. */
.map-node{z-index:7!important}.map-node .node-biome-pip{position:absolute;left:4px;bottom:4px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:rgba(42,38,27,.73);border:1px solid rgba(224,199,132,.48);font:900 10px/1 Georgia,serif;color:#e6d499}
.map-node.biome-node-desert{background:linear-gradient(155deg,#e4c98d,#b88b55)!important}.map-node.biome-node-mountain{background:linear-gradient(155deg,#d9d6ac,#96956e)!important}.map-node.biome-node-plains{background:linear-gradient(155deg,#d8d39b,#a6a16a)!important}.map-node.biome-node-coast{background:linear-gradient(155deg,#cbd7b1,#7fa49a)!important}.map-node.biome-node-river{background:linear-gradient(155deg,#d5cf9d,#75988a)!important}.map-node.biome-node-lakes{background:linear-gradient(155deg,#d4d9b2,#78939a)!important}.map-node.biome-node-urban{background:linear-gradient(155deg,#d2c697,#98866c)!important}.map-node.buy-node{background:linear-gradient(155deg,#865039,#5b2e26)!important}

/* Camera HUD announces the land itself. */
.camera-hud em{display:block;margin-top:3px;color:#d8b665;font:800 5.5px/1.15 Arial,sans-serif;font-style:normal;letter-spacing:.08em;max-width:280px;white-space:normal}
.tabletop-board.camera-biome-desert .camera-hud{border-color:#b97a42}.tabletop-board.camera-biome-mountain .camera-hud{border-color:#8c9a78}.tabletop-board.camera-biome-plains .camera-hud{border-color:#9a9859}.tabletop-board.camera-biome-coast .camera-hud,.tabletop-board.camera-biome-river .camera-hud,.tabletop-board.camera-biome-lakes .camera-hud{border-color:#4c928b}

/* Arrival splash receives biome-specific environmental art. */
.arrival-biome-card{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;border:1px solid rgba(225,199,132,.3);background:#29251d}.arrival-biome-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#3b3426;color:#e7cf8a;font:900 21px/1 Georgia,serif}.arrival-biome-card small{display:block;color:#c7a868;font:900 6px/1 Arial;letter-spacing:.16em}.arrival-biome-card strong{display:block;margin-top:3px;color:#f1e2b6;font:900 14px/1 Georgia,serif}.arrival-biome-card em{display:block;margin-top:2px;color:#a9a083;font:700 7px/1.25 Arial;font-style:normal}
.biome-hero-desert{background:linear-gradient(#386066 0 38%,#d59a55 39% 64%,#6b4328 65%)!important}.biome-hero-mountain{background:linear-gradient(#304c54 0 34%,#73826d 35% 48%,#484b37 49% 100%)!important}.biome-hero-plains{background:linear-gradient(#4e7474 0 42%,#9a9458 43% 72%,#5f5430 73%)!important}.biome-hero-coast{background:linear-gradient(#365d66 0 36%,#2d6d69 37% 59%,#98744b 60% 100%)!important}.biome-hero-river{background:linear-gradient(#526b67 0 40%,#36675e 41% 57%,#68563b 58%)!important}.biome-hero-lakes{background:linear-gradient(#596e74 0 37%,#315860 38% 62%,#484a3a 63%)!important}.biome-hero-urban{background:linear-gradient(#293e46 0 42%,#6a5946 43% 65%,#2f2d28 66%)!important}.biome-hero-borderlands{background:linear-gradient(#3a5860 0 38%,#c27c45 39% 62%,#543622 63%)!important}
.hero-biome-scenery{position:absolute;z-index:4;inset:0;pointer-events:none}.hero-biome-scenery i{position:absolute;bottom:23%;filter:drop-shadow(0 6px 4px rgba(0,0,0,.42))}.biome-hero-desert .hero-biome-scenery i:nth-child(1){left:12%;width:12px;height:58px;background:#2f5539;border-radius:7px}.biome-hero-desert .hero-biome-scenery i:nth-child(2){right:9%;width:120px;height:38px;background:#77472b;clip-path:polygon(14% 0,84% 0,100% 100%,0 100%)}.biome-hero-desert .hero-biome-scenery i:nth-child(3){left:35%;width:52px;height:20px;background:#62432e;clip-path:polygon(15% 0,77% 0,100% 100%,0 100%)}
.biome-hero-mountain .hero-biome-scenery i:nth-child(1),.biome-hero-mountain .hero-biome-scenery i:nth-child(2),.biome-hero-mountain .hero-biome-scenery i:nth-child(3){width:0;height:0;border-left:80px solid transparent;border-right:80px solid transparent;border-bottom:125px solid #3e4739}.biome-hero-mountain .hero-biome-scenery i:nth-child(1){left:-10%;bottom:19%}.biome-hero-mountain .hero-biome-scenery i:nth-child(2){left:34%;bottom:22%;transform:scale(.78)}.biome-hero-mountain .hero-biome-scenery i:nth-child(3){right:-10%;bottom:16%;transform:scale(.9)}
.biome-hero-plains .hero-biome-scenery i:nth-child(1){left:10%;width:18px;height:70px;background:#686245;border-radius:9px 9px 2px 2px}.biome-hero-plains .hero-biome-scenery i:nth-child(2){left:46%;width:3px;height:70px;background:#54513e}.biome-hero-plains .hero-biome-scenery i:nth-child(2):after{content:"✣";position:absolute;top:-17px;left:-11px;font-size:26px;color:#77705a}.biome-hero-plains .hero-biome-scenery i:nth-child(3){right:5%;width:100px;height:3px;background:#5d573a;box-shadow:0 12px 0 #5d573a}
.biome-hero-coast .hero-biome-scenery i:nth-child(1),.biome-hero-river .hero-biome-scenery i:nth-child(1),.biome-hero-lakes .hero-biome-scenery i:nth-child(1){left:0;right:0;bottom:20%;height:18%;background:repeating-linear-gradient(0deg,rgba(194,227,214,.18) 0 2px,transparent 3px 10px)}.biome-hero-coast .hero-biome-scenery i:nth-child(2){right:12%;width:4px;height:68px;background:#664d32}.biome-hero-coast .hero-biome-scenery i:nth-child(2):before{content:"✣";position:absolute;top:-18px;left:-12px;color:#355e42;font-size:30px}.biome-hero-coast .hero-biome-scenery i:nth-child(3){left:12%;width:90px;height:8px;background:#665b47}.biome-hero-urban .hero-biome-scenery i:nth-child(1),.biome-hero-urban .hero-biome-scenery i:nth-child(2),.biome-hero-urban .hero-biome-scenery i:nth-child(3){bottom:20%;width:58px;background:#313732;border-bottom:4px solid #1f211e}.biome-hero-urban .hero-biome-scenery i:nth-child(1){left:8%;height:75px}.biome-hero-urban .hero-biome-scenery i:nth-child(2){left:39%;height:115px}.biome-hero-urban .hero-biome-scenery i:nth-child(3){right:9%;height:60px}

/* Let the player's local biome breathe while still keeping adjacent regions visible. */
.camera-tracking .terrain-zone{filter:saturate(.84) brightness(.86)}
.camera-biome-desert .terrain-zone.biome-desert,.camera-biome-mountain .terrain-zone.biome-mountain,.camera-biome-plains .terrain-zone.biome-plains,.camera-biome-coast .terrain-zone.biome-coast,.camera-biome-river .terrain-zone.biome-river,.camera-biome-lakes .terrain-zone.biome-lakes,.camera-biome-urban .terrain-zone.biome-urban,.camera-biome-borderlands .terrain-zone.biome-borderlands{filter:saturate(1.16) brightness(1.08)}

@media(max-width:520px){
  .terrain-region-label{font-size:7px;letter-spacing:.14em}.terrain-prop{opacity:.58}.map-node .node-biome-pip{width:15px;height:15px;font-size:8px}.camera-hud em{font-size:4.8px;max-width:235px}.arrival-biome-card strong{font-size:12px}
}


/* ============================================================
   BORDER RUN v3.3 — ILLUSTRATED LIVING WORLD
   Terrain now dominates the board with clear biome identity.
   ============================================================ */

.board.living-map{
  background:
    radial-gradient(circle at 14% 18%, rgba(223,174,77,.10), transparent 18%),
    radial-gradient(circle at 82% 64%, rgba(66,167,152,.10), transparent 20%),
    linear-gradient(145deg,#60462e,#3d2f22 55%,#231b14)!important;
}
.board.living-map:before{
  opacity:.18!important;
  background-image:
    radial-gradient(ellipse at center,transparent 0 62%,rgba(0,0,0,.45) 100%),
    repeating-linear-gradient(20deg,rgba(255,255,255,.018) 0 1px,transparent 1px 12px)!important;
}
.terrain-world{background:linear-gradient(180deg,#5a412c,#352719)!important}
.terrain-zone{box-shadow:inset 0 18px 24px rgba(0,0,0,.15),inset 0 -18px 24px rgba(0,0,0,.15),inset 0 0 0 1px rgba(255,255,255,.03)!important}
.terrain-zone:after{opacity:.36!important;background-image:
  repeating-linear-gradient(20deg,rgba(255,255,255,.025) 0 1px,transparent 1px 9px),
  repeating-linear-gradient(110deg,rgba(0,0,0,.04) 0 2px,transparent 2px 18px),
  radial-gradient(circle at 30% 30%,rgba(255,255,255,.05),transparent 28%)!important}
.terrain-region-label{
  top:8px!important;left:10px!important;letter-spacing:.18em!important;
  color:#f5e7ba!important;background:rgba(16,14,10,.42);padding:3px 6px;border-radius:5px;
  border:1px solid rgba(232,205,141,.18);box-shadow:0 2px 10px rgba(0,0,0,.18);
}

/* Desert */
.terrain-zone.biome-desert{
  background:
    radial-gradient(ellipse at 22% 28%, rgba(245,196,112,.30) 0 14%, transparent 15%),
    radial-gradient(ellipse at 68% 54%, rgba(125,74,38,.20) 0 18%, transparent 19%),
    repeating-linear-gradient(165deg, rgba(163,112,57,.14) 0 10px, rgba(121,79,40,.08) 11px 22px),
    linear-gradient(165deg,#af7a42 0%,#8f6134 34%,#6f4829 68%,#52331f 100%)!important;
}
.terrain-zone.biome-desert:before{
  background:
    radial-gradient(circle at 18% 66%, rgba(255,228,166,.10), transparent 20%),
    linear-gradient(0deg, transparent 0 72%, rgba(90,54,29,.18) 73% 77%, transparent 78%),
    linear-gradient(13deg, transparent 0 64%, rgba(112,73,42,.28) 65% 68%, transparent 69%),
    linear-gradient(-8deg, transparent 0 80%, rgba(78,49,28,.28) 81% 84%, transparent 85%)!important;
  opacity:.8;
}
.terrain-zone.biome-desert .terrain-motion{
  background:
    radial-gradient(circle at 35% 40%, rgba(255,222,165,.08), transparent 18%),
    repeating-linear-gradient(176deg, transparent 0 22px, rgba(255,222,168,.15) 23px 25px, transparent 26px 52px)!important;
  animation:worldDust 10s linear infinite;
}

/* Mountains */
.terrain-zone.biome-mountain{
  background:
    linear-gradient(180deg, rgba(221,232,212,.06), transparent 18%),
    linear-gradient(150deg,#65715f 0%,#55614d 34%,#61513e 62%,#433428 100%)!important;
}
.terrain-zone.biome-mountain:before{
  background:
    linear-gradient(155deg,transparent 0 18%, rgba(38,45,38,.65) 19% 27%, transparent 28%),
    linear-gradient(140deg,transparent 0 35%, rgba(67,77,63,.65) 36% 48%, transparent 49%),
    linear-gradient(152deg,transparent 0 58%, rgba(41,46,39,.62) 59% 68%, transparent 69%),
    linear-gradient(145deg,transparent 0 74%, rgba(72,77,61,.55) 75% 84%, transparent 85%);
  background-size:260px 120px,320px 140px,280px 120px,340px 150px;
  background-repeat:repeat-x;opacity:.92!important;
}
.terrain-zone.biome-mountain:after{
  opacity:.28!important;
  background-image:
    radial-gradient(circle at 22% 20%, rgba(236,241,228,.12), transparent 18%),
    repeating-linear-gradient(140deg, rgba(255,255,255,.015) 0 1px, transparent 1px 11px),
    repeating-linear-gradient(50deg, rgba(0,0,0,.035) 0 2px, transparent 2px 16px)!important;
}
.terrain-zone.biome-mountain .terrain-motion{
  background:
    radial-gradient(ellipse at 22% 25%,rgba(228,234,221,.14),transparent 18%),
    radial-gradient(ellipse at 70% 58%,rgba(228,234,221,.10),transparent 18%),
    linear-gradient(0deg, transparent 0 82%, rgba(255,255,255,.08) 83% 86%, transparent 87%)!important;
  animation:worldClouds 15s ease-in-out infinite alternate;
}

/* Plains */
.terrain-zone.biome-plains{
  background:
    linear-gradient(180deg,rgba(223,202,126,.08),transparent 26%),
    repeating-linear-gradient(92deg,rgba(93,112,54,.22) 0 34px,rgba(138,126,63,.12) 35px 72px),
    repeating-linear-gradient(6deg,rgba(201,182,108,.10) 0 20px,transparent 20px 44px),
    linear-gradient(160deg,#7a7a47 0%,#6f6437 54%,#5b4b29 100%)!important;
}
.terrain-zone.biome-plains:before{
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(91,88,51,.22) 12.4% 12.8%, transparent 13.2%),
    linear-gradient(90deg, transparent 0 48%, rgba(91,88,51,.18) 48.2% 48.6%, transparent 49%),
    linear-gradient(90deg, transparent 0 76%, rgba(91,88,51,.18) 76.2% 76.6%, transparent 77%);
  opacity:.7;
}
.terrain-zone.biome-plains .terrain-motion{
  background:repeating-linear-gradient(0deg,transparent 0 28px,rgba(235,229,175,.09) 29px 30px)!important;
  animation:fieldBreathe 6s ease-in-out infinite alternate;
}

/* Coast */
.terrain-zone.biome-coast{
  background:
    linear-gradient(90deg,#1b4c58 0 22%,#2d6d77 23% 30%,#d6c497 31% 36%,#8f7a53 37% 61%,#6b533a 62% 100%)!important;
}
.terrain-zone.biome-coast:before{
  width:32%!important;right:auto!important;
  background:
    radial-gradient(circle at 18% 50%, rgba(208,241,231,.20), transparent 10%),
    repeating-radial-gradient(ellipse at 0 50%,transparent 0 12px,rgba(199,235,222,.18) 13px 16px,transparent 17px 30px)!important;
  animation:oceanShimmer 6s linear infinite;
}
.terrain-zone.biome-coast:after{
  opacity:.55!important;
  background-image:
    linear-gradient(90deg, transparent 0 21%, rgba(244,233,196,.52) 21.5% 22.4%, rgba(255,255,255,.14) 22.5% 23%, transparent 23.4%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 11px),
    radial-gradient(circle at 18% 40%,rgba(255,255,255,.08),transparent 18%)!important;
}
.terrain-zone.biome-coast .terrain-motion{left:19%!important;width:14%!important;background:linear-gradient(90deg,rgba(240,232,190,.22),transparent)!important;filter:blur(3px)}

/* River + lakes */
.terrain-zone.biome-river{
  background:
    linear-gradient(118deg,#5c5639 0 36%,#245c63 37% 49%,#6b6141 50% 100%)!important;
}
.terrain-zone.biome-river:before{
  left:34%!important;width:22%!important;
  background:
    linear-gradient(90deg, rgba(173,227,215,.10), rgba(31,88,95,.30), rgba(173,227,215,.10)),
    repeating-linear-gradient(0deg,rgba(180,222,210,.10) 0 2px,transparent 3px 17px)!important;
  animation:riverFlow 4.5s linear infinite;
}
.terrain-zone.biome-lakes{
  background:
    linear-gradient(125deg,#465640 0 34%,#264e56 35% 70%,#3c4b42 71% 100%)!important;
}
.terrain-zone.biome-lakes:before{
  background:
    radial-gradient(ellipse at 62% 42%,rgba(158,209,204,.22),transparent 28%),
    linear-gradient(105deg, transparent 0 52%, rgba(205,227,219,.20) 53% 56%, transparent 57%),
    repeating-linear-gradient(0deg,transparent 0 16px,rgba(190,225,216,.08) 17px 18px)!important;
}

/* Urban + borderlands */
.terrain-zone.biome-urban{
  background:
    linear-gradient(180deg, rgba(241,186,86,.05), transparent 26%),
    linear-gradient(145deg,#505248 0%,#3a3e36 42%,#4d3d31 100%)!important;
}
.terrain-zone.biome-urban:before{
  background:
    repeating-linear-gradient(90deg, transparent 0 22px, rgba(73,68,56,.38) 22px 24px, transparent 24px 50px),
    linear-gradient(0deg, transparent 0 76%, rgba(22,21,18,.28) 77% 84%, transparent 85%);
  opacity:.85;
}
.terrain-zone.biome-borderlands{
  background:
    radial-gradient(circle at 28% 62%,rgba(255,151,81,.14),transparent 26%),
    linear-gradient(155deg,#8a5b41 0%,#714c36 38%,#5b402e 65%,#443226 100%)!important;
}
.terrain-zone.biome-borderlands:before{
  background:
    linear-gradient(0deg, transparent 0 72%, rgba(255,255,255,.04) 73% 74%, transparent 75%),
    repeating-linear-gradient(90deg, transparent 0 28px, rgba(96,74,58,.30) 28px 31px, transparent 31px 60px);
  opacity:.65;
}

.terrain-prop{opacity:.80!important;filter:drop-shadow(0 4px 2px rgba(0,0,0,.34))!important}
.prop-mesa,.prop-rock{background:#805034!important}
.prop-city,.prop-warehouse,.prop-yard{box-shadow:0 2px 0 rgba(0,0,0,.28)}
.prop-wave,.prop-water{opacity:.95}

/* Biome-aware cards feel embedded in the landscape rather than floating on plain wood */
.map-node{background:linear-gradient(155deg,rgba(239,226,187,.96),rgba(189,164,107,.97))!important}
.map-node:before{
  content:"";position:absolute;inset:-7px -6px -5px;z-index:-1;border-radius:12px;opacity:.72;
  background:radial-gradient(circle at 50% 50%, rgba(0,0,0,.22), transparent 62%);
  filter:blur(4px);
}
.map-node.biome-node-desert{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(232,170,89,.30),2px 4px 0 rgba(28,18,11,.57)!important}
.map-node.biome-node-mountain{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(142,161,133,.32),2px 4px 0 rgba(28,18,11,.57)!important}
.map-node.biome-node-plains{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(170,176,95,.30),2px 4px 0 rgba(28,18,11,.57)!important}
.map-node.biome-node-coast,.map-node.biome-node-river,.map-node.biome-node-lakes{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(83,171,170,.34),2px 4px 0 rgba(28,18,11,.57)!important}
.map-node.biome-node-urban,.map-node.biome-node-borderlands{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 1px rgba(202,145,72,.24),2px 4px 0 rgba(28,18,11,.57)!important}
.map-node .node-biome-pip{background:rgba(22,20,16,.76)!important;box-shadow:0 1px 6px rgba(0,0,0,.22)}
.landmark-marker{box-shadow:0 5px 14px rgba(0,0,0,.45), 0 0 0 3px rgba(244,210,133,.08)!important}
.map-node.landmark-node.current .landmark-marker{transform:rotate(6deg) scale(1.06)}

/* Make the board read as a world slice, not a brown poster. */
.fullscreen-board-stage .tabletop-board{
  background:#15110d!important;
  box-shadow:inset 0 0 0 2px #a77c45,inset 0 0 90px rgba(0,0,0,.72), 4px 8px 0 rgba(0,0,0,.54)!important;
}
.board-grain{opacity:.36!important}
.camera-hud{backdrop-filter:blur(4px)}

/* Smaller screens still get the stronger world read */
@media(max-width:520px){
  .terrain-region-label{font-size:6px!important;padding:2px 5px}
  .terrain-prop{opacity:.72!important}
}


/* ============================================================
   BORDER RUN v3.5 — ROADSIDE FLAIR + TRUE 3D DICE
   ============================================================ */

/* Biome-specific highway materials. */
.road-biome-shoulder,.road-biome-segment,.road-biome-center{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.road-biome-shoulder{stroke-width:8.2;opacity:.96}
.road-biome-segment{stroke-width:5.3;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}
.road-biome-center{stroke-width:.85;stroke-dasharray:3 3;opacity:.86}
.road-biome-shoulder.biome-road-desert{stroke:#6e4f31}.road-biome-segment.biome-road-desert{stroke:#68625a}.road-biome-center.biome-road-desert{stroke:#edcf83}
.road-biome-shoulder.biome-road-mountain{stroke:#303831}.road-biome-segment.biome-road-mountain{stroke:#4b5350}.road-biome-center.biome-road-mountain{stroke:#f0dfae}
.road-biome-shoulder.biome-road-plains{stroke:#5b5637}.road-biome-segment.biome-road-plains{stroke:#65645b}.road-biome-center.biome-road-plains{stroke:#f0d777}
.road-biome-shoulder.biome-road-coast{stroke:#516b68}.road-biome-segment.biome-road-coast{stroke:#545d60}.road-biome-center.biome-road-coast{stroke:#f4df94}
.road-biome-shoulder.biome-road-river,.road-biome-shoulder.biome-road-lakes{stroke:#3d5c59}.road-biome-segment.biome-road-river,.road-biome-segment.biome-road-lakes{stroke:#515b5d}.road-biome-center.biome-road-river,.road-biome-center.biome-road-lakes{stroke:#efe4bd}
.road-biome-shoulder.biome-road-urban,.road-biome-shoulder.biome-road-borderlands{stroke:#39362f}.road-biome-segment.biome-road-urban,.road-biome-segment.biome-road-borderlands{stroke:#484944}.road-biome-center.biome-road-urban,.road-biome-center.biome-road-borderlands{stroke:#e9bd5f}

/* Coasts feel alive even while the board is waiting. */
.terrain-zone.biome-coast:before{animation:oceanShimmer 5.2s linear infinite,coastPulse 3.8s ease-in-out infinite alternate!important}
.terrain-zone.biome-coast .terrain-motion{animation:shoreFoam 4.1s ease-in-out infinite alternate}
@keyframes coastPulse{to{filter:brightness(1.12) saturate(1.08)}}
@keyframes shoreFoam{0%{transform:translateX(-6px);opacity:.35}100%{transform:translateX(13px);opacity:.74}}

/* More readable landmark miniatures on the traveling board. */
.map-node.landmark-node{overflow:visible!important}
.landmark-marker{width:42px!important;height:42px!important;right:-17px!important;top:-20px!important;border-width:2px!important;box-shadow:0 7px 16px rgba(0,0,0,.5),0 0 0 4px rgba(245,210,126,.08)!important}
.landmark-marker i{font-size:21px!important}.map-node.current .landmark-marker{animation:v34LandmarkGlow 1.25s ease-in-out infinite}
@keyframes v34LandmarkGlow{0%,100%{filter:brightness(1);transform:rotate(6deg) scale(1)}50%{filter:brightness(1.28);transform:rotate(4deg) scale(1.08)}}

/* Dramatic biome arrival wipes. */
.v34-action-splash.splash-arrival .splash-card{animation:v34ArrivalCard .72s cubic-bezier(.16,.86,.24,1) both}
.v34-action-splash.splash-arrival .splash-backdrop{animation:v34ArrivalBackdrop .8s ease both}
@keyframes v34ArrivalCard{0%{transform:translateY(46px) scale(.84);filter:blur(5px);opacity:0}58%{transform:translateY(-5px) scale(1.035);filter:none;opacity:1}100%{transform:none}}
@keyframes v34ArrivalBackdrop{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
.splash-arrival[data-visual="desert"] .splash-backdrop{background:radial-gradient(circle at 50% 56%,rgba(216,143,70,.44),rgba(51,31,19,.94) 68%)}
.splash-arrival[data-visual="mountain"] .splash-backdrop{background:linear-gradient(155deg,rgba(80,95,80,.86),rgba(24,28,24,.96)),linear-gradient(25deg,transparent 45%,rgba(194,205,181,.18) 46% 50%,transparent 51%)}
.splash-arrival[data-visual="plains"] .splash-backdrop{background:radial-gradient(ellipse at 50% 65%,rgba(171,155,74,.32),transparent 42%),linear-gradient(#27302a,#574c2b 72%,#1b1710)}
.splash-arrival[data-visual="coast"] .splash-backdrop{background:linear-gradient(90deg,#113f4c 0 38%,rgba(38,92,99,.92) 39% 54%,rgba(63,48,34,.96) 55%)}
.splash-arrival[data-visual="river"] .splash-backdrop,.splash-arrival[data-visual="lakes"] .splash-backdrop{background:radial-gradient(ellipse at 50% 60%,rgba(64,126,130,.30),transparent 42%),linear-gradient(#172728,#3e4935)}
.splash-arrival[data-visual="urban"] .splash-backdrop,.splash-arrival[data-visual="borderlands"] .splash-backdrop{background:radial-gradient(circle at 50% 50%,rgba(224,143,63,.16),transparent 42%),linear-gradient(#171816,#29241c)}

/* TRUE six-face 3D die cinematic. */
.board-dice-overlay{z-index:90!important;background:radial-gradient(circle at 50% 48%,rgba(223,173,68,.13),rgba(0,0,0,.06) 28%,rgba(0,0,0,.44) 68%,rgba(0,0,0,.60))!important;perspective:900px;overflow:hidden}
.board-dice-overlay.active{opacity:1!important}
.dice-flight{position:relative;width:110px;height:110px;display:grid;place-items:center;transform-style:preserve-3d;z-index:4}
.die-cube3d{--die-size:92px;--die-half:46px;--die-rx:1080deg;--die-ry:1080deg;--die-rz:1080deg;position:relative;width:var(--die-size);height:var(--die-size);transform-style:preserve-3d;transform:rotateX(18deg) rotateY(-22deg) rotateZ(4deg);will-change:transform}
.die-face{position:absolute;inset:0;border:3px solid #594526;border-radius:14px;background:linear-gradient(145deg,#f5e8be,#c9aa6f);box-shadow:inset -11px -12px 0 rgba(79,55,25,.15),inset 7px 7px 0 rgba(255,255,255,.24);backface-visibility:hidden;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:13px;gap:2px}
.die-face i{width:13px;height:13px;border-radius:50%;background:#29231a;box-shadow:inset 1px 2px 1px rgba(255,255,255,.10),0 1px 0 rgba(255,255,255,.12);place-self:center}
.die-face i.p1{grid-area:1/1}.die-face i.p3{grid-area:1/3}.die-face i.p4{grid-area:2/1}.die-face i.p5{grid-area:2/2}.die-face i.p6{grid-area:2/3}.die-face i.p7{grid-area:3/1}.die-face i.p9{grid-area:3/3}
.die-face-1{transform:translateZ(var(--die-half))}.die-face-6{transform:rotateY(180deg) translateZ(var(--die-half))}.die-face-3{transform:rotateY(90deg) translateZ(var(--die-half))}.die-face-4{transform:rotateY(-90deg) translateZ(var(--die-half))}.die-face-2{transform:rotateX(90deg) translateZ(var(--die-half))}.die-face-5{transform:rotateX(-90deg) translateZ(var(--die-half))}
.board-dice-overlay.rolling .dice-flight{animation:v34DiceArc 1.02s cubic-bezier(.18,.72,.22,1) both}
.board-dice-overlay.rolling .die-cube3d{animation:v34TrueDiceSpin 1.02s cubic-bezier(.13,.67,.18,1) both}
@keyframes v34DiceArc{0%{transform:translate3d(-120px,-205px,0) scale(.58)}24%{transform:translate3d(55px,-112px,30px) scale(.93)}52%{transform:translate3d(-32px,-48px,55px) scale(1.12)}72%{transform:translate3d(18px,8px,0) scale(1.02)}84%{transform:translate3d(-6px,-20px,0) scale(.98)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes v34TrueDiceSpin{0%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg)}22%{transform:rotateX(320deg) rotateY(470deg) rotateZ(170deg)}48%{transform:rotateX(690deg) rotateY(760deg) rotateZ(460deg)}72%{transform:rotateX(910deg) rotateY(960deg) rotateZ(780deg)}84%{transform:rotateX(calc(var(--die-rx) - 30deg)) rotateY(calc(var(--die-ry) + 24deg)) rotateZ(calc(var(--die-rz) - 12deg))}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
.dice-shadow{position:absolute!important;left:50%;top:78%;width:116px!important;height:26px!important;transform:translate(-50%,-50%)!important;background:rgba(0,0,0,.42)!important;filter:blur(9px)!important;border-radius:50%;z-index:-1!important}
.board-dice-overlay.rolling .dice-shadow{animation:v34DiceShadow 1.02s ease both}@keyframes v34DiceShadow{0%{transform:translate(-50%,-50%) scale(.25)!important;opacity:.08}55%{transform:translate(-50%,-50%) scale(.72)!important;opacity:.25}76%{transform:translate(-50%,-50%) scale(1.15)!important;opacity:.58}100%{transform:translate(-50%,-50%) scale(.9)!important;opacity:.44}}

/* Cosmetic dice skins are projected onto every physical face. */
.die-cube3d.skin-neon .die-face{background:linear-gradient(145deg,#67326d,#c85b31 58%,#e4b24a);border-color:#f0d074}.die-cube3d.skin-neon .die-face i{background:#fff4c8}
.die-cube3d.skin-sunset .die-face{background:linear-gradient(145deg,#e57432,#e7b84e);border-color:#71431e}.die-cube3d.skin-sunset .die-face i{background:#fff3d1}
.die-cube3d.skin-blacktop .die-face,.die-cube3d.skin-nightshift .die-face,.die-cube3d.skin-midnight .die-face{background:linear-gradient(145deg,#303630,#141815);border-color:#d9b45a}.die-cube3d.skin-blacktop .die-face i,.die-cube3d.skin-nightshift .die-face i,.die-cube3d.skin-midnight .die-face i{background:#e3bd59}
.die-cube3d.skin-route66 .die-face{background:linear-gradient(145deg,#376677,#862f2b);border-color:#f3e3af}.die-cube3d.skin-route66 .die-face i{background:#fff1c6}
.die-cube3d.skin-greenleaf .die-face{background:linear-gradient(145deg,#47784c,#1f472e);border-color:#d4b66c}.die-cube3d.skin-greenleaf .die-face i{background:#f0df9d}
.die-cube3d.skin-purplekush .die-face,.die-cube3d.skin-velvet .die-face{background:linear-gradient(145deg,#6e4777,#30253a);border-color:#d7b36b}.die-cube3d.skin-purplekush .die-face i,.die-cube3d.skin-velvet .die-face i{background:#f7e9bd}
.die-cube3d.skin-copper .die-face,.die-cube3d.skin-panamared .die-face{background:linear-gradient(145deg,#b46b3c,#713626);border-color:#edc27a}.die-cube3d.skin-copper .die-face i,.die-cube3d.skin-panamared .die-face i{background:#2f2118}
.die-cube3d.skin-diamond .die-face,.die-cube3d.skin-master72 .die-face{background:linear-gradient(145deg,#e7eef0,#8aa2a6 52%,#f4d88f);border-color:#eef9f7}.die-cube3d.skin-diamond .die-face i,.die-cube3d.skin-master72 .die-face i{background:#24343a}
.die-cube3d.skin-cbwave .die-face,.die-cube3d.skin-heatwave .die-face,.die-cube3d.skin-kingpin .die-face,.die-cube3d.skin-whitewall .die-face{background:linear-gradient(145deg,#e5c875,#9c6b30);border-color:#fff0b0}.die-cube3d.skin-cbwave .die-face i,.die-cube3d.skin-heatwave .die-face i,.die-cube3d.skin-kingpin .die-face i,.die-cube3d.skin-whitewall .die-face i{background:#29231a}

.dice-flair{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2}.flare-ring{width:88px;height:88px;border:3px solid rgba(240,190,70,.0);border-radius:50%;opacity:0}.flare-burst{width:10px;height:10px;border-radius:50%;background:#f2bf51;box-shadow:0 0 25px #ffbd44;opacity:0}.dice-sparks{position:absolute;width:1px;height:1px;display:block}.dice-sparks i{position:absolute;left:0;top:0;width:4px;height:44px;border-radius:4px;background:linear-gradient(#ffd878,transparent);transform-origin:50% 100%;opacity:0}.dice-sparks i:nth-child(1){transform:rotate(0deg) translateY(-42px)}.dice-sparks i:nth-child(2){transform:rotate(45deg) translateY(-42px)}.dice-sparks i:nth-child(3){transform:rotate(90deg) translateY(-42px)}.dice-sparks i:nth-child(4){transform:rotate(135deg) translateY(-42px)}.dice-sparks i:nth-child(5){transform:rotate(180deg) translateY(-42px)}.dice-sparks i:nth-child(6){transform:rotate(225deg) translateY(-42px)}.dice-sparks i:nth-child(7){transform:rotate(270deg) translateY(-42px)}.dice-sparks i:nth-child(8){transform:rotate(315deg) translateY(-42px)}
.board-dice-overlay.impact .flare-ring{animation:v34ImpactRing .54s ease-out both}.board-dice-overlay.impact .flare-burst{animation:v34ImpactFlash .34s ease-out both}.board-dice-overlay.impact .dice-sparks i{animation:v34Spark .48s ease-out both}@keyframes v34ImpactRing{0%{opacity:.9;transform:scale(.3);border-color:#ffd267}100%{opacity:0;transform:scale(3.2);border-color:rgba(255,210,103,0)}}@keyframes v34ImpactFlash{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(12)}}@keyframes v34Spark{0%{opacity:1;filter:brightness(1.8)}100%{opacity:0;transform:var(--spark-transform) scaleY(.2)}}
.dice-result-lock{position:absolute;z-index:6;left:50%;top:66%;transform:translate(-50%,18px) scale(.88);min-width:116px;padding:7px 12px;border:1px solid #cf9f44;border-radius:8px;background:linear-gradient(145deg,rgba(28,27,22,.97),rgba(14,14,12,.98));box-shadow:0 8px 25px rgba(0,0,0,.52);text-align:center;opacity:0}.dice-result-lock span{display:block;color:#5bb7ab;font:900 6px/1 Arial;letter-spacing:.18em}.dice-result-lock strong{display:block;margin-top:2px;color:#f2d584;font:900 31px/1 Georgia,serif}.dice-result-lock small{display:block;margin-top:3px;color:#d7c69a;font:800 6px/1 Arial;letter-spacing:.08em}.board-dice-overlay.landed .dice-result-lock{animation:v34ResultLock .38s cubic-bezier(.18,.8,.2,1) both}@keyframes v34ResultLock{to{opacity:1;transform:translate(-50%,0) scale(1)}}
.tabletop-board.dice-cinematic{overflow:hidden!important}.tabletop-board.dice-impact{animation:v34BoardImpact .28s ease}@keyframes v34BoardImpact{0%,100%{transform:none}25%{transform:translate(2px,1px)}50%{transform:translate(-3px,-1px)}75%{transform:translate(1px,2px)}}

@media(max-width:520px){.die-cube3d{--die-size:82px;--die-half:41px}.die-face{padding:11px}.die-face i{width:11px;height:11px}.dice-result-lock{top:64%}}

/* v3.5 spark trajectory correction */
.dice-sparks i:nth-child(1){--spark-a:0deg}.dice-sparks i:nth-child(2){--spark-a:45deg}.dice-sparks i:nth-child(3){--spark-a:90deg}.dice-sparks i:nth-child(4){--spark-a:135deg}.dice-sparks i:nth-child(5){--spark-a:180deg}.dice-sparks i:nth-child(6){--spark-a:225deg}.dice-sparks i:nth-child(7){--spark-a:270deg}.dice-sparks i:nth-child(8){--spark-a:315deg}
.dice-sparks i{transform:rotate(var(--spark-a)) translateY(-38px)}
@keyframes v34Spark{0%{opacity:1;filter:brightness(1.8);transform:rotate(var(--spark-a)) translateY(-38px) scaleY(1)}100%{opacity:0;filter:brightness(1);transform:rotate(var(--spark-a)) translateY(-100px) scaleY(.18)}}


/* ============================================================
   BORDER RUN v3.5 — TWO-DICE ROAD TRIP + VIDEO GAME JOURNEY
   ============================================================ */

/* Two physical dice share the cinematic stage. */
.dice-pair-flight{position:relative;width:250px;height:150px;display:flex;align-items:center;justify-content:center;gap:24px;transform-style:preserve-3d;z-index:5}
.dice-pair-flight .dice-flight{position:relative;width:108px;height:118px;display:grid;place-items:center;transform-style:preserve-3d}
.dice-pair-shadow{position:absolute;left:50%;top:79%;width:220px;height:34px;border-radius:50%;background:rgba(0,0,0,.46);filter:blur(11px);transform:translate(-50%,-50%);z-index:-1}
.board-dice-overlay.rolling .dice-flight-a{animation:v35DieAFlight 1.03s cubic-bezier(.18,.72,.22,1) both}
.board-dice-overlay.rolling .dice-flight-b{animation:v35DieBFlight 1.03s cubic-bezier(.18,.72,.22,1) both}
.board-dice-overlay.rolling .dice-flight-a .die-cube3d{animation:v35DieASpin 1.03s cubic-bezier(.13,.67,.18,1) both}
.board-dice-overlay.rolling .dice-flight-b .die-cube3d{animation:v35DieBSpin 1.03s cubic-bezier(.13,.67,.18,1) both}
.board-dice-overlay.rolling .dice-pair-shadow{animation:v35PairShadow 1.03s ease both}
@keyframes v35DieAFlight{0%{transform:translate3d(-145px,-205px,0) rotate(-18deg) scale(.52)}30%{transform:translate3d(15px,-96px,55px) rotate(8deg) scale(.92)}65%{transform:translate3d(-12px,-20px,18px) rotate(-3deg) scale(1.06)}82%{transform:translate3d(-3px,7px,0) scale(.98)}100%{transform:none}}
@keyframes v35DieBFlight{0%{transform:translate3d(150px,-185px,0) rotate(22deg) scale(.54)}28%{transform:translate3d(-20px,-82px,50px) rotate(-9deg) scale(.95)}64%{transform:translate3d(14px,-14px,20px) rotate(5deg) scale(1.08)}84%{transform:translate3d(4px,9px,0) scale(.97)}100%{transform:none}}
@keyframes v35DieASpin{0%{transform:rotateX(0) rotateY(0) rotateZ(0)}35%{transform:rotateX(470deg) rotateY(620deg) rotateZ(210deg)}72%{transform:rotateX(860deg) rotateY(900deg) rotateZ(650deg)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
@keyframes v35DieBSpin{0%{transform:rotateX(0) rotateY(0) rotateZ(0)}30%{transform:rotateX(-410deg) rotateY(540deg) rotateZ(-250deg)}70%{transform:rotateX(-790deg) rotateY(980deg) rotateZ(-590deg)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
@keyframes v35PairShadow{0%{opacity:.08;transform:translate(-50%,-50%) scale(.28)}70%{opacity:.55;transform:translate(-50%,-50%) scale(1.05)}100%{opacity:.44;transform:translate(-50%,-50%) scale(.92)}}
.board-dice-overlay.doubles .flare-ring{border-color:#71ede1!important;box-shadow:0 0 30px rgba(81,232,218,.55)}
.board-dice-overlay.doubles .dice-result-lock{border-color:#4de4d6;box-shadow:0 8px 30px rgba(0,0,0,.55),0 0 24px rgba(70,226,210,.28)}
.dice-result-lock em{display:block;margin-top:3px;color:#eee0ae;font:900 9px/1 Arial;letter-spacing:.12em;font-style:normal}.dice-result-lock strong{font-size:36px!important}

/* Full-screen journey vignette after every roll. */
.journey-splash{position:fixed;inset:0;z-index:135;overflow:hidden;background:#0b0d0d;color:#f3e0a8;opacity:0;pointer-events:none;transition:opacity .22s ease;isolation:isolate}
.journey-splash.active{opacity:1}.journey-splash.leaving{opacity:0}.journey-splash.hidden{display:none}
.journey-sky,.journey-terrain,.journey-horizon,.journey-speedlines,.journey-particles{position:absolute;inset:0;pointer-events:none}
.journey-sky{z-index:0;background:linear-gradient(#171c27 0%,#333b44 34%,#d17d48 62%,#442d26 100%)}
.journey-horizon{z-index:1;top:20%;height:42%;clip-path:polygon(0 58%,9% 44%,16% 50%,25% 25%,33% 48%,42% 30%,51% 50%,61% 22%,71% 45%,80% 30%,90% 48%,100% 36%,100% 100%,0 100%);background:linear-gradient(180deg,#43362e,#2b241f);filter:drop-shadow(0 8px 12px rgba(0,0,0,.5));transform:scale(1.04)}
.journey-terrain{z-index:2;top:49%;background:linear-gradient(180deg,#704b2e,#3b2a20 42%,#1c1815 100%)}
.journey-road{position:absolute;z-index:4;left:50%;bottom:-8%;width:45%;height:75%;transform:translateX(-50%);clip-path:polygon(40% 0,60% 0,94% 100%,6% 100%);background:linear-gradient(90deg,#2b2c2b 0 8%,#555958 9% 11%,#303231 12% 88%,#555958 89% 91%,#252625 92%);box-shadow:0 0 32px rgba(0,0,0,.6)}
.journey-road:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 44px,rgba(93,235,225,.0) 45px 55px,rgba(79,235,222,.78) 56px 69px,transparent 70px 108px);clip-path:polygon(48% 0,52% 0,57% 100%,43% 100%);animation:v35RoadFlow .55s linear infinite}
.journey-road i{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(transparent,rgba(255,214,105,.3),transparent);transform:translateX(-50%)}
@keyframes v35RoadFlow{to{background-position:0 108px}}
.journey-speedlines{z-index:5;background:repeating-linear-gradient(105deg,transparent 0 62px,rgba(255,196,80,.06) 63px 66px,transparent 67px 120px);transform:translateX(-18%);animation:v35SpeedLines .5s linear infinite}@keyframes v35SpeedLines{to{transform:translateX(18%)}}
.journey-particles{z-index:5;background:radial-gradient(circle at 12% 70%,rgba(255,192,90,.9) 0 2px,transparent 3px),radial-gradient(circle at 82% 58%,rgba(255,192,90,.7) 0 1px,transparent 2px),radial-gradient(circle at 70% 83%,rgba(78,225,215,.7) 0 2px,transparent 3px);animation:v35Particles 1.1s linear infinite}@keyframes v35Particles{to{transform:translateY(-24px);opacity:.45}}
.journey-vehicle{position:absolute;z-index:7;left:50%;bottom:19%;width:148px;height:88px;transform:translateX(-50%) perspective(320px) rotateX(11deg);filter:drop-shadow(0 16px 8px rgba(0,0,0,.7));animation:v35CarCruise .72s ease-in-out infinite alternate}
.journey-vehicle .vehicle-art{width:100%;height:100%}@keyframes v35CarCruise{to{transform:translateX(-50%) perspective(320px) rotateX(11deg) translateY(-5px) rotateZ(.8deg)}}
.journey-top-card{position:absolute;z-index:10;left:6%;top:max(7%,calc(env(safe-area-inset-top) + 26px));width:min(63%,440px);padding:15px 17px;border-left:3px solid #36d5c7;background:linear-gradient(110deg,rgba(12,24,25,.94),rgba(15,17,17,.76));box-shadow:0 12px 34px rgba(0,0,0,.45);clip-path:polygon(0 0,96% 0,100% 18%,100% 100%,4% 100%,0 82%)}
.journey-top-card span{display:block;color:#4de1d4;font:900 11px/1 Arial;letter-spacing:.16em}.journey-top-card strong{display:block;margin-top:8px;font:900 23px/1 Georgia,serif;color:#f2dfaa}.journey-top-card em{display:block;margin-top:7px;color:#eab757;font:900 11px/1 Arial;letter-spacing:.08em;font-style:normal}
.journey-roll-card{position:absolute;z-index:10;right:6%;top:20%;width:112px;padding:11px;border:1px solid #d1a248;border-radius:12px;background:rgba(18,17,14,.88);box-shadow:0 10px 26px rgba(0,0,0,.45),0 0 20px rgba(221,167,63,.13);text-align:center}.journey-roll-card small{display:block;color:#51ded0;font:900 8px/1 Arial}.journey-roll-card strong{display:block;margin-top:5px;font:900 19px/1 Georgia,serif;color:#f1d688}
.journey-progress{position:absolute;z-index:11;left:9%;right:9%;bottom:22%;display:flex;align-items:center;gap:4px}.journey-progress:before{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,#40dfd1 0 58%,rgba(220,210,171,.24) 59%);box-shadow:0 0 10px rgba(63,227,212,.3)}.journey-progress i{position:relative;z-index:2;flex:1;max-width:19px;aspect-ratio:1;border-radius:50%;background:#18201e;border:2px solid #a3956c;box-shadow:0 2px 4px #000;animation:v35DotPulse 1.05s ease both;animation-delay:calc(var(--i)*.08s)}.journey-progress i:nth-child(-n+5){background:#35cfbf;border-color:#b7fff7;box-shadow:0 0 12px rgba(55,224,209,.6)}@keyframes v35DotPulse{0%{transform:scale(.3);opacity:.1}70%{transform:scale(1.25)}100%{transform:scale(1);opacity:1}}
.journey-bottom-hud{position:absolute;z-index:10;left:5%;right:5%;bottom:max(5%,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;background:rgba(12,15,14,.90);border:1px solid rgba(205,170,92,.42);box-shadow:0 12px 35px rgba(0,0,0,.5)}.journey-bottom-hud>div{padding:12px 14px}.journey-bottom-hud>div+div{border-left:1px solid rgba(205,170,92,.24)}.journey-bottom-hud span{display:block;color:#9f9476;font:900 7px/1 Arial;letter-spacing:.14em}.journey-bottom-hud strong{display:block;margin-top:6px;color:#4ee2d5;font:900 17px/1 Georgia,serif}.journey-bottom-hud small{display:block;margin-top:5px;color:#e0c98f;font:800 8px/1.25 Arial}

/* Biome-specific cinematic worlds */
.journey-splash.biome-coast .journey-sky{background:linear-gradient(#121b2b,#414c5d 38%,#d67e4d 68%,#2f2925)}
.journey-splash.biome-coast .journey-terrain{background:linear-gradient(90deg,#0f5060 0 31%,#168099 32% 38%,#b79462 39% 45%,#6b4930 46% 100%)}
.journey-splash.biome-coast .journey-terrain:before{content:"";position:absolute;left:0;top:0;bottom:0;width:39%;background:repeating-radial-gradient(ellipse at 0 50%,transparent 0 20px,rgba(215,246,237,.22) 21px 25px,transparent 26px 46px);animation:oceanShimmer 4s linear infinite}
.journey-splash.biome-desert .journey-sky,.journey-splash.biome-borderlands .journey-sky{background:linear-gradient(#352237,#9a4c35 45%,#eea052 72%,#5e3526)}
.journey-splash.biome-desert .journey-terrain,.journey-splash.biome-borderlands .journey-terrain{background:radial-gradient(ellipse at 20% 25%,#a96232 0 8%,transparent 9%),radial-gradient(ellipse at 80% 34%,#8f4d2b 0 10%,transparent 11%),linear-gradient(#a66c39,#704327 55%,#3b271d)}
.journey-splash.biome-mountain .journey-sky{background:linear-gradient(#16232c,#53656b 48%,#ba8e65 72%,#534438)}.journey-splash.biome-mountain .journey-horizon{top:9%;height:60%;background:linear-gradient(#7a857a,#485044 55%,#2d302b);clip-path:polygon(0 70%,10% 48%,18% 62%,28% 26%,36% 52%,47% 14%,58% 56%,69% 22%,79% 51%,91% 31%,100% 57%,100% 100%,0 100%)}.journey-splash.biome-mountain .journey-terrain{background:linear-gradient(#44523b,#283429 48%,#1b201c)}
.journey-splash.biome-plains .journey-sky{background:linear-gradient(#233745,#71909c 44%,#e4b26a 70%,#846237)}.journey-splash.biome-plains .journey-horizon{clip-path:polygon(0 72%,14% 68%,28% 73%,40% 63%,52% 72%,65% 66%,80% 73%,100% 64%,100% 100%,0 100%);background:#555b35}.journey-splash.biome-plains .journey-terrain{background:repeating-linear-gradient(90deg,#7b7740 0 64px,#6a6235 65px 128px)}
.journey-splash.biome-river .journey-terrain,.journey-splash.biome-lakes .journey-terrain{background:linear-gradient(90deg,#50593c 0 30%,#245c66 31% 58%,#4c563c 59%)}
.journey-splash.biome-urban .journey-horizon{top:26%;height:38%;clip-path:none;background:repeating-linear-gradient(90deg,#222728 0 28px,#363c3c 29px 49px,#171c1d 50px 74px);box-shadow:inset 0 25px rgba(0,0,0,.18)}.journey-splash.biome-urban .journey-terrain{background:#252420}

/* Graphical board treatment continues behind the travel sequence. */
.board.living-map{filter:saturate(1.14) contrast(1.05)}
.map-node{backdrop-filter:blur(2px);border-width:2px!important}.map-node.current{filter:drop-shadow(0 0 14px rgba(63,224,210,.6))}
.living-roads .road-line{filter:drop-shadow(0 0 2px rgba(0,0,0,.35))}

@media(max-width:520px){
  .dice-pair-flight{width:205px;gap:15px}.dice-pair-flight .die-cube3d{--die-size:70px;--die-half:35px}.dice-pair-flight .die-face{padding:9px}.dice-pair-flight .die-face i{width:10px;height:10px}
  .journey-top-card{top:max(8%,calc(env(safe-area-inset-top) + 18px));width:68%;padding:12px}.journey-top-card strong{font-size:18px}.journey-roll-card{right:4%;top:23%;width:88px}.journey-roll-card strong{font-size:15px}.journey-vehicle{width:122px;height:72px;bottom:22%}.journey-bottom-hud{left:3%;right:3%;bottom:max(3%,env(safe-area-inset-bottom))}.journey-bottom-hud>div{padding:10px}.journey-bottom-hud strong{font-size:13px}.journey-progress{bottom:25%}
}
.journey-vehicle .ride-art{width:72px;height:34px;transform:scale(2.05);transform-origin:center;position:absolute;left:50%;top:50%;margin-left:-36px;margin-top:-17px}.journey-vehicle .ride-wheel{animation:v35WheelSpin .28s linear infinite}@keyframes v35WheelSpin{to{transform:rotate(360deg)}}


/* v3.6.0 PURCHASE HOTFIX — product cards are direct tap targets */
.market-tap-note{margin:8px 0 5px!important;color:#7c6440!important;font-weight:900!important;letter-spacing:.08em!important}
.cargo-buy-card{width:100%;font:inherit;text-align:left;cursor:pointer;position:relative;padding-right:96px!important;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease!important}
.cargo-buy-card:not(:disabled):active{transform:scale(.985)}
.cargo-buy-card:not(:disabled){border-color:#81704e!important;box-shadow:0 3px 0 rgba(33,24,15,.28)!important}
.cargo-buy-card:not(:disabled):after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-50%);font:900 28px/1 Georgia,serif;color:#d1ad5c}
.cargo-tap-cta{position:absolute;right:34px;bottom:9px;font:900 7px/1 Arial,sans-serif;letter-spacing:.08em;color:#5cc3b6}
.cargo-buy-card.unavailable{opacity:.46;cursor:not-allowed}
.cargo-buy-card.unavailable .cargo-tap-cta{color:#a86455}
@media(max-width:430px){.cargo-buy-card{padding-right:70px!important}.cargo-tap-cta{right:28px;bottom:8px;font-size:6px}}


/* ============================================================
   BORDER RUN v3.6.0 — CINEMATIC ROLL HOTFIX
   Fixed viewport overlays: 2d6 -> result -> biome journey -> move.
   ============================================================ */
body.cinematic-lock{overflow:hidden!important;touch-action:none!important}
#boardDiceOverlay.board-dice-overlay{
  position:fixed!important;inset:0!important;z-index:2200!important;
  width:100vw!important;height:100dvh!important;min-height:100vh!important;
  display:none;place-items:center!important;overflow:hidden!important;
  background:radial-gradient(circle at 50% 46%,rgba(84,60,30,.22),rgba(4,5,4,.91) 64%,rgba(0,0,0,.97) 100%)!important;
  backdrop-filter:blur(7px);opacity:0;visibility:hidden;pointer-events:none!important;
}
#boardDiceOverlay.active{display:grid!important;opacity:1!important;visibility:visible!important}
#boardDiceOverlay.cinematic-out{opacity:0!important;transition:opacity .2s ease!important}
#boardDiceOverlay .dice-pair-flight{position:absolute!important;left:50%!important;top:43%!important;transform:translate(-50%,-50%)!important;width:min(76vw,420px)!important;height:240px!important;gap:38px!important}
#boardDiceOverlay .dice-flight{width:150px!important;height:170px!important}
#boardDiceOverlay .die-cube3d{--die-size:104px!important;--die-half:52px!important}
#boardDiceOverlay .die-face{padding:14px!important}.board-dice-overlay .die-face i{width:14px!important;height:14px!important}
#boardDiceOverlay .dice-result-lock{position:absolute!important;left:50%!important;top:67%!important;transform:translateX(-50%)!important;min-width:220px!important;z-index:20!important;padding:13px 18px!important;background:rgba(12,13,11,.90)!important;border:1px solid #d9a943!important;border-radius:12px!important;box-shadow:0 8px 28px rgba(0,0,0,.6),0 0 30px rgba(229,175,64,.16)!important;text-align:center!important}
#boardDiceOverlay .dice-result-lock span{display:block!important;color:#52d7ca!important;font:900 8px/1 Arial!important;letter-spacing:.18em!important}
#boardDiceOverlay .dice-result-lock em{display:block!important;margin-top:5px!important;color:#e9d9aa!important;font:900 12px/1 Arial!important;font-style:normal!important}
#boardDiceOverlay .dice-result-lock strong{display:block!important;margin-top:4px!important;color:#ffd36b!important;font:900 48px/1 Georgia,serif!important;text-shadow:0 0 18px rgba(255,190,52,.35)!important}
#boardDiceOverlay .dice-result-lock small{display:block!important;margin-top:5px!important;color:#eee1b6!important;font:800 8px/1.2 Arial!important;letter-spacing:.08em!important}
#boardDiceOverlay.landed .dice-result-lock{animation:v352ResultPop .35s cubic-bezier(.15,.88,.26,1) both}@keyframes v352ResultPop{from{transform:translateX(-50%) scale(.78);opacity:.2}to{transform:translateX(-50%) scale(1);opacity:1}}
#journeySplash.journey-splash{
  position:fixed!important;inset:0!important;z-index:2100!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;
  display:none;opacity:0;visibility:hidden;pointer-events:none!important;
}
#journeySplash.active{display:block!important;opacity:1!important;visibility:visible!important}
#journeySplash.hidden{display:none!important}
#journeySplash .journey-top-card{top:max(8%,calc(env(safe-area-inset-top) + 24px))!important}
#journeySplash .journey-roll-card{top:22%!important}
#journeySplash .journey-vehicle{bottom:20%!important}
@media(max-width:520px){
  #boardDiceOverlay .dice-pair-flight{width:92vw!important;gap:20px!important;top:42%!important}
  #boardDiceOverlay .dice-flight{width:120px!important;height:145px!important}
  #boardDiceOverlay .die-cube3d{--die-size:86px!important;--die-half:43px!important}
  #boardDiceOverlay .die-face{padding:11px!important}#boardDiceOverlay .die-face i{width:11px!important;height:11px!important}
  #boardDiceOverlay .dice-result-lock{top:64%!important;min-width:190px!important}#boardDiceOverlay .dice-result-lock strong{font-size:42px!important}
}


/* ============================================================
   BORDER RUN v3.6 — FUNCTIONAL GRAPHICAL WORLD
   Approved mockup style applied to the live board and roll chain.
   ============================================================ */
.graphical-world-board{background:#15120f!important}
.graphical-world-layer{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(9,10,9,.12),rgba(9,8,7,.28)),var(--route-world-bg);background-size:cover;background-position:center;filter:saturate(1.14) contrast(1.06);transform:scale(1.015)}
.graphical-world-layer:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 34%,rgba(0,0,0,.36) 100%),linear-gradient(180deg,rgba(5,7,7,.10),rgba(10,8,6,.16));pointer-events:none}
.graphical-world-board .terrain-world{opacity:.22!important;mix-blend-mode:soft-light}
.graphical-world-board .board-grain{opacity:.18!important}
.graphical-world-board .living-roads{z-index:3!important;filter:drop-shadow(0 0 5px rgba(49,223,213,.16))}
.graphical-world-board .road-biome-segment{stroke-width:5.6!important;filter:drop-shadow(0 0 4px rgba(68,222,215,.44))}
.graphical-world-board .map-node{z-index:8!important;background:linear-gradient(160deg,rgba(18,28,26,.96),rgba(12,15,14,.96))!important;border-color:#756340!important;color:#ecd9a8!important;box-shadow:0 0 0 1px rgba(235,199,113,.14),0 7px 18px rgba(0,0,0,.62)!important;backdrop-filter:blur(4px)}
.graphical-world-board .map-node b{color:#efe1b9!important;text-shadow:0 1px 2px #000}
.graphical-world-board .map-node small{color:#b8a779!important}
.graphical-world-board .map-node.node-sell{border-color:#3bc9ba!important;box-shadow:0 0 0 1px rgba(54,213,200,.35),0 0 18px rgba(37,177,166,.20),0 7px 18px rgba(0,0,0,.62)!important}.graphical-world-board .map-node.node-sell .node-value{color:#45eadb!important}
.graphical-world-board .map-node.node-checkpoint{border-color:#d15d44!important}.graphical-world-board .map-node.node-event{border-color:#bb69d1!important}.graphical-world-board .map-node.node-garage{border-color:#d0a048!important}.graphical-world-board .map-node.node-junction{border-color:#55b8d7!important}
.graphical-world-board .map-node.buy-node{background:linear-gradient(160deg,rgba(69,32,22,.96),rgba(25,18,15,.97))!important;border-color:#d88643!important}
.graphical-world-board .map-node.current{box-shadow:0 0 0 3px #55e6d7,0 0 28px rgba(61,229,214,.42),0 10px 24px rgba(0,0,0,.66)!important}

/* Graphical market + manifest */
.modal-card.market-graphic,.modal-card.manifest-graphic{background:linear-gradient(180deg,#ead9a7,#d7c184)!important;border:4px solid #5c452b!important;box-shadow:0 0 0 3px #d1a84f,0 28px 70px rgba(0,0,0,.72)!important;color:#2c332d!important}
.modal-card.market-graphic:before,.modal-card.manifest-graphic:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#23b9af,#d4aa3f,#e46a43)}
.modal-card.market-graphic #modalKicker,.modal-card.manifest-graphic #modalKicker{color:#ad4c34!important}.modal-card.market-graphic #modalTitle,.modal-card.manifest-graphic #modalTitle{color:#30443e!important;text-shadow:none!important}.modal-card.market-graphic #modalBody,.modal-card.manifest-graphic #modalBody{color:#655f4d!important}
.market-graphic .market-pulse{background:linear-gradient(145deg,#0e4d47,#142521)!important;border-color:#3c998d!important;color:#efe4bb!important}
.market-graphic .market-tap-note{display:none!important}
.market-graphic .cargo-catalog{display:grid;gap:9px!important}
.market-graphic .cargo-item{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;grid-template-areas:"art copy" "art cta"!important;min-height:122px!important;padding:8px!important;border:1px solid #4f513f!important;border-radius:10px!important;background:linear-gradient(145deg,#242720,#111512)!important;color:#f0dfaf!important;text-align:left!important;overflow:hidden;box-shadow:0 5px 12px rgba(0,0,0,.32)!important}
.market-graphic .cargo-art{grid-area:art;width:82px;height:104px;border-radius:8px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(240,211,139,.26),0 3px 10px rgba(0,0,0,.45)}
.market-graphic .cargo-copy{grid-area:copy;padding:4px 5px 0}.market-graphic .cargo-copy>strong{font-size:16px!important;color:#f0dba5!important}.market-graphic .cargo-copy>small{font-size:10px!important;color:#bdb498!important;line-height:1.25!important}
.market-graphic .cargo-econ{margin-top:8px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}.market-graphic .cargo-econ span{color:#50d9cd!important;font-size:12px!important}.market-graphic .cargo-econ b{color:#e77d4d!important}.market-graphic .cargo-econ em{color:#8e927f!important}
.market-graphic .cargo-tap-cta{grid-area:cta;justify-self:start;margin:3px 0 0 5px;padding:4px 8px;border:1px solid #417a72;border-radius:5px;background:#17342f;color:#72d4c8!important;font-size:7px!important;letter-spacing:.12em!important}
.manifest-visual{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;margin:8px 0 10px;padding:10px;border-radius:10px;background:linear-gradient(145deg,#252820,#151714);color:#f2dfaa;box-shadow:inset 0 0 0 1px #5e5b46}.manifest-art{display:block;width:110px;height:92px;border-radius:7px;background-size:cover;background-position:center;box-shadow:0 4px 12px rgba(0,0,0,.45)}.manifest-visual small{display:block;color:#56bdb2;font:900 7px/1 Arial;letter-spacing:.13em}.manifest-visual strong{display:block;margin-top:5px;font:900 18px/1 Georgia,serif}.manifest-visual em{display:block;margin-top:6px;color:#d09c4b;font:900 8px/1 Arial;font-style:normal}
.manifest-graphic .choice-note{background:rgba(242,226,180,.50)!important;color:#5a5748!important;border-color:#b49d66!important}.manifest-graphic .price-row{background:rgba(248,236,199,.58)!important;color:#564d3a!important;border-color:rgba(126,105,66,.18)!important}.manifest-graphic .price-row strong{color:#174f49!important}

/* Fixed graphical two-dice cinematic. */
#boardDiceOverlay.board-dice-overlay{background:rgba(5,6,6,.86)!important}
.dice-world-backdrop{position:absolute;inset:0;background-image:linear-gradient(rgba(4,6,6,.52),rgba(4,5,5,.70)),url('./assets/dice-backdrop.jpg');background-size:cover;background-position:center;filter:blur(1px) saturate(.9);transform:scale(1.03);z-index:0}
.dice-cinematic-title{position:absolute;top:max(10vh,70px);left:50%;transform:translateX(-50%);z-index:8;width:min(86vw,520px);text-align:center;text-shadow:0 5px 20px #000}.dice-cinematic-title span{display:inline-block;padding:6px 15px;border:1px solid #b88c40;background:rgba(21,20,17,.86);color:#e5c978;font:900 8px/1 Arial;letter-spacing:.18em}.dice-cinematic-title strong{display:block;margin-top:8px;color:#f1dfae;font:900 clamp(28px,7vw,52px)/.9 Georgia,serif;letter-spacing:.02em}.dice-cinematic-title small{display:block;margin-top:9px;color:#cba75f;font:900 9px/1 Arial;letter-spacing:.20em}
#boardDiceOverlay .dice-pair-flight,#boardDiceOverlay .dice-flair,#boardDiceOverlay .dice-result-lock{z-index:7}
#boardDiceOverlay .dice-result-lock{top:72%!important;min-width:190px!important;padding:11px 18px!important}.dice-result-lock em{display:block;color:#e6ca84;font:900 14px/1 Georgia,serif;font-style:normal;margin-top:5px}.dice-result-lock strong{font-size:38px!important}

/* Functional graphical journey scene: photo/game-art under live route + roll + pawn HUD. */
.journey-photo{position:absolute;inset:0;z-index:-4;background-image:linear-gradient(180deg,rgba(4,6,7,.18),rgba(4,5,5,.18) 58%,rgba(5,6,6,.48)),var(--journey-photo);background-size:cover;background-position:center;filter:saturate(1.08) contrast(1.06);transform:scale(1.025);animation:journeyPhotoPush 2.4s linear both}@keyframes journeyPhotoPush{from{transform:scale(1.025) translateY(0)}to{transform:scale(1.07) translateY(-1.5%)}}
.journey-splash .journey-sky,.journey-splash .journey-terrain,.journey-splash .journey-horizon{opacity:.12!important;mix-blend-mode:soft-light}.journey-splash .journey-road{opacity:.32!important}.journey-splash .journey-speedlines{opacity:.34!important}.journey-splash .journey-particles{opacity:.55!important}
.journey-top-card,.journey-roll-card,.journey-bottom-hud{backdrop-filter:blur(8px);background:linear-gradient(145deg,rgba(10,15,15,.88),rgba(10,10,9,.82))!important;box-shadow:0 8px 30px rgba(0,0,0,.38)}
.journey-vehicle{filter:drop-shadow(0 10px 9px rgba(0,0,0,.60)) drop-shadow(0 0 9px rgba(61,225,214,.28))}

@media(max-width:520px){
 .market-graphic .cargo-item{grid-template-columns:74px minmax(0,1fr)!important;min-height:105px!important}.market-graphic .cargo-art{width:66px;height:88px}.market-graphic .cargo-copy>strong{font-size:14px!important}.market-graphic .cargo-copy>small{font-size:9px!important}
 .manifest-visual{grid-template-columns:86px 1fr}.manifest-art{width:86px;height:76px}
 .dice-cinematic-title{top:9vh}.dice-cinematic-title strong{font-size:31px}
}


/* ============================================================
   BORDER RUN v3.6.2 — WORLD / HUD READABILITY POLISH
   Integrates the new environmental art more cleanly behind
   board nodes, route HUD, tray controls, and travel cinematics.
   ============================================================ */
.graphical-world-board .graphical-world-layer{
  background-image:
    linear-gradient(180deg,rgba(6,10,10,.36) 0%,rgba(7,8,8,.16) 24%,rgba(7,7,6,.28) 60%,rgba(4,4,4,.62) 100%),
    radial-gradient(circle at 50% 48%,rgba(78,214,201,.08),transparent 24%),
    var(--route-world-bg)!important;
  background-size:cover!important;
  filter:saturate(.92) contrast(1.05) brightness(.84)!important;
  transform:scale(1.035)!important;
}
.graphical-world-board .graphical-world-layer:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 18%,transparent 82%,rgba(0,0,0,.18)),
    repeating-linear-gradient(24deg,rgba(255,255,255,.018) 0 1px,transparent 1px 15px);
  pointer-events:none;
}
.graphical-world-board .graphical-world-layer:after{
  background:
    linear-gradient(180deg,rgba(4,5,5,.54) 0%,transparent 17%,transparent 75%,rgba(3,4,4,.58) 100%),
    radial-gradient(ellipse at 50% 58%,transparent 32%,rgba(0,0,0,.44) 100%)!important;
}
.graphical-world-board.living-map-west .graphical-world-layer{background-position:24% 50%!important}
.graphical-world-board.living-map-central .graphical-world-layer{background-position:50% 48%!important}
.graphical-world-board.living-map-east .graphical-world-layer{background-position:72% 50%!important}
.graphical-world-board .terrain-world{opacity:.14!important;mix-blend-mode:screen!important;filter:saturate(.9) brightness(.88)!important}
.graphical-world-board .board-grain{opacity:.1!important}
.graphical-world-board .living-roads{filter:drop-shadow(0 0 6px rgba(67,219,208,.14)) drop-shadow(0 2px 2px rgba(0,0,0,.58))!important}
.graphical-world-board .road-biome-segment{stroke-width:5.2!important;filter:drop-shadow(0 0 4px rgba(63,213,205,.18)) drop-shadow(0 1px 2px rgba(0,0,0,.48))!important}
.graphical-world-board .road-biome-center{opacity:.98!important}
.graphical-world-board .road-biome-shoulder{opacity:.92!important}

.graphical-world-board .map-node{
  z-index:8!important;
  background:linear-gradient(180deg,rgba(15,20,19,.95),rgba(9,11,11,.98))!important;
  border:1px solid #8a7346!important;
  box-shadow:0 0 0 1px rgba(234,198,110,.12),0 8px 22px rgba(0,0,0,.62)!important;
  backdrop-filter:blur(8px) saturate(1.02)!important;
}
.graphical-world-board .map-node:before{
  content:"";position:absolute;inset:-10px;z-index:-1;border-radius:16px;
  background:
    radial-gradient(circle at 50% 52%,rgba(71,223,209,.07),transparent 52%),
    radial-gradient(circle at 50% 54%,rgba(0,0,0,.36),transparent 72%);
  filter:blur(7px);opacity:.88;
}
.graphical-world-board .map-node b{color:#f2e2ba!important;text-shadow:0 1px 3px rgba(0,0,0,.9)!important}
.graphical-world-board .map-node small{color:#b9aa84!important}
.graphical-world-board .map-node .node-value{color:#edd390!important;text-shadow:0 1px 2px rgba(0,0,0,.8)!important}
.graphical-world-board .map-node.node-sell .node-value{color:#48eadb!important}
.graphical-world-board .map-node.current{
  box-shadow:0 0 0 3px rgba(86,230,216,.92),0 0 34px rgba(73,225,212,.40),0 12px 28px rgba(0,0,0,.72)!important;
}
.graphical-world-board .map-node.current:before{
  background:
    radial-gradient(circle at 50% 52%,rgba(86,230,216,.20),transparent 46%),
    radial-gradient(circle at 50% 54%,rgba(0,0,0,.40),transparent 72%);
}
.graphical-world-board .node-pawns,.graphical-world-board .landmark-marker{filter:drop-shadow(0 6px 8px rgba(0,0,0,.56))!important}
.graphical-world-board .node-biome-pip{background:rgba(14,15,13,.82)!important;border-color:rgba(240,212,145,.42)!important}

.graphical-world-board .country{
  padding:4px 10px;border-radius:999px;background:rgba(10,11,10,.28);
  box-shadow:0 2px 12px rgba(0,0,0,.22);backdrop-filter:blur(4px);
}
.graphical-world-board .corridor-stamp{
  background:linear-gradient(180deg,rgba(17,18,15,.86),rgba(10,11,10,.94))!important;
  border-color:rgba(230,203,136,.36)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(6px)!important;
}

.fullscreen-board-stage .board-stage-head,
.fullscreen-board-stage .route-panel,
.camera-hud,
.party-rail,
.tabletop-tray,
.action-panel{
  backdrop-filter:blur(10px) saturate(1.04)!important;
}
.fullscreen-board-stage .board-stage-head{
  border:1px solid rgba(214,182,106,.14);border-radius:12px;
  background:linear-gradient(180deg,rgba(18,18,16,.74),rgba(11,11,10,.48))!important;
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.fullscreen-board-stage .route-panel{
  background:linear-gradient(180deg,rgba(23,23,20,.86),rgba(10,10,9,.92))!important;
  border-color:rgba(196,151,69,.56)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.3)!important;
}
.fullscreen-board-stage .route-tab{
  background:linear-gradient(180deg,rgba(35,35,30,.9),rgba(17,18,17,.92))!important;
  color:#e8dbb0!important;box-shadow:inset 0 0 0 1px rgba(218,183,99,.12)!important;
}
.fullscreen-board-stage .route-tab.active{
  background:linear-gradient(180deg,rgba(34,70,66,.96),rgba(12,30,28,.96))!important;
  box-shadow:inset 0 0 0 2px rgba(76,215,200,.42),0 0 16px rgba(63,213,205,.18)!important;
}
.fullscreen-board-stage .route-tab small{color:#c8b889!important}
.party-rail{
  background:linear-gradient(180deg,rgba(19,20,18,.92),rgba(8,9,8,.96))!important;
  border-color:#735a37!important;box-shadow:4px 6px 18px rgba(0,0,0,.42)!important;
}
.side-action-rail button{
  background:linear-gradient(180deg,rgba(27,26,22,.92),rgba(11,11,10,.96))!important;
  border-color:#6e5a39!important;box-shadow:0 6px 16px rgba(0,0,0,.38)!important;
}
.side-action-rail button:first-child{
  background:linear-gradient(180deg,#e3b744,#c98b1d)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.34),0 0 18px rgba(217,167,52,.22)!important;
}
.tabletop-tray{
  background:linear-gradient(180deg,rgba(18,18,16,.96),rgba(8,8,8,.98))!important;
  border-color:#6a5635!important;
  box-shadow:inset 0 0 0 1px rgba(225,191,108,.12),0 8px 24px rgba(0,0,0,.42)!important;
}
.tabletop-tray .tray-label{color:#bca16b!important}
.tabletop-tray .table-piece{
  border-color:#5f5a4c!important;
  box-shadow:0 4px 10px rgba(0,0,0,.28)!important;
}
.tabletop-tray .chip-piece,
.action-panel{
  background:linear-gradient(180deg,rgba(17,18,18,.96),rgba(10,10,10,.98))!important;
}
.action-panel{border:1px solid rgba(219,185,101,.12)!important;box-shadow:0 10px 24px rgba(0,0,0,.45)!important}
.action-panel .btn{box-shadow:0 4px 10px rgba(0,0,0,.28)!important}

#boardDiceOverlay.board-dice-overlay{
  background:radial-gradient(circle at 50% 44%,rgba(78,60,30,.16),rgba(6,8,8,.84) 58%,rgba(0,0,0,.96) 100%)!important;
}
.dice-world-backdrop{filter:blur(2px) saturate(.84) brightness(.7)!important;transform:scale(1.05)!important}
.dice-cinematic-title span,
#boardDiceOverlay .dice-result-lock{
  backdrop-filter:blur(8px) saturate(1.03)!important;
}

.journey-photo{
  background-image:
    linear-gradient(180deg,rgba(4,5,7,.36),rgba(5,5,5,.14) 52%,rgba(5,6,6,.58)),
    var(--journey-photo)!important;
  filter:saturate(1) contrast(1.03) brightness(.86)!important;
}
.journey-top-card,.journey-roll-card,.journey-bottom-hud{
  background:linear-gradient(145deg,rgba(10,14,14,.90),rgba(10,10,9,.86))!important;
  border:1px solid rgba(215,181,99,.16)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.42)!important;
}
.journey-splash .journey-road{opacity:.38!important}
.journey-splash .journey-speedlines{opacity:.28!important}
.journey-splash .journey-particles{opacity:.46!important}

@media(max-width:520px){
  .graphical-world-board .graphical-world-layer{filter:saturate(.9) contrast(1.04) brightness(.8)!important}
  .graphical-world-board .country{padding:3px 8px}
  .fullscreen-board-stage .board-stage-head{border-radius:10px}
  .tabletop-tray{box-shadow:inset 0 0 0 1px rgba(225,191,108,.1),0 6px 18px rgba(0,0,0,.40)!important}
}


/* ============================================================
   BORDER RUN v3.7.0 — RIDE SELECTION / GAME PIECE PICKER
   ============================================================ */
.tabletop-tray #tablePawnMeta{color:#7e6a49!important;max-width:100%!important}
.tabletop-tray .pawn-piece{cursor:pointer!important}
.tabletop-tray .pawn-piece:after{content:"TAP TO SWITCH";position:absolute;right:7px;top:7px;padding:2px 5px;border-radius:10px;background:rgba(20,23,21,.78);color:#e7d5a7;font:900 5px/1 Arial,sans-serif;letter-spacing:.12em}
.start-ride-locker .vehicle-skin.active{box-shadow:inset 0 0 0 1px rgba(229,107,36,.34),0 0 0 1px rgba(86,230,216,.18),2px 3px 0 #0a0b09}
.start-ride-locker .vehicle-skin strong{font-size:11px}
.start-ride-locker .vehicle-skin small{color:#d3c49a}
.modal-card .choice-note strong{color:#f0ddb0}

/* ============================================================
   BORDER RUN v3.8.0 — COLLECTOR LOADOUTS + CHROME CUSTOMIZATION
   ============================================================ */

/* Grocery Getter — long, humble station-wagon silhouette. */
.ride-grocery{--ride:#c7b88e;width:78px}
.ride-grocery:before{left:2px;right:2px;height:15px;border-radius:5px 8px 4px 4px}
.ride-grocery .ride-cabin{left:16px;bottom:21px;width:48px;height:12px;border-radius:5px 7px 0 0}
.ride-grocery .ride-detail{left:12px;right:10px;bottom:29px;height:2px;border-top:2px solid #2f302b;box-shadow:0 -4px 0 rgba(232,215,172,.22)}
.ride-grocery .ride-wheel-a{left:14px}.ride-grocery .ride-wheel-b{right:13px}

/* Paint jobs override the base ride material while preserving vehicle silhouette. */
.ride-art.paint-cream{--ride:#c8b98f!important;--trim:#e2d4ad!important}
.ride-art.paint-copperdust{--ride:#9d5c35!important;--trim:#d8a56d!important}
.ride-art.paint-highplains{--ride:#6e7144!important;--trim:#c7bd83!important}
.ride-art.paint-gulfsunset{--ride:#d36c27!important;--trim:#f0b14d!important}
.ride-art.paint-neonwave:before,.ride-art.paint-neonwave .ride-cabin{background:linear-gradient(120deg,#6d3b86 0%,#b84187 42%,#1d9d9b 74%,#4bc9bd 100%)!important}
.ride-art.paint-neonwave{--ride:#824b91!important;--trim:#5ee1d0!important;filter:drop-shadow(0 4px 1px rgba(0,0,0,.45)) drop-shadow(0 0 6px rgba(61,218,207,.3))}

/* New collector dice designs discussed for loadouts. */
.die-cube3d.skin-lucky .die-face,.dice-preview.skin-lucky{background:linear-gradient(145deg,#e1be62,#80682b)!important;border-color:#f5dda0!important;color:#1c1b17!important;box-shadow:inset 0 0 0 2px rgba(255,246,196,.16),0 0 14px rgba(222,181,75,.2)!important}
.die-cube3d.skin-lucky .die-face i{background:#173c39!important}
.die-cube3d.skin-smuggler .die-face,.dice-preview.skin-smuggler{background:linear-gradient(145deg,#172521,#07100f)!important;border-color:#3ab6aa!important;color:#69e1d6!important;box-shadow:inset 0 0 0 2px rgba(61,199,187,.12),0 0 16px rgba(40,213,196,.22)!important}
.die-cube3d.skin-smuggler .die-face i{background:#42d3c6!important;box-shadow:0 0 5px rgba(63,222,210,.4)!important}
.die-cube3d.skin-hauler .die-face,.dice-preview.skin-hauler{background:linear-gradient(145deg,#d2c29c,#6d6656)!important;border-color:#e4c875!important;color:#22211c!important}
.die-cube3d.skin-hauler .die-face i{background:#2f2c24!important}
.die-cube3d.skin-risk .die-face,.dice-preview.skin-risk{background:linear-gradient(145deg,#2b2923,#10110f)!important;border-color:#e76d2c!important;color:#ff8a48!important;box-shadow:0 0 16px rgba(237,94,35,.22)!important}
.die-cube3d.skin-risk .die-face i{background:#ff7b32!important;box-shadow:0 0 5px rgba(255,110,45,.4)!important}
.die-cube3d.skin-chromechecker .die-face,.dice-preview.skin-chromechecker{background:linear-gradient(135deg,#e4e7df 0 25%,#6d746e 25% 50%,#daddd5 50% 75%,#555c57 75%)!important;border-color:#f0e2ba!important;color:#20231f!important}
.die-cube3d.skin-chromechecker .die-face i{background:#20231f!important}
.die-cube3d.skin-goldflake .die-face,.dice-preview.skin-goldflake{background:radial-gradient(circle at 28% 24%,rgba(255,242,173,.55) 0 2px,transparent 3px),radial-gradient(circle at 72% 64%,rgba(255,226,135,.4) 0 2px,transparent 3px),linear-gradient(145deg,#e2bd61,#735625)!important;background-size:18px 18px,24px 24px,auto!important;border-color:#ffe3a0!important;color:#231d13!important}
.die-cube3d.skin-goldflake .die-face i{background:#282014!important}

/* Two-die loadout picker. */
.dice-loadout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:8px 0;color:#e5d2a1}
.dice-loadout-head>span{font:900 9px/1 Arial,sans-serif;letter-spacing:.16em;color:#4ed5c8}
.dice-loadout-head>small{max-width:62%;text-align:right;color:#9e9883;font:700 8px/1.25 Arial,sans-serif}
.dice-loadout-slots{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:9px 0 13px}
.dice-slot{appearance:none;border:1px solid #5f5b4e;border-radius:10px;padding:9px;background:linear-gradient(155deg,#242722,#141714);color:#e7d9ae;display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:center;text-align:left;box-shadow:0 5px 12px rgba(0,0,0,.32);cursor:pointer}
.dice-slot.editing{border-color:#43d7ca;box-shadow:0 0 0 1px rgba(67,215,202,.35),0 0 18px rgba(55,215,201,.14)}
.dice-slot .dice-preview{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:10px;border:1px solid #5d5848;font-size:29px;box-shadow:0 4px 9px rgba(0,0,0,.35)}
.dice-slot small{font:900 6px/1 Arial,sans-serif;letter-spacing:.16em;color:#5acabd}.dice-slot strong{font:900 11px/1.1 Georgia,serif;color:#f0dfb2}
.dice-locker .dice-skin{position:relative;min-height:132px}
.dice-locker .dice-skin em{display:block;margin:5px 0 2px;color:#53cabc;font:900 6.5px/1.15 Arial,sans-serif;font-style:normal;letter-spacing:.06em}
.dice-locker .dice-skin.locked em{color:#8c8777}
.dice-locker .dice-skin.active{border-color:#44cfc2!important;box-shadow:inset 0 0 0 1px rgba(68,207,194,.24),0 0 14px rgba(53,204,190,.16),2px 3px 0 #0a0b09!important}

/* Ride Locker paint shelf. */
.locker-subhead{margin:15px 0 7px!important;color:#4fcfc2!important;font:900 9px/1 Arial,sans-serif!important;letter-spacing:.15em!important}
.paint-locker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.paint-chip{appearance:none;border:1px solid #4e5048;border-radius:9px;padding:9px;background:linear-gradient(155deg,#272924,#171916);color:#dfd3ae;text-align:left;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.28)}
.paint-chip i,.paint-swatch{display:block;width:100%;height:36px;border-radius:7px;border:1px solid rgba(239,217,157,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 3px 9px rgba(0,0,0,.3)}
.paint-chip.paint-cream i,.paint-swatch.paint-cream{background:linear-gradient(145deg,#d9cda9,#a9976f)}
.paint-chip.paint-copperdust i,.paint-swatch.paint-copperdust{background:linear-gradient(145deg,#b96f40,#6d3d26)}
.paint-chip.paint-neonwave i,.paint-swatch.paint-neonwave{background:linear-gradient(120deg,#733c88,#c34288 46%,#22aaa4 72%,#56d9cc)}
.paint-chip.paint-highplains i,.paint-swatch.paint-highplains{background:linear-gradient(145deg,#7e8050,#4d4e2d)}
.paint-chip.paint-gulfsunset i,.paint-swatch.paint-gulfsunset{background:linear-gradient(145deg,#ee8b38,#b94425)}
.paint-chip strong,.paint-chip small{display:block}.paint-chip strong{margin-top:6px;font-size:9px;color:#f0dfb5}.paint-chip small{margin-top:2px;font-size:7px;color:#a7a18d}.paint-chip.active{border-color:#42d7ca;box-shadow:0 0 0 1px rgba(66,215,202,.3),0 0 16px rgba(56,204,192,.15)}.paint-chip.locked{opacity:.48;filter:grayscale(.8)}
.paint-shop-item .paint-swatch{width:58px;height:46px;flex:0 0 58px}

/* Earned-only upgrades and Chrome Shop progress. */
.garage-item.earned-upgrade{border:1px solid #5a594e!important;background:linear-gradient(155deg,#252722,#181a17)!important;color:#e1d5ae!important}
.garage-item.earned-upgrade.ready{border-color:#3ab8ad!important;box-shadow:inset 0 0 0 1px rgba(59,184,173,.18)}
.garage-item.earned-upgrade.locked{opacity:.68}.garage-item.earned-upgrade strong{color:#e7d7a8!important}.garage-item.earned-upgrade.ready strong{color:#54d6c8!important}
.earned-exclusives{border-color:#4a6d64!important;background:linear-gradient(155deg,#17241f,#111511)!important}
.earned-exclusives>p{color:#9d9a86!important}.exclusive-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.exclusive-grid>div{padding:8px;border:1px solid #3f4a42;border-radius:8px;background:#171a16}.exclusive-grid strong,.exclusive-grid small{display:block}.exclusive-grid strong{font-size:8px;color:#e7d7aa}.exclusive-grid small{margin-top:3px;font-size:7px;color:#52bfb3}

@media(max-width:420px){
  .dice-loadout-head{display:block}.dice-loadout-head>small{display:block;max-width:none;text-align:left;margin-top:5px}
  .dice-slot{grid-template-columns:45px 1fr}.dice-slot .dice-preview{width:42px;height:42px;font-size:23px}
  .paint-locker,.exclusive-grid{grid-template-columns:1fr 1fr}
}


/* v3.9.0 custom ride parts + startup splash */
.upgrade-pill.cosmetic{background:linear-gradient(160deg,#153b37,#224742)!important;border-color:#3fb6aa!important;color:#dff6f2!important}
.vehicle-mod-locker{display:grid;gap:10px}
.mod-slot{background:linear-gradient(155deg,#1d1f1b,#121311);border:1px solid #42463d;border-radius:9px;padding:10px;box-shadow:0 6px 16px rgba(0,0,0,.28)}
.mod-slot header{display:flex;justify-content:space-between;gap:8px;align-items:end;margin-bottom:8px}.mod-slot header span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#8fdbc9}.mod-slot header strong{font-size:11px;color:#f0dfb5}
.mod-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mod-chip{appearance:none;border:1px solid #4f5349;border-radius:8px;padding:9px;background:linear-gradient(160deg,#2b2d27,#171915);color:#eadab4;text-align:left;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.25)}
.mod-chip strong,.mod-chip small,.mod-chip em{display:block}.mod-chip strong{font-size:9px;color:#f0dfb5}.mod-chip small{font-size:7px;color:#45d3c5;margin-top:3px}.mod-chip em{font-size:7px;color:#a39f8f;font-style:normal;line-height:1.3;margin-top:4px}.mod-chip.active{border-color:#e56b24;box-shadow:0 0 0 1px rgba(229,107,36,.28),0 0 16px rgba(229,107,36,.08)}.mod-chip.locked{opacity:.45;filter:grayscale(.8);cursor:not-allowed}
.ride-art:before{background:linear-gradient(180deg,color-mix(in srgb,var(--ride),#fff 7%),var(--ride));box-shadow:inset 0 -4px 0 rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.04)}
.ride-detail{left:11px;right:11px;bottom:13px;height:3px;background:linear-gradient(90deg,transparent,var(--trim),transparent);opacity:.7}
.ride-rim{position:absolute;bottom:4px;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#d8d5ca 0 35%,#8a887d 36% 64%,#383a34 65%);z-index:5}.ride-rim-a{left:15px}.ride-rim-b{right:14px}
.mod-rims-steelies .ride-rim{background:radial-gradient(circle,#c8c5bd 0 28%,#7f817b 29% 58%,#34362f 59%)}
.mod-rims-chrome .ride-rim{background:radial-gradient(circle,#fcfcfb 0 24%,#d0d4d8 25% 48%,#9aa6af 49% 63%,#2c3133 64%);box-shadow:0 0 6px rgba(191,234,236,.28)}
.mod-rims-gold .ride-rim{background:radial-gradient(circle,#fff7cf 0 22%,#f0c45a 23% 48%,#8a6522 49% 63%,#2b2313 64%);box-shadow:0 0 6px rgba(234,190,76,.28)}
.ride-engine-accent{position:absolute;left:6px;bottom:15px;width:10px;height:5px;border-radius:0 8px 8px 0;background:#1a1b18;opacity:.75}.mod-engine-street .ride-engine-accent{background:linear-gradient(90deg,#ffbc62,#ff7f39);box-shadow:0 0 6px rgba(255,151,77,.24)}.mod-engine-blackbox .ride-engine-accent{background:linear-gradient(90deg,#58efe1,#22797b);box-shadow:0 0 6px rgba(74,220,212,.24)}
.ride-body-accent{position:absolute;left:12px;right:12px;bottom:8px;height:2px;background:transparent;z-index:4}.ride-roof-accent{position:absolute;left:19px;right:19px;top:4px;height:0;z-index:4}
.mod-body-flare .ride-body-accent{background:linear-gradient(90deg,transparent,#f5d486,transparent)}.mod-body-flare:before{border-radius:10px 12px 6px 6px}.mod-body-flare .ride-cabin{left:18px;width:37px}
.mod-body-runner .ride-body-accent{background:linear-gradient(90deg,#ec8550,#f4c55d,#ec8550)}.mod-body-runner .ride-roof-accent{height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#d8a85a 18% 82%,transparent)}.mod-body-runner .ride-cabin:before{content:"";position:absolute;left:4px;right:4px;top:-4px;height:3px;border-radius:3px;background:#3ee1d3;box-shadow:0 0 6px rgba(62,225,211,.28)}
.startup-splash{position:fixed;inset:0;z-index:120;background:#050606;display:grid;place-items:center;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .26s ease}.startup-splash.active{opacity:1;pointer-events:auto}.startup-splash.leaving{opacity:0}
.startup-splash-bg,.startup-splash-shade{position:absolute;inset:0}.startup-splash-bg{background-image:url('./assets/startup-splash.webp');background-size:cover;background-position:center 28%;transform:scale(1.03)}.startup-splash-shade{background:radial-gradient(circle at 50% 58%,rgba(0,0,0,.08),rgba(0,0,0,.62) 58%,rgba(0,0,0,.82))}
.startup-splash-card{position:relative;max-width:min(88vw,520px);padding:18px 18px 16px;border-radius:16px;background:linear-gradient(160deg,rgba(11,13,13,.84),rgba(24,20,15,.85));border:1px solid rgba(111,255,239,.22);box-shadow:0 18px 60px rgba(0,0,0,.45),0 0 40px rgba(78,233,220,.12);text-align:center;color:#f4e4bb;backdrop-filter:blur(6px)}
.startup-splash-card span{display:block;font-size:10px;font-weight:900;letter-spacing:.22em;color:#57ecdf}.startup-splash-card strong{display:block;margin-top:8px;font:900 clamp(30px,7vw,54px)/.94 Impact,Arial Narrow,sans-serif;letter-spacing:.06em;color:#f2ddb0;text-shadow:0 0 14px rgba(247,201,89,.14)}.startup-splash-card em{display:block;margin-top:10px;font-style:normal;font-size:14px;line-height:1.35;color:#f0b95b}.startup-splash-card small{display:block;margin-top:10px;font-size:11px;line-height:1.45;color:#ddd0a8}
.startup-skip{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.22);background:rgba(7,8,8,.6);color:#f4e4bb;padding:10px 14px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.16em;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.26)}
@media(max-width:640px){.mod-grid{grid-template-columns:1fr}.startup-splash-card{margin:0 16px;padding:16px}.startup-splash-bg{background-position:center 22%}}


/* v3.9.2 start-of-game dice flow hotfix */
.modal-card.dice-start-modal{display:flex!important;flex-direction:column!important;max-height:90svh!important;overflow:hidden!important;padding-bottom:0!important}
.modal-card.dice-start-modal #modalBody{overflow:auto!important;overscroll-behavior:contain;padding-bottom:14px;min-height:0;flex:1 1 auto}
.modal-card.dice-start-modal #modalActions{position:sticky!important;bottom:0!important;z-index:12!important;margin:0 -20px!important;padding:10px 20px calc(10px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(217,203,160,.88),#d9cba0 24%)!important;border-top:1px solid rgba(84,63,43,.28)!important;box-shadow:0 -10px 22px rgba(57,43,28,.12)!important}
.modal-card.dice-start-modal .dice-slot.editing{box-shadow:0 0 0 2px #43dfd2,0 7px 18px rgba(0,0,0,.28)!important}
.modal-card.dice-start-modal .dice-slot.editing:after{content:'CHOOSE THIS SLOT';display:block;margin-top:4px;font:900 6px/1 Arial,sans-serif;letter-spacing:.12em;color:#43dfd2}
@media(max-width:520px){.modal-card.dice-start-modal{max-height:92svh!important}.modal-card.dice-start-modal #modalActions{margin:0 -16px!important;padding-left:16px!important;padding-right:16px!important}}


/* v3.9.4 — uniform ride cards + illustrated 15-vehicle poster art */
.vehicle-locker{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;grid-auto-rows:1fr!important;gap:10px!important}
.vehicle-skin{width:100%!important;min-width:0!important;max-width:none!important;min-height:178px!important;height:100%!important;padding:8px!important;display:grid!important;grid-template-rows:112px auto auto!important;align-content:start!important;justify-items:stretch!important;overflow:hidden!important;box-sizing:border-box!important}
.vehicle-skin strong{font-size:12px!important;line-height:1.05!important;margin-top:7px!important;min-height:25px!important;display:grid!important;place-items:center!important;text-align:center!important}
.vehicle-skin small{font-size:8px!important;line-height:1.2!important;min-height:20px!important;display:grid!important;place-items:start center!important;text-align:center!important}
.vehicle-preview.vehicle-poster{width:100%!important;height:112px!important;padding:0!important;margin:0!important;border-radius:8px!important;background:#151713!important;border:1px solid #5a5c51!important;border-bottom:3px solid #0d0e0c!important;overflow:hidden!important;display:block!important;position:relative!important;box-shadow:inset 0 0 18px rgba(0,0,0,.42)!important}
.vehicle-preview.vehicle-poster:after{content:""!important;position:absolute!important;inset:auto 5% 6px 5%!important;height:1px!important;background:linear-gradient(90deg,transparent,rgba(237,214,159,.35),transparent)!important;z-index:2!important}
.vehicle-preview.vehicle-poster img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center 60%!important;transform:scale(.96)!important;filter:saturate(1.05) contrast(1.04)!important;transition:transform .26s ease,filter .26s ease!important}
.vehicle-skin:not(.locked):active .vehicle-preview.vehicle-poster img{transform:scale(1.055)!important}
.vehicle-skin.active{border-color:#e56b24!important;box-shadow:inset 0 0 0 2px rgba(229,107,36,.30),0 0 0 1px rgba(73,225,212,.22),2px 3px 0 #0a0b09!important}
.vehicle-skin.active .vehicle-preview.vehicle-poster{border-color:#d7a64f!important;box-shadow:inset 0 0 18px rgba(0,0,0,.30),0 0 18px rgba(229,107,36,.12)!important}
.vehicle-skin.locked{opacity:.58!important;filter:none!important;background:linear-gradient(160deg,#5f5b50,#3b3a33)!important}
.vehicle-skin.locked .vehicle-preview.vehicle-poster img{filter:grayscale(.88) sepia(.15) brightness(.62) contrast(.90)!important}
.vehicle-skin.locked .vehicle-preview.vehicle-poster:before{content:"🔒";position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(16,17,15,.76);border:1px solid rgba(235,217,174,.36);font-size:16px;box-shadow:0 4px 14px rgba(0,0,0,.45)}
.start-ride-locker .vehicle-skin{min-height:184px!important}
.start-ride-locker .vehicle-skin strong{font-size:12px!important}
.start-ride-locker .vehicle-skin small{color:#69d8cd!important;font-weight:800!important;letter-spacing:.04em!important}
.start-ride-locker .vehicle-skin.locked small{color:#cfc5a8!important}
@media(max-width:470px){.vehicle-locker{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.vehicle-skin{min-height:160px!important;grid-template-rows:92px auto auto!important;padding:7px!important}.vehicle-preview.vehicle-poster{height:92px!important}.start-ride-locker .vehicle-skin{min-height:166px!important}.vehicle-skin strong{font-size:10px!important;min-height:22px!important}.vehicle-skin small{font-size:7px!important}}
@media(max-width:340px){.vehicle-locker{grid-template-columns:1fr!important}.vehicle-skin{grid-template-rows:118px auto auto!important}.vehicle-preview.vehicle-poster{height:118px!important}}


/* v3.9.7 — southbound re-up + carrying-card state + raid defense */
.card-badge.carrying{background:linear-gradient(90deg,#8f2f20,#d45a2a)!important;color:#fff0d1!important;border-color:#ff9a55!important;box-shadow:0 0 16px rgba(224,74,35,.22)}
.carry-warning{margin-top:8px;padding:9px 10px;border-radius:8px;background:linear-gradient(145deg,#4a1d17,#251513);border:1px solid #b64b2e;color:#ffd39c;font:900 9px/1.35 Arial;letter-spacing:.05em}
.event-card-reveal.reveal-negative .event-card-polarity{letter-spacing:.08em}.event-card-reveal.reveal-negative .event-card-effect{border-color:#8f432d}
.raid-defense-panel{margin:10px 0 12px;padding:10px;border-radius:10px;background:linear-gradient(155deg,#17231f,#0e1210);border:1px solid #3b5a4d;box-shadow:0 7px 22px rgba(0,0,0,.28)}
.raid-defense-head{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:8px}.raid-defense-head strong{color:#5fe5d7;font-size:10px;letter-spacing:.12em}.raid-defense-head small{color:#aaa487;font-size:7px;text-align:right;max-width:60%}
.raid-defense-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.raid-defense-card{min-width:0;padding:9px 7px;border-radius:8px;border:1px solid #474d43;background:linear-gradient(160deg,#2a2d27,#171a16);color:#ead9ad;text-align:left;box-shadow:0 3px 9px rgba(0,0,0,.25)}.raid-defense-card strong,.raid-defense-card small,.raid-defense-card em{display:block}.raid-defense-card strong{font-size:9px}.raid-defense-card small{font-size:7px;color:#5fe5d7;margin-top:3px}.raid-defense-card em{font-style:normal;font-size:7px;color:#aaa58e;line-height:1.25;margin-top:5px}.raid-defense-card.active{border-color:#e4b34e;box-shadow:inset 0 0 0 1px rgba(228,179,78,.24),0 0 15px rgba(78,224,211,.08)}.raid-defense-card.locked{opacity:.42;filter:grayscale(.8)}
.raid-fortify{display:grid;grid-template-columns:1fr auto;gap:5px 8px;align-items:center;margin-top:9px;padding-top:9px;border-top:1px solid rgba(232,217,174,.13)}.raid-fortify span{font:900 8px/1 Arial;letter-spacing:.1em;color:#e3bc64}.raid-fortify strong{font:800 7px/1.3 Arial;color:#bbb49a;text-align:right}.raid-fortify button{border:1px solid #596156;border-radius:7px;background:#28322c;color:#e9dbb3;font:900 7px/1 Arial;padding:8px;cursor:pointer}.raid-fortify button:disabled{opacity:.38}.raid-fortify #buyStashShield{grid-column:1/-1;background:#18413b;border-color:#39776d;color:#8cf1e5}
.raid-result.blocked{border-color:#bf4f38!important;background:linear-gradient(150deg,#371815,#171313)!important}
@media(max-width:430px){.raid-defense-grid{grid-template-columns:1fr}.raid-defense-head{display:block}.raid-defense-head small{display:block;max-width:none;text-align:left;margin-top:4px}}


/* v3.9.8 fictional south-market patrol + payoff dice mechanic */
.payoff-panel{margin:10px 0;padding:11px;border-radius:10px;background:linear-gradient(155deg,#241d18,#111512);border:1px solid #7e6040;box-shadow:0 7px 22px rgba(0,0,0,.26)}
.payoff-panel>strong,.payoff-panel>small{display:block}.payoff-panel>strong{font:900 10px/1 Arial;letter-spacing:.13em;color:#f0b557}.payoff-panel>small{margin-top:5px;color:#c6b990;font:700 8px/1.35 Arial}.payoff-panel>div{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin-top:8px;padding:8px;border-radius:7px;background:rgba(242,226,180,.08);border:1px solid rgba(242,226,180,.12)}.payoff-panel span{font-size:9px;color:#ead8ad}.payoff-panel b{font-size:10px;color:#5ce0d4}.payoff-panel em{font-style:normal;font:900 8px/1 Arial;color:#f08a50;letter-spacing:.05em}
.payoff-result{margin:10px 0;padding:14px;border-radius:10px;text-align:center;border:1px solid #5f634f;background:linear-gradient(155deg,#22261f,#111411)}.payoff-result strong,.payoff-result span,.payoff-result small{display:block}.payoff-result strong{font:900 25px/1 Georgia,serif;color:#f2dfae}.payoff-result span{margin-top:7px;font-size:10px;color:#d7c69d}.payoff-result small{margin-top:6px;font-size:9px;color:#5de1d5}.payoff-result.success{border-color:#2c8376;box-shadow:0 0 20px rgba(51,207,190,.08)}.payoff-result.fail{border-color:#9d452f;background:linear-gradient(155deg,#3a1d18,#18110f)}.payoff-result.fail strong{color:#ffaf76}.payoff-result.fail span{color:#ffd1a8}


/* ============================================================
   BORDER RUN v4.0.1 — COYOTE RUN + FICTIONAL MANIFESTS
   ============================================================ */
.die-cube3d.skin-coyote .die-face,.dice-preview.skin-coyote{background:linear-gradient(145deg,#5b3d28,#171b19)!important;border-color:#d19a56!important;color:#71e0d5!important;box-shadow:inset 0 0 0 2px rgba(209,154,86,.15),0 0 15px rgba(75,221,208,.16)!important}
.die-cube3d.skin-coyote .die-face i{background:#e6bd72!important;box-shadow:0 0 4px rgba(230,189,114,.35)!important}
.ride-art.paint-desertrunner{--ride:#a76435!important;--trim:#edc176!important;filter:drop-shadow(0 4px 1px rgba(0,0,0,.45)) drop-shadow(0 0 5px rgba(208,115,58,.18))}
.paint-chip.paint-desertrunner i,.paint-swatch.paint-desertrunner{background:linear-gradient(145deg,#c27b43,#734427 55%,#223d38)}
.mod-rims-nightwatch .ride-rim{background:radial-gradient(circle,#4ff0df 0 18%,#273e3e 19% 43%,#0d1010 44% 70%,#090a09 71%);box-shadow:0 0 7px rgba(65,226,211,.32)}
.mod-body-coyote .ride-body-accent{background:linear-gradient(90deg,#d98d46,#52d9cb,#d98d46)}
.mod-body-coyote .ride-roof-accent{height:3px;border-radius:3px;background:linear-gradient(90deg,#3b3024,#dca055,#3b3024)}
.mod-body-coyote .ride-cabin:before{content:"";position:absolute;left:3px;right:3px;top:-4px;height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,#e0a45b 0 4px,#3dd9cc 5px 8px)}
.coyote-job-card{margin:10px 0;padding:13px;border-radius:10px;border:1px solid rgba(213,155,82,.5);background:linear-gradient(145deg,#342718,#101817);box-shadow:0 8px 22px rgba(0,0,0,.28)}
.coyote-job-card span,.coyote-job-card strong,.coyote-job-card small{display:block}.coyote-job-card span{font-size:8px;font-weight:900;letter-spacing:.15em;color:#62ded2}.coyote-job-card strong{margin-top:6px;color:#f0c374;font-size:14px}.coyote-job-card small{margin-top:6px;color:#d5c7a4;font-size:9px;line-height:1.4}.coyote-job-card.complete{border-color:#4ed7c9;background:linear-gradient(145deg,#17372f,#101817)}
.card-badge.coyote{background:linear-gradient(90deg,#714120,#2a2620)!important;border-color:#e2a45c!important;color:#ffe0a3!important}.coyote-warning{margin-top:8px;padding:8px;border-left:3px solid #d58e46;background:rgba(93,55,25,.18);color:#e8cda1;font-size:9px;font-weight:800}.coyote-job-chip{border-color:#d79950!important;background:linear-gradient(145deg,rgba(91,55,27,.24),rgba(29,48,44,.3))!important}

/* v4.0.2 visual sync: ride picker + travel scene */
.modal-card.ride-chooser-modal,
.modal-card.ride-locker-modal{
  position:relative;
  width:min(100%,560px);
  background:
    radial-gradient(circle at 50% 0%,rgba(255,247,221,.72),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.18),transparent 12%),
    linear-gradient(180deg,#ebdbb0 0%,#dfc994 100%);
  border:1px solid #d6a74e;
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.42),0 0 0 2px rgba(29,207,194,.18),inset 0 0 0 2px rgba(89,65,28,.78),inset 0 0 0 6px rgba(238,220,175,.45);
  color:#211b14;
}
.modal-card.ride-chooser-modal:before,
.modal-card.ride-locker-modal:before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(17,91,88,.95);
  border-radius:14px;
  box-shadow:0 0 0 1px rgba(90,223,212,.22),0 0 22px rgba(73,227,214,.08);
  pointer-events:none;
}
.modal-card.ride-chooser-modal .modal-kicker,
.modal-card.ride-locker-modal .modal-kicker,
.modal-card.ride-chooser-modal #modalKicker,
.modal-card.ride-locker-modal #modalKicker{color:#8a5319!important;letter-spacing:.16em}
.modal-card.ride-chooser-modal h2,
.modal-card.ride-locker-modal h2,
.modal-card.ride-chooser-modal #modalTitle,
.modal-card.ride-locker-modal #modalTitle{font:900 clamp(34px,6.4vw,58px)/.94 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;color:#1b1a14!important;letter-spacing:.03em;text-transform:uppercase;margin:6px 0 10px;text-shadow:0 1px 0 rgba(255,247,225,.4)}
.modal-card.ride-chooser-modal p,
.modal-card.ride-locker-modal p,
.modal-card.ride-chooser-modal #modalBody,
.modal-card.ride-locker-modal #modalBody{font-size:13px;color:#2f291e}
.modal-card.ride-chooser-modal .choice-note,
.modal-card.ride-locker-modal .choice-note{background:rgba(252,245,224,.5);border:1px solid rgba(117,93,56,.2);border-radius:10px;padding:10px 12px;color:#4d3d28!important;line-height:1.5}
.modal-card.ride-chooser-modal .btn.ghost,
.modal-card.ride-locker-modal .btn.ghost{background:#111713;color:#eddcb1;border:1px solid #3d514a}
.modal-card.ride-chooser-modal .btn.primary,
.modal-card.ride-locker-modal .btn.primary{box-shadow:0 0 0 1px rgba(252,216,148,.25),0 8px 18px rgba(0,0,0,.18)}
.ride-summary-rich{grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;background:linear-gradient(180deg,#0d1312,#111814)!important;border:2px solid #8e6328!important;border-radius:12px!important;padding:11px 14px!important;box-shadow:inset 0 0 0 1px rgba(69,228,216,.22),0 6px 18px rgba(0,0,0,.14)!important}
.ride-summary-rich span{font-size:9px!important;letter-spacing:.18em!important;color:#4fe3d5!important;opacity:1!important}
.ride-summary-rich strong{font-size:18px!important;color:#f1bd58!important;line-height:1!important}
.ride-summary-meter{position:relative;height:14px;border-radius:999px;background:#06100f;border:1px solid rgba(145,111,54,.95);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.ride-summary-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2bc9c0,#83f4ea 58%,#2accc1);box-shadow:0 0 18px rgba(83,235,223,.36)}
.ride-chooser-modal .vehicle-skin,
.ride-locker-modal .vehicle-skin{background:linear-gradient(180deg,#132120 0%,#111614 12%,#1a1815 70%,#0f1210 100%)!important;border:1px solid #6b5735!important;border-radius:12px!important;box-shadow:0 8px 18px rgba(0,0,0,.18),2px 3px 0 #0b0c09!important}
.ride-chooser-modal .vehicle-skin strong,
.ride-locker-modal .vehicle-skin strong{font:900 13px/1.05 Georgia,serif!important;letter-spacing:.02em!important;color:#f4e3b9!important;text-transform:uppercase}
.ride-chooser-modal .vehicle-skin small,
.ride-locker-modal .vehicle-skin small{color:#52ddd1!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase}
.ride-chooser-modal .vehicle-skin.locked small,
.ride-locker-modal .vehicle-skin.locked small{color:#c8bea3!important}
.ride-chooser-modal .vehicle-preview.vehicle-poster,
.ride-locker-modal .vehicle-preview.vehicle-poster{height:118px!important;border:1px solid rgba(203,155,74,.95)!important;border-radius:10px!important;box-shadow:inset 0 0 0 1px rgba(78,231,216,.14),inset 0 -34px 45px rgba(0,0,0,.26),0 0 0 1px rgba(26,28,25,.8)!important}
.ride-chooser-modal .vehicle-preview.vehicle-poster img,
.ride-locker-modal .vehicle-preview.vehicle-poster img{transform:scale(1.045)!important;filter:saturate(1.08) contrast(1.07)!important}
.ride-chooser-modal .vehicle-skin.active,
.ride-locker-modal .vehicle-skin.active{border-color:#dfac4c!important;box-shadow:inset 0 0 0 2px rgba(223,172,76,.22),0 0 0 1px rgba(75,229,216,.42),0 0 24px rgba(71,228,214,.15),2px 3px 0 #0a0b09!important}
.ride-chooser-modal .vehicle-skin.active .vehicle-preview.vehicle-poster,
.ride-locker-modal .vehicle-skin.active .vehicle-preview.vehicle-poster{box-shadow:inset 0 0 0 1px rgba(255,222,159,.26),0 0 18px rgba(68,224,212,.18),inset 0 -34px 45px rgba(0,0,0,.24)!important}
.ride-chooser-modal .locker-subhead,
.ride-locker-modal .locker-subhead{color:#2a2a22;border-bottom:2px solid rgba(140,99,40,.45);padding-bottom:4px;letter-spacing:.16em}

#journeySplash.journey-splash{
  background:
    radial-gradient(circle at 50% 72%,rgba(245,165,51,.16),transparent 22%),
    linear-gradient(180deg,rgba(5,8,8,.25),rgba(6,7,8,.6) 34%,rgba(4,5,5,.78) 100%),
    #050707!important;
}
#journeySplash.journey-splash:after{
  content:"ON THE ROAD";
  position:absolute;
  left:50%;
  bottom:max(8px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  z-index:14;
  min-width:220px;
  padding:14px 24px 12px;
  border:1px solid rgba(201,154,70,.9);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(7,16,15,.94),rgba(13,18,17,.88));
  box-shadow:0 12px 30px rgba(0,0,0,.35),inset 0 0 0 1px rgba(69,228,215,.16);
  color:#45ddd0;
  text-align:center;
  font:900 13px/1 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  letter-spacing:.18em;
}
#journeySplash .journey-photo{filter:saturate(1.08) contrast(1.09) brightness(.96)!important;transform:scale(1.035)!important}
#journeySplash .journey-top-card{
  left:4%!important;
  top:max(6%,calc(env(safe-area-inset-top) + 18px))!important;
  width:min(74%,540px)!important;
  padding:18px 20px 16px!important;
  border:1px solid rgba(208,159,71,.9)!important;
  border-left:3px solid #42ddd1!important;
  border-radius:20px!important;
  clip-path:none!important;
  background:linear-gradient(180deg,rgba(5,17,17,.92),rgba(11,19,18,.88))!important;
  box-shadow:0 16px 36px rgba(0,0,0,.38),inset 0 0 0 1px rgba(74,228,216,.13)!important;
}
#journeySplash .journey-top-card span{font-size:10px!important;letter-spacing:.22em!important;color:#47e0d3!important}
#journeySplash .journey-top-card strong{font:900 clamp(32px,6vw,60px)/.92 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;letter-spacing:.02em!important;color:#f1dfb3!important;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.3),0 0 18px rgba(244,179,61,.08)!important}
#journeySplash .journey-top-card em{margin-top:10px!important;font-size:14px!important;letter-spacing:.08em!important;color:#e8b65d!important}
#journeySplash .journey-roll-card{
  right:5%!important;
  top:22%!important;
  width:128px!important;
  padding:14px 12px!important;
  border:1px solid rgba(203,155,70,.92)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(6,19,19,.9),rgba(14,18,16,.92))!important;
  box-shadow:0 14px 28px rgba(0,0,0,.34),0 0 22px rgba(54,221,210,.18),inset 0 0 0 1px rgba(67,226,214,.16)!important;
}
#journeySplash .journey-roll-card small{font-size:9px!important;letter-spacing:.16em!important;color:#4ce2d5!important}
#journeySplash .journey-roll-card strong{font:900 36px/1 Georgia,serif!important;color:#f3d57e!important}
#journeySplash .journey-progress{left:8%!important;right:8%!important;bottom:17.5%!important;gap:10px!important}
#journeySplash .journey-progress:before{height:4px!important;background:linear-gradient(90deg,#53f0e1 0 55%,rgba(222,202,158,.30) 56%)!important;box-shadow:0 0 16px rgba(83,238,226,.34)!important}
#journeySplash .journey-progress i{max-width:none!important;width:clamp(22px,6vw,34px)!important;height:clamp(22px,6vw,34px)!important;border:2px solid rgba(218,199,152,.55)!important;background:#16211f!important}
#journeySplash .journey-progress i:nth-child(-n+4){background:#53eadf!important;border-color:#bbfff8!important;box-shadow:0 0 18px rgba(83,236,224,.54)!important}
#journeySplash .journey-progress i:last-child{background:#c89a3f!important;border-color:#f1dfab!important;box-shadow:0 0 18px rgba(236,188,82,.44)!important}
#journeySplash .journey-vehicle{
  width:192px!important;
  height:116px!important;
  bottom:19.5%!important;
  transform:translateX(-50%) perspective(420px) rotateX(14deg)!important;
  filter:drop-shadow(0 18px 12px rgba(0,0,0,.7)) drop-shadow(0 0 14px rgba(73,224,213,.12))!important;
}
#journeySplash .journey-vehicle:before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:160px;
  height:24px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.58) 0%,rgba(0,0,0,.18) 58%,transparent 78%);
}
#journeySplash .journey-vehicle:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:8px;
  width:150px;
  height:42px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(255,185,93,.16),transparent 66%);
  pointer-events:none;
}
#journeySplash .journey-vehicle .ride-art{width:86px!important;height:40px!important;transform:scale(2.25) rotateY(180deg)!important;transform-origin:center!important;left:50%!important;top:50%!important;margin-left:-43px!important;margin-top:-20px!important}
#journeySplash .journey-bottom-hud{
  left:4%!important;
  right:4%!important;
  bottom:max(48px,calc(env(safe-area-inset-bottom) + 58px))!important;
  border:1px solid rgba(202,156,75,.65)!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(10,16,16,.92),rgba(12,14,13,.9))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.35),inset 0 0 0 1px rgba(67,225,214,.14)!important;
}
#journeySplash .journey-bottom-hud span{font-size:8px!important;letter-spacing:.18em!important;color:#a99872!important}
#journeySplash .journey-bottom-hud strong{font-size:18px!important;color:#4be0d3!important;text-transform:uppercase}
#journeySplash .journey-bottom-hud small{font-size:9px!important;color:#e5c685!important}
@media(max-width:560px){
  .modal-card.ride-chooser-modal,
  .modal-card.ride-locker-modal{padding:18px 16px 16px!important}
  .ride-chooser-modal .vehicle-preview.vehicle-poster,
  .ride-locker-modal .vehicle-preview.vehicle-poster{height:96px!important}
  #journeySplash .journey-top-card{width:72%!important;padding:14px 15px!important}
  #journeySplash .journey-top-card strong{font-size:40px!important}
  #journeySplash .journey-roll-card{width:104px!important;top:24%!important}
  #journeySplash .journey-roll-card strong{font-size:30px!important}
  #journeySplash .journey-vehicle{width:154px!important;height:94px!important;bottom:22%!important}
  #journeySplash .journey-bottom-hud{bottom:max(42px,calc(env(safe-area-inset-bottom) + 52px))!important}
  #journeySplash.journey-splash:after{min-width:180px;font-size:11px;padding:12px 18px 10px}
}

/* v4.0.3 rendered vehicle layer */
.ride-render{display:block;position:relative;overflow:visible;isolation:isolate}
.ride-render>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-drag:none}
.vehicle-preview.vehicle-poster.paint-copperdust img,.ride-render.paint-copperdust>img{filter:saturate(1.05) sepia(.18) hue-rotate(-12deg) brightness(.98)}
.vehicle-preview.vehicle-poster.paint-highplains img,.ride-render.paint-highplains>img{filter:saturate(.82) sepia(.12) hue-rotate(18deg) brightness(.94)}
.vehicle-preview.vehicle-poster.paint-gulfsunset img,.ride-render.paint-gulfsunset>img{filter:saturate(1.18) sepia(.14) hue-rotate(-18deg) brightness(1.02)}
.vehicle-preview.vehicle-poster.paint-neonwave img,.ride-render.paint-neonwave>img{filter:saturate(1.35) hue-rotate(42deg) contrast(1.05)}
.vehicle-preview.vehicle-poster.paint-desertrunner img,.ride-render.paint-desertrunner>img{filter:saturate(.92) sepia(.22) hue-rotate(-6deg) brightness(.94)}
.ride-render.mod-rims-chrome:after,.ride-render.mod-rims-gold:after,.ride-render.mod-rims-nightwatch:after{content:"";position:absolute;inset:auto 11% 16% 11%;height:18%;border-radius:50%;pointer-events:none;opacity:.46}
.ride-render.mod-rims-chrome:after{background:radial-gradient(circle at 21% 50%,rgba(220,245,248,.65),transparent 9%),radial-gradient(circle at 79% 50%,rgba(220,245,248,.65),transparent 9%)}
.ride-render.mod-rims-gold:after{background:radial-gradient(circle at 21% 50%,rgba(255,215,95,.76),transparent 9%),radial-gradient(circle at 79% 50%,rgba(255,215,95,.76),transparent 9%)}
.ride-render.mod-rims-nightwatch:after{background:radial-gradient(circle at 21% 50%,rgba(64,236,224,.72),transparent 10%),radial-gradient(circle at 79% 50%,rgba(64,236,224,.72),transparent 10%);filter:drop-shadow(0 0 5px rgba(64,236,224,.45))}
.ride-render.mod-body-runner .render-body-accent,.ride-render.mod-body-coyote .render-body-accent{position:absolute;left:18%;right:18%;top:18%;height:3px;border-radius:4px;background:#e4b45e;box-shadow:0 0 8px rgba(231,181,82,.28)}
.ride-render.mod-body-coyote .render-body-accent{background:#4ee2d5;box-shadow:0 0 9px rgba(78,226,213,.42)}
.table-pawn-render{width:92px;height:50px;margin:-8px auto -9px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.48))}
.table-pawn-render>img{object-fit:cover;border-radius:10px;mask-image:radial-gradient(ellipse at center,#000 58%,transparent 96%);-webkit-mask-image:radial-gradient(ellipse at center,#000 58%,transparent 96%)}
.vehicle-pawn{width:42px!important;height:28px!important;overflow:visible!important}
.vehicle-pawn .pawn-render{position:absolute;left:50%;top:50%;width:58px;height:36px;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 4px rgba(0,0,0,.58))}
.vehicle-pawn .pawn-render>img{object-fit:cover;border-radius:8px;mask-image:radial-gradient(ellipse at center,#000 50%,transparent 94%);-webkit-mask-image:radial-gradient(ellipse at center,#000 50%,transparent 94%)}
.mini-pawn .mini-pawn-render{width:70px;height:42px;margin:-11px -18px -10px;filter:drop-shadow(0 5px 5px rgba(0,0,0,.55))}
.mini-pawn .mini-pawn-render>img{object-fit:cover;border-radius:8px;mask-image:radial-gradient(ellipse at center,#000 52%,transparent 94%);-webkit-mask-image:radial-gradient(ellipse at center,#000 52%,transparent 94%)}
#journeySplash .journey-vehicle .journey-token-render{position:absolute;inset:-22% -35% -16%;width:auto;height:auto;filter:drop-shadow(0 18px 14px rgba(0,0,0,.72))}
#journeySplash .journey-vehicle .journey-token-render>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:28px;mask-image:radial-gradient(ellipse at 50% 54%,#000 48%,rgba(0,0,0,.95) 62%,transparent 91%);-webkit-mask-image:radial-gradient(ellipse at 50% 54%,#000 48%,rgba(0,0,0,.95) 62%,transparent 91%);transform:perspective(520px) rotateX(1deg) scale(1.08)}
#journeySplash .journey-vehicle .journey-token-render:before{content:"";position:absolute;left:10%;right:10%;bottom:8%;height:16%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.58),transparent 72%);z-index:-1}
#journeySplash .journey-vehicle .journey-token-render.mod-engine-street{filter:drop-shadow(0 18px 14px rgba(0,0,0,.72)) drop-shadow(0 0 10px rgba(255,138,60,.22))}
#journeySplash .journey-vehicle .journey-token-render.mod-engine-blackbox{filter:drop-shadow(0 18px 14px rgba(0,0,0,.72)) drop-shadow(0 0 12px rgba(69,230,218,.28))}

/* tighter starter ride chooser so lower rows remain reachable on phone screens */
.ride-chooser-modal{max-height:calc(100dvh - max(22px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
.ride-chooser-modal .choice-note{margin:8px 0!important;padding:9px 11px!important;font-size:11px!important}
.ride-chooser-modal .vehicle-locker{gap:8px!important;margin-top:8px!important}
.ride-chooser-modal .vehicle-skin{min-height:154px!important;grid-template-rows:88px auto auto!important;padding:7px!important}
.ride-chooser-modal .vehicle-preview.vehicle-poster{height:88px!important}
.ride-chooser-modal .vehicle-skin strong{font-size:11px!important;min-height:20px!important;margin-top:5px!important}
.ride-chooser-modal .vehicle-skin small{font-size:7px!important;min-height:16px!important}
@media(max-height:760px){
  .ride-chooser-modal #modalTitle{font-size:34px!important;margin:3px 0 6px!important}
  .ride-chooser-modal #modalBody{font-size:11px!important;margin-bottom:5px!important}
  .ride-chooser-modal .ride-summary-rich{padding:8px 10px!important;margin:6px 0!important}
  .ride-chooser-modal .choice-note{font-size:9px!important;line-height:1.35!important;padding:7px 9px!important}
  .ride-chooser-modal .vehicle-skin{min-height:138px!important;grid-template-rows:76px auto auto!important}
  .ride-chooser-modal .vehicle-preview.vehicle-poster{height:76px!important}
}

/* v4.0.4 — Android purchase-market touch scrolling fix */
.modal-card.market-graphic{
  display:flex!important;
  flex-direction:column!important;
  width:min(100%,520px)!important;
  max-height:min(92svh,920px)!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.modal-card.market-graphic #modalKicker,
.modal-card.market-graphic #modalTitle,
.modal-card.market-graphic #modalBody{
  flex:0 0 auto!important;
}
.modal-card.market-graphic #modalExtra{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  scrollbar-width:thin!important;
  scrollbar-color:#39cfc3 rgba(74,57,34,.18)!important;
  padding-right:5px!important;
  margin-right:-5px!important;
  padding-bottom:14px!important;
}
.modal-card.market-graphic #modalExtra::-webkit-scrollbar{width:6px!important}
.modal-card.market-graphic #modalExtra::-webkit-scrollbar-track{background:rgba(74,57,34,.12)!important;border-radius:999px!important}
.modal-card.market-graphic #modalExtra::-webkit-scrollbar-thumb{background:linear-gradient(#4ce2d5,#c89a3f)!important;border-radius:999px!important}
.modal-card.market-graphic #modalActions{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:8!important;
  margin:0 -20px -20px!important;
  padding:10px 20px calc(10px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(226,207,155,.90),#d7c184 32%)!important;
  border-top:1px solid rgba(94,72,38,.28)!important;
  box-shadow:0 -10px 24px rgba(49,34,18,.13)!important;
}
.modal-card.market-graphic .cargo-catalog{
  padding-bottom:2px!important;
}
@media(max-width:520px){
  .modal{padding:10px 10px calc(8px + env(safe-area-inset-bottom))!important}
  .modal-card.market-graphic{
    max-height:calc(100svh - max(72px, env(safe-area-inset-top)))!important;
    padding:18px 14px 16px!important;
    border-radius:16px 16px 8px 8px!important;
  }
  .modal-card.market-graphic #modalExtra{padding-right:4px!important;margin-right:-4px!important}
  .modal-card.market-graphic #modalActions{margin:0 -14px -16px!important;padding-left:14px!important;padding-right:14px!important}
}

/* ======================================================================
   BORDER RUN v4.0.5 — REAL CITY ARRIVAL PHOTOS
   Wikimedia Commons skyline/downtown photos replace illustrated arrival
   hero art when online; the existing illustrated scene remains fallback.
   ====================================================================== */
.arrival-photo-hero{isolation:isolate;background:#171914!important}
.arrival-city-photo{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center 52%;opacity:0;transform:scale(1.035);filter:saturate(.92) contrast(1.04) brightness(.82);transition:opacity .34s ease,transform 1.4s ease;pointer-events:none}
.arrival-photo-shade{position:absolute;inset:0;z-index:3;opacity:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,11,10,.12) 0%,rgba(8,10,9,.06) 35%,rgba(8,9,8,.28) 62%,rgba(5,6,5,.82) 100%),linear-gradient(90deg,rgba(6,8,7,.34),transparent 52%,rgba(6,8,7,.12));transition:opacity .3s ease}
.arrival-photo-hero.photo-ready .arrival-city-photo{opacity:1;transform:scale(1)}
.arrival-photo-hero.photo-ready .arrival-photo-shade{opacity:1}
.arrival-photo-hero.photo-ready .arrival-landmark-silhouette{opacity:0;visibility:hidden;transform:translateX(-50%) translateY(10px);transition:opacity .2s ease,transform .2s ease}
.arrival-photo-hero.photo-ready .hero-backdrop,.arrival-photo-hero.photo-ready .hero-mid,.arrival-photo-hero.photo-ready .hero-fore,.arrival-photo-hero.photo-ready .hero-roadmark,.arrival-photo-hero.photo-ready .hero-biome-scenery{opacity:0!important;visibility:hidden}
.arrival-photo-hero.photo-ready:after{opacity:0!important}
.arrival-photo-hero.photo-ready .hero-copy{z-index:8!important}
.arrival-photo-hero.photo-ready .hero-copy small{color:#80dfd1;text-shadow:0 1px 3px #000}
.arrival-photo-hero.photo-ready .hero-copy strong{font-size:27px;text-shadow:0 2px 5px #000,0 0 16px rgba(0,0,0,.6)}
.arrival-photo-hero.photo-ready .hero-copy em{color:#f1dfb4;text-shadow:0 1px 3px #000}
.arrival-photo-credit{position:absolute;z-index:9;left:10px;top:10px;max-width:calc(100% - 58px);display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:rgba(6,9,8,.68);backdrop-filter:blur(5px);color:#e9ddb9;font:800 6px/1.2 Arial;letter-spacing:.04em;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.arrival-photo-credit span{color:#71d1c1;font:900 6px/1 Arial;letter-spacing:.14em;white-space:nowrap}
.arrival-photo-credit small{font:700 6px/1.2 Arial;color:#d8ceb0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arrival-photo-credit a{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(216,206,176,.55)}
.arrival-photo-hero.photo-loading .arrival-photo-credit{animation:cityPhotoPulse 1.05s ease-in-out infinite alternate}
@keyframes cityPhotoPulse{to{filter:brightness(1.35);border-color:rgba(113,209,193,.48)}}
@media(max-width:520px){
  .arrival-photo-hero.photo-ready .hero-copy strong{font-size:24px}
  .arrival-photo-credit{max-width:calc(100% - 52px);padding:4px 6px}
  .arrival-photo-credit,.arrival-photo-credit span,.arrival-photo-credit small{font-size:5.5px}
}

/* Persistent city/location card uses the same real-photo system. */
.location-photo-hero{isolation:isolate}
.city-card-photo{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center 52%;opacity:0;transform:scale(1.025);filter:saturate(.9) contrast(1.04) brightness(.8);transition:opacity .3s ease,transform 1.2s ease;pointer-events:none}
.location-photo-hero.photo-ready .city-card-photo{opacity:1;transform:scale(1)}
.location-photo-hero.photo-ready .arrival-photo-shade{opacity:1}
.location-photo-hero.photo-ready .hero-backdrop,.location-photo-hero.photo-ready .hero-mid,.location-photo-hero.photo-ready .hero-fore,.location-photo-hero.photo-ready .hero-roadmark{opacity:0!important;visibility:hidden}
.location-photo-hero.photo-ready .hero-copy{z-index:8}
.location-photo-hero.photo-ready .hero-copy strong{color:#fff1cb;text-shadow:0 2px 5px #000,0 0 12px rgba(0,0,0,.6)}
.location-photo-hero.photo-ready .hero-copy small{color:#e9ddb6;text-shadow:0 1px 3px #000}
.location-photo-hero.photo-ready .hero-badge{z-index:8;background:rgba(5,8,7,.62);backdrop-filter:blur(4px)}
.location-photo-credit{position:absolute;z-index:9;left:8px;top:8px;max-width:calc(100% - 52px);display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:rgba(5,8,7,.65);backdrop-filter:blur(4px);color:#e8dab7;font:800 5.5px/1.15 Arial;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.location-photo-credit span{color:#75d6c6;font:900 5.5px/1 Arial;letter-spacing:.12em}.location-photo-credit small{font:700 5.5px/1.15 Arial;color:#d8cdae}.location-photo-credit.clickable{cursor:pointer}.location-photo-hero.photo-loading .location-photo-credit{animation:cityPhotoPulse 1.05s ease-in-out infinite alternate}


/* ======================================================================
   BORDER RUN v4.0.5d — UNIVERSAL SUBMENU SCROLL + 3D VEHICLE TOKENS
   Every modal submenu gets its own Android-safe vertical scroll surface.
   Board, mini-board and travel pawns use transparent selected-ride renders.
   ====================================================================== */
.modal{
  overflow:hidden!important;
}
.modal-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  max-height:calc(100dvh - max(18px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important;
  overflow:hidden!important;
}
.modal-card #modalKicker,
.modal-card #modalTitle,
.modal-card #modalBody{
  flex:0 0 auto!important;
}
.modal-card #modalExtra{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  scrollbar-width:thin!important;
  scrollbar-gutter:stable!important;
  padding-right:4px;
}
.modal-card #modalExtra:empty{
  flex:0 0 auto!important;
  overflow:visible!important;
  padding-right:0!important;
}
.modal-card #modalExtra button,
.modal-card #modalExtra [role="button"]{
  touch-action:pan-y!important;
}
.modal-card #modalActions{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:12!important;
}
@media(max-width:520px){
  .modal{padding:8px 8px max(7px,env(safe-area-inset-bottom))!important}
  .modal-card{max-height:calc(100dvh - max(14px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)))!important}
  .modal-card #modalExtra{padding-right:3px}
}

/* Transparent selected-vehicle miniature layer.  No rectangular photo mask. */
.ride-render.token-3d{
  transform-style:preserve-3d;
  overflow:visible!important;
  isolation:isolate;
}
.ride-render.token-3d>img{
  position:relative;
  z-index:3;
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center bottom!important;
  border-radius:0!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
  transform:perspective(260px) rotateX(-2deg) rotateY(-3deg) translateY(-2%);
  transform-origin:center bottom;
}
.ride-render.token-3d .token3d-ground{
  display:block;
  position:absolute;
  z-index:1;
  left:12%;
  right:12%;
  bottom:0;
  height:18%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(7,8,7,.68) 0 36%,rgba(184,139,62,.42) 38% 44%,rgba(16,20,18,.78) 46% 63%,transparent 67%);
  box-shadow:0 5px 8px rgba(0,0,0,.42);
  transform:perspective(90px) rotateX(64deg);
  transform-origin:center;
  pointer-events:none;
}
.table-pawn-render{
  width:102px!important;
  height:62px!important;
  margin:-13px auto -15px!important;
  filter:drop-shadow(0 8px 5px rgba(0,0,0,.58)) drop-shadow(0 1px 1px rgba(255,211,120,.18))!important;
}
.table-pawn-render>img{object-fit:contain!important;border-radius:0!important;mask-image:none!important;-webkit-mask-image:none!important}
.vehicle-pawn{width:48px!important;height:32px!important;overflow:visible!important}
.vehicle-pawn .pawn-render{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:76px!important;
  height:48px!important;
  transform:translate(-50%,-55%)!important;
  filter:drop-shadow(0 7px 4px rgba(0,0,0,.64))!important;
}
.vehicle-pawn .pawn-render>img{object-fit:contain!important;border-radius:0!important;mask-image:none!important;-webkit-mask-image:none!important}
.mini-pawn .mini-pawn-render{
  width:78px!important;
  height:50px!important;
  margin:-17px -22px -12px!important;
  filter:drop-shadow(0 6px 4px rgba(0,0,0,.62))!important;
}
.mini-pawn .mini-pawn-render>img{object-fit:contain!important;border-radius:0!important;mask-image:none!important;-webkit-mask-image:none!important}
#journeySplash .journey-vehicle .journey-token-render{
  position:absolute!important;
  inset:-30% -46% -20%!important;
  width:auto!important;
  height:auto!important;
  filter:drop-shadow(0 20px 12px rgba(0,0,0,.72))!important;
}
#journeySplash .journey-vehicle .journey-token-render>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  border-radius:0!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
  transform:perspective(520px) rotateX(-2deg) rotateY(-4deg) scale(1.05)!important;
}


/* v4.0.6 STARTING POINT + CUSTOM GAME PIECE SETUP */
.start-customize-modal,.starting-point-modal{max-height:calc(100dvh - max(22px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}
.start-build-preview{display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:12px;align-items:center;padding:12px;margin:4px 0 10px;border:1px solid rgba(218,174,79,.42);border-radius:14px;background:linear-gradient(145deg,rgba(8,18,17,.96),rgba(35,27,16,.94))}
.start-build-preview>span{display:grid;place-items:center;min-width:0;height:112px;background:radial-gradient(ellipse at center,rgba(46,209,196,.12),transparent 68%);border-radius:12px}
.start-build-token{width:152px;height:94px;max-width:100%;filter:drop-shadow(0 10px 8px rgba(0,0,0,.62))}
.start-build-token>img{object-fit:contain!important;mask-image:none!important;-webkit-mask-image:none!important;border-radius:0!important}
.start-build-preview div{min-width:0}.start-build-preview small,.start-build-preview strong,.start-build-preview em{display:block}.start-build-preview small{font-size:9px;letter-spacing:.15em;color:#d5a64e}.start-build-preview strong{font-size:19px;color:#f4e5bc;margin:4px 0}.start-build-preview em{font-size:10px;line-height:1.45;color:#aeb3a6;font-style:normal}
.starting-point-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:8px 0 12px}
.starting-point-card{appearance:none;width:100%;min-height:150px;padding:14px;border-radius:14px;text-align:left;color:#efe0b9;border:1px solid rgba(212,173,91,.42);background:linear-gradient(145deg,#17211d,#1c1712);box-shadow:inset 0 1px rgba(255,255,255,.035);cursor:pointer}
.starting-point-card:focus-visible{outline:3px solid #35d4c8;outline-offset:2px}.starting-point-card.active{border-color:#35d4c8;box-shadow:0 0 0 1px rgba(53,212,200,.24),0 0 18px rgba(53,212,200,.12)}
.start-route-kicker{display:block;font-size:9px;letter-spacing:.16em;color:#44d9cb}.starting-point-card strong{display:block;font-size:24px;margin:4px 0 2px}.starting-point-card small{display:block;color:#9ea79d;font-size:11px}.start-route-stats{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 8px}.start-route-stats b{font-size:9px;padding:5px 7px;border-radius:999px;background:rgba(0,0,0,.28);border:1px solid rgba(226,180,80,.28);color:#e7c36d}.starting-point-card em,.starting-point-card i{display:block;font-size:10px;line-height:1.4;font-style:normal}.starting-point-card em{color:#f0d598}.starting-point-card i{margin-top:5px;color:#9aa69e}
.starting-point-card.route-west{background:linear-gradient(145deg,rgba(13,37,35,.98),rgba(23,26,21,.98))}.starting-point-card.route-central{background:linear-gradient(145deg,rgba(44,31,17,.98),rgba(26,25,20,.98))}.starting-point-card.route-east{background:linear-gradient(145deg,rgba(49,24,18,.98),rgba(27,24,20,.98))}
.boot-recovery{position:fixed;z-index:99999;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px;background:#0d1211;color:#f4e7c4;text-align:center}.boot-recovery.hidden{display:none!important}.boot-recovery img{width:112px;height:112px;border-radius:24px;object-fit:cover;box-shadow:0 10px 35px rgba(0,0,0,.5)}.boot-recovery strong{font-size:22px}.boot-recovery small{max-width:330px;color:#aeb7ad;line-height:1.45}.boot-recovery button{min-width:180px;min-height:48px;border:0;border-radius:10px;background:#22b9ad;color:#071211;font-weight:900;font-size:15px;padding:12px 18px}
@media (min-width:720px){.starting-point-grid{grid-template-columns:repeat(3,1fr)}.starting-point-card{min-height:190px}.start-build-preview{grid-template-columns:220px 1fr}.start-build-token{width:205px;height:124px}}


/* v4.0.6a BOARD-GAME ROLL + MOVEMENT PACING */
@keyframes boardPieceStepPop{
  0%{transform:perspective(260px) rotateX(-2deg) rotateY(-3deg) translateY(-2%) scale(1)}
  45%{transform:perspective(260px) rotateX(-4deg) rotateY(-2deg) translateY(-11%) scale(1.055)}
  100%{transform:perspective(260px) rotateX(-2deg) rotateY(-3deg) translateY(-2%) scale(1)}
}
.ride-render.token-3d.board-step-pop>img{animation:boardPieceStepPop .2s ease-out both}
@media(prefers-reduced-motion:reduce){.ride-render.token-3d.board-step-pop>img{animation:none!important}}


/* ============================================================
   v4.0.6c CHUNKY 3D DICE HOTFIX
   Android WebView can visually flatten fast CSS cubes at edge-on angles.
   Keep the dice physically deep, larger in flight, and away from flat poses.
   ============================================================ */
#boardDiceOverlay{perspective:700px!important;-webkit-perspective:700px!important}
#boardDiceOverlay .dice-pair-flight{transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important}
#boardDiceOverlay .dice-flight{perspective:720px!important;-webkit-perspective:720px!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important}
#boardDiceOverlay .die-cube3d{
  --die-size:112px!important;
  --die-half:60px!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  filter:drop-shadow(0 14px 7px rgba(0,0,0,.58));
}
#boardDiceOverlay .die-face{
  border-width:4px!important;
  border-radius:18px!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  box-shadow:inset -13px -14px 0 rgba(67,45,20,.19),inset 8px 8px 0 rgba(255,255,255,.28),0 0 0 1px rgba(20,16,10,.22)!important;
}
#boardDiceOverlay .die-face i{width:15px!important;height:15px!important;box-shadow:inset 1px 2px 1px rgba(255,255,255,.12),0 2px 1px rgba(0,0,0,.28)!important}
.board-dice-overlay.rolling .dice-flight-a{animation:v35DieAFlight 1.12s cubic-bezier(.17,.7,.2,1) both!important}
.board-dice-overlay.rolling .dice-flight-b{animation:v35DieBFlight 1.12s cubic-bezier(.17,.7,.2,1) both!important}
.board-dice-overlay.rolling .dice-flight-a .die-cube3d{animation:v35DieASpin 1.12s cubic-bezier(.14,.64,.19,1) both!important}
.board-dice-overlay.rolling .dice-flight-b .die-cube3d{animation:v35DieBSpin 1.12s cubic-bezier(.14,.64,.19,1) both!important}
.board-dice-overlay.rolling .dice-pair-shadow{animation:v35PairShadow 1.12s ease both!important}
@keyframes v35DieAFlight{
  0%{transform:translate3d(-132px,-188px,52px) rotate(-12deg) scale(.78)}
  28%{transform:translate3d(20px,-104px,74px) rotate(7deg) scale(1.01)}
  60%{transform:translate3d(-14px,-28px,42px) rotate(-4deg) scale(1.08)}
  81%{transform:translate3d(-4px,8px,18px) rotate(2deg) scale(1.02)}
  100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
}
@keyframes v35DieBFlight{
  0%{transform:translate3d(136px,-176px,48px) rotate(14deg) scale(.80)}
  27%{transform:translate3d(-24px,-92px,70px) rotate(-8deg) scale(1.02)}
  61%{transform:translate3d(15px,-23px,44px) rotate(5deg) scale(1.09)}
  83%{transform:translate3d(5px,9px,16px) rotate(-2deg) scale(1.02)}
  100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
}
@keyframes v35DieASpin{
  0%{transform:rotateX(23deg) rotateY(-31deg) rotateZ(7deg)}
  31%{transform:rotateX(437deg) rotateY(583deg) rotateZ(197deg)}
  68%{transform:rotateX(817deg) rotateY(941deg) rotateZ(623deg)}
  88%{transform:rotateX(calc(var(--die-rx) - 43deg)) rotateY(calc(var(--die-ry) + 37deg)) rotateZ(calc(var(--die-rz) - 19deg))}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@keyframes v35DieBSpin{
  0%{transform:rotateX(-19deg) rotateY(27deg) rotateZ(-9deg)}
  30%{transform:rotateX(-389deg) rotateY(527deg) rotateZ(-233deg)}
  69%{transform:rotateX(-761deg) rotateY(947deg) rotateZ(-557deg)}
  88%{transform:rotateX(calc(var(--die-rx) + 39deg)) rotateY(calc(var(--die-ry) - 33deg)) rotateZ(calc(var(--die-rz) + 17deg))}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@keyframes v35PairShadow{
  0%{opacity:.12;transform:translate(-50%,-50%) scale(.42)}
  66%{opacity:.58;transform:translate(-50%,-50%) scale(1.12)}
  100%{opacity:.48;transform:translate(-50%,-50%) scale(.96)}
}
@media(max-width:520px){
  #boardDiceOverlay .die-cube3d{--die-size:94px!important;--die-half:50px!important}
  #boardDiceOverlay .die-face{padding:12px!important;border-radius:16px!important}
  #boardDiceOverlay .die-face i{width:12px!important;height:12px!important}
  .dice-pair-flight{gap:18px!important}
}

/* v4.1.0 — 12 STARTS / 36 CITIES / 12 BALANCED RIDES / ACCOUNT GATE */
.starting-point-groups{display:grid;gap:14px}.start-city-group{border:1px solid rgba(230,191,102,.25);border-radius:14px;padding:10px;background:rgba(14,16,14,.54)}
.start-city-group>header{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin-bottom:9px}.start-city-group>header span{font-size:10px;letter-spacing:.15em;color:#e6b85f}.start-city-group>header strong{font-size:10px;color:#f0dfb4}.start-city-group>header small{grid-column:1/-1;color:#9f9b8e;font-size:10px}
.starting-point-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.starting-point-card{min-height:122px}.starting-point-card i{display:block;margin-top:5px;font-size:10px;opacity:.76}.starting-point-card em{font-size:10px;color:#e7c36e}.starting-point-card.active{outline:2px solid rgba(34,210,200,.78)}
.vehicle-trait{display:block;font-style:normal;font-size:10px;line-height:1.25;color:#d8bb72;margin:3px 0 5px}.vehicle-skin.purchasable:not(.active){border-style:dashed}.vehicle-skin.purchasable small{color:#e4c56e}.ride-summary-rich strong{white-space:nowrap}
.account-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.account-choice-grid>div,.account-current{border:1px solid rgba(230,191,102,.26);border-radius:12px;padding:12px;background:rgba(13,16,15,.66)}.account-choice-grid strong,.account-current strong{display:block;color:#f2dfac}.account-choice-grid small,.account-current small{display:block;color:#a6a398;margin-top:5px;line-height:1.35}.account-current span{display:block;color:#42cfc1;font-size:10px;letter-spacing:.16em;margin-bottom:4px}.account-form{display:grid;gap:10px}.account-form label{display:grid;gap:5px;color:#e7d7ac;font-size:11px;letter-spacing:.06em}.account-form input{width:100%;box-sizing:border-box;border:1px solid rgba(230,191,102,.3);border-radius:10px;background:#0f1514;color:#f5f1e7;padding:12px;font:inherit;font-size:16px;outline:none}.account-form input:focus{border-color:#2ccfc1;box-shadow:0 0 0 2px rgba(44,207,193,.14)}.account-form-status{min-height:34px;border-radius:9px;padding:9px 10px;background:rgba(255,255,255,.04);color:#aaa79c;font-size:11px;line-height:1.35}
@media (max-width:520px){.starting-point-grid,.account-choice-grid{grid-template-columns:1fr}.start-city-group>header{grid-template-columns:1fr}.start-city-group>header strong,.start-city-group>header small{grid-column:1}}


/* ============================================================
   v4.2.1 EXPANDED BOARD · COLLISION-SAFE TILES · PINCH ZOOM
   ============================================================ */
.tabletop-board{touch-action:pan-x pan-y;overscroll-behavior:contain;position:relative!important}
.board-zoom-hint{position:sticky;left:10px;top:10px;z-index:90;width:max-content;padding:5px 8px;border:1px solid rgba(75,220,207,.45);border-radius:999px;background:rgba(7,14,13,.82);color:#73ded4;font-size:9px;font-weight:900;letter-spacing:.08em;pointer-events:none;backdrop-filter:blur(5px)}
#board{transform-origin:0 0;will-change:transform}
.graphical-world-board .map-node:not(.buy-node){width:11.35%!important;min-width:0!important;min-height:48px!important;height:auto!important;padding:4px 3px!important;border-radius:9px!important;transform:translate(-50%,-50%)!important;overflow:visible!important}
.graphical-world-board .map-node:not(.buy-node) b{display:block!important;max-width:100%;font-size:7.2px!important;line-height:1.08!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:1px 0!important}
.graphical-world-board .map-node:not(.buy-node) small{font-size:5.8px!important;line-height:1!important;letter-spacing:.04em!important}
.graphical-world-board .map-node:not(.buy-node) .node-num{font-size:5.8px!important;padding:1px 3px!important}
.graphical-world-board .map-node:not(.buy-node) .node-biome-pip{width:14px!important;height:14px!important;font-size:7px!important}
.graphical-world-board .map-node.core-city-node{border-width:2px!important;min-height:57px!important;box-shadow:0 0 0 1px rgba(236,195,105,.22),0 7px 18px rgba(0,0,0,.68)!important}
.graphical-world-board .map-node.core-city-node b{font-size:8.2px!important;color:#fff0be!important}
.graphical-world-board .map-node.road-town-node{opacity:.96}
.graphical-world-board .map-node.node-action{border-color:#7e74d9!important}.graphical-world-board .map-node.node-patrol{border-color:#d36549!important}.graphical-world-board .map-node.node-hustle{border-color:#65c477!important}
.graphical-world-board .map-node .landmark-marker{transform:scale(.65)!important;transform-origin:center!important}
.graphical-world-board .vehicle-pawn{transform:translate(-50%,-78%) scale(.72)!important}
.required-stop-note{border-color:rgba(218,85,58,.55)!important;color:#f1c0ac!important}
@media(max-width:560px){.graphical-world-board .map-node:not(.buy-node){width:11.15%!important;min-height:45px!important}.graphical-world-board .map-node:not(.buy-node) b{font-size:6.6px!important}.graphical-world-board .map-node.core-city-node{min-height:53px!important}}

/* v4.2.1 dimensional-dice reinforcement: keep visible side depth on Android WebView. */
#boardDiceOverlay{perspective:560px!important;-webkit-perspective:560px!important}
#boardDiceOverlay .die-cube3d{--die-size:116px!important;--die-half:64px!important;filter:drop-shadow(12px 18px 8px rgba(0,0,0,.64))!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important}
#boardDiceOverlay .die-face{border-width:5px!important;box-shadow:inset -17px -18px 0 rgba(48,31,15,.24),inset 9px 9px 0 rgba(255,255,255,.29),0 0 0 2px rgba(17,13,8,.23)!important}
@media(max-width:520px){#boardDiceOverlay .die-cube3d{--die-size:98px!important;--die-half:54px!important}}


/* v4.2.1 playable Tokin game-piece rendering */
.tokin-game-piece{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#f4df9f 0 5%,#817049 35%,#292820 72%,#101310 100%);border:4px solid #d0ad5c;box-shadow:inset 0 0 0 2px rgba(255,255,255,.16),0 10px 12px rgba(0,0,0,.58);transform:perspective(220px) rotateX(58deg) rotateZ(-8deg);transform-style:preserve-3d;color:#f5e9bd;font-weight:1000;line-height:1}
.tokin-game-piece>i{font-style:normal;font-size:25px;text-shadow:0 2px 2px #000;transform:translateZ(8px) rotateZ(8deg)}.tokin-game-piece>b{position:absolute;inset:5px;border:1px dashed rgba(255,239,185,.42);border-radius:50%;transform:translateZ(4px)}
.token-greenleaf.tokin-game-piece,.token-potleaf.tokin-game-piece{background:radial-gradient(circle at 35% 25%,#86ad6e,#315437 58%,#17251a)}.token-purplesmoke.tokin-game-piece{background:radial-gradient(circle at 35% 25%,#a47db0,#4a3154 60%,#1e1823)}.token-goldfoil.tokin-game-piece,.token-420.tokin-game-piece{background:radial-gradient(circle at 35% 25%,#fff0a4,#a97c2d 55%,#4a3218)}.token-bong.tokin-game-piece{background:radial-gradient(circle at 35% 25%,#a2e4dd,#347a76 52%,#153231)}.token-peace.tokin-game-piece{background:radial-gradient(circle at 35% 25%,#e8d6aa,#7b6948 58%,#25221a)}
.vehicle-pawn.tokin-pawn .tokin-game-piece{width:48px;height:48px;border-width:3px}.vehicle-pawn.tokin-pawn .tokin-game-piece>i{font-size:18px}.table-pawn-render.tokin-game-piece{width:92px;height:92px}.journey-token-render.tokin-game-piece{width:132px;height:132px}.mini-pawn-render.tokin-game-piece{width:42px;height:42px;border-width:2px}
.playable-tokins .playable-piece{min-height:150px}.playable-tokins .playable-piece em{display:block;font-style:normal;color:#d8bb72;font-size:9px;line-height:1.3;margin:3px 0}.playable-tokins .playable-piece.purchasable:not(.active){border-style:dashed}

/* ======================================================================
   BORDER RUN v4.2.2 — BOARD-FIRST MOVEMENT · LANDMARK PULL-UP · DAY/NIGHT
   ====================================================================== */
.board-stage-right{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.world-clock-chip{display:flex;align-items:center;gap:7px;min-width:118px;padding:6px 9px;border:1px solid rgba(245,210,127,.46);border-radius:12px;background:linear-gradient(180deg,rgba(15,22,21,.9),rgba(10,15,14,.86));box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 5px 14px rgba(0,0,0,.24);transition:background .8s ease,border-color .8s ease,box-shadow .8s ease}
.world-clock-chip>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font:900 17px/1 Georgia,serif;background:#f2cf72;color:#47331c;box-shadow:0 0 18px rgba(244,198,91,.35)}
.world-clock-chip div{min-width:0}.world-clock-chip strong{display:block!important;margin:0!important;font:900 11px/1 Arial,sans-serif!important;color:#fff0be!important;white-space:nowrap}.world-clock-chip small{display:block;margin-top:3px;color:#77ded3;font:900 6px/1 Arial,sans-serif;letter-spacing:.13em;white-space:nowrap}
.world-clock-chip.phase-dawn>span{background:#efbc82}.world-clock-chip.phase-day>span{background:#ffe48a;box-shadow:0 0 22px rgba(255,222,103,.55)}.world-clock-chip.phase-golden>span{background:#f2a94e}.world-clock-chip.phase-dusk>span{background:#c98c72}.world-clock-chip.phase-night>span{background:#a8c6d8;color:#18303b;box-shadow:0 0 18px rgba(112,214,229,.32)}

/* The whole tabletop visibly changes with the simulated travel time. */
.graphical-world-board .graphical-world-layer,.graphical-world-board .terrain-world,.graphical-world-board .map-node,.fullscreen-board-stage{transition:filter 1.15s ease,background-color 1.15s ease,box-shadow 1.15s ease}
body.time-day .graphical-world-board .graphical-world-layer{filter:saturate(1.13) contrast(1.01) brightness(1.22)!important}
body.time-day .graphical-world-board .terrain-world{filter:saturate(1.08) brightness(1.20)!important;opacity:.22!important}
body.time-day .graphical-world-board .map-node{filter:brightness(1.13) saturate(1.06)!important;box-shadow:0 8px 18px rgba(37,27,15,.36)!important}
body.time-day .fullscreen-board-stage{background:linear-gradient(180deg,rgba(92,86,59,.16),rgba(35,37,31,.06))!important}
body.time-dawn .graphical-world-board .graphical-world-layer{filter:saturate(1.08) brightness(1.06) sepia(.08)!important}
body.time-dawn .graphical-world-board .terrain-world{filter:saturate(1.06) brightness(1.05)!important;opacity:.19!important}
body.time-golden .graphical-world-board .graphical-world-layer{filter:saturate(1.18) brightness(1.04) sepia(.13)!important}
body.time-golden .graphical-world-board .terrain-world{filter:saturate(1.15) brightness(1.04)!important;opacity:.2!important}
body.time-dusk .graphical-world-board .graphical-world-layer{filter:saturate(1.12) brightness(.86) sepia(.08)!important}
body.time-dusk .graphical-world-board .map-node.current{box-shadow:0 0 0 2px rgba(255,193,101,.35),0 0 25px rgba(255,156,73,.32)!important}
body.time-night .graphical-world-board .graphical-world-layer{filter:saturate(1.16) contrast(1.07) brightness(.66) hue-rotate(5deg)!important}
body.time-night .graphical-world-board .terrain-world{filter:saturate(1.15) brightness(.64)!important;opacity:.16!important}
body.time-night .graphical-world-board .living-roads{filter:drop-shadow(0 0 8px rgba(64,231,218,.32)) drop-shadow(0 2px 2px rgba(0,0,0,.72))!important}
body.time-night .graphical-world-board .road-biome-center{stroke:#72e6db!important;filter:drop-shadow(0 0 5px rgba(75,235,221,.48))!important}
body.time-night .graphical-world-board .map-node{filter:brightness(.88) saturate(1.15)!important;box-shadow:0 0 0 1px rgba(80,221,210,.10),0 7px 18px rgba(0,0,0,.76)!important}
body.time-night .graphical-world-board .map-node.current{filter:brightness(1.12) saturate(1.18)!important;box-shadow:0 0 0 2px rgba(77,228,214,.42),0 0 28px rgba(63,230,215,.50)!important}

/* Arrival splash now shows the destination rather than interrupting travel first. */
#journeySplash.arrival-pullup:after{content:"PULLING UP"!important}
#journeySplash.arrival-pullup .journey-photo{z-index:0!important;filter:saturate(1.12) contrast(1.03) brightness(1.02)!important;animation:arrivalPhotoPush 3s ease-out both!important}
@keyframes arrivalPhotoPush{from{transform:scale(1.02)}to{transform:scale(1.075) translateY(-.6%)}}
#journeySplash .journey-city-photo{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.035);filter:saturate(1.08) contrast(1.04) brightness(.96);transition:opacity .4s ease,transform 2.8s ease;pointer-events:none}
#journeySplash.photo-ready .journey-city-photo{opacity:1;transform:scale(1.085)}
#journeySplash .journey-photo-credit{position:absolute;z-index:12;right:4%;top:max(5%,calc(env(safe-area-inset-top) + 12px));max-width:43%;padding:5px 8px;border:1px solid rgba(255,255,255,.20);border-radius:8px;background:rgba(7,12,11,.66);backdrop-filter:blur(6px);color:#e8dab5;font:800 6px/1.2 Arial,sans-serif;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#journeySplash .journey-photo-credit span{color:#71ded2;font:900 6px/1 Arial,sans-serif;letter-spacing:.12em;margin-right:5px}#journeySplash .journey-photo-credit small{font:700 6px/1.2 Arial,sans-serif;color:#e0d4b6}
#journeySplash .journey-sky,#journeySplash .journey-terrain,#journeySplash .journey-horizon{z-index:2!important;opacity:.10!important}
#journeySplash .journey-road{z-index:4!important;opacity:.44!important}
#journeySplash .journey-speedlines,#journeySplash .journey-particles{z-index:5!important}
#journeySplash .journey-landmark{position:absolute;z-index:6;right:7%;bottom:29%;display:flex;align-items:center;gap:12px;max-width:46%;padding:12px 14px;border:1px solid rgba(243,209,126,.62);border-radius:16px;background:linear-gradient(145deg,rgba(11,18,17,.80),rgba(22,18,13,.72));backdrop-filter:blur(7px);box-shadow:0 14px 34px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.04);transform:translateY(10px);opacity:.72;transition:transform .65s ease .9s,opacity .65s ease .9s}
#journeySplash.pulling-up .journey-landmark{transform:translateY(0);opacity:1}
#journeySplash .journey-landmark>i{font-style:normal;display:grid;place-items:center;min-width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1bd,#d7a14d 48%,#5a3820 100%);border:2px solid rgba(255,231,166,.72);box-shadow:0 0 28px rgba(242,180,72,.22);color:#322117;font:900 34px/1 Georgia,serif;text-shadow:0 1px 0 rgba(255,255,255,.35)}
#journeySplash .journey-landmark span{min-width:0}#journeySplash .journey-landmark small{display:block;color:#67e0d5;font:900 7px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}#journeySplash .journey-landmark strong{display:block;margin-top:5px;color:#fff0c2;font:900 clamp(17px,2.4vw,27px)/.95 Georgia,serif;text-transform:uppercase;text-shadow:0 2px 4px #000}

/* The chosen vehicle/Tokin physically drives into the landmark shot. */
#journeySplash.arrival-pullup .journey-vehicle{z-index:8!important;left:-16%!important;bottom:12%!important;width:clamp(170px,27vw,300px)!important;height:clamp(104px,16vw,178px)!important;animation:none!important;opacity:.82;transform:translateX(-50%) perspective(520px) rotateX(8deg) rotateZ(-3deg) scale(.70)!important;transition:left 1.8s cubic-bezier(.14,.73,.23,1),bottom 1.8s cubic-bezier(.14,.73,.23,1),transform 1.8s cubic-bezier(.14,.73,.23,1),opacity .5s ease!important}
#journeySplash.arrival-pullup.pulling-up .journey-vehicle{left:43%!important;bottom:24%!important;opacity:1;transform:translateX(-50%) perspective(520px) rotateX(5deg) rotateZ(-.6deg) scale(1.02)!important}
#journeySplash.arrival-pullup.arrived .journey-vehicle{left:44%!important;bottom:24.5%!important;transform:translateX(-50%) perspective(520px) rotateX(4deg) rotateZ(0) translateY(-3px) scale(1.075)!important;filter:drop-shadow(0 20px 14px rgba(0,0,0,.62)) drop-shadow(0 0 18px rgba(255,199,93,.18))!important}
#journeySplash.arrival-pullup .journey-vehicle:after{background:radial-gradient(ellipse at center,rgba(255,205,112,.22),transparent 67%)!important}
#journeySplash.arrival-pullup .journey-progress{opacity:.48!important;bottom:16%!important}
#journeySplash.arrival-pullup .journey-speedlines{opacity:.18!important;transition:opacity .7s ease}
#journeySplash.arrival-pullup.arrived .journey-speedlines,#journeySplash.arrival-pullup.arrived .journey-road:before{opacity:.04!important;animation-play-state:paused!important}
#journeySplash.arrival-pullup .journey-top-card{z-index:11!important;width:min(67%,610px)!important}
#journeySplash.arrival-pullup .journey-top-card strong{font-size:clamp(30px,5.4vw,58px)!important}
#journeySplash.arrival-pullup .journey-roll-card{z-index:11!important}
#journeySplash.arrival-pullup .journey-bottom-hud{z-index:11!important}

/* Lighting overlays for both city photography and illustrated fallback art. */
#journeySplash.arrival-pullup:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;transition:background .7s ease}
#journeySplash.arrival-pullup.time-day:before{background:linear-gradient(180deg,rgba(255,239,180,.08),transparent 44%,rgba(82,60,31,.08))}
#journeySplash.arrival-pullup.time-dawn:before{background:linear-gradient(180deg,rgba(236,153,105,.16),rgba(255,203,134,.06) 45%,rgba(34,42,42,.12))}
#journeySplash.arrival-pullup.time-golden:before{background:linear-gradient(180deg,rgba(246,161,61,.18),rgba(255,197,92,.07) 45%,rgba(72,42,23,.12))}
#journeySplash.arrival-pullup.time-dusk:before{background:linear-gradient(180deg,rgba(78,65,118,.22),rgba(202,102,77,.12) 50%,rgba(14,19,22,.24))}
#journeySplash.arrival-pullup.time-night:before{background:radial-gradient(circle at 76% 36%,rgba(82,224,216,.15),transparent 19%),radial-gradient(circle at 25% 63%,rgba(255,184,72,.12),transparent 16%),linear-gradient(180deg,rgba(7,21,34,.28),rgba(5,9,17,.52))}
#journeySplash.arrival-pullup.time-day .journey-city-photo{filter:saturate(1.12) contrast(1.01) brightness(1.14)!important}
#journeySplash.arrival-pullup.time-dawn .journey-city-photo{filter:saturate(1.12) brightness(1.02) sepia(.08)!important}
#journeySplash.arrival-pullup.time-golden .journey-city-photo{filter:saturate(1.18) brightness(1.03) sepia(.16)!important}
#journeySplash.arrival-pullup.time-dusk .journey-city-photo{filter:saturate(1.11) brightness(.84) hue-rotate(-4deg)!important}
#journeySplash.arrival-pullup.time-night .journey-city-photo{filter:saturate(1.08) contrast(1.08) brightness(.61) hue-rotate(7deg)!important}

/* Current city cards inherit the same time of day so the transition persists after the splash. */
body.time-day .arrival-city-photo,body.time-day .city-card-photo{filter:saturate(1.08) contrast(1.02) brightness(1.12)!important}
body.time-golden .arrival-city-photo,body.time-golden .city-card-photo{filter:saturate(1.16) brightness(1.02) sepia(.12)!important}
body.time-dusk .arrival-city-photo,body.time-dusk .city-card-photo{filter:saturate(1.08) brightness(.83)!important}
body.time-night .arrival-city-photo,body.time-night .city-card-photo{filter:saturate(1.04) contrast(1.09) brightness(.60) hue-rotate(6deg)!important}

/* Make each physical board step more obvious. */
@keyframes boardPieceStepPopV422{0%{transform:scale(.91) translateY(6px)}55%{transform:scale(1.14) translateY(-7px)}100%{transform:scale(1) translateY(0)}}
.ride-render.token-3d.board-step-pop>img{animation:boardPieceStepPopV422 .245s cubic-bezier(.16,.82,.28,1) both!important}
.vehicle-pawn.tokin-pawn .board-step-pop{animation:boardPieceStepPopV422 .245s cubic-bezier(.16,.82,.28,1) both!important}

@media(max-width:620px){
  .board-stage-right{gap:4px}.board-stage-legend{display:none!important}.world-clock-chip{min-width:104px;padding:4px 6px;border-radius:9px}.world-clock-chip>span{width:23px;height:23px;font-size:14px}.world-clock-chip strong{font-size:9px!important}.world-clock-chip small{font-size:5px!important}
  #journeySplash .journey-photo-credit{top:max(4%,calc(env(safe-area-inset-top) + 8px));right:3%;max-width:49%;font-size:5.3px}
  #journeySplash .journey-landmark{right:4%;bottom:31%;max-width:53%;padding:8px 9px;gap:7px;border-radius:12px}
  #journeySplash .journey-landmark>i{min-width:44px;height:44px;font-size:24px}.journey-landmark strong{font-size:15px!important}
  #journeySplash.arrival-pullup .journey-vehicle{width:172px!important;height:106px!important}
  #journeySplash.arrival-pullup.pulling-up .journey-vehicle{left:39%!important;bottom:25%!important}
  #journeySplash.arrival-pullup .journey-top-card{width:72%!important}.journey-top-card strong{font-size:35px!important}
  #journeySplash.arrival-pullup .journey-roll-card{top:24%!important}
}
@media(prefers-reduced-motion:reduce){
  #journeySplash.arrival-pullup .journey-vehicle{left:43%!important;bottom:24%!important;opacity:1!important;transition:none!important;transform:translateX(-50%) scale(1)!important}
  #journeySplash .journey-city-photo,#journeySplash .journey-landmark{transition:none!important}.ride-render.token-3d.board-step-pop>img{animation:none!important}
}


/* ============================================================
   BORDER RUN v4.2.2k — VISUAL POLISH / TRANSITION SMOOTHING
   ============================================================ */
/* Keep big cinematic handoffs readable without harsh cuts. */
#boardDiceOverlay{transition:opacity .24s ease,transform .24s ease;will-change:opacity,transform}
#boardDiceOverlay.cinematic-out{transition:opacity .36s ease!important}
.journey-splash,.journey-splash.leaving{transition:opacity .46s ease!important}
.tabletop-board,.map-node,.vehicle-pawn .pawn-render,.action-panel,.action-splash{backface-visibility:hidden;-webkit-backface-visibility:hidden}

/* Clean, fuller vehicle previews. */
.start-build-preview>span{overflow:hidden}
.start-build-token{width:164px;height:98px}
.start-build-token>img{object-fit:contain!important;object-position:center 60%!important}
.start-build-token.ride-hoopty>img,.ride-render.token-3d.ride-hoopty>img{object-fit:contain!important;object-position:center bottom!important}

/* Arrival cards now ease in/out with the vehicle pull-up instead of hard appearing. */
#journeySplash.arrival-pullup .journey-top-card,
#journeySplash.arrival-pullup .journey-roll-card,
#journeySplash.arrival-pullup .journey-bottom-hud,
#journeySplash.arrival-pullup .journey-photo-credit{
  opacity:0;transform:translateY(12px);
  transition:opacity .42s ease,transform .55s cubic-bezier(.18,.8,.24,1);
}
#journeySplash.arrival-pullup .journey-roll-card{transform:translateY(10px) scale(.98)}
#journeySplash.arrival-pullup .journey-bottom-hud{transform:translateY(16px)}
#journeySplash.arrival-pullup.pulling-up .journey-top-card,
#journeySplash.arrival-pullup.pulling-up .journey-roll-card,
#journeySplash.arrival-pullup.pulling-up .journey-bottom-hud,
#journeySplash.arrival-pullup.pulling-up .journey-photo-credit,
#journeySplash.arrival-pullup.arrived .journey-top-card,
#journeySplash.arrival-pullup.arrived .journey-roll-card,
#journeySplash.arrival-pullup.arrived .journey-bottom-hud,
#journeySplash.arrival-pullup.arrived .journey-photo-credit{opacity:1;transform:none}
#journeySplash.arrival-pullup.leaving .journey-top-card,
#journeySplash.arrival-pullup.leaving .journey-roll-card,
#journeySplash.arrival-pullup.leaving .journey-bottom-hud,
#journeySplash.arrival-pullup.leaving .journey-photo-credit{opacity:0;transform:translateY(10px)}

/* Smooth the vehicle pull-up and prevent cropy token framing. */
#journeySplash .journey-vehicle .journey-token-render{
  position:absolute!important;inset:-18% -24% -10%!important;width:auto!important;height:auto!important;
  filter:drop-shadow(0 18px 14px rgba(0,0,0,.72))!important;
}
#journeySplash .journey-vehicle .journey-token-render>img{
  width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;
  border-radius:0!important;mask-image:none!important;-webkit-mask-image:none!important;
  transform:perspective(520px) rotateX(-2deg) rotateY(-3deg) scale(1.03)!important;
}
#journeySplash.arrival-pullup .journey-vehicle{
  transition:left 2.05s cubic-bezier(.14,.73,.23,1),bottom 2.05s cubic-bezier(.14,.73,.23,1),transform 2.05s cubic-bezier(.14,.73,.23,1),opacity .54s ease!important;
}
#journeySplash.arrival-pullup.pulling-up .journey-vehicle{left:42%!important;bottom:24%!important;opacity:1;transform:translateX(-50%) perspective(520px) rotateX(5deg) rotateZ(-.6deg) scale(1)!important}
#journeySplash.arrival-pullup.arrived .journey-vehicle{left:43%!important;bottom:24.5%!important;transform:translateX(-50%) perspective(520px) rotateX(4deg) rotateZ(0) translateY(-2px) scale(1.04)!important}

/* Chunkier dice with gentler spin range so they never read like paper-thin slabs. */
#boardDiceOverlay{perspective:940px!important;-webkit-perspective:940px!important}
#boardDiceOverlay .die-cube3d{--die-size:118px!important;--die-half:63px!important;filter:drop-shadow(0 16px 9px rgba(0,0,0,.62))!important}
#boardDiceOverlay .die-face{border-width:5px!important;border-radius:19px!important;box-shadow:inset -14px -15px 0 rgba(67,45,20,.20),inset 9px 9px 0 rgba(255,255,255,.30),0 0 0 1px rgba(20,16,10,.25)!important}
#boardDiceOverlay .die-cube3d:before,#boardDiceOverlay .die-cube3d:after{content:"";position:absolute;inset:9px;border-radius:18px;pointer-events:none;z-index:-2;background:rgba(70,50,27,.46);filter:blur(.2px)}
#boardDiceOverlay .die-cube3d:before{transform:translate3d(10px,13px,-24px)}
#boardDiceOverlay .die-cube3d:after{transform:translate3d(-8px,8px,-18px);opacity:.48}
.board-dice-overlay.rolling .dice-flight-a{animation:v422kDieAFlight 1.42s cubic-bezier(.17,.70,.20,1) both!important}
.board-dice-overlay.rolling .dice-flight-b{animation:v422kDieBFlight 1.42s cubic-bezier(.17,.70,.20,1) both!important}
.board-dice-overlay.rolling .dice-flight-a .die-cube3d{animation:v422kDieASpin 1.42s cubic-bezier(.14,.64,.19,1) both!important}
.board-dice-overlay.rolling .dice-flight-b .die-cube3d{animation:v422kDieBSpin 1.42s cubic-bezier(.14,.64,.19,1) both!important}
.board-dice-overlay.rolling .dice-pair-shadow{animation:v422kPairShadow 1.42s ease both!important}
@keyframes v422kDieAFlight{0%{transform:translate3d(-112px,-172px,70px) rotate(-10deg) scale(.78)}30%{transform:translate3d(24px,-103px,90px) rotate(7deg) scale(1.02)}62%{transform:translate3d(-13px,-31px,58px) rotate(-4deg) scale(1.10)}84%{transform:translate3d(-3px,7px,28px) rotate(2deg) scale(1.035)}100%{transform:translate3d(0,0,0) rotate(0) scale(1)}}
@keyframes v422kDieBFlight{0%{transform:translate3d(116px,-166px,68px) rotate(11deg) scale(.80)}29%{transform:translate3d(-26px,-96px,88px) rotate(-7deg) scale(1.025)}63%{transform:translate3d(14px,-28px,60px) rotate(4deg) scale(1.105)}84%{transform:translate3d(4px,8px,26px) rotate(-2deg) scale(1.035)}100%{transform:translate3d(0,0,0) rotate(0) scale(1)}}
@keyframes v422kDieASpin{0%{transform:rotateX(calc(var(--die-rx) - 24deg)) rotateY(calc(var(--die-ry) + 28deg)) rotateZ(calc(var(--die-rz) - 14deg))}33%{transform:rotateX(calc(var(--die-rx) + 22deg)) rotateY(calc(var(--die-ry) - 26deg)) rotateZ(calc(var(--die-rz) + 18deg))}67%{transform:rotateX(calc(var(--die-rx) - 18deg)) rotateY(calc(var(--die-ry) + 20deg)) rotateZ(calc(var(--die-rz) - 12deg))}86%{transform:rotateX(calc(var(--die-rx) + 8deg)) rotateY(calc(var(--die-ry) - 10deg)) rotateZ(calc(var(--die-rz) + 6deg))}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
@keyframes v422kDieBSpin{0%{transform:rotateX(calc(var(--die-rx) + 22deg)) rotateY(calc(var(--die-ry) - 26deg)) rotateZ(calc(var(--die-rz) + 15deg))}34%{transform:rotateX(calc(var(--die-rx) - 20deg)) rotateY(calc(var(--die-ry) + 24deg)) rotateZ(calc(var(--die-rz) - 18deg))}68%{transform:rotateX(calc(var(--die-rx) + 16deg)) rotateY(calc(var(--die-ry) - 19deg)) rotateZ(calc(var(--die-rz) + 11deg))}86%{transform:rotateX(calc(var(--die-rx) - 7deg)) rotateY(calc(var(--die-ry) + 9deg)) rotateZ(calc(var(--die-rz) - 5deg))}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
@keyframes v422kPairShadow{0%{opacity:.16;transform:translate(-50%,-50%) scale(.50)}62%{opacity:.60;transform:translate(-50%,-50%) scale(1.13)}100%{opacity:.50;transform:translate(-50%,-50%) scale(.98)}}
@media(max-width:520px){#boardDiceOverlay .die-cube3d{--die-size:98px!important;--die-half:52px!important}}
@media(prefers-reduced-motion:reduce){
  .ride-render.token-3d.board-step-pop>img,.vehicle-pawn.tokin-pawn .board-step-pop{animation:none!important}
  #journeySplash.arrival-pullup .journey-top-card,
  #journeySplash.arrival-pullup .journey-roll-card,
  #journeySplash.arrival-pullup .journey-bottom-hud,
  #journeySplash.arrival-pullup .journey-photo-credit{transition:none!important;opacity:1!important;transform:none!important}
}
/* ============================================================
   BORDER RUN v4.2.2j — STREAMING ROAD RADIO
   ============================================================ */
.radio-stream-panel{display:grid;gap:8px;padding:10px;border:1px solid #4d5e55;border-radius:10px;background:linear-gradient(155deg,rgba(26,34,30,.98),rgba(16,18,16,.98));box-shadow:inset 0 0 24px rgba(0,0,0,.32)}
.radio-stream-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}.radio-stream-head>div{min-width:0}.radio-stream-head span{display:block;color:#59b7aa;font:900 7px/1 Arial;letter-spacing:.16em}.radio-stream-head strong{display:block;margin-top:4px;color:#edddb5;font:900 11px/1.15 Georgia,serif}.radio-stream-head small{display:block;margin-top:4px;color:#9f9a86;font:700 7.5px/1.35 Arial}.radio-open-preferred{min-height:42px;max-width:130px;padding:7px 9px;border:1px solid #d1a94d;border-radius:8px;background:linear-gradient(180deg,#d9b453,#98712c);color:#18150f;font:900 7.5px/1.15 Arial;letter-spacing:.06em;box-shadow:0 3px 0 #4e3715}
.radio-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.radio-provider{min-width:0;min-height:48px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px;align-items:center;padding:6px 7px;text-align:left;border:1px solid #4b493d;border-radius:8px;background:linear-gradient(145deg,#292a24,#191a17);color:#e8dab2}.radio-provider .provider-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;border:1px solid #466f65;background:#20322e;color:#69c8b8;font:900 9px/1 Arial;letter-spacing:.02em}.radio-provider strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:900 8.5px/1 Arial}.radio-provider small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#99927c;font:700 6.5px/1 Arial}.radio-provider.active{border-color:#62c3b5;box-shadow:inset 0 0 0 1px rgba(98,195,181,.28),0 0 14px rgba(98,195,181,.11)}.radio-provider.active .provider-mark{border-color:#d6b253;color:#ffe18a}
.radio-custom-service{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(120px,1.45fr) 54px;gap:6px;align-items:center;padding-top:3px}.radio-custom-service strong{display:block;color:#d7c79e;font:900 7px/1 Arial;letter-spacing:.07em}.radio-custom-service small{display:block;margin-top:3px;color:#918b78;font:700 6px/1.2 Arial}.radio-custom-service input{min-width:0;height:37px;padding:0 8px;border:1px solid #525045;border-radius:7px;background:#111511;color:#e7dab7;font:700 9px/1 Arial;outline:none}.radio-custom-service input:focus{border-color:#5fbcb0;box-shadow:0 0 0 2px rgba(95,188,176,.15)}.radio-custom-service button{height:37px;border:1px solid #5f8178;border-radius:7px;background:#203d37;color:#dff0df;font:900 7px/1 Arial;letter-spacing:.07em}.radio-service-message{min-height:9px;color:#e3b75a;font:800 6.5px/1.2 Arial;letter-spacing:.03em}
@media(max-width:520px){.radio-stream-head{grid-template-columns:1fr}.radio-open-preferred{max-width:none;width:100%}.radio-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-custom-service{grid-template-columns:1fr 58px}.radio-custom-service>div{grid-column:1/-1}.radio-custom-service input{font-size:8px}}


/* ============================================================
   BORDER RUN v4.2.2l — CAMERA + ARRIVAL CINEMATIC POLISH
   ============================================================ */
/* The board camera is now driven by a cancellable JS tween. Prevent the browser's
   built-in smooth-scroll queue from fighting with the next tile movement. */
.tabletop-board.camera-glide{scroll-behavior:auto!important}
.tabletop-board.camera-tracking .map-node{transition:filter .32s ease,opacity .32s ease,border-color .24s ease,box-shadow .32s ease!important}
.tabletop-board.camera-tracking .terrain-zone{transition:filter .38s ease,opacity .38s ease!important}
.tabletop-board.camera-settle{animation:cameraSettleV422l .72s cubic-bezier(.18,.82,.24,1)!important}
@keyframes cameraSettleV422l{0%{filter:brightness(.94) saturate(.96)}45%{filter:brightness(1.045) saturate(1.03)}100%{filter:none}}

/* Arrival uses approach -> pull-up -> settle -> fade. */
#journeySplash.arrival-pullup{transition:opacity .46s ease!important}
#journeySplash.arrival-pullup .journey-photo{transform:scale(1.015);transition:transform 3.1s cubic-bezier(.16,.72,.22,1),filter .7s ease!important}
#journeySplash.arrival-pullup.approaching .journey-photo{transform:scale(1.035)}
#journeySplash.arrival-pullup.pulling-up .journey-photo{transform:scale(1.065) translateY(-.35%)}
#journeySplash.arrival-pullup.arrived .journey-photo{transform:scale(1.078) translateY(-.55%)}
#journeySplash.arrival-pullup.leaving .journey-photo{transform:scale(1.085) translateY(-.6%)}
#journeySplash.arrival-pullup .journey-city-photo{transition:opacity .52s ease,transform 3.15s cubic-bezier(.16,.72,.22,1),filter .7s ease!important}
#journeySplash.arrival-pullup .journey-landmark{transition:transform .62s cubic-bezier(.16,.82,.24,1) .18s,opacity .52s ease .18s!important}
#journeySplash.arrival-pullup.approaching .journey-landmark{opacity:.40;transform:translateY(14px) scale(.985)}
#journeySplash.arrival-pullup.pulling-up .journey-landmark,#journeySplash.arrival-pullup.arrived .journey-landmark{opacity:1;transform:none}
#journeySplash.arrival-pullup.leaving .journey-landmark{opacity:0;transform:translateY(-6px) scale(.99);transition-delay:0s!important}

/* Give the vehicle a short on-ramp before the main pull-up instead of teleporting
   from off-screen to its destination trajectory. */
#journeySplash.arrival-pullup .journey-vehicle{left:-19%!important;bottom:10.5%!important;opacity:.18!important;transform:translateX(-50%) perspective(520px) rotateX(8deg) rotateZ(-4deg) scale(.62)!important}
#journeySplash.arrival-pullup.approaching .journey-vehicle{left:-10%!important;bottom:13%!important;opacity:.64!important;transform:translateX(-50%) perspective(520px) rotateX(7deg) rotateZ(-2.6deg) scale(.73)!important}
#journeySplash.arrival-pullup.pulling-up .journey-vehicle{left:42%!important;bottom:24%!important;opacity:1!important;transform:translateX(-50%) perspective(520px) rotateX(5deg) rotateZ(-.6deg) scale(1)!important}
#journeySplash.arrival-pullup.arrived .journey-vehicle{left:43%!important;bottom:24.5%!important;opacity:1!important;transform:translateX(-50%) perspective(520px) rotateX(4deg) rotateZ(0) translateY(-2px) scale(1.04)!important}
#journeySplash.arrival-pullup.leaving .journey-vehicle{opacity:.78!important;transform:translateX(-50%) perspective(520px) rotateX(4deg) rotateZ(0) translateY(-1px) scale(1.02)!important;transition:opacity .42s ease,transform .42s ease!important}

/* Soften secondary overlays too. */
.action-splash{transition:opacity .28s ease,transform .34s cubic-bezier(.18,.82,.24,1)!important}
.action-splash.active{transform:translateY(0) scale(1)!important}
.action-splash:not(.active){transform:translateY(6px) scale(.992)}
.modal{transition:opacity .22s ease!important}
.action-panel{transition:transform .34s cubic-bezier(.18,.82,.24,1),opacity .30s ease,box-shadow .30s ease!important}

@media(prefers-reduced-motion:reduce){
  .tabletop-board.camera-settle{animation:none!important}
  #journeySplash.arrival-pullup .journey-photo,
  #journeySplash.arrival-pullup .journey-city-photo,
  #journeySplash.arrival-pullup .journey-landmark,
  #journeySplash.arrival-pullup .journey-vehicle{transition:none!important}
}


/* ============================================================
   BORDER RUN v4.2.2m — ANDROID VISUAL RELIABILITY
   Fixes: WebView white boot, black travel board, edge-on dice,
   and generic road art covering real landmark photography.
   ============================================================ */

/* During live camera movement, simplify the largest composited layers so
   Android WebView does not temporarily black them out. */
.tabletop-board.camera-tracking .graphical-world-layer,
.tabletop-board.camera-glide .graphical-world-layer{
  transform:none!important;
  filter:saturate(1.04) contrast(1.01) brightness(1.03)!important;
  will-change:auto!important;
}
.tabletop-board.camera-tracking .terrain-world,
.tabletop-board.camera-glide .terrain-world{mix-blend-mode:normal!important;opacity:.11!important;filter:none!important}
.tabletop-board.camera-tracking .map-node.neighborhood-4,
.tabletop-board.camera-tracking .map-node.neighborhood-5{opacity:.82!important}
.tabletop-board.camera-tracking .map-node.neighborhood-6,
.tabletop-board.camera-tracking .map-node.neighborhood-7,
.tabletop-board.camera-tracking .map-node.neighborhood-8,
.tabletop-board.camera-tracking .map-node.neighborhood-9{opacity:.56!important;filter:brightness(.84) saturate(.9)!important}
.tabletop-board.camera-tracking:after{box-shadow:inset 0 0 28px 7px rgba(14,10,7,.34)!important}
body.time-day .tabletop-board.camera-tracking .graphical-world-layer,
body.time-day .tabletop-board.camera-glide .graphical-world-layer{filter:saturate(1.12) contrast(1.01) brightness(1.18)!important}
body.time-dawn .tabletop-board.camera-tracking .graphical-world-layer,
body.time-dawn .tabletop-board.camera-glide .graphical-world-layer{filter:saturate(1.08) brightness(1.05)!important}
body.time-golden .tabletop-board.camera-tracking .graphical-world-layer,
body.time-golden .tabletop-board.camera-glide .graphical-world-layer{filter:saturate(1.14) brightness(1.04) sepia(.08)!important}
body.time-dusk .tabletop-board.camera-tracking .graphical-world-layer,
body.time-dusk .tabletop-board.camera-glide .graphical-world-layer{filter:saturate(1.08) brightness(.90)!important}
body.time-night .tabletop-board.camera-tracking .graphical-world-layer,
body.time-night .tabletop-board.camera-glide .graphical-world-layer{filter:saturate(1.08) contrast(1.05) brightness(.73) hue-rotate(4deg)!important}

/* If a real landmark/city photo loads, do not cover the lower half with the
   fictional fallback highway scene. The selected game piece now sits directly
   on the authentic photograph. */
#journeySplash.photo-ready .journey-terrain,
#journeySplash.photo-ready .journey-horizon,
#journeySplash.photo-ready .journey-road{opacity:0!important;transition:opacity .38s ease!important}
#journeySplash.photo-ready .journey-speedlines{opacity:.035!important}
#journeySplash.photo-ready .journey-particles{opacity:.10!important}
#journeySplash.photo-ready .journey-city-photo{z-index:2!important;opacity:1!important}
#journeySplash.photo-ready .journey-landmark,
#journeySplash.photo-ready .journey-vehicle,
#journeySplash.photo-ready .journey-top-card,
#journeySplash.photo-ready .journey-roll-card,
#journeySplash.photo-ready .journey-bottom-hud,
#journeySplash.photo-ready .journey-photo-credit{z-index:11!important}
#journeySplash.photo-ready .journey-vehicle:before{content:"";position:absolute;left:12%;right:12%;bottom:2%;height:14%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.62),transparent 72%);filter:blur(3px);z-index:-1}

/* Android-safe 2.5D dice. Only the rolled face is rendered; an offset backing
   slab supplies visible physical depth. No X/Y edge-on transform is possible. */
#boardDiceOverlay .die-cube3d{
  --die-size:118px!important;--die-half:0px!important;
  width:var(--die-size)!important;height:var(--die-size)!important;
  position:relative!important;transform-style:flat!important;-webkit-transform-style:flat!important;
  transform:rotateZ(var(--die-land-z,-5deg))!important;
  filter:drop-shadow(0 15px 9px rgba(0,0,0,.58))!important;
}
#boardDiceOverlay .die-cube3d:before{
  content:""!important;position:absolute!important;inset:10px -13px -14px 10px!important;
  display:block!important;border:5px solid #5b4324!important;border-radius:21px!important;
  background:linear-gradient(145deg,#9a7741,#6b4d28)!important;
  box-shadow:inset -8px -8px 0 rgba(36,24,12,.22),0 8px 10px rgba(0,0,0,.28)!important;
  z-index:0!important;transform:none!important;opacity:1!important;
}
#boardDiceOverlay .die-cube3d:after{
  content:""!important;position:absolute!important;left:13px!important;right:-7px!important;bottom:-9px!important;height:12px!important;
  display:block!important;border-radius:0 0 15px 15px!important;background:linear-gradient(90deg,#7d5d32,#5e421f)!important;
  z-index:1!important;opacity:.92!important;transform:none!important;
}
#boardDiceOverlay .die-face{display:none!important;position:absolute!important;inset:0!important;transform:none!important;backface-visibility:visible!important;-webkit-backface-visibility:visible!important;z-index:3!important}
#boardDiceOverlay .die-cube3d[data-face="1"] .die-face-1,
#boardDiceOverlay .die-cube3d[data-face="2"] .die-face-2,
#boardDiceOverlay .die-cube3d[data-face="3"] .die-face-3,
#boardDiceOverlay .die-cube3d[data-face="4"] .die-face-4,
#boardDiceOverlay .die-cube3d[data-face="5"] .die-face-5,
#boardDiceOverlay .die-cube3d[data-face="6"] .die-face-6{display:grid!important;transform:none!important}
.board-dice-overlay.rolling .dice-flight-a .die-cube3d{animation:v422mDieAChunky 1.42s cubic-bezier(.15,.72,.20,1) both!important}
.board-dice-overlay.rolling .dice-flight-b .die-cube3d{animation:v422mDieBChunky 1.42s cubic-bezier(.15,.72,.20,1) both!important}
@keyframes v422mDieAChunky{0%{transform:rotateZ(-76deg) scale(.84)}25%{transform:rotateZ(98deg) scale(1.05)}53%{transform:rotateZ(214deg) scale(1.10)}78%{transform:rotateZ(326deg) scale(1.045)}100%{transform:rotateZ(var(--die-land-z,-6deg)) scale(1)}}
@keyframes v422mDieBChunky{0%{transform:rotateZ(82deg) scale(.86)}24%{transform:rotateZ(-102deg) scale(1.04)}55%{transform:rotateZ(-226deg) scale(1.11)}80%{transform:rotateZ(-334deg) scale(1.04)}100%{transform:rotateZ(var(--die-land-z,7deg)) scale(1)}}
@media(max-width:520px){#boardDiceOverlay .die-cube3d{--die-size:100px!important}#boardDiceOverlay .die-cube3d:before{inset:8px -11px -12px 8px!important}}


/* ============================================================
   BORDER RUN v4.2.2n — NATIVE BOOT + GUARANTEED DICE + CLEAN HOOPTY
   ============================================================ */
/* Board tracking stays readable. Do not turn neighboring city/town tiles into
   anonymous blurred blocks while the pawn is moving. */
.tabletop-board.camera-tracking .map-node,
.tabletop-board.camera-glide .map-node{
  opacity:.94!important;filter:brightness(.98) saturate(.98)!important;
  transition:opacity .28s ease,filter .28s ease,box-shadow .28s ease!important;
}
.tabletop-board.camera-tracking .map-node.current,
.tabletop-board.camera-glide .map-node.current{opacity:1!important;filter:brightness(1.10) saturate(1.08)!important}
.tabletop-board.camera-tracking .map-node b,
.tabletop-board.camera-tracking .map-node small,
.tabletop-board.camera-glide .map-node b,
.tabletop-board.camera-glide .map-node small{opacity:1!important;filter:none!important}

/* Clean Hoopty board/arrival token: no perspective warp. */
.ride-render.token-3d.ride-hoopty>img,
#journeySplash .journey-vehicle .ride-hoopty>img{
  object-fit:contain!important;object-position:center bottom!important;
  transform:none!important;filter:none!important;
}
.vehicle-pawn .ride-render.token-3d.ride-hoopty{width:78px!important;height:49px!important}
#journeySplash .journey-vehicle .journey-token-render.ride-hoopty{inset:-10% -16% -8%!important}

/* v4.2.2n dice: these nodes deliberately do NOT use the .die-cube3d class.
   All movement is 2D Z-rotation + translation, so Android cannot show an edge. */
#boardDiceOverlay .die-card25d{
  --die-size:118px;position:relative;width:var(--die-size);height:var(--die-size);
  display:block;transform:rotate(var(--die-land-z,-7deg));transform-origin:center;
  filter:drop-shadow(0 17px 9px rgba(0,0,0,.58));will-change:transform;
}
#boardDiceOverlay .die-card-edge{
  position:absolute;inset:10px -13px -14px 10px;border:5px solid #5b4324;border-radius:21px;
  background:linear-gradient(145deg,#9a7741,#6b4d28);box-shadow:inset -8px -8px 0 rgba(36,24,12,.22),0 8px 10px rgba(0,0,0,.28);z-index:0;
}
#boardDiceOverlay .die-card-face{
  position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);
  padding:16px;gap:2px;border:5px solid #5b4324;border-radius:21px;
  background:linear-gradient(145deg,#f7e9bf,#d5b776);box-shadow:inset -11px -12px 0 rgba(79,55,25,.13),inset 7px 7px 0 rgba(255,255,255,.25);
}
#boardDiceOverlay .die-card-face i{width:15px;height:15px;border-radius:50%;background:#29231a;box-shadow:inset 1px 2px 1px rgba(255,255,255,.10),0 2px 1px rgba(0,0,0,.3);place-self:center}
#boardDiceOverlay .die-card-face i.p1{grid-area:1/1}#boardDiceOverlay .die-card-face i.p3{grid-area:1/3}#boardDiceOverlay .die-card-face i.p4{grid-area:2/1}#boardDiceOverlay .die-card-face i.p5{grid-area:2/2}#boardDiceOverlay .die-card-face i.p6{grid-area:2/3}#boardDiceOverlay .die-card-face i.p7{grid-area:3/1}#boardDiceOverlay .die-card-face i.p9{grid-area:3/3}
.board-dice-overlay.rolling .dice-flight-a .die-card25d{animation:v422nDieCardA 1.42s cubic-bezier(.15,.72,.20,1) both!important}
.board-dice-overlay.rolling .dice-flight-b .die-card25d{animation:v422nDieCardB 1.42s cubic-bezier(.15,.72,.20,1) both!important}
@keyframes v422nDieCardA{0%{transform:rotate(-68deg) scale(.83)}25%{transform:rotate(76deg) scale(1.05)}53%{transform:rotate(192deg) scale(1.10)}78%{transform:rotate(312deg) scale(1.045)}100%{transform:rotate(var(--die-land-z,-7deg)) scale(1)}}
@keyframes v422nDieCardB{0%{transform:rotate(74deg) scale(.85)}24%{transform:rotate(-82deg) scale(1.04)}55%{transform:rotate(-198deg) scale(1.10)}80%{transform:rotate(-316deg) scale(1.04)}100%{transform:rotate(var(--die-land-z,7deg)) scale(1)}}
/* Preserve collectible die paint jobs on the safe face. */
.die-card25d.skin-neon .die-card-face{background:linear-gradient(145deg,#67326d,#c85b31 58%,#e4b24a);border-color:#f0d074}.die-card25d.skin-neon .die-card-face i{background:#fff4c8}
.die-card25d.skin-sunset .die-card-face{background:linear-gradient(145deg,#e57432,#e7b84e);border-color:#71431e}.die-card25d.skin-sunset .die-card-face i{background:#fff3d1}
.die-card25d.skin-blacktop .die-card-face,.die-card25d.skin-nightshift .die-card-face,.die-card25d.skin-midnight .die-card-face{background:linear-gradient(145deg,#303630,#141815);border-color:#d9b45a}.die-card25d.skin-blacktop .die-card-face i,.die-card25d.skin-nightshift .die-card-face i,.die-card25d.skin-midnight .die-card-face i{background:#e3bd59}
.die-card25d.skin-route66 .die-card-face{background:linear-gradient(145deg,#376677,#862f2b);border-color:#f3e3af}.die-card25d.skin-route66 .die-card-face i{background:#fff1c6}
.die-card25d.skin-greenleaf .die-card-face{background:linear-gradient(145deg,#47784c,#1f472e);border-color:#d4b66c}.die-card25d.skin-greenleaf .die-card-face i{background:#f0df9d}
.die-card25d.skin-purplekush .die-card-face,.die-card25d.skin-velvet .die-card-face{background:linear-gradient(145deg,#6e4777,#30253a);border-color:#d7b36b}.die-card25d.skin-purplekush .die-card-face i,.die-card25d.skin-velvet .die-card-face i{background:#f7e9bd}
.die-card25d.skin-copper .die-card-face,.die-card25d.skin-panamared .die-card-face{background:linear-gradient(145deg,#b46b3c,#713626);border-color:#edc27a}.die-card25d.skin-copper .die-card-face i,.die-card25d.skin-panamared .die-card-face i{background:#2f2118}
.die-card25d.skin-diamond .die-card-face,.die-card25d.skin-master72 .die-card-face{background:linear-gradient(145deg,#e7eef0,#8aa2a6 52%,#f4d88f);border-color:#eef9f7}.die-card25d.skin-diamond .die-card-face i,.die-card25d.skin-master72 .die-card-face i{background:#24343a}
.die-card25d.skin-cbwave .die-card-face,.die-card25d.skin-heatwave .die-card-face,.die-card25d.skin-kingpin .die-card-face,.die-card25d.skin-whitewall .die-card-face{background:linear-gradient(145deg,#e5c875,#9c6b30);border-color:#fff0b0}.die-card25d.skin-cbwave .die-card-face i,.die-card25d.skin-heatwave .die-card-face i,.die-card25d.skin-kingpin .die-card-face i,.die-card25d.skin-whitewall .die-card-face i{background:#29231a}
.die-card25d.skin-lucky .die-card-face{background:linear-gradient(145deg,#e1be62,#80682b);border-color:#f5dda0}.die-card25d.skin-smuggler .die-card-face{background:linear-gradient(145deg,#172521,#07100f);border-color:#3ab6aa}.die-card25d.skin-smuggler .die-card-face i{background:#69e1d6}.die-card25d.skin-hauler .die-card-face{background:linear-gradient(145deg,#d2c29c,#6d6656);border-color:#e4c875}.die-card25d.skin-risk .die-card-face{background:linear-gradient(145deg,#2b2923,#10110f);border-color:#e76d2c}.die-card25d.skin-risk .die-card-face i{background:#ff8a48}.die-card25d.skin-chromechecker .die-card-face{background:linear-gradient(135deg,#e4e7df 0 25%,#6d746e 25% 50%,#daddd5 50% 75%,#555c57 75%);border-color:#f0e2ba}.die-card25d.skin-goldflake .die-card-face{background:linear-gradient(145deg,#e2bd61,#735625);border-color:#ffe3a0}.die-card25d.skin-coyote .die-card-face{background:linear-gradient(145deg,#5b3d28,#171b19);border-color:#d19a56}.die-card25d.skin-coyote .die-card-face i{background:#71e0d5}
@media(max-width:520px){#boardDiceOverlay .die-card25d{--die-size:100px}#boardDiceOverlay .die-card-edge{inset:8px -11px -12px 8px}#boardDiceOverlay .die-card-face{padding:13px}#boardDiceOverlay .die-card-face i{width:13px;height:13px}}


/* ============================================================
   BORDER RUN v4.2.2p — PHONE-FIRST BOARD + NON-FLATTENABLE DICE
   ============================================================ */

/* The zoom readout lives in the board header now, never over a city tile. */
.board-stage-right .board-zoom-hint{
  position:static!important;left:auto!important;top:auto!important;transform:none!important;
  flex:0 0 auto;width:auto!important;margin:0!important;padding:5px 8px!important;
  border:1px solid rgba(75,220,207,.42)!important;border-radius:999px!important;
  background:rgba(7,14,13,.78)!important;color:#73ded4!important;
  font-size:7px!important;line-height:1!important;letter-spacing:.08em!important;
  white-space:nowrap!important;backdrop-filter:blur(5px);
}

/* Active game piece: more presence on the road without covering the city label. */
.graphical-world-board .vehicle-pawn{
  transform:translate(-50%,-82%) scale(.94)!important;
  filter:drop-shadow(0 8px 4px rgba(0,0,0,.68))!important;
}
.graphical-world-board .vehicle-pawn .pawn-render{
  width:88px!important;height:55px!important;
}

/* Keep the Mexico purchase/start city from swallowing nearby board spaces. */
.graphical-world-board .map-node.buy-node{
  width:13.25%!important;min-width:0!important;min-height:55px!important;
  padding:5px 4px!important;border-radius:10px!important;
}
.graphical-world-board .map-node.buy-node.current{
  transform:translate(-50%,-50%) scale(1.035)!important;
}

/* -------- Dice reliability: zero perspective in the entire cinematic chain -------- */
#boardDiceOverlay,
#boardDiceOverlay .dice-pair-flight,
#boardDiceOverlay .dice-flight,
#boardDiceOverlay .die-card25d,
#boardDiceOverlay .die-card-face,
#boardDiceOverlay .die-card-edge{
  perspective:none!important;-webkit-perspective:none!important;
  transform-style:flat!important;-webkit-transform-style:flat!important;
  backface-visibility:visible!important;-webkit-backface-visibility:visible!important;
}
#boardDiceOverlay .dice-flight{
  width:132px!important;height:142px!important;min-width:132px!important;
  display:grid!important;place-items:center!important;
}
#boardDiceOverlay .die-card25d{
  --die-size:112px!important;position:relative!important;display:block!important;
  width:var(--die-size)!important;height:var(--die-size)!important;
  min-width:var(--die-size)!important;min-height:var(--die-size)!important;
  aspect-ratio:1/1!important;transform:rotate(var(--die-land-z,-6deg))!important;
  transform-origin:center!important;filter:drop-shadow(0 16px 9px rgba(0,0,0,.62))!important;
}
#boardDiceOverlay .die-card-edge{
  inset:9px -14px -15px 9px!important;
  border:5px solid #5a4123!important;border-radius:21px!important;
  background:linear-gradient(145deg,#a17d46,#694a26)!important;
  box-shadow:inset -8px -8px 0 rgba(36,24,12,.22),0 8px 10px rgba(0,0,0,.30)!important;
}
#boardDiceOverlay .die-card-face{
  inset:0!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;
  grid-template-rows:repeat(3,1fr)!important;padding:15px!important;gap:2px!important;
  border:5px solid #5a4123!important;border-radius:21px!important;
  box-shadow:inset -11px -12px 0 rgba(79,55,25,.13),inset 7px 7px 0 rgba(255,255,255,.27)!important;
}

/* Replace every inherited flight/spin with strictly 2D transforms. */
.board-dice-overlay.rolling .dice-flight-a{
  animation:v422pFlightA 1.44s cubic-bezier(.17,.72,.20,1) both!important;
}
.board-dice-overlay.rolling .dice-flight-b{
  animation:v422pFlightB 1.44s cubic-bezier(.17,.72,.20,1) both!important;
}
.board-dice-overlay.rolling .dice-flight-a .die-card25d{
  animation:v422pDieA 1.44s cubic-bezier(.16,.76,.22,1) both!important;
}
.board-dice-overlay.rolling .dice-flight-b .die-card25d{
  animation:v422pDieB 1.44s cubic-bezier(.16,.76,.22,1) both!important;
}
@keyframes v422pFlightA{
  0%{transform:translate(-104px,-165px) rotate(-12deg) scale(.82)}
  30%{transform:translate(18px,-96px) rotate(8deg) scale(1.03)}
  62%{transform:translate(-10px,-27px) rotate(-5deg) scale(1.08)}
  84%{transform:translate(-3px,7px) rotate(2deg) scale(1.025)}
  100%{transform:translate(0,0) rotate(0) scale(1)}
}
@keyframes v422pFlightB{
  0%{transform:translate(108px,-158px) rotate(13deg) scale(.84)}
  29%{transform:translate(-20px,-91px) rotate(-8deg) scale(1.035)}
  63%{transform:translate(11px,-25px) rotate(5deg) scale(1.085)}
  84%{transform:translate(3px,8px) rotate(-2deg) scale(1.025)}
  100%{transform:translate(0,0) rotate(0) scale(1)}
}
@keyframes v422pDieA{
  0%{transform:rotate(-42deg)}
  30%{transform:rotate(52deg)}
  60%{transform:rotate(136deg)}
  82%{transform:rotate(22deg)}
  100%{transform:rotate(var(--die-land-z,-6deg))}
}
@keyframes v422pDieB{
  0%{transform:rotate(46deg)}
  31%{transform:rotate(-50deg)}
  61%{transform:rotate(-134deg)}
  82%{transform:rotate(-20deg)}
  100%{transform:rotate(var(--die-land-z,6deg))}
}

/* Phone-first board layout. Side rails become tiny launchers instead of covering tiles. */
@media(max-width:620px){
  .fullscreen-board-stage{
    padding-left:5px!important;padding-right:5px!important;
    margin-left:-3px!important;margin-right:-3px!important;
  }
  .fullscreen-board-stage .board-stage-head{
    padding:4px 45px 5px!important;min-height:42px!important;
    align-items:center!important;
  }
  .fullscreen-board-stage .board-stage-head>div:first-child strong{font-size:14px!important}
  .board-stage-right{gap:5px!important;flex-wrap:nowrap!important}
  .board-stage-legend{display:none!important}
  .board-stage-right .board-zoom-hint{font-size:6.4px!important;padding:4px 6px!important}
  .world-clock-chip{min-width:96px!important;padding:4px 5px!important}

  /* Route selector is a compact strip, not a second panel. */
  .fullscreen-board-stage .route-panel{
    position:relative!important;top:auto!important;
    margin:0 0 4px!important;padding:4px!important;
    background:rgba(25,22,17,.92)!important;
  }
  .fullscreen-board-stage .route-tabs{gap:4px!important}
  .fullscreen-board-stage .route-tab{
    min-height:39px!important;padding:3px 2px!important;gap:1px!important;
  }
  .fullscreen-board-stage .route-tab .route-name{font-size:7.5px!important}
  .fullscreen-board-stage .route-tab small{display:none!important}
  .fullscreen-board-stage .route-tab em,
  .fullscreen-board-stage .route-tab i{font-size:4.8px!important;line-height:1.05!important}
  .fullscreen-board-stage .route-meter{display:none!important}

  /* Collapsed rails only expose one meaningful control plus their menu toggle. */
  .party-rail{
    top:5px!important;left:5px!important;width:34px!important;
    padding:2px!important;gap:3px!important;z-index:55!important;
  }
  .party-rail:not(.expanded) .party-slot,
  .party-rail:not(.expanded) .manage-party,
  .party-rail:not(.expanded) .party-rail-title{display:none!important}
  .party-rail:not(.expanded) .party-rail-toggle{
    display:grid!important;place-items:center!important;height:34px!important;min-height:34px!important;
  }

  .side-action-rail{
    top:5px!important;right:5px!important;width:38px!important;
    padding:0!important;gap:3px!important;z-index:55!important;
  }
  .side-action-rail:not(.expanded) button:not(#sideRollBtn):not(.action-rail-toggle){
    display:none!important;
  }
  .side-action-rail:not(.expanded) #sideRollBtn{min-height:38px!important}
  .side-action-rail:not(.expanded) .action-rail-toggle{min-height:30px!important}

  /* Board gets the reclaimed width. */
  .fullscreen-board-stage .tabletop-board{
    height:76svh!important;min-height:610px!important;
    margin-left:0!important;margin-right:0!important;
  }
  .board.living-map{
    width:235%!important;min-width:900px!important;
  }

  /* Start/current cards are readable but no longer collide with their neighbors. */
  .graphical-world-board .map-node.buy-node{
    width:12.8%!important;min-height:50px!important;
  }
  .graphical-world-board .map-node.current{
    z-index:28!important;
  }

  /* Make the actual player piece feel important. */
  .graphical-world-board .vehicle-pawn{
    transform:translate(-50%,-84%) scale(1.02)!important;
  }
  .graphical-world-board .vehicle-pawn .pawn-render{
    width:94px!important;height:58px!important;
  }

  /* Player tray: maximum two compact rows for the common 4–6 actions. */
  .action-panel{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:5px!important;padding:5px 6px calc(5px + env(safe-area-inset-bottom))!important;
  }
  .action-panel .dice{
    width:42px!important;height:42px!important;font-size:19px!important;
  }
  .action-panel .actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;padding-top:0!important;
  }
  .action-panel .btn{
    min-height:40px!important;padding:5px 3px!important;
    font-size:8.5px!important;line-height:1.1!important;
  }

  /* Dice remain square and chunky on narrow phones too. */
  #boardDiceOverlay .dice-pair-flight{gap:14px!important}
  #boardDiceOverlay .dice-flight{width:112px!important;height:126px!important;min-width:112px!important}
  #boardDiceOverlay .die-card25d{--die-size:96px!important}
  #boardDiceOverlay .die-card-edge{inset:8px -12px -13px 8px!important}
  #boardDiceOverlay .die-card-face{padding:12px!important}
  #boardDiceOverlay .die-card-face i{width:12px!important;height:12px!important}
}

@media(max-width:390px){
  .fullscreen-board-stage .board-stage-head{padding-left:42px!important;padding-right:42px!important}
  .board-stage-right .board-zoom-hint{display:none!important}
  .world-clock-chip{min-width:92px!important}
  .action-panel .actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ============================================================
   BORDER RUN v4.2.2r — CACHE-PROOF PHONE LAYOUT
   This block is intentionally LAST so legacy rules cannot win.
   ============================================================ */
@media(max-width:620px){
  /* Make room for the map first. */
  #boardStage.fullscreen-board-stage{
    padding:4px!important;margin:0!important;overflow:visible!important;
  }
  #boardStage .board-stage-head{
    min-height:40px!important;padding:4px 42px 4px!important;
  }
  #boardStage .board-stage-head .mini-label{display:none!important}
  #boardStage .board-stage-head>div:first-child strong{font-size:13px!important}
  #boardStage .board-stage-right{display:flex!important;gap:4px!important;align-items:center!important}
  #boardStage .board-stage-right .board-zoom-hint{
    display:block!important;position:static!important;transform:none!important;
    padding:4px 6px!important;font-size:6px!important;
  }
  #boardStage .world-clock-chip{min-width:92px!important;padding:3px 5px!important}
  #boardStage .board-stage-legend{display:none!important}

  /* Route strip is shallow. */
  #boardStage .route-panel{
    position:relative!important;inset:auto!important;margin:0 0 3px!important;
    padding:3px!important;min-height:0!important;
  }
  #boardStage .route-panel-head{display:none!important}
  #boardStage .route-tabs{gap:3px!important}
  #boardStage .route-tab{min-height:37px!important;padding:3px 2px!important}
  #boardStage .route-tab small{display:none!important}
  #boardStage .route-meter{display:none!important}

  /* Closed rails occupy only the corners, never full-height board columns. */
  #boardStage .party-rail:not(.expanded){
    position:absolute!important;left:5px!important;top:5px!important;
    width:32px!important;height:34px!important;min-height:0!important;
    padding:0!important;background:transparent!important;border:0!important;
    overflow:visible!important;z-index:80!important;
  }
  #boardStage .party-rail:not(.expanded)>*:not(.party-rail-toggle){display:none!important}
  #boardStage .party-rail:not(.expanded) .party-rail-toggle{
    display:grid!important;position:static!important;width:32px!important;height:34px!important;
    min-height:34px!important;margin:0!important;place-items:center!important;
  }

  #boardStage .side-action-rail:not(.expanded){
    position:absolute!important;right:5px!important;top:5px!important;
    width:36px!important;height:auto!important;min-height:0!important;
    padding:0!important;background:transparent!important;border:0!important;
    overflow:visible!important;z-index:80!important;
  }
  #boardStage .side-action-rail:not(.expanded)>button{display:none!important}
  #boardStage .side-action-rail:not(.expanded)>#sideRollBtn,
  #boardStage .side-action-rail:not(.expanded)>.action-rail-toggle{
    display:grid!important;position:static!important;width:36px!important;
    margin:0 0 3px!important;min-height:34px!important;
  }
  #boardStage .side-action-rail:not(.expanded)>#sideRollBtn b,
  #boardStage .side-action-rail:not(.expanded)>.action-rail-toggle b{display:none!important}

  /* Map receives the reclaimed width. */
  #boardStage .tabletop-board{
    width:100%!important;margin:0!important;height:73svh!important;min-height:590px!important;
  }
  #boardStage .board.living-map{
    min-width:900px!important;width:225%!important;
  }

  /* Start/current cards can't cover two neighboring tiles. */
  #boardStage .graphical-world-board .map-node.buy-node{
    width:11.8%!important;max-width:165px!important;min-height:48px!important;
    padding:4px!important;
  }
  #boardStage .graphical-world-board .map-node.buy-node .node-sub,
  #boardStage .graphical-world-board .map-node.buy-node small{font-size:5.2px!important}
  #boardStage .graphical-world-board .map-node.current{z-index:30!important}

  /* Player vehicle is visually important. */
  #boardStage .graphical-world-board .vehicle-pawn{
    transform:translate(-50%,-84%) scale(1.08)!important;z-index:34!important;
  }
  #boardStage .graphical-world-board .vehicle-pawn .pawn-render{
    width:100px!important;height:62px!important;
  }

  /* Compact action tray. */
  #actionPanel.action-panel{
    grid-template-columns:44px minmax(0,1fr)!important;
    padding:5px 6px calc(5px + env(safe-area-inset-bottom))!important;
    gap:5px!important;
  }
  #actionPanel .actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;padding:0!important;
  }
  #actionPanel .btn{min-height:39px!important;padding:4px 3px!important;font-size:8px!important}
}

@media(max-width:390px){
  #boardStage .board-stage-right .board-zoom-hint{display:none!important}
  #actionPanel .actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ============================================================
   BORDER RUN v4.2.2t — REAL 2.5D DICE TUMBLE
   ============================================================ */
/*
   These rules remain perspective-free on purpose. The tumble illusion comes
   from corner-rocking, squash/stretch, migrating physical edge, face churn,
   lift and impact. The die can never become an edge-on paper slab.
*/
#boardDiceOverlay .die-card25d.die-tumble-body{
  transform-origin:50% 58%!important;
  will-change:transform,filter!important;
}
.board-dice-overlay.rolling .dice-flight-a{
  animation:v422tFlightA 1.72s cubic-bezier(.13,.69,.18,1) both!important;
}
.board-dice-overlay.rolling .dice-flight-b{
  animation:v422tFlightB 1.72s cubic-bezier(.13,.69,.18,1) both!important;
}
.board-dice-overlay.rolling .dice-flight-a .die-card25d{
  animation:v422tTumbleA 1.72s cubic-bezier(.18,.72,.18,1) both!important;
}
.board-dice-overlay.rolling .dice-flight-b .die-card25d{
  animation:v422tTumbleB 1.72s cubic-bezier(.18,.72,.18,1) both!important;
}
.board-dice-overlay.rolling .dice-flight-a .die-card-edge{
  animation:v422tEdgeA 1.72s ease-in-out both!important;
}
.board-dice-overlay.rolling .dice-flight-b .die-card-edge{
  animation:v422tEdgeB 1.72s ease-in-out both!important;
}
.board-dice-overlay.rolling .die-card-face{
  animation:v422tFaceLight 1.72s ease-in-out both!important;
}
.board-dice-overlay.rolling .dice-pair-shadow{
  animation:v422tShadow 1.72s ease-in-out both!important;
}

/* Two separate arcs stop the dice from looking synchronized or mechanical. */
@keyframes v422tFlightA{
  0%{transform:translate(-116px,-174px) rotate(-7deg) scale(.78)}
  14%{transform:translate(-78px,-138px) rotate(4deg) scale(.90)}
  29%{transform:translate(-27px,-101px) rotate(-5deg) scale(1.00)}
  44%{transform:translate(19px,-68px) rotate(5deg) scale(1.07)}
  59%{transform:translate(-13px,-37px) rotate(-4deg) scale(1.10)}
  73%{transform:translate(10px,-13px) rotate(3deg) scale(1.065)}
  86%{transform:translate(-4px,8px) rotate(-2deg) scale(1.025)}
  94%{transform:translate(2px,-5px) rotate(1deg) scale(1.012)}
  100%{transform:translate(0,0) rotate(0) scale(1)}
}
@keyframes v422tFlightB{
  0%{transform:translate(118px,-165px) rotate(9deg) scale(.80)}
  13%{transform:translate(82px,-126px) rotate(-5deg) scale(.91)}
  28%{transform:translate(31px,-94px) rotate(5deg) scale(1.01)}
  43%{transform:translate(-18px,-62px) rotate(-5deg) scale(1.08)}
  58%{transform:translate(15px,-34px) rotate(4deg) scale(1.095)}
  72%{transform:translate(-9px,-11px) rotate(-3deg) scale(1.06)}
  86%{transform:translate(4px,9px) rotate(2deg) scale(1.024)}
  94%{transform:translate(-2px,-4px) rotate(-1deg) scale(1.012)}
  100%{transform:translate(0,0) rotate(0) scale(1)}
}

/* Rock over successive corners. Minimum compressed axis stays above .76,
   so Android never gets a visually flat die. */
@keyframes v422tTumbleA{
  0%{transform:rotate(-38deg) skewX(-3deg) skewY(2deg) scale(1.00,.94) translateY(0)}
  11%{transform:rotate(8deg) skewX(10deg) skewY(-5deg) scale(1.10,.80) translateY(-9px)}
  22%{transform:rotate(54deg) skewX(4deg) skewY(10deg) scale(.82,1.10) translateY(-1px)}
  33%{transform:rotate(102deg) skewX(-11deg) skewY(4deg) scale(1.09,.79) translateY(-11px)}
  44%{transform:rotate(151deg) skewX(-4deg) skewY(-10deg) scale(.83,1.09) translateY(-1px)}
  55%{transform:rotate(202deg) skewX(10deg) skewY(-4deg) scale(1.08,.80) translateY(-10px)}
  66%{transform:rotate(253deg) skewX(4deg) skewY(9deg) scale(.84,1.08) translateY(-1px)}
  77%{transform:rotate(304deg) skewX(-9deg) skewY(4deg) scale(1.06,.83) translateY(-7px)}
  87%{transform:rotate(348deg) skewX(-3deg) skewY(-5deg) scale(.92,1.04) translateY(2px)}
  94%{transform:rotate(367deg) skewX(2deg) skewY(1deg) scale(1.035,.96) translateY(-3px)}
  100%{transform:rotate(var(--die-land-z,-6deg)) skewX(0) skewY(0) scale(1) translateY(0)}
}
@keyframes v422tTumbleB{
  0%{transform:rotate(41deg) skewX(3deg) skewY(-2deg) scale(.98,.95) translateY(0)}
  10%{transform:rotate(-7deg) skewX(-10deg) skewY(5deg) scale(1.09,.81) translateY(-8px)}
  21%{transform:rotate(-56deg) skewX(-4deg) skewY(-10deg) scale(.83,1.10) translateY(-1px)}
  32%{transform:rotate(-106deg) skewX(11deg) skewY(-4deg) scale(1.10,.78) translateY(-12px)}
  43%{transform:rotate(-157deg) skewX(4deg) skewY(10deg) scale(.82,1.09) translateY(-1px)}
  54%{transform:rotate(-208deg) skewX(-10deg) skewY(4deg) scale(1.08,.80) translateY(-10px)}
  65%{transform:rotate(-259deg) skewX(-4deg) skewY(-9deg) scale(.84,1.08) translateY(-1px)}
  76%{transform:rotate(-309deg) skewX(9deg) skewY(-4deg) scale(1.06,.83) translateY(-7px)}
  87%{transform:rotate(-350deg) skewX(3deg) skewY(5deg) scale(.92,1.04) translateY(2px)}
  94%{transform:rotate(-368deg) skewX(-2deg) skewY(-1deg) scale(1.035,.96) translateY(-3px)}
  100%{transform:rotate(var(--die-land-z,6deg)) skewX(0) skewY(0) scale(1) translateY(0)}
}

/* The visible "thickness" migrates around the die as it tumbles.
   This is what makes it read as rolling over corners instead of spinning flat. */
@keyframes v422tEdgeA{
  0%{transform:translate(3px,7px)}
  11%{transform:translate(-9px,5px)}
  22%{transform:translate(-8px,-7px)}
  33%{transform:translate(5px,-10px)}
  44%{transform:translate(10px,-4px)}
  55%{transform:translate(9px,7px)}
  66%{transform:translate(-3px,10px)}
  77%{transform:translate(-8px,5px)}
  87%{transform:translate(3px,7px)}
  100%{transform:translate(0,0)}
}
@keyframes v422tEdgeB{
  0%{transform:translate(-3px,7px)}
  10%{transform:translate(9px,5px)}
  21%{transform:translate(8px,-7px)}
  32%{transform:translate(-5px,-10px)}
  43%{transform:translate(-10px,-4px)}
  54%{transform:translate(-9px,7px)}
  65%{transform:translate(3px,10px)}
  76%{transform:translate(8px,5px)}
  87%{transform:translate(-3px,7px)}
  100%{transform:translate(0,0)}
}
@keyframes v422tFaceLight{
  0%,100%{filter:brightness(1)}
  11%,33%,55%,77%{filter:brightness(1.12)}
  22%,44%,66%,87%{filter:brightness(.92)}
  94%{filter:brightness(1.06)}
}
@keyframes v422tShadow{
  0%{opacity:.14;transform:translate(-50%,-50%) scale(.50)}
  33%{opacity:.34;transform:translate(-50%,-50%) scale(.76)}
  59%{opacity:.53;transform:translate(-50%,-50%) scale(1.10)}
  77%{opacity:.42;transform:translate(-50%,-50%) scale(.91)}
  87%{opacity:.65;transform:translate(-50%,-50%) scale(1.07)}
  94%{opacity:.35;transform:translate(-50%,-50%) scale(.94)}
  100%{opacity:.50;transform:translate(-50%,-50%) scale(1)}
}


/* BORDER RUN v4.2.2u — unified Hoopty + camera safe zones */
.ride-render.ride-hoopty>img,.vehicle-preview.vehicle-poster img[src*="/hoopty.webp"]{
  object-fit:contain!important;object-position:center bottom!important;transform:none!important;
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.55)) saturate(1.04) contrast(1.035)!important
}
.vehicle-preview.vehicle-poster img[src*="/hoopty.webp"]{width:96%!important;height:96%!important;margin:auto!important}
.graphical-world-board .vehicle-pawn .ride-render.ride-hoopty{width:106px!important;height:66px!important}
#journeySplash .journey-vehicle .ride-render.ride-hoopty{width:260px!important;height:150px!important}
.fullscreen-board-stage .tabletop-board{scroll-padding-inline:13%!important;scroll-padding-block:10% 15%!important}
.tabletop-board.camera-tracking .map-node,.tabletop-board.camera-glide .map-node{opacity:.90!important;filter:brightness(.94) saturate(.98)!important}
.tabletop-board.camera-tracking .map-node.current,.tabletop-board.camera-glide .map-node.current,
.tabletop-board.camera-tracking .map-node.neighborhood-0,.tabletop-board.camera-tracking .map-node.neighborhood-1,
.tabletop-board.camera-glide .map-node.neighborhood-0,.tabletop-board.camera-glide .map-node.neighborhood-1{
  opacity:1!important;filter:brightness(1.08) saturate(1.06)!important
}


/* ============================================================
   BORDER RUN v4.2.2v — VEHICLE PAINT MASK SYSTEM
   ============================================================ */

.paint-cream{--vehicle-paint:#d8c9a3;--vehicle-paint-opacity:.86}
.paint-copperdust{--vehicle-paint:#b66f47;--vehicle-paint-opacity:.80}
.paint-neonwave{--vehicle-paint:#28d9c9;--vehicle-paint-opacity:.82}
.paint-highplains{--vehicle-paint:#737b51;--vehicle-paint-opacity:.82}
.paint-gulfsunset{--vehicle-paint:#dc7445;--vehicle-paint-opacity:.82}
.paint-desertrunner{--vehicle-paint:#b28b5c;--vehicle-paint-opacity:.82}

.paint-masked{position:relative!important;isolation:isolate!important}
.paint-masked>.render-paint-layer{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  pointer-events:none!important;
  background:var(--vehicle-paint,#d8c9a3)!important;
  opacity:var(--vehicle-paint-opacity,.82)!important;
  mix-blend-mode:color!important;
  -webkit-mask-image:var(--paint-mask)!important;
  mask-image:var(--paint-mask)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center bottom!important;
  mask-position:center bottom!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}

.ride-render.token-3d.paint-masked>.render-paint-layer{
  transform:perspective(260px) rotateX(-2deg) rotateY(-3deg) translateY(-2%)!important;
  transform-origin:center bottom!important;
}
.ride-render.token-3d.ride-hoopty.paint-masked>.render-paint-layer{
  transform:none!important;
}
.vehicle-preview.vehicle-poster.paint-masked>.render-paint-layer{
  z-index:2!important;
  transform:scale(.96)!important;
  transform-origin:center 60%!important;
  -webkit-mask-position:center 60%!important;
  mask-position:center 60%!important;
}
.ride-chooser-modal .vehicle-preview.vehicle-poster.paint-masked>.render-paint-layer,
.ride-locker-modal .vehicle-preview.vehicle-poster.paint-masked>.render-paint-layer{
  transform:scale(1.045)!important;
}
.ride-render.paint-masked>.render-rim-accent,
.ride-render.paint-masked>.render-body-accent{z-index:6!important}

.vehicle-preview.vehicle-poster.paint-cream img,
.ride-render.paint-cream>img{
  filter:saturate(.92) contrast(1.03) brightness(1.01)!important;
}
.ride-render.ride-hoopty.paint-masked>img,
.vehicle-preview.vehicle-poster.paint-masked img[src*="/hoopty.webp"]{
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.55)) saturate(.94) contrast(1.035)!important;
}

/* BORDER RUN v4.2.2w — ONLINE PARTY BETA */
.online-party-form{display:grid;gap:12px;margin:12px 0}
.online-party-form label{display:grid;gap:6px;font:800 10px/1.2 system-ui,sans-serif;letter-spacing:.14em;color:#58e4dc}
.online-party-form input{width:100%;box-sizing:border-box;border:1px solid rgba(237,185,66,.55);border-radius:10px;background:#08100e;color:#f7e8bd;padding:14px 12px;font:800 16px/1 system-ui,sans-serif;text-transform:uppercase;outline:none}
.online-party-form input:focus{border-color:#56e5dd;box-shadow:0 0 0 2px rgba(86,229,221,.12)}
.party-badge{white-space:nowrap}

/* BORDER RUN v4.2.2x — PARTY CONNECT + NFC */
.party-share-panel{display:grid;gap:12px;justify-items:center}
.party-share-panel canvas{width:min(220px,70vw);height:auto;background:#fff;border-radius:14px;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.party-share-code{display:grid;gap:3px;text-align:center}
.party-share-code small{font:800 10px/1 system-ui,sans-serif;letter-spacing:.18em;color:#58e4dc}
.party-share-code strong{font:900 28px/1 system-ui,sans-serif;letter-spacing:.14em;color:#f4d36a}
.party-share-url{width:100%;box-sizing:border-box;border:1px solid rgba(86,229,221,.35);border-radius:9px;background:#08100e;color:#dce9e3;padding:10px;font:700 11px/1.25 system-ui,sans-serif}
.nfc-party-card,.nfc-status{border:1px solid rgba(86,229,221,.35);border-radius:12px;background:rgba(7,17,15,.84);padding:14px;display:grid;gap:5px}
.nfc-party-card strong,.nfc-status.success{color:#58e4dc}
.nfc-party-card small{color:#c7d2cd}


/* ============================================================
   BORDER RUN v4.2.2y — CITY ENTRY / MICROBUS ROOF / VICTORY
   ============================================================ */

/* City/town entry now has a real interior stop instead of silently ending. */
.city-entry-card{
  display:grid;gap:12px;margin:4px 0 8px;padding:12px;border-radius:14px;
  border:1px solid rgba(214,170,71,.45);
  background:linear-gradient(155deg,rgba(7,18,17,.97),rgba(34,26,17,.96));
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 10px 28px rgba(0,0,0,.25);
}
.city-entry-sign span,.city-entry-sign strong,.city-entry-sign small{display:block}
.city-entry-sign span{font:800 9px/1.1 system-ui,sans-serif;letter-spacing:.16em;color:#51ddd2}
.city-entry-sign strong{margin:5px 0 3px;font:900 24px/1.02 Georgia,serif;color:#f3dfaa}
.city-entry-sign small{font:700 10px/1.35 system-ui,sans-serif;color:#b9b9a8}
.city-entry-scene{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border-radius:10px;background:rgba(0,0,0,.24)}
.city-entry-scene>i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-style:normal;font-size:20px;color:#f4d46b;border:1px solid rgba(244,212,107,.45);background:#101714}
.city-entry-scene b,.city-entry-scene small{display:block}.city-entry-scene b{font-size:10px;letter-spacing:.08em;color:#e9d8aa}.city-entry-scene small{margin-top:4px;font-size:9px;line-height:1.45;color:#aeb8b0}

/* Hippy Micro Bus: preserve the complete roof line in every token context.
   The source PNG already contains the whole roof; previous mobile scale rules
   were pushing the top beyond clipped preview containers. */
.vehicle-skin.ride-microbus .vehicle-preview.vehicle-poster img{
  transform:scale(.88)!important;
  object-position:center 55%!important;
}
.vehicle-skin.ride-microbus:active .vehicle-preview.vehicle-poster img{
  transform:scale(.92)!important;
}
.start-build-token.ride-microbus{
  width:158px!important;height:104px!important;overflow:visible!important;
}
.start-build-token.ride-microbus>img{
  transform:perspective(260px) rotateX(-1deg) rotateY(-2deg) translateY(2%) scale(.90)!important;
  object-position:center 58%!important;
}
.start-build-token.ride-microbus>.render-paint-layer{
  transform:perspective(260px) rotateX(-1deg) rotateY(-2deg) translateY(2%) scale(.90)!important;
  -webkit-mask-position:center 58%!important;mask-position:center 58%!important;
  -webkit-mask-size:contain!important;mask-size:contain!important;
}
.ride-render.token-3d.ride-microbus>img{
  transform:perspective(260px) rotateX(-1deg) rotateY(-2deg) translateY(1%) scale(.91)!important;
  object-position:center 58%!important;
}
.ride-render.token-3d.ride-microbus>.render-paint-layer{
  transform:perspective(260px) rotateX(-1deg) rotateY(-2deg) translateY(1%) scale(.91)!important;
  -webkit-mask-position:center 58%!important;mask-position:center 58%!important;
}
.vehicle-pawn .ride-render.token-3d.ride-microbus,
.mini-pawn .ride-render.token-3d.ride-microbus,
.table-pawn-render.ride-microbus{
  overflow:visible!important;
}
#journeySplash .journey-vehicle .journey-token-render.ride-microbus>img{
  transform:perspective(520px) rotateX(-1deg) rotateY(-2deg) translateY(2%) scale(.94)!important;
}
#journeySplash .journey-vehicle .journey-token-render.ride-microbus>.render-paint-layer{
  transform:perspective(520px) rotateX(-1deg) rotateY(-2deg) translateY(2%) scale(.94)!important;
}

/* $10M finish animation */
.ten-million-victory{
  position:fixed;z-index:100000;inset:0;overflow:hidden;display:grid;place-items:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(225,171,52,.32),transparent 30%),
    linear-gradient(180deg,rgba(2,11,10,.96),rgba(11,9,5,.98));
  color:#f5e3aa;opacity:0;transform:scale(1.03);
  transition:opacity .32s ease,transform .48s cubic-bezier(.16,.82,.28,1);
  touch-action:manipulation;
}
.ten-million-victory.active{opacity:1;transform:scale(1)}
.ten-million-victory.leaving{opacity:0;transform:scale(.985)}
.victory-flare{position:absolute;inset:-15%;background:conic-gradient(from 0deg,transparent,rgba(67,226,211,.08),transparent,rgba(244,187,62,.12),transparent);animation:victoryFlareSpin 4s linear infinite}
.victory-copy{position:absolute;z-index:5;top:max(12%,calc(env(safe-area-inset-top) + 42px));left:7%;right:7%;text-align:center;text-shadow:0 5px 18px #000}
.victory-copy span{display:block;font:900 11px/1 system-ui,sans-serif;letter-spacing:.24em;color:#58e4dc}
.victory-copy strong{display:block;margin:11px 0 8px;font:900 clamp(35px,9vw,72px)/.9 Georgia,serif;color:#ffe49b}
.victory-copy em{display:block;font:900 12px/1 system-ui,sans-serif;letter-spacing:.20em;font-style:normal;color:#e7a63f}
.victory-piece{position:absolute;z-index:8;left:50%;top:52%;width:min(72vw,520px);height:220px;transform:translate(-50%,-50%);display:grid;place-items:center}
.victory-piece>.ride-render,.victory-piece>.tokin-game-piece{width:min(62vw,390px)!important;height:min(38vw,225px)!important;filter:drop-shadow(0 22px 13px rgba(0,0,0,.75))!important;animation:victoryCarBurst 1.3s cubic-bezier(.15,.8,.22,1) both}
.victory-piece>b{position:absolute;bottom:-5px;padding:6px 14px;border-radius:999px;border:1px solid rgba(244,202,91,.5);background:rgba(8,17,15,.88);font:900 10px/1 system-ui,sans-serif;letter-spacing:.18em;color:#f4ca5b}
.victory-cash{position:absolute;z-index:6;bottom:16%;font:900 clamp(34px,10vw,82px)/1 Georgia,serif;color:#58e4dc;text-shadow:0 5px 18px #000,0 0 28px rgba(67,226,211,.25);animation:victoryCashPulse .9s ease-in-out infinite alternate}
.victory-skip{position:absolute;z-index:10;bottom:max(5%,calc(env(safe-area-inset-bottom) + 18px));font:800 9px/1 system-ui,sans-serif;letter-spacing:.14em;color:#abb7af}
.victory-confetti{position:absolute;z-index:3;top:-8%;left:var(--x);width:8px;height:17px;border-radius:2px;background:linear-gradient(#f1c650,#4adfd3);animation:victoryConfetti 2.6s var(--delay) cubic-bezier(.2,.6,.25,1) infinite}
.victory-confetti:nth-of-type(3n){background:linear-gradient(#ef6f42,#f6d36a)}
.victory-confetti:nth-of-type(4n){width:6px;height:11px;background:#61d8ca}
.victory-bill{position:absolute;z-index:4;top:-10%;left:var(--x);display:grid;place-items:center;width:31px;height:16px;border:1px solid #4bb58c;background:#d6f0c1;color:#19714e;font:900 10px/1 Georgia,serif;transform:rotate(10deg);animation:victoryBillFall 3.1s var(--delay) linear infinite}
@keyframes victoryConfetti{0%{transform:translate3d(0,-8vh,0) rotate(0);opacity:0}10%{opacity:1}100%{transform:translate3d(var(--drift),112vh,0) rotate(var(--spin));opacity:.2}}
@keyframes victoryBillFall{0%{transform:translateY(-12vh) rotate(-15deg);opacity:0}8%{opacity:1}100%{transform:translateY(118vh) rotate(335deg);opacity:.25}}
@keyframes victoryCarBurst{0%{transform:translate3d(-85vw,28px,0) scale(.55) rotate(-4deg);opacity:0}58%{transform:translate3d(6vw,-6px,0) scale(1.08) rotate(1deg);opacity:1}78%{transform:translate3d(-2vw,1px,0) scale(.99)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes victoryCashPulse{from{transform:scale(.96)}to{transform:scale(1.045)}}
@keyframes victoryFlareSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .victory-confetti,.victory-bill,.victory-flare,.victory-piece>.ride-render,.victory-piece>.tokin-game-piece,.victory-cash{animation:none!important}
}


/* BORDER RUN v4.2.2z — LIVE SAVE + RESUME */
.resume-save-card{
  display:grid;
  gap:5px;
  margin:12px 0;
  padding:15px;
  border:1px solid rgba(86,229,221,.48);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(7,25,22,.95),rgba(17,18,14,.95));
  box-shadow:inset 0 0 24px rgba(86,229,221,.05),0 9px 26px rgba(0,0,0,.25);
}
.resume-save-card span{
  color:#58e4dc;
  font:800 10px/1.2 system-ui,sans-serif;
  letter-spacing:.15em;
}
.resume-save-card strong{
  color:#f2d36d;
  font:900 27px/1.05 Georgia,serif;
}
.resume-save-card small{
  color:#d7d1bd;
  font:700 11px/1.4 system-ui,sans-serif;
}


/* ============================================================
   BORDER RUN v4.2.3a — UNIFIED PWA + TRUE 3D BOARD DICE
   ============================================================ */

.install-top-btn{
  min-height:42px;padding:0 11px;border:1px solid rgba(87,226,214,.62);
  border-radius:10px;background:linear-gradient(#17302a,#0d1d1a);
  color:#65e8dd;font:900 9px/1 system-ui,sans-serif;letter-spacing:.10em;
  box-shadow:0 5px 0 rgba(0,0,0,.45);
}
.install-top-btn:active{transform:translateY(2px);box-shadow:0 3px 0 rgba(0,0,0,.45)}
.install-top-btn[hidden]{display:none!important}
.install-help-card{display:grid;gap:7px;padding:15px;border:1px solid rgba(84,226,214,.38);border-radius:12px;background:#07110f}
.install-help-card strong{color:#5be0d5;font:900 11px/1 system-ui,sans-serif;letter-spacing:.15em}
.install-help-card span{color:#f2d47e;font:900 15px/1.3 system-ui,sans-serif}
.install-help-card small{color:#bcc7c0;line-height:1.45}

/* The dice overlay now lives inside .tabletop-board during a roll. */
.tabletop-board{position:relative!important}
#boardDiceOverlay.board-dice-overlay.board-drop-mode{
  position:absolute!important;inset:0!important;z-index:120!important;
  width:auto!important;height:auto!important;min-height:0!important;
  display:grid!important;overflow:hidden!important;
  background:
    radial-gradient(circle at var(--dice-land-x,52%) var(--dice-land-y,50%),rgba(247,201,92,.13),transparent 24%),
    linear-gradient(rgba(3,8,7,.03),rgba(3,8,7,.16))!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  perspective:920px!important;-webkit-perspective:920px!important;
  border-radius:inherit;pointer-events:none!important;
}
#boardDiceOverlay.board-drop-mode .dice-world-backdrop{display:none!important}
#boardDiceOverlay.board-drop-mode .dice-cinematic-title{
  position:absolute!important;top:12px!important;left:50%!important;transform:translateX(-50%)!important;
  width:auto!important;max-width:92%!important;z-index:25!important;
}
#boardDiceOverlay.board-drop-mode .dice-cinematic-title span{
  padding:5px 11px!important;background:rgba(6,16,14,.88)!important;border-color:rgba(83,222,210,.42)!important;color:#62e4da!important;
}
#boardDiceOverlay.board-drop-mode .dice-cinematic-title strong{
  margin-top:5px!important;font-size:clamp(20px,5vw,32px)!important;line-height:.95!important;
}
#boardDiceOverlay.board-drop-mode .dice-cinematic-title small{
  margin-top:5px!important;font-size:7px!important;
}

/* Land the pair over the physical route board/current pawn. */
#boardDiceOverlay.board-drop-mode .dice-pair-flight{
  position:absolute!important;
  left:var(--dice-land-x,52%)!important;
  top:var(--dice-land-y,50%)!important;
  width:250px!important;height:150px!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:24px!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
}
#boardDiceOverlay.board-drop-mode .dice-flight{
  width:102px!important;height:118px!important;display:grid!important;place-items:center!important;
  perspective:800px!important;-webkit-perspective:800px!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
}
#boardDiceOverlay.board-drop-mode .die-cube3d.die-board-cube{
  --die-size:84px;--die-half:42px;
  width:var(--die-size)!important;height:var(--die-size)!important;
  position:relative!important;display:block!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))!important;
  filter:drop-shadow(0 16px 8px rgba(0,0,0,.62))!important;
  will-change:transform;
}
#boardDiceOverlay.board-drop-mode .die-face{
  position:absolute!important;inset:0!important;
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important;
  padding:11px!important;gap:1px!important;
  border:3px solid #5b4528!important;border-radius:15px!important;
  background:linear-gradient(145deg,#f5e6b4,#d2b06c)!important;
  box-shadow:inset -10px -11px 0 rgba(76,53,25,.16),inset 7px 7px 0 rgba(255,255,255,.25)!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
}
#boardDiceOverlay.board-drop-mode .die-face i{
  width:11px!important;height:11px!important;border-radius:50%!important;background:#29231a!important;
  place-self:center!important;box-shadow:inset 1px 2px 1px rgba(255,255,255,.10),0 2px 1px rgba(0,0,0,.30)!important;
}
#boardDiceOverlay.board-drop-mode .die-face i.p1{grid-area:1/1}
#boardDiceOverlay.board-drop-mode .die-face i.p3{grid-area:1/3}
#boardDiceOverlay.board-drop-mode .die-face i.p4{grid-area:2/1}
#boardDiceOverlay.board-drop-mode .die-face i.p5{grid-area:2/2}
#boardDiceOverlay.board-drop-mode .die-face i.p6{grid-area:2/3}
#boardDiceOverlay.board-drop-mode .die-face i.p7{grid-area:3/1}
#boardDiceOverlay.board-drop-mode .die-face i.p9{grid-area:3/3}

#boardDiceOverlay.board-drop-mode .die-face-1{transform:translateZ(var(--die-half))!important}
#boardDiceOverlay.board-drop-mode .die-face-6{transform:rotateY(180deg) translateZ(var(--die-half))!important}
#boardDiceOverlay.board-drop-mode .die-face-3{transform:rotateY(90deg) translateZ(var(--die-half))!important}
#boardDiceOverlay.board-drop-mode .die-face-4{transform:rotateY(-90deg) translateZ(var(--die-half))!important}
#boardDiceOverlay.board-drop-mode .die-face-2{transform:rotateX(90deg) translateZ(var(--die-half))!important}
#boardDiceOverlay.board-drop-mode .die-face-5{transform:rotateX(-90deg) translateZ(var(--die-half))!important}

/* Preserve the collectible skins across all six faces. */
#boardDiceOverlay.board-drop-mode .skin-neon .die-face{background:linear-gradient(145deg,#67326d,#c85b31 58%,#e4b24a)!important;border-color:#f0d074!important}
#boardDiceOverlay.board-drop-mode .skin-neon .die-face i{background:#fff4c8!important}
#boardDiceOverlay.board-drop-mode .skin-sunset .die-face{background:linear-gradient(145deg,#e57432,#e7b84e)!important;border-color:#71431e!important}
#boardDiceOverlay.board-drop-mode .skin-sunset .die-face i{background:#fff3d1!important}
#boardDiceOverlay.board-drop-mode .skin-blacktop .die-face,
#boardDiceOverlay.board-drop-mode .skin-nightshift .die-face,
#boardDiceOverlay.board-drop-mode .skin-midnight .die-face{background:linear-gradient(145deg,#303630,#141815)!important;border-color:#d9b45a!important}
#boardDiceOverlay.board-drop-mode .skin-blacktop .die-face i,
#boardDiceOverlay.board-drop-mode .skin-nightshift .die-face i,
#boardDiceOverlay.board-drop-mode .skin-midnight .die-face i{background:#e3bd59!important}
#boardDiceOverlay.board-drop-mode .skin-route66 .die-face{background:linear-gradient(145deg,#376677,#862f2b)!important;border-color:#f3e3af!important}
#boardDiceOverlay.board-drop-mode .skin-route66 .die-face i{background:#fff1c6!important}
#boardDiceOverlay.board-drop-mode .skin-greenleaf .die-face{background:linear-gradient(145deg,#47784c,#1f472e)!important;border-color:#d4b66c!important}
#boardDiceOverlay.board-drop-mode .skin-greenleaf .die-face i{background:#f0df9d!important}
#boardDiceOverlay.board-drop-mode .skin-purplekush .die-face,
#boardDiceOverlay.board-drop-mode .skin-velvet .die-face{background:linear-gradient(145deg,#6e4777,#30253a)!important;border-color:#d7b36b!important}
#boardDiceOverlay.board-drop-mode .skin-purplekush .die-face i,
#boardDiceOverlay.board-drop-mode .skin-velvet .die-face i{background:#f7e9bd!important}
#boardDiceOverlay.board-drop-mode .skin-copper .die-face,
#boardDiceOverlay.board-drop-mode .skin-panamared .die-face{background:linear-gradient(145deg,#b46b3c,#713626)!important;border-color:#edc27a!important}
#boardDiceOverlay.board-drop-mode .skin-copper .die-face i,
#boardDiceOverlay.board-drop-mode .skin-panamared .die-face i{background:#2f2118!important}
#boardDiceOverlay.board-drop-mode .skin-diamond .die-face,
#boardDiceOverlay.board-drop-mode .skin-master72 .die-face{background:linear-gradient(145deg,#e7eef0,#8aa2a6 52%,#f4d88f)!important;border-color:#eef9f7!important}
#boardDiceOverlay.board-drop-mode .skin-diamond .die-face i,
#boardDiceOverlay.board-drop-mode .skin-master72 .die-face i{background:#24343a!important}
#boardDiceOverlay.board-drop-mode .skin-cbwave .die-face,
#boardDiceOverlay.board-drop-mode .skin-heatwave .die-face,
#boardDiceOverlay.board-drop-mode .skin-kingpin .die-face,
#boardDiceOverlay.board-drop-mode .skin-whitewall .die-face{background:linear-gradient(145deg,#e5c875,#9c6b30)!important;border-color:#fff0b0!important}
#boardDiceOverlay.board-drop-mode .skin-cbwave .die-face i,
#boardDiceOverlay.board-drop-mode .skin-heatwave .die-face i,
#boardDiceOverlay.board-drop-mode .skin-kingpin .die-face i,
#boardDiceOverlay.board-drop-mode .skin-whitewall .die-face i{background:#29231a!important}

/* Dice are thrown from above the board, spin in all three axes, bounce, and settle. */
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-a{animation:v423aFlightA 1.38s cubic-bezier(.16,.71,.18,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-b{animation:v423aFlightB 1.38s cubic-bezier(.16,.71,.18,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-a .die-cube3d{animation:v423aSpinA 1.38s cubic-bezier(.14,.67,.18,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-b .die-cube3d{animation:v423aSpinB 1.38s cubic-bezier(.14,.67,.18,1) both!important}

@keyframes v423aFlightA{
  0%{transform:translate3d(-120px,-310px,180px) scale(.48);opacity:.2}
  28%{transform:translate3d(28px,-165px,130px) scale(.88);opacity:1}
  58%{transform:translate3d(-10px,-38px,52px) scale(1.04)}
  73%{transform:translate3d(4px,11px,0) scale(1.01)}
  83%{transform:translate3d(-2px,-25px,25px) scale(.99)}
  92%{transform:translate3d(1px,4px,0) scale(1)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes v423aFlightB{
  0%{transform:translate3d(126px,-330px,190px) scale(.46);opacity:.2}
  27%{transform:translate3d(-30px,-170px,138px) scale(.87);opacity:1}
  57%{transform:translate3d(12px,-42px,54px) scale(1.05)}
  74%{transform:translate3d(-5px,10px,0) scale(1.01)}
  84%{transform:translate3d(3px,-22px,23px) scale(.99)}
  93%{transform:translate3d(-1px,4px,0) scale(1)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes v423aSpinA{
  0%{transform:rotateX(20deg) rotateY(-25deg) rotateZ(-8deg)}
  28%{transform:rotateX(390deg) rotateY(535deg) rotateZ(205deg)}
  58%{transform:rotateX(760deg) rotateY(925deg) rotateZ(515deg)}
  78%{transform:rotateX(1010deg) rotateY(1170deg) rotateZ(705deg)}
  90%{transform:rotateX(1065deg) rotateY(1095deg) rotateZ(725deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@keyframes v423aSpinB{
  0%{transform:rotateX(-18deg) rotateY(27deg) rotateZ(10deg)}
  27%{transform:rotateX(-420deg) rotateY(505deg) rotateZ(-225deg)}
  57%{transform:rotateX(-790deg) rotateY(905deg) rotateZ(-545deg)}
  79%{transform:rotateX(-1040deg) rotateY(1190deg) rotateZ(-730deg)}
  90%{transform:rotateX(-1085deg) rotateY(1115deg) rotateZ(-752deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}

/* A single shared contact shadow visibly lands on the map beneath both dice. */
#boardDiceOverlay.board-drop-mode .dice-pair-shadow{
  position:absolute!important;left:50%!important;top:78%!important;
  width:180px!important;height:30px!important;border-radius:50%!important;
  background:rgba(0,0,0,.52)!important;filter:blur(10px)!important;z-index:-1!important;
  transform:translate(-50%,-50%) scale(.7)!important;
}
#boardDiceOverlay.board-drop-mode.rolling .dice-pair-shadow{animation:v423aShadow 1.38s ease both!important}
@keyframes v423aShadow{
  0%{opacity:.05;transform:translate(-50%,-50%) scale(.18)}
  50%{opacity:.22;transform:translate(-50%,-50%) scale(.58)}
  73%{opacity:.68;transform:translate(-50%,-50%) scale(1.08)}
  83%{opacity:.31;transform:translate(-50%,-50%) scale(.76)}
  100%{opacity:.52;transform:translate(-50%,-50%) scale(.92)}
}

#boardDiceOverlay.board-drop-mode .dice-flair{
  left:var(--dice-land-x,52%)!important;top:var(--dice-land-y,50%)!important;
  right:auto!important;bottom:auto!important;width:1px!important;height:1px!important;
}
#boardDiceOverlay.board-drop-mode .dice-result-lock{
  left:var(--dice-land-x,52%)!important;
  top:calc(var(--dice-land-y,50%) + 78px)!important;
  transform:translateX(-50%) scale(.86)!important;
  min-width:150px!important;padding:8px 12px!important;
  background:rgba(6,16,14,.92)!important;z-index:30!important;
}
#boardDiceOverlay.board-drop-mode.landed .dice-result-lock{
  animation:v423aResult .28s cubic-bezier(.14,.86,.2,1) both!important;
}
@keyframes v423aResult{
  from{opacity:0;transform:translateX(-50%) translateY(9px) scale(.82)}
  to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
}
#boardDiceOverlay.board-drop-mode .dice-result-lock strong{font-size:32px!important}

@media(max-width:520px){
  .install-top-btn{padding:0 8px;font-size:8px;min-height:38px}
  #boardDiceOverlay.board-drop-mode .dice-pair-flight{width:205px!important;gap:17px!important}
  #boardDiceOverlay.board-drop-mode .dice-flight{width:84px!important;height:100px!important}
  #boardDiceOverlay.board-drop-mode .die-cube3d.die-board-cube{--die-size:70px;--die-half:35px}
  #boardDiceOverlay.board-drop-mode .die-face{padding:9px!important;border-width:3px!important;border-radius:13px!important}
  #boardDiceOverlay.board-drop-mode .die-face i{width:9px!important;height:9px!important}
  #boardDiceOverlay.board-drop-mode .dice-result-lock{top:calc(var(--dice-land-y,50%) + 65px)!important}
}
@media(prefers-reduced-motion:reduce){
  #boardDiceOverlay.board-drop-mode.rolling .dice-flight,
  #boardDiceOverlay.board-drop-mode.rolling .die-cube3d,
  #boardDiceOverlay.board-drop-mode.rolling .dice-pair-shadow{animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* ============================================================
   BORDER RUN v4.2.3f — MOBILE PINCH / PAN FIX
   ============================================================ */

/* Critical: the browser must not steal the map's one/two finger gesture.
   One-finger panning and two-finger zooming are handled in game.js. */
.tabletop-board,
.fullscreen-board-stage .tabletop-board,
.real-route-stage .tabletop-board{
  touch-action:none!important;
  -ms-touch-action:none!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
}

/* Scaled map content is allowed to extend into the scrollable overflow area. */
#board{
  transform-origin:0 0!important;
  will-change:transform!important;
  contain:layout style paint;
}

.tabletop-board.board-touching{
  scroll-behavior:auto!important;
}
.tabletop-board.pinch-active{
  cursor:grabbing;
}
.tabletop-board.pinch-active #board{
  will-change:transform!important;
}

/* The readout doubles as a tap-to-zoom fallback. */
.board-zoom-hint{
  pointer-events:auto!important;
  cursor:pointer!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  touch-action:manipulation!important;
}
.board-zoom-hint:active{
  transform:translateY(1px) scale(.98);
  border-color:rgba(91,232,220,.85)!important;
}
.board-zoom-hint:focus-visible{
  outline:2px solid #58e4dc;
  outline-offset:2px;
}

/* During the dice cinematic, map gestures pause until the overlay leaves. */
.tabletop-board.dice-cinematic{
  touch-action:none!important;
}


/* ============================================================
   BORDER RUN v4.2.3f — HIPPY BUS / VEHICLE FRAMING HOTFIX
   Keeps tall vehicles fully visible in chooser, map pawns, and journey splash.
   ============================================================ */
.vehicle-preview.vehicle-poster img{object-fit:contain!important;object-position:center 64%!important;transform:scale(.92)!important;padding:4px 3px 2px!important;box-sizing:border-box!important}
.vehicle-skin:not(.locked):active .vehicle-preview.vehicle-poster img{transform:scale(.98)!important}
.table-pawn-render,.vehicle-pawn .pawn-render,.mini-pawn .mini-pawn-render{overflow:visible!important}
.table-pawn-render>img,.vehicle-pawn .pawn-render>img,.mini-pawn .mini-pawn-render>img{object-fit:contain!important;object-position:center 58%!important;border-radius:0!important;padding:2px!important;box-sizing:border-box!important;mask-image:none!important;-webkit-mask-image:none!important}
#journeySplash .journey-vehicle{width:210px!important;height:132px!important;bottom:18.8%!important}
#journeySplash .journey-vehicle .journey-token-render{inset:-10% -18% -8%!important;filter:drop-shadow(0 18px 14px rgba(0,0,0,.72))!important}
#journeySplash .journey-vehicle .journey-token-render>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center 60%!important;border-radius:0!important;padding:4px!important;box-sizing:border-box!important;mask-image:none!important;-webkit-mask-image:none!important;transform:perspective(520px) rotateX(1deg) scale(1.02)!important}
#journeySplash .journey-vehicle .journey-token-render:before{left:16%!important;right:16%!important;bottom:10%!important;height:12%!important}
/* Tall-roof starter van gets extra headroom. */
.ride-microbus.vehicle-skin .vehicle-preview.vehicle-poster img,.ride-microbus .ride-render>img,.ride-microbus.journey-token-render>img,.ride-microbus .journey-token-render>img,.ride-microbus .pawn-render>img,.ride-microbus .mini-pawn-render>img,.ride-microbus.table-pawn-render>img{object-position:center 66%!important;transform:scale(.88)!important;padding-top:8px!important}
@media(max-width:560px){#journeySplash .journey-vehicle{width:170px!important;height:110px!important;bottom:21%!important}#journeySplash .journey-vehicle .journey-token-render{inset:-8% -14% -7%!important}}


/* ============================================================
   BORDER RUN v4.2.3f — CITY BUYER / SELL GOODS
   ============================================================ */
.city-buyer-strip{
  margin:10px 0 4px;padding:11px 12px;border-radius:10px;
  border:1px solid rgba(232,181,76,.72);
  background:linear-gradient(135deg,rgba(22,31,25,.96),rgba(10,17,15,.96));
  display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;
  box-shadow:inset 0 0 18px rgba(83,226,214,.04),0 7px 18px rgba(0,0,0,.22);
}
.city-buyer-strip span{
  grid-column:1;font:900 8px/1 system-ui,sans-serif;letter-spacing:.15em;color:#57e0d5;
}
.city-buyer-strip strong{
  grid-column:2;grid-row:1 / span 2;text-align:right;
  font:900 22px/1 Georgia,serif;color:#f0cb67;
}
.city-buyer-strip small{
  grid-column:1 / -1;color:#d8ceb0;font:700 9px/1.35 system-ui,sans-serif;
}
.city-buyer-strip.empty{border-color:rgba(130,128,112,.42)}
.city-buyer-strip.empty strong{font-size:12px;color:#aca891}


/* ============================================================
   BORDER RUN v4.2.3f — MOBILE + RADIO + HIPPY BUS HOTFIX
   ============================================================ */
#boardDiceOverlay.board-drop-mode{overflow:hidden!important;clip-path:inset(0 round 10px)!important}
#boardDiceOverlay.board-drop-mode .dice-pair-flight{
  left:var(--dice-land-x,52%)!important;
  top:var(--dice-land-y,50%)!important;
  width:min(66vw,290px)!important;height:184px!important;gap:14px!important;
  transform:translate(-50%,-50%)!important;
}
#boardDiceOverlay.board-drop-mode .dice-flight{width:92px!important;height:108px!important}
#boardDiceOverlay.board-drop-mode .die-cube3d.die-board-cube{--die-size:72px!important;--die-half:36px!important}
#boardDiceOverlay.board-drop-mode .die-face{padding:8px!important;border-width:3px!important;border-radius:13px!important}
#boardDiceOverlay.board-drop-mode .die-face i{width:9px!important;height:9px!important}
#boardDiceOverlay.board-drop-mode .dice-pair-shadow{top:81%!important;width:146px!important;height:24px!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-a{animation:v423eFlightA 1.18s cubic-bezier(.18,.73,.2,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-b{animation:v423eFlightB 1.18s cubic-bezier(.18,.73,.2,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-a .die-cube3d{animation:v423eSpinA 1.18s cubic-bezier(.16,.68,.2,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-b .die-cube3d{animation:v423eSpinB 1.18s cubic-bezier(.16,.68,.2,1) both!important}
@keyframes v423eFlightA{
  0%{transform:translate3d(-46px,-136px,120px) scale(.66);opacity:.2}
  36%{transform:translate3d(12px,-54px,68px) scale(.96);opacity:1}
  68%{transform:translate3d(-5px,10px,0) scale(1.02)}
  82%{transform:translate3d(1px,-13px,14px) scale(.99)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes v423eFlightB{
  0%{transform:translate3d(48px,-146px,125px) scale(.64);opacity:.2}
  35%{transform:translate3d(-13px,-56px,70px) scale(.96);opacity:1}
  69%{transform:translate3d(6px,9px,0) scale(1.02)}
  83%{transform:translate3d(-2px,-12px,14px) scale(.99)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes v423eSpinA{
  0%{transform:rotateX(15deg) rotateY(-20deg) rotateZ(-6deg)}
  38%{transform:rotateX(375deg) rotateY(490deg) rotateZ(185deg)}
  72%{transform:rotateX(785deg) rotateY(855deg) rotateZ(522deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@keyframes v423eSpinB{
  0%{transform:rotateX(-15deg) rotateY(22deg) rotateZ(7deg)}
  38%{transform:rotateX(-392deg) rotateY(476deg) rotateZ(-195deg)}
  72%{transform:rotateX(-812deg) rotateY(878deg) rotateZ(-534deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@media(max-width:520px){
  #boardDiceOverlay.board-drop-mode .dice-pair-flight{width:min(72vw,236px)!important;height:156px!important;gap:12px!important}
  #boardDiceOverlay.board-drop-mode .dice-flight{width:74px!important;height:88px!important}
  #boardDiceOverlay.board-drop-mode .die-cube3d.die-board-cube{--die-size:60px!important;--die-half:30px!important}
  #boardDiceOverlay.board-drop-mode .die-face{padding:7px!important;border-radius:11px!important}
  #boardDiceOverlay.board-drop-mode .die-face i{width:8px!important;height:8px!important}
  #boardDiceOverlay.board-drop-mode .dice-result-lock{top:calc(var(--dice-land-y,50%) + 56px)!important;min-width:148px!important;padding:7px 10px!important}
}
.tabletop-board,.fullscreen-board-stage .tabletop-board,.real-route-stage .tabletop-board{touch-action:none!important;-ms-touch-action:none!important;overscroll-behavior:contain!important}
#board{transform-origin:0 0!important;will-change:transform!important}
.vehicle-preview.vehicle-poster img{object-fit:contain!important;object-position:center center!important;transform:scale(.88)!important;padding:8px 5px 6px!important;box-sizing:border-box!important}
.table-pawn-render>img,.vehicle-pawn .pawn-render>img,.mini-pawn .mini-pawn-render>img{object-fit:contain!important;object-position:center center!important;padding:4px!important;background:none!important}
#journeySplash .journey-vehicle{width:214px!important;height:138px!important;bottom:18.2%!important}
#journeySplash .journey-vehicle .journey-token-render{inset:-6% -10% -4%!important;filter:drop-shadow(0 18px 14px rgba(0,0,0,.72))!important}

/* ============================================================
   BORDER RUN v4.2.3i — DICE SAFE ZONE + MOBILE HIPPY VAN POLISH
   ============================================================ */
#boardDiceOverlay.board-drop-mode .dice-pair-flight{
  width:min(60vw,244px)!important;
  height:166px!important;
  gap:12px!important;
}
#boardDiceOverlay.board-drop-mode .dice-flight{
  width:80px!important;
  height:96px!important;
}
#boardDiceOverlay.board-drop-mode .die-cube3d.die-board-cube{
  --die-size:62px!important;
  --die-half:31px!important;
}
#boardDiceOverlay.board-drop-mode .die-face{
  padding:7px!important;
  border-radius:12px!important;
}
#boardDiceOverlay.board-drop-mode .die-face i{
  width:8px!important;
  height:8px!important;
}
#boardDiceOverlay.board-drop-mode .dice-pair-shadow{
  width:132px!important;
  height:22px!important;
}
#boardDiceOverlay.board-drop-mode .dice-result-lock{
  top:calc(var(--dice-land-y,50%) + 54px)!important;
  min-width:146px!important;
}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-a{animation:v423gFlightA 1.08s cubic-bezier(.18,.73,.2,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-b{animation:v423gFlightB 1.08s cubic-bezier(.18,.73,.2,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-a .die-cube3d{animation:v423gSpinA 1.08s cubic-bezier(.16,.68,.2,1) both!important}
#boardDiceOverlay.board-drop-mode.rolling .dice-flight-b .die-cube3d{animation:v423gSpinB 1.08s cubic-bezier(.16,.68,.2,1) both!important}
@keyframes v423gFlightA{
  0%{transform:translate3d(-36px,-108px,108px) scale(.70);opacity:.2}
  38%{transform:translate3d(10px,-42px,62px) scale(.96);opacity:1}
  70%{transform:translate3d(-4px,8px,0) scale(1.02)}
  84%{transform:translate3d(1px,-10px,10px) scale(.99)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes v423gFlightB{
  0%{transform:translate3d(38px,-116px,112px) scale(.68);opacity:.2}
  37%{transform:translate3d(-11px,-44px,64px) scale(.96);opacity:1}
  71%{transform:translate3d(5px,8px,0) scale(1.02)}
  85%{transform:translate3d(-2px,-10px,10px) scale(.99)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes v423gSpinA{
  0%{transform:rotateX(15deg) rotateY(-20deg) rotateZ(-6deg)}
  40%{transform:rotateX(320deg) rotateY(430deg) rotateZ(160deg)}
  74%{transform:rotateX(650deg) rotateY(720deg) rotateZ(430deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@keyframes v423gSpinB{
  0%{transform:rotateX(-15deg) rotateY(22deg) rotateZ(7deg)}
  40%{transform:rotateX(-335deg) rotateY(420deg) rotateZ(-170deg)}
  74%{transform:rotateX(-668deg) rotateY(734deg) rotateZ(-442deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@media(max-width:520px){
  #boardDiceOverlay.board-drop-mode .dice-pair-flight{
    width:min(62vw,206px)!important;
    height:144px!important;
    gap:10px!important;
  }
  #boardDiceOverlay.board-drop-mode .dice-flight{
    width:66px!important;
    height:80px!important;
  }
  #boardDiceOverlay.board-drop-mode .die-cube3d.die-board-cube{
    --die-size:54px!important;
    --die-half:27px!important;
  }
  #boardDiceOverlay.board-drop-mode .die-face{
    padding:6px!important;
    border-radius:10px!important;
  }
  #boardDiceOverlay.board-drop-mode .die-face i{
    width:7px!important;
    height:7px!important;
  }
  #boardDiceOverlay.board-drop-mode .dice-result-lock{
    top:calc(var(--dice-land-y,50%) + 48px)!important;
    min-width:132px!important;
    padding:6px 8px!important;
  }
}

/* Use the new cheerful van art everywhere for the starter microbus. */
.ride-microbus.vehicle-skin .vehicle-preview.vehicle-poster img,
.ride-microbus .ride-render>img,
.ride-microbus.journey-token-render>img,
.ride-microbus .journey-token-render>img,
.ride-microbus .pawn-render>img,
.ride-microbus .mini-pawn-render>img,
.ride-microbus.table-pawn-render>img{
  object-position:center center!important;
  transform:scale(.91)!important;
  padding:6px 5px 5px!important;
}


/* ============================================================
   BORDER RUN v4.2.3i — CAMERA FOLLOW + CITY PAWN FIX
   ============================================================ */
body > #boardDiceOverlay.board-drop-mode.camera-follow-dice{
  position:fixed!important;inset:auto!important;overflow:hidden!important;z-index:9995!important;
  border-radius:12px!important;contain:paint!important;
}
body > #boardDiceOverlay.board-drop-mode.camera-follow-dice .dice-pair-flight{
  max-width:calc(100% - 28px)!important;max-height:calc(100% - 36px)!important;
}
.graphical-world-board .map-node{overflow:visible!important}
.graphical-world-board .node-pawns{
  left:50%!important;transform:translateX(-50%)!important;overflow:visible!important;z-index:60!important;pointer-events:none!important;
}
.graphical-world-board .map-node .vehicle-pawn{
  display:grid!important;visibility:visible!important;opacity:1!important;
  transform:translateY(-82%) scale(.98)!important;transform-origin:center bottom!important;z-index:65!important;
}
.graphical-world-board .map-node.current .vehicle-pawn{
  visibility:visible!important;opacity:1!important;transform:translateY(-86%) scale(1.08)!important;
}
.graphical-world-board .map-node.current .vehicle-pawn .pawn-render{
  display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important;
}
@media(max-width:560px){
  .graphical-world-board .map-node .vehicle-pawn{transform:translateY(-80%) scale(.92)!important}
  .graphical-world-board .map-node.current .vehicle-pawn{transform:translateY(-84%) scale(1.02)!important}
}

/* BORDER RUN 4.2.3l — PWA updater/cache retirement */


/* ============================================================
   BORDER RUN v4.2.3l — BOARD UX REBUILD
   Dice scene · fit map · moving pawn · clickable city stats
   ============================================================ */
body.dice-screen-lock{overflow:hidden!important;touch-action:none!important}
body>#boardDiceOverlay.separate-dice-screen{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:12000!important;
  overflow:hidden!important;border-radius:0!important;clip-path:none!important;contain:paint!important;
  background:#0a0b0a!important;perspective:1000px!important;-webkit-perspective:1000px!important;
}
body>#boardDiceOverlay.separate-dice-screen .dice-world-backdrop{
  display:block!important;position:absolute!important;inset:-3%!important;z-index:0!important;
  background-image:linear-gradient(180deg,rgba(4,6,6,.12),rgba(4,5,5,.52)),var(--dice-biome-bg)!important;
  background-size:cover!important;background-position:center!important;filter:saturate(1.02) contrast(1.03) brightness(.82)!important;
  transform:scale(1.04)!important;
}
body>#boardDiceOverlay.separate-dice-screen:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 58%,transparent 10%,rgba(4,5,5,.20) 48%,rgba(2,3,3,.72) 100%),linear-gradient(180deg,rgba(2,3,3,.45),transparent 30%,transparent 68%,rgba(2,3,3,.55));
}
body>#boardDiceOverlay.separate-dice-screen .dice-cinematic-title{top:max(7vh,52px)!important;z-index:8!important}
body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{
  position:absolute!important;left:50%!important;top:54%!important;width:min(74vw,390px)!important;height:230px!important;
  transform:translate(-50%,-50%)!important;gap:34px!important;z-index:7!important;
}
body>#boardDiceOverlay.separate-dice-screen .dice-flight{width:116px!important;height:132px!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube{--die-size:90px!important;--die-half:45px!important}
body>#boardDiceOverlay.separate-dice-screen .die-face{padding:10px!important;border-radius:16px!important}
body>#boardDiceOverlay.separate-dice-screen .die-face i{width:11px!important;height:11px!important}
body>#boardDiceOverlay.separate-dice-screen .dice-result-lock{left:50%!important;top:73%!important;z-index:9!important;min-width:180px!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a{animation:v423lDiceDropA 1.38s cubic-bezier(.14,.72,.18,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b{animation:v423lDiceDropB 1.38s cubic-bezier(.14,.72,.18,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a .die-cube3d{animation:v423lDiceSpinA 1.38s cubic-bezier(.13,.66,.18,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b .die-cube3d{animation:v423lDiceSpinB 1.38s cubic-bezier(.13,.66,.18,1) both!important}
@keyframes v423lDiceDropA{0%{transform:translate3d(-86px,-270px,170px) scale(.52);opacity:.1}30%{transform:translate3d(24px,-125px,105px) scale(.90);opacity:1}65%{transform:translate3d(-9px,-24px,36px) scale(1.05)}78%{transform:translate3d(3px,12px,0) scale(1.01)}88%{transform:translate3d(-2px,-18px,18px) scale(.99)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes v423lDiceDropB{0%{transform:translate3d(90px,-286px,180px) scale(.50);opacity:.1}31%{transform:translate3d(-27px,-130px,110px) scale(.91);opacity:1}66%{transform:translate3d(10px,-25px,38px) scale(1.05)}79%{transform:translate3d(-4px,11px,0) scale(1.01)}89%{transform:translate3d(2px,-17px,17px) scale(.99)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes v423lDiceSpinA{0%{transform:rotateX(20deg) rotateY(-24deg) rotateZ(-6deg)}42%{transform:rotateX(430deg) rotateY(560deg) rotateZ(230deg)}76%{transform:rotateX(870deg) rotateY(940deg) rotateZ(590deg)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
@keyframes v423lDiceSpinB{0%{transform:rotateX(-18deg) rotateY(25deg) rotateZ(7deg)}42%{transform:rotateX(-445deg) rotateY(548deg) rotateZ(-238deg)}76%{transform:rotateX(-890deg) rotateY(960deg) rotateZ(-610deg)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
@media(max-width:520px){
  body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{width:min(84vw,310px)!important;height:190px!important;gap:20px!important;top:53%!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-flight{width:90px!important;height:110px!important}
  body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube{--die-size:74px!important;--die-half:37px!important}
  body>#boardDiceOverlay.separate-dice-screen .die-face{padding:8px!important;border-radius:14px!important}
  body>#boardDiceOverlay.separate-dice-screen .die-face i{width:9px!important;height:9px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-result-lock{top:72%!important}
}

.board-fit-btn{appearance:none;border:1px solid rgba(75,220,207,.52);border-radius:999px;padding:5px 9px;background:rgba(7,14,13,.82);color:#7be7dc;font:900 7px/1 Arial,sans-serif;letter-spacing:.09em;cursor:pointer;white-space:nowrap}
.board-fit-btn.active{background:#1b5d55;color:#fff2c2;border-color:#63e2d5;box-shadow:0 0 14px rgba(70,224,210,.2)}
.tabletop-board.fit-map-mode{scroll-behavior:auto!important}
.tabletop-board.fit-map-mode .camera-vignette{opacity:.12!important}
.tabletop-board.fit-map-mode #board{transform-origin:0 0!important}

.graphical-world-board .map-node{overflow:visible!important}
.graphical-world-board .map-node.current{z-index:75!important}
.graphical-world-board .map-node.current .node-pawns,.graphical-world-board .node-pawns{display:flex!important;visibility:visible!important;opacity:1!important;overflow:visible!important;z-index:85!important}
.graphical-world-board .map-node.current .vehicle-pawn{display:grid!important;visibility:visible!important;opacity:1!important;z-index:90!important;transform:translateY(-84%) scale(1.06)!important}
.graphical-world-board .map-node.current .pawn-render{display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important}

.board-moving-piece{position:absolute;z-index:120;display:grid;place-items:center;width:108px;height:72px;transform:translate(-50%,-88%) scale(1);pointer-events:none;transition:left .31s cubic-bezier(.22,.75,.2,1),top .31s cubic-bezier(.22,.75,.2,1),transform .16s ease;filter:drop-shadow(0 12px 7px rgba(0,0,0,.62))}
.board-moving-piece .moving-pawn-render{width:100px!important;height:66px!important;overflow:visible!important}
.board-moving-piece .moving-pawn-render>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;mask-image:none!important;-webkit-mask-image:none!important}
.board-moving-piece.moving{transform:translate(-50%,-102%) scale(1.08) rotate(-1deg)}
.board-moving-piece.landing{transform:translate(-50%,-84%) scale(1.02)}

.map-space-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}
.space-stat{padding:10px;border:1px solid rgba(103,181,168,.32);border-radius:9px;background:linear-gradient(145deg,rgba(18,30,27,.96),rgba(12,17,15,.96));min-width:0}
.space-stat.wide{grid-column:1/-1}.space-stat.here{border-color:#5ce2d5;box-shadow:0 0 0 1px rgba(92,226,213,.2)}
.space-stat span{display:block;color:#5fd8cc;font:900 6.5px/1 Arial,sans-serif;letter-spacing:.13em}
.space-stat strong{display:block;margin-top:5px;color:#f0d79b;font:900 11px/1.15 Georgia,serif;overflow-wrap:anywhere}
.space-stat small{display:block;margin-top:5px;color:#aaa48f;font:700 7px/1.35 Arial,sans-serif}
@media(max-width:520px){.map-space-info{grid-template-columns:1fr}.space-stat.wide{grid-column:auto}.board-moving-piece{width:92px;height:62px}.board-moving-piece .moving-pawn-render{width:86px!important;height:58px!important}}

/* ============================================================
   BORDER RUN v4.2.3l — GAMEPLAY + READABILITY + ZOOM REBUILD
   ============================================================ */

/* Bigger, clearer type throughout the mobile beta. */
body{font-size:16px!important;line-height:1.45!important}
.stat{padding:10px 9px!important}.stat span{font-size:11px!important}.stat strong{font-size:18px!important}
.route-tab{font-size:13px!important;padding:11px 7px!important}.route-tab small{font-size:10px!important}
.action-text{font-size:16px!important;line-height:1.5!important;min-height:48px!important}
.turn-line strong{font-size:24px!important}.btn{font-size:14px!important;line-height:1.2!important;min-height:46px!important;padding:14px 12px!important}
.modal-card h2,#modalTitle{font-size:25px!important;line-height:1.08!important}
#modalBody{font-size:15px!important;line-height:1.45!important}.choice-note{font-size:13px!important;line-height:1.45!important}
.location-card strong,.location-card b{font-size:max(12px,1em)!important}.location-blurb,.location-chip small{font-size:12px!important;line-height:1.45!important}
.table-piece .piece-kicker{font-size:9px!important}.table-piece strong{font-size:12px!important}.table-piece small{font-size:10px!important;line-height:1.3!important}
.graphical-world-board .map-node:not(.buy-node) b{font-size:9px!important;line-height:1.05!important;text-shadow:0 1px 1px rgba(0,0,0,.55)!important}
.graphical-world-board .map-node:not(.buy-node) small{font-size:6.5px!important;line-height:1.05!important}
.graphical-world-board .map-node.core-city-node b{font-size:10px!important}.graphical-world-board .map-node.core-city-node small{font-size:7px!important}
@media(max-width:560px){
  body{font-size:15px!important}.btn{font-size:13px!important}.graphical-world-board .map-node:not(.buy-node) b{font-size:8px!important}.graphical-world-board .map-node:not(.buy-node) small{font-size:6px!important}.graphical-world-board .map-node.core-city-node b{font-size:9px!important}
}

/* Working zoom controls. CSS zoom now controls the physical scrollable board size. */
.board-zoom-controls{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
.board-zoom-btn,.board-fit-btn{min-width:34px;height:34px;border:1px solid rgba(82,225,214,.5);border-radius:9px;background:rgba(7,18,16,.9);color:#75e8dd;font-weight:900;font-size:18px;cursor:pointer}
.board-fit-btn{width:auto;padding:0 9px;font-size:9px!important;letter-spacing:.08em}.board-fit-btn.active{background:#1f655c;color:#fff7d5}
.board-zoom-hint{min-height:34px!important;display:flex!important;align-items:center!important;font-size:9px!important;padding:0 8px!important}
.tabletop-board{overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}
#board{transform:none!important;transform-origin:0 0!important;will-change:auto!important}

/* Current pawn is always painted above city cards. */
.graphical-world-board .map-node{overflow:visible!important}
.graphical-world-board .map-node.current{z-index:80!important;overflow:visible!important}
.graphical-world-board .map-node.current .node-pawns{display:flex!important;visibility:visible!important;opacity:1!important;z-index:150!important;top:-26px!important;left:50%!important;transform:translateX(-50%)!important;overflow:visible!important}
.graphical-world-board .map-node.current .vehicle-pawn{display:grid!important;visibility:visible!important;opacity:1!important;z-index:160!important;transform:translateY(-72%) scale(1.04)!important;overflow:visible!important}
.graphical-world-board .map-node.current .vehicle-pawn .pawn-render{display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important}

/* Smoother locked-on board movement. */
.board-moving-piece{transition:left .38s cubic-bezier(.2,.78,.22,1),top .38s cubic-bezier(.2,.78,.22,1),transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s ease!important}
.tabletop-board.camera-glide{scroll-behavior:auto!important}
.map-node{transition:transform .28s cubic-bezier(.2,.78,.22,1),filter .3s ease,opacity .3s ease,box-shadow .3s ease!important}
.modal{transition:opacity .32s ease!important}.modal-card{transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .28s ease!important}
.action-splash{transition:opacity .34s ease,transform .4s cubic-bezier(.2,.8,.2,1)!important}
.side-action-rail{transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .3s ease!important}

/* The old travel/pull-up screen is retired. Arrival uses the existing arrival modal. */
#journeySplash{display:none!important}

/* Lawyer Heat-clear service. */
.lawyer-stat{cursor:pointer!important;outline:none}.lawyer-stat:active{transform:translateY(1px)}
.lawyer-service-card{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:14px;border-radius:12px;background:linear-gradient(145deg,#17231f,#101713);border:1px solid #4ea699}
.lawyer-service-card span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#6ee2d7}.lawyer-service-card strong{font-size:34px;color:#efc968}.lawyer-service-card small{grid-column:1/-1;font-size:11px;color:#d7ceb2}

/* Every dice set gets five colorways plus Chrome / Gold / Platinum. */
.dice-variant-section{margin:12px 0;padding:11px;border:1px solid rgba(93,213,199,.25);border-radius:12px;background:rgba(7,16,14,.35)}
.dice-variant-section h4{margin:0 0 8px;font-size:11px;letter-spacing:.1em;color:#66ddd2}
.dice-variant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.dice-variant-chip{border:1px solid #53564c;border-radius:9px;background:#1a1d19;color:#e8dbb7;padding:7px 5px;display:grid;place-items:center;gap:3px;cursor:pointer;min-height:62px}
.dice-variant-chip span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;font-size:18px}.dice-variant-chip strong{font-size:8px;line-height:1.05;text-align:center}.dice-variant-chip.active{border-color:#f0bf55;box-shadow:0 0 0 2px rgba(240,191,85,.22)}
.dice-slot em{display:block;font-size:8px;color:#e3b95d;font-style:normal;margin-top:2px}
.dice-variant-creamred,.dice-variant-creamred.dice-preview{background:linear-gradient(145deg,#f3e5bd,#e8d49b 57%,#a73832)!important;color:#272017!important}
.dice-variant-tealorange,.dice-variant-tealorange.dice-preview{background:linear-gradient(145deg,#25a99d,#176a67 56%,#ed8b3b)!important;color:#fff6d6!important}
.dice-variant-purplelime,.dice-variant-purplelime.dice-preview{background:linear-gradient(145deg,#6f4087,#3f2356 57%,#b8d952)!important;color:#fff!important}
.dice-variant-blueyellow,.dice-variant-blueyellow.dice-preview{background:linear-gradient(145deg,#3678b8,#21476f 58%,#f2d04f)!important;color:#fff!important}
.dice-variant-blackcherry,.dice-variant-blackcherry.dice-preview{background:linear-gradient(145deg,#2b2c2d,#111214 58%,#a72e43)!important;color:#f5e5c2!important}
.dice-variant-chrome,.dice-variant-chrome.dice-preview{background:linear-gradient(135deg,#f7fbfc,#829096 22%,#edf3f4 48%,#626d73 72%,#d9e0e2)!important;color:#1a2023!important}
.dice-variant-gold,.dice-variant-gold.dice-preview{background:linear-gradient(135deg,#fff0a0,#c89227 28%,#f2ca56 55%,#9a691a 78%,#f8de7c)!important;color:#2a1d0a!important}
.dice-variant-platinum,.dice-variant-platinum.dice-preview{background:linear-gradient(135deg,#ffffff,#a8bcc5 25%,#ecf7fa 50%,#778f99 75%,#dff4f7)!important;color:#16242a!important}
#boardDiceOverlay .dice-variant-creamred .die-face{background:linear-gradient(145deg,#f3e5bd,#d9bc77)!important;border-color:#a73832!important}
#boardDiceOverlay .dice-variant-tealorange .die-face{background:linear-gradient(145deg,#32b7aa,#176a67 62%,#ed8b3b)!important;border-color:#f3a254!important}
#boardDiceOverlay .dice-variant-purplelime .die-face{background:linear-gradient(145deg,#86509d,#422755 62%,#b8d952)!important;border-color:#c9ea67!important}
#boardDiceOverlay .dice-variant-blueyellow .die-face{background:linear-gradient(145deg,#4388ca,#254d77 62%,#f2d04f)!important;border-color:#ffe375!important}
#boardDiceOverlay .dice-variant-blackcherry .die-face{background:linear-gradient(145deg,#303235,#121315 62%,#a72e43)!important;border-color:#d24f66!important}
#boardDiceOverlay .dice-variant-chrome .die-face{background:linear-gradient(135deg,#fbffff,#89979d 24%,#f3f6f7 50%,#657178 76%,#e1e8ea)!important;border-color:#eaf4f6!important}
#boardDiceOverlay .dice-variant-gold .die-face{background:linear-gradient(135deg,#fff1a7,#c99125 28%,#f6cd58 55%,#9e6b18 78%,#fbe385)!important;border-color:#fff0a6!important}
#boardDiceOverlay .dice-variant-platinum .die-face{background:linear-gradient(135deg,#fff,#b4c8d0 28%,#f1fbfd 52%,#7f99a3 78%,#e7f8fa)!important;border-color:#fff!important}
#boardDiceOverlay .dice-variant-tealorange .die-face i,#boardDiceOverlay .dice-variant-purplelime .die-face i,#boardDiceOverlay .dice-variant-blueyellow .die-face i,#boardDiceOverlay .dice-variant-blackcherry .die-face i{background:#fff1c6!important}
#boardDiceOverlay .dice-variant-chrome .die-face i,#boardDiceOverlay .dice-variant-gold .die-face i,#boardDiceOverlay .dice-variant-platinum .die-face i{background:#283037!important}
@media(max-width:560px){.dice-variant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* City drive-through 1d6 outcome board. */
.city-d6-result{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;margin:8px 0 12px;padding:12px;border:1px solid #d7ad4d;border-radius:12px;background:#141b18}.city-d6-result span{font-size:10px;font-weight:900;color:#68d9cf}.city-d6-result strong{grid-row:1 / span 2;grid-column:2;font-size:42px;text-align:right;color:#f3cf6c}.city-d6-result small{font-size:12px;color:#e8ddb9}
.city-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.city-action-tile{min-height:82px;padding:8px;border-radius:10px;border:1px solid #58594e;background:#20231f;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;opacity:.75}.city-action-tile>span{font-size:16px;font-weight:900}.city-action-tile strong{font-size:10px;line-height:1.1;margin:4px 0}.city-action-tile small{font-size:8px;letter-spacing:.06em}.city-action-tile.positive{border-color:#4d9c75}.city-action-tile.neutral{border-color:#908a72}.city-action-tile.negative{border-color:#a64d44}.city-action-tile.rolled{opacity:1;transform:scale(1.04);box-shadow:0 0 0 2px #f1c95d,0 6px 18px rgba(0,0,0,.32)}
@media(max-width:520px){.city-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Southbound hustle chooser + speeding stop. */
.southbound-hustle-grid{display:grid;gap:8px}.southbound-hustle-card{border:1px solid #4e8a7a;border-radius:11px;background:linear-gradient(145deg,#1b2923,#111713);color:#eadfbd;padding:12px;text-align:left;cursor:pointer}.southbound-hustle-card span{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#65d8cd}.southbound-hustle-card strong{display:block;font-size:15px;margin:4px 0}.southbound-hustle-card small{font-size:11px;line-height:1.4;color:#c9c0a5}
.speeding-stop-card{padding:16px;border-radius:13px;border:1px solid #a84940;background:linear-gradient(145deg,#321d1a,#17110f);text-align:center}.speeding-stop-card span{display:block;font-size:9px;letter-spacing:.16em;color:#ef9b78;font-weight:900}.speeding-stop-card strong{display:block;font-size:25px;color:#ffd47b;margin:6px 0}.speeding-stop-card small{font-size:12px;color:#e8d7b6}
.side-action-rail.expanded{max-height:calc(100dvh - 90px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-bottom:6px!important}
.side-action-rail.expanded button{flex:0 0 auto!important}

/* ============================================================
   BORDER RUN v4.2.3m — DICE INVENTORY + ROLL ACCURACY + MENU CLARITY
   ============================================================ */

/* Roll screen: explicitly identify the exact equipped set/finish and authoritative face. */
body>#boardDiceOverlay.separate-dice-screen .dice-flight{position:relative!important}
body>#boardDiceOverlay.separate-dice-screen .dice-flight::after{
  content:attr(data-roll-label);
  position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);
  width:150px;min-height:24px;padding:6px 7px;border-radius:8px;
  border:1px solid rgba(243,211,126,.48);background:rgba(5,10,9,.88);
  color:#f7e4ad;font:900 8.5px/1.25 system-ui,sans-serif;letter-spacing:.035em;
  text-align:center;white-space:normal;box-shadow:0 5px 14px rgba(0,0,0,.38);
}
body>#boardDiceOverlay.separate-dice-screen .dice-result-lock span{font-size:9px!important;letter-spacing:.14em!important}
body>#boardDiceOverlay.separate-dice-screen .dice-result-lock em{font-size:14px!important;font-weight:900!important;color:#fff2c8!important}
body>#boardDiceOverlay.separate-dice-screen .dice-result-lock strong{font-size:48px!important}
body>#boardDiceOverlay.separate-dice-screen .dice-result-lock small{font-size:9px!important;line-height:1.35!important}
@media(max-width:520px){
  body>#boardDiceOverlay.separate-dice-screen .dice-flight::after{width:118px;font-size:7.5px;top:calc(100% + 5px)}
  body>#boardDiceOverlay.separate-dice-screen .dice-result-lock strong{font-size:42px!important}
}

/* Dice locker is split into clear inventory types. */
.dice-inventory-section{margin-top:13px;padding:11px;border-radius:12px;background:rgba(8,15,13,.72)}
.dice-inventory-section>h4{margin:0 0 4px;font:900 12px/1.1 system-ui,sans-serif;letter-spacing:.08em}
.dice-inventory-section>p{margin:0 0 9px;font:700 10px/1.4 system-ui,sans-serif;color:#cfc7aa}
.dice-inventory-section.special{border:1px solid rgba(231,116,57,.56)}
.dice-inventory-section.special>h4{color:#ff9f66}
.dice-inventory-section.collector{border:1px solid rgba(85,217,205,.48)}
.dice-inventory-section.collector>h4{color:#65ded3}
.dice-skin b{display:block;margin:4px 0 2px;font:900 7.5px/1.15 system-ui,sans-serif;letter-spacing:.06em;color:#65ddd2}
.dice-skin.special-dice-item b{color:#ff9a63}
.dice-skin.special-dice-item{border-color:rgba(224,105,53,.5)!important}
.dice-skin.collector-dice-item{border-color:rgba(91,185,176,.34)!important}
.dice-skin.special-dice-item.active{box-shadow:0 0 0 2px rgba(238,124,65,.38),0 6px 18px rgba(0,0,0,.34)!important}
.dice-loadout-head small{font-size:10px!important;line-height:1.4!important}
.dice-slot small{font-size:8px!important}.dice-slot strong{font-size:11px!important}.dice-slot em{font-size:8.5px!important}

/* Make the quick menu visually self-identifying. */
#boardStage .side-action-rail.expanded{width:132px!important;padding:7px!important;background:rgba(9,13,12,.94)!important;border:1px solid rgba(100,211,199,.35)!important;border-radius:12px!important}
#boardStage .side-action-rail.expanded::before{content:"GAME MENU";display:block;padding:5px 4px 7px;color:#70e1d6;font:900 10px/1 system-ui,sans-serif;letter-spacing:.12em;text-align:center;border-bottom:1px solid rgba(112,225,214,.22)}
#boardStage .side-action-rail.expanded button{min-height:46px!important;grid-template-columns:28px 1fr!important;gap:5px!important;align-items:center!important;justify-items:start!important;padding:6px 8px!important;border-left-width:4px!important}
#boardStage .side-action-rail.expanded button span{font-size:17px!important}
#boardStage .side-action-rail.expanded button b{display:block!important;font:900 9px/1 system-ui,sans-serif!important;letter-spacing:.05em!important}
#sideRollBtn{border-left-color:#e2b646!important}#sideShopBtn{border-left-color:#b980e7!important}#sideEventBtn{border-left-color:#e28b4b!important}#sideCardsBtn{border-left-color:#5fa8dd!important}#sideRaidsBtn{border-left-color:#d45e5e!important}#sideUpgradeBtn{border-left-color:#b4b45e!important}#sideRadioBtn{border-left-color:#60c5aa!important}#sideDiceBtn{border-left-color:#e3c365!important}#sidePieceBtn{border-left-color:#6db8de!important}#sidePartyBtn{border-left-color:#a38ad7!important}
#boardStage .side-action-rail:not(.expanded)>.action-rail-toggle{display:grid!important;width:54px!important;min-height:42px!important;grid-template-columns:1fr!important;place-items:center!important;background:#12352f!important;border-color:#52cfc1!important;color:#e8fff9!important}
#boardStage .side-action-rail:not(.expanded)>.action-rail-toggle span{font-size:17px!important}
#boardStage .side-action-rail:not(.expanded)>.action-rail-toggle b{display:block!important;font-size:7px!important;letter-spacing:.08em!important}

/* ============================================================
   BORDER RUN v4.2.3n — CUSTOM RACE GOAL + TRUE 3D DICE
   ============================================================ */
.race-goal-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:8px 0 12px}
.race-goal-card{padding:13px 11px;border:1px solid rgba(94,132,122,.55);border-radius:12px;background:linear-gradient(145deg,#171d19,#0b100e);box-shadow:0 5px 13px rgba(0,0,0,.24);text-align:center}
.race-goal-card span{display:block;font:900 8px/1 system-ui,sans-serif;letter-spacing:.14em;color:#65d9ce}
.race-goal-card strong{display:block;margin:6px 0 4px;font:900 22px/1 Georgia,serif;color:#f1cd69}
.race-goal-card small{display:block;font:700 9px/1.25 system-ui,sans-serif;color:#c4bda4}
.race-goal-card.active{border-color:#efbd55;box-shadow:0 0 0 2px rgba(239,189,85,.18),0 7px 18px rgba(0,0,0,.3)}
.party-race-goal{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;margin:10px 0;padding:11px 12px;border:1px solid rgba(91,219,206,.4);border-radius:10px;background:#091411}
.party-race-goal span{font:900 8px/1 system-ui,sans-serif;letter-spacing:.14em;color:#65ded3}
.party-race-goal strong{grid-row:1 / span 2;grid-column:2;font:900 19px/1 Georgia,serif;color:#f4ce67}
.party-race-goal small{font:700 9px/1.3 system-ui,sans-serif;color:#c6c0a8}
@media(max-width:480px){.race-goal-picker{grid-template-columns:1fr 1fr}.race-goal-card strong{font-size:18px}}

/* The old Android-safe dice fallback flattened all six cube faces. The separate
   roll screen now has enough space for a real cube, so explicitly restore true
   six-face 3D geometry here. This also fixes the historical wrong-face bug:
   the authoritative rolled value is always rebuilt onto the FRONT face. */
body>#boardDiceOverlay.separate-dice-screen{
  perspective:1350px!important;
  -webkit-perspective:1350px!important;
  perspective-origin:50% 47%!important;
}
body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight,
body>#boardDiceOverlay.separate-dice-screen .dice-flight,
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube{
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube{
  --die-size:104px!important;
  --die-half:52px!important;
  width:var(--die-size)!important;height:var(--die-size)!important;
  transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))!important;
  filter:drop-shadow(0 22px 14px rgba(0,0,0,.68))!important;
  will-change:transform!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube:before,
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube:after{display:none!important;content:none!important}
body>#boardDiceOverlay.separate-dice-screen .die-face{
  display:grid!important;
  position:absolute!important;inset:0!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  border-width:4px!important;border-radius:18px!important;
  box-shadow:inset -14px -15px 0 rgba(45,32,18,.18),inset 10px 10px 0 rgba(255,255,255,.24),0 0 0 1px rgba(15,13,10,.28)!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-face-front{transform:translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-face-back{transform:rotateY(180deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-face-right{transform:rotateY(90deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-face-left{transform:rotateY(-90deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-face-top{transform:rotateX(90deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-face-bottom{transform:rotateX(-90deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-face i{box-shadow:inset 1px 2px 1px rgba(255,255,255,.12),0 2px 2px rgba(0,0,0,.42)!important}
body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{top:51%!important;height:258px!important;gap:48px!important}
body>#boardDiceOverlay.separate-dice-screen .dice-flight{width:132px!important;height:150px!important;perspective:900px!important;-webkit-perspective:900px!important}
body>#boardDiceOverlay.separate-dice-screen .dice-pair-shadow{top:84%!important;width:260px!important;height:38px!important;filter:blur(13px)!important;background:rgba(0,0,0,.52)!important}

body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a{animation:v423nFlightA 1.58s cubic-bezier(.13,.72,.17,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b{animation:v423nFlightB 1.58s cubic-bezier(.13,.72,.17,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a .die-cube3d{animation:v423nSpinA 1.58s cubic-bezier(.12,.66,.17,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b .die-cube3d{animation:v423nSpinB 1.58s cubic-bezier(.12,.66,.17,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-pair-shadow{animation:v423nShadow 1.58s ease both!important}
@keyframes v423nFlightA{
  0%{transform:translate3d(-116px,-330px,260px) rotateZ(-18deg) scale(.42);opacity:.08}
  23%{transform:translate3d(-52px,-215px,210px) rotateZ(8deg) scale(.72);opacity:.9}
  48%{transform:translate3d(30px,-108px,142px) rotateZ(-7deg) scale(.96);opacity:1}
  68%{transform:translate3d(-13px,-26px,58px) rotateZ(4deg) scale(1.07)}
  78%{transform:translate3d(5px,13px,0) rotateZ(-2deg) scale(1.03)}
  87%{transform:translate3d(-4px,-31px,45px) rotateZ(2deg) scale(.99)}
  94%{transform:translate3d(2px,5px,0) rotateZ(-1deg) scale(1.01)}
  100%{transform:translate3d(0,0,0) rotateZ(0) scale(1)}
}
@keyframes v423nFlightB{
  0%{transform:translate3d(122px,-350px,275px) rotateZ(19deg) scale(.40);opacity:.08}
  24%{transform:translate3d(56px,-222px,216px) rotateZ(-9deg) scale(.73);opacity:.9}
  49%{transform:translate3d(-33px,-112px,148px) rotateZ(7deg) scale(.97);opacity:1}
  69%{transform:translate3d(14px,-28px,60px) rotateZ(-4deg) scale(1.07)}
  79%{transform:translate3d(-6px,12px,0) rotateZ(2deg) scale(1.03)}
  88%{transform:translate3d(4px,-29px,43px) rotateZ(-2deg) scale(.99)}
  95%{transform:translate3d(-2px,5px,0) rotateZ(1deg) scale(1.01)}
  100%{transform:translate3d(0,0,0) rotateZ(0) scale(1)}
}
@keyframes v423nSpinA{
  0%{transform:rotateX(24deg) rotateY(-28deg) rotateZ(-8deg)}
  20%{transform:rotateX(238deg) rotateY(318deg) rotateZ(122deg)}
  43%{transform:rotateX(518deg) rotateY(648deg) rotateZ(284deg)}
  66%{transform:rotateX(812deg) rotateY(985deg) rotateZ(462deg)}
  84%{transform:rotateX(1048deg) rotateY(1230deg) rotateZ(610deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@keyframes v423nSpinB{
  0%{transform:rotateX(-22deg) rotateY(28deg) rotateZ(9deg)}
  20%{transform:rotateX(-252deg) rotateY(302deg) rotateZ(-130deg)}
  43%{transform:rotateX(-536deg) rotateY(666deg) rotateZ(-296deg)}
  66%{transform:rotateX(-834deg) rotateY(1008deg) rotateZ(-478deg)}
  84%{transform:rotateX(-1066deg) rotateY(1252deg) rotateZ(-628deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@keyframes v423nShadow{
  0%{opacity:.08;transform:translate(-50%,-50%) scale(.25)}
  48%{opacity:.22;transform:translate(-50%,-50%) scale(.54)}
  69%{opacity:.48;transform:translate(-50%,-50%) scale(.93)}
  79%{opacity:.70;transform:translate(-50%,-50%) scale(1.13)}
  87%{opacity:.37;transform:translate(-50%,-50%) scale(.80)}
  100%{opacity:.56;transform:translate(-50%,-50%) scale(1)}
}
body>#boardDiceOverlay.separate-dice-screen.impact .dice-flight-a .die-cube3d{animation:v423nImpactA .36s cubic-bezier(.18,.78,.22,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.impact .dice-flight-b .die-cube3d{animation:v423nImpactB .36s cubic-bezier(.18,.78,.22,1) both!important}
@keyframes v423nImpactA{0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale(1)}35%{transform:rotateX(calc(var(--die-rx) + 5deg)) rotateY(calc(var(--die-ry) - 6deg)) rotateZ(calc(var(--die-rz) + 3deg)) scale(1.08,.91)}70%{transform:rotateX(calc(var(--die-rx) - 2deg)) rotateY(calc(var(--die-ry) + 3deg)) rotateZ(var(--die-rz)) scale(.98,1.03)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale(1)}}
@keyframes v423nImpactB{0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale(1)}35%{transform:rotateX(calc(var(--die-rx) - 5deg)) rotateY(calc(var(--die-ry) + 6deg)) rotateZ(calc(var(--die-rz) - 3deg)) scale(1.08,.91)}70%{transform:rotateX(calc(var(--die-rx) + 2deg)) rotateY(calc(var(--die-ry) - 3deg)) rotateZ(var(--die-rz)) scale(.98,1.03)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale(1)}}

@media(max-width:520px){
  body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{width:min(88vw,340px)!important;height:210px!important;gap:28px!important;top:51%!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-flight{width:102px!important;height:118px!important}
  body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube{--die-size:82px!important;--die-half:41px!important}
  body>#boardDiceOverlay.separate-dice-screen .die-face{padding:9px!important;border-radius:14px!important}
  body>#boardDiceOverlay.separate-dice-screen .die-face i{width:10px!important;height:10px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-result-lock{top:73%!important}
}
/* Specificity guard against the legacy data-face 2.5D selector. */
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube[data-face] .die-face-front{transform:translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube[data-face] .die-face-back{transform:rotateY(180deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube[data-face] .die-face-right{transform:rotateY(90deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube[data-face] .die-face-left{transform:rotateY(-90deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube[data-face] .die-face-top{transform:rotateX(90deg) translateZ(var(--die-half))!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube[data-face] .die-face-bottom{transform:rotateX(-90deg) translateZ(var(--die-half))!important}


/* ============================================================
   BORDER RUN v4.2.3p — MENU LAYERING + STRONG DAY/NIGHT + LIT LANDMARKS
   ============================================================ */

/* Expanded menus must always sit above the route selector and map HUD. */
#boardStage{isolation:isolate!important}
#boardStage .route-panel,#boardStage .board-stage-head{z-index:30!important}
#boardStage .tabletop-board{z-index:20!important}
#boardStage .side-action-rail.expanded,
#boardStage .party-rail.expanded{
  z-index:5000!important;
  position:absolute!important;
  isolation:isolate!important;
  box-shadow:0 14px 34px rgba(0,0,0,.82),0 0 0 2px rgba(105,221,208,.18)!important;
}
#boardStage .side-action-rail.expanded{right:5px!important;top:5px!important}
#boardStage .party-rail.expanded{left:5px!important;top:5px!important}
#boardStage .side-action-rail.expanded::after,
#boardStage .party-rail.expanded::after{
  content:"";position:absolute;inset:-6px;z-index:-1;border-radius:15px;
  background:rgba(3,7,7,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}

/* A visibly different day board: warm, open and bright. */
body.time-day #boardStage{background:linear-gradient(180deg,#4b4030,#27231d 62%,#181613)!important}
body.time-day #boardStage .tabletop-board{background:#817557!important;box-shadow:inset 0 0 0 2px #c9ae72,inset 0 0 28px rgba(255,214,119,.12),0 8px 20px rgba(0,0,0,.44)!important}
body.time-day .graphical-world-board .graphical-world-layer{filter:saturate(1.18) contrast(1.04) brightness(1.34)!important}
body.time-day .graphical-world-board .terrain-world{filter:saturate(1.12) brightness(1.30)!important;opacity:.28!important}
body.time-day .graphical-world-board .map-node{filter:brightness(1.17) saturate(1.05)!important}

/* Night now reads as actual night rather than a mild tint. */
body.time-night #boardStage{background:linear-gradient(180deg,#071118,#081016 55%,#05090d)!important;border-color:#28434b!important;box-shadow:inset 0 0 0 2px rgba(44,105,116,.22),0 10px 32px rgba(0,0,0,.72)!important}
body.time-night #boardStage .tabletop-board{background:#111b20!important;border-color:#243f48!important;box-shadow:inset 0 0 0 2px #31505a,inset 0 0 64px rgba(1,7,13,.88),0 9px 28px rgba(0,0,0,.82)!important}
body.time-night .graphical-world-board .graphical-world-layer{filter:saturate(1.30) contrast(1.18) brightness(.42) hue-rotate(7deg)!important}
body.time-night .graphical-world-board .terrain-world{filter:saturate(1.28) contrast(1.12) brightness(.38)!important;opacity:.11!important}
body.time-night .graphical-world-board:after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(3,12,22,.36),rgba(1,7,13,.12) 45%,rgba(0,5,9,.34));
  box-shadow:inset 0 0 100px rgba(0,4,9,.72);
}
body.time-night .graphical-world-board .living-roads{z-index:3!important;filter:drop-shadow(0 0 10px rgba(79,238,224,.42)) drop-shadow(0 3px 3px rgba(0,0,0,.88))!important}
body.time-night .graphical-world-board .map-node{z-index:6!important;filter:brightness(.76) saturate(1.13)!important;background:linear-gradient(155deg,#3e4b46,#202925)!important;color:#eff3db!important;border-color:#4d6d68!important}
body.time-night .graphical-world-board .map-node b{color:#fff1bd!important;text-shadow:0 1px 2px #000!important}
body.time-night .graphical-world-board .map-node small{color:#9bded8!important}
body.time-night .graphical-world-board .map-node.current{z-index:12!important;filter:brightness(1.16) saturate(1.20)!important;box-shadow:0 0 0 2px #63e6d8,0 0 31px rgba(80,235,219,.62),0 8px 20px rgba(0,0,0,.78)!important}
body.time-dusk #boardStage .tabletop-board{background:#3a3435!important;box-shadow:inset 0 0 55px rgba(31,18,37,.45),0 8px 22px rgba(0,0,0,.6)!important}
body.time-dusk .graphical-world-board .graphical-world-layer{filter:saturate(1.22) brightness(.72) sepia(.11)!important}

/* Decorative roadside landmarks. They stay below the game spaces but become
   illuminated points of interest after dark. */
.roadside-landmark-layer{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:visible}
.roadside-landmark{
  position:absolute;left:var(--lx);top:var(--ly);transform:translate(-50%,-50%);
  min-width:30px;display:grid;grid-template-columns:auto auto;align-items:center;gap:3px;
  padding:3px 5px;border:1px solid rgba(62,55,41,.54);border-radius:5px;
  background:rgba(57,50,35,.72);color:#cbbb8c;opacity:.48;
  box-shadow:0 2px 4px rgba(0,0,0,.38);transition:opacity .9s ease,filter .9s ease,box-shadow .9s ease,background .9s ease,border-color .9s ease;
}
.roadside-landmark>i{font-style:normal;font-size:8px;line-height:1}.roadside-landmark>b{font:900 4.8px/1 system-ui,sans-serif;letter-spacing:.04em;white-space:nowrap}.roadside-landmark>em{position:absolute;left:6px;right:6px;bottom:-2px;height:2px;border-radius:99px;background:transparent}
.roadmark-core-city{min-width:37px}.roadmark-core-city>i{font-size:9px}.roadmark-core-city>b{font-size:4.4px}
.roadmark-casino{border-color:rgba(169,104,52,.62)}.roadmark-gas{border-color:rgba(58,115,109,.58)}.roadmark-diner{border-color:rgba(164,71,72,.58)}.roadmark-motel{border-color:rgba(99,76,148,.58)}

body.time-night .roadside-landmark{opacity:1;background:rgba(6,12,13,.90);border-color:#6bded1;color:#fff2c0;filter:brightness(1.25);box-shadow:0 0 8px rgba(77,228,215,.5),0 0 20px rgba(48,207,198,.22),0 4px 8px rgba(0,0,0,.8)}
body.time-night .roadside-landmark>i{text-shadow:0 0 6px currentColor,0 0 13px currentColor}
body.time-night .roadside-landmark>em{background:#6be5d8;box-shadow:0 0 8px #5de4d6,0 0 16px rgba(93,228,214,.8)}
body.time-night .roadmark-casino{color:#ffd66f;border-color:#f2b649;box-shadow:0 0 10px rgba(255,193,70,.68),0 0 24px rgba(255,78,164,.26),0 4px 8px rgba(0,0,0,.85)}
body.time-night .roadmark-casino>em{background:#ff4fa3;box-shadow:0 0 7px #ff4fa3,0 0 16px rgba(255,79,163,.7)}
body.time-night .roadmark-gas{color:#9dfff4;border-color:#5de6d8}
body.time-night .roadmark-diner{color:#ffd3b2;border-color:#ff8765;box-shadow:0 0 9px rgba(255,117,83,.52),0 0 21px rgba(80,225,212,.2),0 4px 8px rgba(0,0,0,.82)}
body.time-night .roadmark-diner>em{background:#ff765a;box-shadow:0 0 8px #ff765a}
body.time-night .roadmark-motel{color:#e6c3ff;border-color:#bf7dff;box-shadow:0 0 9px rgba(190,118,255,.58),0 0 21px rgba(190,118,255,.25),0 4px 8px rgba(0,0,0,.82)}
body.time-night .roadmark-motel>em{background:#c37cff;box-shadow:0 0 8px #c37cff}
body.time-night .roadmark-city{color:#c8f9ff;border-color:#75d8ef;box-shadow:0 0 10px rgba(91,215,238,.62),0 0 25px rgba(91,215,238,.22),0 4px 8px rgba(0,0,0,.84)}
body.time-night .roadmark-city>em{background:#ffd568;box-shadow:0 0 8px #ffd568,9px 0 7px #66e1f0,-9px 0 7px #ff9a5e}

/* At fit-map scale, keep landmarks visible without overwhelming the board. */
.tabletop-board.fit-map-mode .roadside-landmark{opacity:.58}
body.time-night .tabletop-board.fit-map-mode .roadside-landmark{opacity:1}
@media(max-width:620px){
  #boardStage .side-action-rail.expanded{width:148px!important;max-height:calc(100dvh - 120px)!important}
  #boardStage .party-rail.expanded{width:154px!important;max-height:calc(100dvh - 120px)!important;overflow-y:auto!important}
  .roadside-landmark{padding:2px 4px;min-width:25px}.roadside-landmark>i{font-size:7px}.roadside-landmark>b{font-size:4.2px}
}


/* ============================================================
   BORDER RUN v4.2.3r — CITY PASS-THROUGH D6 + BIG ACTIONS
   ============================================================ */

/* Single-die city action cinematic. The six possible action tiles stay visible
   while the player's equipped die tumbles, then the selected tile lights up. */
.city-d6-overlay{position:fixed;inset:0;z-index:1900;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;perspective:1200px;-webkit-perspective:1200px}
.city-d6-overlay.hidden{display:none}.city-d6-overlay.active{opacity:1;visibility:visible;display:grid}.city-d6-overlay.leaving{opacity:0}
.city-d6-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 43%,rgba(38,73,67,.62),rgba(9,12,11,.94) 62%,#050605 100%);backdrop-filter:blur(7px)}
.city-d6-stage{position:relative;z-index:2;width:min(92vw,560px);min-height:min(82vh,650px);padding:28px 18px 22px;border:1px solid rgba(221,183,91,.46);border-radius:20px;background:linear-gradient(180deg,rgba(21,28,25,.82),rgba(10,12,11,.90));box-shadow:0 28px 70px rgba(0,0,0,.68);display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden}
.city-d6-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(77,219,205,.06) 46%,transparent 70%);pointer-events:none}
.city-d6-kicker{color:#69ded2;font:900 10px/1 Arial,sans-serif;letter-spacing:.20em}.city-d6-city{margin-top:8px;color:#f1d897;font:900 27px/1 Georgia,serif;text-transform:uppercase;text-shadow:0 2px 8px #000}
.city-d6-die-flight{position:relative;width:170px;height:190px;margin:14px auto 0;display:grid;place-items:center;perspective:900px;transform-style:preserve-3d}
.city-d6-die-flight .die-cube3d{--die-size:104px;--die-half:52px;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;filter:drop-shadow(0 20px 12px rgba(0,0,0,.68));z-index:2}
.city-d6-die-flight .die-face{display:grid!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;border-width:4px!important;border-radius:17px!important}
.city-d6-die-flight .die-face-front{transform:translateZ(var(--die-half))!important}.city-d6-die-flight .die-face-back{transform:rotateY(180deg) translateZ(var(--die-half))!important}.city-d6-die-flight .die-face-right{transform:rotateY(90deg) translateZ(var(--die-half))!important}.city-d6-die-flight .die-face-left{transform:rotateY(-90deg) translateZ(var(--die-half))!important}.city-d6-die-flight .die-face-top{transform:rotateX(90deg) translateZ(var(--die-half))!important}.city-d6-die-flight .die-face-bottom{transform:rotateX(-90deg) translateZ(var(--die-half))!important}
.city-d6-shadow{position:absolute;left:50%;bottom:15px;width:122px;height:24px;transform:translateX(-50%);border-radius:50%;background:rgba(0,0,0,.58);filter:blur(10px)}
.city-d6-overlay.rolling .city-d6-die-flight .die-cube3d{animation:v423qCityDieSpin .90s cubic-bezier(.13,.68,.18,1) both!important}.city-d6-overlay.rolling .city-d6-die-flight{animation:v423qCityDieDrop .90s cubic-bezier(.15,.73,.18,1) both}.city-d6-overlay.rolling .city-d6-shadow{animation:v423qCityShadow .90s ease both}
.city-d6-overlay.landed .city-d6-die-flight .die-cube3d{animation:v423qCityImpact .30s cubic-bezier(.18,.78,.22,1) both!important}
@keyframes v423qCityDieDrop{0%{transform:translate3d(-58px,-230px,180px) scale(.48);opacity:.2}35%{transform:translate3d(26px,-105px,105px) scale(.88);opacity:1}70%{transform:translate3d(-10px,-8px,20px) scale(1.07)}82%{transform:translate3d(5px,-34px,55px) scale(.99)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes v423qCityDieSpin{0%{transform:rotateX(20deg) rotateY(-20deg) rotateZ(-6deg)}30%{transform:rotateX(390deg) rotateY(525deg) rotateZ(180deg)}65%{transform:rotateX(760deg) rotateY(930deg) rotateZ(390deg)}88%{transform:rotateX(1020deg) rotateY(1210deg) rotateZ(565deg)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
@keyframes v423qCityImpact{0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale(1)}42%{transform:rotateX(calc(var(--die-rx) + 5deg)) rotateY(calc(var(--die-ry) - 5deg)) rotateZ(calc(var(--die-rz) + 2deg)) scale(1.09,.90)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale(1)}}
@keyframes v423qCityShadow{0%{opacity:.10;transform:translateX(-50%) scale(.30)}65%{opacity:.38;transform:translateX(-50%) scale(.78)}78%{opacity:.72;transform:translateX(-50%) scale(1.14)}100%{opacity:.55;transform:translateX(-50%) scale(1)}}
.city-d6-roll-label{margin-top:-4px;color:#75ddd4;font:900 10px/1 Arial;letter-spacing:.18em}.city-d6-six{width:100%;margin-top:17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.city-d6-six .city-action-tile{min-height:76px;background:rgba(24,28,25,.96)}
.city-d6-caption{margin-top:14px;color:#e7d5a3;font:900 10px/1.2 Arial;letter-spacing:.12em;min-height:24px}.city-d6-overlay.landed .city-action-tile.rolled{animation:v423qTileHit .48s ease-in-out 2 alternate}@keyframes v423qTileHit{to{transform:scale(1.08);filter:brightness(1.32);box-shadow:0 0 0 3px #f0c65b,0 0 28px rgba(240,198,91,.48)}}

/* Neutral action-card presentation instead of treating neutral outcomes as bad breaks. */
.event-card-reveal.reveal-neutral .event-card-front{background:linear-gradient(160deg,#d9d0ad,#777867)!important;border-color:#a7a080!important;color:#1b1c19!important}
.event-card-reveal.reveal-neutral .event-card-polarity{color:#555d55!important}.event-card-reveal.reveal-neutral .event-card-symbol{background:#686e61!important;color:#f2dfaa!important;box-shadow:0 7px 0 #3b4038!important}

/* Turn controls: make the things the player actually taps impossible to miss. */
#actionPanel.action-panel{grid-template-columns:64px 1fr!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;gap:10px!important}
#actionPanel .dice{width:60px!important;height:58px!important;font-size:24px!important}
#actionPanel #primaryActions,#actionPanel .actions{gap:10px!important;padding-top:7px!important}
#actionPanel .btn{min-height:62px!important;padding:13px 12px!important;font-size:15px!important;line-height:1.15!important;border-width:2px!important;border-radius:10px!important;box-shadow:0 5px 12px rgba(0,0,0,.42)!important;text-transform:none!important}
#modalActions .btn{min-height:54px!important;font-size:15px!important;padding:13px 12px!important}
@media(max-width:520px){.city-d6-stage{width:94vw;min-height:76vh;padding:22px 12px 18px}.city-d6-city{font-size:23px}.city-d6-die-flight{height:160px}.city-d6-die-flight .die-cube3d{--die-size:86px;--die-half:43px}.city-d6-six{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.city-d6-six .city-action-tile{min-height:66px;padding:7px}.city-d6-six .city-action-tile strong{font-size:11px!important}#actionPanel.action-panel{grid-template-columns:58px 1fr!important;padding-left:8px!important;padding-right:8px!important}#actionPanel .dice{width:54px!important;height:54px!important}#actionPanel .btn{min-height:58px!important;font-size:14px!important;padding:11px 8px!important}}


/* ============================================================
   BORDER RUN v4.2.3r — PARTY PROXIMITY / FUZZ / TRUE 3D / 3D LANDMARKS
   ============================================================ */

/* Party pieces sharing/approaching the same board space. */
.node-pawns{isolation:isolate}
.remote-party-pawn{
  position:absolute!important;
  left:calc(50% + (var(--party-stack,0) * 18px) + 22px)!important;
  top:4px!important;
  transform:translateY(-72%) scale(.72)!important;
  z-index:24!important;
  opacity:.96;
}
.remote-party-pawn.fuzz{filter:drop-shadow(0 0 7px rgba(64,174,255,.9)) drop-shadow(0 0 5px rgba(255,70,70,.7))!important}
.remote-party-pawn .remote-name{
  position:absolute;left:50%;top:94%;transform:translateX(-50%);
  min-width:48px;padding:2px 4px;border-radius:999px;
  background:rgba(5,8,10,.9);border:1px solid rgba(104,222,214,.6);
  color:#f5e4ac;font:900 6px/1 system-ui,sans-serif;letter-spacing:.05em;white-space:nowrap;
}
.remote-party-pawn.fuzz .remote-name{border-color:#75bfff;color:#d9efff}

/* Exclusive Fuzz squad car. */
.ride-render.ride-squadcar{position:relative;overflow:visible!important}
.ride-render.ride-squadcar>img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 7px 4px rgba(0,0,0,.7))!important}
.ride-render.ride-squadcar .squad-lightbar{
  position:absolute;left:38%;right:38%;top:17%;height:8%;border-radius:4px;
  background:linear-gradient(90deg,#ff4747 0 48%,#d9efff 48% 52%,#4ea8ff 52% 100%);
  box-shadow:-7px 0 12px rgba(255,52,52,.75),7px 0 12px rgba(60,156,255,.8);
  animation:fuzzLightbar .72s steps(2,end) infinite;
}
@keyframes fuzzLightbar{50%{filter:hue-rotate(180deg) brightness(1.45)}}
.vehicle-pawn.ride-squadcar .pawn-render{width:98px!important;height:58px!important}

/* Proximity cinematic. */
.party-proximity-cinematic{
  position:fixed;inset:0;z-index:10060;display:grid;place-items:center;
  background:
    radial-gradient(circle at 50% 54%,rgba(31,136,126,.18),transparent 36%),
    linear-gradient(180deg,rgba(5,8,8,.94),rgba(9,7,5,.98));
  opacity:0;transition:opacity .18s ease;overflow:hidden;perspective:900px;
}
.party-proximity-cinematic.active{opacity:1}
.party-proximity-cinematic.leaving{opacity:0}
.party-proximity-cinematic .proximity-road{
  position:absolute;left:-10%;right:-10%;top:56%;height:34%;
  transform:perspective(650px) rotateX(67deg) translateY(-50%);
  background:linear-gradient(90deg,#171815,#2a2921 48%,#171815);
  border-top:5px solid #665b41;box-shadow:0 -30px 70px rgba(0,0,0,.55);
}
.party-proximity-cinematic .proximity-road:after{
  content:"";position:absolute;left:8%;right:8%;top:50%;height:4px;
  background:repeating-linear-gradient(90deg,#d8b652 0 42px,transparent 42px 74px)
}
.proximity-piece-wrap{
  position:absolute;top:49%;width:150px;height:94px;display:grid;place-items:center;
  transform:translateY(-50%);transition:transform .55s cubic-bezier(.2,.8,.25,1);
}
.proximity-piece-wrap.local{left:8%;transform:translate(-90px,-50%)}
.proximity-piece-wrap.remote{right:8%;transform:translate(90px,-50%)}
.party-proximity-cinematic.active .proximity-piece-wrap.local{transform:translate(0,-50%) rotateY(8deg)}
.party-proximity-cinematic.active .proximity-piece-wrap.remote{transform:translate(0,-50%) rotateY(-8deg)}
.proximity-piece-wrap .proximity-piece{width:138px!important;height:84px!important}
.proximity-piece-wrap>b{
  position:absolute;top:92%;padding:4px 8px;border-radius:999px;background:#080b0a;
  color:#f2d37d;border:1px solid #6d6045;font:900 8px/1 system-ui,sans-serif;letter-spacing:.09em
}
.party-proximity-cinematic>.proximity-kicker{
  position:absolute;top:21%;font:900 10px/1 system-ui,sans-serif;letter-spacing:.22em;color:#58ded2
}
.party-proximity-cinematic>strong{
  position:absolute;top:27%;max-width:88%;text-align:center;font:900 31px/.95 Georgia,serif;
  color:#f4dfac;text-shadow:0 6px 18px rgba(0,0,0,.7)
}
.party-proximity-cinematic>.proximity-flash{
  position:absolute;top:49%;font:900 38px/1 Georgia,serif;color:#f0bd53;text-shadow:0 0 20px rgba(240,189,83,.45);
  animation:proximityPulse .65s ease infinite alternate
}
@keyframes proximityPulse{to{transform:scale(1.18);filter:brightness(1.4)}}

.party-encounter-toast{
  position:fixed;z-index:10070;left:50%;top:18%;transform:translate(-50%,-25px) scale(.94);
  width:min(88vw,420px);padding:12px 15px;border-radius:13px;
  background:linear-gradient(145deg,#111713,#070a08);border:2px solid #6e7259;
  box-shadow:0 18px 45px rgba(0,0,0,.62);opacity:0;transition:.25s ease;text-align:center
}
.party-encounter-toast.active{opacity:1;transform:translate(-50%,0) scale(1)}
.party-encounter-toast.positive{border-color:#44bda8}.party-encounter-toast.negative{border-color:#d35e43}
.party-encounter-toast>span{display:block;font:900 7px/1 system-ui;letter-spacing:.16em;color:#62ded3}
.party-encounter-toast>strong{display:block;margin:4px 0;font:900 20px/1 Georgia;color:#f4dea4}
.party-encounter-toast>small{font:700 10px/1.25 system-ui;color:#d0c8ad}

/* Fuzz role panel and exclusive clean/dirty cards. */
.fuzz-role-panel{
  margin:10px 0;padding:13px 14px;border:2px solid rgba(80,165,224,.65);border-radius:13px;
  background:linear-gradient(135deg,rgba(13,28,37,.96),rgba(10,12,13,.98));
  box-shadow:inset 0 0 30px rgba(42,126,181,.10),0 8px 20px rgba(0,0,0,.28)
}
.fuzz-role-panel.locked{filter:saturate(.45);opacity:.72}
.fuzz-role-panel>span{display:block;font:900 8px/1 system-ui;letter-spacing:.16em;color:#75c6ff}
.fuzz-role-panel>strong{display:block;margin:6px 0 5px;font:900 19px/1 Georgia;color:#f2e4b8}
.fuzz-role-panel>small{display:block;font:700 10px/1.35 system-ui;color:#c3c9c6}
.party-lobby-row.fuzz-role{border-color:#5ca9e4!important;background:linear-gradient(90deg,rgba(36,104,151,.16),rgba(176,45,45,.11))!important}

.fuzz-action-card,.party-action-card{
  position:relative;margin:8px 0 13px;padding:18px 15px 17px;border-radius:14px;overflow:hidden;
  background:linear-gradient(145deg,#151a18,#080a09);border:3px solid #657067;
  box-shadow:0 14px 30px rgba(0,0,0,.43),inset 0 0 0 1px rgba(255,255,255,.06)
}
.fuzz-action-card:before,.party-action-card:before{
  content:"";position:absolute;inset:6px;border:1px dashed rgba(255,255,255,.13);pointer-events:none
}
.fuzz-action-card.clean{border-color:#58aee1;background:linear-gradient(145deg,#122738,#081017)}
.fuzz-action-card.dirty{border-color:#d45c45;background:linear-gradient(145deg,#311916,#0f0908)}
.party-action-card.positive{border-color:#3ebda7}.party-action-card.negative{border-color:#d26248}
.fuzz-action-card>span,.party-action-card>span{display:block;font:900 8px/1 system-ui;letter-spacing:.19em;color:#79d9ee}
.fuzz-action-card.dirty>span,.party-action-card.negative>span{color:#ff8c65}
.fuzz-action-card>strong,.party-action-card>strong{display:block;margin:8px 0 7px;font:900 26px/.95 Georgia;color:#f5dda3}
.fuzz-action-card>small,.party-action-card>small{display:block;font:800 11px/1.35 system-ui;color:#ded5ba}

/* Make all action/event cards visually unmistakable from ordinary menus. */
#modalCard.action-card-presentation{
  border-width:3px!important;border-radius:16px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.72),inset 0 0 0 2px rgba(224,191,110,.10)!important;
}
#modalCard.action-card-presentation #modalKicker{
  display:inline-block!important;padding:5px 9px!important;border-radius:999px!important;
  background:#111916!important;border:1px solid #6d7c6e!important;letter-spacing:.16em!important
}
#modalCard.action-card-presentation #modalTitle{font-size:clamp(27px,7vw,40px)!important;line-height:.94!important;margin-top:8px!important}
#modalCard.action-card-presentation.positive{border-color:#46b69e!important}
#modalCard.action-card-presentation.negative{border-color:#d45f46!important}
#modalCard.action-card-presentation.neutral{border-color:#5ba0c7!important}
#modalCard.fuzz-card-presentation{background:linear-gradient(145deg,#101a20,#07090a)!important}

/* Fictional street-protection shop cards. */
.raid-defense-head.street-head{margin-top:14px!important}
.raid-defense-card.street-protection.active{border-color:#e36a47!important;box-shadow:0 0 0 2px rgba(227,106,71,.18),0 8px 18px rgba(0,0,0,.3)!important}
.street-protection-none{width:100%;margin-top:8px;min-height:44px;border-radius:10px;border:1px solid #73674f;background:#11130f;color:#d7caa4;font:900 9px/1 system-ui;letter-spacing:.08em}
.street-protection-none.active{border-color:#48b9aa;color:#72dfd2}

/* Stronger, unmistakably 3D separate roll dice. */
body>#boardDiceOverlay.separate-dice-screen{perspective:1600px!important;-webkit-perspective:1600px!important}
body>#boardDiceOverlay.separate-dice-screen .dice-flight{
  perspective:1050px!important;-webkit-perspective:1050px!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube{
  --die-size:112px!important;--die-half:56px!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  filter:drop-shadow(17px 24px 11px rgba(0,0,0,.72))!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-face{
  display:grid!important;opacity:1!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  border-width:4px!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-face-front{transform:translateZ(var(--die-half))!important;filter:brightness(1.08)}
body>#boardDiceOverlay.separate-dice-screen .die-face-back{transform:rotateY(180deg) translateZ(var(--die-half))!important;filter:brightness(.62)}
body>#boardDiceOverlay.separate-dice-screen .die-face-right{transform:rotateY(90deg) translateZ(var(--die-half))!important;filter:brightness(.78)}
body>#boardDiceOverlay.separate-dice-screen .die-face-left{transform:rotateY(-90deg) translateZ(var(--die-half))!important;filter:brightness(.72)}
body>#boardDiceOverlay.separate-dice-screen .die-face-top{transform:rotateX(90deg) translateZ(var(--die-half))!important;filter:brightness(1.22)}
body>#boardDiceOverlay.separate-dice-screen .die-face-bottom{transform:rotateX(-90deg) translateZ(var(--die-half))!important;filter:brightness(.54)}
body>#boardDiceOverlay.separate-dice-screen .die-face:after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 36%,rgba(0,0,0,.18));
}
@media(max-width:520px){
  body>#boardDiceOverlay.separate-dice-screen .die-cube3d.die-board-cube{--die-size:92px!important;--die-half:46px!important}
}

/* Give board landmarks/cityscapes actual tabletop depth. */
.roadside-landmark-layer{perspective:900px!important;transform-style:preserve-3d!important}
.roadside-landmark{
  transform-style:preserve-3d!important;
  transform:translate(-50%,-50%) rotateX(-9deg) rotateY(8deg)!important;
  filter:drop-shadow(5px 8px 4px rgba(0,0,0,.72));
}
.roadside-landmark:nth-child(even){transform:translate(-50%,-50%) rotateX(-9deg) rotateY(-8deg)!important}
.roadside-landmark>i{
  transform:translateZ(14px)!important;border-width:2px!important;
  box-shadow:4px 5px 0 rgba(24,20,15,.95),8px 10px 15px rgba(0,0,0,.42)!important;
}
.roadside-landmark>b{
  transform:translateZ(18px)!important;text-shadow:2px 3px 0 rgba(0,0,0,.85)!important
}
.roadside-landmark>em{
  display:block!important;position:absolute!important;left:50%!important;bottom:-15px!important;
  width:38px!important;height:24px!important;transform:translateX(-50%) translateZ(3px) rotateX(-4deg)!important;
  border:1px solid rgba(226,204,153,.28)!important;border-radius:3px 3px 1px 1px!important;
  background:linear-gradient(90deg,#171a18,#34342c 44%,#161915)!important;
  box-shadow:5px 7px 0 #080a08,9px 11px 14px rgba(0,0,0,.58)!important
}
.roadmark-core-city>em{
  width:54px!important;height:33px!important;bottom:-19px!important;
  background:
    linear-gradient(90deg,transparent 0 5%,#242a28 5% 22%,transparent 22% 27%,#313934 27% 48%,transparent 48% 53%,#202724 53% 72%,transparent 72% 77%,#3b3f35 77% 96%,transparent 96%),
    linear-gradient(#202522,#111410)!important;
  clip-path:polygon(0 100%,0 38%,10% 38%,10% 15%,24% 15%,24% 50%,36% 50%,36% 0,53% 0,53% 45%,66% 45%,66% 22%,82% 22%,82% 56%,100% 56%,100% 100%)!important;
}
body.time-night .roadmark-core-city>em{
  background:
    radial-gradient(circle at 18% 52%,#f2c65b 0 1px,transparent 2px),
    radial-gradient(circle at 43% 35%,#71e6df 0 1px,transparent 2px),
    radial-gradient(circle at 70% 62%,#f19f48 0 1px,transparent 2px),
    radial-gradient(circle at 88% 42%,#6bc9ff 0 1px,transparent 2px),
    linear-gradient(90deg,transparent 0 5%,#28312f 5% 22%,transparent 22% 27%,#35413c 27% 48%,transparent 48% 53%,#242e2a 53% 72%,transparent 72% 77%,#41463b 77% 96%,transparent 96%)!important;
  box-shadow:0 0 15px rgba(89,219,211,.28),5px 7px 0 #050707,9px 11px 16px rgba(0,0,0,.65)!important;
}
body.time-night .roadmark-diner>i{box-shadow:0 0 12px #f46a62,4px 5px 0 #341514,8px 10px 15px rgba(0,0,0,.6)!important}
body.time-night .roadmark-gas>i{box-shadow:0 0 12px #64d9ce,4px 5px 0 #12312e,8px 10px 15px rgba(0,0,0,.6)!important}
body.time-night .roadmark-casino>i{box-shadow:0 0 15px #f0bd54,4px 5px 0 #342610,8px 10px 15px rgba(0,0,0,.6)!important}
body.time-night .roadmark-motel>i{box-shadow:0 0 13px #b981ea,4px 5px 0 #28163a,8px 10px 15px rgba(0,0,0,.6)!important}


/* ============================================================
   BORDER RUN v4.2.3s — PRESTIGE DICE / FUZZ PROGRESSION / MMO
   ============================================================ */
.dice-variant-chip{min-height:76px!important;position:relative}
.dice-variant-chip small{display:block;font-size:8px;line-height:1.2;margin-top:4px;opacity:.82}
.dice-variant-chip.locked.prestige{filter:grayscale(.55) brightness(.58);opacity:.68;border-style:dashed!important}
.dice-variant-chip.locked.prestige:after{content:'ACHIEVEMENT ONLY';position:absolute;right:5px;top:5px;font-size:6px;letter-spacing:.08em;color:#f3ce72}
.prestige-dice-note{font-size:11px!important;line-height:1.45!important;padding:8px 10px;border:1px solid rgba(240,196,93,.3);border-radius:8px;background:rgba(52,42,22,.38)}
.skin-fuzzblue{--dice-face:#e8f2f0;--dice-pip:#163b6e;--dice-edge:#164b87}
.skin-evidence{--dice-face:#e5d3a8;--dice-pip:#261d12;--dice-edge:#8a6d34}
.skin-internal{--dice-face:#1f2328;--dice-pip:#f0f0e8;--dice-edge:#a9b0b6}
.token-fuzzbadge{--token:#d9c37b;--token2:#4b5660}.token-redlight{--token:#b63832;--token2:#2c1110}.token-evidencechip{--token:#d3c49a;--token2:#31363b}
.fuzz-achievement-summary,.fuzz-mini-progress{display:flex;gap:7px;flex-wrap:wrap;padding:8px;border:1px solid rgba(93,208,199,.25);border-radius:9px;background:rgba(7,18,18,.55);font-size:10px}
.fuzz-achievement-summary span,.fuzz-mini-progress{color:#d9c988}
.vehicle-skin.fuzz-exclusive{border-color:rgba(74,154,228,.45)!important}
.ride-fuzzinterceptor>img{filter:drop-shadow(0 7px 4px rgba(0,0,0,.72)) saturate(1.12)!important}
.ride-fuzzunmarked>img{filter:drop-shadow(0 7px 4px rgba(0,0,0,.72)) brightness(.82)!important}
.fuzz-city-duel{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(25,66,92,.44),rgba(4,7,9,.94) 66%);opacity:0;transition:opacity .22s ease;pointer-events:none}
.fuzz-city-duel.active{opacity:1}.fuzz-city-duel.leaving{opacity:0}
.fuzz-duel-card{width:min(90vw,480px);padding:24px 20px;border:2px solid #5eb5df;border-radius:18px;background:linear-gradient(160deg,#101923,#080c10);box-shadow:0 25px 65px rgba(0,0,0,.68),inset 0 0 45px rgba(45,133,190,.12);text-align:center;color:#ece6cc}
.fuzz-duel-card>span{font-size:10px;letter-spacing:.16em;color:#75d9f1}.fuzz-duel-card>strong{display:block;font-size:26px;margin:6px 0 16px;font-family:Georgia,serif}.fuzz-duel-dice{display:flex;align-items:center;justify-content:center;gap:18px}.fuzz-duel-dice>div{width:108px;height:108px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#f4edd6,#aaa48f);color:#121619;border:4px solid #26323b;box-shadow:inset -9px -10px 0 rgba(0,0,0,.14),10px 14px 0 rgba(0,0,0,.35);transform:perspective(380px) rotateX(9deg) rotateY(-8deg)}.fuzz-duel-dice>div:last-child{transform:perspective(380px) rotateX(9deg) rotateY(8deg)}.fuzz-duel-dice small{font-size:8px;letter-spacing:.1em}.fuzz-duel-dice b{font-size:48px}.fuzz-duel-dice em{font-style:normal;font-weight:900;color:#e76c50}.fuzz-duel-card p{margin:17px 0 0;font-weight:900;letter-spacing:.08em;color:#f1c45e}
@media(max-width:560px){.fuzz-duel-card{width:88vw;padding:20px 12px}.fuzz-duel-dice>div{width:92px;height:92px}.fuzz-duel-dice b{font-size:42px}}


/* ============================================================
   BORDER RUN v4.2.3t — EXPLICIT CITY DRIVE-THROUGH + TRUE 3D DICE
   ============================================================ */
/* The six-space city action table is deliberately NOT tied to crossing a city
   during normal pawn movement. It is invoked only by the Drive Through button. */

/* Outer holder: neutralize every legacy flat-card/cube transform. */
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.br3d-holder,
.city-d6-overlay .die-cube3d.br3d-holder{
  position:relative!important;
  width:var(--die-size)!important;height:var(--die-size)!important;
  transform:none!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  perspective:none!important;-webkit-perspective:none!important;
  overflow:visible!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  filter:drop-shadow(18px 24px 12px rgba(0,0,0,.68))!important;
}

/* This inner shell is the actual physical cube and owns every rotation. */
body>#boardDiceOverlay.separate-dice-screen .br3d-spin-shell,
.city-d6-overlay .br3d-spin-shell{
  position:absolute;inset:0;display:block;
  width:100%;height:100%;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  transform-origin:50% 50%;
  transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz));
  will-change:transform;
}
body>#boardDiceOverlay.separate-dice-screen .br3d-face,
.city-d6-overlay .br3d-face{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;box-sizing:border-box!important;
  display:grid!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  border-width:4px!important;
  box-shadow:
    inset -15px -17px 0 rgba(32,24,15,.20),
    inset 10px 10px 0 rgba(255,255,255,.28),
    0 0 0 1px rgba(12,10,8,.36)!important;
}
body>#boardDiceOverlay.separate-dice-screen .br3d-front,
.city-d6-overlay .br3d-front{transform:translateZ(var(--die-half))!important;filter:brightness(1.06)}
body>#boardDiceOverlay.separate-dice-screen .br3d-back,
.city-d6-overlay .br3d-back{transform:rotateY(180deg) translateZ(var(--die-half))!important;filter:brightness(.58)}
body>#boardDiceOverlay.separate-dice-screen .br3d-right,
.city-d6-overlay .br3d-right{transform:rotateY(90deg) translateZ(var(--die-half))!important;filter:brightness(.77)}
body>#boardDiceOverlay.separate-dice-screen .br3d-left,
.city-d6-overlay .br3d-left{transform:rotateY(-90deg) translateZ(var(--die-half))!important;filter:brightness(.70)}
body>#boardDiceOverlay.separate-dice-screen .br3d-top,
.city-d6-overlay .br3d-top{transform:rotateX(90deg) translateZ(var(--die-half))!important;filter:brightness(1.20)}
body>#boardDiceOverlay.separate-dice-screen .br3d-bottom,
.city-d6-overlay .br3d-bottom{transform:rotateX(-90deg) translateZ(var(--die-half))!important;filter:brightness(.50)}

/* Strong perspective on the scene and individual dice wells. */
body>#boardDiceOverlay.separate-dice-screen{perspective:1500px!important;-webkit-perspective:1500px!important;perspective-origin:50% 43%!important}
body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important}
body>#boardDiceOverlay.separate-dice-screen .dice-flight{perspective:780px!important;-webkit-perspective:780px!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.br3d-holder{--die-size:118px!important;--die-half:59px!important}

/* Outer flight supplies the arc; nested cube supplies physical rotation. */
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a{animation:v423tFlightA 1.52s cubic-bezier(.14,.72,.18,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b{animation:v423tFlightB 1.52s cubic-bezier(.14,.72,.18,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a .br3d-spin-shell{animation:v423tCubeA 1.52s cubic-bezier(.12,.64,.18,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b .br3d-spin-shell{animation:v423tCubeB 1.52s cubic-bezier(.12,.64,.18,1) both!important}
@keyframes v423tFlightA{
  0%{transform:translate3d(-92px,-280px,210px) scale(.55);opacity:.12}
  35%{transform:translate3d(-30px,-138px,140px) scale(.90);opacity:1}
  68%{transform:translate3d(18px,-25px,52px) scale(1.07)}
  80%{transform:translate3d(-5px,10px,0) scale(1.02)}
  90%{transform:translate3d(3px,-20px,30px) scale(.99)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes v423tFlightB{
  0%{transform:translate3d(96px,-294px,220px) scale(.53);opacity:.12}
  35%{transform:translate3d(32px,-142px,144px) scale(.91);opacity:1}
  68%{transform:translate3d(-17px,-27px,54px) scale(1.07)}
  80%{transform:translate3d(6px,9px,0) scale(1.02)}
  90%{transform:translate3d(-3px,-19px,29px) scale(.99)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@keyframes v423tCubeA{
  0%{transform:rotateX(25deg) rotateY(-32deg) rotateZ(-8deg)}
  24%{transform:rotateX(292deg) rotateY(346deg) rotateZ(126deg)}
  49%{transform:rotateX(624deg) rotateY(720deg) rotateZ(294deg)}
  73%{transform:rotateX(930deg) rotateY(1070deg) rotateZ(462deg)}
  88%{transform:rotateX(1110deg) rotateY(1270deg) rotateZ(565deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
@keyframes v423tCubeB{
  0%{transform:rotateX(-20deg) rotateY(31deg) rotateZ(9deg)}
  24%{transform:rotateX(-305deg) rotateY(334deg) rotateZ(-132deg)}
  49%{transform:rotateX(-638deg) rotateY(735deg) rotateZ(-302deg)}
  73%{transform:rotateX(-948deg) rotateY(1092deg) rotateZ(-475deg)}
  88%{transform:rotateX(-1126deg) rotateY(1295deg) rotateZ(-578deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
body>#boardDiceOverlay.separate-dice-screen.impact .dice-flight-a .br3d-spin-shell{animation:v423tImpactA .32s cubic-bezier(.18,.78,.22,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.impact .dice-flight-b .br3d-spin-shell{animation:v423tImpactB .32s cubic-bezier(.18,.78,.22,1) both!important}
@keyframes v423tImpactA{
  0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
  45%{transform:rotateX(calc(var(--die-rx) + 5deg)) rotateY(calc(var(--die-ry) - 7deg)) rotateZ(calc(var(--die-rz) + 3deg)) scale3d(1.07,.90,1.03)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
}
@keyframes v423tImpactB{
  0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
  45%{transform:rotateX(calc(var(--die-rx) - 5deg)) rotateY(calc(var(--die-ry) + 7deg)) rotateZ(calc(var(--die-rz) - 3deg)) scale3d(1.07,.90,1.03)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
}

/* The one-die Drive Through sequence uses the same physical cube. */
.city-d6-overlay{perspective:1350px!important;-webkit-perspective:1350px!important}
.city-d6-die-flight{perspective:800px!important;-webkit-perspective:800px!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important}
.city-d6-die-flight .die-cube3d.br3d-holder{--die-size:110px!important;--die-half:55px!important}
.city-d6-overlay.rolling .city-d6-die-flight .br3d-spin-shell{animation:v423tCityCube .90s cubic-bezier(.13,.68,.18,1) both!important}
@keyframes v423tCityCube{
  0%{transform:rotateX(18deg) rotateY(-24deg) rotateZ(-7deg)}
  28%{transform:rotateX(342deg) rotateY(390deg) rotateZ(140deg)}
  58%{transform:rotateX(704deg) rotateY(770deg) rotateZ(318deg)}
  84%{transform:rotateX(1018deg) rotateY(1118deg) rotateZ(475deg)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}
}
.city-d6-overlay.landed .city-d6-die-flight .br3d-spin-shell{animation:v423tCitySettle .26s cubic-bezier(.2,.8,.22,1) both!important}
@keyframes v423tCitySettle{0%{transform:rotateX(calc(var(--die-rx) + 4deg)) rotateY(calc(var(--die-ry) - 5deg)) rotateZ(var(--die-rz)) scale3d(1.05,.91,1.02)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}}

@media(max-width:520px){
  body>#boardDiceOverlay.separate-dice-screen .die-cube3d.br3d-holder{--die-size:94px!important;--die-half:47px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{gap:32px!important}
  .city-d6-die-flight .die-cube3d.br3d-holder{--die-size:90px!important;--die-half:45px!important}
}


/* ============================================================
   BORDER RUN v4.2.3u — LIVING 3D BOARD / CITY DRIVE D6 RELIABILITY
   ============================================================ */
#boardStage .tabletop-board{perspective:1400px!important;perspective-origin:50% 42%!important;box-shadow:inset 0 0 0 2px rgba(212,177,105,.72),inset 0 -18px 28px rgba(0,0,0,.34),0 13px 0 #0b0907,0 21px 35px rgba(0,0,0,.66)!important}
.graphical-world-board{transform-style:preserve-3d!important;border-radius:16px!important;box-shadow:inset 0 0 0 1px rgba(255,235,177,.12),inset 0 -18px 28px rgba(0,0,0,.18),0 9px 0 rgba(20,15,10,.90),0 15px 24px rgba(0,0,0,.38)!important}
.graphical-world-board .living-roads{filter:drop-shadow(0 5px 1px rgba(0,0,0,.72)) drop-shadow(0 -1px 0 rgba(255,235,181,.12))!important}
.graphical-world-board .road-biome-shoulder{stroke-width:3.1!important;filter:drop-shadow(0 4px 1px rgba(0,0,0,.72))}.graphical-world-board .road-biome-segment{stroke-width:2.15!important}
.graphical-world-board .map-node{overflow:visible!important;transform-style:preserve-3d!important;border-bottom-width:3px!important}
.graphical-world-board .map-node::after{content:"";position:absolute;left:5px;right:-5px;top:7px;bottom:-8px;z-index:-2;border-radius:0 0 9px 9px;pointer-events:none;background:linear-gradient(100deg,rgba(37,31,24,.98),rgba(9,12,12,.98));border-right:1px solid rgba(218,184,109,.20);border-bottom:1px solid rgba(0,0,0,.88);transform:skewY(-2deg);box-shadow:0 5px 8px rgba(0,0,0,.46)}
.graphical-world-board .map-node.current::after{background:linear-gradient(100deg,#184b49,#081413)!important;box-shadow:0 6px 12px rgba(0,0,0,.58),0 0 12px rgba(80,229,216,.24)!important}
.graphical-world-board .map-node.has-skyline3d{padding-top:3px!important;min-height:61px!important}.graphical-world-board .map-node.core-city-node.has-skyline3d{min-height:70px!important}
.city-skyline-3d{--city-front:#364c4b;--city-side:#172524;--city-roof:#697a6b;position:relative;width:82%;height:31px;display:flex;align-items:flex-end;justify-content:center;gap:2px;margin:-6px auto 1px;perspective:170px;transform-style:preserve-3d;pointer-events:none;z-index:2;filter:drop-shadow(3px 6px 2px rgba(0,0,0,.62))}
.city-skyline-3d.town-skyline{height:24px;width:72%;opacity:.94}.city-skyline-3d.skyline-desert,.city-skyline-3d.skyline-borderlands{--city-front:#76523d;--city-side:#3c2a21;--city-roof:#a27b59}.city-skyline-3d.skyline-mountain{--city-front:#45575a;--city-side:#202c31;--city-roof:#80908a}.city-skyline-3d.skyline-plains{--city-front:#5a6048;--city-side:#2b3024;--city-roof:#8b8f69}.city-skyline-3d.skyline-coast,.city-skyline-3d.skyline-river,.city-skyline-3d.skyline-lakes{--city-front:#355c62;--city-side:#172d34;--city-roof:#6f9390}.city-skyline-3d.skyline-urban{--city-front:#414858;--city-side:#1b202b;--city-roof:#777e8a}
.city-building3d{position:relative;display:block;width:var(--bw);height:var(--bh);min-width:5px;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 38%),var(--city-front);border:1px solid rgba(10,12,12,.75);border-bottom:0;border-radius:1px 1px 0 0;transform:rotateY(-7deg) translateZ(var(--bd));transform-origin:bottom center;box-shadow:inset 1px 0 rgba(255,255,255,.08),0 1px 0 rgba(0,0,0,.8)}
.city-building3d::before{content:"";position:absolute;left:1px;right:-3px;top:-3px;height:3px;background:var(--city-roof);transform:skewX(-38deg);transform-origin:left bottom;border:1px solid rgba(8,10,10,.55);border-bottom:0}.city-building3d::after{content:"";position:absolute;right:-4px;top:0;width:4px;height:100%;background:var(--city-side);transform:skewY(-35deg);transform-origin:left top;border-right:1px solid rgba(0,0,0,.65)}
.city-building3d>i{position:absolute;inset:3px 2px 2px;opacity:.42;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(247,219,135,.75) 3px 4px),repeating-linear-gradient(90deg,transparent 0 3px,rgba(247,219,135,.55) 3px 4px)}.city-building3d.b1{transform:rotateY(5deg) translateZ(3px)}.city-building3d.b2{transform:rotateY(-3deg) translateZ(5px)}.map-node.current .city-skyline-3d{filter:drop-shadow(3px 6px 2px rgba(0,0,0,.68)) drop-shadow(0 0 7px rgba(78,230,216,.25))}
body.time-night .city-building3d>i,body.time-dusk .city-building3d>i{opacity:.92;filter:drop-shadow(0 0 2px #ffd977);animation:br423uWindows 2.7s steps(2,end) infinite var(--blink)}body.time-night .city-skyline-3d{filter:drop-shadow(3px 7px 3px rgba(0,0,0,.82)) drop-shadow(0 0 7px rgba(255,205,100,.18))}@keyframes br423uWindows{0%,62%{opacity:.88}63%,74%{opacity:.42}75%,100%{opacity:.96}}
.living-biome-layer{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden;transform-style:preserve-3d}.biome-life3d{position:absolute;left:var(--life-x);top:var(--life-y);width:22px;height:24px;transform:translate(-50%,-50%) perspective(100px) rotateX(8deg);filter:drop-shadow(2px 5px 2px rgba(0,0,0,.48));animation:br423uLifeFloat 5.2s ease-in-out infinite var(--life-delay)}.biome-life3d>i,.biome-life3d>b{position:absolute;display:block}
.life-desert>i,.life-borderlands>i{left:9px;bottom:3px;width:5px;height:18px;border-radius:4px 4px 2px 2px;background:#315d45;box-shadow:inset 1px 0 #5f8a65}.life-desert>i::before,.life-borderlands>i::before{content:"";position:absolute;left:-6px;top:7px;width:7px;height:4px;border-radius:4px;background:#315d45;box-shadow:0 -4px 0 -1px #315d45}.life-desert>i::after,.life-borderlands>i::after{content:"";position:absolute;right:-6px;top:5px;width:7px;height:4px;border-radius:4px;background:#315d45;box-shadow:0 4px 0 -1px #315d45}.life-desert>b,.life-borderlands>b{left:2px;right:0;bottom:0;height:4px;border-radius:50%;background:#7c5536;transform:rotateX(65deg)}
.life-mountain>i{left:3px;bottom:2px;width:18px;height:20px;background:linear-gradient(135deg,#73827c,#35443f);clip-path:polygon(50% 0,100% 100%,0 100%)}.life-mountain>i::after{content:"";position:absolute;left:6px;top:2px;width:7px;height:7px;background:#d8ded6;clip-path:polygon(50% 0,100% 100%,0 100%)}.life-mountain>b{left:1px;top:1px;width:13px;height:5px;border-radius:50%;background:rgba(224,235,234,.55);filter:blur(1px);animation:br423uCloud 6s ease-in-out infinite alternate}
.life-plains>i{left:3px;bottom:2px;width:17px;height:10px;background:repeating-linear-gradient(75deg,#737b3b 0 2px,transparent 2px 4px);transform-origin:bottom;animation:br423uGrass 2.4s ease-in-out infinite alternate}.life-plains>b{left:2px;bottom:0;width:18px;height:4px;border-radius:50%;background:#5c532f;transform:rotateX(60deg)}
.life-coast>i,.life-river>i,.life-lakes>i{left:1px;right:1px;bottom:4px;height:7px;border-radius:50%;border-top:2px solid #6ad6d0;border-bottom:2px solid rgba(71,146,167,.5);animation:br423uWater 2.8s ease-in-out infinite}.life-coast>b,.life-river>b,.life-lakes>b{left:5px;bottom:1px;width:13px;height:3px;border-radius:50%;background:rgba(89,183,196,.45)}
.life-urban>i{left:5px;bottom:2px;width:12px;height:18px;background:#323b46;border:1px solid #161c22;box-shadow:4px 2px 0 #202a31,-3px 5px 0 #47515a}.life-urban>i::after{content:"";position:absolute;inset:3px 2px;background:repeating-linear-gradient(0deg,#e5b856 0 2px,transparent 2px 5px);opacity:.55}.life-urban>b{left:1px;right:0;bottom:0;height:4px;border-radius:50%;background:#1c2328;transform:rotateX(65deg)}body.time-night .life-urban>i::after{opacity:1;filter:drop-shadow(0 0 3px #ffc75f);animation:br423uWindows 2.3s steps(2,end) infinite}
@keyframes br423uLifeFloat{0%,100%{translate:0 0}50%{translate:0 -2px}}@keyframes br423uCloud{to{transform:translateX(8px);opacity:.25}}@keyframes br423uGrass{to{transform:skewX(8deg)}}@keyframes br423uWater{0%,100%{transform:scaleX(.78);opacity:.55}50%{transform:scaleX(1.08);opacity:1}}
.graphical-world-board .map-node.has-skyline3d>b,.graphical-world-board .map-node.has-skyline3d>small,.graphical-world-board .map-node.has-skyline3d>.node-value{position:relative;z-index:4}.graphical-world-board .map-node.has-skyline3d>b{font-size:7.6px!important;background:rgba(4,8,8,.64);padding:1px 3px;border-radius:3px}.graphical-world-board .map-node.core-city-node.has-skyline3d>b{font-size:8.5px!important}
@media(max-width:560px){.city-skyline-3d{height:26px;width:78%}.city-skyline-3d.town-skyline{height:20px}.graphical-world-board .map-node.has-skyline3d{min-height:56px!important}.graphical-world-board .map-node.core-city-node.has-skyline3d{min-height:64px!important}.biome-life3d{transform:translate(-50%,-50%) scale(.82) perspective(100px) rotateX(8deg)}}@media(prefers-reduced-motion:reduce){.biome-life3d,.city-building3d>i{animation:none!important}}


/* ============================================================
   BORDER RUN v4.2.3v — ACHIEVEMENT CELEBRATIONS + HEAT/JAIL
   ============================================================ */
.unlock-celebration{position:fixed;inset:0;z-index:99999;pointer-events:auto;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(31,79,71,.18),rgba(2,4,4,.68));opacity:0;transition:opacity .35s ease;backdrop-filter:blur(3px)}
.unlock-celebration.show{opacity:1}.unlock-burst{position:absolute;width:54vmin;height:54vmin;border-radius:50%;background:radial-gradient(circle,rgba(255,224,112,.48),rgba(74,218,200,.17) 34%,transparent 68%);animation:unlockBurstV423v 1.35s ease-out both}.unlock-celebration-card{position:relative;z-index:5;width:min(86vw,520px);padding:24px 22px 20px;border:2px solid #e8bd57;border-radius:20px;text-align:center;background:linear-gradient(155deg,rgba(18,25,21,.97),rgba(8,12,11,.98));box-shadow:0 0 0 4px rgba(92,220,205,.12),0 28px 70px rgba(0,0,0,.72),inset 0 0 34px rgba(232,189,87,.08);transform:translateY(18px) scale(.82);animation:unlockCardV423v .72s cubic-bezier(.14,.86,.26,1.15) both}
.unlock-celebration-card>span{display:block;color:#68ddd1;font:900 11px/1.2 Arial,sans-serif;letter-spacing:.22em}.unlock-celebration-card>strong{display:block;margin:8px 0 12px;color:#ffe4a0;font:900 clamp(28px,8vw,46px)/.95 Georgia,serif;text-shadow:0 3px 0 #71411f,0 0 22px rgba(255,197,84,.34)}.unlock-celebration-card>div{display:grid;gap:7px}.unlock-celebration-card b{padding:8px 10px;border:1px solid rgba(232,189,87,.28);border-radius:10px;background:rgba(255,255,255,.035);color:#fff4cf;font:900 14px/1.15 Arial,sans-serif}.unlock-celebration-card small{display:block;margin-top:12px;color:#a9b3a9;font:800 9px/1.3 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}.unlock-money-confetti{position:absolute;z-index:3;left:var(--x);top:-11%;font-style:normal;font-size:clamp(18px,5vw,34px);filter:drop-shadow(0 5px 3px rgba(0,0,0,.42));animation:unlockMoneyRainV423v var(--dur) linear var(--delay) both}.theme-fuzz .unlock-celebration-card{border-color:#6bbfff;box-shadow:0 0 0 4px rgba(210,54,54,.13),0 28px 70px rgba(0,0,0,.72),inset 0 0 38px rgba(62,135,255,.12)}.theme-leaf .unlock-celebration-card{border-color:#75d68a}.theme-dice .unlock-celebration-card{border-color:#c6a7ff}
@keyframes unlockMoneyRainV423v{0%{transform:translate3d(0,-12vh,0) rotate(0deg) scale(.7);opacity:0}8%{opacity:1}55%{transform:translate3d(var(--drift),55vh,0) rotate(390deg) scale(1.05)}100%{transform:translate3d(calc(var(--drift) * -.45),116vh,0) rotate(760deg) scale(.84);opacity:.18}}@keyframes unlockBurstV423v{0%{transform:scale(.1);opacity:0}30%{opacity:1}100%{transform:scale(1.65);opacity:0}}@keyframes unlockCardV423v{0%{transform:translateY(28px) scale(.72);opacity:0}70%{transform:translateY(-4px) scale(1.035);opacity:1}100%{transform:none;opacity:1}}
.police-case-card,.jail-bars-card{margin:8px 0 12px;padding:15px;border-radius:14px;border:2px solid #b75b49;background:linear-gradient(145deg,#271a18,#121514);box-shadow:0 12px 28px rgba(0,0,0,.48),inset 0 0 22px rgba(204,77,54,.08);display:grid;gap:5px;text-align:center}.police-case-card>span,.jail-bars-card>span{font:900 10px/1 Arial,sans-serif;letter-spacing:.18em;color:#e7a45d}.police-case-card>strong,.jail-bars-card>strong{font:900 24px/1 Georgia,serif;color:#ffe1a1}.police-case-card>small,.jail-bars-card>small{font:800 10px/1.3 Arial,sans-serif;color:#bcb5a3}.police-case-card.low{border-color:#5ab8aa}.police-case-card.watched{border-color:#e1b54b}.police-case-card.hot{border-color:#eb7e43}.police-case-card.wanted,.police-case-card.arrested{border-color:#e1493d;box-shadow:0 0 0 2px rgba(225,73,61,.14),0 12px 32px rgba(0,0,0,.55),inset 0 0 30px rgba(225,73,61,.14)}.jail-bars-card{position:relative;overflow:hidden}.jail-bars-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 15px,rgba(210,213,202,.22) 16px 20px);pointer-events:none}.modal-actions .btn.danger,.primary-actions .btn.danger{box-shadow:0 0 0 2px rgba(224,85,65,.14),0 8px 18px rgba(0,0,0,.32)}
.stat.heat-watched{box-shadow:inset 0 0 0 1px rgba(225,181,75,.18),0 0 18px rgba(225,181,75,.07)!important}.stat.heat-hot{box-shadow:inset 0 0 0 1px rgba(235,126,67,.24),0 0 20px rgba(235,126,67,.10)!important}.stat.heat-wanted{box-shadow:inset 0 0 0 1px rgba(225,73,61,.32),0 0 24px rgba(225,73,61,.17)!important;animation:heatWantedPulseV423v 1.25s ease-in-out infinite}.stat.heat-wanted #heat,.stat.heat-hot #heat{ text-shadow:0 0 14px rgba(239,91,60,.52)}@keyframes heatWantedPulseV423v{50%{box-shadow:inset 0 0 0 1px rgba(225,73,61,.48),0 0 30px rgba(225,73,61,.28)}}


/* ============================================================
   BORDER RUN v4.2.3w — SMOOTH MOTION + ANDROID PERFORMANCE
   ============================================================ */
.board-moving-piece.gpu-pawn-mover{transition:none!important;will-change:transform;contain:layout style paint;transform:translate3d(0,0,0) translate(-50%,-88%)}
.board-moving-piece.gpu-pawn-mover .moving-pawn-render{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.tabletop-board{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.modal-card,.action-splash,.city-d6-overlay,.party-proximity-cinematic{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.modal.show .modal-card,.action-splash.active{will-change:transform,opacity}
.map-node.current .vehicle-pawn{will-change:transform}
/* Gentler handoffs: short opacity/translate transitions instead of large layout changes. */
.modal{transition:opacity .20s ease!important}.modal-card{transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .20s ease!important}
.action-splash{transition:opacity .24s ease,transform .26s cubic-bezier(.2,.8,.2,1)!important}
.side-action-rail{transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s ease!important}
/* Adaptive low-power Android mode. Keep gameplay and 3D silhouettes, drop costly continuous effects. */
body.perf-lite .biome-life3d{animation:none!important}
body.perf-lite .city-building3d>i{animation:none!important}
body.perf-lite .roadside-landmark em,body.perf-lite .roadside-landmark i{animation:none!important}
body.perf-lite .graphical-world-layer,body.perf-lite .terrain-world{filter:none!important}
body.perf-lite .map-node,body.perf-lite .vehicle-pawn,body.perf-lite .city-skyline-3d,body.perf-lite .biome-life3d{filter:none!important}
body.perf-lite .unlock-celebration{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.perf-lite .unlock-money-confetti:nth-of-type(n+21){display:none!important}
body.perf-lite .unlock-burst{animation-duration:.8s!important}
body.perf-lite .stat.heat-wanted{animation:none!important}
body.perf-lite .tabletop-board.camera-tracking .map-node,body.perf-lite .tabletop-board.camera-glide .map-node{transition:opacity .18s ease!important}
body.perf-lite .living-biome-layer{contain:layout paint style}
body.perf-lite .roadside-landmark-layer{contain:layout paint style}
@media(max-width:560px){body.perf-lite .city-skyline-3d{transform:translate(-50%,-100%) perspective(180px) rotateX(7deg) scale(.92)!important}}


/* ============================================================
   BORDER RUN v4.2.3x — EVENT CINEMATICS / DELIBERATE RESULT HOLDS
   ============================================================ */
.city-d6-stage{isolation:isolate!important;transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease!important}
.city-d6-event-stamp{position:relative;z-index:5;display:grid;gap:4px;margin:-4px 0 8px;padding:8px 14px;border:1px solid rgba(239,196,85,.45);border-radius:10px;background:rgba(9,13,12,.78);box-shadow:0 7px 18px rgba(0,0,0,.34);transform:translateY(-14px);opacity:0}
.city-d6-event-stamp span{font:900 8px/1 system-ui;letter-spacing:.22em;color:#72ded5}.city-d6-event-stamp b{font:900 13px/1 Georgia,serif;letter-spacing:.08em;color:#f3d58a}
.city-d6-overlay.intro .city-d6-event-stamp{animation:v423xEventStamp .46s cubic-bezier(.16,.82,.2,1) forwards}
@keyframes v423xEventStamp{to{transform:translateY(0);opacity:1}}
.city-d6-phase{position:relative;z-index:4;margin-top:7px;min-height:17px;color:#a9b7ae;font:900 9px/1 system-ui;letter-spacing:.18em;transition:color .2s ease,transform .2s ease}
.city-d6-overlay.rolling .city-d6-phase{color:#69ded2;animation:v423xPhasePulse .62s ease-in-out infinite alternate}
@keyframes v423xPhasePulse{to{transform:scale(1.045);filter:brightness(1.35)}}
.city-d6-impact-ring{position:absolute;left:50%;bottom:19px;width:58px;height:18px;border:3px solid rgba(236,205,112,.82);border-radius:50%;transform:translateX(-50%) scale(.2);opacity:0;z-index:1}
.city-d6-overlay.impact .city-d6-impact-ring{animation:v423xImpactRing .42s ease-out forwards}
@keyframes v423xImpactRing{60%{opacity:.85}to{opacity:0;transform:translateX(-50%) scale(2.6)}}
.city-d6-overlay.impact .city-d6-stage{animation:v423xStageImpact .34s cubic-bezier(.18,.78,.2,1)}
@keyframes v423xStageImpact{0%{transform:translateY(0)}35%{transform:translateY(5px) scale(.995)}100%{transform:translateY(0)}}
.city-d6-result-banner{width:min(92%,390px);min-height:58px;margin:13px auto 0;padding:9px 12px;border:1px solid rgba(232,204,131,.26);border-radius:12px;background:linear-gradient(180deg,rgba(10,14,13,.87),rgba(20,24,21,.94));box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 10px 24px rgba(0,0,0,.32);opacity:.18;transform:translateY(8px) scale(.96);transition:opacity .32s ease,transform .32s cubic-bezier(.18,.82,.22,1),border-color .3s ease,box-shadow .3s ease}
.city-d6-result-banner span{display:block;font:900 8px/1 system-ui;letter-spacing:.18em;color:#c7c1aa}.city-d6-result-banner strong{display:block;margin-top:6px;font:900 20px/.98 Georgia,serif;color:#f1db9d;text-transform:uppercase}
.city-d6-overlay.landed .city-d6-result-banner{opacity:1;transform:translateY(0) scale(1)}
.city-d6-overlay.result-positive .city-d6-result-banner{border-color:rgba(65,211,170,.65);box-shadow:0 0 28px rgba(65,211,170,.14)}
.city-d6-overlay.result-positive .city-d6-result-banner span{color:#68ddbc}
.city-d6-overlay.result-negative .city-d6-result-banner{border-color:rgba(235,101,69,.70);box-shadow:0 0 30px rgba(235,101,69,.18)}
.city-d6-overlay.result-negative .city-d6-result-banner span{color:#ff8767}
.city-d6-overlay.result-neutral .city-d6-result-banner{border-color:rgba(96,174,216,.62);box-shadow:0 0 28px rgba(96,174,216,.15)}
.city-d6-overlay.result-neutral .city-d6-result-banner span{color:#83c9ed}
.city-d6-overlay.result-positive .city-d6-stage{border-color:rgba(65,211,170,.54)!important;box-shadow:0 28px 70px rgba(0,0,0,.68),0 0 38px rgba(65,211,170,.10)!important}
.city-d6-overlay.result-negative .city-d6-stage{border-color:rgba(235,101,69,.62)!important;box-shadow:0 28px 70px rgba(0,0,0,.68),0 0 42px rgba(235,101,69,.13)!important}
.city-d6-overlay.result-neutral .city-d6-stage{border-color:rgba(96,174,216,.52)!important;box-shadow:0 28px 70px rgba(0,0,0,.68),0 0 36px rgba(96,174,216,.10)!important}
.city-d6-overlay.landed .city-action-tile{animation:v423xTileReveal .36s cubic-bezier(.16,.82,.22,1) both}
.city-d6-overlay.landed .city-action-tile:nth-child(2){animation-delay:.06s}.city-d6-overlay.landed .city-action-tile:nth-child(3){animation-delay:.12s}.city-d6-overlay.landed .city-action-tile:nth-child(4){animation-delay:.18s}.city-d6-overlay.landed .city-action-tile:nth-child(5){animation-delay:.24s}.city-d6-overlay.landed .city-action-tile:nth-child(6){animation-delay:.30s}
@keyframes v423xTileReveal{from{opacity:.35;transform:translateY(9px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.city-d6-overlay.result-hold .city-action-tile.rolled{animation:v423xWinnerHold .66s ease-in-out infinite alternate!important}
@keyframes v423xWinnerHold{to{transform:translateY(-2px) scale(1.085);filter:brightness(1.4) saturate(1.2);box-shadow:0 0 0 3px #f0c65b,0 0 34px rgba(240,198,91,.60)}}
.city-d6-caption{font-size:11px!important;letter-spacing:.14em!important;min-height:28px!important;display:grid;place-items:center}
.event-card-reveal.active .event-deck-stack{animation:v423xDeckBreathe 1.15s ease-in-out infinite alternate}
@keyframes v423xDeckBreathe{to{transform:translate(-50%,-50%) rotate(-5deg) scale(1.025)}}
.event-card-reveal.resolved .event-flip-card{filter:drop-shadow(0 24px 30px rgba(0,0,0,.72)) drop-shadow(0 0 18px rgba(231,197,112,.18))}
.event-card-reveal.resolved .event-card-caption{font-size:10px!important;letter-spacing:.14em!important;background:rgba(7,10,9,.72);border:1px solid rgba(231,197,112,.22);border-radius:999px;padding:7px 10px;bottom:-2px!important}
body.perf-lite .city-d6-stage{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.perf-lite .city-d6-overlay.result-hold .city-action-tile.rolled{animation:v423xWinnerHold 1s ease-in-out 2 alternate!important}
body.perf-lite .event-card-reveal.active .event-deck-stack{animation:none!important}
@media(max-width:520px){.city-d6-event-stamp{padding:7px 11px}.city-d6-result-banner{min-height:52px;margin-top:9px}.city-d6-result-banner strong{font-size:18px}.city-d6-caption{font-size:9px!important}}

/* ============================================================
   BORDER RUN v4.2.3z — TRAVEL SPACES + ROTATION-SAFE INTERFACE
   Cities remain destinations. Every inter-city space is a trigger.
   ============================================================ */
.map-node.travel-space-node{
  width:8.7%!important;min-height:45px!important;padding:5px 3px!important;border-radius:999px!important;
  background:linear-gradient(155deg,#262a24,#141714)!important;border-color:#81734e!important;color:#e4d8a5!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.48)!important;
}
.map-node.travel-space-node b{font-size:6.8px!important;color:#e8d9a6!important;line-height:1!important;max-width:88%}
.map-node.travel-space-node small{display:none!important}.map-node.travel-space-node .node-value{font-size:5px!important;color:#7cd3c6!important}
.map-node.travel-space-node .node-biome-pip{left:-4px!important;bottom:-5px!important;transform:scale(.75)}
.map-node.travel-space-node.node-action{border-color:#d4ad4f!important}.map-node.travel-space-node.node-event{border-color:#7eb0bd!important}
.map-node.travel-space-node.node-patrol{border-color:#d3624d!important}.map-node.travel-space-node.node-hustle{border-color:#64b873!important}
.map-node.core-city-node{min-height:80px!important;border-width:2px!important;border-radius:9px!important}
.map-node.core-city-node b{font-size:9px!important}.map-node.core-city-node small{display:block!important}
.map-node.travel-space-node.current{transform:translate(-50%,-50%) scale(1.3)!important;z-index:29!important}

.board-trigger-legend{position:absolute;z-index:38;left:12px;top:54px;width:126px;padding:9px 9px 8px;display:grid;grid-template-columns:1fr 1fr;gap:6px 7px;border:1px solid rgba(211,177,99,.42);border-radius:9px;background:rgba(6,10,9,.86);box-shadow:0 9px 24px rgba(0,0,0,.44);pointer-events:none;backdrop-filter:blur(5px)}
.board-trigger-legend strong{grid-column:1/-1;font:900 8px/1 Arial,sans-serif;letter-spacing:.14em;color:#e0bd69}.board-trigger-legend span{display:flex;align-items:center;gap:4px;font:800 6px/1 Arial,sans-serif;letter-spacing:.06em;color:#bdb69b}.board-trigger-legend i{width:14px;height:14px;display:grid;place-items:center;border-radius:50%;font:900 8px/1 Arial,sans-serif;font-style:normal;background:#20231f;border:1px solid #665d45}.board-trigger-legend small{grid-column:1/-1;padding-top:2px;font:800 6px/1.2 Arial,sans-serif;color:#71c9bc;letter-spacing:.06em}.board-trigger-legend .legend-city{border-radius:3px;color:#e7c15e}.board-trigger-legend .legend-action{color:#e7c15e}.board-trigger-legend .legend-event{color:#8fcbd3}.board-trigger-legend .legend-patrol{color:#e77660}.board-trigger-legend .legend-hustle{color:#7ad486}

.location-card.location-travel-card{border-color:rgba(95,170,158,.48);box-shadow:inset 0 0 28px rgba(57,141,130,.06),0 10px 28px rgba(0,0,0,.26)}
.location-travel-card .travel-space-hero{min-height:112px;background:radial-gradient(circle at 72% 38%,rgba(217,177,86,.13),transparent 28%),linear-gradient(145deg,#121812,#22271e 52%,#101410)!important}
.location-travel-card .travel-space-hero:before{content:"";position:absolute;left:-8%;right:-8%;bottom:14%;height:24%;background:linear-gradient(180deg,#4a4331,#252a25);clip-path:polygon(0 62%,34% 40%,54% 54%,100% 18%,100% 100%,0 100%);opacity:.75}
.location-travel-card .travel-space-hero:after{content:"";position:absolute;left:48%;bottom:-10%;width:22%;height:68%;background:linear-gradient(90deg,transparent 0 44%,rgba(225,195,112,.78) 45% 55%,transparent 56%);transform:perspective(100px) rotateX(55deg);transform-origin:bottom;opacity:.7}
.travel-mini-board{border-color:rgba(96,174,162,.36)!important}.travel-mini-track .mini-space{min-height:72px}.travel-mini-track .trigger-space{border-color:#c8a950!important;box-shadow:inset 0 0 18px rgba(203,169,76,.1)}
.travel-location-blurb strong{color:#66c8ba;letter-spacing:.08em}.travel-trigger-card,.route-switch-result{display:grid;gap:6px;padding:13px;border:1px solid rgba(198,178,119,.34);border-radius:10px;background:linear-gradient(180deg,rgba(19,24,21,.96),rgba(9,13,11,.98));box-shadow:inset 0 0 24px rgba(255,255,255,.025),0 10px 24px rgba(0,0,0,.28)}
.travel-trigger-card span,.route-switch-result span{font:900 8px/1 Arial,sans-serif;letter-spacing:.16em;color:#70cbbb}.travel-trigger-card strong,.route-switch-result strong{font:900 18px/1.05 Georgia,serif;color:#eddaa0}.travel-trigger-card small,.route-switch-result small{font:700 10px/1.35 Arial,sans-serif;color:#aaa790}.travel-trigger-card.negative,.route-switch-result.negative{border-color:rgba(215,91,67,.55)}.travel-trigger-card.negative span,.route-switch-result.negative span{color:#ec7b64}.travel-trigger-card.positive,.route-switch-result.positive{border-color:rgba(82,181,139,.52)}

.city-economy-panel{margin:10px 0;padding:11px;border:1px solid rgba(194,161,78,.38);border-radius:10px;background:rgba(9,14,12,.76);box-shadow:inset 0 0 24px rgba(217,176,76,.035)}.city-economy-panel header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.city-economy-panel header span{font:900 8px/1 Arial,sans-serif;letter-spacing:.14em;color:#d4b35b}.city-economy-panel header strong{font:900 9px/1 Arial,sans-serif;color:#6ad0a1}.city-economy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.city-economy-row{display:flex;justify-content:space-between;gap:8px;padding:6px 7px;border:1px solid rgba(255,255,255,.06);border-radius:6px;background:rgba(255,255,255,.025);font:800 8px/1 Arial,sans-serif}.city-economy-row span{color:#b9b49e}.city-economy-row strong{color:#e3d18d}

/* PWA is no longer rotation locked. Each orientation gets its own useful board framing. */
@media (orientation:landscape){
  .fullscreen-board-stage .tabletop-board{height:clamp(420px,76svh,820px)!important;min-height:420px!important}
  .board-trigger-legend{display:grid}
  .location-card{max-width:none}
}
@media(max-width:560px){.dominity-tutorial-actions{flex-wrap:wrap}.dominity-tutorial-next.roll-practice{order:-1;flex:1 0 100%;width:100%;min-width:0}.dominity-tutorial-dice-pair i{font-size:32px}.dominity-tutorial-roll-copy b{font-size:13px}}
@media (orientation:portrait){
  .fullscreen-board-stage .tabletop-board{height:clamp(560px,67svh,820px)!important;min-height:540px!important}
  .fullscreen-board-stage .board.living-map{min-width:900px!important;width:900px!important;min-height:720px!important}
  .board-trigger-legend{position:sticky;left:8px;top:8px;width:auto;max-width:calc(100% - 16px);grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:7px 8px}
  .board-trigger-legend strong,.board-trigger-legend small{grid-column:1/-1}.board-trigger-legend span{justify-content:center;font-size:5.7px}.board-trigger-legend i{width:13px;height:13px}
  .city-economy-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .map-node.travel-space-node{width:9.4%!important;min-height:39px!important}.map-node.travel-space-node b{font-size:5.8px!important}
  .map-node.core-city-node{min-height:66px!important}.map-node.core-city-node b{font-size:7.6px!important}
  .board-trigger-legend{backdrop-filter:none}
}
body.perf-lite .board-trigger-legend{backdrop-filter:none!important}

/* ============================================================
   BORDER RUN v4.2.3z — PORTRAIT BOARD UX REBUILD
   Phone portrait is a camera-follow tabletop, not a shrunken desktop map.
   ============================================================ */

/* Native safe-area guard for iPhone Dynamic Island / status bar. */
.app-shell{padding-top:max(env(safe-area-inset-top),12px)!important}

/* Every travel tile advertises its landing trigger on the board. */
.travel-trigger-badge{
  position:absolute;right:-5px;top:-7px;z-index:8;width:18px;height:18px;display:grid;place-items:center;
  border-radius:50%;border:1px solid #8a7a51;background:#171b17;color:#ded2a1;
  font:900 10px/1 Arial,sans-serif;box-shadow:0 3px 7px rgba(0,0,0,.55)
}
.travel-trigger-badge.trigger-action{color:#ffd66b;border-color:#c9a346}.travel-trigger-badge.trigger-event{color:#9edbe3;border-color:#68a4af}
.travel-trigger-badge.trigger-patrol{color:#ff8d76;border-color:#c85242}.travel-trigger-badge.trigger-hustle{color:#8fe09c;border-color:#4da263}

/* Collapsible space legend. In portrait it defaults closed via JS but remains one-tap accessible. */
details.board-trigger-legend{pointer-events:auto!important;display:block!important;height:auto!important;padding:0!important;overflow:hidden}
.board-trigger-legend>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;cursor:pointer;color:#e0bd69;font:900 8px/1 Arial,sans-serif;letter-spacing:.14em;user-select:none;-webkit-user-select:none}
.board-trigger-legend>summary::-webkit-details-marker{display:none}.board-trigger-legend>summary b{font-size:12px;transition:transform .18s ease}.board-trigger-legend[open]>summary b{transform:rotate(180deg)}
.board-trigger-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 7px;padding:0 9px 9px}
.board-trigger-items span{display:flex;align-items:center;gap:4px;font:800 6px/1 Arial,sans-serif;letter-spacing:.06em;color:#bdb69b}
.board-trigger-items i{width:14px;height:14px;display:grid;place-items:center;border-radius:50%;font:900 8px/1 Arial,sans-serif;font-style:normal;background:#20231f;border:1px solid #665d45}
.board-trigger-items small{grid-column:1/-1;padding-top:2px;font:800 6px/1.2 Arial,sans-serif;color:#71c9bc;letter-spacing:.06em}

@media (orientation:portrait) and (max-width:760px){
  /* Phone layout uses the full safe width. */
  .app-shell{padding-left:6px!important;padding-right:6px!important;padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}
  .fullscreen-board-stage{margin-left:-2px!important;margin-right:-2px!important;padding:4px!important;border-radius:8px!important}

  /* Compact map toolbar: controls stay reachable without consuming a board row. */
  .fullscreen-board-stage .board-stage-head{
    min-height:42px!important;padding:3px 2px 4px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:5px!important;align-items:center!important
  }
  .fullscreen-board-stage .board-stage-head>div:first-child{display:flex!important;align-items:center!important;gap:5px!important;min-width:74px}
  .fullscreen-board-stage .board-stage-head>div:first-child .mini-label{display:none!important}
  .fullscreen-board-stage .board-stage-head>div:first-child strong{font-size:12px!important;white-space:nowrap}
  #boardStage .board-stage-right{display:flex!important;justify-content:flex-end!important;gap:4px!important;min-width:0!important}
  #boardStage .board-stage-legend{display:none!important}
  #boardStage .board-zoom-controls{gap:3px!important;min-width:0}
  #boardStage .board-zoom-btn{width:30px!important;min-width:30px!important;height:30px!important;border-radius:8px!important;font-size:17px!important}
  #boardStage .board-zoom-hint{height:30px!important;min-width:72px!important;padding:0 7px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:6px!important}
  #boardStage .board-fit-btn{height:30px!important;min-width:56px!important;padding:0 7px!important;border-radius:8px!important;font-size:7px!important}
  #boardStage .world-clock-chip{height:30px!important;min-width:82px!important;padding:2px 5px!important;gap:4px!important;border-radius:8px!important}
  #boardStage .world-clock-chip>span{width:22px!important;height:22px!important;font-size:13px!important}
  #boardStage .world-clock-chip strong{font-size:8px!important}#boardStage .world-clock-chip small{font-size:4.5px!important;margin-top:1px!important}

  /* Route choice stays visible but no longer steals a large portion of the phone. */
  .fullscreen-board-stage .route-panel{position:relative!important;top:auto!important;margin:0 0 4px!important;padding:3px!important;border-radius:7px!important}
  .fullscreen-board-stage .route-tabs{gap:4px!important}
  .fullscreen-board-stage .route-tab{min-height:42px!important;padding:4px 2px!important;gap:2px!important;border-radius:6px!important}
  .fullscreen-board-stage .route-tab .route-name{font-size:7.7px!important}.fullscreen-board-stage .route-tab small{display:none!important}
  .fullscreen-board-stage .route-tab em,.fullscreen-board-stage .route-tab i{display:block!important;font-size:4.7px!important;line-height:1!important}
  .fullscreen-board-stage .route-meter{display:none!important}

  /* The viewport shows a useful neighborhood; the actual board is intentionally much larger. */
  .fullscreen-board-stage .tabletop-board{
    height:clamp(520px,64svh,730px)!important;min-height:520px!important;padding:0!important;overflow:auto!important;
    touch-action:none!important;scroll-behavior:smooth!important;border-width:4px!important
  }
  .fullscreen-board-stage .board.living-map,
  .board.living-map{
    width:960px!important;min-width:960px!important;height:1500px!important;min-height:1500px!important;border-radius:12px!important
  }

  /* Readable tappable travel tiles; cities remain visibly larger destination spaces. */
  .map-node.travel-space-node{
    width:10.8%!important;min-width:86px!important;min-height:58px!important;padding:7px 6px!important;border-radius:12px!important
  }
  .map-node.travel-space-node b{font-size:8px!important;line-height:1.08!important;max-width:82%!important;white-space:normal!important}
  .map-node.travel-space-node small{display:block!important;margin-top:3px!important;font-size:5px!important;color:#7bd6c9!important;letter-spacing:.08em!important}
  .map-node.travel-space-node .node-num{font-size:5px!important}
  .map-node.travel-space-node.current{transform:translate(-50%,-50%) scale(1.12)!important}
  .map-node.core-city-node{width:12.8%!important;min-width:104px!important;min-height:88px!important;padding:6px 5px!important;border-radius:10px!important}
  .map-node.core-city-node b{font-size:9.2px!important;line-height:1.05!important}.map-node.core-city-node small{font-size:5.5px!important}
  .graphical-world-board .map-node.core-city-node.has-skyline3d{min-height:92px!important}
  .graphical-world-board .map-node.travel-space-node::after{border-radius:0 0 10px 10px!important}
  .travel-trigger-badge{width:22px;height:22px;right:-7px;top:-9px;font-size:12px}

  /* Stronger road readability at the higher portrait zoom. */
  .graphical-world-board .road-biome-shoulder{stroke-width:3.8!important}.graphical-world-board .road-biome-segment{stroke-width:2.65!important}.graphical-world-board .road-biome-center{stroke-width:.75!important;opacity:.9!important}

  /* Legend is a small floating chip until the player asks for it. */
  details.board-trigger-legend{position:sticky!important;left:8px!important;top:7px!important;width:136px!important;max-width:136px!important;z-index:45!important;background:rgba(6,10,9,.92)!important;border-radius:9px!important;box-shadow:0 7px 18px rgba(0,0,0,.46)!important;backdrop-filter:none!important}
  details.board-trigger-legend[open]{width:min(318px,calc(100% - 16px))!important;max-width:min(318px,calc(100% - 16px))!important}
  .board-trigger-items{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .board-trigger-items span{justify-content:flex-start!important;font-size:5.8px!important}.board-trigger-items small{grid-column:1/-1!important}

  /* Current-space camera HUD is compact and never blocks a whole path row. */
  .camera-hud{top:7px!important;max-width:54%!important;padding:5px 9px!important;border-radius:10px!important;transform:none!important;left:auto!important;right:8px!important;text-align:left!important}
  .camera-hud span{font-size:5px!important;margin-right:4px!important}.camera-hud strong{font-size:7.5px!important}.camera-hud small{font-size:4.8px!important;margin-top:2px!important}.camera-hud em{display:none!important}

  /* Bottom turn tray: always reachable, but half the previous height. */
  #actionPanel.action-panel{
    width:100%!important;grid-template-columns:46px minmax(0,1fr)!important;gap:6px!important;
    padding:5px 7px calc(5px + env(safe-area-inset-bottom))!important;min-height:60px!important;
    border-radius:0!important;backdrop-filter:blur(5px)!important;z-index:90!important
  }
  #actionPanel.action-panel:before{left:59px!important;top:2px!important;font-size:4.5px!important}
  #actionPanel .dice{width:44px!important;height:44px!important;font-size:18px!important;border-radius:8px!important}
  #actionPanel #primaryActions,#actionPanel .actions{
    display:flex!important;gap:6px!important;padding:0!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;scrollbar-width:none!important
  }
  #actionPanel #primaryActions::-webkit-scrollbar,#actionPanel .actions::-webkit-scrollbar{display:none!important}
  #actionPanel .btn{flex:1 0 112px!important;min-height:46px!important;padding:7px 8px!important;font-size:10.5px!important;line-height:1.05!important;border-radius:8px!important;box-shadow:0 3px 8px rgba(0,0,0,.38)!important}

  /* Closed side menu uses one compact tab at the edge; expanded menu still overlays the board. */
  #boardStage .side-action-rail:not(.expanded){right:2px!important;top:48px!important;width:34px!important}
  #boardStage .side-action-rail:not(.expanded)>button:not(.action-rail-toggle){display:none!important}
  #boardStage .side-action-rail:not(.expanded)>.action-rail-toggle{width:34px!important;min-height:52px!important;padding:3px 0!important;border-radius:12px 0 0 12px!important}
  #boardStage .side-action-rail:not(.expanded)>.action-rail-toggle span{font-size:14px!important}#boardStage .side-action-rail:not(.expanded)>.action-rail-toggle b{font-size:5px!important}
}

@media (orientation:landscape) and (max-height:620px){
  .app-shell{padding-top:max(env(safe-area-inset-top),6px)!important}
  .fullscreen-board-stage .board-stage-head{min-height:34px!important}
  #actionPanel.action-panel{padding-top:5px!important;padding-bottom:calc(5px + env(safe-area-inset-bottom))!important}
  #actionPanel .btn{min-height:46px!important;font-size:10px!important}
}

/* ============================================================
   BORDER RUN v4.2.7f — INTUITIVE LOCKERS, 2D6 HUSTLES,
   EXPLAINED AWARDS + CINEMATIC CELEBRATIONS
   ============================================================ */
.locker-flow-guide{margin:0 0 12px;padding:13px;border:1px solid rgba(74,214,200,.42);border-radius:13px;background:linear-gradient(145deg,rgba(9,34,31,.97),rgba(6,13,12,.98));box-shadow:inset 0 0 24px rgba(75,220,204,.05)}
.locker-flow-guide>strong{display:block;color:#f1d58a;font:950 16px/1 Georgia,serif}.locker-flow-guide>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0}.locker-flow-guide>div span{padding:8px 5px;border:1px solid rgba(255,255,255,.1);border-radius:8px;text-align:center;color:#929d96;font:900 8px/1.15 Arial,sans-serif;letter-spacing:.06em}.locker-flow-guide>div span.done{color:#9fd8b4;border-color:rgba(109,215,150,.28)}.locker-flow-guide>div span.active{color:#07110f;background:#67d9ce;border-color:#82eee4}.locker-flow-guide>small{display:block;color:#b9c5bc;font:750 9px/1.35 Arial,sans-serif}.locker-flow-guide>small b{color:#ffe295}
.piece-picker-nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:stretch;margin:0 0 12px;padding:10px;border:1px solid rgba(222,179,75,.35);border-radius:14px;background:linear-gradient(145deg,#171c18,#09100e)}
.piece-picker-nav>div{min-width:0;padding:3px 6px}.piece-picker-nav span{display:block;color:#61d8cd;font:900 8px/1 Arial,sans-serif;letter-spacing:.12em}.piece-picker-nav strong{display:block;margin:5px 0 3px;color:#f1d68e;font:950 18px/1 Georgia,serif}.piece-picker-nav small{display:block;color:#b9c0b8;font:750 9px/1.25 Arial,sans-serif}.piece-picker-nav button{min-width:112px;border:1px solid rgba(91,219,205,.38);border-radius:10px;background:linear-gradient(180deg,#183d38,#0b211e);color:#e9f8ef;font:950 9px/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer}.piece-picker-nav button:active{transform:translateY(1px)}
.modal-card.tokin-quick-modal{display:flex!important;flex-direction:column!important;max-height:90dvh!important;overflow:hidden!important}.modal-card.tokin-quick-modal #modalBody{flex:0 0 auto}.modal-card.tokin-quick-modal #modalExtra{min-height:0;overflow:auto!important;overscroll-behavior:contain}.modal-card.tokin-quick-modal #modalActions{flex:0 0 auto}
.playable-tokins .playable-piece{position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.playable-tokins .playable-piece:not(.locked):hover{transform:translateY(-2px);border-color:#6ee1d4}.playable-tokins .playable-piece.active{outline:0!important;border-color:#f2cb68!important;box-shadow:0 0 0 3px rgba(242,203,104,.16),0 10px 22px rgba(0,0,0,.34)!important}.playable-tokins .playable-piece.active:after{content:'✓ EQUIPPED';position:absolute;right:7px;top:7px;padding:4px 6px;border-radius:999px;background:#d9ae49;color:#10100b;font:950 7px/1 Arial,sans-serif;letter-spacing:.06em}
.dice-inventory-section.choose-first{border-color:rgba(95,221,207,.42)!important;box-shadow:inset 0 0 28px rgba(83,216,203,.05)}.dice-loadout-slots{position:sticky;top:-1px;z-index:8;padding:6px;border-radius:12px;background:rgba(8,14,12,.94);box-shadow:0 8px 18px rgba(0,0,0,.28)}.dice-slot.editing:after{content:'ACTIVE CHOICE'!important}.dice-skin:not(.locked){transition:transform .16s ease,border-color .16s ease}.dice-skin:not(.locked):hover{transform:translateY(-2px)}

.hustle-contract-card{margin:0 0 10px;padding:13px;border:1px solid rgba(92,218,204,.34);border-radius:13px;background:linear-gradient(145deg,rgba(14,28,25,.98),rgba(7,12,11,.99))}.hustle-contract-card>span{display:block;color:#60d9cd;font:950 8px/1 Arial,sans-serif;letter-spacing:.16em}.hustle-contract-card>strong{display:block;margin:7px 0;color:#f1d89a;font:950 16px/1.25 Georgia,serif}.hustle-contract-card>small{display:block;color:#aebbb1;font:750 9px/1.35 Arial,sans-serif}
.hustle-2d6-table{display:grid;gap:5px}.hustle-2d6-table>div{display:grid;grid-template-columns:42px 1fr minmax(120px,1.5fr);gap:8px;align-items:center;padding:8px 9px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.028)}.hustle-2d6-table b{display:grid;place-items:center;min-height:28px;border-radius:7px;background:#d0a641;color:#111;font:950 12px/1 Arial,sans-serif}.hustle-2d6-table span{color:#f3deaa;font:950 10px/1.1 Arial,sans-serif}.hustle-2d6-table small{color:#aeb7ae;font:750 8.5px/1.25 Arial,sans-serif}.hustle-2d6-table>div:nth-child(-n+3){border-color:rgba(226,87,63,.24)}.hustle-2d6-table>div:nth-child(-n+3) b{background:#a13d31;color:#fff}.hustle-2d6-table>div:nth-child(n+5){border-color:rgba(83,205,151,.22)}.hustle-2d6-table>div:nth-child(n+5) b{background:#3b9b70;color:#07120d}
.southbound-hustle-card>b{display:block;margin-top:9px;color:#68ddd2;font:950 8px/1 Arial,sans-serif;letter-spacing:.09em}
.hustle-2d6-overlay{position:fixed;inset:0;z-index:22000;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 45%,rgba(52,130,117,.26),rgba(1,5,5,.92) 70%);backdrop-filter:blur(5px);opacity:0;transition:opacity .2s ease;pointer-events:auto}.hustle-2d6-overlay.show{opacity:1}.hustle-roll-stage{position:relative;width:min(88vw,480px);padding:24px;text-align:center;border:2px solid #dfb857;border-radius:22px;background:linear-gradient(155deg,#16221f,#070b0a 75%);box-shadow:0 28px 70px rgba(0,0,0,.68),0 0 40px rgba(89,218,203,.12)}.hustle-roll-stage>span{display:block;color:#63dcd0;font:950 9px/1 Arial,sans-serif;letter-spacing:.18em}.hustle-roll-stage>strong{display:block;margin:9px 0 4px;color:#f4d88f;font:950 24px/1 Georgia,serif}.hustle-roll-stage>small{display:block;color:#aab6ad;font:800 9px/1 Arial,sans-serif;letter-spacing:.08em}.hustle-dice-pair{display:flex;justify-content:center;gap:15px;margin:22px 0 16px}.hustle-dice-pair i,.hustle-result-dice i{display:grid;place-items:center;width:76px;height:76px;border:2px solid #e4c16c;border-radius:16px;background:radial-gradient(circle at 32% 25%,#fff2bd,#d8b45a 58%,#7b5722);color:#17120a;font:normal 54px/1 Arial,sans-serif;box-shadow:inset 0 0 0 3px rgba(255,255,255,.18),0 12px 20px rgba(0,0,0,.4);animation:hustleDieTumble427f .17s linear infinite}.hustle-2d6-overlay.landed .hustle-dice-pair i{animation:hustleDieLand427f .38s cubic-bezier(.2,.9,.25,1.25) both}.hustle-roll-total{display:block;color:#fff0bd;font:950 15px/1 Arial,sans-serif;letter-spacing:.09em}
@keyframes hustleDieTumble427f{50%{transform:translateY(-6px) rotate(8deg) scale(1.04)}}@keyframes hustleDieLand427f{0%{transform:translateY(-20px) rotate(-12deg) scale(.9)}70%{transform:translateY(3px) rotate(2deg) scale(1.06)}100%{transform:none}}
.hustle-result-card{padding:14px;border:1px solid rgba(223,183,84,.36);border-radius:14px;background:linear-gradient(155deg,#18221f,#080d0b)}.hustle-result-card.negative{border-color:rgba(228,85,62,.58);background:linear-gradient(155deg,#321714,#110706)}.hustle-result-card.positive{border-color:rgba(83,215,157,.48)}.hustle-result-card.neutral{border-color:rgba(224,181,78,.48)}.hustle-result-dice{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.hustle-result-dice i{width:48px;height:48px;border-radius:11px;font-size:34px;animation:none}.hustle-result-dice>b{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#62d8cc;color:#07110f;font:950 22px/1 Arial,sans-serif;box-shadow:0 0 0 4px rgba(98,216,204,.12)}.hustle-result-card>span{display:block;color:#66ddd2;font:950 8px/1 Arial,sans-serif;letter-spacing:.15em}.hustle-result-card>strong{display:block;margin:7px 0;color:#f1d99c;font:950 17px/1.25 Georgia,serif}.hustle-result-card>small{display:block;color:#bbc4bb;font:750 10px/1.4 Arial,sans-serif}.hustle-result-card>small>b{display:block;margin-bottom:4px;color:#79e3d8;font-size:8px;letter-spacing:.12em}

.unlock-celebration-card:before{content:'';position:absolute;inset:-2px;border-radius:24px;padding:2px;background:conic-gradient(from 0deg,#6de1d6,#f0c45e,#ff7a63,#a98bff,#6de1d6);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:awardBorderSpin427f 4s linear infinite;pointer-events:none}.unlock-award-hero{position:relative!important;display:grid!important;place-items:center!important;width:138px;height:116px;margin:-8px auto 8px!important;overflow:visible}.unlock-award-hero>i{position:absolute;width:126px;height:126px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(248,206,94,.9) 0 2deg,transparent 2deg 12deg);filter:drop-shadow(0 0 8px rgba(246,205,95,.32));animation:awardRays427f 8s linear infinite}.unlock-award-hero>span{position:relative;z-index:2;display:grid;place-items:center;width:78px;height:78px;border:2px solid #f1cc6d;border-radius:50%;background:radial-gradient(circle at 35% 28%,#31443e,#0b1210 68%);font-size:42px;box-shadow:0 0 0 6px rgba(244,203,100,.10),0 12px 26px rgba(0,0,0,.5);animation:awardBadgePop427f .7s cubic-bezier(.16,.9,.25,1.25) both}.unlock-celebration-card .unlock-award-hero>b{position:absolute!important;z-index:3!important;bottom:0!important;display:block!important;width:auto!important;padding:5px 11px!important;border:1px solid #f0cb70!important;border-radius:999px!important;background:#151b17!important;color:#ffe7a7!important;font:950 8px/1 Arial,sans-serif!important;letter-spacing:.13em!important;box-shadow:0 4px 10px rgba(0,0,0,.4)!important}.unlock-reward-list{display:grid!important;gap:9px!important}.unlock-reward-detail{padding:12px;border:1px solid rgba(235,194,91,.32);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));text-align:left}.unlock-reward-detail>b{display:block;color:#fff0be;font:950 clamp(16px,3.8vw,23px)/1.1 Georgia,serif}.unlock-reward-detail>small{display:grid;grid-template-columns:minmax(104px,.46fr) 1fr;gap:8px;margin-top:8px;color:#c4ccc3;font:750 9px/1.35 Arial,sans-serif}.unlock-reward-detail>small>span{color:#66ddd2;font:950 8px/1.25 Arial,sans-serif;letter-spacing:.10em}.unlock-celebration-card{overflow:visible!important}.unlock-celebration-card .unlock-reward-list{max-height:34dvh;overflow:auto;padding-right:3px}.theme-cash .unlock-award-hero>span{box-shadow:0 0 0 6px rgba(255,213,96,.12),0 0 34px rgba(255,211,85,.36)}.theme-fuzz .unlock-award-hero>span{box-shadow:0 0 0 6px rgba(78,167,255,.13),0 0 34px rgba(64,151,255,.36)}.theme-leaf .unlock-award-hero>span{box-shadow:0 0 0 6px rgba(102,229,117,.13),0 0 34px rgba(84,220,103,.34)}
@keyframes awardBorderSpin427f{to{filter:hue-rotate(360deg)}}@keyframes awardRays427f{to{transform:rotate(360deg)}}@keyframes awardBadgePop427f{0%{opacity:0;transform:scale(.3) rotate(-16deg)}70%{transform:scale(1.12) rotate(3deg)}100%{opacity:1;transform:none}}

@media (orientation:landscape) and (max-height:620px){
  .piece-picker-nav{grid-template-columns:minmax(0,1fr) auto auto;padding:7px}.piece-picker-nav strong{font-size:14px}.piece-picker-nav small{font-size:8px}.piece-picker-nav button{min-width:96px}
  .locker-flow-guide{padding:8px;margin-bottom:8px}.locker-flow-guide>div{margin:6px 0}.locker-flow-guide>div span{padding:5px 3px}
  .hustle-2d6-table{grid-template-columns:1fr 1fr}.hustle-2d6-table>div{grid-template-columns:34px 1fr}.hustle-2d6-table small{grid-column:2}.hustle-roll-stage{width:min(76vw,520px);padding:14px}.hustle-dice-pair{margin:12px 0 9px}.hustle-dice-pair i{width:58px;height:58px;font-size:42px}
  .unlock-celebration-card{width:min(78vw,680px)!important;max-height:92dvh!important;padding:13px 18px!important}.unlock-award-hero{width:96px;height:76px;margin:-4px auto 2px!important}.unlock-award-hero>i{width:84px;height:84px}.unlock-award-hero>span{width:56px;height:56px;font-size:30px}.unlock-reward-detail{padding:8px}.unlock-reward-detail>small{margin-top:5px}.unlock-celebration-card .unlock-reward-list{max-height:43dvh}
}
@media(max-width:560px){.piece-picker-nav{grid-template-columns:1fr 1fr}.piece-picker-nav>div{grid-column:1/-1}.piece-picker-nav button{min-height:42px;min-width:0}.locker-flow-guide>div span{font-size:7px}.hustle-2d6-table>div{grid-template-columns:36px 1fr}.hustle-2d6-table small{grid-column:2}.unlock-reward-detail>small{grid-template-columns:1fr;gap:3px}.unlock-celebration-card{overflow:auto!important}}
@media(prefers-reduced-motion:reduce){.hustle-dice-pair i,.unlock-award-hero>i,.unlock-celebration-card:before,.unlock-award-hero>span{animation:none!important}}
body.perf-lite .unlock-award-hero>i,body.perf-lite .unlock-celebration-card:before{animation:none!important}

/* v4.2.7g — physical dice finishes and account onboarding. */
.dice-finish-family{margin:10px 0 14px;padding-top:9px;border-top:1px solid rgba(213,180,93,.16)}
.dice-finish-family:first-of-type{border-top:0;padding-top:0}.dice-finish-family h5{margin:0 0 7px;color:#d5b55f;font:900 9px/1 Arial,sans-serif;letter-spacing:.15em}
.dice-finish-help{margin:-2px 0 8px;color:#aaa78f;font:700 9px/1.35 Arial,sans-serif}.dice-variant-chip small{text-transform:uppercase}.dice-variant-chip.finish-metallic{border-color:rgba(170,190,194,.42)}.dice-variant-chip.finish-matte{border-color:rgba(135,141,126,.42)}.dice-variant-chip.finish-gloss{border-color:rgba(94,175,195,.42)}
.dice-variant-chip.finish-gloss span{box-shadow:inset 5px 7px 10px rgba(255,255,255,.28),inset -5px -7px 11px rgba(0,0,0,.35),0 3px 7px rgba(0,0,0,.35)}.dice-variant-chip.finish-matte span{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 3px 6px rgba(0,0,0,.28);filter:saturate(.84)}.dice-variant-chip.finish-metallic span{box-shadow:inset 6px 0 8px rgba(255,255,255,.22),inset -7px 0 9px rgba(0,0,0,.36),0 3px 7px rgba(0,0,0,.32)}
.dice-variant-creamred{--dice-surface:linear-gradient(112deg,#5b0e12 0%,#d95752 20%,#7f151a 43%,#f19b87 55%,#651015 72%,#bd3537 100%);--dice-edge:#f19783;--dice-pip:#fff0d2;color:#fff0d2!important}.dice-variant-tealorange{--dice-surface:linear-gradient(112deg,#073b3d 0%,#32c0b7 20%,#0d6968 43%,#8ce2d5 55%,#07484a 72%,#e68639 100%);--dice-edge:#74ddd2;--dice-pip:#fff2ce;color:#fff2ce!important}.dice-variant-purplelime{--dice-surface:linear-gradient(112deg,#281136 0%,#8d56a7 20%,#512563 43%,#d0a9dd 55%,#351443 72%,#8ebc3e 100%);--dice-edge:#caa5d9;--dice-pip:#f7f0d7;color:#f7f0d7!important}.dice-variant-blueyellow{--dice-surface:linear-gradient(112deg,#0b284a 0%,#4b99df 20%,#235d91 43%,#a6d6ff 55%,#12365d 72%,#d6ad2e 100%);--dice-edge:#a8d6fa;--dice-pip:#fff1bd;color:#fff1bd!important}.dice-variant-blackcherry{--dice-surface:linear-gradient(112deg,#090a0c 0%,#60636a 20%,#17191d 43%,#a3a8ad 55%,#111216 72%,#8f1832 100%);--dice-edge:#c0445c;--dice-pip:#f5e4c1;color:#f5e4c1!important}
.dice-variant-matteblack{--dice-surface:linear-gradient(145deg,#36383a,#1d1f21 55%,#101113);--dice-edge:#626568;--dice-pip:#f0dfbb;color:#f0dfbb!important}.dice-variant-matteivory{--dice-surface:linear-gradient(145deg,#ddd5bd,#b8af98 58%,#98907d);--dice-edge:#efe6cb;--dice-pip:#2a2822;color:#2a2822!important}.dice-variant-matteolive{--dice-surface:linear-gradient(145deg,#6d7352,#444a34 58%,#292e21);--dice-edge:#89906c;--dice-pip:#f0e4bf;color:#f0e4bf!important}.dice-variant-matteburgundy{--dice-surface:linear-gradient(145deg,#733444,#47202c 58%,#2a1119);--dice-edge:#965067;--dice-pip:#f4e4c7;color:#f4e4c7!important}.dice-variant-matteslate{--dice-surface:linear-gradient(145deg,#63717a,#3e4a51 58%,#273138);--dice-edge:#83939c;--dice-pip:#f3e8cc;color:#f3e8cc!important}
.dice-variant-glossred{--dice-surface:radial-gradient(circle at 27% 18%,#fff 0 3%,#ff8b7b 5%,#be201e 27%,#600b0c 72%,#260304 100%);--dice-edge:#ff8d7e;--dice-pip:#fff2d4;color:#fff2d4!important}.dice-variant-glossblue{--dice-surface:radial-gradient(circle at 27% 18%,#fff 0 3%,#82d8ff 5%,#1464ba 28%,#082c60 72%,#020d22 100%);--dice-edge:#72c9fb;--dice-pip:#fff0c8;color:#fff0c8!important}.dice-variant-glossemerald{--dice-surface:radial-gradient(circle at 27% 18%,#fff 0 3%,#83f2bf 5%,#16895d 28%,#06442e 72%,#021b13 100%);--dice-edge:#70d9aa;--dice-pip:#fff0c8;color:#fff0c8!important}.dice-variant-glosspurple{--dice-surface:radial-gradient(circle at 27% 18%,#fff 0 3%,#d4a0ff 5%,#7036a7 28%,#351450 72%,#14071e 100%);--dice-edge:#c18af0;--dice-pip:#fff0cd;color:#fff0cd!important}.dice-variant-glosswhite{--dice-surface:radial-gradient(circle at 27% 18%,#fff 0 4%,#f7f5ec 8%,#d4d5d1 38%,#9ea6a7 74%,#657073 100%);--dice-edge:#fff;--dice-pip:#1e292c;color:#1e292c!important}
.dice-variant-chrome{--dice-surface:linear-gradient(112deg,#20282b 0%,#f9ffff 15%,#657176 29%,#f4f8f8 48%,#434e53 64%,#ecf3f4 82%,#768287 100%);--dice-edge:#fff;--dice-pip:#20282d;color:#20282d!important}.dice-variant-gold{--dice-surface:linear-gradient(112deg,#4f3108 0%,#fff1a0 15%,#a86f18 29%,#ffe27a 48%,#79500d 64%,#f7cf54 82%,#9a6413 100%);--dice-edge:#fff0a6;--dice-pip:#2a1d0a;color:#2a1d0a!important}.dice-variant-platinum{--dice-surface:linear-gradient(112deg,#24333a 0%,#fff 15%,#8da4ad 29%,#f3fdff 48%,#647d87 64%,#e8f9fb 82%,#859ba3 100%);--dice-edge:#fff;--dice-pip:#17262c;color:#17262c!important}
:is(.dice-variant-creamred,.dice-variant-tealorange,.dice-variant-purplelime,.dice-variant-blueyellow,.dice-variant-blackcherry,.dice-variant-matteblack,.dice-variant-matteivory,.dice-variant-matteolive,.dice-variant-matteburgundy,.dice-variant-matteslate,.dice-variant-glossred,.dice-variant-glossblue,.dice-variant-glossemerald,.dice-variant-glosspurple,.dice-variant-glosswhite,.dice-variant-chrome,.dice-variant-gold,.dice-variant-platinum),:is(.dice-variant-creamred,.dice-variant-tealorange,.dice-variant-purplelime,.dice-variant-blueyellow,.dice-variant-blackcherry,.dice-variant-matteblack,.dice-variant-matteivory,.dice-variant-matteolive,.dice-variant-matteburgundy,.dice-variant-matteslate,.dice-variant-glossred,.dice-variant-glossblue,.dice-variant-glossemerald,.dice-variant-glosspurple,.dice-variant-glosswhite,.dice-variant-chrome,.dice-variant-gold,.dice-variant-platinum).dice-preview{background:var(--dice-surface)!important;border-color:var(--dice-edge)!important}
#boardDiceOverlay :is(.dice-variant-creamred,.dice-variant-tealorange,.dice-variant-purplelime,.dice-variant-blueyellow,.dice-variant-blackcherry,.dice-variant-matteblack,.dice-variant-matteivory,.dice-variant-matteolive,.dice-variant-matteburgundy,.dice-variant-matteslate,.dice-variant-glossred,.dice-variant-glossblue,.dice-variant-glossemerald,.dice-variant-glosspurple,.dice-variant-glosswhite,.dice-variant-chrome,.dice-variant-gold,.dice-variant-platinum) .die-face{background:var(--dice-surface)!important;border-color:var(--dice-edge)!important}#boardDiceOverlay :is(.dice-variant-creamred,.dice-variant-tealorange,.dice-variant-purplelime,.dice-variant-blueyellow,.dice-variant-blackcherry,.dice-variant-matteblack,.dice-variant-matteivory,.dice-variant-matteolive,.dice-variant-matteburgundy,.dice-variant-matteslate,.dice-variant-glossred,.dice-variant-glossblue,.dice-variant-glossemerald,.dice-variant-glosspurple,.dice-variant-glosswhite,.dice-variant-chrome,.dice-variant-gold,.dice-variant-platinum) .die-face i{background:var(--dice-pip)!important}

.account-choice-upgraded>div{position:relative;padding-top:30px}.account-choice-upgraded>div>span{position:absolute;top:9px;left:10px;padding:4px 7px;border-radius:999px;background:#164b44;color:#86eee2;font:900 7px/1 Arial,sans-serif;letter-spacing:.11em}.account-choice-upgraded>div+div>span{background:#5a4215;color:#f2d072}.account-fair-play{margin-top:10px;padding:10px 12px;border:1px solid rgba(91,210,197,.24);border-radius:10px;background:rgba(20,70,63,.16);color:#aaa991;font:700 9px/1.4 Arial,sans-serif}.account-fair-play b{color:#6eddd1;letter-spacing:.12em}
.account-benefit-hero{display:grid;grid-template-columns:58px 1fr;gap:11px;align-items:center;margin:9px 0 13px;padding:12px;border:1px solid rgba(218,179,79,.35);border-radius:13px;background:linear-gradient(145deg,rgba(74,57,20,.26),rgba(9,18,16,.62))}.account-benefit-hero>span{width:54px;height:54px;display:grid;place-items:center;border-radius:13px;background:radial-gradient(circle at 30% 25%,#3c6d66,#102421 70%);font-size:29px}.account-benefit-hero strong{display:block;color:#efd795;font:900 15px/1.05 Georgia,serif}.account-benefit-hero small{display:block;margin-top:5px;color:#b5b29f;font:700 9px/1.35 Arial,sans-serif}.account-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.account-form .account-confirm{display:flex;grid-template-columns:none;align-items:flex-start;gap:8px;padding:9px;border:1px solid rgba(102,213,200,.2);border-radius:9px;background:rgba(32,75,68,.13);letter-spacing:0;text-transform:none}.account-confirm input{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 auto}.account-confirm span{color:#bebba5;font:700 9px/1.3 Arial,sans-serif}
.account-achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}.account-achievement-card{display:grid;grid-template-columns:34px 1fr;gap:3px 7px;align-items:center;padding:9px;border:1px solid rgba(212,177,83,.24);border-radius:10px;background:#101512}.account-achievement-card>span{grid-row:1/3;font-size:25px;filter:grayscale(1);opacity:.42}.account-achievement-card strong{color:#a9a691;font:900 9px/1.1 Arial,sans-serif}.account-achievement-card small{color:#797e76;font:700 7px/1.25 Arial,sans-serif}.account-achievement-card.earned{border-color:rgba(86,214,202,.42);background:linear-gradient(145deg,rgba(32,87,78,.28),#101512)}.account-achievement-card.earned>span{filter:none;opacity:1}.account-achievement-card.earned strong{color:#efd58c}.account-achievement-card.earned small{color:#6eddd1}.save-library-card.account-locked{opacity:.58;filter:saturate(.3);cursor:not-allowed}.save-library-card.account-locked span{color:#d7af56}
@media(max-width:560px){.account-form-row,.account-achievement-grid{grid-template-columns:1fr}.dice-finish-family .dice-variant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ============================================================
   BORDER RUN v4.2.4a — REFERENCE PORTRAIT LAYOUT
   Match the agreed portrait dashboard: compact header/status,
   board-first composition, no sideways page clipping, and a
   readable camera neighborhood instead of a desktop canvas.
   ============================================================ */

html,body{max-width:100%;overflow-x:hidden!important}

@media (orientation:portrait) and (max-width:760px){
  html,body{width:100%!important;max-width:100vw!important;margin:0!important;padding:0!important;overflow-x:hidden!important}
  body{min-width:0!important}
  .app-shell{
    width:100%!important;max-width:100vw!important;min-width:0!important;margin:0!important;
    padding-top:env(safe-area-inset-top)!important;padding-left:7px!important;padding-right:7px!important;
    padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;border-left:0!important;border-right:0!important;
    border-radius:0!important;overflow-x:hidden!important
  }
  .app-shell>*{max-width:100%!important;min-width:0!important}

  /* Header follows the agreed compact portrait dashboard rather than desktop flex sizing. */
  .topbar{
    width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;gap:7px!important;padding:5px 2px 7px!important;margin:0!important;overflow:hidden!important
  }
  .topbar>div:first-child{min-width:0!important;overflow:hidden!important}
  .eyebrow{font-size:6.3px!important;letter-spacing:.10em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  h1.brand-title{font-size:29px!important;line-height:.86!important;letter-spacing:.025em!important;white-space:nowrap!important;margin:1px 0 0!important}
  .brand-subtitle{font-size:6.5px!important;letter-spacing:.22em!important;margin-top:2px!important}
  .edition-line{display:none!important}
  .top-actions{
    min-width:0!important;display:grid!important;grid-template-columns:58px 42px 42px 38px!important;
    gap:4px!important;align-items:center!important;justify-content:end!important
  }
  .install-top-btn{display:none!important}
  .party-badge,.radio-top-btn,.shop-top-btn,.top-actions .icon-btn{
    width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:0 4px!important;
    border-radius:7px!important;font-size:6.5px!important;letter-spacing:.05em!important;white-space:nowrap!important;overflow:hidden!important
  }
  .top-actions .icon-btn{font-size:18px!important;padding:0!important}

  /* The status HUD is a compact instrument strip: four primary readouts plus one race target row. */
  .street-ribbon{display:none!important}
  .hud{
    width:100%!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;margin:5px 0 6px!important
  }
  .hud .stat{min-width:0!important;min-height:45px!important;padding:5px 6px!important;border-radius:6px!important;box-shadow:0 2px 0 #090a08!important}
  .hud .stat span{font-size:6.4px!important;line-height:1!important;letter-spacing:.06em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .hud .stat strong{display:block!important;margin-top:4px!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .hud .stat:nth-child(5){grid-column:1/-1!important;min-height:30px!important;padding:5px 7px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
  .hud .stat:nth-child(5) span{font-size:6px!important}.hud .stat:nth-child(5) strong{margin:0!important;font-size:10.5px!important;text-align:right!important}

  /* Board is the visual center of portrait play. Nothing outside it may widen the page. */
  .fullscreen-board-stage,.real-route-stage{
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;
    padding:4px!important;border-radius:9px!important;overflow:visible!important
  }
  .fullscreen-board-stage .board-stage-head{
    width:100%!important;min-height:38px!important;padding:2px 2px 4px!important;margin:0!important;
    display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;gap:4px!important;align-items:center!important;overflow:hidden!important
  }
  .fullscreen-board-stage .board-stage-head>div:first-child{min-width:0!important;width:68px!important;gap:0!important}
  .fullscreen-board-stage .board-stage-head>div:first-child strong{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #boardStage .board-stage-right{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 72px!important;gap:4px!important;align-items:center!important}
  #boardStage .board-zoom-controls{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:27px minmax(45px,1fr) 27px 49px!important;gap:3px!important}
  #boardStage .board-zoom-btn{width:27px!important;min-width:27px!important;height:28px!important;font-size:15px!important;border-radius:7px!important}
  #boardStage .board-zoom-hint{width:auto!important;min-width:0!important;height:28px!important;padding:0 3px!important;font-size:5.4px!important;overflow:hidden!important;white-space:nowrap!important}
  #boardStage .board-fit-btn{width:49px!important;min-width:49px!important;height:28px!important;padding:0 3px!important;font-size:5.8px!important;border-radius:7px!important}
  #boardStage .world-clock-chip{width:72px!important;min-width:72px!important;height:28px!important;padding:2px 4px!important;border-radius:7px!important;gap:3px!important}
  #boardStage .world-clock-chip>span{width:20px!important;height:20px!important;font-size:12px!important}
  #boardStage .world-clock-chip strong{font-size:7.2px!important}#boardStage .world-clock-chip small{font-size:4px!important}

  /* Three route choices fit exactly inside the phone. */
  .fullscreen-board-stage .route-panel{width:100%!important;max-width:100%!important;margin:0 0 4px!important;padding:3px!important;position:relative!important;left:auto!important;right:auto!important}
  .fullscreen-board-stage .route-tabs{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important}
  .fullscreen-board-stage .route-tab{width:100%!important;min-width:0!important;min-height:39px!important;padding:4px 2px!important;overflow:hidden!important}
  .fullscreen-board-stage .route-tab .route-name{font-size:7px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .fullscreen-board-stage .route-tab em,.fullscreen-board-stage .route-tab i{font-size:4.4px!important}

  /* Camera viewport: a useful section of the intact 56-space board, like the agreed mockup. */
  .fullscreen-board-stage .tabletop-board{
    width:100%!important;max-width:100%!important;height:clamp(500px,55svh,650px)!important;min-height:500px!important;
    margin:0!important;padding:0!important;overflow:auto!important;border-width:3px!important;border-radius:9px!important;
    touch-action:none!important;scrollbar-width:none!important
  }
  .fullscreen-board-stage .tabletop-board::-webkit-scrollbar{display:none!important}
  .fullscreen-board-stage .board.living-map,.board.living-map{
    width:780px!important;min-width:780px!important;height:1180px!important;min-height:1180px!important;border-radius:10px!important
  }
  .map-node.travel-space-node{width:11.6%!important;min-width:82px!important;min-height:56px!important;padding:7px 5px!important;border-radius:10px!important}
  .map-node.travel-space-node b{font-size:7.7px!important;line-height:1.06!important}.map-node.travel-space-node small{font-size:4.9px!important}
  .map-node.core-city-node{width:14.2%!important;min-width:100px!important;min-height:84px!important;padding:6px 5px!important}
  .map-node.core-city-node b{font-size:8.8px!important}.graphical-world-board .map-node.core-city-node.has-skyline3d{min-height:88px!important}
  .travel-trigger-badge{width:21px!important;height:21px!important;font-size:11px!important}
  details.board-trigger-legend{left:7px!important;top:7px!important;width:118px!important;max-width:118px!important}
  details.board-trigger-legend[open]{width:min(300px,calc(100% - 14px))!important;max-width:min(300px,calc(100% - 14px))!important}
  .board-trigger-legend>summary{padding:7px 8px!important;font-size:6.6px!important}
  .camera-hud{right:7px!important;top:7px!important;max-width:47%!important;padding:5px 7px!important}
  .camera-hud strong{font-size:7px!important}.camera-hud small{font-size:4.4px!important}

  /* Side menu remains an edge tab and cannot cover the route selector. */
  #boardStage .party-rail:not(.expanded){display:none!important}
  #boardStage .side-action-rail:not(.expanded){right:0!important;top:87px!important;width:30px!important;z-index:65!important}
  #boardStage .side-action-rail:not(.expanded)>.action-rail-toggle{width:30px!important;min-height:46px!important;border-radius:10px 0 0 10px!important}

  /* Hide tabletop inventory furniture in the board-first phone view; it stays reachable from the menu. */
  .tabletop-tray,.upgrade-strip{display:none!important}

  /* Sticky turn tray resembles the compact bottom control bar in the reference layout. */
  #actionPanel.action-panel{
    position:sticky!important;bottom:0!important;width:100%!important;max-width:100%!important;
    grid-template-columns:42px minmax(0,1fr)!important;gap:6px!important;padding:5px 6px calc(5px + env(safe-area-inset-bottom))!important;
    min-height:58px!important;margin:5px 0 0!important;border-radius:9px 9px 0 0!important;z-index:90!important;overflow:hidden!important
  }
  #actionPanel .dice{width:40px!important;height:40px!important;font-size:17px!important}
  #actionPanel #primaryActions,#actionPanel .actions{min-width:0!important;display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(105px,1fr)!important;gap:5px!important;overflow-x:auto!important}
  #actionPanel .btn{min-width:0!important;min-height:44px!important;padding:6px 7px!important;font-size:9.5px!important;border-radius:8px!important}

  /* iOS can retain a horizontal visual-viewport offset after rotation. These guards prevent it. */
  .modal,.action-splash,.city-d6-overlay{max-width:100vw!important}
}

@media (orientation:portrait) and (max-width:390px){
  .top-actions{grid-template-columns:54px 38px 38px 36px!important}
  h1.brand-title{font-size:27px!important}
  #boardStage .board-stage-right{grid-template-columns:minmax(0,1fr) 66px!important}
  #boardStage .world-clock-chip{width:66px!important;min-width:66px!important}
  #boardStage .board-zoom-controls{grid-template-columns:25px minmax(38px,1fr) 25px 45px!important}
  #boardStage .board-fit-btn{width:45px!important;min-width:45px!important}
}


/* ===== v4.2.5b reference dashboard rebuild ===== */

body.reference-graphic-layout{overflow-x:hidden;background:radial-gradient(circle at top,#4c412f 0,#1b1813 34%,#090909 100%)}
body.reference-graphic-layout .app-shell{max-width:1580px;padding-left:14px;padding-right:14px}
body.reference-graphic-layout .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:8px 2px 8px;border-bottom:1px solid rgba(214,175,93,.22)}
body.reference-graphic-layout .eyebrow{font-size:11px;letter-spacing:.16em;color:#b8ab87}
body.reference-graphic-layout .brand-title{margin:0;font-size:48px;line-height:.92;color:#efe3bc;text-shadow:0 2px 0 #000,3px 5px 0 rgba(0,0,0,.5)}
body.reference-graphic-layout .brand-subtitle{font-size:22px;letter-spacing:.28em;color:#dca64d}
body.reference-graphic-layout .edition-line{font-size:10px;letter-spacing:.17em;color:#37c4bb;max-width:780px}
body.reference-graphic-layout .top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:430px}
body.reference-graphic-layout .top-actions > *{flex:0 0 auto}
body.reference-graphic-layout .street-ribbon{margin-top:6px}
body.reference-graphic-layout .hud{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0 12px}
body.reference-graphic-layout .stat{min-height:58px;padding:8px 10px}
body.reference-graphic-layout .stat span{font-size:10px;letter-spacing:.12em}
body.reference-graphic-layout .stat strong{font-size:26px;line-height:1.05}
body.reference-graphic-layout #boardStage.board-stage{display:grid;grid-template-columns:180px minmax(0,1fr) 314px;grid-template-areas:"left head right" "left routes right" "left board right" "left carousel right";gap:10px;align-items:start;padding:10px 10px 12px;overflow:hidden}
body.reference-graphic-layout #boardStage .board-stage-head{grid-area:head;padding:0 6px 4px;min-height:auto;background:linear-gradient(180deg,rgba(15,15,14,.76),rgba(15,15,14,.4));border:1px solid rgba(192,154,75,.22);border-radius:10px}
body.reference-graphic-layout #boardStage .board-stage-head strong{font-size:18px}
body.reference-graphic-layout #boardStage .route-panel{grid-area:routes;margin:0;padding:6px 8px 8px;background:linear-gradient(180deg,rgba(16,18,18,.92),rgba(21,20,17,.96));border:1px solid rgba(211,171,89,.2);border-radius:10px}
body.reference-graphic-layout #boardStage .board-wrap{grid-area:board;margin:0;min-width:0}
body.reference-graphic-layout #boardStage .tabletop-board{height:58vh;min-height:590px;max-height:760px;border:1px solid rgba(201,161,82,.18)}
body.reference-graphic-layout #boardStage .tabletop-tray{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:0;padding:8px;background:linear-gradient(180deg,rgba(10,12,12,.9),rgba(18,18,17,.95));border:1px solid rgba(201,161,82,.18);border-radius:12px}
body.reference-graphic-layout #boardStage .table-piece{min-height:88px;padding:10px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 6px 16px rgba(0,0,0,.3)}
body.reference-graphic-layout #boardStage .table-piece strong{font-size:15px}
body.reference-graphic-layout #boardStage .upgrade-strip{grid-column:1/-1;margin-top:8px}
body.reference-graphic-layout .party-rail{display:none!important}
body.reference-graphic-layout .side-action-rail{right:8px;top:8px;transform:none}
body.reference-graphic-layout .board-trigger-legend{display:none}
body.reference-graphic-layout .camera-hud{top:12px;max-width:60%}
body.reference-graphic-layout .route-legend-panel{grid-area:left;align-self:stretch;padding:10px 10px 12px;background:linear-gradient(180deg,rgba(12,13,12,.96),rgba(23,22,18,.96));border:1px solid rgba(218,174,81,.24);border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 10px 22px rgba(0,0,0,.3)}
body.reference-graphic-layout .route-legend-panel h3,body.reference-graphic-layout .dashboard-card h3{margin:0 0 6px;font:900 12px/1.1 Arial,sans-serif;letter-spacing:.2em;color:#f1d79a;text-transform:uppercase}
body.reference-graphic-layout .legend-group{margin-top:12px}
body.reference-graphic-layout .legend-group strong{display:block;margin-bottom:6px;font:900 10px/1 Arial,sans-serif;letter-spacing:.16em;color:#56c5bb;text-transform:uppercase}
body.reference-graphic-layout .route-legend-list,body.reference-graphic-layout .node-legend-list{display:grid;gap:6px}
body.reference-graphic-layout .route-legend-item,body.reference-graphic-layout .node-legend-item{display:flex;align-items:center;gap:8px;color:#ddd1ae;font:700 11px/1.2 Arial,sans-serif}
body.reference-graphic-layout .route-swatch,body.reference-graphic-layout .node-dot{width:13px;height:13px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(255,255,255,.12) inset}
body.reference-graphic-layout .route-swatch.west{background:#4fd5f7} body.reference-graphic-layout .route-swatch.central{background:#efc049} body.reference-graphic-layout .route-swatch.east{background:#e56b55}
body.reference-graphic-layout .route-swatch.baja{background:#7be08f} body.reference-graphic-layout .route-swatch.sierra{background:#8e79ff} body.reference-graphic-layout .route-swatch.centralmx{background:#ff7abc}
body.reference-graphic-layout .node-dot.city{background:#d3b35a} body.reference-graphic-layout .node-dot.travel{background:#776f5f} body.reference-graphic-layout .node-dot.action{background:#5bc6f0} body.reference-graphic-layout .node-dot.event{background:#8d7eff} body.reference-graphic-layout .node-dot.patrol{background:#f08a54} body.reference-graphic-layout .node-dot.hustle{background:#49c07f} body.reference-graphic-layout .node-dot.switch{background:#ffd05f}
body.reference-graphic-layout .legend-note{margin-top:14px;padding-top:10px;border-top:1px solid rgba(218,174,81,.16);color:#b0a37c;font:700 11px/1.4 Arial,sans-serif}
body.reference-graphic-layout .dashboard-aside{grid-area:right;display:grid;gap:8px}
body.reference-graphic-layout .dashboard-stack{display:grid;gap:8px}
body.reference-graphic-layout .dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.reference-graphic-layout .dashboard-card{padding:10px;background:linear-gradient(180deg,rgba(13,15,15,.96),rgba(23,20,17,.98));border:1px solid rgba(218,174,81,.18);border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 10px 22px rgba(0,0,0,.25);color:#e8d8b1;min-width:0}
body.reference-graphic-layout .dashboard-card .dash-kicker{display:block;margin-bottom:4px;color:#58c9be;font:900 10px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
body.reference-graphic-layout .dashboard-card .dash-sub{display:block;color:#a99c7a;font:700 10px/1.35 Arial,sans-serif}
body.reference-graphic-layout .dashboard-card .dash-main{display:block;margin-top:3px;font:900 22px/1.04 Georgia,serif;color:#f3e7c0}
body.reference-graphic-layout .dashboard-card .dash-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
body.reference-graphic-layout .dashboard-card .dash-mini-grid div{padding:7px 8px;background:rgba(255,255,255,.03);border:1px solid rgba(218,174,81,.1);border-radius:8px}
body.reference-graphic-layout .dashboard-card .dash-mini-grid span{display:block;color:#8fcfc7;font:900 9px/1 Arial,sans-serif;letter-spacing:.14em}
body.reference-graphic-layout .dashboard-card .dash-mini-grid strong{display:block;margin-top:4px;font:900 14px/1.1 Arial,sans-serif;color:#f3e6bf}
body.reference-graphic-layout .achievement-card{position:relative;overflow:hidden;min-height:145px;background:radial-gradient(circle at 75% 20%,rgba(228,149,61,.3),transparent 30%),linear-gradient(135deg,rgba(26,18,9,.95),rgba(8,10,11,.96));border-color:rgba(236,173,64,.3)}
body.reference-graphic-layout .achievement-card:after{content:"";position:absolute;inset:auto -12% -25% auto;width:200px;height:200px;background:radial-gradient(circle,rgba(245,170,57,.18) 0,rgba(245,170,57,0) 62%);pointer-events:none}
body.reference-graphic-layout .achievement-card .dash-main{font-size:36px;line-height:.92;color:#f0d389;text-shadow:0 2px 0 rgba(0,0,0,.48)}
body.reference-graphic-layout .dash-market-list{display:grid;gap:4px;margin-top:8px}
body.reference-graphic-layout .dash-market-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06);font:800 10px/1.1 Arial,sans-serif;color:#d8ccaa}
body.reference-graphic-layout .dash-market-row:last-child{border-bottom:0}
body.reference-graphic-layout .dash-market-row b{color:#63d0c4}
body.reference-graphic-layout .dash-drive-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}
body.reference-graphic-layout .dash-drive-strip .city-action-tile{min-height:58px;padding:6px;border-radius:9px;border:1px solid rgba(218,174,81,.14);background:rgba(255,255,255,.03)}
body.reference-graphic-layout .dash-drive-strip .city-action-tile span{width:16px;height:16px;font-size:10px}
body.reference-graphic-layout .dash-drive-strip .city-action-tile strong{font-size:10px;line-height:1.1}
body.reference-graphic-layout .dash-drive-strip .city-action-tile small{font-size:8px}
body.reference-graphic-layout .buyer-outcomes{margin-top:8px;border:1px solid rgba(218,174,81,.12);border-radius:10px;overflow:hidden}
body.reference-graphic-layout .buyer-outcomes div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;padding:6px 8px;font:800 10px/1.15 Arial,sans-serif;background:rgba(255,255,255,.025)}
body.reference-graphic-layout .buyer-outcomes div+div{border-top:1px solid rgba(255,255,255,.06)}
body.reference-graphic-layout .buyer-outcomes b{color:#f0d389}
body.reference-graphic-layout .dash-btn-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
body.reference-graphic-layout .dash-btn{border:1px solid rgba(104,193,183,.45);background:linear-gradient(180deg,#1c534d,#133634);color:#e7efe9;border-radius:8px;padding:9px 10px;font:900 11px/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.28)}
body.reference-graphic-layout .dash-btn.alt{border-color:rgba(218,174,81,.34);background:linear-gradient(180deg,#544120,#392b18)}
body.reference-graphic-layout .dash-btn.warn{border-color:rgba(229,104,84,.42);background:linear-gradient(180deg,#703526,#45211b)}
body.reference-graphic-layout .dash-btn:disabled{opacity:.42;cursor:not-allowed}
body.reference-graphic-layout .city-carousel{grid-area:carousel;padding:8px 8px 10px;background:linear-gradient(180deg,rgba(10,12,12,.9),rgba(18,18,17,.95));border:1px solid rgba(201,161,82,.18);border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 10px 22px rgba(0,0,0,.24)}
body.reference-graphic-layout .city-carousel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
body.reference-graphic-layout .city-carousel-head strong{font:900 12px/1 Arial,sans-serif;letter-spacing:.18em;color:#f0d79c;text-transform:uppercase}
body.reference-graphic-layout .city-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr);gap:8px;overflow:auto;padding-bottom:2px;scrollbar-width:none}
body.reference-graphic-layout .city-carousel-track::-webkit-scrollbar{display:none}
body.reference-graphic-layout .city-carousel-card{position:relative;min-height:88px;padding:10px 10px 8px;text-align:left;border-radius:10px;border:1px solid rgba(218,174,81,.16);background:linear-gradient(180deg,rgba(43,51,56,.68),rgba(16,18,18,.95)),var(--city-card-bg,linear-gradient(180deg,#455961,#222));color:#efe5c1;cursor:pointer;overflow:hidden;box-shadow:0 8px 16px rgba(0,0,0,.24)}
body.reference-graphic-layout .city-carousel-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.46));pointer-events:none}
body.reference-graphic-layout .city-carousel-card > *{position:relative;z-index:1}
body.reference-graphic-layout .city-carousel-card strong{display:block;margin-top:20px;font:900 14px/1.08 Georgia,serif}
body.reference-graphic-layout .city-carousel-card small{display:block;margin-top:6px;color:#c2c7c4;font:800 9px/1.2 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}
body.reference-graphic-layout .city-carousel-card .card-icon{position:absolute;right:9px;top:8px;font-size:22px;opacity:.92}
body.reference-graphic-layout .city-carousel-card.active{outline:2px solid #49c9be;border-color:#49c9be;transform:translateY(-1px)}
body.reference-graphic-layout #locationCard{display:none}
body.reference-graphic-layout #actionPanel.action-panel{position:sticky;z-index:60;bottom:0;margin-top:10px;border-radius:14px;background:linear-gradient(180deg,rgba(14,16,17,.96),rgba(20,18,16,.98))!important;border:1px solid rgba(218,174,81,.18)!important;box-shadow:0 12px 28px rgba(0,0,0,.4)!important}
body.reference-graphic-layout #actionPanel .turn-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
body.reference-graphic-layout #actionPanel .actions{grid-template-columns:repeat(3,minmax(0,1fr))}
body.reference-graphic-layout #actionPanel .btn{min-height:44px}
@media (max-width:1080px){
  body.reference-graphic-layout .hud{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.reference-graphic-layout #boardStage.board-stage{grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:"head head" "routes routes" "board right" "carousel carousel"}
  body.reference-graphic-layout .route-legend-panel{display:none}
}
@media (max-width:820px){
  body.reference-graphic-layout .app-shell{padding-left:8px;padding-right:8px}
  body.reference-graphic-layout .brand-title{font-size:34px}
  body.reference-graphic-layout .brand-subtitle{font-size:15px}
  body.reference-graphic-layout .edition-line{font-size:8px}
  body.reference-graphic-layout .hud{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.reference-graphic-layout .hud .stat strong{font-size:20px}
  body.reference-graphic-layout #boardStage.board-stage{display:block;padding:8px}
  body.reference-graphic-layout .route-legend-panel{display:none}
  body.reference-graphic-layout .dashboard-aside{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}
  body.reference-graphic-layout .dashboard-grid{grid-template-columns:1fr 1fr}
  body.reference-graphic-layout #boardStage .tabletop-board{height:52svh;min-height:440px;max-height:none}
  body.reference-graphic-layout .city-carousel-track{grid-auto-columns:minmax(140px,72%)}
  body.reference-graphic-layout #locationCard{display:block}
  body.reference-graphic-layout .tabletop-tray{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.reference-graphic-layout #actionPanel .actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ===== v4.2.5b smooth Android performance pass ===== */

body.perf-lite .terrain-motion,
body.perf-lite .terrain-prop,
body.perf-lite .biome-life3d,
body.perf-lite .city-building3d>i,
body.perf-lite .roadside-landmark,
body.perf-lite .graphical-world-layer:before,
body.perf-lite .graphical-world-layer:after{animation:none!important}
body.perf-lite .terrain-motion{opacity:.26!important}
body.perf-lite .terrain-prop{opacity:.48!important;filter:none!important}
body.perf-lite .graphical-world-layer,
body.perf-lite .terrain-world,
body.perf-lite .terrain-zone,
body.perf-lite .map-node,
body.perf-lite .city-skyline-3d,
body.perf-lite .roadside-landmark,
body.perf-lite .vehicle-pawn,
body.perf-lite .road-biome-segment,
body.perf-lite .road-biome-shoulder,
body.perf-lite .road-biome-center{filter:none!important}
body.perf-lite .camera-hud,
body.perf-lite .action-panel,
body.perf-lite .dashboard-card,
body.perf-lite .route-legend-panel,
body.perf-lite .city-carousel,
body.perf-lite .modal-card,
body.perf-lite .world-clock-chip{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.perf-lite .map-node,
body.perf-lite .map-node.current .vehicle-pawn,
body.perf-lite .dashboard-card,
body.perf-lite .city-carousel-card,
body.perf-lite .action-panel{will-change:auto!important}
body.perf-lite .map-node{box-shadow:0 2px 5px rgba(0,0,0,.34)!important}
body.perf-lite .core-city-node{box-shadow:0 3px 8px rgba(0,0,0,.4)!important}
body.perf-lite .dashboard-card,
body.perf-lite .route-legend-panel,
body.perf-lite .city-carousel{box-shadow:0 5px 12px rgba(0,0,0,.28)!important}
body.perf-lite .tabletop-board{scroll-behavior:auto!important;overscroll-behavior:contain;contain:layout paint style}
body.perf-lite .board{contain:layout paint style}
body.perf-lite .living-biome-layer,
body.perf-lite .roadside-landmark-layer{opacity:.62!important}
body.perf-lite .camera-vignette,
body.perf-lite .tabletop-board:after{display:none!important}
body.perf-lite .city-d6-overlay .dice-sparks i:nth-child(n+5),
body.perf-lite .board-dice-overlay .dice-sparks i:nth-child(n+5){display:none!important}
body.perf-lite .unlock-money-confetti:nth-of-type(n+13){display:none!important}
body.perf-lite .achievement-card:after{display:none!important}
body.perf-lite .city-carousel-card:before{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34))!important}
body.perf-lite .side-action-rail,
body.perf-lite .top-actions,
body.perf-lite .hud,
body.perf-lite .route-panel{contain:layout style}
@media(max-width:820px){
  body.perf-lite .dashboard-aside{content-visibility:auto;contain-intrinsic-size:520px}
  body.perf-lite .city-carousel{content-visibility:auto;contain-intrinsic-size:120px}
  body.perf-lite .tabletop-tray{display:none!important}
}


/* ============================================================
   BORDER RUN v4.2.5b — TABLET SUPPORT PASS
   Full graphical rebuild remains the default visual language.
   Adds portrait + landscape tablet playability for iPad/Android tablets.
   ============================================================ */
@media (min-width: 768px) and (max-width: 1366px){
  body.reference-graphic-layout{
    padding:10px!important;
  }
  .app-shell{
    max-width:none!important;
    width:100%!important;
    min-height:100vh!important;
    padding:14px!important;
    border-radius:22px!important;
  }
  .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:14px!important;
    align-items:start!important;
  }
  .top-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    gap:10px!important;
  }
  .top-actions > *{min-height:50px!important}
  .eyebrow{font-size:13px!important;letter-spacing:.12em!important}
  .brand-title{font-size:58px!important;line-height:.92!important}
  .brand-subtitle{font-size:20px!important;letter-spacing:.18em!important}
  .edition-line{font-size:12px!important;letter-spacing:.12em!important}

  .hud{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .hud .stat{min-height:74px!important}
  .hud .stat span{font-size:12px!important}
  .hud .stat strong{font-size:24px!important}

  #boardStage.fullscreen-board-stage{
    padding:12px!important;
    border-radius:24px!important;
  }
  #boardStage .board-stage-head{
    min-height:68px!important;
    padding:10px 12px!important;
    gap:12px!important;
  }
  #boardStage .board-stage-head > div:first-child strong{font-size:28px!important}
  #boardStage .board-stage-right{gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
  #boardStage .board-zoom-btn{width:54px!important;height:54px!important;font-size:26px!important}
  #boardStage .board-fit-btn{min-height:54px!important;padding:0 18px!important;font-size:15px!important}
  #boardStage .board-zoom-hint{min-height:54px!important;padding:0 18px!important;font-size:14px!important}
  #boardStage .world-clock-chip{min-width:148px!important;min-height:54px!important;padding:8px 14px!important}
  #boardStage .world-clock-chip strong{font-size:23px!important}
  #boardStage .world-clock-chip small{font-size:11px!important}
  #boardStage .board-stage-legend{font-size:11px!important;letter-spacing:.14em!important}

  #boardStage .route-panel{
    padding:10px 12px!important;
    border-radius:18px!important;
  }
  #boardStage .route-panel-head strong{font-size:22px!important}
  #boardStage .route-tabs{gap:10px!important}
  #boardStage .route-tab{min-height:74px!important;padding:10px!important}
  #boardStage .route-name{font-size:18px!important}
  #boardStage .route-tab small,
  #boardStage .route-tab em,
  #boardStage .route-tab i{font-size:11px!important}

  #boardStage .tabletop-board{
    height:64svh!important;
    min-height:760px!important;
    border-radius:24px!important;
    padding:14px!important;
  }
  #boardStage .board.living-map{
    width:170%!important;
    min-width:1320px!important;
  }
  #boardStage .camera-hud{
    transform:translateX(-50%) scale(1.08)!important;
    top:18px!important;
  }
  #boardStage .board-trigger-legend{
    top:18px!important;left:18px!important;
    transform:scale(1.03)!important;transform-origin:top left!important;
  }
  #boardStage .party-rail{
    left:14px!important;top:94px!important;width:84px!important;
    gap:8px!important;padding:8px!important;
  }
  #boardStage .party-rail button{min-height:52px!important}
  #boardStage .side-action-rail{
    right:14px!important;top:94px!important;width:88px!important;
    gap:8px!important;padding:8px!important;
  }
  #boardStage .side-action-rail button{min-height:54px!important}
  #boardStage .side-action-rail button b,
  #boardStage .party-rail button b{font-size:10px!important}

  #boardStage .graphical-world-board .map-node{
    border-radius:18px!important;
  }
  #boardStage .graphical-world-board .map-node.buy-node{
    width:13.6%!important;
    min-height:84px!important;
    padding:9px 8px!important;
  }
  #boardStage .graphical-world-board .map-node.buy-node b,
  #boardStage .graphical-world-board .map-node.buy-node .node-title{font-size:17px!important}
  #boardStage .graphical-world-board .map-node.buy-node .node-sub,
  #boardStage .graphical-world-board .map-node.buy-node small{font-size:10px!important}
  #boardStage .graphical-world-board .map-node:not(.buy-node){
    min-height:72px!important;
    padding:8px 10px!important;
  }
  #boardStage .graphical-world-board .map-node b,
  #boardStage .graphical-world-board .map-node .node-title{font-size:16px!important}
  #boardStage .graphical-world-board .map-node small,
  #boardStage .graphical-world-board .map-node .node-sub{font-size:10px!important}
  #boardStage .graphical-world-board .vehicle-pawn{transform:translate(-50%,-86%) scale(1.08)!important}
  #boardStage .graphical-world-board .vehicle-pawn .pawn-render{width:118px!important;height:74px!important}

  .tabletop-tray{
    grid-template-columns:1.2fr 1.2fr 1.2fr .8fr .8fr .8fr!important;
    gap:10px!important;
  }
  .tabletop-tray .table-piece{min-height:84px!important}
  .upgrade-strip{gap:10px!important}

  .action-panel{
    padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;
    gap:10px!important;
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  .action-panel .dice{width:68px!important;height:68px!important;font-size:30px!important}
  .action-panel .turn-line strong{font-size:22px!important}
  .action-panel .action-text{font-size:14px!important}
  .action-panel .actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
  .action-panel .btn{min-height:60px!important;font-size:13px!important;padding:10px 8px!important}

  .location-card,.opponent-card,.secondary-systems>summary{border-radius:18px!important}
  .location-card{padding:14px!important}
  .location-hero{height:220px!important}
  .location-head strong{font-size:30px!important}
  .location-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media (min-width: 768px) and (max-width: 1366px) and (orientation: portrait){
  #boardStage .tabletop-board{height:60svh!important;min-height:720px!important}
  #boardStage .board.living-map{width:182%!important;min-width:1380px!important}
  .top-actions{justify-content:flex-start!important}
}

@media (min-width: 900px) and (max-width: 1366px) and (orientation: landscape){
  .app-shell{padding:18px 18px 22px!important}
  #boardStage .tabletop-board{height:68svh!important;min-height:760px!important}
  #boardStage .board.living-map{width:150%!important;min-width:1280px!important}
  .action-panel .actions{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}


/* ============================================================
   BORDER RUN v4.2.5b — DYNAMIC 3D BOARD PIECES
   Game pieces now read like physical tabletop miniatures.
   Custom paint + rims + engine/body kit styling remain supported.
   ============================================================ */
.ride-render.token-3d.board-game-piece{
  --piece-shadow:rgba(0,0,0,.42);
  --piece-plinth-top:#ccb27b;
  --piece-plinth-edge:#6b4d2a;
  --piece-rim:#bda57d;
  --piece-rim-glow:rgba(255,210,140,.16);
  --piece-engine-glow:rgba(76,229,217,.0);
  --piece-body-glow:rgba(255,199,92,.0);
  position:relative!important;
  display:block!important;
  overflow:visible!important;
  isolation:isolate!important;
  transform-style:preserve-3d!important;
}
.ride-render.token-3d.board-game-piece>img{
  position:relative!important;z-index:7!important;
  object-fit:contain!important;object-position:center 60%!important;
  filter:drop-shadow(0 10px 8px rgba(0,0,0,.48)) saturate(1.02) contrast(1.02)!important;
}
.ride-render.token-3d.board-game-piece .piece-shadow{
  position:absolute;left:9%;right:9%;bottom:8%;height:20%;z-index:1;
  border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.52),rgba(0,0,0,.16) 58%,rgba(0,0,0,0) 74%);
  transform:translateZ(0) scaleY(.72);filter:blur(4px);opacity:.9;pointer-events:none;
}
.ride-render.token-3d.board-game-piece .piece-plinth{
  position:absolute;left:14%;right:14%;bottom:4%;height:17%;z-index:2;pointer-events:none;
  border-radius:999px;background:linear-gradient(180deg,var(--piece-plinth-top),#a68556 58%,var(--piece-plinth-edge));
  border:1px solid rgba(53,36,16,.8);box-shadow:0 4px 0 rgba(52,32,12,.42), inset 0 1px 0 rgba(255,240,205,.38), inset 0 -4px 0 rgba(75,47,22,.28);
  transform:perspective(260px) rotateX(68deg) translateY(10%);
}
.ride-render.token-3d.board-game-piece .piece-plinth:before{
  content:"";position:absolute;inset:16% 18% 34%;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,248,221,.42),rgba(255,248,221,0));opacity:.82;
}
.ride-render.token-3d.board-game-piece .piece-wheel{
  position:absolute;bottom:11%;width:18%;aspect-ratio:1/1;z-index:6;pointer-events:none;
  display:grid;place-items:center;animation:boardGameWheelSpin var(--wheel-spin,.28s) linear infinite;animation-play-state:paused;
}
.ride-render.token-3d.board-game-piece .piece-wheel-rear{left:18%}
.ride-render.token-3d.board-game-piece .piece-wheel-front{right:16%}
.ride-render.token-3d.board-game-piece .piece-wheel:before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 34% 32%,#4a4a4a 0 16%,#171816 17% 47%,#080909 48% 62%,#1e1f1d 63% 74%,#000 75% 100%);
  box-shadow:0 0 0 2px rgba(237,215,172,.18),0 2px 7px rgba(0,0,0,.42);
}
.ride-render.token-3d.board-game-piece .piece-wheel-core{
  position:absolute;inset:20%;border-radius:50%;z-index:1;
  background:conic-gradient(from 0deg,#e8dbbe 0 8%, transparent 8% 16%, #d0bea0 16% 24%, transparent 24% 32%, #c7b089 32% 40%, transparent 40% 48%, #e8dbbe 48% 56%, transparent 56% 64%, #d0bea0 64% 72%, transparent 72% 80%, #c7b089 80% 88%, transparent 88% 100%), radial-gradient(circle at center,#817460 0 26%, #d7c7a7 27% 46%, transparent 47% 100%);
  box-shadow:0 0 12px var(--piece-rim-glow);
}
.ride-render.token-3d.board-game-piece .piece-engine-glow,.ride-render.token-3d.board-game-piece .piece-body-kit,.ride-render.token-3d.board-game-piece .piece-roof-rack,.ride-render.token-3d.board-game-piece .piece-spoiler,.ride-render.token-3d.board-game-piece .piece-marker-lights{pointer-events:none;position:absolute}
.ride-render.token-3d.board-game-piece .piece-engine-glow{left:54%;right:11%;bottom:23%;height:11%;z-index:5;border-radius:999px;background:radial-gradient(ellipse at center,var(--piece-engine-glow),rgba(76,229,217,0) 72%);filter:blur(4px)}
.ride-render.token-3d.board-game-piece .piece-body-kit{left:10%;right:8%;bottom:23%;height:7%;z-index:5;border-radius:999px;background:linear-gradient(90deg,rgba(255,209,124,.0),var(--piece-body-glow),rgba(255,209,124,.0));opacity:0}
.ride-render.token-3d.board-game-piece .piece-roof-rack{left:30%;right:30%;bottom:61%;height:6%;z-index:8;border:1px solid rgba(26,22,18,.72);border-radius:10px;box-shadow:inset 0 0 0 1px rgba(255,233,188,.20);opacity:0}
.ride-render.token-3d.board-game-piece .piece-roof-rack:before,.ride-render.token-3d.board-game-piece .piece-roof-rack:after{content:"";position:absolute;top:100%;width:2px;height:7px;background:#302820}.ride-render.token-3d.board-game-piece .piece-roof-rack:before{left:18%}.ride-render.token-3d.board-game-piece .piece-roof-rack:after{right:18%}
.ride-render.token-3d.board-game-piece .piece-spoiler{right:9%;bottom:39%;width:15%;height:5%;z-index:8;border-top:2px solid rgba(255,227,164,.5);border-right:2px solid rgba(58,39,18,.72);transform:skewX(-26deg);opacity:0}
.ride-render.token-3d.board-game-piece .piece-marker-lights{left:12%;right:12%;bottom:41%;height:6%;z-index:8;opacity:0;background:radial-gradient(circle at 12% 50%,rgba(255,191,74,.95) 0 8%,rgba(255,191,74,0) 9%), radial-gradient(circle at 88% 50%,rgba(255,191,74,.95) 0 8%,rgba(255,191,74,0) 9%)}

.ride-render.token-3d.board-game-piece.mod-rims-chrome{--piece-rim:#d6e0e6;--piece-rim-glow:rgba(186,232,255,.28)}
.ride-render.token-3d.board-game-piece.mod-rims-gold{--piece-rim:#e3bf52;--piece-rim-glow:rgba(255,216,92,.34)}
.ride-render.token-3d.board-game-piece.mod-rims-nightwatch{--piece-rim:#70d4c9;--piece-rim-glow:rgba(72,231,218,.30)}
.ride-render.token-3d.board-game-piece.mod-rims-chrome .piece-wheel-core{filter:brightness(1.08) saturate(1.08)}
.ride-render.token-3d.board-game-piece.mod-rims-gold .piece-wheel-core{filter:sepia(.3) saturate(1.22) brightness(1.02)}
.ride-render.token-3d.board-game-piece.mod-rims-nightwatch .piece-wheel-core{filter:hue-rotate(130deg) saturate(1.25) brightness(1.02)}

.ride-render.token-3d.board-game-piece.mod-engine-street{--piece-engine-glow:rgba(76,229,217,.34)}
.ride-render.token-3d.board-game-piece.mod-engine-blackbox{--piece-engine-glow:rgba(144,122,255,.34)}
.ride-render.token-3d.board-game-piece.mod-body-flare .piece-body-kit{opacity:1}
.ride-render.token-3d.board-game-piece.mod-body-runner .piece-roof-rack,.ride-render.token-3d.board-game-piece.mod-body-runner .piece-spoiler{opacity:1}
.ride-render.token-3d.board-game-piece.mod-body-coyote .piece-marker-lights,.ride-render.token-3d.board-game-piece.mod-body-coyote .piece-body-kit{opacity:1}
.ride-render.token-3d.board-game-piece.mod-body-runner .piece-body-kit{opacity:.75}
.ride-render.token-3d.board-game-piece.mod-body-coyote{--piece-body-glow:rgba(255,180,92,.28)}
.ride-render.token-3d.board-game-piece.mod-body-flare{--piece-body-glow:rgba(255,220,132,.20)}

.vehicle-pawn .ride-render.token-3d.board-game-piece,.table-pawn-render.ride-render.token-3d.board-game-piece,.moving-pawn-render.ride-render.token-3d.board-game-piece,.journey-token-render.ride-render.token-3d.board-game-piece{animation:boardPieceIdleFloat 2.8s ease-in-out infinite}
.board-moving-piece .ride-render.token-3d.board-game-piece,.moving-drive-state.ride-render.token-3d.board-game-piece{animation:boardPieceDriveBob .22s ease-in-out infinite alternate}
.board-moving-piece .ride-render.token-3d.board-game-piece .piece-wheel,.moving-drive-state.ride-render.token-3d.board-game-piece .piece-wheel{animation-play-state:running}
.map-node.current.pawn-arrive .ride-render.token-3d.board-game-piece .piece-wheel,.ride-render.token-3d.board-game-piece.board-step-pop .piece-wheel{animation-play-state:running;animation-duration:.16s;animation-iteration-count:4}
.vehicle-pawn .ride-render.token-3d.board-game-piece .piece-wheel{transform:translateZ(6px)}

@keyframes boardGameWheelSpin{to{transform:rotate(360deg)}}
@keyframes boardPieceIdleFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-1px) rotate(1deg)}}
@keyframes boardPieceDriveBob{0%{transform:translateY(0) rotate(-3deg)}100%{transform:translateY(-2px) rotate(3deg)}}

body.perf-lite .ride-render.token-3d.board-game-piece .piece-shadow{filter:none!important}
body.perf-lite .board-moving-piece .ride-render.token-3d.board-game-piece .piece-wheel,body.perf-lite .moving-drive-state.ride-render.token-3d.board-game-piece .piece-wheel{animation-duration:.36s!important}


/* ============================================================
   BORDER RUN v4.2.5b — MOBILE REFERENCE INTERFACE REPLACEMENT
   This block intentionally replaces the legacy <=820px fallback.
   The approved dashboard/map visual language is now the actual phone UI.
   ============================================================ */
.mobile-reference-nav{display:none}
@media (max-width:767px){
  body.reference-graphic-layout{background:#090b0b!important;overflow-x:hidden!important}
  body.reference-graphic-layout .app-shell{width:100%!important;max-width:none!important;padding:calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom))!important;border-radius:0!important;background:radial-gradient(circle at 50% -10%,rgba(76,58,34,.26),transparent 34%),linear-gradient(180deg,#161611,#090b0b 26%,#070909)!important}
  body.reference-graphic-layout .topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;padding:3px 2px 7px!important;border-bottom:1px solid rgba(210,169,81,.25)!important}
  body.reference-graphic-layout .eyebrow{font-size:7px!important;letter-spacing:.13em!important;color:#9f946f!important}
  body.reference-graphic-layout .brand-title{font-size:30px!important;line-height:.88!important;white-space:nowrap!important;letter-spacing:.015em!important}
  body.reference-graphic-layout .brand-subtitle{font-size:9px!important;letter-spacing:.26em!important;margin-top:2px!important}
  body.reference-graphic-layout .edition-line{display:none!important}
  body.reference-graphic-layout .top-actions{display:grid!important;grid-template-columns:repeat(4,42px)!important;gap:5px!important;max-width:none!important;justify-content:end!important}
  body.reference-graphic-layout .top-actions button{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0 3px!important;border-radius:10px!important;font-size:6.5px!important;letter-spacing:.03em!important;overflow:hidden!important}
  body.reference-graphic-layout #installAppBtn{display:none!important}
  body.reference-graphic-layout .street-ribbon{height:3px!important;margin:5px 0!important;overflow:hidden!important}
  body.reference-graphic-layout .street-ribbon span{display:none!important}

  /* Four compact primary stats + one race/goal strip, matching the approved reference hierarchy. */
  body.reference-graphic-layout .hud{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin:5px 0 7px!important}
  body.reference-graphic-layout .hud .stat{min-height:48px!important;padding:6px 7px!important;border-radius:8px!important;background:linear-gradient(180deg,rgba(32,34,31,.96),rgba(18,20,18,.98))!important;border:1px solid rgba(211,174,93,.22)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;min-width:0!important}
  body.reference-graphic-layout .hud .stat span{font-size:6.8px!important;letter-spacing:.08em!important;white-space:nowrap!important}
  body.reference-graphic-layout .hud .stat strong{font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.reference-graphic-layout .hud .stat:nth-child(5){grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;min-height:34px!important}
  body.reference-graphic-layout .hud .stat:nth-child(5) strong{font-size:14px!important;text-align:right!important}

  /* The board becomes the primary screen. Old Living Map/route panels become floating map chrome. */
  body.reference-graphic-layout #boardStage.board-stage{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"board" "right" "carousel" "mobilenav"!important;gap:7px!important;position:relative!important;padding:0!important;margin:0!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}
  body.reference-graphic-layout #boardStage .board-stage-head{position:absolute!important;left:8px!important;right:8px!important;top:8px!important;z-index:95!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;min-height:0!important;padding:0!important;background:transparent!important;border:0!important;pointer-events:none!important}
  body.reference-graphic-layout #boardStage .board-stage-head>div:first-child{display:none!important}
  body.reference-graphic-layout #boardStage .board-stage-right{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;width:auto!important;flex-wrap:nowrap!important;pointer-events:auto!important}
  body.reference-graphic-layout #boardStage .board-stage-legend{display:none!important}
  body.reference-graphic-layout #boardStage .board-zoom-controls{display:flex!important;gap:3px!important;align-items:center!important;background:rgba(6,10,10,.80)!important;border:1px solid rgba(74,205,193,.28)!important;border-radius:999px!important;padding:3px!important;backdrop-filter:blur(6px)!important}
  body.reference-graphic-layout #boardStage .board-zoom-btn{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border-radius:50%!important;font-size:18px!important}
  body.reference-graphic-layout #boardStage .board-zoom-hint{display:none!important}
  body.reference-graphic-layout #boardStage .board-fit-btn{height:34px!important;min-height:34px!important;padding:0 8px!important;font-size:7px!important;border-radius:999px!important}
  body.reference-graphic-layout #boardStage .world-clock-chip{min-width:74px!important;height:40px!important;min-height:40px!important;padding:4px 6px!important;border-radius:999px!important;background:rgba(10,12,12,.84)!important;backdrop-filter:blur(6px)!important}
  body.reference-graphic-layout #boardStage .world-clock-chip>span{font-size:18px!important}
  body.reference-graphic-layout #boardStage .world-clock-chip strong{font-size:9px!important}
  body.reference-graphic-layout #boardStage .world-clock-chip small{font-size:5px!important}

  body.reference-graphic-layout #boardStage .route-panel{position:absolute!important;left:8px!important;right:8px!important;top:53px!important;z-index:92!important;margin:0!important;padding:3px!important;background:rgba(13,15,14,.84)!important;border:1px solid rgba(213,174,86,.20)!important;border-radius:10px!important;backdrop-filter:blur(7px)!important;box-shadow:0 7px 18px rgba(0,0,0,.28)!important}
  body.reference-graphic-layout #boardStage .route-panel-head,body.reference-graphic-layout #boardStage .route-intel{display:none!important}
  body.reference-graphic-layout #boardStage .route-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important}
  body.reference-graphic-layout #boardStage .route-tab{min-height:33px!important;padding:3px 2px!important;border-radius:7px!important}
  body.reference-graphic-layout #boardStage .route-tab .route-name{font-size:7px!important}
  body.reference-graphic-layout #boardStage .route-tab small{display:none!important}
  body.reference-graphic-layout #boardStage .route-tab em,body.reference-graphic-layout #boardStage .route-tab i{font-size:4.6px!important;line-height:1!important}
  body.reference-graphic-layout #boardStage .route-meter{display:none!important}

  /* The old left rail and old location card are gone on phone. The reference dashboard is retained. */
  body.reference-graphic-layout .route-legend-panel{display:none!important}
  body.reference-graphic-layout #locationCard{display:none!important}
  body.reference-graphic-layout .party-rail{display:none!important}
  body.reference-graphic-layout .side-action-rail{display:none!important}
  body.reference-graphic-layout #boardStage .tabletop-tray{display:none!important}
  body.reference-graphic-layout #boardStage .upgrade-strip{display:none!important}

  body.reference-graphic-layout #boardStage .board-wrap{grid-area:board!important;margin:0!important;min-width:0!important}
  body.reference-graphic-layout #boardStage .tabletop-board{width:100%!important;height:66svh!important;min-height:560px!important;max-height:none!important;margin:0!important;padding:0!important;border:1px solid rgba(62,204,193,.25)!important;border-radius:14px!important;background:#06100f!important;box-shadow:inset 0 0 0 1px rgba(238,195,100,.08),0 12px 28px rgba(0,0,0,.34)!important;overflow:auto!important;overscroll-behavior:contain!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:220%!important;min-width:860px!important}
  body.reference-graphic-layout #boardStage .board-trigger-legend{display:block!important;top:96px!important;left:8px!important;max-width:138px!important;z-index:90!important;background:rgba(7,11,10,.84)!important;border:1px solid rgba(225,184,86,.28)!important;border-radius:10px!important;backdrop-filter:blur(6px)!important}
  body.reference-graphic-layout #boardStage .board-trigger-legend summary{min-height:32px!important;padding:6px 8px!important;font-size:6.5px!important}
  body.reference-graphic-layout #boardStage .board-trigger-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important;padding:5px 7px 7px!important}
  body.reference-graphic-layout #boardStage .board-trigger-items span{font-size:5.5px!important}
  body.reference-graphic-layout #boardStage .camera-hud{top:95px!important;left:50%!important;max-width:48%!important;padding:5px 8px!important;border-radius:999px!important;z-index:89!important}

  /* Travel spaces now read like trigger tokens; city spaces remain destination cards/miniatures. */
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node{width:12.4%!important;min-height:42px!important;padding:3px 5px!important;border-radius:999px!important;background:linear-gradient(180deg,rgba(19,25,23,.94),rgba(7,12,11,.98))!important;border:1px solid rgba(83,207,196,.20)!important;box-shadow:0 5px 12px rgba(0,0,0,.44)!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node b{font-size:5.8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:74%!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node small{font-size:4.6px!important;letter-spacing:.06em!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node .node-num{font-size:4.5px!important;opacity:.5!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node .travel-trigger-badge{width:22px!important;height:22px!important;right:-7px!important;top:-7px!important;border-radius:50%!important;font-size:10px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node,body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node{width:16.2%!important;min-height:62px!important;padding:5px 4px!important;border-radius:10px!important;background:linear-gradient(180deg,rgba(32,34,31,.94),rgba(10,13,12,.98))!important;border:1px solid rgba(232,190,91,.30)!important;box-shadow:0 8px 18px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.03)!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node b,body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node b{font-size:7.5px!important;color:#f0ddaa!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node small,body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node small{font-size:4.7px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.current{outline:2px solid #51d8cd!important;box-shadow:0 0 0 2px rgba(76,225,211,.13),0 0 24px rgba(57,221,206,.36)!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .vehicle-pawn{z-index:120!important;transform:translate(-50%,-82%) scale(1.06)!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .vehicle-pawn .pawn-render{width:88px!important;height:57px!important}

  /* Right-side reference cards become the phone information deck immediately below the board. */
  body.reference-graphic-layout .dashboard-aside{grid-area:right!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin:0!important}
  body.reference-graphic-layout .dashboard-aside .achievement-card{min-height:92px!important;padding:9px!important}
  body.reference-graphic-layout .achievement-card .dash-main{font-size:24px!important}
  body.reference-graphic-layout .dashboard-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  body.reference-graphic-layout .dashboard-card{padding:8px!important;border-radius:10px!important;min-height:96px!important}
  body.reference-graphic-layout .dashboard-card h3{font-size:8px!important;letter-spacing:.12em!important}
  body.reference-graphic-layout .dashboard-card .dash-kicker{font-size:6.5px!important}
  body.reference-graphic-layout .dashboard-card .dash-sub{font-size:6px!important}
  body.reference-graphic-layout .dashboard-card .dash-main{font-size:16px!important}
  body.reference-graphic-layout .dash-market-row{font-size:6.5px!important;padding:3px 0!important}
  body.reference-graphic-layout .dash-btn{min-height:34px!important;padding:6px!important;font-size:7px!important}
  body.reference-graphic-layout .dash-drive-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.reference-graphic-layout .dash-drive-strip .city-action-tile{min-height:44px!important}
  body.reference-graphic-layout .buyer-outcomes div{grid-template-columns:28px minmax(0,1fr)!important;font-size:6.5px!important;padding:4px 5px!important}

  body.reference-graphic-layout .city-carousel{grid-area:carousel!important;padding:6px!important;border-radius:10px!important}
  body.reference-graphic-layout .city-carousel-head strong{font-size:8px!important}
  body.reference-graphic-layout .city-carousel-head .dash-sub{font-size:6px!important}
  body.reference-graphic-layout .city-carousel-track{grid-auto-columns:minmax(112px,42%)!important;gap:5px!important}
  body.reference-graphic-layout .city-carousel-card{min-height:72px!important;padding:7px!important;border-radius:8px!important}
  body.reference-graphic-layout .city-carousel-card strong{font-size:9px!important;margin-top:15px!important}
  body.reference-graphic-layout .city-carousel-card small{font-size:5.5px!important}

  /* Reference bottom navigation, replacing the legacy side rail on phone. */
  body.reference-graphic-layout .mobile-reference-nav{grid-area:mobilenav!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;padding:5px!important;background:linear-gradient(180deg,rgba(18,20,19,.96),rgba(9,11,10,.99))!important;border:1px solid rgba(218,174,81,.18)!important;border-radius:11px!important;position:sticky!important;bottom:0!important;z-index:72!important;box-shadow:0 -10px 22px rgba(0,0,0,.24)!important}
  body.reference-graphic-layout .mobile-reference-nav button{min-width:0!important;min-height:46px!important;padding:4px 2px!important;border:1px solid rgba(218,174,81,.16)!important;border-radius:8px!important;background:rgba(255,255,255,.025)!important;color:#e9d8aa!important;display:grid!important;place-items:center!important;gap:2px!important}
  body.reference-graphic-layout .mobile-reference-nav button span{font-size:17px!important;line-height:1!important}
  body.reference-graphic-layout .mobile-reference-nav button b{font-size:5.8px!important;letter-spacing:.05em!important}

  /* Dynamic turn controls remain functional, but visually match the dashboard furniture. */
  body.reference-graphic-layout #actionPanel.action-panel{position:sticky!important;bottom:0!important;z-index:70!important;margin:7px 0 0!important;padding:6px!important;border-radius:11px!important;grid-template-columns:42px minmax(0,1fr)!important;gap:5px!important;background:linear-gradient(180deg,rgba(10,14,13,.98),rgba(18,16,13,.99))!important}
  body.reference-graphic-layout #actionPanel .dice{width:40px!important;height:40px!important;font-size:18px!important}
  body.reference-graphic-layout #actionPanel .turn-line .mini-label{display:none!important}
  body.reference-graphic-layout #actionPanel .turn-line strong{font-size:9px!important}
  body.reference-graphic-layout #actionPanel .action-text{font-size:7px!important;line-height:1.25!important;max-height:30px!important;overflow:hidden!important}
  body.reference-graphic-layout #actionPanel .actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}
  body.reference-graphic-layout #actionPanel .btn{min-height:38px!important;padding:5px 3px!important;font-size:7.5px!important;border-radius:8px!important}
  body.reference-graphic-layout #actionPanel .log-wrap{display:none!important}
}

@media (max-width:430px){
  body.reference-graphic-layout #boardStage .tabletop-board{height:62svh!important;min-height:520px!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:235%!important;min-width:840px!important}
  body.reference-graphic-layout .top-actions{grid-template-columns:repeat(4,38px)!important}
  body.reference-graphic-layout .top-actions button{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important}
  body.reference-graphic-layout .brand-title{font-size:27px!important}
  body.reference-graphic-layout .hud .stat strong{font-size:12px!important}
  body.reference-graphic-layout .dashboard-grid{grid-template-columns:1fr 1fr!important}
}

/* v4.2.5b unique piece movement reinforcement */
.board-moving-piece[data-movement-style]{will-change:transform!important}
.board-moving-piece[data-movement-style] .piece-wheel{animation-play-state:running!important;animation-duration:var(--wheel-spin,.22s)!important}
.board-moving-piece[data-movement-style] .tokin-game-piece{filter:drop-shadow(0 8px 5px rgba(0,0,0,.5))!important}


/* ============================================================
   BORDER RUN v4.2.5b — TRUE REFERENCE UI REBUILD
   This is the final visual override. Phone no longer resembles the legacy
   rectangular Living Map. City destinations are skyline miniatures; travel
   spaces are trigger tokens. Top HUD is compact like the approved reference.
   ============================================================ */
@media (max-width:767px){
  body.reference-graphic-layout .app-shell{padding:calc(6px + env(safe-area-inset-top)) 6px calc(6px + env(safe-area-inset-bottom))!important}
  body.reference-graphic-layout .topbar{min-height:58px!important;padding:2px 4px 4px!important;grid-template-columns:minmax(0,1fr) auto!important}
  body.reference-graphic-layout .brand-title{font-size:25px!important;line-height:.86!important;letter-spacing:.02em!important}
  body.reference-graphic-layout .brand-subtitle{font-size:7px!important;letter-spacing:.30em!important}
  body.reference-graphic-layout .eyebrow{font-size:5.7px!important;margin-bottom:2px!important}
  body.reference-graphic-layout .top-actions{grid-template-columns:repeat(4,34px)!important;gap:4px!important}
  body.reference-graphic-layout .top-actions button{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border-radius:8px!important;font-size:5.5px!important}
  body.reference-graphic-layout .street-ribbon{margin:2px 0!important;height:2px!important}

  /* Reference-style one-line telemetry bar. */
  body.reference-graphic-layout .hud{display:grid!important;grid-template-columns:1.3fr .82fr .55fr .55fr 1.35fr!important;gap:0!important;margin:3px 0 5px!important;min-height:36px!important;border:1px solid rgba(214,174,81,.20)!important;border-radius:7px!important;overflow:hidden!important;background:linear-gradient(180deg,rgba(18,21,19,.96),rgba(9,12,11,.98))!important}
  body.reference-graphic-layout .hud .stat,body.reference-graphic-layout .hud .stat:nth-child(5){display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:36px!important;padding:4px 6px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;border-right:1px solid rgba(214,174,81,.10)!important;min-width:0!important}
  body.reference-graphic-layout .hud .stat:last-child{border-right:0!important}
  body.reference-graphic-layout .hud .stat span{font-size:5px!important;line-height:1!important;letter-spacing:.08em!important;color:#8f9c92!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.reference-graphic-layout .hud .stat strong,body.reference-graphic-layout .hud .stat:nth-child(5) strong{font-size:9px!important;line-height:1.05!important;text-align:left!important;margin-top:3px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.reference-graphic-layout .hud .stat:nth-child(5) strong{color:#f3d88c!important}

  body.reference-graphic-layout #boardStage.board-stage{gap:5px!important}
  body.reference-graphic-layout #boardStage .board-stage-head{top:5px!important;right:5px!important;left:auto!important;width:auto!important}
  body.reference-graphic-layout #boardStage .board-zoom-controls{padding:2px!important;background:rgba(5,9,9,.72)!important}
  body.reference-graphic-layout #boardStage .board-zoom-btn{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;font-size:16px!important}
  body.reference-graphic-layout #boardStage .board-fit-btn{height:30px!important;min-height:30px!important;font-size:6px!important;padding:0 7px!important}
  body.reference-graphic-layout #boardStage .world-clock-chip{height:34px!important;min-height:34px!important;min-width:68px!important;padding:3px 5px!important}
  body.reference-graphic-layout #boardStage .world-clock-chip>span{font-size:15px!important}
  body.reference-graphic-layout #boardStage .world-clock-chip strong{font-size:7.5px!important}

  /* Route picker is only a picker before the route is selected. During play the map owns the screen. */
  body.reference-graphic-layout.reference-route-active #boardStage .route-panel{display:none!important}
  body.reference-graphic-layout.reference-pre-route #boardStage .route-panel{top:42px!important;left:5px!important;right:5px!important;padding:4px!important}
  body.reference-graphic-layout.reference-pre-route #boardStage .route-tab{min-height:39px!important}

  body.reference-graphic-layout #boardStage .tabletop-board{height:74svh!important;min-height:600px!important;border-radius:12px!important;background:#06100f!important;border:1px solid rgba(53,210,197,.26)!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:205%!important;min-width:800px!important}
  body.reference-graphic-layout.reference-pre-route #boardStage .board-trigger-legend{top:90px!important}
  body.reference-graphic-layout.reference-route-active #boardStage .board-trigger-legend{top:47px!important}
  body.reference-graphic-layout.reference-route-active #boardStage .camera-hud{top:45px!important}
  body.reference-graphic-layout.reference-pre-route #boardStage .camera-hud{top:88px!important}
  body.reference-graphic-layout #boardStage .camera-hud{background:rgba(5,10,9,.78)!important;border-color:rgba(218,174,81,.26)!important;backdrop-filter:blur(5px)!important}

  /* This is the visual change the previous build did not make: travel spaces are tokens, not black cards. */
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node{
    width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;border-radius:50%!important;
    background:radial-gradient(circle at 36% 30%,#37433d 0 10%,#1a211e 11% 49%,#090e0d 50% 100%)!important;
    border:2px solid rgba(217,183,103,.46)!important;box-shadow:0 5px 8px rgba(0,0,0,.54),inset 0 0 0 2px rgba(69,210,198,.07)!important;
    display:grid!important;place-items:center!important;overflow:visible!important;
  }
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node b,
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node small,
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node .node-biome-pip{display:none!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node .node-num{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;font-size:5.5px!important;color:#bfb18a!important;opacity:.62!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node .travel-trigger-badge{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;width:22px!important;height:22px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:12px!important;z-index:3!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node.current{
    width:112px!important;height:46px!important;min-width:112px!important;min-height:46px!important;border-radius:999px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;padding:4px 24px 4px 8px!important;
    background:linear-gradient(180deg,rgba(20,75,69,.96),rgba(7,30,28,.98))!important;border-color:#55e1d5!important;
  }
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node.current b{display:block!important;max-width:76px!important;font-size:6.2px!important;color:#f0dda9!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node.current small{display:block!important;position:absolute!important;left:9px!important;bottom:5px!important;font-size:4.2px!important;color:#6ee0d5!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node.current .travel-trigger-badge{left:auto!important;right:5px!important;transform:translateY(-50%)!important;width:25px!important;height:25px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node.current .node-num{display:none!important}

  /* City destinations are skyline miniatures/labels like the approved map, not generic cards. */
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node,
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node{
    width:92px!important;height:66px!important;min-width:92px!important;min-height:66px!important;padding:2px 4px 5px!important;border-radius:8px!important;
    background:linear-gradient(180deg,rgba(8,13,13,.14),rgba(8,12,11,.84) 68%,rgba(5,8,8,.96))!important;border:1px solid rgba(222,184,94,.24)!important;
    box-shadow:0 8px 12px rgba(0,0,0,.46)!important;overflow:visible!important;
  }
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node .city-skyline-3d,
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node .city-skyline-3d{transform:translate(-50%,-100%) perspective(200px) rotateX(7deg) scale(1.15)!important;bottom:29px!important;filter:drop-shadow(0 5px 3px rgba(0,0,0,.65))!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node b,body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node b{position:absolute!important;left:3px!important;right:3px!important;bottom:11px!important;font-size:6.7px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:center!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node small,body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node small{position:absolute!important;left:3px!important;right:3px!important;bottom:3px!important;font-size:4px!important;text-align:center!important;color:#5cd6cc!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node .node-num,body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node .node-num{top:3px!important;left:4px!important;font-size:4.6px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node .node-biome-pip,body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node .node-biome-pip{display:none!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.current{z-index:45!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .node-pawns{z-index:70!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .vehicle-pawn{transform:translate(-50%,-93%) scale(1.10)!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .vehicle-pawn .pawn-render{width:96px!important;height:62px!important}
  body.reference-graphic-layout #boardStage .living-roads .road-biome-segment{stroke-width:1.25!important}
  body.reference-graphic-layout #boardStage .living-roads .road-biome-shoulder{stroke-width:2.5!important;opacity:.42!important}
  body.reference-graphic-layout #boardStage .living-roads .road-biome-center{stroke-width:.34!important;opacity:.86!important}

  /* Reference dashboard becomes a compact card deck instead of a giant stacked website. */
  body.reference-graphic-layout .dashboard-aside{display:block!important;overflow:hidden!important;border:1px solid rgba(219,176,82,.16)!important;border-radius:11px!important;background:#0a0d0c!important}
  body.reference-graphic-layout .dashboard-aside .achievement-card{min-height:78px!important;border:0!important;border-radius:0!important}
  body.reference-graphic-layout .achievement-card .dash-main{font-size:20px!important}
  body.reference-graphic-layout .dashboard-grid{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(148px,62%)!important;grid-template-columns:none!important;gap:5px!important;overflow-x:auto!important;padding:5px!important;scroll-snap-type:x proximity!important}
  body.reference-graphic-layout .dashboard-grid .dashboard-card{min-height:112px!important;scroll-snap-align:start!important}
  body.reference-graphic-layout .city-carousel{padding:5px!important}
  body.reference-graphic-layout .city-carousel-track{grid-auto-columns:minmax(126px,46%)!important}
  body.reference-graphic-layout .mobile-reference-nav{position:sticky!important;bottom:0!important}
  body.reference-graphic-layout #actionPanel.action-panel{position:sticky!important;bottom:52px!important;margin-top:4px!important}
}

@media (max-width:430px){
  body.reference-graphic-layout #boardStage .tabletop-board{height:72svh!important;min-height:570px!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:215%!important;min-width:790px!important}
  body.reference-graphic-layout .brand-title{font-size:23px!important}
  body.reference-graphic-layout .top-actions{grid-template-columns:repeat(4,32px)!important}
  body.reference-graphic-layout .top-actions button{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}
}

/* Tablet portrait: reference dashboard uses board + information rail rather than a stretched phone. */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  body.reference-graphic-layout #boardStage.board-stage{display:grid!important;grid-template-columns:minmax(0,1fr) 280px!important;grid-template-areas:"head head" "routes routes" "board right" "carousel carousel"!important;gap:8px!important}
  body.reference-graphic-layout #boardStage .tabletop-board{height:68svh!important;min-height:760px!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:160%!important;min-width:1220px!important}
  body.reference-graphic-layout .dashboard-aside{grid-area:right!important;display:grid!important;gap:7px!important}
  body.reference-graphic-layout .dashboard-grid{grid-template-columns:1fr!important}
  body.reference-graphic-layout .route-legend-panel{display:none!important}
}

/* Distinct movement modes get visible physical character while keeping dice distance unchanged. */
.board-moving-piece[data-movement-mode="hydraulic"] .board-game-piece{transform-origin:50% 90%!important}
.board-moving-piece[data-movement-mode="dunehop"] .piece-shadow,.board-moving-piece[data-movement-mode="buck"] .piece-shadow{animation:pieceShadowHop .32s ease-in-out infinite alternate!important}
.board-moving-piece[data-movement-mode="launch"] .board-game-piece,.board-moving-piece[data-movement-mode="charge"] .board-game-piece{filter:drop-shadow(-10px 8px 5px rgba(0,0,0,.5))!important}
.board-moving-piece[data-movement-mode="stealth"] .board-game-piece,.board-moving-piece[data-movement-mode="pursuit"] .board-game-piece{opacity:.92!important}
.board-moving-piece[data-movement-mode="float"] .board-game-piece,.board-moving-piece[data-movement-mode="drift"] .board-game-piece{filter:drop-shadow(0 13px 9px rgba(0,0,0,.38))!important}
.board-moving-piece[data-movement-mode="spin"] .tokin-game-piece,.board-moving-piece[data-movement-mode="flip"] .tokin-game-piece{filter:drop-shadow(0 10px 5px rgba(0,0,0,.55)) saturate(1.15)!important}
@keyframes pieceShadowHop{from{transform:scaleX(1) scaleY(.72);opacity:.85}to{transform:scaleX(.72) scaleY(.48);opacity:.48}}


/* ============================================================
   BORDER RUN v4.2.5b — TRUE HARD REPLACEMENT
   Dedicated mobile and tablet renderer replacing the compact
   fallback interface. Old compact scaffold is hidden; a separate
   compact shell becomes the active renderer.
   ============================================================ */
#hardReferenceShell{display:none}
body.hard-reference-compact #hardReferenceShell{display:block!important}
body.hard-reference-compact #boardStage{display:block!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
body.hard-reference-compact #boardStage>.board-stage-head,
body.hard-reference-compact #boardStage>.route-panel,
body.hard-reference-compact #boardStage>.route-legend-panel,
body.hard-reference-compact #boardStage>.dashboard-aside,
body.hard-reference-compact #boardStage>.city-carousel,
body.hard-reference-compact #boardStage>.mobile-reference-nav,
body.hard-reference-compact #boardStage>.tabletop-tray,
body.hard-reference-compact #boardStage>.upgrade-strip,
body.hard-reference-compact #boardStage>.party-rail,
body.hard-reference-compact #boardStage>.side-action-rail,
body.hard-reference-compact .location-card,
body.hard-reference-compact .opponent-card,
body.hard-reference-compact .secondary-systems,
body.hard-reference-compact .travel-scene,
body.hard-reference-compact .map-panel{display:none!important}
body.hard-reference-compact #boardStage .board-trigger-legend,
body.hard-reference-compact #boardStage .camera-hud{display:none!important}
body.hard-reference-compact .hard-reference-shell{display:grid;gap:8px}
body.hard-reference-compact .hard-ref-board-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid rgba(214,174,81,.18);border-radius:14px;background:linear-gradient(180deg,rgba(13,17,16,.96),rgba(10,12,11,.98));box-shadow:0 10px 24px rgba(0,0,0,.28)}
body.hard-reference-compact .hard-ref-board-pill{min-width:0;display:flex;flex-direction:column;gap:2px}
body.hard-reference-compact .hard-ref-board-pill span{font:800 10px/1 Arial,sans-serif;letter-spacing:.16em;color:#58d6ca;text-transform:uppercase}
body.hard-reference-compact .hard-ref-board-pill strong{font:900 22px/.95 Georgia,serif;color:#f0dfaf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.hard-reference-compact .hard-ref-board-pill small{font:800 10px/1.1 Arial,sans-serif;color:#b3ab8d;letter-spacing:.06em}
body.hard-reference-compact .hard-ref-board-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
body.hard-reference-compact .hard-ref-board-tools button,body.hard-reference-compact .hard-route-chip,body.hard-reference-compact .hard-ref-card button,body.hard-reference-compact .hard-ref-bottom-nav button{border:1px solid rgba(70,214,203,.28);background:linear-gradient(180deg,rgba(11,20,20,.98),rgba(8,12,12,.98));color:#efe0b5;border-radius:12px;box-shadow:0 8px 16px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.03)}
body.hard-reference-compact .hard-ref-board-tools button{width:40px;height:40px;font-size:20px;font-weight:900}
body.hard-reference-compact .hard-ref-zoom-readout{min-width:84px;height:40px;padding:0 10px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(70,214,203,.28);background:rgba(4,11,11,.7);font:800 11px/1 Arial;color:#59d6ca;letter-spacing:.1em}
body.hard-reference-compact .hard-ref-zoom-readout b{color:#f0dfaf;margin-left:6px}
body.hard-reference-compact .hard-ref-clock{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border-radius:12px;border:1px solid rgba(214,174,81,.24);background:rgba(18,18,12,.72);color:#f0dfaf}
body.hard-reference-compact .hard-ref-clock>div{display:flex;flex-direction:column}
body.hard-reference-compact .hard-ref-clock strong{font:900 14px/1 Arial}
body.hard-reference-compact .hard-ref-clock small{font:800 9px/1 Arial;color:#7ccdc3;letter-spacing:.12em}
body.hard-reference-compact .hard-ref-route-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
body.hard-reference-compact .hard-route-chip{padding:10px 8px;display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left}
body.hard-reference-compact .hard-route-chip span{font:900 15px/1 Georgia,serif;color:#f1dfb1}
body.hard-reference-compact .hard-route-chip b{font:800 10px/1 Arial;color:#e48c66;letter-spacing:.08em}
body.hard-reference-compact .hard-route-chip small{font:800 10px/1 Arial;color:#48d1c6;letter-spacing:.08em}
body.hard-reference-compact .hard-route-chip.active{border-color:#dfab57;background:linear-gradient(180deg,rgba(17,59,56,.98),rgba(9,18,19,.98));box-shadow:0 0 0 1px rgba(238,192,92,.16),0 10px 18px rgba(0,0,0,.3)}
body.hard-reference-compact .hard-route-chip.locked{box-shadow:0 0 0 1px rgba(76,228,217,.14),0 8px 16px rgba(0,0,0,.24)}
body.hard-reference-compact .hard-ref-main{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
body.hard-reference-compact .hard-ref-board-column{min-width:0}
body.hard-reference-compact .hard-ref-board-host>.board-wrap{margin:0!important}
body.hard-reference-compact .hard-ref-board-host .tabletop-board{height:66svh!important;min-height:560px!important;border-radius:18px!important;border:1px solid rgba(56,214,201,.26)!important;box-shadow:0 14px 28px rgba(0,0,0,.34)!important;overflow:hidden!important}
body.hard-reference-compact .hard-ref-info-rail{display:grid;gap:8px}
body.hard-reference-compact .hard-ref-card{padding:12px;border-radius:16px;border:1px solid rgba(214,174,81,.18);background:linear-gradient(180deg,rgba(18,17,13,.96),rgba(8,12,11,.98));box-shadow:0 10px 22px rgba(0,0,0,.28)}
body.hard-reference-compact .hard-ref-card.hero{background:radial-gradient(circle at top right,rgba(76,228,217,.12),transparent 32%),linear-gradient(180deg,rgba(22,24,19,.98),rgba(10,12,11,.98))}
body.hard-reference-compact .hard-ref-card .kicker{display:block;font:800 10px/1 Arial;color:#54d1c6;letter-spacing:.18em;text-transform:uppercase;margin-bottom:5px}
body.hard-reference-compact .hard-ref-card strong{display:block;font:900 20px/1 Georgia,serif;color:#f0dfb1;margin-bottom:6px}
body.hard-reference-compact .hard-ref-card p{margin:0 0 8px;font:700 11px/1.35 Arial;color:#aea98f}
body.hard-reference-compact .hard-ref-card .mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
body.hard-reference-compact .hard-ref-card .mini-grid div,body.hard-reference-compact .hard-ref-card .rows .row{padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between;gap:6px;align-items:center}
body.hard-reference-compact .hard-ref-card .mini-grid span,body.hard-reference-compact .hard-ref-card .rows span{font:800 9px/1 Arial;color:#8da196;letter-spacing:.08em;text-transform:uppercase}
body.hard-reference-compact .hard-ref-card .mini-grid b,body.hard-reference-compact .hard-ref-card .rows b{font:900 12px/1 Georgia,serif;color:#f0dfaf;text-align:right}
body.hard-reference-compact .hard-ref-card .rows{display:grid;gap:6px}
body.hard-reference-compact .hard-ref-card .rows.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
body.hard-reference-compact .hard-ref-card .btn-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
body.hard-reference-compact .hard-ref-card button{min-height:38px;padding:0 10px;font:800 10px/1 Arial;letter-spacing:.1em}
body.hard-reference-compact .hard-ref-card button.alt{border-color:rgba(214,174,81,.22)}
body.hard-reference-compact .hard-ref-card button.warn{border-color:rgba(239,132,93,.35);color:#ffd1b1}
body.hard-reference-compact .hard-ref-city-strip{padding:8px 10px;border-radius:15px;border:1px solid rgba(214,174,81,.18);background:linear-gradient(180deg,rgba(14,15,14,.96),rgba(8,11,10,.98))}
body.hard-reference-compact .hard-ref-city-strip .strip-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
body.hard-reference-compact .hard-ref-city-strip .strip-head strong{font:900 14px/1 Georgia,serif;color:#f0dfaf}
body.hard-reference-compact .hard-ref-city-strip .strip-head span{font:800 10px/1 Arial;color:#90a396;letter-spacing:.08em}
body.hard-reference-compact .hard-ref-city-strip .strip-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr);gap:8px;overflow-x:auto;padding-bottom:2px}
body.hard-reference-compact .hard-ref-city-strip .city-chip{padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,rgba(16,26,26,.98),rgba(8,12,11,.98));display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;color:#efe0b5}
body.hard-reference-compact .hard-ref-city-strip .city-chip span{font-size:16px}
body.hard-reference-compact .hard-ref-city-strip .city-chip b{font:900 14px/1 Georgia,serif}
body.hard-reference-compact .hard-ref-city-strip .city-chip small{font:800 9px/1 Arial;color:#63d7cb;letter-spacing:.08em}
body.hard-reference-compact .hard-ref-city-strip .city-chip.active{border-color:#dfab57;box-shadow:0 0 0 1px rgba(223,171,87,.16) inset}
body.hard-reference-compact .hard-ref-action-dock{display:block}
body.hard-reference-compact .hard-ref-action-dock #actionPanel{position:sticky!important;bottom:58px!important;z-index:78!important;margin-top:0!important}
body.hard-reference-compact .hard-ref-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-radius:15px;border:1px solid rgba(214,174,81,.18);background:linear-gradient(180deg,rgba(8,11,10,.97),rgba(11,14,13,.99));position:sticky;bottom:0;z-index:80;box-shadow:0 -10px 24px rgba(0,0,0,.32)}
body.hard-reference-compact .hard-ref-bottom-nav button{padding:7px 4px;display:grid;place-items:center;gap:4px;min-height:48px}
body.hard-reference-compact .hard-ref-bottom-nav span{font-size:18px;line-height:1}
body.hard-reference-compact .hard-ref-bottom-nav b{font:800 7px/1 Arial;letter-spacing:.08em}
body.hard-reference-compact #boardStage .graphical-world-board .map-node.travel-space-node{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border-radius:50%!important}
body.hard-reference-compact #boardStage .graphical-world-board .map-node.travel-space-node.current{width:118px!important;height:50px!important;min-width:118px!important;min-height:50px!important}
body.hard-reference-compact #boardStage .graphical-world-board .map-node.core-city-node,
body.hard-reference-compact #boardStage .graphical-world-board .map-node.buy-node{width:96px!important;height:70px!important;min-width:96px!important;min-height:70px!important}
body.hard-reference-phone .hard-ref-board-header{padding:8px}
body.hard-reference-phone .hard-ref-board-pill strong{font-size:20px}
body.hard-reference-phone .hard-ref-board-tools{gap:5px}
body.hard-reference-phone .hard-ref-board-tools button{width:34px;height:34px;font-size:18px}
body.hard-reference-phone .hard-ref-zoom-readout{min-width:72px;height:34px;font-size:9px}
body.hard-reference-phone .hard-ref-clock{min-height:34px;padding:0 8px}
body.hard-reference-phone .hard-ref-clock strong{font-size:12px}
body.hard-reference-phone .hard-ref-route-strip{gap:5px}
body.hard-reference-phone .hard-route-chip{padding:8px 6px}
body.hard-reference-phone .hard-route-chip span{font-size:13px}
body.hard-reference-phone .hard-route-chip b,body.hard-reference-phone .hard-route-chip small{font-size:8px}
body.hard-reference-phone .hard-ref-info-rail{grid-template-columns:1fr}
body.hard-reference-phone .hard-ref-card strong{font-size:18px}
body.hard-reference-phone .hard-ref-card p{font-size:10px}
body.hard-reference-phone .hard-ref-card .mini-grid b,body.hard-reference-phone .hard-ref-card .rows b{font-size:11px}
body.hard-reference-phone .hard-ref-board-host .tabletop-board{height:62svh!important;min-height:520px!important}
body.hard-reference-phone #boardStage .board.living-map{width:205%!important;min-width:800px!important}
body.hard-reference-tablet .hard-ref-main{grid-template-columns:minmax(0,1fr) 300px;align-items:start}
body.hard-reference-tablet .hard-ref-board-host .tabletop-board{height:70svh!important;min-height:760px!important}
body.hard-reference-tablet #boardStage .board.living-map{width:160%!important;min-width:1220px!important}
body.hard-reference-tablet .hard-ref-info-rail{position:sticky;top:10px}
body.hard-reference-tablet .hard-ref-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));max-width:720px}


/* ============================================================
   BORDER RUN v4.2.5b — REFERENCE POLISH + PREMIUM MINIATURES
   Dedicated compact renderer now owns its brand/telemetry chrome.
   Legacy phone header/HUD are not part of compact rendering.
   ============================================================ */
body.hard-reference-compact>.app-shell>.topbar,
body.hard-reference-compact>.app-shell>.street-ribbon,
body.hard-reference-compact>.app-shell>.hud{display:none!important}
body.hard-reference-compact{background:#040908!important}
body.hard-reference-compact>.app-shell{padding:calc(6px + env(safe-area-inset-top)) 6px calc(8px + env(safe-area-inset-bottom))!important;background:radial-gradient(circle at 48% 0,rgba(45,57,48,.28),transparent 28%),linear-gradient(180deg,#080d0c,#030605 68%)!important}
body.hard-reference-compact .hard-reference-shell{gap:7px!important}
body.hard-reference-compact .hard-ref-top-chrome{display:grid;grid-template-columns:minmax(160px,.88fr) minmax(250px,1.5fr) auto;gap:8px;align-items:stretch;padding:7px;border:1px solid rgba(207,168,82,.24);border-radius:15px;background:linear-gradient(180deg,rgba(10,15,14,.99),rgba(5,9,8,.99));box-shadow:0 10px 24px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.02)}
body.hard-reference-compact .hard-ref-brand{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:2px 8px;border-right:1px solid rgba(210,170,84,.18)}
body.hard-reference-compact .hard-ref-brand strong{font:900 28px/.86 Georgia,serif;letter-spacing:.035em;color:#e8dbb5;text-shadow:0 2px 0 #000,2px 4px 0 rgba(118,73,33,.45);white-space:nowrap}
body.hard-reference-compact .hard-ref-brand span{margin-top:5px;font:900 9px/1 Arial,sans-serif;letter-spacing:.28em;color:#d59c45}
body.hard-reference-compact .hard-ref-telemetry{display:grid;grid-template-columns:1.15fr .9fr 1.15fr .75fr;border:1px solid rgba(207,168,82,.15);border-radius:11px;overflow:hidden;background:rgba(8,13,12,.84)}
body.hard-reference-compact .hard-ref-telemetry>div{min-width:0;padding:6px 8px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(207,168,82,.12)}
body.hard-reference-compact .hard-ref-telemetry>div:last-child{border-right:0}
body.hard-reference-compact .hard-ref-telemetry span,body.hard-reference-compact .hard-ref-telemetry small{font:800 8px/1 Arial;color:#8fa29a;letter-spacing:.1em;text-transform:uppercase}
body.hard-reference-compact .hard-ref-telemetry strong{margin-top:4px;font:900 15px/1 Georgia,serif;color:#efdfb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.hard-reference-compact .hard-ref-telemetry .telemetry-time{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:5px;align-content:center}
body.hard-reference-compact .hard-ref-telemetry .telemetry-time>span{grid-row:1/3;font-size:18px;color:#e9ce78;align-self:center}
body.hard-reference-compact .hard-ref-telemetry .telemetry-time>strong{margin:0}
body.hard-reference-compact .hard-ref-telemetry .heat-pips{color:#e15e43!important;letter-spacing:.04em;font-family:Arial,sans-serif!important;font-size:12px!important}
body.hard-reference-compact .hard-ref-top-actions{display:grid;grid-template-columns:repeat(3,58px);gap:5px}
body.hard-reference-compact .hard-ref-top-actions button{position:relative;min-height:54px;padding:5px 3px;border-radius:11px;border:1px solid rgba(207,168,82,.22);background:linear-gradient(180deg,#171914,#080b0a);color:#e9dab2;display:grid;place-items:center;gap:2px;box-shadow:0 5px 10px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.03)}
body.hard-reference-compact .hard-ref-top-actions button span{font-size:20px;line-height:1}
body.hard-reference-compact .hard-ref-top-actions button b{font:800 6px/1 Arial;letter-spacing:.06em}
body.hard-reference-compact .hard-ref-top-actions button i{position:absolute;right:6px;top:5px;width:7px;height:7px;border-radius:50%;background:#e44f36;box-shadow:0 0 8px rgba(228,79,54,.6);opacity:0}
body.hard-reference-compact .hard-ref-top-actions button i.active{opacity:1}
body.hard-reference-compact .hard-ref-board-header{background:linear-gradient(180deg,rgba(18,20,17,.98),rgba(7,11,10,.98))!important;border-color:rgba(207,168,82,.24)!important}
body.hard-reference-compact .hard-ref-board-pill strong{letter-spacing:.02em}
body.hard-reference-compact .hard-ref-route-strip{padding:1px}
body.hard-reference-compact .hard-route-chip{position:relative;overflow:hidden;border-color:rgba(207,168,82,.18)!important}
body.hard-reference-compact .hard-route-chip:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--route-accent,#4fc8be)}
body.hard-reference-compact .hard-route-chip.route-west{--route-accent:#45c4b9}
body.hard-reference-compact .hard-route-chip.route-central{--route-accent:#d9ae43}
body.hard-reference-compact .hard-route-chip.route-east{--route-accent:#d56248}
body.hard-reference-compact .hard-route-chip.active{box-shadow:inset 0 0 0 1px rgba(79,221,208,.22),0 8px 18px rgba(0,0,0,.35)!important}
body.hard-reference-compact .hard-ref-board-host .tabletop-board{position:relative!important;background:#06100f!important}
body.hard-reference-compact .hard-ref-board-host .tabletop-board:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:220;border-radius:inherit;box-shadow:inset 0 0 35px 8px rgba(0,0,0,.5),inset 0 0 0 1px rgba(74,218,205,.08)}
body.hard-reference-compact .hard-ref-info-rail{gap:7px!important}
body.hard-reference-compact .hard-ref-card{position:relative;overflow:hidden;border-color:rgba(210,171,83,.20)!important;background:linear-gradient(180deg,rgba(16,17,14,.98),rgba(6,9,8,.99))!important}
body.hard-reference-compact .hard-ref-card:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,rgba(75,211,199,.7),rgba(218,171,72,.55),rgba(213,88,63,.55));opacity:.52}
body.hard-reference-compact .hard-ref-card.hero{background:radial-gradient(circle at 80% 0,rgba(68,217,203,.14),transparent 38%),linear-gradient(180deg,rgba(21,23,19,.98),rgba(7,10,9,.99))!important}
body.hard-reference-compact .hard-ref-card.dice-card:after{content:"⚄  ⚂";position:absolute;right:12px;top:12px;font:900 27px/1 Georgia;color:rgba(236,218,175,.12);letter-spacing:-.12em;pointer-events:none}
body.hard-reference-compact .hard-ref-card.favor-card:after{content:"⚠";position:absolute;right:12px;top:10px;color:rgba(217,88,67,.20);font-size:28px;pointer-events:none}
body.hard-reference-compact .hard-ref-card .btn-row button:not(:disabled){transition:transform .15s ease,border-color .15s ease,background .15s ease}
@media(hover:hover) and (pointer:fine){body.hard-reference-compact .hard-ref-card .btn-row button:not(:disabled):hover{transform:translateY(-1px);border-color:rgba(80,225,212,.55)}}
body.hard-reference-compact .hard-ref-city-strip{background:linear-gradient(180deg,rgba(14,16,14,.98),rgba(6,9,8,.99))!important}
body.hard-reference-compact .hard-ref-city-strip .city-chip{position:relative;overflow:hidden;min-height:82px;background:var(--city-card-bg,linear-gradient(180deg,#26383b,#0a0d0c))!important}
body.hard-reference-compact .hard-ref-city-strip .city-chip:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 35%,rgba(0,0,0,.42));pointer-events:none}
body.hard-reference-compact .hard-ref-city-strip .city-chip>*{position:relative;z-index:1}
body.hard-reference-compact .hard-ref-bottom-nav{border-color:rgba(210,171,83,.23)!important;background:linear-gradient(180deg,rgba(10,13,12,.99),rgba(4,7,7,.995))!important}
body.hard-reference-compact .hard-ref-bottom-nav button{border-color:rgba(210,171,83,.16)!important}
body.hard-reference-compact .hard-ref-bottom-nav button:first-child{border-color:rgba(79,218,206,.34)!important}
body.hard-reference-compact .hard-ref-modal-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.hard-reference-compact .hard-ref-modal-stats>div{padding:12px;border-radius:10px;border:1px solid rgba(210,171,83,.16);background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:5px}
body.hard-reference-compact .hard-ref-modal-stats span{font:800 9px/1 Arial;color:#6ed8ce;letter-spacing:.1em}
body.hard-reference-compact .hard-ref-modal-stats strong{font:900 20px/1 Georgia;color:#efe0b3}

/* Phone composition: reference image hierarchy, not stacked legacy web UI. */
body.hard-reference-phone .hard-ref-top-chrome{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "telemetry telemetry";padding:6px;gap:6px}
body.hard-reference-phone .hard-ref-brand{grid-area:brand;border-right:0;padding:2px 4px}
body.hard-reference-phone .hard-ref-brand strong{font-size:24px}
body.hard-reference-phone .hard-ref-brand span{font-size:7px;margin-top:4px}
body.hard-reference-phone .hard-ref-telemetry{grid-area:telemetry}
body.hard-reference-phone .hard-ref-top-actions{grid-area:actions;grid-template-columns:repeat(3,43px)}
body.hard-reference-phone .hard-ref-top-actions button{min-height:43px}
body.hard-reference-phone .hard-ref-top-actions button span{font-size:16px}
body.hard-reference-phone .hard-ref-top-actions button b{font-size:4.8px}
body.hard-reference-phone .hard-ref-telemetry>div{padding:5px 6px}
body.hard-reference-phone .hard-ref-telemetry span,body.hard-reference-phone .hard-ref-telemetry small{font-size:6.4px}
body.hard-reference-phone .hard-ref-telemetry strong{font-size:11px}
body.hard-reference-phone .hard-ref-telemetry .heat-pips{font-size:9px!important}
body.hard-reference-phone .hard-ref-board-header{align-items:flex-start!important}
body.hard-reference-phone .hard-ref-board-pill{max-width:48%}
body.hard-reference-phone .hard-ref-board-pill strong{font-size:18px!important}
body.hard-reference-phone .hard-ref-board-tools{max-width:52%;justify-content:flex-end!important}
body.hard-reference-phone .hard-ref-board-tools .hard-ref-zoom-readout{display:none}
body.hard-reference-phone .hard-ref-route-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important}
body.hard-reference-phone .hard-route-chip{min-height:51px;padding:7px 5px 6px 9px!important}
body.hard-reference-phone .hard-route-chip span{font-size:10.5px!important}
body.hard-reference-phone .hard-route-chip b,body.hard-reference-phone .hard-route-chip small{font-size:6.2px!important}
body.hard-reference-phone .hard-ref-board-host .tabletop-board{height:64svh!important;min-height:540px!important}
body.hard-reference-phone .hard-ref-info-rail{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(235px,78%)!important;grid-template-columns:none!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding-bottom:2px}
body.hard-reference-phone .hard-ref-info-rail .hard-ref-card{scroll-snap-align:start;min-height:170px}
body.hard-reference-phone .hard-ref-info-rail .hard-ref-card.hero{grid-column:auto!important}
body.hard-reference-phone .hard-ref-card .rows{max-height:135px;overflow:auto}
body.hard-reference-phone .hard-ref-city-strip .strip-track{grid-auto-columns:minmax(118px,42%)!important}
body.hard-reference-phone .hard-ref-bottom-nav button b{font-size:5.5px!important}

/* Tablet: use the reference dashboard's map + right-side information balance. */
body.hard-reference-tablet .hard-ref-top-chrome{grid-template-columns:220px minmax(0,1fr) auto}
body.hard-reference-tablet .hard-ref-main{grid-template-columns:minmax(0,1fr) 318px!important;gap:10px!important}
body.hard-reference-tablet .hard-ref-info-rail{max-height:74svh;overflow:auto;align-content:start}
body.hard-reference-tablet .hard-ref-board-host .tabletop-board{height:74svh!important;min-height:760px!important}
body.hard-reference-tablet .hard-ref-city-strip .strip-track{grid-auto-columns:minmax(150px,1fr)!important}

/* Premium physical board-game vehicle pieces. */
.ride-render.token-3d.board-game-piece{--piece-yaw:-3deg;--piece-pitch:8deg;transform-style:preserve-3d!important;perspective:420px!important}
.ride-render.token-3d.board-game-piece .piece-chassis{position:absolute;left:14%;right:10%;bottom:17%;height:22%;z-index:3;border-radius:45% 48% 28% 26%;background:linear-gradient(180deg,rgba(53,48,39,.95),rgba(12,14,13,.98));box-shadow:0 5px 0 rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.08);transform:perspective(300px) rotateX(62deg);pointer-events:none}
.ride-render.token-3d.board-game-piece .piece-clearcoat{position:absolute;left:17%;right:15%;top:13%;height:43%;z-index:9;border-radius:50%;background:linear-gradient(115deg,rgba(255,255,255,.0) 16%,rgba(255,255,255,.22) 32%,rgba(255,255,255,.035) 44%,rgba(255,255,255,0) 62%);mix-blend-mode:screen;opacity:.55;transform:rotate(-6deg);pointer-events:none}
.ride-render.token-3d.board-game-piece .piece-contact-shadow{position:absolute;left:16%;right:12%;bottom:12%;height:8%;z-index:5;border-radius:50%;background:rgba(0,0,0,.44);filter:blur(2px);pointer-events:none}
.ride-render.token-3d.board-game-piece .piece-wheel{transform-style:preserve-3d!important;filter:drop-shadow(0 3px 2px rgba(0,0,0,.55))}
.ride-render.token-3d.board-game-piece .piece-tire-wall{position:absolute;inset:-8%;border-radius:50%;border:2px solid #080909;box-shadow:inset 0 0 0 2px #2a2b28,inset 0 0 0 4px #090a09;z-index:0}
.ride-render.token-3d.board-game-piece .piece-wheel-core{z-index:2!important}
.board-moving-piece .ride-render.token-3d.board-game-piece .piece-chassis{animation:pieceSuspensionPulse var(--wheel-spin,.22s) ease-in-out infinite alternate}
.board-moving-piece[data-movement-mode="hydraulic"] .ride-render.token-3d.board-game-piece .piece-chassis{animation:pieceHydraulicSuspension .18s ease-in-out infinite alternate}
.board-moving-piece[data-movement-mode="heavy"] .ride-render.token-3d.board-game-piece .piece-chassis,
.board-moving-piece[data-movement-mode="weightshift"] .ride-render.token-3d.board-game-piece .piece-chassis{animation-duration:.34s}
.board-moving-piece[data-movement-mode="launch"] .ride-render.token-3d.board-game-piece .piece-clearcoat,
.board-moving-piece[data-movement-mode="interceptor"] .ride-render.token-3d.board-game-piece .piece-clearcoat{opacity:.75;animation:pieceSpecularSweep .42s linear infinite}
@keyframes pieceSuspensionPulse{from{transform:perspective(300px) rotateX(62deg) translateY(0)}to{transform:perspective(300px) rotateX(62deg) translateY(2px)}}
@keyframes pieceHydraulicSuspension{from{transform:perspective(300px) rotateX(62deg) translateY(3px) rotateZ(-2deg)}to{transform:perspective(300px) rotateX(62deg) translateY(-3px) rotateZ(2deg)}}
@keyframes pieceSpecularSweep{0%{transform:translateX(-8%) rotate(-6deg);opacity:.28}50%{opacity:.78}100%{transform:translateX(8%) rotate(-6deg);opacity:.28}}
body.perf-lite .ride-render.token-3d.board-game-piece .piece-clearcoat{opacity:.28;mix-blend-mode:normal}
body.perf-lite .ride-render.token-3d.board-game-piece .piece-contact-shadow{filter:none}


/* ===== v4.2.5b full desktop/tablet reference pass ===== */
@media (min-width: 1101px){
  body.reference-graphic-layout .app-shell{max-width:1680px;padding-left:16px;padding-right:16px}
  body.reference-graphic-layout .topbar{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;align-items:end!important;gap:18px!important;padding:10px 4px 10px!important}
  body.reference-graphic-layout .brand-title{font-size:56px!important}
  body.reference-graphic-layout .brand-subtitle{font-size:18px!important;letter-spacing:.34em!important}
  body.reference-graphic-layout .edition-line{font-size:11px!important;max-width:none!important;color:#66d9ca!important}
  body.reference-graphic-layout .top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;max-width:none!important}
  body.reference-graphic-layout #installAppBtn{display:none!important}
  body.reference-graphic-layout .top-actions .party-badge,
  body.reference-graphic-layout .top-actions .radio-top-btn,
  body.reference-graphic-layout .top-actions .shop-top-btn,
  body.reference-graphic-layout .top-actions .icon-btn,
  body.reference-graphic-layout .reference-top-btn{min-width:120px!important;min-height:54px!important;border-radius:12px!important;padding:0 14px!important;font:900 14px/1 Arial,sans-serif!important;letter-spacing:.08em!important;position:relative;overflow:hidden}
  body.reference-graphic-layout .top-actions .icon-btn{min-width:62px!important;padding:0!important;font-size:24px!important}
  body.reference-graphic-layout .reference-top-extras{display:flex;align-items:center;gap:8px}
  body.reference-graphic-layout .reference-top-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#141512,#090b0b);border:1px solid rgba(214,175,93,.32);box-shadow:0 8px 16px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.04);color:#f0d79c}
  body.reference-graphic-layout .reference-top-btn span{font-size:18px}
  body.reference-graphic-layout .reference-top-btn.menu span{font-size:20px}
  body.reference-graphic-layout .ref-top-dot{position:absolute;right:6px;top:5px;min-width:20px;height:20px;border-radius:999px;background:#ad2a20;color:#fff;display:flex;align-items:center;justify-content:center;font:900 11px/1 Arial,sans-serif;opacity:0;transform:scale(.7);transition:.2s ease}
  body.reference-graphic-layout .ref-top-dot.awards{background:#9b6d11}
  body.reference-graphic-layout .ref-top-dot.active{opacity:1;transform:scale(1)}
  body.reference-graphic-layout .hud{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin:10px 0 14px!important}
  body.reference-graphic-layout .hud .stat{min-height:66px!important;padding:10px 14px!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(15,17,17,.94),rgba(8,10,10,.98))!important;border:1px solid rgba(214,175,93,.24)!important;box-shadow:0 10px 20px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.03)!important}
  body.reference-graphic-layout .hud .stat span{font-size:12px!important;letter-spacing:.18em!important;color:#a9ab9b!important}
  body.reference-graphic-layout .hud .stat strong{font-size:21px!important}
  body.reference-graphic-layout .hud .stat:nth-child(5){min-height:66px!important}
  body.reference-graphic-layout .hud .stat:nth-child(5) span{font-size:12px!important}
  body.reference-graphic-layout .hud .stat:nth-child(5) strong{font-size:21px!important}

  body.reference-graphic-layout #boardStage.board-stage{grid-template-columns:164px minmax(0,1fr) 440px!important;grid-template-areas:"left head right" "left routes right" "left board right" "left carousel right" "left tray right"!important;gap:12px!important;padding:8px 4px 4px!important}
  body.reference-graphic-layout .route-legend-panel{padding:12px 12px 14px!important;border-radius:14px!important}
  body.reference-graphic-layout .legend-group{margin-top:14px!important}
  body.reference-graphic-layout .legend-note{margin-top:16px!important;padding-top:12px!important}
  body.reference-graphic-layout .legend-tutorial-card{margin-top:12px;padding:10px;border-radius:12px;border:1px solid rgba(104,193,183,.24);background:linear-gradient(180deg,rgba(20,28,27,.96),rgba(10,14,14,.98));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
  body.reference-graphic-layout .legend-tutorial-card.dismissed{display:none!important}
  body.reference-graphic-layout .legend-tutorial-kicker{display:block;color:#57c9bf;font:900 10px/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
  body.reference-graphic-layout .legend-tutorial-card strong{display:block;color:#f3e3b6;font:900 18px/1.1 Georgia,serif}
  body.reference-graphic-layout .legend-tutorial-card p{margin:8px 0 10px;color:#c9c09b;font:700 11px/1.45 Arial,sans-serif}
  body.reference-graphic-layout .legend-tutorial-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
  body.reference-graphic-layout .legend-tutorial-meta span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(214,175,93,.14);color:#e4dab6;font:800 10px/1 Arial,sans-serif}
  body.reference-graphic-layout .legend-tutorial-btn{width:100%;min-height:38px;border-radius:10px;border:1px solid rgba(148,202,113,.35);background:linear-gradient(180deg,#1c5136,#112a1f);color:#eff7ee;font:900 12px/1 Arial,sans-serif;letter-spacing:.08em;cursor:pointer}

  body.reference-graphic-layout #boardStage .board-stage-head{padding:8px 12px 8px!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(12,14,14,.96),rgba(10,11,11,.86))!important}
  body.reference-graphic-layout #boardStage .board-stage-head strong{font-size:22px!important}
  body.reference-graphic-layout #boardStage .world-clock-chip strong{font-size:16px!important}
  body.reference-graphic-layout #boardStage .route-panel{padding:8px 10px 10px!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(12,14,14,.96),rgba(18,17,14,.98))!important}
  body.reference-graphic-layout #boardStage .route-tab{min-height:62px!important;border-radius:11px!important;padding:6px 8px!important}
  body.reference-graphic-layout #boardStage .route-tab .route-name{font-size:16px!important}
  body.reference-graphic-layout #boardStage .route-tab small{display:block!important;font-size:10px!important;letter-spacing:.12em!important}
  body.reference-graphic-layout #boardStage .route-tab em,body.reference-graphic-layout #boardStage .route-tab i{font-size:9px!important}
  body.reference-graphic-layout #boardStage .route-meter{display:flex!important;margin-top:6px!important}

  body.reference-graphic-layout #boardStage .tabletop-board{height:64vh!important;min-height:640px!important;max-height:780px!important;border-radius:16px!important;background:#05100f!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:160%!important;min-width:1220px!important}
  body.reference-graphic-layout #boardStage .camera-hud{top:14px!important;max-width:54%!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node{width:9.6%!important;min-height:46px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node b{font-size:9px!important;max-width:80%!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node small{font-size:7px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node{min-height:82px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .vehicle-pawn .pawn-render{width:118px!important;height:78px!important}

  body.reference-graphic-layout .dashboard-aside{gap:10px!important}
  body.reference-graphic-layout .achievement-card{min-height:248px!important;padding:14px!important;background:radial-gradient(circle at 80% 18%,rgba(235,169,58,.38),transparent 32%),radial-gradient(circle at 15% 18%,rgba(94,199,241,.16),transparent 28%),linear-gradient(135deg,rgba(29,18,6,.98),rgba(6,8,8,.98))!important}
  body.reference-graphic-layout .achievement-card .dash-main{font-size:48px!important;line-height:.9!important}
  body.reference-graphic-layout .dashboard-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  body.reference-graphic-layout .dashboard-card{padding:12px!important;border-radius:14px!important}
  body.reference-graphic-layout .dashboard-card h3{font-size:14px!important}
  body.reference-graphic-layout .dashboard-photo{position:relative;height:118px;border-radius:10px;overflow:hidden;margin-bottom:10px;background:linear-gradient(180deg,#4b6572,#1a1d1d)}
  body.reference-graphic-layout .dashboard-photo img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s ease}
  body.reference-graphic-layout .dashboard-photo.photo-loaded img,
  body.reference-graphic-layout [data-city-photo-card].photo-loaded.dashboard-photo img{opacity:1}
  body.reference-graphic-layout .dashboard-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.5));pointer-events:none}
  body.reference-graphic-layout .dashboard-photo-label{position:absolute;left:8px;bottom:8px;padding:4px 8px;border-radius:999px;background:rgba(5,8,8,.72);border:1px solid rgba(214,175,93,.22);color:#efe3bc;font:900 10px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}

  body.reference-graphic-layout .city-carousel{padding:10px!important;border-radius:14px!important}
  body.reference-graphic-layout .city-carousel-track{grid-auto-columns:minmax(152px,1fr)!important;gap:10px!important}
  body.reference-graphic-layout .city-carousel-card{min-height:148px!important;padding:10px!important;border-radius:12px!important;background:linear-gradient(180deg,rgba(36,42,44,.35),rgba(9,11,11,.92)),var(--city-card-bg)!important}
  body.reference-graphic-layout .city-carousel-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease}
  body.reference-graphic-layout .city-carousel-card.photo-loaded img{opacity:1}
  body.reference-graphic-layout .city-carousel-card .card-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.62));z-index:1}
  body.reference-graphic-layout .city-carousel-card>.card-icon,
  body.reference-graphic-layout .city-carousel-card>strong,
  body.reference-graphic-layout .city-carousel-card>small{position:relative;z-index:2}
  body.reference-graphic-layout .city-carousel-card strong{margin-top:76px!important;font-size:18px!important}
  body.reference-graphic-layout .city-carousel-card small{font-size:10px!important;color:#e2dbc8!important}
  body.reference-graphic-layout .city-carousel-card .card-icon{font-size:24px!important}

  body.reference-graphic-layout #boardStage .tabletop-tray{grid-area:tray!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;padding:10px!important;border-radius:14px!important}
  body.reference-graphic-layout #boardStage .table-piece{min-height:104px!important}
  body.reference-graphic-layout #boardStage .table-piece strong{font-size:17px!important}
  body.reference-graphic-layout #boardStage .table-piece small{font-size:10px!important}
}


/* ===== v4.2.5b graphical North American board + screenshot-match telemetry ===== */
.graphical-world-board.north-america-map-mode .graphical-world-layer{
  background-position:center!important;background-size:100% 100%!important;transform:none!important;
  filter:saturate(1.02) contrast(1.08) brightness(.78)!important;
}
.graphical-world-board.north-america-map-mode .terrain-world{opacity:.06!important}
.graphical-world-board.north-america-map-mode .living-biome-layer{opacity:.22!important}
.graphical-world-board.north-america-map-mode .roadside-landmark-layer{opacity:.72!important}
.graphical-world-board.north-america-map-mode .country{position:absolute!important;transform:translate(-50%,-50%) rotate(-4deg)!important;font-size:7px!important;letter-spacing:.34em!important;color:rgba(234,218,176,.5)!important;text-shadow:0 1px 2px #000!important}
.graphical-world-board.north-america-map-mode .corridor-stamp{opacity:.34!important}
.living-roads .route-ghost{fill:none;stroke-width:.36;opacity:.28;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.55 .38;vector-effect:non-scaling-stroke}
.living-roads .route-ghost.active{stroke-width:.55;opacity:.54}
.living-roads .route-ghost-west{stroke:#55d6f2}.living-roads .route-ghost-central{stroke:#e5bb57}.living-roads .route-ghost-east{stroke:#72d49b}
.living-roads .route-ghost-city{fill:#151b1a;stroke-width:.22;opacity:.5;vector-effect:non-scaling-stroke}.living-roads .route-ghost-city.active{opacity:.82}
.living-roads .route-ghost-city-west{stroke:#55d6f2}.living-roads .route-ghost-city-central{stroke:#e5bb57}.living-roads .route-ghost-city-east{stroke:#72d49b}
.living-roads .geographic-border-line{fill:none!important;stroke:#ded7c3!important;stroke-width:.56!important;stroke-dasharray:1.2 .74!important;opacity:.9!important;filter:drop-shadow(0 0 2px rgba(255,255,255,.18))!important}

@media (min-width:1101px){
  body.reference-graphic-layout .topbar{grid-template-columns:300px minmax(540px,1fr) auto!important;align-items:center!important}
  body.reference-graphic-layout .brand-title{font-size:44px!important}
  body.reference-graphic-layout .brand-subtitle{font-size:12px!important}
  body.reference-graphic-layout .eyebrow{font-size:8px!important}
  body.reference-graphic-layout .edition-line{display:none!important}
  body.reference-graphic-layout .desktop-reference-telemetry{display:grid;grid-template-columns:1.02fr 1.55fr 1.18fr .85fr;gap:8px;min-width:0}
  body.reference-graphic-layout .telemetry-cell{min-height:52px;padding:8px 12px;border:1px solid rgba(214,175,93,.24);border-radius:8px;background:linear-gradient(180deg,rgba(12,15,15,.96),rgba(7,9,9,.99));display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 7px 14px rgba(0,0,0,.24)}
  body.reference-graphic-layout .telemetry-cell span{font:900 11px/1 Arial,sans-serif;letter-spacing:.14em;color:#d8ceb0}
  body.reference-graphic-layout .telemetry-cell b{font:900 16px/1 Arial,sans-serif;color:#f1dfad;white-space:nowrap}
  body.reference-graphic-layout .telemetry-cell.heat b{color:#ec7856;letter-spacing:.02em;font-size:14px}
  body.reference-graphic-layout .telemetry-cell.cash b{color:#96cf6c}
  body.reference-graphic-layout .telemetry-cell.cargo b{color:#e06f50}
  body.reference-graphic-layout>.app-shell>.hud{display:none!important}
  body.reference-graphic-layout .top-actions>.party-badge,
  body.reference-graphic-layout .top-actions>.radio-top-btn,
  body.reference-graphic-layout .top-actions>.shop-top-btn,
  body.reference-graphic-layout .top-actions>.icon-btn{display:none!important}
  body.reference-graphic-layout .reference-top-extras{gap:6px!important}
  body.reference-graphic-layout .reference-top-btn{min-width:118px!important;min-height:50px!important;border-radius:8px!important;font-size:12px!important}
  body.reference-graphic-layout .reference-top-btn.menu{min-width:96px!important}

  body.reference-graphic-layout #boardStage.board-stage{grid-template-columns:168px minmax(0,1fr) 456px!important;grid-template-areas:"left head right" "left board right" "left carousel right" "left tray right"!important}
  body.reference-graphic-layout #boardStage>.route-panel{display:none!important}
  body.reference-graphic-layout #boardStage .tabletop-board{height:70vh!important;min-height:680px!important;max-height:820px!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:100%!important;min-width:100%!important;min-height:100%!important}
  body.reference-graphic-layout #boardStage .board-stage-head{min-height:48px!important;padding:5px 10px!important}
  body.reference-graphic-layout #boardStage .board-stage-head>div:first-child strong{font-size:15px!important}
  body.reference-graphic-layout #boardStage .board-stage-legend{display:none!important}
  body.reference-graphic-layout #boardStage .board-zoom-hint{min-width:100px!important}
  body.reference-graphic-layout #boardStage .world-clock-chip{display:none!important}

  body.reference-graphic-layout .achievement-card{min-height:320px!important;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px!important;background:radial-gradient(circle at 50% 48%,rgba(228,157,46,.36),transparent 35%),radial-gradient(circle at 18% 15%,rgba(76,203,238,.13),transparent 25%),linear-gradient(145deg,#261705,#080b0b 72%)!important}
  body.reference-graphic-layout .achievement-card:before{content:"☠";display:grid;place-items:center;width:84px;height:84px;margin-bottom:8px;border-radius:50%;font-size:52px;color:#d9ad54;background:radial-gradient(circle at 40% 35%,#27231a,#080909 64%);border:3px solid #7b632e;box-shadow:0 0 0 4px rgba(218,174,81,.08),0 12px 20px rgba(0,0,0,.45)}
  body.reference-graphic-layout .achievement-confetti{position:absolute;inset:8px 10px auto;color:#e6b958;font-size:17px;letter-spacing:.55em;opacity:.78}
  body.reference-graphic-layout .achievement-unlocked{display:block;color:#e3b65b;font:900 13px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
  body.reference-graphic-layout .achievement-card .dash-main{font-size:38px!important;margin-top:6px!important}
  body.reference-graphic-layout .achievement-card .dash-sub{font-size:11px!important;max-width:330px;margin:4px auto 12px}
  body.reference-graphic-layout .achievement-reward-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin:8px 0}
  body.reference-graphic-layout .achievement-reward-row div{padding:8px 6px;border:1px solid rgba(214,175,93,.14);border-radius:8px;background:rgba(0,0,0,.18)}
  body.reference-graphic-layout .achievement-reward-row span{display:block;color:#9b9d86;font:800 8px/1 Arial,sans-serif;letter-spacing:.12em}
  body.reference-graphic-layout .achievement-reward-row strong{display:block;margin-top:4px;color:#d9bf77;font:900 11px/1 Arial,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.reference-graphic-layout .achievement-view-btn{margin-top:6px!important;min-width:190px!important}
  body.reference-graphic-layout .dashboard-grid{grid-template-columns:1.2fr 1fr!important}
  body.reference-graphic-layout .dashboard-card{min-height:150px!important}
  body.reference-graphic-layout #cityDashboardPanel{grid-row:span 2}
  body.reference-graphic-layout #buyerDashboardPanel{grid-row:span 2}
  body.reference-graphic-layout #driveThroughDashboardPanel{display:none!important}
}

@media (min-width:768px) and (max-width:1100px){
  body.hard-reference-tablet #boardStage .board.living-map{width:100%!important;min-width:100%!important}
  body.hard-reference-tablet .hard-ref-board-host .tabletop-board{min-height:700px!important}
}


/* ============================================================
   BORDER RUN v4.2.5b — LANDSCAPE REFERENCE ONLY
   Portrait mode disabled. Landscape phones/tablets use the
   desktop/tablet reference dashboard instead of the compact UI.
   ============================================================ */
.landscape-only-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(24,46,45,.38),transparent 38%),linear-gradient(180deg,#050707,#0a0d0e);z-index:9999}
body.portrait-blocked .landscape-only-overlay{display:flex}
body.portrait-blocked .app-shell{display:none!important}
.landscape-only-panel{width:min(92vw,420px);padding:24px 22px;border-radius:22px;border:1px solid rgba(214,175,93,.28);background:linear-gradient(180deg,rgba(13,16,16,.98),rgba(7,9,9,.99));box-shadow:0 20px 44px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,255,255,.03);text-align:center;color:#efe4bc}
.rotate-device-glyph{width:84px;height:84px;margin:0 auto 12px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(92,214,201,.28);background:radial-gradient(circle at 30% 25%,rgba(79,212,201,.18),transparent 45%),rgba(7,13,13,.92);font-size:38px;color:#57d6c9}
.landscape-only-panel strong{display:block;font:900 28px/1 Georgia,serif;letter-spacing:.02em;color:#f0dfaf}
.landscape-only-panel p{margin:10px 0 8px;font:700 15px/1.45 Arial,sans-serif;color:#bfc4b8}
.landscape-only-panel small{display:block;font:800 11px/1.4 Arial,sans-serif;color:#63d7cb;letter-spacing:.12em;text-transform:uppercase}

@media (orientation:landscape) and (max-width:1100px){
  body.reference-graphic-layout .app-shell{max-width:none!important;padding:6px 8px 12px!important}
  body.reference-graphic-layout .topbar{grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:10px!important;padding:8px 2px!important}
  body.reference-graphic-layout .brand-block{gap:2px!important}
  body.reference-graphic-layout .brand-title{font-size:42px!important;line-height:.92!important}
  body.reference-graphic-layout .brand-subtitle{font-size:13px!important;letter-spacing:.24em!important}
  body.reference-graphic-layout .edition-line{font-size:9px!important;max-width:none!important}
  body.reference-graphic-layout .top-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important;justify-content:flex-end!important;max-width:none!important}
  body.reference-graphic-layout .top-actions .party-badge,
  body.reference-graphic-layout .top-actions .radio-top-btn,
  body.reference-graphic-layout .top-actions .shop-top-btn,
  body.reference-graphic-layout .top-actions .icon-btn,
  body.reference-graphic-layout .reference-top-btn{min-width:92px!important;min-height:46px!important;padding:0 10px!important;font-size:11px!important;border-radius:11px!important}
  body.reference-graphic-layout .top-actions .icon-btn{min-width:50px!important;font-size:20px!important;padding:0!important}
  body.reference-graphic-layout .reference-top-btn span{font-size:15px!important}
  body.reference-graphic-layout .hud{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;margin:8px 0 10px!important}
  body.reference-graphic-layout .hud .stat{min-height:54px!important;padding:8px 10px!important;border-radius:12px!important}
  body.reference-graphic-layout .hud .stat span{font-size:9px!important;letter-spacing:.12em!important}
  body.reference-graphic-layout .hud .stat strong{font-size:16px!important}
  body.reference-graphic-layout #boardStage.board-stage{display:grid!important;grid-template-columns:128px minmax(0,1fr) 304px!important;grid-template-areas:"left head right" "left routes right" "left board right" "left carousel right" "left tray right"!important;gap:8px!important;align-items:start!important;padding:6px 2px 8px!important;overflow:hidden!important}
  body.reference-graphic-layout .route-legend-panel{display:block!important;padding:10px 10px 12px!important;border-radius:12px!important}
  body.reference-graphic-layout .legend-group{margin-top:10px!important}
  body.reference-graphic-layout .legend-item{font-size:10px!important}
  body.reference-graphic-layout .legend-tutorial-card{display:none!important}
  body.reference-graphic-layout #boardStage .board-stage-head{display:flex!important;padding:8px 10px!important;border-radius:12px!important;gap:8px!important}
  body.reference-graphic-layout #boardStage .board-stage-head strong{font-size:20px!important}
  body.reference-graphic-layout #boardStage .board-stage-head small{font-size:10px!important}
  body.reference-graphic-layout #boardStage .route-panel{display:grid!important;padding:8px!important;border-radius:12px!important}
  body.reference-graphic-layout #boardStage .route-tabs{gap:6px!important}
  body.reference-graphic-layout #boardStage .route-tab{min-height:52px!important;padding:5px 8px!important;border-radius:10px!important}
  body.reference-graphic-layout #boardStage .route-tab .route-name{font-size:14px!important}
  body.reference-graphic-layout #boardStage .route-tab small{font-size:8px!important;letter-spacing:.08em!important}
  body.reference-graphic-layout #boardStage .tabletop-board{height:52vh!important;min-height:330px!important;max-height:420px!important;border-radius:14px!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:138%!important;min-width:940px!important}
  body.reference-graphic-layout #boardStage .camera-hud{top:10px!important;left:10px!important;max-width:56%!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node{width:9.4%!important;min-height:40px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node b{font-size:8px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.travel-space-node small{font-size:6px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.core-city-node,
  body.reference-graphic-layout #boardStage .graphical-world-board .map-node.buy-node{min-height:66px!important}
  body.reference-graphic-layout #boardStage .graphical-world-board .vehicle-pawn .pawn-render{width:92px!important;height:60px!important}
  body.reference-graphic-layout .dashboard-aside{display:grid!important;gap:8px!important}
  body.reference-graphic-layout .achievement-card{min-height:190px!important;padding:10px!important}
  body.reference-graphic-layout .achievement-card .dash-main{font-size:34px!important}
  body.reference-graphic-layout .dashboard-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.reference-graphic-layout .dashboard-card{padding:10px!important;border-radius:12px!important}
  body.reference-graphic-layout .dashboard-card h3{font-size:12px!important}
  body.reference-graphic-layout .dashboard-card .dash-market-row{font-size:10px!important}
  body.reference-graphic-layout .city-carousel{display:grid!important;padding:8px!important;border-radius:12px!important}
  body.reference-graphic-layout .city-carousel-track{grid-auto-columns:minmax(126px,1fr)!important;gap:8px!important}
  body.reference-graphic-layout .city-carousel-card{min-height:118px!important;padding:8px!important;border-radius:10px!important}
  body.reference-graphic-layout .city-carousel-card strong{margin-top:58px!important;font-size:14px!important}
  body.reference-graphic-layout .city-carousel-card small{font-size:8px!important}
  body.reference-graphic-layout #boardStage .tabletop-tray{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;padding:8px!important;border-radius:12px!important}
  body.reference-graphic-layout #boardStage .table-piece{min-height:82px!important;padding:8px 6px!important}
  body.reference-graphic-layout #boardStage .table-piece strong{font-size:13px!important}
  body.reference-graphic-layout #boardStage .table-piece small{font-size:8px!important}
  body.reference-graphic-layout #actionPanel.action-panel{margin-top:8px!important}
}

@media (orientation:landscape) and (max-width:900px){
  body.reference-graphic-layout #boardStage.board-stage{grid-template-columns:112px minmax(0,1fr) 268px!important;gap:6px!important}
  body.reference-graphic-layout .brand-title{font-size:36px!important}
  body.reference-graphic-layout .top-actions .party-badge,
  body.reference-graphic-layout .top-actions .radio-top-btn,
  body.reference-graphic-layout .top-actions .shop-top-btn,
  body.reference-graphic-layout .top-actions .icon-btn,
  body.reference-graphic-layout .reference-top-btn{min-width:82px!important;min-height:42px!important;font-size:10px!important}
  body.reference-graphic-layout .hud .stat strong{font-size:14px!important}
  body.reference-graphic-layout #boardStage .tabletop-board{height:48vh!important;min-height:300px!important;max-height:370px!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:148%!important;min-width:900px!important}
  body.reference-graphic-layout .achievement-card{min-height:168px!important}
  body.reference-graphic-layout .dashboard-grid{grid-template-columns:1fr!important}
  body.reference-graphic-layout .city-carousel-track{grid-auto-columns:minmax(118px,1fr)!important}
}


/* ============================================================
   BORDER RUN v4.2.5b — FINAL REFERENCE SCREENSHOT MATCH
   Landscape composition mirrors the approved reference: map +
   legend + right four-card dashboard + bottom system/photo strip.
   ============================================================ */
@media (orientation:landscape) and (min-width:1101px){
  body.reference-graphic-layout{background:#050707!important}
  body.reference-graphic-layout .app-shell{max-width:1720px!important;padding:6px 8px 8px!important;background:linear-gradient(180deg,#070a0a,#050707)!important}
  body.reference-graphic-layout .topbar{grid-template-columns:305px minmax(560px,1fr) 430px!important;gap:10px!important;padding:5px 4px 7px!important;border-bottom:0!important}
  body.reference-graphic-layout .brand-title:after{content:" ★★★";font:900 17px/1 Arial,sans-serif;color:#bd8b30;vertical-align:top;letter-spacing:.16em}
  body.reference-graphic-layout .street-ribbon{display:none!important}
  body.reference-graphic-layout #boardStage.board-stage{
    grid-template-columns:160px minmax(640px,1fr) minmax(590px,690px)!important;
    grid-template-areas:"left board right" "bottomnav bottomcarousel bottomcarousel"!important;
    grid-template-rows:minmax(0,1fr) 150px!important;
    gap:8px!important;padding:0!important;overflow:hidden!important;align-items:stretch!important;
  }
  body.reference-graphic-layout #boardStage>.board-stage-head,
  body.reference-graphic-layout #boardStage>.route-panel,
  body.reference-graphic-layout #boardStage>.tabletop-tray,
  body.reference-graphic-layout #boardStage>.upgrade-strip{display:none!important}
  body.reference-graphic-layout .route-legend-panel{grid-area:left!important;align-self:stretch!important;height:100%!important;border-radius:8px!important;padding:12px 10px!important;background:linear-gradient(180deg,rgba(7,12,13,.98),rgba(9,12,12,.99))!important}
  body.reference-graphic-layout .legend-tutorial-card{display:block!important;margin-top:auto!important}
  body.reference-graphic-layout #boardStage .board-wrap{grid-area:board!important;height:100%!important;min-width:0!important}
  body.reference-graphic-layout #boardStage .tabletop-board{height:100%!important;min-height:650px!important;max-height:none!important;border-radius:8px!important;border:1px solid rgba(214,175,93,.18)!important;box-shadow:inset 0 0 0 1px rgba(82,216,205,.06)!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:100%!important;min-width:100%!important;height:100%!important;min-height:100%!important}
  body.reference-graphic-layout #boardStage .camera-hud{display:none!important}
  body.reference-graphic-layout .dashboard-aside{grid-area:right!important;height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(300px,46%) minmax(0,54%)!important;gap:8px!important;overflow:hidden!important}
  body.reference-graphic-layout .achievement-card{min-height:0!important;height:100%!important;padding:12px!important;border-radius:8px!important}
  body.reference-graphic-layout .achievement-card:before{display:none!important}
  body.reference-graphic-layout .achievement-unlocked{font-size:18px!important;color:#e2ad47!important;letter-spacing:.12em!important}
  body.reference-graphic-layout .achievement-card .dash-main{font-size:43px!important;line-height:.88!important;color:#e0a846!important;text-shadow:0 2px 0 #000,0 0 16px rgba(226,169,70,.2)!important}
  body.reference-graphic-layout .achievement-hero-art{position:relative;width:240px;height:115px;margin:5px auto 3px}
  body.reference-graphic-layout .achievement-hero-art .legend-skull{position:absolute;left:88px;top:20px;font-style:normal;font-size:78px;line-height:1;color:#c09a52;text-shadow:0 6px 7px #000;z-index:4}
  body.reference-graphic-layout .achievement-hero-art .legend-crown{position:absolute;left:104px;top:-6px;font-style:normal;font-size:48px;color:#e2b74e;z-index:5;text-shadow:0 3px 4px #000}
  body.reference-graphic-layout .achievement-hero-art .legend-car{position:absolute;right:7px;bottom:7px;font-style:normal;width:90px;height:32px;border-radius:7px;background:linear-gradient(180deg,#b5893f,#503417);color:#e4c16c;display:grid;place-items:center;font-size:24px;transform:skewX(-10deg);box-shadow:0 5px 8px #000}
  body.reference-graphic-layout .achievement-hero-art .legend-firework{position:absolute;width:70px;height:70px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(231,172,68,.9) 0 2deg,transparent 2deg 17deg);filter:drop-shadow(0 0 5px rgba(232,169,61,.55));opacity:.75}
  body.reference-graphic-layout .achievement-hero-art .legend-firework.one{left:15px;top:10px}
  body.reference-graphic-layout .achievement-hero-art .legend-firework.two{right:12px;top:3px;transform:scale(.82)}
  body.reference-graphic-layout .achievement-card .dash-sub{font-size:13px!important;letter-spacing:.07em!important;line-height:1.35!important;color:#c9bd97!important}
  body.reference-graphic-layout .achievement-reward-row{margin:7px 0 5px!important}
  body.reference-graphic-layout .achievement-reward-row div{padding:7px 4px!important}
  body.reference-graphic-layout .achievement-reward-row span{font-size:8px!important}
  body.reference-graphic-layout .achievement-reward-row strong{font-size:12px!important}
  body.reference-graphic-layout .achievement-view-btn{min-width:200px!important;padding:9px 12px!important}
  body.reference-graphic-layout .dashboard-grid{height:100%!important;display:grid!important;grid-template-columns:1.32fr 1.16fr .82fr .94fr!important;gap:7px!important;overflow:hidden!important}
  body.reference-graphic-layout #driveThroughDashboardPanel,
  body.reference-graphic-layout #roadIntelDashboardPanel{display:none!important}
  body.reference-graphic-layout #cityDashboardPanel,
  body.reference-graphic-layout #buyerDashboardPanel,
  body.reference-graphic-layout #hustleDashboardPanel,
  body.reference-graphic-layout #favorDashboardPanel{grid-row:auto!important;min-width:0!important;min-height:0!important;height:100%!important;padding:9px!important;border-radius:8px!important;overflow:hidden!important}
  body.reference-graphic-layout .dashboard-card h3{font-size:15px!important;letter-spacing:.09em!important;margin-bottom:5px!important}
  body.reference-graphic-layout .dashboard-card .dash-sub{font-size:10px!important;line-height:1.3!important}
  body.reference-graphic-layout .dashboard-photo{height:90px!important;margin:-2px -2px 6px!important;border-radius:6px!important}
  body.reference-graphic-layout .dash-market-list{gap:2px!important;margin-top:5px!important}
  body.reference-graphic-layout .dash-market-row{font-size:9px!important;padding:3px 0!important}
  body.reference-graphic-layout .buyer-dice-preview{height:92px;display:flex;align-items:center;justify-content:center;gap:11px;margin:4px 0 2px}
  body.reference-graphic-layout .ref-die{position:relative;width:66px;height:66px;border-radius:13px;background:linear-gradient(145deg,#d8d4c5,#8f8d84);border:1px solid #464641;box-shadow:inset 5px 5px 7px rgba(255,255,255,.35),inset -7px -7px 10px rgba(0,0,0,.18),0 8px 10px rgba(0,0,0,.5);display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);padding:10px;transform:rotate(-9deg)}
  body.reference-graphic-layout .ref-die.die-b{transform:rotate(12deg) translateY(3px)}
  body.reference-graphic-layout .ref-die b{display:block;font-size:0;position:relative}
  body.reference-graphic-layout .ref-die b:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:#222;box-shadow:inset 1px 1px 2px #000}
  body.reference-graphic-layout .possible-outcomes{margin-top:2px!important;color:#d9ad54!important}
  body.reference-graphic-layout .buyer-outcomes{margin-top:4px!important;border-radius:6px!important}
  body.reference-graphic-layout .buyer-outcomes div{grid-template-columns:38px 1fr!important;padding:4px 5px!important;font-size:9px!important}
  body.reference-graphic-layout .hustle-cash-line{margin:5px 0;padding:7px;border:1px solid rgba(83,193,112,.22);background:rgba(44,108,54,.13);color:#8fd064;font:900 14px/1 Arial,sans-serif}
  body.reference-graphic-layout .reference-hustle-list{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.06)}
  body.reference-graphic-layout .reference-hustle-list div{padding:8px 3px;border-bottom:1px solid rgba(255,255,255,.06);font:800 9px/1 Arial,sans-serif;color:#bdb8a0;letter-spacing:.04em}
  body.reference-graphic-layout .reference-hustle-list div.active{color:#a4d36d}
  body.reference-graphic-layout .favor-portrait{float:right;width:74px;height:95px;margin:0 -3px 4px 6px;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(100,92,70,.28),transparent 68%)}
  body.reference-graphic-layout .favor-portrait span{font-size:58px;color:#c7b487;filter:drop-shadow(0 4px 5px #000)}
  body.reference-graphic-layout .favor-stakes{clear:both;display:grid;gap:4px;margin:6px 0}
  body.reference-graphic-layout .favor-stakes div{display:flex;justify-content:space-between;gap:6px;font:800 9px/1 Arial,sans-serif}
  body.reference-graphic-layout .favor-stakes span{color:#9db269}
  body.reference-graphic-layout .favor-stakes b{color:#d86552}
  body.reference-graphic-layout .favor-actions{display:grid!important;grid-template-columns:1fr!important}
  body.reference-graphic-layout .favor-help{background:linear-gradient(180deg,#4d3570,#251b3a)!important;border-color:#7758a3!important}

  body.reference-graphic-layout .mobile-reference-nav{grid-area:bottomnav!important;display:grid!important;position:static!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;padding:8px!important;border-radius:8px!important;background:linear-gradient(180deg,#101311,#070909)!important;border:1px solid rgba(214,175,93,.18)!important;box-shadow:none!important}
  body.reference-graphic-layout .mobile-reference-nav button{min-height:126px!important;padding:9px 5px!important;border-radius:7px!important;border:1px solid rgba(214,175,93,.28)!important;background:linear-gradient(180deg,rgba(22,25,22,.98),rgba(7,9,9,.99))!important;color:#e9ddba!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important}
  body.reference-graphic-layout .mobile-reference-nav button span{font-size:42px!important;filter:sepia(.35) saturate(.7) drop-shadow(0 5px 5px #000)}
  body.reference-graphic-layout .mobile-reference-nav button b{font-size:11px!important;letter-spacing:.06em!important}
  body.reference-graphic-layout .city-carousel{grid-area:bottomcarousel!important;display:block!important;padding:8px!important;border-radius:8px!important;background:linear-gradient(180deg,#101311,#070909)!important}
  body.reference-graphic-layout .city-carousel-head{display:none!important}
  body.reference-graphic-layout .city-carousel-track{height:134px!important;grid-auto-columns:minmax(148px,1fr)!important;gap:7px!important}
  body.reference-graphic-layout .city-carousel-card{min-height:132px!important;height:132px!important;border-radius:7px!important}
  body.reference-graphic-layout .city-carousel-card strong{margin-top:76px!important;font-size:14px!important}
  body.reference-graphic-layout .city-carousel-card small{font-size:8px!important}
  body.reference-graphic-layout .city-carousel-card.active{outline:2px solid #d6a846!important;border-color:#d6a846!important}
}

@media (orientation:landscape) and (min-width:768px) and (max-width:1100px){
  body.reference-graphic-layout #boardStage.board-stage{
    grid-template-columns:116px minmax(420px,1fr) minmax(390px,470px)!important;
    grid-template-areas:"left board right" "bottomnav bottomcarousel bottomcarousel"!important;
    grid-template-rows:minmax(0,1fr) 118px!important;gap:6px!important;
  }
  body.reference-graphic-layout #boardStage>.board-stage-head,body.reference-graphic-layout #boardStage>.route-panel,body.reference-graphic-layout #boardStage>.tabletop-tray,body.reference-graphic-layout #boardStage>.upgrade-strip{display:none!important}
  body.reference-graphic-layout .route-legend-panel{display:block!important;grid-area:left!important;height:100%!important;padding:8px!important}
  body.reference-graphic-layout .legend-tutorial-card{display:none!important}
  body.reference-graphic-layout #boardStage .board-wrap{grid-area:board!important;height:100%!important}
  body.reference-graphic-layout #boardStage .tabletop-board{height:100%!important;min-height:360px!important;max-height:none!important}
  body.reference-graphic-layout #boardStage .board.living-map{width:100%!important;min-width:100%!important}
  body.reference-graphic-layout .dashboard-aside{grid-area:right!important;height:100%!important;display:grid!important;grid-template-rows:45% 55%!important;gap:6px!important;overflow:hidden!important}
  body.reference-graphic-layout .achievement-card{min-height:0!important;height:100%!important;padding:8px!important}
  body.reference-graphic-layout .achievement-card .dash-main{font-size:28px!important}
  body.reference-graphic-layout .achievement-hero-art{height:72px!important;width:170px!important}
  body.reference-graphic-layout .achievement-hero-art .legend-skull{font-size:48px!important;left:62px!important;top:16px!important}
  body.reference-graphic-layout .achievement-hero-art .legend-crown{font-size:31px!important;left:74px!important}
  body.reference-graphic-layout .achievement-hero-art .legend-car{width:62px!important;height:23px!important;font-size:16px!important}
  body.reference-graphic-layout .dashboard-grid{display:grid!important;grid-template-columns:1.2fr 1.1fr .85fr .9fr!important;gap:5px!important;overflow:hidden!important}
  body.reference-graphic-layout #driveThroughDashboardPanel,body.reference-graphic-layout #roadIntelDashboardPanel{display:none!important}
  body.reference-graphic-layout #cityDashboardPanel,body.reference-graphic-layout #buyerDashboardPanel,body.reference-graphic-layout #hustleDashboardPanel,body.reference-graphic-layout #favorDashboardPanel{min-height:0!important;height:100%!important;padding:6px!important;overflow:hidden!important}
  body.reference-graphic-layout .dashboard-photo{height:56px!important}
  body.reference-graphic-layout .buyer-dice-preview{height:54px!important}
  body.reference-graphic-layout .ref-die{width:40px!important;height:40px!important;padding:6px!important;border-radius:8px!important}
  body.reference-graphic-layout .ref-die b:after{width:5px!important;height:5px!important;margin:-2.5px!important}
  body.reference-graphic-layout .reference-hustle-list div{padding:4px 2px!important;font-size:7px!important}
  body.reference-graphic-layout .mobile-reference-nav{display:grid!important;grid-area:bottomnav!important;position:static!important;grid-template-columns:repeat(5,1fr)!important;padding:5px!important;gap:4px!important}
  body.reference-graphic-layout .mobile-reference-nav button{min-height:102px!important;padding:5px 2px!important;gap:7px!important}
  body.reference-graphic-layout .mobile-reference-nav button span{font-size:29px!important}
  body.reference-graphic-layout .mobile-reference-nav button b{font-size:8px!important}
  body.reference-graphic-layout .city-carousel{grid-area:bottomcarousel!important;display:block!important;padding:5px!important}
  body.reference-graphic-layout .city-carousel-head{display:none!important}
  body.reference-graphic-layout .city-carousel-track{height:108px!important;grid-auto-columns:minmax(112px,1fr)!important;gap:5px!important}
  body.reference-graphic-layout .city-carousel-card{height:106px!important;min-height:106px!important}
  body.reference-graphic-layout .city-carousel-card strong{margin-top:58px!important;font-size:11px!important}
}


/* ============================================================
   BORDER RUN v4.2.5b — TRUE LANDSCAPE REFERENCE RENDERER
   Dedicated live landscape screen using the approved screenshot
   as the layout blueprint. Old stage chrome is not the play UI.
   ============================================================ */
#landscapeReferenceShell{display:none}
body.landscape-reference-live{overflow:hidden!important;background:#050707!important}
body.landscape-reference-live .app-shell{width:100vw!important;max-width:none!important;height:100vh!important;min-height:100vh!important;margin:0!important;padding:max(4px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))!important;border-radius:0!important;overflow:hidden!important;background:#050707!important}
body.landscape-reference-live #landscapeReferenceShell{display:grid!important;height:100%!important;grid-template-rows:56px minmax(0,1fr) 154px;gap:6px}
body.landscape-reference-live .app-shell>.topbar,
body.landscape-reference-live .app-shell>.street-ribbon,
body.landscape-reference-live .app-shell>.hud,
body.landscape-reference-live .app-shell>#boardStage,
body.landscape-reference-live .app-shell>.opponent-card,
body.landscape-reference-live .app-shell>.location-card,
body.landscape-reference-live .app-shell>.secondary-systems{display:none!important}

body.landscape-reference-live .lr-topbar{display:grid;grid-template-columns:300px minmax(0,1fr) 420px;gap:8px;align-items:stretch}
body.landscape-reference-live .lr-brand{padding:5px 12px;border:1px solid rgba(214,175,93,.18);border-radius:8px;background:linear-gradient(180deg,#0b0d0d,#060808);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
body.landscape-reference-live .lr-brand strong{font:900 33px/.82 Georgia,serif;color:#eee0b8;letter-spacing:.03em;text-shadow:0 2px 0 #000,3px 4px 0 rgba(90,45,14,.65);white-space:nowrap}
body.landscape-reference-live .lr-brand span{font:900 10px/1 Arial,sans-serif;color:#d39535;letter-spacing:.33em;margin-top:6px}
body.landscape-reference-live .lr-telemetry{display:grid;grid-template-columns:1fr 1.35fr 1fr .9fr;gap:7px}
body.landscape-reference-live .lr-metric{border:1px solid rgba(214,175,93,.20);border-radius:7px;background:linear-gradient(180deg,#0c0f0f,#060808);padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden;min-height:64px}
body.landscape-reference-live .lr-metric b{font:900 24px/1 Arial,sans-serif;letter-spacing:.06em;color:#f1e7c5;white-space:nowrap;text-shadow:0 1px 0 #000}
body.landscape-reference-live .lr-metric span{font:900 17px/1 Arial,sans-serif;color:#f0e2ba;white-space:nowrap}
body.landscape-reference-live .lr-metric.heat span{color:#ef6a4d;font-size:16px;letter-spacing:.04em}
body.landscape-reference-live .lr-metric.cash span{color:#83c74d}
body.landscape-reference-live .lr-metric.cargo span{color:#e56846}
body.landscape-reference-live .lr-top-actions{display:grid;grid-template-columns:1.15fr .95fr .78fr;gap:7px}
body.landscape-reference-live .lr-top-actions button{position:relative;border:1px solid rgba(214,175,93,.24);border-radius:8px;background:linear-gradient(180deg,#0c0f0f,#060808);color:#e9ddb5;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 8px;font:900 11px/1 Arial,sans-serif;letter-spacing:.05em}
body.landscape-reference-live .lr-top-actions button span{font-size:19px}
body.landscape-reference-live .lr-top-actions i{position:absolute;right:5px;top:4px;min-width:17px;height:17px;border-radius:999px;background:#b62b20;color:#fff;font:900 9px/17px Arial;text-align:center;opacity:0}
body.landscape-reference-live .lr-top-actions i.active{opacity:1}

body.landscape-reference-live .lr-workspace{display:grid;grid-template-columns:158px minmax(0,1fr) minmax(520px,650px);gap:7px;min-height:0;overflow:hidden}
body.landscape-reference-live .lr-left-rail{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:7px;min-height:0}
body.landscape-reference-live .lr-legend-card,.lr-tutorial-card{border:1px solid rgba(214,175,93,.20);border-radius:8px;background:linear-gradient(180deg,rgba(7,12,13,.99),rgba(7,9,9,.99));box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);overflow:hidden}
body.landscape-reference-live .lr-legend-card{padding:10px 9px;overflow:auto;scrollbar-width:none}
body.landscape-reference-live .lr-legend-card::-webkit-scrollbar{display:none}
body.landscape-reference-live .lr-legend-card h3{margin:0 0 11px;color:#d8a846;font:900 12px/1 Arial,sans-serif;letter-spacing:.15em}
body.landscape-reference-live .lr-legend-section{display:grid;gap:6px;margin-bottom:13px}
body.landscape-reference-live .lr-legend-section>strong{color:#6fc3c0;font:900 9px/1 Arial,sans-serif;letter-spacing:.12em}
body.landscape-reference-live .lr-route-line{width:100%;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:7px;padding:2px 0;border:0;background:none;color:#cfc7aa;font:800 9px/1 Arial,sans-serif;text-align:left;cursor:pointer}
body.landscape-reference-live .lr-route-line i,.lr-route-label i{display:block;height:3px;border-radius:999px;background:#54c8e5;box-shadow:0 0 5px rgba(84,200,229,.35)}
body.landscape-reference-live .lr-route-line.central i{background:#e7c052}.lr-route-line.east i{background:#e56c54}
body.landscape-reference-live .lr-route-line.active span{color:#fff0bd}.lr-route-line.active i{box-shadow:0 0 7px currentColor}
body.landscape-reference-live .lr-route-label{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:7px;color:#cfc7aa;font:800 9px/1 Arial,sans-serif}
body.landscape-reference-live .lr-route-label.baja i{background:#7adc75}.lr-route-label.sierra i{background:#a278ff}.lr-route-label.pacificmx i{background:#d875d7}.lr-route-label.centralmx i{background:#ed7050}
body.landscape-reference-live .lr-legend-section.node>div{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:6px;color:#cac4ad;font:800 8px/1 Arial,sans-serif}
body.landscape-reference-live .lr-legend-section.node i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-style:normal;border:1px solid rgba(214,175,93,.26);background:#161813;color:#d9b861;font-size:10px}
body.landscape-reference-live .lr-legend-section.node i.opportunity{color:#70c36d}.lr-legend-section.node i.risk{color:#e06b50}.lr-legend-section.node i.unknown{color:#dad28e}
body.landscape-reference-live .lr-tutorial-card{display:grid;grid-template-columns:54px 1fr;gap:8px;padding:8px}
body.landscape-reference-live .lr-tutorial-card.dismissed{display:none}
body.landscape-reference-live .lr-tutorial-avatar{font-size:42px;display:grid;place-items:end center;filter:sepia(.45) saturate(.85)}
body.landscape-reference-live .lr-tutorial-card strong{display:block;color:#e9d39a;font:900 11px/1 Arial,sans-serif;letter-spacing:.08em}
body.landscape-reference-live .lr-tutorial-card p{margin:5px 0 7px;color:#bcb59a;font:700 8px/1.4 Arial,sans-serif}
body.landscape-reference-live .lr-tutorial-card button{float:right;min-height:28px;padding:0 15px;border-radius:5px;border:1px solid rgba(139,188,83,.44);background:#122516;color:#b7da78;font:900 9px/1 Arial,sans-serif}

body.landscape-reference-live .lr-map-column{position:relative;min-width:0;min-height:0;border:1px solid rgba(214,175,93,.15);border-radius:8px;overflow:hidden;background:#06100f}
body.landscape-reference-live .lr-map-host{position:absolute;inset:0;overflow:hidden}
body.landscape-reference-live .lr-map-host .board-wrap{width:100%!important;height:100%!important;margin:0!important}
body.landscape-reference-live .lr-map-host .tabletop-board{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#06100f!important;box-shadow:none!important}
body.landscape-reference-live .lr-map-host .board.living-map{width:100%!important;min-width:100%!important;height:100%!important;min-height:100%!important;zoom:1!important;transform:none!important}
body.landscape-reference-live .lr-map-host .board-corner,
body.landscape-reference-live .lr-map-host .board-trigger-legend,
body.landscape-reference-live .lr-map-host .camera-hud{display:none!important}
body.landscape-reference-live .lr-map-host .graphical-world-layer{inset:0!important}
body.landscape-reference-live .lr-map-host .map-node{transform:translate(-50%,-50%) scale(.88)!important}
body.landscape-reference-live .lr-map-host .map-node.current{transform:translate(-50%,-50%) scale(1)!important;z-index:30!important}
body.landscape-reference-live .lr-map-host .vehicle-pawn{z-index:40!important}

body.landscape-reference-live .lr-turn-dock{position:absolute;right:10px;bottom:10px;z-index:70;max-width:min(430px,58%)}
body.landscape-reference-live .lr-turn-dock #actionPanel.action-panel{position:static!important;margin:0!important;padding:6px!important;display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:7px!important;border-radius:9px!important;background:rgba(8,11,11,.92)!important;border:1px solid rgba(214,175,93,.24)!important;box-shadow:0 8px 20px rgba(0,0,0,.45)!important;backdrop-filter:blur(6px)!important}
body.landscape-reference-live .lr-turn-dock .turn-line{grid-column:1!important;display:block!important}
body.landscape-reference-live .lr-turn-dock .turn-line>div:first-child{display:none!important}
body.landscape-reference-live .lr-turn-dock .dice{width:48px!important;height:48px!important;font-size:24px!important}
body.landscape-reference-live .lr-turn-dock .action-text,.lr-turn-dock .log-wrap{display:none!important}
body.landscape-reference-live .lr-turn-dock .actions{grid-column:2!important;display:flex!important;gap:6px!important;align-items:center!important;flex-wrap:wrap!important}
body.landscape-reference-live .lr-turn-dock .btn{min-height:40px!important;padding:0 12px!important;font-size:10px!important;border-radius:7px!important;flex:1 1 110px!important}

body.landscape-reference-live .lr-right-rail{min-width:0;min-height:0;overflow:hidden}
body.landscape-reference-live .lr-right-rail .dashboard-aside{height:100%!important;display:grid!important;grid-template-rows:minmax(235px,47%) minmax(0,53%)!important;gap:7px!important;overflow:hidden!important}
body.landscape-reference-live .lr-right-rail .achievement-card{height:100%!important;min-height:0!important;border-radius:8px!important;padding:10px!important}
body.landscape-reference-live .lr-right-rail .dashboard-grid{display:grid!important;grid-template-columns:1.25fr 1.12fr .82fr .94fr!important;gap:6px!important;height:100%!important;overflow:hidden!important}
body.landscape-reference-live .lr-right-rail #driveThroughDashboardPanel,
body.landscape-reference-live .lr-right-rail #roadIntelDashboardPanel{display:none!important}
body.landscape-reference-live .lr-right-rail #cityDashboardPanel,
body.landscape-reference-live .lr-right-rail #buyerDashboardPanel,
body.landscape-reference-live .lr-right-rail #hustleDashboardPanel,
body.landscape-reference-live .lr-right-rail #favorDashboardPanel{height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:8px!important;padding:8px!important}
body.landscape-reference-live .lr-right-rail .achievement-card .dash-main{font-size:40px!important}
body.landscape-reference-live .lr-right-rail .achievement-hero-art{height:95px!important;margin:2px auto!important}
body.landscape-reference-live .lr-right-rail .dashboard-photo{height:78px!important}
body.landscape-reference-live .lr-right-rail .buyer-dice-preview{height:76px!important}
body.landscape-reference-live .lr-right-rail .ref-die{width:54px!important;height:54px!important}
body.landscape-reference-live .lr-right-rail .dashboard-card h3{font-size:13px!important}
body.landscape-reference-live .lr-right-rail .dashboard-card .dash-sub{font-size:9px!important}
body.landscape-reference-live .lr-right-rail .dash-market-row{font-size:8px!important;padding:3px 0!important}
body.landscape-reference-live .lr-right-rail .buyer-outcomes div{font-size:8px!important;padding:3px 4px!important}
body.landscape-reference-live .lr-right-rail .reference-hustle-list div{font-size:8px!important;padding:5px 2px!important}
body.landscape-reference-live .lr-right-rail .dash-btn{min-height:30px!important;padding:5px 6px!important;font-size:8px!important}

body.landscape-reference-live .lr-bottom-strip{display:grid;grid-template-columns:420px minmax(0,1fr);gap:7px;min-height:0}
body.landscape-reference-live .lr-system-host,.lr-city-host{min-width:0;min-height:0;overflow:hidden}
body.landscape-reference-live .lr-system-host .mobile-reference-nav{display:grid!important;position:static!important;height:100%!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;padding:7px!important;border:1px solid rgba(214,175,93,.18)!important;border-radius:8px!important;background:linear-gradient(180deg,#0c0f0e,#060808)!important;box-shadow:none!important}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button{height:100%!important;min-height:0!important;border-radius:7px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:center!important;gap:9px!important;padding:8px 3px!important;border:1px solid rgba(214,175,93,.26)!important;background:linear-gradient(180deg,#161814,#080a09)!important;color:#e7d9b2!important}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button span{font-size:38px!important;filter:sepia(.4) saturate(.7) drop-shadow(0 5px 4px #000)}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button b{font-size:9px!important;letter-spacing:.04em!important}
body.landscape-reference-live .lr-city-host .city-carousel{display:block!important;height:100%!important;padding:7px!important;border:1px solid rgba(214,175,93,.18)!important;border-radius:8px!important;background:linear-gradient(180deg,#0c0f0e,#060808)!important}
body.landscape-reference-live .lr-city-host .city-carousel-head{display:none!important}
body.landscape-reference-live .lr-city-host .city-carousel-track{height:100%!important;display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(135px,1fr)!important;gap:6px!important;overflow-x:auto!important}
body.landscape-reference-live .lr-city-host .city-carousel-card{height:100%!important;min-height:0!important;border-radius:7px!important;padding:7px!important}
body.landscape-reference-live .lr-city-host .city-carousel-card strong{margin-top:72px!important;font-size:13px!important}
body.landscape-reference-live .lr-city-host .city-carousel-card small{font-size:7px!important}

@media (orientation:landscape) and (max-width:1180px){
  body.landscape-reference-live #landscapeReferenceShell{grid-template-rows:50px minmax(0,1fr) 122px;gap:5px}
  body.landscape-reference-live .lr-topbar{grid-template-columns:220px minmax(0,1fr) 310px;gap:5px}
  body.landscape-reference-live .lr-brand strong{font-size:25px}.lr-brand span{font-size:8px!important}
  body.landscape-reference-live .lr-metric{padding:6px 8px;min-height:54px}.lr-metric b{font-size:18px!important}.lr-metric span{font-size:12px!important}
  body.landscape-reference-live .lr-top-actions button{font-size:8px!important;gap:4px!important}.lr-top-actions button span{font-size:14px!important}
  body.landscape-reference-live .lr-workspace{grid-template-columns:122px minmax(0,1fr) minmax(390px,470px);gap:5px}
  body.landscape-reference-live .lr-legend-card{padding:7px 6px}.lr-legend-card h3{font-size:9px!important}.lr-legend-section>strong{font-size:7px!important}.lr-route-line,.lr-route-label{font-size:7px!important;grid-template-columns:20px 1fr!important}
  body.landscape-reference-live .lr-legend-section.node>div{font-size:6.5px!important;grid-template-columns:17px 1fr!important}.lr-legend-section.node i{width:14px!important;height:14px!important;font-size:7px!important}
  body.landscape-reference-live .lr-tutorial-card{display:none!important}
  body.landscape-reference-live .lr-right-rail .dashboard-aside{grid-template-rows:44% 56%!important;gap:5px!important}
  body.landscape-reference-live .lr-right-rail .achievement-card .dash-main{font-size:27px!important}.lr-right-rail .achievement-hero-art{height:60px!important}.lr-right-rail .dashboard-photo{height:45px!important}.lr-right-rail .buyer-dice-preview{height:46px!important}
  body.landscape-reference-live .lr-right-rail .ref-die{width:38px!important;height:38px!important;padding:5px!important}
  body.landscape-reference-live .lr-right-rail .dashboard-grid{gap:4px!important}.lr-right-rail #cityDashboardPanel,.lr-right-rail #buyerDashboardPanel,.lr-right-rail #hustleDashboardPanel,.lr-right-rail #favorDashboardPanel{padding:5px!important}
  body.landscape-reference-live .lr-right-rail .dashboard-card h3{font-size:10px!important}.lr-right-rail .dashboard-card .dash-sub{font-size:7px!important}.lr-right-rail .dash-market-row,.lr-right-rail .buyer-outcomes div,.lr-right-rail .reference-hustle-list div{font-size:6.5px!important}
  body.landscape-reference-live .lr-bottom-strip{grid-template-columns:310px minmax(0,1fr);gap:5px}
  body.landscape-reference-live .lr-system-host .mobile-reference-nav{gap:3px!important;padding:5px!important}.lr-system-host .mobile-reference-nav button{gap:5px!important;padding:4px 2px!important}.lr-system-host .mobile-reference-nav button span{font-size:26px!important}.lr-system-host .mobile-reference-nav button b{font-size:7px!important}
  body.landscape-reference-live .lr-city-host .city-carousel{padding:5px!important}.lr-city-host .city-carousel-track{grid-auto-columns:minmax(105px,1fr)!important;gap:4px!important}.lr-city-host .city-carousel-card strong{margin-top:52px!important;font-size:10px!important}.lr-city-host .city-carousel-card small{font-size:6px!important}
  body.landscape-reference-live .lr-turn-dock{right:6px!important;bottom:6px!important;max-width:56%!important}.lr-turn-dock #actionPanel.action-panel{grid-template-columns:42px minmax(0,1fr)!important;padding:4px!important}.lr-turn-dock .dice{width:38px!important;height:38px!important;font-size:18px!important}.lr-turn-dock .btn{min-height:34px!important;font-size:8px!important;padding:0 8px!important}
}


/* ============================================================
   BORDER RUN v4.2.5b — REFERENCE MASTER 16:9 COMPOSITION
   Screenshot geometry is the actual layout master.
   ============================================================ */
body.landscape-reference-live{
  display:grid!important;place-items:center!important;overflow:hidden!important;
  background:#020404!important;
}
body.landscape-reference-live .app-shell{
  width:100vw!important;height:100vh!important;max-width:none!important;min-height:0!important;
  padding:0!important;margin:0!important;display:grid!important;place-items:center!important;
  background:#020404!important;overflow:hidden!important;
}
body.landscape-reference-live #landscapeReferenceShell{
  position:relative!important;
  width:min(100vw,calc(100vh * 16 / 9))!important;
  height:min(100vh,calc(100vw * 9 / 16))!important;
  aspect-ratio:16 / 9!important;
  grid-template-rows:6.6% minmax(0,75.5%) 17.9%!important;
  gap:0!important;
  padding:.45% .55% .55%!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg,#050808,#030505)!important;
  box-shadow:0 0 0 1px rgba(214,175,93,.12),0 0 60px rgba(0,0,0,.65)!important;
}
body.landscape-reference-live .lr-topbar{
  display:grid!important;grid-template-columns:18.5% minmax(0,50%) 31.5%!important;
  gap:.55%!important;align-items:stretch!important;padding:0 0 .45%!important;
}
body.landscape-reference-live .lr-brand{padding:.35% 1%!important;border:0!important;background:transparent!important;box-shadow:none!important}
body.landscape-reference-live .lr-brand strong{font-size:clamp(18px,2.35vw,39px)!important;line-height:.82!important}
body.landscape-reference-live .lr-brand span{font-size:clamp(6px,.66vw,11px)!important;margin-top:.35em!important}
body.landscape-reference-live .lr-telemetry{grid-template-columns:1fr 1.42fr 1.08fr .82fr!important;gap:.65%!important}
body.landscape-reference-live .lr-metric{border-radius:6px!important;padding:.35% 5%!important}
body.landscape-reference-live .lr-metric b{font-size:clamp(14px,1.28vw,24px)!important}
body.landscape-reference-live .lr-metric span{font-size:clamp(8px,.84vw,14px)!important}
body.landscape-reference-live .lr-top-actions{grid-template-columns:1.3fr 1.05fr .82fr!important;gap:1.2%!important}
body.landscape-reference-live .lr-top-actions button{border-radius:6px!important;font-size:clamp(7px,.69vw,11px)!important;padding:0 5%!important}
body.landscape-reference-live .lr-top-actions button span{font-size:clamp(12px,1.15vw,20px)!important}

body.landscape-reference-live .lr-workspace{
  position:relative!important;display:block!important;min-height:0!important;overflow:hidden!important;
  border-top:1px solid rgba(214,175,93,.08)!important;
}
body.landscape-reference-live .lr-map-column{
  position:absolute!important;left:9.7%!important;top:.3%!important;width:62.5%!important;height:99.1%!important;
  border:0!important;border-radius:0!important;overflow:hidden!important;background:#06100f!important;
}
body.landscape-reference-live .lr-map-host{inset:0!important;border-radius:0!important}
body.landscape-reference-live .lr-map-host .tabletop-board{border-radius:0!important;background:#06100f!important}
body.landscape-reference-live .lr-map-host .board.living-map{width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;transform:none!important;zoom:1!important}
body.landscape-reference-live .lr-map-host .map-node{transform:translate(-50%,-50%) scale(.82)!important}
body.landscape-reference-live .lr-map-host .map-node.current{transform:translate(-50%,-50%) scale(.92)!important}
body.landscape-reference-live .lr-map-host .vehicle-pawn{transform:translate(-50%,-85%) scale(.82)!important}

body.landscape-reference-live .lr-left-rail{
  position:absolute!important;left:.2%!important;top:1.5%!important;width:9.1%!important;height:68%!important;
  display:block!important;z-index:45!important;
}
body.landscape-reference-live .lr-legend-card{height:100%!important;padding:8% 7%!important;border-radius:6px!important;overflow:hidden!important}
body.landscape-reference-live .lr-legend-card h3{font-size:clamp(7px,.74vw,12px)!important;margin-bottom:8%!important}
body.landscape-reference-live .lr-legend-section{gap:5px!important;margin-bottom:10%!important}
body.landscape-reference-live .lr-legend-section>strong{font-size:clamp(5px,.56vw,9px)!important}
body.landscape-reference-live .lr-route-line,.lr-route-label{font-size:clamp(5px,.55vw,9px)!important;grid-template-columns:25% 1fr!important;gap:7%!important}
body.landscape-reference-live .lr-legend-section.node>div{font-size:clamp(4px,.48vw,8px)!important;grid-template-columns:20% 1fr!important;gap:6%!important}
body.landscape-reference-live .lr-legend-section.node i{width:clamp(12px,1.05vw,18px)!important;height:clamp(12px,1.05vw,18px)!important;font-size:clamp(6px,.62vw,10px)!important}
body.landscape-reference-live .lr-tutorial-card{
  position:fixed!important;
  left:max(calc((100vw - min(100vw,calc(100vh * 16 / 9))) / 2 + .7vw),.7vw)!important;
  bottom:max(calc((100vh - min(100vh,calc(100vw * 9 / 16))) / 2 + 18.7vh),18.7vh)!important;
  width:min(18.6vw,calc(min(100vw,calc(100vh * 16 / 9)) * .186))!important;
  height:min(19.2vh,calc(min(100vh,calc(100vw * 9 / 16)) * .192))!important;
  z-index:75!important;padding:0!important;border:0!important;border-radius:6px!important;
  background:url('./assets/reference/tutorial-card.png') center/100% 100% no-repeat!important;
  overflow:hidden!important;
}
body.landscape-reference-live .lr-tutorial-card>*{opacity:0!important}
body.landscape-reference-live .lr-tutorial-card button{position:absolute!important;right:4%!important;bottom:5%!important;width:32%!important;height:18%!important;opacity:0!important;pointer-events:auto!important}
body.landscape-reference-live .lr-tutorial-card.dismissed{display:none!important}

body.landscape-reference-live .lr-achievement-host{
  position:absolute!important;right:.15%!important;top:.4%!important;width:27.1%!important;height:50.8%!important;
  z-index:50!important;overflow:hidden!important;border-radius:6px!important;
}
body.landscape-reference-live .lr-achievement-host .achievement-card{
  width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:6px!important;
  background:url('./assets/reference/achievement-road-legend.webp') center/100% 100% no-repeat!important;
  overflow:hidden!important;cursor:pointer!important;
}
body.landscape-reference-live .lr-achievement-host .achievement-card>*{visibility:hidden!important}
body.landscape-reference-live .lr-achievement-host .achievement-card .achievement-view-btn{
  visibility:visible!important;position:absolute!important;left:29%!important;bottom:4%!important;width:42%!important;height:11%!important;opacity:0!important;pointer-events:auto!important;
}

body.landscape-reference-live .lr-action-cards-host{
  position:absolute!important;right:.15%!important;bottom:1.2%!important;width:44.7%!important;height:40.7%!important;
  z-index:52!important;overflow:hidden!important;
}
body.landscape-reference-live .lr-action-cards-host .dashboard-grid{
  display:grid!important;grid-template-columns:1.15fr 1.18fr .78fr .95fr!important;gap:.75%!important;height:100%!important;min-height:0!important;
}
body.landscape-reference-live .lr-action-cards-host #driveThroughDashboardPanel,
body.landscape-reference-live .lr-action-cards-host #roadIntelDashboardPanel{display:none!important}
body.landscape-reference-live .lr-action-cards-host #cityDashboardPanel,
body.landscape-reference-live .lr-action-cards-host #buyerDashboardPanel,
body.landscape-reference-live .lr-action-cards-host #hustleDashboardPanel,
body.landscape-reference-live .lr-action-cards-host #favorDashboardPanel{
  height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:6px!important;padding:4.5%!important;
}
body.landscape-reference-live .lr-action-cards-host .dashboard-card h3{font-size:clamp(7px,.78vw,13px)!important;margin-bottom:3%!important}
body.landscape-reference-live .lr-action-cards-host .dashboard-card .dash-sub{font-size:clamp(5px,.55vw,9px)!important}
body.landscape-reference-live .lr-action-cards-host .dashboard-photo{height:32%!important;margin:-1% -1% 3%!important}
body.landscape-reference-live .lr-action-cards-host .dash-market-row{font-size:clamp(5px,.5vw,8px)!important;padding:1.8% 0!important}
body.landscape-reference-live .lr-action-cards-host .buyer-dice-preview{height:32%!important;margin:1% 0!important}
body.landscape-reference-live .lr-action-cards-host .ref-die{width:clamp(26px,3.2vw,52px)!important;height:clamp(26px,3.2vw,52px)!important}
body.landscape-reference-live .lr-action-cards-host .buyer-outcomes div{font-size:clamp(4px,.47vw,8px)!important;padding:1.6% 3%!important}
body.landscape-reference-live .lr-action-cards-host .reference-hustle-list div{font-size:clamp(5px,.5vw,8px)!important;padding:4.7% 2%!important}
body.landscape-reference-live .lr-action-cards-host .favor-portrait{
  width:36%!important;height:42%!important;background:url('./assets/reference/favor-portrait.png') center/cover no-repeat!important;float:right!important;
}
body.landscape-reference-live .lr-action-cards-host .favor-portrait span{display:none!important}
body.landscape-reference-live .lr-action-cards-host .dash-btn{min-height:0!important;height:clamp(22px,2.1vw,34px)!important;padding:0 4%!important;font-size:clamp(5px,.52vw,8px)!important}
body.landscape-reference-live .lr-source-aside-empty{display:none!important}

body.landscape-reference-live .lr-turn-dock{
  right:1%!important;bottom:1.2%!important;z-index:80!important;max-width:22%!important;opacity:.84!important;
}
body.landscape-reference-live .lr-turn-dock #actionPanel.action-panel{
  grid-template-columns:clamp(28px,2.5vw,42px) minmax(0,1fr)!important;padding:3px!important;border-radius:999px!important;background:rgba(6,9,9,.82)!important;
}
body.landscape-reference-live .lr-turn-dock .dice{width:clamp(28px,2.5vw,42px)!important;height:clamp(28px,2.5vw,42px)!important;font-size:clamp(12px,1.2vw,19px)!important;border-radius:50%!important}
body.landscape-reference-live .lr-turn-dock .btn{min-height:clamp(26px,2.3vw,36px)!important;height:clamp(26px,2.3vw,36px)!important;padding:0 7px!important;font-size:clamp(5px,.48vw,8px)!important;flex:1 1 70px!important}

body.landscape-reference-live .lr-bottom-strip{
  display:grid!important;grid-template-columns:26.4% minmax(0,73.6%)!important;gap:.5%!important;padding-top:.45%!important;
}
body.landscape-reference-live .lr-system-host .mobile-reference-nav{
  height:100%!important;padding:0!important;gap:1.5%!important;border:0!important;background:transparent!important;
}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button{
  height:100%!important;padding:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;background-position:center!important;background-repeat:no-repeat!important;background-size:100% 100%!important;color:transparent!important;box-shadow:none!important;
}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button:nth-child(1){background-image:url('./assets/reference/vehicle.png')!important}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button:nth-child(2){background-image:url('./assets/reference/contraband.png')!important}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button:nth-child(3){background-image:url('./assets/reference/hustles.png')!important}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button:nth-child(4){background-image:url('./assets/reference/locker.png')!important}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button:nth-child(5){background-image:url('./assets/reference/radio.png')!important}
body.landscape-reference-live .lr-system-host .mobile-reference-nav button span,
body.landscape-reference-live .lr-system-host .mobile-reference-nav button b{visibility:hidden!important}

body.landscape-reference-live .lr-city-host .city-carousel{height:100%!important;padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important}
body.landscape-reference-live .lr-city-host .city-carousel-track{height:100%!important;gap:.75%!important;grid-auto-columns:15.7%!important;overflow-x:auto!important;scrollbar-width:none!important}
body.landscape-reference-live .lr-city-host .city-carousel-track::-webkit-scrollbar{display:none!important}
body.landscape-reference-live .lr-city-host .city-carousel-card.reference-featured-city{
  height:100%!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background-position:center!important;background-size:100% 100%!important;background-repeat:no-repeat!important;box-shadow:none!important;outline:0!important;transform:none!important;
}
body.landscape-reference-live .lr-city-host .city-carousel-card.reference-featured-city:before{display:none!important}
body.landscape-reference-live .reference-preview-pulse{animation:referencePreviewPulse .7s ease 2!important}
@keyframes referencePreviewPulse{50%{filter:brightness(1.55) drop-shadow(0 0 8px #f0c864)!important}}

@media (max-aspect-ratio:16/9) and (orientation:landscape){
  body.landscape-reference-live #landscapeReferenceShell{width:calc(100vh * 16 / 9)!important;height:100vh!important}
}
@media (min-aspect-ratio:16/9) and (orientation:landscape){
  body.landscape-reference-live #landscapeReferenceShell{width:100vw!important;height:calc(100vw * 9 / 16)!important}
}


/* ============================================================
   BORDER RUN v4.2.5b — DEDICATED MASTER RENDERER
   Reference screen fully replaces the old landscape page.
   ============================================================ */
body.landscape-reference-live .app-shell>:not(#landscapeReferenceShell){display:none!important}
body.landscape-reference-live #landscapeReferenceShell{display:grid!important}
body.landscape-reference-live .modal,body.landscape-reference-live .unlock-celebration,body.landscape-reference-live .city-d6-overlay,body.landscape-reference-live .board-dice-overlay,body.landscape-reference-live .action-splash{z-index:12000!important}

/* Correct 16:9 letterboxing: wide screens use viewport height, narrow screens use viewport width. */
@media (min-aspect-ratio:16/9) and (orientation:landscape){body.landscape-reference-live #landscapeReferenceShell{width:calc(100vh * 16 / 9)!important;height:100vh!important}}
@media (max-aspect-ratio:16/9) and (orientation:landscape){body.landscape-reference-live #landscapeReferenceShell{width:100vw!important;height:calc(100vw * 9 / 16)!important}}

body.landscape-reference-live .lr-map-column{left:9.8%!important;top:.5%!important;width:62.8%!important;height:98.8%!important}
body.landscape-reference-live .lr-map-host,body.landscape-reference-live .lr-map-host>.board-wrap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}
body.landscape-reference-live .lr-map-host .tabletop-board{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important}
body.landscape-reference-live .lr-map-host .board.living-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;margin:0!important;transform:none!important;zoom:1!important}
body.landscape-reference-live .lr-map-host .board-corner,body.landscape-reference-live .lr-map-host .board-trigger-legend,body.landscape-reference-live .lr-map-host .camera-hud,body.landscape-reference-live .lr-map-host .camera-vignette{display:none!important}
body.landscape-reference-live .lr-map-host .map-node{transform:translate(-50%,-50%) scale(.72)!important}
body.landscape-reference-live .lr-map-host .map-node.current{transform:translate(-50%,-50%) scale(.82)!important;z-index:30!important}
body.landscape-reference-live .lr-map-host .vehicle-pawn{transform:translate(-50%,-86%) scale(.76)!important}

body.landscape-reference-live .lr-tutorial-image{position:absolute;left:0;bottom:0;width:100%;height:31%;padding:0;border:0;background:transparent;cursor:pointer;z-index:70;overflow:hidden;border-radius:6px}
body.landscape-reference-live .lr-tutorial-image img{display:block;width:100%;height:100%;object-fit:fill}
body.landscape-reference-live .lr-tutorial-image.dismissed{display:none!important}
body.landscape-reference-live .lr-left-rail{height:99%!important}
body.landscape-reference-live .lr-legend-card{height:67%!important}

body.landscape-reference-live .lr-achievement-image{position:absolute!important;right:.15%!important;top:.4%!important;width:27.1%!important;height:50.8%!important;padding:0!important;border:0!important;background:transparent!important;border-radius:6px!important;overflow:hidden!important;cursor:pointer!important;z-index:55!important}
body.landscape-reference-live .lr-achievement-image img{display:block;width:100%;height:100%;object-fit:fill}

body.landscape-reference-live .lr-action-cards-host{right:.15%!important;bottom:1.1%!important;width:44.9%!important;height:40.8%!important;display:grid!important;grid-template-columns:1.15fr 1.18fr .78fr .95fr!important;gap:.7%!important;overflow:hidden!important}
body.landscape-reference-live .lr-live-card{height:100%;min-width:0;padding:4.5%;border:1px solid rgba(213,174,82,.25);border-radius:6px;background:linear-gradient(180deg,rgba(11,14,14,.98),rgba(15,13,10,.99));box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);overflow:hidden;color:#dfd0a8}
body.landscape-reference-live .lr-live-card h3{margin:0 0 4%;font:900 clamp(8px,.84vw,14px)/1.02 Arial,sans-serif;letter-spacing:.14em;color:#e6cf91;text-transform:uppercase}
body.landscape-reference-live .lr-live-card small{display:block;margin-bottom:3%;font:900 clamp(5px,.5vw,8px)/1 Arial,sans-serif;color:#5bd4c9;letter-spacing:.13em;text-transform:uppercase}
body.landscape-reference-live .lr-live-card p{margin:2% 0 5%;font:700 clamp(5px,.55vw,9px)/1.35 Arial,sans-serif;color:#c0b592}
body.landscape-reference-live .lr-live-card button{width:100%;min-height:clamp(20px,2vw,32px);margin-top:4%;border:1px solid rgba(214,175,93,.32);border-radius:4px;background:linear-gradient(180deg,#263726,#111611);color:#ebddb4;font:900 clamp(5px,.48vw,8px)/1 Arial,sans-serif;letter-spacing:.08em}
body.landscape-reference-live .lr-live-card button:disabled{opacity:.38}
body.landscape-reference-live .lr-card-photo{position:relative;height:38%;margin:-2% -2% 4%;overflow:hidden;border-radius:4px;background:linear-gradient(180deg,#526a72,#1d2323)}
body.landscape-reference-live .lr-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
body.landscape-reference-live .lr-card-photo span{position:absolute;left:4%;bottom:5%;padding:2% 4%;border-radius:999px;background:rgba(5,7,7,.76);font:900 clamp(5px,.5vw,8px)/1 Arial;color:#f1e1b5;text-transform:uppercase}
body.landscape-reference-live .lr-card-rows{display:grid;gap:1.5%}
body.landscape-reference-live .lr-card-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3%;padding:2.5% 0;border-bottom:1px solid rgba(255,255,255,.06);font:800 clamp(5px,.48vw,8px)/1.1 Arial,sans-serif}
body.landscape-reference-live .lr-card-row b{color:#7ad0c6}
body.landscape-reference-live .lr-dice-art{display:flex;justify-content:center;gap:7%;margin:7% 0;font-size:clamp(24px,3vw,48px);filter:drop-shadow(0 5px 5px rgba(0,0,0,.55))}
body.landscape-reference-live .lr-outcomes-title{display:block;color:#c8a85c;font:900 clamp(5px,.46vw,8px)/1 Arial;margin-bottom:4%}
body.landscape-reference-live .lr-outcome{display:grid;grid-template-columns:30% 1fr;gap:3%;font:800 clamp(4px,.43vw,7px)/1.2 Arial;padding:2% 0}
body.landscape-reference-live .lr-outcome span{color:#e0c77e}.lr-outcome em{font-style:normal;color:#c7bea2}
body.landscape-reference-live .lr-live-card.hustle>strong{display:block;font:900 clamp(12px,1.4vw,23px)/1 Georgia,serif;color:#aec85f;margin-bottom:6%}
body.landscape-reference-live .lr-hustle-list{display:grid;gap:0;border:1px solid rgba(255,255,255,.05)}
body.landscape-reference-live .lr-hustle-list span{padding:6% 5%;border-bottom:1px solid rgba(255,255,255,.05);font:800 clamp(5px,.48vw,8px)/1 Arial}
body.landscape-reference-live .lr-favor-portrait{float:right;width:46%;height:48%;margin:0 0 3% 4%;overflow:hidden}
body.landscape-reference-live .lr-favor-portrait img{width:100%;height:100%;object-fit:cover}
body.landscape-reference-live .lr-live-card.favor>b,body.landscape-reference-live .lr-live-card.favor>em{display:block;font:900 clamp(5px,.5vw,8px)/1.2 Arial;color:#92c25e;margin-top:4%}
body.landscape-reference-live .lr-live-card.favor>em{color:#e76d4f;font-style:normal}

body.landscape-reference-live .lr-bottom-strip{grid-template-columns:26.4% 73.1%!important;gap:.5%!important}
body.landscape-reference-live .lr-reference-systems{height:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:1.2%}
body.landscape-reference-live .lr-reference-systems button,body.landscape-reference-live .lr-ref-city{padding:0;border:0;background:transparent;overflow:hidden;cursor:pointer}
body.landscape-reference-live .lr-reference-systems img,body.landscape-reference-live .lr-ref-city img{display:block;width:100%;height:100%;object-fit:fill}
body.landscape-reference-live .lr-reference-cities{height:100%;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.65%;overflow:hidden}

body.landscape-reference-live .lr-turn-dock{position:absolute!important;left:39%!important;right:auto!important;bottom:2%!important;max-width:32%!important;display:flex!important;align-items:center!important;gap:4px!important;padding:4px!important;border-radius:999px!important;background:rgba(4,8,8,.80)!important;border:1px solid rgba(88,209,198,.24)!important;z-index:90!important;opacity:1!important}
body.landscape-reference-live .lr-turn-dock.empty{display:none!important}
body.landscape-reference-live .lr-turn-die{width:clamp(25px,2.4vw,38px);height:clamp(25px,2.4vw,38px);display:grid;place-items:center;border-radius:50%;background:#d6c89c;color:#342710;font:900 clamp(10px,1vw,16px)/1 Arial}
body.landscape-reference-live .lr-turn-dock button{min-height:clamp(25px,2.4vw,38px);padding:0 clamp(6px,.7vw,11px);border:1px solid rgba(74,211,201,.3);border-radius:999px;background:linear-gradient(180deg,#1b8f89,#12635f);color:#07100e;font:900 clamp(5px,.48vw,8px)/1 Arial;white-space:nowrap}
body.landscape-reference-live .lr-turn-dock button:nth-of-type(n+2){background:linear-gradient(180deg,#485c64,#2d3c42);color:#eef1ed}

body.landscape-reference-live .opponent-card,body.landscape-reference-live .secondary-systems,body.landscape-reference-live #actionPanel,body.landscape-reference-live #dashboardAside,body.landscape-reference-live #cityCarousel,body.landscape-reference-live #mobileReferenceNav{display:none!important}


/* ============================================================
   BORDER RUN v4.2.5b — DEDICATED NORTH AMERICA MASTER MAP
   The reference renderer no longer reuses the legacy living-map DOM.
   This removes inherited terrain panels / beige overlays and creates a
   purpose-built geographic board matching the approved reference.
   ============================================================ */
body.landscape-reference-live .lr-map-host{position:absolute!important;inset:0!important;overflow:hidden!important;background:#041011!important}
body.landscape-reference-live .lr-master-board{position:absolute;inset:0;overflow:hidden;background:#061112;isolation:isolate}
body.landscape-reference-live .lr-master-bg{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(3,8,8,.15),rgba(1,5,5,.28)),url('./assets/north-america-board.svg');background-size:100% 100%;background-position:center;background-repeat:no-repeat;filter:saturate(1.03) contrast(1.10) brightness(.86)}
body.landscape-reference-live .lr-master-board:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.38) 100%),linear-gradient(180deg,rgba(10,18,18,.02),rgba(0,0,0,.18))}
body.landscape-reference-live .lr-master-routes{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:visible;pointer-events:none}
body.landscape-reference-live .lr-master-route{fill:none;stroke-width:.62;stroke-linecap:round;stroke-linejoin:round;opacity:.50;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(255,255,255,.08))}
body.landscape-reference-live .lr-master-route.active{stroke-width:1.02;opacity:.94;filter:drop-shadow(0 0 4px currentColor)}
body.landscape-reference-live .lr-master-route.route-west,.lr-master-south-line.route-west{stroke:#55d6f2;color:#55d6f2}
body.landscape-reference-live .lr-master-route.route-central,.lr-master-south-line.route-central{stroke:#e5bb57;color:#e5bb57}
body.landscape-reference-live .lr-master-route.route-east,.lr-master-south-line.route-east{stroke:#73d296;color:#73d296}
body.landscape-reference-live .lr-master-south-line{stroke-width:.46;opacity:.58;stroke-dasharray:1 .45;vector-effect:non-scaling-stroke}
body.landscape-reference-live .lr-master-border{fill:none;stroke:#dcd7c3;stroke-width:.72;stroke-dasharray:1.1 .65;opacity:.78;vector-effect:non-scaling-stroke}
body.landscape-reference-live .lr-master-country{position:absolute;z-index:2;pointer-events:none;font:900 clamp(6px,.52vw,10px)/1 Georgia,serif;letter-spacing:.38em;color:rgba(226,213,176,.18);transform:translate(-50%,-50%) rotate(-5deg);white-space:nowrap}
body.landscape-reference-live .lr-master-country.us{left:60%;top:28%}.lr-master-country.mx{left:48%;top:84%}
body.landscape-reference-live .lr-master-node{position:absolute;z-index:8;transform:translate(-50%,-50%);margin:0;padding:0;border:0;cursor:pointer;display:grid;place-items:center;color:#e9dbad;background:#111713;box-shadow:0 2px 5px rgba(0,0,0,.62)}
body.landscape-reference-live .lr-master-node.travel{width:clamp(13px,1.18vw,22px);height:clamp(13px,1.18vw,22px);border-radius:50%;border:1px solid rgba(211,177,94,.42);opacity:.82}
body.landscape-reference-live .lr-master-node.travel.route-west{box-shadow:0 0 0 1px rgba(85,214,242,.12),0 2px 5px #000}.lr-master-node.travel.route-central{box-shadow:0 0 0 1px rgba(229,187,87,.12),0 2px 5px #000}.lr-master-node.travel.route-east{box-shadow:0 0 0 1px rgba(115,210,150,.12),0 2px 5px #000}
body.landscape-reference-live .lr-master-node.travel:not(.route-active){opacity:.48;transform:translate(-50%,-50%) scale(.78)}
body.landscape-reference-live .lr-master-trigger{font:900 clamp(6px,.56vw,10px)/1 Arial,sans-serif;color:#d9c987}
body.landscape-reference-live .lr-master-node.travel.route-west .lr-master-trigger{color:#72dbee}.lr-master-node.travel.route-central .lr-master-trigger{color:#e8c86e}.lr-master-node.travel.route-east .lr-master-trigger{color:#8bdba7}
body.landscape-reference-live .lr-master-node.city{width:clamp(48px,4.7vw,82px);height:clamp(34px,3.5vw,62px);border-radius:5px;border:1px solid rgba(214,175,93,.26);background:linear-gradient(180deg,rgba(14,19,18,.96),rgba(8,11,10,.98));padding:2px 4px;align-content:end;overflow:visible}
body.landscape-reference-live .lr-master-node.city:not(.route-active){opacity:.62;transform:translate(-50%,-50%) scale(.86)}
body.landscape-reference-live .lr-master-city-name{position:relative;z-index:2;max-width:100%;font:900 clamp(6px,.56vw,10px)/1 Georgia,serif;color:#efdcaa;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #000}
body.landscape-reference-live .lr-master-node.city small{position:relative;z-index:2;font:800 clamp(4px,.38vw,7px)/1 Arial,sans-serif;color:#65cdc3;letter-spacing:.06em;margin-top:2px}
body.landscape-reference-live .lr-master-skyline{position:absolute;left:8%;right:8%;bottom:45%;height:58%;display:flex;align-items:flex-end;justify-content:center;gap:2px;opacity:.92;filter:drop-shadow(0 2px 2px #000)}
body.landscape-reference-live .lr-master-skyline i{display:block;width:14%;height:var(--h);max-height:100%;background:linear-gradient(90deg,#293431,#607269 48%,#252e2c);border-top:1px solid rgba(226,193,115,.22)}
body.landscape-reference-live .lr-master-node.start-city{width:clamp(35px,3.3vw,58px);min-height:clamp(25px,2.4vw,42px);padding:3px 4px;border-radius:5px;border:1px solid rgba(219,174,72,.34);background:linear-gradient(180deg,#302519,#16120e);display:flex;gap:3px;align-items:center;justify-content:center;opacity:.82}
body.landscape-reference-live .lr-master-node.start-city span{color:#dda943;font-size:clamp(7px,.7vw,12px)}
body.landscape-reference-live .lr-master-node.start-city b{font:900 clamp(5px,.48vw,8px)/1 Georgia,serif;color:#ead8a7;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.landscape-reference-live .lr-master-node.preview{outline:2px solid rgba(245,207,106,.8);z-index:20!important}
body.landscape-reference-live .lr-master-node.current{outline:2px solid #54e1d4;box-shadow:0 0 0 3px rgba(84,225,212,.17),0 0 18px rgba(84,225,212,.48);z-index:24!important;opacity:1!important}
body.landscape-reference-live .lr-master-player-piece{position:absolute;z-index:40;width:clamp(68px,7.0vw,120px);height:clamp(45px,4.8vw,82px);transform:translate(-50%,-88%);pointer-events:none;overflow:visible}
body.landscape-reference-live .lr-master-player-piece .ride-render,body.landscape-reference-live .lr-master-player-piece .token-3d{position:absolute!important;left:50%!important;top:88%!important;width:100%!important;height:100%!important;overflow:visible!important}
body.landscape-reference-live .lr-master-player-piece.master-moving .piece-wheel{animation-play-state:running!important}
body.landscape-reference-live .lr-master-player-piece .piece-wheel{animation-play-state:paused}
body.landscape-reference-live .lr-map-column{background:#061112!important}
body.landscape-reference-live .lr-brand strong{font-size:30px!important;letter-spacing:.02em!important}


/* ============================================================
   BORDER RUN v4.2.5b — APPROVED REFERENCE ART SKIN
   The exact approved 16:9 reference artwork is the visible UI.
   Live data, hit targets, game-piece movement and gameplay sit above it.
   ============================================================ */
body.landscape-reference-live #landscapeReferenceShell.artwork-master-renderer{
  display:block!important;position:relative!important;overflow:hidden!important;
  background:#020505!important;isolation:isolate!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-art-bg{
  position:absolute;inset:0;z-index:0;background:url('./assets/reference/master-approved-ui.webp') center/100% 100% no-repeat;
}
body.landscape-reference-live .artwork-master-renderer .lr-art-cover{position:absolute;z-index:34;pointer-events:none;object-fit:fill}
body.landscape-reference-live .artwork-master-renderer .lr-art-cover.achievement{left:72.08%;top:6.45%;width:27.10%;height:39.85%}
body.landscape-reference-live .artwork-master-renderer .lr-art-cover.rightcards{left:55.18%;top:46.85%;width:44.74%;height:33.80%}

body.landscape-reference-live .artwork-master-renderer .lr-telemetry{
  position:absolute!important;left:19.82%!important;top:.72%!important;width:48.62%!important;height:4.92%!important;z-index:46!important;
  display:grid!important;grid-template-columns:1.02fr 1.35fr 1.02fr .78fr!important;gap:.55%!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-metric{
  height:100%!important;min-height:0!important;border-radius:5px!important;padding:0 5%!important;
  border:1px solid rgba(209,171,83,.28)!important;background:linear-gradient(180deg,#0b1010,#070909)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-metric b{font-size:clamp(14px,1.18vw,24px)!important;letter-spacing:.06em!important}
body.landscape-reference-live .artwork-master-renderer .lr-metric span{font-size:clamp(8px,.78vw,14px)!important}
body.landscape-reference-live .artwork-master-renderer .lr-metric.heat span{font-size:clamp(8px,.76vw,13px)!important}

body.landscape-reference-live .artwork-master-renderer .lr-map-host{
  position:absolute!important;left:9.74%!important;top:5.75%!important;width:62.62%!important;height:74.32%!important;z-index:22!important;
  overflow:hidden!important;background:transparent!important;border:0!important;border-radius:0!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-art-board-overlay{position:absolute;inset:0;z-index:1;overflow:visible}
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit{
  position:absolute;width:2.25%;aspect-ratio:1;border:0;border-radius:50%;padding:0;margin:0;transform:translate(-50%,-50%);
  background:transparent;opacity:.01;z-index:5;cursor:pointer;touch-action:manipulation;
}
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit.current,
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit.preview{opacity:1;background:rgba(65,225,210,.08);outline:1px solid rgba(76,230,218,.72);box-shadow:0 0 12px rgba(76,230,218,.55)}
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit.preview{outline-color:rgba(239,196,86,.78);box-shadow:0 0 12px rgba(239,196,86,.52)}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  position:absolute!important;z-index:26!important;width:clamp(54px,5.0vw,88px)!important;height:clamp(38px,3.5vw,62px)!important;
  transform:translate(-50%,-86%)!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;overflow:visible!important;pointer-events:auto!important;cursor:pointer!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .ride-render,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .token-3d{position:absolute!important;left:50%!important;top:88%!important;width:100%!important;height:100%!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:after{content:"";position:absolute;left:50%;bottom:-6%;width:30%;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);border:2px solid #59e2d6;box-shadow:0 0 10px #59e2d6;background:rgba(10,30,29,.38)}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.master-moving .piece-wheel{animation-play-state:running!important}

body.landscape-reference-live .artwork-master-renderer .lr-art-hit-layer{position:absolute;inset:0;z-index:50;pointer-events:none}
body.landscape-reference-live .artwork-master-renderer .lr-art-hit{position:absolute;border:0;background:transparent;opacity:.01;padding:0;margin:0;cursor:pointer;pointer-events:auto;touch-action:manipulation}
body.landscape-reference-live .artwork-master-renderer .lr-art-hit:focus-visible{opacity:1;outline:2px solid #59e2d6;background:rgba(89,226,214,.08)}
/* top actions */
body.landscape-reference-live .lr-art-hit.top.achievements{left:72.3%;top:.55%;width:10.2%;height:5.2%}
body.landscape-reference-live .lr-art-hit.top.awards{left:82.9%;top:.55%;width:8.1%;height:5.2%}
body.landscape-reference-live .lr-art-hit.top.menu{left:91.4%;top:.55%;width:7.6%;height:5.2%}
/* route legend */
body.landscape-reference-live .lr-art-hit.route{left:.8%;width:8.7%;height:3.4%}
body.landscape-reference-live .lr-art-hit.route.west{top:12.1%}.lr-art-hit.route.central{top:15.4%}.lr-art-hit.route.east{top:18.7%}
/* right live cards */
body.landscape-reference-live .lr-art-hit.live.city{left:55.2%;top:47.0%;width:10.4%;height:31.8%}
body.landscape-reference-live .lr-art-hit.live.buyer{left:66.0%;top:47.0%;width:12.0%;height:31.8%}
body.landscape-reference-live .lr-art-hit.live.hustle{left:78.35%;top:47.0%;width:8.1%;height:31.8%}
body.landscape-reference-live .lr-art-hit.live.favor{left:86.75%;top:47.0%;width:12.1%;height:31.8%}
/* bottom system buttons */
body.landscape-reference-live .lr-art-hit.system{top:81.2%;height:17.5%;width:5.2%}
body.landscape-reference-live .lr-art-hit.system.vehicle{left:.65%}.lr-art-hit.system.cargo{left:5.85%}.lr-art-hit.system.hustle{left:11.05%}.lr-art-hit.system.locker{left:16.25%}.lr-art-hit.system.radio{left:21.45%}
/* bottom city cards */
body.landscape-reference-live .lr-art-hit.citycard{top:81.2%;height:17.5%;width:9.15%}
body.landscape-reference-live .lr-art-hit.city-0{left:28.1%}.lr-art-hit.city-1{left:37.45%}.lr-art-hit.city-2{left:46.8%}.lr-art-hit.city-3{left:56.15%}.lr-art-hit.city-4{left:65.5%}.lr-art-hit.city-5{left:74.85%}.lr-art-hit.city-6{left:84.2%}.lr-art-hit.city-7{left:93.55%;width:5.8%}

/* Artwork mode does not draw imitation panels on top of the approved art. */
body.landscape-reference-live .artwork-master-renderer .lr-topbar,
body.landscape-reference-live .artwork-master-renderer .lr-workspace,
body.landscape-reference-live .artwork-master-renderer .lr-bottom-strip,
body.landscape-reference-live .artwork-master-renderer .lr-achievement-image,
body.landscape-reference-live .artwork-master-renderer .lr-action-cards-host,
body.landscape-reference-live .artwork-master-renderer .lr-turn-dock{display:none!important}


/* ============================================================
   BORDER RUN v4.2.5b — FUNCTIONAL REFERENCE CONTROLS + TUTORIAL
   + ANDROID LANDSCAPE FALLBACK
   ============================================================ */
.android-landscape-enter{display:block;width:100%;min-height:54px;margin:16px 0 10px;border-radius:13px;border:1px solid rgba(82,222,208,.45);background:linear-gradient(180deg,#1b8178,#0c4b47);box-shadow:0 10px 20px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.12);color:#f5f0d8;font:900 14px/1 Arial,sans-serif;letter-spacing:.12em;cursor:pointer}
.android-landscape-enter[hidden]{display:none!important}
.reference-tutorial-step{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:start}
.reference-tutorial-step .step-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(81,216,203,.28);background:rgba(9,27,26,.72);font-size:28px}
.reference-tutorial-step p{margin:0;color:#d9d0ac;font:700 14px/1.5 Arial,sans-serif}
.reference-tutorial-step .step-callout{grid-column:1/-1;padding:10px 12px;border-radius:10px;border:1px solid rgba(220,179,87,.18);background:rgba(255,255,255,.025);color:#72d9cf;font:800 11px/1.45 Arial,sans-serif;letter-spacing:.04em}
.tutorial-progress{height:5px;margin-top:14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.06)}
.tutorial-progress i{display:block;height:100%;width:var(--p);border-radius:999px;background:linear-gradient(90deg,#33c7bb,#e4b950)}

body.landscape-reference-live .lr-art-hit.achievement-view{left:79.4%;top:39.0%;width:13.0%;height:4.4%}
body.landscape-reference-live .lr-art-hit.tutorial-card{left:.9%;top:56.0%;width:17.7%;height:18.7%}
body.landscape-reference-live .lr-art-hit.tutorial-gotit{left:12.0%;top:69.5%;width:5.7%;height:3.8%;z-index:55}
body.landscape-reference-live .lr-art-hit.tutorial-gotit.tutorial-dismissed{display:none}
body.landscape-reference-live .lr-art-hit.buyer-wait-button{left:67.7%;top:75.1%;width:9.6%;height:3.1%;z-index:55}
body.landscape-reference-live .lr-art-hit.favor-help-button{left:88.4%;top:69.1%;width:5.5%;height:4.0%;z-index:55}
body.landscape-reference-live .lr-art-hit.favor-refuse-button{left:88.4%;top:73.8%;width:5.5%;height:4.0%;z-index:55}
body.landscape-reference-live .lr-art-hit.city-prev{left:23.8%;top:85.2%;width:2.5%;height:8.5%;z-index:55}
body.landscape-reference-live .lr-art-hit.city-next{left:97.1%;top:85.2%;width:2.5%;height:8.5%;z-index:55}

/* Android browsers sometimes refuse screen.orientation.lock unless the PWA is
   fullscreen or device auto-rotate is enabled. In that case rotate the actual
   16:9 master renderer in CSS so gameplay remains landscape-only and usable. */
body.android-virtual-landscape{overflow:hidden!important;width:100vw!important;height:100vh!important;background:#020505!important}
body.android-virtual-landscape .landscape-only-overlay{display:none!important}
body.android-virtual-landscape .app-shell{display:block!important;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;overflow:visible!important}
body.android-virtual-landscape #landscapeReferenceShell{display:block!important;position:fixed!important;left:50%!important;top:50%!important;width:100vh!important;height:100vw!important;max-width:none!important;max-height:none!important;margin:0!important;transform:translate(-50%,-50%) rotate(90deg)!important;transform-origin:center center!important;z-index:9000!important}
body.android-virtual-landscape .modal-backdrop,
body.android-virtual-landscape .event-card-reveal,
body.android-virtual-landscape .journey-splash,
body.android-virtual-landscape .board-dice-overlay,
body.android-virtual-landscape .action-splash{transform:rotate(90deg)!important;transform-origin:center center!important;width:100vh!important;height:100vw!important;left:50%!important;top:50%!important;translate:-50% -50%!important}


/* ============================================================
   BORDER RUN v4.2.5b — ACHIEVEMENT TRIGGERS + PRIMARY DICE
   + STRICT BUYER GATE + DYNAMIC 3D PIECES + LANDSCAPE SCROLL
   ============================================================ */
/* The approved screenshot has an achievement card baked into the art. Cover it
   during ordinary play and reveal it only while a real unlock is firing. */
body.landscape-reference-live .lr-achievement-idle-cover{
  position:absolute;left:72.08%;top:6.45%;width:27.10%;height:39.85%;z-index:38;
  box-sizing:border-box;padding:5.5% 6%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5%;
  border:1px solid rgba(210,172,78,.33);border-radius:7px;
  background:radial-gradient(circle at 50% 16%,rgba(76,215,202,.08),transparent 34%),linear-gradient(180deg,rgba(8,12,12,.995),rgba(4,7,7,.995));
  box-shadow:inset 0 0 34px rgba(0,0,0,.55);color:#e8d6a3;text-align:center;pointer-events:auto;
  transition:opacity .28s ease,transform .28s ease;
}
body.landscape-reference-live .lr-achievement-idle-cover span{font:900 clamp(7px,.72vw,12px)/1 Arial,sans-serif;letter-spacing:.20em;color:#61d4c9}
body.landscape-reference-live .lr-achievement-idle-cover strong{font:900 clamp(18px,2.2vw,38px)/.95 Georgia,serif;letter-spacing:.04em;color:#f0dfad}
body.landscape-reference-live .lr-achievement-idle-cover small{max-width:78%;font:700 clamp(7px,.65vw,11px)/1.45 Arial,sans-serif;color:#a9ad9b}
body.landscape-reference-live .lr-achievement-idle-cover button{min-width:56%;min-height:11%;border-radius:5px;border:1px solid rgba(210,172,78,.35);background:linear-gradient(180deg,#1f241d,#0c100e);color:#e8d5a2;font:900 clamp(7px,.62vw,10px)/1 Arial,sans-serif;letter-spacing:.10em;cursor:pointer}
body.reference-achievement-live.landscape-reference-live .lr-achievement-idle-cover{opacity:0;transform:scale(.985);pointer-events:none}
body.reference-achievement-live.landscape-reference-live .lr-art-cover.achievement{animation:referenceAchievementTrigger 4.8s cubic-bezier(.2,.8,.2,1) both}
@keyframes referenceAchievementTrigger{0%{filter:brightness(.65);transform:scale(.97)}8%{filter:brightness(1.5) saturate(1.15);transform:scale(1.02)}18%,88%{filter:brightness(1);transform:scale(1)}100%{filter:brightness(.9);transform:scale(1)}}

/* Primary dice control. It is visible only when the current underlying turn
   actually exposes a roll action. */
body.landscape-reference-live .lr-primary-roll{
  position:absolute;left:50.2%;top:72.7%;width:7.2%;height:6.3%;z-index:66;
  display:grid;grid-template-columns:34% 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:5%;
  padding:5% 9%;box-sizing:border-box;border-radius:999px;border:1px solid rgba(228,190,86,.62);
  background:linear-gradient(180deg,#d9a733,#9c6d18);box-shadow:0 8px 20px rgba(0,0,0,.42),inset 0 1px rgba(255,247,211,.38),0 0 0 2px rgba(4,12,12,.68);
  color:#10110e;cursor:pointer;touch-action:manipulation;transform-origin:center;
}
body.landscape-reference-live .lr-primary-roll[hidden]{display:none!important}
body.landscape-reference-live .lr-primary-roll.ready{animation:referenceRollReady 1.8s ease-in-out infinite}
body.landscape-reference-live .lr-primary-roll span{grid-row:1/3;font-size:clamp(17px,2vw,34px);filter:drop-shadow(0 1px rgba(255,255,255,.3))}
body.landscape-reference-live .lr-primary-roll b{align-self:end;font:900 clamp(8px,.8vw,14px)/1 Arial,sans-serif;letter-spacing:.08em}
body.landscape-reference-live .lr-primary-roll small{align-self:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:900 clamp(5px,.46vw,8px)/1 Arial,sans-serif;letter-spacing:.04em}
@keyframes referenceRollReady{50%{box-shadow:0 8px 20px rgba(0,0,0,.42),inset 0 1px rgba(255,247,211,.38),0 0 0 3px rgba(83,223,211,.24);transform:translateY(-1px)}}

/* Wait-for-buyer panel is only exposed when there is NO buyer in the player's
   current city. Otherwise a live status cover replaces the baked wait panel. */
body.landscape-reference-live .lr-buyer-state-cover{
  position:absolute;left:66.0%;top:47.0%;width:12.0%;height:31.8%;z-index:60;box-sizing:border-box;
  padding:1.0% .75%;border:1px solid rgba(211,174,83,.32);border-radius:6px;
  background:linear-gradient(180deg,rgba(10,14,14,.995),rgba(12,10,8,.995));color:#decea5;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4%;pointer-events:auto;
}
body.landscape-reference-live .lr-buyer-state-cover.hidden{display:none!important}
body.landscape-reference-live .lr-buyer-state-cover span{font:900 clamp(7px,.72vw,12px)/1 Arial,sans-serif;letter-spacing:.13em;color:#61d5ca}
body.landscape-reference-live .lr-buyer-state-cover strong{font:900 clamp(11px,1.25vw,21px)/1 Georgia,serif;color:#eedca8}
body.landscape-reference-live .lr-buyer-state-cover b{font:900 clamp(15px,1.7vw,28px)/1 Georgia,serif;color:#9cce45}
body.landscape-reference-live .lr-buyer-state-cover small{font:700 clamp(6px,.6vw,10px)/1.4 Arial,sans-serif;color:#b8b49d}
body.landscape-reference-live .lr-buyer-state-cover button{width:100%;min-height:15%;border-radius:5px;border:1px solid rgba(106,220,207,.35);background:linear-gradient(180deg,#194a45,#0d2422);color:#eef4dd;font:900 clamp(7px,.62vw,10px)/1 Arial,sans-serif;letter-spacing:.08em;cursor:pointer}
body.landscape-reference-live .lr-art-hit.live.buyer[disabled]{pointer-events:none!important;cursor:default!important}

/* Fully dynamic miniature rig: body, glass, depth facets and wheels live on a
   preserve-3d nested stage. Paint/rim/body upgrade overlays remain in the rig. */
.ride-render.token-3d.board-game-piece{perspective:340px!important;transform-style:preserve-3d!important}
.ride-render.token-3d.board-game-piece .piece-3d-motion{
  position:absolute;inset:0;display:block;transform-style:preserve-3d;transform-origin:50% 72%;
  transform:perspective(340px) rotateX(calc(-5deg + var(--piece-pitch,0deg))) rotateY(var(--piece-yaw,-7deg)) translateZ(7px);
  transition:transform .22s cubic-bezier(.2,.8,.2,1);will-change:transform;
}
.ride-render.token-3d.board-game-piece .piece-3d-motion>img{transform:translateZ(13px)!important;backface-visibility:hidden}
.ride-render.token-3d.board-game-piece .render-paint-layer{transform:translateZ(14px)!important}
.ride-render.token-3d.board-game-piece .piece-clearcoat{transform:translateZ(16px)!important}
.ride-render.token-3d.board-game-piece .piece-glass-plane{position:absolute;left:31%;right:25%;top:23%;height:24%;z-index:15;border-radius:42% 38% 22% 20%;background:linear-gradient(135deg,rgba(194,237,240,.25),rgba(22,54,61,.05) 62%,rgba(255,255,255,.16));filter:blur(.25px);transform:translateZ(18px) skewX(-9deg);pointer-events:none;mix-blend-mode:screen}
.ride-render.token-3d.board-game-piece .piece-depth{position:absolute;z-index:4;pointer-events:none;opacity:.82;background:linear-gradient(180deg,rgba(70,73,67,.92),rgba(18,21,20,.96));border:1px solid rgba(255,222,158,.10)}
.ride-render.token-3d.board-game-piece .piece-depth-left{left:12%;bottom:23%;width:10%;height:31%;transform:translateZ(1px) skewY(16deg)}
.ride-render.token-3d.board-game-piece .piece-depth-right{right:9%;bottom:24%;width:11%;height:28%;transform:translateZ(2px) skewY(-14deg)}
.ride-render.token-3d.board-game-piece .piece-depth-roof{left:32%;right:28%;top:20%;height:10%;border-radius:45%;transform:translateZ(8px) rotateX(62deg)}
.lr-master-player-piece.master-moving .ride-render.token-3d.board-game-piece .piece-3d-motion,
.board-moving-piece.driving .ride-render.token-3d.board-game-piece .piece-3d-motion{animation:dynamic3dSuspension .24s ease-in-out infinite alternate}
@keyframes dynamic3dSuspension{from{transform:perspective(340px) rotateX(calc(-7deg + var(--piece-pitch,0deg))) rotateY(var(--piece-yaw,-7deg)) translate3d(0,1px,7px)}to{transform:perspective(340px) rotateX(calc(-3deg + var(--piece-pitch,0deg))) rotateY(var(--piece-yaw,-7deg)) translate3d(0,-2px,11px)}}
.lr-master-player-piece:hover .ride-render.token-3d.board-game-piece .piece-3d-motion{transform:perspective(340px) rotateX(calc(-7deg + var(--piece-pitch,0deg))) rotateY(calc(var(--piece-yaw,-7deg) + 5deg)) translateZ(13px)}

/* Non-vehicle Tokins also become physical extruded miniatures. */
.tokin-game-piece.dynamic-3d-tokin{perspective:240px!important;transform-style:preserve-3d!important;overflow:visible!important}
.tokin-game-piece.dynamic-3d-tokin .tokin-3d-rig{position:absolute;inset:4%;display:block;transform-style:preserve-3d;transform:perspective(240px) rotateX(58deg) rotateZ(-8deg) translateZ(8px);animation:tokin3dIdle 2.6s ease-in-out infinite}
.tokin-game-piece.dynamic-3d-tokin .tokin-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 34% 28%,#f1df9c,#ae7e25 55%,#4d3411 100%);border:2px solid #d5b45f;color:#17130a;font-style:normal;font-weight:900;box-shadow:inset 0 0 0 2px rgba(255,245,195,.18);transform:translateZ(8px)}
.tokin-game-piece.dynamic-3d-tokin .tokin-edge{position:absolute;inset:0;border-radius:50%;background:#6c4b19;transform:translateZ(2px);box-shadow:0 5px 0 #3a280f,0 8px 12px rgba(0,0,0,.45)}
.tokin-game-piece.dynamic-3d-tokin .tokin-back{position:absolute;inset:0;border-radius:50%;background:#3b2d18;transform:translateZ(-4px)}
.tokin-game-piece.dynamic-3d-tokin .tokin-shadow{position:absolute;left:12%;right:12%;bottom:-8%;height:19%;border-radius:50%;background:rgba(0,0,0,.45);filter:blur(4px);transform:scaleY(.55)}
.board-moving-piece .tokin-game-piece.dynamic-3d-tokin .tokin-3d-rig,.lr-master-player-piece.master-moving .tokin-game-piece.dynamic-3d-tokin .tokin-3d-rig{animation:tokin3dMove .36s linear infinite}
@keyframes tokin3dIdle{50%{transform:perspective(240px) rotateX(55deg) rotateZ(5deg) translateZ(12px)}}
@keyframes tokin3dMove{to{transform:perspective(240px) rotateX(58deg) rotateZ(352deg) translateZ(10px)}}

/* Landscape submenu scrolling. The full modal is a scroll surface, while the
   action row stays reachable at the bottom. This overrides old nested-scroll
   rules that could trap touch scrolling on Android. */
body.landscape-reference-live .modal{overflow-y:auto!important;overflow-x:hidden!important;place-items:center!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important;padding:8px!important}
body.landscape-reference-live .modal-card{
  width:min(94vw,920px)!important;max-height:calc(100dvh - 16px)!important;min-height:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;touch-action:pan-y!important;
  display:block!important;scrollbar-width:thin!important;scrollbar-gutter:stable!important;
}
body.landscape-reference-live .modal-card #modalKicker,
body.landscape-reference-live .modal-card #modalTitle,
body.landscape-reference-live .modal-card #modalBody,
body.landscape-reference-live .modal-card #modalExtra{display:block!important;overflow:visible!important;max-height:none!important;min-height:0!important;touch-action:pan-y!important}
body.landscape-reference-live .modal-card #modalActions{position:sticky!important;bottom:-1px!important;z-index:30!important;margin-top:12px!important;padding-top:10px!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(20,20,16,.15),rgba(20,20,16,.98) 24%)!important;backdrop-filter:blur(5px)}
body.landscape-reference-live .modal-card::-webkit-scrollbar{width:7px}
body.landscape-reference-live .modal-card::-webkit-scrollbar-thumb{background:linear-gradient(#51d4c9,#c79b42);border-radius:999px}
body.android-virtual-landscape .modal,body.android-virtual-landscape .modal-card,body.android-virtual-landscape .modal-card #modalExtra{touch-action:auto!important;-webkit-overflow-scrolling:touch!important}


/* v4.2.5b follow-up: the buyer panel is always state-rendered above the baked
   artwork, so the wait action and outcome table cannot disagree with gameplay. */
body.landscape-reference-live .lr-buyer-mini-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%}
body.landscape-reference-live .lr-buyer-mini-outcomes i{display:block;padding:5px 4px;border-radius:4px;border:1px solid rgba(222,180,79,.14);background:rgba(255,255,255,.025);font:900 clamp(5px,.45vw,8px)/1 Arial,sans-serif;color:#cdbd90;font-style:normal;letter-spacing:.03em}
/* Remove the old flat Tokin disc when the new 3D miniature rig is used. */
.tokin-game-piece.dynamic-3d-tokin{background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important;color:inherit!important}
.vehicle-pawn.tokin-pawn .tokin-game-piece.dynamic-3d-tokin,.table-pawn-render.tokin-game-piece.dynamic-3d-tokin,.journey-token-render.tokin-game-piece.dynamic-3d-tokin,.mini-pawn-render.tokin-game-piece.dynamic-3d-tokin{border:0!important}
.token-greenleaf.dynamic-3d-tokin .tokin-face,.token-potleaf.dynamic-3d-tokin .tokin-face{background:radial-gradient(circle at 34% 28%,#bfe399,#4e8958 55%,#183722 100%)!important}
.token-purplesmoke.dynamic-3d-tokin .tokin-face{background:radial-gradient(circle at 34% 28%,#d4a5e1,#714b85 58%,#291c31 100%)!important}
.token-goldfoil.dynamic-3d-tokin .tokin-face,.token-420.dynamic-3d-tokin .tokin-face{background:radial-gradient(circle at 34% 28%,#fff2aa,#c59431 58%,#503514 100%)!important}
.token-bong.dynamic-3d-tokin .tokin-face{background:radial-gradient(circle at 34% 28%,#c0f2ec,#4a9992 58%,#183c39 100%)!important}
.token-peace.dynamic-3d-tokin .tokin-face{background:radial-gradient(circle at 34% 28%,#f2e4bd,#9b8355 58%,#31291b 100%)!important}


/* ============================================================
   BORDER RUN v4.2.5b — CONDITIONAL CONTEXT UI + PIECE RENDER FIX
   - Player vehicle image is sized inside the nested 3D motion rig.
   - Achievement artwork exists only as a triggered overlay.
   - City / buyer / hustle / favor panes exist only when relevant.
   - Primary roll lives in the top-bar gap beside Cargo.
   ============================================================ */

/* The nested 3D stage caused the real vehicle bitmap to miss the old direct-child
   sizing selectors. Make the nested image a full physical layer and keep an icon
   fallback visible until an image actually loads. */
.ride-render.token-3d.board-game-piece .piece-3d-motion>img{
  display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center bottom!important;z-index:13!important;opacity:1!important;
  border:0!important;border-radius:0!important;max-width:none!important;max-height:none!important;
  filter:drop-shadow(0 8px 6px rgba(0,0,0,.5)) saturate(1.04) contrast(1.03)!important;
  backface-visibility:hidden!important;transform:translateZ(13px)!important;
}
.ride-render.token-3d.board-game-piece .piece-fallback-vehicle{
  position:absolute;inset:12% 8% 18%;z-index:11;display:grid;place-items:center;font-style:normal;
  font-size:clamp(28px,3vw,54px);filter:drop-shadow(0 8px 5px rgba(0,0,0,.55));opacity:.9;transition:opacity .1s linear;
}
.ride-render.token-3d.board-game-piece .piece-3d-motion.piece-image-ok .piece-fallback-vehicle{opacity:0!important}
body.landscape-reference-live .lr-master-player-piece.lr-art-player{z-index:49!important;filter:drop-shadow(0 5px 4px rgba(0,0,0,.48))}
body.landscape-reference-live .lr-master-player-piece.lr-art-player .ride-render,
body.landscape-reference-live .lr-master-player-piece.lr-art-player .tokin-game-piece{visibility:visible!important;opacity:1!important}

/* The approved screenshot contains static right-side cards baked into the image.
   Mask that region, then add only the state-relevant live cards. */
body.landscape-reference-live .artwork-master-renderer .lr-context-clear{
  position:absolute;left:55.05%;top:46.65%;width:44.85%;height:34.35%;z-index:35;pointer-events:none;
  border-radius:7px;background:linear-gradient(180deg,rgba(3,8,8,.985),rgba(5,8,8,.995));
  box-shadow:inset 0 0 0 1px rgba(211,174,83,.12),inset 0 12px 26px rgba(0,0,0,.35);
}
body.landscape-reference-live .artwork-master-renderer .lr-context-panel{
  position:absolute;top:47.0%;height:31.8%;z-index:61;box-sizing:border-box;overflow:hidden;
  padding:.68% .62%;border:1px solid rgba(211,174,83,.30);border-radius:6px;
  background:linear-gradient(180deg,rgba(10,14,14,.995),rgba(11,10,8,.997));color:#dfd0a8;
  box-shadow:0 8px 18px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.018);
  display:flex;flex-direction:column;gap:3.2%;pointer-events:auto;
}
body.landscape-reference-live .artwork-master-renderer .lr-context-panel[hidden]{display:none!important}
body.landscape-reference-live .lr-context-panel.city{left:55.2%;width:10.4%}
body.landscape-reference-live .lr-context-panel.buyer{left:66.0%;width:12.0%}
body.landscape-reference-live .lr-context-panel.hustle{left:78.35%;width:8.1%}
body.landscape-reference-live .lr-context-panel.favor{left:86.75%;width:12.1%}
body.landscape-reference-live .lr-context-kicker{font:900 clamp(6px,.58vw,10px)/1 Arial,sans-serif;letter-spacing:.13em;color:#59d4c9;text-transform:uppercase}
body.landscape-reference-live .lr-context-kicker.danger{color:#c895ef}
body.landscape-reference-live .lr-context-panel>strong{font:900 clamp(10px,1.05vw,18px)/1.02 Georgia,serif;color:#efddaa;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}
body.landscape-reference-live .lr-context-panel>small{font:700 clamp(5px,.48vw,8px)/1.35 Arial,sans-serif;color:#beb597}
body.landscape-reference-live .lr-context-rows{display:grid;gap:2.2%;min-height:0;overflow:hidden}
body.landscape-reference-live .lr-context-row,body.landscape-reference-live .lr-context-rows.outcomes>div{display:flex;justify-content:space-between;gap:5%;padding:3% 0;border-bottom:1px solid rgba(222,188,99,.12);font:800 clamp(5px,.43vw,7px)/1 Arial,sans-serif}
body.landscape-reference-live .lr-context-row span,body.landscape-reference-live .lr-context-rows.outcomes span{color:#bdb69b}
body.landscape-reference-live .lr-context-row b,body.landscape-reference-live .lr-context-rows.outcomes b{color:#72d2c8;text-align:right}
body.landscape-reference-live .lr-context-buyer{display:flex;align-items:end;justify-content:space-between;gap:5%;margin-top:auto;padding:5% 0;border-top:1px solid rgba(84,217,203,.18)}
body.landscape-reference-live .lr-context-buyer span{font:900 clamp(5px,.42vw,7px)/1 Arial;color:#59d4c9}.lr-context-buyer b{font:900 clamp(9px,.9vw,15px)/1 Georgia;color:#9fd45b}
body.landscape-reference-live .lr-context-dice{font-size:clamp(17px,2.1vw,36px);letter-spacing:.08em;text-align:center;color:#eadcab;margin:2% 0}
body.landscape-reference-live .lr-context-stakes{margin-top:auto;font:900 clamp(6px,.52vw,9px)/1 Arial;color:#e86f51}
body.landscape-reference-live .lr-context-panel button{width:100%;min-height:12%;margin-top:auto;border:1px solid rgba(91,214,202,.30);border-radius:4px;background:linear-gradient(180deg,#1d4c46,#0b2421);color:#f1e9cc;font:900 clamp(5px,.48vw,8px)/1 Arial;letter-spacing:.07em;cursor:pointer}
body.landscape-reference-live .lr-context-panel button.secondary{margin-top:2%;background:linear-gradient(180deg,#201d1b,#0e0d0c);border-color:rgba(215,174,82,.24)}

/* Achievement is now a true event overlay. The mask only erases the baked art;
   it has no visible achievement UI of its own. */
body.landscape-reference-live .artwork-master-renderer .lr-achievement-mask{
  position:absolute;left:72.0%;top:6.35%;width:27.25%;height:40.05%;z-index:35;pointer-events:none;
  border-radius:7px;background:linear-gradient(180deg,rgba(3,8,8,.995),rgba(4,8,8,.998));
  box-shadow:inset 0 0 0 1px rgba(211,174,83,.10),inset 0 0 32px rgba(0,0,0,.5);
}
body.landscape-reference-live .artwork-master-renderer .lr-art-cover.achievement{
  opacity:0!important;visibility:hidden!important;transform:scale(.975);pointer-events:none!important;
}
body.reference-achievement-live.landscape-reference-live .artwork-master-renderer .lr-art-cover.achievement{
  opacity:1!important;visibility:visible!important;z-index:72!important;transform:scale(1);pointer-events:none!important;
  animation:referenceAchievementTrigger 4.8s cubic-bezier(.2,.8,.2,1) both!important;
}
body.landscape-reference-live .lr-art-hit.achievement-view[hidden]{display:none!important}
/* Retire the v4.2.4t idle achievement card and old buyer state cover completely. */
body.landscape-reference-live .lr-achievement-idle-cover,
body.landscape-reference-live .lr-buyer-state-cover,
body.landscape-reference-live .lr-art-cover.rightcards{display:none!important}

/* Primary dice now occupies the deliberate gap between Cargo and Achievements,
   keeping the geographic board completely unobstructed. */
body.landscape-reference-live .lr-primary-roll{
  left:68.72%!important;top:.58%!important;width:3.15%!important;height:5.05%!important;z-index:76!important;
  padding:.22% .20%!important;border-radius:6px!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr auto!important;place-items:center!important;gap:0!important;
  background:linear-gradient(180deg,#e1b23d,#a87317)!important;border:1px solid rgba(242,205,107,.72)!important;
  box-shadow:0 5px 11px rgba(0,0,0,.38),inset 0 1px rgba(255,250,220,.42),0 0 0 1px rgba(3,8,8,.72)!important;
}
body.landscape-reference-live .lr-primary-roll span{grid-row:auto!important;font-size:clamp(13px,1.38vw,23px)!important;line-height:1!important}
body.landscape-reference-live .lr-primary-roll b{font:900 clamp(5px,.43vw,8px)/1 Arial,sans-serif!important;align-self:auto!important;letter-spacing:.08em!important}
body.landscape-reference-live .lr-primary-roll small{display:none!important}
body.landscape-reference-live .lr-primary-roll.ready{animation:topDiceReady 1.7s ease-in-out infinite!important}
@keyframes topDiceReady{50%{filter:brightness(1.12);box-shadow:0 5px 12px rgba(0,0,0,.38),0 0 0 2px rgba(79,224,211,.26)!important}}

/* Tighten and visually align the upper-right hit zones to the reference art. */
body.landscape-reference-live .lr-art-hit.top.achievements{left:72.25%!important;width:10.05%!important}
body.landscape-reference-live .lr-art-hit.top.awards{left:82.55%!important;width:8.35%!important}
body.landscape-reference-live .lr-art-hit.top.menu{left:91.15%!important;width:7.85%!important}


/* ============================================================
   BORDER RUN v4.2.5b — INDEPENDENT BOARD ZOOM + LANDSCAPE EVENTS
   The map artwork, node hit targets and dynamic player piece zoom together
   inside the map aperture. Telemetry, panels and bottom UI remain fixed.
   ============================================================ */
body.landscape-reference-live .artwork-master-renderer .lr-map-host{
  isolation:isolate!important;touch-action:none!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage{
  position:absolute;inset:0;z-index:1;overflow:visible;
  transform:scale(var(--lr-board-zoom,1));
  transform-origin:var(--lr-board-origin-x,50%) var(--lr-board-origin-y,50%);
  transition:transform .22s cubic-bezier(.2,.75,.2,1);will-change:transform;
}
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;z-index:0;
  pointer-events:none;user-select:none;-webkit-user-drag:none;
}
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-art-board-overlay{z-index:2!important}
body.landscape-reference-live .artwork-master-renderer .lr-board-zoom-controls{
  position:absolute;right:1.1%;top:1.25%;z-index:68;display:grid;grid-template-columns:auto auto auto;gap:4px;
  padding:4px;border-radius:999px;border:1px solid rgba(216,177,86,.28);background:rgba(4,9,9,.86);
  box-shadow:0 7px 16px rgba(0,0,0,.35);backdrop-filter:blur(4px);pointer-events:auto;touch-action:manipulation;
}
body.landscape-reference-live .artwork-master-renderer .lr-board-zoom-controls button{
  min-width:30px;height:28px;padding:0 8px;border-radius:999px;border:1px solid rgba(77,214,203,.25);
  background:linear-gradient(180deg,#12201f,#080d0d);color:#f0dfaf;font:900 15px/1 Arial,sans-serif;cursor:pointer;
}
body.landscape-reference-live .artwork-master-renderer .lr-board-zoom-controls .zoom-badge{
  min-width:52px;color:#5cddd1;font-size:9px;letter-spacing:.06em;border-color:rgba(214,177,86,.22);
}

/* Event draws and collectible/card dialogs remain first-class landscape UI. */
body.landscape-reference-live .event-card-reveal{
  z-index:16000!important;position:fixed!important;inset:0!important;visibility:visible;
}
body.landscape-reference-live .event-card-reveal.active{display:grid!important;opacity:1!important;visibility:visible!important}
body.landscape-reference-live .event-card-reveal.active .event-card-stage{
  width:min(70vw,430px)!important;height:min(88vh,430px)!important;max-height:88vh!important;
}
body.landscape-reference-live .event-card-reveal.active .event-flip-card{
  width:min(30vh,220px)!important;height:min(44vh,320px)!important;max-height:72vh!important;
}
body.landscape-reference-live .event-card-reveal.active .event-deck-stack{
  width:min(28vh,210px)!important;height:min(42vh,310px)!important;
}
body.landscape-reference-live .event-card-reveal.active .event-card-front{padding:min(3vh,22px) min(2.3vh,17px)!important}
body.landscape-reference-live .event-card-reveal.active .event-card-symbol{width:min(8vh,58px)!important;height:min(8vh,58px)!important;margin:min(2vh,16px) 0 min(1.6vh,12px)!important;font-size:min(4.6vh,34px)!important}
body.landscape-reference-live .event-card-reveal.active .event-card-front h2{font-size:min(3.1vh,22px)!important}
body.landscape-reference-live .event-card-reveal.active .event-card-front p,
body.landscape-reference-live .event-card-reveal.active .event-card-effect{font-size:min(1.55vh,10px)!important}
body.landscape-reference-live .modal:not(.hidden){display:grid!important;visibility:visible!important;z-index:16010!important}
body.landscape-reference-live .modal-card{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}

/* User-triggered tutorial only: never reserve modal priority or auto-launch. */
body.landscape-reference-live:not(.reference-tutorial-open) .reference-tutorial-step{animation:none!important}

/* Keep the restored physical piece above its zoomed board art. */
body.landscape-reference-live .lr-map-zoom-stage .lr-master-player-piece.lr-art-player{z-index:49!important}
body.landscape-reference-live .lr-map-zoom-stage .lr-master-player-piece.lr-art-player .piece-3d-motion>img{display:block!important;visibility:visible!important;opacity:1!important}

/* Android virtual-landscape overlay sizes after rotation. */
body.android-virtual-landscape .event-card-reveal.active .event-card-stage{width:min(70vh,430px)!important;height:min(88vw,430px)!important}
body.android-virtual-landscape .modal:not(.hidden){overflow:auto!important}


/* ============================================================
   BORDER RUN v4.2.5b — PORTRAIT MAP + TROPHY CASE + 3D RECOVERY
   ============================================================ */

/* Portrait is now a real layout, not a rotated 16:9 canvas. */
.pr-brand,.pr-top-actions,.pr-route-tabs,.pr-bottom-nav,.pr-city-strip{display:none}
body.portrait-reference-live{overflow:hidden!important;background:#030707!important}
body.portrait-reference-live .app-shell{width:100vw!important;height:100dvh!important;min-height:100dvh!important;padding:0!important;overflow:hidden!important;background:#030707!important}
body.portrait-reference-live #landscapeReferenceShell.artwork-master-renderer{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;display:block!important;background:#03100f!important;overflow:hidden!important}
body.portrait-reference-live .artwork-master-renderer .lr-art-bg{display:none!important}
body.portrait-reference-live .pr-brand{display:flex;position:absolute;left:6px;top:max(5px,env(safe-area-inset-top));width:126px;height:35px;z-index:92;flex-direction:column;justify-content:center;padding:0 8px;border:1px solid rgba(214,175,93,.28);border-radius:8px;background:rgba(5,9,9,.94);box-shadow:0 6px 14px rgba(0,0,0,.3)}
body.portrait-reference-live .pr-brand strong{font:900 17px/.9 Georgia,serif;color:#efdfb5;white-space:nowrap;text-shadow:0 2px #000}
body.portrait-reference-live .pr-brand span{margin-top:3px;font:900 6px/1 Arial,sans-serif;letter-spacing:.22em;color:#d99a36}
body.portrait-reference-live .pr-top-actions{display:grid;position:absolute;right:6px;top:max(5px,env(safe-area-inset-top));grid-template-columns:repeat(3,34px);gap:4px;z-index:94}
body.portrait-reference-live .pr-top-actions button{width:34px;height:35px;border-radius:8px;border:1px solid rgba(214,175,93,.28);background:rgba(5,9,9,.95);color:#e9d9ab;font-size:16px;box-shadow:0 6px 14px rgba(0,0,0,.28)}
body.portrait-reference-live .artwork-master-renderer .lr-telemetry{display:grid!important;position:absolute!important;left:6px!important;right:6px!important;top:44px!important;width:auto!important;height:31px!important;z-index:91!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important}
body.portrait-reference-live .artwork-master-renderer .lr-metric{height:31px!important;min-height:0!important;padding:0 5px!important;border-radius:6px!important;background:rgba(6,11,11,.94)!important}
body.portrait-reference-live .artwork-master-renderer .lr-metric b{font-size:12px!important;letter-spacing:.04em!important}
body.portrait-reference-live .artwork-master-renderer .lr-metric span{font-size:8px!important;overflow:hidden;text-overflow:ellipsis!important}
body.portrait-reference-live .pr-route-tabs{display:grid;position:absolute;left:7px;top:81px;z-index:89;grid-template-columns:repeat(3,auto);gap:4px}
body.portrait-reference-live .pr-route-tabs button{min-height:28px;padding:0 9px;border-radius:999px;border:1px solid rgba(77,213,201,.28);background:rgba(4,11,11,.86);color:#d9c99b;font:900 7px/1 Arial,sans-serif;letter-spacing:.07em;box-shadow:0 5px 12px rgba(0,0,0,.28)}
body.portrait-reference-live .pr-route-tabs button:nth-child(1){border-color:rgba(78,209,235,.42)}
body.portrait-reference-live .pr-route-tabs button:nth-child(2){border-color:rgba(232,194,83,.42)}
body.portrait-reference-live .pr-route-tabs button:nth-child(3){border-color:rgba(108,210,151,.42)}
body.portrait-reference-live .pr-map-fix-baja{display:block;position:absolute;left:0;bottom:70px;width:min(26vw,150px);height:min(19vh,170px);z-index:79;pointer-events:none;border-top:1px solid rgba(80,214,202,.14);border-right:1px solid rgba(214,175,93,.16);border-top-right-radius:16px;background:linear-gradient(180deg,rgba(5,28,36,.18),rgba(3,14,18,.82) 46%,rgba(2,8,10,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
body.portrait-reference-live .pr-map-fix-baja strong{position:absolute;left:10px;bottom:32px;color:#e8ddb6;font:900 12px/1 Georgia,serif;letter-spacing:.05em;text-shadow:0 1px 2px #000}
body.portrait-reference-live .pr-map-fix-baja span{position:absolute;left:10px;bottom:16px;color:#5ed9cf;font:900 7px/1 Arial,sans-serif;letter-spacing:.16em}
body.landscape-reference-live .pr-map-fix-baja{display:none!important}
body.portrait-reference-live .lr-context-panel:empty{display:none!important}
body.portrait-reference-live .lr-primary-roll[hidden]{display:grid!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
body.portrait-reference-live .lr-primary-roll:not([hidden]){display:grid!important;visibility:visible!important;opacity:1!important}

/* The board owns the screen. Only the bottom system row is excluded. */
body.landscape-reference-live .artwork-master-renderer .lr-map-host{left:9.74%!important;top:5.75%!important;width:89.2%!important;height:74.32%!important;z-index:38!important}
body.landscape-reference-live .artwork-master-renderer .lr-context-clear,
body.landscape-reference-live .artwork-master-renderer .lr-achievement-mask{display:none!important}
body.landscape-reference-live .artwork-master-renderer .lr-context-panel{background:linear-gradient(180deg,rgba(7,13,13,.88),rgba(8,9,8,.94))!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;box-shadow:0 8px 22px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.02)!important}
body.landscape-reference-live.reference-context-empty .artwork-master-renderer .lr-map-host{width:89.2%!important}
body.portrait-reference-live .artwork-master-renderer .lr-map-host{position:absolute!important;left:0!important;top:78px!important;width:100%!important;height:calc(100dvh - 134px)!important;z-index:38!important;background:#031211!important;overflow:hidden!important}
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop{object-fit:fill!important;object-position:center!important;filter:saturate(1.04) contrast(1.02)}
body.portrait-reference-live .artwork-master-renderer .lr-art-board-overlay{inset:0!important}
body.portrait-reference-live .artwork-master-renderer .lr-art-space-hit{width:4.2%!important;min-width:18px!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{width:clamp(72px,20vw,104px)!important;height:clamp(48px,13vw,70px)!important;z-index:70!important}
body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls{right:8px!important;top:42px!important;z-index:88!important}

/* Context information becomes a small horizontal overlay deck above the map edge. */
.lr-context-overlay-stack{display:contents}
body.portrait-reference-live .lr-context-overlay-stack{display:flex!important;position:absolute;left:6px;right:6px;bottom:119px;z-index:82;gap:7px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;pointer-events:auto;padding:1px 0 3px}
body.portrait-reference-live .lr-context-overlay-stack::-webkit-scrollbar{display:none}
body.portrait-reference-live .artwork-master-renderer .lr-context-panel{position:relative!important;left:auto!important;top:auto!important;width:min(70vw,300px)!important;min-width:min(70vw,300px)!important;height:auto!important;max-height:22dvh!important;flex:0 0 min(70vw,300px)!important;padding:9px!important;border-radius:10px!important;overflow-y:auto!important;scroll-snap-align:end;background:rgba(6,12,12,.87)!important;backdrop-filter:blur(7px)!important}
body.portrait-reference-live .lr-context-panel>strong{font-size:15px!important}
body.portrait-reference-live .lr-context-panel>small{font-size:9px!important}
body.portrait-reference-live .lr-context-row,body.portrait-reference-live .lr-context-rows.outcomes>div{font-size:8px!important;padding:5px 0!important}
body.portrait-reference-live .lr-context-panel button{min-height:34px!important;font-size:9px!important}

/* Stable portrait Roll control: map corner, away from context cards and city strip. */
body.portrait-reference-live .lr-primary-roll{display:grid!important;left:auto!important;right:8px!important;top:82px!important;width:62px!important;height:48px!important;z-index:95!important;border-radius:11px!important;grid-template-columns:28px 1fr!important;grid-template-rows:1fr!important;padding:4px 6px!important}
body.portrait-reference-live .lr-primary-roll span{font-size:23px!important;grid-row:1!important}
body.portrait-reference-live .lr-primary-roll b{font-size:9px!important;grid-column:2!important;grid-row:1!important}

/* Compact city carousel floats over the map; permanent system controls own the bottom row. */
body.portrait-reference-live .pr-city-strip{display:flex;position:absolute;left:0;right:0;bottom:56px;height:60px;z-index:78;gap:5px;padding:5px 7px;overflow-x:auto;scrollbar-width:none;background:linear-gradient(180deg,rgba(2,8,8,.05),rgba(2,8,8,.82));pointer-events:auto}
body.portrait-reference-live .pr-city-strip::-webkit-scrollbar{display:none}
body.portrait-reference-live .pr-city-card{flex:0 0 100px;height:50px;border:1px solid rgba(214,175,93,.30);border-radius:8px;background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55)),var(--pr-city-image);background-size:cover;background-position:center;color:#f0dfad;display:flex;align-items:flex-end;padding:5px;font:900 8px/1 Georgia,serif;text-transform:uppercase;text-shadow:0 1px 2px #000}
body.portrait-reference-live .pr-bottom-nav{display:grid;position:absolute;left:0;right:0;bottom:0;height:56px;z-index:96;grid-template-columns:repeat(5,1fr);gap:4px;padding:4px max(5px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));background:rgba(3,8,8,.97);border-top:1px solid rgba(214,175,93,.24)}
body.portrait-reference-live .pr-bottom-nav button{border:1px solid rgba(214,175,93,.18);border-radius:8px;background:linear-gradient(180deg,#111715,#070a09);color:#e8d9af;display:grid;place-items:center;align-content:center;gap:3px}
body.portrait-reference-live .pr-bottom-nav span{font-size:17px}.pr-bottom-nav b{font:900 6px/1 Arial,sans-serif;letter-spacing:.05em}
body.portrait-reference-live .lr-art-hit-layer{display:none!important}

/* Achievement trigger is a toast over the map, never a permanent pane. */
body.portrait-reference-live .artwork-master-renderer .lr-art-cover.achievement{left:auto!important;right:8px!important;top:82px!important;width:min(74vw,310px)!important;height:auto!important;max-height:27dvh!important;object-fit:contain!important;border-radius:10px!important;box-shadow:0 12px 30px rgba(0,0,0,.52)!important}
body.wide-reference-live .artwork-master-renderer .lr-art-cover.achievement{max-width:28vw}

/* Trophy-case menus. */
.trophy-case-shell{display:grid;gap:12px;padding:4px 1px 8px}
.trophy-case-header{padding:14px;border-radius:14px;border:1px solid rgba(213,175,86,.32);background:radial-gradient(circle at 50% 0,rgba(225,177,66,.16),transparent 46%),linear-gradient(180deg,#151713,#090b0a);text-align:center;box-shadow:inset 0 0 26px rgba(220,176,73,.06)}
.trophy-case-header span{display:block;color:#61d6cb;font:900 9px/1 Arial,sans-serif;letter-spacing:.18em}.trophy-case-header strong{display:block;margin:7px 0 5px;color:#f0dfae;font:900 clamp(24px,5vw,40px)/.95 Georgia,serif}.trophy-case-header small{color:#aaa58e;font:700 10px/1.35 Arial,sans-serif}
.trophy-case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:9px;perspective:700px}
.trophy-case-tile{position:relative;min-height:154px;padding:10px 8px 9px;border-radius:13px;border:1px solid rgba(214,175,93,.24);background:linear-gradient(180deg,rgba(24,27,22,.98),rgba(8,11,10,.99));display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 16px rgba(0,0,0,.28)}
.trophy-case-tile:before{content:"";position:absolute;left:10%;right:10%;top:7%;height:58%;border-radius:50% 50% 12px 12px;background:radial-gradient(ellipse at 50% 20%,rgba(255,238,177,.16),rgba(255,238,177,0) 65%);pointer-events:none}
.trophy-case-pedestal{position:relative;width:70px;height:70px;display:grid;place-items:center;margin:0 auto 7px;transform:perspective(240px) rotateX(-5deg);z-index:2}
.achievement-badge-art{display:block;width:62px;height:62px;border-radius:16px;background:center/cover no-repeat;box-shadow:0 8px 18px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.08)}
.trophy-case-pedestal:before{content:"";position:absolute;left:7px;right:7px;bottom:2px;height:17px;border-radius:50%;background:linear-gradient(180deg,#b78c3e,#4e3618);box-shadow:0 6px 9px rgba(0,0,0,.45),inset 0 2px rgba(255,235,176,.18)}
.trophy-case-pedestal span{position:relative;z-index:2;font-size:42px;filter:drop-shadow(0 5px 3px rgba(0,0,0,.45))}
.trophy-case-tile strong{position:relative;z-index:2;color:#e9d7a6;font:900 11px/1.1 Georgia,serif}.trophy-case-tile small{position:relative;z-index:2;margin-top:5px;color:#9fa28f;font:700 8px/1.25 Arial,sans-serif}.trophy-case-tile i{position:relative;z-index:2;margin-top:auto;padding-top:8px;color:#6dd9ce;font:900 7px/1 Arial,sans-serif;letter-spacing:.12em;font-style:normal}
.trophy-case-tile.locked{filter:grayscale(.92) brightness(.48);opacity:.58}.trophy-case-tile.locked .trophy-case-pedestal span{filter:grayscale(1) drop-shadow(0 4px 3px #000)}.trophy-case-tile.earned{box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 16px rgba(0,0,0,.28),0 0 16px rgba(222,177,71,.07)}

/* Authoritative visual plane for every vehicle. The local asset is also painted
   as a CSS layer so nested <img> quirks cannot make the miniature disappear. */
.ride-render.token-3d.board-game-piece .piece-3d-motion:before,
.ride-render.token-3d.board-game-piece .piece-3d-motion:after{content:"";position:absolute;inset:0;background-image:var(--piece-image);background-repeat:no-repeat;background-position:center bottom;background-size:contain;pointer-events:none}
.ride-render.token-3d.board-game-piece .piece-3d-motion:after{z-index:10;opacity:.38;filter:brightness(.22) saturate(.7);transform:translate3d(-3px,5px,3px) scale(.985)}
.ride-render.token-3d.board-game-piece .piece-3d-motion:before{z-index:13;transform:translateZ(13px);filter:drop-shadow(0 8px 6px rgba(0,0,0,.52)) saturate(1.05) contrast(1.03)}
.ride-render.token-3d.board-game-piece .piece-3d-motion>img{opacity:0!important;pointer-events:none!important}
.ride-render.token-3d.board-game-piece .piece-fallback-vehicle{z-index:9!important;opacity:.82!important}
.ride-render.token-3d.board-game-piece .piece-3d-motion.piece-image-ok .piece-fallback-vehicle{opacity:.12!important}
.ride-render.token-3d.board-game-piece{min-width:44px!important;min-height:30px!important}
.lr-master-player-piece .ride-render.token-3d.board-game-piece{min-width:100%!important;min-height:100%!important}

/* Overlays are now map notifications rather than full-screen blackouts. */
body.landscape-reference-live .action-splash{background:transparent!important;place-items:start end!important;padding:7vh 1.5vw!important}
body.landscape-reference-live .action-splash .splash-backdrop{background:rgba(2,7,7,.12)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.landscape-reference-live .action-splash .splash-motion{opacity:.16!important}
body.landscape-reference-live .action-splash .splash-card{width:min(36vw,350px)!important;padding:15px 14px!important;border-radius:12px!important;background:rgba(14,17,14,.94)!important;box-shadow:0 14px 34px rgba(0,0,0,.45)!important}
body.landscape-reference-live .event-card-reveal .event-card-backdrop{background:rgba(2,7,7,.13)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.landscape-reference-live .event-card-reveal{place-items:start end!important;padding:8vh 2vw!important}
body.landscape-reference-live .event-card-reveal.active .event-card-stage{width:min(32vw,330px)!important;height:min(76vh,430px)!important}
body.landscape-reference-live .unlock-celebration{place-items:start end!important;padding:8vh 2vw!important;background:rgba(2,7,7,.10)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.landscape-reference-live .unlock-celebration-card{width:min(38vw,420px)!important;padding:16px!important;border-radius:14px!important}
body.landscape-reference-live .unlock-burst{width:32vmin!important;height:32vmin!important;right:5vw!important;top:5vh!important}
body.landscape-reference-live .city-d6-overlay{place-items:start end!important;padding:7vh 2vw!important;background:rgba(2,7,7,.08)!important}
body.landscape-reference-live .city-d6-stage{width:min(36vw,390px)!important;min-height:min(78vh,560px)!important;padding:16px 12px!important;background:rgba(13,18,16,.94)!important}
body.landscape-reference-live .board-dice-overlay{background:radial-gradient(circle at 67% 45%,rgba(224,176,72,.11),transparent 28%),rgba(0,0,0,.08)!important}

body.portrait-reference-live .action-splash{padding:82px 8px!important}.portrait-reference-live .action-splash .splash-card{width:min(78vw,320px)!important}
body.portrait-reference-live .event-card-reveal{padding:86px 8px 120px!important}.portrait-reference-live .event-card-reveal.active .event-card-stage{width:min(72vw,310px)!important;height:min(58dvh,410px)!important}
body.portrait-reference-live .unlock-celebration{padding:86px 8px 120px!important}.portrait-reference-live .unlock-celebration-card{width:min(78vw,330px)!important}
body.portrait-reference-live .city-d6-overlay{padding:86px 8px 120px!important}.portrait-reference-live .city-d6-stage{width:min(76vw,330px)!important;min-height:0!important;max-height:62dvh!important;overflow:auto!important}

/* Old landscape-only recovery screen must never hide a playable portrait session. */
body.portrait-reference-live .landscape-only-overlay,body.adaptive-reference-build .landscape-only-overlay{display:none!important}
body.portrait-reference-live .app-shell{display:block!important}

/* v4.2.5b final miniature visibility hardening. Keep the real local image visible
   whenever it loads; pseudo-image/depth layers remain as physical extrusion. */
.ride-render.token-3d.board-game-piece .piece-3d-motion>img{opacity:1!important;visibility:visible!important;display:block!important}
.ride-render.token-3d.board-game-piece .piece-3d-motion.piece-image-ok:before{opacity:.22!important}
.ride-render.token-3d.board-game-piece .piece-3d-motion.piece-image-failed:before,
.ride-render.token-3d.board-game-piece .piece-3d-motion.piece-image-failed:after{display:none!important}
.ride-render.token-3d.board-game-piece .piece-3d-motion.piece-image-failed .piece-fallback-vehicle{opacity:1!important}


/* ============================================================
   BORDER RUN v4.2.5b — PORTRAIT MAP / CONTEXT CITIES / HEAT 0–10
   ============================================================ */
/* Permanent city carousel is gone. A city appears only after map/current selection. */
.pr-city-strip,.lr-art-hit.city-prev,.lr-art-hit.city-next,.lr-art-hit.citycard{display:none!important}
.lr-selected-city-tile{display:none;position:absolute;z-index:74;border:1px solid rgba(215,176,86,.34);border-radius:10px;background:#07100f;color:#f0dfad;overflow:hidden;box-shadow:0 9px 22px rgba(0,0,0,.42);padding:0;text-align:left}
.lr-selected-city-tile[hidden]{display:none!important}
.lr-selected-city-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lr-selected-city-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.82))}
.lr-selected-city-tile b,.lr-selected-city-tile small{position:absolute;z-index:2;left:8px;text-shadow:0 2px 2px #000}.lr-selected-city-tile b{bottom:18px;font:900 14px/1 Georgia,serif}.lr-selected-city-tile small{bottom:7px;color:#67d8cc;font:900 7px/1 Arial,sans-serif;letter-spacing:.1em}
body.wide-reference-live .lr-selected-city-tile:not([hidden]){display:block;left:30%;bottom:1.2%;width:13.5%;height:17.2%}
/* Cover the baked bottom city-photo strip in the old approved screenshot; left-side five system tiles remain. */
body.wide-reference-live .artwork-master-renderer:after{content:"";position:absolute;left:28.4%;right:0;bottom:0;height:19.1%;z-index:32;background:linear-gradient(180deg,#07100f,#020606);border-top:1px solid rgba(214,175,93,.20);pointer-events:none}
body.wide-reference-live .lr-selected-city-tile{z-index:76}

/* Clean board is the scroll surface. No baked right-side city/buyer screenshot cards. */
body.landscape-reference-live .artwork-master-renderer .lr-map-host{overflow:auto!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin;scrollbar-color:rgba(80,214,202,.34) rgba(2,7,7,.4)}
body.landscape-reference-live .artwork-master-renderer .lr-map-host::-webkit-scrollbar{width:5px;height:5px}body.landscape-reference-live .artwork-master-renderer .lr-map-host::-webkit-scrollbar-thumb{background:rgba(80,214,202,.34);border-radius:999px}
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage{position:relative!important;inset:auto!important;overflow:visible!important;transition:width .18s ease,height .18s ease!important;transform:none!important;transform-origin:0 0!important}
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{object-fit:fill!important}

/* Portrait: map fills all space between compact top chrome and bottom system dock. */
body.portrait-reference-live .artwork-master-renderer .lr-map-host{left:0!important;right:0!important;top:76px!important;bottom:56px!important;width:100%!important;height:auto!important;overflow:auto!important;background:#02100f!important}
body.portrait-reference-live .lr-context-overlay-stack{bottom:61px!important;left:5px!important;right:5px!important;max-height:32dvh!important}
body.portrait-reference-live .artwork-master-renderer .lr-context-panel{width:min(82vw,330px)!important;min-width:min(82vw,330px)!important;flex-basis:min(82vw,330px)!important;max-height:30dvh!important;background:rgba(4,10,10,.91)!important}
body.portrait-reference-live .lr-selected-city-tile{display:none!important}
body.portrait-reference-live .lr-primary-roll{right:7px!important;top:80px!important}
body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls{right:7px!important;top:136px!important}

/* Selected city photo and side hustle are part of the city interface, not separate permanent tiles. */
.lr-context-city-photo{position:relative;height:92px;margin:-3px -3px 8px;border-radius:8px;overflow:hidden;background:linear-gradient(160deg,#1a3434,#07100f);border:1px solid rgba(214,175,93,.18)}
.lr-context-city-photo img{width:100%;height:100%;object-fit:cover;display:block}.lr-context-city-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.76))}
.lr-context-city-photo>b,.lr-context-city-photo>small{position:absolute;z-index:2;left:8px}.lr-context-city-photo>b{bottom:20px;color:#f1dfae;font:900 17px/1 Georgia,serif}.lr-context-city-photo>small{bottom:7px;color:#62d9ce;font:900 7px/1 Arial,sans-serif;letter-spacing:.12em}
.lr-city-hustle-inline,.city-inline-hustle{margin-top:8px;padding:9px;border-radius:9px;border:1px solid rgba(83,211,199,.28);background:linear-gradient(180deg,rgba(18,54,50,.72),rgba(5,14,13,.78));display:grid;gap:5px}
.lr-city-hustle-inline>span,.city-inline-hustle>span{color:#5ad7cc;font:900 8px/1 Arial,sans-serif;letter-spacing:.12em}.lr-city-hustle-inline>strong,.city-inline-hustle>strong{color:#f0dfad;font:900 14px/1 Georgia,serif}.lr-city-hustle-inline>small,.city-inline-hustle>small{color:#b6b59f;font:700 9px/1.35 Arial,sans-serif}.lr-city-hustle-inline>div,.city-inline-hustle>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lr-city-hustle-inline button,.city-inline-hustle button{min-height:34px;border-radius:7px;border:1px solid rgba(89,217,204,.3);background:#0f6158;color:#fff;font:900 9px/1 Arial,sans-serif}.lr-city-hustle-inline button.secondary,.city-inline-hustle button.secondary{background:#161a18;border-color:rgba(214,175,93,.22);color:#e6d8b2}.lr-city-hustle-inline em,.city-inline-hustle em{color:#8da59d;font:700 7px/1.2 Arial,sans-serif;font-style:normal}.lr-city-hustle-inline.declined{opacity:.82}

/* Heat HUD states: explicit 0–10 scale, BOLO at 5, APB at 10. */
.lr-metric.heat span{white-space:nowrap!important}.heat-hot,.heat-wanted{box-shadow:inset 0 0 0 1px rgba(242,106,61,.28),0 0 14px rgba(242,90,38,.08)!important}.heat-wanted{animation:apbPulse 1.25s ease-in-out infinite alternate}@keyframes apbPulse{to{box-shadow:inset 0 0 0 1px rgba(255,69,34,.55),0 0 20px rgba(255,69,34,.20)}}

/* Baked right-side live-card screenshot hits are retired; contextual cards above are authoritative. */
body.landscape-reference-live .lr-art-hit.live.city,body.landscape-reference-live .lr-art-hit.live.buyer,body.landscape-reference-live .lr-art-hit.buyer-wait-button,body.landscape-reference-live .lr-art-hit.live.hustle,body.landscape-reference-live .lr-art-hit.live.favor,body.landscape-reference-live .lr-art-hit.favor-help-button,body.landscape-reference-live .lr-art-hit.favor-refuse-button{pointer-events:none!important;opacity:0!important}


/* ============================================================
   BORDER RUN v4.2.5b — CLEAN BOARD / CITY APPROACH / CAMERA
   No approved-screenshot background is used under the live board.
   ============================================================ */
body.landscape-reference-live .artwork-master-renderer .lr-art-bg{display:none!important;background:none!important}
body.landscape-reference-live #landscapeReferenceShell.artwork-master-renderer{background:linear-gradient(180deg,#020706,#07100f)!important}
body.landscape-reference-live .lr-art-hit-layer{display:none!important}

/* Dynamic top chrome replaces baked screenshot controls in both orientations. */
body.wide-reference-live .pr-brand,body.wide-reference-live .pr-top-actions,body.wide-reference-live .pr-route-tabs,body.wide-reference-live .pr-bottom-nav{display:flex!important}
body.wide-reference-live .pr-brand{position:absolute;left:10px;top:7px;width:190px;height:48px;z-index:96;flex-direction:column;justify-content:center;padding:0 12px;border:1px solid rgba(214,175,93,.25);border-radius:10px;background:rgba(4,9,8,.96)}
body.wide-reference-live .pr-brand strong{font:900 26px/.9 Georgia,serif;color:#efdfb5;white-space:nowrap}body.wide-reference-live .pr-brand span{margin-top:4px;color:#d89d39;font:900 8px/1 Arial,sans-serif;letter-spacing:.22em}
body.wide-reference-live .pr-top-actions{position:absolute;right:10px;top:7px;z-index:97;gap:6px}.wide-reference-live .pr-top-actions button{width:48px;height:48px;border-radius:10px;border:1px solid rgba(214,175,93,.24);background:#09100e;color:#ead9aa;font-size:20px}
body.wide-reference-live .artwork-master-renderer .lr-telemetry{left:215px!important;right:174px!important;top:7px!important;width:auto!important;height:48px!important;z-index:96!important}
body.wide-reference-live .pr-route-tabs{position:absolute;left:12px;top:62px;z-index:94;gap:6px}.wide-reference-live .pr-route-tabs button{min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(83,213,201,.28);background:rgba(5,13,12,.92);color:#e5d6a9;font:900 9px/1 Arial,sans-serif;letter-spacing:.08em}
body.wide-reference-live .pr-route-tabs button.active{border-color:#e2b956;box-shadow:0 0 0 1px rgba(226,185,86,.14) inset}

/* Map uses the entire playable center. Context cards overlay it instead of stealing width. */
body.wide-reference-live .artwork-master-renderer .lr-map-host{left:0!important;right:0!important;top:60px!important;bottom:72px!important;width:100%!important;height:auto!important;background:#020a09!important;z-index:38!important;overflow:auto!important}
body.wide-reference-live .lr-context-overlay-stack{display:flex!important;position:absolute;right:10px;top:104px;bottom:82px;width:min(340px,31vw);z-index:84;flex-direction:column;gap:8px;pointer-events:none;overflow-y:auto;scrollbar-width:none}
body.wide-reference-live .lr-context-overlay-stack::-webkit-scrollbar{display:none}.wide-reference-live .lr-context-panel:not([hidden]){display:block!important;position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;max-height:38vh!important;overflow:auto!important;pointer-events:auto!important;background:rgba(4,11,10,.92)!important;border:1px solid rgba(214,175,93,.24)!important;border-radius:11px!important;backdrop-filter:blur(6px)!important;padding:10px!important}
body.wide-reference-live .lr-selected-city-tile:not([hidden]){display:block!important;left:12px!important;bottom:82px!important;width:180px!important;height:86px!important;z-index:80!important}

/* Six evenly sized bottom controls, including the real Roll button. */
body.landscape-reference-live .pr-bottom-nav{display:grid!important;position:absolute;left:0;right:0;bottom:0;height:70px;z-index:98;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:5px max(6px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:rgba(2,7,7,.98);border-top:1px solid rgba(214,175,93,.24)}
body.landscape-reference-live .pr-bottom-nav>button{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:4px!important;border-radius:9px!important;border:1px solid rgba(214,175,93,.20)!important;background:linear-gradient(180deg,#121815,#070a09)!important;color:#e8d9af!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;place-items:center!important;align-content:center!important;gap:3px!important;box-shadow:none!important}
body.landscape-reference-live .pr-bottom-nav>button span{font-size:22px!important;line-height:1!important;grid-column:1!important;grid-row:1!important}body.landscape-reference-live .pr-bottom-nav>button b{font:900 8px/1 Arial,sans-serif!important;letter-spacing:.06em!important;grid-column:1!important;grid-row:2!important;align-self:auto!important}.landscape-reference-live .pr-bottom-nav>button small{display:none!important}
body.landscape-reference-live .pr-bottom-nav>.lr-primary-roll{background:linear-gradient(180deg,#e5b548,#b87815)!important;color:#090a08!important;border-color:#f0cb6f!important}.landscape-reference-live .pr-bottom-nav>.lr-primary-roll.ready{animation:referenceRollReady 1.8s ease-in-out infinite!important}

/* Portrait map gets everything between top chrome and bottom dock; no city carousel gap. */
body.portrait-reference-live .artwork-master-renderer .lr-map-host{top:76px!important;bottom:70px!important;height:auto!important;width:100%!important;left:0!important;right:0!important;overflow:auto!important}
body.portrait-reference-live .lr-context-overlay-stack{left:6px!important;right:6px!important;bottom:77px!important;top:auto!important;max-height:31dvh!important}
body.portrait-reference-live .pr-bottom-nav{height:70px!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important;padding:5px 6px max(5px,env(safe-area-inset-bottom)) 6px!important}
body.portrait-reference-live .pr-bottom-nav>button{display:grid!important;visibility:visible!important;opacity:1!important;min-width:0!important}
body.portrait-reference-live .pr-bottom-nav>button span{font-size:19px!important}.portrait-reference-live .pr-bottom-nav>button b{font-size:6px!important}
body.portrait-reference-live .lr-primary-roll{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important}
body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls{right:8px!important;top:84px!important;z-index:93!important}
body.portrait-reference-live .pr-route-tabs{top:80px!important;left:7px!important}
body.portrait-reference-live .lr-selected-city-tile{bottom:78px!important}

/* Zoom controls span full-board (100%) through tile-level (1000%); badge resets to midpoint. */
body.landscape-reference-live .lr-board-zoom-controls{background:rgba(4,11,10,.93)!important;border:1px solid rgba(77,213,201,.28)!important;border-radius:999px!important;padding:4px!important;box-shadow:0 8px 20px rgba(0,0,0,.35)!important}
body.landscape-reference-live .lr-board-zoom-controls button{min-width:42px!important;height:40px!important;border-radius:999px!important}
body.landscape-reference-live .lr-board-zoom-controls .zoom-badge{min-width:82px!important}

/* City approach is a required choice before services appear. */
.city-approach-choice{display:grid;gap:10px}.city-approach-kicker{color:#5ed9cd;font:900 10px/1 Arial,sans-serif;letter-spacing:.15em}.city-approach-choice>strong{font:900 30px/1 Georgia,serif;color:#efddaa}.city-approach-choice>small{color:#b6b29d;font:700 11px/1.35 Arial,sans-serif}.city-approach-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.city-approach-options>div{padding:10px;border:1px solid rgba(214,175,93,.18);border-radius:10px;background:rgba(255,255,255,.025)}.city-approach-options b{display:block;color:#ead9aa;font:900 13px/1 Arial,sans-serif}.city-approach-options p{margin:6px 0 0;color:#a8ab98;font:700 10px/1.4 Arial,sans-serif}
.lr-city-approach-inline{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.lr-city-approach-inline button{min-height:38px;border-radius:8px;border:1px solid rgba(77,213,201,.32);background:#0e645b;color:#fff;font:900 9px/1 Arial,sans-serif}.lr-city-approach-inline button.secondary{background:#161916;border-color:rgba(214,175,93,.26);color:#eadbb2}.lr-city-approach-inline em{grid-column:1/-1;color:#8aa39b;font:700 8px/1.3 Arial,sans-serif;font-style:normal}

/* The baked reference screenshot is retired; only event/unlock art overlays remain. */
body.landscape-reference-live .artwork-master-renderer:after{display:none!important;content:none!important}
body.landscape-reference-live .lr-art-cover.rightcards{display:none!important}


/* ============================================================
   BORDER RUN v4.2.5b — PORTRAIT PAN / ROUTE FOCUS / 50-CARGO ECONOMY
   ============================================================ */
/* Map keeps the actual 3:2 board aspect. Portrait viewport is a window onto a larger pannable board. */
body.portrait-reference-live .artwork-master-renderer .lr-map-host{overflow:auto!important;touch-action:pan-x pan-y!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;background:#020908!important}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage{min-width:0!important;min-height:0!important}
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop{object-fit:fill!important;width:100%!important;height:100%!important}

/* The highlighted route is an active luminous overlay. The player's locked route remains delineated even when another route is previewed. */
body.landscape-reference-live .lr-master-routes{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:2!important;pointer-events:none!important;overflow:visible!important}
body.landscape-reference-live .lr-master-route{fill:none;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;opacity:.22;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(0,0,0,.8))}
body.landscape-reference-live .lr-master-route.route-west{stroke:#4fd2ec}.landscape-reference-live .lr-master-route.route-central{stroke:#e4b94d}.landscape-reference-live .lr-master-route.route-east{stroke:#6bd49a}
body.landscape-reference-live .lr-master-route.player-route{opacity:.72;stroke-width:1.75;stroke-dasharray:5 2;filter:drop-shadow(0 0 4px currentColor)}
body.landscape-reference-live .lr-master-route.active{opacity:1;stroke-width:2.45;stroke-dasharray:none;filter:drop-shadow(0 0 7px currentColor)}
body.landscape-reference-live .lr-master-route.active.player-route{stroke-width:2.75;filter:drop-shadow(0 0 9px currentColor)}
body.landscape-reference-live .lr-master-border{fill:none;stroke:#f0e5ca;stroke-width:1;stroke-dasharray:4 3;opacity:.8;vector-effect:non-scaling-stroke}

/* Junctions are explicit route-change board pieces. */
.lr-junction-marker{position:absolute;z-index:36;transform:translate(-50%,-50%);min-width:42px;min-height:42px;border-radius:12px;border:2px solid #dbc172;background:linear-gradient(180deg,rgba(28,31,27,.97),rgba(6,10,9,.98));color:#f0dc9d;box-shadow:0 0 0 2px rgba(3,8,8,.85),0 0 12px rgba(219,193,114,.24);display:grid;place-items:center;padding:2px;cursor:pointer}
.lr-junction-marker span{font:900 20px/1 Arial,sans-serif}.lr-junction-marker small{font:900 6px/1 Arial,sans-serif;letter-spacing:.05em}.lr-junction-marker.active{box-shadow:0 0 0 2px rgba(3,8,8,.9),0 0 18px currentColor;transform:translate(-50%,-50%) scale(1.08)}.lr-junction-marker.player-route{border-style:dashed}
.lr-junction-marker.route-west{color:#4fd2ec}.lr-junction-marker.route-central{color:#e4b94d}.lr-junction-marker.route-east{color:#6bd49a}

/* Route buttons show difficulty and separately indicate route preview vs locked player route. */
.pr-route-tabs button{display:grid!important;grid-template-rows:auto auto!important;align-content:center!important;gap:3px!important;min-width:0!important}
.pr-route-tabs button strong{font:900 calc(10px * var(--br-ui-scale,1))/1 Arial,sans-serif;letter-spacing:.08em}.pr-route-tabs button small{display:block!important;font:800 calc(6.5px * var(--br-ui-scale,1))/1 Arial,sans-serif;letter-spacing:.04em;white-space:nowrap}
.pr-route-tabs .route-west{border-color:rgba(79,210,236,.58)!important}.pr-route-tabs .route-central{border-color:rgba(228,185,77,.58)!important}.pr-route-tabs .route-east{border-color:rgba(107,212,154,.58)!important}
.pr-route-tabs button.player-route{box-shadow:inset 0 0 0 2px rgba(240,223,175,.34),0 7px 16px rgba(0,0,0,.32)!important}.pr-route-tabs button.active{transform:translateY(-1px);filter:brightness(1.25);box-shadow:0 0 16px rgba(102,218,207,.18)!important}.pr-route-tabs button.active.route-west{background:rgba(14,67,76,.95)!important}.pr-route-tabs button.active.route-central{background:rgba(69,54,15,.96)!important}.pr-route-tabs button.active.route-east{background:rgba(18,67,44,.96)!important}

/* Accurate live board key. Full on wide screens; compact expandable key on portrait. */
.pr-live-legend{position:absolute;left:10px;top:102px;z-index:92;width:178px;padding:9px;border:1px solid rgba(214,175,93,.26);border-radius:12px;background:rgba(3,9,9,.91);backdrop-filter:blur(5px);box-shadow:0 10px 24px rgba(0,0,0,.34);color:#e9dcb4;pointer-events:auto}
.pr-live-legend-toggle{display:none;width:100%;min-height:34px;border:1px solid rgba(82,213,202,.28);border-radius:9px;background:#0a1715;color:#66dbcf;font:900 10px/1 Arial,sans-serif;letter-spacing:.14em}
.pr-live-legend-body>strong{display:block;color:#e4b954;font:900 13px/1 Arial,sans-serif;letter-spacing:.12em;margin-bottom:8px}.key-routes,.key-nodes{display:grid;gap:5px}.key-routes{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(214,175,93,.14)}.key-routes span,.key-nodes span{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px;font:800 8px/1.15 Arial,sans-serif}.key-routes i{display:block;width:22px;height:3px;border-radius:99px}.key-routes i.route-west{background:#4fd2ec}.key-routes i.route-central{background:#e4b94d}.key-routes i.route-east{background:#6bd49a}.key-nodes b{display:grid;place-items:center;width:20px;height:20px;border-radius:7px;border:1px solid rgba(214,175,93,.25);color:#efdc9f;background:#101513;font-size:11px}
body.portrait-reference-live .pr-live-legend{top:139px;left:7px;width:148px;padding:6px;background:rgba(3,9,9,.88)}body.portrait-reference-live .pr-live-legend-toggle{display:block!important}body.portrait-reference-live .pr-live-legend:not(.open) .pr-live-legend-body{display:none}body.portrait-reference-live .pr-live-legend.open .pr-live-legend-body{display:block;padding:8px 3px 3px}body.portrait-reference-live .pr-live-legend.open{max-height:58dvh;overflow:auto}

/* Portrait usability: larger controls/text while the board itself stays independent. */
body.portrait-reference-live .pr-brand{height:60px!important;width:232px!important;padding:0 14px!important}.portrait-reference-live .pr-brand strong{font-size:calc(31px * var(--br-ui-scale,1))!important}.portrait-reference-live .pr-brand span{font-size:calc(9px * var(--br-ui-scale,1))!important}
body.portrait-reference-live .artwork-master-renderer .lr-telemetry{height:76px!important;top:7px!important}.portrait-reference-live .lr-metric b{font-size:calc(18px * var(--br-ui-scale,1))!important;letter-spacing:.05em!important}.portrait-reference-live .lr-metric span{font-size:calc(13px * var(--br-ui-scale,1))!important}
body.portrait-reference-live .pr-top-actions button{width:54px!important;height:54px!important;font-size:calc(21px * var(--br-ui-scale,1))!important}
body.portrait-reference-live .pr-route-tabs{top:82px!important;left:8px!important;right:8px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.portrait-reference-live .pr-route-tabs button{min-height:48px!important;padding:5px 7px!important;border-radius:12px!important}.portrait-reference-live .pr-route-tabs button strong{font-size:calc(10px * var(--br-ui-scale,1))!important}.portrait-reference-live .pr-route-tabs button small{font-size:calc(6.2px * var(--br-ui-scale,1))!important}
body.portrait-reference-live .artwork-master-renderer .lr-map-host{top:136px!important;bottom:82px!important}
body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls{top:144px!important;right:8px!important}.portrait-reference-live .lr-board-zoom-controls button{height:44px!important;min-width:46px!important;font-size:calc(16px * var(--br-ui-scale,1))!important}.portrait-reference-live .lr-board-zoom-controls .zoom-badge{min-width:86px!important;font-size:calc(11px * var(--br-ui-scale,1))!important}
body.portrait-reference-live .pr-bottom-nav{height:82px!important;padding:6px!important}.portrait-reference-live .pr-bottom-nav>button{min-height:68px!important;border-radius:12px!important}.portrait-reference-live .pr-bottom-nav>button span{font-size:calc(23px * var(--br-ui-scale,1))!important}.portrait-reference-live .pr-bottom-nav>button b{font-size:calc(7.5px * var(--br-ui-scale,1))!important}
body.portrait-reference-live .lr-context-overlay-stack{bottom:90px!important;max-height:42dvh!important}.portrait-reference-live .artwork-master-renderer .lr-context-panel{width:min(92vw,430px)!important;min-width:min(92vw,430px)!important;max-height:40dvh!important;padding:14px!important}.portrait-reference-live .lr-context-panel .lr-context-kicker{font-size:calc(10px * var(--br-ui-scale,1))!important}.portrait-reference-live .lr-context-panel strong{font-size:calc(23px * var(--br-ui-scale,1))!important}.portrait-reference-live .lr-context-panel small,.portrait-reference-live .lr-context-row{font-size:calc(10px * var(--br-ui-scale,1))!important}.portrait-reference-live .lr-context-panel button{min-height:46px!important;font-size:calc(11px * var(--br-ui-scale,1))!important}

/* Interface scale is deliberately independent of the map's saved zoom. */
#landscapeReferenceShell{--br-ui-scale:1}


/* ===== v4.2.5b multiplayer / camera / contextual cleanup ===== */
.pr-live-legend-toggle{display:block!important}
.pr-live-legend.collapsed{width:74px!important;padding:5px!important}
.pr-live-legend.collapsed .pr-live-legend-body{display:none!important}
.pr-live-legend.collapsed .pr-live-legend-toggle{min-height:38px!important}
.lr-context-panel{position:relative}
.lr-context-close{position:absolute!important;right:7px!important;top:7px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;border-radius:999px!important;z-index:6!important;background:rgba(3,8,8,.88)!important;border:1px solid rgba(214,175,93,.34)!important;color:#f2e0ad!important;font:900 20px/1 Arial,sans-serif!important}
.lr-city-service-row{display:grid;grid-template-columns:1fr .7fr;gap:7px;margin-top:8px}
.bank-wallet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bank-wallet>div{padding:11px;border:1px solid rgba(214,175,93,.18);border-radius:12px;background:#0a1110}.bank-wallet span{display:block;font:800 9px/1 Arial;color:#65d7cc;letter-spacing:.12em}.bank-wallet strong{display:block;margin-top:5px;font:900 18px/1 Georgia,serif;color:#f1dfb1}
.lr-master-remote-piece{position:absolute;z-index:69;transform:translate(calc(-50% + var(--remote-stack,0)*8px),calc(-50% + var(--remote-stack,0)*-7px));width:92px;height:70px;pointer-events:none;filter:drop-shadow(0 8px 8px rgba(0,0,0,.6))}.lr-master-remote-piece .ride-render,.lr-master-remote-piece .token-3d{width:100%!important;height:100%!important}.lr-master-remote-piece>b{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);white-space:nowrap;background:rgba(2,8,8,.88);border:1px solid rgba(86,213,202,.35);border-radius:999px;padding:3px 7px;color:#e7f6ef;font:900 8px/1 Arial,sans-serif}.lr-master-remote-piece.fuzz>b{border-color:#75bfff;color:#d9efff}.lr-master-remote-piece>em{position:absolute;left:50%;top:-8px;transform:translateX(-50%);white-space:nowrap;color:#8ecbff;font:900 6px/1 Arial,sans-serif;letter-spacing:.08em;background:#07131c;padding:3px 5px;border-radius:6px}
.lr-metric.cash small{display:block;margin-top:2px;color:#e7bd62;font:800 7px/1 Arial,sans-serif;letter-spacing:.07em}
.city-passby-card{padding:12px;border-radius:12px;background:linear-gradient(180deg,#0d1b19,#07100f);border:1px solid rgba(81,213,201,.25)}.city-passby-card span{display:block;color:#5bd5c9;font:900 10px/1 Arial;letter-spacing:.14em}.city-passby-card strong{display:block;margin-top:7px;font:900 24px/1 Georgia,serif;color:#f0dfaf}.city-passby-card small{display:block;margin-top:8px;color:#bfc3ad;font:700 11px/1.35 Arial}
.defense-shop-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#111a17;border:1px solid rgba(214,175,93,.18);font-size:24px}
@media (orientation:landscape){.pr-live-legend{max-height:70dvh;overflow:auto}.pr-live-legend-toggle{font-size:8px!important}.lr-context-overlay-stack{pointer-events:none}.lr-context-panel{pointer-events:auto}}
@media (orientation:portrait){.lr-master-remote-piece{width:110px;height:82px}.pr-live-legend.collapsed{width:76px!important}.bank-wallet{grid-template-columns:1fr}.bank-wallet strong{font-size:22px}}


/* ============================================================
   BORDER RUN v4.2.5c — CELEBRATIONS / TROPHY CASE / LAYOUT
   ============================================================ */
.unlock-celebration{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .26s ease;background:radial-gradient(circle at 50% 40%,rgba(255,219,102,.08),rgba(0,0,0,.18) 38%,rgba(0,0,0,.28) 72%,rgba(0,0,0,.18));backdrop-filter:blur(2px)}
.unlock-celebration.show{opacity:1}
.unlock-celebration-sky{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.unlock-celebration .unlock-badge{position:absolute;left:50%;top:16%;transform:translateX(-50%);width:88px;height:88px;border-radius:50%;display:grid;place-items:center;font-size:46px;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.18),rgba(255,255,255,.04) 44%,rgba(0,0,0,.18) 68%);border:2px solid rgba(244,209,117,.65);box-shadow:0 0 0 6px rgba(255,214,122,.08),0 18px 40px rgba(0,0,0,.28)}
.unlock-celebration .burst{position:absolute;width:28vmin;height:28vmin;border-radius:50%;border:3px solid rgba(255,223,137,.38);opacity:.28;filter:blur(.1px);animation:unlockBurstV425c 1.4s ease-out infinite}
.unlock-celebration .burst:before,.unlock-celebration .burst:after{content:'';position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(255,255,255,.18)}
.unlock-celebration .burst-a{left:14%;top:12%;animation-delay:0s}
.unlock-celebration .burst-b{right:15%;top:20%;animation-delay:.24s}
.unlock-celebration .burst-c{left:50%;bottom:20%;transform:translateX(-50%);animation-delay:.46s}
.unlock-celebration-card{pointer-events:auto;width:min(90vw,560px);padding:22px 22px 18px;border-radius:24px;background:linear-gradient(180deg,rgba(14,18,17,.84),rgba(9,12,11,.90));box-shadow:0 24px 60px rgba(0,0,0,.46),inset 0 0 28px rgba(255,230,160,.05);border:1px solid rgba(233,191,88,.6)}
.unlock-celebration-card>span{display:block;margin:0 0 8px;color:#68ddd1;font:900 11px/1.2 Arial,sans-serif;letter-spacing:.22em}
.unlock-celebration-card em{display:block;margin:0 0 12px;color:#8ce0d8;font:900 10px/1 Arial,sans-serif;letter-spacing:.18em;font-style:normal}
.unlock-celebration-card>div{display:grid;gap:7px}
.theme-leaf .unlock-celebration .burst{border-color:rgba(111,224,118,.42)}
.theme-fuzz .unlock-celebration .burst{border-color:rgba(111,190,255,.42)}
.theme-cash .unlock-celebration .burst{border-color:rgba(255,220,128,.46)}
.theme-dice .unlock-celebration .burst{border-color:rgba(180,160,255,.46)}
.theme-vehicle .unlock-celebration .burst{border-color:rgba(255,157,106,.46)}
.theme-tokin .unlock-celebration .burst{border-color:rgba(126,226,207,.46)}
.theme-leaf .unlock-money-confetti{color:#9bf084;text-shadow:0 0 12px rgba(114,225,116,.25);font-size:clamp(24px,6vw,42px)}
.theme-leaf .unlock-money-confetti.leaffall{animation:unlockLeafRainV426f var(--dur) linear var(--delay) both}
@keyframes unlockLeafRainV426f{0%{transform:translate3d(0,-16vh,0) rotate(calc(var(--spin,0deg) - 18deg)) scale(.72);opacity:0}10%{opacity:1}50%{transform:translate3d(var(--drift),36vh,0) rotate(calc(var(--spin,0deg) + 90deg)) scale(1)}100%{transform:translate3d(calc(var(--drift)*1.25),104vh,0) rotate(calc(var(--spin,0deg) + 220deg)) scale(.9);opacity:0}}
@keyframes unlockBurstV425c{0%{transform:scale(.18);opacity:.45}100%{transform:scale(1.3);opacity:0}}

.trophy-case-shell{display:grid;gap:14px}
.trophy-case-section{display:grid;gap:9px}
.trophy-case-section>header{display:flex;justify-content:space-between;gap:8px;align-items:end;padding:0 2px}
.trophy-case-section>header span{color:#f0d697;font:900 12px/1.1 Georgia,serif;letter-spacing:.05em}
.trophy-case-section>header small{color:#99a49a;font:700 9px/1.25 Arial,sans-serif;text-align:right}
.trophy-case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:10px}
.trophy-case-tile{min-height:214px;gap:4px}
.trophy-case-pedestal{width:86px;height:82px;margin-bottom:6px}
.trophy-case-pedestal:before{height:19px}
.trophy-object{position:relative;z-index:2;display:grid;place-items:center;min-width:70px;min-height:58px}
.trophy-object.emoji span{font-size:40px;filter:drop-shadow(0 5px 3px rgba(0,0,0,.46))}
.trophy-object.vehicle .ride-art,.trophy-object.vehicle .ride-render{transform:scale(.78);transform-origin:center}
.trophy-object.tokin .tokin-game-piece{transform:scale(.92)}
.trophy-object.die .dice-preview{width:54px;height:54px;font-size:24px;box-shadow:0 8px 14px rgba(0,0,0,.28)}
.trophy-paint-swatch{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--swatch,#d4b261),#fff 24%),var(--swatch,#d4b261));border:2px solid rgba(255,243,210,.25);box-shadow:0 10px 18px rgba(0,0,0,.30)}
.trophy-finish-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#eee3c1,#96804d);color:#2b2518;font-size:30px;box-shadow:0 10px 16px rgba(0,0,0,.28)}
.trophy-case-tile strong{font-size:12px;line-height:1.15}
.trophy-case-tile small{font-size:8px;line-height:1.35;min-height:32px}
.trophy-progress{position:relative;width:100%;height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:4px;border:1px solid rgba(255,255,255,.05)}
.trophy-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#62ddd1,#f0ca70)}
.trophy-progress-copy{display:flex;justify-content:space-between;gap:7px;width:100%;margin-top:4px;color:#b9b7a8;font:800 7px/1 Arial,sans-serif;letter-spacing:.12em}
.trophy-progress-copy strong{font:900 9px/1 Arial,sans-serif;color:#ecdfb4}
.trophy-case-tile u{display:block;margin-top:5px;text-decoration:none;color:#83d9d0;font:700 7px/1.25 Arial,sans-serif;min-height:26px}
.trophy-empty{padding:16px;border-radius:12px;border:1px dashed rgba(255,255,255,.12);color:#9ea59d;font:700 10px/1.35 Arial,sans-serif;background:rgba(255,255,255,.02)}

.event-card-reveal{background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.05),rgba(0,0,0,.08) 42%,rgba(0,0,0,.22));backdrop-filter:blur(1px)}
.event-card-stage{align-self:start!important;justify-self:center!important;padding-top:5vh!important}
.event-card-reveal .event-card-front,.event-card-reveal .event-card-back{overflow:hidden}
.event-card-symbol{display:grid;place-items:center;gap:4px;min-height:82px;position:relative}
.event-card-symbol:before{content:'';position:absolute;inset:8px auto auto 50%;width:92px;height:92px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10),rgba(255,255,255,0) 66%)}
.event-card-symbol .event-card-art-icon{position:relative;z-index:2;font-size:46px;line-height:1}
.event-card-symbol small{position:relative;z-index:2;font:900 9px/1 Arial,sans-serif;letter-spacing:.18em;color:#9adfd8}
.event-card-reveal[data-card-art="cash"] .event-card-symbol:before{background:radial-gradient(circle,rgba(255,211,93,.16),rgba(255,255,255,0) 68%)}
.event-card-reveal[data-card-art="garage"] .event-card-symbol:before{background:radial-gradient(circle,rgba(108,208,200,.18),rgba(255,255,255,0) 68%)}
.event-card-reveal[data-card-art="papers"] .event-card-symbol:before{background:radial-gradient(circle,rgba(158,208,255,.16),rgba(255,255,255,0) 68%)}
.event-card-reveal[data-card-art="heat"] .event-card-symbol:before,.event-card-reveal[data-card-art="risk"] .event-card-symbol:before{background:radial-gradient(circle,rgba(255,117,95,.18),rgba(255,255,255,0) 68%)}
.event-card-reveal[data-card-art="damage"] .event-card-symbol:before,.event-card-reveal[data-card-art="loss"] .event-card-symbol:before{background:radial-gradient(circle,rgba(255,170,96,.18),rgba(255,255,255,0) 68%)}
.event-card-caption{padding-top:6px}

/* Tone down neon route traces */
.graphical-world-board .living-roads{filter:drop-shadow(0 2px 1px rgba(0,0,0,.60))!important}
.graphical-world-board .road-biome-shoulder{opacity:.52!important;filter:none!important;stroke-width:2.6!important}
.graphical-world-board .road-biome-segment{stroke-width:2.2!important;filter:none!important}
.graphical-world-board .road-biome-center{stroke-width:.48!important;opacity:.58!important;filter:none!important}
body.time-night .graphical-world-board .living-roads,body.time-night .graphical-world-board .road-biome-center{filter:none!important}
body.time-night .graphical-world-board .road-biome-center{stroke:#e6d59b!important;opacity:.64!important}
.living-roads .route-ghost{opacity:.16!important}
.living-roads .route-ghost.active{opacity:.28!important}
body.landscape-reference-live .lr-route-line i,.lr-route-label i{box-shadow:none!important;opacity:.75!important}

/* Landscape inner-city dice roll fit */
body.landscape-reference-live .city-d6-overlay{place-items:center end!important;padding:3vh 2vw 3vh 2vw!important;background:linear-gradient(90deg,rgba(0,0,0,.02),rgba(0,0,0,.12))!important}
body.landscape-reference-live .city-d6-stage{width:min(38vw,430px)!important;min-height:min(84vh,600px)!important;max-height:86dvh!important;overflow:auto!important;padding:14px 12px 18px!important}
body.landscape-reference-live .city-d6-six{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.landscape-reference-live .city-d6-six .city-action-tile{min-height:72px!important}
body.landscape-reference-live .city-d6-die-flight{height:146px!important}
body.landscape-reference-live .city-d6-die-flight .die-cube3d.br3d-holder{--die-size:88px!important;--die-half:44px!important}
body.landscape-reference-live .city-d6-city{font-size:21px!important}

/* Portrait top-of-board resize */
@media (orientation:portrait){
  .topbar{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding:10px 10px 8px!important}
  .top-actions{gap:6px!important;justify-content:space-between!important;flex-wrap:wrap}
  .title h1{font-size:19px!important}
  .title small{font-size:9px!important}
  .hud{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .hud .stat{min-height:60px!important;padding:8px 7px!important}
  .app-shell{padding-left:10px!important;padding-right:10px!important}
  #boardStage{margin-top:6px!important}
  body.portrait-reference-live .hard-ref-top-chrome{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding:9px 10px!important}
  body.portrait-reference-live .hard-ref-brand strong{font-size:18px!important}
  body.portrait-reference-live .hard-ref-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  body.portrait-reference-live .hard-ref-top-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important}
  body.portrait-reference-live .hard-ref-top-actions button{min-height:52px!important;padding:7px 4px!important}
}

@media (max-width:700px){
  .trophy-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ============================================================
   BORDER RUN v4.2.5d — MAP PANELS + MULTIPLAYER PIECE VISIBILITY
   ============================================================ */
body.landscape-reference-live .lr-context-panel.space{left:55.2%;width:12.1%}
.lr-context-panel.space .lr-space-effect{margin:7px 0 0;padding:7px;border-radius:7px;background:rgba(255,255,255,.035);border:1px solid rgba(111,214,203,.16);color:#c8c1a7;font:700 clamp(6px,.54vw,9px)/1.35 Arial,sans-serif}
body.wide-reference-live .lr-context-panel.space:not([hidden]){order:1}
body.wide-reference-live .lr-context-panel.city:not([hidden]){order:1}
body.wide-reference-live .lr-context-panel.buyer:not([hidden]){order:2}
body.wide-reference-live .lr-context-panel.hustle:not([hidden]){order:3}
body.wide-reference-live .lr-context-panel.favor:not([hidden]){order:4}

/* Remote multiplayer pieces: readable, physical, and above map labels without becoming huge. */
.lr-master-remote-piece{width:108px!important;height:78px!important;z-index:92!important;transform:translate(calc(-50% + var(--remote-stack,0)*15px),calc(-50% + var(--remote-stack,0)*-13px))!important;filter:drop-shadow(0 10px 8px rgba(0,0,0,.66))!important}
.lr-master-remote-piece .ride-render,.lr-master-remote-piece .token-3d,.lr-master-remote-piece .tokin-game-piece{position:relative!important;z-index:3!important}
.lr-master-remote-piece .remote-party-halo{position:absolute;left:50%;top:55%;width:72%;height:38%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(86,213,202,.56);background:rgba(8,22,20,.10);box-shadow:0 0 0 4px rgba(86,213,202,.08);z-index:1}
.lr-master-remote-piece.fuzz .remote-party-halo{border-color:rgba(121,188,255,.62);box-shadow:0 0 0 4px rgba(121,188,255,.08)}
.lr-master-remote-piece>b{bottom:-12px!important;font-size:8px!important;z-index:5!important}
.lr-master-remote-piece>small{position:absolute;left:50%;bottom:-25px;transform:translateX(-50%);white-space:nowrap;background:rgba(2,8,8,.84);border-radius:999px;padding:2px 6px;color:#8fd8d0;font:800 6px/1 Arial,sans-serif;letter-spacing:.06em;z-index:5}
.lr-master-remote-piece.fuzz>small{color:#9bcfff}
.lr-master-remote-piece>em{top:-11px!important;z-index:6!important}
.remote-party-pawn{z-index:36!important;transform:translateY(-78%) scale(.82)!important}
.remote-party-pawn .remote-name{font-size:7px!important;min-width:58px!important}
.remote-party-pawn .remote-distance{position:absolute;left:50%;top:112%;transform:translateX(-50%);white-space:nowrap;color:#7fd7ce;background:rgba(4,10,10,.88);border-radius:999px;padding:2px 5px;font:800 5px/1 Arial,sans-serif;letter-spacing:.05em}
.remote-party-pawn.fuzz .remote-distance{color:#9bcfff}

@media (orientation:portrait){
  .lr-master-remote-piece{width:124px!important;height:90px!important;transform:translate(calc(-50% + var(--remote-stack,0)*18px),calc(-50% + var(--remote-stack,0)*-15px))!important}
  .lr-master-remote-piece>b{font-size:10px!important;padding:4px 8px!important;bottom:-15px!important}
  .lr-master-remote-piece>small{font-size:7px!important;bottom:-30px!important}
  .lr-context-panel.space .lr-space-effect{font-size:10px!important;line-height:1.35!important}
}


/* ============================================================
   BORDER RUN v4.2.5e — LEGAL CHARACTERS / BOND / BOUNTY
   ============================================================ */
.legal-character-card{display:grid;grid-template-columns:78px 1fr;gap:13px;align-items:center;margin:7px 0 12px;padding:13px;border-radius:15px;border:1px solid rgba(220,181,87,.34);background:linear-gradient(145deg,#171b18,#090c0b);box-shadow:0 12px 28px rgba(0,0,0,.34),inset 0 0 26px rgba(255,255,255,.025)}
.legal-character-card .legal-avatar{width:70px;height:70px;border-radius:14px;display:grid;place-items:center;font-size:38px;background:radial-gradient(circle at 35% 30%,#35443d,#101412 65%);border:2px solid #6f6646;box-shadow:inset 0 0 18px rgba(255,255,255,.06),0 8px 16px rgba(0,0,0,.35)}
.legal-character-card span{display:block;color:#72ddd2;font:900 8px/1 Arial,sans-serif;letter-spacing:.18em}.legal-character-card strong{display:block;margin:5px 0;color:#f2dca0;font:900 24px/1 Georgia,serif}.legal-character-card small{color:#aeb4a7;font:700 9px/1.35 Arial,sans-serif}
.legal-character-card.lawyer{border-color:rgba(93,210,203,.42)}.legal-character-card.lawyer .legal-avatar{border-color:#4e9f96}.legal-character-card.bondsman{border-color:rgba(231,174,73,.52)}.legal-character-card.bondsman .legal-avatar{border-color:#bd8432;background:radial-gradient(circle at 35% 30%,#524221,#16120c 66%)}
.police-contact-stage{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;margin:6px 0 10px;padding:12px;border-radius:14px;border:1px solid rgba(216,82,64,.48);background:linear-gradient(145deg,#221413,#0d1110);box-shadow:0 12px 26px rgba(0,0,0,.38),inset 0 0 28px rgba(205,64,48,.06)}
.police-contact-stage.compact{grid-template-columns:54px 1fr;padding:9px}.police-badge{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:32px;background:radial-gradient(circle,#363d3c,#111);border:2px solid #b84e42;box-shadow:0 0 0 4px rgba(203,72,55,.08)}
.police-contact-stage span{display:block;color:#ff8a6e;font:900 8px/1 Arial,sans-serif;letter-spacing:.18em}.police-contact-stage strong{display:block;margin:5px 0;color:#f2dfb0;font:900 20px/1 Georgia,serif}.police-contact-stage small{color:#ada99c;font:700 9px/1.3 Arial,sans-serif}
.legal-choice-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.legal-choice-strip>div{padding:9px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.025)}.legal-choice-strip b{display:block;color:#ead79f;font:900 10px/1.15 Arial,sans-serif}.legal-choice-strip small{display:block;margin-top:5px;color:#9ca59b;font:700 8px/1.25 Arial,sans-serif}
.bond-status-card,.bond-wallet-breakdown{display:grid;gap:6px;margin:9px 0 12px;padding:11px;border-radius:12px;border:1px solid rgba(220,172,72,.35);background:rgba(83,60,23,.15)}.bond-status-card span{color:#d6b267;font:900 8px/1 Arial,sans-serif;letter-spacing:.16em}.bond-status-card strong{color:#f0dba4;font:900 22px/1 Georgia,serif}.bond-status-card small{color:#aaa58f;font:700 9px/1.3 Arial,sans-serif}.bond-wallet-breakdown{grid-template-columns:1fr auto auto;color:#dec995;font:800 9px/1.2 Arial,sans-serif}
.bounty-wanted-card{position:relative;overflow:hidden;margin:8px 0 12px;padding:18px 16px;border-radius:14px;border:2px solid #a74738;background:linear-gradient(155deg,#2a1814,#100e0c);text-align:center;box-shadow:0 14px 32px rgba(0,0,0,.48),inset 0 0 34px rgba(185,62,44,.11)}.bounty-wanted-card:before{content:'WANTED';position:absolute;inset:auto -10px 10px auto;transform:rotate(-9deg);font:900 48px/1 Georgia,serif;color:rgba(224,98,71,.08)}.bounty-wanted-card span{display:block;color:#ff8061;font:900 10px/1 Arial,sans-serif;letter-spacing:.22em}.bounty-wanted-card strong{display:block;margin:8px 0 5px;color:#f2d8a0;font:900 30px/1 Georgia,serif}.bounty-wanted-card b{display:block;color:#ffb34d;font:900 24px/1 Arial,sans-serif}.bounty-wanted-card small{display:block;margin-top:8px;color:#b6ab99;font:700 9px/1.3 Arial,sans-serif}
.driver-name-editor{display:grid;gap:7px;margin:10px 0}.driver-name-editor label{display:grid;gap:6px;color:#76ddd3;font:900 9px/1 Arial,sans-serif;letter-spacing:.14em}.driver-name-editor input{width:100%;min-height:48px;padding:9px 11px;border-radius:10px;border:1px solid #5f735f;background:#0c1110;color:#f2dfac;font:900 18px/1 Arial,sans-serif}.driver-name-editor small{color:#9ea69b;font:700 9px/1.2 Arial,sans-serif}
.garage-item.legal-service{border-left:3px solid #72d9cf}.garage-item.bondsman-service{border-left-color:#d9aa50}
@media(max-width:560px){.legal-character-card{grid-template-columns:60px 1fr}.legal-character-card .legal-avatar{width:54px;height:54px;font-size:30px}.legal-character-card strong{font-size:20px}.legal-choice-strip{grid-template-columns:1fr}.bond-wallet-breakdown{grid-template-columns:1fr 1fr}.bond-wallet-breakdown span{grid-column:1/-1}.police-contact-stage{grid-template-columns:54px 1fr}.police-badge{width:48px;height:48px;font-size:25px}}


/* ============================================================
   BORDER RUN v4.2.5h — DOMINITY STORM + ROTATING CHASE STARTUP
   ============================================================ */
.startup-splash.startup-sequence{position:fixed!important;inset:0!important;width:100dvw!important;height:100dvh!important;padding:0!important;z-index:50000!important;display:grid!important;place-items:center!important;background:#020606!important;overflow:hidden!important;opacity:0!important;pointer-events:auto!important;transition:opacity .34s ease!important}
.startup-splash.startup-sequence.active{opacity:1!important}
.startup-splash.startup-sequence.leaving{opacity:0!important}
.startup-sequence-backdrop{position:absolute;inset:-5%;background-position:center;background-size:cover;filter:blur(20px) brightness(.46) saturate(1.12);transform:scale(1.14);opacity:1;transition:background-image .2s linear}
.startup-sequence-image{position:absolute;inset:0;z-index:2;width:100dvw;height:100dvh;max-width:none;max-height:none;object-fit:contain;object-position:center center;opacity:1;transform:scale(1);transition:opacity .22s ease,transform .5s ease;background:transparent}
.startup-sequence-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 14%,transparent 83%,rgba(0,0,0,.34)),radial-gradient(circle at center,transparent 52%,rgba(0,0,0,.30) 100%)}
.startup-splash.startup-sequence.switching .startup-sequence-image{opacity:.04;transform:scale(1.018)}
.startup-splash.startup-sequence[data-phase="brand"] .startup-sequence-image{object-fit:contain;object-position:center center}
.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-image{object-fit:contain;object-position:center center}
.startup-splash.startup-sequence .startup-splash-card,.startup-splash.startup-sequence .startup-skip,.startup-splash.startup-sequence .startup-splash-bg,.startup-splash.startup-sequence .startup-splash-shade{display:none!important}

/* Respect device status/home-indicator areas instead of allowing HUD under them. */
:root{--br-safe-top:max(env(safe-area-inset-top,0px),0px);--br-safe-right:max(env(safe-area-inset-right,0px),0px);--br-safe-bottom:max(env(safe-area-inset-bottom,0px),0px);--br-safe-left:max(env(safe-area-inset-left,0px),0px)}
@media (orientation:portrait){
  body{padding-top:var(--br-safe-top)!important;padding-left:var(--br-safe-left)!important;padding-right:var(--br-safe-right)!important;padding-bottom:var(--br-safe-bottom)!important;box-sizing:border-box!important}
  .app-shell{min-height:calc(100dvh - var(--br-safe-top) - var(--br-safe-bottom))!important}
  body.portrait-reference-live .landscape-reference-shell,body.reference-graphic-layout .app-shell{padding-top:max(8px,var(--br-safe-top))!important}
  body.portrait-reference-live .hard-ref-top-chrome,body.portrait-reference-live .lr-topbar,body.portrait-reference-live .pr-topbar{margin-top:0!important}
}
@supports(padding:max(0px)){@media(orientation:landscape){body{padding-left:var(--br-safe-left)!important;padding-right:var(--br-safe-right)!important;padding-bottom:var(--br-safe-bottom)!important;box-sizing:border-box!important}}}

/* The tutorial is manual-only; never leave the old screenshot/tutorial card sitting on the map. */
.legend-tutorial-card,#referenceTutorialCard,.lr-art-hit.tutorial-card,.lr-art-hit.tutorial-gotit{display:none!important}

/* v4.2.7g: show the complete startup poster in landscape. The blurred full-bleed
   backdrop fills wide screens while the sharp foreground stays uncropped. */
@media (orientation:landscape){
  .startup-splash.startup-sequence{inset:0!important;width:100dvw!important;height:100dvh!important;padding:0!important}
  .startup-sequence-image{inset:0!important;width:100dvw!important;height:100dvh!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center center!important}
  .startup-splash.startup-sequence[data-phase="brand"] .startup-sequence-image,.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-image{object-position:center center!important}
}

/* v4.2.5i Dominity Storm + portrait safe HUD */
.dice.skin-dominitystorm,.dice-preview.skin-dominitystorm{background:radial-gradient(circle at 28% 22%,#1b77e9,#07101b 38%,#020405 72%);color:#f4e5b4;border:2px solid #1a78ef;box-shadow:inset 0 0 0 2px rgba(223,190,102,.22),0 0 16px rgba(29,111,236,.28)}
.die-cube3d.skin-dominitystorm .die-face,.die-card25d.skin-dominitystorm .die-card-face{background:linear-gradient(145deg,#0c1725,#173d7c 52%,#d6b45d);border-color:#e8d28d}.die-cube3d.skin-dominitystorm .die-face i,.die-card25d.skin-dominitystorm .die-card-face i{background:#f4e8b8}
.token-dominitystorm{--token:#0b2d69;--token2:#d0a94e;background:radial-gradient(circle at 35% 30%,#1d6ed2,#07142a 58%,#020405);color:#f4e2aa;font-size:8px;font-weight:1000;box-shadow:inset 0 0 0 2px rgba(222,182,83,.35)}
.dominity-boss-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid rgba(38,118,234,.42);border-radius:14px;background:radial-gradient(circle at 0 0,rgba(24,105,232,.18),transparent 42%),linear-gradient(180deg,#101519,#060809)}
.dominity-boss-seal{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;color:#f1dc9d;font:1000 25px/1 Georgia,serif;border:3px double #246dd3;background:radial-gradient(circle,#163e7e,#05090f 68%);box-shadow:0 0 0 4px rgba(210,168,69,.15),0 10px 22px rgba(0,0,0,.4)}
.dominity-boss-card span{display:block;color:#4fc7e6;font:900 8px/1 Arial,sans-serif;letter-spacing:.16em}.dominity-boss-card strong{display:block;margin:5px 0;color:#f0dda8;font:900 25px/.95 Georgia,serif}.dominity-boss-card small{color:#b6b8ab;font:700 9px/1.35 Arial,sans-serif}
.dominity-rep-card{margin-top:10px;padding:12px;border-radius:12px;border:1px solid rgba(214,175,93,.25);background:#0a0e0e}.dominity-rep-card>span{color:#70d9d0;font:900 8px/1 Arial,sans-serif;letter-spacing:.15em}.dominity-rep-card>strong{display:block;margin:5px 0;color:#efd99f;font:900 17px/1 Georgia,serif}.dominity-rep-bar{height:10px;border-radius:999px;background:#171913;overflow:hidden;margin:7px 0}.dominity-rep-bar i{display:block;height:100%;background:linear-gradient(90deg,#136fd5,#57d4d0 62%,#e2b652)}
.dominity-collectibles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.dominity-collectibles>div{padding:9px;border-radius:10px;border:1px solid rgba(214,175,93,.18);background:#0a0d0c}.dominity-collectibles b{display:block;color:#e5d4a3;font:900 9px/1.15 Arial,sans-serif}.dominity-collectibles small{display:block;margin-top:4px;color:#72d8d0;font:800 7px/1.2 Arial,sans-serif}.dominity-collectibles .locked{filter:grayscale(.7);opacity:.58}.trophy-case-tile.dominity{border-color:rgba(34,114,231,.35)}
.pr-legal-hud{display:none}
@media (orientation:portrait){body.portrait-reference-live #landscapeReferenceShell{--portrait-safe-top:max(env(safe-area-inset-top,0px),22px)}body.portrait-reference-live .pr-brand{left:8px!important;right:auto!important;top:var(--portrait-safe-top)!important;width:224px!important;height:48px!important;padding:0 12px!important;transform:none!important;z-index:98!important;border-radius:10px!important}body.portrait-reference-live .pr-brand strong{font-size:27px!important}.portrait-reference-live .pr-brand span{font-size:8px!important}body.portrait-reference-live .pr-top-actions{top:var(--portrait-safe-top)!important;right:8px!important;grid-template-columns:repeat(3,42px)!important;gap:5px!important;z-index:99!important}body.portrait-reference-live .pr-top-actions button{width:42px!important;height:48px!important;font-size:19px!important}body.portrait-reference-live .artwork-master-renderer .lr-telemetry{left:8px!important;right:8px!important;top:calc(var(--portrait-safe-top) + 54px)!important;height:42px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;z-index:96!important}body.portrait-reference-live .artwork-master-renderer .lr-metric{height:42px!important;padding:5px 7px!important;border-radius:9px!important}.portrait-reference-live .lr-metric b{font-size:14px!important}.portrait-reference-live .lr-metric span{font-size:10px!important}.portrait-reference-live .lr-metric small{font-size:6px!important}body.portrait-reference-live .pr-legal-hud{display:grid!important;position:absolute;left:8px;right:8px;top:calc(var(--portrait-safe-top) + 101px);z-index:97;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}body.portrait-reference-live .pr-legal{min-width:0;height:43px;padding:5px;border-radius:9px;border:1px solid rgba(214,175,93,.22);background:rgba(5,10,10,.96);color:#e8d7a7;display:grid;align-content:center;text-align:left}body.portrait-reference-live .pr-legal b{font:900 6.5px/1 Arial,sans-serif;color:#9ea89d}.portrait-reference-live .pr-legal span{margin-top:3px;font:900 10px/1 Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portrait-reference-live .pr-legal.lawyer{border-color:rgba(68,159,214,.38)}.portrait-reference-live .pr-legal.bondsman{border-color:rgba(214,175,93,.42)}.portrait-reference-live .pr-legal.dominity{border-color:rgba(32,112,230,.5);background:linear-gradient(180deg,rgba(10,32,66,.96),rgba(4,10,14,.98))}.portrait-reference-live .pr-legal.apb{border-color:#d55339}.portrait-reference-live .pr-legal.bolo{border-color:#e2ad47}body.portrait-reference-live .pr-route-tabs{top:calc(var(--portrait-safe-top) + 150px)!important;left:8px!important;right:8px!important}body.portrait-reference-live .artwork-master-renderer .lr-map-host{top:calc(var(--portrait-safe-top) + 204px)!important;bottom:82px!important}body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls{top:calc(var(--portrait-safe-top) + 212px)!important}body.portrait-reference-live .pr-live-legend{top:calc(var(--portrait-safe-top) + 212px)!important}}


/* ============================================================
   BORDER RUN v4.2.5j — PERSISTENT MAP / MATTE ROUTE TREES
   ============================================================ */
/* Keep the visible map composited and mounted between movement/render cycles. */
body.landscape-reference-live .artwork-master-renderer .lr-map-host,
body.portrait-reference-live .artwork-master-renderer .lr-map-host{contain:layout paint style;background:#09100c!important;isolation:isolate}
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage,
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage{background:#09100c!important;contain:layout paint style;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop,
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop{display:block!important;opacity:1!important;visibility:visible!important;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);will-change:auto!important}
.lr-master-dynamic-layer{position:absolute;inset:0;z-index:45;pointer-events:none}.lr-master-dynamic-layer.player-layer{z-index:49}.lr-master-dynamic-layer .lr-master-player-piece,.lr-master-dynamic-layer .lr-master-remote-piece{pointer-events:auto}

/* No black interstitial flashes: overlays keep the board readable underneath. */
body.reference-graphic-layout .modal{background:rgba(2,7,7,.14)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.reference-graphic-layout .action-splash{background:transparent!important}
body.reference-graphic-layout .action-splash .splash-backdrop{background:rgba(2,7,7,.08)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.reference-graphic-layout .event-card-reveal{background:rgba(2,7,7,.10)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.reference-graphic-layout.cinematic-lock .artwork-master-renderer{visibility:visible!important;opacity:1!important}

/* Replace neon trace lines with readable route-tree identities. */
body.landscape-reference-live .lr-master-route,
body.portrait-reference-live .lr-master-route{filter:none!important;opacity:.52!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:1.35!important}
body.landscape-reference-live .lr-master-route.route-west,
body.portrait-reference-live .lr-master-route.route-west{stroke:#56b8cc!important;stroke-dasharray:none!important}
body.landscape-reference-live .lr-master-route.route-central,
body.portrait-reference-live .lr-master-route.route-central{stroke:#cfaa55!important;stroke-dasharray:7 3!important}
body.landscape-reference-live .lr-master-route.route-east,
body.portrait-reference-live .lr-master-route.route-east{stroke:#68b98a!important;stroke-dasharray:1.4 3.2!important;stroke-linecap:round!important}
body.landscape-reference-live .lr-master-route.player-route,
body.portrait-reference-live .lr-master-route.player-route{opacity:.86!important;stroke-width:2.05!important;filter:none!important}
body.landscape-reference-live .lr-master-route.active,
body.portrait-reference-live .lr-master-route.active{opacity:1!important;stroke-width:2.45!important;filter:none!important}
body.landscape-reference-live .lr-master-route.active.route-west,
body.portrait-reference-live .lr-master-route.active.route-west{stroke-dasharray:none!important}
body.landscape-reference-live .lr-master-route.active.route-central,
body.portrait-reference-live .lr-master-route.active.route-central{stroke-dasharray:7 3!important}
body.landscape-reference-live .lr-master-route.active.route-east,
body.portrait-reference-live .lr-master-route.active.route-east{stroke-dasharray:1.4 3.2!important}
body.landscape-reference-live .lr-master-route.active.player-route,
body.portrait-reference-live .lr-master-route.active.player-route{stroke-width:2.75!important}

/* Legacy board route guides use the same matte tree language and no light bloom. */
.graphical-world-board .living-roads,.graphical-world-board .road-biome-segment,.graphical-world-board .road-biome-center,.graphical-world-board .road-biome-shoulder{filter:none!important}
.living-roads .route-ghost{filter:none!important;opacity:.18!important;stroke-width:.42!important}
.living-roads .route-ghost-west{stroke:#56b8cc!important;stroke-dasharray:none!important}
.living-roads .route-ghost-central{stroke:#cfaa55!important;stroke-dasharray:1.8 1!important}
.living-roads .route-ghost-east{stroke:#68b98a!important;stroke-dasharray:.45 1.1!important;stroke-linecap:round!important}
.living-roads .route-ghost.active{opacity:.44!important;stroke-width:.62!important;filter:none!important}
body.time-night .graphical-world-board .living-roads,body.time-night .graphical-world-board .road-biome-center{filter:none!important}

/* Reduce costly live effects without removing the physical-board feel. */
@media (max-width:900px),(pointer:coarse){
  .graphical-world-board .terrain-prop:nth-child(n+15),.living-biome-layer .biome-life3d:nth-child(n+13){display:none!important}
  .city-building3d>i,.roadside-landmark em{animation:none!important}
  .lr-master-route{transition:stroke-width .12s ease,opacity .12s ease!important}
  .lr-map-zoom-stage{transition:width .12s ease,height .12s ease!important}
}

/* ============================================================
   BORDER RUN v4.2.5k — 150 TROPHIES + PORTRAIT MAP CLEANUP
   ============================================================ */
.achievement-150-case .trophy-case-header{position:sticky;top:0;z-index:4;background:linear-gradient(180deg,rgba(11,15,14,.99),rgba(8,11,10,.97));backdrop-filter:blur(8px)}
.achievement-tier-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.achievement-tier-summary b,.achievement-tier-summary button{appearance:none;padding:8px 5px;border-radius:10px;font:900 8px/1 Arial,sans-serif;letter-spacing:.13em;border:1px solid rgba(255,255,255,.1);cursor:pointer;text-align:center}
.achievement-tier-summary button:hover,.achievement-tier-summary button:focus-visible{transform:translateY(-1px);filter:brightness(1.14);outline:2px solid rgba(255,255,255,.55);outline-offset:2px}
.achievement-tier-summary button.active{box-shadow:0 0 0 2px rgba(255,255,255,.22),0 5px 16px rgba(0,0,0,.35)}
.achievement-tier-summary .chrome{color:#d5e0e5;background:linear-gradient(180deg,#3f4b50,#161d20);border-color:#84989f}
.achievement-tier-summary .gold{color:#ffe6a0;background:linear-gradient(180deg,#5e4817,#211705);border-color:#c9a54e}
.achievement-tier-summary .platinum{color:#e9f9ff;background:linear-gradient(180deg,#335266,#13232e);border-color:#8dcce5}
.trophy-case-tile.achievement-150{min-height:225px}
.trophy-case-tile.achievement-150.tier-chrome{border-color:rgba(151,174,184,.50);box-shadow:inset 0 0 18px rgba(142,165,174,.05),0 8px 16px rgba(0,0,0,.28)}
.trophy-case-tile.achievement-150.tier-chrome .trophy-case-pedestal:before{background:linear-gradient(180deg,#b6c5cb,#56656b)}
.trophy-case-tile.achievement-150.tier-gold{border-color:rgba(225,183,76,.62);box-shadow:inset 0 0 20px rgba(220,169,57,.07),0 8px 17px rgba(0,0,0,.30)}
.trophy-case-tile.achievement-150.tier-gold .trophy-case-pedestal:before{background:linear-gradient(180deg,#f0cb6b,#8a651d)}
.trophy-case-tile.achievement-150.tier-platinum{border-color:rgba(142,210,235,.72);box-shadow:inset 0 0 22px rgba(126,206,236,.09),0 8px 18px rgba(0,0,0,.32)}
.trophy-case-tile.achievement-150.tier-platinum .trophy-case-pedestal:before{background:linear-gradient(180deg,#effbff,#7aabbc)}
.trophy-case-tile.achievement-150.locked{opacity:.76;filter:none}
.trophy-case-tile.achievement-150.locked .trophy-object{filter:grayscale(.8) brightness(.55)}
.trophy-case-tile.achievement-150.earned{transform:translateZ(0)}

/* Cover the legacy baked tutorial/screenshot block in the lower-left of the source map.
   This sits inside the zoom stage, so it pans/zooms with the board and never blocks controls. */
.lr-map-cleanup-patch.tutorial-patch{position:absolute;left:0;bottom:0;width:15.4%;height:26.8%;z-index:1;pointer-events:none;background:
  radial-gradient(ellipse at 80% 10%,rgba(18,47,55,.38),transparent 48%),
  radial-gradient(ellipse at 35% 52%,rgba(8,31,39,.46),transparent 55%),
  linear-gradient(150deg,#07171d 0%,#06151a 42%,#031016 100%);box-shadow:inset -10px 10px 26px rgba(4,16,22,.22)}
body.portrait-reference-live .lr-map-cleanup-patch.tutorial-patch,
body.landscape-reference-live .lr-map-cleanup-patch.tutorial-patch{display:block!important}
.legend-tutorial-card,#referenceTutorialCard,.lr-art-hit.tutorial-card,.lr-art-hit.tutorial-gotit{display:none!important}

@media (orientation:portrait){
  .achievement-150-case .trophy-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .achievement-150-case .trophy-case-tile{min-height:210px!important;padding:9px 7px!important}
  .achievement-150-case .trophy-case-header strong{font-size:32px!important}
}

/* ============================================================
   BORDER RUN v4.2.5l — DOMINITY STORM INTERACTIVE STORY TUTORIAL
   ============================================================ */
.dominity-tutorial-overlay{position:fixed;inset:0;z-index:14050;opacity:0;transition:opacity .22s ease;pointer-events:none;font-family:Arial,Helvetica,sans-serif;color:#f1e2b3}
.dominity-tutorial-overlay.show{opacity:1}
.dominity-tutorial-dim{position:absolute;inset:0;background:rgba(3,7,8,.44);backdrop-filter:blur(1.5px);pointer-events:auto;transition:background .2s ease}
.dominity-tutorial-overlay.armed .dominity-tutorial-dim{background:rgba(3,7,8,.14);pointer-events:none;backdrop-filter:none}
.dominity-tutorial-full-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(.94) contrast(1.03);pointer-events:none}
.dominity-tutorial-overlay.cinematic:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18) 44%,rgba(0,0,0,.82) 78%,rgba(0,0,0,.96));pointer-events:none}
.dominity-tutorial-character{position:absolute;right:2vw;bottom:0;width:min(34vw,430px);height:min(72vh,760px);background:url('./assets/tutorial/dominity-tutorial-character.webp') center 32%/cover no-repeat;border-radius:28px 28px 0 0;filter:drop-shadow(0 18px 30px rgba(0,0,0,.54));opacity:.98;pointer-events:none;mask-image:linear-gradient(to bottom,#000 0 84%,transparent 100%)}
.dominity-tutorial-panel{pointer-events:auto;position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(20px,calc(env(safe-area-inset-bottom) + 14px));width:min(620px,62vw);max-height:min(76vh,720px);overflow:auto;padding:20px 22px 18px;border:1px solid rgba(214,174,79,.70);border-radius:18px;background:linear-gradient(180deg,rgba(8,14,15,.96),rgba(5,9,10,.94));box-shadow:0 24px 65px rgba(0,0,0,.60),inset 0 0 34px rgba(48,189,181,.045);z-index:3}
.dominity-tutorial-overlay.cinematic .dominity-tutorial-panel{left:max(18px,env(safe-area-inset-left));transform:none;width:min(760px,calc(100vw - 420px));max-width:calc(100vw - 420px);bottom:max(22px,calc(env(safe-area-inset-bottom) + 16px));text-align:left;z-index:3;background:linear-gradient(180deg,rgba(4,8,9,.78),rgba(5,9,10,.95))} 
@media(max-width:1180px){.dominity-tutorial-overlay.cinematic .dominity-tutorial-panel{width:min(680px,58vw);max-width:min(680px,58vw)}.dominity-tutorial-original-art{width:min(28vw,300px);height:min(68vh,500px)}}
@media(max-width:900px) and (orientation:landscape){.dominity-tutorial-overlay.cinematic .dominity-tutorial-panel{width:min(620px,60vw);max-width:min(620px,60vw)}.dominity-tutorial-original-art{width:min(30vw,250px);height:min(66vh,420px)}}
.dominity-tutorial-kicker{font:900 11px/1 Arial,sans-serif;letter-spacing:.19em;color:#65d7cc;text-transform:uppercase;margin-bottom:7px}
.dominity-tutorial-panel h2{margin:0 0 8px;font:900 clamp(24px,3vw,44px)/.98 Georgia,serif;color:#f3dda4;letter-spacing:.015em;text-shadow:0 2px 0 #000}
.dominity-tutorial-panel blockquote{margin:9px 0 11px;padding:10px 13px;border-left:3px solid #cfa94e;background:rgba(207,169,78,.07);color:#fff0c9;font:700 15px/1.35 Georgia,serif;font-style:italic}
.dominity-tutorial-overlay.cinematic blockquote{border-left:0;border-top:1px solid rgba(207,169,78,.40);border-bottom:1px solid rgba(207,169,78,.40)}
.dominity-tutorial-panel p{margin:0 0 10px;color:#d3d5c9;font:600 13px/1.45 Arial,sans-serif}
.dominity-tutorial-helper{padding:9px 11px;border-radius:10px;border:1px solid rgba(91,211,201,.20);background:rgba(38,128,122,.10);color:#8de0d8;font:800 10px/1.3 Arial,sans-serif;letter-spacing:.04em}
.dominity-tutorial-progress{height:7px;margin:13px 0 4px;border:1px solid rgba(235,204,124,.22);border-radius:999px;background:rgba(255,255,255,.04);overflow:hidden}
.dominity-tutorial-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#36c7bb,#d8ae50);box-shadow:none}
.dominity-tutorial-count{display:block;text-align:right;color:#858d84;font:800 8px/1 Arial,sans-serif;letter-spacing:.12em}
.dominity-tutorial-actions{display:flex;gap:9px;justify-content:flex-end;align-items:center;margin-top:12px}
.dominity-tutorial-actions button{min-height:46px;padding:0 18px;border-radius:11px;border:1px solid rgba(218,183,96,.46);font:900 11px/1 Arial,sans-serif;letter-spacing:.09em;cursor:pointer}
.dominity-tutorial-next{background:linear-gradient(180deg,#31c6bb,#168c85);color:#03100f;border-color:#5ce0d5!important;min-width:140px}
.dominity-tutorial-next.roll-practice{min-width:230px;min-height:62px!important;padding:7px 14px!important;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;text-align:left;box-shadow:0 10px 22px rgba(0,0,0,.24),0 0 0 2px rgba(91,224,213,.08)}
.dominity-tutorial-dice-pair{display:flex;gap:3px;align-items:center;justify-content:center;min-width:74px;color:#fff4cb;text-shadow:0 3px 6px rgba(0,0,0,.42)}
.dominity-tutorial-dice-pair i{font:900 34px/1 Georgia,serif;font-style:normal;display:inline-block;transform:rotate(-4deg)}
.dominity-tutorial-dice-pair i+ i{transform:rotate(5deg)}
.dominity-tutorial-roll-copy{display:block;min-width:0}.dominity-tutorial-roll-copy b{display:block;font:900 14px/1 Arial,sans-serif;letter-spacing:.08em}.dominity-tutorial-roll-copy small{display:block;margin-top:5px;font:900 8px/1 Arial,sans-serif;letter-spacing:.16em;opacity:.78}
.dominity-tutorial-overlay.practice-rolling .dominity-tutorial-dice-pair i{animation:dominityPracticeDice .19s linear infinite}
.dominity-tutorial-overlay.practice-landed .dominity-tutorial-next.roll-practice{background:linear-gradient(180deg,#e0b653,#9b7224);color:#151008;border-color:#f3d078!important}
@keyframes dominityPracticeDice{0%{transform:translateY(-3px) rotate(-10deg) scale(.96)}50%{transform:translateY(3px) rotate(11deg) scale(1.06)}100%{transform:translateY(-3px) rotate(-10deg) scale(.96)}}
.dominity-tutorial-back,.dominity-tutorial-skip{background:#0b1111;color:#d4c89e}
.dominity-tutorial-next:disabled{opacity:.72;color:#dff8f5;cursor:default}
.dominity-tutorial-focus{position:fixed;z-index:14055;border:3px solid #64e1d6;border-radius:16px;box-shadow:0 0 0 4px rgba(0,0,0,.54),0 0 0 8px rgba(100,225,214,.16);pointer-events:none;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease,opacity .18s ease;animation:dominityFocusPulse 1.25s ease-in-out infinite}
.dominity-tutorial-focus.missing{opacity:0}
.dominity-tutorial-overlay.cinematic .dominity-tutorial-focus{display:none}
@keyframes dominityFocusPulse{0%,100%{box-shadow:0 0 0 4px rgba(0,0,0,.52),0 0 0 8px rgba(100,225,214,.10)}50%{box-shadow:0 0 0 4px rgba(0,0,0,.52),0 0 0 13px rgba(100,225,214,.22)}}
.dominity-story-beat{position:fixed;z-index:12200;right:max(14px,env(safe-area-inset-right));bottom:max(90px,calc(env(safe-area-inset-bottom) + 78px));width:min(390px,82vw);display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(207,169,78,.56);border-radius:16px;background:rgba(5,10,11,.94);box-shadow:0 18px 46px rgba(0,0,0,.50);transform:translateX(115%);opacity:0;transition:.28s ease;pointer-events:none}
.dominity-story-beat.show{transform:translateX(0);opacity:1}
.dominity-story-beat .portrait{height:94px;border-radius:10px;background:url('./assets/tutorial/dominity-tutorial-character.webp') 50% 28%/180% auto no-repeat}
.dominity-story-beat span{display:block;color:#62d6cc;font:900 9px/1 Arial,sans-serif;letter-spacing:.14em;margin-bottom:5px}.dominity-story-beat strong{display:block;color:#f0d799;font:900 18px/1.05 Georgia,serif;margin-bottom:5px}.dominity-story-beat small{display:block;color:#d4d6cb;font:700 11px/1.35 Arial,sans-serif}
@media (orientation:portrait){
  .dominity-tutorial-character{display:none!important}
  .dominity-tutorial-panel{left:10px;right:10px;bottom:max(10px,calc(env(safe-area-inset-bottom) + 8px));width:auto;max-height:58vh;padding:15px 15px 13px;border-radius:15px}
  .dominity-tutorial-overlay.cinematic .dominity-tutorial-panel{left:10px;right:10px;transform:none;width:auto;max-width:none;bottom:max(12px,calc(env(safe-area-inset-bottom) + 9px));max-height:56vh;padding-top:14px}
  .dominity-tutorial-full-art{object-position:center top}
  .dominity-tutorial-overlay.cinematic:after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.06) 52%,rgba(0,0,0,.88) 76%,rgba(0,0,0,.98))}
  .dominity-tutorial-panel h2{font-size:25px}.dominity-tutorial-panel blockquote,.dominity-tutorial-quote{font-size:13px;padding:8px 10px}.dominity-tutorial-panel p{font-size:12px;line-height:1.38}.dominity-tutorial-helper{font-size:9px}
  .dominity-tutorial-actions{gap:6px}.dominity-tutorial-actions button{min-height:44px;padding:0 12px;font-size:9px}.dominity-tutorial-next{min-width:112px}
  .dominity-story-beat{bottom:max(82px,calc(env(safe-area-inset-bottom) + 74px));grid-template-columns:66px 1fr}.dominity-story-beat .portrait{height:76px}
}
@media (orientation:portrait) and (max-width:720px){.dominity-tutorial-overlay.cinematic .dominity-tutorial-panel{padding-top:14px}.dominity-tutorial-kicker,.dominity-tutorial-count{text-shadow:0 1px 0 rgba(0,0,0,.6)}}
@media (max-height:560px) and (orientation:landscape){
  .dominity-tutorial-character{width:27vw;height:68vh;right:1vw}
  .dominity-tutorial-panel{width:min(610px,68vw);max-height:82vh;padding:13px 16px}.dominity-tutorial-panel h2{font-size:25px}.dominity-tutorial-panel blockquote{font-size:12px;padding:7px 10px}.dominity-tutorial-panel p{font-size:11px}.dominity-tutorial-actions button{min-height:38px}
}


/* ============================================================
   BORDER RUN v4.2.5m — PERSONA ENCOUNTERS + IMPOUND ANIMATION
   ============================================================ */

.persona-encounter-card{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;margin:8px 0 12px;padding:12px 13px;border-radius:16px;border:1px solid rgba(224,194,119,.28);background:linear-gradient(145deg,#121714,#090c0a);box-shadow:0 10px 24px rgba(0,0,0,.34),inset 0 0 22px rgba(255,255,255,.03)}
.persona-avatar{width:68px;height:68px;border-radius:16px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 35% 28%,#38534c,#121816 66%);border:2px solid rgba(102,171,164,.56);box-shadow:inset 0 0 16px rgba(255,255,255,.06),0 8px 16px rgba(0,0,0,.24)}
.persona-avatar span{font-size:28px;line-height:1}
.persona-avatar b{position:absolute;right:6px;bottom:5px;min-width:26px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:rgba(10,12,10,.88);color:#f6e5b3;font:900 9px/1 Arial,sans-serif;letter-spacing:.08em;border:1px solid rgba(255,255,255,.1)}
.persona-copy span{display:block;color:#79ddd3;font:900 8px/1 Arial,sans-serif;letter-spacing:.18em}
.persona-copy strong{display:block;margin:4px 0;color:#f2dfae;font:900 24px/1 Georgia,serif}
.persona-copy small{display:block;color:#c2b89f;font:800 10px/1.3 Arial,sans-serif}
.persona-copy p{margin:7px 0 0;color:#aeb4a6;font:700 11px/1.45 Arial,sans-serif}
.persona-encounter-card.cop .persona-avatar,.encounter-overlay-card.cop .encounter-overlay-avatar{border-color:#5ca8d4;background:radial-gradient(circle at 35% 30%,#274355,#0c131a 68%)}
.persona-encounter-card.federale .persona-avatar,.encounter-overlay-card.federale .encounter-overlay-avatar{border-color:#d8b85e;background:radial-gradient(circle at 35% 30%,#294b36,#0b1710 68%)}
.persona-encounter-card.mountie .persona-avatar,.encounter-overlay-card.mountie .encounter-overlay-avatar{border-color:#e7c47b;background:radial-gradient(circle at 35% 30%,#6a2025,#16090b 68%)}
.persona-encounter-card.border .persona-avatar,.encounter-overlay-card.border .encounter-overlay-avatar{border-color:#d39a50;background:radial-gradient(circle at 35% 30%,#563b22,#17120d 68%)}
.persona-encounter-card.bounty .persona-avatar,.encounter-overlay-card.bounty .encounter-overlay-avatar{border-color:#cc6051;background:radial-gradient(circle at 35% 30%,#54221c,#170d0c 68%)}
.persona-encounter-card.lawyer .persona-avatar,.encounter-overlay-card.lawyer .encounter-overlay-avatar{border-color:#63cfc5;background:radial-gradient(circle at 35% 30%,#294c45,#0c1110 68%)}
.persona-encounter-card.bondsman .persona-avatar,.encounter-overlay-card.bondsman .encounter-overlay-avatar{border-color:#d3a24d;background:radial-gradient(circle at 35% 30%,#62431e,#1a130d 68%)}
.encounter-overlay-layer{position:fixed;inset:0;z-index:52;pointer-events:none;display:flex;justify-content:center;align-items:flex-start;padding:calc(max(12px,env(safe-area-inset-top)) + 10px) 12px 12px;opacity:0;transform:translateY(-10px);transition:opacity .18s ease,transform .28s cubic-bezier(.2,.8,.2,1)}
.encounter-overlay-layer.active{opacity:1;transform:translateY(0)}
.encounter-overlay-layer.leaving{opacity:0;transform:translateY(-10px)}
.encounter-overlay-card{width:min(94vw,560px);display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;border:1px solid rgba(216,189,112,.4);background:linear-gradient(155deg,rgba(13,18,16,.96),rgba(8,11,10,.9));box-shadow:0 16px 36px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.025);backdrop-filter:blur(8px)}
.encounter-overlay-avatar{width:72px;height:72px;border-radius:18px;position:relative;display:grid;place-items:center;border:2px solid rgba(111,173,160,.55);background:radial-gradient(circle at 35% 28%,#355147,#0f1513 66%)}
.encounter-overlay-avatar span{font-size:30px}
.encounter-overlay-avatar b{position:absolute;right:6px;bottom:6px;min-width:28px;height:21px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:rgba(8,10,9,.92);color:#f3deb0;font:900 9px/1 Arial,sans-serif;letter-spacing:.08em;border:1px solid rgba(255,255,255,.12)}
.encounter-overlay-copy span{display:block;color:#7ce3d8;font:900 9px/1 Arial,sans-serif;letter-spacing:.19em}
.encounter-overlay-copy strong{display:block;margin:4px 0 3px;color:#f6e5b7;font:900 clamp(22px,4.5vw,31px)/1 Georgia,serif}
.encounter-overlay-copy small{display:block;color:#c9bea0;font:800 10px/1.2 Arial,sans-serif}
.encounter-overlay-copy p{margin:6px 0 0;color:#e6dec9;font:700 11px/1.4 Arial,sans-serif}
.encounter-overlay-chip{align-self:start;justify-self:end;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:#f0dca9;font:900 9px/1 Arial,sans-serif;letter-spacing:.16em;border:1px solid rgba(255,255,255,.08)}
.impound-overlay-layer{position:fixed;inset:0;z-index:53;pointer-events:none;display:grid;place-items:center;padding:calc(max(12px,env(safe-area-inset-top))+8px) 12px max(16px,env(safe-area-inset-bottom));opacity:0;transition:opacity .18s ease,transform .28s ease;transform:scale(.985)}
.impound-overlay-layer.active{opacity:1;transform:scale(1)}
.impound-overlay-layer.leaving{opacity:0;transform:scale(.985)}
.impound-overlay-card{width:min(94vw,680px);padding:16px;border-radius:22px;border:1px solid rgba(203,90,74,.46);background:linear-gradient(180deg,rgba(14,10,10,.96),rgba(10,12,14,.94));box-shadow:0 22px 60px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.03);overflow:hidden}
.impound-overlay-header span{display:block;color:#ff856b;font:900 9px/1 Arial,sans-serif;letter-spacing:.24em}.impound-overlay-header strong{display:block;margin:6px 0 4px;color:#f6dfb5;font:900 clamp(28px,5vw,40px)/.95 Georgia,serif}.impound-overlay-header small{display:block;color:#bcb29b;font:800 11px/1.25 Arial,sans-serif}
.impound-scene{position:relative;margin-top:14px;height:208px;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:radial-gradient(circle at 50% -15%,rgba(255,103,68,.16),transparent 42%),linear-gradient(180deg,#11161a 0%,#090a0d 58%,#111 100%);overflow:hidden}
.impound-road{position:absolute;left:-10%;right:-10%;bottom:0;height:78px;background:linear-gradient(180deg,#282a2d,#131416 55%,#0d0e10)}
.impound-road:before{content:'';position:absolute;left:6%;right:6%;top:35px;height:7px;background:repeating-linear-gradient(90deg,transparent 0 34px,#d7b45e 34px 60px)}
.impound-wrecker{position:absolute;left:10%;bottom:34px;width:210px;height:74px;border-radius:14px 16px 10px 10px;background:linear-gradient(180deg,#a36a1d,#6f4314 70%,#3d2410);box-shadow:0 18px 24px rgba(0,0,0,.4);animation:impoundTow 1.7s cubic-bezier(.2,.7,.2,1) forwards}
.impound-wrecker:before{content:'';position:absolute;left:18px;top:-23px;width:82px;height:42px;border-radius:14px 14px 4px 4px;background:linear-gradient(180deg,#d5aa47,#905d20)}
.impound-wrecker:after{content:'';position:absolute;left:20px;right:22px;bottom:-9px;height:18px;background:radial-gradient(circle at 18px 9px,#0b0b0d 0 9px,transparent 10px),radial-gradient(circle at calc(100% - 18px) 9px,#0b0b0d 0 9px,transparent 10px),radial-gradient(circle at 86px 9px,#0b0b0d 0 9px,transparent 10px),radial-gradient(circle at calc(100% - 86px) 9px,#0b0b0d 0 9px,transparent 10px)}
.impound-light{position:absolute;left:18px;top:8px;width:18px;height:18px;border-radius:50%;background:#ff4f2f;box-shadow:26px 0 0 #64a8ff,0 0 18px rgba(255,90,44,.55),26px 0 18px rgba(100,168,255,.45);animation:impoundFlash .48s steps(2,end) infinite}
.impound-crane{position:absolute;right:34px;top:-20px;width:84px;height:10px;border-radius:999px;background:#d0a44a;transform-origin:right center;transform:rotate(-22deg)}
.impound-hook{position:absolute;right:76px;top:-5px;width:4px;height:74px;background:linear-gradient(#e4c16d,#826127)}
.impound-hook:after{content:'';position:absolute;left:-6px;bottom:-8px;width:16px;height:16px;border:4px solid #d9b85f;border-top-color:transparent;border-left-color:transparent;border-radius:50%;transform:rotate(38deg)}
.impound-piece-shell{position:absolute;left:44%;bottom:58px;transform:translateX(-50%) scale(.9);filter:drop-shadow(0 12px 18px rgba(0,0,0,.4));animation:impoundPiece 1.7s cubic-bezier(.18,.78,.22,1) forwards}
.impound-piece-shell .impound-render{transform:scale(1.05)}
.impound-chain{position:absolute;left:39%;bottom:94px;width:92px;height:2px;background:linear-gradient(90deg,#c3a151,#7e642d);transform-origin:left center;animation:impoundChain 1.7s cubic-bezier(.18,.78,.22,1) forwards}
.impound-bars{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);gap:52px;padding:0 60px;pointer-events:none;opacity:.2}
.impound-bars i{width:6px;height:100%;display:block;background:linear-gradient(180deg,rgba(232,234,240,.7),rgba(64,72,78,.5));justify-self:center}
.impound-overlay-note{margin-top:14px;color:#f1ddbb;font:800 12px/1.45 Arial,sans-serif;text-align:center}.impound-overlay-note b{color:#fff3d1}
@keyframes impoundTow{0%{transform:translateX(-16px)}100%{transform:translateX(28px)}}
@keyframes impoundPiece{0%{transform:translateX(-50%) translateY(16px) scale(.92) rotate(-3deg)}40%{transform:translateX(-40%) translateY(-6px) scale(.94) rotate(1deg)}100%{transform:translateX(-24%) translateY(-20px) scale(.84) rotate(1.4deg)}}
@keyframes impoundChain{0%{transform:translateX(0) rotate(2deg);width:54px}45%{transform:translateX(20px) rotate(-4deg);width:82px}100%{transform:translateX(42px) rotate(-7deg);width:122px}}
@keyframes impoundFlash{0%,100%{opacity:1}50%{opacity:.4}}
@media(max-width:560px){.persona-encounter-card{grid-template-columns:58px 1fr}.persona-avatar{width:56px;height:56px}.persona-copy strong{font-size:20px}.encounter-overlay-card{grid-template-columns:60px 1fr;padding:11px 12px}.encounter-overlay-avatar{width:56px;height:56px}.encounter-overlay-chip{grid-column:2;justify-self:start;margin-top:6px}.impound-scene{height:178px}.impound-wrecker{left:3%;width:176px;height:64px}.impound-piece-shell{left:52%;bottom:52px}}


/* ============================================================
   BORDER RUN v4.2.5n — ILLUSTRATED PERSONA PORTRAITS
   ============================================================ */
.persona-trait-row{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 8px}
.persona-trait-row span{padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#e5d9b7;font:900 9px/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.persona-encounter-card.illustrated{grid-template-columns:108px 1fr;gap:14px;padding:14px 15px;border-radius:18px;align-items:center}
.persona-portrait-frame{display:flex;justify-content:center;align-items:center}
.persona-portrait-svg,.encounter-portrait-svg{width:92px;height:108px;border-radius:18px;display:block;position:relative;overflow:hidden;background:center/cover no-repeat;box-shadow:0 14px 24px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.14)}
.persona-portrait-svg.large,.encounter-portrait-svg.large{width:100px;height:124px;border-radius:22px}
.persona-portrait-svg b,.encounter-portrait-svg b{position:absolute;right:7px;bottom:24px;min-width:30px;height:22px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:rgba(7,9,9,.9);color:#f6e3b6;font:900 10px/1 Arial,sans-serif;letter-spacing:.1em;border:1px solid rgba(255,255,255,.14);box-shadow:0 6px 10px rgba(0,0,0,.22)}
.persona-portrait-svg.large b,.encounter-portrait-svg.large b{right:8px;bottom:26px;min-width:32px}
.persona-portrait-svg i,.encounter-portrait-svg i{position:absolute;left:0;right:0;bottom:0;padding:6px 8px;background:linear-gradient(180deg,rgba(7,9,9,.04),rgba(7,9,9,.86));color:#f6e3b6;font:900 8px/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;font-style:normal;text-align:center}
.persona-encounter-card.illustrated .persona-copy strong{font-size:28px}
.persona-encounter-card.illustrated .persona-copy p{font-size:12px}
.encounter-overlay-card.portrait{grid-template-columns:110px 1fr auto;align-items:center;gap:14px;overflow:hidden}
.encounter-overlay-card.portrait .encounter-overlay-copy strong{font-size:clamp(24px,4.2vw,34px)}
.encounter-overlay-card.portrait .encounter-overlay-copy p{font-size:12px;line-height:1.45}
.encounter-portrait-svg.cop,.persona-portrait-svg.cop{border-color:#5ca8d4}
.encounter-portrait-svg.federale,.persona-portrait-svg.federale{border-color:#d8b85e}
.encounter-portrait-svg.mountie,.persona-portrait-svg.mountie{border-color:#e7c47b}
.encounter-portrait-svg.border,.persona-portrait-svg.border{border-color:#d39a50}
.encounter-portrait-svg.bounty,.persona-portrait-svg.bounty{border-color:#cc6051}
.encounter-portrait-svg.lawyer,.persona-portrait-svg.lawyer{border-color:#63cfc5}
.encounter-portrait-svg.bondsman,.persona-portrait-svg.bondsman{border-color:#d3a24d}
.encounter-portrait-svg.dominity,.persona-portrait-svg.dominity{border-color:#67d0c2;box-shadow:0 18px 34px rgba(0,0,0,.34),0 0 0 1px rgba(103,208,194,.12)}
@media(max-width:640px){.persona-encounter-card.illustrated{grid-template-columns:80px 1fr}.persona-portrait-svg,.encounter-portrait-svg{width:72px;height:86px}.persona-portrait-svg.large,.encounter-portrait-svg.large{width:72px;height:90px}.persona-encounter-card.illustrated .persona-copy strong{font-size:22px}.encounter-overlay-card.portrait{grid-template-columns:80px 1fr}.encounter-overlay-chip{grid-column:2;justify-self:start;margin-top:6px}}


/* ============================================================
   BORDER RUN v4.2.5o — Dominity portrait pass + clean route overlays
   ============================================================ */
.encounter-overlay-layer.dominity .encounter-overlay-card,.persona-encounter-card.dominity{background:linear-gradient(135deg,rgba(21,40,44,.98),rgba(7,11,13,.98));border-color:rgba(91,202,191,.58);box-shadow:0 28px 80px rgba(0,0,0,.42),0 0 0 1px rgba(95,220,205,.12)}
.encounter-overlay-card.dominity .encounter-overlay-avatar.large,.persona-encounter-card.dominity .persona-avatar.large,.encounter-portrait-svg.dominity,.persona-portrait-svg.dominity{border-color:#67d0c2}
.encounter-overlay-layer.dominity .encounter-overlay-chip{background:rgba(93,201,191,.14);border-color:rgba(93,201,191,.35);color:#9be8df}
.encounter-overlay-layer.dominity .persona-trait-row span,.persona-encounter-card.dominity .persona-trait-row span{background:rgba(93,201,191,.09);border-color:rgba(93,201,191,.2);color:#ccf3ee}

/* Remove distracting helper traces and legacy line overlays. */
body.landscape-reference-live .lr-master-routes,
body.portrait-reference-live .lr-master-routes,
.living-roads .route-ghost,
.living-roads .route-ghost-city,
.lr-master-south-line{display:none!important;opacity:0!important;visibility:hidden!important}

/* Border Run v4.2.6b — credits */
.credits-panel{max-width:620px;margin:0 auto;padding:24px 18px 18px;border:1px solid rgba(103,208,194,.32);border-radius:20px;background:linear-gradient(160deg,rgba(20,34,35,.96),rgba(8,12,13,.98));box-shadow:inset 0 0 36px rgba(74,194,183,.05),0 18px 40px rgba(0,0,0,.34);text-align:center}
.credits-brand{color:#7ae9d8;font:900 12px/1 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.credits-panel h2{margin:8px 0 14px;color:#f4e4bb;font:900 clamp(28px,5vw,42px)/.98 Georgia,serif;letter-spacing:.035em}
.credits-divider{height:2px;margin:0 auto 18px;max-width:360px;background:linear-gradient(90deg,transparent,#67d0c2 24%,#f0cb6b 50%,#67d0c2 76%,transparent)}
.credits-list{display:grid;gap:14px;margin:0;padding:0}
.credits-list div{padding:13px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065)}
.credits-list dt{margin:0 0 6px;color:#78dcd0;font:900 9px/1.1 Arial,sans-serif;letter-spacing:.18em}
.credits-list dd{margin:0;color:#f0e0b9;font:800 16px/1.45 Arial,sans-serif}
.credits-legal{display:grid;gap:7px;margin-top:20px;padding-top:17px;border-top:1px solid rgba(255,255,255,.09)}
.credits-legal strong{color:#f4c765;font:900 11px/1.2 Arial,sans-serif;letter-spacing:.15em}
.credits-legal span{color:#d8ceb5;font:800 10px/1.2 Arial,sans-serif;letter-spacing:.13em}
.credits-legal b{color:#7ae9d8;font:900 24px/1 Georgia,serif;letter-spacing:.08em}


/* ============================================================
   BORDER RUN v4.2.6g / NATIVE RC5 — TOP BAR READABILITY PASS
   Player telemetry is intentionally larger, heavier and higher contrast.
   ============================================================ */
.hud .stat{
  min-height:62px!important;
  padding:11px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
}
.hud .stat span{
  font:900 10.5px/1 Arial,sans-serif!important;
  letter-spacing:.12em!important;
  color:#c6c5b6!important;
  opacity:1!important;
}
.hud .stat strong{
  font-family:"Arial Narrow",Arial,sans-serif!important;
  font-size:clamp(20px,3.6vw,25px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  color:#fff0c7!important;
  text-shadow:0 2px 2px rgba(0,0,0,.75),0 0 10px rgba(255,234,183,.08)!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}
.hud .stat:nth-child(1) strong{color:#95e4d5!important}
.hud .stat:nth-child(3) strong{color:#ff8a61!important}
.hud .stat:nth-child(4) strong{color:#f4cb67!important}

body.hard-reference-compact .hard-ref-telemetry{
  min-height:62px!important;
}
body.hard-reference-compact .hard-ref-telemetry>div{
  min-height:62px!important;
  padding:9px 10px!important;
  gap:4px!important;
  background:linear-gradient(180deg,rgba(19,24,22,.92),rgba(8,12,11,.96))!important;
}
body.hard-reference-compact .hard-ref-telemetry span,
body.hard-reference-compact .hard-ref-telemetry small{
  font:900 9.5px/1 Arial,sans-serif!important;
  color:#c0c7bb!important;
  letter-spacing:.12em!important;
  opacity:1!important;
}
body.hard-reference-compact .hard-ref-telemetry strong{
  margin-top:3px!important;
  font:900 clamp(18px,2vw,23px)/1 "Arial Narrow",Arial,sans-serif!important;
  color:#fff0c5!important;
  letter-spacing:-.025em!important;
  text-shadow:0 2px 2px rgba(0,0,0,.8)!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body.hard-reference-compact .hard-ref-telemetry .telemetry-time>span{
  font-size:22px!important;
  color:#f1cf6f!important;
}
body.hard-reference-compact .hard-ref-telemetry .heat-pips{
  font-size:15px!important;
  color:#ff7658!important;
  letter-spacing:.025em!important;
}

body.reference-graphic-layout .telemetry-cell{
  min-height:62px!important;
  padding:10px 13px!important;
  border-color:rgba(214,175,93,.34)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 8px 16px rgba(0,0,0,.3)!important;
}
body.reference-graphic-layout .telemetry-cell span{
  font:900 11.5px/1 Arial,sans-serif!important;
  letter-spacing:.15em!important;
  color:#e2d9bc!important;
}
body.reference-graphic-layout .telemetry-cell b{
  font:900 clamp(19px,2.2vw,24px)/1 "Arial Narrow",Arial,sans-serif!important;
  letter-spacing:-.025em!important;
  color:#fff0c7!important;
  text-shadow:0 2px 2px rgba(0,0,0,.78)!important;
  font-variant-numeric:tabular-nums!important;
}
body.reference-graphic-layout .telemetry-cell.cash b{color:#a9e67d!important}
body.reference-graphic-layout .telemetry-cell.heat b{color:#ff8060!important;font-size:clamp(17px,2vw,22px)!important}
body.reference-graphic-layout .telemetry-cell.cargo b{color:#ff9a72!important}

@media(max-width:620px){
  .hud{gap:5px!important}
  .hud .stat{min-height:58px!important;padding:9px 7px!important}
  .hud .stat span{font-size:9px!important;letter-spacing:.09em!important}
  .hud .stat strong{font-size:clamp(18px,5vw,22px)!important}

  body.hard-reference-phone .hard-ref-telemetry,
  body.portrait-reference-live .hard-ref-telemetry{
    gap:6px!important;
  }
  body.hard-reference-phone .hard-ref-telemetry>div,
  body.portrait-reference-live .hard-ref-telemetry>div{
    min-height:58px!important;
    padding:8px 9px!important;
  }
  body.hard-reference-phone .hard-ref-telemetry span,
  body.hard-reference-phone .hard-ref-telemetry small,
  body.portrait-reference-live .hard-ref-telemetry span,
  body.portrait-reference-live .hard-ref-telemetry small{
    font-size:8.5px!important;
    font-weight:900!important;
    letter-spacing:.1em!important;
  }
  body.hard-reference-phone .hard-ref-telemetry strong,
  body.portrait-reference-live .hard-ref-telemetry strong{
    font-size:clamp(17px,4.5vw,21px)!important;
    font-weight:900!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.hard-reference-phone .hard-ref-telemetry .heat-pips,
  body.portrait-reference-live .hard-ref-telemetry .heat-pips{
    font-size:12px!important;
  }
  body.reference-graphic-layout .telemetry-cell{min-height:58px!important;padding:9px 10px!important}
  body.reference-graphic-layout .telemetry-cell span{font-size:10px!important}
  body.reference-graphic-layout .telemetry-cell b{font-size:clamp(18px,4.7vw,21px)!important}
}

/* ============================================================
   BORDER RUN — RC8 TELEMETRY VALUE READABILITY + CANADA EXPANSION
   ============================================================ */
body.landscape-reference-live .lr-metric span{font-size:clamp(17px,1.55vw,26px)!important;font-weight:950!important;letter-spacing:.01em!important;text-shadow:0 1px 0 #000,0 0 8px rgba(255,255,255,.04)!important}
body.landscape-reference-live .lr-metric small{font-size:clamp(9px,.82vw,13px)!important;font-weight:900!important;color:#bfc6b8!important;white-space:nowrap!important}
body.landscape-reference-live .lr-metric.heat span{font-size:clamp(16px,1.42vw,24px)!important}
body.landscape-reference-live .lr-metric.cash span{color:#9fe36b!important}
body.landscape-reference-live .lr-metric.cargo span{color:#f47a57!important}
body.portrait-reference-live .artwork-master-renderer .lr-metric span{font-size:14px!important;font-weight:950!important}
body.portrait-reference-live .artwork-master-renderer .lr-metric small{font-size:8px!important;font-weight:900!important}
body.portrait-reference-live .artwork-master-renderer .lr-metric.heat span{font-size:13px!important}
.district-canada{--district-accent:#d45145}.district-northborder{--district-accent:#d6e8ef}

.country-ca{color:#e6edf0}.northern-geographic-border-line{stroke:#c8e7f1!important;stroke-width:.62!important;stroke-dasharray:1.5 .9!important;opacity:.95!important;filter:drop-shadow(0 0 3px rgba(150,220,245,.28))!important}
.map-node.core-city-node.district-canada,.district-canada.map-node{box-shadow:0 0 0 2px rgba(226,88,72,.22),0 8px 18px rgba(0,0,0,.45)!important}.district-northborder.map-node{box-shadow:0 0 0 2px rgba(210,236,246,.22),0 0 18px rgba(145,210,235,.22)!important}

/* v4.2.6k regional law-enforcement identity */
.encounter-overlay-layer.federale .encounter-overlay-card,.persona-encounter-card.federale{background:linear-gradient(135deg,rgba(24,54,37,.98),rgba(7,14,10,.98));border-color:rgba(216,184,94,.54)}
.encounter-overlay-layer.mountie .encounter-overlay-card,.persona-encounter-card.mountie{background:linear-gradient(135deg,rgba(74,19,23,.98),rgba(16,7,9,.98));border-color:rgba(231,196,123,.58)}
.encounter-overlay-layer.federale .encounter-overlay-chip{background:rgba(216,184,94,.13);border-color:rgba(216,184,94,.34);color:#f4dfa5}
.encounter-overlay-layer.mountie .encounter-overlay-chip{background:rgba(188,48,55,.18);border-color:rgba(231,196,123,.34);color:#f5dfb0}
.persona-encounter-card.federale .persona-trait-row span{border-color:rgba(216,184,94,.24);background:rgba(216,184,94,.08)}
.persona-encounter-card.mountie .persona-trait-row span{border-color:rgba(231,196,123,.24);background:rgba(179,42,48,.10)}

/* ============================================================
   BORDER RUN v4.2.6m — TOP ROW POP + NORTHERN U.S. PICKUPS
   ============================================================ */
body.landscape-reference-live .lr-metric{
  border-color:rgba(230,196,108,.34)!important;
  background:linear-gradient(180deg,rgba(12,18,17,.985),rgba(5,9,9,.995))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 7px 18px rgba(0,0,0,.42),0 0 12px rgba(218,183,92,.05)!important;
}
body.landscape-reference-live .lr-metric b{
  color:#fff0c2!important;
  text-shadow:0 2px 2px rgba(0,0,0,.9),0 0 8px rgba(255,224,145,.16)!important;
}
body.landscape-reference-live .lr-metric span{
  text-shadow:0 2px 2px rgba(0,0,0,.92),0 0 10px currentColor!important;
}
body.landscape-reference-live .lr-metric.cash span{color:#b6f17d!important}
body.landscape-reference-live .lr-metric.heat span{color:#ff7a58!important}
body.landscape-reference-live .lr-metric.cargo span{color:#ff9672!important}

@media (orientation:portrait){
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry{
    left:8px!important;right:8px!important;top:calc(var(--portrait-safe-top) + 54px)!important;
    height:58px!important;gap:6px!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric{
    height:58px!important;min-height:58px!important;padding:7px 8px!important;border-radius:10px!important;
    gap:5px!important;overflow:visible!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric b{
    font-size:16px!important;line-height:1!important;letter-spacing:.045em!important;font-weight:950!important;
    color:#fff1c5!important;overflow:visible!important;text-overflow:clip!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric span{
    font-size:18px!important;line-height:1!important;font-weight:950!important;overflow:visible!important;text-overflow:clip!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric small{
    font-size:9px!important;line-height:1!important;font-weight:900!important;color:#d4d7c7!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash{
    display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto auto!important;align-content:center!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash b{grid-column:1;grid-row:1}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash span{grid-column:2;grid-row:1;text-align:right}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash small{grid-column:1/3;grid-row:2;text-align:right;margin-top:3px}
  body.portrait-reference-live .pr-legal-hud{top:calc(var(--portrait-safe-top) + 118px)!important}
  body.portrait-reference-live .pr-route-tabs{top:calc(var(--portrait-safe-top) + 167px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-map-host{top:calc(var(--portrait-safe-top) + 221px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls{top:calc(var(--portrait-safe-top) + 229px)!important}
  body.portrait-reference-live .pr-live-legend{top:calc(var(--portrait-safe-top) + 229px)!important}
}

.northern-us-cargo-buy-card{border-color:rgba(86,198,224,.34)!important;background:linear-gradient(145deg,rgba(20,45,49,.95),rgba(11,17,18,.98))!important}
.northern-us-cargo-buy-card .cargo-tap-cta{color:#83e5ef!important}


/* ============================================================
   BORDER RUN v4.2.6n / Native RC12 — ANDROID BOTTOM DOCK UNIFORMITY
   Fixed icon boxes keep mixed emoji/text glyphs visually aligned across
   Android Chrome/WebView, Samsung Internet, and iOS Safari.
   ============================================================ */
body.landscape-reference-live .pr-bottom-nav>button,
body.portrait-reference-live .pr-bottom-nav>button{
  grid-template-rows:32px 12px!important;
  align-content:center!important;
  justify-items:center!important;
  gap:4px!important;
}
body.landscape-reference-live .pr-bottom-nav>button>span,
body.portrait-reference-live .pr-bottom-nav>button>span{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  padding:0!important;
  font-family:"Noto Color Emoji","Segoe UI Emoji","Apple Color Emoji",Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:30px!important;
  letter-spacing:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
  transform:translateZ(0)!important;
  transform-origin:center!important;
  filter:saturate(.96) contrast(1.05)!important;
}
body.landscape-reference-live .pr-bottom-nav>button>b,
body.portrait-reference-live .pr-bottom-nav>button>b{
  min-height:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  font:900 7px/12px Arial,sans-serif!important;
  letter-spacing:.055em!important;
  text-align:center!important;
  white-space:nowrap!important;
}
/* Android emoji fonts have different optical bounds. A fixed inner box and
   tiny optical correction keeps every dock icon on the same visual baseline. */
body.android-virtual-landscape .pr-bottom-nav>button>span,
body.portrait-reference-live.android-virtual-landscape .pr-bottom-nav>button>span{
  width:30px!important;height:30px!important;font-size:20px!important;line-height:30px!important;
}
@media (max-width:430px){
  body.portrait-reference-live .pr-bottom-nav{gap:3px!important;padding-left:4px!important;padding-right:4px!important}
  body.portrait-reference-live .pr-bottom-nav>button{padding:4px 2px!important;grid-template-rows:30px 11px!important}
  body.portrait-reference-live .pr-bottom-nav>button>span{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;font-size:19px!important;line-height:28px!important}
  body.portrait-reference-live .pr-bottom-nav>button>b{font-size:6.5px!important;line-height:11px!important;min-height:11px!important}
}


/* ============================================================
   BORDER RUN v4.2.6o / Native RC13 — CASH / BANK HUD HIERARCHY
   Cash now reads vertically under CASH; banked holdings occupy the former
   duplicate Heat slot. Legal contacts get stronger visual identities.
   ============================================================ */
body.landscape-reference-live .lr-metric.cash{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr!important;
  align-content:center!important;
  justify-items:start!important;
  gap:5px!important;
}
body.landscape-reference-live .lr-metric.cash b{
  grid-column:1!important;grid-row:1!important;
}
body.landscape-reference-live .lr-metric.cash span{
  grid-column:1!important;grid-row:2!important;
  width:100%!important;text-align:left!important;
  font-size:clamp(19px,1.75vw,29px)!important;
  color:#baff82!important;
  text-shadow:0 2px 2px rgba(0,0,0,.95),0 0 12px rgba(151,238,100,.26)!important;
}
body.landscape-reference-live .pr-legal.bank{
  border-color:rgba(105,203,126,.52)!important;
  background:linear-gradient(180deg,rgba(12,44,25,.98),rgba(5,15,10,.99))!important;
  color:#d8ffd6!important;
  box-shadow:inset 0 0 18px rgba(105,220,128,.06),0 6px 16px rgba(0,0,0,.34)!important;
}
body.landscape-reference-live .pr-legal.bank b{color:#9cf0aa!important}
body.landscape-reference-live .pr-legal.bank span{color:#caffab!important;text-shadow:0 0 10px rgba(145,237,111,.20)!important}
body.landscape-reference-live .pr-legal.lawyer{
  border-color:rgba(72,206,232,.58)!important;
  background:linear-gradient(180deg,rgba(8,41,50,.98),rgba(4,15,19,.99))!important;
  box-shadow:inset 0 0 20px rgba(70,195,230,.07),0 6px 16px rgba(0,0,0,.34)!important;
}
body.landscape-reference-live .pr-legal.bondsman{
  border-color:rgba(234,185,70,.62)!important;
  background:linear-gradient(180deg,rgba(55,39,9,.98),rgba(18,13,4,.99))!important;
  box-shadow:inset 0 0 20px rgba(238,190,73,.07),0 6px 16px rgba(0,0,0,.34)!important;
}
body.landscape-reference-live .pr-legal.dominity{
  border-color:rgba(49,131,255,.72)!important;
  background:linear-gradient(180deg,rgba(10,42,91,.99),rgba(4,12,28,.99))!important;
  box-shadow:inset 0 0 24px rgba(52,133,255,.10),0 0 15px rgba(42,116,240,.12),0 6px 16px rgba(0,0,0,.36)!important;
}
body.landscape-reference-live .pr-legal.lawyer b{color:#85e6f5!important}
body.landscape-reference-live .pr-legal.bondsman b{color:#ffd873!important}
body.landscape-reference-live .pr-legal.dominity b{color:#8fbaff!important}
body.landscape-reference-live .pr-legal.lawyer span,
body.landscape-reference-live .pr-legal.bondsman span,
body.landscape-reference-live .pr-legal.dominity span{
  color:#fff4ce!important;
  text-shadow:0 1px 2px #000,0 0 8px rgba(255,235,180,.12)!important;
}

@media (orientation:portrait){
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto 1fr!important;
    align-content:center!important;
    justify-items:start!important;
    padding:7px 9px!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash b{
    grid-column:1!important;grid-row:1!important;
    font-size:17px!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash span{
    grid-column:1!important;grid-row:2!important;
    width:100%!important;text-align:left!important;margin-top:4px!important;
    font-size:21px!important;line-height:1!important;
    color:#baff82!important;
    text-shadow:0 2px 2px #000,0 0 11px rgba(150,239,104,.28)!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash small{display:none!important}

  body.portrait-reference-live .pr-legal-hud{
    top:calc(var(--portrait-safe-top) + 118px)!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body.portrait-reference-live .pr-legal{
    height:58px!important;
    min-height:58px!important;
    padding:7px 8px!important;
    border-radius:10px!important;
    align-content:center!important;
    gap:4px!important;
    overflow:visible!important;
  }
  body.portrait-reference-live .pr-legal b{
    font:950 10px/1 Arial,sans-serif!important;
    letter-spacing:.06em!important;
    color:#d8dfd2!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-shadow:0 1px 2px #000!important;
  }
  body.portrait-reference-live .pr-legal span{
    margin-top:2px!important;
    font:950 15px/1 Arial,sans-serif!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.portrait-reference-live .pr-legal.bank b{color:#9cf0aa!important}
  body.portrait-reference-live .pr-legal.bank span{font-size:14px!important;color:#caffab!important}
  body.portrait-reference-live .pr-legal.lawyer b{font-size:11px!important;color:#85e6f5!important}
  body.portrait-reference-live .pr-legal.bondsman b{font-size:11px!important;color:#ffd873!important}
  body.portrait-reference-live .pr-legal.dominity b{font-size:11px!important;color:#8fbaff!important}
  body.portrait-reference-live .pr-legal.lawyer span,
  body.portrait-reference-live .pr-legal.bondsman span,
  body.portrait-reference-live .pr-legal.dominity span{font-size:16px!important}

  body.portrait-reference-live .pr-route-tabs{top:calc(var(--portrait-safe-top) + 183px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-map-host{top:calc(var(--portrait-safe-top) + 237px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls{top:calc(var(--portrait-safe-top) + 245px)!important}
  body.portrait-reference-live .pr-live-legend{top:calc(var(--portrait-safe-top) + 245px)!important}
}

/* ============================================================
   BORDER RUN v4.2.6p / RC14 — CONSENT TRADING, REPUTATION,
   CENTER-SCREEN AWARDS + FIREWORKS, VIBRANT CASCADES
   ============================================================ */
.unlock-celebration,
body.landscape-reference-live .unlock-celebration,
body.portrait-reference-live .unlock-celebration{
  position:fixed!important;inset:0!important;z-index:20050!important;
  display:grid!important;place-items:center!important;padding:20px!important;
  pointer-events:auto!important;overflow:hidden!important;
  background:radial-gradient(circle at 50% 42%,rgba(20,75,72,.36),rgba(2,6,7,.82) 55%,rgba(0,0,0,.94))!important;
  backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
}
.unlock-celebration-card,
body.landscape-reference-live .unlock-celebration-card,
body.portrait-reference-live .unlock-celebration-card{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  z-index:9!important;width:min(88vw,600px)!important;max-height:76dvh!important;overflow:auto!important;
  padding:26px 24px 22px!important;border-radius:24px!important;text-align:center!important;
  border:2px solid rgba(242,199,88,.84)!important;
  background:linear-gradient(180deg,rgba(11,18,18,.98),rgba(4,8,8,.99))!important;
  box-shadow:0 0 0 5px rgba(66,211,198,.10),0 30px 80px rgba(0,0,0,.74),inset 0 0 44px rgba(243,199,91,.08)!important;
  transform:none!important;animation:unlockCenterCard426p .52s cubic-bezier(.18,.88,.25,1.08) both!important;
}
.unlock-celebration-card>span{font-size:13px!important;color:#75e5da!important;letter-spacing:.24em!important}
.unlock-celebration-card em{margin:8px 0 16px!important;font-size:13px!important;color:#f5cf72!important;letter-spacing:.18em!important}
.unlock-celebration-card>div{gap:9px!important}
.unlock-celebration-card>div>b{font-size:clamp(15px,3.6vw,22px)!important;padding:11px 12px!important;color:#fff2c9!important;border-color:rgba(240,194,85,.35)!important;background:rgba(255,255,255,.04)!important}
.unlock-acknowledge{display:block;width:min(100%,320px);min-height:52px;margin:18px auto 0;border:1px solid #72e2d7;border-radius:12px;background:linear-gradient(180deg,#1e8f84,#0b514b);color:white;font:950 13px/1 Arial,sans-serif;letter-spacing:.16em;box-shadow:0 8px 20px rgba(0,0,0,.38),0 0 18px rgba(69,221,207,.16);cursor:pointer}
.unlock-acknowledge:active{transform:translateY(1px)}
.unlock-money-confetti{font-size:clamp(30px,7vw,58px)!important;filter:drop-shadow(0 7px 4px rgba(0,0,0,.55)) drop-shadow(0 0 10px rgba(255,228,120,.20))!important;opacity:.98!important}
.theme-leaf .unlock-money-confetti{font-size:clamp(34px,8vw,64px)!important;filter:drop-shadow(0 7px 4px rgba(0,0,0,.58)) drop-shadow(0 0 12px rgba(119,255,111,.38))!important}
body.perf-lite .unlock-money-confetti:nth-of-type(n+21){display:block!important}
body.perf-lite .unlock-money-confetti:nth-of-type(n+49){display:none!important}
@keyframes unlockCenterCard426p{0%{opacity:0;transform:scale(.82) translateY(18px)}100%{opacity:1;transform:scale(1) translateY(0)}}

.unlock-firework{position:absolute;z-index:5;width:8px;height:8px;border-radius:50%;left:50%;top:50%;opacity:0;animation:unlockFireworkPop426p 2.2s ease-out infinite;filter:drop-shadow(0 0 8px currentColor)}
.unlock-firework b{position:absolute;left:3px;top:3px;width:4px;height:42px;border-radius:999px;background:linear-gradient(currentColor,rgba(255,255,255,.9),transparent);transform-origin:2px 2px}
.unlock-firework b:nth-child(1){transform:rotate(0deg) translateY(-8px)}.unlock-firework b:nth-child(2){transform:rotate(45deg) translateY(-8px)}.unlock-firework b:nth-child(3){transform:rotate(90deg) translateY(-8px)}.unlock-firework b:nth-child(4){transform:rotate(135deg) translateY(-8px)}.unlock-firework b:nth-child(5){transform:rotate(180deg) translateY(-8px)}.unlock-firework b:nth-child(6){transform:rotate(225deg) translateY(-8px)}.unlock-firework b:nth-child(7){transform:rotate(270deg) translateY(-8px)}.unlock-firework b:nth-child(8){transform:rotate(315deg) translateY(-8px)}
.unlock-firework.f1{left:16%;top:20%;color:#f7cf67;animation-delay:.1s}.unlock-firework.f2{left:82%;top:17%;color:#65e5da;animation-delay:.55s}.unlock-firework.f3{left:25%;top:70%;color:#ff7561;animation-delay:1.0s}.unlock-firework.f4{left:76%;top:68%;color:#96e46f;animation-delay:1.35s}.unlock-firework.f5{left:48%;top:12%;color:#b99cff;animation-delay:1.7s}.unlock-firework.f6{left:52%;top:79%;color:#f2e28f;animation-delay:2.0s}
@keyframes unlockFireworkPop426p{0%,18%{opacity:0;transform:scale(.12)}28%{opacity:1;transform:scale(.35)}55%{opacity:.95;transform:scale(1.25)}78%,100%{opacity:0;transform:scale(1.75)}}

.same-space-contact,.interaction-wait,.player-sting-card,.party-action-confirm,.player-reputation-card,.interaction-inventory{border:1px solid rgba(221,182,82,.30);border-radius:14px;background:linear-gradient(180deg,rgba(15,23,22,.96),rgba(6,10,10,.98));padding:13px;margin:10px 0;box-shadow:inset 0 0 24px rgba(255,255,255,.025),0 8px 20px rgba(0,0,0,.28)}
.same-space-contact>span,.interaction-wait>span{display:block;text-align:center;color:#65ddd2;font-size:34px;line-height:1}
.same-space-contact>strong,.interaction-wait>strong,.party-action-confirm>strong,.player-sting-card>strong,.player-reputation-card>strong{display:block;margin:7px 0;color:#f0dda8;font:950 19px/1 Georgia,serif;text-align:center}
.same-space-contact>small,.interaction-wait>small,.party-action-confirm>small,.player-sting-card>small,.player-reputation-card>small{display:block;color:#aeb7ad;font:800 10px/1.4 Arial,sans-serif;text-align:center}
.player-reputation-card>span,.party-action-confirm>span,.player-sting-card>span{display:block;color:#62ddd2;font:950 8px/1 Arial,sans-serif;letter-spacing:.16em;text-align:center}
.player-reputation-card>b,.player-sting-card>b{display:block;margin:8px 0;text-align:center;color:#f7d16d;font:950 24px/1 Arial,sans-serif}
.player-reputation-card.good{border-color:rgba(89,218,128,.48)}.player-reputation-card.good>b{color:#94e879}.player-reputation-card.bad{border-color:rgba(229,91,66,.55)}.player-reputation-card.bad>b{color:#ff765b}.player-reputation-card.locked{border-color:rgba(120,137,135,.30);opacity:.88}.player-reputation-card.locked strong{font-size:15px;color:#b8c0b8}
.interaction-inventory{display:grid;grid-template-columns:1fr 1fr;gap:8px}.interaction-inventory>div{min-width:0;padding:10px;border-radius:10px;background:rgba(255,255,255,.035);text-align:center}.interaction-inventory span{display:block;color:#69dbd0;font:900 8px/1 Arial,sans-serif;letter-spacing:.10em}.interaction-inventory b{display:block;margin:6px 0;color:#baff82;font:950 17px/1 Arial,sans-serif}.interaction-inventory small{display:block;color:#ddd2ae;font:800 9px/1.3 Arial,sans-serif}
.party-action-confirm.raid,.player-sting-card{border-color:rgba(232,87,61,.56);background:linear-gradient(180deg,rgba(53,17,12,.97),rgba(18,7,6,.99))}.party-action-confirm.warn{border-color:rgba(100,218,151,.46)}
.consumable-shop-item .defense-shop-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:linear-gradient(145deg,#172521,#09110f);border:1px solid rgba(97,219,205,.28);font-size:25px}

@media(max-width:560px){
  .unlock-celebration-card,body.portrait-reference-live .unlock-celebration-card{width:min(92vw,430px)!important;padding:22px 17px 18px!important}
  .unlock-money-confetti{font-size:clamp(28px,9vw,48px)!important}
  .interaction-inventory{grid-template-columns:1fr 1fr}.interaction-inventory b{font-size:15px}
  .same-space-contact>strong,.interaction-wait>strong,.party-action-confirm>strong,.player-sting-card>strong,.player-reputation-card>strong{font-size:17px}
}


/* RC15 — ordered multiplayer dice turns + Fuzz Radio Ahead */
.party-rail-title small{display:block;margin-top:4px;color:#67d9cf;font:900 7px/1.15 Arial,sans-serif;letter-spacing:.08em;white-space:normal}
.party-slot.turn-active{border-color:#e7bb50!important;box-shadow:0 0 0 2px rgba(231,187,80,.16),0 0 18px rgba(231,187,80,.18)!important;background:linear-gradient(180deg,rgba(57,43,14,.96),rgba(14,16,13,.98))!important}
.party-slot.turn-active .party-num{background:#d2a13b!important;color:#111!important}.party-slot.turn-active b{color:#fff0bd!important}
.party-turn-status,.party-turn-mode-card,.fuzz-radio-ahead{margin:9px 0;padding:12px;border:1px solid rgba(214,175,93,.28);border-radius:12px;background:linear-gradient(180deg,rgba(12,18,17,.96),rgba(6,10,9,.98));display:grid;gap:5px}
.party-turn-status span,.party-turn-mode-card span,.fuzz-radio-ahead span{color:#65d8ce;font:900 8px/1 Arial,sans-serif;letter-spacing:.16em}.party-turn-status strong,.party-turn-mode-card strong,.fuzz-radio-ahead strong{color:#f0d58f;font:900 20px/1 Georgia,serif}.party-turn-status small,.party-turn-mode-card small,.fuzz-radio-ahead small{color:#aeb8ae;font:700 9px/1.35 Arial,sans-serif}
.party-turn-status.ordered{border-color:rgba(229,181,72,.48);box-shadow:inset 0 0 22px rgba(229,181,72,.05)}.party-turn-status.free{border-color:rgba(85,211,199,.32)}
.fuzz-radio-ahead{border-color:rgba(84,156,230,.42);background:linear-gradient(180deg,rgba(9,30,52,.96),rgba(5,10,15,.99))}.fuzz-radio-ahead strong{font-size:28px;color:#79c7ff}

/* ============================================================
   BORDER RUN v4.2.6r / Native RC16 — PORTRAIT DAY/TIME FIT + CLEAN MAP
   - Day/time telemetry becomes a compact two-line tile on phones.
   - Board +/- zoom chrome is removed from portrait so the map stays unobstructed.
   ============================================================ */
@media (orientation:portrait){
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    justify-items:start!important;
    gap:4px!important;
    padding:6px 8px!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day b{
    display:block!important;
    width:100%!important;
    font-size:15px!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day span{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:.015em!important;
    color:#f0dfad!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    text-shadow:0 1px 2px #000!important;
  }
  /* The portrait map should be pure board art and pieces. Zoom remains available
     through normal touch/pan behavior; the +/- pill no longer floats over play. */
  body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* ============================================================
   BORDER RUN v4.2.6s — MULTI-SAVE + ANDROID DICE ICON RELIABILITY
   ============================================================ */
/* Never rely on Android's emoji font for the permanent Roll control. */
body.landscape-reference-live .lr-primary-roll span,
body.portrait-reference-live .lr-primary-roll span{font-size:0!important;filter:none!important;position:relative!important;width:20px!important;height:20px!important;display:block!important;border-radius:5px!important;background:#f4e5b5!important;border:2px solid #18130b!important;box-sizing:border-box!important;box-shadow:inset -2px -2px 0 rgba(0,0,0,.16)!important}
body.landscape-reference-live .lr-primary-roll span::before,
body.portrait-reference-live .lr-primary-roll span::before{content:""!important;position:absolute!important;width:4px!important;height:4px!important;border-radius:50%!important;background:#17110a!important;left:6px!important;top:6px!important;box-shadow:-4px -4px 0 #17110a,8px 8px 0 #17110a,-4px 8px 0 #17110a,8px -4px 0 #17110a!important}
body.landscape-reference-live .lr-primary-roll{visibility:visible;min-width:34px!important;min-height:34px!important}
.save-library-grid{display:grid;grid-template-columns:1fr;gap:8px;max-height:48vh;overflow:auto;padding:2px}.save-library-card{display:grid!important;grid-template-columns:1fr!important;text-align:left!important;gap:3px!important;padding:11px 12px!important;border:1px solid rgba(214,177,82,.32)!important;border-radius:9px!important;background:linear-gradient(180deg,#171b18,#0b0e0d)!important;color:#ead9a7!important}.save-library-card.active{border-color:#61d4c9!important;box-shadow:0 0 0 1px rgba(97,212,201,.22)!important}.save-library-card span{font:900 10px/1 Arial,sans-serif!important;letter-spacing:.12em!important;color:#61d4c9!important}.save-library-card strong{font:900 16px/1.1 Georgia,serif!important;color:#f1dfa9!important}.save-library-card small{font:700 10px/1.35 Arial,sans-serif!important;color:#aeb3a8!important}

/* Android quick-rail Roll die: CSS pips instead of an emoji glyph. */
#sideRollBtn>span{font-size:0!important;position:relative!important;width:22px!important;height:22px!important;display:inline-block!important;border-radius:5px!important;background:#f4e5b5!important;border:2px solid #18130b!important;box-sizing:border-box!important;flex:0 0 auto!important}
#sideRollBtn>span::before{content:""!important;position:absolute!important;width:4px!important;height:4px!important;border-radius:50%!important;background:#17110a!important;left:7px!important;top:7px!important;box-shadow:-5px -5px 0 #17110a,5px 5px 0 #17110a,-5px 5px 0 #17110a,5px -5px 0 #17110a!important}


/* ============================================================
   BORDER RUN v4.2.6t / Native RC18 — IN-GAME INSTRUCTION MANUAL
   ============================================================ */
#modalCard[data-kicker="INSTRUCTION MANUAL"]{
  width:min(96vw,860px)!important;
  max-height:94svh!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:16px!important;
  background:linear-gradient(180deg,#111613,#080b0a)!important;
  border:2px solid #c59a51!important;
  box-shadow:0 24px 90px rgba(0,0,0,.86),0 0 0 1px rgba(240,208,137,.18)!important;
}
#modalCard[data-kicker="INSTRUCTION MANUAL"]:before{background:linear-gradient(90deg,#d9b65f,#48c9c0,#d9b65f)!important}
#modalCard[data-kicker="INSTRUCTION MANUAL"] #modalKicker{color:#d9b65f!important}
#modalCard[data-kicker="INSTRUCTION MANUAL"] #modalTitle{color:#f2dfb0!important;margin-bottom:4px!important}
#modalCard[data-kicker="INSTRUCTION MANUAL"] #modalBody{color:#bcb39a!important;margin-bottom:10px!important}
#modalCard[data-kicker="INSTRUCTION MANUAL"] #modalExtra{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding:0 4px 12px!important;
  margin:0!important;
  scrollbar-gutter:stable;
}
.instruction-manual-viewer{display:block;width:100%}
.manual-page-tabs{
  position:sticky;top:0;z-index:8;
  display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;
  padding:8px 4px 10px;margin:0 0 10px;
  background:linear-gradient(180deg,rgba(8,11,10,.98) 72%,rgba(8,11,10,0));
  scrollbar-width:thin;
}
.manual-page-tab{
  flex:0 0 auto;min-width:66px;min-height:48px;padding:6px 8px;
  border:1px solid rgba(213,178,93,.48);border-radius:8px;
  background:#17211d;color:#ead8ad;font:800 10px/1.05 Arial,sans-serif;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.manual-page-tab b{display:block;font-size:15px;color:#53d0c4;margin-bottom:3px}
.manual-page-tab span{display:block;white-space:nowrap}
.manual-page-stack{display:grid;gap:16px;scroll-snap-type:y proximity}
.manual-page{margin:0 auto;width:min(100%,720px);scroll-snap-align:start;background:#080a09;border:1px solid rgba(213,178,93,.34);border-radius:8px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.5)}
.manual-page img{display:block;width:100%;height:auto;background:#101310;user-select:none;-webkit-user-drag:none}
.manual-page figcaption{padding:8px 10px;background:#111813;color:#ccb57c;font:900 10px/1.2 Arial,sans-serif;letter-spacing:.1em;text-align:center}
#modalCard[data-kicker="INSTRUCTION MANUAL"] #modalActions{
  flex:0 0 auto!important;margin:8px -16px -16px!important;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(10,13,11,.90),#090c0a 35%)!important;
  border-top:1px solid rgba(213,178,93,.26)!important;
  box-shadow:0 -10px 25px rgba(0,0,0,.35)!important;
}
@media(max-width:560px){
  #modalCard[data-kicker="INSTRUCTION MANUAL"]{width:100vw!important;max-height:100svh!important;height:100svh!important;border-radius:0!important;border-width:0!important;padding:12px!important}
  #modalCard[data-kicker="INSTRUCTION MANUAL"] #modalBody{font-size:12px!important}
  #modalCard[data-kicker="INSTRUCTION MANUAL"] #modalActions{margin:8px -12px -12px!important;padding-left:12px!important;padding-right:12px!important}
  .manual-page-tabs{padding-top:6px}.manual-page-tab{min-width:58px;min-height:44px;padding:5px 6px}.manual-page-tab span{font-size:8px}
}


/* ============================================================
   BORDER RUN v4.2.6u / RC19 — PERMANENT ROLL CONTROL FAIL-SAFE
   ============================================================ */
/* A loaded game must always show a dice control. Unavailable states dim/disable
   the control instead of removing it, preventing Android resume/layout stranding. */
body.landscape-reference-live .lr-primary-roll,
body.portrait-reference-live .lr-primary-roll{visibility:visible!important;display:grid!important;opacity:1!important}
body.landscape-reference-live .lr-primary-roll.roll-waiting,
body.portrait-reference-live .lr-primary-roll.roll-waiting{opacity:.58!important;filter:saturate(.72)!important;animation:none!important}
body.landscape-reference-live .lr-primary-roll:disabled,
body.portrait-reference-live .lr-primary-roll:disabled{cursor:default!important}
/* Keep six permanent portrait dock cells; Roll is always the sixth cell. */
body.portrait-reference-live .pr-bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important}
/* The classic compact/mobile board rail also keeps its Roll button when collapsed. */
@media (max-width:900px), (orientation:portrait){
  #boardStage .side-action-rail:not(.expanded)>#sideRollBtn{
    display:grid!important;visibility:visible!important;opacity:1!important;
    width:36px!important;min-height:36px!important;position:static!important;
    margin:0 0 4px!important;place-items:center!important;z-index:90!important;
  }
}
#sideRollBtn{visibility:visible!important}


/* ============================================================
   BORDER RUN v4.2.6v / RC20 — DYNAMIC ROLL ICON MATCHES EQUIPPED DICE
   The Roll button now uses two miniature CSS-rendered dice that inherit the
   currently equipped dice skins and finishes instead of an Android emoji/photo
   glyph. This keeps the icon sharp, on-brand, and visually consistent.
   ============================================================ */
body.landscape-reference-live .lr-primary-roll>span.roll-dice-icon,
body.portrait-reference-live .lr-primary-roll>span.roll-dice-icon,
#sideRollBtn>span.roll-dice-icon{
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;
  border-radius:0!important;position:relative!important;overflow:visible!important;filter:none!important;
}
body.landscape-reference-live .lr-primary-roll>span.roll-dice-icon::before,
body.portrait-reference-live .lr-primary-roll>span.roll-dice-icon::before,
#sideRollBtn>span.roll-dice-icon::before{content:none!important;display:none!important}
body.landscape-reference-live .lr-primary-roll .roll-die,
body.portrait-reference-live .lr-primary-roll .roll-die,
#sideRollBtn .roll-die{
  position:relative!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important;
  place-items:center!important;place-content:center!important;font-size:0!important;line-height:0!important;
  margin:0!important;padding:1px!important;box-sizing:border-box!important;overflow:hidden!important;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.10),0 1px 2px rgba(0,0,0,.18)!important;
}
body.landscape-reference-live .lr-primary-roll .roll-die,
body.portrait-reference-live .lr-primary-roll .roll-die{width:13px!important;height:13px!important;border-radius:4px!important}
#sideRollBtn .roll-die{width:10px!important;height:10px!important;border-radius:3px!important}
body.landscape-reference-live .lr-primary-roll .roll-die .pip,
body.portrait-reference-live .lr-primary-roll .roll-die .pip,
#sideRollBtn .roll-die .pip{
  display:block!important;width:2.6px!important;height:2.6px!important;border-radius:50%!important;background:currentColor!important;
  box-shadow:0 .35px 0 rgba(255,255,255,.10) inset!important;
}
#sideRollBtn .roll-die .pip{width:2px!important;height:2px!important}
.roll-die .pip.tl{grid-area:1/1}.roll-die .pip.tr{grid-area:1/3}.roll-die .pip.ml{grid-area:2/1}.roll-die .pip.c{grid-area:2/2}.roll-die .pip.mr{grid-area:2/3}.roll-die .pip.bl{grid-area:3/1}.roll-die .pip.br{grid-area:3/3}
@media (max-width:430px){
  body.portrait-reference-live .lr-primary-roll .roll-die{width:12px!important;height:12px!important}
}


/* ============================================================
   BORDER RUN v4.2.6y / RC23 — STARTUP + MODAL LAYER RECOVERY
   - Startup art owns the screen until the brand + chase sequence completes.
   - Modal/save/account screens always sit above the gameplay tray and radio badge.
   - Prevents the black action-tray bar from cutting across modal cards on Safari.
   ============================================================ */
.startup-splash.startup-sequence{z-index:50000!important}
body.startup-sequence-active{overflow:hidden!important}
body.startup-sequence-active #modal,
body.startup-sequence-active #actionPanel,
body.startup-sequence-active #radioNowPlaying,
body.startup-sequence-active .side-action-rail,
body.startup-sequence-active .party-rail{visibility:hidden!important;pointer-events:none!important}
#modal.modal{z-index:4200!important}
body.modal-open #actionPanel,
body.modal-open #radioNowPlaying{visibility:hidden!important;pointer-events:none!important}
@media(max-width:700px){
  body.modal-open .side-action-rail,
  body.modal-open .party-rail{visibility:hidden!important;pointer-events:none!important}
}


/* v4.2.7a — road card photo art, richer trophy copy, and Dominity photo portrait */
.event-card-front{padding:14px 15px 16px!important}
.event-card-photo{width:100%;height:86px;border-radius:14px;margin:10px 0 12px;background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 8px 14px rgba(0,0,0,.18)}
.event-card-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 28%,rgba(0,0,0,.22) 100%)}
.event-card-photo-caption{position:absolute;left:10px;bottom:8px;z-index:1;padding:4px 8px;border-radius:999px;background:rgba(3,11,11,.68);color:#f4e2b8;font:900 9px/1 Arial,sans-serif;letter-spacing:.14em}
.event-card-photo.cash{box-shadow:inset 0 0 0 1px rgba(255,228,153,.22),0 8px 14px rgba(0,0,0,.20)}
.event-card-photo.heat,.event-card-photo.risk{box-shadow:inset 0 0 0 1px rgba(255,133,95,.24),0 8px 14px rgba(0,0,0,.22)}
.event-card-photo.garage,.event-card-photo.papers{box-shadow:inset 0 0 0 1px rgba(107,219,226,.2),0 8px 14px rgba(0,0,0,.18)}
.event-card-symbol{margin:2px 0 10px!important}
.event-card-front h2{font-size:21px!important;line-height:1.02!important}
.event-card-front p{margin-top:8px!important}
.event-card-effect{margin-top:12px!important;border-top:1px solid rgba(0,0,0,.22)!important}
.persona-portrait-svg.persona-portrait-photo{background-size:cover!important;background-position:center 20%!important;overflow:hidden}
.persona-portrait-svg.persona-portrait-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 30%,rgba(0,0,0,.26) 100%)}
.persona-portrait-svg.persona-portrait-photo>b,.persona-portrait-svg.persona-portrait-photo>i{position:relative;z-index:2}
.trophy-case-tile small br{display:block;content:'';margin:.35em 0}
.trophy-case-tile small{line-height:1.42}
.lr-context-rows.planning{margin-bottom:10px}
@media (max-width:700px){.event-card-photo{height:78px}.event-card-front h2{font-size:19px!important}}

/* ============================================================
   BORDER RUN v4.2.7c — tutorial intro + card flip + map tap fixes
   ============================================================ */
.don-invitation-card{grid-template-columns:minmax(118px,144px) 1fr!important;align-items:stretch!important;gap:12px!important}
.don-invitation-photo{position:relative;min-height:168px;border-radius:18px;border:1px solid rgba(95,233,221,.42);background:linear-gradient(180deg,rgba(4,14,18,.08),rgba(2,10,14,.22) 30%,rgba(2,8,11,.72) 100%),url('./assets/tutorial/dominity-tutorial-intro.webp') center 24%/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 10px 18px rgba(0,0,0,.34);overflow:hidden}
.don-invitation-photo:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 54% 34%,rgba(87,174,255,.28),transparent 30%),linear-gradient(180deg,transparent 35%,rgba(2,8,11,.74) 100%)}
.don-invitation-photo:after{content:'';position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,rgba(1,6,8,0),rgba(1,6,8,.92))}
.don-photo-badge{position:absolute;left:12px;bottom:12px;z-index:2;padding:6px 10px;border-radius:999px;border:1px solid rgba(95,233,221,.36);background:rgba(5,11,14,.78);color:#ead8a7;font:900 9px/1 Arial,sans-serif;letter-spacing:.18em;font-style:normal;box-shadow:0 0 0 1px rgba(255,255,255,.03) inset}
@media(max-width:620px){.don-invitation-card{grid-template-columns:1fr!important}.don-invitation-photo{min-height:152px}}

.event-flip-card{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.event-card-face,.event-card-back,.event-card-front{-webkit-backface-visibility:hidden;backface-visibility:hidden}
.event-card-reveal.ios-card-fallback .event-flip-card.flipped{transform:translateY(-8px) rotateY(0deg) scale(1)!important}
.event-card-reveal.ios-card-fallback .event-card-back,.event-card-reveal.ios-card-fallback .event-card-front{transform:none!important;transition:opacity .34s ease,filter .34s ease}
.event-card-reveal.ios-card-fallback .event-card-back{opacity:1;z-index:2}
.event-card-reveal.ios-card-fallback .event-card-front{opacity:0;z-index:3}
.event-card-reveal.ios-card-fallback.flipped-fallback .event-card-back{opacity:0;filter:blur(1px)}
.event-card-reveal.ios-card-fallback.flipped-fallback .event-card-front{opacity:1}

.node-pawns,.node-pawns *,.landmark-marker,.landmark-marker *,.city-skyline-3d,.city-skyline-3d *{pointer-events:none!important}
.graphical-world-board .map-node,.artwork-master-renderer .lr-art-space-hit{touch-action:manipulation}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{pointer-events:none!important}
body.portrait-reference-live .artwork-master-renderer .lr-art-space-hit{width:6.1%!important;min-width:30px!important;min-height:30px!important;z-index:58!important}
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit{z-index:58!important}

body.portrait-reference-live .pr-map-fix-baja{left:-1%!important;bottom:76px!important;width:min(31vw,176px)!important;height:min(22vh,186px)!important;border:0!important;border-radius:0 26px 0 0!important;background:
  radial-gradient(ellipse at 78% 26%,rgba(18,48,58,.32),transparent 45%),
  radial-gradient(ellipse at 30% 56%,rgba(8,26,34,.48),transparent 60%),
  linear-gradient(160deg,#051820 0%,#04131a 44%,#031016 100%)!important;box-shadow:none!important;clip-path:polygon(0 100%,0 6%,30% 0,58% 10%,76% 0,100% 0,100% 100%)!important;opacity:.94}
body.portrait-reference-live .pr-map-fix-baja strong,
body.portrait-reference-live .pr-map-fix-baja span{display:none!important}
.lr-map-cleanup-patch.tutorial-patch{left:-1.2%!important;bottom:-.4%!important;width:18.4%!important;height:29.4%!important;background:
  radial-gradient(ellipse at 82% 18%,rgba(18,47,55,.28),transparent 46%),
  radial-gradient(ellipse at 34% 58%,rgba(7,29,37,.46),transparent 58%),
  linear-gradient(155deg,#061821 0%,#04131b 40%,#031016 100%)!important;box-shadow:none!important;clip-path:polygon(0 100%,0 8%,28% 0,54% 12%,74% 0,100% 0,100% 100%)!important;opacity:.93}


/* ============================================================
   BORDER RUN v4.2.7c — LANDSCAPE TUTORIAL + BOTTOM LOCKER HOTFIX
   ============================================================ */
@media (orientation:landscape) and (max-height:620px){
  .dominity-tutorial-overlay{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)!important;
    box-sizing:border-box!important;
  }
  .dominity-tutorial-character{
    right:max(4px,env(safe-area-inset-right))!important;
    bottom:0!important;
    width:min(28vw,300px)!important;
    height:min(72dvh,390px)!important;
    opacity:.60!important;
    background-position:center 24%!important;
  }
  .dominity-tutorial-panel{
    left:max(8px,env(safe-area-inset-left))!important;
    right:auto!important;
    top:max(8px,env(safe-area-inset-top))!important;
    bottom:auto!important;
    width:min(64vw,610px)!important;
    max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right))!important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    padding:10px 13px 10px!important;
    border-radius:13px!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .dominity-tutorial-overlay.cinematic .dominity-tutorial-panel{
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:max(7px,env(safe-area-inset-bottom))!important;
    transform:translateX(-50%)!important;
    width:min(76vw,700px)!important;
    max-height:min(62dvh,350px)!important;
  }
  .dominity-tutorial-full-art{
    object-position:center 30%!important;
  }
  .dominity-tutorial-kicker{font-size:9px!important;margin-bottom:4px!important}
  .dominity-tutorial-panel h2{font-size:clamp(18px,3.6vh,25px)!important;margin-bottom:5px!important}
  .dominity-tutorial-panel blockquote{font-size:10px!important;line-height:1.25!important;margin:5px 0 6px!important;padding:5px 8px!important}
  .dominity-tutorial-panel p{font-size:9px!important;line-height:1.28!important;margin-bottom:6px!important}
  .dominity-tutorial-helper{font-size:8px!important;line-height:1.2!important;padding:5px 7px!important}
  .dominity-tutorial-progress{height:5px!important;margin:7px 0 3px!important}
  .dominity-tutorial-actions{gap:5px!important;margin-top:7px!important;flex-wrap:nowrap!important}
  .dominity-tutorial-actions button{min-height:34px!important;padding:0 10px!important;font-size:8px!important;border-radius:8px!important}
  .dominity-tutorial-next{min-width:96px!important}
  .dominity-tutorial-next.roll-practice{min-width:176px!important;min-height:44px!important;padding:4px 8px!important;gap:7px!important}
  .dominity-tutorial-dice-pair{min-width:54px!important}
  .dominity-tutorial-dice-pair i{font-size:25px!important}
  .dominity-tutorial-roll-copy b{font-size:10px!important}.dominity-tutorial-roll-copy small{font-size:6px!important;margin-top:2px!important}
  .dominity-tutorial-focus{border-width:2px!important;border-radius:10px!important}
}

/* v4.2.7f final award layer: intentionally last so older RC celebration rules cannot flatten it. */
.unlock-celebration-card{overflow:visible!important}
.unlock-celebration-card:before{content:''!important;position:absolute!important;inset:-2px!important;border-radius:24px!important;padding:2px!important;background:conic-gradient(from 0deg,#6de1d6,#f0c45e,#ff7a63,#a98bff,#6de1d6)!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;-webkit-mask-composite:xor!important;mask-composite:exclude!important;animation:awardBorderSpin427f 4s linear infinite!important;pointer-events:none!important}
.unlock-award-hero{position:relative!important;display:grid!important;place-items:center!important;width:138px!important;height:116px!important;margin:-8px auto 8px!important;overflow:visible!important}
.unlock-award-hero>i{position:absolute!important;width:126px!important;height:126px!important;border-radius:50%!important;background:repeating-conic-gradient(from 0deg,rgba(248,206,94,.9) 0 2deg,transparent 2deg 12deg)!important;filter:drop-shadow(0 0 8px rgba(246,205,95,.32))!important;animation:awardRays427f 8s linear infinite!important}
.unlock-award-hero>span{position:relative!important;z-index:2!important;display:grid!important;place-items:center!important;width:78px!important;height:78px!important;border:2px solid #f1cc6d!important;border-radius:50%!important;background:radial-gradient(circle at 35% 28%,#31443e,#0b1210 68%)!important;font-size:42px!important;box-shadow:0 0 0 6px rgba(244,203,100,.10),0 12px 26px rgba(0,0,0,.5)!important;animation:awardBadgePop427f .7s cubic-bezier(.16,.9,.25,1.25) both!important}
.unlock-celebration-card .unlock-award-hero>b{position:absolute!important;z-index:3!important;bottom:0!important;display:block!important;width:auto!important;padding:5px 11px!important;border:1px solid #f0cb70!important;border-radius:999px!important;background:#151b17!important;color:#ffe7a7!important;font:950 8px/1 Arial,sans-serif!important;letter-spacing:.13em!important;box-shadow:0 4px 10px rgba(0,0,0,.4)!important}
.unlock-celebration-card .unlock-reward-list{display:grid!important;gap:9px!important;max-height:34dvh!important;overflow:auto!important;padding-right:3px!important}
.unlock-celebration-card .unlock-reward-detail{display:block!important;padding:12px!important;border:1px solid rgba(235,194,91,.32)!important;border-radius:12px!important;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015))!important;text-align:left!important}
.unlock-celebration-card .unlock-reward-detail>b{display:block!important;padding:0!important;border:0!important;background:transparent!important;color:#fff0be!important;font:950 clamp(16px,3.8vw,23px)/1.1 Georgia,serif!important}
.unlock-celebration-card .unlock-reward-detail>small{display:grid!important;grid-template-columns:minmax(104px,.46fr) 1fr!important;gap:8px!important;margin-top:8px!important;color:#c4ccc3!important;font:750 9px/1.35 Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important}
.unlock-celebration-card .unlock-reward-detail>small>span{color:#66ddd2!important;font:950 8px/1.25 Arial,sans-serif!important;letter-spacing:.10em!important}
@media (orientation:landscape) and (max-height:620px){.unlock-celebration-card{width:min(78vw,680px)!important;max-height:92dvh!important;padding:13px 18px!important}.unlock-award-hero{width:96px!important;height:76px!important;margin:-4px auto 2px!important}.unlock-award-hero>i{width:84px!important;height:84px!important}.unlock-award-hero>span{width:56px!important;height:56px!important;font-size:30px!important}.unlock-celebration-card .unlock-reward-detail{padding:8px!important}.unlock-celebration-card .unlock-reward-detail>small{margin-top:5px!important}.unlock-celebration-card .unlock-reward-list{max-height:43dvh!important}}
@media(max-width:560px){.unlock-celebration-card{overflow:auto!important}.unlock-celebration-card .unlock-reward-detail>small{grid-template-columns:1fr!important;gap:3px!important}}
@media(prefers-reduced-motion:reduce){.unlock-award-hero>i,.unlock-celebration-card:before,.unlock-award-hero>span{animation:none!important}}
body.perf-lite .unlock-award-hero>i,body.perf-lite .unlock-celebration-card:before{animation:none!important}


/* v4.2.7h — Mother of the Road, mixed stash, founder dice/tokin, merchant overlays */
.dice.skin-emeraldwhite,.dice-preview.skin-emeraldwhite{background:linear-gradient(145deg,#087b46,#0a5f38);color:#fff;border:2px solid #f4fff7;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 5px 14px rgba(0,0,0,.22)}
.die-cube3d.skin-emeraldwhite .die-face{background:linear-gradient(145deg,#0b8750,#075a35);border-color:#f4fff7}.die-cube3d.skin-emeraldwhite .die-face i{background:#fff;box-shadow:0 0 3px rgba(255,255,255,.35)}
.die-card25d.skin-emeraldwhite .die-card-face{background:linear-gradient(145deg,#0b8750,#075a35);border-color:#f4fff7}.die-card25d.skin-emeraldwhite .die-card-face i{background:#fff}
.token-dominitygames{background:radial-gradient(circle at 32% 25%,#f5df8c,#b78327 45%,#172621 48%,#07110e 100%);color:#fff1b5;border:2px solid #e0b858;font-size:8px;font-weight:1000;letter-spacing:.04em;text-shadow:0 1px 2px #000;box-shadow:0 0 0 2px rgba(232,188,80,.18),0 5px 14px rgba(0,0,0,.35)}
.stash-stepper{display:grid;grid-template-columns:44px minmax(90px,1fr) 44px;gap:8px;align-items:center;margin:12px 0}.stash-stepper button{min-height:44px;border-radius:10px;font-size:24px;font-weight:1000}.stash-stepper .stash-qty,.stash-stepper [id="stashQty"]{display:grid;place-items:center;min-height:44px;border-radius:10px;background:#11231d;color:#f3e6b3;border:1px solid rgba(214,174,78,.55);font-size:22px;font-weight:1000}
.mixed-manifest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:10px 0}.mixed-manifest-card{appearance:none;text-align:left;padding:10px 11px;border-radius:12px;border:1px solid rgba(196,158,72,.35);background:linear-gradient(145deg,#1d2d27,#101915);color:#f1e4b7;cursor:pointer}.mixed-manifest-card span{display:block;color:#d8ad4f;font-size:9px;font-weight:900;letter-spacing:.12em}.mixed-manifest-card strong{display:block;margin-top:3px;font-size:12px}.mixed-manifest-card small{display:block;margin-top:4px;color:#aebbb3;font-size:10px}.mixed-manifest-card.active{border-color:#68d3c2;box-shadow:0 0 0 2px rgba(104,211,194,.16);background:linear-gradient(145deg,#21483d,#10211b)}
.encounter-overlay-layer.mother .encounter-overlay-card,.persona-encounter-card.mother,.mother-road-card .persona-encounter-card{background:linear-gradient(135deg,rgba(43,70,57,.98),rgba(21,29,26,.98));border-color:rgba(111,205,171,.62);box-shadow:0 28px 80px rgba(0,0,0,.40),0 0 30px rgba(96,205,162,.10)}
.encounter-overlay-layer.merchant .encounter-overlay-card,.persona-encounter-card.merchant{background:linear-gradient(135deg,rgba(61,57,48,.98),rgba(19,18,16,.98));border-color:rgba(231,197,116,.64)}
.encounter-overlay-layer.coyote .encounter-overlay-card,.persona-encounter-card.coyote{background:linear-gradient(135deg,rgba(51,39,30,.99),rgba(14,13,11,.99));border-color:rgba(187,127,78,.62)}
.encounter-overlay-card.mother .encounter-overlay-avatar.large,.persona-encounter-card.mother .persona-avatar.large{border-color:#70d5b4}.encounter-overlay-card.merchant .encounter-overlay-avatar.large,.persona-encounter-card.merchant .persona-avatar.large{border-color:#e1c778}.encounter-overlay-card.coyote .encounter-overlay-avatar.large,.persona-encounter-card.coyote .persona-avatar.large{border-color:#b77b4d}
@media(max-width:560px){.mixed-manifest-grid{grid-template-columns:1fr}.stash-stepper{grid-template-columns:42px 1fr 42px}}


/* ============================================================
   BORDER RUN v4.2.7i — LOGIN PERSISTENCE + TEXT CONTRAST HOTFIX
   - Account labels/statuses are tuned for the parchment modal.
   - Error states are deliberately high-contrast and not opacity-based.
   - Login persistence/password-manager controls remain readable on phone.
   ============================================================ */
#modalCard[data-kicker="PLAYER ACCOUNT"],
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"]{color:#252a20!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] #modalKicker,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] #modalKicker{color:#8a3b2d!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] #modalTitle,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] #modalTitle{color:#173e34!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] #modalBody,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] #modalBody{color:#4e4634!important;font-weight:650!important}
.account-form label{color:#3f4938!important;font-weight:900!important;font-size:12px!important;text-shadow:none!important}
.account-form input{border-color:#53624f!important;background:#0d1412!important;color:#fff8e8!important;caret-color:#5de0d2!important}
.account-form input::placeholder{color:#b9b5a5!important;opacity:1!important}
.account-form input:focus{border-color:#168f84!important;box-shadow:0 0 0 3px rgba(22,143,132,.18)!important}
.account-form-status{min-height:38px!important;border:1px solid rgba(73,66,48,.32)!important;background:#eadba7!important;color:#3b392d!important;font-weight:850!important;font-size:12px!important;line-height:1.4!important;opacity:1!important}
.account-form-status.status-error{border-color:#8d2e26!important;background:#f3c9b6!important;color:#681d18!important;box-shadow:inset 4px 0 0 #8d2e26!important}
.account-form-status.status-busy{border-color:#27665b!important;background:#cce6d8!important;color:#173e36!important;box-shadow:inset 4px 0 0 #278f82!important}
.account-form-status.status-success{border-color:#315846!important;background:#d1e4c3!important;color:#22432f!important;box-shadow:inset 4px 0 0 #315846!important}
.account-login-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:1px 0 2px}
.account-form .account-login-option{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:10px!important;border:1px solid rgba(57,75,59,.34)!important;border-radius:10px!important;background:#e8d8a3!important;color:#263a2f!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
.account-login-option input{width:19px!important;height:19px!important;min-height:0!important;flex:0 0 auto!important;margin:1px 0 0!important;accent-color:#1e8176!important}
.account-login-option span{display:block;min-width:0}.account-login-option strong{display:block;color:#173e34!important;font:900 11px/1.2 Arial,sans-serif!important;letter-spacing:.01em!important}.account-login-option small{display:block;margin-top:4px;color:#514b38!important;font:750 9px/1.32 Arial,sans-serif!important;letter-spacing:0!important}
.account-confirm span{color:#474636!important;font-weight:800!important}
.account-fair-play{background:#dfd09c!important;color:#463f2c!important;border-color:rgba(55,83,66,.34)!important}.account-fair-play b{color:#195e55!important}
.account-achievement-card small{color:#afb8ad!important}.account-achievement-card strong{color:#d5d0ae!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] .btn.ghost,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .btn.ghost{color:#173e34!important}
@media(max-width:560px){.account-login-options{grid-template-columns:1fr}.account-form-status{font-size:12px!important}.account-login-option small{font-size:9px!important}}


/* ============================================================
   BORDER RUN v4.2.7j — CROSS-DEVICE ACCOUNT + ROAD PATRON HOTFIX
   ============================================================ */
.account-purchase-info{margin:12px 0 4px;border:2px solid #6c5c34;border-radius:12px;background:#f2e2a8;color:#302b1e;box-shadow:inset 4px 0 0 #1a7166;overflow:hidden}
.account-purchase-info summary{cursor:pointer;padding:12px 14px;color:#173e34;background:#e5d08c;font:900 12px/1.25 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;list-style-position:inside}
.account-purchase-info p{margin:0;padding:12px 14px 14px;color:#302b1e;font:800 12px/1.48 Arial,sans-serif;letter-spacing:0}
.account-purchase-info.compact{margin:4px 0 2px}.account-purchase-info.compact summary{padding:10px 12px}.account-purchase-info.compact p{padding:10px 12px 12px}
.account-choice-grid .account-preferred{border:2px solid #14786f!important;box-shadow:0 0 0 2px rgba(20,120,111,.16),inset 0 0 0 1px rgba(255,255,255,.06)!important}
.account-choice-grid .account-preferred>span{background:#14786f!important;color:#fff3c8!important}
.account-current small{color:#eee2bd!important;opacity:1!important;font-weight:750!important;line-height:1.45!important}
#modalCard[data-kicker="WELCOME TO BORDER RUN"] #modalBody{color:#514831!important;font-weight:700!important}
#modalCard[data-kicker="WELCOME TO BORDER RUN"] .account-choice-grid small{color:#e7dfc4!important;opacity:1!important;font-weight:750!important}
#modalCard[data-kicker="WELCOME TO BORDER RUN"] .account-choice-grid strong{color:#fff0be!important}
@media(max-width:560px){.account-purchase-info summary,.account-purchase-info p{font-size:11px!important}}

/* v4.2.7j inherited account contrast repair — valid newline copy */
#modalCard[data-kicker="PLAYER ACCOUNT"],#modalCard[data-kicker="CREATE PLAYER ACCOUNT"]{color:#252a20!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] #modalKicker,#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] #modalKicker{color:#8a3b2d!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] #modalTitle,#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] #modalTitle{color:#173e34!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] #modalBody,#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] #modalBody{color:#4e4634!important;font-weight:650!important}
.account-form label{color:#3f4938!important;font-weight:900!important;font-size:12px!important;text-shadow:none!important}
.account-form input{border-color:#53624f!important;background:#0d1412!important;color:#fff8e8!important;caret-color:#5de0d2!important}
.account-form input::placeholder{color:#b9b5a5!important;opacity:1!important}
.account-form input:focus{border-color:#168f84!important;box-shadow:0 0 0 3px rgba(22,143,132,.18)!important}
.account-form-status{min-height:38px!important;border:1px solid rgba(73,66,48,.32)!important;background:#eadba7!important;color:#3b392d!important;font-weight:850!important;font-size:12px!important;line-height:1.4!important;opacity:1!important}
.account-form-status.status-error{border-color:#8d2e26!important;background:#f3c9b6!important;color:#681d18!important;box-shadow:inset 4px 0 0 #8d2e26!important}
.account-form-status.status-busy{border-color:#27665b!important;background:#cce6d8!important;color:#173e36!important;box-shadow:inset 4px 0 0 #278f82!important}
.account-form-status.status-success{border-color:#315846!important;background:#d1e4c3!important;color:#22432f!important;box-shadow:inset 4px 0 0 #315846!important}
.account-login-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:1px 0 2px}
.account-form .account-login-option{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:10px!important;border:1px solid rgba(57,75,59,.34)!important;border-radius:10px!important;background:#e8d8a3!important;color:#263a2f!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer}
.account-login-option input{width:19px!important;height:19px!important;min-height:0!important;flex:0 0 auto!important;margin:1px 0 0!important;accent-color:#1e8176!important}
.account-login-option span{display:block;min-width:0}.account-login-option strong{display:block;color:#173e34!important;font:900 11px/1.2 Arial,sans-serif!important;letter-spacing:.01em!important}.account-login-option small{display:block;margin-top:4px;color:#514b38!important;font:750 9px/1.32 Arial,sans-serif!important;letter-spacing:0!important}
.account-achievement-card small{color:#d9ded6!important;opacity:1!important}.account-achievement-card strong{color:#fff0be!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] .btn.ghost,#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .btn.ghost{color:#173e34!important}
@media(max-width:560px){.account-login-options{grid-template-columns:1fr}.account-form-status{font-size:12px!important}.account-login-option small{font-size:9px!important}}


/* ============================================================
   BORDER RUN v4.2.7k — EXPANDED CARGO + TROPHY TIER NAVIGATION
   ============================================================ */
.dice-variant-chip.locked.prestige:not(:disabled){cursor:pointer;opacity:.82;filter:saturate(.82)}
.dice-variant-chip.locked.prestige:not(:disabled):hover,.dice-variant-chip.locked.prestige:not(:disabled):focus-visible{opacity:1;filter:none;transform:translateY(-1px);box-shadow:0 0 0 2px rgba(236,205,112,.20)}
.achievement-150-case .trophy-case-section[id^="achievement-tier-"]{scroll-margin-top:118px}
.achievement-tier-summary button{min-height:34px;color:inherit}


/* v4.2.7l — unique cargo photo icons + canonical dice photo previews. */
.cargo-art{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.master-catalog .cargo-art{box-shadow:inset 0 0 0 1px rgba(244,229,180,.22),0 4px 12px rgba(0,0,0,.38)!important}
.dice-photo-preview{position:relative;display:grid;place-items:center;width:74px;height:74px;margin:0 auto 7px;border-radius:14px;overflow:hidden;background:#0a1210;border:2px solid rgba(213,181,95,.48);box-shadow:0 7px 14px rgba(0,0,0,.34)}
.dice-photo-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.dice-photo-preview.dice-finish-effect-metallic img{filter:saturate(1.06) contrast(1.04)}
.dice-photo-preview.dice-finish-effect-matte img{filter:saturate(.86) contrast(.94) brightness(.95)}
.dice-photo-preview.dice-finish-effect-gloss:after{content:"";position:absolute;inset:0;background:linear-gradient(128deg,rgba(255,255,255,.38),transparent 23% 67%,rgba(255,255,255,.12));pointer-events:none}
.dice-photo-preview.dice-finish-effect-prestige:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(255,255,255,.48),transparent 22%,rgba(245,211,116,.17) 49%,transparent 72%,rgba(255,255,255,.34));mix-blend-mode:screen;pointer-events:none}
.dice-skin .dice-photo-preview{width:82px;height:82px}.dice-slot .dice-photo-preview{grid-row:1/5;width:72px;height:72px;margin:0}.dice-slot-desc{display:block;margin-top:4px;color:#c2bea9;font:700 8px/1.3 Arial,sans-serif;text-align:left}.dice-design-desc{display:block;min-height:30px;margin:4px 0;color:#5f5848;font:700 8px/1.25 Arial,sans-serif}.dice-skin.locked .dice-photo-preview{filter:grayscale(.65) brightness(.7)}
.chrome-item .dice-photo-preview{width:50px;height:50px;margin:0}.trophy-object.die .dice-photo-preview{width:62px;height:62px;margin:0}.roll-die.dice-finish-effect-gloss{box-shadow:inset 5px 7px 10px rgba(255,255,255,.25),inset -5px -7px 10px rgba(0,0,0,.25),0 3px 7px rgba(0,0,0,.35)!important}.roll-die.dice-finish-effect-matte{filter:saturate(.88) contrast(.94)}.roll-die.dice-finish-effect-prestige{box-shadow:inset 0 0 0 2px rgba(255,255,255,.42),0 0 11px rgba(224,197,117,.28)!important}
.die-cube3d.dice-finish-effect-gloss .die-face{box-shadow:inset 7px 8px 15px rgba(255,255,255,.22),inset -8px -9px 15px rgba(0,0,0,.3)!important}.die-cube3d.dice-finish-effect-matte .die-face{filter:saturate(.86) contrast(.95)}.die-cube3d.dice-finish-effect-prestige .die-face{box-shadow:inset 0 0 0 3px rgba(255,255,255,.25),inset 7px 7px 14px rgba(255,255,255,.16)!important}
@media(max-width:560px){.dice-skin .dice-photo-preview{width:68px;height:68px}.dice-slot .dice-photo-preview{width:60px;height:60px}.dice-design-desc{min-height:0}.market-graphic .cargo-art{width:72px!important;height:82px!important}}


/* ============================================================
   BORDER RUN v4.2.7m — MOBILE AUTH + HIGH-VISIBILITY CONTRAST
   ============================================================ */
#modalCard[data-kicker="PLAYER ACCOUNT"] .account-form-status,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .account-form-status{
  min-height:46px!important;padding:12px 14px!important;border:3px solid #26463e!important;
  background:#fff1bd!important;color:#1d2b25!important;font-size:14px!important;font-weight:900!important;
  line-height:1.42!important;letter-spacing:.01em!important;box-shadow:0 3px 0 rgba(0,0,0,.18)!important;opacity:1!important
}
#modalCard[data-kicker="PLAYER ACCOUNT"] .account-form-status.status-error,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .account-form-status.status-error{
  border-color:#5f0808!important;background:#9e1d1d!important;color:#fff8e6!important;
  box-shadow:0 0 0 3px #ffd66b,0 4px 0 rgba(0,0,0,.28)!important;text-shadow:0 1px 0 #4a0000!important
}
#modalCard[data-kicker="PLAYER ACCOUNT"] .account-form-status.status-busy,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .account-form-status.status-busy{
  border-color:#0c514b!important;background:#bdeee4!important;color:#073d38!important;box-shadow:0 0 0 2px #2eb7aa!important
}
#modalCard[data-kicker="PLAYER ACCOUNT"] .account-form-status.status-success,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .account-form-status.status-success{
  border-color:#174b28!important;background:#d9f4c5!important;color:#123b20!important;box-shadow:0 0 0 2px #63a848!important
}
.account-auth-callout{display:grid;gap:5px;padding:11px 13px;border:3px solid #0d675e;border-radius:11px;background:#d4f2e8;color:#163a34;box-shadow:0 3px 0 rgba(0,0,0,.16)}
.account-auth-callout strong{font:900 13px/1.2 Arial,sans-serif;letter-spacing:.09em;color:#073f3a!important}
.account-auth-callout span{font:800 12px/1.42 Arial,sans-serif;color:#213f39!important}
.account-auth-callout.warning{border-color:#805900;background:#ffeba8}.account-auth-callout.warning strong{color:#593d00!important}.account-auth-callout.warning span{color:#463713!important}
.account-auth-callout.danger{border-color:#7b1111;background:#ffd2c6}.account-auth-callout.danger strong{color:#6a0d0d!important}.account-auth-callout.danger span{color:#4e1b16!important}
.account-auth-callout.success{border-color:#28612d;background:#dff3c8}.account-auth-callout.success strong{color:#1d4a21!important}.account-auth-callout.success span{color:#254326!important}
.account-purchase-info{border:3px solid #125e55!important;background:#f8e7aa!important;box-shadow:0 3px 0 rgba(0,0,0,.16)!important}
.account-purchase-info summary{background:#155f57!important;color:#fff7d8!important;font-size:13px!important;font-weight:950!important;text-shadow:0 1px 0 #06342f!important}
.account-purchase-info p{background:#fff0bd!important;color:#292819!important;font-size:13px!important;font-weight:900!important;line-height:1.5!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] .account-form label,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .account-form label{color:#263b32!important;font-size:13px!important;font-weight:950!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] .account-login-option,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .account-login-option{border:3px solid #315f55!important;background:#fff0bd!important;box-shadow:0 2px 0 rgba(0,0,0,.13)!important}
.account-login-option strong{color:#0d4039!important;font-size:12px!important;font-weight:950!important}.account-login-option small{color:#393721!important;font-size:11px!important;font-weight:850!important}
@media(max-width:560px){
  #modalCard[data-kicker="PLAYER ACCOUNT"] .account-form-status,#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .account-form-status{font-size:13px!important}
  .account-auth-callout strong{font-size:12px!important}.account-auth-callout span,.account-purchase-info p{font-size:12px!important}
  .account-purchase-info summary{font-size:12px!important}.account-login-option small{font-size:10px!important}
}


/* ============================================================
   BORDER RUN v4.2.7n — AUTH RECOVERY + NAVIGATION
   ============================================================ */
#modalCard[data-kicker="GUEST ACCESS"] .account-auth-callout,
#modalCard[data-kicker="PASSWORD UPDATED"] .account-auth-callout{
  border-width:3px!important;box-shadow:0 3px 0 rgba(0,0,0,.22)!important
}
.guest-choice-panel{margin-bottom:12px!important}
#modalCard[data-kicker="PLAYER ACCOUNT"] .modal-actions button.ghost,
#modalCard[data-kicker="CREATE PLAYER ACCOUNT"] .modal-actions button.ghost,
#modalCard[data-kicker="GUEST ACCESS"] .modal-actions button.ghost{
  color:#123f39!important;background:#f5e6b5!important;border:2px solid #59746b!important;font-weight:950!important
}
#modalCard[data-kicker="PLAYER ACCOUNT"] .account-auth-callout.success{
  background:#dff3c8!important;border-color:#235d2d!important;color:#163a20!important
}


/* ============================================================
   BORDER RUN v4.2.7o — DICE ROLL + CARGO IMAGE FIDELITY HOTFIX
   ============================================================ */
/* Cargo catalog photos are real image nodes now; allocate a reliable art column in every catalog context. */
.cargo-art,.manifest-art{position:relative;display:block;overflow:hidden;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.cargo-art>img,.manifest-art>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}
.master-catalog-modal .master-catalog{display:grid;gap:10px!important}
.master-catalog-modal .master-catalog .cargo-item{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;grid-template-areas:"art copy"!important;align-items:stretch;min-height:116px!important;padding:8px!important;text-align:left!important;overflow:hidden!important}
.master-catalog-modal .master-catalog .cargo-art{grid-area:art;width:96px!important;height:98px!important;align-self:center;border-radius:9px;box-shadow:inset 0 0 0 1px rgba(244,229,180,.28),0 5px 12px rgba(0,0,0,.42)!important}
.master-catalog-modal .master-catalog .cargo-copy{grid-area:copy;min-width:0;padding:5px 6px!important}
.master-catalog-modal .master-catalog .cargo-copy>strong{display:block!important;color:#f0dba5!important;font-size:16px!important}
.master-catalog-modal .master-catalog .cargo-copy>small{display:block!important;color:#c5bba0!important;line-height:1.3!important}
.manifest-art{width:112px;height:112px;border-radius:12px}
@media(max-width:560px){.master-catalog-modal .master-catalog .cargo-item{grid-template-columns:88px minmax(0,1fr)!important;min-height:102px!important}.master-catalog-modal .master-catalog .cargo-art{width:80px!important;height:84px!important}.master-catalog-modal .master-catalog .cargo-copy>strong{font-size:14px!important}}

/* Physical dice must preserve the selected die skin. Finish changes the material, not the identity. */
#boardDiceOverlay .die-cube3d.dice-finish-effect-metallic .die-face{filter:saturate(1.13) contrast(1.08);box-shadow:inset 12px 10px 18px rgba(255,255,255,.34),inset -13px -12px 18px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.18),0 12px 28px rgba(0,0,0,.32)!important}
#boardDiceOverlay .die-cube3d.dice-finish-effect-metallic .die-face:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(118deg,rgba(255,255,255,.5) 0 8%,rgba(255,255,255,.08) 22%,transparent 42%,rgba(255,255,255,.22) 57%,transparent 72%,rgba(255,255,255,.12));mix-blend-mode:screen;pointer-events:none;z-index:1}
#boardDiceOverlay .die-cube3d.dice-finish-effect-matte .die-face{filter:saturate(.88) contrast(.96) brightness(.94);box-shadow:inset 2px 2px 8px rgba(255,255,255,.08),inset -6px -7px 10px rgba(0,0,0,.28),0 10px 24px rgba(0,0,0,.34)!important}
#boardDiceOverlay .die-cube3d.dice-finish-effect-gloss .die-face{filter:saturate(1.08) contrast(1.05);box-shadow:inset 9px 9px 15px rgba(255,255,255,.42),inset -10px -11px 16px rgba(0,0,0,.30),0 11px 26px rgba(0,0,0,.36)!important}
#boardDiceOverlay .die-cube3d.dice-finish-effect-gloss .die-face:after{content:"";position:absolute;inset:3px;border-radius:inherit;background:linear-gradient(132deg,rgba(255,255,255,.56),transparent 24% 69%,rgba(255,255,255,.16));pointer-events:none;z-index:1}
#boardDiceOverlay .die-cube3d.dice-finish-effect-prestige .die-face{filter:saturate(.96) contrast(1.14);box-shadow:inset 0 0 0 2px rgba(255,255,255,.52),inset 10px 8px 14px rgba(255,255,255,.28),inset -10px -10px 16px rgba(0,0,0,.25),0 0 18px rgba(231,206,128,.24)!important}
#boardDiceOverlay .die-face i{position:relative;z-index:2}


/* ============================================================
   BORDER RUN v4.2.7o — MANUAL ROLLS + GLOBAL MENU
   ============================================================ */
.br-global-menu-launcher{position:fixed;z-index:2147483000;top:calc(env(safe-area-inset-top,0px) + 8px);right:10px;min-width:58px;height:48px;padding:5px 9px;border-radius:12px;border:2px solid #42d7cf;background:linear-gradient(180deg,#123c3b,#082a29);color:#f5e5b5;box-shadow:0 5px 0 #071716,0 10px 22px rgba(0,0,0,.42);display:grid;place-items:center;line-height:1;cursor:pointer}.br-global-menu-launcher span{font-size:20px}.br-global-menu-launcher b{font-size:9px;letter-spacing:.12em;margin-top:2px}.br-global-menu-launcher:active{transform:translateY(2px);box-shadow:0 3px 0 #071716,0 6px 16px rgba(0,0,0,.4)}
.br-global-menu-overlay{position:fixed;inset:0;z-index:2147483001;display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 16px) 14px calc(env(safe-area-inset-bottom,0px) + 16px)}.br-global-menu-overlay.hidden{display:none}.br-global-menu-backdrop{position:absolute;inset:0;background:rgba(2,10,9,.78);backdrop-filter:blur(5px)}.br-global-menu-card{position:relative;width:min(520px,94vw);max-height:90dvh;overflow:auto;background:#e4d5a2;border:4px solid #1aa6a0;border-radius:16px;box-shadow:0 18px 55px rgba(0,0,0,.65);padding:14px}.br-global-menu-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#173d39;margin-bottom:12px}.br-global-menu-card header span{display:block;font-size:11px;font-weight:900;letter-spacing:.17em;color:#9c4933}.br-global-menu-card header strong{display:block;font-family:Georgia,serif;font-size:30px}.br-global-menu-card header>button{width:44px;height:44px;border:0;border-radius:9px;background:#383a33;color:#f4e5b4;font-size:30px}.br-global-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.br-global-menu-actions button{min-height:60px;border:1px solid #8d835e;border-bottom:5px solid #11150f;border-radius:9px;background:#383a33;color:#f4e5b4;font-weight:900;font-size:15px;letter-spacing:.03em;padding:10px}.br-global-menu-actions button.primary{background:#1fa7a1;color:#051716}.br-global-menu-actions button.ghost{grid-column:1/-1;background:#d7c78f;color:#164640}.br-global-menu-actions button:active{transform:translateY(2px);border-bottom-width:3px}@media(max-width:520px){.br-global-menu-launcher{right:6px;min-width:52px;height:44px}.br-global-menu-actions{grid-template-columns:1fr}.br-global-menu-actions button.ghost{grid-column:auto}}
.manual-dice-gate{position:absolute;left:50%;bottom:max(88px,calc(env(safe-area-inset-bottom,0px) + 70px));transform:translateX(-50%);z-index:40;width:min(420px,88vw);display:none;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border:2px solid #e4b64f;border-radius:14px;background:rgba(4,20,18,.96);box-shadow:0 12px 32px rgba(0,0,0,.55);color:#f7e7b9}.manual-dice-gate.active{display:grid}.manual-dice-gate-copy span{display:block;color:#49d7d0;font-size:10px;font-weight:900;letter-spacing:.18em}.manual-dice-gate-copy strong{display:block;font-size:18px;line-height:1.1;margin:3px 0}.manual-dice-gate-copy small{display:block;color:#d8c99f;font-size:12px}.manual-dice-roll-btn,.hustle-manual-roll{min-width:120px;min-height:56px;border:0;border-radius:10px;border-bottom:5px solid #071a18;background:#25b6ad;color:#041715;font-size:15px;font-weight:1000;letter-spacing:.08em;padding:10px 16px}.board-dice-overlay.awaiting-manual-roll .dice-flight{animation:none!important}.board-dice-overlay.awaiting-manual-roll .die-cube3d{animation:none!important}.city-d6-overlay.awaiting-manual-roll .city-d6-die-flight{animation:none!important}.city-d6-overlay.awaiting-manual-roll{pointer-events:auto!important}.hustle-manual-roll{margin-top:12px;color:#061816}
@media(max-width:520px){.manual-dice-gate{grid-template-columns:1fr;bottom:max(78px,calc(env(safe-area-inset-bottom,0px) + 62px));text-align:center}.manual-dice-roll-btn{width:100%}}

/* v4.2.7q — roll tap, global board back, character renders, Android auth, save delete */
#boardDiceOverlay.board-dice-overlay.awaiting-manual-roll{pointer-events:auto!important}
#boardDiceOverlay.board-dice-overlay.awaiting-manual-roll .manual-dice-gate,.manual-dice-gate,.manual-dice-roll-btn{pointer-events:auto!important;touch-action:manipulation!important}
.manual-dice-roll-btn{position:relative;z-index:2147480000;cursor:pointer!important}
.br-board-back-launcher{position:fixed;left:max(8px,env(safe-area-inset-left,0px));top:calc(env(safe-area-inset-top,0px) + 8px);z-index:2147482999;display:flex;align-items:center;gap:6px;min-width:78px;min-height:44px;padding:7px 11px;border:2px solid #e1bd65;border-radius:13px;background:rgba(4,24,22,.96);color:#f4e4b7;box-shadow:0 7px 24px rgba(0,0,0,.5);font-weight:1000;letter-spacing:.08em;touch-action:manipulation}.br-board-back-launcher span{font-size:24px;line-height:1}.br-board-back-launcher b{font-size:10px}.br-board-back-launcher.hidden{display:none!important}
.steward-character-card{display:grid;grid-template-columns:minmax(128px,34%) 1fr;gap:14px;align-items:stretch;margin:0 0 16px;padding:10px;border:2px solid rgba(42,187,178,.48);border-radius:16px;background:linear-gradient(135deg,rgba(7,29,27,.98),rgba(31,35,28,.96));color:#f0e1b7;overflow:hidden}.steward-character-art{min-height:185px;border-radius:12px;background-size:cover;background-position:center 18%;box-shadow:inset 0 0 0 1px rgba(230,190,95,.35)}.steward-character-copy{align-self:center}.steward-character-copy span{display:block;color:#54d8d0;font-size:10px;font-weight:1000;letter-spacing:.16em}.steward-character-copy strong{display:block;margin:6px 0;color:#f4d886;font-family:Georgia,serif;font-size:22px}.steward-character-copy p{margin:0;color:#f4ead0;font-size:14px;line-height:1.45;font-weight:700}.steward-character-card.nikki-rae{border-color:rgba(224,182,75,.62);background:linear-gradient(135deg,rgba(28,24,16,.98),rgba(8,35,31,.96))}
.persona-portrait-photo.mother,.encounter-portrait-svg.persona-portrait-photo.mother{background-position:center 15%!important}.persona-portrait-photo.merchant,.encounter-portrait-svg.persona-portrait-photo.merchant{background-position:center 12%!important}
.android-existing-account{border-width:3px!important}.inline-account-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:10px 8px 0 0;padding:9px 13px;border:2px solid #0f5c57;border-radius:10px;background:#25b6ad;color:#041715;font-size:12px;font-weight:1000;letter-spacing:.05em}.inline-account-action.ghost{background:#f0dfa6;color:#153f3b}.account-signin-tools{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 10px}
.save-library-card-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}.save-library-card-wrap .save-library-card{width:100%}.save-delete-btn{min-width:104px;border:2px solid #8e271f;border-radius:11px;background:#8e271f;color:#fff1d0;font-size:11px;font-weight:1000;letter-spacing:.08em;padding:8px;box-shadow:0 4px 0 #35100d;touch-action:manipulation}.save-delete-btn:active{transform:translateY(2px);box-shadow:0 2px 0 #35100d}
@media(max-width:640px){.steward-character-card{grid-template-columns:108px 1fr}.steward-character-art{min-height:145px}.steward-character-copy strong{font-size:18px}.steward-character-copy p{font-size:12px}.save-library-card-wrap{grid-template-columns:1fr}.save-delete-btn{min-height:44px}.br-board-back-launcher b{display:none}.br-board-back-launcher{min-width:48px;padding:5px 10px}}


/* ============================================================
   BORDER RUN v4.2.7r — SELECTED DICE IDENTITY + MATERIAL / BOARD-BACK VISIBILITY
   ============================================================ */
/* The selected collector design owns the face color. Finish only changes material response. */
#boardDiceOverlay .die-cube3d[data-br-skin] .die-face{
  background:var(--br-die-surface)!important;
  border-color:var(--br-die-edge)!important;
  background-color:transparent!important;
}
#boardDiceOverlay .die-cube3d[data-br-skin] .die-face i{background:var(--br-die-pip)!important}
#boardDiceOverlay .die-cube3d[data-br-skin].dice-finish-effect-metallic .die-face{
  filter:saturate(1.16) contrast(1.1) brightness(1.04)!important;
  box-shadow:inset 14px 10px 18px rgba(255,255,255,.38),inset -15px -13px 19px rgba(0,0,0,.31),inset 0 0 0 1px rgba(255,255,255,.24),0 14px 30px rgba(0,0,0,.38)!important;
}
#boardDiceOverlay .die-cube3d[data-br-skin].dice-finish-effect-metallic .die-face:after{
  content:""!important;position:absolute!important;inset:0!important;border-radius:inherit!important;
  background:linear-gradient(112deg,rgba(255,255,255,.62) 0 7%,rgba(255,255,255,.08) 18%,transparent 37%,rgba(255,255,255,.32) 51%,transparent 68%,rgba(255,255,255,.15) 84%,transparent)!important;
  mix-blend-mode:screen!important;pointer-events:none!important;z-index:1!important;opacity:.92!important;
}
#boardDiceOverlay .die-cube3d[data-br-skin].dice-finish-effect-matte .die-face{
  filter:saturate(.9) contrast(.97) brightness(.92)!important;
  box-shadow:inset 2px 2px 7px rgba(255,255,255,.07),inset -7px -8px 11px rgba(0,0,0,.32),0 12px 26px rgba(0,0,0,.36)!important;
}
#boardDiceOverlay .die-cube3d[data-br-skin].dice-finish-effect-matte .die-face:after{content:none!important}
#boardDiceOverlay .die-cube3d[data-br-skin].dice-finish-effect-gloss .die-face{
  filter:saturate(1.1) contrast(1.07) brightness(1.03)!important;
  box-shadow:inset 10px 10px 17px rgba(255,255,255,.46),inset -11px -12px 18px rgba(0,0,0,.31),0 13px 29px rgba(0,0,0,.38)!important;
}
#boardDiceOverlay .die-cube3d[data-br-skin].dice-finish-effect-gloss .die-face:after{
  content:""!important;position:absolute!important;inset:3px!important;border-radius:inherit!important;
  background:linear-gradient(132deg,rgba(255,255,255,.66),transparent 22% 68%,rgba(255,255,255,.18))!important;pointer-events:none!important;z-index:1!important;
}
/* Prestige adds mirror tint without erasing the underlying selected design. */
#boardDiceOverlay .die-cube3d[data-br-skin].dice-variant-chrome .die-face:after{background:linear-gradient(112deg,rgba(255,255,255,.72),rgba(160,177,183,.18) 25%,transparent 46%,rgba(255,255,255,.38) 62%,rgba(112,129,136,.18))!important}
#boardDiceOverlay .die-cube3d[data-br-skin].dice-variant-gold .die-face:after{background:linear-gradient(112deg,rgba(255,241,160,.62),rgba(214,157,50,.15) 27%,transparent 49%,rgba(255,213,91,.34) 64%,rgba(124,80,17,.16))!important}
#boardDiceOverlay .die-cube3d[data-br-skin].dice-variant-platinum .die-face:after{background:linear-gradient(112deg,rgba(255,255,255,.72),rgba(182,215,225,.18) 27%,transparent 49%,rgba(227,249,255,.38) 65%,rgba(101,132,143,.16))!important}
/* The board-return arrow is never shown while the player is simply sitting on the main board. */
body:not(.modal-open):not(.dice-screen-lock):not(.cinematic-lock) .br-board-back-launcher{display:none!important}
body.modal-open .br-board-back-launcher:not(.hidden),body.dice-screen-lock .br-board-back-launcher:not(.hidden),body.cinematic-lock .br-board-back-launcher:not(.hidden){display:flex!important}

/* v4.2.7s — explicit ordered-turn handoff + doubles escalation */
.turn-phase-banner{position:fixed;inset:0;z-index:25050;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;background:rgba(0,0,0,.28);backdrop-filter:blur(2px);transition:opacity .16s ease}
.turn-phase-banner.active{opacity:1}.turn-phase-banner.leaving{opacity:0}
.turn-phase-card{min-width:min(520px,82vw);padding:18px 26px;border:2px solid rgba(229,181,72,.72);border-radius:18px;background:linear-gradient(180deg,rgba(10,17,16,.98),rgba(3,8,7,.98));box-shadow:0 20px 70px rgba(0,0,0,.55),inset 0 0 28px rgba(229,181,72,.07);display:grid;grid-template-columns:1fr auto;grid-template-areas:'k i' 'n i' 's i';gap:5px 18px;transform:scale(.94);transition:transform .18s ease}
.turn-phase-banner.active .turn-phase-card{transform:scale(1)}.turn-phase-banner.end .turn-phase-card{border-color:rgba(101,216,206,.72)}
.turn-phase-card span{grid-area:k;color:#65d8ce;font:900 10px/1 Arial,sans-serif;letter-spacing:.22em}.turn-phase-card strong{grid-area:n;color:#f0d58f;font:900 clamp(22px,3vw,38px)/1 Georgia,serif;text-transform:uppercase}.turn-phase-card small{grid-area:s;color:#d7ddd8;font:800 10px/1.3 Arial,sans-serif;letter-spacing:.12em}.turn-phase-card i{grid-area:i;align-self:center;color:#f0d58f;font:900 38px/1 Arial,sans-serif;font-style:normal}.turn-phase-banner.end .turn-phase-card i{color:#65d8ce}
.doubles-warning-card{padding:15px;border:1px solid rgba(229,181,72,.45);border-radius:14px;background:linear-gradient(180deg,rgba(25,16,8,.96),rgba(10,8,7,.98));display:grid;gap:8px;text-align:center}.doubles-warning-card span{color:#e5b548;font:900 9px/1 Arial,sans-serif;letter-spacing:.2em}.doubles-warning-card strong{color:#fff2c9;font:900 28px/1 Georgia,serif}.doubles-warning-card small{color:#d6c69b;font:800 10px/1.3 Arial,sans-serif;letter-spacing:.08em}.doubles-warning-card.level-2{border-color:rgba(222,86,63,.7);box-shadow:inset 0 0 24px rgba(222,86,63,.08)}
.doubles-lights{display:flex;justify-content:center;gap:10px}.doubles-lights i{width:18px;height:8px;border-radius:999px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.doubles-lights i.on{background:#e5b548;box-shadow:0 0 14px rgba(229,181,72,.6)}.doubles-warning-card.level-2 .doubles-lights i.on{background:#de563f;box-shadow:0 0 14px rgba(222,86,63,.65)}
.party-slot.turn-active{outline:2px solid rgba(229,181,72,.78);outline-offset:-2px}.party-slot.turn-active .party-copy b:after{content:' • ACTIVE';color:#e5b548}
@media(max-width:620px){.turn-phase-card{min-width:84vw;padding:14px 18px}.turn-phase-card strong{font-size:22px}.turn-phase-card i{font-size:30px}}


/* v4.2.7u — mandatory pre-roll awareness + main-board back-arrow removal */
.pre-roll-requirement-notice{position:fixed;left:50%;top:max(8px,env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:2147482800;width:min(720px,calc(100vw - 132px));min-height:54px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:2px solid #e05a39;border-radius:12px;background:linear-gradient(180deg,rgba(55,18,13,.98),rgba(20,9,8,.98));color:#f6e8c3;box-shadow:0 10px 28px rgba(0,0,0,.52),0 0 0 1px rgba(255,216,125,.13) inset;pointer-events:auto}.pre-roll-requirement-notice.hidden{display:none!important}.pre-roll-requirement-notice>span{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#d94b2d;color:#fff;font-size:18px;font-weight:1000}.pre-roll-requirement-notice>div{min-width:0;display:grid;gap:2px}.pre-roll-requirement-notice b{font:1000 8px/1 Arial,sans-serif;letter-spacing:.16em;color:#ffbc67}.pre-roll-requirement-notice strong{font:1000 12px/1.05 Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pre-roll-requirement-notice small{font:800 8px/1.2 Arial,sans-serif;color:#d6c7a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pre-roll-requirement-notice button{min-height:36px;padding:0 12px;border-radius:8px;border:1px solid #ffc56f;background:#d55334;color:#fff7df;font:1000 9px/1 Arial,sans-serif;letter-spacing:.07em}.pre-roll-required-list{display:grid;gap:9px}.pre-roll-required-item{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:start;padding:10px;border:1px solid rgba(224,90,57,.45);border-radius:10px;background:rgba(82,25,17,.22)}.pre-roll-required-item>span{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#d55334;color:#fff;font:1000 12px/1 Arial}.pre-roll-required-item div{display:grid;gap:4px}.pre-roll-required-item strong{font:1000 13px/1.1 Arial;color:#f2d89d}.pre-roll-required-item small{font:700 11px/1.35 Arial;color:#d7c8aa}.lr-primary-roll.pre-roll-blocked{border-color:#d55334!important;box-shadow:0 0 0 2px rgba(213,83,52,.25)!important;animation:none!important}.lr-primary-roll.pre-roll-blocked b:after{content:' · REQUIRED';color:#ffd08a;font-size:.72em}
body:not(.modal-open):not(.dice-screen-lock):not(.cinematic-lock) #brBoardBackLauncher,body:not(.modal-open):not(.dice-screen-lock):not(.cinematic-lock) .br-board-back-launcher{display:none!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:720px){.pre-roll-requirement-notice{left:8px;right:8px;top:max(6px,env(safe-area-inset-top,0px));transform:none;width:auto;grid-template-columns:28px minmax(0,1fr)}.pre-roll-requirement-notice>span{width:26px;height:26px;font-size:15px}.pre-roll-requirement-notice button{grid-column:1/-1;min-height:32px}.pre-roll-requirement-notice small{white-space:normal;max-height:2.5em}}
/* v4.2.7v — dynamic enforcement route-density preview */
.route-traffic-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.route-traffic-preview>div{display:grid;gap:4px;padding:9px;border:1px solid rgba(220,180,77,.35);border-radius:9px;background:rgba(8,18,16,.75)}.route-traffic-preview b{font-size:11px;color:#f1d58d}.route-traffic-preview span{font-size:9px;font-weight:900;letter-spacing:.06em;color:#79d9d0}@media(max-width:620px){.route-traffic-preview{grid-template-columns:1fr}}

/* ============================================================
   BORDER RUN v4.2.7w — FLOWING CHARACTER OPTIONS + READABLE DIALOG
   Nikki Rae and Chrome Shop controls live below their content and
   scroll with the full screen instead of covering artwork/text.
   ============================================================ */
#modalCard[data-kicker="MOTHER OF THE ROAD"],
#modalCard[data-kicker="CHROME SHOP"]{
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
}
#modalCard[data-kicker="MOTHER OF THE ROAD"] #modalExtra,
#modalCard[data-kicker="CHROME SHOP"] #modalExtra{
  display:block!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
  padding-right:0!important;
}
#modalCard[data-kicker="MOTHER OF THE ROAD"] #modalActions,
#modalCard[data-kicker="CHROME SHOP"] #modalActions{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  margin:18px 0 0!important;
  padding:14px 0 2px!important;
  background:transparent!important;
  border-top:2px solid rgba(47,79,68,.22)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
#modalCard[data-kicker="MOTHER OF THE ROAD"] #modalActions:before,
#modalCard[data-kicker="CHROME SHOP"] #modalActions:before{
  content:'AVAILABLE OPTIONS';display:block;margin:0 0 4px;color:#17483f;
  font:950 11px/1.1 Arial,sans-serif;letter-spacing:.13em;text-align:left
}

/* Every normal dialog gets a readable message block, regardless of art behind it. */
#modalCard #modalBody{
  color:#29261e!important;
  background:rgba(255,247,218,.90)!important;
  border:1px solid rgba(58,73,56,.34)!important;
  border-left:4px solid #2d7569!important;
  border-radius:9px!important;
  padding:10px 12px!important;
  margin:5px 0 12px!important;
  font-size:clamp(15px,2.4vw,17px)!important;
  line-height:1.55!important;
  font-weight:800!important;
  letter-spacing:.005em!important;
  text-shadow:none!important;
  box-shadow:0 2px 0 rgba(0,0,0,.08)!important;
}
#modalCard.negative #modalBody{border-left-color:#9b3a2e!important}
#modalCard.positive #modalBody{border-left-color:#2f7562!important}
#modalCard .choice-note{
  color:#342f24!important;background:rgba(255,246,214,.86)!important;
  border:1px solid rgba(76,72,52,.22)!important;border-radius:8px!important;
  padding:9px 10px!important;font-size:13px!important;line-height:1.5!important;
  font-weight:750!important;text-shadow:none!important
}
#modalCard .choice-note strong{color:#173f36!important}
.steward-character-copy p{
  color:#fff5db!important;font-size:15px!important;line-height:1.55!important;font-weight:850!important;
  background:rgba(0,0,0,.30)!important;border:1px solid rgba(255,255,255,.12)!important;
  border-radius:9px!important;padding:9px 10px!important;text-shadow:0 1px 2px #000!important
}
.persona-copy p,
.encounter-overlay-copy p{
  color:#fff3d5!important;background:rgba(0,0,0,.38)!important;border:1px solid rgba(255,255,255,.13)!important;
  border-radius:9px!important;padding:8px 10px!important;font-size:13px!important;line-height:1.5!important;font-weight:850!important;
  text-shadow:0 1px 2px #000!important
}
.encounter-overlay-copy p{font-size:14px!important}
@media(max-width:640px){
  .steward-character-copy p{font-size:13px!important;line-height:1.5!important;padding:8px!important}
  .persona-copy p,.encounter-overlay-copy p{font-size:12px!important;line-height:1.45!important;padding:7px 8px!important}
  #modalCard #modalBody{font-size:15px!important;padding:9px 10px!important}
}

/* Party dice are visible in the party rail and on every shared online roll. */
.party-dice-mini{display:flex!important;align-items:center;gap:4px;margin-top:5px}
.party-dice-mini i{position:relative;display:block;width:24px;height:24px;border-radius:6px;overflow:hidden;border:1px solid rgba(237,210,142,.42);background:#111;box-shadow:0 2px 5px rgba(0,0,0,.35)}
.party-dice-mini img{display:block;width:100%;height:100%;object-fit:cover}
.party-rail:not(.expanded) .party-dice-mini{display:none!important}
.party-dice-broadcast{position:fixed;left:50%;top:max(14px,env(safe-area-inset-top));z-index:88;width:min(94vw,520px);transform:translate(-50%,-18px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .24s ease}
.party-dice-broadcast.active{opacity:1;transform:translate(-50%,0)}
.party-dice-broadcast-card{padding:13px 14px;border-radius:16px;border:2px solid #d8b65f;background:linear-gradient(160deg,rgba(12,21,19,.98),rgba(22,18,12,.98));box-shadow:0 18px 45px rgba(0,0,0,.58);color:#f5e7c0;text-align:center}
.party-dice-broadcast-card>span{display:block;color:#67dbcf;font:950 9px/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.party-dice-broadcast-card>strong{display:block;margin:5px 0 9px;color:#fff0bd;font:950 22px/1 Georgia,serif}
.party-dice-broadcast-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.party-dice-broadcast-pair>div{position:relative;display:grid;grid-template-columns:54px 42px 1fr;align-items:center;gap:7px;padding:7px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);text-align:left}
.party-dice-broadcast-pair img{width:52px;height:52px;border-radius:9px;object-fit:cover;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.party-dice-broadcast-pair b{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#f4df9c;color:#15140f;font:950 22px/1 Arial,sans-serif}
.party-dice-broadcast-pair small{color:#e4dcc5;font:800 9px/1.3 Arial,sans-serif}
.party-dice-broadcast-card>em{display:block;margin-top:9px;color:#fff3cb;font:950 18px/1 Arial,sans-serif;font-style:normal}
@media(max-width:520px){
  .party-dice-broadcast-pair>div{grid-template-columns:42px 32px 1fr;padding:6px;gap:5px}.party-dice-broadcast-pair img{width:40px;height:40px}.party-dice-broadcast-pair b{width:30px;height:30px;font-size:18px}.party-dice-broadcast-pair small{font-size:8px}.party-dice-broadcast-card>strong{font-size:19px}
}

/* Single-player custody uses game-day time passage, not empty real-time turns. */
.jail-bars-card.solo-time{border-color:#bf9446!important;background:linear-gradient(160deg,#2e2718,#151511)!important}
.jail-bars-card.solo-time strong{color:#ffe8a7!important}


/* ============================================================
   BORDER RUN v4.2.7x — UNIVERSAL SCROLL / NO TALK BUBBLES / MMO LIVE
   Every menu is one natural scroll surface. Action rows never overlay content.
   ============================================================ */
.modal{overflow-y:auto!important;overflow-x:hidden!important;place-items:center!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-block:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-bottom))!important}
.modal-card,.modal-card.market-graphic,.modal-card.manifest-graphic,.modal-card.dice-start-modal,.modal-card.tokin-quick-modal,.modal-card.ride-chooser-modal,.modal-card.ride-locker-modal{display:block!important;width:min(96vw,720px)!important;max-height:calc(100dvh - max(18px,env(safe-area-inset-top)) - max(18px,env(safe-area-inset-bottom)))!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;padding-bottom:18px!important}
.modal-card #modalKicker,.modal-card #modalTitle,.modal-card #modalBody,.modal-card #modalExtra{display:block!important;position:relative!important;max-height:none!important;min-height:0!important;overflow:visible!important;touch-action:pan-y!important;flex:none!important}
.modal-card #modalExtra{padding-right:0!important;margin-right:0!important;padding-bottom:0!important}
.modal-card #modalActions,.modal-card.market-graphic #modalActions,.modal-card.dice-start-modal #modalActions,.modal-card.tokin-quick-modal #modalActions,body.landscape-reference-live .modal-card #modalActions{display:grid!important;position:relative!important;inset:auto!important;bottom:auto!important;z-index:1!important;margin:16px 0 0!important;padding:12px 0 max(8px,env(safe-area-inset-bottom))!important;background:transparent!important;border-top:1px solid rgba(214,181,104,.20)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important}
.modal-card #modalActions .btn{position:relative!important}
/* Nikki uses a clean portrait crop with no baked speech-bubble area. */
.steward-character-card.nikki-rae .steward-character-art{background-image:url('./assets/characters/nikki-rae-mother-road.webp')!important;background-size:cover!important;background-position:58% 38%!important}
/* Dialogue is framed text, never comic speech balloons. */
.character-dialogue-panel,.persona-copy .character-dialogue-panel,.encounter-overlay-copy .character-dialogue-panel,.dominity-tutorial-quote{margin:8px 0 0!important;padding:9px 11px!important;border:1px solid rgba(222,190,111,.28)!important;border-left:3px solid #cfaa52!important;border-radius:6px!important;background:rgba(8,12,11,.72)!important;color:#f2e4bd!important;font:750 12px/1.5 Arial,sans-serif!important;box-shadow:none!important}
.character-dialogue-panel:before,.character-dialogue-panel:after,.dominity-tutorial-quote:before,.dominity-tutorial-quote:after{content:none!important;display:none!important}
/* Don interactions all use the original established black/gold underworld treatment. */
.modal-card.dominity-modal{background:radial-gradient(circle at 14% 8%,rgba(176,134,54,.11),transparent 34%),linear-gradient(145deg,#14120f,#050605 72%)!important;border:2px solid #a78035!important;box-shadow:0 24px 80px rgba(0,0,0,.78),inset 0 0 0 1px rgba(237,203,124,.10)!important;color:#e8d7a8!important}
.modal-card.dominity-modal:before{height:5px!important;background:linear-gradient(90deg,#6d4c1f,#e0b65d,#6d4c1f)!important}
.modal-card.dominity-modal #modalKicker{color:#d2a84e!important}.modal-card.dominity-modal #modalTitle{color:#f0d489!important;text-shadow:0 2px 12px rgba(211,166,71,.14)!important}.modal-card.dominity-modal #modalBody{color:#c8b994!important}
.modal-card.dominity-modal .persona-encounter-card.dominity,.encounter-overlay-layer.dominity .encounter-overlay-card{background:linear-gradient(145deg,#181510,#080908)!important;border-color:rgba(208,166,75,.62)!important;box-shadow:0 20px 52px rgba(0,0,0,.58),inset 0 0 24px rgba(208,166,75,.05)!important}
.modal-card.dominity-modal .persona-portrait-svg.dominity,.encounter-portrait-svg.dominity{border-color:#d3ab57!important;box-shadow:0 14px 30px rgba(0,0,0,.5),0 0 0 1px rgba(211,171,87,.16)!important}
.modal-card.dominity-modal .persona-copy span,.encounter-overlay-layer.dominity .encounter-overlay-copy span{color:#d8ad56!important}.modal-card.dominity-modal .persona-copy strong,.encounter-overlay-layer.dominity .encounter-overlay-copy strong{color:#f1db9f!important}
/* Live MMO community events */
.mmo-community-network{display:grid;gap:12px;margin:10px 0 6px}.mmo-community-head{padding:14px;border:1px solid rgba(92,218,204,.28);border-radius:12px;background:linear-gradient(145deg,#0b1d1b,#080b0a)}.mmo-community-head span{display:block;color:#61d8cc;font:900 9px/1 Arial;letter-spacing:.16em}.mmo-community-head strong{display:block;margin:5px 0;color:#f0dda6;font:900 22px/1 Georgia,serif}.mmo-community-head small{color:#aeb9ad;font:750 9px/1.35 Arial}.mmo-community-event{padding:13px;border-radius:12px;border:1px solid #4f4d43;background:linear-gradient(145deg,#1b1c18,#0b0d0b);box-shadow:0 8px 22px rgba(0,0,0,.25)}.mmo-community-event.joined{border-color:#58cbbc}.mmo-community-event.tournament{border-left:4px solid #a986dd}.mmo-community-event.challenge{border-left:4px solid #62ca87}.mmo-community-event.egg{border-left:4px solid #e0b84e}.mmo-community-event.goose{border-left:4px solid #69aee4}.mmo-community-event.group{border-left:4px solid #e27d45}.mmo-community-event header{display:flex;align-items:center;gap:10px}.mmo-community-event header>i{font-style:normal;font-size:30px}.mmo-community-event header span{display:block;color:#f0dda9;font:900 15px/1 Arial}.mmo-community-event header strong{display:block;margin-top:4px;color:#69d7ca;font:900 9px/1 Arial;letter-spacing:.08em}.mmo-community-event p{margin:7px 0 0!important;color:#b9b5a4!important;font-size:10px!important;line-height:1.35!important}.mmo-community-event p b{color:#e0b458}.mmo-event-progress{height:9px;margin:10px 0 5px;border-radius:999px;overflow:hidden;background:#27271f}.mmo-event-progress i{display:block;height:100%;background:linear-gradient(90deg,#50cbbb,#dbb14f);border-radius:inherit}.mmo-community-event>small{display:block;color:#d7c797;font:800 8px/1.25 Arial}.mmo-community-event>button{width:100%;min-height:42px;margin-top:9px;border:1px solid #62cabd;border-radius:8px;background:#102d29;color:#e9ddb8;font-weight:900}.mmo-community-event>button:disabled{opacity:.55}.mmo-live-leaderboard{display:grid;gap:4px;margin:9px 0;padding:8px;border-radius:8px;background:#090a08}.mmo-live-leaderboard>div{display:flex;justify-content:space-between;gap:8px;padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.05);font-size:8px;color:#c9bea1}.mmo-live-leaderboard>div.you{color:#65d9cb}.mmo-hub-card{border-color:rgba(95,210,198,.4)!important}
/* v4.2.7x no-bubble asset cropping / Don tutorial cleanup */
.steward-character-card.linda-gale .steward-character-art{background-position:24% 45%!important;background-size:cover!important}
.don-invitation-photo{background:none!important;display:grid!important;place-items:center!important;min-height:176px!important;overflow:hidden!important}.don-invitation-photo:before,.don-invitation-photo:after{content:none!important}.don-invitation-photo .persona-portrait-svg{width:100%!important;height:100%!important;min-height:176px!important;border-radius:14px!important;background-size:cover!important}
.dominity-tutorial-original-art{position:absolute;right:2vw;bottom:0;width:min(30vw,360px);height:min(74vh,600px);z-index:2;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;transition:all .18s ease}
.dominity-tutorial-original-art .persona-portrait-svg{width:100%!important;height:100%!important;max-height:600px!important;border-radius:20px 20px 0 0!important;background-size:cover!important;background-position:center 24%!important;box-shadow:0 18px 34px rgba(0,0,0,.38)!important}.dominity-tutorial-original-art .persona-portrait-svg>b,.dominity-tutorial-original-art .persona-portrait-svg>i{display:none!important}
@media(max-width:720px){.dominity-tutorial-original-art{width:min(40vw,180px);right:12px;top:max(62px,calc(env(safe-area-inset-top) + 18px));bottom:auto;height:min(28vh,220px);z-index:4;opacity:.96}.dominity-tutorial-original-art .persona-portrait-svg{border-radius:16px!important;max-height:220px!important;box-shadow:0 10px 24px rgba(0,0,0,.34)!important}}
/* Remove the final legacy Don photo reference that contained a speech balloon. */
.dominity-story-beat .portrait{position:relative!important;background:radial-gradient(circle at 35% 22%,#282115,#080909 66%)!important;border:1px solid #c59c49!important;display:grid!important;place-items:center!important}.dominity-story-beat .portrait:before{content:'DS'!important;color:#e4bf67!important;font:1000 30px/1 Georgia,serif!important}.dominity-story-beat .portrait:after{content:'THE DON'!important;position:absolute!important;bottom:8px!important;color:#8e7b51!important;font:900 7px/1 Arial!important;letter-spacing:.15em!important}


/* ============================================================
   BORDER RUN v4.2.7y — LAW ENFORCEMENT VISUAL TREATMENT
   ============================================================ */
.law-jurisdiction-bar{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin:0 0 10px;padding:7px 10px;border-radius:12px;border:1px solid rgba(224,194,119,.2);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.16));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.law-jurisdiction-bar b{display:block;color:#f2ddb0;font:1000 9px/1 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.law-jurisdiction-bar i{display:block;color:#c7bea8;font:800 9px/1.2 Arial,sans-serif;font-style:normal}
.law-jurisdiction-bar span{justify-self:end;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.28);color:#ffe7af;font:1000 8px/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(255,255,255,.1)}
.law-jurisdiction-bar.cop{border-color:rgba(92,168,212,.28);background:linear-gradient(180deg,rgba(92,168,212,.09),rgba(0,0,0,.12))}
.law-jurisdiction-bar.border{border-color:rgba(211,154,80,.28);background:linear-gradient(180deg,rgba(211,154,80,.11),rgba(0,0,0,.12))}
.law-jurisdiction-bar.federale{border-color:rgba(216,184,94,.28);background:linear-gradient(180deg,rgba(216,184,94,.10),rgba(0,0,0,.12))}
.law-jurisdiction-bar.mountie{border-color:rgba(231,196,123,.28);background:linear-gradient(180deg,rgba(188,48,55,.14),rgba(0,0,0,.12))}
.law-jurisdiction-bar.bounty{border-color:rgba(204,96,81,.28);background:linear-gradient(180deg,rgba(204,96,81,.12),rgba(0,0,0,.12))}
.law-case-strip{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;margin:10px 0 0;padding:10px 12px;border-radius:14px;border:1px solid rgba(224,194,119,.22);background:linear-gradient(145deg,#121514,#090b0c);box-shadow:inset 0 0 18px rgba(255,255,255,.02)}
.law-agency-seal{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font:1000 18px/1 Georgia,serif;color:#f4dfb0;border:2px double rgba(255,255,255,.18);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.10),rgba(0,0,0,.68));box-shadow:0 10px 20px rgba(0,0,0,.28)}
.law-case-strip span{display:block;color:#7fded5;font:900 8px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.law-case-strip strong{display:block;margin:4px 0;color:#f3dfad;font:900 20px/1 Georgia,serif}
.law-case-strip small{display:block;color:#bdb59f;font:800 9px/1.35 Arial,sans-serif}
.law-case-strip.cop{border-color:rgba(92,168,212,.34)} .law-case-strip.cop .law-agency-seal{border-color:#5ca8d4}
.law-case-strip.border{border-color:rgba(211,154,80,.34)} .law-case-strip.border .law-agency-seal{border-color:#d39a50}
.law-case-strip.federale{border-color:rgba(216,184,94,.34)} .law-case-strip.federale .law-agency-seal{border-color:#d8b85e}
.law-case-strip.mountie{border-color:rgba(231,196,123,.34)} .law-case-strip.mountie .law-agency-seal{border-color:#e7c47b}
.law-case-strip.bounty{border-color:rgba(204,96,81,.34)} .law-case-strip.bounty .law-agency-seal{border-color:#cc6051}
.encounter-overlay-layer.cop .encounter-overlay-card,.persona-encounter-card.cop{background:linear-gradient(145deg,rgba(12,23,32,.98),rgba(7,12,16,.98));border-color:rgba(92,168,212,.52);box-shadow:0 24px 64px rgba(0,0,0,.46),inset 0 0 20px rgba(92,168,212,.05)}
.encounter-overlay-layer.border .encounter-overlay-card,.persona-encounter-card.border{background:linear-gradient(145deg,rgba(40,28,17,.98),rgba(12,9,8,.98));border-color:rgba(211,154,80,.56);box-shadow:0 24px 64px rgba(0,0,0,.46),inset 0 0 20px rgba(211,154,80,.05)}
.encounter-overlay-layer.bounty .encounter-overlay-card,.persona-encounter-card.bounty{background:linear-gradient(145deg,rgba(42,19,16,.98),rgba(12,9,8,.98));border-color:rgba(204,96,81,.56);box-shadow:0 24px 64px rgba(0,0,0,.46),inset 0 0 20px rgba(204,96,81,.06)}
.encounter-overlay-layer.cop .encounter-overlay-chip{background:rgba(92,168,212,.14);border-color:rgba(92,168,212,.34);color:#bce7fb}
.encounter-overlay-layer.border .encounter-overlay-chip{background:rgba(211,154,80,.15);border-color:rgba(211,154,80,.34);color:#f3ddb1}
.encounter-overlay-layer.bounty .encounter-overlay-chip{background:rgba(204,96,81,.15);border-color:rgba(204,96,81,.34);color:#ffd3bf}
.persona-encounter-card.cop .persona-trait-row span{border-color:rgba(92,168,212,.24);background:rgba(92,168,212,.08)}
.persona-encounter-card.border .persona-trait-row span{border-color:rgba(211,154,80,.24);background:rgba(211,154,80,.08)}
.persona-encounter-card.bounty .persona-trait-row span{border-color:rgba(204,96,81,.24);background:rgba(204,96,81,.08)}
.modal-card.law-modal{background:radial-gradient(circle at 16% 6%,rgba(255,255,255,.04),transparent 28%),linear-gradient(145deg,#131412,#080a0a 72%)!important;border:2px solid rgba(224,194,119,.36)!important;box-shadow:0 24px 80px rgba(0,0,0,.78),inset 0 0 0 1px rgba(255,255,255,.05)!important;color:#e6d7ae!important}
.modal-card.law-modal:before{height:5px!important;background:linear-gradient(90deg,#304c63,#d7b35a,#304c63)!important}
.modal-card.law-modal #modalTitle{color:#f0ddb0!important;text-shadow:0 2px 10px rgba(0,0,0,.24)!important}
.modal-card.law-modal #modalBody{color:#c9bca0!important}
.modal-card.law-modal #modalKicker{color:#98d2ec!important;letter-spacing:.16em!important}
.modal-card.law-cop{border-color:rgba(92,168,212,.56)!important}.modal-card.law-cop:before{background:linear-gradient(90deg,#244463,#5ca8d4,#244463)!important}.modal-card.law-cop #modalKicker{color:#a9ddf5!important}
.modal-card.law-border{border-color:rgba(211,154,80,.58)!important}.modal-card.law-border:before{background:linear-gradient(90deg,#603f1f,#d39a50,#603f1f)!important}.modal-card.law-border #modalKicker{color:#f0c583!important}
.modal-card.law-federale{border-color:rgba(216,184,94,.58)!important}.modal-card.law-federale:before{background:linear-gradient(90deg,#36563e,#d8b85e,#36563e)!important}.modal-card.law-federale #modalKicker{color:#efe0a4!important}
.modal-card.law-mountie{border-color:rgba(231,196,123,.58)!important}.modal-card.law-mountie:before{background:linear-gradient(90deg,#6d2026,#e7c47b,#6d2026)!important}.modal-card.law-mountie #modalKicker{color:#f3deae!important}
.modal-card.law-bounty{border-color:rgba(204,96,81,.58)!important}.modal-card.law-bounty:before{background:linear-gradient(90deg,#5b211d,#cc6051,#5b211d)!important}.modal-card.law-bounty #modalKicker{color:#ffbcae!important}
.modal-card.law-modal .choice-note{background:rgba(255,255,255,.03)!important;border:1px solid rgba(224,194,119,.14)!important;border-radius:12px!important;padding:10px 12px!important;color:#d0c3a6!important}
.modal-card.law-modal .police-case-card,.modal-card.law-modal .jail-bars-card{background:linear-gradient(145deg,#211816,#0f1112)!important;border-width:2px!important}


/* ============================================================
   BORDER RUN v4.2.7z — FULL LAW CINEMATIC TREATMENT
   ============================================================ */
.law-cinematic-persona{--law-accent:#6db6e7;position:relative;min-height:330px;margin:8px 0 14px;border:2px solid color-mix(in srgb,var(--law-accent) 58%,#7b653e);border-radius:20px;overflow:hidden;background:#080b0d;box-shadow:0 20px 54px rgba(0,0,0,.52),inset 0 0 0 1px rgba(255,255,255,.05);isolation:isolate}
.law-cinematic-persona.border{--law-accent:#d39a50}.law-cinematic-persona.federale{--law-accent:#d8b85e}.law-cinematic-persona.mountie{--law-accent:#e7c47b}.law-cinematic-persona.bounty{--law-accent:#cc6051}.law-cinematic-persona.fuzz{--law-accent:#69aee8}
.law-cinematic-scene{position:absolute;inset:0;background-image:var(--law-scene);background-size:cover;background-position:center;filter:saturate(.82) contrast(1.08) brightness(.62);transform:scale(1.02);z-index:-3}
.law-cinematic-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,6,8,.96) 0%,rgba(3,7,9,.84) 40%,rgba(3,7,9,.28) 65%,rgba(3,6,8,.82) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35));z-index:-2}
.law-cinematic-badge{position:absolute;left:16px;top:15px;z-index:3;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--law-accent) 58%,transparent);border-radius:999px;background:rgba(3,7,9,.76);backdrop-filter:blur(5px)}
.law-cinematic-badge b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px double var(--law-accent);color:#fff0bf;font:1000 11px/1 Georgia,serif}.law-cinematic-badge span{color:#f2dfad;font:1000 8px/1 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.law-cinematic-character{position:absolute;right:3%;bottom:-4px;width:210px;height:300px;display:flex;align-items:flex-end;justify-content:center;z-index:1;filter:drop-shadow(0 18px 18px rgba(0,0,0,.58))}
.law-cinematic-character .persona-portrait-svg{width:190px!important;height:270px!important;border-radius:22px 22px 0 0!important;border-color:var(--law-accent)!important;background-size:cover!important;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 16px 30px rgba(0,0,0,.54)!important}
.law-cinematic-character .persona-portrait-svg b{right:10px!important;bottom:29px!important}.law-cinematic-character .persona-portrait-svg i{font-size:9px!important;padding:8px!important}
.law-cinematic-copy{position:relative;z-index:2;width:calc(100% - 225px);min-height:330px;padding:70px 18px 20px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.law-cinematic-kicker{color:var(--law-accent)!important;font:1000 10px/1 Arial,sans-serif!important;letter-spacing:.2em!important;text-transform:uppercase}.law-cinematic-copy>strong{display:block;margin:8px 0 5px;color:#f7e4af;font:1000 clamp(28px,4.4vw,44px)/.95 Georgia,serif;text-shadow:0 3px 15px rgba(0,0,0,.76)}.law-cinematic-copy>small{color:#d5c9ae;font:850 11px/1.35 Arial,sans-serif}
.law-cinematic-traits{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.law-cinematic-traits i{font-style:normal;padding:5px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--law-accent) 38%,transparent);background:rgba(0,0,0,.28);color:#eadfc5;font:900 8px/1 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.law-cinematic-copy .character-dialogue-panel{max-width:460px;margin-top:10px!important;background:rgba(4,8,9,.78)!important;border-color:color-mix(in srgb,var(--law-accent) 42%,transparent)!important;border-left-color:var(--law-accent)!important;color:#fff0c8!important;font-size:13px!important;line-height:1.5!important}
.law-cinematic-stage{position:absolute;right:14px;top:15px;z-index:3;padding:7px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--law-accent) 46%,transparent);background:rgba(3,7,9,.76);color:var(--law-accent);font:1000 8px/1 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.encounter-overlay-layer.law-cinematic-overlay{z-index:12050;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));background:rgba(2,4,5,.56);backdrop-filter:blur(4px);pointer-events:auto}
.law-cinematic-overlay-card{width:min(96vw,860px);position:relative}.law-cinematic-overlay-card .law-cinematic-persona{min-height:390px;margin:0;box-shadow:0 30px 90px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.04)}.law-cinematic-overlay-card .law-cinematic-character{width:270px;height:350px}.law-cinematic-overlay-card .law-cinematic-character .persona-portrait-svg{width:230px!important;height:330px!important}.law-cinematic-overlay-card .law-cinematic-copy{width:calc(100% - 285px);min-height:390px;padding-left:28px}.law-cinematic-overlay-chip{position:absolute;left:18px;bottom:15px;z-index:6;padding:7px 11px;border-radius:999px;background:rgba(2,5,6,.82);border:1px solid rgba(255,255,255,.12);color:#f1deb0;font:1000 8px/1 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.modal-card.law-modal{width:min(96vw,840px)!important}.modal-card.law-modal #modalBody{max-width:72ch!important}.modal-card.law-modal .law-cinematic-persona{margin-top:12px}.modal-card.law-modal .law-case-strip,.modal-card.law-modal .law-jurisdiction-bar{display:none!important}
.modal-card.law-fuzz{border-color:rgba(105,174,232,.6)!important}.modal-card.law-fuzz:before{background:linear-gradient(90deg,#173456,#69aee8,#173456)!important}.modal-card.law-fuzz #modalKicker{color:#b9dfff!important}
@media(max-width:720px){.law-cinematic-persona{min-height:280px}.law-cinematic-character{right:-7px;width:142px;height:225px;bottom:0}.law-cinematic-character .persona-portrait-svg{width:130px!important;height:205px!important}.law-cinematic-copy{width:calc(100% - 128px);min-height:280px;padding:58px 10px 16px 13px}.law-cinematic-copy>strong{font-size:25px}.law-cinematic-copy>small{font-size:9px}.law-cinematic-traits{gap:4px;margin-top:7px}.law-cinematic-traits i{font-size:7px;padding:4px 6px}.law-cinematic-copy .character-dialogue-panel{font-size:11px!important;line-height:1.42!important;padding:8px!important}.law-cinematic-badge{left:10px;top:10px;padding:5px 7px}.law-cinematic-badge b{width:25px;height:25px;font-size:9px}.law-cinematic-badge span{font-size:7px}.law-cinematic-stage{right:8px;top:9px;font-size:7px;padding:5px 7px}.law-cinematic-overlay-card .law-cinematic-persona{min-height:310px}.law-cinematic-overlay-card .law-cinematic-character{width:160px;height:250px}.law-cinematic-overlay-card .law-cinematic-character .persona-portrait-svg{width:145px!important;height:230px!important}.law-cinematic-overlay-card .law-cinematic-copy{width:calc(100% - 145px);min-height:310px;padding:58px 10px 18px 13px}}
@media(max-width:460px){.law-cinematic-persona{min-height:300px}.law-cinematic-character{opacity:.66;right:-24px;width:148px}.law-cinematic-copy{width:78%;padding-right:0}.law-cinematic-shade{background:linear-gradient(90deg,rgba(2,5,7,.98),rgba(2,5,7,.88) 58%,rgba(2,5,7,.38) 100%)}.law-cinematic-copy .character-dialogue-panel{max-width:245px}.law-cinematic-stage{display:none}.law-cinematic-overlay-card .law-cinematic-copy{width:78%}.law-cinematic-overlay-card .law-cinematic-character{right:-22px;opacity:.72}}


/* ============================================================
   BORDER RUN v4.2.8b — FULL CHARACTER ENCOUNTER VISUAL TREATMENT
   ============================================================ */
.character-cinematic-persona{display:grid;grid-template-columns:minmax(220px,42%) 1fr;gap:14px;align-items:stretch;margin:0 0 16px;padding:10px;border:2px solid color-mix(in srgb,var(--character-stroke) 72%, rgba(230,190,95,.45));border-radius:18px;background:linear-gradient(135deg,rgba(8,15,16,.98),rgba(20,17,12,.98));box-shadow:0 18px 44px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.03) inset;overflow:hidden;color:#f0e1b7}
.character-cinematic-art{position:relative;min-height:220px;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(230,190,95,.35)}
.character-cinematic-scene{position:absolute;inset:0;background-image:var(--character-scene);background-size:cover;background-position:var(--character-focus,center center);transform:scale(1.02)}
.character-cinematic-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,12,.18) 0%,rgba(7,10,12,.42) 48%,rgba(7,10,12,.78) 100%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.22))}
.character-cinematic-stamp{position:absolute;left:14px;top:14px;z-index:2;padding:8px 12px;border-radius:999px;background:rgba(5,9,11,.72);border:1px solid color-mix(in srgb,var(--character-stroke) 74%, transparent);color:#f1d799;font:1000 11px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 10px 18px rgba(0,0,0,.24)}
.character-cinematic-portrait{position:absolute;left:16px;bottom:14px;z-index:2;width:min(42%,140px);min-width:108px;max-width:140px;padding:8px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:2px solid color-mix(in srgb,var(--character-stroke) 88%, rgba(255,255,255,.12));box-shadow:0 20px 34px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.04) inset;backdrop-filter:blur(1px)}
.character-cinematic-portrait .persona-portrait-svg{display:block;width:100%;height:auto}
.character-cinematic-copy{align-self:center;padding:6px 2px}
.character-cinematic-copy>span{display:block;color:#54d8d0;font-size:10px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}
.character-cinematic-copy>strong{display:block;margin:6px 0 3px;color:#f4d886;font-family:Georgia,serif;font-size:22px;line-height:1.05}
.character-cinematic-copy>small{display:block;margin-bottom:10px;color:#e8dcc0;font-size:13px;line-height:1.35;font-weight:800}
.character-cinematic-persona .persona-trait-row{margin:0 0 10px}
.character-cinematic-persona .character-dialogue-panel{background:linear-gradient(180deg,rgba(8,13,17,.92),rgba(5,10,13,.96));border-width:2px;box-shadow:0 12px 24px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.03)}
.character-cinematic-persona.dominity{background:linear-gradient(135deg,rgba(16,13,8,.99),rgba(5,12,13,.98))}
.character-cinematic-persona.mother{background:linear-gradient(135deg,rgba(25,21,13,.99),rgba(9,27,24,.98))}
.character-cinematic-persona.merchant{background:linear-gradient(135deg,rgba(23,21,18,.99),rgba(26,18,34,.98))}
.character-cinematic-persona.coyote{background:linear-gradient(135deg,rgba(30,21,13,.99),rgba(13,11,10,.98))}
.character-cinematic-persona.lawyer{background:linear-gradient(135deg,rgba(10,26,22,.99),rgba(13,11,10,.98))}
.character-cinematic-persona.bondsman{background:linear-gradient(135deg,rgba(26,18,10,.99),rgba(13,11,10,.98))}
.character-cinematic-overlay{background:rgba(2,6,8,.66)!important;backdrop-filter:blur(4px)}
.character-cinematic-overlay-card{position:relative;max-width:min(900px,92vw);width:min(900px,92vw)}
.character-cinematic-overlay-card .character-cinematic-persona{margin:0;box-shadow:0 30px 70px rgba(0,0,0,.48)}
.character-cinematic-overlay-chip{position:absolute;right:14px;bottom:14px;z-index:3;padding:8px 12px;border-radius:999px;background:rgba(5,9,11,.82);border:1px solid rgba(255,255,255,.12);color:#f6deb2;font:1000 10px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:760px){.character-cinematic-persona{grid-template-columns:1fr}.character-cinematic-art{min-height:190px}.character-cinematic-copy>strong{font-size:20px}.character-cinematic-copy>small{font-size:12px}.character-cinematic-portrait{width:120px;min-width:100px}}


/* ============================================================
   BORDER RUN v4.2.8c — LINDA PORTRAIT SAFE FRAME + HUSTLE 2D6 PHYSICAL DICE
   ============================================================ */
.steward-character-card.linda-gale .steward-character-art{background-position:22% 42%!important;background-size:cover!important}
@media (orientation:portrait) and (max-width:700px){
  .steward-character-card{grid-template-columns:1fr!important;gap:12px!important}
  .steward-character-card .steward-character-art{min-height:220px!important;width:100%!important;background-size:cover!important;background-repeat:no-repeat!important;border-radius:14px!important}
  .steward-character-card.linda-gale .steward-character-art{min-height:240px!important;background-position:50% 24%!important}
  .steward-character-card.nikki-rae .steward-character-art{min-height:228px!important;background-position:58% 28%!important}
  .steward-character-copy{padding:0 2px 4px!important}
}
.hustle-dice-pair.physical{gap:18px;align-items:center;min-height:132px}
.hustle-dice-pair.physical .hustle-dice-flight{width:112px;height:112px;perspective:780px;-webkit-perspective:780px;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}
.hustle-dice-pair.physical .die-cube3d.br3d-holder{--die-size:92px;--die-half:46px}
.hustle-dice-pair.physical .dice-shadow{position:absolute;left:50%;top:50%;width:84px;height:20px;border-radius:50%;background:rgba(0,0,0,.34);filter:blur(8px);transform:translate(-50%,28px);z-index:-1;opacity:.45}
.hustle-2d6-overlay.rolling .hustle-dice-flight-a{animation:v423tFlightA 1.32s cubic-bezier(.14,.72,.18,1) both}
.hustle-2d6-overlay.rolling .hustle-dice-flight-b{animation:v423tFlightB 1.32s cubic-bezier(.14,.72,.18,1) both}
.hustle-2d6-overlay.rolling .hustle-dice-flight-a .br3d-spin-shell{animation:v423tCubeA 1.32s cubic-bezier(.12,.64,.18,1) both}
.hustle-2d6-overlay.rolling .hustle-dice-flight-b .br3d-spin-shell{animation:v423tCubeB 1.32s cubic-bezier(.12,.64,.18,1) both}
.hustle-2d6-overlay.landed .hustle-dice-flight-a .br3d-spin-shell{animation:v423tImpactA .30s cubic-bezier(.18,.78,.22,1) both}
.hustle-2d6-overlay.landed .hustle-dice-flight-b .br3d-spin-shell{animation:v423tImpactB .30s cubic-bezier(.18,.78,.22,1) both}
.hustle-2d6-overlay .hustle-roll-stage{width:min(92vw,520px)}
@media(max-width:520px){
  .hustle-dice-pair.physical{gap:10px;min-height:108px;margin:10px 0 8px}
  .hustle-dice-pair.physical .hustle-dice-flight{width:90px;height:90px}
  .hustle-dice-pair.physical .die-cube3d.br3d-holder{--die-size:74px;--die-half:37px}
  .hustle-dice-pair.physical .dice-shadow{width:66px;height:16px;transform:translate(-50%,24px)}
  .hustle-roll-stage>strong{font-size:20px}
}


/* ============================================================
   BORDER RUN v4.2.8f — SIDE HUSTLE TRUE 3D CUBE CONTEXT
   The hustle overlay must provide the same preserve-3d shell and
   physical face transforms/material ownership as the main dice scene.
   ============================================================ */
#hustle2d6Overlay .hustle-roll-stage{perspective:1300px!important;-webkit-perspective:1300px!important;perspective-origin:50% 44%!important;overflow:visible!important}
#hustle2d6Overlay .hustle-dice-pair.physical{perspective:1100px!important;-webkit-perspective:1100px!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;overflow:visible!important}
#hustle2d6Overlay .hustle-dice-flight{position:relative!important;display:grid!important;place-items:center!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;overflow:visible!important}
#hustle2d6Overlay .die-cube3d.br3d-holder{position:relative!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;overflow:visible!important}
#hustle2d6Overlay .br3d-spin-shell{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;transform-origin:50% 50%!important;transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))!important;will-change:transform!important}
#hustle2d6Overlay .br3d-face{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;border-width:3px!important}
#hustle2d6Overlay .br3d-front{transform:translateZ(var(--die-half))!important;filter:brightness(1.06)}
#hustle2d6Overlay .br3d-back{transform:rotateY(180deg) translateZ(var(--die-half))!important;filter:brightness(.62)}
#hustle2d6Overlay .br3d-right{transform:rotateY(90deg) translateZ(var(--die-half))!important;filter:brightness(.80)}
#hustle2d6Overlay .br3d-left{transform:rotateY(-90deg) translateZ(var(--die-half))!important;filter:brightness(.74)}
#hustle2d6Overlay .br3d-top{transform:rotateX(90deg) translateZ(var(--die-half))!important;filter:brightness(1.16)}
#hustle2d6Overlay .br3d-bottom{transform:rotateX(-90deg) translateZ(var(--die-half))!important;filter:brightness(.56)}
#hustle2d6Overlay .die-cube3d[data-br-skin] .die-face{background:var(--br-die-surface)!important;border-color:var(--br-die-edge)!important;background-color:transparent!important}
#hustle2d6Overlay .die-cube3d[data-br-skin] .die-face i{background:var(--br-die-pip)!important;position:relative!important;z-index:3!important}
#hustle2d6Overlay .die-cube3d[data-br-skin].dice-finish-effect-metallic .die-face{filter:saturate(1.16) contrast(1.1) brightness(1.04);box-shadow:inset 14px 10px 18px rgba(255,255,255,.38),inset -15px -13px 19px rgba(0,0,0,.31),inset 0 0 0 1px rgba(255,255,255,.24),0 14px 30px rgba(0,0,0,.38)!important}
#hustle2d6Overlay .die-cube3d[data-br-skin].dice-finish-effect-gloss .die-face{filter:saturate(1.08) contrast(1.05) brightness(1.03);box-shadow:inset 10px 10px 17px rgba(255,255,255,.46),inset -11px -12px 18px rgba(0,0,0,.31),0 13px 29px rgba(0,0,0,.38)!important}
#hustle2d6Overlay .die-cube3d[data-br-skin].dice-finish-effect-matte .die-face{filter:saturate(.9) contrast(.97) brightness(.92);box-shadow:inset 2px 2px 7px rgba(255,255,255,.07),inset -7px -8px 11px rgba(0,0,0,.32),0 12px 26px rgba(0,0,0,.36)!important}
#hustle2d6Overlay.rolling .hustle-dice-flight-a .br3d-spin-shell{animation:v423tCubeA 1.32s cubic-bezier(.12,.64,.18,1) both!important}
#hustle2d6Overlay.rolling .hustle-dice-flight-b .br3d-spin-shell{animation:v423tCubeB 1.32s cubic-bezier(.12,.64,.18,1) both!important}
#hustle2d6Overlay.landed .hustle-dice-flight-a .br3d-spin-shell{animation:v423tImpactA .30s cubic-bezier(.18,.78,.22,1) both!important}
#hustle2d6Overlay.landed .hustle-dice-flight-b .br3d-spin-shell{animation:v423tImpactB .30s cubic-bezier(.18,.78,.22,1) both!important}
#hustle2d6Overlay .hustle-manual-roll{touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important}


/* ============================================================
   BORDER RUN v4.2.8f — INTERACTIVE CITY TILES + HARDER ACHIEVEMENT UI PASS
   ============================================================ */
.map-node.city-info-node{cursor:pointer;isolation:isolate}
.map-node.city-info-node b{position:relative;z-index:7;display:block;max-width:84px;margin-top:2px;text-shadow:0 2px 4px rgba(0,0,0,.82),0 0 8px rgba(0,0,0,.45)}
.map-node.city-info-node .city-tile-kicker{position:absolute;left:50%;top:-14px;transform:translateX(-50%);z-index:7;display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;border:1px solid rgba(246,203,108,.55);background:rgba(8,17,18,.86);color:#84f0ea;font:900 8px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 4px 12px rgba(0,0,0,.42)}
.map-node.city-info-node .city-tile-sub{position:relative;z-index:7;display:block;max-width:90px;margin-top:2px;color:#f0d99c;font:800 8px/1.12 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.82)}
.map-node.city-info-node .city-info-glyph{position:absolute;right:-7px;top:-6px;z-index:8;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid rgba(95,231,223,.72);background:radial-gradient(circle at 35% 30%,#224340,#091211 72%);color:#8ef4ec;font:900 11px/1 Arial,sans-serif;box-shadow:0 0 0 2px rgba(10,17,17,.75),0 0 14px rgba(92,228,219,.26)}
.map-node.city-info-node.has-skyline3d{filter:drop-shadow(0 10px 18px rgba(0,0,0,.42))}
.map-node.city-info-node:hover,.map-node.city-info-node:focus-visible{transform:translate(-50%,-50%) scale(1.06)!important;box-shadow:0 0 0 2px rgba(98,239,229,.65),0 14px 24px rgba(0,0,0,.46)!important}
.map-node.city-info-node:hover .city-info-glyph,.map-node.city-info-node:focus-visible .city-info-glyph{box-shadow:0 0 0 2px rgba(10,17,17,.8),0 0 20px rgba(92,228,219,.38)}
.map-node.city-info-node:hover .city-tile-kicker,.map-node.city-info-node:focus-visible .city-tile-kicker{color:#b8fff9;border-color:#7dece5}
@media(max-width:560px){
  .map-node.city-info-node b{max-width:74px;font-size:10px!important}
  .map-node.city-info-node .city-tile-kicker{top:-12px;padding:2px 6px;font-size:7px}
  .map-node.city-info-node .city-tile-sub{max-width:78px;font-size:7px}
  .map-node.city-info-node .city-info-glyph{width:16px;height:16px;font-size:10px;right:-5px;top:-5px}
}
.achievement-card .dash-sub:after,.achievement-summary .dash-sub:after{content:'Targets tuned slightly higher in v4.2.8f';display:block;margin-top:4px;color:#8debe4;font:800 9px/1.25 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.88}


/* ============================================================
   BORDER RUN v4.2.8g — REALISTIC LAW CHARACTER ART
   Replaces generated SVG/avatar cards with approved cinematic faction scenes.
   ============================================================ */
.law-cinematic-persona.realistic-law-art{min-height:350px}
.law-cinematic-persona.realistic-law-art .law-cinematic-character{display:none!important}
.law-cinematic-character-art{position:absolute;right:0;top:0;bottom:0;width:47%;z-index:1;background-image:linear-gradient(90deg,rgba(8,10,10,.92) 0%,rgba(8,10,10,.18) 22%,rgba(8,10,10,0) 54%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.14)),var(--law-character);background-size:cover;background-position:center center;background-repeat:no-repeat;filter:saturate(.96) contrast(1.05) brightness(.94);box-shadow:inset 16px 0 28px rgba(0,0,0,.34)}
.law-cinematic-persona.realistic-law-art .law-cinematic-copy{width:58%;min-height:350px;padding:72px 18px 24px 22px}
.law-cinematic-persona.realistic-law-art .law-cinematic-copy>strong{max-width:520px;font-size:clamp(30px,4vw,48px);line-height:.96}
.law-cinematic-persona.realistic-law-art .law-cinematic-copy>small{max-width:560px}
.law-cinematic-persona.realistic-law-art .law-cinematic-copy .character-dialogue-panel{max-width:520px}
.law-cinematic-persona.realistic-law-art .law-cinematic-shade{background:linear-gradient(90deg,rgba(2,5,7,.98) 0%,rgba(2,5,7,.93) 38%,rgba(2,5,7,.58) 58%,rgba(2,5,7,.10) 82%,rgba(2,5,7,.04) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28))}
.law-cinematic-overlay-card .law-cinematic-persona.realistic-law-art{min-height:410px}
.law-cinematic-overlay-card .law-cinematic-persona.realistic-law-art .law-cinematic-copy{width:58%;min-height:410px;padding:76px 22px 26px 28px}
.law-cinematic-overlay-card .law-cinematic-character-art{width:48%}
@media(max-width:720px){
  .law-cinematic-persona.realistic-law-art{min-height:330px}
  .law-cinematic-character-art{width:48%;background-position:58% center}
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy{width:62%;min-height:330px;padding:60px 8px 16px 13px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy>strong{font-size:clamp(24px,7vw,34px);max-width:270px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy>small{font-size:9px;max-width:270px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-traits{max-width:270px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy .character-dialogue-panel{max-width:270px;font-size:11px!important}
  .law-cinematic-overlay-card .law-cinematic-persona.realistic-law-art{min-height:350px}
  .law-cinematic-overlay-card .law-cinematic-persona.realistic-law-art .law-cinematic-copy{width:62%;min-height:350px;padding:62px 8px 18px 13px}
}
@media(max-width:460px){
  .law-cinematic-persona.realistic-law-art{min-height:360px}
  .law-cinematic-character-art{width:54%;opacity:.92;background-position:60% center}
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy{width:68%;min-height:360px;padding-top:58px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy>strong{font-size:26px!important;max-width:230px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy>small{max-width:225px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-traits{max-width:230px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy .character-dialogue-panel{max-width:225px}
  .law-cinematic-persona.realistic-law-art .law-cinematic-shade{background:linear-gradient(90deg,rgba(2,5,7,.99) 0%,rgba(2,5,7,.96) 42%,rgba(2,5,7,.64) 62%,rgba(2,5,7,.12) 88%,rgba(2,5,7,.04) 100%)}
}


/* ============================================================
   BORDER RUN v4.2.8h — MOBILE HUSTLE DICE / DON ART / PRE-ROLL CLEANUP
   ============================================================ */
/* Dominity Storm must always use the original photographic/illustrated Don art,
   never the generic SVG fallback. Tight crops keep the baked legacy speech balloon
   outside the visible frame without altering the source artwork. */
.persona-portrait-photo.dominity,
.encounter-portrait-svg.persona-portrait-photo.dominity{
  background-size:300% auto!important;
  background-position:40% 24%!important;
  border-color:#d3ab57!important;
  box-shadow:0 14px 30px rgba(0,0,0,.50),0 0 0 1px rgba(211,171,87,.18)!important;
}
.dominity-tutorial-original-art .persona-portrait-photo.dominity{
  background-size:205% auto!important;
  background-position:40% 23%!important;
}
.character-cinematic-persona.dominity .character-cinematic-scene{
  background-size:185% auto!important;
  background-position:38% 34%!important;
}
.character-cinematic-persona.dominity .character-cinematic-portrait .persona-portrait-photo.dominity{
  background-size:280% auto!important;
  background-position:40% 24%!important;
}

/* The side-hustle pair uses a sealed three-plane die render rather than six
   independently transformed DOM faces. This avoids WebKit/iOS preserve-3d
   flattening that made the cube appear to explode into loose cards. */
#hustle2d6Overlay .hustle-dice-pair.solid-render{gap:24px!important;min-height:126px!important;perspective:none!important;-webkit-perspective:none!important;transform-style:flat!important;-webkit-transform-style:flat!important;overflow:visible!important}
#hustle2d6Overlay .hustle-dice-pair.solid-render .hustle-dice-flight{width:126px!important;height:108px!important;perspective:none!important;-webkit-perspective:none!important;transform-style:flat!important;-webkit-transform-style:flat!important;overflow:visible!important;display:grid!important;place-items:center!important}
#hustle2d6Overlay .hustle-solid-die{position:relative;width:112px;height:98px;transform-origin:52% 58%;will-change:transform;filter:drop-shadow(0 14px 14px rgba(0,0,0,.34));isolation:isolate}
#hustle2d6Overlay .hustle-solid-die .hsd-face{position:absolute;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:1px;background:var(--br-die-surface)!important;border:2px solid var(--br-die-edge)!important;box-shadow:inset 7px 7px 12px rgba(255,255,255,.22),inset -8px -9px 13px rgba(0,0,0,.24);overflow:hidden}
#hustle2d6Overlay .hustle-solid-die .hsd-face i{width:9px;height:9px;border-radius:50%;background:var(--br-die-pip)!important;place-self:center;box-shadow:inset 1px 1px 1px rgba(255,255,255,.15),0 1px 2px rgba(0,0,0,.32)}
#hustle2d6Overlay .hustle-solid-die .hsd-face i.p1{grid-area:1/1}#hustle2d6Overlay .hustle-solid-die .hsd-face i.p3{grid-area:1/3}#hustle2d6Overlay .hustle-solid-die .hsd-face i.p4{grid-area:2/1}#hustle2d6Overlay .hustle-solid-die .hsd-face i.p5{grid-area:2/2}#hustle2d6Overlay .hustle-solid-die .hsd-face i.p6{grid-area:2/3}#hustle2d6Overlay .hustle-solid-die .hsd-face i.p7{grid-area:3/1}#hustle2d6Overlay .hustle-solid-die .hsd-face i.p9{grid-area:3/3}
#hustle2d6Overlay .hustle-solid-die .hsd-front{left:12px;top:26px;width:72px;height:68px;padding:9px;border-radius:11px 9px 12px 14px;z-index:3;transform:skewY(2deg)}
#hustle2d6Overlay .hustle-solid-die .hsd-top{left:18px;top:4px;width:72px;height:42px;padding:5px 9px;border-radius:10px 11px 5px 5px;z-index:2;transform:skewX(-35deg) scaleY(.74);transform-origin:left bottom;filter:brightness(1.13)}
#hustle2d6Overlay .hustle-solid-die .hsd-side{left:79px;top:24px;width:38px;height:70px;padding:9px 4px;border-radius:5px 10px 12px 5px;z-index:1;transform:skewY(-35deg) scaleX(.76);transform-origin:left top;filter:brightness(.78)}
#hustle2d6Overlay .hustle-solid-die.phase-b{transform:rotate(-3deg)}
#hustle2d6Overlay.rolling .hustle-dice-flight-a .hustle-solid-die{animation:hustleSolidRollA 1.32s cubic-bezier(.14,.72,.18,1) both!important}
#hustle2d6Overlay.rolling .hustle-dice-flight-b .hustle-solid-die{animation:hustleSolidRollB 1.32s cubic-bezier(.14,.72,.18,1) both!important}
#hustle2d6Overlay.landed .hustle-dice-flight-a .hustle-solid-die{animation:hustleSolidLandA .30s cubic-bezier(.18,.78,.22,1) both!important}
#hustle2d6Overlay.landed .hustle-dice-flight-b .hustle-solid-die{animation:hustleSolidLandB .30s cubic-bezier(.18,.78,.22,1) both!important}
@keyframes hustleSolidRollA{0%{transform:translate3d(-8px,10px,0) rotate(-12deg) scale(.86)}28%{transform:translate3d(18px,-28px,0) rotate(118deg) scale(1.05)}58%{transform:translate3d(-12px,-12px,0) rotate(235deg) scale(.96)}82%{transform:translate3d(8px,-3px,0) rotate(344deg) scale(1.02)}100%{transform:translate3d(0,0,0) rotate(360deg) scale(1)}}
@keyframes hustleSolidRollB{0%{transform:translate3d(8px,10px,0) rotate(12deg) scale(.86)}28%{transform:translate3d(-18px,-30px,0) rotate(-126deg) scale(1.05)}58%{transform:translate3d(13px,-10px,0) rotate(-242deg) scale(.96)}82%{transform:translate3d(-8px,-2px,0) rotate(-350deg) scale(1.02)}100%{transform:translate3d(0,0,0) rotate(-360deg) scale(1)}}
@keyframes hustleSolidLandA{0%{transform:translateY(-7px) rotate(-4deg) scale(1.05)}58%{transform:translateY(3px) rotate(2deg) scale(.98)}100%{transform:none}}
@keyframes hustleSolidLandB{0%{transform:translateY(-8px) rotate(5deg) scale(1.05)}58%{transform:translateY(3px) rotate(-2deg) scale(.98)}100%{transform:rotate(-3deg)}}

/* Mandatory steps remain visible but no longer become a giant full-width blocker
   on phones. The action stays one tap away beside the requirement text. */
@media(max-width:720px){
  .pre-roll-requirement-notice{left:8px!important;right:8px!important;top:max(56px,calc(env(safe-area-inset-top,0px) + 48px))!important;transform:none!important;width:auto!important;min-height:42px!important;grid-template-columns:24px minmax(0,1fr) auto!important;gap:6px!important;padding:5px 7px!important;border-width:1.5px!important;border-radius:9px!important}
  .pre-roll-requirement-notice>span{width:22px!important;height:22px!important;font-size:12px!important}
  .pre-roll-requirement-notice b{font-size:6.5px!important;letter-spacing:.13em!important}
  .pre-roll-requirement-notice strong{font-size:9px!important;line-height:1.05!important;white-space:nowrap!important}
  .pre-roll-requirement-notice small{display:none!important}
  .pre-roll-requirement-notice button{grid-column:auto!important;min-height:30px!important;max-width:118px!important;padding:0 8px!important;font-size:7px!important;line-height:1.05!important;border-radius:7px!important}
}
@media(max-width:430px){
  .pre-roll-requirement-notice{grid-template-columns:22px minmax(0,1fr) 92px!important;top:max(52px,calc(env(safe-area-inset-top,0px) + 46px))!important}
  .pre-roll-requirement-notice button{max-width:92px!important;padding:0 5px!important;font-size:6.5px!important}
}
@media(max-width:560px){
  #hustle2d6Overlay .hustle-dice-pair.solid-render{gap:8px!important;min-height:104px!important;margin:9px 0 7px!important}
  #hustle2d6Overlay .hustle-dice-pair.solid-render .hustle-dice-flight{width:96px!important;height:90px!important}
  #hustle2d6Overlay .hustle-solid-die{width:92px;height:82px;transform:scale(.86)}
  #hustle2d6Overlay .hustle-solid-die .hsd-front{left:10px;top:22px;width:60px;height:56px;padding:7px}
  #hustle2d6Overlay .hustle-solid-die .hsd-top{left:15px;top:4px;width:60px;height:35px;padding:4px 7px}
  #hustle2d6Overlay .hustle-solid-die .hsd-side{left:66px;top:21px;width:32px;height:57px;padding:7px 3px}
  #hustle2d6Overlay .hustle-solid-die .hsd-face i{width:7px;height:7px}
}


/* ============================================================
   BORDER RUN v4.2.8i — MOBILE MANIFEST LAYOUT HOTFIX
   Prevent cargo artwork from covering SELECT STASH / manifest names.
   ============================================================ */
.modal-card.manifest-graphic .manifest-visual{
  display:grid!important;
  grid-template-columns:minmax(88px,112px) minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding:12px!important;
}
.modal-card.manifest-graphic .manifest-art{
  width:100%!important;
  max-width:112px!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  min-width:0!important;
  justify-self:start!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
.modal-card.manifest-graphic .manifest-copy{
  min-width:0!important;
  overflow:hidden!important;
  padding:2px 4px 2px 0!important;
}
.modal-card.manifest-graphic .manifest-copy small{
  display:block!important;
  margin:0 0 6px!important;
  color:#64d8cc!important;
  font:950 10px/1.1 Arial,sans-serif!important;
  letter-spacing:.13em!important;
  white-space:normal!important;
}
.modal-card.manifest-graphic .manifest-copy strong{
  display:block!important;
  margin:0!important;
  max-width:100%!important;
  color:#f2dfaa!important;
  font:950 clamp(20px,5.4vw,28px)/1.05 Georgia,serif!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.modal-card.manifest-graphic .manifest-copy em{
  display:block!important;
  margin-top:8px!important;
  color:#d5a348!important;
  font:900 10px/1.25 Arial,sans-serif!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.modal-card.manifest-graphic .stash-stepper{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 52px!important;
  gap:10px!important;
  align-items:center!important;
  margin:14px 0 8px!important;
}
.modal-card.manifest-graphic .stash-stepper>button{
  width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  font-size:28px!important;
  line-height:1!important;
}
.modal-card.manifest-graphic .stash-stepper-copy{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  grid-template-areas:'label qty total'!important;
  gap:10px!important;
  align-items:center!important;
  min-height:52px!important;
  padding:7px 12px!important;
  border:1px solid rgba(214,174,78,.55)!important;
  border-radius:13px!important;
  background:#11231d!important;
  box-sizing:border-box!important;
}
.modal-card.manifest-graphic .stash-stepper-copy>span{
  grid-area:label!important;
  color:#e7d8a8!important;
  font:900 10px/1 Arial,sans-serif!important;
  letter-spacing:.10em!important;
}
.modal-card.manifest-graphic .stash-stepper-copy>#stashQty{
  grid-area:qty!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  color:#f5e7b5!important;
  font:1000 28px/1 Arial,sans-serif!important;
}
.modal-card.manifest-graphic .stash-stepper-copy>#stashTotal{
  grid-area:total!important;
  color:#514631!important;
  background:#ead79e!important;
  border-radius:8px!important;
  padding:5px 7px!important;
  font:900 10px/1 Arial,sans-serif!important;
  white-space:nowrap!important;
}
@media(max-width:560px){
  .modal-card.manifest-graphic .manifest-visual{
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:14px!important;
    padding:10px!important;
  }
  .modal-card.manifest-graphic .manifest-art{max-width:96px!important;}
  .modal-card.manifest-graphic .manifest-copy strong{font-size:clamp(20px,6.2vw,25px)!important;}
  .modal-card.manifest-graphic .stash-stepper{grid-template-columns:48px minmax(0,1fr) 48px!important;gap:8px!important;}
  .modal-card.manifest-graphic .stash-stepper>button{width:48px!important;height:48px!important;min-height:48px!important;font-size:26px!important;}
  .modal-card.manifest-graphic .stash-stepper-copy{
    grid-template-columns:auto 1fr!important;
    grid-template-areas:'label qty' 'total total'!important;
    gap:5px 8px!important;
    min-height:48px!important;
    padding:7px 10px!important;
  }
  .modal-card.manifest-graphic .stash-stepper-copy>#stashQty{justify-self:end!important;font-size:26px!important;}
  .modal-card.manifest-graphic .stash-stepper-copy>#stashTotal{justify-self:stretch!important;text-align:center!important;}
}
@media(max-width:390px){
  .modal-card.manifest-graphic .manifest-visual{grid-template-columns:82px minmax(0,1fr)!important;gap:11px!important;}
  .modal-card.manifest-graphic .manifest-art{max-width:82px!important;}
  .modal-card.manifest-graphic .manifest-copy small{font-size:9px!important;letter-spacing:.10em!important;}
  .modal-card.manifest-graphic .manifest-copy strong{font-size:20px!important;}
  .modal-card.manifest-graphic .manifest-copy em{font-size:9px!important;}
}


/* v4.2.8k — player-entered banking */
.bank-entry-panel{margin-top:12px;padding:14px;border:1px solid rgba(214,175,93,.24);border-radius:14px;background:#0a1110}.bank-entry-panel label{display:block;margin-bottom:8px;color:#65d7cc;font:900 10px/1 Arial,sans-serif;letter-spacing:.14em}.bank-entry-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(214,175,93,.34);border-radius:12px;background:#f5ecd0;color:#14231f}.bank-entry-row>span{font:900 24px/1 Georgia,serif}.bank-entry-row input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#14231f;font:900 28px/1.1 Georgia,serif;padding:6px 0;-moz-appearance:textfield}.bank-entry-row input::-webkit-outer-spin-button,.bank-entry-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bank-fee-preview{margin-top:10px;color:#d9c89e;font:800 11px/1.35 Arial,sans-serif}.bank-transfer-status{margin-top:8px;padding:9px 10px;border-radius:10px;background:rgba(101,215,204,.07);color:#b8dcd7;font:800 11px/1.35 Arial,sans-serif}.bank-transfer-status.bad{background:rgba(230,89,66,.12);color:#ffb8a7}@media (orientation:portrait){.bank-entry-panel{padding:12px}.bank-entry-row input{font-size:24px}}


/* ============================================================
   BORDER RUN v4.2.8l — DON / DICE / NAV UI CLEANUP
   ============================================================ */
/* Roll screen: the dice are the visual. Do not repeat skin / finish / rolled-value
   descriptions underneath each die; the centered result block already carries the roll. */
body>#boardDiceOverlay.separate-dice-screen .dice-flight::after{
  content:none!important;display:none!important;
}
/* Keep the selected pair fully visible on short landscape screens instead of letting
   118px cubes crop against the cinematic frame. */
@media(max-height:680px){
  body>#boardDiceOverlay.separate-dice-screen .die-cube3d.br3d-holder{--die-size:88px!important;--die-half:44px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-flight{width:104px!important;height:106px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{width:min(78vw,300px)!important;height:160px!important;gap:26px!important;top:49%!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-pair-shadow{top:78%!important;width:220px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-result-lock{top:70%!important}
}
@media(max-height:520px){
  body>#boardDiceOverlay.separate-dice-screen .die-cube3d.br3d-holder{--die-size:76px!important;--die-half:38px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-flight{width:90px!important;height:92px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{height:130px!important;gap:22px!important;top:47%!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-result-lock{top:68%!important;transform:translate(-50%,-50%) scale(.88)!important}
}

/* Dominity Storm: one cinematic image, properly framed. The old tutorial art contains
   legacy text in its upper-right area, so the crop intentionally keeps that area out
   of view without altering the original approved Don artwork. */
.don-invitation-photo{
  background-image:linear-gradient(180deg,rgba(4,14,18,.05),rgba(2,10,14,.18) 42%,rgba(2,8,11,.72) 100%),url('./assets/tutorial/dominity-tutorial-character.webp')!important;
  background-size:148% auto!important;
  background-position:36% 42%!important;
  min-height:210px!important;
}
.don-invitation-photo>.persona-portrait-svg{display:none!important}
.character-cinematic-persona.dominity .character-cinematic-portrait{display:none!important}
.character-cinematic-persona.dominity .character-cinematic-art{min-height:285px!important}
.character-cinematic-persona.dominity .character-cinematic-scene{
  background-image:var(--character-scene)!important;
  background-size:148% auto!important;
  background-position:36% 44%!important;
  filter:saturate(.96) contrast(1.04) brightness(.88)!important;
}
.character-cinematic-persona.dominity .character-cinematic-shade{
  background:linear-gradient(90deg,rgba(5,8,8,.82),rgba(5,8,8,.35) 42%,rgba(5,8,8,.06) 74%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.42))!important;
}
@media(max-width:760px){
  .don-invitation-photo{min-height:205px!important;background-size:155% auto!important;background-position:35% 42%!important}
  .character-cinematic-persona.dominity .character-cinematic-art{min-height:240px!important}
  .character-cinematic-persona.dominity .character-cinematic-scene{background-size:154% auto!important;background-position:35% 43%!important}
}

/* Vehicle quick-nav always mirrors the actual equipped game piece instead of a generic emoji. */
.live-vehicle-nav-piece{display:grid!important;place-items:center!important;width:34px!important;height:30px!important;margin:0 auto!important;overflow:visible!important;font-size:0!important;line-height:0!important}
.live-vehicle-nav-piece .piece-render,.live-vehicle-nav-piece .nav-live-piece,.live-vehicle-nav-piece [class*="piece"],.live-vehicle-nav-piece [class*="vehicle"]{max-width:34px!important;max-height:28px!important;transform:scale(.62)!important;transform-origin:center!important;margin:0!important}
.live-vehicle-nav-piece img,.live-vehicle-nav-piece svg{max-width:34px!important;max-height:28px!important;object-fit:contain!important}


/* ============================================================
   BORDER RUN v4.2.8m — TRUE GAME-PIECE PULSE / NO GENERIC SWAP
   ============================================================ */
/* Local piece assets are bundled with the game, so the generic emoji fallback must
   never flash between renders. The actual equipped piece is authoritative. */
.ride-render.token-3d.board-game-piece .piece-fallback-vehicle{
  display:none!important;visibility:hidden!important;opacity:0!important;animation:none!important;
}
/* Real selected vehicle is the only visual plane allowed to pulse/move. */
.lr-master-player-piece .piece-3d-motion>img,
.vehicle-pawn .piece-3d-motion>img,
.live-vehicle-nav-piece .piece-3d-motion>img{visibility:visible!important;opacity:1!important}
.lr-master-player-piece .piece-3d-motion:before,
.vehicle-pawn .piece-3d-motion:before,
.live-vehicle-nav-piece .piece-3d-motion:before{background-image:var(--piece-image)!important}
/* Keep the player's exact piece compact in the bottom navigation. */
.live-vehicle-nav-piece .ride-render.token-3d.board-game-piece{width:42px!important;height:31px!important;min-width:42px!important;min-height:31px!important;transform:scale(.72)!important;transform-origin:center!important}

/* v4.2.8n — Jimmie Reed Coyote Run treatment */
.persona-portrait-photo.coyote,
.encounter-portrait-svg.persona-portrait-photo.coyote{background-position:58% 28%!important;background-size:cover!important}
.character-cinematic-persona.coyote .character-cinematic-scene{background-size:cover!important;background-position:58% 38%!important;filter:saturate(1.02) contrast(1.03)}
.coyote-experience-block{margin:10px 0 14px;padding:14px;border-radius:16px;border:1px solid rgba(201,157,97,.48);background:linear-gradient(145deg,rgba(50,35,24,.95),rgba(11,15,15,.98));box-shadow:0 16px 36px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.03)}
.coyote-experience-head span,.coyote-experience-head strong,.coyote-experience-head small{display:block}.coyote-experience-head span{font-size:10px;font-weight:900;letter-spacing:.18em;color:#6ae1d2}.coyote-experience-head strong{margin-top:5px;font-size:19px;color:#f2d08a}.coyote-experience-head small{margin-top:6px;color:#e0cfaf;font-size:11px;line-height:1.45}
.coyote-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.coyote-step-card{padding:11px 12px;border-radius:12px;border:1px solid rgba(202,156,98,.26);background:linear-gradient(180deg,rgba(18,19,17,.86),rgba(30,23,18,.92));box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.coyote-step-card b{display:block;font-size:10px;letter-spacing:.14em;color:#f1deb1}.coyote-step-card small{display:block;margin-top:4px;font-size:10px;line-height:1.45;color:#cfc2a5}
.coyote-reward-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.coyote-reward-strip b{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:999px;background:rgba(99,225,212,.10);border:1px solid rgba(99,225,212,.34);color:#d8fff7;font-size:10px;letter-spacing:.08em}
.coyote-contract-traits{margin-top:12px}.coyote-contract-traits span{background:rgba(201,157,97,.10)!important;border-color:rgba(201,157,97,.26)!important;color:#f3ddb6!important}
.coyote-bio-note{margin-top:12px;padding:10px 12px;border-left:3px solid #67d8c9;border-radius:10px;background:rgba(9,14,14,.7);color:#e4d4b1;font-size:10px;line-height:1.5}
@media(max-width:640px){.coyote-step-grid{grid-template-columns:1fr}.coyote-experience-head strong{font-size:17px}}

/* v4.2.8o — Jimmie / Coyote Run dice cinematic */
#hustle2d6Overlay.coyote-cinematic-roll{background:radial-gradient(circle at 28% 24%,rgba(80,204,190,.18),transparent 34%),linear-gradient(180deg,rgba(12,8,5,.58),rgba(2,5,5,.96)),url('./assets/characters/jimmie-coyote.svg') center/cover no-repeat;backdrop-filter:blur(3px)}
#hustle2d6Overlay.coyote-cinematic-roll .hustle-roll-stage{width:min(92vw,620px);padding:16px 18px 20px;border-color:#c89d61;background:linear-gradient(155deg,rgba(26,18,12,.96),rgba(7,13,13,.96) 75%);box-shadow:0 32px 88px rgba(0,0,0,.76),0 0 48px rgba(103,224,210,.12);overflow:hidden}
.coyote-roll-hero{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:stretch;margin:-4px -4px 14px;padding:8px;border-radius:15px;border:1px solid rgba(200,157,97,.32);background:linear-gradient(90deg,rgba(62,42,28,.92),rgba(8,16,16,.88));text-align:left}
.coyote-roll-photo{min-height:100px;border-radius:11px;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.26)),url('./assets/characters/jimmie-coyote.svg') 25% 30%/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.coyote-roll-copy{align-self:center}.coyote-roll-copy span{display:block;color:#6fe1d5;font:950 8px/1 Arial,sans-serif;letter-spacing:.19em}.coyote-roll-copy strong{display:block;margin:6px 0;color:#f3d697;font:950 22px/1.05 Georgia,serif}.coyote-roll-copy small{display:block;color:#d0c1a0;font:800 9px/1.35 Arial,sans-serif;letter-spacing:.04em}
#hustle2d6Overlay.coyote-cinematic-roll .hustle-roll-total{min-height:38px;display:grid;place-items:center;margin:4px auto 0;padding:9px 12px;border-radius:12px;border:1px solid rgba(111,225,213,.22);background:rgba(5,13,13,.72);color:#f5e3b8;font-size:13px;line-height:1.25}
.coyote-roll-verdict{min-height:0;margin-top:8px;transition:all .25s ease}.coyote-roll-verdict:empty{display:none}.coyote-roll-verdict span,.coyote-roll-verdict strong{display:block}.coyote-roll-verdict span{color:#6fe1d5;font:950 8px/1 Arial,sans-serif;letter-spacing:.18em}.coyote-roll-verdict strong{margin-top:5px;color:#f0d9a4;font:850 13px/1.4 Georgia,serif}
#hustle2d6Overlay.coyote-cinematic-roll.coyote-legendary .hustle-roll-stage{border-color:#ffe08a;box-shadow:0 32px 88px rgba(0,0,0,.76),0 0 55px rgba(255,217,115,.22)}
#hustle2d6Overlay.coyote-cinematic-roll.coyote-great .hustle-roll-stage,#hustle2d6Overlay.coyote-cinematic-roll.coyote-pass .hustle-roll-stage{border-color:#62dccf}
#hustle2d6Overlay.coyote-cinematic-roll.coyote-narrow .hustle-roll-stage{border-color:#d6b55f}
#hustle2d6Overlay.coyote-cinematic-roll.coyote-fail .hustle-roll-stage{border-color:#b9654e;background:linear-gradient(155deg,rgba(45,21,16,.97),rgba(8,10,9,.97) 78%)}
#hustle2d6Overlay.coyote-cinematic-roll .hustle-manual-roll{background:linear-gradient(180deg,#63ddd0,#249c94);border-bottom-color:#0b4a47;box-shadow:0 8px 22px rgba(43,188,176,.18)}
.coyote-qualified-result,.coyote-failed-result{border-width:2px!important}.coyote-qualified-result{box-shadow:0 14px 32px rgba(58,206,177,.10)}.coyote-failed-result{box-shadow:0 14px 32px rgba(190,82,61,.10)}
@media(max-width:640px){#hustle2d6Overlay.coyote-cinematic-roll .hustle-roll-stage{width:min(94vw,540px);padding:11px 12px 15px}.coyote-roll-hero{grid-template-columns:84px 1fr;margin:0 0 10px}.coyote-roll-photo{min-height:84px}.coyote-roll-copy strong{font-size:17px}.coyote-roll-copy small{font-size:8px}.coyote-roll-verdict strong{font-size:11px}}


/* ============================================================
   BORDER RUN v4.2.8p — SCREENSHOT HOTFIX
   Clean physical hustle dice + one properly framed Don cinematic.
   ============================================================ */
/* The shop/finish variant classes are intentionally not used on the solid die shell.
   Guarantee there is never a rectangular preview swatch behind a physical die. */
#hustle2d6Overlay .hustle-solid-die{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#hustle2d6Overlay .hustle-solid-die:before,
#hustle2d6Overlay .hustle-solid-die:after{
  content:none!important;
  display:none!important;
}
#hustle2d6Overlay .hustle-solid-die .hsd-face{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}

/* Show Dominity's face/upper body rather than a chest crop. */
.character-cinematic-persona.dominity .character-cinematic-scene{
  background-size:148% auto!important;
  background-position:34% 12%!important;
}
/* The approved original art contains legacy tutorial copy in its upper-right quadrant.
   Mask only that legacy copy area in cinematic encounters; no speech/talk bubbles appear. */
.character-cinematic-persona.dominity .character-cinematic-art:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  top:0!important;
  right:0!important;
  width:38%!important;
  height:43%!important;
  pointer-events:none!important;
  background:linear-gradient(135deg,rgba(7,10,10,.96) 0%,rgba(7,10,10,.88) 48%,rgba(7,10,10,.52) 76%,rgba(7,10,10,0) 100%)!important;
}
.character-cinematic-persona.dominity .character-cinematic-stamp{z-index:3!important}
@media(max-width:760px){
  .character-cinematic-persona.dominity .character-cinematic-art{min-height:260px!important}
  .character-cinematic-persona.dominity .character-cinematic-scene{
    background-size:154% auto!important;
    background-position:33% 10%!important;
  }
  .character-cinematic-persona.dominity .character-cinematic-art:after{
    width:40%!important;
    height:44%!important;
  }
}
@media(max-width:430px){
  .character-cinematic-persona.dominity .character-cinematic-art{min-height:245px!important}
  .character-cinematic-persona.dominity .character-cinematic-scene{
    background-size:160% auto!important;
    background-position:32% 9%!important;
  }
}

/* iPhone portrait: reserve a real top chrome lane for the global Back/Menu controls.
   Do not allow tall character modals to begin underneath the OS status bar. */
@media(max-width:760px) and (orientation:portrait){
  .modal{
    place-items:start center!important;
    padding-top:max(64px,calc(env(safe-area-inset-top,0px) + 54px))!important;
    padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
  }
  .modal-card{
    max-height:calc(100dvh - max(74px,calc(env(safe-area-inset-top,0px) + 62px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;
  }
  .br-global-menu-launcher,
  .br-board-back-launcher{
    top:max(8px,calc(env(safe-area-inset-top,0px) + 6px))!important;
  }
}

/* ============================================================
   BORDER RUN v4.2.8zo — PERSISTENT PIECE PLANES / ZERO FLASH
   ============================================================ */
/* The board, compact pawn, table pawn and bottom navigation now retain their
   decoded image nodes between ordinary renders. These rules also neutralize
   every remaining legacy animation hook in each persistent display context. */
.lr-master-player-piece:not(.master-moving),
.lr-master-player-piece:not(.master-moving) *,
.map-node .vehicle-pawn[data-player-pawn="1"],
.map-node .vehicle-pawn[data-player-pawn="1"] *,
#tablePawnArt,#tablePawnArt *,
.live-vehicle-nav-piece,.live-vehicle-nav-piece *{
  animation:none!important;transition:none!important;
}
.lr-master-player-piece:not(.master-moving)::before,
.lr-master-player-piece:not(.master-moving)::after,
.lr-master-player-piece:not(.master-moving) *::before,
.lr-master-player-piece:not(.master-moving) *::after,
.map-node .vehicle-pawn[data-player-pawn="1"]::before,
.map-node .vehicle-pawn[data-player-pawn="1"]::after,
.map-node .vehicle-pawn[data-player-pawn="1"] *::before,
.map-node .vehicle-pawn[data-player-pawn="1"] *::after,
#tablePawnArt *::before,#tablePawnArt *::after,
.live-vehicle-nav-piece *::before,.live-vehicle-nav-piece *::after{
  animation:none!important;transition:none!important;
}
.lr-master-player-piece .photoreal-piece-v4 .piece-3d-motion::before,
.lr-master-player-piece .photoreal-piece-v4 .piece-3d-motion::after,
.map-node .vehicle-pawn[data-player-pawn="1"] .photoreal-piece-v4 .piece-3d-motion::before,
.map-node .vehicle-pawn[data-player-pawn="1"] .photoreal-piece-v4 .piece-3d-motion::after,
#tablePawnArt .photoreal-piece-v4 .piece-3d-motion::before,
#tablePawnArt .photoreal-piece-v4 .piece-3d-motion::after,
.live-vehicle-nav-piece .photoreal-piece-v4 .piece-3d-motion::before,
.live-vehicle-nav-piece .photoreal-piece-v4 .piece-3d-motion::after{
  content:none!important;display:none!important;background:none!important;
}
.lr-master-player-piece .photoreal-piece-v4 .piece-3d-motion>img,
.map-node .vehicle-pawn[data-player-pawn="1"] .photoreal-piece-v4 .piece-3d-motion>img,
#tablePawnArt .photoreal-piece-v4 .piece-3d-motion>img,
.live-vehicle-nav-piece .photoreal-piece-v4 .piece-3d-motion>img{
  display:block!important;visibility:visible!important;opacity:1!important;
}
.live-vehicle-nav-piece .piece-clearcoat,
.live-vehicle-nav-piece .piece-engine-glow,
.live-vehicle-nav-piece .render-paint-layer,
#tablePawnArt .piece-clearcoat{animation:none!important;transition:none!important}

/* ============================================================
   BORDER RUN v4.2.8q — PORTRAIT CITY SCROLL + TRUE FULL-SCREEN LANDSCAPE
   - Selected city/info panels are real vertical touch scroll surfaces.
   - Landscape play fills the entire available viewport; no 16:9 letterbox.
   ============================================================ */
@media (orientation:portrait){
  body.portrait-reference-live .lr-context-overlay-stack{
    overflow-x:auto!important;
    overflow-y:visible!important;
    overscroll-behavior-x:contain!important;
    scroll-snap-type:x proximity!important;
    touch-action:pan-x!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-context-panel{
    min-height:0!important;
    max-height:40dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(101,215,204,.72) rgba(255,255,255,.06)!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-context-panel.city:not([hidden]){
    height:min(40dvh,440px)!important;
    max-height:min(40dvh,440px)!important;
    display:block!important;
    overflow-y:scroll!important;
    scroll-behavior:smooth!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-context-panel::-webkit-scrollbar{width:5px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-context-panel::-webkit-scrollbar-track{background:rgba(255,255,255,.05)!important;border-radius:99px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-context-panel::-webkit-scrollbar-thumb{background:rgba(101,215,204,.72)!important;border-radius:99px!important}
}

@media (orientation:landscape){
  html,body{width:100%!important;height:100%!important;min-height:100%!important;overflow:hidden!important}
  body.landscape-reference-live{
    position:fixed!important;
    inset:0!important;
    width:100dvw!important;
    height:100dvh!important;
    min-width:100dvw!important;
    min-height:100dvh!important;
    display:block!important;
    place-items:unset!important;
    margin:0!important;
    padding:0!important;
    background:#020404!important;
    overflow:hidden!important;
  }
  body.landscape-reference-live .app-shell{
    position:fixed!important;
    inset:0!important;
    width:100dvw!important;
    height:100dvh!important;
    min-width:100dvw!important;
    min-height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    display:block!important;
    overflow:hidden!important;
  }
  body.landscape-reference-live #landscapeReferenceShell{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    margin:0!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
  body.landscape-reference-live .lr-tutorial-card{
    left:.7vw!important;
    bottom:18.7vh!important;
    width:18.6vw!important;
    height:19.2vh!important;
  }
}


/* ============================================================
   BORDER RUN v4.2.8r — ALWAYS-ACTION ROLL / STABLE MICROBUS / DON AUDIENCE
   ============================================================ */
.lr-primary-roll,
#sideRollBtn{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  pointer-events:auto!important;
  user-select:none!important;
}
.lr-primary-roll.roll-waiting,
#sideRollBtn.roll-waiting{
  opacity:.92!important;
  filter:none!important;
}
.lr-primary-roll[aria-disabled="false"],
#sideRollBtn[aria-disabled="false"]{cursor:pointer!important}
.roll-router-attention{
  animation:rollRouterAttention .9s ease both!important;
  outline:3px solid rgba(92,225,211,.72)!important;
  outline-offset:3px!important;
  position:relative!important;
  z-index:9999!important;
}
@keyframes rollRouterAttention{
  0%,100%{transform:scale(1)}
  35%{transform:scale(1.045);box-shadow:0 0 0 0 rgba(91,224,210,.52)}
  70%{transform:scale(1);box-shadow:0 0 0 14px rgba(91,224,210,0)}
}

/* Bundled vehicle assets are authoritative from first paint. Do not flash to
   the old generic miniature while an image onload event catches up. */
.ride-render.token-3d.board-game-piece .piece-3d-motion.piece-bundled-asset .piece-fallback-vehicle,
.ride-render.token-3d.board-game-piece.ride-microbus .piece-fallback-vehicle{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.ride-render.token-3d.board-game-piece.ride-microbus .piece-3d-motion,
.ride-render.token-3d.board-game-piece.ride-microbus .piece-3d-motion:before,
.ride-render.token-3d.board-game-piece.ride-microbus .piece-3d-motion:after{
  background-image:var(--piece-image)!important;
}
.ride-render.token-3d.board-game-piece.ride-microbus .piece-3d-motion>img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* The Don button is informational unless Dominity Storm has actually called. */
.pr-legal.dominity.calling{
  border-color:rgba(224,178,72,.86)!important;
  box-shadow:0 0 0 1px rgba(224,178,72,.24) inset,0 0 18px rgba(224,178,72,.18)!important;
  animation:donCallingPulse 1.4s ease-in-out infinite alternate;
}
.pr-legal.dominity.calling span{color:#f3d27c!important}
@keyframes donCallingPulse{
  from{filter:brightness(1)}
  to{filter:brightness(1.18)}
}
.dominity-audience-rule{
  margin:10px 0 12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(211,172,76,.28);
  border-left:4px solid #d3ac4c;
  background:linear-gradient(145deg,rgba(34,27,15,.88),rgba(8,11,10,.94));
}
.dominity-audience-rule b,
.dominity-audience-rule span{display:block}
.dominity-audience-rule b{
  color:#f0d58d;
  font:900 10px/1.2 Arial,sans-serif;
  letter-spacing:.14em;
}
.dominity-audience-rule span{
  margin-top:5px;
  color:#cfc2a2;
  font:700 10px/1.45 Arial,sans-serif;
}
.dominity-mission-card{
  margin:12px 0;
  padding:13px;
  border-radius:14px;
  border:1px solid rgba(211,172,76,.32);
  background:linear-gradient(155deg,rgba(29,24,15,.96),rgba(8,12,11,.96));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 10px 24px rgba(0,0,0,.26);
}
.dominity-mission-card span,
.dominity-mission-card strong,
.dominity-mission-card small,
.dominity-mission-card b,
.dominity-mission-card em{display:block}
.dominity-mission-card span{
  color:#69d7cb;
  font:900 9px/1 Arial,sans-serif;
  letter-spacing:.16em;
}
.dominity-mission-card strong{
  margin-top:6px;
  color:#f0d58d;
  font:900 20px/1.08 Georgia,serif;
}
.dominity-mission-card small{
  margin-top:7px;
  color:#d3c5a4;
  font:700 10px/1.45 Arial,sans-serif;
}
.dominity-mission-progress{
  height:8px;
  margin-top:11px;
  overflow:hidden;
  border-radius:99px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.06);
}
.dominity-mission-progress i{
  display:block;
  height:100%;
  border-radius:99px;
  background:linear-gradient(90deg,#67502a,#d9ad4c,#71d8cc);
}
.dominity-mission-card b{
  margin-top:7px;
  color:#f2e2b8;
  font:900 9px/1.2 Arial,sans-serif;
  letter-spacing:.08em;
}
.dominity-mission-card em{
  margin-top:5px;
  color:#9fc9bc;
  font:800 9px/1.35 Arial,sans-serif;
  font-style:normal;
}
.dominity-mission-card.complete{
  border-color:rgba(94,211,195,.54);
  box-shadow:0 0 22px rgba(94,211,195,.08),inset 0 0 0 1px rgba(94,211,195,.06);
}
.dominity-mission-card.empty{opacity:.9}
body.landscape-reference-live .lr-primary-roll.roll-waiting,
body.portrait-reference-live .lr-primary-roll.roll-waiting{opacity:.92!important;filter:none!important;pointer-events:auto!important}
body.landscape-reference-live .lr-primary-roll,
body.portrait-reference-live .lr-primary-roll{pointer-events:auto!important;touch-action:manipulation!important}

/* BORDER RUN v4.2.8u — POST-SALE HEADING CHOICE */
.empty-heading-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.empty-heading-choice>div{min-width:0;padding:15px 13px;border-radius:16px;border:1px solid rgba(215,178,86,.34);background:linear-gradient(145deg,rgba(4,19,18,.98),rgba(11,13,12,.98));box-shadow:inset 0 0 22px rgba(72,201,190,.04)}
.empty-heading-choice span{display:block;color:#54d8cf;font:1000 30px/1 Arial,sans-serif;margin-bottom:7px}.empty-heading-choice strong{display:block;color:#f1d892;font:1000 20px/1 Georgia,serif;letter-spacing:.06em}.empty-heading-choice small{display:block;margin-top:8px;color:#d4c9aa;font:800 11px/1.45 Arial,sans-serif}
@media(max-width:520px){.empty-heading-choice{grid-template-columns:1fr}.empty-heading-choice>div{padding:12px}.empty-heading-choice span{font-size:24px}.empty-heading-choice strong{font-size:18px}}

/* ============================================================
   BORDER RUN v4.2.8v — HUSTLE DICE FIDELITY / GEOMETRY HOTFIX
   The hustle throw now uses the same true cube renderer as board dice.
   ============================================================ */
#hustle2d6Overlay .hustle-dice-pair.true-3d-pair{
  display:flex!important;justify-content:center!important;align-items:center!important;
  gap:22px!important;min-height:132px!important;margin:20px 0 14px!important;
  perspective:1000px!important;-webkit-perspective:1000px!important;
}
#hustle2d6Overlay .hustle-dice-pair.true-3d-pair .hustle-dice-flight{
  position:relative!important;width:112px!important;height:112px!important;
  display:grid!important;place-items:center!important;perspective:780px!important;-webkit-perspective:780px!important;
  transform:none!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
}
#hustle2d6Overlay .hustle-dice-pair.true-3d-pair .die-cube3d.br3d-holder{
  --die-size:92px!important;--die-half:46px!important;
  width:var(--die-size)!important;height:var(--die-size)!important;
  transform:none!important;transform-origin:50% 50%!important;
}
#hustle2d6Overlay .hustle-dice-pair.true-3d-pair .br3d-spin-shell{
  width:var(--die-size)!important;height:var(--die-size)!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
}
#hustle2d6Overlay .hustle-dice-pair.true-3d-pair .hustle-dice-flight-a .die-cube3d,
#hustle2d6Overlay .hustle-dice-pair.true-3d-pair .hustle-dice-flight-b .die-cube3d{
  width:92px!important;height:92px!important;min-width:92px!important;min-height:92px!important;max-width:92px!important;max-height:92px!important;
}
#hustle2d6Overlay.rolling .hustle-dice-pair.true-3d-pair .hustle-dice-flight-a .br3d-spin-shell{animation:v423tCubeA 1.32s cubic-bezier(.12,.64,.18,1) both!important}
#hustle2d6Overlay.rolling .hustle-dice-pair.true-3d-pair .hustle-dice-flight-b .br3d-spin-shell{animation:v423tCubeB 1.32s cubic-bezier(.12,.64,.18,1) both!important}
#hustle2d6Overlay.landed .hustle-dice-pair.true-3d-pair .hustle-dice-flight-a .br3d-spin-shell{animation:v423tImpactA .30s cubic-bezier(.18,.78,.22,1) both!important}
#hustle2d6Overlay.landed .hustle-dice-pair.true-3d-pair .hustle-dice-flight-b .br3d-spin-shell{animation:v423tImpactB .30s cubic-bezier(.18,.78,.22,1) both!important}

/* Result dice retain the exact equipped palette instead of reverting to gold Unicode dice. */
.hustle-result-dice .hustle-result-die{
  position:relative!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important;
  width:48px!important;height:48px!important;padding:7px!important;box-sizing:border-box!important;
  border:2px solid var(--br-die-edge)!important;border-radius:10px!important;background:var(--br-die-surface)!important;
  color:transparent!important;font-size:0!important;animation:none!important;transform:none!important;
  box-shadow:inset 7px 7px 10px rgba(255,255,255,.20),inset -8px -8px 12px rgba(0,0,0,.25),0 8px 14px rgba(0,0,0,.32)!important;
}
.hustle-result-dice .hustle-result-die i{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--br-die-pip)!important;place-self:center!important;box-shadow:0 1px 2px rgba(0,0,0,.28)!important}
.hustle-result-dice .hustle-result-die i.p1{grid-area:1/1}.hustle-result-dice .hustle-result-die i.p3{grid-area:1/3}.hustle-result-dice .hustle-result-die i.p4{grid-area:2/1}.hustle-result-dice .hustle-result-die i.p5{grid-area:2/2}.hustle-result-dice .hustle-result-die i.p6{grid-area:2/3}.hustle-result-dice .hustle-result-die i.p7{grid-area:3/1}.hustle-result-dice .hustle-result-die i.p9{grid-area:3/3}
.hustle-result-dice .hustle-result-die.dice-finish-effect-gloss{filter:saturate(1.08) contrast(1.04) brightness(1.04)}
.hustle-result-dice .hustle-result-die.dice-finish-effect-matte{filter:saturate(.9) contrast(.98) brightness(.94)}
.hustle-result-dice .hustle-result-die.dice-finish-effect-metallic{filter:saturate(1.14) contrast(1.08) brightness(1.03)}
@media(max-width:560px){
  #hustle2d6Overlay .hustle-dice-pair.true-3d-pair{gap:12px!important;min-height:108px!important;margin:12px 0 9px!important}
  #hustle2d6Overlay .hustle-dice-pair.true-3d-pair .hustle-dice-flight{width:90px!important;height:90px!important}
  #hustle2d6Overlay .hustle-dice-pair.true-3d-pair .die-cube3d.br3d-holder{--die-size:74px!important;--die-half:37px!important;width:74px!important;height:74px!important;min-width:74px!important;min-height:74px!important;max-width:74px!important;max-height:74px!important}
}


/* ============================================================
   BORDER RUN v4.2.8x — MULTIPLAYER / DON / MAP / HUD REPAIR
   ============================================================ */
/* The map itself is now cleaned; legacy cover patches caused visible black blocks. */
.lr-map-cleanup-patch,.pr-map-fix-baja,.lr-context-clear,.lr-achievement-mask{display:none!important}

/* Stationary pieces stay stationary. Touch hover must never leave them pulsing. */
.lr-master-player-piece:not(.master-moving) .piece-3d-motion,
.lr-master-remote-piece .piece-3d-motion,
.vehicle-pawn.remote-party-pawn .piece-3d-motion{animation:none!important;transition:none!important}
.lr-master-player-piece:not(.master-moving) .piece-clearcoat,
.lr-master-remote-piece .piece-clearcoat{animation:none!important}
@media (hover:none),(pointer:coarse){
  .lr-master-player-piece:hover .ride-render.token-3d.board-game-piece .piece-3d-motion{transform:perspective(340px) rotateX(calc(-7deg + var(--piece-pitch,0deg))) rotateY(var(--piece-yaw,-7deg)) translateZ(13px)!important}
}

/* Remote pieces must remain visible on Android WebView/Chrome. */
body.portrait-reference-live .lr-master-remote-piece,body.landscape-reference-live .lr-master-remote-piece{display:block!important;visibility:visible!important;opacity:1!important;z-index:92!important}
body.portrait-reference-live .lr-master-remote-piece .ride-render,body.landscape-reference-live .lr-master-remote-piece .ride-render,
body.portrait-reference-live .lr-master-remote-piece .tokin-game-piece,body.landscape-reference-live .lr-master-remote-piece .tokin-game-piece{display:block!important;visibility:visible!important;opacity:1!important}

/* Clean, centered landscape top row with a permanent Don control. */
body.landscape-reference-live .pr-brand{width:220px!important;align-items:center!important;text-align:center!important;padding:0 10px!important}
body.landscape-reference-live .pr-brand strong,body.landscape-reference-live .pr-brand span{width:100%!important;text-align:center!important}
body.landscape-reference-live .artwork-master-renderer .lr-telemetry{left:238px!important;right:242px!important}
body.landscape-reference-live .pr-top-actions{display:grid!important;grid-template-columns:repeat(4,48px)!important;gap:6px!important}
.pr-top-actions .top-don{display:grid!important;grid-template-rows:auto auto!important;place-items:center!important;align-content:center!important;gap:1px!important;border-color:rgba(73,137,255,.55)!important;background:linear-gradient(180deg,#0b2b58,#061326)!important}
.pr-top-actions .top-don b{font:900 19px/1 Georgia,serif!important;color:#e6c66e!important}
.pr-top-actions .top-don small{font:900 7px/1 Arial,sans-serif!important;letter-spacing:.12em!important;color:#a8c5ff!important}

/* Portrait Don card is always contained and readable. */
body.portrait-reference-live .pr-legal.dominity{overflow:hidden!important;text-align:center!important;justify-items:center!important}
body.portrait-reference-live .pr-legal.dominity b{max-width:100%!important;font-size:9px!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.portrait-reference-live .pr-legal.dominity span{max-width:100%!important;font-size:12px!important;overflow:hidden!important;text-overflow:clip!important}

/* Original Dominity Storm treatment with a genuinely clean image—no baked dialogue block. */
.character-cinematic-persona.dominity{grid-template-columns:minmax(300px,56%) minmax(220px,44%)!important;border-color:#c79b43!important;background:linear-gradient(135deg,#0b0d0d,#151007)!important}
.character-cinematic-persona.dominity .character-cinematic-art{min-height:340px!important;border-radius:13px!important;overflow:hidden!important}
.character-cinematic-persona.dominity .character-cinematic-scene{background-image:url('./assets/characters/dominity-storm-clean.webp')!important;background-size:cover!important;background-position:50% 34%!important;filter:saturate(1.05) contrast(1.04)!important}
.character-cinematic-persona.dominity .character-cinematic-art:after{content:none!important;display:none!important}
.character-cinematic-persona.dominity .character-cinematic-shade{background:linear-gradient(90deg,transparent 62%,rgba(5,8,8,.72) 100%)!important}
.character-cinematic-persona.dominity .character-cinematic-stamp{left:14px!important;right:auto!important;top:14px!important;background:rgba(4,7,8,.78)!important;border:1px solid rgba(214,175,93,.45)!important;color:#ecd38a!important}
@media(max-width:760px){
  .character-cinematic-persona.dominity{grid-template-columns:1fr!important}
  .character-cinematic-persona.dominity .character-cinematic-art{min-height:255px!important}
  .character-cinematic-persona.dominity .character-cinematic-scene{background-size:cover!important;background-position:50% 30%!important}
}


/* ============================================================
   BORDER RUN v4.2.8y — DON PORTRAIT / PRE-ROLL ALERT / PARTY JOIN
   ============================================================ */
/* A fresh asset URL prevents old service-worker/browser image caches from
   resurrecting the legacy speech-bubble artwork. */
.character-cinematic-persona.dominity .character-cinematic-scene{
  background-image:url('./assets/characters/dominity-storm-clean-v2.webp')!important;
}

/* Portrait Don audience: reserve a safe chrome lane for Back/Menu, then show the
   entire approved original Don composition rather than a chest crop. */
@media(max-width:760px){
  body.portrait-reference-live .modal-card.dominity-modal{
    padding-top:max(78px,calc(env(safe-area-inset-top,0px) + 62px))!important;
  }
  body.portrait-reference-live .modal-card.dominity-modal #modalKicker,
  body.portrait-reference-live .modal-card.dominity-modal #modalTitle,
  body.portrait-reference-live .modal-card.dominity-modal #modalBody{
    position:relative!important;z-index:2!important;
  }
  .character-cinematic-persona.dominity{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:8px!important;
  }
  .character-cinematic-persona.dominity .character-cinematic-art{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:545/455!important;
    background:#050808!important;
    border-radius:14px!important;
    border:1px solid rgba(211,171,87,.42)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.42)!important;
  }
  .character-cinematic-persona.dominity .character-cinematic-scene{
    inset:0!important;
    background-image:url('./assets/characters/dominity-storm-clean-v2.webp')!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    filter:saturate(1.04) contrast(1.03)!important;
  }
  .character-cinematic-persona.dominity .character-cinematic-shade{
    background:linear-gradient(180deg,transparent 74%,rgba(3,7,7,.56) 100%)!important;
  }
  .character-cinematic-persona.dominity .character-cinematic-art:after{
    content:none!important;display:none!important;
  }
  .character-cinematic-persona.dominity .character-cinematic-stamp{
    top:9px!important;left:9px!important;right:auto!important;
    font-size:7px!important;padding:5px 7px!important;
  }
  .character-cinematic-persona.dominity .character-cinematic-copy{
    padding:8px 7px 10px!important;
  }
  .character-cinematic-persona.dominity .character-cinematic-copy>strong{
    font-size:clamp(24px,7vw,34px)!important;line-height:1!important;
  }
}

/* The red requirement bar is controlled by attempted-roll state in JS. When
   hidden it must be completely inert so it cannot flash during normal setup. */
.pre-roll-requirement-notice.hidden{display:none!important;pointer-events:none!important}

/* Mobile online-room inputs must own their tap/caret behavior instead of the
   surrounding scroll surface stealing it. */
.online-party-form,.online-party-form label{pointer-events:auto!important}
.online-party-form input,.online-room-code-input{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-user-select:text!important;
  user-select:text!important;
  caret-color:#63e4d9!important;
  position:relative!important;
  z-index:4!important;
}
.online-room-code-input{
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font-size:18px!important;
}
@media(max-width:560px){
  .online-party-form{gap:10px!important}
  .online-party-form input,.online-room-code-input{min-height:52px!important;font-size:17px!important}
}


/* ============================================================
   BORDER RUN v4.2.8z — PINCH-ZOOM SUBMENUS + READABLE MANUAL
   Menu zoom is independent from the board/map camera.
   ============================================================ */
.modal{overflow:auto!important;touch-action:pan-x pan-y!important;overscroll-behavior:contain!important}
.modal-card{
  --submenu-zoom:1;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  touch-action:pan-x pan-y!important;
  scrollbar-gutter:stable both-edges;
}
.submenu-zoom-surface{
  display:block;width:100%;min-width:100%;
  zoom:var(--submenu-zoom,1);
  transform-origin:top left;
  touch-action:pan-x pan-y!important;
}
.modal-card.submenu-pinching,.modal-card.submenu-pinching .submenu-zoom-surface{scroll-behavior:auto!important}
.modal-card.submenu-zoomed{overflow-x:auto!important;overflow-y:auto!important}
.modal-card.submenu-zoomed #modalExtra,.modal-card.submenu-zoomed .instruction-manual-viewer{overflow:visible!important}
/* Do not let the board underneath consume a two-finger submenu gesture. */
body.modal-open .tabletop-board,body.modal-open #lrMapHost{pointer-events:none!important}
/* Manual: preserve the full-resolution page art and allow two-axis reading when enlarged. */
#modalCard[data-kicker="INSTRUCTION MANUAL"]{overflow:auto!important;touch-action:pan-x pan-y!important}
#modalCard[data-kicker="INSTRUCTION MANUAL"] #modalExtra{overflow:visible!important;touch-action:pan-x pan-y!important}
#modalCard[data-kicker="INSTRUCTION MANUAL"] .instruction-manual-viewer{width:100%;min-width:100%}
.manual-zoom-help{display:grid;gap:3px;margin:0 4px 10px;padding:9px 11px;border:1px solid rgba(83,208,196,.42);border-radius:9px;background:#10201c;color:#e9d9ac}
.manual-zoom-help strong{font:950 10px/1 Arial,sans-serif;letter-spacing:.16em;color:#58d4c8}
.manual-zoom-help span{font:800 10px/1.35 Arial,sans-serif;color:#e4d7b5}
.manual-page{max-width:none!important}
.manual-page img{width:100%!important;max-width:none!important;height:auto!important;image-rendering:auto;touch-action:pan-x pan-y!important}
@media(max-width:560px){
  #modalCard[data-kicker="INSTRUCTION MANUAL"]{width:calc(100vw - 8px)!important;padding-left:10px!important;padding-right:10px!important}
  .manual-zoom-help{margin-left:0;margin-right:0}.manual-zoom-help span{font-size:9px}
}

/* ============================================================
   BORDER RUN v4.2.8za — DON PORTRAIT ASSET + FRAMING REPAIR
   The clean Don artwork is a real image element in both entry points. This
   avoids mobile background-image loss and permanently removes the tutorial
   artwork whose speech bubble was baked into its pixels.
   ============================================================ */
.don-invitation-photo{
  display:grid!important;
  place-items:center!important;
  min-height:0!important;
  aspect-ratio:545/455!important;
  padding:0!important;
  overflow:hidden!important;
  background:#030707!important;
  border:1px solid rgba(211,171,87,.46)!important;
  border-radius:14px!important;
}
.don-invitation-photo:before,.don-invitation-photo:after{content:none!important;display:none!important}
.don-invitation-photo>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.character-cinematic-persona.dominity .character-cinematic-art{
  display:block!important;
  min-height:0!important;
  aspect-ratio:545/455!important;
  background:#030707!important;
}
.character-cinematic-persona.dominity .character-cinematic-scene-image{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:saturate(1.04) contrast(1.03)!important;
  background:none!important;
}
.character-cinematic-persona.dominity .character-cinematic-shade{
  background:linear-gradient(180deg,transparent 78%,rgba(3,7,7,.42) 100%)!important;
}
.character-cinematic-persona.dominity .character-cinematic-art:after{content:none!important;display:none!important}
@media(max-width:760px){
  .don-invitation-card{grid-template-columns:1fr!important;gap:10px!important}
  .don-invitation-photo{width:100%!important;min-height:0!important;aspect-ratio:545/455!important}
  .character-cinematic-persona.dominity{grid-template-columns:1fr!important}
  .character-cinematic-persona.dominity .character-cinematic-art{width:100%!important;min-height:0!important;aspect-ratio:545/455!important}
}

/* ============================================================
   BORDER RUN v4.2.8zb — RESULTS LIVE ON PLAYER DICE
   Party broadcasts use the selected dice material with the result pips drawn
   directly on each die. Hustle dice use sealed geometry on mobile so WebKit
   cannot flatten six cube faces into loose panels.
   ============================================================ */
.party-dice-broadcast-pair>div.party-die-card{
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:8px!important;
}
.party-dice-broadcast-pair .party-roll-die{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  grid-template-rows:repeat(3,1fr)!important;
  width:62px!important;
  height:62px!important;
  padding:9px!important;
  box-sizing:border-box!important;
  border:2px solid var(--br-die-edge)!important;
  border-radius:13px!important;
  background:var(--br-die-surface)!important;
  color:transparent!important;
  font-size:0!important;
  transform:none!important;
  overflow:hidden!important;
  box-shadow:inset 8px 8px 12px rgba(255,255,255,.22),inset -9px -9px 13px rgba(0,0,0,.28),0 8px 15px rgba(0,0,0,.42)!important;
}
.party-dice-broadcast-pair .party-roll-die i{
  display:block!important;
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:var(--br-die-pip)!important;
  place-self:center!important;
  box-shadow:0 1px 2px rgba(0,0,0,.35)!important;
}
.party-dice-broadcast-pair .party-roll-die i.p1{grid-area:1/1}.party-dice-broadcast-pair .party-roll-die i.p3{grid-area:1/3}.party-dice-broadcast-pair .party-roll-die i.p4{grid-area:2/1}.party-dice-broadcast-pair .party-roll-die i.p5{grid-area:2/2}.party-dice-broadcast-pair .party-roll-die i.p6{grid-area:2/3}.party-dice-broadcast-pair .party-roll-die i.p7{grid-area:3/1}.party-dice-broadcast-pair .party-roll-die i.p9{grid-area:3/3}
.party-dice-broadcast-pair .party-die-card>small{font-size:9px!important;line-height:1.25!important}
.party-dice-broadcast-pair .party-die-card>img,.party-dice-broadcast-pair .party-die-card>b{display:none!important}
#hustle2d6Overlay .hustle-dice-pair.solid-render{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  perspective:none!important;
  -webkit-perspective:none!important;
  transform-style:flat!important;
  -webkit-transform-style:flat!important;
}
#hustle2d6Overlay .hustle-dice-pair.solid-render .hustle-dice-flight,
#hustle2d6Overlay .hustle-dice-pair.solid-render .hustle-solid-die{
  transform-style:flat!important;
  -webkit-transform-style:flat!important;
}
#hustle2d6Overlay .hustle-dice-pair.solid-render .hustle-solid-die{display:block!important}
@media(max-width:520px){
  .party-dice-broadcast-pair>div.party-die-card{grid-template-columns:54px minmax(0,1fr)!important;gap:7px!important;padding:6px!important}
  .party-dice-broadcast-pair .party-roll-die{width:50px!important;height:50px!important;padding:7px!important;border-radius:11px!important}
  .party-dice-broadcast-pair .party-roll-die i{width:7px!important;height:7px!important}
  .party-dice-broadcast-pair .party-die-card>small{font-size:8px!important}
}

/* ============================================================
   BORDER RUN v4.2.8ze — PHOTOREAL VEHICLES + HYBRID 3D TOKINS
   ============================================================ */
.tokin-piece-render,
.locker-tokin-render,
.token-mini-render,
.splash-tokin-render,
.award-cannabis-leaf,
.confetti-cannabis-leaf{
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  max-width:none!important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.48))!important;
}
.token-skin>span .locker-tokin-render{width:56px!important;height:56px!important;margin:auto!important}
.token-mini .token-mini-render{width:20px!important;height:20px!important}
.rendered-3d-tokin{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.rendered-3d-tokin>.tokin-piece-render{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translateZ(10px)!important;
  filter:drop-shadow(0 8px 6px rgba(0,0,0,.58))!important;
  animation:renderedTokinIdle 3s ease-in-out infinite;
}
.rendered-3d-tokin>.tokin-shadow{
  position:absolute!important;
  left:15%!important;
  right:15%!important;
  bottom:4%!important;
  height:13%!important;
  border-radius:50%!important;
  background:rgba(0,0,0,.42)!important;
  filter:blur(3px)!important;
  z-index:-1!important;
}
.board-moving-piece .rendered-3d-tokin>.tokin-piece-render,
.lr-master-player-piece.master-moving .rendered-3d-tokin>.tokin-piece-render{animation:renderedTokinMove .32s ease-in-out infinite alternate!important}
@keyframes renderedTokinIdle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-2px) rotate(1deg)}}
@keyframes renderedTokinMove{from{transform:translateY(1px) rotate(-3deg)}to{transform:translateY(-3px) rotate(3deg)}}
.unlock-award-hero>span .award-cannabis-leaf{width:68px!important;height:68px!important}
.unlock-money-confetti .confetti-cannabis-leaf{width:1em!important;height:1em!important}
#actionSplashIcon .splash-tokin-render{width:.94em!important;height:.94em!important;margin:auto!important}
@media(max-width:520px){
  .unlock-award-hero>span .award-cannabis-leaf{width:62px!important;height:62px!important}
}

/* Every vehicle is now a complete transparent PBR render. The legacy synthetic
   chassis and wheel overlays would duplicate real geometry, so they stay off. */
.ride-render.photoreal-piece-v4 .piece-3d-motion>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:1px!important;
  transform:translateZ(13px) translateY(-3%) scale(.98)!important;
}
.ride-render.photoreal-piece-v4 .piece-chassis,
.ride-render.photoreal-piece-v4 .piece-wheel,
.ride-render.photoreal-piece-v4 .piece-depth,
.ride-render.photoreal-piece-v4 .piece-glass-plane{display:none!important}
.lr-master-player-piece .photoreal-piece-v4.lr-master-pawn,
.lr-master-remote-piece .photoreal-piece-v4.lr-master-remote-render{
  min-width:100%!important;
  min-height:100%!important;
  aspect-ratio:3/2!important;
}

/* ============================================================
   BORDER RUN v4.2.8zo — STEADY DIRECTIONAL PIECES + CLEAN HUD
   ============================================================ */
/* The occupied stop is only a hit target. The pawn itself supplies the visual
   location, eliminating the oversized cyan/gold rings beneath game pieces. */
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit.current{
  opacity:.01!important;background:transparent!important;outline:0!important;
  box-shadow:none!important;animation:none!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit.preview:not(.current){
  opacity:1!important;background:rgba(239,196,86,.07)!important;
  outline:1px solid rgba(239,196,86,.54)!important;box-shadow:none!important;
  animation:none!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:after{
  content:none!important;display:none!important;
}
.map-node.current .landmark-marker,.remote-party-halo{animation:none!important;transition:none!important}

/* Local and remote pawns occupy the same universal physical footprint. */
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece{
  width:clamp(76px,6.2vw,104px)!important;height:clamp(51px,4.15vw,70px)!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece{
  width:clamp(86px,23vw,104px)!important;height:clamp(58px,15.3vw,70px)!important;
}

/* The source renders face right. Route geometry sets a signed horizontal face
   and a restrained road-grade angle; only a real movement updates those vars. */
.lr-master-player-piece .ride-render.photoreal-piece-v4 .piece-3d-motion>img,
.lr-master-remote-piece .ride-render.photoreal-piece-v4 .piece-3d-motion>img{
  transform:translateZ(13px) translateY(-3%) rotateZ(var(--piece-travel-tilt,0deg)) scaleX(var(--piece-facing,1)) scale(.98)!important;
  transform-origin:50% 72%!important;
}
.lr-master-player-piece .ride-render.photoreal-piece-v4 .piece-3d-motion:before,
.lr-master-player-piece .ride-render.photoreal-piece-v4 .piece-3d-motion:after,
.lr-master-remote-piece .ride-render.photoreal-piece-v4 .piece-3d-motion:before,
.lr-master-remote-piece .ride-render.photoreal-piece-v4 .piece-3d-motion:after{display:none!important}
.lr-master-player-piece:not(.master-moving) .piece-3d-motion,
.lr-master-player-piece:not(.master-moving) .piece-clearcoat,
.lr-master-player-piece:not(.master-moving) .rendered-3d-tokin>.tokin-piece-render,
.lr-master-player-piece:not(.master-moving) .tokin-3d-rig,
.lr-master-remote-piece .piece-3d-motion,
.lr-master-remote-piece .piece-clearcoat,
.lr-master-remote-piece .rendered-3d-tokin>.tokin-piece-render,
.lr-master-remote-piece .tokin-3d-rig{
  animation:none!important;transition:none!important;
}

/* One compact global menu remains on every screen. The in-board duplicate is
   removed so it cannot cover cash, cargo, or legal-contact controls. */
.pr-top-actions [data-lr-top="menu"]{display:none!important}
.br-global-menu-launcher{
  top:max(7px,calc(env(safe-area-inset-top,0px) + 6px))!important;right:7px!important;
  min-width:40px!important;width:40px!important;height:44px!important;padding:0!important;
  border:1px solid rgba(74,221,211,.68)!important;border-radius:10px!important;
  background:rgba(5,27,26,.88)!important;color:#f2dfab!important;
  box-shadow:0 5px 13px rgba(0,0,0,.34)!important;backdrop-filter:blur(5px)!important;
}
.br-global-menu-launcher span{font-size:20px!important;line-height:1!important}
.br-global-menu-launcher b{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important}

/* Clean, clipped information tiles—no values or glow can bleed across a tile. */
body.landscape-reference-live .artwork-master-renderer .lr-metric,
body.portrait-reference-live .artwork-master-renderer .lr-metric{
  min-width:0!important;overflow:hidden!important;background:rgba(5,12,11,.96)!important;
  border:1px solid rgba(218,183,91,.27)!important;box-shadow:none!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-metric b,
body.landscape-reference-live .artwork-master-renderer .lr-metric span,
body.landscape-reference-live .artwork-master-renderer .lr-metric small,
body.portrait-reference-live .artwork-master-renderer .lr-metric b,
body.portrait-reference-live .artwork-master-renderer .lr-metric span,
body.portrait-reference-live .artwork-master-renderer .lr-metric small{
  max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  text-shadow:none!important;
}

@media (orientation:landscape){
  body.landscape-reference-live .pr-brand{left:8px!important;top:7px!important;width:210px!important;height:48px!important;padding:0 9px!important}
  body.landscape-reference-live .pr-brand strong{font-size:25px!important}
  body.landscape-reference-live .pr-top-actions{right:55px!important;top:7px!important;grid-template-columns:repeat(3,42px)!important;gap:5px!important}
  body.landscape-reference-live .pr-top-actions button{width:42px!important;height:48px!important;font-size:18px!important}
  body.landscape-reference-live .artwork-master-renderer .lr-telemetry{
    left:226px!important;right:198px!important;top:7px!important;width:auto!important;height:48px!important;
    grid-template-columns:1fr 1.35fr 1fr .86fr!important;gap:5px!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-metric{height:48px!important;padding:5px 8px!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;gap:2px!important;align-content:center!important}
  body.landscape-reference-live .artwork-master-renderer .lr-metric b{font-size:11px!important;line-height:1!important;letter-spacing:.035em!important}
  body.landscape-reference-live .artwork-master-renderer .lr-metric span{font-size:clamp(13px,1.22vw,19px)!important;line-height:1!important;letter-spacing:0!important}
  body.landscape-reference-live .artwork-master-renderer .lr-metric.cash span{font-size:clamp(13px,1.16vw,18px)!important;letter-spacing:-.025em!important}
  body.landscape-reference-live .artwork-master-renderer .lr-metric small{display:none!important}
}

@media (orientation:portrait){
  body.portrait-reference-live #landscapeReferenceShell{--portrait-safe-top:max(env(safe-area-inset-top,0px),22px)}
  body.portrait-reference-live .pr-brand{left:8px!important;top:var(--portrait-safe-top)!important;width:min(42vw,200px)!important;height:46px!important;padding:0 9px!important}
  body.portrait-reference-live .pr-brand strong{font-size:clamp(20px,6vw,25px)!important}
  body.portrait-reference-live .pr-top-actions{right:54px!important;top:var(--portrait-safe-top)!important;grid-template-columns:repeat(3,38px)!important;gap:4px!important}
  body.portrait-reference-live .pr-top-actions button{width:38px!important;height:44px!important;font-size:17px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry{
    left:8px!important;right:8px!important;top:calc(var(--portrait-safe-top) + 52px)!important;width:auto!important;height:52px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric{
    height:52px!important;min-height:52px!important;padding:6px!important;display:grid!important;
    grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;gap:3px!important;align-content:center!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric b{grid-column:1!important;grid-row:1!important;font-size:11px!important;line-height:1!important;letter-spacing:.025em!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric span{grid-column:1!important;grid-row:2!important;width:100%!important;margin:0!important;text-align:left!important;font-size:clamp(13px,4vw,17px)!important;line-height:1!important;letter-spacing:0!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash span{font-size:clamp(13px,3.75vw,16px)!important;letter-spacing:-.04em!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric small{display:none!important}
  body.portrait-reference-live .pr-legal-hud{top:calc(var(--portrait-safe-top) + 110px)!important;gap:4px!important}
  body.portrait-reference-live .pr-legal{height:50px!important;min-width:0!important;padding:5px!important;overflow:hidden!important}
  body.portrait-reference-live .pr-legal b{max-width:100%!important;font-size:7px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.portrait-reference-live .pr-legal span{max-width:100%!important;font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.portrait-reference-live .pr-route-tabs{top:calc(var(--portrait-safe-top) + 166px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-map-host{top:calc(var(--portrait-safe-top) + 220px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls,
  body.portrait-reference-live .pr-live-legend{top:calc(var(--portrait-safe-top) + 228px)!important}
}

/* ============================================================
   BORDER RUN v4.2.8zo — LEVEL PIECES + RESPONSIVE CONTROL LANES
   ============================================================ */
/* Direction is communicated by horizontal facing only. Vehicle photography
   stays level instead of inheriting the visual slope of the route segment. */
.lr-master-player-piece .ride-render.photoreal-piece-v4 .piece-3d-motion>img,
.lr-master-remote-piece .ride-render.photoreal-piece-v4 .piece-3d-motion>img{
  transform:translateZ(13px) translateY(-3%) scaleX(var(--piece-facing,1)) scale(.98)!important;
  transform-origin:50% 72%!important;
}

/* The dock owns the radio entry. The old floating badge duplicated it and
   covered city/action cards on compact boards. */
body.landscape-reference-live #radioNowPlaying,
body.portrait-reference-live #radioNowPlaying,
body.android-virtual-landscape #radioNowPlaying{display:none!important}

@media (orientation:landscape){
  body.landscape-reference-live .pr-bottom-nav,
  body.android-virtual-landscape .pr-bottom-nav{
    left:0!important;right:0!important;bottom:0!important;width:100%!important;
    height:62px!important;padding:4px!important;gap:4px!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  body.landscape-reference-live .pr-bottom-nav>button,
  body.android-virtual-landscape .pr-bottom-nav>button{
    width:auto!important;min-width:0!important;min-height:52px!important;
    padding:3px 2px!important;border-radius:8px!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-map-host,
  body.android-virtual-landscape .artwork-master-renderer .lr-map-host{bottom:62px!important}
  body.landscape-reference-live .lr-selected-city-tile,
  body.android-virtual-landscape .lr-selected-city-tile{bottom:68px!important}
}

/* Android's CSS-rotated landscape keeps a portrait media query, so mirror the
   full-width dock rules on its explicit runtime class as well. */
body.android-virtual-landscape .pr-bottom-nav{
  left:0!important;right:0!important;bottom:0!important;width:100%!important;
  height:62px!important;padding:4px!important;gap:4px!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
body.android-virtual-landscape .pr-bottom-nav>button{
  width:auto!important;min-width:0!important;min-height:52px!important;
  padding:3px 2px!important;border-radius:8px!important;
}
body.android-virtual-landscape .artwork-master-renderer .lr-map-host{bottom:62px!important}
body.android-virtual-landscape .lr-selected-city-tile{bottom:68px!important}

@media (orientation:portrait){
  body.portrait-reference-live .pr-brand{
    width:min(40vw,184px)!important;height:44px!important;padding:0 8px!important;
  }
  body.portrait-reference-live .pr-brand strong{font-size:clamp(18px,5.55vw,23px)!important}
  body.portrait-reference-live .pr-top-actions{
    right:52px!important;grid-template-columns:repeat(3,34px)!important;gap:3px!important;
  }
  body.portrait-reference-live .pr-top-actions button{width:34px!important;height:42px!important;font-size:15px!important}
  body.portrait-reference-live .pr-top-actions .top-don b{font-size:13px!important}
  body.portrait-reference-live .pr-top-actions .top-don small{font-size:6px!important}
  body.portrait-reference-live .br-global-menu-launcher{right:5px!important;width:38px!important;min-width:38px!important;height:42px!important}
}

/* ============================================================
   BORDER RUN v4.2.8zo — STEADY BOARD PIECES + LOCKER REPAIR
   ============================================================ */
/* Board artwork is a physical game piece, not a notification.  Disable every
   legacy idle, arrival, hover and halo animation while keeping route travel on
   the wrapper itself.  Pseudo-rendered duplicate vehicles are also removed. */
.rendered-3d-tokin>.tokin-piece-render,
.tokin-game-piece.dynamic-3d-tokin .tokin-3d-rig,
.lr-master-player-piece:not(.master-moving),
.lr-master-player-piece:not(.master-moving) *,
.lr-master-remote-piece,
.lr-master-remote-piece *,
.map-node .node-pawns .vehicle-pawn,
.map-node .node-pawns .vehicle-pawn *{
  animation:none!important;
  transition:none!important;
}
.lr-master-player-piece:not(.master-moving)::before,
.lr-master-player-piece:not(.master-moving)::after,
.lr-master-player-piece:not(.master-moving) *::before,
.lr-master-player-piece:not(.master-moving) *::after,
.lr-master-remote-piece::before,
.lr-master-remote-piece::after,
.lr-master-remote-piece *::before,
.lr-master-remote-piece *::after,
.map-node .node-pawns .vehicle-pawn::before,
.map-node .node-pawns .vehicle-pawn::after,
.map-node .node-pawns .vehicle-pawn *::before,
.map-node .node-pawns .vehicle-pawn *::after{
  animation:none!important;
  transition:none!important;
}
.lr-master-player-piece.lr-art-player::after,
.lr-master-remote-piece .remote-party-halo,
.map-node .node-pawns .vehicle-pawn .remote-party-halo{content:none!important;display:none!important}
.lr-master-player-piece .photoreal-piece-v4 .piece-3d-motion::before,
.lr-master-player-piece .photoreal-piece-v4 .piece-3d-motion::after,
.lr-master-remote-piece .photoreal-piece-v4 .piece-3d-motion::before,
.lr-master-remote-piece .photoreal-piece-v4 .piece-3d-motion::after,
.map-node .node-pawns .photoreal-piece-v4 .piece-3d-motion::before,
.map-node .node-pawns .photoreal-piece-v4 .piece-3d-motion::after{display:none!important;content:none!important}
.rendered-3d-tokin>.tokin-piece-render{transform:translateZ(10px)!important}

/* Locker vehicles now use the same transparent, complete miniatures as the
   board.  This removes black source-image squares and uneven crop/framing. */
.ride-locker-modal .vehicle-preview.vehicle-poster{
  display:grid!important;place-items:center!important;overflow:hidden!important;
  background:radial-gradient(ellipse at 50% 74%,rgba(72,211,198,.10),transparent 58%),#090d0c!important;
}
.ride-locker-modal .vehicle-preview.vehicle-poster img{
  width:96%!important;height:96%!important;margin:auto!important;padding:2px!important;
  object-fit:contain!important;object-position:center!important;transform:none!important;
  transition:none!important;filter:saturate(1.06) contrast(1.06)!important;
}
.ride-locker-modal .vehicle-skin:active .vehicle-preview.vehicle-poster img{transform:none!important}
.ride-locker-modal .vehicle-preview.vehicle-poster::after{display:none!important;content:none!important}

/* The new medallions already contain their rim.  Give them a dedicated art
   row so the old 38px coin badge cannot sit behind them or cover the title. */
.ride-locker-modal .playable-tokins{gap:10px!important}
.ride-locker-modal .playable-tokins .playable-piece{
  min-height:190px!important;padding:10px 8px!important;overflow:hidden!important;
  display:grid!important;grid-template-rows:78px minmax(30px,auto) minmax(30px,auto) minmax(24px,auto)!important;
  align-content:start!important;justify-items:stretch!important;transform:none!important;transition:none!important;
}
.ride-locker-modal .token-skin>.tokin-locker-art{
  width:78px!important;height:78px!important;margin:0 auto!important;padding:0!important;
  display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important;
}
.ride-locker-modal .tokin-locker-art>.locker-tokin-render{
  width:76px!important;height:76px!important;margin:0!important;object-fit:contain!important;
  animation:none!important;transition:none!important;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))!important;
}
.ride-locker-modal .playable-tokins .playable-piece strong{
  min-height:30px!important;margin:1px 0!important;display:grid!important;place-items:center!important;
  font-size:12px!important;line-height:1.12!important;text-align:center!important;
}
.ride-locker-modal .playable-tokins .playable-piece em,
.ride-locker-modal .playable-tokins .playable-piece small{
  min-height:0!important;margin:2px 0!important;display:grid!important;place-items:center!important;
  font-size:8px!important;line-height:1.25!important;text-align:center!important;
}
.ride-locker-modal .playable-tokins .playable-piece.locked{
  opacity:.74!important;filter:none!important;background:linear-gradient(160deg,#555248,#302f2a)!important;
}
.ride-locker-modal .playable-tokins .playable-piece.locked .locker-tokin-render{
  opacity:.78!important;filter:grayscale(.82) contrast(1.12) drop-shadow(0 3px 3px rgba(0,0,0,.42))!important;
}

/* On phone modals, the status bar and fixed navigation controls own a separate
   top lane.  The scrollable card begins below that lane at every scroll offset. */
@media(max-width:760px) and (orientation:portrait){
  body.modal-open .modal{
    place-items:start center!important;
    padding-top:max(76px,calc(env(safe-area-inset-top,0px) + 62px))!important;
  }
  body.modal-open .modal-card{
    max-height:calc(100dvh - max(86px,calc(env(safe-area-inset-top,0px) + 72px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;
  }
  body.modal-open .br-board-back-launcher,
  body.modal-open .br-global-menu-launcher{
    top:max(8px,calc(env(safe-area-inset-top,0px) + 6px))!important;
    width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;
    padding:0!important;border-radius:10px!important;
  }
}


/* ============================================================
   BORDER RUN v4.2.8zo — PRE-GAME SHELL CONCEALMENT
   Players must never see the empty/uninitialized board dashboard.
   ============================================================ */
body.pre-game-gate{
  background:#020606!important;
  overflow:hidden!important;
}
body.pre-game-gate .app-shell,
body.pre-game-gate #radioNowPlaying,
body.pre-game-gate #personalMusicPlayer{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.pre-game-gate #modal{
  background:#020606!important;
  backdrop-filter:none!important;
  z-index:51000!important;
}
body.pre-game-gate #bootRecovery{z-index:60000!important}

/* ======================================================================
   BORDER RUN v4.2.8zq — FOUR-BEAT TURN FLOW + FOUR-SEGMENT WORLD LIGHT
   ====================================================================== */
.world-clock-chip.phase-dark>span{background:#a8c6d8;color:#18303b;box-shadow:0 0 18px rgba(112,214,229,.34)}
.world-clock-chip.phase-dark{border-color:rgba(112,214,229,.42);background:linear-gradient(180deg,rgba(7,17,27,.94),rgba(4,9,16,.94))}

/* Phase switches are intentionally obvious but never hard-cut. */
#boardStage,#boardStage .tabletop-board,
.graphical-world-board .graphical-world-layer,
.graphical-world-board .terrain-world,
.graphical-world-board .map-node,
.fullscreen-board-stage,
.arrival-city-photo,.city-card-photo,
#journeySplash .journey-city-photo,
#journeySplash.arrival-pullup:before{
  transition:filter 1.65s cubic-bezier(.22,.72,.24,1),background 1.65s cubic-bezier(.22,.72,.24,1),background-color 1.65s cubic-bezier(.22,.72,.24,1),box-shadow 1.65s cubic-bezier(.22,.72,.24,1),opacity 1.2s ease!important;
}
/* DARK is the visible fourth segment; time-night remains an internal styling alias. */
body.time-dark .world-clock-chip small{color:#99e6ed!important}

.turn-flow-hud{
  position:fixed;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translate(-50%,10px);
  z-index:17;width:min(88vw,460px);min-height:31px;padding:4px 7px;display:flex;align-items:center;justify-content:center;gap:4px;
  border:1px solid rgba(208,171,89,.42);border-radius:999px;background:linear-gradient(180deg,rgba(12,15,15,.94),rgba(5,8,8,.94));
  box-shadow:0 7px 18px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.035);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,transform .32s cubic-bezier(.18,.8,.25,1),border-color .35s ease;
}
.turn-flow-hud.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.turn-flow-hud>i{font-style:normal;color:#6d6f67;font:900 14px/1 Arial,sans-serif;transition:color .25s ease}
.turn-flow-hud>span{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:4px 6px;border-radius:999px;color:#8e9189;font:900 8px/1 Arial,sans-serif;letter-spacing:.06em;white-space:nowrap;transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease,opacity .3s ease}
.turn-flow-hud>span b{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid currentColor;font:900 8px/1 Arial,sans-serif}
.turn-flow-hud>span.done{color:#79bbb3;opacity:.72}.turn-flow-hud>span.done b{background:rgba(62,152,141,.18)}
.turn-flow-hud>span.active{color:#fff0bd;background:linear-gradient(180deg,rgba(154,112,42,.42),rgba(91,61,22,.34));box-shadow:0 0 16px rgba(222,171,69,.17);transform:translateY(-1px)}
.turn-flow-hud[data-phase="movement"]>span.active{color:#b9f1e9;background:linear-gradient(180deg,rgba(32,117,109,.46),rgba(19,73,69,.36));box-shadow:0 0 16px rgba(73,220,205,.16)}
.turn-flow-hud[data-phase="action"]>span.active{color:#ffe1b8;background:linear-gradient(180deg,rgba(161,83,39,.46),rgba(91,43,24,.36));box-shadow:0 0 16px rgba(238,128,72,.15)}
.turn-flow-hud[data-phase="award"]{border-color:rgba(229,191,90,.66);box-shadow:0 7px 18px rgba(0,0,0,.42),0 0 20px rgba(229,191,90,.12),inset 0 0 0 1px rgba(255,255,255,.035)}
.turn-flow-hud[data-phase="award"]>span.active{color:#fff7d1;background:linear-gradient(180deg,rgba(184,139,48,.58),rgba(103,71,18,.42));box-shadow:0 0 19px rgba(247,199,87,.23)}
body.pre-game-gate .turn-flow-hud,body.startup-sequence-active .turn-flow-hud{display:none!important}
@media(max-width:520px){.turn-flow-hud{width:min(94vw,430px);bottom:calc(73px + env(safe-area-inset-bottom));gap:2px;padding:3px 5px}.turn-flow-hud>span{font-size:7px;padding:3px 4px;gap:3px}.turn-flow-hud>span b{width:14px;height:14px;font-size:7px}.turn-flow-hud>i{font-size:11px}}
@media(orientation:landscape) and (max-height:560px){.turn-flow-hud{bottom:calc(63px + env(safe-area-inset-bottom));min-height:26px}.turn-flow-hud>span{font-size:6.5px;padding:2px 4px}.turn-flow-hud>span b{width:13px;height:13px}}
@media(prefers-reduced-motion:reduce){#boardStage,#boardStage .tabletop-board,.graphical-world-board .graphical-world-layer,.graphical-world-board .terrain-world,.graphical-world-board .map-node,.fullscreen-board-stage,.arrival-city-photo,.city-card-photo,#journeySplash .journey-city-photo,#journeySplash.arrival-pullup:before{transition-duration:.35s!important}.turn-flow-hud{transition-duration:.15s!important}}

/* ============================================================
   BORDER RUN v4.2.9e — CONTROLLED TURN PACING / CITY ACTION RESUME
   / EQUIPPED DICE ICON / CLEANER STARTUP FRAMING
   ============================================================ */

/* Loading posters are pre-framed with the complete chase scene pulled back.
   Keep the whole poster inside the safe viewport; the blurred backdrop fills
   any remaining device shape without cropping the police, helicopter or storm. */
.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-image{
  transform:scale(1)!important;
  transform-origin:50% 50%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.startup-splash.startup-sequence[data-phase="loading"].switching .startup-sequence-image{
  transform:scale(1.008)!important;
}
.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-vignette::after{display:none!important}
@media(max-width:760px){
  .startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-image{transform:scale(1)!important;object-position:center center!important}
  .startup-splash.startup-sequence[data-phase="loading"].switching .startup-sequence-image{transform:scale(1.008)!important}
}

/* Mini dice in the permanent Roll control are rendered from the exact equipped
   palette instead of shrinking a photoreal PNG until it becomes an unreadable
   camera/emoji-looking blob. */
.roll-die.photoreal-roll-button-die.equipped-mini-die{
  background:var(--br-mini-surface)!important;
  border:1px solid var(--br-mini-edge)!important;
  overflow:hidden!important;
  box-shadow:inset 1.5px 1.5px 2px rgba(255,255,255,.20),inset -1.5px -1.5px 2px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.35)!important;
}
.roll-die.photoreal-roll-button-die.equipped-mini-die .button-pips{
  left:12%!important;top:12%!important;width:76%!important;height:76%!important;
}
.roll-die.photoreal-roll-button-die.equipped-mini-die .button-pips i{
  width:3.6px!important;min-width:3.6px!important;height:3.6px!important;aspect-ratio:1!important;
  box-shadow:inset .6px .6px 1px var(--br-die-pip-bevel-dark,rgba(0,0,0,.8)),inset -.5px -.5px .8px var(--br-die-pip-bevel-light,rgba(255,255,255,.5))!important;
}
body.portrait-reference-live .lr-primary-roll .roll-die.equipped-mini-die{width:18px!important;height:18px!important;border-radius:5px!important}
body.landscape-reference-live .lr-primary-roll .roll-die.equipped-mini-die{width:16px!important;height:16px!important;border-radius:4px!important}
#sideRollBtn .roll-die.equipped-mini-die{width:13px!important;height:13px!important;border-radius:4px!important}
#sideRollBtn .roll-die.equipped-mini-die .button-pips i{width:2.5px!important;min-width:2.5px!important;height:2.5px!important}
@media(max-width:430px){body.portrait-reference-live .lr-primary-roll .roll-die.equipped-mini-die{width:17px!important;height:17px!important}}

/* Required ACTION is obvious, but the prompt does not pulse forever. */
.required-action-ready{outline:2px solid #57d7cb!important;outline-offset:2px!important;animation:requiredActionReady .82s ease both!important}
@keyframes requiredActionReady{0%{transform:translateY(2px);box-shadow:0 0 0 0 rgba(87,215,203,.46)}55%{transform:translateY(0);box-shadow:0 0 0 9px rgba(87,215,203,0)}100%{transform:none}}

/* Award phase opens with a calm count summary. Reward cards follow one at a
   time only after the player acknowledges this screen. */
.turn-award-summary{margin:8px 0 14px;padding:18px 16px;border:1px solid rgba(228,186,83,.48);border-radius:14px;background:linear-gradient(180deg,rgba(11,45,42,.94),rgba(7,23,22,.98));box-shadow:0 14px 32px rgba(0,0,0,.34);text-align:center}
.turn-award-summary>span{display:block;color:#65d9cf;font:900 9px/1 Arial,sans-serif;letter-spacing:.22em}
.turn-award-summary>strong{display:block;margin:8px 0 5px;color:#f3d27c;font:900 clamp(22px,6vw,34px)/1.04 Georgia,serif;text-transform:uppercase}
.turn-award-summary>small{display:block;color:#d9cfaf;font:800 10px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.turn-award-summary ul{margin:13px auto 0;padding:0;max-width:480px;list-style:none;display:grid;gap:5px}
.turn-award-summary li{padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.05);color:#f0e5c0;font:800 11px/1.25 Arial,sans-serif}
.turn-award-summary em{display:block;margin-top:8px;color:#69d9ce;font:900 10px/1 Arial,sans-serif;font-style:normal}

/* Keep reward cards celebratory without burying the player in effects. */
.unlock-celebration-card{transition:transform .26s ease,opacity .26s ease!important}
.unlock-celebration .unlock-money-confetti{opacity:.82}

/* v4.2.9e — unmistakable visible landing confirmation after every movement hop. */
body.landscape-reference-live .lr-master-player-piece.pawn-arrive,body.portrait-reference-live .lr-master-player-piece.pawn-arrive{animation:brPawnArrive .48s cubic-bezier(.18,.84,.2,1) both!important}
@keyframes brPawnArrive{0%{scale:.94}48%{scale:1.10}100%{scale:1}}

/* ============================================================
   BORDER RUN v4.2.9e — FULL-BLEED STARTUP CHASE SCREENS
   The chase artwork itself should become the phone screen.
   ============================================================ */
.startup-splash.startup-sequence[data-phase="loading"]{background:#000!important}
.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-backdrop{display:none!important}
.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-image{
  inset:0!important;
  width:100dvw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1)!important;
  background-color:#000!important;
  background-repeat:no-repeat!important;
}
.startup-splash.startup-sequence[data-phase="loading"].switching .startup-sequence-image{transform:scale(1.01)!important;opacity:.12!important}
.startup-splash.startup-sequence.switching .startup-sequence-image{opacity:1!important;transform:scale(1)!important}
.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-vignette{background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 14%,transparent 86%,rgba(0,0,0,.22))!important}
@media(max-width:760px){
  .startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-image{object-position:center center!important;object-fit:cover!important}
}


/* ============================================================
   BORDER RUN v4.2.9e — UNIVERSAL BOARD-PIECE FOOTPRINT
   All players and all piece types occupy the same board footprint.
   ============================================================ */
:root{--br-board-piece-w:96px;--br-board-piece-h:64px}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece{
  width:clamp(84px,12.2vw,104px)!important;
  height:clamp(56px,8.15vw,70px)!important;
  min-width:0!important;min-height:0!important;
  box-sizing:border-box!important;
}
/* Vehicles fill the exact common 3:2 miniature frame. */
.lr-master-player-piece>.ride-render.board-game-piece,
.lr-master-remote-piece>.ride-render.board-game-piece,
.vehicle-pawn>.ride-render.board-game-piece{
  width:100%!important;height:100%!important;
  min-width:100%!important;min-height:100%!important;
  max-width:100%!important;max-height:100%!important;
  box-sizing:border-box!important;
}
/* Tokins occupy the exact same outer frame as vehicles. Their internal artwork
   stays aspect-ratio-safe, but the selectable/visible game-piece footprint is identical. */
.lr-master-player-piece>.tokin-game-piece,
.lr-master-remote-piece>.tokin-game-piece,
.vehicle-pawn>.tokin-game-piece{
  width:100%!important;height:100%!important;
  min-width:100%!important;min-height:100%!important;
  max-width:100%!important;max-height:100%!important;
  margin:0!important;box-sizing:border-box!important;
}
.lr-master-player-piece>.tokin-game-piece img,
.lr-master-remote-piece>.tokin-game-piece img,
.vehicle-pawn>.tokin-game-piece img{
  width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;
}
/* Every source render is normalized inside its common frame; transparent source
   padding cannot make one selected ride appear larger than another. */
.lr-master-player-piece .piece-3d-motion,
.lr-master-remote-piece .piece-3d-motion,
.vehicle-pawn .piece-3d-motion{inset:0!important;width:100%!important;height:100%!important}
.lr-master-player-piece .piece-3d-motion>img,
.lr-master-remote-piece .piece-3d-motion>img,
.vehicle-pawn .piece-3d-motion>img{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center center!important;padding:2px!important;box-sizing:border-box!important;
}

/* ============================================================
   BORDER RUN v4.2.9e — REMOVE BLACK GAP BETWEEN LOADING AND BOARD
   While the board or account gate is initializing, show a loading-screen
   backdrop instead of a blank black stage.
   ============================================================ */
body.pre-game-gate{
  background:#020606 var(--pregame-load-screen, none) center center / cover no-repeat fixed!important;
}
body.pre-game-gate::before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.32));
}
body.pre-game-gate .app-shell,
body.pre-game-gate #radioNowPlaying,
body.pre-game-gate #personalMusicPlayer,
body.pre-game-gate #modal,
body.pre-game-gate #bootRecovery{position:relative;z-index:2}
body.pre-game-gate #modal{
  background:rgba(2,6,6,.18)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}

/* ============================================================
   BORDER RUN v4.2.9e — INTERACTIVE PRE-GAME HANDOFF FIX
   Loading art ends before Save/Load/Continue becomes interactive.
   The modal must remain fixed to the viewport on iPhone.
   ============================================================ */
body.pre-game-gate #modal.modal{
  position:fixed!important;
  inset:0!important;
  z-index:51000!important;
}
body.pre-game-gate #bootRecovery{position:fixed!important;inset:0!important}
body.pre-game-gate.pregame-menu-stage,
html.pre-game-gate.pregame-menu-stage{
  background:
    radial-gradient(circle at 50% 14%,rgba(30,105,96,.22),transparent 36%),
    radial-gradient(circle at 82% 78%,rgba(173,121,44,.10),transparent 30%),
    linear-gradient(180deg,#07110f 0%,#020706 100%)!important;
  background-image:
    radial-gradient(circle at 50% 14%,rgba(30,105,96,.22),transparent 36%),
    radial-gradient(circle at 82% 78%,rgba(173,121,44,.10),transparent 30%),
    linear-gradient(180deg,#07110f 0%,#020706 100%)!important;
}
body.pre-game-gate.pregame-menu-stage::before{
  background:linear-gradient(180deg,rgba(2,8,7,.20),rgba(2,8,7,.48))!important;
}
body.pre-game-gate.pregame-menu-stage #modal{
  background:rgba(2,7,7,.22)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
}

/* ============================================================
   BORDER RUN v4.2.9e — PHYSICAL NORTH AMERICA BOARD
   Full city count + 66 visible playable spaces on every corridor.
   ============================================================ */
body.landscape-reference-live .artwork-master-renderer .lr-map-host,
body.portrait-reference-live .artwork-master-renderer .lr-map-host{
  overflow:auto!important;
  overscroll-behavior:contain!important;
  background:#07110d!important;
  scrollbar-width:none!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-map-host::-webkit-scrollbar,
body.portrait-reference-live .artwork-master-renderer .lr-map-host::-webkit-scrollbar{display:none!important}
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop,
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop{
  object-fit:fill!important;
  object-position:center!important;
  filter:brightness(.54) saturate(.76) contrast(1.10)!important;
}
.artwork-master-renderer .lr-route-network{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.72))}
.artwork-master-renderer .lr-visible-board-nodes{position:absolute;inset:0;z-index:8;pointer-events:none}
.artwork-master-renderer .lr-visible-board-nodes .lr-master-node{pointer-events:auto}
body.landscape-reference-live .artwork-master-renderer .lr-master-node,
body.portrait-reference-live .artwork-master-renderer .lr-master-node{
  position:absolute;z-index:8;transform:translate(-50%,-50%);margin:0;cursor:pointer;color:#f1dfad;
  box-sizing:border-box;touch-action:manipulation;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel{
  width:14px!important;height:11px!important;min-width:14px!important;min-height:11px!important;border-radius:3px!important;
  background:linear-gradient(180deg,#151b17,#090d0b)!important;border:1px solid rgba(244,221,157,.62)!important;
  box-shadow:0 2px 4px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.04)!important;opacity:.94!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel.route-west,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel.route-west{border-color:#86b84f!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel.route-central,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel.route-central{border-color:#e1b24f!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel.route-east,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel.route-east{border-color:#d9695b!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel:not(.route-active),
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel:not(.route-active){opacity:.78!important;transform:translate(-50%,-50%) scale(.90)!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-trigger,
body.portrait-reference-live .artwork-master-renderer .lr-master-trigger{font:900 6px/1 Arial,sans-serif!important;color:#f2dfad!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city{
  width:68px!important;height:34px!important;border-radius:17px!important;border:2px solid rgba(228,190,92,.66)!important;
  background:linear-gradient(180deg,rgba(17,25,21,.98),rgba(5,9,8,.98))!important;padding:2px 5px!important;
  box-shadow:0 3px 8px rgba(0,0,0,.72),0 0 0 2px rgba(0,0,0,.34)!important;overflow:visible!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city:not(.route-active),
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city:not(.route-active){opacity:.88!important;transform:translate(-50%,-50%) scale(.92)!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-city-name,
body.portrait-reference-live .artwork-master-renderer .lr-master-city-name{font:900 7px/1 Georgia,serif!important;color:#f2dc9f!important;max-width:62px!important;text-shadow:0 1px 2px #000!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city small,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city small{display:none!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-skyline,
body.portrait-reference-live .artwork-master-renderer .lr-master-skyline{display:none!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.start-city{
  width:60px!important;min-height:24px!important;border-radius:12px!important;background:rgba(22,15,9,.96)!important;border:1px solid rgba(224,179,76,.62)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:3px 5px!important;opacity:.94!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city b,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.start-city b{font:900 6px/1 Arial,sans-serif!important;color:#f0dca2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city span,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.start-city span{font-size:7px!important;color:#e2ad45!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.current,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.current{outline:2px solid #56e0d5!important;box-shadow:0 0 0 3px rgba(86,224,213,.22),0 0 16px rgba(86,224,213,.68)!important;z-index:28!important;opacity:1!important}
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit,
body.portrait-reference-live .artwork-master-renderer .lr-art-space-hit{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;z-index:30!important;background:transparent!important;outline:0!important;box-shadow:none!important;opacity:.001!important}
body.landscape-reference-live .artwork-master-renderer .lr-art-space-hit.current,
body.portrait-reference-live .artwork-master-renderer .lr-art-space-hit.current{opacity:.001!important}
.artwork-master-renderer .lr-junction-marker{z-index:45!important}

/* ============================================================
   BORDER RUN v4.2.9e — JIMMIE RENDER + STANDARD COYOTE TUMBLE
   ============================================================ */
/* Use the clean Jimmie + Peace Bus scene everywhere the character is rendered. */
.persona-portrait-photo.coyote,
.encounter-portrait-svg.persona-portrait-photo.coyote{
  background-image:linear-gradient(180deg,rgba(7,18,18,.02),rgba(7,18,18,.18)),url('./assets/characters/jimmie-peacebus-scene.webp')!important;
  background-size:cover!important;
  background-position:44% 48%!important;
}
.character-cinematic-persona.coyote .character-cinematic-scene{
  background-image:linear-gradient(180deg,rgba(5,12,12,.02),rgba(5,12,12,.22)),url('./assets/characters/jimmie-peacebus-scene.webp')!important;
  background-size:cover!important;
  background-position:50% 48%!important;
  filter:saturate(1.04) contrast(1.03)!important;
}
/* The scene already contains Jimmie and the bus; don't stack the old mini portrait on top. */
.character-cinematic-persona.coyote .character-cinematic-portrait{display:none!important}
#hustle2d6Overlay.coyote-cinematic-roll{
  background:radial-gradient(circle at 28% 24%,rgba(80,204,190,.14),transparent 34%),linear-gradient(180deg,rgba(12,8,5,.50),rgba(2,5,5,.94)),url('./assets/characters/jimmie-peacebus-scene.webp') center/cover no-repeat!important;
}
.coyote-roll-photo{
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18)),url('./assets/characters/jimmie-peacebus-scene.webp') 42% 50%/cover no-repeat!important;
}

/* Every physical dice event uses the Coyote Run's throw/tumble cadence. */
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a{
  animation:v423tFlightA 1.32s cubic-bezier(.14,.72,.18,1) both!important;
}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b{
  animation:v423tFlightB 1.32s cubic-bezier(.14,.72,.18,1) both!important;
}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a .br3d-spin-shell{
  animation:v423tCubeA 1.32s cubic-bezier(.12,.64,.18,1) both!important;
}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b .br3d-spin-shell{
  animation:v423tCubeB 1.32s cubic-bezier(.12,.64,.18,1) both!important;
}
body>#boardDiceOverlay.separate-dice-screen.landed .dice-flight-a .br3d-spin-shell{
  animation:v423tImpactA .30s cubic-bezier(.18,.78,.22,1) both!important;
}
body>#boardDiceOverlay.separate-dice-screen.landed .dice-flight-b .br3d-spin-shell{
  animation:v423tImpactB .30s cubic-bezier(.18,.78,.22,1) both!important;
}
.city-d6-overlay.rolling .city-d6-die-flight{
  animation:v423tFlightA 1.32s cubic-bezier(.14,.72,.18,1) both!important;
}
.city-d6-overlay.rolling .city-d6-die-flight .br3d-spin-shell{
  animation:v423tCubeA 1.32s cubic-bezier(.12,.64,.18,1) both!important;
}
.city-d6-overlay.landed .city-d6-die-flight .br3d-spin-shell{
  animation:v423tImpactA .30s cubic-bezier(.18,.78,.22,1) both!important;
}

/* ============================================================
   BORDER RUN v4.2.9e — BIG VINNIE LIVE ART + PORTRAIT MISSION CLEARANCE
   ============================================================ */
#modalCard[data-kicker="BIG VINNIE"]{
  background:linear-gradient(180deg,#171713,#0b0d0c 62%,#17130f)!important;
  border-color:#9b7540!important;color:#efe0b8!important;
  box-shadow:0 22px 80px rgba(0,0,0,.82),0 0 0 2px rgba(34,181,174,.22)!important;
}
#modalCard[data-kicker="BIG VINNIE"] #modalKicker{color:#51d5ca!important}
#modalCard[data-kicker="BIG VINNIE"] #modalTitle{color:#f0d69a!important;text-shadow:0 2px 0 #000!important}
#modalCard[data-kicker="BIG VINNIE"] #modalBody{color:#d8cba9!important;font-weight:780!important}
#modalCard[data-kicker="BIG VINNIE"] #modalExtra{min-height:0!important;overflow:auto!important;overscroll-behavior:contain!important}
#modalCard[data-kicker="BIG VINNIE"] #modalActions{position:sticky!important;bottom:0!important;z-index:12!important;background:linear-gradient(180deg,rgba(13,15,13,.82),#0d0f0d 28%)!important;border-top:1px solid rgba(201,164,91,.3)!important;padding-top:10px!important}
.big-vinnie-art{margin:0 0 12px;border:2px solid rgba(193,151,79,.72);border-radius:15px;overflow:hidden;background:#050606;box-shadow:0 12px 30px rgba(0,0,0,.48);position:relative}
.big-vinnie-art img{display:block;width:100%;height:min(40dvh,430px);object-fit:cover;object-position:center 42%;filter:contrast(1.02) saturate(.96)}
.big-vinnie-art figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(3,6,6,.94));display:grid;gap:3px;pointer-events:none}
.big-vinnie-art figcaption b{font:950 15px/1 system-ui,sans-serif;letter-spacing:.14em;color:#f0d28c}
.big-vinnie-art figcaption span{font:800 10px/1.35 system-ui,sans-serif;letter-spacing:.04em;color:#a9e6df}
.big-vinnie-art.state-broke img{object-position:center 30%}.big-vinnie-art.state-front img{object-position:center 46%}.big-vinnie-art.state-terms img{object-position:center 45%}.big-vinnie-art.state-cleared img{object-position:center 46%}.big-vinnie-art.state-due img{object-position:center 45%}.big-vinnie-art.state-time img{object-position:center 43%}.big-vinnie-art.state-collector img{object-position:center 43%}
.vinnie-terms-live{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}
.vinnie-terms-live>div{display:grid;gap:3px;padding:9px;border:1px solid rgba(73,190,179,.27);border-radius:9px;background:rgba(8,24,22,.78)}
.vinnie-terms-live span{font:900 8px/1.15 system-ui,sans-serif;letter-spacing:.1em;color:#74d9d0}.vinnie-terms-live b{font:900 11px/1.25 system-ui,sans-serif;color:#f2ddb0}
#modalCard[data-kicker="BIG VINNIE"] .choice-note,#modalCard[data-kicker="BIG VINNIE"] .store-policy{background:#171d19!important;color:#e5d8b4!important;border-color:#7a623c!important}
#modalCard[data-kicker="BIG VINNIE"] .debt-pressure{background:#191a16!important;border-color:#7c5b35!important}

/* A live mission/roadside context owns the lower portrait work area. The turn
   flow remains part of the game, but it yields that space while the player is
   choosing a mission so it can never cover ACCEPT/DECLINE or mission details. */
@media (orientation:portrait) and (max-width:760px){
  body.reference-context-active .turn-flow-hud{display:none!important}
  #modalCard[data-kicker="BIG VINNIE"]{max-height:calc(100dvh - 18px)!important}
  .big-vinnie-art img{height:min(31dvh,330px)!important}
  .vinnie-terms-live{grid-template-columns:1fr!important}
}


/* ============================================================
   BORDER RUN v4.2.9h — GEOGRAPHIC BOARD CLEANUP / PIECE VISIBILITY
   ============================================================ */
.lr-master-node.start-city.compact{min-width:34px!important;min-height:26px!important;padding:4px 6px!important;border-radius:12px!important;background:linear-gradient(180deg,rgba(5,15,18,.92),rgba(6,10,12,.9))!important;border:1px solid rgba(233,211,154,.52)!important;box-shadow:0 4px 12px rgba(0,0,0,.35)!important;transform:translate(-50%,-50%)!important;z-index:54!important}
.lr-master-node.start-city.compact>span{font-size:11px!important;line-height:1!important}
.lr-master-node.start-city.compact>b{font:900 7px/1 Arial,sans-serif!important;letter-spacing:.08em!important;color:#ecd48e!important;margin-top:1px!important;max-width:52px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.lr-master-node.start-city.compact:not(.current):not(.occupied){display:none!important}
.lr-master-dynamic-layer,.lr-master-dynamic-layer *{overflow:visible!important}
.lr-master-remote-piece,.lr-master-player-piece{overflow:visible!important;contain:none!important}
.lr-master-remote-piece{width:126px!important;height:94px!important;transform:translate(calc(-50% + var(--remote-stack,0)*22px),calc(-50% + var(--remote-stack,0)*-18px))!important;z-index:92!important}
.lr-master-remote-piece>small{bottom:-28px!important}
.lr-master-remote-piece>b{bottom:-14px!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece{display:block!important;visibility:visible!important;opacity:1!important}
body.portrait-reference-live .lr-map-art-crop,body.landscape-reference-live .lr-map-art-crop{filter:saturate(.94) contrast(1.05)!important}
body.portrait-reference-live .lr-master-node.city,body.landscape-reference-live .lr-master-node.city{min-width:58px!important}
body.portrait-reference-live .lr-master-node.city .lr-master-city-name,body.landscape-reference-live .lr-master-node.city .lr-master-city-name{white-space:normal!important;text-align:center!important;line-height:1.05!important}


/* ============================================================
   BORDER RUN v4.2.9h — GEOGRAPHIC CLUSTER SPREAD + SAME-SPACE FAN
   ============================================================ */
/* Suppress the old baked route artwork so the live SVG/node network reads as the board.
   The source art remains as terrain texture, but old paths/city marks are deliberately subdued. */
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(.72) brightness(.66) contrast(.90)!important;
  opacity:.88!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(3,11,9,.16),rgba(3,9,8,.30));
}
.artwork-master-renderer .lr-route-network{z-index:3!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.76))!important}
.artwork-master-renderer .lr-art-board-overlay{z-index:4!important}

/* Same-space occupancy: local piece remains centered; party pieces fan around it. */
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece{
  transform:translate(calc(-50% + var(--remote-dx,0px)),calc(-50% + var(--remote-dy,0px)))!important;
  width:clamp(78px,11.5vw,100px)!important;
  height:clamp(52px,7.7vw,68px)!important;
  z-index:94!important;
}
.lr-master-remote-piece.shares-local-space{z-index:96!important}
.lr-master-remote-piece.shares-local-space>b{background:rgba(2,8,8,.94)!important;border-color:rgba(235,211,145,.58)!important}

/* Every remote Tokin and vehicle uses a visible normalized outer frame. */
.lr-master-remote-piece>.tokin-game-piece,
.lr-master-player-piece>.tokin-game-piece{
  display:grid!important;place-items:center!important;visibility:visible!important;opacity:1!important;
  overflow:visible!important;transform:none!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
.lr-master-remote-piece>.tokin-game-piece>.tokin-piece-render,
.lr-master-player-piece>.tokin-game-piece>.tokin-piece-render{
  display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;object-fit:contain!important;
  filter:drop-shadow(0 7px 5px rgba(0,0,0,.64))!important;
}
.lr-master-remote-piece>.ride-render,
.lr-master-player-piece>.ride-render{display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important}

/* Dense city labels get a little more room instead of collapsing into one vertical stack. */
body.portrait-reference-live .lr-master-node.city,
body.landscape-reference-live .lr-master-node.city{min-width:64px!important;max-width:82px!important;padding-left:5px!important;padding-right:5px!important}
body.portrait-reference-live .lr-master-node.city .lr-master-city-name,
body.landscape-reference-live .lr-master-node.city .lr-master-city-name{font-size:7.4px!important;letter-spacing:.025em!important;line-height:1.03!important;overflow-wrap:anywhere!important}
@media(max-width:430px){
  body.portrait-reference-live .lr-master-node.city{min-width:58px!important;max-width:72px!important}
  body.portrait-reference-live .lr-master-node.city .lr-master-city-name{font-size:6.8px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece{width:76px!important;height:52px!important}
}


/* ============================================================
   BORDER RUN v4.2.9h — CLEAN ORDERED BOARD ROUTES
   The underlying illustration is context only. Live route geometry, cities,
   spaces and pieces are now the actual board presentation.
   ============================================================ */
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  opacity:.48!important;
  filter:grayscale(.58) saturate(.30) brightness(.62) contrast(1.12)!important;
}
.artwork-master-renderer .lr-route-network{filter:drop-shadow(0 1px 1px rgba(0,0,0,.88))!important}
.artwork-master-renderer .lr-route-start-feeders{opacity:.70!important}
.artwork-master-renderer .lr-route-shadow{opacity:.70!important}
.artwork-master-renderer .lr-route-changeover{opacity:.62!important}
body.portrait-reference-live .lr-master-node.city,
body.landscape-reference-live .lr-master-node.city{
  min-width:54px!important;
  max-width:78px!important;
  padding:4px 6px!important;
}
body.portrait-reference-live .lr-master-node.city .lr-master-city-name,
body.landscape-reference-live .lr-master-node.city .lr-master-city-name{
  font-size:7.4px!important;
  line-height:1.02!important;
  text-wrap:balance!important;
}
body.portrait-reference-live .lr-master-node.travel,
body.landscape-reference-live .lr-master-node.travel{transform:translate(-50%,-50%) scale(.86)!important}


/*
   BORDER RUN v4.2.9i — CLEAN MAP / SHINY CITY NODES / GRAPHIC BORDERS
*/
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(1.02) contrast(1.03) brightness(.96)!important;
}
.artwork-master-renderer .lr-border-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.artwork-master-renderer .lr-border-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.42;opacity:.9;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}
.artwork-master-renderer .lr-border-line.north{stroke:#78d7d6;stroke-dasharray:1.2 .8}
.artwork-master-renderer .lr-border-line.south{stroke:#e0ba63;stroke-dasharray:1.2 .8}
.artwork-master-renderer .lr-border-badge rect{fill:rgba(8,15,15,.84);stroke:rgba(232,213,154,.45);stroke-width:.12}
.artwork-master-renderer .lr-border-badge text{fill:#ecdca6;font:900 1.0px/1 Arial,sans-serif;letter-spacing:.16em;text-anchor:middle;dominant-baseline:middle}
.artwork-master-renderer .lr-route-network{z-index:4!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.78))!important}
.artwork-master-renderer .lr-route-network .lr-route-shadow{stroke-width:1.05!important;opacity:.55!important}
.artwork-master-renderer .lr-route-network .lr-route-line{stroke-width:.64!important;opacity:.90!important}
.artwork-master-renderer .lr-route-network .lr-route-line.active{stroke-width:.86!important;opacity:1!important}
.artwork-master-renderer .lr-route-network .lr-route-changeover{stroke:#f1df9d!important;stroke-width:.52!important;stroke-dasharray:1.2 .8!important;opacity:.86!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node,
body.portrait-reference-live .artwork-master-renderer .lr-master-node{
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city{
  width:clamp(34px,3.3vw,56px)!important;height:clamp(34px,3.3vw,56px)!important;min-width:34px!important;max-width:none!important;min-height:34px!important;max-height:none!important;border-radius:50%!important;opacity:1!important;transform:translate(-50%,-50%)!important
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel{
  width:clamp(18px,1.7vw,26px)!important;height:clamp(18px,1.7vw,26px)!important;min-width:18px!important;min-height:18px!important;opacity:1!important;transform:translate(-50%,-50%)!important
}
.artwork-master-renderer .lr-master-city-core,.artwork-master-renderer .lr-master-travel-core{position:relative;display:grid;place-items:center;width:100%;height:100%}
.artwork-master-renderer .lr-master-city-core{
  border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,248,225,.95),rgba(255,248,225,.30) 12%,rgba(255,248,225,0) 18%),
             linear-gradient(180deg,rgba(255,244,206,.20),rgba(8,15,18,.12)),
             radial-gradient(circle at 50% 42%,rgba(18,42,46,.94),rgba(7,13,16,.97) 64%,rgba(3,7,8,1) 100%);
  border:2px solid rgba(238,214,149,.94);
  box-shadow:0 0 0 2px rgba(0,0,0,.45),0 0 15px rgba(239,217,153,.30),0 5px 12px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.20)
}
.artwork-master-renderer .route-west .lr-master-city-core{box-shadow:0 0 0 2px rgba(0,0,0,.45),0 0 16px rgba(106,222,154,.30),0 5px 12px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.20)}
.artwork-master-renderer .route-central .lr-master-city-core{box-shadow:0 0 0 2px rgba(0,0,0,.45),0 0 16px rgba(225,178,79,.30),0 5px 12px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.20)}
.artwork-master-renderer .route-east .lr-master-city-core{box-shadow:0 0 0 2px rgba(0,0,0,.45),0 0 16px rgba(217,105,91,.28),0 5px 12px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.20)}
.artwork-master-renderer .lr-master-city-ring{position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(255,240,193,.28);box-shadow:inset 0 0 10px rgba(0,0,0,.44)}
.artwork-master-renderer .lr-master-city-code{position:relative;z-index:2;font:900 clamp(8px,.76vw,13px)/1 Arial,sans-serif;letter-spacing:.08em;color:#f2dfac;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.artwork-master-renderer .lr-master-city-chip{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);padding:2px 6px;border-radius:999px;background:rgba(5,12,12,.88);border:1px solid rgba(238,214,149,.26);font:900 6px/1 Arial,sans-serif;letter-spacing:.13em;color:#61ddd1;white-space:nowrap;opacity:0;transition:opacity .16s ease,transform .16s ease;pointer-events:none}
.artwork-master-renderer .lr-master-node.city:hover .lr-master-city-chip,
.artwork-master-renderer .lr-master-node.city.preview .lr-master-city-chip,
.artwork-master-renderer .lr-master-node.city.current .lr-master-city-chip{opacity:1;transform:translateX(-50%) translateY(0)}
.artwork-master-renderer .lr-master-travel-core{border-radius:50%;background:radial-gradient(circle at 30% 28%,rgba(255,250,236,.75),rgba(255,250,236,.14) 16%,rgba(255,250,236,0) 22%),linear-gradient(180deg,rgba(23,36,38,.92),rgba(8,13,16,.98));border:1px solid rgba(239,214,148,.45);box-shadow:0 0 0 1px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.45)}
.artwork-master-renderer .lr-master-travel-dot{position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(255,255,255,.08)}
.artwork-master-renderer .lr-master-trigger{position:relative;z-index:2;font:900 clamp(8px,.8vw,12px)/1 Arial,sans-serif;color:#efdca2;text-shadow:0 1px 2px rgba(0,0,0,.85)}
.artwork-master-renderer .lr-master-node.city .lr-master-city-name,
.artwork-master-renderer .lr-master-node.city small{display:none!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.current,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.current{outline:0!important;box-shadow:none!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.current .lr-master-city-core,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.current .lr-master-city-core,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.current .lr-master-travel-core,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.current .lr-master-travel-core{
  box-shadow:0 0 0 2px rgba(0,0,0,.45),0 0 0 3px rgba(80,228,214,.30),0 0 18px rgba(86,224,213,.80),0 5px 12px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.22)!important;border-color:rgba(96,232,221,.96)!important
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.preview .lr-master-city-core,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.preview .lr-master-city-core,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.preview .lr-master-travel-core,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.preview .lr-master-travel-core{box-shadow:0 0 0 2px rgba(0,0,0,.42),0 0 0 2px rgba(241,210,109,.30),0 0 15px rgba(241,210,109,.58),0 4px 10px rgba(0,0,0,.55)!important;border-color:rgba(241,210,109,.96)!important}
.artwork-master-renderer .lr-junction-marker{min-width:42px!important;min-height:42px!important;padding:0!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(26,21,13,.96),rgba(9,9,8,.96))!important;border:2px solid rgba(237,213,148,.78)!important;box-shadow:0 0 0 2px rgba(0,0,0,.42),0 0 18px rgba(233,201,113,.22),0 5px 12px rgba(0,0,0,.55)!important;display:grid!important;place-items:center!important;gap:1px!important}
.artwork-master-renderer .lr-junction-marker span{font-size:16px!important;line-height:1!important;color:#f0dca2!important;text-shadow:0 1px 2px rgba(0,0,0,.85)!important}
.artwork-master-renderer .lr-junction-marker small{font:900 6px/1 Arial,sans-serif!important;letter-spacing:.14em!important;color:#61ddd1!important}
.artwork-master-renderer .lr-junction-marker.active,.artwork-master-renderer .lr-junction-marker.player-route{box-shadow:0 0 0 2px rgba(0,0,0,.42),0 0 0 3px rgba(88,225,213,.20),0 0 18px rgba(88,225,213,.45),0 5px 12px rgba(0,0,0,.55)!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city{width:38px!important;height:38px!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel{width:20px!important;height:20px!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-city-chip{bottom:-11px;font-size:5.5px!important;padding:2px 5px!important}


/* BORDER RUN v4.2.9j — ROAD ATLAS BOARD TREATMENT */
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(.92) contrast(1.08) brightness(.94)!important;
}
.artwork-master-renderer .lr-route-network .lr-route-shadow{stroke-width:1.15!important;stroke:rgba(0,0,0,.72)!important}
.artwork-master-renderer .lr-route-network .lr-route-line{stroke-width:.72!important;opacity:.92!important}
.artwork-master-renderer .lr-route-network .lr-route-line.active{stroke-width:.96!important;opacity:1!important}
.artwork-master-renderer .lr-route-network .route-west{stroke:#6eae5a!important}
.artwork-master-renderer .lr-route-network .route-central{stroke:#d6a63f!important}
.artwork-master-renderer .lr-route-network .route-east{stroke:#c95e52!important}
.artwork-master-renderer .lr-route-network .lr-route-changeover{stroke:#f0dfad!important;stroke-width:.56!important;stroke-dasharray:1.1 .7!important}
.artwork-master-renderer .lr-border-line.north{stroke:#9cded8!important;stroke-width:.50!important;stroke-dasharray:1.5 .7!important}
.artwork-master-renderer .lr-border-line.south{stroke:#e5bd62!important;stroke-width:.50!important;stroke-dasharray:1.5 .7!important}
.artwork-master-renderer .lr-border-badge rect{fill:rgba(12,18,17,.90)!important;stroke:rgba(235,217,164,.58)!important}
.artwork-master-renderer .lr-master-city-core{background:radial-gradient(circle at 30% 26%,rgba(255,255,245,.96),rgba(255,255,245,.28) 11%,transparent 18%),linear-gradient(180deg,#31423b,#101918)!important;border-color:#e9d49a!important}
.artwork-master-renderer .lr-master-city-code{font-family:Georgia,serif!important;font-style:normal!important;color:#f0dfae!important}
.artwork-master-renderer .lr-master-travel-core{background:radial-gradient(circle at 30% 26%,rgba(255,255,245,.68),rgba(255,255,245,.10) 14%,transparent 20%),linear-gradient(180deg,#27312d,#0d1414)!important}
.artwork-master-renderer .lr-junction-marker{border-radius:7px!important;transform:translate(-50%,-50%) rotate(45deg)!important;background:linear-gradient(180deg,#392f1e,#15120d)!important}
.artwork-master-renderer .lr-junction-marker span,.artwork-master-renderer .lr-junction-marker small{transform:rotate(-45deg)!important}
.artwork-master-renderer .lr-junction-marker small{position:absolute;top:100%;left:50%;margin-top:11px;white-space:nowrap}


/* BORDER RUN v4.2.9k — ACTIVE CITY NODE HIT TARGETS */
.artwork-master-renderer .lr-visible-board-nodes{z-index:60!important;pointer-events:none!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city{
  z-index:72!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  cursor:pointer!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel{
  z-index:34!important;
  pointer-events:auto!important;
}
.artwork-master-renderer .lr-art-space-hit{z-index:30!important}
.artwork-master-renderer .lr-junction-marker{z-index:66!important}
.artwork-master-renderer .lr-master-node.city:active .lr-master-city-core,
.artwork-master-renderer .lr-master-node.city.city-tap-confirm .lr-master-city-core{
  transform:scale(.92)!important;
  box-shadow:0 0 0 3px rgba(84,225,212,.34),0 0 22px rgba(84,225,212,.82),0 5px 12px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.25)!important;
  border-color:#65e5d9!important;
}
.artwork-master-renderer .lr-master-node.city .lr-master-city-core{transition:transform .11s ease,box-shadow .16s ease,border-color .16s ease}

/* ============================================================
   BORDER RUN v4.2.9l — THREE HIGHWAYS / DANGEROUS CROSSOVERS
   ============================================================ */
.artwork-master-renderer .lr-crossover-shadow{stroke:rgba(0,0,0,.82)!important;stroke-width:1.1!important}
.artwork-master-renderer .lr-crossover-highway{stroke:#ead6a0!important;stroke-width:.55!important;stroke-dasharray:1.35 .72!important;opacity:.96!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.75))}
.artwork-master-renderer .lr-crossover-gate{position:absolute;z-index:74;width:28px;height:28px;transform:translate(-50%,-50%) translate(22px,-21px);display:grid;place-items:center;padding:0;border:1px solid rgba(238,214,149,.78);border-radius:7px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(180deg,#3a2d18,#15100b);box-shadow:0 0 0 2px rgba(0,0,0,.48),0 0 12px rgba(231,194,98,.24);color:#f0d898;cursor:pointer}
.artwork-master-renderer .lr-crossover-gate span{font:900 13px/1 Arial,sans-serif}.artwork-master-renderer .lr-crossover-gate small{display:none}
.artwork-master-renderer .lr-crossover-gate.usable{background:linear-gradient(180deg,#164a44,#092521);border-color:#62ded1;box-shadow:0 0 0 2px rgba(0,0,0,.48),0 0 16px rgba(83,224,211,.58)}
.artwork-master-renderer .lr-crossover-city{position:absolute;z-index:70;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;padding:0;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 32% 25%,rgba(255,250,221,.78),rgba(255,250,221,0) 18%),linear-gradient(180deg,#382917,#0d1110);border:2px solid #e4bd62;box-shadow:0 0 0 2px rgba(0,0,0,.5),0 0 16px rgba(227,182,78,.34),0 5px 10px rgba(0,0,0,.58);cursor:pointer;color:#f1dfa8}
.artwork-master-renderer .lr-crossover-city i{position:absolute;top:3px;right:4px;font:900 8px/1 Arial;color:#efb94c;font-style:normal}.artwork-master-renderer .lr-crossover-city b{font:900 9px/1 Arial;letter-spacing:.06em}.artwork-master-renderer .lr-crossover-city small{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);font:900 5px/1 Arial;letter-spacing:.10em;color:#f0bb55;background:rgba(6,11,11,.9);border:1px solid rgba(228,189,98,.30);border-radius:999px;padding:2px 5px;white-space:nowrap}
.artwork-master-renderer .lr-crossover-city:active{transform:translate(-50%,-50%) scale(.94);filter:brightness(1.25)}
.crossover-route-choice,.crossover-market-card{display:grid;gap:5px;margin:8px 0;padding:11px;border:1px solid rgba(224,185,92,.30);border-radius:10px;background:linear-gradient(180deg,rgba(39,28,14,.82),rgba(10,13,12,.94))}.crossover-route-choice span,.crossover-market-card span{font:900 9px/1 Arial;letter-spacing:.12em;color:#efb957}.crossover-route-choice strong,.crossover-market-card strong{font:900 19px/1 Georgia,serif;color:#f0dda9}.crossover-route-choice small,.crossover-market-card small{font:700 10px/1.35 Arial;color:#c8bea0}
.lr-context-city-photo.crossover-photo{height:150px!important}
body.portrait-reference-live .artwork-master-renderer .lr-crossover-gate{width:25px;height:25px;transform:translate(-50%,-50%) translate(18px,-18px)}
body.portrait-reference-live .artwork-master-renderer .lr-crossover-city{width:38px;height:38px}
/* Keep the three main corridors visually dominant, but atlas-like rather than painted ribbons. */
.artwork-master-renderer .lr-route-network .lr-route-line{stroke-width:.46!important;opacity:.90!important}.artwork-master-renderer .lr-route-network .lr-route-line.active{stroke-width:.60!important}.artwork-master-renderer .lr-route-network .lr-route-shadow{stroke-width:.78!important;opacity:.62!important}


/* ============================================================
   BORDER RUN v4.2.9m — CLEAN DASHED ATLAS BOARD
   Dashed highways, 1/3-scale visual city nodes, ribbon borders,
   and game pieces permanently above every map/UI board layer.
   ============================================================ */
.artwork-master-renderer .lr-route-network{z-index:8!important;filter:none!important;pointer-events:none!important}
.artwork-master-renderer .lr-route-network .lr-route-shadow,
.artwork-master-renderer .lr-crossover-shadow{
  stroke:rgba(2,6,7,.86)!important;stroke-width:.68!important;stroke-dasharray:1.25 .82!important;opacity:.88!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-route-network .lr-route-line,
.artwork-master-renderer .lr-crossover-highway{
  stroke:#eadbb0!important;stroke-width:.30!important;stroke-dasharray:1.25 .82!important;opacity:.92!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:none!important
}
.artwork-master-renderer .lr-route-network .lr-route-line.active{
  stroke:#fff1c4!important;stroke-width:.38!important;opacity:1!important;filter:drop-shadow(0 0 1.2px rgba(244,218,151,.5))!important
}
.artwork-master-renderer .lr-route-network .route-west,
.artwork-master-renderer .lr-route-network .route-central,
.artwork-master-renderer .lr-route-network .route-east{stroke:#eadbb0!important}
.artwork-master-renderer .lr-route-start-feeders path{stroke:#eadbb0!important;stroke-width:.26!important;stroke-dasharray:1.15 .75!important;opacity:.82!important}

/* Border delineators take over the old ribbon visual language, not the highways. */
.artwork-master-renderer .lr-border-overlay{z-index:5!important;pointer-events:none!important}
.artwork-master-renderer .lr-border-ribbon-shadow{fill:none;stroke:rgba(0,0,0,.76);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.artwork-master-renderer .lr-border-ribbon-fill{fill:none;stroke-width:1.10;stroke-linecap:round;stroke-linejoin:round;opacity:.78}
.artwork-master-renderer .lr-border-ribbon-highlight{fill:none;stroke-width:.22;stroke-linecap:round;stroke-linejoin:round;opacity:.92}
.artwork-master-renderer .lr-border-ribbon.north .lr-border-ribbon-fill{stroke:#2b8894}
.artwork-master-renderer .lr-border-ribbon.north .lr-border-ribbon-highlight{stroke:#a6eceb}
.artwork-master-renderer .lr-border-ribbon.south .lr-border-ribbon-fill{stroke:#9f6f25}
.artwork-master-renderer .lr-border-ribbon.south .lr-border-ribbon-highlight{stroke:#f0c86b}
.artwork-master-renderer .lr-border-badge rect{fill:rgba(5,12,13,.88)!important;stroke:rgba(235,216,158,.5)!important;stroke-width:.10!important}
.artwork-master-renderer .lr-border-badge text{font-size:.84px!important;fill:#ead9a9!important;letter-spacing:.12em!important}

/* The interactive city button keeps a generous invisible tap target; the visible node is only ~1/3 of the old size. */
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city{
  width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;opacity:1!important;z-index:90!important;pointer-events:auto!important;transform:translate(-50%,-50%)!important
}
.artwork-master-renderer .lr-master-city-core{
  position:absolute!important;left:50%!important;top:50%!important;width:13px!important;height:13px!important;transform:translate(-50%,-50%)!important;
  border-radius:50%!important;border:1.2px solid #e6c97e!important;
  background:radial-gradient(circle at 32% 28%,#fff5d4 0 10%,#b78938 14%,#2c2618 33%,#080d0d 72%)!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.72),0 1px 4px rgba(0,0,0,.55),0 0 5px rgba(221,183,90,.22)!important
}
.artwork-master-renderer .lr-master-city-ring{inset:2px!important;border-color:rgba(255,238,185,.22)!important}
.artwork-master-renderer .lr-master-city-code{
  position:absolute!important;left:16px!important;top:50%!important;transform:translateY(-50%)!important;
  color:#ead9aa!important;font:900 6.4px/1 Arial,sans-serif!important;letter-spacing:.04em!important;text-shadow:0 1px 2px #000!important;white-space:nowrap!important
}
.artwork-master-renderer .lr-master-city-chip{display:none!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.current .lr-master-city-core,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.current .lr-master-city-core{
  border-color:#6ae8dc!important;box-shadow:0 0 0 1px rgba(0,0,0,.7),0 0 0 2px rgba(84,225,212,.20),0 0 8px rgba(84,225,212,.74)!important
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.preview .lr-master-city-core,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.preview .lr-master-city-core{
  border-color:#f2d77a!important;box-shadow:0 0 0 1px rgba(0,0,0,.7),0 0 7px rgba(242,215,122,.65)!important
}

/* Every one of the 66 route spaces remains visible as a tiny atlas marker, without turning into a stack of bubbles. */
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel{
  width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;background:transparent!important;border:0!important;box-shadow:none!important;opacity:1!important;z-index:55!important;transform:translate(-50%,-50%)!important
}
.artwork-master-renderer .lr-master-travel-core{
  position:absolute!important;left:50%!important;top:50%!important;width:4.5px!important;height:4.5px!important;transform:translate(-50%,-50%)!important;
  border-radius:50%!important;border:.7px solid rgba(239,221,170,.82)!important;background:#111816!important;box-shadow:0 0 0 .6px rgba(0,0,0,.7)!important
}
.artwork-master-renderer .lr-master-travel-dot{display:none!important}
.artwork-master-renderer .lr-master-trigger{font:900 4.2px/1 Arial,sans-serif!important;color:#f0dca8!important;text-shadow:none!important}

/* Crossover controls become compact atlas interchanges; premium nodes no longer dominate the map. */
.artwork-master-renderer .lr-crossover-gate{
  z-index:96!important;width:18px!important;height:18px!important;transform:translate(-50%,-50%) translate(10px,-10px)!important;
  border:1px solid rgba(239,216,158,.74)!important;border-radius:4px!important;background:linear-gradient(180deg,#332816,#11100c)!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.62),0 2px 5px rgba(0,0,0,.55)!important
}
.artwork-master-renderer .lr-crossover-gate span{font-size:8px!important}.artwork-master-renderer .lr-crossover-gate.usable{border-color:#64ddd2!important;box-shadow:0 0 0 1px rgba(0,0,0,.62),0 0 8px rgba(84,225,212,.56)!important}
.artwork-master-renderer .lr-crossover-city{
  z-index:88!important;width:28px!important;height:28px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#f0dda6!important
}
.artwork-master-renderer .lr-crossover-city b{
  width:13px!important;height:13px!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  background:radial-gradient(circle at 32% 28%,#fff5d3 0 10%,#ac7b31 14%,#2a2115 35%,#090d0d 75%)!important;border:1.2px solid #e5bb5d!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.7),0 0 5px rgba(230,186,84,.32)!important;font:900 4.7px/1 Arial,sans-serif!important
}
.artwork-master-renderer .lr-crossover-city i{top:3px!important;right:3px!important;font-size:5px!important}.artwork-master-renderer .lr-crossover-city small{display:none!important}

/* Start markers use the same compact road-atlas vocabulary. */
.lr-master-node.start-city.compact{min-width:24px!important;min-height:20px!important;padding:2px 4px!important;border-radius:8px!important;z-index:92!important}
.lr-master-node.start-city.compact>span{font-size:7px!important}.lr-master-node.start-city.compact>b{font-size:5.2px!important;max-width:38px!important}

/* Player/party pieces are ALWAYS the top board layer. */
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:400!important;pointer-events:none!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:350!important;pointer-events:none!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece{z-index:420!important;pointer-events:auto!important;isolation:isolate!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece{z-index:380!important;isolation:isolate!important}

/* More lifelike atlas background: no baked gameplay routes. */
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{filter:saturate(1.02) contrast(1.07) brightness(.96)!important}


/* ============================================================
   BORDER RUN v4.2.9n — PIECE CENTERED ON ACTIVE ROAD
   The route coordinate now represents the visual center of the selected
   vehicle/Tokin, not its lower edge. The piece remains the highest board layer.
   ============================================================ */
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 50%!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.ride-render,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.ride-render,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.token-3d,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.token-3d,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.tokin-game-piece,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.tokin-game-piece{
  left:0!important;top:0!important;
  width:100%!important;height:100%!important;
  margin:0!important;
}
/* Keep the logical road point at the exact center even during arrival/idle states. */
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:not(.master-moving),
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:not(.master-moving){
  translate:none!important;
}


/* ============================================================
   BORDER RUN v4.2.9p — LIFELIKE ATLAS + CLEAN HIGHWAY PASS
   All six highways share one dashed-road language, intermediate
   spaces recede into the pavement, border ribbons remain dominant,
   compact cities stay tappable, and pieces stay centered/topmost.
   ============================================================ */
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(.94) contrast(1.08) brightness(.76)!important;
  object-fit:fill!important;
}

/* One highway language for Pacific / High Plains / Gulf AND all crossovers. */
.artwork-master-renderer .lr-route-network .lr-route-shadow,
.artwork-master-renderer .lr-crossover-shadow{
  stroke:rgba(2,5,6,.82)!important;
  stroke-width:.42!important;
  stroke-dasharray:1.60 .90!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.72!important;
}
.artwork-master-renderer .lr-route-network .lr-route-line,
.artwork-master-renderer .lr-crossover-highway{
  stroke:#eadcb6!important;
  stroke-width:.20!important;
  stroke-dasharray:1.60 .90!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.96!important;
  filter:none!important;
}
.artwork-master-renderer .lr-route-network .lr-route-line.active{
  stroke:#fff0c2!important;
  stroke-width:.26!important;
  opacity:1!important;
  filter:drop-shadow(0 0 1px rgba(248,222,156,.48))!important;
}
.artwork-master-renderer .lr-route-start-feeders path{
  stroke:#eadcb6!important;
  stroke-width:.18!important;
  stroke-dasharray:1.45 .86!important;
  opacity:.80!important;
}

/* Regular movement spaces become tiny pavement points instead of a pearl/chain. */
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel{
  width:12px!important;height:12px!important;min-width:12px!important;min-height:12px!important;
  z-index:56!important;
}
.artwork-master-renderer .lr-master-node.travel .lr-master-travel-core{
  width:2.1px!important;height:2.1px!important;
  border:.34px solid rgba(245,226,178,.66)!important;
  background:rgba(16,20,18,.92)!important;
  box-shadow:0 0 0 .28px rgba(0,0,0,.68)!important;
}
.artwork-master-renderer .lr-master-node.travel .lr-master-trigger{
  display:none!important;
}
/* Important road spaces remain legible without becoming city-sized. */
.artwork-master-renderer .lr-master-node.travel.space-action .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-event .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-patrol .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-hustle .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-junction .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-checkpoint .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-garage .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-sell .lr-master-travel-core{
  width:4.1px!important;height:4.1px!important;
  border:.55px solid rgba(242,214,143,.90)!important;
  background:rgba(12,18,17,.97)!important;
  box-shadow:0 0 0 .45px rgba(0,0,0,.75),0 0 2.5px rgba(224,185,92,.20)!important;
}
.artwork-master-renderer .lr-master-node.travel.space-action .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-event .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-patrol .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-hustle .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-junction .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-checkpoint .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-garage .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-sell .lr-master-trigger{
  display:block!important;font-size:2.65px!important;line-height:1!important;color:#efdba6!important;
}

/* Compact city markers: unchanged tap area, quieter visual footprint. */
.artwork-master-renderer .lr-master-city-core{
  width:11.5px!important;height:11.5px!important;
  border-width:1px!important;
  box-shadow:0 0 0 .8px rgba(0,0,0,.72),0 1px 3px rgba(0,0,0,.52),0 0 4px rgba(225,190,103,.18)!important;
}
.artwork-master-renderer .lr-master-city-code{
  left:15px!important;font-size:5.8px!important;color:#eadcb2!important;
}

/* International borders are the deliberate thick ribbons now. */
.artwork-master-renderer .lr-border-ribbon-shadow{
  stroke:rgba(0,0,0,.82)!important;stroke-width:2.10!important;
}
.artwork-master-renderer .lr-border-ribbon-fill{
  stroke-width:1.42!important;opacity:.84!important;
}
.artwork-master-renderer .lr-border-ribbon-highlight{
  stroke-width:.28!important;opacity:.96!important;
}
.artwork-master-renderer .lr-border-ribbon.north .lr-border-ribbon-fill{stroke:#246f7b!important}
.artwork-master-renderer .lr-border-ribbon.north .lr-border-ribbon-highlight{stroke:#a8ecea!important}
.artwork-master-renderer .lr-border-ribbon.south .lr-border-ribbon-fill{stroke:#8e6122!important}
.artwork-master-renderer .lr-border-ribbon.south .lr-border-ribbon-highlight{stroke:#f1c86e!important}

/* Junctions read as compact interchanges, not oversized map furniture. */
.artwork-master-renderer .lr-crossover-gate{
  width:15px!important;height:15px!important;
  transform:translate(-50%,-50%) translate(8px,-8px)!important;
  border-width:.8px!important;border-radius:3px!important;
}
.artwork-master-renderer .lr-crossover-gate span{font-size:6.5px!important}

/* Piece positioning from v4.2.9n remains authoritative and topmost. */
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:500!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  z-index:520!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 50%!important;
}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:450!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece{z-index:470!important}


/* ============================================================
   BORDER RUN v4.2.9r — CARTOGRAPHIC ROUTES / SAVE RECOVERY / START FLOW
   ============================================================ */
.artwork-master-renderer .lr-route-network{z-index:3!important;pointer-events:none!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.54))!important}
.artwork-master-renderer .lr-art-board-overlay{z-index:20!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:600!important;isolation:isolate!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{z-index:620!important;isolation:isolate!important}
.artwork-master-renderer .lr-border-overlay{z-index:2!important;opacity:.72!important;mix-blend-mode:screen!important}
.artwork-master-renderer .lr-atlas-border-shadow{fill:none;stroke:rgba(0,0,0,.74);stroke-width:.72;stroke-linecap:round;stroke-linejoin:round}
.artwork-master-renderer .lr-atlas-border-line{fill:none;stroke:rgba(222,210,168,.62);stroke-width:.24;stroke-linecap:round;stroke-linejoin:round}
.artwork-master-renderer .lr-atlas-border-ticks{fill:none;stroke-width:.18;stroke-linecap:round;stroke-dasharray:.42 .72;opacity:.80}
.artwork-master-renderer .lr-atlas-border.north .lr-atlas-border-ticks{stroke:#6fc8cd}
.artwork-master-renderer .lr-atlas-border.south .lr-atlas-border-ticks{stroke:#d9ad57}
.artwork-master-renderer .lr-border-badge rect{fill:rgba(7,13,13,.58)!important;stroke:rgba(228,211,166,.18)!important;stroke-width:.08!important}
.artwork-master-renderer .lr-border-badge text{font-size:.78px!important;opacity:.72!important}
/* Retire every legacy border ribbon layer. */
.artwork-master-renderer .lr-border-ribbon,.artwork-master-renderer .lr-border-ribbon-shadow,.artwork-master-renderer .lr-border-ribbon-fill,.artwork-master-renderer .lr-border-ribbon-highlight{display:none!important}
/* Mexican re-up cities are permanent atlas landmarks, not conditional pawn markers. */
.artwork-master-renderer .lr-master-node.start-city.compact{display:grid!important;visibility:visible!important;opacity:.90!important;min-width:28px!important;min-height:22px!important;padding:3px 5px!important;z-index:28!important}
.artwork-master-renderer .lr-master-node.start-city.compact b{font-size:5.7px!important;max-width:46px!important}
.artwork-master-renderer .lr-master-node.start-city.compact>span{font-size:8px!important}
/* Same-direction highways occupy separate corridors; routes can snake without visually merging. */
.artwork-master-renderer .lr-route-line{stroke-linecap:round!important;stroke-linejoin:round!important}
.artwork-master-renderer .lr-crossover-highway{stroke-linecap:round!important;stroke-linejoin:round!important}


/* ============================================================
   BORDER RUN v4.2.9t — MAP CLEANUP + BULLETPROOF DICE CONTROL
   ============================================================ */
#lrPrimaryRoll,[data-lr-roll],#sideRollBtn{
  pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  position:relative!important;z-index:2147483000!important;isolation:isolate!important
}
.pr-bottom-nav{position:relative!important;z-index:2147482000!important;pointer-events:auto!important}
.pr-bottom-nav::before,.pr-bottom-nav::after{pointer-events:none!important}
#lrPrimaryRoll *{pointer-events:none!important}
.artwork-master-renderer .lr-route-network{z-index:8!important;pointer-events:none!important}
.artwork-master-renderer .lr-border-overlay{z-index:6!important;pointer-events:none!important;opacity:.48!important}
.artwork-master-renderer .lr-visible-board-nodes{position:relative!important;z-index:38!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:520!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:760!important;pointer-events:none!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{z-index:800!important;pointer-events:none!important}

/* Clean highway language: the dashed road carries the route; normal spaces are
   subtle studs instead of beads. Important action spaces remain legible. */
.artwork-master-renderer .lr-route-network .lr-route-shadow{stroke:#050706!important;stroke-width:.66!important;opacity:.68!important}
.artwork-master-renderer .lr-route-network .lr-route-line{
  stroke:#eadca8!important;stroke-width:.28!important;stroke-dasharray:1.18 .86!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.91!important
}
.artwork-master-renderer .lr-route-network .lr-route-line.active{stroke:#fff0b8!important;stroke-width:.34!important;opacity:1!important}
.artwork-master-renderer .lr-crossover-shadow{stroke:#050706!important;stroke-width:.64!important;opacity:.58!important}
.artwork-master-renderer .lr-crossover-highway{stroke:#e8dbac!important;stroke-width:.28!important;stroke-dasharray:1.15 .85!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.88!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel{
  width:9px!important;height:9px!important;min-width:9px!important;min-height:9px!important;opacity:.58!important
}
.artwork-master-renderer .lr-master-node.travel .lr-master-travel-core{
  width:5px!important;height:5px!important;border:1px solid rgba(233,216,166,.55)!important;
  background:rgba(22,25,20,.78)!important;box-shadow:0 1px 2px rgba(0,0,0,.75)!important
}
.artwork-master-renderer .lr-master-node.travel .lr-master-trigger{display:none!important}
.artwork-master-renderer .lr-master-node.travel.space-action,
.artwork-master-renderer .lr-master-node.travel.space-event,
.artwork-master-renderer .lr-master-node.travel.space-patrol,
.artwork-master-renderer .lr-master-node.travel.space-hustle,
.artwork-master-renderer .lr-master-node.travel.space-junction,
.artwork-master-renderer .lr-master-node.travel.space-checkpoint,
.artwork-master-renderer .lr-master-node.travel.space-garage,
.artwork-master-renderer .lr-master-node.travel.space-sell{width:13px!important;height:13px!important;opacity:1!important}
.artwork-master-renderer .lr-master-node.travel.space-action .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-event .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-patrol .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-hustle .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-junction .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-checkpoint .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-garage .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-sell .lr-master-travel-core{width:11px!important;height:11px!important;border-color:rgba(243,214,134,.90)!important;background:radial-gradient(circle at 35% 28%,#f6df9a 0 10%,#332a18 22%,#0d1110 70%)!important}
.artwork-master-renderer .lr-master-node.travel.space-action .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-event .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-patrol .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-hustle .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-junction .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-checkpoint .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-garage .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-sell .lr-master-trigger{display:block!important;font-size:6px!important;line-height:1!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important}
.artwork-master-renderer .lr-master-city-code{font-size:5.2px!important;letter-spacing:.02em!important}
.artwork-master-renderer .lr-master-city-chip{display:none!important}
.artwork-master-renderer .lr-crossover-gate{transform:translate(-50%,-50%) scale(.72)!important;z-index:46!important}
.artwork-master-renderer .lr-crossover-city{transform:translate(-50%,-50%) scale(.72)!important;z-index:45!important}
.artwork-master-renderer .lr-master-node.start-city.compact{
  display:grid!important;visibility:visible!important;opacity:.92!important;min-width:19px!important;min-height:17px!important;
  padding:2px 3px!important;border-radius:7px!important;background:rgba(8,12,11,.86)!important;z-index:42!important
}
.artwork-master-renderer .lr-master-node.start-city.compact>b{font-size:4.8px!important;max-width:24px!important}
.artwork-master-renderer .lr-master-node.start-city.compact>span{font-size:6px!important}
/* Keep route and border art from ever painting over the vehicle/Tokin. */
.artwork-master-renderer .lr-route-network,.artwork-master-renderer .lr-border-overlay{mix-blend-mode:normal!important}


/* ============================================================
   BORDER RUN v4.2.9t — BOARD LAYER / BOTTOM DOCK / LIVE DICE REPAIR
   ============================================================ */
/* v4.2.9s accidentally changed this full-map layer to position:relative.
   That gave it zero usable height and pushed every city/start node to the
   top edge. Restore the map-sized coordinate plane. */
.artwork-master-renderer .lr-visible-board-nodes{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:60!important;
  pointer-events:none!important;
  overflow:visible!important;
}
.artwork-master-renderer .lr-visible-board-nodes .lr-master-node{
  pointer-events:auto!important;
}
/* Invisible travel hit targets belong below visible city/start nodes. */
.artwork-master-renderer .lr-art-space-hit{z-index:34!important}
.artwork-master-renderer .lr-visible-board-nodes{z-index:64!important}
.artwork-master-renderer .lr-crossover-gate,.artwork-master-renderer .lr-crossover-city{z-index:70!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:520!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:760!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{z-index:800!important}

/* Keep the permanent system/dice dock at the bottom. The v4.2.9s generic
   z-index rule made .pr-bottom-nav position:relative and returned it to normal
   document flow, which is why it appeared across the top of the screenshot. */
body.portrait-reference-live .pr-bottom-nav{
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;top:auto!important;
  margin:0!important;
  z-index:900!important;
  pointer-events:auto!important;
}
body.landscape-reference-live .pr-bottom-nav{
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;top:auto!important;
  margin:0!important;
  z-index:900!important;
  pointer-events:auto!important;
}
.pr-bottom-nav::before,.pr-bottom-nav::after{pointer-events:none!important}
#lrPrimaryRoll,[data-lr-roll],#sideRollBtn{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  position:relative!important;
  z-index:920!important;
}
#lrPrimaryRoll *{pointer-events:none!important}

/* Node readability: compact but visible after the full-map layer is restored. */
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city{
  width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;
  opacity:1!important;
}
.artwork-master-renderer .lr-master-city-code{font-size:5.4px!important;color:#f1dea5!important}
.artwork-master-renderer .lr-master-node.start-city.compact{
  display:grid!important;visibility:visible!important;opacity:.96!important;
  min-width:20px!important;min-height:18px!important;z-index:66!important;
}


/* ============================================================
   BORDER RUN v4.2.9u — MEXICO NODES / TRUE DICE BUTTON / PIECE OCCLUSION
   ============================================================ */
/* The live node plane must be the full atlas, otherwise Mexico nodes collapse
   outside the coordinate system. Buttons remain individually interactive. */
.artwork-master-renderer .lr-visible-board-nodes{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  z-index:60!important;pointer-events:none!important;overflow:visible!important;
}
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node,
.artwork-master-renderer .lr-visible-board-nodes>.lr-crossover-city{
  position:absolute!important;pointer-events:auto!important;
}
.artwork-master-renderer .lr-master-node.start-city.compact{
  display:grid!important;visibility:visible!important;opacity:1!important;z-index:78!important;
  pointer-events:auto!important;
}
/* Roads and borders are always below the piece plane. */
.artwork-master-renderer .lr-route-network{z-index:4!important;pointer-events:none!important;mix-blend-mode:normal!important}
.artwork-master-renderer .lr-border-overlay{z-index:3!important;pointer-events:none!important}
.artwork-master-renderer .lr-art-board-overlay{z-index:20!important;isolation:isolate!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:700!important;pointer-events:none!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:900!important;pointer-events:none!important;isolation:isolate!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  z-index:920!important;pointer-events:auto!important;isolation:isolate!important;mix-blend-mode:normal!important;
}
/* Remove every pedestal/ground bar/shadow element under the local player's car. */
.lr-master-player-piece.lr-art-player .token3d-ground,
.lr-master-player-piece.lr-art-player .piece-shadow,
.lr-master-player-piece.lr-art-player .piece-plinth,
.lr-master-player-piece.lr-art-player .piece-contact-shadow,
.lr-master-player-piece.lr-art-player .tokin-shadow{
  display:none!important;content:none!important;opacity:0!important;box-shadow:none!important;background:none!important;
}
/* A soft map-colored occlusion plate blocks route dashes from visually cutting
   through transparent areas of the vehicle art without creating a visible bar. */
.lr-master-player-piece.lr-art-player::before{
  content:""!important;display:block!important;position:absolute!important;z-index:-1!important;
  left:50%!important;top:52%!important;width:92%!important;height:58%!important;transform:translate(-50%,-50%)!important;
  border-radius:50%!important;background:radial-gradient(ellipse at center,rgba(7,17,13,.92) 0%,rgba(7,17,13,.74) 52%,rgba(7,17,13,.22) 72%,transparent 84%)!important;
  filter:blur(1.2px)!important;pointer-events:none!important;
}
/* Permanent dice control is a real button above the dock on every input type. */
#lrPrimaryRoll{pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;user-select:none!important;-webkit-user-select:none!important}
#lrPrimaryRoll.ready,#lrPrimaryRoll:not([disabled]){filter:none!important;opacity:1!important}

/* ============================================================
   BORDER RUN v4.2.9v — PORTRAIT MAP / MEXICO / DOCK CLEANUP
   Fixes the issues visible in the 2026-09-03 portrait capture:
   - all 12 Mexican markets remain visible and connected;
   - road spaces no longer read as a necklace of large rings;
   - east-edge city labels stay inside the atlas;
   - vehicle art has no pedestal/bar in the map or dock;
   - the dice/menu dock respects phone safe edges and compact labels;
   - border graphics recede into the atlas instead of reading as UI bars.
   ============================================================ */

/* An older high-specificity v4.2.9h rule hid every non-current Mexico city.
   This selector intentionally outranks it. */
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node.start-city.compact:not(.current):not(.occupied),
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node.start-city.compact.current,
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node.start-city.compact.occupied{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
}
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node.start-city.compact{
  width:28px!important;min-width:28px!important;height:22px!important;min-height:22px!important;
  padding:2px 3px!important;border-radius:7px!important;
  background:linear-gradient(180deg,rgba(22,20,13,.96),rgba(7,12,10,.96))!important;
  border:1px solid rgba(228,197,118,.70)!important;
  box-shadow:0 2px 5px rgba(0,0,0,.58)!important;
  transform:translate(-50%,-50%)!important;
  z-index:82!important;
}
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node.start-city.compact>b{
  max-width:24px!important;font-size:5.5px!important;letter-spacing:.02em!important;
}
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node.start-city.compact>span{font-size:6px!important}

/* Mexico feeder roads remain part of the board at all times. Four south-side
   markets merge into one gate per corridor, so same-direction roads do not
   cross each other. */
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-trunk,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-branch{
  stroke:#e8d9ad!important;stroke-width:.20!important;stroke-dasharray:1.45 .86!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.74!important;
}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-trunk.active,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-branch.selected{
  stroke:#fff0bd!important;stroke-width:.25!important;opacity:.96!important;
}

/* The clickable button stays generous, but only the inner pavement marker is
   painted. This removes the large ring around every ordinary movement space. */
body.landscape-reference-live .artwork-master-renderer .lr-master-node.travel,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.travel{
  width:12px!important;height:12px!important;min-width:12px!important;min-height:12px!important;
  padding:0!important;border:0!important;border-radius:50%!important;background:none!important;
  box-shadow:none!important;outline:0!important;opacity:1!important;
}
.artwork-master-renderer .lr-master-node.travel .lr-master-travel-core{
  width:3.2px!important;height:3.2px!important;border:.55px solid rgba(235,217,169,.74)!important;
  border-radius:50%!important;background:#121713!important;box-shadow:0 1px 1px rgba(0,0,0,.72)!important;
}
.artwork-master-renderer .lr-master-node.travel.space-action .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-event .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-patrol .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-hustle .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-junction .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-checkpoint .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-garage .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-sell .lr-master-travel-core{
  width:8px!important;height:8px!important;border:1px solid rgba(244,218,150,.88)!important;
  background:radial-gradient(circle at 36% 30%,#f0da98 0 10%,#302718 22%,#0c1110 72%)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.70)!important;
}
.artwork-master-renderer .lr-master-node.travel.space-action .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-event .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-patrol .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-hustle .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-junction .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-checkpoint .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-garage .lr-master-trigger,
.artwork-master-renderer .lr-master-node.travel.space-sell .lr-master-trigger{
  display:block!important;font-size:4px!important;line-height:1!important;
}

/* City destinations are distinct atlas nodes, not oversized pills. */
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city{
  width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
  padding:0!important;border:0!important;border-radius:50%!important;background:none!important;
  box-shadow:none!important;overflow:visible!important;
}
.artwork-master-renderer .lr-master-city-core{width:12px!important;height:12px!important}
.artwork-master-renderer .lr-master-city-code{left:15px!important;right:auto!important;font-size:5.7px!important;white-space:nowrap!important}
.artwork-master-renderer .lr-master-node.city.route-east .lr-master-city-code{
  left:auto!important;right:15px!important;text-align:right!important;
}

/* Borders should read as printed atlas detail rather than horizontal UI bars. */
.artwork-master-renderer .lr-border-overlay{opacity:.36!important;mix-blend-mode:normal!important}
.artwork-master-renderer .lr-atlas-border-shadow{stroke-width:.52!important;stroke:rgba(0,0,0,.58)!important}
.artwork-master-renderer .lr-atlas-border-line{stroke-width:.18!important;stroke:rgba(222,210,168,.46)!important}
.artwork-master-renderer .lr-atlas-border-ticks{stroke-width:.13!important;opacity:.55!important}
.artwork-master-renderer .lr-border-badge rect{display:none!important}
.artwork-master-renderer .lr-border-badge text{font-size:.72px!important;fill:rgba(232,220,180,.60)!important;text-shadow:none!important}

/* Keep road art beneath the local piece without creating a visible pedestal or
   dark bar. The occlusion patch is deliberately small and feathered. */
.lr-master-player-piece.lr-art-player::after{content:none!important;display:none!important}
.lr-master-player-piece.lr-art-player::before{
  width:78%!important;height:38%!important;top:57%!important;
  background:radial-gradient(ellipse at center,rgba(7,17,13,.76) 0%,rgba(7,17,13,.45) 52%,rgba(7,17,13,.12) 72%,transparent 86%)!important;
  filter:blur(1px)!important;
}
.live-vehicle-nav-piece .token3d-ground,
.live-vehicle-nav-piece .piece-shadow,
.live-vehicle-nav-piece .piece-plinth,
.live-vehicle-nav-piece .piece-contact-shadow,
.live-vehicle-nav-piece .tokin-shadow{
  display:none!important;visibility:hidden!important;opacity:0!important;background:none!important;box-shadow:none!important;
}

/* Compact portrait legend: useful when opened, unobtrusive when collapsed. */
body.portrait-reference-live .pr-live-legend.collapsed{width:58px!important;padding:3px!important}
body.portrait-reference-live .pr-live-legend.collapsed .pr-live-legend-toggle{min-height:28px!important;font-size:8px!important;border-radius:7px!important}

/* Phone-safe top and bottom control lanes. Nothing should touch or disappear
   beyond the right edge, including the global menu and required-action dice. */
body.portrait-reference-live .br-global-menu-launcher{
  right:max(8px,env(safe-area-inset-right,0px))!important;
}
body.portrait-reference-live .pr-top-actions{
  right:calc(max(8px,env(safe-area-inset-right,0px)) + 46px)!important;
}
body.portrait-reference-live .pr-bottom-nav{
  left:max(4px,env(safe-area-inset-left,0px))!important;
  right:max(4px,env(safe-area-inset-right,0px))!important;
  width:auto!important;max-width:none!important;box-sizing:border-box!important;
  padding-left:4px!important;padding-right:4px!important;gap:3px!important;
  border-radius:11px 11px 0 0!important;overflow:hidden!important;
}
body.portrait-reference-live .pr-bottom-nav>button{
  min-width:0!important;max-width:100%!important;width:auto!important;overflow:hidden!important;
}
body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll>small{display:none!important}
body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll.pre-roll-blocked b:after{content:none!important;display:none!important}
body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll>b{
  max-width:100%!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}

@media(max-width:430px){
  body.portrait-reference-live .pr-bottom-nav>button>b{font-size:6.1px!important;letter-spacing:.025em!important}
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll>b{font-size:6.4px!important}
}


/* ============================================================
   BORDER RUN v4.2.9w — BOARD-LOCKED PAWN + TRUE TABLETOP ROLL
   ============================================================ */
/* The local pawn is a physical board object. Its route coordinate is always the
   center of the piece, and the entire player plane shares the exact map-sized
   coordinate system used by the SVG route network and visible board nodes. */
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  overflow:visible!important;z-index:980!important;pointer-events:none!important;isolation:isolate!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  position:absolute!important;right:auto!important;bottom:auto!important;margin:0!important;
  transform:translate(-50%,-50%)!important;transform-origin:50% 50%!important;
  translate:none!important;z-index:1000!important;pointer-events:auto!important;
  overflow:visible!important;contain:none!important;isolation:isolate!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.ride-render,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.ride-render,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.token-3d,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.token-3d,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.tokin-game-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.tokin-game-piece{
  position:absolute!important;left:0!important;top:0!important;right:auto!important;bottom:auto!important;
  width:100%!important;height:100%!important;margin:0!important;transform-origin:50% 50%!important;
}
/* The road is genuinely underneath the pawn. Only a tight under-body mask is
   used so a dashed route cannot visually print through transparent vehicle art;
   it does not shift or pedestal the piece. */
.lr-master-player-piece.lr-art-player::after{content:none!important;display:none!important}
.lr-master-player-piece.lr-art-player::before{
  content:""!important;display:block!important;position:absolute!important;z-index:-1!important;
  left:50%!important;top:58%!important;width:62%!important;height:22%!important;
  transform:translate(-50%,-50%)!important;border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(7,17,13,.88) 0%,rgba(7,17,13,.52) 56%,rgba(7,17,13,.15) 76%,transparent 90%)!important;
  filter:blur(.8px)!important;pointer-events:none!important;
}
.artwork-master-renderer .lr-route-network{z-index:4!important;pointer-events:none!important}
.artwork-master-renderer .lr-art-board-overlay{z-index:20!important}

/* A throw now lands, bounces, and then ROLLS across the tabletop. The outer
   flight handles ground travel while the inner cube turns through multiple full
   revolutions before settling on the predetermined result face. */
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a{
  animation:v429wGroundRollFlightA 1.68s cubic-bezier(.12,.69,.16,1) both!important;
}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b{
  animation:v429wGroundRollFlightB 1.68s cubic-bezier(.12,.69,.16,1) both!important;
}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a .br3d-spin-shell{
  animation:v429wCubeRollA 1.68s linear both!important;
}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b .br3d-spin-shell{
  animation:v429wCubeRollB 1.68s linear both!important;
}
@keyframes v429wGroundRollFlightA{
  0%{transform:translate3d(-126px,-278px,205px) scale(.58);opacity:.16}
  28%{transform:translate3d(-92px,-112px,105px) scale(.91);opacity:1}
  47%{transform:translate3d(-72px,2px,0) scale(1.055)}
  58%{transform:translate3d(-42px,-24px,34px) scale(1.015)}
  68%{transform:translate3d(-12px,1px,0) scale(1.025)}
  78%{transform:translate3d(22px,-10px,14px) scale(1.008)}
  87%{transform:translate3d(12px,1px,0) scale(1.005)}
  94%{transform:translate3d(-5px,-3px,5px) scale(1.002)}
  100%{transform:translate3d(0,0,0) scale(1);opacity:1}
}
@keyframes v429wGroundRollFlightB{
  0%{transform:translate3d(132px,-292px,215px) scale(.56);opacity:.16}
  27%{transform:translate3d(96px,-118px,112px) scale(.92);opacity:1}
  46%{transform:translate3d(76px,1px,0) scale(1.055)}
  57%{transform:translate3d(45px,-22px,32px) scale(1.015)}
  68%{transform:translate3d(14px,2px,0) scale(1.025)}
  78%{transform:translate3d(-24px,-9px,13px) scale(1.008)}
  87%{transform:translate3d(-13px,1px,0) scale(1.005)}
  94%{transform:translate3d(5px,-3px,5px) scale(1.002)}
  100%{transform:translate3d(0,0,0) scale(1);opacity:1}
}
@keyframes v429wCubeRollA{
  0%{transform:rotateX(22deg) rotateY(-28deg) rotateZ(-8deg)}
  24%{transform:rotateX(382deg) rotateY(456deg) rotateZ(154deg)}
  47%{transform:rotateX(742deg) rotateY(842deg) rotateZ(312deg)}
  68%{transform:rotateX(1078deg) rotateY(1216deg) rotateZ(468deg)}
  84%{transform:rotateX(1328deg) rotateY(1492deg) rotateZ(586deg)}
  100%{transform:rotateX(calc(var(--die-rx) + 1440deg)) rotateY(calc(var(--die-ry) + 1800deg)) rotateZ(calc(var(--die-rz) + 720deg))}
}
@keyframes v429wCubeRollB{
  0%{transform:rotateX(-18deg) rotateY(30deg) rotateZ(9deg)}
  24%{transform:rotateX(-390deg) rotateY(448deg) rotateZ(-160deg)}
  47%{transform:rotateX(-756deg) rotateY(854deg) rotateZ(-324deg)}
  68%{transform:rotateX(-1094deg) rotateY(1232deg) rotateZ(-482deg)}
  84%{transform:rotateX(-1346deg) rotateY(1510deg) rotateZ(-602deg)}
  100%{transform:rotateX(calc(var(--die-rx) - 1440deg)) rotateY(calc(var(--die-ry) + 1800deg)) rotateZ(calc(var(--die-rz) - 720deg))}
}
/* Shadows stretch on the drop, tighten at first contact, then chase the rolling
   cubes so the motion reads as weight on a surface instead of two falling cards. */
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-pair-shadow{
  animation:v429wRollingShadow 1.68s ease-in-out both!important;
}
@keyframes v429wRollingShadow{
  0%{opacity:.10;transform:translate(-50%,-50%) scale(.45)}
  42%{opacity:.35;transform:translate(-50%,-50%) scale(.78)}
  49%{opacity:.68;transform:translate(-50%,-50%) scale(1.16,.78)}
  62%{opacity:.40;transform:translate(-50%,-50%) scale(.93)}
  72%{opacity:.62;transform:translate(-50%,-50%) scale(1.08,.86)}
  84%{opacity:.48;transform:translate(-50%,-50%) scale(.98)}
  100%{opacity:.54;transform:translate(-50%,-50%) scale(1)}
}
/* v4.2.9w impact must outrank the still-present .rolling class. setPhysicalDie()
   rebuilds the inner shell at contact, so this rule prevents a second throw
   animation from starting during the 300ms impact beat. */
body>#boardDiceOverlay.separate-dice-screen.rolling.impact .dice-flight-a .br3d-spin-shell{
  animation:v429wImpactA .30s cubic-bezier(.18,.78,.22,1) both!important;
}
body>#boardDiceOverlay.separate-dice-screen.rolling.impact .dice-flight-b .br3d-spin-shell{
  animation:v429wImpactB .30s cubic-bezier(.18,.78,.22,1) both!important;
}
@keyframes v429wImpactA{
  0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
  42%{transform:rotateX(calc(var(--die-rx) + 7deg)) rotateY(calc(var(--die-ry) - 8deg)) rotateZ(calc(var(--die-rz) + 4deg)) scale3d(1.07,.91,1.03)}
  72%{transform:rotateX(calc(var(--die-rx) - 3deg)) rotateY(calc(var(--die-ry) + 4deg)) rotateZ(calc(var(--die-rz) - 2deg)) scale3d(.99,1.025,1)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
}
@keyframes v429wImpactB{
  0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
  42%{transform:rotateX(calc(var(--die-rx) - 7deg)) rotateY(calc(var(--die-ry) + 8deg)) rotateZ(calc(var(--die-rz) - 4deg)) scale3d(1.07,.91,1.03)}
  72%{transform:rotateX(calc(var(--die-rx) + 3deg)) rotateY(calc(var(--die-ry) - 4deg)) rotateZ(calc(var(--die-rz) + 2deg)) scale3d(.99,1.025,1)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
}
body>#boardDiceOverlay.separate-dice-screen.landed .dice-flight-a .br3d-spin-shell,
body>#boardDiceOverlay.separate-dice-screen.landed .dice-flight-b .br3d-spin-shell{
  animation:none!important;
  transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))!important;
}


/* ============================================================
   BORDER RUN v4.2.9x — EXACT BOARD ANCHORS / ROUTE CUTOUT / TRUE 3D DICE
   ============================================================ */
/* The pawn plane stays above every road/border/node plane. The road itself is
   now punched out in SVG under the pawn, so no fake oval or pedestal is needed. */
.artwork-master-renderer .lr-route-network{z-index:4!important;pointer-events:none!important;overflow:visible!important}
.artwork-master-renderer .lr-art-board-overlay{z-index:20!important;isolation:isolate!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1200!important;pointer-events:none!important;overflow:visible!important;isolation:isolate!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  z-index:1220!important;transform:translate(-50%,-50%)!important;transform-origin:50% 50%!important;
  overflow:visible!important;contain:none!important;pointer-events:auto!important;isolation:isolate!important;
}
/* Retire every prior under-car paint patch. The SVG road mask is invisible and
   does the occlusion without painting anything on top of the map art. */
.lr-master-player-piece.lr-art-player::before,
.lr-master-player-piece.lr-art-player::after{content:none!important;display:none!important;background:none!important;box-shadow:none!important;filter:none!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.ride-render,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.ride-render,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.token-3d,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.token-3d,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.tokin-game-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player>.tokin-game-piece{
  position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:2!important;
}

/* Mexico cities sit on the atlas landmass and remain compact/readable. */
.artwork-master-renderer .lr-master-node.start-city.compact{z-index:84!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-trunk,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-branch{stroke-linecap:round!important;stroke-linejoin:round!important}
.artwork-master-renderer .lr-atlas-border.south .lr-atlas-border-line{stroke:rgba(225,207,157,.58)!important;stroke-width:.18!important}
.artwork-master-renderer .lr-atlas-border.south .lr-atlas-border-shadow{stroke-width:.42!important;opacity:.42!important}
.artwork-master-renderer .lr-atlas-border.south .lr-atlas-border-ticks{stroke:#caa55e!important;stroke-width:.11!important;stroke-dasharray:.32 .62!important;opacity:.54!important}

/* Real six-face dice. This explicitly outranks the later photoreal-flat rules
   that forced transform-style:flat in older builds. */
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die{
  position:relative!important;width:var(--die-size)!important;height:var(--die-size)!important;
  transform:none!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;
  filter:drop-shadow(17px 22px 11px rgba(0,0,0,.62))!important;
}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .true-cube-spin-shell{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  transform-origin:50% 50%!important;will-change:transform!important;
  transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz));
}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;box-sizing:border-box!important;
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important;
  padding:14%!important;border:4px solid var(--br-die-edge,#d8c184)!important;border-radius:18%!important;
  background:var(--br-die-surface,linear-gradient(145deg,#f2e8c9,#b49d69))!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  box-shadow:inset 10px 10px 14px rgba(255,255,255,.20),inset -13px -15px 16px rgba(0,0,0,.24),0 0 0 1px rgba(10,8,5,.42)!important;
}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-front{transform:translateZ(var(--die-half))!important;filter:brightness(1.08)}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-back{transform:rotateY(180deg) translateZ(var(--die-half))!important;filter:brightness(.60)}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-right{transform:rotateY(90deg) translateZ(var(--die-half))!important;filter:brightness(.79)}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-left{transform:rotateY(-90deg) translateZ(var(--die-half))!important;filter:brightness(.72)}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-top{transform:rotateX(90deg) translateZ(var(--die-half))!important;filter:brightness(1.20)}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-bottom{transform:rotateX(-90deg) translateZ(var(--die-half))!important;filter:brightness(.52)}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i{
  display:block!important;place-self:center!important;width:clamp(9px,40%,18px)!important;aspect-ratio:1!important;height:auto!important;
  border-radius:50%!important;background:radial-gradient(circle at 38% 30%,var(--br-die-pip-shine,#fff) 0 8%,var(--br-die-pip,#fff) 25% 56%,var(--br-die-pip-shade,rgba(0,0,0,.4)) 100%)!important;
  box-shadow:inset 1.5px 1.5px 2px var(--br-die-pip-shine,#fff),inset -2px -2px 3px var(--br-die-pip-shade,rgba(0,0,0,.4)),0 2px 2px rgba(0,0,0,.48)!important;
  transform:translateZ(1px)!important;
}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i.p1{grid-area:1/1}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i.p3{grid-area:1/3}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i.p4{grid-area:2/1}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i.p5{grid-area:2/2}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i.p6{grid-area:2/3}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i.p7{grid-area:3/1}
body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i.p9{grid-area:3/3}

/* Clearly visible throw -> corner impact -> multi-axis tumble -> short rolls. */
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a{animation:v429xFlightA 1.98s cubic-bezier(.12,.70,.16,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b{animation:v429xFlightB 1.98s cubic-bezier(.12,.70,.16,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a .true-cube-spin-shell{animation:v429xTumbleA 1.98s cubic-bezier(.12,.58,.16,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b .true-cube-spin-shell{animation:v429xTumbleB 1.98s cubic-bezier(.12,.58,.16,1) both!important}
@keyframes v429xFlightA{
  0%{transform:translate3d(-132px,-300px,225px) scale(.54);opacity:.08}
  24%{transform:translate3d(-98px,-148px,126px) scale(.86);opacity:1}
  43%{transform:translate3d(-68px,-18px,20px) scale(1.04)}
  50%{transform:translate3d(-48px,5px,0) scale(1.07)}
  60%{transform:translate3d(-18px,-38px,46px) scale(1.02)}
  70%{transform:translate3d(18px,4px,0) scale(1.03)}
  79%{transform:translate3d(44px,-17px,18px) scale(1.01)}
  88%{transform:translate3d(20px,2px,0) scale(1.008)}
  95%{transform:translate3d(-8px,-5px,6px) scale(1.003)}
  100%{transform:translate3d(0,0,0) scale(1);opacity:1}
}
@keyframes v429xFlightB{
  0%{transform:translate3d(138px,-312px,232px) scale(.52);opacity:.08}
  24%{transform:translate3d(104px,-153px,132px) scale(.87);opacity:1}
  43%{transform:translate3d(72px,-20px,22px) scale(1.04)}
  50%{transform:translate3d(51px,5px,0) scale(1.07)}
  60%{transform:translate3d(20px,-36px,44px) scale(1.02)}
  70%{transform:translate3d(-18px,4px,0) scale(1.03)}
  79%{transform:translate3d(-46px,-16px,17px) scale(1.01)}
  88%{transform:translate3d(-21px,2px,0) scale(1.008)}
  95%{transform:translate3d(8px,-5px,6px) scale(1.003)}
  100%{transform:translate3d(0,0,0) scale(1);opacity:1}
}
@keyframes v429xTumbleA{
  0%{transform:rotateX(18deg) rotateY(-22deg) rotateZ(-9deg)}
  18%{transform:rotateX(305deg) rotateY(390deg) rotateZ(126deg)}
  38%{transform:rotateX(690deg) rotateY(815deg) rotateZ(285deg)}
  55%{transform:rotateX(1035deg) rotateY(1190deg) rotateZ(438deg)}
  70%{transform:rotateX(1355deg) rotateY(1540deg) rotateZ(585deg)}
  84%{transform:rotateX(1615deg) rotateY(1820deg) rotateZ(704deg)}
  93%{transform:rotateX(1765deg) rotateY(1974deg) rotateZ(776deg)}
  100%{transform:rotateX(calc(var(--die-rx) + 1800deg)) rotateY(calc(var(--die-ry) + 2160deg)) rotateZ(calc(var(--die-rz) + 720deg))}
}
@keyframes v429xTumbleB{
  0%{transform:rotateX(-16deg) rotateY(26deg) rotateZ(10deg)}
  18%{transform:rotateX(-318deg) rotateY(378deg) rotateZ(-132deg)}
  38%{transform:rotateX(-708deg) rotateY(828deg) rotateZ(-294deg)}
  55%{transform:rotateX(-1058deg) rotateY(1210deg) rotateZ(-450deg)}
  70%{transform:rotateX(-1384deg) rotateY(1562deg) rotateZ(-600deg)}
  84%{transform:rotateX(-1648deg) rotateY(1840deg) rotateZ(-718deg)}
  93%{transform:rotateX(-1798deg) rotateY(1998deg) rotateZ(-790deg)}
  100%{transform:rotateX(calc(var(--die-rx) - 1800deg)) rotateY(calc(var(--die-ry) + 2160deg)) rotateZ(calc(var(--die-rz) - 720deg))}
}
body>#boardDiceOverlay.separate-dice-screen.rolling.impact .dice-flight-a .true-cube-spin-shell{animation:v429xImpactA .32s cubic-bezier(.18,.78,.22,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling.impact .dice-flight-b .true-cube-spin-shell{animation:v429xImpactB .32s cubic-bezier(.18,.78,.22,1) both!important}
@keyframes v429xImpactA{0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}45%{transform:rotateX(calc(var(--die-rx) + 8deg)) rotateY(calc(var(--die-ry) - 9deg)) rotateZ(calc(var(--die-rz) + 5deg)) scale3d(1.07,.91,1.03)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
@keyframes v429xImpactB{0%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}45%{transform:rotateX(calc(var(--die-rx) - 8deg)) rotateY(calc(var(--die-ry) + 9deg)) rotateZ(calc(var(--die-rz) - 5deg)) scale3d(1.07,.91,1.03)}100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))}}
body>#boardDiceOverlay.separate-dice-screen.landed .true-cube-spin-shell{animation:none!important;transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))!important}
@media(max-width:520px){
  body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face{border-width:3px!important;padding:13%!important}
  body>#boardDiceOverlay.separate-dice-screen .true-3d-die .br3d-face i{width:clamp(8px,38%,15px)!important}
}

/* ============================================================
   BORDER RUN v4.2.9y — CLEAR DAY / NIGHT + MANUAL ROLL GATE
   ============================================================ */
/* The atlas is the dominant visual, so lighting must act directly on the atlas
   image and the master zoom stage. Earlier generic graphical-world rules did
   not visibly affect this renderer after the artwork-reference overrides. */
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  transition:filter .55s ease,opacity .55s ease!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after{
  transition:background .55s ease,box-shadow .55s ease!important;
}
/* DAY: visibly open, warmer and easier to read. */
body.time-day.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.time-day.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(1.08) contrast(1.02) brightness(1.18) sepia(.025)!important;
  opacity:1!important;
}
body.time-day.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.time-day.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after{
  background:linear-gradient(180deg,rgba(255,221,143,.08),rgba(232,201,118,.025) 42%,rgba(21,28,21,.02))!important;
  box-shadow:inset 0 0 70px rgba(245,205,116,.06)!important;
}
/* DAWN: peach horizon glow without looking like full daylight. */
body.time-dawn.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.time-dawn.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(1.06) contrast(1.03) brightness(.96) sepia(.10)!important;
  opacity:.98!important;
}
body.time-dawn.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.time-dawn.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after{
  background:linear-gradient(180deg,rgba(234,141,93,.16),rgba(242,192,124,.07) 34%,rgba(18,26,24,.10) 72%)!important;
  box-shadow:inset 0 0 80px rgba(234,147,91,.10)!important;
}
/* DUSK: amber-violet transition, clearly darker than day. */
body.time-dusk.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.time-dusk.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(1.10) contrast(1.08) brightness(.72) sepia(.05) hue-rotate(-5deg)!important;
  opacity:.96!important;
}
body.time-dusk.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.time-dusk.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after{
  background:linear-gradient(180deg,rgba(83,52,104,.23),rgba(193,93,56,.14) 39%,rgba(10,17,21,.30) 78%,rgba(4,9,13,.42))!important;
  box-shadow:inset 0 0 100px rgba(15,8,24,.28)!important;
}
/* NIGHT: unmistakable blue-black road board with readable route reflectors. */
body.time-dark.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.time-dark.landscape-reference-live .artwork-master-renderer .lr-map-art-crop,
body.time-night.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.time-night.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(.82) contrast(1.20) brightness(.43) hue-rotate(9deg)!important;
  opacity:.96!important;
}
body.time-dark.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.time-dark.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.time-night.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.time-night.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after{
  background:
    radial-gradient(ellipse at 50% 54%,transparent 26%,rgba(0,5,11,.28) 70%,rgba(0,3,8,.56) 100%),
    linear-gradient(180deg,rgba(4,18,31,.30),rgba(2,11,20,.48) 60%,rgba(1,7,14,.62))!important;
  box-shadow:inset 0 0 140px rgba(0,4,11,.60)!important;
}
body.time-dark .artwork-master-renderer .lr-route-network .lr-route-line,
body.time-night .artwork-master-renderer .lr-route-network .lr-route-line{
  stroke:#f6e7b4!important;opacity:.96!important;
  filter:drop-shadow(0 0 .55px rgba(255,233,167,.72))!important;
}
body.time-dark .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.time-night .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.time-dark .artwork-master-renderer .lr-master-node.travel .lr-master-travel-core,
body.time-night .artwork-master-renderer .lr-master-node.travel .lr-master-travel-core{
  filter:brightness(1.12) drop-shadow(0 0 2px rgba(236,207,126,.35))!important;
}
/* Small explicit phase label in the always-visible telemetry. */
.lr-phase-mini,.desktop-phase-mini{font-style:normal!important;white-space:nowrap!important}
.lr-metric.day>b{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important}
.lr-phase-mini{font:900 6.2px/1 Arial,sans-serif!important;letter-spacing:.08em!important;padding:3px 5px!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;color:#e9dcad!important;border:1px solid rgba(233,211,150,.20)!important}
.lr-metric.day.phase-day .lr-phase-mini{background:rgba(255,205,82,.15)!important;color:#ffe08a!important;border-color:rgba(255,209,92,.34)!important}
.lr-metric.day.phase-dawn .lr-phase-mini{background:rgba(224,139,94,.16)!important;color:#ffd0a6!important;border-color:rgba(238,158,109,.34)!important}
.lr-metric.day.phase-dusk .lr-phase-mini{background:rgba(168,89,78,.19)!important;color:#ffc4a1!important;border-color:rgba(208,112,91,.38)!important}
.lr-metric.day.phase-dark .lr-phase-mini{background:rgba(52,113,142,.20)!important;color:#aeeaf4!important;border-color:rgba(94,190,210,.40)!important;box-shadow:0 0 10px rgba(67,189,212,.12)!important}
.desktop-reference-telemetry .telemetry-cell.day>span{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.desktop-phase-mini{font:900 7px/1 Arial,sans-serif!important;letter-spacing:.08em!important;color:#8bdedc!important}

/* Mexico labels remain on land and do not collide at fit-map scale. */
.artwork-master-renderer .lr-master-node.start-city.compact{
  min-width:32px!important;max-width:38px!important;min-height:22px!important;padding:3px 5px!important;
}
@media(max-width:430px){
  .artwork-master-renderer .lr-master-node.start-city.compact{min-width:29px!important;max-width:34px!important;padding:2px 4px!important}
}

/* ============================================================
   BORDER RUN v4.2.9za — VISUALLY RENDERED HIGHWAYS
   ============================================================ */
/* Final route treatment: replace dotted route art with highway rendering in
   both the atlas board and the live board. The local piece remains above this
   network because only the road layer is restyled. */
.artwork-master-renderer .lr-route-network{z-index:8!important;pointer-events:none!important;overflow:visible!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.58))!important}
.artwork-master-renderer .lr-route-network .lr-route-shadow,
.artwork-master-renderer .lr-crossover-shadow,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shadow{
  fill:none!important;stroke:rgba(3,6,6,.78)!important;stroke-width:1.28!important;opacity:.84!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-route-network .lr-route-highway-shoulder,
.artwork-master-renderer .lr-crossover-highway-shoulder,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shoulder{
  fill:none!important;stroke:rgba(28,24,17,.96)!important;stroke-width:1.06!important;opacity:.96!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-route-network .lr-route-highway-bed,
.artwork-master-renderer .lr-crossover-highway-bed,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed{
  fill:none!important;stroke:#595650!important;stroke-width:.78!important;opacity:.98!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-route-network .lr-route-highway-center,
.artwork-master-renderer .lr-crossover-highway-center,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center{
  fill:none!important;stroke:#edd690!important;stroke-width:.16!important;stroke-dasharray:1.1 .76!important;opacity:.94!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-route-network .lr-route-highway-edge,
.artwork-master-renderer .lr-crossover-highway-edge{
  fill:none!important;stroke:rgba(248,241,213,.16)!important;stroke-width:.90!important;opacity:.28!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-route-network .lr-route-highway-bed.active,
.artwork-master-renderer .lr-crossover-highway-bed.active,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed.active,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed.selected{
  stroke:#66625a!important;opacity:1!important
}
.artwork-master-renderer .lr-route-network .lr-route-highway-center.active,
.artwork-master-renderer .lr-crossover-highway-center.active,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center.active,
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center.selected{
  stroke:#fff0bc!important;stroke-width:.19!important;opacity:1!important
}
body.time-dark .artwork-master-renderer .lr-route-network .lr-route-highway-bed,
body.time-night .artwork-master-renderer .lr-route-network .lr-route-highway-bed,
body.time-dark .artwork-master-renderer .lr-crossover-highway-bed,
body.time-night .artwork-master-renderer .lr-crossover-highway-bed,
body.time-dark .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed,
body.time-night .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed{stroke:#4d4c47!important}
body.time-dark .artwork-master-renderer .lr-route-network .lr-route-highway-center,
body.time-night .artwork-master-renderer .lr-route-network .lr-route-highway-center,
body.time-dark .artwork-master-renderer .lr-crossover-highway-center,
body.time-night .artwork-master-renderer .lr-crossover-highway-center,
body.time-dark .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center,
body.time-night .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center{
  stroke:#e8d38c!important;opacity:.88!important;filter:drop-shadow(0 0 1px rgba(255,230,156,.10))!important
}

/* Live board roads: thicker asphalt bed with a true center stripe so zoomed-in
   map play reads as driving on highways instead of following dotted ropes. */
.graphical-world-board .living-roads{filter:drop-shadow(0 2px 2px rgba(0,0,0,.52))!important}
.graphical-world-board .road-biome-shoulder{
  stroke:#201b15!important;stroke-width:4.2!important;opacity:.96!important;filter:none!important
}
.graphical-world-board .road-biome-segment{
  stroke:#5a5750!important;stroke-width:3.05!important;opacity:.99!important;filter:none!important
}
.graphical-world-board .road-biome-center{
  stroke:#efd98f!important;stroke-width:.34!important;stroke-dasharray:1.4 1.05!important;opacity:.95!important;filter:none!important
}
body.time-dark .graphical-world-board .road-biome-segment,
body.time-night .graphical-world-board .road-biome-segment{stroke:#4f4d48!important}
body.time-dark .graphical-world-board .road-biome-center,
body.time-night .graphical-world-board .road-biome-center{stroke:#e7d08a!important;opacity:.90!important}

/* ============================================================
   BORDER RUN v4.2.9zab — ROAD ATLAS LANE EDGES / ROUTE TINTS / INTERCHANGES
   ============================================================ */
/* Lane-edge line is painted before the asphalt bed in SVG. The slightly wider
   pale stroke therefore peeks out on both sides like road-atlas edge paint. */
.artwork-master-renderer .lr-route-network .lr-route-highway-edge,
.artwork-master-renderer .lr-crossover-highway-edge{
  stroke:rgba(235,228,205,.64)!important;stroke-width:.98!important;opacity:.62!important;
  stroke-dasharray:none!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-route-network .lr-route-highway-bed,
.artwork-master-renderer .lr-crossover-highway-bed{stroke-width:.76!important}

/* Route identity lives in the asphalt tint rather than neon outlines. */
.artwork-master-renderer .lr-route-network .lr-route-highway-shoulder.route-west{stroke:#182123!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-bed.route-west{stroke:#536064!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-center.route-west{stroke:#ead99d!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-shoulder.route-central{stroke:#241f18!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-bed.route-central{stroke:#625b4e!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-center.route-central{stroke:#eed18a!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-shoulder.route-east{stroke:#19221d!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-bed.route-east{stroke:#566159!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-center.route-east{stroke:#e8dba7!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-bed.active{filter:brightness(1.08)!important}
.artwork-master-renderer .lr-route-network .lr-route-highway-center.active{opacity:1!important}

/* Mexico feeder highways inherit the corridor color but remain visually quiet. */
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shoulder.route-west{stroke:#182123!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed.route-west{stroke:#536064!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shoulder.route-central{stroke:#241f18!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed.route-central{stroke:#625b4e!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shoulder.route-east{stroke:#19221d!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed.route-east{stroke:#566159!important}

/* The zoomed live board uses the same muted corridor palette. */
.graphical-world-board.living-map-west .road-biome-shoulder{stroke:#182123!important}
.graphical-world-board.living-map-west .road-biome-segment{stroke:#536064!important}
.graphical-world-board.living-map-central .road-biome-shoulder{stroke:#241f18!important}
.graphical-world-board.living-map-central .road-biome-segment{stroke:#625b4e!important}
.graphical-world-board.living-map-east .road-biome-shoulder{stroke:#19221d!important}
.graphical-world-board.living-map-east .road-biome-segment{stroke:#566159!important}
.graphical-world-board .road-biome-shoulder{stroke-width:4.35!important}
.graphical-world-board .road-biome-segment{stroke-width:3.05!important}
.graphical-world-board .road-biome-center{stroke-width:.34!important}

/* Major crossovers read like small atlas interchanges rather than floating
   diamonds. The loop and ramp marks are intentionally subtle at fit-map scale. */
.artwork-master-renderer .lr-crossover-gate{
  width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;
  transform:translate(-50%,-50%) translate(7px,-7px)!important;
  clip-path:none!important;border-radius:50%!important;padding:0!important;
  background:radial-gradient(circle at 38% 34%,rgba(230,215,170,.22),rgba(18,20,17,.96) 48%,rgba(8,10,9,.98) 100%)!important;
  border:.7px solid rgba(226,210,160,.76)!important;
  box-shadow:0 0 0 .8px rgba(0,0,0,.62),0 1px 3px rgba(0,0,0,.62)!important;
  overflow:visible!important;z-index:76!important
}
.artwork-master-renderer .lr-crossover-gate::before{
  content:""!important;position:absolute!important;left:50%!important;top:50%!important;
  width:18px!important;height:10px!important;transform:translate(-50%,-50%) rotate(-28deg)!important;
  border:1px solid rgba(228,213,166,.34)!important;border-left-color:transparent!important;
  border-radius:50%!important;box-sizing:border-box!important;pointer-events:none!important
}
.artwork-master-renderer .lr-crossover-gate::after{
  content:""!important;position:absolute!important;left:50%!important;top:50%!important;
  width:18px!important;height:5px!important;transform:translate(-50%,-50%) rotate(32deg)!important;
  border-top:1px solid rgba(226,211,164,.38)!important;border-radius:50%!important;
  pointer-events:none!important
}
.artwork-master-renderer .lr-crossover-gate span{font-size:6px!important;line-height:1!important;color:#eadba9!important;position:relative!important;z-index:2!important}
.artwork-master-renderer .lr-crossover-gate.usable{
  border-color:rgba(103,219,207,.86)!important;
  box-shadow:0 0 0 .8px rgba(0,0,0,.62),0 0 6px rgba(75,210,198,.38)!important
}
.artwork-master-renderer .lr-crossover-gate.usable::before,
.artwork-master-renderer .lr-crossover-gate.usable::after{border-color:rgba(103,219,207,.38)!important;border-left-color:transparent!important}

body.time-dark .artwork-master-renderer .lr-route-network .lr-route-highway-edge,
body.time-night .artwork-master-renderer .lr-route-network .lr-route-highway-edge,
body.time-dark .artwork-master-renderer .lr-crossover-highway-edge,
body.time-night .artwork-master-renderer .lr-crossover-highway-edge{stroke:rgba(220,216,197,.48)!important;opacity:.50!important}

/* ============================================================
   BORDER RUN v4.2.9zac — MEXICO NODE CITIES + GRADUAL DAWN/DUSK + NIGHT LIGHTS
   ============================================================ */
/* Mexico re-up cities now render as the same atlas node language as every other
   city instead of boxed badges. Their labels stay compact and readable. */
.artwork-master-renderer .lr-master-node.start-city{
  width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
  padding:0!important;border:0!important;border-radius:50%!important;background:none!important;
  box-shadow:none!important;overflow:visible!important;display:block!important;visibility:visible!important;opacity:1!important;z-index:96!important
}
.artwork-master-renderer .lr-master-node.start-city .lr-master-city-core{width:12px!important;height:12px!important}
.artwork-master-renderer .lr-master-node.start-city .lr-master-city-code{left:15px!important;right:auto!important;font-size:5.6px!important;white-space:nowrap!important}
.artwork-master-renderer .lr-master-node.start-city.route-east .lr-master-city-code{left:auto!important;right:15px!important;text-align:right!important}
.artwork-master-renderer .lr-master-node.start-city.occupied .lr-master-city-core{box-shadow:0 0 0 .8px rgba(0,0,0,.75),0 1px 4px rgba(0,0,0,.56),0 0 10px rgba(233,205,111,.26)!important}

/* Make the lighting feel gradual instead of abrupt across the four day phases. */
body.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.landscape-reference-live .artwork-master-renderer .lr-map-art-crop,
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::before,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::before,
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
.artwork-master-renderer .lr-master-city-core,
.artwork-master-renderer .lr-master-travel-core,
.artwork-master-renderer .lr-route-network,
.graphical-world-board .living-roads,
.graphical-world-board .map-node{
  transition:filter 1.6s ease,opacity 1.6s ease,background 1.6s ease,box-shadow 1.6s ease,transform 1.6s ease!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::before,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  transition:background 1.6s ease,opacity 1.6s ease!important;opacity:1!important
}
/* Dawn introduces a low eastern glow and cooler upper sky, clearly between
   night and full day. */
body.time-dawn.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.time-dawn.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(1.04) contrast(1.04) brightness(.92) sepia(.12) hue-rotate(-4deg)!important;
}
body.time-dawn.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::before,
body.time-dawn.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::before{
  background:
    radial-gradient(ellipse at 18% 82%,rgba(247,165,110,.24) 0%,rgba(247,165,110,.10) 22%,transparent 46%),
    linear-gradient(180deg,rgba(32,53,73,.18),rgba(237,183,120,.06) 42%,transparent 78%)!important;
}
body.time-dawn.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.time-dawn.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after{
  background:linear-gradient(180deg,rgba(87,110,141,.12),rgba(239,175,118,.10) 38%,rgba(18,26,24,.08) 74%)!important;
  box-shadow:inset 0 0 92px rgba(236,150,96,.10)!important;
}
/* Day is bright and warm but still distinct from sunrise and sunset. */
body.time-day.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::before,
body.time-day.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::before{
  background:linear-gradient(180deg,rgba(255,240,188,.06),rgba(242,224,161,.04) 36%,transparent 74%)!important;
}
/* Dusk carries a visible western sunset band and deepening blue shadows. */
body.time-dusk.portrait-reference-live .artwork-master-renderer .lr-map-art-crop,
body.time-dusk.landscape-reference-live .artwork-master-renderer .lr-map-art-crop{
  filter:saturate(1.08) contrast(1.09) brightness(.69) sepia(.06) hue-rotate(-8deg)!important;
}
body.time-dusk.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::before,
body.time-dusk.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::before{
  background:
    radial-gradient(ellipse at 82% 78%,rgba(239,123,79,.22) 0%,rgba(239,123,79,.08) 22%,transparent 44%),
    linear-gradient(180deg,rgba(55,67,104,.16),rgba(201,109,82,.10) 46%,rgba(8,15,20,.12) 82%)!important;
}
body.time-dusk.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage::after,
body.time-dusk.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage::after{
  background:linear-gradient(180deg,rgba(63,61,112,.20),rgba(209,108,72,.13) 42%,rgba(8,13,18,.28) 82%,rgba(4,9,13,.40))!important;
  box-shadow:inset 0 0 112px rgba(18,10,32,.34)!important;
}
/* Night adds visible road and city illumination on the atlas. */
body.time-dark .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.time-night .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.time-dark .artwork-master-renderer .lr-master-node.start-city .lr-master-city-core,
body.time-night .artwork-master-renderer .lr-master-node.start-city .lr-master-city-core{
  box-shadow:0 0 0 .8px rgba(0,0,0,.82),0 0 7px rgba(255,207,110,.24),0 0 16px rgba(74,219,214,.18),0 3px 8px rgba(0,0,0,.72),inset 0 0 0 1px rgba(255,226,160,.10)!important;
  filter:brightness(1.12) saturate(1.10)!important;
}
body.time-dark .artwork-master-renderer .lr-master-node.city .lr-master-city-core::after,
body.time-night .artwork-master-renderer .lr-master-node.city .lr-master-city-core::after,
body.time-dark .artwork-master-renderer .lr-master-node.start-city .lr-master-city-core::after,
body.time-night .artwork-master-renderer .lr-master-node.start-city .lr-master-city-core::after{
  content:"";position:absolute;inset:-5px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,205,103,.18) 0%,rgba(95,229,222,.10) 36%,transparent 72%)!important;
}
body.time-dark .artwork-master-renderer .lr-master-node.travel .lr-master-travel-core,
body.time-night .artwork-master-renderer .lr-master-node.travel .lr-master-travel-core{
  box-shadow:0 0 0 .6px rgba(0,0,0,.82),0 0 5px rgba(255,216,134,.14),0 0 9px rgba(89,229,221,.08)!important;
}
body.time-dark .artwork-master-renderer .lr-route-network .lr-route-highway-center,
body.time-night .artwork-master-renderer .lr-route-network .lr-route-highway-center,
body.time-dark .artwork-master-renderer .lr-crossover-highway-center,
body.time-night .artwork-master-renderer .lr-crossover-highway-center,
body.time-dark .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center,
body.time-night .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center{
  stroke:#f6de95!important;opacity:1!important;filter:drop-shadow(0 0 1.4px rgba(255,228,154,.36))!important;
}
body.time-dark .artwork-master-renderer .lr-route-network .lr-route-highway-edge,
body.time-night .artwork-master-renderer .lr-route-network .lr-route-highway-edge,
body.time-dark .artwork-master-renderer .lr-crossover-highway-edge,
body.time-night .artwork-master-renderer .lr-crossover-highway-edge{
  stroke:rgba(253,243,214,.54)!important;opacity:.68!important;filter:drop-shadow(0 0 .8px rgba(255,248,226,.16))!important;
}
body.time-dark .graphical-world-board .road-biome-center,
body.time-night .graphical-world-board .road-biome-center{
  stroke:#f2dd95!important;opacity:1!important;filter:drop-shadow(0 0 1.6px rgba(255,225,139,.36))!important;
}
body.time-dark .graphical-world-board .map-node,
body.time-night .graphical-world-board .map-node{
  box-shadow:0 0 0 1px rgba(92,220,214,.12),0 0 8px rgba(255,205,110,.22),0 6px 16px rgba(0,0,0,.78)!important;
}

/* ============================================================
   BORDER RUN v4.2.9zad — CITY PASS-THROUGH + CITY LAYER + MEXICO ORGANIZATION
   ============================================================ */
/* City destinations are physical board objects and must always sit ABOVE the
   pavement. The solid inner core also prevents the highway stripe from showing
   through the center of a city marker. */
.artwork-master-renderer .lr-visible-board-nodes{
  position:relative!important;z-index:220!important;isolation:isolate!important;pointer-events:none!important;
}
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node{
  pointer-events:auto!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
.artwork-master-renderer .lr-master-node.start-city.city{
  z-index:260!important;isolation:isolate!important;overflow:visible!important;
}
.artwork-master-renderer .lr-master-node.city .lr-master-city-core,
.artwork-master-renderer .lr-master-node.start-city.city .lr-master-city-core{
  position:relative!important;z-index:4!important;
  background:
    radial-gradient(circle at 31% 27%,rgba(255,246,214,.88) 0 7%,rgba(255,246,214,.20) 9%,transparent 16%),
    radial-gradient(circle at 50% 44%,#26302d 0%,#151b1a 58%,#080c0c 100%)!important;
  border:1.05px solid rgba(238,214,149,.95)!important;
  box-shadow:0 0 0 .9px rgba(0,0,0,.86),0 2px 4px rgba(0,0,0,.68),0 0 4px rgba(229,205,142,.16)!important;
}
.artwork-master-renderer .lr-master-node.city.current .lr-master-city-core,
.artwork-master-renderer .lr-master-node.start-city.city.current .lr-master-city-core{
  box-shadow:0 0 0 .9px rgba(0,0,0,.88),0 0 0 1.7px rgba(82,225,214,.38),0 0 10px rgba(78,224,213,.40),0 3px 5px rgba(0,0,0,.72)!important;
}
.artwork-master-renderer .lr-master-node.travel{z-index:150!important}
.artwork-master-renderer .lr-route-network{z-index:8!important}

/* Mexico starts now read as three organized geographic groups instead of a
   pile of buttons. They use the same city-ring language as U.S./Canada nodes. */
.artwork-master-renderer .lr-master-node.start-city.city{
  width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
  padding:0!important;border:0!important;background:none!important;box-shadow:none!important;
  transform:translate(-50%,-50%)!important;opacity:1!important;
}
.artwork-master-renderer .lr-master-node.start-city.city .lr-master-city-core{width:12px!important;height:12px!important}
.artwork-master-renderer .lr-master-node.start-city.city .lr-master-city-code{
  top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;
  font-size:5.6px!important;line-height:1!important;white-space:nowrap!important;color:#eadbac!important;
}
.artwork-master-renderer .lr-master-node.start-city.city.route-west .lr-master-city-code,
.artwork-master-renderer .lr-master-node.start-city.city.route-central .lr-master-city-code{
  left:15px!important;right:auto!important;text-align:left!important;
}
.artwork-master-renderer .lr-master-node.start-city.city.route-east .lr-master-city-code{
  left:auto!important;right:15px!important;text-align:right!important;
}
.artwork-master-renderer .lr-master-node.start-city.city .lr-master-city-chip{display:none!important}

/* Mexican feeder highways are background pavement; their nodes are deliberately
   much higher in the stack so labels and rings cannot disappear behind roads. */
.artwork-master-renderer .lr-route-start-feeders{opacity:.92!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shadow{stroke-width:1.05!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shoulder{stroke-width:.87!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed{stroke-width:.61!important}
.artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center{stroke-width:.13!important;stroke-dasharray:.82 .72!important}

/* ============================================================
   BORDER RUN v4.2.9zae — INTERNATIONAL BORDERS + CITY D6 CUBE RECOVERY
   ============================================================ */
/* International borders must remain readable above the atlas/highways but below
   city nodes and player pieces. Keep the geographic paths, strengthen the ink. */
.artwork-master-renderer .lr-border-overlay{
  z-index:16!important;opacity:1!important;mix-blend-mode:normal!important;pointer-events:none!important;overflow:visible!important
}
.artwork-master-renderer .lr-atlas-border-shadow{
  fill:none!important;stroke:rgba(3,7,8,.86)!important;stroke-width:.66!important;opacity:.88!important;
  stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-atlas-border-line{
  fill:none!important;stroke-width:.27!important;opacity:.98!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-atlas-border.north .lr-atlas-border-line{stroke:#8fd6d2!important}
.artwork-master-renderer .lr-atlas-border.south .lr-atlas-border-line{stroke:#e1b45e!important}
.artwork-master-renderer .lr-atlas-border-ticks{
  fill:none!important;stroke-width:.12!important;stroke-dasharray:.34 .54!important;opacity:.86!important;stroke-linecap:round!important
}
.artwork-master-renderer .lr-atlas-border.north .lr-atlas-border-ticks{stroke:#b8ece8!important}
.artwork-master-renderer .lr-atlas-border.south .lr-atlas-border-ticks{stroke:#f3cf7f!important}
.artwork-master-renderer .lr-border-badge{opacity:.86!important}
.artwork-master-renderer .lr-border-badge rect{
  display:block!important;fill:rgba(7,13,13,.72)!important;stroke:rgba(237,217,160,.28)!important;stroke-width:.08!important
}
.artwork-master-renderer .lr-border-badge text{
  fill:#eadcaf!important;font-size:.72px!important;opacity:.92!important;letter-spacing:.12em!important
}
/* Highways remain below border ink; interactive/node layers remain above it. */
.artwork-master-renderer .lr-route-network{z-index:8!important}
.artwork-master-renderer .lr-art-board-overlay{z-index:22!important}
.artwork-master-renderer .lr-visible-board-nodes{z-index:44!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1200!important}

/* The city Drive-Through D6 uses the exact same six-face physical cube surface
   rules as the normal 2D6 roll. The prior true-cube rules were accidentally
   scoped only to #boardDiceOverlay, leaving this scene as an empty wireframe. */
.city-d6-overlay .die-cube3d.true-3d-die{
  position:relative!important;width:var(--die-size)!important;height:var(--die-size)!important;
  transform:none!important;transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;
  filter:drop-shadow(17px 22px 11px rgba(0,0,0,.62))!important;opacity:1!important;visibility:visible!important
}
.city-d6-overlay .true-3d-die .true-cube-spin-shell{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  transform-origin:50% 50%!important;will-change:transform!important;
  transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz));opacity:1!important
}
.city-d6-overlay .true-3d-die .br3d-face{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;box-sizing:border-box!important;
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important;
  padding:14%!important;border:4px solid var(--br-die-edge,#d8c184)!important;border-radius:18%!important;
  background:var(--br-die-surface,linear-gradient(145deg,#f2e8c9,#b49d69))!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  box-shadow:inset 10px 10px 14px rgba(255,255,255,.20),inset -13px -15px 16px rgba(0,0,0,.24),0 0 0 1px rgba(10,8,5,.42)!important;
  opacity:1!important;visibility:visible!important
}
.city-d6-overlay .true-3d-die .br3d-front{transform:translateZ(var(--die-half))!important;filter:brightness(1.08)}
.city-d6-overlay .true-3d-die .br3d-back{transform:rotateY(180deg) translateZ(var(--die-half))!important;filter:brightness(.60)}
.city-d6-overlay .true-3d-die .br3d-right{transform:rotateY(90deg) translateZ(var(--die-half))!important;filter:brightness(.79)}
.city-d6-overlay .true-3d-die .br3d-left{transform:rotateY(-90deg) translateZ(var(--die-half))!important;filter:brightness(.72)}
.city-d6-overlay .true-3d-die .br3d-top{transform:rotateX(90deg) translateZ(var(--die-half))!important;filter:brightness(1.20)}
.city-d6-overlay .true-3d-die .br3d-bottom{transform:rotateX(-90deg) translateZ(var(--die-half))!important;filter:brightness(.52)}
.city-d6-overlay .true-3d-die .br3d-face i{
  display:block!important;place-self:center!important;width:clamp(8px,40%,17px)!important;aspect-ratio:1!important;height:auto!important;
  border-radius:50%!important;background:radial-gradient(circle at 38% 30%,var(--br-die-pip-shine,#fff) 0 8%,var(--br-die-pip,#fff) 25% 56%,var(--br-die-pip-shade,rgba(0,0,0,.4)) 100%)!important;
  box-shadow:inset 1.5px 1.5px 2px var(--br-die-pip-shine,#fff),inset -2px -2px 3px var(--br-die-pip-shade,rgba(0,0,0,.4)),0 2px 2px rgba(0,0,0,.48)!important;
  transform:translateZ(1px)!important;opacity:1!important
}
.city-d6-overlay .true-3d-die .br3d-face i.p1{grid-area:1/1}.city-d6-overlay .true-3d-die .br3d-face i.p3{grid-area:1/3}
.city-d6-overlay .true-3d-die .br3d-face i.p4{grid-area:2/1}.city-d6-overlay .true-3d-die .br3d-face i.p5{grid-area:2/2}
.city-d6-overlay .true-3d-die .br3d-face i.p6{grid-area:2/3}.city-d6-overlay .true-3d-die .br3d-face i.p7{grid-area:3/1}.city-d6-overlay .true-3d-die .br3d-face i.p9{grid-area:3/3}
/* Manual-ready state shows a solid die before the user throws. */
.city-d6-overlay.awaiting-manual-roll .city-d6-die-flight .true-cube-spin-shell{
  animation:none!important;transform:rotateX(-22deg) rotateY(30deg) rotateZ(-7deg)!important
}
/* The throw reads as a physical tumble instead of a flat spin. */
.city-d6-overlay.rolling .city-d6-die-flight{animation:v429zaeCityFlight 1.34s cubic-bezier(.13,.70,.18,1) both!important}
.city-d6-overlay.rolling .city-d6-die-flight .true-cube-spin-shell{animation:v429zaeCityTumble 1.34s cubic-bezier(.12,.58,.16,1) both!important}
.city-d6-overlay.landed .city-d6-die-flight .true-cube-spin-shell{animation:v429zaeCitySettle .28s cubic-bezier(.2,.82,.22,1) both!important}
@keyframes v429zaeCityFlight{
  0%{transform:translate3d(-34px,-128px,100px) scale(.72);opacity:.25}
  42%{transform:translate3d(-12px,-16px,18px) scale(1.04);opacity:1}
  51%{transform:translate3d(0,5px,0) scale(1.07)}
  67%{transform:translate3d(15px,-25px,34px) scale(1.02)}
  82%{transform:translate3d(-8px,2px,0) scale(1.015)}
  92%{transform:translate3d(4px,-6px,8px) scale(1.005)}
  100%{transform:translate3d(0,0,0) scale(1);opacity:1}
}
@keyframes v429zaeCityTumble{
  0%{transform:rotateX(14deg) rotateY(-24deg) rotateZ(-6deg)}
  28%{transform:rotateX(405deg) rotateY(492deg) rotateZ(176deg)}
  55%{transform:rotateX(792deg) rotateY(936deg) rotateZ(352deg)}
  78%{transform:rotateX(1128deg) rotateY(1308deg) rotateZ(510deg)}
  100%{transform:rotateX(calc(var(--die-rx) + 1440deg)) rotateY(calc(var(--die-ry) + 1440deg)) rotateZ(calc(var(--die-rz) + 720deg))}
}
@keyframes v429zaeCitySettle{
  0%{transform:rotateX(calc(var(--die-rx) + 6deg)) rotateY(calc(var(--die-ry) - 7deg)) rotateZ(calc(var(--die-rz) + 3deg)) scale3d(1.06,.92,1.02)}
  100%{transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz)) scale3d(1,1,1)}
}

/* ============================================================
   BORDER RUN v4.2.9zaf — LANDSCAPE MAP SCALE / NODE LAYER / ZERO-ORIGIN ZOOM
   ============================================================ */
/* Landscape road strokes were visually overpowering the atlas because SVG user
   units translate to many more pixels on wide screens. Keep the rendered-road
   language, but scale it down so city nodes and geography remain dominant. */
body.landscape-reference-live .artwork-master-renderer .lr-route-network .lr-route-shadow,
body.landscape-reference-live .artwork-master-renderer .lr-crossover-shadow,
body.landscape-reference-live .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shadow{
  stroke-width:.78!important;opacity:.74!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-route-network .lr-route-highway-shoulder,
body.landscape-reference-live .artwork-master-renderer .lr-crossover-highway-shoulder,
body.landscape-reference-live .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-shoulder{
  stroke-width:.64!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-route-network .lr-route-highway-bed,
body.landscape-reference-live .artwork-master-renderer .lr-crossover-highway-bed,
body.landscape-reference-live .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-bed{
  stroke-width:.46!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-route-network .lr-route-highway-center,
body.landscape-reference-live .artwork-master-renderer .lr-crossover-highway-center,
body.landscape-reference-live .artwork-master-renderer .lr-route-start-feeders .lr-mx-feeder-center{
  stroke-width:.09!important;stroke-dasharray:.72 .58!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-route-network .lr-route-highway-edge,
body.landscape-reference-live .artwork-master-renderer .lr-crossover-highway-edge{
  stroke-width:.52!important;opacity:.28!important;
}

/* City nodes are board destinations, not road decoration. Their visual core
   sits over the pavement with a slightly larger opaque marker in landscape. */
body.landscape-reference-live .artwork-master-renderer .lr-visible-board-nodes{
  z-index:280!important;isolation:isolate!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city.city{
  width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  z-index:340!important;opacity:1!important;transform:translate(-50%,-50%)!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city.city .lr-master-city-core{
  width:16px!important;height:16px!important;border-width:1.25px!important;
  background:radial-gradient(circle at 31% 27%,rgba(255,248,220,.92) 0 7%,rgba(255,248,220,.18) 10%,transparent 16%),radial-gradient(circle at 50% 44%,#29332f 0%,#141a19 58%,#070b0b 100%)!important;
  box-shadow:0 0 0 1.1px rgba(0,0,0,.90),0 2px 5px rgba(0,0,0,.72),0 0 5px rgba(234,207,139,.18)!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city.city .lr-master-city-code{
  font-size:6.4px!important;color:#f0dfa9!important;text-shadow:0 1px 2px rgba(0,0,0,.92)!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city.route-west .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city.city.route-west .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city.route-central .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city.city.route-central .lr-master-city-code{left:19px!important;right:auto!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city.route-east .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city.city.route-east .lr-master-city-code{right:19px!important;left:auto!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city.current .lr-master-city-core,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.start-city.city.current .lr-master-city-core{
  box-shadow:0 0 0 1.1px rgba(0,0,0,.92),0 0 0 2px rgba(82,225,214,.50),0 0 13px rgba(79,225,215,.50),0 3px 6px rgba(0,0,0,.75)!important;
}

/* The international borders are cartographic reference lines. On a wide board
   they need enough weight to remain visible between the atlas and highways. */
body.landscape-reference-live .artwork-master-renderer .lr-border-overlay{z-index:32!important;opacity:1!important}
body.landscape-reference-live .artwork-master-renderer .lr-atlas-border-shadow{stroke-width:.48!important;opacity:.76!important}
body.landscape-reference-live .artwork-master-renderer .lr-atlas-border-line{stroke-width:.22!important;opacity:1!important}
body.landscape-reference-live .artwork-master-renderer .lr-atlas-border-ticks{stroke-width:.10!important;opacity:.82!important}
body.landscape-reference-live .artwork-master-renderer .lr-border-badge text{font-size:.68px!important;opacity:.96!important}

/* The separate selected-city photo tile duplicates the highlighted city node
   and blocks the landscape map. Context/details still open through the city
   node itself, so retire the duplicate tile in landscape. */
body.wide-reference-live .lr-selected-city-tile,
body.landscape-reference-live .lr-selected-city-tile{display:none!important}

/* Keep landscape utility chrome useful without covering a large portion of the
   atlas. */
body.landscape-reference-live .pr-live-legend.collapsed{width:84px!important;max-width:84px!important;padding:4px!important}
body.landscape-reference-live .pr-live-legend.collapsed .pr-live-legend-toggle{min-height:34px!important;font-size:7px!important}
body.landscape-reference-live .artwork-master-renderer .lr-board-zoom-controls{
  z-index:420!important;right:10px!important;top:82px!important;display:flex!important;visibility:visible!important;opacity:1!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-board-zoom-controls button{min-width:36px!important;height:34px!important}
body.landscape-reference-live .artwork-master-renderer .lr-board-zoom-controls .zoom-badge{min-width:66px!important;font-size:8px!important}

/* When fit zoom makes the board smaller than the viewport, the script gives
   the stage real margins. Do not let legacy width rules cancel that centering. */
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage{
  max-width:none!important;max-height:none!important;flex:none!important;
}

/* ============================================================
   BORDER RUN v4.2.9zag — RESTORE EAST/WEST CROSSOVER CITY NODES
   ============================================================ */
/* Crossover cities live on their own full-atlas layer so road, border, hit-area,
   and ordinary node stacking changes cannot hide them. */
.artwork-master-renderer .lr-crossover-gate-layer,
.artwork-master-renderer .lr-crossover-city-layer{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  overflow:visible!important;pointer-events:none!important
}
.artwork-master-renderer .lr-crossover-gate-layer{z-index:330!important}
.artwork-master-renderer .lr-crossover-city-layer{z-index:390!important;isolation:isolate!important}
.artwork-master-renderer .lr-crossover-gate-layer .lr-crossover-gate,
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city{pointer-events:auto!important}

/* Premium crossover cities now read as true city destinations sitting directly
   on the east/west highway, with a gold center and visible city abbreviation. */
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city{
  position:absolute!important;transform:translate(-50%,-50%)!important;
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;overflow:visible!important;opacity:1!important;visibility:visible!important;
  z-index:410!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:17px!important;height:17px!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  background:radial-gradient(circle at 31% 27%,#fff2c8 0 9%,#b98429 15%,#332819 35%,#0a0e0e 74%)!important;
  border:1.4px solid #efc668!important;
  box-shadow:0 0 0 1.2px rgba(0,0,0,.9),0 0 0 2.1px rgba(225,180,76,.18),0 0 8px rgba(235,190,79,.34),0 2px 5px rgba(0,0,0,.72)!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core b{
  position:relative!important;width:auto!important;height:auto!important;border:0!important;background:none!important;box-shadow:none!important;
  color:#f7e3aa!important;font:900 5.3px/1 Arial,sans-serif!important;letter-spacing:.02em!important;display:block!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core i{
  position:absolute!important;right:-4px!important;top:-5px!important;font:900 5.8px/1 Arial,sans-serif!important;color:#f2bd49!important;
  text-shadow:0 1px 2px #000!important;font-style:normal!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city>small{
  display:block!important;position:absolute!important;left:50%!important;top:23px!important;bottom:auto!important;
  transform:translateX(-50%)!important;padding:1px 3px!important;border-radius:3px!important;
  background:rgba(5,10,10,.82)!important;border:1px solid rgba(234,198,105,.18)!important;
  color:#ead9a5!important;font:900 4.2px/1 Arial,sans-serif!important;letter-spacing:.02em!important;white-space:nowrap!important;
  text-shadow:0 1px 1px rgba(0,0,0,.9)!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city:active .lr-crossover-city-core{
  transform:translate(-50%,-50%) scale(.92)!important;filter:brightness(1.18)!important
}

/* Wide/landscape maps get slightly larger crossover nodes so the premium cities
   remain obvious even at fit-map zoom levels such as 83%. */
body.landscape-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city,
body.wide-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city{
  width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important
}
body.landscape-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core,
body.wide-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core{
  width:18px!important;height:18px!important
}
body.landscape-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city>small,
body.wide-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city>small{top:25px!important;font-size:4.5px!important}

/* Local/remote pieces still outrank all crossover nodes. */
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:700!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1200!important}

/* ============================================================
   BORDER RUN v4.2.9zah — INTERNATIONAL BORDER MOTIF VISUALS
   ============================================================ */
/* Replace the temporary plain line overlays with motif-matched border bands.
   These read as stylized international borders instead of generic guide lines. */
.artwork-master-renderer .lr-border-overlay.motif{
  z-index:34!important;
  pointer-events:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  overflow:visible!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.32))!important;
}
.artwork-master-renderer .lr-border-zone .lr-border-trench{
  fill:none!important;stroke:rgba(10,15,16,.46)!important;stroke-width:.98!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-border-zone .lr-border-ribbon{
  fill:none!important;stroke:rgba(27,32,31,.92)!important;stroke-width:.72!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-border-zone.north .lr-border-ribbon{stroke:rgba(22,46,51,.92)!important}
.artwork-master-renderer .lr-border-zone.south .lr-border-ribbon{stroke:rgba(52,37,18,.92)!important}
.artwork-master-renderer .lr-border-zone .lr-border-inner{
  fill:none!important;stroke:rgba(176,165,132,.70)!important;stroke-width:.46!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
.artwork-master-renderer .lr-border-zone.north .lr-border-inner{stroke:rgba(114,208,208,.62)!important}
.artwork-master-renderer .lr-border-zone.south .lr-border-inner{stroke:rgba(229,181,94,.66)!important}
.artwork-master-renderer .lr-border-zone .lr-border-edge{
  fill:none!important;stroke-width:.11!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.82!important
}
.artwork-master-renderer .lr-border-zone .lr-border-edge.edge-a{transform:translateY(-.18px)!important}
.artwork-master-renderer .lr-border-zone .lr-border-edge.edge-b{transform:translateY(.18px)!important}
.artwork-master-renderer .lr-border-zone.north .lr-border-edge{stroke:rgba(185,241,236,.74)!important}
.artwork-master-renderer .lr-border-zone.south .lr-border-edge{stroke:rgba(250,214,132,.72)!important}
.artwork-master-renderer .lr-border-zone .lr-border-stitches{
  fill:none!important;stroke:rgba(255,244,218,.78)!important;stroke-width:.075!important;stroke-dasharray:.22 .58!important;stroke-linecap:round!important;opacity:.92!important
}
.artwork-master-renderer .lr-border-post-halo{fill:rgba(0,0,0,.26)!important}
.artwork-master-renderer .lr-border-post-core{fill:#ecdfba!important;opacity:.92!important}
.artwork-master-renderer .lr-border-post-cap{fill:#f7efce!important;opacity:.98!important}
.artwork-master-renderer .lr-border-post.north .lr-border-post-core,
.artwork-master-renderer .lr-border-post.north .lr-border-post-cap{fill:#a9eeea!important}
.artwork-master-renderer .lr-border-post.south .lr-border-post-core,
.artwork-master-renderer .lr-border-post.south .lr-border-post-cap{fill:#f3cf7f!important}
.artwork-master-renderer .lr-border-plaque rect{fill:rgba(8,14,15,.88)!important;stroke:rgba(232,215,167,.46)!important;stroke-width:.08!important}
.artwork-master-renderer .lr-border-plaque path{fill:rgba(232,215,167,.86)!important}
.artwork-master-renderer .lr-border-plaque.north rect{stroke:rgba(127,219,220,.48)!important}
.artwork-master-renderer .lr-border-plaque.north path{fill:rgba(144,230,229,.92)!important}
.artwork-master-renderer .lr-border-plaque.south rect{stroke:rgba(243,200,113,.46)!important}
.artwork-master-renderer .lr-border-plaque.south path{fill:rgba(250,210,120,.92)!important}
.artwork-master-renderer .lr-border-badge{opacity:.98!important}
.artwork-master-renderer .lr-border-badge rect{fill:rgba(8,13,14,.92)!important;stroke:rgba(235,219,173,.54)!important;stroke-width:.10!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))!important}
.artwork-master-renderer .lr-border-badge-coin{fill:#eed48a!important;stroke:rgba(0,0,0,.28)!important;stroke-width:.08!important}
.artwork-master-renderer .lr-border-badge.north .lr-border-badge-coin{fill:#84ddd8!important}
.artwork-master-renderer .lr-border-badge.south .lr-border-badge-coin{fill:#efc56c!important}
.artwork-master-renderer .lr-border-badge text{font-size:.88px!important;fill:#eadab0!important;letter-spacing:.10em!important;text-shadow:0 1px 1px rgba(0,0,0,.36)!important}
body.landscape-reference-live .artwork-master-renderer .lr-border-zone .lr-border-trench{stroke-width:.86!important}
body.landscape-reference-live .artwork-master-renderer .lr-border-zone .lr-border-ribbon{stroke-width:.63!important}
body.landscape-reference-live .artwork-master-renderer .lr-border-zone .lr-border-inner{stroke-width:.39!important}
body.landscape-reference-live .artwork-master-renderer .lr-border-zone .lr-border-stitches{stroke-width:.068!important}
body.landscape-reference-live .artwork-master-renderer .lr-border-badge text{font-size:.70px!important}
body.time-dark .artwork-master-renderer .lr-border-zone .lr-border-ribbon,
body.time-night .artwork-master-renderer .lr-border-zone .lr-border-ribbon{opacity:.94!important}
body.time-dark .artwork-master-renderer .lr-border-zone.north .lr-border-inner,
body.time-night .artwork-master-renderer .lr-border-zone.north .lr-border-inner{stroke:rgba(125,219,222,.74)!important}
body.time-dark .artwork-master-renderer .lr-border-zone.south .lr-border-inner,
body.time-night .artwork-master-renderer .lr-border-zone.south .lr-border-inner{stroke:rgba(237,191,103,.76)!important}
body.time-dark .artwork-master-renderer .lr-border-zone .lr-border-stitches,
body.time-night .artwork-master-renderer .lr-border-zone .lr-border-stitches{filter:drop-shadow(0 0 1px rgba(255,236,194,.18))!important}

/* ============================================================
   BORDER RUN v4.2.9zai — DISTINCT CANADA / MEXICO BORDER THEMES
   ============================================================ */
/* Canada: cooler steel/cyan patrol checkpoint treatment. */
.artwork-master-renderer .lr-border-zone.north.patrol-border .lr-border-ribbon{
  stroke:rgba(21,42,48,.96)!important
}
.artwork-master-renderer .lr-border-zone.north.patrol-border .lr-border-inner{
  stroke:rgba(124,220,220,.76)!important
}
.artwork-master-renderer .lr-border-zone.north.patrol-border .lr-border-stitches{
  stroke:rgba(201,247,244,.86)!important;stroke-dasharray:.18 .50!important
}
/* Mexico: warm fence/checkpoint band with a double fence rail. */
.artwork-master-renderer .lr-border-zone.south.fence-border .lr-border-ribbon{
  stroke:rgba(61,40,17,.97)!important
}
.artwork-master-renderer .lr-border-zone.south.fence-border .lr-border-inner{
  stroke:rgba(234,182,84,.80)!important
}
.artwork-master-renderer .lr-border-zone.south.fence-border .lr-border-stitches{
  stroke:rgba(255,222,145,.84)!important;stroke-dasharray:.12 .34!important
}
.artwork-master-renderer .lr-south-fence-rail{
  fill:none!important;stroke:rgba(215,164,76,.62)!important;stroke-width:.09!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.86!important
}
.artwork-master-renderer .lr-south-fence-rail.rail-a{transform:translateY(-.24px)!important}
.artwork-master-renderer .lr-south-fence-rail.rail-b{transform:translateY(.24px)!important}

/* Shared checkpoint footprint. */
.artwork-master-renderer .lr-border-checkpoint{pointer-events:none!important;filter:drop-shadow(0 1.6px 1.8px rgba(0,0,0,.42))!important}
.artwork-master-renderer .lr-checkpoint-pad{
  fill:rgba(8,12,13,.78)!important;stroke-width:.08!important
}
.artwork-master-renderer .lr-border-checkpoint.north .lr-checkpoint-pad{stroke:rgba(128,219,219,.48)!important}
.artwork-master-renderer .lr-border-checkpoint.south .lr-checkpoint-pad{stroke:rgba(238,191,101,.48)!important}
.artwork-master-renderer .lr-checkpoint-booth,
.artwork-master-renderer .lr-checkpoint-tower{
  fill:rgba(24,31,32,.96)!important;stroke-width:.09!important
}
.artwork-master-renderer .lr-border-checkpoint.north .lr-checkpoint-booth{stroke:rgba(137,227,225,.72)!important}
.artwork-master-renderer .lr-border-checkpoint.south .lr-checkpoint-tower{stroke:rgba(235,184,86,.72)!important;fill:rgba(52,38,21,.96)!important}
.artwork-master-renderer .lr-checkpoint-roof{stroke-width:.08!important}
.artwork-master-renderer .lr-border-checkpoint.north .lr-checkpoint-roof{fill:#85d9d8!important;stroke:rgba(215,255,253,.64)!important}
.artwork-master-renderer .lr-border-checkpoint.south .lr-checkpoint-roof{fill:#c78a37!important;stroke:rgba(255,225,157,.62)!important}
.artwork-master-renderer .lr-checkpoint-window{stroke-width:.06!important}
.artwork-master-renderer .lr-border-checkpoint.north .lr-checkpoint-window{
  fill:rgba(111,218,222,.62)!important;stroke:rgba(218,255,255,.52)!important
}
.artwork-master-renderer .lr-border-checkpoint.south .lr-checkpoint-window{
  fill:rgba(250,179,75,.56)!important;stroke:rgba(255,231,177,.50)!important
}
.artwork-master-renderer .lr-checkpoint-barrier{
  fill:none!important;stroke-width:.18!important;stroke-linecap:round!important
}
.artwork-master-renderer .lr-border-checkpoint.north .lr-checkpoint-barrier{stroke:#b8ece9!important}
.artwork-master-renderer .lr-border-checkpoint.south .lr-checkpoint-barrier{stroke:#efc670!important}
.artwork-master-renderer .lr-checkpoint-lamp{stroke:rgba(0,0,0,.28)!important;stroke-width:.06!important}
.artwork-master-renderer .lr-checkpoint-lamp.cool{
  fill:#8be6e1!important;filter:drop-shadow(0 0 .65px rgba(104,238,234,.78))!important
}
.artwork-master-renderer .lr-checkpoint-lamp.warm{
  fill:#f6b64f!important;filter:drop-shadow(0 0 .72px rgba(255,176,66,.76))!important
}
.artwork-master-renderer .lr-border-fence-panel{
  fill:none!important;stroke:#d49b45!important;stroke-width:.10!important;stroke-linecap:round!important;opacity:.88!important
}

/* Night checkpoint illumination: cool white/teal north, sodium amber south. */
body.time-dark .artwork-master-renderer .lr-border-checkpoint.north,
body.time-night .artwork-master-renderer .lr-border-checkpoint.north{
  filter:drop-shadow(0 0 2.2px rgba(104,232,229,.24)) drop-shadow(0 2px 2px rgba(0,0,0,.52))!important
}
body.time-dark .artwork-master-renderer .lr-border-checkpoint.south,
body.time-night .artwork-master-renderer .lr-border-checkpoint.south{
  filter:drop-shadow(0 0 2.4px rgba(247,169,64,.24)) drop-shadow(0 2px 2px rgba(0,0,0,.52))!important
}
body.time-dark .artwork-master-renderer .lr-checkpoint-lamp.cool,
body.time-night .artwork-master-renderer .lr-checkpoint-lamp.cool{
  fill:#a8ffff!important;filter:drop-shadow(0 0 1.35px rgba(119,244,242,.96))!important
}
body.time-dark .artwork-master-renderer .lr-checkpoint-lamp.warm,
body.time-night .artwork-master-renderer .lr-checkpoint-lamp.warm{
  fill:#ffc25e!important;filter:drop-shadow(0 0 1.45px rgba(255,168,52,.98))!important
}

/* Keep checkpoint graphics readable but not oversized in landscape fit-map. */
body.landscape-reference-live .artwork-master-renderer .lr-border-checkpoint{transform-box:fill-box!important;transform-origin:center!important}
body.landscape-reference-live .artwork-master-renderer .lr-checkpoint-pad{opacity:.92!important}
body.landscape-reference-live .artwork-master-renderer .lr-border-fence-panel{stroke-width:.085!important}

/* ============================================================
   BORDER RUN v4.2.9zan — LIVE IN-GAME INSTRUCTION MANUAL
   ============================================================ */
.live-rules-manual{display:block;width:100%;min-width:100%}
.live-rules-manual .manual-page-tabs{position:sticky;top:0;z-index:12;background:linear-gradient(180deg,rgba(4,12,12,.98),rgba(4,12,12,.92));backdrop-filter:blur(8px);border-bottom:1px solid rgba(223,191,111,.20);padding:8px 4px 10px;margin-bottom:12px}
.live-rules-manual .manual-page-tab{background:linear-gradient(180deg,#101a18,#07100f)!important;border:1px solid rgba(217,181,91,.28)!important;box-shadow:0 3px 9px rgba(0,0,0,.24)!important;color:#e6d5a8!important}
.live-rules-manual .manual-page-tab b{color:#5edbd0!important}
.live-rules-manual .manual-page-stack{display:grid;gap:18px;scroll-snap-type:y proximity}
.live-rules-manual .manual-live-page{
  position:relative;width:min(100%,760px)!important;min-height:680px;margin:0 auto!important;border:1px solid rgba(222,184,91,.48)!important;border-radius:14px!important;overflow:hidden!important;
  background:
    radial-gradient(circle at 80% 12%,rgba(75,209,199,.07),transparent 26%),
    radial-gradient(circle at 18% 86%,rgba(220,170,71,.07),transparent 28%),
    linear-gradient(180deg,#101714 0%,#0a100e 42%,#070b0a 100%)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.025)!important;
  color:#e7dcc0!important;scroll-snap-align:start
}
.live-rules-manual .manual-live-page::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px);opacity:.35}
.live-rules-manual .manual-live-page>header{position:relative;padding:24px 24px 18px;border-bottom:1px solid rgba(224,187,97,.28);background:linear-gradient(180deg,rgba(21,39,35,.86),rgba(9,19,17,.72))}
.live-rules-manual .manual-live-page>header span{display:block;color:#5fddd2;font:950 10px/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.live-rules-manual .manual-live-page>header h3{margin:0;color:#f2deb0;font:900 clamp(25px,4.2vw,40px)/.98 Georgia,serif;letter-spacing:.025em;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.42)}
.live-rules-manual .manual-live-page>header small{display:block;margin-top:9px;color:#b7c7bd;font:800 11px/1.35 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.live-rules-manual .manual-live-body{position:relative;display:grid;gap:15px;padding:20px 24px 26px}
.live-rules-manual .manual-live-lead{margin:0;padding:14px 16px;border-left:4px solid #d3a948;border-radius:8px;background:rgba(232,205,139,.07);color:#f0e4c8;font:800 14px/1.55 Arial,sans-serif}
.live-rules-manual .manual-live-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.live-rules-manual .manual-live-card{padding:13px 14px;border:1px solid rgba(89,206,194,.25);border-radius:10px;background:linear-gradient(145deg,rgba(14,35,31,.90),rgba(8,17,15,.92));box-shadow:inset 0 0 18px rgba(61,203,190,.025)}
.live-rules-manual .manual-live-card h4,.live-rules-manual .manual-live-steps h4,.live-rules-manual .manual-live-rules h4{margin:0 0 5px;color:#f0ce79;font:950 12px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.live-rules-manual .manual-live-card p,.live-rules-manual .manual-live-steps p,.live-rules-manual .manual-live-rules p{margin:0;color:#c9d0c8;font:750 11.5px/1.48 Arial,sans-serif}
.live-rules-manual .manual-live-bullets{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.live-rules-manual .manual-live-bullets li{position:relative;padding:10px 12px 10px 28px;border:1px solid rgba(227,212,166,.12);border-radius:8px;background:rgba(255,255,255,.025);color:#ddd7c1;font:760 12px/1.5 Arial,sans-serif}
.live-rules-manual .manual-live-bullets li::before{content:"◆";position:absolute;left:10px;top:11px;color:#57d4c9;font-size:8px}
.live-rules-manual .manual-live-steps{display:grid;gap:10px}
.live-rules-manual .manual-live-steps>section{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:11px 12px;border:1px solid rgba(224,185,91,.18);border-radius:9px;background:rgba(9,17,15,.78)}
.live-rules-manual .manual-live-steps>section>b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#d1a63f,#7a551a);box-shadow:inset 0 0 0 2px rgba(255,236,174,.19),0 3px 8px rgba(0,0,0,.38);color:#07100e;font:1000 16px/1 Arial,sans-serif}
.live-rules-manual .manual-live-rules{display:grid;gap:9px}
.live-rules-manual .manual-live-rules>section{display:grid;grid-template-columns:minmax(88px,130px) minmax(0,1fr);gap:12px;align-items:start;padding:11px 12px;border:1px solid rgba(82,202,190,.17);border-radius:9px;background:linear-gradient(90deg,rgba(18,43,38,.74),rgba(8,15,13,.82))}
.live-rules-manual .manual-live-rules>section>strong{display:block;padding:7px 8px;border-radius:7px;background:#d8b252;color:#08110f;text-align:center;font:1000 10px/1.15 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.live-rules-manual .manual-live-note{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px 14px;border:1px solid rgba(224,173,72,.34);border-radius:9px;background:linear-gradient(90deg,rgba(69,47,12,.52),rgba(23,20,13,.45))}
.live-rules-manual .manual-live-note b{color:#f0c45c;font:950 9px/1.25 Arial,sans-serif;letter-spacing:.12em;white-space:nowrap}
.live-rules-manual .manual-live-note span{color:#eadfbe;font:760 11.5px/1.5 Arial,sans-serif}
.live-rules-manual .manual-live-page>footer{position:relative;display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid rgba(223,185,91,.22);background:#070c0a;color:#938a70;font:900 8px/1.2 Arial,sans-serif;letter-spacing:.12em}
.live-rules-manual .manual-live-page>footer b{color:#55cfc5}
#modalCard[data-kicker="INSTRUCTION MANUAL"] #modalExtra{overflow:auto!important;touch-action:pan-x pan-y pinch-zoom!important;-webkit-overflow-scrolling:touch}
#modalCard[data-kicker="INSTRUCTION MANUAL"] .manual-live-page{touch-action:pan-x pan-y pinch-zoom!important}
@media(max-width:620px){
  .live-rules-manual .manual-live-page{min-height:0!important;border-radius:10px!important}
  .live-rules-manual .manual-live-page>header{padding:18px 16px 14px}
  .live-rules-manual .manual-live-body{padding:14px 15px 18px;gap:11px}
  .live-rules-manual .manual-live-cards{grid-template-columns:1fr}
  .live-rules-manual .manual-live-card{padding:11px 12px}
  .live-rules-manual .manual-live-rules>section{grid-template-columns:86px minmax(0,1fr);gap:9px;padding:9px}
  .live-rules-manual .manual-live-steps>section{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:9px}
  .live-rules-manual .manual-live-steps>section>b{width:30px;height:30px;font-size:13px}
  .live-rules-manual .manual-live-bullets li{font-size:11px;padding-top:9px;padding-bottom:9px}
  .live-rules-manual .manual-live-note{grid-template-columns:1fr;gap:5px}
}

/* ============================================================
   BORDER RUN v4.2.9zan — UPDATED INTERACTIVE TUTORIAL
   Current highways, borders, city drive-through, time-of-day,
   character renders, multiplayer and progression.
   ============================================================ */
.dominity-tutorial-extra{margin:10px 0 8px}
.dominity-tutorial-rule-grid{display:grid;gap:7px;margin:9px 0 8px}
.dominity-tutorial-rule-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dominity-tutorial-rule-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.dominity-tutorial-rule-grid span{display:grid;gap:3px;min-height:50px;padding:8px 9px;border:1px solid rgba(214,175,93,.23);border-radius:10px;background:linear-gradient(180deg,rgba(18,29,28,.86),rgba(6,11,12,.86));text-align:center}
.dominity-tutorial-rule-grid span.wide{grid-column:1/-1}
.dominity-tutorial-rule-grid b{color:#ebd493;font:900 10px/1 Arial,sans-serif;letter-spacing:.06em}
.dominity-tutorial-rule-grid small{color:#7fd9d0;font:800 7px/1.3 Arial,sans-serif;letter-spacing:.05em}
.dominity-tutorial-city-six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:9px 0 8px}
.dominity-tutorial-city-six span{min-width:0;padding:7px 4px;border:1px solid rgba(218,181,93,.22);border-radius:9px;background:rgba(8,14,14,.88);text-align:center;color:#e5d8b2;font:800 7px/1.2 Arial,sans-serif}
.dominity-tutorial-city-six b{display:block;margin-bottom:3px;color:#f1c964;font:900 13px/1 Georgia,serif}
.dominity-tutorial-city-six small{display:block;margin-top:3px;color:#8adbd3;font:800 5.5px/1 Arial,sans-serif;letter-spacing:.08em}
.dominity-tutorial-time-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:9px 0 8px}
.dominity-tutorial-time-strip span{padding:10px 5px;border:1px solid rgba(220,184,94,.20);border-radius:9px;text-align:center;color:#f1e1b9;font:900 7px/1 Arial,sans-serif;letter-spacing:.08em}
.dominity-tutorial-time-strip span:nth-child(1){background:linear-gradient(135deg,#3b4f63,#b86f4f 65%,#e9b477)}
.dominity-tutorial-time-strip span:nth-child(2){background:linear-gradient(135deg,#70875d,#d7c77c)}
.dominity-tutorial-time-strip span:nth-child(3){background:linear-gradient(135deg,#4f4968,#b85d45 62%,#e39b65)}
.dominity-tutorial-time-strip span:nth-child(4){background:linear-gradient(135deg,#06101a,#102f45 58%,#17384d)}
.dominity-tutorial-character-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:10px 0 8px}
.dominity-tutorial-character-grid figure{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid rgba(218,181,93,.30);border-radius:10px;background:#080d0e;box-shadow:0 6px 16px rgba(0,0,0,.28)}
.dominity-tutorial-character-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.dominity-tutorial-character-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 4px 5px;background:linear-gradient(180deg,transparent,rgba(3,7,8,.94) 48%);text-align:center}
.dominity-tutorial-character-grid b{display:block;color:#efd89c;font:900 6.5px/1.1 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dominity-tutorial-character-grid small{display:block;margin-top:2px;color:#78d9d0;font:800 5px/1 Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dominity-tutorial-overlay.step-characters .dominity-tutorial-original-art{display:none!important}
.dominity-tutorial-overlay.step-characters .dominity-tutorial-panel{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(880px,92vw)!important;max-height:84vh!important}

@media(max-width:720px){
  .dominity-tutorial-rule-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dominity-tutorial-city-six{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dominity-tutorial-character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .dominity-tutorial-character-grid img{aspect-ratio:1/1;object-position:50% 24%}
  .dominity-tutorial-overlay.step-characters .dominity-tutorial-panel{left:10px!important;right:10px!important;transform:none!important;width:auto!important;max-height:68vh!important}
}
@media(orientation:landscape) and (max-height:650px){
  .dominity-tutorial-character-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  .dominity-tutorial-character-grid img{aspect-ratio:1/1;object-position:50% 24%}
  .dominity-tutorial-character-grid figcaption{padding:9px 3px 3px}
  .dominity-tutorial-character-grid b{font-size:5.5px}.dominity-tutorial-character-grid small{font-size:4.5px}
  .dominity-tutorial-city-six span{padding:5px 3px}
}

/* v4.2.9zan — manuals/tutorial reflect the established game character art. */
.dominity-tutorial-character-grid .tutorial-persona-render,
.live-rules-manual .manual-character-grid .manual-persona-render{width:100%;aspect-ratio:4/5;overflow:hidden;background:#070d0e}
.dominity-tutorial-character-grid .tutorial-persona-render .persona-portrait-svg,
.live-rules-manual .manual-character-grid .manual-persona-render .persona-portrait-svg{width:100%!important;height:100%!important;min-height:0!important;border-radius:0!important;background-size:cover!important;background-position:center top!important}
.dominity-tutorial-character-grid .tutorial-persona-render .persona-portrait-svg b,
.dominity-tutorial-character-grid .tutorial-persona-render .persona-portrait-svg i,
.live-rules-manual .manual-character-grid .manual-persona-render .persona-portrait-svg b,
.live-rules-manual .manual-character-grid .manual-persona-render .persona-portrait-svg i{display:none!important}
.live-rules-manual .manual-character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:2px}
.live-rules-manual .manual-character-grid figure{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid rgba(220,185,96,.26);border-radius:10px;background:#080d0e;box-shadow:0 7px 18px rgba(0,0,0,.28)}
.live-rules-manual .manual-character-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%}
.live-rules-manual .manual-character-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 7px 7px;background:linear-gradient(180deg,transparent,rgba(4,8,9,.96) 52%);text-align:center}
.live-rules-manual .manual-character-grid figcaption b{display:block;color:#f0d79a;font:900 10px/1.1 Georgia,serif}
.live-rules-manual .manual-character-grid figcaption small{display:block;margin-top:3px;color:#66d6cb;font:800 7px/1.1 Arial,sans-serif;letter-spacing:.05em}
@media(max-width:620px){
  .live-rules-manual .manual-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .live-rules-manual .manual-character-grid img,
  .live-rules-manual .manual-character-grid .manual-persona-render{aspect-ratio:1/1}
  .live-rules-manual .manual-character-grid figcaption{padding:15px 5px 5px}
}

/* ============================================================
   BORDER RUN v4.2.9zat — INACTIVE TURN UI CONSISTENCY
   ============================================================ */
.lr-turn-locked-note{
  margin-top:8px;padding:8px 10px;border:1px solid rgba(83,214,207,.34);border-radius:8px;
  background:linear-gradient(180deg,rgba(7,26,25,.88),rgba(6,16,17,.92));
  color:#76ddd4;font:900 9px/1.25 system-ui,sans-serif;letter-spacing:.11em;text-align:center;
}
body:not(.perf-lite) .lr-turn-locked-note{box-shadow:0 0 14px rgba(63,206,196,.08)}
@media (orientation:portrait) and (min-width:600px){
  #modalCard[data-kicker="ROLL BUTTON"]{max-width:min(82vw,720px)!important}
}

/* ============================================================
   BORDER RUN v4.2.9zat — PREMIUM TABLET TUTORIAL + 75-TROPHY PRESENTATION
   ============================================================ */
/* Tablet/landscape tutorial: keep the copy and Dominity art in separate visual
   columns, with enough breathing room that neither can cover the other. */
.dominity-tutorial-overlay{--tutorial-gold:#d7b45c;--tutorial-teal:#55d4c9}
.dominity-tutorial-panel{
  border-color:rgba(215,180,92,.76)!important;
  background:
    linear-gradient(180deg,rgba(10,17,18,.975),rgba(4,9,10,.965))!important;
  box-shadow:0 26px 70px rgba(0,0,0,.64),inset 0 1px 0 rgba(255,240,195,.08),inset 0 0 44px rgba(61,201,191,.035)!important;
}
.dominity-tutorial-panel:before{
  content:"";display:block;height:2px;margin:-7px 0 14px;border-radius:999px;
  background:linear-gradient(90deg,var(--tutorial-teal),rgba(85,212,201,.15) 38%,rgba(215,180,92,.18) 62%,var(--tutorial-gold));
}
.dominity-tutorial-kicker{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid rgba(85,212,201,.25);border-radius:999px;background:rgba(30,96,91,.13)!important;color:#78e2d9!important}
.dominity-tutorial-panel h2{margin-top:8px!important;max-width:16ch}
.dominity-tutorial-quote{margin-top:12px!important;background:linear-gradient(90deg,rgba(213,173,77,.12),rgba(213,173,77,.025))!important}
.dominity-tutorial-helper{margin-top:12px!important;border-color:rgba(85,212,201,.28)!important;background:rgba(31,116,109,.13)!important}
.dominity-tutorial-actions{padding-top:5px;border-top:1px solid rgba(215,180,92,.10)}
.dominity-tutorial-actions button{box-shadow:0 6px 15px rgba(0,0,0,.22)}
.dominity-tutorial-next{background:linear-gradient(180deg,#35cbc0,#168b84)!important}
.dominity-tutorial-original-art{filter:drop-shadow(0 22px 34px rgba(0,0,0,.52));}
.dominity-tutorial-original-art .persona-portrait-svg{border:1px solid rgba(215,180,92,.72)!important;box-shadow:0 18px 45px rgba(0,0,0,.44),0 0 0 5px rgba(8,14,15,.50)!important}

@media (orientation:landscape) and (min-width:760px) and (max-width:1400px){
  .dominity-tutorial-overlay.cinematic .dominity-tutorial-panel,
  .dominity-tutorial-panel{
    left:max(18px,calc(env(safe-area-inset-left) + 10px))!important;
    right:auto!important;
    width:min(58vw,720px)!important;
    max-width:calc(100vw - min(34vw,390px) - 58px)!important;
    max-height:78vh!important;
    bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))!important;
    transform:none!important;
  }
  .dominity-tutorial-original-art{
    right:max(18px,calc(env(safe-area-inset-right) + 12px))!important;
    width:min(30vw,360px)!important;
    height:min(72vh,610px)!important;
    bottom:0!important;
    top:auto!important;
  }
  .dominity-tutorial-panel h2{font-size:clamp(27px,3.1vw,42px)!important}
  .dominity-tutorial-panel p{font-size:clamp(12px,1.2vw,14px)!important;line-height:1.48!important}
}
@media (orientation:landscape) and (min-width:900px) and (max-height:720px){
  .dominity-tutorial-overlay.cinematic .dominity-tutorial-panel,.dominity-tutorial-panel{max-height:82vh!important;padding:15px 18px 14px!important}
  .dominity-tutorial-original-art{height:min(70vh,460px)!important;width:min(28vw,300px)!important}
  .dominity-tutorial-panel h2{font-size:29px!important}.dominity-tutorial-quote{font-size:12px!important}.dominity-tutorial-panel p{font-size:11.5px!important}
  .dominity-tutorial-actions button{min-height:40px!important}
}
@media (orientation:portrait) and (min-width:700px){
  .dominity-tutorial-original-art{width:min(31vw,250px)!important;height:min(31vh,290px)!important;right:22px!important;top:max(76px,calc(env(safe-area-inset-top) + 26px))!important;bottom:auto!important}
  .dominity-tutorial-overlay.cinematic .dominity-tutorial-panel,.dominity-tutorial-panel{left:22px!important;right:22px!important;width:auto!important;max-width:none!important;max-height:56vh!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))!important}
}

/* The retired 150-trophy ladder is intentionally visually de-emphasized. */
.achievement-75-case .trophy-case-header>small{max-width:760px;margin-inline:auto}
.achievement-retired-note{display:block;margin:10px auto 0;max-width:760px;padding:8px 11px;border:1px solid rgba(142,150,145,.18);border-radius:8px;background:rgba(255,255,255,.025);color:#8f9992;font:700 9px/1.4 Arial,sans-serif;font-style:normal;letter-spacing:.02em}
.achievement-75-case .achievement-tier-summary button{min-width:108px}
.achievement-75-case .trophy-case-tile.achievement-75{border-color:rgba(220,184,92,.23)}


/* ============================================================
   BORDER RUN v4.2.9zat — IMAGING REGRESSION GUARDS
   Keep live-manual anchors clear of the sticky tab strip and ensure restored
   raster contact art behaves like the other established character portraits.
   ============================================================ */
.live-rules-manual .manual-live-page{scroll-margin-top:84px!important}
.live-rules-manual .manual-character-grid .persona-portrait-photo,
.dominity-tutorial-character-grid .tutorial-persona-render .persona-portrait-photo{
  background-size:cover!important;
  background-position:50% 20%!important;
  background-repeat:no-repeat!important;
}
@media(max-width:620px){
  .live-rules-manual .manual-live-page{scroll-margin-top:72px!important}
}

/* ============================================================
   BORDER RUN v4.2.9zav — DIRTY DOZEN ORIGINAL-ACCOUNT PACKAGE
   ============================================================ */
.dirty-dozen-welcome{display:grid;gap:12px;margin-top:8px}
.dirty-dozen-welcome>img{display:block;width:100%;max-height:min(48dvh,560px);object-fit:contain;border:1px solid rgba(224,177,75,.58);border-radius:14px;background:#050706;box-shadow:0 16px 36px rgba(0,0,0,.52)}
.dirty-dozen-member-stamp{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:11px 13px;border:1px solid rgba(225,179,76,.56);border-radius:12px;background:linear-gradient(145deg,#11130f,#070908);box-shadow:inset 0 0 24px rgba(225,179,76,.05)}
.dirty-dozen-member-stamp span{font:950 10px/1 Arial,sans-serif;letter-spacing:.15em;color:#e8c76d}
.dirty-dozen-member-stamp strong{grid-row:1/3;grid-column:2;font:950 32px/1 Georgia,serif;color:#f1d88e;text-shadow:0 2px 0 #000}
.dirty-dozen-member-stamp small{font:850 8px/1.2 Arial,sans-serif;letter-spacing:.09em;color:#83d9d2}
.dirty-dozen-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.dirty-dozen-reward-grid>div{display:grid;place-items:center;align-content:center;min-height:78px;padding:8px 5px;border:1px solid rgba(220,178,75,.38);border-radius:10px;background:linear-gradient(180deg,rgba(25,28,23,.96),rgba(7,10,9,.98));text-align:center}
.dirty-dozen-reward-grid b{font:950 20px/1 Georgia,serif;color:#f2d98e}
.dirty-dozen-reward-grid span{margin-top:5px;font:900 7.5px/1.15 Arial,sans-serif;letter-spacing:.08em;color:#70d8d0}
.dirty-dozen-membership-tile{border-color:rgba(226,177,73,.68)!important;background:linear-gradient(180deg,rgba(29,26,17,.97),rgba(7,10,9,.98))!important}
.dirty-dozen-dogtag{background:radial-gradient(circle at 50% 42%,rgba(221,178,78,.13),rgba(5,8,7,.98) 66%)!important}
.dirty-dozen-dogtag img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 10px 8px rgba(0,0,0,.66))!important}
.token-dirtydozen .tokin-piece-render{filter:drop-shadow(0 8px 6px rgba(0,0,0,.66)) drop-shadow(0 0 8px rgba(226,178,74,.20))!important}
@media(max-width:560px){
  .dirty-dozen-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dirty-dozen-welcome>img{max-height:38dvh}
  .dirty-dozen-member-stamp strong{font-size:27px}
}

/* ============================================================
   BORDER RUN v4.2.9zb — TRUE 3D BOARD DICE + CENTERED PAWNS + VISIBLE RIMS
   ============================================================ */
/* The board dice must read like real cubes tumbling end-over-end instead of
   flat sprites. Keep the full six-face shell active and force preserved depth
   through the board overlay path. */
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die,
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die *{
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die .true-cube-spin-shell{
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die .br3d-face{
  overflow:hidden!important;
}

/* Optical centering: the route coordinate is the pawn center, but the rendered
   vehicles need a slight directional nudge so the body sits over the lane. */
.lr-master-player-piece .ride-render.photoreal-piece-v4 .piece-3d-motion>img,
.lr-master-remote-piece .ride-render.photoreal-piece-v4 .piece-3d-motion>img,
.map-node .vehicle-pawn .ride-render.photoreal-piece-v4 .piece-3d-motion>img{
  transform:translateZ(13px) scaleX(var(--piece-facing,1)) scale(.98)!important;
  transform-origin:50% 50%!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece{
  margin-left:0!important;
  margin-top:0!important;
}

/* v4.2.9ze — keep custom rims visible without detached glowing dots under
   the vehicle. We hide the temporary wheel overlays again and instead blend
   rim glints directly onto the photoreal car render. */
.ride-render.photoreal-piece-v4 .piece-wheel,
.ride-render.photoreal-piece-v4 .piece-wheel:before,
.ride-render.photoreal-piece-v4 .piece-wheel-core{
  display:none!important;
}
.ride-render.photoreal-piece-v4.mod-rims-steelies{--piece-rim:#c6cdd1;--piece-rim-glow:rgba(220,224,228,.14)}
.ride-render.photoreal-piece-v4.mod-rims-chrome{--piece-rim:#ecf6ff;--piece-rim-glow:rgba(186,232,255,.32)}
.ride-render.photoreal-piece-v4.mod-rims-gold{--piece-rim:#ffd56a;--piece-rim-glow:rgba(255,216,92,.34)}
.ride-render.photoreal-piece-v4.mod-rims-nightwatch{--piece-rim:#75f0e6;--piece-rim-glow:rgba(72,231,218,.34)}
.ride-render.photoreal-piece-v4 .render-rim-accent{
  position:absolute!important;
  inset:0!important;
  z-index:15!important;
  pointer-events:none!important;
  opacity:0!important;
  mix-blend-mode:screen!important;
}
.ride-render.photoreal-piece-v4.mod-rims-chrome .render-rim-accent,
.ride-render.photoreal-piece-v4.mod-rims-gold .render-rim-accent,
.ride-render.photoreal-piece-v4.mod-rims-nightwatch .render-rim-accent{
  opacity:.96!important;
}
.ride-render.photoreal-piece-v4.mod-rims-chrome .render-rim-accent,
.ride-render.photoreal-piece-v4.mod-rims-gold .render-rim-accent,
.ride-render.photoreal-piece-v4.mod-rims-nightwatch .render-rim-accent{
  background:
    radial-gradient(circle at 27.7% 69.8%,rgba(255,255,255,.74) 0 1.4%,transparent 1.9%),
    radial-gradient(circle at 27.7% 69.8%,transparent 0 3.0%,var(--piece-rim) 3.1% 4.0%,rgba(0,0,0,.22) 4.1% 4.4%,transparent 4.5%),
    radial-gradient(circle at 73.2% 69.8%,rgba(255,255,255,.74) 0 1.4%,transparent 1.9%),
    radial-gradient(circle at 73.2% 69.8%,transparent 0 3.0%,var(--piece-rim) 3.1% 4.0%,rgba(0,0,0,.22) 4.1% 4.4%,transparent 4.5%)!important;
  filter:drop-shadow(0 0 3px var(--piece-rim-glow))!important;
}


/* v4.2.9ze — restore photoreal dice while keeping a clear rolling tumble. */
#separateDiceScreen .photoreal-die-holder,
.boardDiceOverlay .photoreal-die-holder{
  transform-style:preserve-3d!important;
  perspective:1200px!important;
}
#separateDiceScreen .photoreal-die-holder .photo-die-spin-shell,
.boardDiceOverlay .photoreal-die-holder .photo-die-spin-shell{
  display:block;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
  transform:rotateX(var(--die-rx,0deg)) rotateY(var(--die-ry,0deg)) rotateZ(var(--die-rz,0deg));
}
#separateDiceScreen.rolling .die-physA.photoreal-die-holder .photo-die-spin-shell,
.boardDiceOverlay.rolling .die-physA.photoreal-die-holder .photo-die-spin-shell{
  animation:v429zePhotoDieA 1.98s cubic-bezier(.18,.72,.16,1) both;
}
#separateDiceScreen.rolling .die-physB.photoreal-die-holder .photo-die-spin-shell,
.boardDiceOverlay.rolling .die-physB.photoreal-die-holder .photo-die-spin-shell{
  animation:v429zePhotoDieB 1.98s cubic-bezier(.18,.72,.16,1) both;
}
#separateDiceScreen.landed .photoreal-die-holder .photo-die-spin-shell,
.boardDiceOverlay.landed .photoreal-die-holder .photo-die-spin-shell{
  transform:rotateX(var(--die-rx,0deg)) rotateY(var(--die-ry,0deg)) rotateZ(var(--die-rz,0deg));
}
@keyframes v429zePhotoDieA{
  0%{transform:translateY(-12px) rotateX(-34deg) rotateY(12deg) rotateZ(-14deg)}
  16%{transform:translate3d(-10px,-56px,0) rotateX(310deg) rotateY(132deg) rotateZ(82deg)}
  34%{transform:translate3d(16px,-84px,0) rotateX(676deg) rotateY(278deg) rotateZ(188deg)}
  56%{transform:translate3d(-12px,-42px,0) rotateX(1048deg) rotateY(412deg) rotateZ(266deg)}
  74%{transform:translate3d(7px,-14px,0) rotateX(1322deg) rotateY(520deg) rotateZ(332deg)}
  100%{transform:rotateX(var(--die-rx,0deg)) rotateY(var(--die-ry,0deg)) rotateZ(var(--die-rz,0deg))}
}
@keyframes v429zePhotoDieB{
  0%{transform:translateY(-8px) rotateX(24deg) rotateY(-22deg) rotateZ(10deg)}
  18%{transform:translate3d(12px,-48px,0) rotateX(-282deg) rotateY(160deg) rotateZ(-86deg)}
  37%{transform:translate3d(-18px,-88px,0) rotateX(-624deg) rotateY(338deg) rotateZ(-194deg)}
  58%{transform:translate3d(14px,-38px,0) rotateX(-974deg) rotateY(492deg) rotateZ(-282deg)}
  78%{transform:translate3d(-7px,-12px,0) rotateX(-1248deg) rotateY(628deg) rotateZ(-344deg)}
  100%{transform:rotateX(var(--die-rx,0deg)) rotateY(var(--die-ry,0deg)) rotateZ(var(--die-rz,0deg))}
}

/* ============================================================
   BORDER RUN v4.2.9ze — LOCAL PAWN CLEANUP
   The temporary wheel/rim/marker overlays were visible as detached yellow
   circles beneath the local vehicle on the master board. Keep the board pawn
   to the photoreal vehicle render itself; locker previews may still show mods.
   ============================================================ */
body.portrait-reference-live .lr-master-player-piece.lr-art-player .render-rim-accent,
body.landscape-reference-live .lr-master-player-piece.lr-art-player .render-rim-accent,
body.portrait-reference-live .lr-master-player-piece.lr-art-player .piece-marker-lights,
body.landscape-reference-live .lr-master-player-piece.lr-art-player .piece-marker-lights,
body.portrait-reference-live .lr-master-player-piece.lr-art-player .piece-engine-glow,
body.landscape-reference-live .lr-master-player-piece.lr-art-player .piece-engine-glow,
body.portrait-reference-live .lr-master-player-piece.lr-art-player .piece-wheel,
body.landscape-reference-live .lr-master-player-piece.lr-art-player .piece-wheel,
body.portrait-reference-live .lr-master-player-piece.lr-art-player .piece-wheel-core,
body.landscape-reference-live .lr-master-player-piece.lr-art-player .piece-wheel-core,
body.portrait-reference-live .lr-master-player-piece.lr-art-player .piece-wheel::before,
body.landscape-reference-live .lr-master-player-piece.lr-art-player .piece-wheel::before{
  display:none!important;
  opacity:0!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
}


/* v4.2.9zg — Dirty Dozen award cascades should use the exclusive crowned-skull
   art instead of the generic leaf emoji cascade. */
.award-dirtydozen-token,
.confetti-dirtydozen-token{display:block!important;width:1em!important;height:1em!important;object-fit:contain!important;filter:drop-shadow(0 0 8px rgba(255,218,115,.28))!important}
.unlock-award-hero>span .award-dirtydozen-token{width:68px!important;height:68px!important}
.unlock-money-confetti .confetti-dirtydozen-token{width:1em!important;height:1em!important}
.theme-dirtydozen .unlock-award-hero>span{box-shadow:0 0 0 6px rgba(255,214,102,.12),0 0 34px rgba(255,214,102,.24)!important}
.theme-dirtydozen .unlock-money-confetti{font-size:clamp(28px,7vw,52px)!important;filter:drop-shadow(0 7px 4px rgba(0,0,0,.58)) drop-shadow(0 0 10px rgba(255,215,120,.28))!important}
.theme-dirtydozen .unlock-money-confetti.leaffall{animation:none!important}


/* v4.2.9zg — startup art is painted as a background layer instead of an IMG.
   This prevents iOS/PWA from exposing a broken-image icon or alt text if an
   image decode is interrupted during startup. */
.startup-splash.startup-sequence{background:#020606 url('./assets/startup-splash.webp') center center/contain no-repeat!important}
.startup-sequence-image{background-repeat:no-repeat!important;background-position:center center!important;background-size:contain!important;object-fit:unset!important;font-size:0!important;color:transparent!important}
.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-image{background-size:cover!important;background-position:center center!important}
@media (orientation:portrait){.startup-splash.startup-sequence[data-phase="brand"] .startup-sequence-image{background-size:contain!important}}


/* ============================================================
   BORDER RUN v4.2.9zg — PHOTO-TEXTURED SIX-FACE DICE
   Keep the premium rendered-material look without ever flattening the die.
   ============================================================ */
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.photo-textured-die,
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.photo-textured-die .true-cube-spin-shell,
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.photo-textured-die .br3d-face{
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.photo-textured-die{
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  filter:drop-shadow(17px 22px 11px rgba(0,0,0,.62))!important;
}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-face{
  background-color:var(--br-die-surface,#d9c88b)!important;
  background-image:
    linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.02) 38%,rgba(0,0,0,.20) 100%),
    var(--die-photo)!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%,235% 235%!important;
  background-position:center,43% 47%!important;
  background-blend-mode:soft-light,normal!important;
  border:4px solid var(--br-die-edge,#d8c184)!important;
  border-radius:18%!important;
  box-shadow:inset 9px 9px 13px rgba(255,255,255,.24),inset -12px -14px 16px rgba(0,0,0,.25),0 0 0 1px rgba(8,8,7,.42)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-front{background-position:center,43% 48%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-back{background-position:center,54% 48%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-right{background-position:center,68% 48%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-left{background-position:center,31% 48%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-top{background-position:center,48% 29%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-bottom{background-position:center,48% 67%!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a .photo-textured-die .true-cube-spin-shell{animation:v429xTumbleA 1.98s cubic-bezier(.12,.58,.16,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b .photo-textured-die .true-cube-spin-shell{animation:v429xTumbleB 1.98s cubic-bezier(.12,.58,.16,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling.impact .dice-flight-a .photo-textured-die .true-cube-spin-shell{animation:v429xImpactA .32s cubic-bezier(.18,.78,.22,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.rolling.impact .dice-flight-b .photo-textured-die .true-cube-spin-shell{animation:v429xImpactB .32s cubic-bezier(.18,.78,.22,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.landed .photo-textured-die .true-cube-spin-shell{animation:none!important;transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))!important}

/* Every leaf visible in award/cascade UI is the existing cannabis-leaf asset,
   never a generic emoji leaf. */
.unlock-celebration .award-cannabis-leaf,
.unlock-celebration .confetti-cannabis-leaf{
  display:block!important;
  object-fit:contain!important;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.48)) drop-shadow(0 0 8px rgba(84,220,103,.28))!important;
}
.unlock-celebration .unlock-award-hero>span .award-cannabis-leaf{width:68px!important;height:68px!important}
.unlock-celebration .unlock-money-confetti .confetti-cannabis-leaf{width:1em!important;height:1em!important}

/* ============================================================
   BORDER RUN v4.2.9zh — SAFARI TRUE-CUBE / PAWN OCCLUSION PASS
   ============================================================ */
/* Safari/WebKit flattens preserve-3d descendants when a grouping/compositing
   property such as filter or clip-path is applied to an ancestor. Retire those
   grouping properties on the dice hierarchy so all six faces remain spatially
   separated throughout the throw. */
body>#boardDiceOverlay.board-drop-mode.separate-dice-screen{
  overflow:visible!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  perspective:760px!important;
  -webkit-perspective:760px!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}
body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight,
body>#boardDiceOverlay.separate-dice-screen .dice-flight,
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.photo-textured-die,
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.photo-textured-die .true-cube-spin-shell{
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  overflow:visible!important;
  contain:none!important;
  isolation:auto!important;
  filter:none!important;
  -webkit-filter:none!important;
}
body>#boardDiceOverlay.separate-dice-screen .dice-flight{
  perspective:680px!important;
  -webkit-perspective:680px!important;
}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.photo-textured-die{
  background:none!important;
  box-shadow:none!important;
  opacity:1!important;
}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-face{
  opacity:1!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
}
/* Use face shading without CSS filter, because filter on transformed faces can
   trigger another WebKit compositing path that makes the cube read like cards. */
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-front{filter:none!important;background-color:#ffffff!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-back{filter:none!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.28),inset 9px 9px 13px rgba(255,255,255,.14),inset -12px -14px 16px rgba(0,0,0,.26)!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-right{filter:none!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.13),inset 9px 9px 13px rgba(255,255,255,.18),inset -12px -14px 16px rgba(0,0,0,.24)!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-left{filter:none!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.18),inset 9px 9px 13px rgba(255,255,255,.16),inset -12px -14px 16px rgba(0,0,0,.25)!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-top{filter:none!important;box-shadow:inset 0 0 0 999px rgba(255,255,255,.10),inset 9px 9px 13px rgba(255,255,255,.24),inset -12px -14px 16px rgba(0,0,0,.20)!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-bottom{filter:none!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.34),inset 9px 9px 13px rgba(255,255,255,.10),inset -12px -14px 16px rgba(0,0,0,.30)!important}
body>#boardDiceOverlay.separate-dice-screen.armed .photo-textured-die .true-cube-spin-shell{display:none!important}
body>#boardDiceOverlay.separate-dice-screen.armed .photo-textured-die::before{content:"";position:absolute;inset:-9%;display:block;background:var(--die-photo) center/contain no-repeat;filter:drop-shadow(16px 20px 10px rgba(0,0,0,.62));transform:rotate(var(--idle-die-cant,-5deg))}
body>#boardDiceOverlay.separate-dice-screen.armed .dice-flight-b .photo-textured-die::before{--idle-die-cant:6deg}
.br-global-menu-actions .dirty-dozen-direct{color:#f9dda0!important;border-color:#d3a947!important;background:linear-gradient(180deg,#3a2d16,#17150f)!important}
.br-global-menu-actions .tutorial-direct{color:#071b19!important;border-color:#127b77!important;background:linear-gradient(180deg,#27b7b1,#15948f)!important;text-transform:uppercase}
.road-credit-mark{display:inline-grid;place-items:center;min-width:25px;height:20px;padding:0 5px;border:1px solid #58d9cc;border-radius:6px;background:linear-gradient(145deg,#123f3c,#071b1a);color:#f3d47e;font:950 8px/1 Arial,sans-serif;letter-spacing:.08em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 2px 5px rgba(0,0,0,.38)}

/* The local pawn plane is always the final visual plane on the board. The road
   SVG already has a local mask; these rules make sure no later map/route style
   can establish a stacking context above the pawn. */
.artwork-master-renderer .lr-route-network,
.artwork-master-renderer .lr-route-start-feeders,
.artwork-master-renderer .lr-crossover-gate-layer,
.artwork-master-renderer .lr-crossover-city-layer{
  z-index:8!important;
}
.artwork-master-renderer .lr-art-board-overlay{z-index:40!important;isolation:isolate!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:5000!important;isolation:isolate!important;overflow:visible!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  z-index:5100!important;
  isolation:isolate!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .piece-3d-motion>img,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .piece-3d-motion>img{
  opacity:1!important;
  mix-blend-mode:normal!important;
  position:relative!important;
  z-index:20!important;
}


/* ============================================================
   BORDER RUN v4.2.9zj — TROPHY DICE SCALE + PIECE PICKER SCALE
   ============================================================ */
/* Trophy-case dice should read as full collector objects, not tiny thumbnails
   inside a second framed square. */
.trophy-case-tile.dice .trophy-case-pedestal{
  width:112px!important;
  height:104px!important;
  margin-top:-2px!important;
  margin-bottom:8px!important;
}
.trophy-case-tile.dice .trophy-case-pedestal:before{
  left:10px!important;
  right:10px!important;
  bottom:0!important;
  height:20px!important;
}
.trophy-case-tile.dice .trophy-object.die{
  position:relative!important;
  z-index:3!important;
  width:104px!important;
  height:96px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.trophy-case-tile.dice .dice-photo-preview.trophy-dice-photo{
  width:98px!important;
  height:98px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
.trophy-case-tile.dice .dice-photo-preview.trophy-dice-photo>img{
  width:108%!important;
  height:108%!important;
  max-width:none!important;
  object-fit:contain!important;
  transform:scale(1.05)!important;
  filter:drop-shadow(0 9px 8px rgba(0,0,0,.52))!important;
}
.trophy-case-tile.dice .dice-photo-preview.trophy-dice-photo .preview-pips{
  left:17%!important;
  top:24%!important;
  width:58%!important;
  height:60%!important;
  transform:scale(1.05)!important;
}
.trophy-case-tile.dice{
  min-height:232px!important;
}
@media(max-width:560px){
  .trophy-case-tile.dice .trophy-case-pedestal{width:104px!important;height:98px!important}
  .trophy-case-tile.dice .trophy-object.die{width:98px!important;height:92px!important}
  .trophy-case-tile.dice .dice-photo-preview.trophy-dice-photo{width:92px!important;height:92px!important}
}

/* Starter piece chooser: use the card area for the actual piece art. The old
   76–88px preview made the pieces read like tiny icons on modern phones. */
.ride-chooser-modal .start-ride-locker .vehicle-skin{
  min-height:208px!important;
  grid-template-rows:128px auto auto auto!important;
  padding:8px!important;
}
.ride-chooser-modal .start-ride-locker .vehicle-preview.vehicle-poster{
  height:128px!important;
  min-height:128px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:radial-gradient(ellipse at 50% 72%,rgba(70,217,203,.13),transparent 62%),#090d0c!important;
}
.ride-chooser-modal .start-ride-locker .vehicle-preview.vehicle-poster>img{
  width:118%!important;
  height:118%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:scale(1.08)!important;
  transform-origin:center!important;
  filter:saturate(1.08) contrast(1.07) drop-shadow(0 6px 5px rgba(0,0,0,.38))!important;
}
.ride-chooser-modal .start-ride-locker .vehicle-skin.ride-microbus .vehicle-preview.vehicle-poster>img{
  transform:scale(1.00)!important;
  padding:0!important;
  object-position:center!important;
}
.ride-chooser-modal .start-ride-locker .vehicle-skin strong{
  font-size:12px!important;
  min-height:24px!important;
  margin-top:5px!important;
}
.ride-chooser-modal .start-ride-locker .vehicle-trait{
  font-size:9px!important;
  line-height:1.2!important;
  margin:2px 0!important;
}
.ride-chooser-modal .start-ride-locker .vehicle-skin small{
  font-size:8px!important;
  min-height:18px!important;
}
/* Tokins are game pieces too; make them visually comparable to the vehicles
   on the starting-piece screen. */
.ride-chooser-modal .playable-tokins .playable-piece{
  min-height:218px!important;
  grid-template-rows:112px auto auto auto!important;
}
.ride-chooser-modal .playable-tokins .tokin-locker-art{
  width:112px!important;
  height:112px!important;
  margin:0 auto!important;
  display:grid!important;
  place-items:center!important;
}
.ride-chooser-modal .playable-tokins .locker-tokin-render{
  width:108px!important;
  height:108px!important;
  max-width:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 6px 5px rgba(0,0,0,.46))!important;
}
@media(max-width:470px){
  .ride-chooser-modal .start-ride-locker .vehicle-skin{
    min-height:194px!important;
    grid-template-rows:116px auto auto auto!important;
  }
  .ride-chooser-modal .start-ride-locker .vehicle-preview.vehicle-poster{
    height:116px!important;
    min-height:116px!important;
  }
  .ride-chooser-modal .playable-tokins .playable-piece{
    min-height:204px!important;
    grid-template-rows:102px auto auto auto!important;
  }
  .ride-chooser-modal .playable-tokins .tokin-locker-art{width:102px!important;height:102px!important}
  .ride-chooser-modal .playable-tokins .locker-tokin-render{width:98px!important;height:98px!important}
}

/* ============================================================
   BORDER RUN v4.2.9zk — NORTHBOUND MARKET + PORTRAIT CITY D6 LAYOUT
   ============================================================ */
/* Keep the pickup call-to-action in normal document flow. The old absolute
   footer could sit on top of the Canada-premium line on narrow phones. */
.northern-us-cargo-buy-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr)!important;
  grid-template-areas:"art copy" "art cta"!important;
  gap:8px 12px!important;
  align-items:center!important;
  min-height:132px!important;
  padding:10px 12px!important;
  text-align:left!important;
  overflow:hidden!important;
}
.northern-us-cargo-buy-card .cargo-art{
  grid-area:art!important;
  display:block!important;
  width:82px!important;
  height:104px!important;
  align-self:center!important;
  border-radius:10px!important;
  box-shadow:inset 0 0 0 1px rgba(244,229,180,.28),0 5px 12px rgba(0,0,0,.42)!important;
}
.northern-us-cargo-buy-card .cargo-copy{grid-area:copy!important;min-width:0!important;padding:2px 0!important}
.northern-us-cargo-buy-card .cargo-copy>strong{font-size:16px!important;line-height:1.1!important}
.northern-us-cargo-buy-card .cargo-copy>small{font-size:11px!important;line-height:1.3!important}
.northern-us-cargo-buy-card .cargo-econ{margin-top:8px!important;display:grid!important;grid-template-columns:auto!important;gap:2px!important;text-align:right!important}
.northern-us-cargo-buy-card .cargo-tap-cta{
  grid-area:cta!important;
  position:static!important;
  justify-self:end!important;
  align-self:end!important;
  margin:2px 0 0!important;
  padding:5px 9px!important;
  border:1px solid rgba(105,219,229,.44)!important;
  border-radius:7px!important;
  background:rgba(17,59,61,.78)!important;
  color:#83e5ef!important;
  font:950 8px/1 Arial,sans-serif!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
}
@media(max-width:430px){
  .northern-us-cargo-buy-card{grid-template-columns:74px minmax(0,1fr)!important;min-height:120px!important;padding:9px!important;gap:7px 10px!important}
  .northern-us-cargo-buy-card .cargo-art{width:70px!important;height:90px!important}
  .northern-us-cargo-buy-card .cargo-copy>strong{font-size:15px!important}
  .northern-us-cargo-buy-card .cargo-copy>small{font-size:10px!important}
  .northern-us-cargo-buy-card .cargo-tap-cta{font-size:8px!important}
}

/* Portrait must win even if the orientation state class is stale after a
   rotation/rejoin. This centers the full drive-through board instead of
   pinning a landscape-width panel against the right edge. */
@media (orientation:portrait){
  body .city-d6-overlay,
  body.landscape-reference-live .city-d6-overlay,
  body.portrait-reference-live .city-d6-overlay{
    place-items:center!important;
    justify-items:center!important;
    align-items:center!important;
    padding:max(74px,calc(env(safe-area-inset-top,0px) + 62px)) 12px max(116px,calc(env(safe-area-inset-bottom,0px) + 96px))!important;
    background:rgba(1,7,7,.36)!important;
    overflow:hidden!important;
  }
  body .city-d6-stage,
  body.landscape-reference-live .city-d6-stage,
  body.portrait-reference-live .city-d6-stage{
    width:min(92vw,420px)!important;
    max-width:calc(100vw - 24px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 210px)!important;
    margin:0 auto!important;
    padding:18px 14px 22px!important;
    overflow:auto!important;
    box-sizing:border-box!important;
  }
  body .city-d6-six,
  body.landscape-reference-live .city-d6-six,
  body.portrait-reference-live .city-d6-six{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body .city-d6-die-flight,
  body.landscape-reference-live .city-d6-die-flight,
  body.portrait-reference-live .city-d6-die-flight{height:138px!important;margin-top:8px!important}
  body .manual-dice-gate,
  body.landscape-reference-live .manual-dice-gate,
  body.portrait-reference-live .manual-dice-gate{
    left:50%!important;
    right:auto!important;
    width:min(88vw,420px)!important;
    max-width:calc(100vw - 34px)!important;
    bottom:max(82px,calc(env(safe-area-inset-bottom,0px) + 68px))!important;
    transform:translateX(-50%)!important;
    box-sizing:border-box!important;
  }
}


/* ============================================================
   BORDER RUN v4.2.9zm — PHOTOREAL CITY 1D6
   The city D6 inherited the six-face cube geometry, but an older city-specific
   background rule replaced the selected dice render with a generic gradient.
   Keep the exact equipped die artwork on every physical face while preserving
   true cube depth and the city tumble animation.
   ============================================================ */
.city-d6-overlay .die-cube3d.photo-textured-die,
.city-d6-overlay .die-cube3d.photo-textured-die .true-cube-spin-shell,
.city-d6-overlay .die-cube3d.photo-textured-die .br3d-face{
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}
.city-d6-overlay .die-cube3d.photo-textured-die{
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-filter:none!important;
  overflow:visible!important;
  contain:none!important;
  isolation:auto!important;
}
.city-d6-overlay .photo-textured-die .br3d-face{
  background-color:var(--br-die-surface,#d9c88b)!important;
  background-image:
    linear-gradient(145deg,rgba(255,255,255,.20),rgba(255,255,255,.025) 38%,rgba(0,0,0,.18) 100%),
    var(--die-photo)!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%,235% 235%!important;
  background-position:center,43% 47%!important;
  background-blend-mode:soft-light,normal!important;
  border:4px solid var(--br-die-edge,#d8c184)!important;
  border-radius:18%!important;
  opacity:1!important;
  visibility:visible!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  filter:none!important;
  -webkit-filter:none!important;
}
.city-d6-overlay .photo-textured-die .br3d-front{background-position:center,43% 48%!important;box-shadow:inset 9px 9px 13px rgba(255,255,255,.24),inset -12px -14px 16px rgba(0,0,0,.25),0 0 0 1px rgba(8,8,7,.42)!important}
.city-d6-overlay .photo-textured-die .br3d-back{background-position:center,54% 48%!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.28),inset 9px 9px 13px rgba(255,255,255,.14),inset -12px -14px 16px rgba(0,0,0,.26)!important}
.city-d6-overlay .photo-textured-die .br3d-right{background-position:center,68% 48%!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.13),inset 9px 9px 13px rgba(255,255,255,.18),inset -12px -14px 16px rgba(0,0,0,.24)!important}
.city-d6-overlay .photo-textured-die .br3d-left{background-position:center,31% 48%!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.18),inset 9px 9px 13px rgba(255,255,255,.16),inset -12px -14px 16px rgba(0,0,0,.25)!important}
.city-d6-overlay .photo-textured-die .br3d-top{background-position:center,48% 29%!important;box-shadow:inset 0 0 0 999px rgba(255,255,255,.10),inset 9px 9px 13px rgba(255,255,255,.24),inset -12px -14px 16px rgba(0,0,0,.20)!important}
.city-d6-overlay .photo-textured-die .br3d-bottom{background-position:center,48% 67%!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.34),inset 9px 9px 13px rgba(255,255,255,.10),inset -12px -14px 16px rgba(0,0,0,.30)!important}
.city-d6-overlay .city-d6-die-flight{
  perspective:720px!important;
  -webkit-perspective:720px!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  overflow:visible!important;
}
.city-d6-overlay.awaiting-manual-roll .photo-textured-die .true-cube-spin-shell{
  animation:none!important;
  transform:rotateX(-22deg) rotateY(30deg) rotateZ(-7deg)!important;
}
.city-d6-overlay.rolling .city-d6-die-flight .photo-textured-die .true-cube-spin-shell{
  animation:v429zaeCityTumble 1.34s cubic-bezier(.12,.58,.16,1) both!important;
}
.city-d6-overlay.landed .city-d6-die-flight .photo-textured-die .true-cube-spin-shell{
  animation:none!important;
  transform:rotateX(var(--die-rx)) rotateY(var(--die-ry)) rotateZ(var(--die-rz))!important;
}

/* ============================================================
   BORDER RUN v4.2.9zm — DIRTY DOZEN MEMBERSHIP + PREMIUM DICE MATERIAL
   ============================================================ */
.dirty-dozen-menu-tile{
  width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;
  margin:10px 0 4px;padding:10px 12px;border:1px solid rgba(226,177,73,.68);border-radius:13px;
  background:linear-gradient(145deg,#17140d,#07100e 58%,#0e2823);color:#f1dfac;text-align:left;
  box-shadow:inset 0 0 28px rgba(226,177,73,.06),0 8px 20px rgba(0,0,0,.26);cursor:pointer
}
.dirty-dozen-menu-tile img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 7px 6px rgba(0,0,0,.56))}
.dirty-dozen-menu-tile div{min-width:0}.dirty-dozen-menu-tile span{display:block;color:#72d9d0;font:950 9px/1 Arial,sans-serif;letter-spacing:.17em}
.dirty-dozen-menu-tile strong{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f2d993;font:900 18px/1.05 Georgia,serif}
.dirty-dozen-menu-tile small{display:block;margin-top:5px;color:#bdb69e;font:850 8px/1.3 Arial,sans-serif;letter-spacing:.055em}
.dirty-dozen-menu-tile>i{font:950 9px/1 Arial,sans-serif;letter-spacing:.12em;color:#e9c867;font-style:normal}
.dirty-dozen-menu-tile.founder{background:linear-gradient(145deg,#1b160b,#07100e 54%,#102537)}
.dirty-dozen-id-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dirty-dozen-id-card>div{padding:10px;border:1px solid rgba(111,215,207,.25);border-radius:10px;background:rgba(5,13,12,.82)}
.dirty-dozen-id-card span{display:block;color:#72d9d0;font:900 7.5px/1 Arial,sans-serif;letter-spacing:.14em}
.dirty-dozen-id-card strong{display:block;margin-top:5px;color:#f0dc9b;font:900 13px/1.15 Georgia,serif;overflow-wrap:anywhere}
.dirty-dozen-illustrated-pop{position:relative;overflow:hidden;border:1px solid rgba(224,177,75,.58);border-radius:14px;background:#050706;box-shadow:0 16px 36px rgba(0,0,0,.52)}
.dirty-dozen-illustrated-pop>img{display:block;width:100%;max-height:min(46dvh,540px);object-fit:contain}
.dirty-dozen-cascade{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.dirty-dozen-cascade-item{position:absolute;top:-24%;left:calc((var(--i,0) * 9%) + 2%);width:54px;height:54px;opacity:0;animation:dirtyDozenDrop 3.4s cubic-bezier(.18,.64,.2,1) infinite;animation-delay:calc(var(--i,0) * -.27s)}
.dirty-dozen-cascade-item img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 6px rgba(0,0,0,.65)) drop-shadow(0 0 8px rgba(225,179,76,.24))}
.dirty-dozen-cascade-item:nth-child(1){--i:0}.dirty-dozen-cascade-item:nth-child(2){--i:1}.dirty-dozen-cascade-item:nth-child(3){--i:2}.dirty-dozen-cascade-item:nth-child(4){--i:3}.dirty-dozen-cascade-item:nth-child(5){--i:4}.dirty-dozen-cascade-item:nth-child(6){--i:5}.dirty-dozen-cascade-item:nth-child(7){--i:6}.dirty-dozen-cascade-item:nth-child(8){--i:7}.dirty-dozen-cascade-item:nth-child(9){--i:8}.dirty-dozen-cascade-item:nth-child(10){--i:9}
.dirty-dozen-cascade-item.dice{width:58px;height:58px}.dirty-dozen-cascade-item.token{width:62px;height:62px}
@keyframes dirtyDozenDrop{0%{transform:translate3d(-8px,-30px,0) rotate(-18deg) scale(.78);opacity:0}12%{opacity:1}55%{transform:translate3d(20px,46vh,0) rotate(168deg) scale(1)}100%{transform:translate3d(-14px,92vh,0) rotate(348deg) scale(.88);opacity:0}}
@media(max-width:560px){.dirty-dozen-menu-tile{grid-template-columns:54px minmax(0,1fr) auto}.dirty-dozen-menu-tile img{width:48px;height:48px}.dirty-dozen-id-card{grid-template-columns:1fr}.dirty-dozen-cascade-item{width:44px;height:44px}.dirty-dozen-cascade-item.dice{width:48px;height:48px}.dirty-dozen-cascade-item.token{width:52px;height:52px}}

/* The actual rendered PBR material should dominate the dice faces. Previous
   builds zoomed the texture so far in that it read like flat colored plastic. */
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-face,
.city-d6-overlay .photo-textured-die .br3d-face{
  background-color:var(--br-die-surface,#d9c88b)!important;
  background-image:
    radial-gradient(circle at 24% 18%,rgba(255,255,255,.34),rgba(255,255,255,0) 28%),
    linear-gradient(142deg,rgba(255,255,255,.16),transparent 37%,rgba(0,0,0,.18) 100%),
    var(--die-photo)!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%,100% 100%,176% 176%!important;
  background-position:center,center,45% 46%!important;
  background-blend-mode:screen,soft-light,normal!important;
  border-width:3px!important;
  border-radius:20%!important;
  box-shadow:inset 7px 7px 10px rgba(255,255,255,.22),inset -10px -12px 14px rgba(0,0,0,.26),0 0 0 1px rgba(8,8,7,.38)!important;
}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-front,
.city-d6-overlay .photo-textured-die .br3d-front{background-position:center,center,45% 47%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-back,
.city-d6-overlay .photo-textured-die .br3d-back{background-position:center,center,54% 47%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-right,
.city-d6-overlay .photo-textured-die .br3d-right{background-position:center,center,62% 48%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-left,
.city-d6-overlay .photo-textured-die .br3d-left{background-position:center,center,35% 48%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-top,
.city-d6-overlay .photo-textured-die .br3d-top{background-position:center,center,48% 35%!important}
body>#boardDiceOverlay.separate-dice-screen .photo-textured-die .br3d-bottom,
.city-d6-overlay .photo-textured-die .br3d-bottom{background-position:center,center,48% 62%!important}


/* ============================================================
   BORDER RUN v4.2.10p — SOLID PHYSICAL DICE / NO DETACHED FACE PANELS
   Both the 2D6 route throw and the 1D6 city throw use setPhysicalDie().
   Keep one true six-face shell visible in every state. A tiny face overscan
   closes sub-pixel seams at oblique angles without changing the rolled value.
   ============================================================ */
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die,
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die .true-cube-spin-shell,
.city-d6-overlay .solid-physical-die,
.city-d6-overlay .solid-physical-die .true-cube-spin-shell{
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  overflow:visible!important;
  contain:none!important;
  isolation:auto!important;
}
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die .br3d-face,
.city-d6-overlay .solid-physical-die .br3d-face{
  border:2px solid var(--br-die-edge,#d8c184)!important;
  border-radius:3px!important;
  overflow:hidden!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  box-shadow:
    inset 7px 7px 11px rgba(255,255,255,.24),
    inset -11px -13px 15px rgba(0,0,0,.28),
    0 0 0 1px rgba(8,8,7,.58)!important;
}
/* Pull every plane inward a fraction and overscan it so adjacent faces meet
   as one body rather than six rounded cards. */
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die .br3d-front,
.city-d6-overlay .solid-physical-die .br3d-front{transform:translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die .br3d-back,
.city-d6-overlay .solid-physical-die .br3d-back{transform:rotateY(180deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die .br3d-right,
.city-d6-overlay .solid-physical-die .br3d-right{transform:rotateY(90deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die .br3d-left,
.city-d6-overlay .solid-physical-die .br3d-left{transform:rotateY(-90deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die .br3d-top,
.city-d6-overlay .solid-physical-die .br3d-top{transform:rotateX(90deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .solid-physical-die .br3d-bottom,
.city-d6-overlay .solid-physical-die .br3d-bottom{transform:rotateX(-90deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
/* v4.2.9zh used a flat photoreal ::before sprite while the route roll waited
   for input. Keep the real cube visible there too, so there is never a card-like
   state before the player taps ROLL NOW. */
body>#boardDiceOverlay.separate-dice-screen.armed .solid-physical-die .true-cube-spin-shell{
  display:block!important;
  animation:none!important;
  transform:rotateX(-22deg) rotateY(30deg) rotateZ(-7deg)!important;
}
body>#boardDiceOverlay.separate-dice-screen.armed .dice-flight-b .solid-physical-die .true-cube-spin-shell{
  transform:rotateX(-20deg) rotateY(-32deg) rotateZ(8deg)!important;
}
body>#boardDiceOverlay.separate-dice-screen.armed .solid-physical-die::before{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* Board-specific specificity guard: older true-3d-die transform rules carried
   the same !important weight. Pin the zq overlap geometry to the shared solid
   class so the 2D6 route roll cannot fall back to exact-edge panel geometry. */
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die.solid-physical-die .br3d-front{transform:translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die.solid-physical-die .br3d-back{transform:rotateY(180deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die.solid-physical-die .br3d-right{transform:rotateY(90deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die.solid-physical-die .br3d-left{transform:rotateY(-90deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die.solid-physical-die .br3d-top{transform:rotateX(90deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}
body>#boardDiceOverlay.separate-dice-screen .die-cube3d.true-3d-die.solid-physical-die .br3d-bottom{transform:rotateX(-90deg) translateZ(calc(var(--die-half) + .35px)) scale(1.012)!important}


/* ============================================================
   BORDER RUN v4.2.10p — ONE DICE LANGUAGE EVERYWHERE
   All player-visible dice use the exact photoreal side-hustle die shell.
   ============================================================ */
.br-unified-roll-die.hustle-solid-die.photoreal-solid-die{
  position:relative!important;display:block!important;width:112px!important;height:98px!important;
  padding:0!important;border:0!important;background:none!important;box-shadow:none!important;
  overflow:visible!important;isolation:isolate!important;transform-origin:52% 58%!important;
  filter:drop-shadow(0 14px 14px rgba(0,0,0,.40))!important;will-change:transform!important;
}
.br-unified-roll-die .photoreal-die-shell{inset:-12%!important;width:124%!important;height:124%!important;object-fit:contain!important}
.br-unified-roll-die .solid-pips{z-index:7!important}
body>#boardDiceOverlay.separate-dice-screen .dice-flight{display:grid!important;place-items:center!important;overflow:visible!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-a .br-unified-roll-die{animation:hustleSolidRollA 1.32s cubic-bezier(.14,.72,.18,1) infinite!important}
body>#boardDiceOverlay.separate-dice-screen.rolling .dice-flight-b .br-unified-roll-die{animation:hustleSolidRollB 1.32s cubic-bezier(.14,.72,.18,1) infinite!important}
body>#boardDiceOverlay.separate-dice-screen.landed .dice-flight-a .br-unified-roll-die{animation:hustleSolidLandA .30s cubic-bezier(.18,.78,.22,1) both!important}
body>#boardDiceOverlay.separate-dice-screen.landed .dice-flight-b .br-unified-roll-die{animation:hustleSolidLandB .30s cubic-bezier(.18,.78,.22,1) both!important}
.city-d6-overlay .city-d6-die-flight{display:grid!important;place-items:center!important;overflow:visible!important;perspective:none!important}
.city-d6-overlay .city-d6-die-flight .br-unified-roll-die{width:118px!important;height:104px!important}
.city-d6-overlay.rolling .city-d6-die-flight .br-unified-roll-die{animation:hustleSolidRollA 1.32s cubic-bezier(.14,.72,.18,1) infinite!important}
.city-d6-overlay.landed .city-d6-die-flight .br-unified-roll-die{animation:hustleSolidLandA .30s cubic-bezier(.18,.78,.22,1) both!important}
@media(max-width:560px){
  .br-unified-roll-die.hustle-solid-die.photoreal-solid-die{width:92px!important;height:82px!important}
  body>#boardDiceOverlay.separate-dice-screen .dice-pair-flight{gap:18px!important}
  .city-d6-overlay .city-d6-die-flight .br-unified-roll-die{width:96px!important;height:86px!important}
}

/* Never let the loading phase erase its own inline chase image. */
.startup-splash.startup-sequence[data-phase="loading"] .startup-sequence-image{
  background-color:#000!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

/* v4.2.10p — every player-visible action roll uses the side-hustle physical dice. */
#unifiedActionDiceOverlay{z-index:22450!important}
#unifiedActionDiceOverlay .unified-action-roll-stage{width:min(92vw,520px)!important;overflow:visible!important}
#unifiedActionDiceOverlay .unified-action-dice-pair{gap:22px!important;min-height:132px!important;align-items:flex-end!important;overflow:visible!important}
#unifiedActionDiceOverlay .unified-action-die-column{display:grid;justify-items:center;gap:7px;min-width:118px}
#unifiedActionDiceOverlay .unified-action-die-column>small{color:#76ded4;font:950 9px/1 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
#unifiedActionDiceOverlay .hustle-dice-flight{position:relative!important;display:grid!important;place-items:center!important;width:126px!important;height:108px!important;overflow:visible!important;perspective:none!important;-webkit-perspective:none!important;transform-style:flat!important;-webkit-transform-style:flat!important}
#unifiedActionDiceOverlay .br-unified-roll-die{display:block!important}
#unifiedActionDiceOverlay.rolling .hustle-dice-flight-a .br-unified-roll-die{animation:hustleSolidRollA 1.32s cubic-bezier(.14,.72,.18,1) both!important}
#unifiedActionDiceOverlay.rolling .hustle-dice-flight-b .br-unified-roll-die{animation:hustleSolidRollB 1.32s cubic-bezier(.14,.72,.18,1) both!important}
#unifiedActionDiceOverlay.landed .hustle-dice-flight-a .br-unified-roll-die{animation:hustleSolidLandA .30s cubic-bezier(.18,.78,.22,1) both!important}
#unifiedActionDiceOverlay.landed .hustle-dice-flight-b .br-unified-roll-die{animation:hustleSolidLandB .30s cubic-bezier(.18,.78,.22,1) both!important}
.fuzz-duel-dice.physical-results>div{display:grid!important;justify-items:center!important;gap:7px!important}
.fuzz-duel-dice.physical-results .photoreal-result-die{width:78px!important;height:70px!important;margin:0!important;display:block!important}
@media(max-width:560px){
  #unifiedActionDiceOverlay .unified-action-roll-stage{width:min(94vw,500px)!important;padding:14px 12px!important}
  #unifiedActionDiceOverlay .unified-action-dice-pair{gap:8px!important;min-height:106px!important;margin:12px 0 9px!important}
  #unifiedActionDiceOverlay .unified-action-die-column{min-width:94px!important}
  #unifiedActionDiceOverlay .hustle-dice-flight{width:96px!important;height:88px!important}
  #unifiedActionDiceOverlay .br-unified-roll-die{width:92px!important;height:82px!important}
}


/* ============================================================
   BORDER RUN v4.2.10p — T-BIRD / CARD BACK / TURN RECOVERY PASS
   ============================================================ */
.event-card-back{isolation:isolate;background:
  radial-gradient(circle at 50% 30%,rgba(238,207,126,.16),transparent 30%),
  repeating-linear-gradient(45deg,#102a24 0 12px,#1a3d33 12px 24px)!important;color:#f2dca1!important}
.event-card-back:after{content:"";position:absolute;inset:20px;border:2px solid rgba(238,211,139,.58);border-radius:8px;box-shadow:inset 0 0 0 4px rgba(15,42,36,.72);z-index:-1}
.event-card-back .card-back-monogram{display:grid;width:76px;height:76px;place-items:center;border:2px solid #e5c777;border-radius:50%;background:radial-gradient(circle,#244d42,#0d211d 72%);font:950 40px/1 Georgia,serif!important;letter-spacing:-.06em;box-shadow:0 7px 20px rgba(0,0,0,.42),inset 0 0 0 4px rgba(229,199,119,.12)}
.event-card-back strong{font:950 16px/1 Impact,"Arial Narrow",sans-serif!important;letter-spacing:.16em!important;text-align:center;text-transform:uppercase}
.event-card-back small{font:850 8px/1 Arial,sans-serif!important;letter-spacing:.18em!important;text-align:center}
.event-card-back em{font:800 6px/1 Arial,sans-serif;letter-spacing:.18em;font-style:normal;opacity:.72}
.event-card-reveal.deck-city .event-card-back{background:
  radial-gradient(circle at 50% 30%,rgba(15,53,50,.24),transparent 34%),
  repeating-linear-gradient(135deg,#cbb77c 0 11px,#e5d39b 11px 22px)!important;color:#263c35!important;border-color:#705737!important}
.event-card-reveal.deck-city .event-card-back:before{border-color:rgba(59,72,58,.48)!important}
.event-card-reveal.deck-city .event-card-back:after{border-color:rgba(77,69,44,.54);box-shadow:inset 0 0 0 4px rgba(232,215,165,.55)}
.event-card-reveal.deck-city .event-card-back .card-back-monogram{border-color:#314b42;background:radial-gradient(circle,#e6d7a8,#b89b5f 75%);color:#263c35;box-shadow:0 7px 20px rgba(52,42,25,.3),inset 0 0 0 4px rgba(49,75,66,.10)}
.debt-piece .card-stack{background:linear-gradient(145deg,#251512,#4f2922)!important;border-color:#9c6b4d!important;box-shadow:3px -3px 0 #6b3b30,6px -6px 0 #b07b56!important}
.debt-piece .card-stack:after{content:"DSG";position:absolute;inset:0;display:grid;place-items:center;color:#e6c486;font:950 6px/1 Arial,sans-serif;letter-spacing:.08em;border:1px solid rgba(230,196,134,.36)}

.tbird-card-invite{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border:1px solid #9d7438;border-left:5px solid #29483e;border-radius:9px;background:#e3cf92;color:#302d23}
.tbird-card-invite strong{font:950 11px/1 Arial,sans-serif;letter-spacing:.12em}.tbird-card-invite span{font:750 10px/1.35 Arial,sans-serif}
.modal-card.tbird-trading-post{width:min(94vw,900px)!important;max-height:min(90dvh,720px)!important;background:linear-gradient(160deg,#dbc993,#bca16a)!important;border:4px solid #56412c!important;box-shadow:0 22px 70px rgba(0,0,0,.7),inset 0 0 0 2px rgba(248,232,183,.5)!important;color:#2d2a20!important;overflow:auto!important}
.modal-card.tbird-trading-post:before{height:7px!important;background:linear-gradient(90deg,#203d36,#c99b48,#8a4d35,#203d36)!important}
.modal-card.tbird-trading-post #modalKicker{color:#7a3829!important;letter-spacing:.14em!important}.modal-card.tbird-trading-post #modalTitle{color:#213b34!important;font:950 clamp(28px,5vw,48px)/.95 Georgia,serif!important;text-transform:uppercase!important}.modal-card.tbird-trading-post #modalBody{color:#51452f!important;max-width:74ch!important}.modal-card.tbird-trading-post #modalActions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.tbird-shell{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(320px,1.22fr);gap:16px;align-items:stretch;margin-top:10px;min-height:0}
.tbird-hero{position:relative;min-height:330px;border:2px solid #4d3d2a;border-radius:12px;overflow:hidden;background:#111b18;box-shadow:inset 0 0 35px rgba(0,0,0,.32)}
.tbird-character-art{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:48% 32%;z-index:0;filter:saturate(1.03) contrast(1.02)}
.tbird-character-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(7,12,11,.02) 35%,rgba(7,12,11,.12) 58%,rgba(7,12,11,.70) 100%)}
.tbird-sign{position:absolute;left:10px;right:10px;top:12px;padding:9px 10px;border:2px solid #4a3321;background:rgba(222,196,128,.94);transform:rotate(-1deg);text-align:center;box-shadow:0 6px 12px rgba(0,0,0,.25)}
.tbird-sign span,.tbird-sign small{display:block;font:900 7px/1 Arial,sans-serif;letter-spacing:.15em;color:#6e3426}.tbird-sign strong{display:block;margin:4px 0;font:950 22px/.9 Georgia,serif;color:#263c35}
.tbird-operator-badge{position:absolute;z-index:2;left:12px;bottom:12px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;min-width:190px;padding:9px 10px;background:rgba(22,27,23,.92);border:1px solid #d4b66b;border-radius:9px;color:#f0dca4;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.tbird-operator-badge b{grid-row:1/3;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;border:2px solid #d4b66b;font:950 22px/1 Georgia,serif}.tbird-operator-badge span{font:900 7px/1 Arial,sans-serif;letter-spacing:.14em}.tbird-operator-badge strong{font:950 19px/1 Georgia,serif;color:#fff0bd}
.tbird-copy{display:flex;flex-direction:column;min-width:0;padding:4px 2px}.tbird-kicker{font:950 8px/1 Arial,sans-serif;letter-spacing:.16em;color:#87422e}.tbird-copy h3{margin:5px 0 4px;font:950 clamp(32px,6vw,60px)/.86 Impact,"Arial Narrow",sans-serif;letter-spacing:.04em;color:#203a33}.tbird-copy>p{margin:0 0 11px;font:800 13px/1.42 Georgia,serif;color:#3e3728}
.tbird-balance-row,.tbird-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tbird-balance-row>div{padding:8px 10px;border:1px solid rgba(68,54,35,.4);border-radius:8px;background:rgba(246,232,188,.52)}.tbird-balance-row span,.tbird-offer-grid span{display:block;font:900 7px/1 Arial,sans-serif;letter-spacing:.12em;color:#82452f}.tbird-balance-row strong{display:block;margin-top:4px;font:950 18px/1 Georgia,serif;color:#213b34}
.tbird-offer-grid{margin-top:8px}.tbird-offer-grid>div,.tbird-offer-grid>.tbird-offer-action{padding:10px;border:1px solid #6b5638;border-radius:9px;background:linear-gradient(160deg,#d8c184,#ead7a2)}.tbird-offer-action{appearance:none;-webkit-appearance:none;width:100%;margin:0;text-align:left;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;box-shadow:0 2px 0 rgba(72,50,25,.18);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.tbird-offer-action:not(:disabled):active{transform:translateY(1px);box-shadow:0 0 0 rgba(72,50,25,0);filter:brightness(.96)}.tbird-offer-action.road-credit-action:not(:disabled){outline:2px solid rgba(31,121,111,.55);outline-offset:-3px}.tbird-offer-action:disabled{cursor:not-allowed;opacity:.52;filter:grayscale(.22)}.tbird-offer-grid strong{display:block;margin:5px 0 3px;font:950 15px/1 Arial,sans-serif;color:#213b34}.tbird-offer-grid small{display:block;font:700 9px/1.3 Arial,sans-serif;color:#5a4b32}.tbird-offer-grid em{display:block;margin-top:7px;font:950 8px/1 Arial,sans-serif;letter-spacing:.12em;color:#7a3829;font-style:normal}.tbird-offer-action.road-credit-action:not(:disabled) em{color:#126a61}
.tbird-note{display:grid;gap:4px;margin-top:auto;padding:10px 11px;border-left:5px solid #26473e;background:rgba(34,60,52,.10)}.tbird-note strong{font:950 9px/1 Arial,sans-serif;letter-spacing:.08em;color:#263e36}.tbird-note span{font:750 9px/1.35 Arial,sans-serif;color:#51452f}
@media (orientation:landscape) and (max-height:650px){
  .modal-card.tbird-trading-post{width:min(96vw,960px)!important;max-height:calc(100dvh - 12px)!important;padding:10px 12px!important}
  .modal-card.tbird-trading-post #modalTitle{font-size:26px!important;margin:2px 0 4px!important}.modal-card.tbird-trading-post #modalBody{font-size:10px!important;line-height:1.25!important;margin-bottom:5px!important}
  .tbird-shell{grid-template-columns:minmax(190px,31vw) minmax(0,1fr);gap:10px;margin-top:5px}.tbird-hero{min-height:220px}.tbird-sign{top:8px;left:8px;right:8px;padding:6px}.tbird-sign strong{font-size:17px}.tbird-operator-badge{left:8px;bottom:8px;min-width:160px;padding:6px}.tbird-operator-badge b{width:42px;height:42px;font-size:18px}.tbird-operator-badge strong{font-size:15px}
  .tbird-copy h3{font-size:34px}.tbird-copy>p{font-size:10px;line-height:1.25;margin-bottom:6px}.tbird-balance-row>div,.tbird-offer-grid>div,.tbird-offer-grid>.tbird-offer-action{padding:6px 8px}.tbird-balance-row strong{font-size:14px}.tbird-offer-grid{margin-top:5px}.tbird-offer-grid small{font-size:8px}.tbird-note{padding:6px 8px;margin-top:6px}.tbird-note span{font-size:8px}
  .modal-card.tbird-trading-post #modalActions{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:7px!important;padding-top:7px!important;padding-bottom:2px!important}.modal-card.tbird-trading-post #modalActions .btn{min-height:36px!important;padding:6px!important;font-size:10px!important}
}
@media (max-width:680px) and (orientation:portrait){.tbird-shell{grid-template-columns:1fr}.tbird-hero{min-height:clamp(300px,54dvh,520px)}.tbird-character-art{object-position:48% 25%}.modal-card.tbird-trading-post #modalActions{grid-template-columns:1fr!important}}

/* ============================================================
   BORDER RUN v4.2.10p — MOVEMENT / PHOTOREAL / JUNCTION / AWARD RESTORE
   ============================================================ */

/* Entered-city cards always have a photograph. The bundled biome image is the
   synchronous fallback; the remote real-city photo fades over it when loaded. */
.city-entry-photo-hero{
  position:relative;min-height:clamp(185px,31vw,330px);margin:10px 0 14px;border:2px solid rgba(191,158,82,.82);border-radius:15px;
  overflow:hidden;background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(2,7,7,.48)),var(--city-entry-photo)!important;
  background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;
  box-shadow:0 14px 30px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.12);
}
.city-entry-photo-hero .arrival-city-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.018);transition:opacity .5s ease,transform 1.1s ease!important}
.city-entry-photo-hero.photo-ready .arrival-city-photo{opacity:1;transform:scale(1)}
.city-entry-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 30%,rgba(0,0,0,.68) 100%);pointer-events:none}
.city-entry-photo-label{position:absolute;left:14px;right:14px;bottom:12px;display:flex;align-items:end;justify-content:space-between;gap:12px;color:#fff0bd;text-shadow:0 2px 5px #000;z-index:2}
.city-entry-photo-label span{font:950 clamp(22px,4vw,38px)/.92 Georgia,serif}.city-entry-photo-label small{font:900 9px/1.2 Arial,sans-serif;letter-spacing:.12em;text-align:right}
.city-entry-photo-hero .arrival-photo-credit{position:absolute;right:10px;top:10px;z-index:3;padding:5px 8px;border-radius:999px;background:rgba(4,10,9,.76);border:1px solid rgba(239,209,133,.5);color:#f2deaa;font:850 7px/1 Arial,sans-serif;letter-spacing:.08em;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Side-hustle outcomes are physical/photo cards again rather than text panels. */
.hustle-result-photo{position:relative;min-height:clamp(170px,30vw,290px);margin:-2px -2px 15px;border-radius:13px;overflow:hidden;background-image:var(--hustle-result-photo)!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;box-shadow:inset 0 0 0 1px rgba(255,220,140,.28),0 10px 24px rgba(0,0,0,.34)}
.hustle-result-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,7,7,.06),rgba(4,6,5,.18) 44%,rgba(3,5,4,.92) 100%)}
.hustle-result-photo>span,.hustle-result-photo>strong,.hustle-result-photo>small{position:absolute;z-index:2;left:14px;right:14px;text-shadow:0 2px 5px #000}
.hustle-result-photo>span{top:12px;color:#70e2d6;font:950 8px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.hustle-result-photo>strong{bottom:36px;color:#fff0c6;font:950 clamp(22px,4.2vw,36px)/.95 Georgia,serif}
.hustle-result-photo>small{bottom:14px;color:#e0bd68;font:900 8px/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.hustle-result-card.negative .hustle-result-photo{box-shadow:inset 0 0 0 2px rgba(205,73,55,.75),0 10px 24px rgba(0,0,0,.34)}
.hustle-result-card.positive .hustle-result-photo{box-shadow:inset 0 0 0 2px rgba(54,184,145,.62),0 10px 24px rgba(0,0,0,.34)}

/* Keep dice shell and pips continuously composited while their face changes.
   The JS now updates only pips, not the image element or unified-die class. */
.br-unified-roll-die .photoreal-die-shell,.br-unified-roll-die .photo-die-pips{opacity:1!important;visibility:visible!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;transform:translateZ(0);-webkit-transform:translateZ(0)}
.city-d6-overlay.rolling .city-d6-die-flight .br-unified-roll-die .photoreal-die-shell,
body>#boardDiceOverlay.separate-dice-screen.rolling .br-unified-roll-die .photoreal-die-shell,
#hustle2d6Overlay.rolling .br-unified-roll-die .photoreal-die-shell{opacity:1!important;visibility:visible!important}
.city-d6-overlay.rolling .city-d6-die-flight .br-unified-roll-die,
body>#boardDiceOverlay.separate-dice-screen.rolling .br-unified-roll-die{contain:layout paint style;isolation:isolate!important}

/* Movement owns the board visually. Context panels and bottom menus return as
   soon as the vehicle finishes moving or a route decision is required. */
body.movement-cinematic #lrContextOverlayStack,
body.movement-cinematic .lr-action-cards-host,
body.movement-cinematic #actionPanel,
body.movement-cinematic .pr-bottom-nav,
body.movement-cinematic .lr-turn-dock,
body.movement-cinematic #turnFlowHud{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(10px)!important;transition:opacity .16s ease,transform .18s ease!important;
}
body.movement-cinematic .artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:9000!important}
body.movement-cinematic .artwork-master-renderer .lr-master-player-piece.lr-art-player{z-index:9100!important}

/* Route art is never allowed above a vehicle. The SVG also receives a dynamic
   mask corridor for every animated hop, covering transparent PNG margins. */
.artwork-master-renderer .lr-route-network{z-index:8!important;pointer-events:none!important;mix-blend-mode:normal!important}
.artwork-master-renderer .lr-art-board-overlay{z-index:40!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:9000!important;isolation:isolate!important;overflow:visible!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{z-index:9100!important;isolation:isolate!important;mix-blend-mode:normal!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .piece-3d-motion,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .piece-3d-motion{z-index:20!important;isolation:isolate!important}

/* Junction decisions read as route commitments, not generic text alerts. */
.junction-midroll-choice{border-left-width:5px!important}.junction-midroll-choice strong{color:#f0d07a!important}

/* Award pop restoration: the earned item itself is the hero and the cascade. */
.unlock-award-hero>span{overflow:visible!important}
.unlock-award-hero>span .award-earned-image{display:block!important;width:88px!important;height:88px!important;max-width:none!important;object-fit:contain!important;filter:drop-shadow(0 10px 7px rgba(0,0,0,.58)) drop-shadow(0 0 12px rgba(245,207,106,.35))!important;animation:awardBadgePop427f .7s cubic-bezier(.16,.9,.25,1.25) both!important}
.unlock-award-hero>span .award-earned-dice{width:96px!important;height:96px!important}.unlock-award-hero>span .award-earned-vehicle{width:128px!important;height:96px!important}.unlock-award-hero>span .award-earned-character{width:96px!important;height:96px!important;border-radius:14px!important;object-fit:cover!important}
.unlock-money-confetti .award-cascade-image{display:inline-block;width:1.05em!important;height:1.05em!important;object-fit:contain!important;vertical-align:middle;filter:drop-shadow(0 4px 3px rgba(0,0,0,.62))!important}.unlock-money-confetti .award-cascade-vehicle{width:1.55em!important}
.unlock-celebration-card{box-shadow:0 26px 80px rgba(0,0,0,.78),0 0 54px rgba(224,181,76,.16),inset 0 0 0 1px rgba(255,229,153,.08)!important}

@media (orientation:landscape) and (max-height:650px){
  .city-entry-photo-hero{min-height:160px}.hustle-result-photo{min-height:150px}
  .unlock-award-hero>span .award-earned-image{width:64px!important;height:64px!important}.unlock-award-hero>span .award-earned-vehicle{width:88px!important;height:64px!important}
}
.unlock-award-hero>span .award-credit-token{display:grid!important;place-items:center;width:74px;height:74px;border:4px solid #ead07e;border-radius:50%;background:radial-gradient(circle at 32% 25%,#365f57,#10231f 62%,#07100f);color:#f5d478;font:950 18px/1 Arial,sans-serif;letter-spacing:.08em;box-shadow:inset 0 0 0 3px rgba(255,255,255,.08),0 10px 18px rgba(0,0,0,.45)}
.unlock-award-hero>span .chrome-credit-token{border-color:#dbe4e2;background:radial-gradient(circle at 32% 25%,#f1f3ef,#737b79 42%,#1d2423 72%);color:#10211f;text-shadow:0 1px rgba(255,255,255,.65)}
.unlock-money-confetti .award-cascade-credit{display:inline-grid;place-items:center;width:1.35em;height:1.35em;border:2px solid #e5c66e;border-radius:50%;background:#17342e;color:#f2d278;font:950 .34em/1 Arial,sans-serif;letter-spacing:.02em;filter:drop-shadow(0 4px 3px rgba(0,0,0,.55))}
.unlock-money-confetti .award-cascade-credit.chrome-credit-token{border-color:#e8eeed;background:linear-gradient(145deg,#e7eeec,#69706f);color:#17201f}


/* ============================================================
   BORDER RUN v4.2.10p — AWARD / PERSONA / PHOTO / CARD REGRESSION FIX
   ============================================================ */

/* Awards: the thing earned is the visual centerpiece. */
.unlock-celebration-card .unlock-award-source{
  display:block!important;
  margin-top:3px!important;
  color:#62ddd4!important;
  font:950 10px/1.2 Arial,sans-serif!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.unlock-celebration-card .unlock-earned-title{
  display:block!important;
  margin:8px auto 3px!important;
  max-width:92%!important;
  color:#f3d47d!important;
  font:950 clamp(27px,6vw,46px)/.98 Georgia,serif!important;
  text-align:center!important;
  text-wrap:balance!important;
}
.unlock-reward-detail{margin-top:9px!important}
.unlock-reward-detail>b{display:none!important}
.unlock-award-hero>span .award-road-credit-stack{display:grid!important;place-items:center!important;width:132px!important;height:106px!important}
.unlock-award-hero>span .award-earned-road-credit{width:132px!important;height:106px!important;object-fit:contain!important;filter:drop-shadow(0 10px 8px rgba(0,0,0,.62)) drop-shadow(0 0 14px rgba(88,224,209,.25))!important}
.unlock-money-confetti .award-cascade-road-credit{width:1.45em!important;height:1.45em!important;object-fit:contain!important;filter:drop-shadow(0 4px 4px rgba(0,0,0,.66))!important}
.unlock-celebration.theme-cash .unlock-award-hero>i{box-shadow:0 0 0 1px rgba(238,198,90,.30),0 0 42px rgba(75,220,205,.20)!important}
@media(max-width:560px){
  .unlock-celebration-card .unlock-earned-title{font-size:30px!important}
  .unlock-award-hero>span .award-road-credit-stack,.unlock-award-hero>span .award-earned-road-credit{width:112px!important;height:92px!important}
}

/* Persona art: no synthetic face laid over a different photographed person. */
.character-cinematic-scene-image{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:var(--character-focus,50% 42%)!important;
  transform:none!important;image-rendering:auto!important;
}
.character-cinematic-persona.canonical-persona-art .character-cinematic-art{min-height:290px!important}
.character-cinematic-persona.canonical-persona-art .character-cinematic-scene-image{
  filter:saturate(1.02) contrast(1.025) brightness(.94)!important;
}
.character-cinematic-persona.canonical-persona-art .character-cinematic-shade{
  background:linear-gradient(90deg,rgba(3,8,8,.07),rgba(3,8,8,.16) 48%,rgba(3,8,8,.64) 100%),linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.28))!important;
}
.character-cinematic-persona.merchant .character-cinematic-scene-image{object-position:50% 42%!important}
.character-cinematic-persona.lawyer .character-cinematic-scene-image,
.character-cinematic-persona.bondsman .character-cinematic-scene-image{object-position:50% 24%!important}
.character-cinematic-persona.coyote .character-cinematic-scene-image{object-position:50% 48%!important}
.character-cinematic-persona.mother .character-cinematic-scene-image{object-position:58% 38%!important}
@media(max-width:760px){
  .character-cinematic-persona.canonical-persona-art .character-cinematic-art{min-height:250px!important}
}

/* City photos: stable 16:9 framing; labels may not consume the photograph. */
.city-entry-photo-hero{
  min-height:0!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  max-height:min(360px,42dvh)!important;
  background-position:var(--city-photo-focus,50% 50%)!important;
}
.city-entry-photo-hero .arrival-city-photo{
  object-fit:cover!important;
  object-position:var(--city-photo-focus,50% 50%)!important;
}
.city-entry-photo-shade{
  background:linear-gradient(180deg,rgba(0,0,0,0) 54%,rgba(2,5,5,.18) 66%,rgba(2,5,5,.78) 100%)!important;
}
.city-entry-photo-label{
  left:0!important;right:0!important;bottom:0!important;padding:28px 14px 12px!important;
  background:linear-gradient(180deg,transparent,rgba(2,7,7,.78))!important;
}
.city-entry-photo-label span{font-size:clamp(20px,4vw,34px)!important}
.city-entry-photo-label small{max-width:46%!important;font-size:8px!important;line-height:1.25!important}
@media(orientation:landscape) and (max-height:650px){
  .city-entry-photo-hero{aspect-ratio:2.05/1!important;max-height:220px!important}
}

/* Action/event cards: photo-first presentation. */
.event-card-photo{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:150px!important;
  aspect-ratio:16/8.6!important;
  margin:0 0 12px!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#101616!important;
}
.event-card-photo-image{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:50% 50%!important;
  filter:saturate(1.04) contrast(1.04)!important;
}
.event-card-photo:before{
  z-index:1!important;
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 34%,rgba(0,0,0,.34) 100%)!important;
}
.event-card-photo-caption{z-index:2!important}
.event-card-symbol{
  position:absolute!important;right:14px!important;top:14px!important;z-index:5!important;
  width:62px!important;min-height:52px!important;margin:0!important;padding:7px!important;
  border-radius:14px!important;background:rgba(3,10,10,.76)!important;
  border:1px solid rgba(238,211,143,.40)!important;backdrop-filter:blur(4px)!important;
}
.event-card-symbol:before{display:none!important}
.event-card-symbol .event-card-art-icon{font-size:25px!important}
.event-card-symbol small{font-size:7px!important}
.event-card-front{position:relative!important}
@media(max-width:700px){
  .event-card-photo{height:auto!important;min-height:145px!important;aspect-ratio:16/9!important}
  .event-card-front h2{font-size:20px!important}
}


/* ============================================================
   BORDER RUN v4.2.10p — KY LEE (T-BIRD) PERMANENT MARKET RESTORE
   ============================================================ */
.lr-master-node.tbird-market{
  z-index:165!important;
  overflow:visible!important;
}
.lr-master-node.tbird-market .tbird-market-core{
  position:relative!important;
  width:30px!important;height:30px!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 38% 30%,#ead185,#8a6331 48%,#203c35 72%,#07100e)!important;
  border:2px solid #f0d37a!important;
  box-shadow:0 0 0 4px rgba(26,63,55,.52),0 0 18px rgba(240,211,122,.72),0 8px 12px rgba(0,0,0,.58)!important;
}
.lr-master-node.tbird-market .lr-master-travel-dot{display:none!important}
.lr-master-node.tbird-market .lr-master-trigger{
  position:absolute!important;left:4px!important;top:2px!important;
  font-size:10px!important;color:#fff0b4!important;text-shadow:0 1px 3px #000!important;
}
.lr-master-node.tbird-market .tbird-market-core>b{
  position:absolute!important;inset:7px 0 auto!important;
  color:#07110f!important;font:950 10px/1 Arial,sans-serif!important;
  letter-spacing:.02em!important;text-align:center!important;
}
.lr-master-node.tbird-market .tbird-market-core>small{
  position:absolute!important;left:50%!important;top:31px!important;transform:translateX(-50%)!important;
  width:max-content!important;padding:3px 5px!important;border-radius:5px!important;
  color:#f3d985!important;background:rgba(4,13,11,.92)!important;
  border:1px solid rgba(239,209,119,.55)!important;
  font:950 6px/1 Arial,sans-serif!important;letter-spacing:.10em!important;
  text-shadow:0 1px 2px #000!important;box-shadow:0 3px 7px rgba(0,0,0,.52)!important;
}
.lr-master-node.tbird-market.current .tbird-market-core{
  box-shadow:0 0 0 5px rgba(62,227,210,.55),0 0 26px rgba(243,210,115,.92),0 8px 12px rgba(0,0,0,.58)!important;
}
.tbird-location-card{
  border-color:#c69a49!important;
  box-shadow:inset 0 0 0 1px rgba(244,217,141,.10)!important;
}
.tbird-location-hero{
  background:
    linear-gradient(180deg,rgba(5,12,10,.04),rgba(3,8,7,.58)),
    url('./assets/journey-desert.jpg') center 52%/cover no-repeat!important;
}
.tbird-location-card #locationHeroBadge{
  background:radial-gradient(circle,#d7b565,#233e36 67%,#08110f)!important;
  color:#f7df9d!important;border-color:#edcf76!important;
}
.tbird-location-blurb strong{color:#ead07c!important}
.tbird-location-open{
  display:block!important;width:100%!important;margin-top:12px!important;padding:13px 12px!important;
  border-radius:10px!important;border:1px solid #d7b760!important;
  background:linear-gradient(180deg,#217f74,#12645c)!important;color:#fff8df!important;
  font:950 11px/1 Arial,sans-serif!important;letter-spacing:.10em!important;text-transform:uppercase!important;
  box-shadow:0 6px 14px rgba(0,0,0,.36)!important;
}
.tbird-location-open:disabled{
  opacity:.48!important;filter:grayscale(.65)!important;cursor:not-allowed!important;
}


/* ============================================================
   BORDER RUN v4.2.10p — KY LEE FIRST-MEETING + 50% U.S. NETWORK
   ============================================================ */
.lr-master-node.tbird-undiscovered .tbird-market-core{
  filter:saturate(.48) brightness(.76)!important;
  box-shadow:0 0 0 3px rgba(126,108,66,.34),0 5px 11px rgba(0,0,0,.55)!important;
}
.lr-master-node.tbird-undiscovered .tbird-market-core>small{
  color:#d8caad!important;border-color:rgba(190,174,126,.36)!important;
}
.tbird-network-unlocked{
  margin:12px 0 0!important;padding:12px 13px!important;border-radius:11px!important;
  border:1px solid rgba(73,220,206,.58)!important;
  background:linear-gradient(135deg,rgba(12,66,60,.88),rgba(10,35,31,.92))!important;
  box-shadow:inset 0 0 0 1px rgba(239,208,117,.10),0 8px 18px rgba(0,0,0,.24)!important;
}
.tbird-network-unlocked strong{
  display:block!important;color:#f1d57c!important;font:950 11px/1.2 Arial,sans-serif!important;
  letter-spacing:.13em!important;text-transform:uppercase!important;
}
.tbird-network-unlocked span{
  display:block!important;margin-top:5px!important;color:#e8e1c9!important;font:800 10px/1.4 Arial,sans-serif!important;
}
.tbird-network-unlocked.compact{padding:9px 11px!important}
.city-tbird-contact{
  margin:12px 0!important;padding:12px 13px!important;border-radius:12px!important;
  border:1px solid rgba(73,220,206,.55)!important;
  background:radial-gradient(circle at 92% 12%,rgba(232,199,101,.16),transparent 34%),linear-gradient(135deg,rgba(8,45,41,.96),rgba(6,24,22,.96))!important;
}
.city-tbird-contact>span{
  display:block!important;color:#55ddd2!important;font:950 9px/1.2 Arial,sans-serif!important;
  letter-spacing:.16em!important;text-transform:uppercase!important;
}
.city-tbird-contact>strong{
  display:block!important;margin-top:4px!important;color:#f0d47a!important;font:950 18px/1.05 Georgia,serif!important;
}
.city-tbird-contact>small{
  display:block!important;margin-top:6px!important;color:#d9d3bd!important;font:750 9px/1.4 Arial,sans-serif!important;
}
button.tbird-city-action{
  border-color:rgba(75,221,208,.65)!important;
  box-shadow:inset 0 0 0 1px rgba(239,209,119,.09)!important;
}


/* ============================================================
   BORDER RUN v4.2.10p — PROFILE AUTHORITY / COMPACT CONTEXT / PHOTO AWARDS
   ============================================================ */

/* Dirty Dozen creator account has a distinct founder presentation. */
.dirty-dozen-welcome.creator-member .dirty-dozen-illustrated-pop{
  min-height:220px!important;
  background:linear-gradient(180deg,#111813,#060908)!important;
}
.dirty-dozen-welcome.creator-member .dirty-dozen-illustrated-pop>img{
  width:100%!important;height:220px!important;object-fit:cover!important;object-position:50% 34%!important;
  filter:saturate(1.02) contrast(1.04) brightness(.9)!important;
}
.dirty-dozen-welcome.creator-member .dirty-dozen-member-stamp{
  border-color:#efd174!important;
  box-shadow:0 0 24px rgba(239,209,116,.14)!important;
}

/* Context cards are compact notifications by default.
   Required decision cards are expanded by JS. */
.lr-context-controls{
  position:absolute!important;right:7px!important;top:7px!important;z-index:12!important;
  display:flex!important;gap:5px!important;
}
.lr-context-controls button{
  position:static!important;width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;
  display:grid!important;place-items:center!important;border-radius:999px!important;
  border:1px solid rgba(224,190,103,.45)!important;background:rgba(6,15,13,.88)!important;
  color:#f0d78c!important;font:950 16px/1 Arial,sans-serif!important;
}
.lr-context-panel{position:relative!important}
.lr-context-panel.context-collapsed{
  overflow:hidden!important;
}
.lr-context-panel.context-collapsed .lr-context-city-photo{
  height:46px!important;min-height:46px!important;margin:0 76px 5px 0!important;
  border-radius:8px!important;
}
.lr-context-panel.context-collapsed .lr-context-city-photo img{
  width:70px!important;min-width:70px!important;height:46px!important;object-fit:cover!important;
}
.lr-context-panel.context-collapsed .lr-context-city-photo b{
  font-size:15px!important;
}
.lr-context-panel.context-collapsed .lr-context-city-photo small{
  font-size:7px!important;
}
.lr-context-panel.context-collapsed>.lr-context-kicker,
.lr-context-panel.context-collapsed>small,
.lr-context-panel.context-collapsed>.lr-context-rows,
.lr-context-panel.context-collapsed>.lr-context-buyer,
.lr-context-panel.context-collapsed>.lr-city-hustle-inline,
.lr-context-panel.context-collapsed>.lr-city-service-row,
.lr-context-panel.context-collapsed>.lr-city-approach-inline,
.lr-context-panel.context-collapsed>.lr-turn-locked-note,
.lr-context-panel.context-collapsed>p,
.lr-context-panel.context-collapsed>button:not(.lr-context-toggle):not(.lr-context-close){
  display:none!important;
}
.lr-context-panel.context-collapsed:after{
  content:"TAP ↕ TO EXPAND";
  display:block!important;margin-top:5px!important;color:#62dcd1!important;
  font:950 7px/1 Arial,sans-serif!important;letter-spacing:.12em!important;
}

/* Portrait bottom notifications are a true left/right swipe carousel. */
@media (orientation:portrait){
  body.portrait-reference-live .lr-context-overlay-stack{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-end!important;
    left:5px!important;right:5px!important;bottom:62px!important;
    max-height:46dvh!important;
    gap:7px!important;padding:2px 8vw 5px 0!important;
    overflow-x:auto!important;overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:5px!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-context-panel:not([hidden]){
    flex:0 0 min(82vw,390px)!important;
    width:min(82vw,390px)!important;
    min-width:min(82vw,390px)!important;
    max-width:min(82vw,390px)!important;
    max-height:44dvh!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-context-panel.context-collapsed:not([hidden]){
    flex-basis:min(64vw,295px)!important;
    width:min(64vw,295px)!important;
    min-width:min(64vw,295px)!important;
    max-width:min(64vw,295px)!important;
    height:auto!important;min-height:82px!important;max-height:112px!important;
    padding:9px 10px!important;
    overflow:hidden!important;
  }
  body.portrait-reference-live .lr-context-overlay-stack:after{
    content:"SWIPE ↔";
    flex:0 0 auto!important;align-self:center!important;
    padding:7px 9px!important;border-radius:999px!important;
    border:1px solid rgba(91,220,207,.30)!important;
    background:rgba(4,12,11,.72)!important;color:#65dcd1!important;
    font:950 7px/1 Arial,sans-serif!important;letter-spacing:.12em!important;
  }
}

/* Wide screens retain a tidy stack, with collapsed city cards taking very little space. */
@media (orientation:landscape){
  body.wide-reference-live .lr-context-panel.context-collapsed:not([hidden]){
    max-height:106px!important;min-height:76px!important;overflow:hidden!important;
  }
}

/* Every achievement/award pop gets a photoreal illustrated scene. */
.unlock-celebration-card{
  overflow:auto!important;
}
.unlock-award-photo{
  position:relative!important;width:100%!important;aspect-ratio:16/7.2!important;
  margin:-4px 0 11px!important;border:1px solid rgba(237,203,111,.55)!important;
  border-radius:14px!important;overflow:hidden!important;background:#07100e!important;
  box-shadow:0 12px 26px rgba(0,0,0,.34)!important;
}
.unlock-award-photo img{
  display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:var(--award-photo-focus,50% 50%)!important;
  filter:saturate(1.04) contrast(1.05) brightness(.91)!important;
}
.unlock-award-photo:after{
  content:""!important;position:absolute!important;inset:0!important;
  background:linear-gradient(180deg,transparent 45%,rgba(2,7,6,.76) 100%)!important;pointer-events:none!important;
}
.unlock-award-photo figcaption{
  position:absolute!important;left:11px!important;bottom:9px!important;z-index:2!important;
  color:#f5df9b!important;text-shadow:0 2px 5px #000!important;
  font:950 8px/1 Arial,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;
}
.unlock-celebration-card .unlock-award-hero{
  margin:-48px auto 8px!important;z-index:4!important;
}
.unlock-celebration-card .unlock-award-hero>span{
  background:radial-gradient(circle at 35% 28%,rgba(49,68,62,.98),rgba(11,18,16,.98) 68%)!important;
}
@media(max-width:560px){
  .unlock-award-photo{aspect-ratio:16/8.5!important;margin-bottom:8px!important}
  .unlock-celebration-card .unlock-award-hero{margin:-42px auto 5px!important}
}
@media (orientation:landscape) and (max-height:650px){
  .unlock-award-photo{width:46%!important;aspect-ratio:16/9!important;float:left!important;margin:0 12px 8px 0!important}
  .unlock-celebration-card .unlock-award-hero{margin:2px auto 4px!important}
}


/* BORDER RUN v4.2.10p — Don rep rebalance + unique action-card photography */
.event-card-photo{--event-photo-focus:50% 50%!important}
.event-card-photo-image{object-position:var(--event-photo-focus,50% 50%)!important}
.event-card-photo-caption{max-width:calc(100% - 22px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}


/* ============================================================
   BORDER RUN v4.2.10p — NIKKI SINGLE HERO / PORTRAIT LAW ART / FULLER CASCADES
   ============================================================ */
@media (orientation:portrait) and (max-width:700px){
  .law-cinematic-persona.realistic-law-art{
    min-height:520px!important;
  }
  .law-cinematic-persona.realistic-law-art .law-cinematic-character-art{
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:auto!important;
    width:100%!important;
    height:46%!important;
    background-size:cover!important;
    background-position:center 28%!important;
    box-shadow:inset 0 -36px 44px rgba(0,0,0,.44)!important;
  }
  .law-cinematic-persona.realistic-law-art .law-cinematic-shade{
    background:
      linear-gradient(180deg,rgba(2,5,7,.20) 0%,rgba(2,5,7,.36) 30%,rgba(2,5,7,.88) 56%,rgba(2,5,7,.98) 100%),
      linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.26))!important;
  }
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy{
    position:relative!important;
    z-index:4!important;
    width:auto!important;
    min-height:auto!important;
    max-width:none!important;
    padding:244px 14px 16px 14px!important;
  }
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy>strong{
    max-width:none!important;
    font-size:clamp(26px,7vw,34px)!important;
  }
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy>small,
  .law-cinematic-persona.realistic-law-art .law-cinematic-traits,
  .law-cinematic-persona.realistic-law-art .law-cinematic-copy .character-dialogue-panel{
    max-width:none!important;
  }
  .law-cinematic-persona.realistic-law-art .law-cinematic-stage{
    top:12px!important;
    right:12px!important;
  }
}


/* ============================================================
   BORDER RUN v4.2.10p — PHOTOREAL HERO ACTION + ACHIEVEMENT CARDS
   ============================================================ */
.event-card-stage{width:min(86vw,360px)!important;height:min(82dvh,540px)!important}
.event-flip-card{width:252px!important;height:392px!important}
.event-card-front{
  justify-content:flex-start!important;
  gap:0!important;
  padding:12px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,247,214,.28),transparent 22%),
    linear-gradient(180deg,#efe0b3 0%,#d2b272 100%)!important;
}
.reveal-negative .event-card-front{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,219,199,.22),transparent 20%),
    linear-gradient(180deg,#e4c59e 0%,#a0503f 100%)!important;
}
.event-card-polarity{
  align-self:flex-start!important;
  margin:0 0 8px!important;
  padding:0 2px!important;
}
.event-card-photo{
  position:relative!important;
  width:100%!important;
  min-height:170px!important;
  aspect-ratio:16/9!important;
  margin:0 0 12px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#091110!important;
  border:1px solid rgba(238,211,143,.32)!important;
  box-shadow:0 12px 24px rgba(0,0,0,.26)!important;
}
.event-card-photo:before{
  content:''!important;
  position:absolute!important;inset:0!important;z-index:1!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 28%,rgba(0,0,0,.10) 52%,rgba(0,0,0,.52) 100%)!important;
}
.event-card-photo:after{
  content:''!important;
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:40%!important;z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.55))!important;
}
.event-card-photo-image{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:var(--event-photo-focus,50% 50%)!important;
  filter:saturate(1.04) contrast(1.05) brightness(.92)!important;
}
.event-card-photo-caption{
  z-index:2!important;
  left:10px!important;bottom:10px!important;
  max-width:calc(100% - 22px)!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  padding:5px 8px!important;
  border:1px solid rgba(238,211,143,.25)!important;
  background:rgba(4,10,10,.76)!important;
  backdrop-filter:blur(3px)!important;
}
.event-card-symbol{
  position:absolute!important;
  right:22px!important;
  top:44px!important;
  z-index:4!important;
  width:64px!important;
  min-height:58px!important;
  margin:0!important;
  padding:8px 7px!important;
  border-radius:16px!important;
  background:rgba(4,10,10,.78)!important;
  border:1px solid rgba(238,211,143,.38)!important;
  box-shadow:0 10px 20px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(4px)!important;
}
.event-card-symbol:before{display:none!important}
.event-card-symbol .event-card-art-icon{font-size:26px!important}
.event-card-symbol small{font-size:7px!important;letter-spacing:.12em!important}
.event-card-copy{
  width:100%!important;
  margin-top:auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.event-card-front h2{
  margin:0!important;
  font-size:22px!important;
  line-height:.98!important;
  text-transform:uppercase!important;
  color:#18211d!important;
}
.event-card-front p,
.event-card-effect{
  width:100%!important;
  margin:0!important;
  padding:10px 11px!important;
  border-radius:12px!important;
  border:1px solid rgba(22,28,24,.12)!important;
  background:rgba(255,248,231,.82)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)!important;
  color:#242520!important;
}
.reveal-negative .event-card-front p,
.reveal-negative .event-card-effect{
  background:rgba(249,238,225,.84)!important;
  border-color:rgba(92,31,23,.20)!important;
  color:#261611!important;
}
.event-card-front p{
  font:800 11px/1.38 Arial,sans-serif!important;
}
.event-card-effect{
  margin-top:0!important;
  border-top:1px solid rgba(0,0,0,.12)!important;
  font:900 10px/1.3 Arial,sans-serif!important;
}
.event-card-caption{
  bottom:0!important;
}
@media (max-width:700px){
  .event-card-stage{width:min(88vw,348px)!important;height:min(74dvh,508px)!important}
  .event-flip-card{width:246px!important;height:384px!important}
  .event-card-photo{min-height:164px!important}
  .event-card-front h2{font-size:20px!important}
}

.unlock-celebration-card{
  overflow:auto!important;
}
.unlock-award-photo{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/8.9!important;
  margin:-4px 0 12px!important;
  border:1px solid rgba(237,203,111,.56)!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#07100e!important;
  box-shadow:0 14px 28px rgba(0,0,0,.36)!important;
}
.unlock-award-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:var(--award-photo-focus,50% 50%)!important;
  filter:saturate(1.04) contrast(1.05) brightness(.92)!important;
}
.unlock-award-photo:after{
  content:""!important;
  position:absolute!important;inset:0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 30%,rgba(2,7,6,.18) 60%,rgba(2,7,6,.82) 100%)!important;
  pointer-events:none!important;
}
.unlock-award-photo figcaption{
  position:absolute!important;
  left:11px!important;bottom:9px!important;z-index:2!important;
  max-width:calc(100% - 22px)!important;
  padding:5px 8px!important;
  border:1px solid rgba(237,203,111,.26)!important;
  border-radius:999px!important;
  background:rgba(4,10,10,.72)!important;
  color:#f5df9b!important;
  text-shadow:0 2px 5px #000!important;
  font:950 8px/1 Arial,sans-serif!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.unlock-earned-title{
  display:block!important;
  margin:0 auto 4px!important;
  max-width:92%!important;
  text-wrap:balance!important;
}
.unlock-reward-list{
  width:100%!important;
}
.unlock-reward-detail{
  display:grid!important;
  gap:10px!important;
}
.unlock-reward-detail small{
  display:block!important;
  padding:11px 12px!important;
  border-radius:12px!important;
  border:1px solid rgba(237,203,111,.22)!important;
  background:rgba(8,16,15,.78)!important;
  color:#f3ead4!important;
  font:850 10px/1.42 Arial,sans-serif!important;
  text-align:left!important;
}
.unlock-reward-detail small span{
  display:block!important;
  margin-bottom:6px!important;
  color:#6fe0d6!important;
  font:950 8px/1 Arial,sans-serif!important;
  letter-spacing:.14em!important;
}
@media(max-width:560px){
  .unlock-award-photo{aspect-ratio:16/9.6!important}
}


/* ============================================================
   BORDER RUN v4.2.10p — EMPTY RESOLVE SUPPRESSION + NIKKI FACE CLEAR
   ============================================================ */
.character-cinematic-persona.hide-scene-stamp .character-cinematic-stamp{
  display:none!important;
}


/* ============================================================
   BORDER RUN v4.2.10p — DIRTY DOZEN ROSTER + NIKKI LAY LOW INTRO
   ============================================================ */
.dirty-dozen-roster-shell{display:grid;gap:10px}
.dirty-dozen-roster-toggle{width:100%;text-align:left;padding:11px 12px;border:1px solid rgba(111,215,207,.38);border-radius:12px;background:linear-gradient(145deg,#071110,#0d2420 58%,#142f29);color:#f2e0a6;box-shadow:inset 0 0 24px rgba(111,215,207,.08)}
.dirty-dozen-roster-toggle span{display:block;color:#72d9d0;font:950 9px/1 Arial,sans-serif;letter-spacing:.16em}
.dirty-dozen-roster-toggle strong{display:block;margin-top:4px;font:900 18px/1.08 Georgia,serif}
.dirty-dozen-roster-toggle small{display:block;margin-top:4px;color:#c8bea0;font:850 8px/1.3 Arial,sans-serif;letter-spacing:.06em}
.dirty-dozen-roster-panel{display:grid;gap:10px;padding:10px;border:1px solid rgba(226,177,73,.32);border-radius:12px;background:rgba(4,10,10,.72)}
.dirty-dozen-roster-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.dirty-dozen-roster-chip{padding:9px 6px;border:1px solid rgba(110,214,206,.22);border-radius:10px;background:linear-gradient(180deg,rgba(18,22,20,.96),rgba(6,9,8,.98));color:#f3e0a3;text-align:center}
.dirty-dozen-roster-chip span{display:block;font:950 12px/1 Georgia,serif}
.dirty-dozen-roster-chip b{display:block;margin-top:4px;font:900 7px/1.1 Arial,sans-serif;letter-spacing:.13em;color:#77d9d2}
.dirty-dozen-roster-chip.active,.dirty-dozen-roster-chip.mine{border-color:rgba(226,177,73,.66);box-shadow:0 0 0 1px rgba(226,177,73,.18),inset 0 0 18px rgba(226,177,73,.08)}
.dirty-dozen-roster-detail{padding:12px;border:1px solid rgba(226,177,73,.42);border-radius:12px;background:linear-gradient(180deg,rgba(29,26,17,.94),rgba(8,10,9,.98));display:grid;gap:5px}
.dirty-dozen-roster-detail span{color:#72d9d0;font:950 9px/1 Arial,sans-serif;letter-spacing:.16em}
.dirty-dozen-roster-detail strong{color:#f2dd9c;font:900 20px/1.08 Georgia,serif}
.dirty-dozen-roster-detail small{color:#d8c79a;font:900 11px/1.15 Arial,sans-serif;letter-spacing:.03em}
.dirty-dozen-roster-detail p{margin:4px 0 0;color:#f6f0dd;font:700 12px/1.42 Arial,sans-serif}
.dirty-dozen-roster-detail em{color:#84dbd3;font:900 9px/1 Arial,sans-serif;letter-spacing:.14em;font-style:normal}
@media(max-width:560px){.dirty-dozen-roster-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}

.nikki-intro-award{display:grid;gap:12px}
.nikki-intro-hero{position:relative;overflow:hidden;border:1px solid rgba(226,177,73,.58);border-radius:16px;background:#050706;box-shadow:0 16px 36px rgba(0,0,0,.52)}
.nikki-intro-hero img{display:block;width:100%;max-height:min(42dvh,520px);object-fit:cover;object-position:58% 35%}
.nikki-intro-stamp{display:grid;gap:4px;padding:12px;border:1px solid rgba(226,177,73,.42);border-radius:12px;background:linear-gradient(180deg,rgba(19,22,18,.96),rgba(6,10,8,.98))}
.nikki-intro-stamp span{color:#72d9d0;font:950 9px/1 Arial,sans-serif;letter-spacing:.16em}
.nikki-intro-stamp strong{color:#f2dd9c;font:900 24px/1.05 Georgia,serif}
.nikki-intro-stamp small{color:#d8c79a;font:900 10px/1.2 Arial,sans-serif;letter-spacing:.09em}
.nikki-intro-cascade-item{position:absolute;top:-12%;font:900 22px/1 Georgia,serif;color:rgba(248,219,146,.92);text-shadow:0 4px 14px rgba(0,0,0,.52);animation:nikkiIntroFall 3.4s linear infinite;opacity:0}
.nikki-intro-cascade-item.i1{left:6%;animation-delay:-.2s}.nikki-intro-cascade-item.i2{left:18%;animation-delay:-.7s}.nikki-intro-cascade-item.i3{left:31%;animation-delay:-1.3s}.nikki-intro-cascade-item.i4{left:47%;animation-delay:-1.9s}.nikki-intro-cascade-item.i5{left:66%;animation-delay:-2.4s}.nikki-intro-cascade-item.i6{left:82%;animation-delay:-3.1s}
@keyframes nikkiIntroFall{0%{transform:translateY(-18px) rotate(-12deg) scale(.8);opacity:0}10%{opacity:.92}80%{opacity:.96}100%{transform:translateY(110%) rotate(18deg) scale(1.06);opacity:0}}

/* v4.2.10p tailored scene heroes */
.achievement-photo-hero{width:100%;height:100%;min-height:180px;overflow:hidden;border-radius:12px}
.achievement-photo-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.achievement-75 .trophy-case-pedestal{height:220px!important;padding:0!important;overflow:hidden}
.achievement-75.locked .achievement-photo-hero{filter:saturate(.65);opacity:.85}
.city-result-hero{width:100%;height:clamp(170px,30vh,320px);object-fit:cover;border-radius:12px;display:block}
.dirty-dozen-roster-chip b{white-space:normal!important;overflow-wrap:anywhere;font-size:12px!important}
.dirty-dozen-roster-chips{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important}
.city-inline-hustle .hustle-result-photo,.lr-city-hustle-inline .hustle-result-photo{min-height:130px;max-height:200px}
@media(max-width:600px){.achievement-75 .trophy-case-pedestal{height:200px!important}.city-result-hero{height:210px}}
.achievement-75.trophy-case-tile{opacity:1!important;filter:none!important;background:#14211f!important;color:#fff4d9!important;padding:12px!important}
.achievement-75 .trophy-case-pedestal{width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:3/2!important;opacity:1!important;filter:none!important}
.achievement-75 .trophy-case-pedestal:before,.achievement-75 .trophy-case-pedestal:after{display:none!important}
.achievement-75 .achievement-photo-hero{min-height:0!important;height:100%!important;filter:none!important;opacity:1!important}
.achievement-75.trophy-case-tile>strong{font-size:16px!important;line-height:1.25!important;color:#fff4d9!important;margin-top:12px}
.achievement-75.trophy-case-tile>small{font-size:13px!important;line-height:1.5!important;color:#e9e1c9!important;min-height:0!important}
.achievement-75.trophy-case-tile>u{font-size:12px!important;color:#dfc984!important;line-height:1.4!important}
.achievement-75-case .trophy-case-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}


/* BORDER RUN v4.2.10p — CLEAN MAP HUD + REFINED CANADIAN BORDER */
.pr-live-legend,
.artwork-master-renderer .lr-board-zoom-controls,
.board-zoom-controls{display:none!important;visibility:hidden!important;pointer-events:none!important}
.artwork-master-renderer .lr-border-zone.north .lr-border-ribbon,
.artwork-master-renderer .lr-border-zone.north .lr-border-inner,
.artwork-master-renderer .lr-border-zone.north .lr-border-edge,
.artwork-master-renderer .lr-border-zone.north .lr-border-stitches{stroke-linejoin:round!important;stroke-linecap:round!important}

/* ============================================================
   BORDER RUN v4.2.10s — MULTIPLAYER CITY + OPPONENT PIECE REPAIR
   ============================================================ */
/* Remote/opponent pieces are position indicators, never attention animations.
   Freeze every descendant and pseudo-element so no legacy clearcoat, hover,
   arrival, wheel, Tokin, halo, or material animation can leak through. */
.lr-master-remote-piece,
.lr-master-remote-piece *,
.lr-master-remote-piece::before,
.lr-master-remote-piece::after,
.lr-master-remote-piece *::before,
.lr-master-remote-piece *::after,
.vehicle-pawn.remote-party-pawn,
.vehicle-pawn.remote-party-pawn *,
.vehicle-pawn.remote-party-pawn::before,
.vehicle-pawn.remote-party-pawn::after,
.vehicle-pawn.remote-party-pawn *::before,
.vehicle-pawn.remote-party-pawn *::after{
  animation:none!important;
  animation-name:none!important;
  animation-duration:0s!important;
  animation-iteration-count:1!important;
  transition:none!important;
}
.lr-master-remote-piece,
.vehicle-pawn.remote-party-pawn{
  opacity:1!important;
  visibility:visible!important;
}
/* Keep city modal controls above live multiplayer board repaints and fully tappable. */
body.modal-open #modal,
body.modal-open #modalCard,
body.modal-open #modalActions,
body.modal-open #modalActions .btn{
  pointer-events:auto!important;
}
body.modal-open #modal{z-index:12000!important}


/* v4.2.10v — top-level ROAD MENU tabs keep Tutorial replay one tap away. */
.road-menu-quick-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 12px;padding:0}
.road-menu-quick-tab{appearance:none;border:1px solid rgba(35,79,66,.34);border-radius:12px;background:linear-gradient(180deg,#f7edcf,#e7d49f);color:#173f36;min-height:68px;padding:9px 8px;display:grid;align-content:center;gap:3px;text-align:left;box-shadow:0 5px 12px rgba(30,42,35,.12);cursor:pointer}
.road-menu-quick-tab span{font:900 8px/1 Arial,sans-serif;letter-spacing:.16em;color:#8a6230}
.road-menu-quick-tab strong{font:900 13px/1.05 Georgia,serif;color:#173f36;letter-spacing:.03em}
.road-menu-quick-tab small{font:900 8px/1.15 Arial,sans-serif;letter-spacing:.08em;color:#665236}
.road-menu-quick-tab.tutorial{border-color:#9a6c28;box-shadow:inset 0 0 0 1px rgba(255,240,182,.6),0 5px 14px rgba(72,48,16,.16)}
.road-menu-quick-tab:focus-visible{outline:3px solid #d99a35;outline-offset:2px}
@media(max-width:520px){.road-menu-quick-tabs{gap:6px}.road-menu-quick-tab{min-height:62px;padding:8px 6px}.road-menu-quick-tab strong{font-size:11px}.road-menu-quick-tab small{font-size:7px}}

/* ============================================================
   BORDER RUN v4.2.10x — CANONICAL ROAD / NODE / PIECE STACK + LANDSCAPE FIT
   ============================================================ */
/* Visual stack is explicit and final: atlas < road < city/space nodes < pieces.
   No pseudo-element or SVG mask is allowed to erase pavement below a vehicle. */
.artwork-master-renderer .lr-map-art-crop{z-index:0!important}
.artwork-master-renderer .lr-route-network{
  z-index:20!important;
  pointer-events:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  overflow:visible!important;
}
.artwork-master-renderer .lr-border-overlay{z-index:28!important}
.artwork-master-renderer .lr-art-board-overlay{
  z-index:40!important;
  isolation:isolate!important;
  overflow:visible!important;
}
.artwork-master-renderer .lr-art-space-hit{z-index:45!important}
.artwork-master-renderer .lr-visible-board-nodes{
  z-index:60!important;
  isolation:isolate!important;
}
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node{z-index:64!important}
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node.city,
.artwork-master-renderer .lr-visible-board-nodes>.lr-master-node.start-city.city{z-index:72!important}
.artwork-master-renderer .lr-crossover-gate-layer{z-index:76!important}
.artwork-master-renderer .lr-crossover-city-layer{z-index:80!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:120!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{
  z-index:200!important;
  isolation:isolate!important;
  overflow:visible!important;
  pointer-events:none!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  z-index:220!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 50%!important;
  isolation:isolate!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:visible!important;
  pointer-events:auto!important;
}
.lr-master-player-piece.lr-art-player::before,
.lr-master-player-piece.lr-art-player::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
}
/* The old road-cutout group is unsupported even if stale markup is restored by
   an old save/DOM snapshot. Rendering is always continuous. */
.artwork-master-renderer .lr-route-masked-for-local-pawn{mask:none!important}

/* Landscape opens as one viewport-sized game surface. The floating four-step
   turn-status strip is redundant with the Roll control and steals board height. */
@media (orientation:landscape){
  html,body,
  body.landscape-reference-live,
  body.landscape-reference-live .app-shell,
  body.landscape-reference-live #landscapeReferenceShell{
    width:100dvw!important;
    height:100dvh!important;
    min-width:100dvw!important;
    min-height:100dvh!important;
    max-width:100dvw!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    inset:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    transform:none!important;
    aspect-ratio:auto!important;
  }
  body.landscape-reference-live #turnFlowHud,
  body.android-virtual-landscape #turnFlowHud,
  body.landscape-reference-live .turn-flow-hud,
  body.android-virtual-landscape .turn-flow-hud{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.landscape-reference-live .pr-bottom-nav,
  body.android-virtual-landscape .pr-bottom-nav{
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100%!important;
    margin:0!important;
    padding:4px max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important;
    box-sizing:border-box!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-map-host,
  body.android-virtual-landscape .artwork-master-renderer .lr-map-host{
    left:0!important;
    right:0!important;
    top:60px!important;
    bottom:60px!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
  }
  body.landscape-reference-live .lr-context-overlay-stack,
  body.android-virtual-landscape .lr-context-overlay-stack{
    top:104px!important;
    bottom:66px!important;
    max-height:calc(100dvh - 170px)!important;
  }
  /* At 100% the fitted stage itself never exceeds the map aperture. Zoom >100%
     intentionally re-enables panning without moving any HUD element. */
  body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage,
  body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage{
    flex:none!important;
    max-width:none!important;
    max-height:none!important;
    transform:none!important;
    transform-origin:0 0!important;
  }
}
/* CSS-rotated Android landscape does not necessarily satisfy the landscape
   media query, so suppress only the redundant turn-flow strip here as well. */
body.android-virtual-landscape #turnFlowHud,
body.android-virtual-landscape .turn-flow-hud{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* ============================================================
   BORDER RUN v4.2.10y — CLEAN SAVE GATE + WIDTH-FIT MAP + TRUE PAWN CENTER
   ============================================================ */
/* Save / Load is a UI surface, not another board. Never reveal the retired map
   artwork behind its modal, even on browsers that retain an older body image. */
body.pre-game-gate.pregame-menu-stage,
html.pre-game-gate.pregame-menu-stage{
  background-image:
    radial-gradient(circle at 50% 14%,rgba(30,105,96,.22),transparent 36%),
    radial-gradient(circle at 82% 78%,rgba(173,121,44,.10),transparent 30%),
    linear-gradient(180deg,#07110f 0%,#020706 100%)!important;
}
/* The logical route coordinate is the physical CENTER of the local piece.
   Any stale Web Animation on the inner render is neutralized while stationary. */
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:not(.master-moving)>.ride-render,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:not(.master-moving)>.ride-render,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:not(.master-moving)>.token-3d,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:not(.master-moving)>.token-3d,
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:not(.master-moving)>.tokin-game-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:not(.master-moving)>.tokin-game-piece{
  position:absolute!important;
  left:0!important;top:0!important;right:auto!important;bottom:auto!important;
  width:100%!important;height:100%!important;
  margin:0!important;
  transform:none!important;
  translate:none!important;
  transform-origin:50% 50%!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .piece-3d-motion,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .piece-3d-motion{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  margin:0!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .piece-3d-motion>img,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player .piece-3d-motion>img{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:50% 50%!important;
  margin:0!important;padding:0!important;
}


/* ============================================================
   BORDER RUN v4.2.10z — TRUE TOPMOST PIECE PLANE + HEADER BREATHING ROOM
   ============================================================ */
/* The local and remote piece planes are direct children of the map zoom stage,
   after the road/node board overlay in DOM order. This removes the inherited
   stacking context that could let highways, city chips, or trading-post labels
   paint over a vehicle even when the pawn itself carried a very high z-index. */
.artwork-master-renderer .lr-map-zoom-stage{
  isolation:isolate!important;
}
.artwork-master-renderer .lr-map-art-crop{
  z-index:0!important;
}
.artwork-master-renderer .lr-route-network,
.artwork-master-renderer .lr-border-overlay{
  z-index:20!important;
  pointer-events:none!important;
  mix-blend-mode:normal!important;
}
.artwork-master-renderer .lr-art-board-overlay{
  z-index:40!important;
  isolation:isolate!important;
}
.artwork-master-renderer .lr-visible-board-nodes{
  z-index:60!important;
}
.artwork-master-renderer .lr-crossover-gate-layer{
  z-index:72!important;
}
.artwork-master-renderer .lr-crossover-city-layer{
  z-index:76!important;
}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{
  position:absolute!important;
  inset:0!important;
  z-index:700!important;
  overflow:visible!important;
  pointer-events:none!important;
  isolation:isolate!important;
}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{
  position:absolute!important;
  inset:0!important;
  z-index:1000!important;
  overflow:visible!important;
  pointer-events:none!important;
  isolation:isolate!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.android-virtual-landscape .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  z-index:1020!important;
  opacity:1!important;
  visibility:visible!important;
  mix-blend-mode:normal!important;
  isolation:isolate!important;
  pointer-events:auto!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece,
body.android-virtual-landscape .artwork-master-renderer .lr-master-remote-piece{
  z-index:720!important;
}

/* Give the phone header a little air without shrinking the readable telemetry.
   Trophy / Awards / Don are slightly narrower and separated from both the logo
   and the persistent menu launcher. */
@media (orientation:portrait){
  body.portrait-reference-live .pr-brand{
    width:min(38vw,176px)!important;
  }
  body.portrait-reference-live .pr-top-actions{
    right:calc(max(8px,env(safe-area-inset-right,0px)) + 50px)!important;
    grid-template-columns:repeat(3,32px)!important;
    gap:5px!important;
  }
  body.portrait-reference-live .pr-top-actions button{
    width:32px!important;
    height:40px!important;
    font-size:14px!important;
    border-radius:9px!important;
  }
  body.portrait-reference-live .pr-top-actions .top-don b{font-size:12px!important}
  body.portrait-reference-live .pr-top-actions .top-don small{font-size:5.5px!important}
  body.portrait-reference-live .br-global-menu-launcher{
    right:max(8px,env(safe-area-inset-right,0px))!important;
    width:40px!important;
    min-width:40px!important;
    height:42px!important;
  }
}
@media (orientation:landscape){
  body.landscape-reference-live .pr-top-actions{
    right:58px!important;
    grid-template-columns:repeat(3,38px)!important;
    gap:7px!important;
  }
  body.landscape-reference-live .pr-top-actions button{
    width:38px!important;
    height:44px!important;
    font-size:16px!important;
    border-radius:9px!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-telemetry{
    right:192px!important;
  }
}


/* ============================================================
   BORDER RUN v4.2.10ac — VERTICAL MEXICO CORRIDORS / UNIVERSAL PIECE PLANE / RESPONSIVE HUD
   ============================================================ */
/* One final board-stack contract for every selectable piece type. Vehicles,
   collectible Tokins, Fuzz pieces, and remote party pieces all live above the
   road, city, crossover, trading-post and re-up marker layers. */
.artwork-master-renderer .lr-route-network{z-index:20!important}
.artwork-master-renderer .lr-border-overlay{z-index:28!important}
.artwork-master-renderer .lr-art-board-overlay{z-index:40!important}
.artwork-master-renderer .lr-visible-board-nodes{z-index:60!important}
.artwork-master-renderer .lr-crossover-gate-layer{z-index:72!important}
.artwork-master-renderer .lr-crossover-city-layer{z-index:76!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:700!important;isolation:isolate!important;overflow:visible!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1000!important;isolation:isolate!important;overflow:visible!important}
.artwork-master-renderer .lr-master-player-piece,
.artwork-master-renderer .lr-master-remote-piece{isolation:isolate!important;overflow:visible!important;mix-blend-mode:normal!important}
.artwork-master-renderer .lr-master-player-piece{z-index:1020!important}
.artwork-master-renderer .lr-master-remote-piece{z-index:720!important}
.artwork-master-renderer .lr-master-player-piece>.ride-render,
.artwork-master-renderer .lr-master-player-piece>.tokin-game-piece,
.artwork-master-renderer .lr-master-player-piece>.token-3d,
.artwork-master-renderer .lr-master-remote-piece>.ride-render,
.artwork-master-renderer .lr-master-remote-piece>.tokin-game-piece,
.artwork-master-renderer .lr-master-remote-piece>.token-3d{position:relative!important;z-index:5!important;isolation:isolate!important;mix-blend-mode:normal!important}

/* Mexico purchase cities use more of the printed land mass and keep their
   three-letter atlas codes horizontal. */
.artwork-master-renderer .lr-master-node.start-city.city{width:28px!important;height:24px!important;min-width:28px!important;min-height:24px!important;z-index:68!important}
.artwork-master-renderer .lr-master-node.start-city .lr-master-city-core{width:11px!important;height:11px!important}
.artwork-master-renderer .lr-master-node.start-city .lr-master-city-code{left:14px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;white-space:nowrap!important;font-size:5.4px!important;letter-spacing:.03em!important}
.artwork-master-renderer .lr-master-node.start-city.route-east .lr-master-city-code{left:14px!important;right:auto!important;text-align:left!important}

/* Extra southbound roll distance is visible on the board. */
.artwork-master-renderer .lr-south-depth-marker{position:absolute;transform:translate(-50%,-50%);z-index:70;display:grid;grid-template-columns:14px auto;grid-template-rows:auto auto;column-gap:4px;align-items:center;pointer-events:none;white-space:nowrap}
.artwork-master-renderer .lr-south-depth-marker i{grid-row:1/3;width:13px;height:13px;border-radius:50%;display:grid;place-items:center;background:#111815;border:1px solid #e3c271;color:#f0d99c;font:900 6px/1 Arial,sans-serif;box-shadow:0 1px 4px rgba(0,0,0,.55)}
.artwork-master-renderer .lr-south-depth-marker b{font:900 4.8px/1 Arial,sans-serif;letter-spacing:.05em;color:#ead8a4;text-shadow:0 1px 2px #000}
.artwork-master-renderer .lr-south-depth-marker small{font:900 4.2px/1 Arial,sans-serif;letter-spacing:.04em;color:#65d8ce;text-shadow:0 1px 2px #000}
.artwork-master-renderer .lr-south-depth-marker.current i{border-color:#68e0d4;box-shadow:0 0 8px rgba(92,224,211,.7)}

/* Portrait header rows must read as separate lanes rather than touching. */
@media (orientation:portrait){
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry{top:calc(var(--portrait-safe-top) + 52px)!important;height:52px!important}
  body.portrait-reference-live .pr-legal-hud{top:calc(var(--portrait-safe-top) + 112px)!important;height:50px!important}
  body.portrait-reference-live .pr-route-tabs{top:calc(var(--portrait-safe-top) + 172px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-map-host{top:calc(var(--portrait-safe-top) + 228px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls,
  body.portrait-reference-live .pr-live-legend{top:calc(var(--portrait-safe-top) + 236px)!important}
}

/* Landscape is divided into three stable lanes: compact top HUD, route row,
   then the board. Nothing sits on top of another control and the bottom dock
   remains fully inside the viewport. */
@media (orientation:landscape){
  body.landscape-reference-live .pr-brand{left:10px!important;top:6px!important;width:205px!important;height:50px!important}
  body.landscape-reference-live .artwork-master-renderer .lr-telemetry{left:224px!important;right:190px!important;top:6px!important;height:50px!important;gap:6px!important}
  body.landscape-reference-live .pr-top-actions{right:56px!important;top:7px!important;grid-template-columns:repeat(3,36px)!important;gap:7px!important}
  body.landscape-reference-live .pr-top-actions button{width:36px!important;height:42px!important;font-size:15px!important}
  body.landscape-reference-live .br-global-menu-launcher{right:8px!important;top:7px!important;width:40px!important;height:44px!important}
  body.landscape-reference-live .pr-route-tabs{left:12px!important;top:64px!important;gap:7px!important}
  body.landscape-reference-live .pr-route-tabs button{min-height:28px!important;padding:0 11px!important}
  body.landscape-reference-live .artwork-master-renderer .lr-map-host{top:98px!important;bottom:58px!important}
  body.landscape-reference-live .pr-bottom-nav{height:58px!important;min-height:58px!important;max-height:58px!important}
  body.landscape-reference-live .lr-context-overlay-stack{top:104px!important;bottom:62px!important;max-height:calc(100dvh - 166px)!important}

  /* Drive-through D6 uses the wide screen intentionally: action board at right,
     roll router at left, both fully on-screen with no overlap. */
  body.landscape-reference-live .city-d6-overlay{place-items:center end!important;padding:2.5dvh 2vw!important;overflow:hidden!important;background:linear-gradient(90deg,rgba(2,7,7,.22),rgba(2,7,7,.10))!important}
  body.landscape-reference-live .city-d6-stage{width:min(48vw,700px)!important;min-height:0!important;height:auto!important;max-height:94dvh!important;padding:14px 14px 16px!important;overflow:auto!important}
  body.landscape-reference-live .city-d6-six{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  body.landscape-reference-live .city-d6-die-flight{height:112px!important;margin-top:4px!important}
  body.landscape-reference-live .city-d6-city{font-size:clamp(19px,2.1vw,30px)!important}
  body.landscape-reference-live .city-d6-overlay .manual-dice-gate{left:24vw!important;top:50%!important;bottom:auto!important;width:min(43vw,620px)!important;max-width:43vw!important;transform:translate(-50%,-50%)!important;grid-template-columns:minmax(0,1fr) auto!important;padding:12px 14px!important;gap:10px!important}
  body.landscape-reference-live .city-d6-overlay .manual-dice-roll-btn{min-width:128px!important;min-height:54px!important}
}
@media (orientation:landscape) and (max-height:620px){
  body.landscape-reference-live .city-d6-stage{max-height:92dvh!important;padding:10px!important}
  body.landscape-reference-live .city-d6-die-flight{height:88px!important}
  body.landscape-reference-live .city-d6-six .city-action-tile{min-height:52px!important;padding:6px!important}
  body.landscape-reference-live .city-d6-caption{margin-top:7px!important;min-height:16px!important}
}

/* ============================================================
   BORDER RUN v4.2.10ag — ZOOM-RESPONSIVE CITY LABELS / LANDLOCKED MEXICO
   ============================================================ */
/* The live atlas changes its actual pixel dimensions when zoomed. City type
   therefore needs an explicit zoom multiplier instead of a fixed 5px label. */
.artwork-master-renderer .lr-map-zoom-stage{
  --lr-city-label-scale:1;
}
.artwork-master-renderer .lr-master-city-code{
  font-size:calc(5.7px * var(--lr-city-label-scale,1))!important;
  line-height:1!important;
  padding:calc(.7px * var(--lr-city-label-scale,1)) calc(1.35px * var(--lr-city-label-scale,1))!important;
  border-radius:calc(1.8px * var(--lr-city-label-scale,1))!important;
  background:rgba(5,10,9,.72)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.58)!important;
  color:#f5e4ad!important;
  text-shadow:0 1px 2px #000!important;
  z-index:8!important;
}
.artwork-master-renderer .lr-crossover-city>small{
  font-size:calc(5.5px * var(--lr-city-label-scale,1))!important;
  line-height:1.05!important;
}

/* At useful street-level zoom, Mexico shows full city names. At fit-map zoom,
   the compact unique atlas codes remain visible and uncluttered. */
.artwork-master-renderer .lr-master-city-name{display:none!important}
.artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city .lr-master-city-code{display:none!important}
.artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city .lr-master-city-name{
  display:block!important;
  position:absolute!important;
  left:15px!important;right:auto!important;top:50%!important;
  transform:translateY(-50%)!important;
  width:max-content!important;max-width:none!important;
  padding:calc(.8px * var(--lr-city-label-scale,1)) calc(1.6px * var(--lr-city-label-scale,1))!important;
  border-radius:calc(2px * var(--lr-city-label-scale,1))!important;
  background:rgba(4,10,9,.80)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.68)!important;
  color:#f5e4ad!important;
  font:900 calc(5.25px * var(--lr-city-label-scale,1))/1 Arial,sans-serif!important;
  letter-spacing:.025em!important;
  text-shadow:0 1px 2px #000!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  z-index:9!important;
}
/* Gulf-side names grow inland (west), keeping both marker and text on land. */
.artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city.route-east .lr-master-city-name{
  left:auto!important;right:15px!important;text-align:right!important;
}
.artwork-master-renderer .lr-master-node.start-city.route-east .lr-master-city-code{
  left:auto!important;right:14px!important;text-align:right!important;
}

/* Re-up depth captions are city-adjacent map text and follow the same zoom. */
.artwork-master-renderer .lr-south-depth-marker b{
  font-size:calc(4.8px * var(--lr-city-label-scale,1))!important;
}
.artwork-master-renderer .lr-south-depth-marker small{
  font-size:calc(4.2px * var(--lr-city-label-scale,1))!important;
}


/* ============================================================
   BORDER RUN v4.2.10ag — FINAL CITY/ROAD STACK + STRONG ZOOM SCALING
   This block intentionally lives last. Older portrait/landscape overrides
   cannot place the SVG road plane above a city node or pin city type to a
   fixed pixel size after this contract.
   ============================================================ */
.artwork-master-renderer .lr-map-zoom-stage{
  --lr-city-label-scale:1;
  --lr-city-node-scale:1;
  --lr-city-node-base:28px;
  --lr-city-core-base:13px;
  position:relative!important;
  isolation:isolate!important;
}
/* Route SVG is a direct background sibling. Keep it below the whole board
   overlay instead of trying to out-z-index individual nodes inside that overlay. */
.artwork-master-renderer .lr-map-zoom-stage > .lr-route-network{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  z-index:10!important;pointer-events:none!important;mix-blend-mode:normal!important;
}
.artwork-master-renderer .lr-map-zoom-stage > .lr-border-overlay{z-index:18!important;pointer-events:none!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  z-index:40!important;isolation:isolate!important;overflow:visible!important;
}
/* High-specificity final node plane. This explicitly beats the old
   position:relative landscape/portrait rules that could collapse the node
   stacking context and let SVG pavement paint over city markers. */
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay > .lr-visible-board-nodes,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay > .lr-visible-board-nodes,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay > .lr-visible-board-nodes,
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay > .lr-visible-board-nodes{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  z-index:240!important;isolation:isolate!important;overflow:visible!important;pointer-events:none!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node,
body.landscape-reference-live .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node,
body.android-virtual-landscape .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node{
  position:absolute!important;z-index:260!important;isolation:isolate!important;overflow:visible!important;pointer-events:auto!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
body.landscape-reference-live .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
body.android-virtual-landscape .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city{
  z-index:300!important;
}
.artwork-master-renderer .lr-crossover-gate-layer{z-index:310!important;isolation:isolate!important}
.artwork-master-renderer .lr-crossover-city-layer{z-index:320!important;isolation:isolate!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:700!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1000!important}

/* As the stage gets physically larger, city markers now grow too. This keeps
   them proportional to road width without scaling their geographic position. */
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage{
  --lr-city-node-base:32px;
  --lr-city-core-base:16px;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city,
body.android-virtual-landscape .artwork-master-renderer .lr-master-node.city,
.artwork-master-renderer .lr-master-node.start-city.city{
  width:calc(var(--lr-city-node-base,28px) * var(--lr-city-node-scale,1))!important;
  height:calc(var(--lr-city-node-base,28px) * var(--lr-city-node-scale,1))!important;
  min-width:calc(var(--lr-city-node-base,28px) * var(--lr-city-node-scale,1))!important;
  min-height:calc(var(--lr-city-node-base,28px) * var(--lr-city-node-scale,1))!important;
  transform:translate(-50%,-50%)!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.android-virtual-landscape .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
.artwork-master-renderer .lr-master-node.start-city.city .lr-master-city-core{
  width:calc(var(--lr-city-core-base,13px) * var(--lr-city-node-scale,1))!important;
  height:calc(var(--lr-city-core-base,13px) * var(--lr-city-node-scale,1))!important;
}
/* These selectors deliberately include orientation/body state so they beat the
   older fixed 5.4/6.4px !important rules. */
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city .lr-master-city-code,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city .lr-master-city-code,
.artwork-master-renderer .lr-map-zoom-stage .lr-master-node.start-city.city .lr-master-city-code{
  font-size:calc(6px * var(--lr-city-label-scale,1))!important;
  line-height:1!important;
  padding:calc(.8px * var(--lr-city-label-scale,1)) calc(1.5px * var(--lr-city-label-scale,1))!important;
  left:calc(16px * var(--lr-city-node-scale,1))!important;right:auto!important;
  white-space:nowrap!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city.route-east .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city.route-east .lr-master-city-code,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city.route-east .lr-master-city-code,
.artwork-master-renderer .lr-map-zoom-stage .lr-master-node.start-city.city.route-east .lr-master-city-code{
  left:auto!important;right:calc(16px * var(--lr-city-node-scale,1))!important;text-align:right!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city .lr-master-city-name,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city .lr-master-city-name,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city .lr-master-city-name,
.artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city .lr-master-city-name{
  font:900 calc(6.2px * var(--lr-city-label-scale,1))/1 Arial,sans-serif!important;
  left:calc(17px * var(--lr-city-node-scale,1))!important;right:auto!important;
  padding:calc(.9px * var(--lr-city-label-scale,1)) calc(1.8px * var(--lr-city-label-scale,1))!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city.route-east .lr-master-city-name,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city.route-east .lr-master-city-name,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city.route-east .lr-master-city-name,
.artwork-master-renderer .lr-map-zoom-stage.city-labels-expanded .lr-master-node.start-city.route-east .lr-master-city-name{
  left:auto!important;right:calc(17px * var(--lr-city-node-scale,1))!important;text-align:right!important;
}
.artwork-master-renderer .lr-crossover-city>small{
  font-size:calc(6px * var(--lr-city-label-scale,1))!important;
}
.artwork-master-renderer .lr-south-depth-marker b{font-size:calc(5.4px * var(--lr-city-label-scale,1))!important}
.artwork-master-renderer .lr-south-depth-marker small{font-size:calc(4.8px * var(--lr-city-label-scale,1))!important}
/* ============================================================
   BORDER RUN v4.2.10av — IOS / ANDROID GESTURE STABILITY
   Contain native page pinch and pull-to-refresh inside the live map. These
   were previously stored as literal backslash-n text, so browsers could skip
   the declarations that were meant to protect mobile zoom.
   ============================================================ */
html,body{
  overscroll-behavior:none!important;
  overscroll-behavior-y:none!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-map-host,
body.portrait-reference-live .artwork-master-renderer .lr-map-host,
body.android-virtual-landscape .artwork-master-renderer .lr-map-host{
  touch-action:none!important;
  -ms-touch-action:none!important;
  overscroll-behavior:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
body.modal-open #modal{overscroll-behavior:none!important}
body.modal-open #modalCard,
body.modal-open #submenuZoomSurface{
  touch-action:pan-x pan-y!important;
  overscroll-behavior:contain!important;
}
#modalCard[data-kicker="INSTRUCTION MANUAL"],
#modalCard[data-kicker="INSTRUCTION MANUAL"] #modalExtra,
#modalCard[data-kicker="INSTRUCTION MANUAL"] .manual-live-page{
  touch-action:pan-x pan-y!important;
}

/* ============================================================
   BORDER RUN v4.2.10az — RESTORED AY BOARD DESTINATION CONTRACT
   Visual markers are one-third smaller than the pre-AX treatment while their
   transparent button/hit areas and city-name type remain mobile-friendly.
   Final paint order: atlas < highway < destination nodes < player pieces.
   ============================================================ */
.artwork-master-renderer .lr-map-zoom-stage > .lr-map-art-crop{z-index:0!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-route-network{
  z-index:10!important;pointer-events:none!important;mix-blend-mode:normal!important;
}
.artwork-master-renderer .lr-map-zoom-stage > .lr-border-overlay{z-index:18!important;pointer-events:none!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay{
  z-index:40!important;isolation:isolate!important;overflow:visible!important;
}
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay > .lr-visible-board-nodes{
  z-index:240!important;isolation:isolate!important;overflow:visible!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node{z-index:260!important}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city{z-index:300!important}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market{z-index:305!important}
.artwork-master-renderer .lr-crossover-gate-layer{z-index:310!important;isolation:isolate!important}
.artwork-master-renderer .lr-crossover-city-layer{z-index:320!important;isolation:isolate!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:700!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1000!important}

/* City buttons keep the existing invisible target. Only the painted face is
   reduced to two-thirds size; label typography stays at the AG/AY scale. */
.artwork-master-renderer .lr-map-zoom-stage{--lr-city-core-base:8.667px}
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage{--lr-city-core-base:10.667px}
body.portrait-reference-live .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.landscape-reference-live .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
body.android-virtual-landscape .artwork-master-renderer .lr-master-node.city .lr-master-city-core,
.artwork-master-renderer .lr-master-node.start-city.city .lr-master-city-core{
  background-color:#080c0c!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city .lr-master-city-code,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city .lr-master-city-code,
.artwork-master-renderer .lr-map-zoom-stage .lr-master-node.start-city.city .lr-master-city-code{
  font-size:calc(6px * var(--lr-city-label-scale,1))!important;
  left:calc(11px * var(--lr-city-node-scale,1))!important;right:auto!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city.route-east .lr-master-city-code,
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city.route-east .lr-master-city-code,
body.android-virtual-landscape .artwork-master-renderer .lr-map-zoom-stage .lr-master-node.city.route-east .lr-master-city-code,
.artwork-master-renderer .lr-map-zoom-stage .lr-master-node.start-city.city.route-east .lr-master-city-code{
  left:auto!important;right:calc(11px * var(--lr-city-node-scale,1))!important;text-align:right!important;
}

/* Ordinary and actionable road faces are reduced independently so alternating
   actions stay recognizable without turning the highway into a wall of icons. */
.artwork-master-renderer .lr-master-node.travel .lr-master-travel-core{
  width:2.133px!important;height:2.133px!important;background-color:#121713!important;
}
.artwork-master-renderer .lr-master-node.travel.space-action .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-event .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-patrol .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-hustle .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-junction .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-checkpoint .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-garage .lr-master-travel-core,
.artwork-master-renderer .lr-master-node.travel.space-sell .lr-master-travel-core{
  width:5.333px!important;height:5.333px!important;background-color:#0c1110!important;
}

/* Farmington's permanent trading post, crossover cities, and crossover gates
   use smaller opaque faces while retaining the larger surrounding tap box. */
.artwork-master-renderer .lr-master-node.tbird-market{
  width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;
  background:transparent!important;
}
.artwork-master-renderer .lr-master-node.tbird-market .tbird-market-core{
  width:20px!important;height:20px!important;
  background:radial-gradient(circle at 38% 30%,#ead185,#8a6331 48%,#203c35 72%,#07100e)!important;
}
.artwork-master-renderer .lr-master-node.tbird-market .tbird-market-core>b{
  inset:5px 0 auto!important;font-size:7px!important;
}
.artwork-master-renderer .lr-master-node.tbird-market .tbird-market-core>small{top:22px!important}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core{
  width:11.333px!important;height:11.333px!important;
  background:radial-gradient(circle at 31% 27%,#fff2c8 0 9%,#b98429 15%,#332819 35%,#0a0e0e 74%)!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core,
body.wide-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core{width:12px!important;height:12px!important}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city>small{top:19px!important}
body.landscape-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city>small,
body.wide-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city>small{top:20px!important}
.artwork-master-renderer .lr-crossover-gate{
  width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;
  background:radial-gradient(circle at 38% 34%,#4a4638,#121411 48%,#080a09 100%)!important;
}
.artwork-master-renderer .lr-crossover-gate::before{width:12px!important;height:6.667px!important}
.artwork-master-renderer .lr-crossover-gate::after{width:12px!important;height:3.333px!important}
.artwork-master-renderer .lr-south-depth-marker i{width:8.667px!important;height:8.667px!important;font-size:4px!important;background:#111815!important}
/* ============================================================
   BORDER RUN v4.2.10aj — NON-DESTRUCTIVE VIEWPORT RESIZE GUARD
   Resize/orientation is a layout event, not a game/navigation event.
   Keep a dark painted root at all times so browser/PWA viewport transitions
   never expose the browser's default white canvas between frames.
   ============================================================ */
html,body{
  background:#07110f!important;
  min-width:100%!important;
  min-height:100%!important;
}
body.landscape-reference-live,
body.portrait-reference-live,
body.adaptive-reference-build{
  background:#07110f!important;
}
.artwork-master-renderer,
.artwork-master-renderer .lr-map-host{
  background-color:#07110f!important;
}

/* ============================================================
   BORDER RUN v4.2.10ap — BIG VINNIE MOBILE READABILITY / SCROLL LOCK
   The collector encounter uses exactly one vertical scroll surface.  Header
   copy stays readable above it and every settlement option remains reachable
   below it, even on iPhone/PWA viewports with browser chrome changes.
   ============================================================ */
#modalCard[data-kicker="BIG VINNIE"] #modalBody{
  background:linear-gradient(160deg,#121916,#0c100e)!important;
  color:#fff0c7!important;
  border:1px solid rgba(207,170,91,.62)!important;
  border-left:5px solid #c95643!important;
  border-radius:12px!important;
  padding:12px 14px!important;
  margin:8px 0 10px!important;
  font:850 14px/1.48 Arial,sans-serif!important;
  letter-spacing:.005em!important;
  text-shadow:0 1px 0 rgba(0,0,0,.65)!important;
  opacity:1!important;
}

#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal{
  display:block!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:pan-y!important;
  padding-bottom:0!important;
}
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #submenuZoomSurface{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
  zoom:1!important;
  transform:none!important;
  touch-action:pan-y!important;
}
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalKicker,
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalTitle,
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalBody{
  flex:0 0 auto!important;
}
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalExtra{
  display:block!important;
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  padding-right:3px!important;
  padding-bottom:14px!important;
  scrollbar-gutter:stable!important;
}
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalActions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
  flex:0 0 auto!important;
  position:relative!important;
  inset:auto!important;
  z-index:40!important;
  margin:0 -20px!important;
  padding:10px 20px max(12px,env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(13,15,13,.96),#090b0a 24%)!important;
  border-top:1px solid rgba(201,164,91,.42)!important;
  box-shadow:0 -10px 24px rgba(0,0,0,.34)!important;
}
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalActions .btn{
  min-height:48px!important;
  margin:0!important;
  padding:10px 8px!important;
  font-size:13px!important;
  line-height:1.15!important;
  touch-action:manipulation!important;
}
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalActions .btn:nth-child(3){
  grid-column:1 / -1!important;
  min-height:52px!important;
}
#modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalActions .btn:disabled{
  opacity:.48!important;
  filter:grayscale(.25)!important;
}

@media(max-width:760px) and (orientation:portrait){
  #modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal{
    height:calc(100dvh - max(86px,calc(env(safe-area-inset-top,0px) + 72px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;
    max-height:calc(100dvh - max(86px,calc(env(safe-area-inset-top,0px) + 72px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;
  }
  #modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalTitle{
    font-size:clamp(28px,8vw,38px)!important;
    margin-bottom:5px!important;
  }
  #modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalBody{
    font-size:14px!important;
    line-height:1.45!important;
    padding:11px 12px!important;
    margin:5px 0 8px!important;
  }
  #modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal .big-vinnie-art.state-collector img{
    height:min(23dvh,260px)!important;
    object-position:center 40%!important;
  }
  #modalCard[data-kicker="BIG VINNIE"].vinnie-collector-modal #modalActions{
    margin-left:-16px!important;
    margin-right:-16px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
}


/* ============================================================
   BORDER RUN v4.2.10ap — DON DECISION ENCOUNTER + TROPHY DICE RESET
   - Answering a Don call explains why he summoned the player and forces a
     clear accept / decline decision for the active assignment.
   - Trophy Case is a fixed 100% scale surface. No submenu pinch perspective,
     card tilt, or inherited 3D transform may distort collector dice tiles.
   ============================================================ */
.dominity-call-decision{
  display:grid!important;gap:9px!important;margin:14px 0!important;padding:14px!important;
  border:1px solid rgba(224,185,88,.48)!important;border-left:5px solid #e0b94f!important;
  border-radius:12px!important;background:linear-gradient(180deg,#121713,#080b0a)!important;
  box-shadow:inset 0 0 24px rgba(224,185,79,.055),0 10px 24px rgba(0,0,0,.24)!important;
}
.dominity-call-decision>span{color:#66ddd2!important;font:950 9px/1 Arial,sans-serif!important;letter-spacing:.18em!important}
.dominity-call-decision>strong{color:#fff0bd!important;font:950 clamp(22px,5vw,34px)/1 Georgia,serif!important}
.dominity-call-decision>p{margin:0!important;color:#f3e8c8!important;font:800 12px/1.5 Arial,sans-serif!important}
.dominity-call-stakes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.dominity-call-stakes>div{padding:10px!important;border-radius:9px!important;border:1px solid rgba(108,219,207,.18)!important;background:#0c1210!important}
.dominity-call-stakes b{display:block!important;color:#dfbd64!important;font:950 8px/1 Arial,sans-serif!important;letter-spacing:.12em!important}
.dominity-call-stakes small{display:block!important;margin-top:6px!important;color:#d7d2bd!important;font:750 9px/1.35 Arial,sans-serif!important}
@media(max-width:560px){
  .dominity-call-stakes{grid-template-columns:1fr!important}
  .dominity-call-decision{padding:12px!important}
  .dominity-call-decision>p{font-size:11px!important}
}

#modalCard[data-kicker="TROPHY CASE"]{
  --submenu-zoom:1!important;
  overflow-x:hidden!important;
  touch-action:pan-y!important;
}
#modalCard[data-kicker="TROPHY CASE"] .submenu-zoom-surface{
  zoom:1!important;
  transform:none!important;
  transform-origin:top center!important;
  width:100%!important;
  min-width:100%!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-grid{
  perspective:none!important;
  -webkit-perspective:none!important;
  transform:none!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile,
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.earned,
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.locked{
  transform:none!important;
  rotate:none!important;
  scale:1!important;
  min-width:0!important;
  width:auto!important;
  overflow:hidden!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-pedestal,
#modalCard[data-kicker="TROPHY CASE"] .trophy-object,
#modalCard[data-kicker="TROPHY CASE"] .trophy-object.die,
#modalCard[data-kicker="TROPHY CASE"] .dice-photo-preview.trophy-dice-photo{
  transform:none!important;
  perspective:none!important;
  -webkit-perspective:none!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice{
  min-height:218px!important;
  padding:10px 8px!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice .trophy-case-pedestal{
  width:104px!important;height:100px!important;margin:0 auto 8px!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice .trophy-object.die{
  width:100px!important;height:94px!important;overflow:visible!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice .dice-photo-preview.trophy-dice-photo{
  width:94px!important;height:94px!important;margin:0!important;overflow:visible!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice .dice-photo-preview.trophy-dice-photo>img{
  width:100%!important;height:100%!important;object-fit:contain!important;
  transform:none!important;filter:drop-shadow(0 8px 7px rgba(0,0,0,.48))!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice .dice-photo-preview.trophy-dice-photo .preview-pips{
  transform:none!important;
}
@media(max-width:390px){
  #modalCard[data-kicker="TROPHY CASE"] .trophy-case-grid{gap:7px!important}
  #modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice{min-height:204px!important;padding:8px 6px!important}
  #modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice .trophy-case-pedestal{width:92px!important;height:90px!important}
  #modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice .trophy-object.die{width:90px!important;height:86px!important}
  #modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile.dice .dice-photo-preview.trophy-dice-photo{width:86px!important;height:86px!important}
}

/* Keep the Don decision controls reachable while reading a long audience screen. */
#modalCard.dominity-modal #modalActions{
  position:sticky!important;bottom:0!important;z-index:18!important;
  margin-top:14px!important;padding:10px 0 max(10px,env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(5,9,8,.18),rgba(5,9,8,.98) 26%)!important;
  backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;
}


/* ============================================================
   BORDER RUN v4.2.10ar — DON CALL URGENCY + IGNORE PRESSURE
   Slightly stronger call visibility; no full-screen flashing. Ignoring a live
   call and rolling now creates escalating road/Heat/checkpoint consequences.
   ============================================================ */
.pr-legal.dominity.calling{
  position:relative!important;
  border-color:#f0c85f!important;
  background:linear-gradient(180deg,#173f7b 0%,#0a2350 64%,#091830 100%)!important;
  box-shadow:0 0 0 2px rgba(240,200,95,.36) inset,0 0 22px rgba(49,132,255,.34),0 0 10px rgba(240,200,95,.22)!important;
  animation:donCallingPulseAR 1.05s ease-in-out infinite alternate!important;
}
.pr-legal.dominity.calling:after{
  content:'!';position:absolute;right:7px;top:5px;display:grid;place-items:center;
  width:17px;height:17px;border-radius:50%;background:#e6b84d;color:#061224;
  font:950 12px/1 Arial,sans-serif;box-shadow:0 0 12px rgba(230,184,77,.45);
}
.pr-legal.dominity.calling b{color:#fff1b2!important}
.pr-legal.dominity.calling span{color:#ffffff!important;font-weight:950!important}
@keyframes donCallingPulseAR{
  from{filter:brightness(1);transform:translateZ(0)}
  to{filter:brightness(1.16);transform:translateZ(0) scale(1.012)}
}
.pr-top-actions .top-don.calling{
  border-color:#f0c85f!important;
  background:linear-gradient(180deg,#173f7b,#081b3d)!important;
  box-shadow:0 0 0 1px rgba(240,200,95,.34) inset,0 0 15px rgba(64,142,255,.34)!important;
  animation:donTopCallingPulseAR 1.05s ease-in-out infinite alternate!important;
}
.pr-top-actions .top-don.calling small{color:#fff2b0!important;font-weight:950!important}
@keyframes donTopCallingPulseAR{from{filter:brightness(1)}to{filter:brightness(1.17)}}
.dominity-ignore-warning{
  margin:10px 0 12px;padding:11px 12px;border-radius:11px;
  border:1px solid rgba(223,85,66,.48);border-left:5px solid #df5542;
  background:linear-gradient(145deg,rgba(64,18,14,.92),rgba(16,10,8,.96));
  box-shadow:inset 0 0 22px rgba(223,85,66,.06);
}
.dominity-ignore-warning span,.dominity-ignore-warning strong,.dominity-ignore-warning small{display:block}
.dominity-ignore-warning span{color:#ff8b78;font:950 9px/1.1 Arial,sans-serif;letter-spacing:.16em}
.dominity-ignore-warning strong{margin-top:6px;color:#fff0c4;font:950 15px/1.15 Georgia,serif}
.dominity-ignore-warning small{margin-top:6px;color:#f7e5d7;font:750 11px/1.45 Arial,sans-serif}
@media (prefers-reduced-motion:reduce){.pr-legal.dominity.calling,.pr-top-actions .top-don.calling{animation:none!important}}


/* ============================================================
   BORDER RUN v4.2.10as — MOVEMENT DEADLOCK + SINGLE AWARD FRAME
   ============================================================ */
/* The animated conic pseudo-border became a second scrollable frame once the
   award card itself was made vertically scrollable on phones. Keep one real
   frame only so the border never duplicates or travels through the content. */
.unlock-celebration-card:before{
  content:none!important;
  display:none!important;
  animation:none!important;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
}
.unlock-celebration-card{
  position:relative!important;
  isolation:isolate!important;
  overflow-x:hidden!important;
  border:2px solid rgba(232,189,87,.92)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.72),0 0 0 1px rgba(91,220,207,.22),inset 0 0 28px rgba(255,230,160,.05)!important;
}
body.portrait-reference-live .unlock-celebration-card,
body.landscape-reference-live .unlock-celebration-card{
  outline:none!important;
}


/* ============================================================
   BORDER RUN v4.2.10at — DON CONSIGNMENT RECOVERY
   Emergency Mexico front: visibly dangerous, debt remains payable after cargo.
   ============================================================ */
.don-consignment-rescue,
.don-consignment-status,
.don-consignment-offer{
  margin:10px 0 12px;padding:12px 13px;border-radius:12px;
  border:1px solid rgba(223,85,66,.58);border-left:5px solid #df5542;
  background:linear-gradient(145deg,rgba(61,17,14,.97),rgba(10,13,12,.98));
  box-shadow:inset 0 0 24px rgba(223,85,66,.06),0 8px 20px rgba(0,0,0,.25);
}
.don-consignment-rescue span,.don-consignment-rescue strong,.don-consignment-rescue small,
.don-consignment-status span,.don-consignment-status strong,.don-consignment-status small,
.don-consignment-offer span,.don-consignment-offer strong,.don-consignment-offer small{display:block}
.don-consignment-rescue span,.don-consignment-status span,.don-consignment-offer span{
  color:#ff8d78;font:950 9px/1.15 Arial,sans-serif;letter-spacing:.15em;
}
.don-consignment-rescue strong,.don-consignment-status strong,.don-consignment-offer strong{
  margin-top:6px;color:#fff0bd;font:950 18px/1.15 Georgia,serif;
}
.don-consignment-rescue small,.don-consignment-status small,.don-consignment-offer small{
  margin-top:6px;color:#f6e6d7;font:750 11px/1.45 Arial,sans-serif;
}
.don-consignment-offer>div{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,232,184,.13);
}
.don-consignment-offer>div b{color:#e9d4a0;font:900 10px/1.2 Arial,sans-serif;letter-spacing:.08em}
.don-consignment-offer>div em{color:#ff9d84;font:950 11px/1.2 Arial,sans-serif;font-style:normal;text-align:right}
.cargo-manifest-card.don-consignment-manifest,
.don-consignment-manifest{
  border-color:rgba(223,85,66,.66)!important;
  box-shadow:inset 0 0 0 1px rgba(223,85,66,.16),0 0 14px rgba(223,85,66,.12)!important;
}
.don-consignment-manifest .manifest-origin,
.don-consignment-manifest .cargo-origin{color:#ff8d78!important;font-weight:950!important}
@media(max-width:420px){
  .don-consignment-rescue,.don-consignment-status,.don-consignment-offer{padding:10px 11px}
  .don-consignment-rescue strong,.don-consignment-status strong,.don-consignment-offer strong{font-size:16px}
}

/* ============================================================
   BORDER RUN v4.2.10bd — CANONICAL NODE/HIGHWAY CENTERING
   The button remains the generous mobile tap target. The smaller painted
   marker is explicitly centered on that canonical route coordinate.
   ============================================================ */
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.travel{
  display:grid!important;
  place-items:center!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.travel > .lr-master-travel-core{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city:active > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city.city-tap-confirm > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.travel:active > .lr-master-travel-core{
  transform:translate(-50%,-50%) scale(.92)!important;
}


/* ============================================================
   BORDER RUN v4.2.10bd — ROAD EMPIRE SYSTEMS / MAP STACK
   ============================================================ */
.lr-route-network{z-index:6!important;pointer-events:none!important}
.lr-art-board-overlay{z-index:80!important}
.lr-visible-board-nodes{position:absolute!important;inset:0!important;z-index:620!important;pointer-events:none!important}
.lr-master-node{z-index:640!important}
.lr-master-node.city,.lr-master-node.tbird-market{z-index:680!important}
.lr-master-node.city .lr-master-city-core,.lr-master-node.tbird-market .tbird-market-core{
  position:relative!important;z-index:4!important;isolation:isolate!important;background:#07100e!important;
  box-shadow:0 0 0 2px #07100e,0 0 0 3px rgba(235,199,104,.78),0 4px 9px rgba(0,0,0,.8)!important;
}
.lr-master-node.city .lr-master-city-core:before,.lr-master-node.tbird-market .tbird-market-core:before{
  content:""!important;position:absolute!important;inset:-3px!important;border-radius:999px!important;background:#07100e!important;z-index:-2!important;
}
.lr-crossover-gate-layer{z-index:650!important}.lr-crossover-city-layer{z-index:700!important}
.lr-master-dynamic-layer.player-layer{z-index:900!important}.lr-master-dynamic-layer.remote-layer{z-index:850!important}
.lr-crossover-action-space circle{fill:#091311;stroke:#e4bd58;stroke-width:.22;vector-effect:non-scaling-stroke}
.lr-crossover-action-space text{fill:#f9e4a4;font:900 1px/1 Arial,sans-serif;text-anchor:middle;paint-order:stroke;stroke:#07100e;stroke-width:.18}
.lr-crossover-action-space.kind-checkpoint circle{stroke:#ff8c70}.lr-crossover-action-space.kind-contact circle{stroke:#69ddd2}
.lr-crossover-action-space.quiet circle{fill:#0a1110;stroke:#b6ae88;stroke-width:.16;opacity:.82}
.lr-crossover-action-space.kind-trouble circle{stroke:#e6a55f}.lr-crossover-action-space.kind-robbery circle{stroke:#ff765f}.lr-crossover-action-space.kind-obstacle circle{stroke:#d8c677}
.lr-crossover-action-space.actionable circle{filter:drop-shadow(0 0 .14px rgba(0,0,0,.9))}
.encounter-overlay-layer{z-index:2147482000!important;pointer-events:auto!important}
.encounter-overlay-dismiss{display:block!important;margin:12px auto 0!important;min-width:150px!important;padding:12px 18px!important;border:1px solid #e0b94f!important;border-radius:10px!important;background:#0c2420!important;color:#fff0bd!important;font:900 12px/1 Arial,sans-serif!important;letter-spacing:.14em!important;pointer-events:auto!important}
.unlock-celebration,body.landscape-reference-live .unlock-celebration,body.portrait-reference-live .unlock-celebration{z-index:2147483000!important;pointer-events:auto!important}
.unlock-celebration-card{position:relative!important;z-index:2147483001!important}
.leaderboard-shell{display:grid;gap:8px}.leaderboard-shell>header{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;color:#75e5da;font:900 10px/1 Arial,sans-serif;letter-spacing:.1em}
.leaderboard-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid rgba(224,185,79,.3);border-radius:12px;background:rgba(255,255,255,.035)}
.leaderboard-row>b{font:950 16px/1 Georgia,serif;color:#f0c45e}.leaderboard-row span{display:grid;gap:3px}.leaderboard-row span strong{color:#fff0bd}.leaderboard-row span small{color:#86a7a1;font-size:9px}.leaderboard-row>em{font:950 14px/1 Arial,sans-serif;color:#9af06f;font-style:normal}.leaderboard-row>i{grid-column:2/4;color:#b9c4bb;font:800 9px/1.3 Arial,sans-serif;font-style:normal}.leaderboard-row.party{border-color:rgba(105,221,210,.5)}
.don-dues-card,.tbird-purchase-receipt,.crossover-action-summary{display:grid;gap:7px;padding:14px;border:1px solid rgba(229,188,78,.45);border-radius:14px;background:linear-gradient(145deg,rgba(29,23,10,.82),rgba(7,18,16,.9))}.don-dues-card span,.tbird-purchase-receipt span{color:#69ddd2;font:900 9px/1 Arial,sans-serif;letter-spacing:.16em}.don-dues-card strong,.tbird-purchase-receipt strong{font:950 24px/1 Georgia,serif;color:#ffe8a0}.don-dues-card small,.tbird-purchase-receipt small{color:#d4d8cf;line-height:1.45}
.tbird-balance-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}.tbird-offer-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.tbird-offer-action.chrome-action{border-color:rgba(166,191,255,.65)!important;box-shadow:inset 0 0 24px rgba(85,112,255,.08)!important}
.crossover-action-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;max-height:45dvh;overflow:auto;margin-top:10px}.crossover-action-result{display:grid;grid-template-columns:24px 1fr;gap:4px 7px;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}.crossover-action-result>b{grid-row:1/3;align-self:center;color:#f0c45e}.crossover-action-result span{font:900 9px/1 Arial,sans-serif;color:#d5ddd4}.crossover-action-result strong{font:900 9px/1 Arial,sans-serif;color:#6ee1d6}.crossover-action-result.negative strong{color:#ff8975}.crossover-action-result small{grid-column:2;color:#c7cec5;font-size:8px}
@media(max-width:600px){.leaderboard-row{grid-template-columns:36px minmax(0,1fr)}.leaderboard-row>em,.leaderboard-row>i{grid-column:2}.tbird-balance-row{grid-template-columns:1fr!important}.crossover-action-results{grid-template-columns:1fr 1fr}}


/* ============================================================
   BORDER RUN v4.2.10bd — DESTINATION PAINT ABOVE HIGHWAY
   The visible face remains the smaller AX/AZ size. A compact opaque backing
   disc masks the route stroke beneath each city / T-Bird destination so the
   road can never visually cut through a destination marker.
   ============================================================ */
.artwork-master-renderer .lr-map-zoom-stage > .lr-route-network{z-index:5!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay{z-index:100!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay > .lr-visible-board-nodes{z-index:900!important}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.start-city.city,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market{z-index:950!important;isolation:isolate!important}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.start-city.city > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market > .tbird-market-core{
  z-index:20!important;background:#07100e!important;background-image:none!important;opacity:1!important;
  outline:2.4px solid #07100e!important;outline-offset:0!important;
  box-shadow:0 0 0 1px rgba(239,201,103,.92),0 4px 9px rgba(0,0,0,.82)!important;
}

/* ============================================================
   BORDER RUN v4.2.10be — AUTHORITATIVE DESTINATION LAYERS
   Large controls remain easy to tap, but only the reduced inner marker paints.
   Atlas < highways < travel markers < destinations < labels < pieces < FX.
   ============================================================ */
.graphical-world-board > .destination-marker-layer{
  position:absolute!important;inset:0!important;z-index:20!important;
  overflow:visible!important;pointer-events:none!important;isolation:isolate!important;
}
.graphical-world-board > .destination-marker-layer > .map-node{pointer-events:auto!important}
.graphical-world-board > .living-roads{z-index:5!important}
.graphical-world-board > .destination-marker-layer .map-node{z-index:20!important}
.graphical-world-board > .destination-marker-layer .map-node.core-city-node,
.graphical-world-board > .destination-marker-layer .map-node.buy-node{z-index:30!important}
.graphical-world-board > .destination-marker-layer .node-pawns{z-index:50!important}

/* Remove the old visible button shell. The transparent shell is the hit area;
   the nested core is the only painted node and stays one-third smaller. */
body.portrait-reference-live .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node,
body.landscape-reference-live .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node,
body.android-virtual-landscape .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node{
  min-width:30px!important;min-height:30px!important;width:30px!important;height:30px!important;
  padding:0!important;border:0!important;outline:0!important;border-radius:50%!important;
  background:transparent!important;background-image:none!important;box-shadow:none!important;
  opacity:1!important;filter:none!important;overflow:visible!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
body.landscape-reference-live .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
body.android-virtual-landscape .artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city{
  min-width:34px!important;min-height:34px!important;width:34px!important;height:34px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.travel:not(.route-active){
  transform:translate(-50%,-50%)!important;opacity:1!important;
}

/* The backing disc is opaque and painted after the highway, preventing a road
   stroke from showing through a city or the Farmington Trading Post. */
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.start-city.city > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market > .tbird-market-core{
  position:absolute!important;left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;isolation:isolate!important;
  opacity:1!important;background-color:#07100e!important;
}
.artwork-master-renderer .lr-map-zoom-stage > .lr-map-art-crop{z-index:0!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-route-network{z-index:20!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-border-overlay{z-index:30!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay{z-index:100!important}
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay > .lr-visible-board-nodes{z-index:900!important}
.artwork-master-renderer .lr-crossover-gate-layer{z-index:960!important}
.artwork-master-renderer .lr-crossover-city-layer{z-index:980!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:1100!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1200!important}

/* Achievement celebrations are the final UI plane, including over menus and
   character cinematics, and always wait for explicit acknowledgement. */
.unlock-celebration,
body.landscape-reference-live .unlock-celebration,
body.portrait-reference-live .unlock-celebration{z-index:2147483600!important;pointer-events:auto!important}
.unlock-celebration-card{z-index:2147483601!important}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city > .lr-master-city-core::before,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.start-city.city > .lr-master-city-core::before,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market > .tbird-market-core::before{
  content:""!important;position:absolute!important;inset:-3px!important;border-radius:999px!important;
  background:#07100e!important;opacity:1!important;z-index:-1!important;pointer-events:none!important;
}
.artwork-master-renderer .lr-crossover-city-layer{z-index:980!important}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:1100!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1200!important}

.dominity-dues-status{display:grid;gap:5px;margin:10px 0;padding:12px 13px;border:1px solid rgba(229,188,78,.48);border-left:5px solid #d9aa3c;border-radius:12px;background:linear-gradient(145deg,rgba(43,29,8,.95),rgba(8,15,13,.98));box-shadow:inset 0 0 22px rgba(229,188,78,.06)}
.dominity-dues-status span{color:#e9bd58;font:950 9px/1 Arial,sans-serif;letter-spacing:.15em}.dominity-dues-status strong{color:#fff0bd;font:950 17px/1.15 Georgia,serif}.dominity-dues-status small{color:#d9ddd4;font:750 10px/1.45 Arial,sans-serif}

/* ============================================================
   BORDER RUN v4.2.10bf — MAINLINE FARMINGTON SCALE
   Farmington uses the same generous hit shell as other destinations, but its
   painted Trading Post face is compact and sits directly on the Central road.
   ============================================================ */
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market > .tbird-market-core{
  width:12px!important;height:12px!important;
  background:radial-gradient(circle at 38% 30%,#ead185,#8a6331 44%,#203c35 70%,#07100e)!important;
  outline-width:1.5px!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market > .tbird-market-core>b{
  inset:2px 0 auto!important;font-size:5px!important;line-height:1!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market > .tbird-market-core>small{
  top:14px!important;font-size:5px!important;white-space:nowrap!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market > .tbird-market-core::before{
  inset:-2px!important;
}


/* ============================================================
   BORDER RUN v4.2.10bj — CROSSOVER CITY LAYER REPAIR
   Premium crossover cities must read as destinations, not marks buried in the
   east/west pavement. Preserve the compact node face and large tap target, but
   add an opaque atlas-colored isolation halo above every crossover highway.
   Final order remains: atlas < highway < nodes/crossover cities < pieces < FX.
   ============================================================ */
.artwork-master-renderer .lr-map-zoom-stage > .lr-route-network{
  z-index:20!important;pointer-events:none!important
}
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay{
  z-index:100!important;isolation:isolate!important;overflow:visible!important
}
.artwork-master-renderer .lr-crossover-city-layer{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  z-index:980!important;isolation:isolate!important;overflow:visible!important;pointer-events:none!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city{
  position:absolute!important;z-index:990!important;isolation:isolate!important;
  pointer-events:auto!important;overflow:visible!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  z-index:5!important;opacity:1!important;background-color:#07100e!important;
  outline:3.2px solid #07100e!important;outline-offset:0!important;
  box-shadow:0 0 0 1px rgba(239,198,104,.96),0 0 7px rgba(231,187,83,.42),0 3px 6px rgba(0,0,0,.82)!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core::before{
  content:""!important;position:absolute!important;inset:-3.2px!important;border-radius:999px!important;
  background:#07100e!important;opacity:1!important;z-index:-1!important;pointer-events:none!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core b,
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core i{
  position:relative!important;z-index:8!important
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city>small{
  z-index:12!important;background:rgba(5,10,10,.94)!important;
  border:1px solid rgba(234,198,105,.38)!important;box-shadow:0 1px 3px rgba(0,0,0,.7)!important
}
.artwork-master-renderer .lr-master-dynamic-layer.remote-layer{z-index:1100!important}
.artwork-master-renderer .lr-master-dynamic-layer.player-layer{z-index:1200!important}

/* ============================================================
   BORDER RUN v4.2.10bl — SUCCESSFUL RE-UP / DROP-OFF CINEMATICS
   Short muted MP4s play above the board after the transaction is committed.
   The overlay blocks accidental taps, works in iOS playsinline, and auto-clears.
   ============================================================ */
body.transaction-cinematic-open{overflow:hidden!important;touch-action:none!important}
.transaction-cinematic{position:fixed;inset:0;z-index:2147483644;background:#020504;opacity:0;transform:scale(1.012);transition:opacity .18s ease,transform .32s ease;pointer-events:auto;overflow:hidden;isolation:isolate}
.transaction-cinematic.active{opacity:1;transform:scale(1)}
.transaction-cinematic.leaving{opacity:0;transform:scale(1.01)}
.transaction-cinematic-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#050807;filter:saturate(.94) contrast(1.04);transform:scale(1.015)}
.transaction-cinematic-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.44) 0%,rgba(0,0,0,.08) 36%,rgba(0,0,0,.22) 62%,rgba(0,0,0,.82) 100%),linear-gradient(90deg,rgba(0,0,0,.44),transparent 48%,rgba(0,0,0,.18));pointer-events:none}
.transaction-cinematic-copy{position:absolute;left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));bottom:max(28px,calc(env(safe-area-inset-bottom) + 20px));display:grid;gap:5px;text-shadow:0 2px 12px #000,0 1px 2px #000;pointer-events:none}
.transaction-cinematic-copy span{font:950 11px/1 Arial,sans-serif;letter-spacing:.22em;color:#efbd43}
.transaction-cinematic-dropoff .transaction-cinematic-copy span{color:#9ee986}
.transaction-cinematic-copy strong{font:950 clamp(28px,6.2vw,58px)/.95 Georgia,serif;letter-spacing:.015em;color:#fff0c6;max-width:82%}
.transaction-cinematic-copy small{font:800 clamp(11px,2.2vw,16px)/1.25 Arial,sans-serif;color:#f0eee5;letter-spacing:.025em}
.transaction-cinematic-copy b{width:max-content;margin-top:5px;padding:7px 11px;border-radius:9px;background:rgba(4,13,10,.84);border:1px solid rgba(232,193,90,.62);font:950 clamp(16px,3vw,25px)/1 Arial,sans-serif;color:#f4d276;box-shadow:0 4px 16px rgba(0,0,0,.45)}
.transaction-cinematic-dropoff .transaction-cinematic-copy b{color:#a8f18c;border-color:rgba(126,224,116,.58)}
.transaction-cinematic-skip{position:absolute;top:max(16px,calc(env(safe-area-inset-top) + 10px));right:max(16px,calc(env(safe-area-inset-right) + 10px));z-index:4;padding:9px 12px;border-radius:999px;border:1px solid rgba(247,226,172,.6);background:rgba(4,8,8,.72);color:#f8ecc9;font:900 10px/1 Arial,sans-serif;letter-spacing:.13em;box-shadow:0 4px 18px rgba(0,0,0,.35);touch-action:manipulation}
@media (orientation:landscape) and (max-height:650px){.transaction-cinematic-copy{bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));gap:3px}.transaction-cinematic-copy strong{font-size:clamp(24px,5.3vw,46px)}.transaction-cinematic-copy b{padding:6px 10px}}
@media (prefers-reduced-motion:reduce){.transaction-cinematic,.transaction-cinematic.active,.transaction-cinematic.leaving{transition:none!important;transform:none!important}.transaction-cinematic-video{transform:none!important}}
.lr-crossover-action-space.kind-neutral circle{stroke:#d3cfb2;fill:#151a17}.lr-crossover-action-space.kind-neutral text{fill:#e7e1c5}



/* v4.2.10bo — cinematic playback repair: poster fallback is always visible. */
.transaction-cinematic{background-color:#020504!important}
.transaction-cinematic-video{z-index:1}
.transaction-cinematic::before{content:"";position:absolute;inset:0;z-index:0;background:var(--transaction-poster,none) center/cover no-repeat #050807;filter:saturate(.92) contrast(1.04)}
.transaction-cinematic-shade{z-index:2}
.transaction-cinematic-copy{z-index:3}
.transaction-cinematic-skip{z-index:4}

/* ============================================================
   BORDER RUN v4.2.10bn — CARD CONTRAST + FRONT-LAYER AWARD CASCADE
   Screenshot-driven repair: printed copy must remain readable on both
   positive and negative road cards, and award particles fall in front
   of the celebration card without blocking its controls.
   ============================================================ */
.event-card-front h2{
  color:#101713!important;
  text-shadow:0 1px 0 rgba(255,255,255,.34)!important;
}
.reveal-negative .event-card-front h2{
  color:#2a0c08!important;
  text-shadow:0 1px 0 rgba(255,244,226,.26)!important;
}
.event-card-polarity{color:#07554d!important;text-shadow:0 1px 0 rgba(255,255,255,.24)!important}
.reveal-negative .event-card-polarity{color:#55140e!important}
.event-card-front p,
.event-card-effect{
  background:rgba(255,251,239,.96)!important;
  border-color:rgba(32,42,34,.34)!important;
  color:#111713!important;
  text-shadow:none!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.52),0 2px 8px rgba(0,0,0,.08)!important;
}
.reveal-negative .event-card-front p,
.reveal-negative .event-card-effect{
  background:rgba(255,242,226,.97)!important;
  border-color:rgba(88,29,21,.42)!important;
  color:#1d0906!important;
}
.event-card-effect{font-weight:950!important}
.event-card-photo-caption{
  background:rgba(2,7,7,.90)!important;
  color:#fff1c7!important;
  border-color:rgba(255,230,164,.48)!important;
  text-shadow:0 2px 4px #000!important;
}
/* Keep small action/hustle print from fading into dark trays. */
.travel-trigger-card small,
.hustle-contract-card>small,
.hustle-result-card>small,
.city-inline-hustle>small,
.lr-city-hustle-inline>small{
  color:#f0ead8!important;
}

/* Award rain belongs in the foreground. The card remains the visual anchor,
   but cash/dice/tokins/leaves visibly pass over its face. */
.unlock-celebration{isolation:isolate!important}
.unlock-celebration-card{z-index:6!important}
.unlock-money-confetti{
  z-index:12!important;
  pointer-events:none!important;
}
.unlock-celebration-sky,.unlock-burst{z-index:2!important;pointer-events:none!important}
.unlock-acknowledge{position:relative!important;z-index:20!important}

/* ============================================================
   BORDER RUN v4.2.10bs — DON REP ±100 + FIRST RUN TRAINING GUIDE
   ============================================================ */
.dominity-rep-bar.dynamic{
  position:relative;display:block;height:14px;overflow:visible;margin:10px 0 3px;
  border:1px solid rgba(239,217,159,.24);background:linear-gradient(90deg,rgba(150,34,42,.28) 0 49.5%,rgba(22,28,25,.96) 49.5% 50.5%,rgba(37,142,116,.24) 50.5% 100%);
}
.dominity-rep-bar.dynamic>b{position:absolute;top:2px;bottom:2px;width:49.5%;opacity:.36;pointer-events:none}
.dominity-rep-bar.dynamic>b.neg{left:0;background:linear-gradient(90deg,rgba(172,37,50,.82),rgba(172,37,50,.12))}
.dominity-rep-bar.dynamic>b.pos{right:0;background:linear-gradient(90deg,rgba(29,151,123,.12),rgba(226,182,82,.78))}
.dominity-rep-bar.dynamic .zero{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;transform:translateX(-1px);background:#e8e0c8;box-shadow:0 0 8px rgba(232,224,200,.36)}
.dominity-rep-bar.dynamic .marker{position:absolute;top:50%;width:14px;height:20px;transform:translate(-50%,-50%);border:2px solid #f5e4aa;border-radius:5px;background:#111816;box-shadow:0 0 0 2px rgba(0,0,0,.5),0 0 12px rgba(245,228,170,.32);transition:left .35s ease}
.dominity-rep-card.negative .dominity-rep-bar.dynamic .marker{border-color:#ff7c76;box-shadow:0 0 0 2px rgba(0,0,0,.5),0 0 12px rgba(255,82,76,.42)}
.dominity-rep-scale{display:grid;grid-template-columns:1fr 1fr 1fr;font:800 8px/1 Arial,sans-serif;color:#85918e;letter-spacing:.08em}
.dominity-rep-scale span:nth-child(2){text-align:center}.dominity-rep-scale span:last-child{text-align:right}

.first-run-guide{
  position:fixed;z-index:2147483000;left:50%;top:max(68px,env(safe-area-inset-top));transform:translateX(-50%);
  width:min(760px,calc(100vw - 24px));padding:10px 12px 11px;border-radius:14px;
  border:1px solid rgba(226,182,82,.62);background:linear-gradient(180deg,rgba(16,20,19,.97),rgba(7,11,11,.96));
  box-shadow:0 14px 42px rgba(0,0,0,.52),inset 0 1px rgba(255,235,173,.06);color:#f1e7c7;pointer-events:none;
}
.first-run-guide header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px;border-bottom:1px solid rgba(226,182,82,.18);padding-bottom:7px}
.first-run-guide header span{font:950 11px/1 Arial,sans-serif;letter-spacing:.16em;color:#e2b652}
.first-run-guide header strong{font:850 10px/1 Arial,sans-serif;letter-spacing:.1em;color:#7ae9d8}
.first-run-guide-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.first-run-guide-steps b{display:flex;align-items:center;justify-content:center;gap:5px;min-height:29px;padding:4px 5px;border-radius:8px;border:1px solid rgba(255,255,255,.07);background:#111817;color:#71817c;font:900 8px/1.05 Arial,sans-serif;letter-spacing:.04em;text-align:center}
.first-run-guide-steps b i{display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border-radius:50%;font-style:normal;background:#202927;color:#889590}
.first-run-guide-steps b.done{color:#9bd6c6;border-color:rgba(84,208,170,.2);background:rgba(28,92,74,.2)}
.first-run-guide-steps b.done i{background:#237a62;color:white}
.first-run-guide-steps b.current{color:#f4dfa2;border-color:rgba(226,182,82,.5);background:rgba(122,91,24,.25);box-shadow:inset 0 0 18px rgba(226,182,82,.05)}
.first-run-guide-steps b.current i{background:#e2b652;color:#15110a}
.first-run-guide-next{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center;margin-top:8px}
.first-run-guide-next span{grid-row:1/3;color:#7ae9d8;font:950 8px/1 Arial,sans-serif;letter-spacing:.13em}
.first-run-guide-next strong{font:800 11px/1.2 Arial,sans-serif;color:#f4edd6}
.first-run-guide-next small{font:700 8px/1.25 Arial,sans-serif;color:#7e8c88}
body.first-run-training-active #turnFlowHud{top:175px!important}
@media(max-width:760px){
  .first-run-guide{top:max(54px,env(safe-area-inset-top));padding:8px 9px;width:calc(100vw - 12px)}
  .first-run-guide header{margin-bottom:6px}.first-run-guide header span{font-size:9px}.first-run-guide header strong{font-size:8px}
  .first-run-guide-steps{gap:3px}.first-run-guide-steps b{min-height:25px;padding:3px 2px;font-size:6.5px;gap:2px}.first-run-guide-steps b i{width:14px;height:14px;flex-basis:14px;font-size:7px}
  .first-run-guide-next{margin-top:6px}.first-run-guide-next strong{font-size:9px}.first-run-guide-next small{font-size:7px}
  body.first-run-training-active #turnFlowHud{top:150px!important}
}
@media(max-height:520px) and (orientation:landscape){
  .first-run-guide{left:10px;top:52px;transform:none;width:min(440px,48vw);padding:7px 8px}
  .first-run-guide header{margin-bottom:5px;padding-bottom:5px}.first-run-guide-steps{gap:2px}.first-run-guide-steps b{font-size:6px;min-height:22px;padding:2px}.first-run-guide-next{margin-top:5px}
  body.first-run-training-active #turnFlowHud{top:56px!important}
}




/* ============================================================
   BORDER RUN v4.2.10bs — FIRST RUN + PERMANENT DICE HOTFIX
   ============================================================ */
/* The permanent bottom/right Roll control uses a self-contained 3x3 pip grid.
   This overrides older photo-die offsets that could push pips to the right. */
#lrPrimaryRoll .roll-die.photoreal-roll-button-die.equipped-mini-die,
#sideRollBtn .roll-die.photoreal-roll-button-die.equipped-mini-die{
  position:relative!important;display:block!important;flex:0 0 auto!important;
  overflow:hidden!important;transform:none!important;perspective:none!important;
}
body.landscape-reference-live #lrPrimaryRoll .roll-die.equipped-mini-die{width:19px!important;height:19px!important;border-radius:5px!important}
body.portrait-reference-live #lrPrimaryRoll .roll-die.equipped-mini-die{width:19px!important;height:19px!important;border-radius:5px!important}
#sideRollBtn .roll-die.equipped-mini-die{width:15px!important;height:15px!important;border-radius:4px!important}
#lrPrimaryRoll .roll-die.equipped-mini-die .photo-die-pips.button-pips,
#sideRollBtn .roll-die.equipped-mini-die .photo-die-pips.button-pips{
  position:absolute!important;left:10%!important;right:auto!important;top:10%!important;bottom:auto!important;
  width:80%!important;height:80%!important;margin:0!important;padding:0!important;
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important;
  align-items:center!important;justify-items:center!important;transform:none!important;translate:none!important;
}
#lrPrimaryRoll .roll-die.equipped-mini-die .button-pips i,
#sideRollBtn .roll-die.equipped-mini-die .button-pips i{
  position:relative!important;inset:auto!important;margin:0!important;padding:0!important;place-self:center!important;
  width:3.2px!important;min-width:3.2px!important;height:3.2px!important;min-height:3.2px!important;
  max-width:3.2px!important;max-height:3.2px!important;aspect-ratio:1!important;transform:none!important;
}
#sideRollBtn .roll-die.equipped-mini-die .button-pips i{width:2.6px!important;min-width:2.6px!important;height:2.6px!important;min-height:2.6px!important;max-width:2.6px!important;max-height:2.6px!important}
#lrPrimaryRoll .button-pips i.p1,#sideRollBtn .button-pips i.p1{grid-area:1/1!important}
#lrPrimaryRoll .button-pips i.p3,#sideRollBtn .button-pips i.p3{grid-area:1/3!important}
#lrPrimaryRoll .button-pips i.p4,#sideRollBtn .button-pips i.p4{grid-area:2/1!important}
#lrPrimaryRoll .button-pips i.p5,#sideRollBtn .button-pips i.p5{grid-area:2/2!important}
#lrPrimaryRoll .button-pips i.p6,#sideRollBtn .button-pips i.p6{grid-area:2/3!important}
#lrPrimaryRoll .button-pips i.p7,#sideRollBtn .button-pips i.p7{grid-area:3/1!important}
#lrPrimaryRoll .button-pips i.p9,#sideRollBtn .button-pips i.p9{grid-area:3/3!important}

/* Dice cinematics are never allowed to remain painted over the board after the
   roll completes. JS also applies the hidden attribute + important inline state. */
#boardDiceOverlay.hidden,#boardDiceOverlay[hidden],
#cityD6Overlay.hidden,#cityD6Overlay[hidden]{
  display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
.city-buyer-strip.training-locked{border-color:#d6ab4d!important;background:linear-gradient(180deg,rgba(74,51,17,.92),rgba(31,25,14,.96))!important}
body.first-run-training-active #cash{color:#f6d26d!important}


/* ============================================================
   BORDER RUN v4.2.10bu — UI / DICE / MOVEMENT CONTRACT
   ============================================================ */
/* Bottom-left/current-city hero: the image fills the complete intended photo
   region in both compact and expanded cards. Controls reserve their own lane;
   the photo itself is never reduced to a 70px sliver. */
.lr-context-city-photo{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#091411!important;
}
.lr-context-city-photo>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  display:block!important;
}
.lr-context-city-photo:after{z-index:1!important}
.lr-context-city-photo>b,.lr-context-city-photo>small{z-index:2!important;max-width:calc(100% - 16px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.lr-context-panel.context-collapsed .lr-context-city-photo{
  height:58px!important;
  min-height:58px!important;
  margin:0 76px 5px 0!important;
  aspect-ratio:16/5!important;
}
.lr-context-panel.context-collapsed .lr-context-city-photo>img{
  width:100%!important;
  min-width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
.lr-context-panel.context-collapsed .lr-context-city-photo>b{bottom:21px!important;font-size:15px!important;text-shadow:0 2px 4px #000!important}
.lr-context-panel.context-collapsed .lr-context-city-photo>small{bottom:8px!important;font-size:7px!important;text-shadow:0 1px 3px #000!important}

/* Permanent Roll dice: exact equipped skin/variant plus saved local last faces.
   Before the first local roll, a deliberate dash indicates neutral history. */
.roll-dice-icon .equipped-mini-die.neutral-roll-preview .button-pips:after{
  content:"–";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--br-pip-color,#17130e);
  font:950 11px/1 Arial,sans-serif;
  opacity:.68;
}
#lrPrimaryRoll .roll-dice-icon{gap:4px!important}
#lrPrimaryRoll .equipped-mini-die{width:20px!important;height:20px!important;min-width:20px!important}
#sideRollBtn .roll-dice-icon{gap:3px!important}
#sideRollBtn .equipped-mini-die{width:18px!important;height:18px!important;min-width:18px!important}

/* Brand containment is achieved by responsive typography/geometry, not by
   clipping the lettering. */
.pr-brand{box-sizing:border-box!important;min-width:0!important;overflow:visible!important}
.pr-brand strong,.pr-brand span{display:block!important;box-sizing:border-box!important;max-width:100%!important;text-align:center!important;white-space:nowrap!important}
@media (orientation:portrait){
  body.portrait-reference-live .pr-brand{
    left:max(8px,env(safe-area-inset-left,0px))!important;
    width:min(39vw,176px)!important;
    min-width:118px!important;
    height:48px!important;
    padding:0 7px!important;
  }
  body.portrait-reference-live .pr-brand strong{font-size:clamp(17px,5.25vw,22px)!important;line-height:.92!important;letter-spacing:-.02em!important}
  body.portrait-reference-live .pr-brand span{font-size:clamp(6px,1.65vw,7.5px)!important;line-height:1!important;letter-spacing:clamp(.10em,.42vw,.18em)!important;margin-top:4px!important}
  body.portrait-reference-live .pr-top-actions{
    right:calc(max(8px,env(safe-area-inset-right,0px)) + 50px)!important;
    grid-template-columns:32px 32px 48px!important;
    gap:5px!important;
    align-items:start!important;
  }
  body.portrait-reference-live .pr-top-actions button:not(.top-don){width:32px!important;min-width:32px!important;height:40px!important;min-height:40px!important}
  body.portrait-reference-live .pr-top-actions .top-don{
    width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;
    margin-top:-3px!important;border-radius:11px!important;
  }
  body.portrait-reference-live .pr-top-actions .top-don b{font-size:17px!important}
  body.portrait-reference-live .pr-top-actions .top-don small{font-size:7px!important;letter-spacing:.11em!important}
}
@media (orientation:portrait) and (max-width:365px){
  body.portrait-reference-live .pr-brand{width:min(37vw,135px)!important;min-width:108px!important;padding-inline:5px!important}
  body.portrait-reference-live .pr-brand strong{font-size:clamp(16px,5.1vw,19px)!important}
  body.portrait-reference-live .pr-brand span{font-size:6px!important;letter-spacing:.08em!important}
  body.portrait-reference-live .pr-top-actions{grid-template-columns:30px 30px 46px!important;gap:4px!important}
  body.portrait-reference-live .pr-top-actions button:not(.top-don){width:30px!important;min-width:30px!important}
  body.portrait-reference-live .pr-top-actions .top-don{width:46px!important;min-width:46px!important;height:48px!important;min-height:48px!important}
}
@media (orientation:landscape){
  body.landscape-reference-live .pr-brand{
    width:min(22vw,205px)!important;
    min-width:160px!important;
    padding-inline:8px!important;
  }
  body.landscape-reference-live .pr-brand strong{font-size:clamp(20px,2.55vw,25px)!important;line-height:.92!important;letter-spacing:-.01em!important}
  body.landscape-reference-live .pr-brand span{font-size:clamp(6.5px,.85vw,8px)!important;letter-spacing:.16em!important;margin-top:4px!important}
  body.landscape-reference-live .pr-top-actions{
    grid-template-columns:36px 36px 52px!important;
    align-items:start!important;
  }
  body.landscape-reference-live .pr-top-actions button:not(.top-don){width:36px!important;min-width:36px!important;height:42px!important;min-height:42px!important}
  body.landscape-reference-live .pr-top-actions .top-don{width:52px!important;min-width:52px!important;height:50px!important;min-height:50px!important;margin-top:-2px!important}
  body.landscape-reference-live .pr-top-actions .top-don b{font-size:18px!important}
  body.landscape-reference-live .pr-top-actions .top-don small{font-size:7px!important}
}

/* A board-space hop owns the movement beat. Infinite suspension/token loops on
   the moving wrapper previously made one logical space look like several
   bounces. Keep those decorative layers stable while the position hop runs. */
.lr-master-player-piece.master-moving .piece-3d-motion,
.lr-master-player-piece.master-moving .piece-chassis,
.lr-master-player-piece.master-moving .piece-shadow,
.lr-master-player-piece.master-moving .tokin-3d-rig,
.lr-master-player-piece.master-moving .token-3d,
.board-moving-piece.driving .piece-3d-motion,
.board-moving-piece.driving .piece-chassis,
.board-moving-piece.driving .piece-shadow,
.board-moving-piece.driving .tokin-3d-rig,
.board-moving-piece.driving .token-3d{
  animation:none!important;
}

/* ============================================================
   BORDER RUN v4.2.10bx — VEHICLE-MATCHED RIMS + BODY KITS
   The photoreal pawn assets do not share one wheelbase or roofline. Mod layers
   now consume per-vehicle geometry emitted by vehicleRenderHtml so installed
   parts sit on the actual wheels/body instead of floating at generic points.
   ============================================================ */
.ride-render.photoreal-piece-v4 .render-rim-accent,
.ride-render.photoreal-piece-v4:after{
  display:none!important;
  content:none!important;
}
.ride-render.photoreal-piece-v4 .piece-rim-mod-layer,
.ride-render.photoreal-piece-v4 .piece-body-mod-layer{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  z-index:31!important;
  pointer-events:none!important;
  overflow:visible!important;
  transform:translateZ(23px) scaleX(var(--piece-facing,1)) scale(.98)!important;
  transform-origin:50% 50%!important;
  font-style:normal!important;
}
.ride-render.photoreal-piece-v4 .piece-body-mod-layer{z-index:32!important;transform:translateZ(24px) scaleX(var(--piece-facing,1)) scale(.98)!important}

/* A/B/C/D are the visible wheels in the source photograph. Some trucks and
   off-road pieces expose a third/fourth wheel; unused geometry is zero-sized. */
.ride-render.photoreal-piece-v4 .piece-rim-custom{
  position:absolute!important;
  display:block!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  opacity:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 50%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:#151817!important;
  border:1px solid rgba(3,5,5,.82)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.58)!important;
}
.ride-render.photoreal-piece-v4 .piece-rim-a{left:var(--mod-rim-a-x)!important;top:var(--mod-rim-a-y)!important;width:var(--mod-rim-a-d)!important;opacity:var(--mod-rim-a-show)!important}
.ride-render.photoreal-piece-v4 .piece-rim-b{left:var(--mod-rim-b-x)!important;top:var(--mod-rim-b-y)!important;width:var(--mod-rim-b-d)!important;opacity:var(--mod-rim-b-show)!important}
.ride-render.photoreal-piece-v4 .piece-rim-c{left:var(--mod-rim-c-x)!important;top:var(--mod-rim-c-y)!important;width:var(--mod-rim-c-d)!important;opacity:var(--mod-rim-c-show)!important}
.ride-render.photoreal-piece-v4 .piece-rim-d{left:var(--mod-rim-d-x)!important;top:var(--mod-rim-d-y)!important;width:var(--mod-rim-d-d)!important;opacity:var(--mod-rim-d-show)!important}
.ride-render.photoreal-piece-v4.mod-rims-steelies .piece-rim-custom{opacity:0!important}
.ride-render.photoreal-piece-v4.mod-rims-chrome .piece-rim-custom{
  background:
    radial-gradient(circle at 50% 50%,#161a1c 0 13%,#edf8ff 14% 22%,transparent 23%),
    repeating-conic-gradient(from 4deg,#f8fdff 0 7deg,#788996 7deg 12deg,#263138 12deg 18deg),
    radial-gradient(circle,#f8fbff 0 54%,#8999a4 55% 67%,#15191b 68% 100%)!important;
  border-color:#dceaf2!important;
  box-shadow:0 0 3px rgba(190,236,255,.72),0 1px 2px rgba(0,0,0,.62)!important;
}
.ride-render.photoreal-piece-v4.mod-rims-gold .piece-rim-custom{
  background:
    radial-gradient(circle at 50% 50%,#6b4912 0 12%,#ffe7a0 13% 19%,transparent 20%),
    repeating-conic-gradient(from 2deg,#ffe59a 0 4deg,#b77919 4deg 7deg,transparent 7deg 10deg),
    radial-gradient(circle,#f6d16c 0 55%,#8c5d18 56% 69%,#18130b 70% 100%)!important;
  border-color:#f4ce69!important;
  box-shadow:0 0 3px rgba(255,211,91,.62),0 1px 2px rgba(0,0,0,.62)!important;
}
.ride-render.photoreal-piece-v4.mod-rims-nightwatch .piece-rim-custom{
  background:
    radial-gradient(circle at 50% 50%,#0b1111 0 22%,#63e9dd 23% 30%,#132525 31% 48%,#050707 49% 62%,#49cfc3 63% 72%,#090d0d 73% 100%)!important;
  border-color:#68e3d8!important;
  box-shadow:0 0 4px rgba(74,225,213,.72),0 1px 2px rgba(0,0,0,.68)!important;
}

/* Body layer uses the same per-vehicle wheel landmarks. Fender flares follow
   each real wheel arch instead of drawing one generic bar under the vehicle. */
.ride-render.photoreal-piece-v4 .piece-body-kit{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  opacity:1!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  filter:none!important;
  font-style:normal!important;
}
.ride-render.photoreal-piece-v4 .piece-flare{
  position:absolute!important;
  display:none!important;
  aspect-ratio:1/1!important;
  border:2px solid rgba(238,207,146,.92)!important;
  border-bottom-color:transparent!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  transform:translate(-50%,-50%) scale(1.36)!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.72))!important;
}
.ride-render.photoreal-piece-v4 .piece-flare-a{left:var(--mod-rim-a-x)!important;top:var(--mod-rim-a-y)!important;width:var(--mod-rim-a-d)!important}
.ride-render.photoreal-piece-v4 .piece-flare-b{left:var(--mod-rim-b-x)!important;top:var(--mod-rim-b-y)!important;width:var(--mod-rim-b-d)!important}
.ride-render.photoreal-piece-v4 .piece-flare-c{left:var(--mod-rim-c-x)!important;top:var(--mod-rim-c-y)!important;width:var(--mod-rim-c-d)!important}
.ride-render.photoreal-piece-v4 .piece-flare-d{left:var(--mod-rim-d-x)!important;top:var(--mod-rim-d-y)!important;width:var(--mod-rim-d-d)!important}
.ride-render.photoreal-piece-v4.mod-body-flare .piece-flare-a{display:block!important;opacity:var(--mod-rim-a-show)!important}
.ride-render.photoreal-piece-v4.mod-body-flare .piece-flare-b{display:block!important;opacity:var(--mod-rim-b-show)!important}
.ride-render.photoreal-piece-v4.mod-body-flare .piece-flare-c{display:block!important;opacity:var(--mod-rim-c-show)!important}
.ride-render.photoreal-piece-v4.mod-body-flare .piece-flare-d{display:block!important;opacity:var(--mod-rim-d-show)!important}
.ride-render.photoreal-piece-v4 .piece-lower-cladding{
  position:absolute!important;
  left:var(--mod-body-left)!important;
  right:var(--mod-body-right)!important;
  top:var(--mod-body-y)!important;
  height:4.4%!important;
  display:none!important;
  border-radius:999px!important;
  box-sizing:border-box!important;
}
.ride-render.photoreal-piece-v4.mod-body-flare .piece-lower-cladding{
  display:block!important;
  height:2.5%!important;
  background:linear-gradient(90deg,transparent 0 3%,rgba(242,208,143,.78) 12% 88%,transparent 97%)!important;
  box-shadow:0 1px 0 rgba(50,33,18,.8)!important;
}

/* Border Runner Kit = roof rack + light bar + side pipes, matching the actual
   part description rather than the old generic spoiler glow. */
.ride-render.photoreal-piece-v4 .piece-roof-rack{
  position:absolute!important;
  left:var(--mod-roof-left)!important;
  top:var(--mod-roof-top)!important;
  width:var(--mod-roof-width)!important;
  height:7%!important;
  right:auto!important;
  bottom:auto!important;
  display:none!important;
  opacity:0!important;
  border:1px solid rgba(41,31,20,.95)!important;
  border-radius:7px 7px 3px 3px!important;
  background:repeating-linear-gradient(90deg,rgba(33,28,23,.98) 0 2px,rgba(209,167,88,.62) 2px 4px,rgba(33,28,23,.98) 4px 8px)!important;
  box-shadow:inset 0 0 0 1px rgba(255,235,188,.26),0 1px 2px rgba(0,0,0,.58)!important;
  box-sizing:border-box!important;
}
.ride-render.photoreal-piece-v4.mod-body-runner .piece-roof-rack{display:block!important;opacity:1!important}
.ride-render.photoreal-piece-v4.mod-body-runner .piece-roof-rack:before{
  content:""!important;
  position:absolute!important;
  left:8%!important;right:8%!important;top:-4px!important;height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#3ad8cf 0 24%,#f2c55f 25% 48%,#f06e55 49% 72%,#3ad8cf 73% 100%)!important;
  box-shadow:0 0 4px rgba(71,220,210,.46)!important;
}
.ride-render.photoreal-piece-v4.mod-body-runner .piece-roof-rack:after{
  content:""!important;
  position:absolute!important;
  left:14%!important;right:14%!important;top:100%!important;height:5px!important;
  border-left:1px solid rgba(39,31,22,.95)!important;
  border-right:1px solid rgba(39,31,22,.95)!important;
}
.ride-render.photoreal-piece-v4 .piece-side-pipes{
  position:absolute!important;
  left:var(--mod-body-left)!important;
  right:var(--mod-body-right)!important;
  top:calc(var(--mod-body-y) + 2.4%)!important;
  height:4%!important;
  display:none!important;
  opacity:0!important;
  border-bottom:2px solid rgba(221,225,219,.92)!important;
  box-shadow:0 2px 0 rgba(75,80,76,.88),0 3px 2px rgba(0,0,0,.5)!important;
}
.ride-render.photoreal-piece-v4 .piece-side-pipes:after{
  content:""!important;position:absolute!important;left:8%!important;right:8%!important;top:1px!important;
  border-bottom:1px solid rgba(244,220,157,.76)!important;
}
.ride-render.photoreal-piece-v4.mod-body-runner .piece-side-pipes{display:block!important;opacity:1!important}
.ride-render.photoreal-piece-v4 .piece-spoiler{display:none!important;opacity:0!important}

/* Coyote kit = lower desert cladding plus actual marker lamps tied to the
   vehicle body span. The lights no longer float at universal screen points. */
.ride-render.photoreal-piece-v4.mod-body-coyote .piece-lower-cladding{
  display:block!important;
  height:4.8%!important;
  background:linear-gradient(90deg,transparent 0 2%,rgba(216,137,62,.92) 8% 47%,rgba(68,218,207,.92) 48% 57%,rgba(216,137,62,.92) 58% 92%,transparent 98%)!important;
  border-top:1px solid rgba(255,213,141,.55)!important;
  box-shadow:0 1px 1px rgba(0,0,0,.6),0 0 3px rgba(65,218,206,.28)!important;
}
.ride-render.photoreal-piece-v4 .piece-marker-lights{
  position:absolute!important;
  left:var(--mod-body-left)!important;
  right:var(--mod-body-right)!important;
  top:calc(var(--mod-body-y) - 4%)!important;
  height:4%!important;
  display:none!important;
  opacity:0!important;
  background:
    radial-gradient(circle at 4% 50%,#ffd17d 0 8%,rgba(255,174,63,.38) 9% 18%,transparent 20%),
    radial-gradient(circle at 35% 50%,#ffd17d 0 6%,rgba(255,174,63,.30) 7% 15%,transparent 17%),
    radial-gradient(circle at 65% 50%,#ffd17d 0 6%,rgba(255,174,63,.30) 7% 15%,transparent 17%),
    radial-gradient(circle at 96% 50%,#ffd17d 0 8%,rgba(255,174,63,.38) 9% 18%,transparent 20%)!important;
  filter:drop-shadow(0 0 2px rgba(255,181,65,.72))!important;
}
.ride-render.photoreal-piece-v4.mod-body-coyote .piece-marker-lights{display:block!important;opacity:1!important}
body.portrait-reference-live .lr-master-player-piece.lr-art-player .ride-render.photoreal-piece-v4.mod-body-coyote .piece-marker-lights,
body.landscape-reference-live .lr-master-player-piece.lr-art-player .ride-render.photoreal-piece-v4.mod-body-coyote .piece-marker-lights{display:block!important;opacity:1!important}

/* Engine cosmetics still use the existing glow; keep it above the photo but
   below physical rim/body hardware. */
.ride-render.photoreal-piece-v4 .piece-engine-glow{z-index:29!important}

/* ============================================================
   BORDER RUN v4.2.10bx — DRIVE-TOKEN OVERHAUL + ENFORCEMENT CINEMATICS
   - Vehicle pawns read more like small cars driving on the board than flat photos.
   - Search / payoff / arrest now have dedicated full-screen cinematic beats.
   ============================================================ */
.animated-drive-token{position:relative;transform-style:preserve-3d;filter:drop-shadow(0 10px 10px rgba(0,0,0,.36))}
.animated-drive-token .piece-road-lane{position:absolute;left:10%;right:8%;bottom:6px;height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(247,220,125,.02),rgba(247,220,125,.22) 30%,rgba(255,255,255,.08) 52%,rgba(247,220,125,.22) 74%,rgba(247,220,125,.02));filter:blur(2px);opacity:.64;transform:translateZ(-1px)}
.animated-drive-token .piece-3d-motion.drive-illusion-shell{transform-style:preserve-3d;transform:translateY(-1px) perspective(250px) rotateX(12deg) rotateY(-7deg) rotateZ(-3deg);animation:brDriveIdleCruise 2.8s ease-in-out infinite}
.animated-drive-token .piece-motion-rush{position:absolute;left:6%;right:10%;bottom:21%;height:18%;border-radius:999px;background:linear-gradient(90deg,rgba(100,225,214,0),rgba(100,225,214,.22) 18%,rgba(255,255,255,.34) 50%,rgba(100,225,214,.18) 82%,rgba(100,225,214,0));filter:blur(8px);opacity:.24;transform:translateZ(-2px) scaleX(.86);pointer-events:none}
.animated-drive-token .piece-running-lights{position:absolute;display:block;pointer-events:none;mix-blend-mode:screen;filter:blur(3px);opacity:.7}
.animated-drive-token .piece-running-lights-front{right:4%;top:43%;width:13%;height:12%;border-radius:99px;background:radial-gradient(circle at 18% 50%,rgba(255,250,215,.95) 0%,rgba(255,219,124,.78) 42%,rgba(255,219,124,0) 78%)}
.animated-drive-token .piece-running-lights-rear{left:5%;top:49%;width:11%;height:9%;border-radius:99px;background:radial-gradient(circle at 84% 50%,rgba(255,111,84,.82) 0%,rgba(255,78,61,.54) 40%,rgba(255,78,61,0) 82%);opacity:.55}
.animated-drive-token .piece-exhaust-haze{position:absolute;left:4%;bottom:28%;width:20%;height:18%;background:radial-gradient(circle at 78% 48%,rgba(130,224,219,.22) 0%,rgba(130,224,219,.12) 28%,rgba(130,224,219,0) 72%);filter:blur(7px);opacity:.24;transform:translateZ(-3px)}
.animated-drive-token .piece-contact-shadow{opacity:.92!important;filter:blur(4px)!important;transform:translateY(2px) scaleX(1.02)!important}
.animated-drive-token .piece-wheel .piece-wheel-core,.animated-drive-token .piece-rim-custom{box-shadow:0 0 0 1px rgba(255,255,255,.07),inset 0 0 0 1px rgba(0,0,0,.28)}
.animated-drive-token .piece-clearcoat{opacity:.92!important}
.animated-drive-token .render-body-accent{opacity:.68!important}
.animated-drive-token .piece-glass-plane{opacity:.66!important}
.animated-drive-token .piece-engine-glow{opacity:.36!important;filter:blur(5px)!important}
.vehicle-pawn .animated-drive-token .piece-3d-motion.drive-illusion-shell,
.lr-master-player-piece .animated-drive-token .piece-3d-motion.drive-illusion-shell,
.live-vehicle-nav-piece .animated-drive-token .piece-3d-motion.drive-illusion-shell,
#tablePawnArt .animated-drive-token .piece-3d-motion.drive-illusion-shell{animation:brDriveIdleCruise 3.2s ease-in-out infinite}
.board-moving-piece .animated-drive-token .piece-3d-motion.drive-illusion-shell{animation:brDriveActive 560ms linear infinite!important;transform:translateY(-2px) perspective(260px) rotateX(16deg) rotateY(-10deg) rotateZ(-5deg) scale(1.04)}
.board-moving-piece .animated-drive-token .piece-motion-rush{opacity:.48;animation:brDriveRushPulse .56s linear infinite}
.board-moving-piece .animated-drive-token .piece-exhaust-haze{opacity:.55;animation:brDriveExhaust .62s ease-out infinite}
.board-moving-piece .animated-drive-token .piece-running-lights-front{opacity:.95;filter:blur(4px)}
.board-moving-piece .animated-drive-token .piece-wheel .piece-wheel-core,
.board-moving-piece .animated-drive-token .piece-rim-custom{animation:brDriveWheelSpin .28s linear infinite}
.board-moving-piece .animated-drive-token .piece-contact-shadow{transform:translateY(5px) scale(1.14,.82)!important;filter:blur(6px)!important;opacity:.98!important}
.board-moving-piece .animated-drive-token .piece-road-lane{opacity:.96;filter:blur(2.5px);animation:brDriveLaneFlash .48s linear infinite}
.map-node .vehicle-pawn .animated-drive-token,.graphical-world-board .vehicle-pawn .animated-drive-token{transform:translateZ(0)}
.map-node.current .vehicle-pawn .animated-drive-token .piece-running-lights-front{opacity:.88}
.table-piece .animated-drive-token .piece-3d-motion.drive-illusion-shell{animation:brDriveIdleCruise 3.6s ease-in-out infinite}
@keyframes brDriveIdleCruise{0%,100%{transform:translateY(-1px) perspective(250px) rotateX(12deg) rotateY(-7deg) rotateZ(-3deg)}25%{transform:translateY(-2px) perspective(250px) rotateX(12deg) rotateY(-6deg) rotateZ(-2deg)}50%{transform:translateY(-1px) perspective(250px) rotateX(12deg) rotateY(-8deg) rotateZ(-4deg)}75%{transform:translateY(-3px) perspective(250px) rotateX(13deg) rotateY(-6deg) rotateZ(-2deg)}}
@keyframes brDriveActive{0%{transform:translateY(-2px) perspective(260px) rotateX(16deg) rotateY(-10deg) rotateZ(-5deg) scale(1.04)}50%{transform:translateY(-5px) perspective(260px) rotateX(14deg) rotateY(-8deg) rotateZ(-4deg) scale(1.06)}100%{transform:translateY(-2px) perspective(260px) rotateX(16deg) rotateY(-10deg) rotateZ(-5deg) scale(1.04)}}
@keyframes brDriveWheelSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes brDriveRushPulse{0%,100%{transform:translateZ(-2px) scaleX(.82);opacity:.36}50%{transform:translateZ(-2px) scaleX(1.1);opacity:.6}}
@keyframes brDriveExhaust{0%{transform:translate3d(0,0,-3px) scale(.84);opacity:.18}50%{transform:translate3d(-5px,-4px,-3px) scale(1.08);opacity:.34}100%{transform:translate3d(-10px,-8px,-3px) scale(1.24);opacity:0}}
@keyframes brDriveLaneFlash{0%{background-position:0 0;opacity:.78}100%{background-position:36px 0;opacity:1}}

.road-sequence-cinematic{position:fixed;inset:0;z-index:12550;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr;opacity:0;pointer-events:auto;background:#020506;overflow:hidden}
.road-sequence-cinematic.active{opacity:1;transition:opacity .18s ease}
.road-sequence-cinematic.leaving{opacity:0;transition:opacity .2s ease}
.road-sequence-backdrop,.road-sequence-shade,.road-sequence-character,.road-sequence-copy,.road-sequence-piece-wrap,.road-sequence-skip{position:absolute}
.road-sequence-backdrop{inset:-3%;background-image:linear-gradient(180deg,rgba(5,7,7,.28),rgba(3,6,7,.70)),var(--road-sequence-scene);background-size:cover;background-position:center center;filter:blur(2px) saturate(1.02) brightness(.62);transform:scale(1.07)}
.road-sequence-shade{inset:0;background:radial-gradient(circle at 25% 22%,rgba(100,225,214,.18),transparent 28%),linear-gradient(90deg,rgba(2,7,8,.96) 0%,rgba(2,7,8,.90) 36%,rgba(2,7,8,.54) 62%,rgba(2,7,8,.22) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.34))}
.road-sequence-character{right:0;top:0;bottom:0;width:46%;background-image:linear-gradient(90deg,rgba(9,12,12,.96) 0%,rgba(9,12,12,.12) 24%,rgba(9,12,12,0) 48%),var(--road-sequence-character);background-size:cover;background-position:center center;background-repeat:no-repeat;filter:saturate(.95) contrast(1.04) brightness(.86);box-shadow:inset 20px 0 32px rgba(0,0,0,.35)}
.road-sequence-copy{left:min(5vw,32px);top:min(9vh,70px);width:min(48vw,480px);z-index:2;display:flex;flex-direction:column;gap:8px}
.road-sequence-copy span{color:#69ddd0;font:1000 10px/1 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.road-sequence-copy strong{color:#f6e2aa;font:1000 clamp(28px,4.5vw,48px)/.94 Georgia,serif;text-shadow:0 4px 16px rgba(0,0,0,.76)}
.road-sequence-copy small{color:#d0c3a4;font:900 11px/1.35 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.road-sequence-copy p{margin:0;color:#f3eddc;font:700 clamp(14px,1.55vw,18px)/1.45 Arial,sans-serif;max-width:34ch}
.road-sequence-copy em{display:block;max-width:38ch;color:#ffe5b0;font:italic 700 14px/1.5 Georgia,serif;padding-left:12px;border-left:3px solid rgba(102,223,209,.58)}
.road-sequence-copy b{display:block;max-width:44ch;color:#b7c8c5;font:800 11px/1.45 Arial,sans-serif;letter-spacing:.03em}
.road-sequence-piece-wrap{left:min(5vw,32px);bottom:min(7vh,50px);z-index:3;display:grid;grid-template-columns:auto;gap:10px}
.road-sequence-piece-stage{position:relative;width:min(36vw,390px);height:min(20vw,170px);display:grid;place-items:end center}
.road-sequence-lane{position:absolute;left:0;right:0;bottom:18px;height:34px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),linear-gradient(90deg,rgba(250,224,134,.04),rgba(250,224,134,.3) 22%,rgba(255,255,255,.12) 48%,rgba(250,224,134,.3) 76%,rgba(250,224,134,.04));box-shadow:0 14px 40px rgba(0,0,0,.42);overflow:hidden}
.road-sequence-lane:after{content:"";position:absolute;left:-40%;top:45%;width:180%;height:2px;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,223,134,.86) 18px 34px,transparent 34px 56px);opacity:.88;animation:roadSequenceLane 620ms linear infinite}
.road-sequence-piece{position:relative;display:grid;place-items:center;width:min(30vw,300px);height:min(18vw,150px);transform:translateY(-2px)}
.road-sequence-piece .animated-drive-token{transform:scale(1.62);transform-origin:center bottom;filter:drop-shadow(0 18px 18px rgba(0,0,0,.55))}
.road-sequence-piece .animated-drive-token .piece-3d-motion.drive-illusion-shell{animation:brDriveActive .56s linear infinite!important}
.road-sequence-piece .animated-drive-token .piece-wheel .piece-wheel-core,.road-sequence-piece .animated-drive-token .piece-rim-custom{animation:brDriveWheelSpin .24s linear infinite}
.road-sequence-flare{position:absolute;right:5%;bottom:56px;width:24%;height:24%;border-radius:99px;background:radial-gradient(circle,rgba(255,247,212,.82) 0%,rgba(255,210,102,.38) 34%,rgba(255,210,102,0) 74%);filter:blur(8px);opacity:.88}
.road-sequence-piece-meta{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.road-sequence-piece-meta span,.road-sequence-piece-meta strong,.road-sequence-piece-meta small{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(3,7,8,.78);border:1px solid rgba(255,255,255,.10)}
.road-sequence-piece-meta span{color:#dceeea;font:900 10px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.road-sequence-piece-meta strong{color:#f4d98f;font:1000 10px/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.road-sequence-piece-meta small{color:#b8c9c4;font:800 10px/1 Arial,sans-serif}
.road-sequence-skip{right:16px;top:16px;z-index:6;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(2,6,8,.68);color:#f2e0b1;font:1000 10px/1 Arial,sans-serif;letter-spacing:.18em;padding:9px 12px;cursor:pointer}
.road-sequence-search .road-sequence-copy span,.road-sequence-search .road-sequence-piece-meta strong{color:#72e4d9}
.road-sequence-bribe .road-sequence-copy span,.road-sequence-bribe .road-sequence-piece-meta strong{color:#f0d06f}
.road-sequence-bribe .road-sequence-shade{background:radial-gradient(circle at 25% 22%,rgba(240,208,111,.18),transparent 28%),linear-gradient(90deg,rgba(2,7,8,.96) 0%,rgba(2,7,8,.90) 36%,rgba(2,7,8,.54) 62%,rgba(2,7,8,.22) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.34))}
.road-sequence-arrest .road-sequence-copy span,.road-sequence-arrest .road-sequence-piece-meta strong{color:#ff8f72}
.road-sequence-arrest .road-sequence-shade{background:radial-gradient(circle at 25% 22%,rgba(255,143,114,.16),transparent 28%),linear-gradient(90deg,rgba(10,5,6,.96) 0%,rgba(10,5,6,.90) 36%,rgba(10,5,6,.56) 62%,rgba(10,5,6,.20) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.4))}
.road-sequence-arrest .road-sequence-lane:after{background:repeating-linear-gradient(90deg,transparent 0 16px,rgba(255,129,104,.84) 16px 32px,transparent 32px 52px)}
@keyframes roadSequenceLane{from{transform:translateX(0)}to{transform:translateX(56px)}}
@media(max-width:760px){
  .road-sequence-character{width:54%;background-position:62% center;opacity:.92}
  .road-sequence-copy{left:14px;top:52px;width:62%}
  .road-sequence-copy strong{font-size:clamp(24px,7vw,34px)}
  .road-sequence-copy small{font-size:9px}
  .road-sequence-copy p{font-size:13px;max-width:28ch}
  .road-sequence-copy em{font-size:12px;max-width:27ch}
  .road-sequence-copy b{font-size:10px;max-width:28ch}
  .road-sequence-piece-wrap{left:14px;right:12px;bottom:18px}
  .road-sequence-piece-stage{width:min(66vw,290px);height:120px}
  .road-sequence-piece{width:min(60vw,220px);height:110px}
  .road-sequence-piece .animated-drive-token{transform:scale(1.28)}
  .road-sequence-flare{right:12%;bottom:40px}
}
@media(max-width:470px){
  .road-sequence-character{width:58%;background-position:68% center;opacity:.88}
  .road-sequence-copy{width:74%}
  .road-sequence-copy strong{max-width:220px}
  .road-sequence-copy p,.road-sequence-copy em,.road-sequence-copy b{max-width:220px}
  .road-sequence-piece-meta{gap:6px}
  .road-sequence-piece-meta span,.road-sequence-piece-meta strong,.road-sequence-piece-meta small{padding:7px 10px;font-size:9px}
}

/* ============================================================
   BORDER RUN v4.2.10bx — WORKING VEHICLE LIGHTS
   Existing world clock drives the light state:
   dusk = running lights / reduced beams; night = full beams and markers.
   ============================================================ */
.animated-drive-token .piece-running-lights,
.animated-drive-token .piece-marker-run,
.animated-drive-token .piece-emergency-lights{opacity:0!important;pointer-events:none!important;transition:opacity .35s ease,filter .35s ease!important}
.animated-drive-token .piece-running-lights-front{
  left:var(--headlight-x,90%)!important;top:var(--headlight-y,60%)!important;right:auto!important;
  width:13%!important;height:10%!important;transform:translate(-50%,-50%) scaleX(var(--headlight-dir,1))!important;
  background:none!important;filter:none!important;mix-blend-mode:screen!important;overflow:visible!important;z-index:16!important;
}
.animated-drive-token .piece-running-lights-front::before{
  content:"";position:absolute;left:0;top:50%;width:100%;height:100%;transform:translateY(-50%);
  background:radial-gradient(circle at 25% 50%,rgba(255,252,222,.98) 0 9%,rgba(255,224,143,.96) 10% 18%,rgba(255,213,105,.22) 32%,transparent 55%),radial-gradient(circle at 67% 50%,rgba(255,252,222,.98) 0 9%,rgba(255,224,143,.96) 10% 18%,rgba(255,213,105,.22) 32%,transparent 55%);
  filter:drop-shadow(0 0 4px rgba(255,228,150,.98)) drop-shadow(0 0 8px rgba(255,213,112,.64));
}
.animated-drive-token .piece-running-lights-front::after{
  content:"";position:absolute;left:58%;top:50%;width:250%;height:250%;transform:translateY(-50%);transform-origin:left center;
  clip-path:polygon(0 41%,100% 5%,100% 95%,0 59%);
  background:linear-gradient(90deg,rgba(255,241,190,.48),rgba(255,226,147,.21) 28%,rgba(255,225,147,.07) 64%,transparent 100%);
  filter:blur(4px);opacity:.72;
}
.animated-drive-token .piece-running-lights-rear{
  left:var(--taillight-x,8%)!important;top:var(--taillight-y,52%)!important;right:auto!important;
  width:10%!important;height:9%!important;transform:translate(-50%,-50%)!important;background:none!important;filter:none!important;z-index:15!important;
}
.animated-drive-token .piece-running-lights-rear::before{
  content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(255,84,65,.98) 0 10%,rgba(255,42,31,.82) 18%,rgba(255,42,31,.18) 42%,transparent 62%),radial-gradient(circle at 70% 50%,rgba(255,84,65,.98) 0 10%,rgba(255,42,31,.82) 18%,rgba(255,42,31,.18) 42%,transparent 62%);filter:drop-shadow(0 0 4px rgba(255,48,35,.82));
}

/* Dusk: lights come on early, but beams remain modest. */
body.time-dusk .animated-drive-token .piece-running-lights-front{opacity:.58!important}
body.time-dusk .animated-drive-token .piece-running-lights-front::after{opacity:.38!important}
body.time-dusk .animated-drive-token .piece-running-lights-rear{opacity:.52!important}

/* Full night / DARK: headlamps, tail lamps and road spill are fully active. */
body.time-night .animated-drive-token .piece-running-lights-front{opacity:1!important;filter:brightness(1.08)!important}
body.time-night .animated-drive-token .piece-running-lights-front::after{opacity:.88!important}
body.time-night .animated-drive-token .piece-running-lights-rear{opacity:.84!important}
body.time-night .board-moving-piece .animated-drive-token .piece-running-lights-front,
body.time-night .lr-master-player-piece.master-moving .animated-drive-token .piece-running-lights-front{filter:brightness(1.26)!important}
body.time-night .board-moving-piece .animated-drive-token .piece-running-lights-front::after,
body.time-night .lr-master-player-piece.master-moving .animated-drive-token .piece-running-lights-front::after{opacity:1!important;filter:blur(5px)!important}

/* Brake lights brighten once at the final node. */
body.time-dusk .map-node.pawn-arrive .animated-drive-token .piece-running-lights-rear,
body.time-night .map-node.pawn-arrive .animated-drive-token .piece-running-lights-rear,
body.time-dusk .lr-master-player-piece.pawn-arrive .animated-drive-token .piece-running-lights-rear,
body.time-night .lr-master-player-piece.pawn-arrive .animated-drive-token .piece-running-lights-rear{
  opacity:1!important;animation:brBrakeLampPulse .56s ease-out 1!important;filter:brightness(1.45)!important;
}
@keyframes brBrakeLampPulse{0%{transform:translate(-50%,-50%) scale(1);filter:brightness(1)}28%{transform:translate(-50%,-50%) scale(1.28);filter:brightness(1.75) drop-shadow(0 0 7px rgba(255,48,35,.92))}100%{transform:translate(-50%,-50%) scale(1);filter:brightness(1)}}

/* Amber clearance / marker lights for physically larger road vehicles. */
.animated-drive-token .piece-marker-run{position:absolute;left:22%;right:18%;top:18%;height:9%;z-index:17;display:flex;align-items:flex-start;justify-content:space-around;transform:perspective(120px) rotateZ(-2deg);filter:drop-shadow(0 0 3px rgba(255,176,66,.6))}
.animated-drive-token .piece-marker-run b{display:block;width:4px;height:3px;border-radius:999px;background:#ffb446;box-shadow:0 0 4px rgba(255,176,70,.88)}
body.time-dusk .animated-drive-token:is([data-ride-id="cbandit"],[data-ride-id="towtruck"],[data-ride-id="panelvan"],[data-ride-id="stashrunner"],[data-ride-id="shagwagon"],[data-ride-id="microbus"]) .piece-marker-run{opacity:.52!important}
body.time-night .animated-drive-token:is([data-ride-id="cbandit"],[data-ride-id="towtruck"],[data-ride-id="panelvan"],[data-ride-id="stashrunner"],[data-ride-id="shagwagon"],[data-ride-id="microbus"]) .piece-marker-run{opacity:.94!important;animation:brMarkerShimmer 2.4s ease-in-out infinite}
@keyframes brMarkerShimmer{0%,100%{filter:brightness(.92) drop-shadow(0 0 2px rgba(255,176,70,.55))}50%{filter:brightness(1.14) drop-shadow(0 0 5px rgba(255,176,70,.9))}}

/* Police/Fuzz roof lights. The actual law-enforcement vehicles receive a light bar at night. */
.animated-drive-token .piece-emergency-lights{position:absolute;left:var(--emergency-x,50%);top:var(--emergency-y,20%);width:18%;height:8%;transform:translate(-50%,-50%) perspective(120px) rotateZ(-2deg);z-index:20;display:flex;gap:3px;align-items:center;justify-content:center;overflow:visible}
.animated-drive-token .piece-emergency-lights b{display:block;width:43%;height:42%;border-radius:4px}
.animated-drive-token .piece-emergency-lights .emergency-red{background:#ff3d35;box-shadow:0 0 5px rgba(255,61,53,.95),0 0 11px rgba(255,61,53,.58)}
.animated-drive-token .piece-emergency-lights .emergency-blue{background:#3aaeff;box-shadow:0 0 5px rgba(58,174,255,.95),0 0 11px rgba(58,174,255,.58)}
body.time-dusk .animated-drive-token:is([data-ride-id="squadcar"],[data-ride-id="fuzzinterceptor"],[data-ride-id="fuzzunmarked"]) .piece-emergency-lights{opacity:.38!important}
body.time-night .animated-drive-token:is([data-ride-id="squadcar"],[data-ride-id="fuzzinterceptor"],[data-ride-id="fuzzunmarked"]) .piece-emergency-lights{opacity:.88!important;animation:brFuzzLightbar 1.05s steps(2,end) infinite}
body.time-night .board-moving-piece .animated-drive-token:is([data-ride-id="squadcar"],[data-ride-id="fuzzinterceptor"],[data-ride-id="fuzzunmarked"]) .piece-emergency-lights,
body.time-night .lr-master-player-piece.master-moving .animated-drive-token:is([data-ride-id="squadcar"],[data-ride-id="fuzzinterceptor"],[data-ride-id="fuzzunmarked"]) .piece-emergency-lights{opacity:1!important;animation-duration:.46s!important}
@keyframes brFuzzLightbar{0%,49%{filter:brightness(1.5) drop-shadow(-7px 1px 8px rgba(255,50,44,.88))}50%,100%{filter:brightness(1.55) drop-shadow(7px 1px 8px rgba(53,169,255,.92))}}

/* Search/arrest sequences use the same night-road language even if the stop starts in daylight. */
.road-sequence-cinematic::before,.road-sequence-cinematic::after{content:"";position:absolute;inset:-8%;z-index:1;pointer-events:none;opacity:0;mix-blend-mode:screen}
.road-sequence-search::before,.road-sequence-arrest::before{opacity:.22;background:radial-gradient(circle at 15% 60%,rgba(255,47,42,.72),transparent 31%);animation:brEnforcementRed 1.04s ease-in-out infinite}
.road-sequence-search::after,.road-sequence-arrest::after{opacity:.22;background:radial-gradient(circle at 78% 34%,rgba(49,162,255,.78),transparent 34%);animation:brEnforcementBlue 1.04s ease-in-out infinite}
.road-sequence-arrest::before,.road-sequence-arrest::after{opacity:.34;animation-duration:.62s}
body.time-dusk .road-sequence-cinematic .cinematic-piece-stage .piece-running-lights-front,
body.time-night .road-sequence-cinematic .cinematic-piece-stage .piece-running-lights-front,
body.time-dusk .road-sequence-cinematic .road-sequence-piece .piece-running-lights-front,
body.time-night .road-sequence-cinematic .road-sequence-piece .piece-running-lights-front{opacity:1!important;filter:brightness(1.2)!important}
body.time-dusk .road-sequence-cinematic .cinematic-piece-stage .piece-running-lights-front::after,
body.time-night .road-sequence-cinematic .cinematic-piece-stage .piece-running-lights-front::after,
body.time-dusk .road-sequence-cinematic .road-sequence-piece .piece-running-lights-front::after,
body.time-night .road-sequence-cinematic .road-sequence-piece .piece-running-lights-front::after{opacity:.92!important}
body.time-dusk .road-sequence-cinematic .cinematic-piece-stage .piece-running-lights-rear,
body.time-night .road-sequence-cinematic .cinematic-piece-stage .piece-running-lights-rear,
body.time-dusk .road-sequence-cinematic .road-sequence-piece .piece-running-lights-rear,
body.time-night .road-sequence-cinematic .road-sequence-piece .piece-running-lights-rear{opacity:.82!important}
body.time-dusk .road-sequence-arrest .road-sequence-piece .piece-running-lights-rear,
body.time-night .road-sequence-arrest .road-sequence-piece .piece-running-lights-rear{opacity:1!important;filter:brightness(1.45)!important}
.road-sequence-search .road-sequence-piece .animated-drive-token:is([data-ride-id="squadcar"],[data-ride-id="fuzzinterceptor"],[data-ride-id="fuzzunmarked"]) .piece-emergency-lights,
.road-sequence-arrest .road-sequence-piece .animated-drive-token:is([data-ride-id="squadcar"],[data-ride-id="fuzzinterceptor"],[data-ride-id="fuzzunmarked"]) .piece-emergency-lights{opacity:1!important;animation:brFuzzLightbar .46s steps(2,end) infinite}
@keyframes brEnforcementRed{0%,45%{opacity:.08}50%,100%{opacity:.34}}
@keyframes brEnforcementBlue{0%,45%{opacity:.34}50%,100%{opacity:.08}}

/* Accessibility/performance: retain the lights but remove decorative looping motion. */
@media(prefers-reduced-motion:reduce){
  .animated-drive-token .piece-marker-run,.animated-drive-token .piece-emergency-lights,.road-sequence-cinematic::before,.road-sequence-cinematic::after{animation:none!important}
}

/* ============================================================
   BORDER RUN v4.2.10by — FUNCTIONAL 2.5D PIECE RENDERER REPAIR
   One renderer now owns board pawn, movement pawn and bottom vehicle preview.
   Paint is applied inside the live shell; rims replace the wheel CENTER instead
   of drawing a colored circle around the whole tire; map zoom enlarges the
   player's piece for close inspection of installed upgrades.
   ============================================================ */

/* The 2.5D shell uses the existing photoreal 3/4 source as the body plane, but
   gives it a consistent board-miniature pitch, physical footprint and shadow. */
.board-piece-2p5d{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  transform-style:preserve-3d!important;
}
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  transform:perspective(260px) rotateX(11deg) translateY(-2px)!important;
  transform-origin:50% 78%!important;
  transform-style:preserve-3d!important;
  overflow:visible!important;
}
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  transform:translateZ(12px) scaleX(var(--piece-facing,1)) scale(.985)!important;
  transform-origin:50% 74%!important;
  filter:drop-shadow(0 5px 3px rgba(0,0,0,.34)) contrast(1.025) saturate(1.03)!important;
  z-index:10!important;
}
.board-piece-2p5d .piece-plinth{
  display:block!important;
  position:absolute!important;
  left:10%!important;right:10%!important;bottom:5%!important;height:22%!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(5,8,8,.36) 0 38%,rgba(5,8,8,.16) 54%,transparent 73%)!important;
  transform:perspective(150px) rotateX(68deg) translateZ(-2px)!important;
  filter:blur(1.5px)!important;
  opacity:.86!important;
  z-index:1!important;
}
.board-piece-2p5d .piece-contact-shadow{
  display:block!important;
  position:absolute!important;
  left:15%!important;right:15%!important;bottom:8%!important;height:13%!important;
  border-radius:50%!important;
  background:rgba(0,0,0,.48)!important;
  filter:blur(5px)!important;
  transform:scaleX(1.05)!important;
  opacity:.86!important;
  z-index:0!important;
}

/* PAINT — v4 moved the paint layer inside piece-3d-motion. The old direct-child
   selector silently stopped applying the alpha mask, which is why custom paint
   disappeared even though the selected paint ID remained saved. */
.board-piece-2p5d.paint-masked .piece-3d-motion>.render-paint-layer{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;height:100%!important;
  z-index:14!important;
  pointer-events:none!important;
  background:var(--vehicle-paint,#d8c9a3)!important;
  opacity:var(--vehicle-paint-opacity,.58)!important;
  mix-blend-mode:color!important;
  -webkit-mask-image:var(--paint-mask)!important;
  mask-image:var(--paint-mask)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center center!important;
  mask-position:center center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  transform:translateZ(14px) scaleX(var(--piece-facing,1)) scale(.985)!important;
  transform-origin:50% 74%!important;
}
.board-piece-2p5d.paint-cream{--vehicle-paint-opacity:.16!important}
.board-piece-2p5d.paint-copperdust{--vehicle-paint-opacity:.58!important}
.board-piece-2p5d.paint-neonwave{--vehicle-paint-opacity:.64!important}
.board-piece-2p5d.paint-highplains{--vehicle-paint-opacity:.58!important}
.board-piece-2p5d.paint-gulfsunset{--vehicle-paint-opacity:.62!important}
.board-piece-2p5d.paint-desertrunner{--vehicle-paint-opacity:.56!important}
.board-piece-2p5d .piece-clearcoat{z-index:16!important;opacity:.48!important;mix-blend-mode:screen!important}

/* RIMS — keep the photographic tire. Replace only the wheel center with a real
   patterned rim. This removes the cyan/blue preview-circle look. */
.board-piece-2p5d .piece-rim-mod-layer{z-index:22!important}
.board-piece-2p5d .piece-rim-custom{
  border:0!important;
  outline:0!important;
  box-shadow:0 1px 2px rgba(0,0,0,.72)!important;
  transform:translate(-50%,-50%) perspective(70px) rotateX(7deg)!important;
  overflow:hidden!important;
}
.board-piece-2p5d.mod-rims-chrome .piece-rim-custom{
  background:
    radial-gradient(circle at 50% 50%,#0d1012 0 10%,#f8fdff 11% 17%,transparent 18%),
    repeating-conic-gradient(from 0deg,#ffffff 0 5deg,#596a75 5deg 9deg,#e6f2f8 9deg 13deg,#1e282f 13deg 18deg),
    radial-gradient(circle,#edf7fc 0 52%,#7b8a94 53% 65%,#121719 66% 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 1px 2px rgba(0,0,0,.72)!important;
}
.board-piece-2p5d.mod-rims-gold .piece-rim-custom{
  background:
    radial-gradient(circle at 50% 50%,#49300b 0 9%,#fff0ad 10% 15%,transparent 16%),
    repeating-conic-gradient(from 2deg,#ffe89d 0 3deg,#9b6819 3deg 6deg,#e4b84b 6deg 8deg,transparent 8deg 10deg),
    radial-gradient(circle,#f0c75e 0 52%,#8b5e16 53% 66%,#171108 67% 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,238,170,.62),0 1px 2px rgba(0,0,0,.72)!important;
}
.board-piece-2p5d.mod-rims-nightwatch .piece-rim-custom{
  background:
    radial-gradient(circle at 50% 50%,#63e5da 0 8%,#101717 9% 18%,transparent 19%),
    repeating-conic-gradient(from 0deg,#253233 0 7deg,#080b0c 7deg 13deg,#4fbdb4 13deg 15deg,#0a0e0f 15deg 22deg),
    radial-gradient(circle,#101718 0 52%,#263335 53% 65%,#050708 66% 100%)!important;
  border:0!important;
  box-shadow:inset 0 0 0 1px rgba(83,219,207,.26),0 1px 2px rgba(0,0,0,.76)!important;
}
/* Fender kits need the original tire diameter, not the smaller rim insert. */
.board-piece-2p5d .piece-flare-a{width:var(--mod-wheel-a-d)!important}
.board-piece-2p5d .piece-flare-b{width:var(--mod-wheel-b-d)!important}
.board-piece-2p5d .piece-flare-c{width:var(--mod-wheel-c-d)!important}
.board-piece-2p5d .piece-flare-d{width:var(--mod-wheel-d-d)!important}

/* ZOOM — the map is physically resized, so fixed-pixel pawns used to appear to
   shrink relative to roads. The local pawn now grows progressively with board
   zoom and gets an additional 8% movement enlargement. */
.lr-map-zoom-stage .lr-master-player-piece.lr-art-player:not(.master-moving){
  transform:translate(-50%,-50%) scale(var(--lr-player-piece-scale,1))!important;
  transform-origin:50% 72%!important;
}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player:not(.master-moving) .board-piece-2p5d{
  filter:drop-shadow(0 7px 5px rgba(0,0,0,.48))!important;
}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player:not(.master-moving) .piece-rim-custom,
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player:not(.master-moving) .piece-body-mod-layer{
  visibility:visible!important;
  opacity:1!important;
}

/* Bottom-left VEHICLE dock preview uses the exact same live 2.5D piece and loadout
   as the board. Old generic 34px/0.62 scaling made the car nearly unreadable. */
.pr-bottom-nav .live-vehicle-nav-piece,
#lrVehicleNavPiece.live-vehicle-nav-piece,
#mobileVehicleNavPiece.live-vehicle-nav-piece{
  width:72px!important;
  height:42px!important;
  max-width:72px!important;
  max-height:42px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto!important;
  overflow:visible!important;
  transform:none!important;
}
.pr-bottom-nav .live-vehicle-nav-piece>.board-piece-2p5d,
#lrVehicleNavPiece>.board-piece-2p5d,
#mobileVehicleNavPiece>.board-piece-2p5d{
  position:relative!important;
  width:70px!important;
  height:42px!important;
  min-width:70px!important;
  min-height:42px!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  transform:none!important;
  transform-origin:center!important;
}
.pr-bottom-nav .live-vehicle-nav-piece .board-piece-2p5d .piece-3d-motion,
#lrVehicleNavPiece .board-piece-2p5d .piece-3d-motion,
#mobileVehicleNavPiece .board-piece-2p5d .piece-3d-motion{
  max-width:none!important;
  max-height:none!important;
  transform:perspective(250px) rotateX(10deg) translateY(-1px)!important;
}
.pr-bottom-nav .live-vehicle-nav-piece .board-piece-2p5d .piece-3d-motion>img,
#lrVehicleNavPiece .board-piece-2p5d .piece-3d-motion>img,
#mobileVehicleNavPiece .board-piece-2p5d .piece-3d-motion>img{
  max-width:none!important;
  max-height:none!important;
}
@media(max-width:430px){
  .pr-bottom-nav .live-vehicle-nav-piece,#lrVehicleNavPiece.live-vehicle-nav-piece{width:64px!important;height:38px!important;max-width:64px!important;max-height:38px!important}
  .pr-bottom-nav .live-vehicle-nav-piece>.board-piece-2p5d,#lrVehicleNavPiece>.board-piece-2p5d{width:62px!important;height:38px!important;min-width:62px!important;min-height:38px!important}
}

/* Bottom-right dice now display as a real, readable pair. The exact two equipped
   material/color variants are emitted by JS, and the saved local previous faces
   remain centered in the pair. */
.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon,
#lrPrimaryRoll>span.roll-dice-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:60px!important;
  height:30px!important;
  min-width:60px!important;
  max-width:60px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  font-size:0!important;
}
.pr-bottom-nav>.lr-primary-roll .roll-die.photoreal-roll-button-die.equipped-mini-die,
#lrPrimaryRoll .roll-die.photoreal-roll-button-die.equipped-mini-die{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  min-height:25px!important;
  max-width:25px!important;
  max-height:25px!important;
  flex:0 0 25px!important;
  border-radius:6px!important;
  background:var(--br-mini-surface)!important;
  border:1px solid var(--br-mini-edge)!important;
  box-shadow:inset 2px 2px 3px rgba(255,255,255,.28),inset -2px -2px 3px rgba(0,0,0,.34),0 2px 3px rgba(0,0,0,.42)!important;
  transform:none!important;
  filter:none!important;
}
#lrPrimaryRoll .roll-die.dice-finish-effect-matte{filter:saturate(.86) contrast(.96)!important}
#lrPrimaryRoll .roll-die.dice-finish-effect-gloss{box-shadow:inset 4px 4px 7px rgba(255,255,255,.42),inset -3px -3px 6px rgba(0,0,0,.30),0 2px 3px rgba(0,0,0,.42)!important}
#lrPrimaryRoll .roll-die.dice-finish-effect-prestige{box-shadow:inset 0 0 0 1px rgba(255,255,255,.58),inset 3px 3px 6px rgba(255,255,255,.35),0 0 8px rgba(238,212,137,.32),0 2px 3px rgba(0,0,0,.42)!important}
#lrPrimaryRoll .roll-die.equipped-mini-die .photo-die-pips.button-pips{
  left:10%!important;top:10%!important;width:80%!important;height:80%!important;
}
#lrPrimaryRoll .roll-die.equipped-mini-die .button-pips i{
  width:4.4px!important;min-width:4.4px!important;height:4.4px!important;min-height:4.4px!important;
  max-width:4.4px!important;max-height:4.4px!important;border-radius:50%!important;
  background:var(--br-die-pip,#fff)!important;
  border:1px solid var(--br-die-pip-ring,#080a09)!important;
}
#lrPrimaryRoll .equipped-mini-die.neutral-roll-preview .button-pips:after{font-size:14px!important}
@media(max-width:430px){
  .pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon,#lrPrimaryRoll>span.roll-dice-icon{width:54px!important;min-width:54px!important;max-width:54px!important;gap:4px!important}
  .pr-bottom-nav>.lr-primary-roll .roll-die.equipped-mini-die,#lrPrimaryRoll .roll-die.equipped-mini-die{width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;max-width:23px!important;max-height:23px!important;flex-basis:23px!important}
}

/* ============================================================
   BORDER RUN v4.2.10bz — TRUE ROAD-FOLLOWING 2.5D + PHYSICAL DICE HUD
   The transparent 3/4 vehicle art is now treated as a miniature with volume,
   follows the actual road tangent, grows with board zoom, and shares one live
   renderer across board/movement/nav. The Roll control uses the real equipped
   die textures instead of a generic CSS cube.
   ============================================================ */

/* Local piece gets a readable physical footprint at normal zoom. */
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:clamp(118px,31vw,148px)!important;
  height:clamp(76px,20vw,98px)!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.android-virtual-landscape .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:clamp(104px,8.8vw,142px)!important;
  height:clamp(68px,5.8vw,94px)!important;
}
/* Remote pieces remain smaller so they do not overpower the local car. */
body.portrait-reference-live .artwork-master-renderer .lr-master-remote-piece{width:clamp(76px,19vw,98px)!important;height:clamp(50px,12.7vw,66px)!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-remote-piece{width:clamp(70px,5.8vw,96px)!important;height:clamp(47px,3.9vw,64px)!important}

/* The miniature rotates with the ROUTE, not merely left/right. This is the
   missing behavior that made a car sit sideways across vertical highways. */
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(340px) rotateZ(var(--piece-route-angle,0deg)) rotateX(8deg) translateY(-2px)!important;
  transform-origin:50% 72%!important;
  overflow:visible!important;
}
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell>img{
  transform:translateZ(18px) scale(.99)!important;
  transform-origin:50% 72%!important;
  filter:drop-shadow(0 7px 4px rgba(0,0,0,.34)) contrast(1.035) saturate(1.045)!important;
}
.board-piece-2p5d.paint-masked .piece-3d-motion>.render-paint-layer{
  transform:translateZ(20px) scale(.99)!important;
  transform-origin:50% 72%!important;
}

/* A dark alpha-masked copy slightly below the art supplies real perceived
   thickness/undercarriage. A soft top glint separates hood/roof from the map. */
.board-piece-2p5d .piece-volume-shadow{
  display:block!important;position:absolute!important;inset:0!important;z-index:6!important;pointer-events:none!important;
  background:rgba(3,6,7,.78)!important;
  -webkit-mask-image:var(--piece-image)!important;mask-image:var(--piece-image)!important;
  -webkit-mask-size:contain!important;mask-size:contain!important;
  -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;mask-position:center!important;
  transform:translate3d(3px,5px,5px) scale(.985)!important;
  filter:blur(.35px)!important;opacity:.72!important;
}
.board-piece-2p5d .piece-top-glint{
  display:block!important;position:absolute!important;inset:0!important;z-index:19!important;pointer-events:none!important;
  background:linear-gradient(155deg,rgba(255,255,255,.30) 2%,rgba(255,255,255,.10) 23%,rgba(255,255,255,0) 52%)!important;
  -webkit-mask-image:var(--piece-image)!important;mask-image:var(--piece-image)!important;
  -webkit-mask-size:contain!important;mask-size:contain!important;
  -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;mask-position:center!important;
  mix-blend-mode:screen!important;opacity:.44!important;transform:translateZ(22px) scale(.99)!important;
}
.board-piece-2p5d .piece-plinth{left:12%!important;right:12%!important;bottom:2%!important;height:24%!important;opacity:.78!important;filter:blur(2.2px)!important}
.board-piece-2p5d .piece-contact-shadow{left:16%!important;right:16%!important;bottom:4%!important;height:15%!important;filter:blur(6px)!important;opacity:.78!important}

/* Moving cars come alive without changing logical step count. */
.lr-master-player-piece.master-moving>.board-piece-2p5d,
.board-moving-piece>.board-piece-2p5d{transform:scale(1.10)!important;transform-origin:50% 72%!important}
.lr-master-player-piece.master-moving .board-piece-2p5d .piece-3d-motion.drive-illusion-shell,
.board-moving-piece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(340px) rotateZ(var(--piece-route-angle,0deg)) rotateX(7deg) translateY(-4px) scale(1.015)!important;
}
.lr-master-player-piece.master-moving .board-piece-2p5d .piece-contact-shadow,
.board-moving-piece .board-piece-2p5d .piece-contact-shadow{transform:scale(1.15,.82)!important;opacity:.92!important}

/* Close zoom is intentionally an upgrade-inspection view. */
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .board-piece-2p5d .piece-rim-custom,
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .board-piece-2p5d .piece-body-mod-layer,
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .board-piece-2p5d .render-paint-layer{
  opacity:1!important;visibility:visible!important;
}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .board-piece-2p5d .piece-top-glint{opacity:.52!important}

/* Bottom VEHICLE dock uses the same miniature but at a useful preview size. */
.pr-bottom-nav .live-vehicle-nav-piece,
#lrVehicleNavPiece.live-vehicle-nav-piece,
#mobileVehicleNavPiece.live-vehicle-nav-piece{width:82px!important;height:50px!important;max-width:82px!important;max-height:50px!important}
.pr-bottom-nav .live-vehicle-nav-piece>.board-piece-2p5d,
#lrVehicleNavPiece>.board-piece-2p5d,
#mobileVehicleNavPiece>.board-piece-2p5d{width:80px!important;height:50px!important;min-width:80px!important;min-height:50px!important}
.pr-bottom-nav .live-vehicle-nav-piece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell,
#lrVehicleNavPiece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell,
#mobileVehicleNavPiece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(300px) rotateX(7deg) translateY(-1px)!important;
}
@media(max-width:430px){
  .pr-bottom-nav .live-vehicle-nav-piece,#lrVehicleNavPiece.live-vehicle-nav-piece{width:72px!important;height:44px!important;max-width:72px!important;max-height:44px!important}
  .pr-bottom-nav .live-vehicle-nav-piece>.board-piece-2p5d,#lrVehicleNavPiece>.board-piece-2p5d{width:70px!important;height:44px!important;min-width:70px!important;min-height:44px!important}
}

/* Real equipped die artwork in the permanent Roll button. */
#lrPrimaryRoll>span.roll-dice-icon,
.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{width:66px!important;min-width:66px!important;max-width:66px!important;height:36px!important;gap:2px!important;overflow:visible!important}
#lrPrimaryRoll .roll-die.actual-equipped-die,
.pr-bottom-nav>.lr-primary-roll .roll-die.actual-equipped-die{
  position:relative!important;width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;max-width:31px!important;max-height:31px!important;flex:0 0 31px!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;filter:none!important;
}
#lrPrimaryRoll .actual-equipped-die .roll-button-die-shell,
.pr-bottom-nav>.lr-primary-roll .actual-equipped-die .roll-button-die-shell{
  display:block!important;position:absolute!important;inset:-2px!important;width:35px!important;height:35px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.56))!important;transform:none!important;z-index:1!important;
}
#lrPrimaryRoll .actual-equipped-die .photo-die-pips.button-pips,
.pr-bottom-nav>.lr-primary-roll .actual-equipped-die .photo-die-pips.button-pips{
  position:absolute!important;left:18%!important;top:20%!important;width:61%!important;height:61%!important;z-index:3!important;transform:none!important;
}
#lrPrimaryRoll .actual-equipped-die .button-pips i,
.pr-bottom-nav>.lr-primary-roll .actual-equipped-die .button-pips i{
  width:4px!important;min-width:4px!important;height:4px!important;min-height:4px!important;max-width:4px!important;max-height:4px!important;border:0!important;border-radius:50%!important;
  background:var(--br-die-pip,#17130d)!important;box-shadow:0 .5px .5px rgba(255,255,255,.32),inset 0 0 0 .6px rgba(0,0,0,.46)!important;
}
#lrPrimaryRoll .actual-equipped-die.neutral-roll-preview .button-pips,
.pr-bottom-nav>.lr-primary-roll .actual-equipped-die.neutral-roll-preview .button-pips{display:none!important}
/* Finish treatment modifies the real shell rather than replacing it with a fake cube. */
#lrPrimaryRoll .actual-equipped-die.dice-finish-effect-matte .roll-button-die-shell{filter:drop-shadow(0 2px 2px rgba(0,0,0,.56)) saturate(.82) contrast(.96) brightness(.92)!important}
#lrPrimaryRoll .actual-equipped-die.dice-finish-effect-gloss .roll-button-die-shell{filter:drop-shadow(0 2px 2px rgba(0,0,0,.56)) saturate(1.08) contrast(1.08) brightness(1.08)!important}
#lrPrimaryRoll .actual-equipped-die.dice-finish-effect-prestige .roll-button-die-shell{filter:drop-shadow(0 0 4px rgba(236,211,142,.42)) drop-shadow(0 2px 2px rgba(0,0,0,.58)) saturate(1.12) contrast(1.08)!important}
@media(max-width:430px){
  #lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{width:60px!important;min-width:60px!important;max-width:60px!important;height:34px!important}
  #lrPrimaryRoll .roll-die.actual-equipped-die,.pr-bottom-nav>.lr-primary-roll .roll-die.actual-equipped-die{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;flex-basis:28px!important}
  #lrPrimaryRoll .actual-equipped-die .roll-button-die-shell,.pr-bottom-nav>.lr-primary-roll .actual-equipped-die .roll-button-die-shell{width:32px!important;height:32px!important;inset:-2px!important}
}

/* ============================================================
   BORDER RUN v4.2.10ca — CAMERA-LOCKED 2.5D MINIATURE + TRUE ROLL HUD
   The car art keeps one elevated three-quarter board-camera perspective.
   The road-heading cue rotates beneath the miniature instead of rotating the
   entire photographic camera view. Close zoom aggressively enlarges the local
   car for paint/rim/body-kit inspection. Permanent HUD dice reuse the exact
   physical die shell/pip system used by actual game rolls.
   ============================================================ */

/* Keep the actual vehicle miniature in the same elevated 3/4 camera language. */
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(360px) rotateX(9deg) rotateZ(var(--piece-camera-angle,0deg)) translateY(-2px) scaleX(var(--piece-facing,1))!important;
  transform-origin:50% 74%!important;
  overflow:visible!important;
}
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell>img{
  transform:translateZ(18px) scale(1.015)!important;
  transform-origin:50% 74%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.board-piece-2p5d.paint-masked .piece-3d-motion>.render-paint-layer,
.board-piece-2p5d .piece-top-glint,
.board-piece-2p5d .piece-volume-shadow{
  transform-origin:50% 74%!important;
}
/* Route direction is shown under the car. This preserves the board-camera
   perspective instead of turning a three-quarter photo on its side. */
.board-piece-2p5d .piece-road-lane{
  display:block!important;
  left:17%!important;right:17%!important;bottom:5%!important;height:8px!important;
  opacity:.72!important;filter:blur(1.5px)!important;
  transform:translateZ(-2px) rotate(var(--piece-route-angle,0deg))!important;
  transform-origin:50% 50%!important;
  background:linear-gradient(90deg,transparent 0%,rgba(245,213,119,.12) 13%,rgba(245,213,119,.58) 25%,rgba(255,255,255,.20) 49%,rgba(245,213,119,.58) 73%,rgba(245,213,119,.12) 87%,transparent 100%)!important;
}
.board-piece-2p5d .piece-road-lane::after{
  content:""!important;position:absolute!important;right:-3px!important;top:50%!important;
  width:0!important;height:0!important;transform:translateY(-50%)!important;
  border-top:5px solid transparent!important;border-bottom:5px solid transparent!important;
  border-left:9px solid rgba(245,213,119,.82)!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))!important;
}
/* Contact shadow stays camera-locked, giving the cutout a miniature footprint. */
.board-piece-2p5d .piece-contact-shadow{
  transform:translateY(3px) scale(1.10,.78)!important;
  transform-origin:50% 50%!important;
}
/* Movement lifts the miniature slightly but never rotates its camera plane. */
.lr-master-player-piece.master-moving .board-piece-2p5d .piece-3d-motion.drive-illusion-shell,
.board-moving-piece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(360px) rotateX(8deg) rotateZ(var(--piece-camera-angle,0deg)) translateY(-5px) scaleX(var(--piece-facing,1)) scale(1.035)!important;
}
.lr-master-player-piece.master-moving>.board-piece-2p5d,
.board-moving-piece>.board-piece-2p5d{
  transform:scale(1.08)!important;
  transform-origin:50% 74%!important;
}

/* Make the local miniature intentionally substantial on phone screens. The JS
   zoom scale grows it further; these are the unscaled physical dimensions. */
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:clamp(132px,35vw,166px)!important;
  height:clamp(86px,22.5vw,110px)!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.android-virtual-landscape .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:clamp(116px,10vw,158px)!important;
  height:clamp(76px,6.6vw,104px)!important;
}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player{
  z-index:1300!important;
}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .board-piece-2p5d{
  filter:drop-shadow(0 13px 9px rgba(0,0,0,.55))!important;
}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .piece-rim-custom,
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .piece-body-mod-layer,
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .render-paint-layer{
  opacity:1!important;visibility:visible!important;
}

/* Bottom-left VEHICLE preview is the same camera-locked miniature. */
.pr-bottom-nav .live-vehicle-nav-piece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell,
#lrVehicleNavPiece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell,
#mobileVehicleNavPiece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(320px) rotateX(8deg) translateY(-1px)!important;
}

/* Permanent Roll button — exact same photoreal result die shell and pips used
   by actual roll results. All old mini-cube surface rules are neutralized. */
#lrPrimaryRoll>span.roll-dice-icon,
.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{
  width:72px!important;min-width:72px!important;max-width:72px!important;height:38px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  overflow:visible!important;
}
#lrPrimaryRoll .roll-button-physical-die.actual-equipped-die,
.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die.actual-equipped-die{
  position:relative!important;display:block!important;
  width:34px!important;height:32px!important;min-width:34px!important;min-height:32px!important;
  max-width:34px!important;max-height:32px!important;flex:0 0 34px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important;
  animation:none!important;transform:none!important;filter:none!important;isolation:isolate!important;
}
#lrPrimaryRoll .roll-button-physical-die .photoreal-die-shell,
.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die .photoreal-die-shell{
  position:absolute!important;inset:-9%!important;width:118%!important;height:118%!important;
  max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;
  opacity:1!important;visibility:visible!important;z-index:1!important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.56))!important;
}
#lrPrimaryRoll .roll-button-physical-die .photo-die-pips,
.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die .photo-die-pips{
  left:var(--br-pip-left,16%)!important;top:var(--br-pip-top,24%)!important;
  width:var(--br-pip-width,58%)!important;height:var(--br-pip-height,60%)!important;z-index:4!important;
}
#lrPrimaryRoll .roll-button-physical-die .photo-die-pips i,
.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die .photo-die-pips i{
  width:5px!important;min-width:5px!important;max-width:5px!important;height:5px!important;min-height:5px!important;max-height:5px!important;
}
#lrPrimaryRoll .roll-button-physical-die.neutral-roll-preview .photo-die-pips,
.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die.neutral-roll-preview .photo-die-pips{display:none!important}
#lrPrimaryRoll .roll-button-physical-die.dice-finish-effect-matte .photoreal-die-shell,
.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die.dice-finish-effect-matte .photoreal-die-shell{filter:saturate(.82) contrast(.96) brightness(.91) drop-shadow(0 2px 2px rgba(0,0,0,.56))!important}
#lrPrimaryRoll .roll-button-physical-die.dice-finish-effect-gloss .photoreal-die-shell,
.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die.dice-finish-effect-gloss .photoreal-die-shell{filter:saturate(1.08) contrast(1.06) brightness(1.04) drop-shadow(0 2px 2px rgba(0,0,0,.56))!important}
#lrPrimaryRoll .roll-button-physical-die.dice-finish-effect-prestige .photoreal-die-shell,
.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die.dice-finish-effect-prestige .photoreal-die-shell{filter:saturate(1.03) contrast(1.13) brightness(1.07) drop-shadow(0 0 4px rgba(238,210,132,.28)) drop-shadow(0 2px 2px rgba(0,0,0,.58))!important}
@media(max-width:430px){
  #lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{width:68px!important;min-width:68px!important;max-width:68px!important;height:37px!important}
  #lrPrimaryRoll .roll-button-physical-die.actual-equipped-die,.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die.actual-equipped-die{width:32px!important;height:30px!important;min-width:32px!important;min-height:30px!important;max-width:32px!important;max-height:30px!important;flex-basis:32px!important}
  #lrPrimaryRoll .roll-button-physical-die .photo-die-pips i,.pr-bottom-nav>.lr-primary-roll .roll-button-physical-die .photo-die-pips i{width:4.6px!important;min-width:4.6px!important;max-width:4.6px!important;height:4.6px!important;min-height:4.6px!important;max-height:4.6px!important}
}

/* ============================================================
   BORDER RUN v4.2.10cb — MINIATURE DEPTH + CONTINUOUS ZOOM + CLEAN DICE HUD
   Final overrides for the live local pawn and permanent Roll control.
   ============================================================ */

/* The live car now has two alpha-preserving depth copies beneath the hero
   artwork. This creates a shallow physical body thickness rather than a lone
   transparent photograph floating above the map. */
.board-piece-2p5d .piece-body-depth{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;
  pointer-events:none!important;z-index:7!important;opacity:.72!important;
  filter:brightness(.34) saturate(.74) contrast(1.12)!important;
  transform-origin:50% 74%!important;
}
.board-piece-2p5d .piece-body-depth-deep{transform:translate3d(5px,7px,4px) scale(.992)!important;opacity:.48!important;filter:brightness(.20) saturate(.55) contrast(1.2)!important}
.board-piece-2p5d .piece-body-depth-mid{transform:translate3d(2.6px,3.8px,9px) scale(.998)!important;opacity:.72!important;filter:brightness(.38) saturate(.70) contrast(1.12)!important}
.board-piece-2p5d .piece-miniature-base{
  display:block!important;position:absolute!important;left:9%!important;right:9%!important;bottom:1%!important;height:24%!important;
  border-radius:50%!important;z-index:2!important;pointer-events:none!important;
  background:radial-gradient(ellipse at center,rgba(34,40,39,.84) 0 42%,rgba(12,16,16,.74) 43% 57%,rgba(3,5,5,.16) 70%,transparent 78%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 7px 7px rgba(0,0,0,.34)!important;
  transform:perspective(170px) rotateX(69deg) translateY(4px)!important;
  opacity:.76!important;
}
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell>img{z-index:12!important;filter:drop-shadow(0 5px 3px rgba(0,0,0,.20)) contrast(1.04) saturate(1.05)!important}
.board-piece-2p5d .piece-volume-shadow{z-index:8!important;opacity:.44!important}
.board-piece-2p5d .piece-top-glint{z-index:20!important;opacity:.36!important}
.board-piece-2p5d .piece-contact-shadow{bottom:2%!important;height:15%!important;opacity:.62!important;filter:blur(7px)!important}

/* Keep the board-camera perspective fixed. The miniature itself never turns
   sideways with a north/south road; only its small directional footprint does. */
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(440px) rotateX(8deg) rotateZ(0deg) translateY(-3px)!important;
  transform-origin:50% 74%!important;
}
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell>img,
.board-piece-2p5d .piece-body-depth{transform-origin:50% 74%!important}
.lr-master-player-piece.master-moving .board-piece-2p5d .piece-3d-motion.drive-illusion-shell,
.board-moving-piece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(440px) rotateX(7deg) rotateZ(0deg) translateY(-6px) scale(1.04)!important;
}
.board-piece-2p5d .piece-road-lane{transform:translateZ(-2px) rotate(var(--piece-route-angle,0deg))!important}

/* The physical pawn is allowed to become a real close-up object. No old max
   width/height rule may cancel the JS zoom multiplier. */
.lr-map-zoom-stage .lr-master-player-piece.lr-art-player:not(.master-moving){
  transform:translate(-50%,-50%) scale(var(--lr-player-piece-scale,1))!important;
  transform-origin:50% 74%!important;will-change:transform!important;
}
.lr-map-zoom-stage .lr-master-player-piece.lr-art-player:not(.master-moving)>.board-piece-2p5d{
  transform:none!important;max-width:none!important;max-height:none!important;
}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player{z-index:1450!important}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player .board-piece-2p5d{
  filter:drop-shadow(0 14px 10px rgba(0,0,0,.58))!important;
}

/* Bottom VEHICLE preview is a compact copy of the same miniature, without any
   route rotation or independent fallback renderer. */
.pr-bottom-nav .live-vehicle-nav-piece>.board-piece-2p5d,
#lrVehicleNavPiece>.board-piece-2p5d,
#mobileVehicleNavPiece>.board-piece-2p5d{transform:none!important;filter:none!important}
.pr-bottom-nav .live-vehicle-nav-piece .piece-miniature-base,
#lrVehicleNavPiece .piece-miniature-base,#mobileVehicleNavPiece .piece-miniature-base{opacity:.54!important}

/* Clean bottom-right dice. The HUD no longer lays pips over an angled promo
   image. It draws the actual last face on a square physical face using the
   exact equipped skin palette and finish/color variant. */
#lrPrimaryRoll>span.roll-dice-icon,
.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon,
#sideRollBtn>span.roll-dice-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  width:68px!important;min-width:68px!important;max-width:68px!important;height:38px!important;overflow:visible!important;
}
#lrPrimaryRoll .hud-equipped-die,
.pr-bottom-nav>.lr-primary-roll .hud-equipped-die,
#sideRollBtn .hud-equipped-die{
  position:relative!important;display:block!important;flex:0 0 30px!important;width:30px!important;height:30px!important;
  min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;
  padding:0!important;margin:0!important;border:0!important;background:transparent!important;overflow:visible!important;
  transform:none!important;filter:none!important;box-shadow:none!important;isolation:isolate!important;
}
#lrPrimaryRoll .hud-die-face,
.pr-bottom-nav>.lr-primary-roll .hud-die-face,
#sideRollBtn .hud-die-face{
  position:absolute!important;inset:0!important;border-radius:7px!important;z-index:2!important;
  background:var(--hud-die-surface)!important;border:1.4px solid var(--hud-die-edge)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.30),inset 0 -2px 3px rgba(0,0,0,.30),0 2px 3px rgba(0,0,0,.52)!important;
}
#lrPrimaryRoll .hud-die-face::before,
.pr-bottom-nav>.lr-primary-roll .hud-die-face::before,
#sideRollBtn .hud-die-face::before{
  content:""!important;position:absolute!important;inset:2px!important;border-radius:5px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.20),transparent 36%,rgba(0,0,0,.09) 74%,rgba(0,0,0,.22))!important;
  pointer-events:none!important;
}
#lrPrimaryRoll .hud-die-shine,
.pr-bottom-nav>.lr-primary-roll .hud-die-shine,
#sideRollBtn .hud-die-shine{position:absolute!important;left:5px!important;top:4px!important;width:12px!important;height:7px!important;border-radius:50%!important;background:rgba(255,255,255,.18)!important;filter:blur(2px)!important;z-index:3!important;pointer-events:none!important}
#lrPrimaryRoll .dice-finish-effect-matte .hud-die-shine,
.pr-bottom-nav>.lr-primary-roll .dice-finish-effect-matte .hud-die-shine,
#sideRollBtn .dice-finish-effect-matte .hud-die-shine{opacity:.12!important}
#lrPrimaryRoll .dice-finish-effect-gloss .hud-die-shine,
.pr-bottom-nav>.lr-primary-roll .dice-finish-effect-gloss .hud-die-shine,
#sideRollBtn .dice-finish-effect-gloss .hud-die-shine{opacity:.86!important;background:rgba(255,255,255,.42)!important}
#lrPrimaryRoll .dice-finish-effect-prestige .hud-die-face,
.pr-bottom-nav>.lr-primary-roll .dice-finish-effect-prestige .hud-die-face,
#sideRollBtn .dice-finish-effect-prestige .hud-die-face{box-shadow:inset 0 1px 2px rgba(255,255,255,.46),inset 0 -2px 3px rgba(0,0,0,.28),0 0 6px rgba(238,209,123,.28),0 2px 3px rgba(0,0,0,.52)!important}
#lrPrimaryRoll .hud-pip,
.pr-bottom-nav>.lr-primary-roll .hud-pip,
#sideRollBtn .hud-pip{
  position:absolute!important;width:5px!important;height:5px!important;border-radius:50%!important;z-index:5!important;
  background:var(--br-die-pip,#fff)!important;box-shadow:inset 0 .7px .7px var(--br-die-pip-shine,rgba(255,255,255,.55)),inset 0 -.8px .8px var(--br-die-pip-shade,rgba(0,0,0,.55)),0 0 1px var(--br-die-pip-glow,rgba(255,255,255,.25))!important;
  transform:translate(-50%,-50%)!important;
}
#lrPrimaryRoll .hud-pip.tl,.pr-bottom-nav>.lr-primary-roll .hud-pip.tl,#sideRollBtn .hud-pip.tl{left:27%!important;top:27%!important}
#lrPrimaryRoll .hud-pip.tr,.pr-bottom-nav>.lr-primary-roll .hud-pip.tr,#sideRollBtn .hud-pip.tr{left:73%!important;top:27%!important}
#lrPrimaryRoll .hud-pip.ml,.pr-bottom-nav>.lr-primary-roll .hud-pip.ml,#sideRollBtn .hud-pip.ml{left:27%!important;top:50%!important}
#lrPrimaryRoll .hud-pip.c,.pr-bottom-nav>.lr-primary-roll .hud-pip.c,#sideRollBtn .hud-pip.c{left:50%!important;top:50%!important}
#lrPrimaryRoll .hud-pip.mr,.pr-bottom-nav>.lr-primary-roll .hud-pip.mr,#sideRollBtn .hud-pip.mr{left:73%!important;top:50%!important}
#lrPrimaryRoll .hud-pip.bl,.pr-bottom-nav>.lr-primary-roll .hud-pip.bl,#sideRollBtn .hud-pip.bl{left:27%!important;top:73%!important}
#lrPrimaryRoll .hud-pip.br,.pr-bottom-nav>.lr-primary-roll .hud-pip.br,#sideRollBtn .hud-pip.br{left:73%!important;top:73%!important}
#lrPrimaryRoll .hud-equipped-die.neutral-roll-preview .hud-die-face::after,
.pr-bottom-nav>.lr-primary-roll .hud-equipped-die.neutral-roll-preview .hud-die-face::after,
#sideRollBtn .hud-equipped-die.neutral-roll-preview .hud-die-face::after{
  content:"•"!important;position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;color:var(--br-die-pip,#fff)!important;font:900 18px/1 Arial,sans-serif!important;opacity:.58!important;
}
@media(max-width:430px){
  #lrPrimaryRoll .hud-equipped-die,.pr-bottom-nav>.lr-primary-roll .hud-equipped-die{width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;max-width:29px!important;max-height:29px!important;flex-basis:29px!important}
  #lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{width:65px!important;min-width:65px!important;max-width:65px!important}
}

/* ============================================================
   BORDER RUN v4.2.10cd — SINGLE-IMAGE MINIATURE + PHYSICAL HUD DICE
   Rollback the failed stacked-photo depth experiment. One authoritative
   vehicle image, one base, one shadow. Overview compact; zoom = inspection.
   ============================================================ */

/* Failed CB depth copies are retired completely. */
.board-piece-2p5d .piece-body-depth{display:none!important;visibility:hidden!important;opacity:0!important}

/* One authoritative car image. Never clone/ghost the vehicle for depth. */
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell>img:not(.piece-body-depth){
  display:block!important;visibility:visible!important;opacity:1!important;
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center 60%!important;padding:0!important;margin:0!important;
  z-index:18!important;transform:translateZ(18px) perspective(420px) rotateX(6deg) translateY(-2px)!important;
  transform-origin:50% 72%!important;
  filter:drop-shadow(0 5px 3px rgba(0,0,0,.30)) contrast(1.035) saturate(1.04)!important;
}

/* Physical board-game footprint: shallow pedestal, no copied car art. */
.board-piece-2p5d .piece-miniature-base{
  display:block!important;position:absolute!important;left:15%!important;right:15%!important;bottom:2%!important;height:18%!important;
  z-index:3!important;border-radius:50%!important;pointer-events:none!important;
  background:radial-gradient(ellipse at 50% 38%,rgba(105,118,112,.46) 0 32%,rgba(28,34,33,.88) 35% 56%,rgba(7,10,10,.95) 58% 67%,rgba(0,0,0,0) 73%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 5px 8px rgba(0,0,0,.42)!important;
  transform:perspective(170px) rotateX(72deg) translateY(5px)!important;opacity:.72!important;
}
.board-piece-2p5d .piece-volume-shadow{
  display:block!important;position:absolute!important;left:12%!important;right:12%!important;bottom:5%!important;height:14%!important;
  z-index:4!important;border-radius:50%!important;background:rgba(0,0,0,.62)!important;
  filter:blur(6px)!important;opacity:.72!important;transform:none!important;
  -webkit-mask-image:none!important;mask-image:none!important;
}
.board-piece-2p5d .piece-top-glint{z-index:23!important;opacity:.28!important;transform:translateZ(22px)!important}
.board-piece-2p5d .piece-contact-shadow{left:19%!important;right:19%!important;bottom:5%!important;height:11%!important;filter:blur(7px)!important;opacity:.55!important}
.board-piece-2p5d .piece-plinth{display:none!important}

/* Camera remains at a consistent elevated 3/4 presentation. Only the small
   road-direction cue rotates with travel; the car image itself never goes edge-on. */
.board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(420px) rotateX(7deg) rotateZ(0deg) translateY(-2px)!important;
  transform-origin:50% 72%!important;overflow:visible!important;
}
.board-piece-2p5d .piece-road-lane{
  left:18%!important;right:18%!important;bottom:6%!important;height:8%!important;opacity:.48!important;
  transform:translateZ(-2px) rotate(var(--piece-route-angle,0deg))!important;
}

/* Compact overview footprint. The JS scale now grows from ~0.92 at fit to
   ~3.70 at maximum zoom, so the vehicle visibly enlarges as the user zooms in. */
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:92px!important;height:62px!important;min-width:92px!important;min-height:62px!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.android-virtual-landscape .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:86px!important;height:58px!important;min-width:86px!important;min-height:58px!important;
}
.lr-map-zoom-stage .lr-master-player-piece.lr-art-player:not(.master-moving){
  transform:translate(-50%,-50%) scale(var(--lr-player-piece-scale,1))!important;
  transform-origin:50% 72%!important;will-change:transform!important;
}
.lr-master-player-piece.master-moving>.board-piece-2p5d,
.board-moving-piece>.board-piece-2p5d{transform:scale(1.08)!important;transform-origin:50% 72%!important}
.lr-master-player-piece.master-moving .board-piece-2p5d .piece-3d-motion.drive-illusion-shell,
.board-moving-piece .board-piece-2p5d .piece-3d-motion.drive-illusion-shell{
  transform:perspective(420px) rotateX(6deg) translateY(-4px) scale(1.015)!important;
}

/* Bottom VEHICLE tile gets the same single-image miniature but no map zoom. */
.pr-bottom-nav .live-vehicle-nav-piece,
#lrVehicleNavPiece.live-vehicle-nav-piece,
#mobileVehicleNavPiece.live-vehicle-nav-piece{width:72px!important;height:44px!important;max-width:72px!important;max-height:44px!important}
.pr-bottom-nav .live-vehicle-nav-piece>.board-piece-2p5d,
#lrVehicleNavPiece>.board-piece-2p5d,
#mobileVehicleNavPiece>.board-piece-2p5d{width:70px!important;height:44px!important;min-width:70px!important;min-height:44px!important;transform:none!important;filter:none!important}
.pr-bottom-nav .live-vehicle-nav-piece .piece-miniature-base,
#lrVehicleNavPiece .piece-miniature-base,#mobileVehicleNavPiece .piece-miniature-base{opacity:.50!important}

/* Permanent ROLL HUD: exact equipped skin asset, selected finish tint and saved
   face pips. No generic white square and no promotional art composite. */
#lrPrimaryRoll>span.roll-dice-icon,
.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon,
#sideRollBtn>span.roll-dice-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  width:68px!important;min-width:68px!important;max-width:68px!important;height:38px!important;overflow:visible!important;
}
#lrPrimaryRoll .physical-hud-die,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die,
#sideRollBtn .physical-hud-die{
  position:relative!important;display:block!important;flex:0 0 32px!important;width:32px!important;height:32px!important;
  min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;
  padding:0!important;margin:0!important;border:0!important;background:transparent!important;overflow:visible!important;
  transform:none!important;filter:none!important;box-shadow:none!important;isolation:isolate!important;
}
#lrPrimaryRoll .physical-hud-die .hud-die-photo,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-die-photo,
#sideRollBtn .physical-hud-die .hud-die-photo{
  position:absolute!important;inset:-2px!important;width:36px!important;height:36px!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;display:block!important;opacity:1!important;visibility:visible!important;
  z-index:1!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.52))!important;
}
#lrPrimaryRoll .physical-hud-die .hud-die-tint,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-die-tint,
#sideRollBtn .physical-hud-die .hud-die-tint{
  position:absolute!important;inset:-1px!important;z-index:2!important;pointer-events:none!important;
  background:var(--hud-variant-tint,#b9453c)!important;opacity:.24!important;mix-blend-mode:color!important;
  -webkit-mask-image:var(--hud-die-image)!important;mask-image:var(--hud-die-image)!important;
  -webkit-mask-size:contain!important;mask-size:contain!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;mask-position:center!important;
}
#lrPrimaryRoll .physical-hud-die.dice-finish-effect-matte .hud-die-photo,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die.dice-finish-effect-matte .hud-die-photo,
#sideRollBtn .physical-hud-die.dice-finish-effect-matte .hud-die-photo{filter:saturate(.78) contrast(.94) brightness(.90) drop-shadow(0 2px 2px rgba(0,0,0,.52))!important}
#lrPrimaryRoll .physical-hud-die.dice-finish-effect-gloss .hud-die-photo,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die.dice-finish-effect-gloss .hud-die-photo,
#sideRollBtn .physical-hud-die.dice-finish-effect-gloss .hud-die-photo{filter:saturate(1.08) contrast(1.05) brightness(1.04) drop-shadow(0 2px 2px rgba(0,0,0,.52))!important}
#lrPrimaryRoll .physical-hud-die.dice-finish-effect-prestige .hud-die-photo,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die.dice-finish-effect-prestige .hud-die-photo,
#sideRollBtn .physical-hud-die.dice-finish-effect-prestige .hud-die-photo{filter:saturate(.92) contrast(1.10) brightness(1.08) drop-shadow(0 0 4px rgba(239,210,130,.35)) drop-shadow(0 2px 2px rgba(0,0,0,.55))!important}
#lrPrimaryRoll .physical-hud-die .hud-die-pips,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-die-pips,
#sideRollBtn .physical-hud-die .hud-die-pips{
  position:absolute!important;left:13%!important;top:16%!important;width:64%!important;height:64%!important;z-index:5!important;pointer-events:none!important;
}
#lrPrimaryRoll .physical-hud-die .hud-pip,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip,
#sideRollBtn .physical-hud-die .hud-pip{
  position:absolute!important;width:4.2px!important;height:4.2px!important;border-radius:50%!important;
  background:var(--br-die-pip,#18140d)!important;border:0!important;
  box-shadow:0 .4px .5px rgba(255,255,255,.42),inset 0 0 0 .55px rgba(0,0,0,.48)!important;
  transform:translate(-50%,-50%)!important;
}
#lrPrimaryRoll .physical-hud-die .hud-pip.tl,.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip.tl,#sideRollBtn .physical-hud-die .hud-pip.tl{left:25%!important;top:25%!important}
#lrPrimaryRoll .physical-hud-die .hud-pip.tr,.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip.tr,#sideRollBtn .physical-hud-die .hud-pip.tr{left:75%!important;top:25%!important}
#lrPrimaryRoll .physical-hud-die .hud-pip.ml,.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip.ml,#sideRollBtn .physical-hud-die .hud-pip.ml{left:25%!important;top:50%!important}
#lrPrimaryRoll .physical-hud-die .hud-pip.c,.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip.c,#sideRollBtn .physical-hud-die .hud-pip.c{left:50%!important;top:50%!important}
#lrPrimaryRoll .physical-hud-die .hud-pip.mr,.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip.mr,#sideRollBtn .physical-hud-die .hud-pip.mr{left:75%!important;top:50%!important}
#lrPrimaryRoll .physical-hud-die .hud-pip.bl,.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip.bl,#sideRollBtn .physical-hud-die .hud-pip.bl{left:25%!important;top:75%!important}
#lrPrimaryRoll .physical-hud-die .hud-pip.br,.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip.br,#sideRollBtn .physical-hud-die .hud-pip.br{left:75%!important;top:75%!important}
#lrPrimaryRoll .physical-hud-die.neutral-roll-preview .hud-die-pips,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die.neutral-roll-preview .hud-die-pips,
#sideRollBtn .physical-hud-die.neutral-roll-preview .hud-die-pips{display:none!important}
@media(max-width:430px){
  body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{width:86px!important;height:58px!important;min-width:86px!important;min-height:58px!important}
  #lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{width:64px!important;min-width:64px!important;max-width:64px!important}
  #lrPrimaryRoll .physical-hud-die,.pr-bottom-nav>.lr-primary-roll .physical-hud-die{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;flex-basis:30px!important}
  #lrPrimaryRoll .physical-hud-die .hud-die-photo,.pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-die-photo{width:34px!important;height:34px!important}
}

/* ============================================================
   BORDER RUN v4.2.10cd — HARD RENDERER RESET
   One vehicle renderer everywhere + one clean HUD dice renderer.
   Legacy pawn/dice presentation is intentionally overridden below.
   ============================================================ */

/* --- ONE AUTHORITATIVE VEHICLE MINIATURE --- */
.unified-vehicle-piece{
  position:relative!important;display:block!important;width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;overflow:visible!important;background:none!important;border:0!important;
  filter:none!important;transform:none!important;isolation:isolate!important;
}
.unified-vehicle-piece>.unified-miniature-shell{
  position:absolute!important;inset:0!important;display:block!important;overflow:visible!important;
  transform:perspective(460px) rotateX(7deg) translateY(-2px)!important;transform-origin:50% 72%!important;
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
}
.unified-vehicle-piece .miniature-vehicle-image{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center 58%!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  mask:none!important;-webkit-mask:none!important;filter:drop-shadow(0 4px 2px rgba(0,0,0,.30)) contrast(1.04) saturate(1.04)!important;
  z-index:20!important;transform:translateZ(18px)!important;transform-origin:50% 72%!important;
}
.unified-vehicle-piece .miniature-pedestal{
  position:absolute!important;left:18%!important;right:18%!important;bottom:4%!important;height:18%!important;display:block!important;
  border-radius:50%!important;z-index:4!important;pointer-events:none!important;
  background:radial-gradient(ellipse at center,rgba(57,61,58,.82) 0 43%,rgba(16,19,18,.74) 44% 61%,rgba(3,4,4,.06) 76%,transparent 80%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 5px 7px rgba(0,0,0,.38)!important;
  transform:perspective(170px) rotateX(71deg) translateY(5px)!important;opacity:.72!important;
}
.unified-vehicle-piece .miniature-contact-shadow{
  position:absolute!important;left:20%!important;right:20%!important;bottom:7%!important;height:12%!important;display:block!important;
  border-radius:50%!important;z-index:3!important;background:rgba(0,0,0,.62)!important;filter:blur(6px)!important;opacity:.66!important;
  pointer-events:none!important;
}
.unified-vehicle-piece .miniature-road-cue{
  position:absolute!important;left:28%!important;right:28%!important;bottom:3%!important;height:5%!important;border-radius:99px!important;
  z-index:2!important;background:linear-gradient(90deg,transparent,rgba(239,212,128,.42) 25%,rgba(255,255,255,.18) 50%,rgba(239,212,128,.42) 75%,transparent)!important;
  transform:rotate(var(--piece-route-angle,0deg)) translateZ(-2px)!important;opacity:.42!important;filter:blur(.4px)!important;
}

/* Paint is inside the same shell as the actual image, using that image as mask. */
.unified-vehicle-piece.paint-masked .unified-miniature-shell>.render-paint-layer{
  position:absolute!important;inset:0!important;display:block!important;z-index:22!important;pointer-events:none!important;
  background:var(--vehicle-paint,#d8c9a3)!important;opacity:var(--vehicle-paint-opacity,.56)!important;mix-blend-mode:color!important;
  -webkit-mask-image:var(--piece-image)!important;mask-image:var(--piece-image)!important;
  -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-size:contain!important;mask-size:contain!important;
  -webkit-mask-position:center 58%!important;mask-position:center 58%!important;
}
.unified-vehicle-piece.paint-cream{--vehicle-paint-opacity:.08!important}
.unified-vehicle-piece.paint-copperdust{--vehicle-paint-opacity:.54!important}
.unified-vehicle-piece.paint-neonwave{--vehicle-paint-opacity:.60!important}
.unified-vehicle-piece.paint-highplains{--vehicle-paint-opacity:.54!important}
.unified-vehicle-piece.paint-gulfsunset{--vehicle-paint-opacity:.58!important}
.unified-vehicle-piece.paint-desertrunner{--vehicle-paint-opacity:.52!important}
.unified-vehicle-piece .piece-clearcoat{position:absolute!important;inset:0!important;z-index:24!important;pointer-events:none!important;opacity:.24!important;mix-blend-mode:screen!important}
.unified-vehicle-piece .piece-glass-plane{z-index:25!important;pointer-events:none!important}

/* Rims are inserts at the calibrated wheel centers — never tire-sized circles. */
.unified-vehicle-piece .piece-rim-mod-layer{position:absolute!important;inset:0!important;z-index:30!important;pointer-events:none!important}
.unified-vehicle-piece .piece-rim-custom{position:absolute!important;display:block!important;border-radius:50%!important;transform:translate(-50%,-50%)!important;opacity:0!important;box-sizing:border-box!important}
.unified-vehicle-piece .piece-rim-a{left:var(--mod-rim-a-x,-20%)!important;top:var(--mod-rim-a-y,-20%)!important;width:calc(var(--mod-rim-a-d,0%) * .56)!important;aspect-ratio:1!important;opacity:var(--mod-rim-a-show,0)!important}
.unified-vehicle-piece .piece-rim-b{left:var(--mod-rim-b-x,-20%)!important;top:var(--mod-rim-b-y,-20%)!important;width:calc(var(--mod-rim-b-d,0%) * .56)!important;aspect-ratio:1!important;opacity:var(--mod-rim-b-show,0)!important}
.unified-vehicle-piece .piece-rim-c{left:var(--mod-rim-c-x,-20%)!important;top:var(--mod-rim-c-y,-20%)!important;width:calc(var(--mod-rim-c-d,0%) * .56)!important;aspect-ratio:1!important;opacity:var(--mod-rim-c-show,0)!important}
.unified-vehicle-piece .piece-rim-d{left:var(--mod-rim-d-x,-20%)!important;top:var(--mod-rim-d-y,-20%)!important;width:calc(var(--mod-rim-d-d,0%) * .56)!important;aspect-ratio:1!important;opacity:var(--mod-rim-d-show,0)!important}
.unified-vehicle-piece.mod-rims-steelies .piece-rim-custom{display:none!important}
.unified-vehicle-piece.mod-rims-chrome .piece-rim-custom{background:radial-gradient(circle,#171b1c 0 16%,#f7ffff 18% 29%,#78878d 32% 43%,#e9f0f2 45% 55%,#23282a 58% 100%)!important;box-shadow:0 0 2px rgba(255,255,255,.7)!important}
.unified-vehicle-piece.mod-rims-gold .piece-rim-custom{background:repeating-conic-gradient(from 0deg,#f7d765 0 7deg,#8a5b17 8deg 13deg,#f5d05b 14deg 20deg)!important;border:1px solid rgba(255,224,119,.8)!important;box-shadow:inset 0 0 0 2px rgba(65,39,7,.72)!important}
.unified-vehicle-piece.mod-rims-nightwatch .piece-rim-custom{background:radial-gradient(circle,#5de8d9 0 12%,#11191a 14% 44%,#5de8d9 46% 54%,#050707 57% 100%)!important;box-shadow:0 0 4px rgba(75,231,215,.72)!important}

/* Body/lighting layers remain inside the unified miniature shell. */
.unified-vehicle-piece .piece-body-mod-layer,.unified-vehicle-piece .piece-engine-glow,
.unified-vehicle-piece .piece-running-lights,.unified-vehicle-piece .piece-marker-run,
.unified-vehicle-piece .piece-emergency-lights,.unified-vehicle-piece .piece-exhaust-haze{z-index:32!important;pointer-events:none!important}

/* Retire old pseudo-depth layers in every context. */
.unified-vehicle-piece .piece-plinth,.unified-vehicle-piece .piece-shadow,.unified-vehicle-piece .token3d-ground,
.unified-vehicle-piece .piece-depth,.unified-vehicle-piece .piece-chassis,.unified-vehicle-piece .piece-wheel,
.unified-vehicle-piece .piece-volume-shadow,.unified-vehicle-piece .piece-top-glint,.unified-vehicle-piece .piece-body-depth,
.unified-vehicle-piece .piece-contact-shadow,.unified-vehicle-piece .piece-road-lane,.unified-vehicle-piece .piece-motion-rush{display:none!important}

/* One authored size. Every context gets this renderer, only context scale changes. */
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:78px!important;height:54px!important;min-width:78px!important;min-height:54px!important;max-width:none!important;max-height:none!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.android-virtual-landscape .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:72px!important;height:50px!important;min-width:72px!important;min-height:50px!important;max-width:none!important;max-height:none!important;
}
.lr-map-zoom-stage .lr-master-player-piece.lr-art-player:not(.master-moving){
  transform:translate(-50%,-50%) scale(var(--lr-player-piece-scale,1))!important;transform-origin:50% 72%!important;will-change:transform!important;
}
.lr-master-player-piece.master-moving>.unified-vehicle-piece,.board-moving-piece>.unified-vehicle-piece{transform:scale(1.08)!important;transform-origin:50% 72%!important}
.lr-master-player-piece.master-moving .unified-miniature-shell,.board-moving-piece .unified-miniature-shell{transform:perspective(460px) rotateX(6deg) translateY(-4px)!important}
.lr-map-zoom-stage.piece-detail-zoom .lr-master-player-piece.lr-art-player{z-index:1500!important}
.lr-map-zoom-stage.piece-detail-zoom .unified-vehicle-piece .piece-rim-custom,
.lr-map-zoom-stage.piece-detail-zoom .unified-vehicle-piece .piece-body-mod-layer,
.lr-map-zoom-stage.piece-detail-zoom .unified-vehicle-piece .render-paint-layer{filter:brightness(1.08) saturate(1.08)!important}

/* Bottom VEHICLE tile is the same renderer, not a separate preview asset. */
.pr-bottom-nav .live-vehicle-nav-piece,#lrVehicleNavPiece.live-vehicle-nav-piece,#mobileVehicleNavPiece.live-vehicle-nav-piece{
  width:68px!important;height:44px!important;max-width:68px!important;max-height:44px!important;overflow:visible!important
}
.pr-bottom-nav .live-vehicle-nav-piece>.unified-vehicle-piece,#lrVehicleNavPiece>.unified-vehicle-piece,#mobileVehicleNavPiece>.unified-vehicle-piece{
  width:68px!important;height:44px!important;min-width:68px!important;min-height:44px!important;transform:none!important;filter:none!important
}
#tablePawnArt>.unified-vehicle-piece{width:96px!important;height:64px!important;min-width:96px!important;min-height:64px!important}

/* --- ONE CLEAN EQUIPPED-DICE HUD --- */
#lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon,#sideRollBtn>span.roll-dice-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:70px!important;min-width:70px!important;max-width:70px!important;height:40px!important;overflow:visible!important;
}
.hud-cube-die{
  position:relative!important;display:block!important;flex:0 0 27px!important;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;
  transform:translateY(2px) rotate(-2deg)!important;filter:drop-shadow(0 3px 2px rgba(0,0,0,.58))!important;overflow:visible!important;
}
.hud-cube-die:nth-child(2){transform:translateY(0) rotate(3deg)!important}
.hud-cube-front{position:absolute!important;left:2px!important;top:3px!important;width:25px!important;height:25px!important;border-radius:6px!important;z-index:4!important;background:var(--hud-die-surface)!important;border:1.4px solid var(--hud-die-edge)!important;box-shadow:inset 0 1px 2px rgba(255,255,255,.34),inset 0 -3px 4px rgba(0,0,0,.24)!important}
.hud-cube-top{position:absolute!important;left:5px!important;top:-2px!important;width:22px!important;height:7px!important;z-index:3!important;border-radius:4px 4px 1px 1px!important;background:var(--hud-die-surface)!important;border:1px solid var(--hud-die-edge)!important;transform:skewX(-38deg)!important;filter:brightness(1.18)!important}
.hud-cube-right{position:absolute!important;right:-3px!important;top:5px!important;width:7px!important;height:21px!important;z-index:2!important;border-radius:1px 4px 4px 1px!important;background:var(--hud-die-surface)!important;border:1px solid var(--hud-die-edge)!important;transform:skewY(-38deg)!important;filter:brightness(.72)!important}
.hud-cube-shine{position:absolute!important;left:7px!important;top:6px!important;width:10px!important;height:5px!important;border-radius:50%!important;background:rgba(255,255,255,.28)!important;filter:blur(1.6px)!important;z-index:6!important;pointer-events:none!important}
.hud-cube-pips{position:absolute!important;inset:0!important;z-index:7!important;pointer-events:none!important}
.hud-cube-die .hud-pip{position:absolute!important;width:4.5px!important;height:4.5px!important;border-radius:50%!important;background:var(--br-die-pip,#fff)!important;box-shadow:inset 0 .6px .6px var(--br-die-pip-shine,rgba(255,255,255,.5)),inset 0 -.8px .8px var(--br-die-pip-shade,rgba(0,0,0,.55)),0 0 1px var(--br-die-pip-glow,rgba(255,255,255,.22))!important;transform:translate(-50%,-50%)!important}
.hud-cube-die .hud-pip.tl{left:27%!important;top:27%!important}.hud-cube-die .hud-pip.tr{left:73%!important;top:27%!important}
.hud-cube-die .hud-pip.ml{left:27%!important;top:50%!important}.hud-cube-die .hud-pip.c{left:50%!important;top:50%!important}.hud-cube-die .hud-pip.mr{left:73%!important;top:50%!important}
.hud-cube-die .hud-pip.bl{left:27%!important;top:73%!important}.hud-cube-die .hud-pip.br{left:73%!important;top:73%!important}
.hud-cube-die.neutral-roll-preview .hud-cube-front::after{content:"·"!important;position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;color:var(--br-die-pip,#fff)!important;font:900 18px/1 Arial,sans-serif!important;opacity:.55!important}
.hud-cube-die.dice-finish-effect-matte .hud-cube-shine{opacity:.10!important}.hud-cube-die.dice-finish-effect-gloss .hud-cube-shine{opacity:.9!important;background:rgba(255,255,255,.44)!important}.hud-cube-die.dice-finish-effect-prestige{filter:drop-shadow(0 0 4px rgba(241,211,120,.30)) drop-shadow(0 3px 2px rgba(0,0,0,.58))!important}
/* Old photo/cube HUD implementations cannot reappear through legacy CSS. */
#lrPrimaryRoll .physical-hud-die,.pr-bottom-nav>.lr-primary-roll .physical-hud-die,#sideRollBtn .physical-hud-die,
#lrPrimaryRoll .hud-equipped-die:not(.hud-cube-die),.pr-bottom-nav>.lr-primary-roll .hud-equipped-die:not(.hud-cube-die),#sideRollBtn .hud-equipped-die:not(.hud-cube-die){display:none!important}

@media(max-width:430px){
  body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{width:74px!important;height:51px!important;min-width:74px!important;min-height:51px!important}
  #lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{width:66px!important;min-width:66px!important;max-width:66px!important;gap:5px!important}
  .hud-cube-die{flex-basis:25px!important;width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important}
  .hud-cube-front{width:23px!important;height:23px!important}.hud-cube-top{width:20px!important}.hud-cube-right{height:19px!important}
}

/* ============================================================
   BORDER RUN v4.2.10ce — ATLANTIC COAST + MINIATURE/DICE CORRECTION
   ============================================================ */
/* One small board miniature at overview; inspection zoom is handled by the
   existing --lr-player-piece-scale variable and remains continuous. */
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:58px!important;height:40px!important;min-width:58px!important;min-height:40px!important;max-width:none!important;max-height:none!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player,
body.android-virtual-landscape .artwork-master-renderer .lr-master-player-piece.lr-art-player{
  width:56px!important;height:39px!important;min-width:56px!important;min-height:39px!important;max-width:none!important;max-height:none!important;
}
@media(max-width:430px){body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player{width:56px!important;height:39px!important;min-width:56px!important;min-height:39px!important}}
.unified-vehicle-piece>.unified-miniature-shell{
  transform:perspective(520px) rotateX(11deg) rotateZ(-1.5deg) translateY(-1px)!important;
  transform-origin:50% 76%!important;
}
.unified-vehicle-piece .miniature-vehicle-image{
  object-position:center 60%!important;
  filter:drop-shadow(0 3px 1.5px rgba(0,0,0,.34)) contrast(1.05) saturate(1.04)!important;
  transform:translateZ(14px) translateY(-1px)!important;
}
.unified-vehicle-piece .miniature-pedestal{
  left:20%!important;right:20%!important;bottom:5%!important;height:16%!important;opacity:.56!important;
  background:radial-gradient(ellipse at center,rgba(56,61,58,.64) 0 44%,rgba(13,17,16,.58) 45% 62%,transparent 78%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 3px 5px rgba(0,0,0,.30)!important;
}
.unified-vehicle-piece .miniature-contact-shadow{left:22%!important;right:22%!important;bottom:8%!important;height:9%!important;filter:blur(4px)!important;opacity:.54!important}
/* Same unified renderer in the VEHICLE tile, scaled to fit instead of looking
   like a second unrelated photograph. */
.pr-bottom-nav .live-vehicle-nav-piece,#lrVehicleNavPiece.live-vehicle-nav-piece,#mobileVehicleNavPiece.live-vehicle-nav-piece{width:58px!important;height:39px!important;max-width:58px!important;max-height:39px!important}
.pr-bottom-nav .live-vehicle-nav-piece>.unified-vehicle-piece,#lrVehicleNavPiece>.unified-vehicle-piece,#mobileVehicleNavPiece>.unified-vehicle-piece{width:58px!important;height:39px!important;min-width:58px!important;min-height:39px!important}

/* Face-first HUD dice: deliberately unique classes so old 3D/photo/variant CSS
   cannot distort the permanent bottom-right pair. */
#lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon,#sideRollBtn>span.roll-dice-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:64px!important;min-width:64px!important;max-width:64px!important;height:38px!important;overflow:visible!important;
}
.hud-face-die{position:relative!important;display:block!important;flex:0 0 27px!important;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;background:none!important;border:0!important;box-shadow:none!important;filter:drop-shadow(0 3px 2px rgba(0,0,0,.50))!important;transform:none!important;overflow:visible!important}
.hud-face-die:nth-child(2){transform:none!important}
.hud-face-surface{position:absolute!important;inset:0!important;display:block!important;border-radius:6px!important;background:var(--hud-die-surface)!important;border:1.5px solid var(--hud-die-edge)!important;box-shadow:inset 0 1.5px 2px rgba(255,255,255,.34),inset 0 -2px 3px rgba(0,0,0,.20)!important;overflow:hidden!important}
.hud-face-pips{position:absolute!important;inset:0!important;z-index:3!important}.hud-face-pip{position:absolute!important;width:5px!important;height:5px!important;border-radius:50%!important;background:var(--br-die-pip,#fff)!important;box-shadow:inset 0 .7px .7px var(--br-die-pip-shine,rgba(255,255,255,.5)),inset 0 -.8px .8px var(--br-die-pip-shade,rgba(0,0,0,.55)),0 0 1px var(--br-die-pip-glow,rgba(255,255,255,.2))!important;transform:translate(-50%,-50%)!important}
.hud-face-pip.tl{left:27%!important;top:27%!important}.hud-face-pip.tr{left:73%!important;top:27%!important}.hud-face-pip.ml{left:27%!important;top:50%!important}.hud-face-pip.c{left:50%!important;top:50%!important}.hud-face-pip.mr{left:73%!important;top:50%!important}.hud-face-pip.bl{left:27%!important;top:73%!important}.hud-face-pip.br{left:73%!important;top:73%!important}
.hud-face-glint{position:absolute!important;left:5px!important;top:4px!important;width:11px!important;height:5px!important;border-radius:50%!important;background:rgba(255,255,255,.28)!important;filter:blur(1.3px)!important;opacity:.7!important;pointer-events:none!important}
.hud-face-die.neutral-roll-preview .hud-face-surface::after{content:"·"!important;position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;color:var(--br-die-pip,#fff)!important;font:900 18px/1 Arial,sans-serif!important;opacity:.58!important}
.hud-face-die.dice-finish-effect-matte .hud-face-glint{opacity:.08!important}.hud-face-die.dice-finish-effect-gloss .hud-face-glint{opacity:.95!important;background:rgba(255,255,255,.46)!important}.hud-face-die.dice-finish-effect-prestige{filter:drop-shadow(0 0 3px rgba(241,211,120,.28)) drop-shadow(0 3px 2px rgba(0,0,0,.5))!important}
/* Retire every older HUD dice implementation inside the permanent controls. */
#lrPrimaryRoll .hud-cube-die,#lrPrimaryRoll .physical-hud-die,#lrPrimaryRoll .hud-equipped-die:not(.hud-face-die),
.pr-bottom-nav>.lr-primary-roll .hud-cube-die,.pr-bottom-nav>.lr-primary-roll .physical-hud-die,.pr-bottom-nav>.lr-primary-roll .hud-equipped-die:not(.hud-face-die),
#sideRollBtn .hud-cube-die,#sideRollBtn .physical-hud-die,#sideRollBtn .hud-equipped-die:not(.hud-face-die){display:none!important}

/* ============================================================
   BORDER RUN v4.2.10cf — TRUE 8-VIEW 2.5D TURNAROUND VEHICLES
   Generated vehicle turnarounds are now live assets, not concept sheets.
   Ten converted vehicles switch among eight independent camera views as the
   route heading changes. Wheels steer/spin and lights follow world time.
   ============================================================ */
.turnaround-enabled{overflow:visible!important;isolation:isolate!important}
.turnaround-enabled>.turnaround-rig{
  position:absolute!important;inset:-12% -10% -8% -10%!important;display:block!important;overflow:visible!important;
  transform-style:preserve-3d!important;transform:perspective(520px) rotateX(7deg) translateZ(0)!important;transform-origin:50% 76%!important;
  --tw-front-x:34%;--tw-rear-x:77%;--tw-mid-x:64%;--tw-y:74%;--tw-size:15%;
  --th1-x:17%;--th2-x:26%;--th-y:54%;--tt1-x:82%;--tt2-x:90%;--tt-y:54%;
  --front-light-show:1;--rear-light-show:0;
}
.turnaround-rig .turnaround-body{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;z-index:10!important;filter:drop-shadow(0 5px 3px rgba(0,0,0,.46)) saturate(1.04) contrast(1.035)!important;pointer-events:none!important}
.turnaround-rig .turnaround-road-shadow{position:absolute!important;left:18%!important;right:17%!important;bottom:10%!important;height:13%!important;border-radius:50%!important;background:radial-gradient(ellipse at center,rgba(0,0,0,.62),rgba(0,0,0,.32) 47%,transparent 76%)!important;filter:blur(4px)!important;z-index:1!important;transform:translateY(4px)!important}
.turnaround-rig .turn-paint-wash{position:absolute!important;inset:0!important;z-index:12!important;background:var(--vehicle-paint,#d8c9a3)!important;opacity:var(--vehicle-paint-opacity,.42)!important;mix-blend-mode:color!important;pointer-events:none!important;-webkit-mask-image:var(--turn-image)!important;mask-image:var(--turn-image)!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-size:contain!important;mask-size:contain!important;-webkit-mask-position:center bottom!important;mask-position:center bottom!important}
.turnaround-enabled.paint-cream{--vehicle-paint-opacity:.04!important}.turnaround-enabled.paint-copperdust{--vehicle-paint-opacity:.46!important}.turnaround-enabled.paint-neonwave{--vehicle-paint-opacity:.52!important}.turnaround-enabled.paint-highplains{--vehicle-paint-opacity:.46!important}.turnaround-enabled.paint-gulfsunset{--vehicle-paint-opacity:.50!important}.turnaround-enabled.paint-desertrunner{--vehicle-paint-opacity:.44!important}

/* Wheel overlays sit on top of the authored wheels. At rest they read as the
   equipped rim. During travel they become the spinning/steering wheel plane. */
.turnaround-rig .turn-wheel{position:absolute!important;left:var(--tw-rear-x)!important;top:var(--tw-y)!important;width:var(--tw-size)!important;aspect-ratio:1!important;border-radius:50%!important;transform:translate(-50%,-50%)!important;z-index:18!important;pointer-events:none!important;opacity:.72!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))!important}
.turnaround-rig .turn-wheel-front{left:var(--tw-front-x)!important;transform:translate(-50%,-50%) rotate(var(--turn-steer,0deg))!important;transition:transform .18s ease!important}
.turnaround-rig .turn-wheel-mid{display:none!important;left:var(--tw-mid-x)!important}
.turnaround-rig .turn-rim{position:absolute!important;inset:18%!important;border-radius:50%!important;background:radial-gradient(circle,#d6dad9 0 18%,#596063 20% 38%,#e8eeee 40% 52%,#202426 55% 100%)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34),0 0 1px rgba(255,255,255,.4)!important}
.turnaround-enabled.mod-rims-steelies .turn-rim{opacity:.50!important}
.turnaround-enabled.mod-rims-chrome .turn-rim{opacity:1!important;background:repeating-conic-gradient(from 0deg,#f7ffff 0 8deg,#525b5e 9deg 14deg,#dbe6e8 15deg 22deg)!important;box-shadow:inset 0 0 0 2px #1d2223,0 0 3px rgba(255,255,255,.68)!important}
.turnaround-enabled.mod-rims-gold .turn-rim{opacity:1!important;background:repeating-conic-gradient(from 0deg,#f8d96d 0 7deg,#815512 8deg 13deg,#f3c94a 14deg 20deg)!important;box-shadow:inset 0 0 0 2px #4f3309,0 0 3px rgba(255,214,93,.62)!important}
.turnaround-enabled.mod-rims-nightwatch .turn-rim{opacity:1!important;background:radial-gradient(circle,#69efe1 0 15%,#0c1213 17% 43%,#59dcd0 45% 54%,#050707 57% 100%)!important;box-shadow:0 0 5px rgba(76,232,216,.78)!important}
.master-moving .turnaround-rig .turn-rim,.board-moving-piece .turnaround-rig .turn-rim,.moving-drive-state .turnaround-rig .turn-rim{animation:brTurnaroundWheelSpin var(--wheel-spin,.22s) linear infinite!important;filter:blur(.25px)!important}
.master-moving .turnaround-rig .turn-wheel,.board-moving-piece .turnaround-rig .turn-wheel,.moving-drive-state .turnaround-rig .turn-wheel{opacity:1!important}
@keyframes brTurnaroundWheelSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* View-specific wheel geometry. The body itself never gets rotated like a flat
   photo; yaw is represented by selecting a separately rendered vehicle view. */
.turnaround-rig[data-view="front_left"],.turnaround-rig[data-view="front_right"]{--tw-front-x:33%;--tw-rear-x:76%;--tw-y:75%;--tw-size:15%}
.turnaround-rig[data-view="rear_left"],.turnaround-rig[data-view="rear_right"]{--tw-front-x:76%;--tw-rear-x:31%;--tw-y:75%;--tw-size:14%}
.turnaround-rig[data-view="left"]{--tw-front-x:76%;--tw-rear-x:24%;--tw-y:76%;--tw-size:14%}
.turnaround-rig[data-view="right"]{--tw-front-x:24%;--tw-rear-x:76%;--tw-y:76%;--tw-size:14%}
.turnaround-rig[data-view="front"],.turnaround-rig[data-view="rear"]{--tw-front-x:72%;--tw-rear-x:28%;--tw-y:77%;--tw-size:13%}
.turnaround-enabled[data-ride-id="cbandit"] .turn-wheel-mid{display:block!important}
.turnaround-enabled[data-ride-id="cbandit"] .turnaround-rig[data-view="left"]{--tw-front-x:78%;--tw-mid-x:46%;--tw-rear-x:28%;--tw-y:77%;--tw-size:12%}
.turnaround-enabled[data-ride-id="cbandit"] .turnaround-rig[data-view="right"]{--tw-front-x:22%;--tw-mid-x:55%;--tw-rear-x:74%;--tw-y:77%;--tw-size:12%}
.turnaround-enabled[data-ride-id="cbandit"] .turnaround-rig[data-view="front_left"],.turnaround-enabled[data-ride-id="cbandit"] .turnaround-rig[data-view="front_right"]{--tw-front-x:30%;--tw-mid-x:71%;--tw-rear-x:83%;--tw-y:76%;--tw-size:11%}
.turnaround-enabled[data-ride-id="cbandit"] .turnaround-rig[data-view="rear_left"],.turnaround-enabled[data-ride-id="cbandit"] .turnaround-rig[data-view="rear_right"]{--tw-front-x:80%;--tw-mid-x:42%;--tw-rear-x:29%;--tw-y:77%;--tw-size:11%}

/* Direction-aware working lights. */
.turnaround-rig .turn-headlight,.turnaround-rig .turn-taillight,.turnaround-rig .turn-marker-light{position:absolute!important;width:5.4%!important;height:5.4%!important;border-radius:50%!important;z-index:20!important;pointer-events:none!important;opacity:0!important;mix-blend-mode:screen!important}
.turnaround-rig .turn-headlight{top:var(--th-y)!important;background:radial-gradient(circle,#fffdea 0 18%,#ffd97d 22% 42%,rgba(255,215,118,.20) 63%,transparent 76%)!important;box-shadow:0 0 4px rgba(255,229,150,.92),0 0 9px rgba(255,211,97,.52)!important}
.turnaround-rig .turn-headlight-a{left:var(--th1-x)!important}.turnaround-rig .turn-headlight-b{left:var(--th2-x)!important}
.turnaround-rig .turn-taillight{top:var(--tt-y)!important;background:radial-gradient(circle,#ff7865 0 20%,#ff2d24 25% 47%,rgba(255,44,35,.15) 66%,transparent 78%)!important;box-shadow:0 0 4px rgba(255,49,38,.9),0 0 8px rgba(255,49,38,.42)!important}
.turnaround-rig .turn-taillight-a{left:var(--tt1-x)!important}.turnaround-rig .turn-taillight-b{left:var(--tt2-x)!important}
.turnaround-rig[data-view="front"]{--front-light-show:1;--rear-light-show:0;--th1-x:39%;--th2-x:61%;--th-y:57%}
.turnaround-rig[data-view="rear"]{--front-light-show:0;--rear-light-show:1;--tt1-x:39%;--tt2-x:61%;--tt-y:57%}
.turnaround-rig[data-view="front_left"],.turnaround-rig[data-view="front_right"]{--front-light-show:1;--rear-light-show:0;--th1-x:14%;--th2-x:22%;--th-y:55%}
.turnaround-rig[data-view="rear_left"],.turnaround-rig[data-view="rear_right"]{--front-light-show:0;--rear-light-show:1;--tt1-x:16%;--tt2-x:24%;--tt-y:55%}
.turnaround-rig[data-view="left"]{--front-light-show:1;--rear-light-show:1;--th1-x:91%;--th2-x:87%;--th-y:57%;--tt1-x:8%;--tt2-x:12%;--tt-y:57%}
.turnaround-rig[data-view="right"]{--front-light-show:1;--rear-light-show:1;--th1-x:9%;--th2-x:13%;--th-y:57%;--tt1-x:88%;--tt2-x:92%;--tt-y:57%}
body.time-dusk .turnaround-rig .turn-headlight{opacity:calc(var(--front-light-show,0) * .55)!important}body.time-dusk .turnaround-rig .turn-taillight{opacity:calc(var(--rear-light-show,0) * .50)!important}
body.time-night .turnaround-rig .turn-headlight{opacity:var(--front-light-show,0)!important}body.time-night .turnaround-rig .turn-taillight{opacity:calc(var(--rear-light-show,0) * .88)!important}
body.time-night .master-moving .turnaround-rig .turn-headlight,body.time-night .board-moving-piece .turnaround-rig .turn-headlight{filter:brightness(1.32)!important}
body.time-night .pawn-arrive .turnaround-rig .turn-taillight{opacity:var(--rear-light-show,0)!important;animation:brTurnaroundBrake .55s ease-out 1!important}
@keyframes brTurnaroundBrake{0%{filter:brightness(1)}32%{filter:brightness(2.0) drop-shadow(0 0 8px #ff392d)}100%{filter:brightness(1)}}

/* Amber marker lamps on the larger converted vehicles. */
.turnaround-rig .turn-marker-light{width:3.2%!important;height:3.2%!important;top:28%!important;background:#ffb43b!important;box-shadow:0 0 5px rgba(255,178,58,.78)!important}
.turnaround-rig .turn-marker-a{left:46%!important}.turnaround-rig .turn-marker-b{left:55%!important}
body.time-dusk .turnaround-enabled:is([data-ride-id="cbandit"],[data-ride-id="shagwagon"],[data-ride-id="microbus"]) .turn-marker-light{opacity:.45!important}
body.time-night .turnaround-enabled:is([data-ride-id="cbandit"],[data-ride-id="shagwagon"],[data-ride-id="microbus"]) .turn-marker-light{opacity:.95!important;animation:brMarkerShimmer 2.4s ease-in-out infinite!important}

/* Existing body-kit ownership still changes the rotational piece. */
.turnaround-rig .turn-body-kit-overlay{position:absolute!important;inset:0!important;z-index:16!important;pointer-events:none!important;opacity:0!important}
.turnaround-enabled.mod-body-flare .turn-body-kit-overlay{opacity:.72!important;background:linear-gradient(180deg,transparent 65%,rgba(20,22,21,.10) 66%,rgba(224,190,111,.52) 76%,transparent 82%)!important;-webkit-mask-image:var(--turn-image)!important;mask-image:var(--turn-image)!important;-webkit-mask-size:contain!important;mask-size:contain!important;-webkit-mask-position:center bottom!important;mask-position:center bottom!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important}
.turnaround-enabled.mod-body-runner .turn-body-kit-overlay{opacity:.88!important}.turnaround-enabled.mod-body-runner .turn-body-kit-overlay::before{content:"";position:absolute;left:34%;right:27%;top:20%;height:5%;border:2px solid #d5b36a;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.45),0 0 5px rgba(230,191,100,.28)}.turnaround-enabled.mod-body-runner .turn-body-kit-overlay::after{content:"";position:absolute;left:27%;right:22%;bottom:25%;height:2px;background:linear-gradient(90deg,transparent,#d4b168 12% 88%,transparent);box-shadow:0 2px 0 rgba(0,0,0,.45)}
.turnaround-enabled.mod-body-coyote .turn-body-kit-overlay{opacity:.78!important;background:linear-gradient(180deg,transparent 72%,rgba(240,148,54,.58) 76%,transparent 81%)!important;-webkit-mask-image:var(--turn-image)!important;mask-image:var(--turn-image)!important;-webkit-mask-size:contain!important;mask-size:contain!important;-webkit-mask-position:center bottom!important;mask-position:center bottom!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important}
.turnaround-rig .turn-engine-glow{position:absolute!important;left:15%!important;top:43%!important;width:17%!important;height:14%!important;border-radius:50%!important;z-index:14!important;background:radial-gradient(circle,rgba(255,198,94,.28),transparent 70%)!important;filter:blur(5px)!important;opacity:.22!important}
.master-moving .turnaround-rig,.board-moving-piece .turnaround-rig,.moving-drive-state .turnaround-rig{transform:perspective(520px) rotateX(8deg) translateY(-3px) scale(1.08)!important}

/* Turnaround vehicles use their own authoring plane; suppress the old generic
   miniature/photo overlays so they cannot leak back over the new sprites. */
.turnaround-enabled>.unified-miniature-shell,.turnaround-enabled .miniature-vehicle-image,.turnaround-enabled>.render-paint-layer,.turnaround-enabled .piece-rim-mod-layer,.turnaround-enabled .piece-running-lights,.turnaround-enabled .piece-marker-run,.turnaround-enabled .piece-body-mod-layer{display:none!important}

/* Keep the rotational asset readable while zooming. The outer pawn still uses
   the existing continuous referencePlayerPieceScale() contract. */
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:has(.turnaround-enabled){width:72px!important;height:45px!important;min-width:72px!important;min-height:45px!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:has(.turnaround-enabled),body.android-virtual-landscape .artwork-master-renderer .lr-master-player-piece.lr-art-player:has(.turnaround-enabled){width:70px!important;height:44px!important;min-width:70px!important;min-height:44px!important}
.pr-bottom-nav .live-vehicle-nav-piece .turnaround-enabled,#lrVehicleNavPiece .turnaround-enabled,#mobileVehicleNavPiece .turnaround-enabled{width:68px!important;height:43px!important;min-width:68px!important;min-height:43px!important}

/* BORDER RUN v4.2.10ch — portrait telemetry rebalance + top-row cleanup */
body.portrait-reference-live .pr-top-actions{
  grid-template-columns:repeat(3,42px)!important;
  justify-content:end!important;
  align-items:start!important;
}
body.portrait-reference-live .pr-top-actions button:last-child{
  justify-self:end!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-telemetry{
  grid-template-columns:1.34fr .72fr 1.02fr .74fr!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-metric.day{
  align-items:flex-start!important;
  justify-content:center!important;
  padding-left:8px!important;
  padding-right:8px!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-metric.heat,
body.portrait-reference-live .artwork-master-renderer .lr-metric.cargo{
  padding-left:5px!important;
  padding-right:5px!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-metric.heat b,
body.portrait-reference-live .artwork-master-renderer .lr-metric.cargo b{
  letter-spacing:.03em!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-metric.heat span,
body.portrait-reference-live .artwork-master-renderer .lr-metric.cargo span{
  white-space:nowrap!important;
}


/* v4.2.10cj — HUD telemetry polish, portrait status cards, bottom render cleanup */
body.landscape-reference-live .artwork-master-renderer .lr-telemetry,
body.portrait-reference-live .artwork-master-renderer .lr-telemetry{align-items:stretch!important}
body.landscape-reference-live .artwork-master-renderer .lr-metric,
body.portrait-reference-live .artwork-master-renderer .lr-metric{display:grid!important;grid-template-rows:auto auto auto!important;align-content:center!important;gap:3px!important;overflow:hidden!important}
body.landscape-reference-live .artwork-master-renderer .lr-metric b,
body.portrait-reference-live .artwork-master-renderer .lr-metric b{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important}
body.landscape-reference-live .artwork-master-renderer .lr-metric span,
body.portrait-reference-live .artwork-master-renderer .lr-metric span{font-weight:950!important;letter-spacing:.01em!important}
body.landscape-reference-live .artwork-master-renderer .lr-metric span em,
body.portrait-reference-live .artwork-master-renderer .lr-metric span em{font-style:normal!important;color:#f3d27c!important;font-size:.78em!important;margin-left:4px!important}
body.landscape-reference-live .artwork-master-renderer .lr-metric small,
body.portrait-reference-live .artwork-master-renderer .lr-metric small{display:block!important;font:800 9px/1 Arial,sans-serif!important;color:#9fafa8!important;letter-spacing:.03em!important;text-transform:uppercase!important}
.telemetry-meter{display:grid;grid-auto-flow:column;gap:2px;align-items:center;height:6px;margin-top:1px}
.telemetry-meter .tm-bar{display:block;height:6px;border-radius:999px;background:rgba(255,255,255,.12)}
.telemetry-meter-heat .tm-bar.filled{background:linear-gradient(180deg,#ffb15f,#d95439)}
.telemetry-meter-cargo .tm-bar.filled{background:linear-gradient(180deg,#6de7d9,#2399af)}
.telemetry-meter-cash .tm-bar.filled{background:linear-gradient(180deg,#d7f48b,#7dba46)}
body.landscape-reference-live .pr-legal,body.portrait-reference-live .pr-legal{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;align-items:center!important;column-gap:7px!important;padding-left:6px!important;padding-right:6px!important}
body.landscape-reference-live .pr-legal .pr-legal-face-slot,body.portrait-reference-live .pr-legal .pr-legal-face-slot{width:30px!important;height:30px!important;border-radius:9px!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.02))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)!important}
body.landscape-reference-live .pr-legal .pr-legal-face-slot .persona-portrait-svg,body.portrait-reference-live .pr-legal .pr-legal-face-slot .persona-portrait-svg{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;border-radius:9px!important;box-shadow:none!important}
body.landscape-reference-live .pr-legal .pr-legal-face-icon,body.portrait-reference-live .pr-legal .pr-legal-face-icon{font:900 16px/1 Arial,sans-serif!important;color:#ffe3a1!important;text-shadow:0 1px 2px #000!important}
body.landscape-reference-live .pr-legal .pr-legal-copy,body.portrait-reference-live .pr-legal .pr-legal-copy{min-width:0!important;display:grid!important;gap:2px!important}
body.landscape-reference-live .pr-legal .pr-legal-copy b,body.portrait-reference-live .pr-legal .pr-legal-copy b{font-size:10px!important;line-height:1!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.landscape-reference-live .pr-legal .pr-legal-copy span,body.portrait-reference-live .pr-legal .pr-legal-copy span{margin-top:0!important;line-height:1!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media (orientation:portrait){body.portrait-reference-live .pr-legal{grid-template-columns:26px minmax(0,1fr)!important}body.portrait-reference-live .pr-legal .pr-legal-face-slot{width:26px!important;height:26px!important}body.portrait-reference-live .pr-legal .pr-legal-copy b{font-size:8px!important}body.portrait-reference-live .pr-legal .pr-legal-copy span{font-size:10px!important}}
.pr-bottom-nav .live-vehicle-nav-piece,#lrVehicleNavPiece.live-vehicle-nav-piece,#mobileVehicleNavPiece.live-vehicle-nav-piece{display:grid!important;place-items:center!important;overflow:visible!important}
.pr-bottom-nav .live-vehicle-nav-piece>.unified-vehicle-piece,#lrVehicleNavPiece>.unified-vehicle-piece,#mobileVehicleNavPiece>.unified-vehicle-piece{transform:none!important;filter:drop-shadow(0 6px 5px rgba(0,0,0,.42))!important}
.pr-bottom-nav .live-vehicle-nav-piece .turnaround-rig,#lrVehicleNavPiece .turnaround-rig,#mobileVehicleNavPiece .turnaround-rig{transform:translateY(1px) scale(.98)!important;transform-origin:center center!important}
.pr-bottom-nav .live-vehicle-nav-piece .turnaround-body,#lrVehicleNavPiece .turnaround-body,#mobileVehicleNavPiece .turnaround-body{object-fit:contain!important;object-position:center center!important}
#lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon,#sideRollBtn>span.roll-dice-icon{align-items:center!important;justify-content:center!important}
body.landscape-reference-live .hard-ref-telemetry>div small{display:block;color:#9fafa8;font:800 9px/1 Arial,sans-serif;letter-spacing:.03em;text-transform:uppercase;margin-top:4px}


/* ============================================================
   BORDER RUN v4.2.10cj — LIVE RENDER / HUD / PORTRAIT POLISH
   ============================================================ */
/* Clean the very top game line: one brand block + three aligned controls. */
@media (orientation:portrait){
  body.portrait-reference-live .pr-brand{top:var(--portrait-safe-top)!important;height:44px!important;width:210px!important;padding:0 11px!important}
  body.portrait-reference-live .pr-brand strong{font-size:25px!important;line-height:.92!important}
  body.portrait-reference-live .pr-brand span{font-size:7px!important;margin-top:3px!important}
  body.portrait-reference-live .pr-top-actions{top:var(--portrait-safe-top)!important;right:8px!important;grid-template-columns:repeat(3,40px)!important;gap:5px!important;align-items:start!important}
  body.portrait-reference-live .pr-top-actions button{width:40px!important;height:44px!important;border-radius:10px!important;font-size:18px!important}
}

/* Keep the authored turnaround body clean at rest. Wheel overlays exist only
   during travel, where they can communicate steering/spin without leaving the
   extra fake wheels visible beneath a parked vehicle. */
.turnaround-rig .turn-wheel{opacity:0!important}
.master-moving .turnaround-rig .turn-wheel,.board-moving-piece .turnaround-rig .turn-wheel,.moving-drive-state .turnaround-rig .turn-wheel{opacity:.58!important}
.master-moving .turnaround-rig .turn-rim,.board-moving-piece .turnaround-rig .turn-rim,.moving-drive-state .turnaround-rig .turn-rim{animation:brTurnaroundWheelSpin var(--wheel-spin,.22s) linear infinite!important}
body.portrait-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:has(.turnaround-enabled){width:66px!important;height:42px!important;min-width:66px!important;min-height:42px!important}
body.landscape-reference-live .artwork-master-renderer .lr-master-player-piece.lr-art-player:has(.turnaround-enabled){width:66px!important;height:42px!important;min-width:66px!important;min-height:42px!important}

/* Bottom VEHICLE uses a dedicated clean thumbnail rather than the moving pawn
   rig, preventing wheel/light/depth overlays from leaking into the HUD. */
.hud-vehicle-preview{position:relative!important;width:64px!important;height:38px!important;display:block!important;overflow:visible!important;isolation:isolate!important}
.hud-vehicle-preview img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;z-index:3!important;filter:drop-shadow(0 4px 2px rgba(0,0,0,.52))!important}
.hud-vehicle-preview .hud-vehicle-shadow{position:absolute!important;left:17%!important;right:17%!important;bottom:6%!important;height:14%!important;border-radius:50%!important;background:radial-gradient(ellipse,rgba(0,0,0,.65),transparent 72%)!important;filter:blur(3px)!important;z-index:1!important}
.hud-vehicle-preview .hud-vehicle-paint{position:absolute!important;inset:0!important;background:var(--vehicle-paint,#d8c9a3)!important;opacity:.08!important;mix-blend-mode:color!important;-webkit-mask-image:var(--hud-vehicle-image)!important;mask-image:var(--hud-vehicle-image)!important;-webkit-mask-size:contain!important;mask-size:contain!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-position:center bottom!important;mask-position:center bottom!important;z-index:4!important;pointer-events:none!important}
.hud-vehicle-preview.paint-copperdust .hud-vehicle-paint{opacity:.40!important}.hud-vehicle-preview.paint-neonwave .hud-vehicle-paint{opacity:.46!important}.hud-vehicle-preview.paint-highplains .hud-vehicle-paint{opacity:.38!important}.hud-vehicle-preview.paint-gulfsunset .hud-vehicle-paint{opacity:.43!important}.hud-vehicle-preview.paint-desertrunner .hud-vehicle-paint{opacity:.38!important}

/* Bottom dice are a single renderer: equipped finish + previous local faces. */
.hud-mini-cube{position:relative!important;display:block!important;flex:0 0 28px!important;width:28px!important;height:28px!important;perspective:120px!important;overflow:visible!important;filter:drop-shadow(0 4px 2px rgba(0,0,0,.55))!important}
.hud-mini-cube .hud-face-surface{position:absolute!important;left:2px!important;top:4px!important;width:24px!important;height:24px!important;inset:auto!important;border-radius:5px!important;background:var(--hud-die-surface)!important;border:1.5px solid var(--hud-die-edge)!important;z-index:4!important;box-shadow:inset 0 1px 2px rgba(255,255,255,.32),inset 0 -2px 3px rgba(0,0,0,.22)!important;overflow:hidden!important}
.hud-mini-cube-top{position:absolute!important;left:5px!important;top:1px!important;width:20px!important;height:6px!important;display:block!important;background:linear-gradient(180deg,var(--hud-die-edge),rgba(0,0,0,.20)),var(--hud-die-surface)!important;clip-path:polygon(14% 100%,0 0,86% 0,100% 100%)!important;opacity:.86!important;z-index:2!important}
.hud-mini-cube-side{position:absolute!important;right:0!important;top:6px!important;width:5px!important;height:21px!important;display:block!important;background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.30)),var(--hud-die-surface)!important;clip-path:polygon(0 0,100% 11%,100% 89%,0 100%)!important;z-index:3!important}
.hud-mini-cube .hud-face-pip{width:4.6px!important;height:4.6px!important}
#lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon,#sideRollBtn>span.roll-dice-icon{display:flex!important;gap:4px!important;width:auto!important;min-width:0!important;max-width:none!important;height:31px!important;overflow:visible!important}

/* Portrait cards: show the actual character image cleanly, not monogram text. */
.pr-legal-face-slot .persona-portrait-svg b,.pr-legal-face-slot .persona-portrait-svg i{display:none!important}
.pr-legal-face-slot .persona-portrait-svg{background-size:cover!important;background-position:center 22%!important}
.pr-legal.lawyer .pr-legal-face-slot .persona-portrait-svg,.pr-legal.bondsman .pr-legal-face-slot .persona-portrait-svg{background-position:center 18%!important}
.pr-legal.dominity .pr-legal-face-slot .persona-portrait-svg{background-position:center 24%!important}

/* Telemetry proportions requested for mobile: Day/Time gets the recovered
   width; Heat and Cargo stay compact while their meters remain readable. */
@media (orientation:portrait){
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry{grid-template-columns:1.42fr .72fr 1.04fr .72fr!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric{padding:5px 6px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day{padding-left:9px!important;padding-right:9px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric small{font-size:6.8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.portrait-reference-live .telemetry-meter{gap:1px!important;height:5px!important}
  body.portrait-reference-live .telemetry-meter .tm-bar{height:5px!important}
}

/* ============================================================
   BORDER RUN v4.2.10ck — PORTRAIT HUD FIT / DICE / VEHICLE PASS
   Screenshot-driven live layout correction. No gameplay rules changed.
   ============================================================ */
@media (orientation:portrait){
  /* Fill the entire top row and keep all three controls on one baseline. */
  body.portrait-reference-live .pr-brand{
    left:8px!important;right:142px!important;top:var(--portrait-safe-top)!important;
    width:auto!important;height:48px!important;padding:0 12px!important;
    justify-content:center!important;box-sizing:border-box!important;
  }
  body.portrait-reference-live .pr-brand strong{
    max-width:100%!important;font-size:clamp(22px,6.6vw,28px)!important;line-height:.90!important;
    letter-spacing:-.025em!important;overflow:hidden!important;text-overflow:clip!important;
  }
  body.portrait-reference-live .pr-brand span{
    margin-top:4px!important;font-size:7.5px!important;line-height:1!important;letter-spacing:.22em!important;
  }
  body.portrait-reference-live .pr-top-actions{
    top:var(--portrait-safe-top)!important;right:8px!important;
    grid-template-columns:repeat(3,40px)!important;grid-auto-rows:48px!important;
    gap:4px!important;align-items:stretch!important;justify-items:stretch!important;
    margin:0!important;padding:0!important;
  }
  body.portrait-reference-live .pr-top-actions button{
    width:40px!important;height:48px!important;min-width:40px!important;min-height:48px!important;
    margin:0!important;padding:0!important;display:grid!important;place-items:center!important;
    align-self:stretch!important;justify-self:stretch!important;border-radius:10px!important;
    font-size:18px!important;line-height:1!important;transform:none!important;vertical-align:middle!important;
  }
  body.portrait-reference-live .pr-top-actions button[data-lr-top="menu"]{
    margin:0!important;top:auto!important;bottom:auto!important;transform:none!important;
  }

  /* Four information cards: every row has an explicit home so text/meters cannot collide. */
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry{
    left:8px!important;right:8px!important;top:calc(var(--portrait-safe-top) + 54px)!important;
    height:58px!important;grid-template-columns:1.40fr .75fr 1.08fr .77fr!important;gap:5px!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric{
    height:58px!important;min-height:58px!important;padding:5px 7px!important;border-radius:10px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto 5px auto!important;align-content:space-between!important;gap:2px!important;
    min-width:0!important;overflow:hidden!important;box-sizing:border-box!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric>b{
    grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;
    font-size:clamp(12px,3.5vw,15px)!important;line-height:1!important;white-space:nowrap!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric>span:not(.telemetry-meter){
    grid-column:1!important;grid-row:2!important;width:100%!important;min-width:0!important;
    margin:0!important;font-size:clamp(13px,4vw,17px)!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
    font-variant-numeric:tabular-nums!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric>.telemetry-meter{
    grid-column:1!important;grid-row:3!important;width:100%!important;height:5px!important;margin:0!important;
    align-self:center!important;gap:1.5px!important;min-width:0!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric>small{
    grid-column:1!important;grid-row:4!important;width:100%!important;min-width:0!important;
    margin:0!important;font-size:6.5px!important;line-height:1!important;letter-spacing:.025em!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day{
    grid-template-rows:auto auto auto!important;padding-left:9px!important;padding-right:9px!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day>b{grid-row:1!important;font-size:clamp(13px,3.7vw,16px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day>span{grid-row:2!important;font-size:clamp(14px,4vw,17px)!important;color:#f3e2b3!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day>small{grid-row:3!important;font-size:7px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day .lr-phase-mini{
    flex:0 1 auto!important;min-width:0!important;margin-left:5px!important;padding:2px 4px!important;
    font-size:6.4px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash{
    grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto 5px auto!important;
    align-content:space-between!important;justify-items:stretch!important;padding:5px 7px!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash>b{grid-column:1!important;grid-row:1!important;font-size:clamp(13px,3.7vw,16px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash>span{
    grid-column:1!important;grid-row:2!important;width:100%!important;margin:0!important;text-align:left!important;
    font-size:clamp(15px,4.35vw,19px)!important;line-height:1!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash>.telemetry-meter{grid-row:3!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cash>small{display:block!important;grid-column:1!important;grid-row:4!important;text-align:left!important;font-size:6.5px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.heat>span{font-size:clamp(12px,3.55vw,15.5px)!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.heat>span em{font-size:.68em!important;margin-left:2px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.cargo>span{font-size:clamp(14px,4vw,17px)!important}

  /* Character/action cards use their full height. Portraits scale proportionally by height. */
  body.portrait-reference-live .pr-legal-hud{
    top:calc(var(--portrait-safe-top) + 118px)!important;left:8px!important;right:8px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;
  }
  body.portrait-reference-live .pr-legal{
    height:60px!important;min-height:60px!important;min-width:0!important;
    grid-template-columns:38px minmax(0,1fr)!important;column-gap:6px!important;
    padding:5px 6px!important;align-items:center!important;align-content:center!important;
    overflow:hidden!important;box-sizing:border-box!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-face-slot{
    width:38px!important;height:48px!important;min-width:38px!important;min-height:48px!important;
    align-self:center!important;border-radius:9px!important;overflow:hidden!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-face-slot .persona-portrait-svg{
    width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    border-radius:9px!important;background-size:100% 100%,auto 100%!important;
    background-position:center center,center center!important;background-repeat:no-repeat,no-repeat!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-copy{
    min-width:0!important;width:100%!important;display:grid!important;grid-template-rows:auto auto!important;
    align-content:center!important;gap:4px!important;overflow:hidden!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-copy b{
    max-width:100%!important;margin:0!important;font-size:clamp(8.5px,2.7vw,10.5px)!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-copy span{
    max-width:100%!important;margin:0!important;font-size:clamp(11px,3.4vw,14px)!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-face-icon{font-size:22px!important}

  /* Route boxes remain full-width under the taller status row. */
  body.portrait-reference-live .pr-route-tabs{
    top:calc(var(--portrait-safe-top) + 184px)!important;left:8px!important;right:8px!important;gap:6px!important;
  }
  body.portrait-reference-live .pr-route-tabs button{
    min-height:49px!important;height:49px!important;padding:5px 6px!important;border-radius:11px!important;
    display:grid!important;align-content:center!important;justify-items:center!important;gap:3px!important;min-width:0!important;
  }
  body.portrait-reference-live .pr-route-tabs button strong{font-size:clamp(9px,2.8vw,11px)!important;line-height:1!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.portrait-reference-live .pr-route-tabs button small{font-size:clamp(5.6px,1.8vw,6.8px)!important;line-height:1!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.portrait-reference-live .artwork-master-renderer .lr-map-host{top:calc(var(--portrait-safe-top) + 239px)!important}
  body.portrait-reference-live .pr-live-legend{top:calc(var(--portrait-safe-top) + 247px)!important}

  /* Bottom dock: give the actual vehicle artwork the available tile height. */
  body.portrait-reference-live .pr-bottom-nav{height:82px!important;padding-top:5px!important;gap:3px!important}
  body.portrait-reference-live .pr-bottom-nav>button{
    min-width:0!important;min-height:70px!important;padding:4px 2px!important;
    grid-template-rows:44px 12px!important;align-content:center!important;gap:3px!important;overflow:hidden!important;
  }
  body.portrait-reference-live .pr-bottom-nav>button>b{font-size:6.8px!important;line-height:12px!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.portrait-reference-live .pr-bottom-nav>button>span.live-vehicle-nav-piece,
  body.portrait-reference-live #lrVehicleNavPiece.live-vehicle-nav-piece{
    width:58px!important;height:44px!important;min-width:0!important;min-height:44px!important;
    max-width:100%!important;max-height:44px!important;margin:0!important;overflow:visible!important;
    align-self:center!important;justify-self:center!important;display:grid!important;place-items:center!important;
    background:none!important;border:0!important;box-shadow:none!important;filter:none!important;
  }
  body.portrait-reference-live #lrVehicleNavPiece .hud-vehicle-preview{
    width:58px!important;height:43px!important;min-width:58px!important;min-height:43px!important;
    max-width:58px!important;max-height:43px!important;overflow:visible!important;
  }
  body.portrait-reference-live #lrVehicleNavPiece .hud-vehicle-preview img{
    width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;
    transform:scale(1.22)!important;transform-origin:center 58%!important;
  }
  body.portrait-reference-live #lrVehicleNavPiece .hud-vehicle-preview .hud-vehicle-paint{
    transform:scale(1.22)!important;transform-origin:center 58%!important;
    -webkit-mask-position:center center!important;mask-position:center center!important;
  }

  /* Bottom dice: hard reset obsolete fallback span styling, then draw the two
     equipped finishes with the previous local 2D6 faces. */
  body.portrait-reference-live #lrPrimaryRoll>span.roll-dice-icon,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{
    width:58px!important;min-width:58px!important;max-width:58px!important;height:38px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
    margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;
    box-shadow:none!important;filter:none!important;overflow:visible!important;font-size:0!important;
  }
  body.portrait-reference-live #lrPrimaryRoll>span.roll-dice-icon::before,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon::before{content:none!important;display:none!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube{
    position:relative!important;display:block!important;flex:0 0 26px!important;
    width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;
    max-width:26px!important;max-height:26px!important;margin:0!important;padding:0!important;
    background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    font-size:0!important;line-height:0!important;overflow:visible!important;perspective:120px!important;
    filter:drop-shadow(0 3px 2px rgba(0,0,0,.56))!important;transform:none!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube::before,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube::before{content:none!important;display:none!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube .hud-face-surface,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube .hud-face-surface{
    position:absolute!important;left:1px!important;top:3px!important;inset:auto!important;
    width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;
    padding:0!important;margin:0!important;border-radius:5px!important;
    background:var(--hud-die-surface)!important;border:1.5px solid var(--hud-die-edge)!important;
    box-shadow:inset 0 1px 2px rgba(255,255,255,.34),inset 0 -2px 3px rgba(0,0,0,.22)!important;
    overflow:hidden!important;display:block!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube .hud-face-surface::before,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube .hud-face-surface::before{content:none!important;display:none!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube .hud-face-pips,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube .hud-face-pips{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    margin:0!important;padding:0!important;display:block!important;background:none!important;border:0!important;border-radius:0!important;
    box-shadow:none!important;filter:none!important;transform:none!important;overflow:visible!important;z-index:3!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube .hud-face-pips::before,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube .hud-face-pips::before{content:none!important;display:none!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube .hud-face-pip,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube .hud-face-pip{
    width:4.7px!important;height:4.7px!important;min-width:4.7px!important;min-height:4.7px!important;
    max-width:4.7px!important;max-height:4.7px!important;border:0!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube-top,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube-top{left:4px!important;top:0!important;width:19px!important;height:6px!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube-side,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube-side{right:0!important;top:5px!important;width:5px!important;height:20px!important}
}

@media (orientation:portrait) and (max-width:350px){
  body.portrait-reference-live .pr-brand{right:132px!important;padding-left:9px!important;padding-right:9px!important}
  body.portrait-reference-live .pr-top-actions{grid-template-columns:repeat(3,37px)!important;grid-auto-rows:48px!important;gap:3px!important}
  body.portrait-reference-live .pr-top-actions button{width:37px!important;min-width:37px!important}
  body.portrait-reference-live .pr-legal{grid-template-columns:38px minmax(0,1fr)!important;padding-left:4px!important;padding-right:4px!important;column-gap:5px!important}
  body.portrait-reference-live .pr-legal .pr-legal-face-slot{width:38px!important;height:46px!important;min-width:38px!important}
  body.portrait-reference-live #lrVehicleNavPiece .hud-vehicle-preview{width:52px!important;min-width:52px!important}
  body.portrait-reference-live #lrPrimaryRoll>span.roll-dice-icon{width:52px!important;min-width:52px!important;max-width:52px!important;gap:2px!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube{flex-basis:24px!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube .hud-face-surface{width:21px!important;height:21px!important}
}


/* ============================================================
   BORDER RUN v4.2.10cn — HUD STABILITY / CITY PHOTO / PAWN / DICE REPAIR
   Screenshot-driven functional repair. These rules intentionally sit last.
   ============================================================ */
@media (orientation:portrait){
  /* Give Heat enough room for HEAT, visible 0–10, alert state, meter and road pressure. */
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry{
    grid-template-columns:1.25fr .94fr 1.05fr .76fr!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.day{padding-left:8px!important;padding-right:7px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.heat{padding-left:6px!important;padding-right:6px!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric.heat>small{
    font-size:6.2px!important;letter-spacing:.015em!important;text-overflow:clip!important;overflow:hidden!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric.heat>span{font-size:clamp(12px,3.65vw,16px)!important}

  /* All top controls use exactly the same measured row box. Menu no longer grows
     below Trophy/Awards because of inherited button sizing/border metrics. */
  body.portrait-reference-live .pr-top-actions{
    height:48px!important;min-height:48px!important;max-height:48px!important;
    grid-template-columns:repeat(3,40px)!important;grid-template-rows:48px!important;grid-auto-rows:48px!important;
    align-items:start!important;justify-items:start!important;column-gap:4px!important;row-gap:0!important;
  }
  body.portrait-reference-live .pr-top-actions>button,
  body.portrait-reference-live .pr-top-actions>button:last-child,
  body.portrait-reference-live .pr-top-actions>button[data-lr-top="menu"]{
    position:relative!important;inset:auto!important;box-sizing:border-box!important;
    width:40px!important;height:48px!important;min-width:40px!important;min-height:48px!important;max-width:40px!important;max-height:48px!important;
    margin:0!important;padding:0!important;align-self:start!important;justify-self:start!important;
    transform:none!important;translate:none!important;line-height:1!important;vertical-align:top!important;
    border-width:1px!important;border-style:solid!important;outline:0!important;box-shadow:none!important;
    -webkit-appearance:none!important;appearance:none!important;
  }
  body.portrait-reference-live .pr-top-actions>button[data-lr-top="menu"]{
    border-color:#149d9a!important;background:#081210!important;color:#e9d9ab!important;
  }

  /* Portrait image layer fills vertically but never stretches the face. */
  body.portrait-reference-live .pr-legal .pr-legal-face-slot .persona-portrait-svg{
    background-size:100% 100%,auto 100%!important;background-position:center center,center center!important;
    background-repeat:no-repeat,no-repeat!important;transform:none!important;animation:none!important;transition:none!important;
  }

  /* Actual bundled dice bodies + selected finish + previous local 2D6 pips. */
  body.portrait-reference-live #lrPrimaryRoll .physical-hud-die,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .physical-hud-die{
    display:block!important;position:relative!important;flex:0 0 28px!important;
    width:28px!important;height:30px!important;min-width:28px!important;min-height:30px!important;max-width:28px!important;max-height:30px!important;
    overflow:visible!important;isolation:isolate!important;background:transparent!important;border:0!important;margin:0!important;padding:0!important;
    transform:none!important;filter:none!important;box-shadow:none!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .physical-hud-die .hud-die-photo,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-die-photo{
    display:block!important;position:absolute!important;left:-2px!important;top:-2px!important;right:auto!important;bottom:auto!important;
    width:33px!important;height:33px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;
    opacity:1!important;visibility:visible!important;z-index:1!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55))!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .physical-hud-die .hud-die-tint,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-die-tint{
    display:block!important;position:absolute!important;left:-2px!important;top:-2px!important;width:33px!important;height:33px!important;z-index:2!important;
    background:var(--hud-variant-tint,#b9453c)!important;opacity:.22!important;mix-blend-mode:color!important;
    -webkit-mask-image:var(--hud-die-image)!important;mask-image:var(--hud-die-image)!important;
    -webkit-mask-size:contain!important;mask-size:contain!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
    -webkit-mask-position:center!important;mask-position:center!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .physical-hud-die .hud-die-pips,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-die-pips{
    display:block!important;position:absolute!important;left:10%!important;top:10%!important;width:72%!important;height:72%!important;z-index:5!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .physical-hud-die .hud-pip,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .physical-hud-die .hud-pip{
    display:block!important;width:4.6px!important;height:4.6px!important;border-radius:50%!important;background:var(--br-die-pip,#16130c)!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .physical-hud-die.neutral-roll-preview::after,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .physical-hud-die.neutral-roll-preview::after{
    content:"•"!important;position:absolute!important;left:10%!important;top:8%!important;width:72%!important;height:72%!important;display:grid!important;place-items:center!important;
    z-index:6!important;color:var(--br-die-pip,#16130c)!important;font:900 13px/1 Arial,sans-serif!important;opacity:.56!important;pointer-events:none!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-mini-cube,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-mini-cube,
  body.portrait-reference-live #lrPrimaryRoll .hud-face-die,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-face-die{display:none!important}
}

/* Reference board has one and only one local piece plane. Any fallback mover or
   legacy node pawn is hidden while the master reference board is active. */
body.portrait-reference-live #board .vehicle-pawn[data-player-pawn="1"],
body.landscape-reference-live #board .vehicle-pawn[data-player-pawn="1"],
body.android-virtual-landscape #board .vehicle-pawn[data-player-pawn="1"],
body.portrait-reference-live .graphical-world-board .vehicle-pawn[data-player-pawn="1"],
body.landscape-reference-live .graphical-world-board .vehicle-pawn[data-player-pawn="1"],
body.android-virtual-landscape .graphical-world-board .vehicle-pawn[data-player-pawn="1"]{display:none!important;visibility:hidden!important;opacity:0!important}

/* City photo target is always present; bundled art is immediate and every other
   city is hydrated through the existing city-photo resolver without rebuilding
   the image node each render. */
.lr-context-city-photo>img[data-reference-city-photo]{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;position:absolute!important;inset:0!important;z-index:0!important}
.lr-context-city-photo .lr-context-city-photo-fallback{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;font-size:28px!important;color:#d7b55f!important;background:linear-gradient(155deg,#173230,#07100f)!important;z-index:0!important;opacity:.72!important}
.lr-context-city-photo.photo-ready .lr-context-city-photo-fallback{display:none!important}
.lr-context-city-photo.photo-loading .lr-context-city-photo-fallback{animation:none!important}
.lr-selected-city-photo{position:absolute!important;inset:0!important;display:block!important}
.lr-selected-city-photo>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:0!important}
.lr-selected-city-photo.photo-ready .lr-selected-city-generic{display:none!important}


/* ============================================================
   BORDER RUN v4.2.10cn — MENU / TURNAROUND / DOCK RENDER REPAIR
   ============================================================ */
@media (orientation:portrait){
  /* There is one menu launcher. The old in-shell MENU button was being forced
     back to display:grid by CK and sitting directly under the global launcher. */
  body.portrait-reference-live .pr-top-actions{
    right:calc(max(8px,env(safe-area-inset-right,0px)) + 46px)!important;
    grid-template-columns:repeat(2,40px)!important;
    grid-template-rows:48px!important;grid-auto-rows:48px!important;
    width:auto!important;height:48px!important;min-height:48px!important;max-height:48px!important;
    gap:4px!important;align-items:start!important;justify-content:end!important;
  }
  body.portrait-reference-live .pr-top-actions>button[data-lr-top="menu"]{display:none!important;visibility:hidden!important;pointer-events:none!important}
  body.portrait-reference-live .br-global-menu-launcher{
    top:var(--portrait-safe-top)!important;right:max(8px,env(safe-area-inset-right,0px))!important;
    width:40px!important;min-width:40px!important;max-width:40px!important;height:48px!important;min-height:48px!important;max-height:48px!important;
    margin:0!important;padding:0!important;box-sizing:border-box!important;border:1px solid #149d9a!important;border-radius:10px!important;
    outline:0!important;box-shadow:none!important;background:#081210!important;transform:none!important;-webkit-appearance:none!important;appearance:none!important;
  }
  body.portrait-reference-live .br-global-menu-launcher::before,
  body.portrait-reference-live .br-global-menu-launcher::after{content:none!important;display:none!important}
  body.portrait-reference-live .br-global-menu-launcher span{font-size:18px!important;line-height:1!important}

  /* VEHICLE uses most of its tile instead of a tiny thumbnail. */
  body.portrait-reference-live .pr-bottom-nav>button:first-child{grid-template-rows:50px 12px!important}
  body.portrait-reference-live #lrVehicleNavPiece.live-vehicle-nav-piece,
  body.portrait-reference-live .pr-bottom-nav>button>span#lrVehicleNavPiece{
    width:82px!important;height:50px!important;min-width:82px!important;min-height:50px!important;max-width:82px!important;max-height:50px!important;
    overflow:visible!important;display:grid!important;place-items:center!important;
  }
  body.portrait-reference-live #lrVehicleNavPiece .hud-vehicle-preview{
    width:80px!important;height:49px!important;min-width:80px!important;min-height:49px!important;max-width:80px!important;max-height:49px!important;
  }
  body.portrait-reference-live #lrVehicleNavPiece .hud-vehicle-preview img,
  body.portrait-reference-live #lrVehicleNavPiece .hud-vehicle-preview .hud-vehicle-paint{
    transform:scale(1.34)!important;transform-origin:center 58%!important;
  }

  /* The permanent pair is a clean top face. It uses the same equipped skin
     palette/finish and the last completed local faces, without drawing pips on
     top of an angled promo photograph. */
  body.portrait-reference-live #lrPrimaryRoll>span.roll-dice-icon,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{
    width:66px!important;min-width:66px!important;max-width:66px!important;height:38px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;overflow:visible!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-die,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-clean-die{
    position:relative!important;display:block!important;flex:0 0 29px!important;width:29px!important;height:29px!important;
    min-width:29px!important;min-height:29px!important;max-width:29px!important;max-height:29px!important;
    margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;
    filter:drop-shadow(0 3px 2px rgba(0,0,0,.52))!important;transform:none!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-face,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-clean-face{
    position:absolute!important;inset:1px!important;border-radius:6px!important;
    background:var(--hud-die-surface)!important;border:1.5px solid var(--hud-die-edge)!important;
    box-shadow:inset 0 1.5px 2px rgba(255,255,255,.34),inset 0 -2px 3px rgba(0,0,0,.24)!important;overflow:hidden!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pips,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-clean-pips{position:absolute!important;inset:0!important;z-index:3!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pip,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .hud-clean-pip{
    position:absolute!important;width:5px!important;height:5px!important;margin:0!important;border-radius:50%!important;
    background:var(--br-die-pip,#fff)!important;box-shadow:inset 0 0 0 .7px var(--br-die-pip-ring,#111),0 1px 1px rgba(0,0,0,.42)!important;
    transform:translate(-50%,-50%)!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pip.tl{left:27%!important;top:27%!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pip.tr{left:73%!important;top:27%!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pip.ml{left:27%!important;top:50%!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pip.c{left:50%!important;top:50%!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pip.mr{left:73%!important;top:50%!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pip.bl{left:27%!important;top:73%!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-pip.br{left:73%!important;top:73%!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-glint{
    position:absolute!important;left:4px!important;top:3px!important;width:12px!important;height:5px!important;border-radius:50%!important;
    background:rgba(255,255,255,.30)!important;filter:blur(1px)!important;opacity:.72!important;pointer-events:none!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-die.neutral-roll-preview .hud-clean-face::after{
    content:"•"!important;position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;
    color:var(--br-die-pip,#fff)!important;font:900 13px/1 Arial,sans-serif!important;opacity:.52!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-die.dice-finish-effect-matte .hud-clean-glint{opacity:.08!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-die.dice-finish-effect-gloss .hud-clean-glint{opacity:.95!important;background:rgba(255,255,255,.48)!important}
  body.portrait-reference-live #lrPrimaryRoll .hud-clean-die.dice-finish-effect-prestige{filter:drop-shadow(0 0 3px rgba(241,211,120,.30)) drop-shadow(0 3px 2px rgba(0,0,0,.52))!important}

  /* Any old moving clone or node pawn is never a second visible piece plane. */
  body.portrait-reference-live .vehicle-pawn[data-player-pawn="1"]{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}
  body.portrait-reference-live .lr-art-hit.top.menu{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}
}


/* ============================================================
   BORDER RUN v4.2.10cn — APPROVED M1D21Q ACTIVE BOARD
   The approved photoreal M1D21Q artwork owns the visible road bed.
   Functional city/action hit targets and player pieces remain live above it.
   ============================================================ */
body.landscape-reference-live .artwork-master-renderer .lr-map-zoom-stage.approved-m1d21q-board,
body.portrait-reference-live .artwork-master-renderer .lr-map-zoom-stage.approved-m1d21q-board{
  background:#030707!important;
}
body.landscape-reference-live .artwork-master-renderer .approved-m1d21q-board .lr-map-art-crop,
body.portrait-reference-live .artwork-master-renderer .approved-m1d21q-board .lr-map-art-crop{
  object-fit:fill!important;
  object-position:center center!important;
}
/* Roads and crossovers are baked into the approved board. Suppress only the
   duplicate road paint; keep crossover action-space symbols and live hit layers. */
.artwork-master-renderer .approved-m1d21q-board .lr-route-network path,
.artwork-master-renderer .approved-m1d21q-board .lr-route-network polyline,
.artwork-master-renderer .approved-m1d21q-board .lr-route-start-feeders{
  opacity:0!important;
  visibility:hidden!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-border-overlay{
  display:none!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-action-space{
  opacity:.94!important;
  visibility:visible!important;
}

/* ============================================================
   BORDER RUN v4.2.10cp — APPROVED M1D21Q OVERLAY CLEANUP
   The photoreal M1D21Q board owns all visible pavement. Gameplay remains
   functional through transparent hit shells, compact destination markers,
   actionable-space symbols, and the independent pawn layer.
   ============================================================ */
.artwork-master-renderer .approved-m1d21q-board .approved-board-functional-layer path,
.artwork-master-renderer .approved-m1d21q-board .approved-board-functional-layer polyline,
.artwork-master-renderer .approved-m1d21q-board .lr-route-start-feeders,
.artwork-master-renderer .approved-m1d21q-board .lr-mx-feeder-shadow,
.artwork-master-renderer .approved-m1d21q-board .lr-mx-feeder-shoulder,
.artwork-master-renderer .approved-m1d21q-board .lr-mx-feeder-bed,
.artwork-master-renderer .approved-m1d21q-board .lr-mx-feeder-center{
  display:none!important;visibility:hidden!important;opacity:0!important;
}

/* Functional hit targets stay generous, but never paint over the board. */
.artwork-master-renderer .approved-m1d21q-board .lr-art-space-hit,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node{
  background:transparent!important;border:0!important;outline:0!important;
  box-shadow:none!important;text-shadow:none!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-art-space-hit{
  opacity:0!important;visibility:visible!important;pointer-events:auto!important;
}

/* Ordinary travel spaces are invisible. The pawn itself communicates the
   player's location while the full invisible hit shell remains live. */
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.quiet-space > .lr-master-travel-core,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.space-road > .lr-master-travel-core{
  display:none!important;visibility:hidden!important;opacity:0!important;
}

/* Action/event/patrol/checkpoint/hustle spaces are small road studs instead of
   black UI pills. */
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.actionable-space > .lr-master-travel-core,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel:not(.quiet-space):not(.tbird-market) > .lr-master-travel-core{
  display:grid!important;place-items:center!important;
  width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;
  border:1px solid rgba(240,205,118,.70)!important;border-radius:999px!important;
  background:rgba(5,13,12,.70)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.58)!important;
  backdrop-filter:none!important;overflow:visible!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel > .lr-master-travel-core .lr-master-travel-dot{
  display:none!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel > .lr-master-travel-core .lr-master-trigger{
  position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;
  color:#f3d681!important;font:900 5px/1 Arial,sans-serif!important;text-shadow:0 1px 1px #000!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.space-checkpoint > .lr-master-travel-core,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.space-patrol > .lr-master-travel-core{border-color:rgba(255,132,104,.82)!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.space-hustle > .lr-master-travel-core{border-color:rgba(112,220,143,.82)!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.space-event > .lr-master-travel-core{border-color:rgba(207,128,228,.82)!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.current > .lr-master-travel-core,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.travel.preview > .lr-master-travel-core{
  opacity:1!important;box-shadow:0 0 0 2px rgba(83,230,216,.35),0 0 7px rgba(83,230,216,.52)!important;
}

/* Cities remain readable but no longer cover the recessed road. The large
   button is still present; only this compact painted face is visible. */
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.city > .lr-master-city-core,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.start-city.city > .lr-master-city-core{
  width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;
  border-radius:999px!important;background:#08110f!important;
  outline:1px solid rgba(229,191,93,.72)!important;outline-offset:0!important;
  box-shadow:0 1px 3px rgba(0,0,0,.72)!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.city > .lr-master-city-core::before,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.start-city.city > .lr-master-city-core::before{
  content:none!important;display:none!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.city .lr-master-city-ring,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.start-city .lr-master-city-ring{
  position:absolute!important;inset:1px!important;width:auto!important;height:auto!important;
  border:1px solid rgba(239,214,148,.42)!important;border-radius:999px!important;
  background:transparent!important;box-shadow:none!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-map-zoom-stage .lr-master-node.city .lr-master-city-code,
.artwork-master-renderer .approved-m1d21q-board .lr-map-zoom-stage .lr-master-node.start-city .lr-master-city-code{
  display:block!important;position:absolute!important;left:10px!important;right:auto!important;top:50%!important;
  transform:translateY(-50%)!important;margin:0!important;padding:1px 3px!important;
  border:0!important;border-radius:4px!important;background:rgba(4,10,9,.70)!important;
  color:#f3e4bc!important;font:900 calc(4.5px * var(--lr-city-label-scale,1))/1 Arial,sans-serif!important;
  letter-spacing:.025em!important;white-space:nowrap!important;text-shadow:0 1px 1px #000!important;
  box-shadow:none!important;opacity:.88!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-map-zoom-stage .lr-master-node.city.route-east .lr-master-city-code,
.artwork-master-renderer .approved-m1d21q-board .lr-map-zoom-stage .lr-master-node.start-city.route-east .lr-master-city-code{
  left:auto!important;right:10px!important;text-align:right!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.city .lr-master-city-chip,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.start-city .lr-master-city-chip{
  display:none!important;visibility:hidden!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.city.current > .lr-master-city-core,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.city.preview > .lr-master-city-core,
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.start-city.current > .lr-master-city-core{
  outline-color:#62e9dc!important;box-shadow:0 0 0 2px rgba(91,232,219,.30),0 0 8px rgba(91,232,219,.58)!important;
}

/* Full start-city names are useful only when zoomed in. */
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.start-city .lr-master-city-name{display:none!important}
.artwork-master-renderer .approved-m1d21q-board.city-labels-expanded .lr-master-node.start-city .lr-master-city-name{
  display:block!important;position:absolute!important;left:10px!important;top:8px!important;width:max-content!important;
  max-width:80px!important;padding:1px 3px!important;border-radius:4px!important;background:rgba(4,10,9,.72)!important;
  color:#f3e4bc!important;font:900 calc(4.4px * var(--lr-city-label-scale,1))/1 Arial,sans-serif!important;white-space:nowrap!important;
}
.artwork-master-renderer .approved-m1d21q-board.city-labels-expanded .lr-master-node.start-city.route-east .lr-master-city-name{left:auto!important;right:10px!important}
.artwork-master-renderer .approved-m1d21q-board.city-labels-expanded .lr-master-node.start-city .lr-master-city-code{display:none!important}

/* Farmington / T-Bird is a single compact premium stop. */
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.tbird-market > .tbird-market-core{
  width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;
  outline:1px solid rgba(232,191,91,.82)!important;box-shadow:0 1px 4px rgba(0,0,0,.72)!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.tbird-market > .tbird-market-core::before{content:none!important;display:none!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.tbird-market > .tbird-market-core>b{font-size:4px!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-node.tbird-market > .tbird-market-core>small{display:none!important}

/* Crossover roads are already in the artwork. Hide neutral/quiet board-space
   dots and retain only the four meaningful action markers per crossover. */
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-action-space.quiet{display:none!important;visibility:hidden!important;opacity:0!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-action-space.actionable{
  opacity:.76!important;transform-box:fill-box!important;transform-origin:center!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-action-space.actionable circle{
  fill:rgba(6,15,13,.70)!important;stroke-width:.16!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-action-space.actionable text{
  font-size:.78px!important;stroke-width:.12!important;
}

/* Junction hit targets are always live; their visual is shown only when that
   junction can actually be used on the player's current space. */
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-gate{
  background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-gate:not(.usable)>*,
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-gate:not(.usable)::before,
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-gate:not(.usable)::after{
  opacity:0!important;visibility:hidden!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-gate.usable>span{
  width:9px!important;height:9px!important;display:grid!important;place-items:center!important;
  border:1px solid #67e6db!important;border-radius:999px!important;background:rgba(4,14,12,.82)!important;
  color:#8ff3e9!important;font:900 6px/1 Arial,sans-serif!important;box-shadow:0 0 7px rgba(83,229,216,.45)!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-gate.usable>small{display:none!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-gate.usable::before,
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-gate.usable::after{display:none!important}

/* Premium crossover cities use a small star/code and no large floating label.
   SBN is already printed into the approved board, so its duplicate marker is
   visually suppressed while its hit target remains available. */
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city{
  background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city-core{
  width:9px!important;height:9px!important;min-width:9px!important;min-height:9px!important;
  outline:1px solid rgba(239,199,102,.78)!important;outline-offset:0!important;background:#08110f!important;
  box-shadow:0 1px 3px rgba(0,0,0,.72)!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city-core::before{content:none!important;display:none!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city-core i{font-size:4px!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city-core b{font-size:3.8px!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city>small{display:none!important;visibility:hidden!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city[data-lr-crossover-city="x-south-bend"]{
  opacity:0!important;visibility:visible!important;pointer-events:auto!important;
}

/* The active pawn and multiplayer pawns remain the strongest map elements. */
.artwork-master-renderer .approved-m1d21q-board .lr-master-dynamic-layer.player-layer{z-index:1400!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-dynamic-layer.remote-layer{z-index:1350!important}

/* ============================================================
   BORDER RUN v4.2.10cq — PHOTOREAL ROADLESS TERRAIN / NODE-ALIGNED LIVE ROADS
   Terrain contains no baked route network. Roads are painted from the exact
   playable city/space geometry so pavement, nodes, hit targets and pawns agree.
   ============================================================ */
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-map-art-crop{
  object-fit:fill!important;object-position:center center!important;
  filter:saturate(1.06) contrast(1.04) brightness(.96)!important;
}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-network,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-start-feeders{
  display:block!important;visibility:visible!important;opacity:1!important;
}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .aligned-live-road-layer path,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-start-feeders path{
  display:block!important;visibility:visible!important;
}
/* Recessed road cut: dark earth trench -> shoulder -> asphalt -> faint edge -> center stripe. */
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-shadow,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-shadow,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-mx-feeder-shadow{
  stroke:rgba(4,7,6,.92)!important;stroke-width:1.42!important;opacity:.88!important;
  filter:drop-shadow(0 .22px .22px rgba(0,0,0,.95))!important;
}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-shoulder,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-highway-shoulder,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-mx-feeder-shoulder{
  stroke:#2a2b27!important;stroke-width:1.12!important;opacity:.99!important;
}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-edge,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-highway-edge{
  stroke:rgba(210,201,170,.42)!important;stroke-width:.91!important;opacity:.58!important;
}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-bed,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-highway-bed,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-mx-feeder-bed{
  stroke:#555953!important;stroke-width:.76!important;opacity:1!important;
}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-center,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-highway-center,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-mx-feeder-center{
  stroke:#efd88d!important;stroke-width:.14!important;stroke-dasharray:.88 .70!important;opacity:.93!important;
}
/* Corridor identity is a restrained shoulder tint, not a neon replacement road. */
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-shoulder.route-west,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-mx-feeder-shoulder.route-west{stroke:#422526!important}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-edge.route-west{stroke:rgba(214,78,70,.52)!important}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-shoulder.route-central,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-mx-feeder-shoulder.route-central{stroke:#4c4021!important}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-edge.route-central{stroke:rgba(226,185,74,.50)!important}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-shoulder.route-east,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-mx-feeder-shoulder.route-east{stroke:#243d4b!important}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-route-highway-edge.route-east{stroke:rgba(74,160,218,.50)!important}
/* Crossovers stay neutral asphalt so the node/action markers carry gameplay meaning. */
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-highway-shoulder{stroke:#30312c!important}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-highway-bed{stroke:#5a5b54!important}
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-highway-center{stroke:#e8d596!important}
/* Cities and action markers remain above the road paint. */
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-visible-board-nodes,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-gate-layer,
.artwork-master-renderer .approved-m1d21q-board.aligned-road-board .lr-crossover-city-layer{z-index:90!important}

/* ============================================================
   BORDER RUN v4.2.10cr — CROSSOVER / PAWN / DICE / VIEWPORT / PAN / MENU
   ============================================================ */
/* Premium crossover cities are gameplay destinations, not hidden hit boxes. */
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer{z-index:1180!important;overflow:visible!important;pointer-events:none!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city{
  display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
  width:58px!important;height:34px!important;min-width:58px!important;min-height:34px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;overflow:visible!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city-core{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;background:#07110f!important;border:1.4px solid #e5bd5a!important;
  outline:1px solid rgba(0,0,0,.72)!important;box-shadow:0 2px 5px rgba(0,0,0,.78),0 0 6px rgba(229,189,90,.24)!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city-core i{font-size:6px!important;line-height:1!important;color:#ffe092!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city-core b{display:none!important}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city-layer .lr-crossover-city>small{
  display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;left:50%!important;top:27px!important;
  transform:translateX(-50%)!important;max-width:88px!important;padding:2px 4px!important;border-radius:4px!important;white-space:nowrap!important;
  background:rgba(5,12,11,.88)!important;border:1px solid rgba(229,189,90,.38)!important;color:#f2dfaa!important;
  font:900 6px/1 Arial,sans-serif!important;letter-spacing:.035em!important;text-shadow:0 1px 2px #000!important;box-shadow:0 2px 4px rgba(0,0,0,.55)!important;
}
.artwork-master-renderer .approved-m1d21q-board .lr-crossover-city[data-lr-crossover-city="x-south-bend"]{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

/* The master renderer owns the only local/remote pawn plane. Legacy board
   pawns/movers are never allowed to remain under it and create a two-car token. */
body.portrait-reference-live #board .vehicle-pawn,
body.landscape-reference-live #board .vehicle-pawn,
body.android-virtual-landscape #board .vehicle-pawn,
body.portrait-reference-live .graphical-world-board .vehicle-pawn,
body.landscape-reference-live .graphical-world-board .vehicle-pawn,
body.android-virtual-landscape .graphical-world-board .vehicle-pawn,
body.portrait-reference-live .board-moving-piece,
body.landscape-reference-live .board-moving-piece,
body.android-virtual-landscape .board-moving-piece{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece.lr-art-player{overflow:visible!important;filter:drop-shadow(0 5px 4px rgba(0,0,0,.48))!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece .turnaround-rig{overflow:visible!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece:not(.master-moving) .turn-wheel,
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece:not(.master-moving) .turn-headlight,
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece:not(.master-moving) .turn-taillight,
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece:not(.master-moving) .turn-marker-light,
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece:not(.master-moving) .turn-body-kit-overlay,
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece:not(.master-moving) .turn-engine-glow{opacity:0!important;visibility:hidden!important}
.artwork-master-renderer .approved-m1d21q-board .lr-master-player-piece:not(.master-moving) .turnaround-body{display:block!important;visibility:visible!important;opacity:1!important;object-fit:contain!important;object-position:center!important}

/* Permanent bottom dice: one authoritative clean face, equipped skin + equipped
   finish + previous local faces. Old photo/cube renderers cannot leak through. */
#lrPrimaryRoll .physical-hud-die,#lrPrimaryRoll .hud-cube-die,#lrPrimaryRoll .hud-face-die,
.pr-bottom-nav>.lr-primary-roll .physical-hud-die,.pr-bottom-nav>.lr-primary-roll .hud-cube-die,.pr-bottom-nav>.lr-primary-roll .hud-face-die{display:none!important}
#lrPrimaryRoll>span.roll-dice-icon,.pr-bottom-nav>.lr-primary-roll>span.roll-dice-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:68px!important;min-width:68px!important;height:38px!important;overflow:visible!important;
}
#lrPrimaryRoll .hud-clean-die,.pr-bottom-nav>.lr-primary-roll .hud-clean-die{
  position:relative!important;display:block!important;flex:0 0 29px!important;width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;
  margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;filter:drop-shadow(0 3px 2px rgba(0,0,0,.58))!important;
}
#lrPrimaryRoll .hud-clean-face,.pr-bottom-nav>.lr-primary-roll .hud-clean-face{
  position:absolute!important;inset:1px!important;border-radius:6px!important;background:var(--hud-die-surface)!important;border:1.5px solid var(--hud-die-edge)!important;
  box-shadow:inset 0 1.5px 2px rgba(255,255,255,.38),inset 0 -2px 3px rgba(0,0,0,.28)!important;overflow:hidden!important;
}
#lrPrimaryRoll .hud-clean-pips,.pr-bottom-nav>.lr-primary-roll .hud-clean-pips{position:absolute!important;inset:0!important;z-index:3!important}
#lrPrimaryRoll .hud-clean-pip,.pr-bottom-nav>.lr-primary-roll .hud-clean-pip{position:absolute!important;width:5px!important;height:5px!important;border-radius:50%!important;background:var(--br-die-pip,#fff)!important;box-shadow:inset 0 0 0 .65px var(--br-die-pip-ring,#111),0 1px 1px rgba(0,0,0,.42)!important;transform:translate(-50%,-50%)!important}
#lrPrimaryRoll .hud-clean-pip.tl,.pr-bottom-nav>.lr-primary-roll .hud-clean-pip.tl{left:27%!important;top:27%!important}
#lrPrimaryRoll .hud-clean-pip.tr,.pr-bottom-nav>.lr-primary-roll .hud-clean-pip.tr{left:73%!important;top:27%!important}
#lrPrimaryRoll .hud-clean-pip.ml,.pr-bottom-nav>.lr-primary-roll .hud-clean-pip.ml{left:27%!important;top:50%!important}
#lrPrimaryRoll .hud-clean-pip.c,.pr-bottom-nav>.lr-primary-roll .hud-clean-pip.c{left:50%!important;top:50%!important}
#lrPrimaryRoll .hud-clean-pip.mr,.pr-bottom-nav>.lr-primary-roll .hud-clean-pip.mr{left:73%!important;top:50%!important}
#lrPrimaryRoll .hud-clean-pip.bl,.pr-bottom-nav>.lr-primary-roll .hud-clean-pip.bl{left:27%!important;top:73%!important}
#lrPrimaryRoll .hud-clean-pip.br,.pr-bottom-nav>.lr-primary-roll .hud-clean-pip.br{left:73%!important;top:73%!important}

/* PC/desktop starts as a true whole-board fit. Mobile stays deliberately larger
   than the viewport, with direct finger panning handled by the board gesture code. */
body.wide-reference-live .artwork-master-renderer .lr-map-host,
body.landscape-reference-live .artwork-master-renderer .lr-map-host{overflow:auto!important;scrollbar-width:none!important;display:block!important}
body.wide-reference-live .artwork-master-renderer .lr-map-host::-webkit-scrollbar,
body.landscape-reference-live .artwork-master-renderer .lr-map-host::-webkit-scrollbar{display:none!important}
body.portrait-reference-live .artwork-master-renderer .lr-map-host{
  overflow:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;cursor:grab!important;
}
body.portrait-reference-live .artwork-master-renderer .lr-map-host::-webkit-scrollbar{display:none!important}
body.portrait-reference-live .artwork-master-renderer .lr-map-host:active{cursor:grabbing!important}

/* MENU belongs back in the same fixed top action row as Trophy/Awards. The old
   floating global launcher is suppressed whenever the master board is live. */
body.portrait-reference-live .br-global-menu-launcher,
body.landscape-reference-live .br-global-menu-launcher,
body.wide-reference-live .br-global-menu-launcher{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.portrait-reference-live .pr-top-actions{right:max(8px,env(safe-area-inset-right,0px))!important;grid-template-columns:repeat(3,40px)!important;width:auto!important;gap:4px!important}
body.portrait-reference-live .pr-top-actions>button[data-lr-top="menu"]{display:grid!important;visibility:visible!important;pointer-events:auto!important;width:40px!important;min-width:40px!important;height:48px!important;min-height:48px!important;border:1px solid #149d9a!important;background:#081210!important;color:#e9d9ab!important;border-radius:10px!important;place-items:center!important}
body.landscape-reference-live .pr-top-actions,body.wide-reference-live .pr-top-actions{right:8px!important;grid-template-columns:repeat(3,36px)!important;gap:7px!important}
body.landscape-reference-live .pr-top-actions>button[data-lr-top="menu"],body.wide-reference-live .pr-top-actions>button[data-lr-top="menu"]{display:grid!important;visibility:visible!important;pointer-events:auto!important}
body.landscape-reference-live .artwork-master-renderer .lr-telemetry,body.wide-reference-live .artwork-master-renderer .lr-telemetry{right:145px!important}

/* ============================================================
   BORDER RUN v4.2.10cs — LANDSCAPE HUD REFIT
   Landscape no longer spends a full row on the three route buttons. The
   primary HUD is a compact status row, followed by the useful Bank / Snot E. /
   Bail E. / Don row. Route choice remains on the board/junction system and the
   portrait layout is intentionally unchanged.
   ============================================================ */
@media (orientation:landscape){
  /* Remove redundant route controls from the landscape chrome and make sure
     their invisible legacy hit targets cannot intercept the map. */
  body.landscape-reference-live .pr-route-tabs,
  body.wide-reference-live .pr-route-tabs{display:none!important;visibility:hidden!important;pointer-events:none!important}
  body.landscape-reference-live .lr-art-hit.route,
  body.wide-reference-live .lr-art-hit.route{display:none!important;visibility:hidden!important;pointer-events:none!important}

  /* Row 1: brand + four core metrics + trophy/awards/menu. */
  body.landscape-reference-live .pr-brand,
  body.wide-reference-live .pr-brand{
    left:10px!important;top:6px!important;width:205px!important;height:50px!important;
    padding:0 9px!important;border-radius:9px!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-telemetry,
  body.wide-reference-live .artwork-master-renderer .lr-telemetry{
    left:224px!important;right:154px!important;top:6px!important;height:50px!important;
    grid-template-columns:1.02fr 1.25fr .95fr 1.02fr!important;gap:6px!important;
    align-items:stretch!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-metric,
  body.wide-reference-live .artwork-master-renderer .lr-metric,
  body.landscape-reference-live .artwork-master-renderer .lr-metric.cash,
  body.wide-reference-live .artwork-master-renderer .lr-metric.cash{
    min-width:0!important;height:50px!important;padding:5px 9px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:12px 17px 5px 8px!important;align-content:center!important;
    justify-items:stretch!important;gap:1px!important;border-radius:8px!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-metric b,
  body.wide-reference-live .artwork-master-renderer .lr-metric b{
    grid-column:1!important;grid-row:1!important;margin:0!important;
    font-size:clamp(10px,.78vw,14px)!important;line-height:12px!important;
    min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-metric .lr-phase-mini,
  body.wide-reference-live .artwork-master-renderer .lr-metric .lr-phase-mini{
    font-size:clamp(6px,.46vw,8px)!important;line-height:1!important;margin-left:5px!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-metric span:not(.telemetry-meter),
  body.wide-reference-live .artwork-master-renderer .lr-metric span:not(.telemetry-meter),
  body.landscape-reference-live .artwork-master-renderer .lr-metric.cash span:not(.telemetry-meter),
  body.wide-reference-live .artwork-master-renderer .lr-metric.cash span:not(.telemetry-meter){
    grid-column:1!important;grid-row:2!important;width:100%!important;margin:0!important;
    font-size:clamp(13px,1.08vw,19px)!important;line-height:17px!important;text-align:left!important;
    min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-metric .telemetry-meter,
  body.wide-reference-live .artwork-master-renderer .lr-metric .telemetry-meter{
    grid-column:1!important;grid-row:3!important;width:100%!important;height:5px!important;margin:0!important;gap:3px!important;
  }
  body.landscape-reference-live .artwork-master-renderer .lr-metric .telemetry-meter .tm-bar,
  body.wide-reference-live .artwork-master-renderer .lr-metric .telemetry-meter .tm-bar{height:5px!important}
  body.landscape-reference-live .artwork-master-renderer .lr-metric small,
  body.wide-reference-live .artwork-master-renderer .lr-metric small{
    grid-column:1!important;grid-row:4!important;margin:0!important;
    font-size:clamp(5.5px,.46vw,7.5px)!important;line-height:8px!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.landscape-reference-live .pr-top-actions,
  body.wide-reference-live .pr-top-actions{
    right:8px!important;top:6px!important;width:136px!important;height:50px!important;
    grid-template-columns:40px 40px 44px!important;gap:6px!important;align-items:center!important;
  }
  body.landscape-reference-live .pr-top-actions>button,
  body.wide-reference-live .pr-top-actions>button,
  body.landscape-reference-live .pr-top-actions>button:not(.top-don),
  body.wide-reference-live .pr-top-actions>button:not(.top-don){
    width:40px!important;min-width:40px!important;height:44px!important;min-height:44px!important;
    margin:0!important;border-radius:9px!important;font-size:17px!important;
  }
  body.landscape-reference-live .pr-top-actions>button[data-lr-top="menu"],
  body.wide-reference-live .pr-top-actions>button[data-lr-top="menu"]{
    width:44px!important;min-width:44px!important;border-color:#149d9a!important;background:#081210!important;color:#e9d9ab!important;
  }

  /* Row 2: useful contact/finance status replaces the old route-button row. */
  body.landscape-reference-live .pr-legal-hud,
  body.wide-reference-live .pr-legal-hud{
    display:grid!important;visibility:visible!important;position:absolute!important;
    left:10px!important;right:10px!important;top:62px!important;height:38px!important;z-index:97!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;
  }
  body.landscape-reference-live .pr-legal,
  body.wide-reference-live .pr-legal{
    min-width:0!important;height:38px!important;padding:4px 8px!important;border-radius:8px!important;
    grid-template-columns:28px minmax(0,1fr)!important;column-gap:7px!important;align-items:center!important;text-align:left!important;
  }
  body.landscape-reference-live .pr-legal .pr-legal-face-slot,
  body.wide-reference-live .pr-legal .pr-legal-face-slot{
    width:28px!important;height:28px!important;border-radius:7px!important;
  }
  body.landscape-reference-live .pr-legal .pr-legal-copy,
  body.wide-reference-live .pr-legal .pr-legal-copy{min-width:0!important;gap:2px!important}
  body.landscape-reference-live .pr-legal .pr-legal-copy b,
  body.wide-reference-live .pr-legal .pr-legal-copy b{
    font-size:clamp(7px,.56vw,9px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.landscape-reference-live .pr-legal .pr-legal-copy span,
  body.wide-reference-live .pr-legal .pr-legal-copy span{
    font-size:clamp(9px,.78vw,12px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.landscape-reference-live .pr-legal .pr-legal-face-icon,
  body.wide-reference-live .pr-legal .pr-legal-face-icon{font-size:15px!important}

  /* Board begins immediately below the compact two-row HUD. Bottom dock stays
     unchanged, so PC still fits the whole board in the available viewport. */
  body.landscape-reference-live .artwork-master-renderer .lr-map-host,
  body.wide-reference-live .artwork-master-renderer .lr-map-host{top:105px!important;bottom:58px!important}
  body.landscape-reference-live .lr-context-overlay-stack,
  body.wide-reference-live .lr-context-overlay-stack{top:110px!important;bottom:62px!important;max-height:calc(100dvh - 172px)!important}
  body.landscape-reference-live .artwork-master-renderer .lr-board-zoom-controls,
  body.wide-reference-live .artwork-master-renderer .lr-board-zoom-controls,
  body.landscape-reference-live .pr-live-legend,
  body.wide-reference-live .pr-live-legend{top:113px!important}
}

/* Very short landscape phones keep the same information hierarchy with a
   slightly tighter second row instead of bringing the route buttons back. */
@media (orientation:landscape) and (max-height:500px){
  body.landscape-reference-live .pr-brand{height:46px!important}
  body.landscape-reference-live .artwork-master-renderer .lr-telemetry{height:46px!important}
  body.landscape-reference-live .artwork-master-renderer .lr-metric,
  body.landscape-reference-live .artwork-master-renderer .lr-metric.cash{height:46px!important;padding-top:3px!important;padding-bottom:3px!important}
  body.landscape-reference-live .pr-top-actions{height:46px!important}
  body.landscape-reference-live .pr-top-actions>button{height:40px!important;min-height:40px!important}
  body.landscape-reference-live .pr-legal-hud{top:57px!important;height:34px!important}
  body.landscape-reference-live .pr-legal{height:34px!important;padding-top:3px!important;padding-bottom:3px!important}
  body.landscape-reference-live .pr-legal .pr-legal-face-slot{width:25px!important;height:25px!important}
  body.landscape-reference-live .pr-legal{grid-template-columns:25px minmax(0,1fr)!important}
  body.landscape-reference-live .artwork-master-renderer .lr-map-host{top:96px!important}
  body.landscape-reference-live .lr-context-overlay-stack{top:101px!important;max-height:calc(100dvh - 163px)!important}
}
\n\n/* ============================================================\n   BORDER RUN v4.2.10ct — SINGLE AUTHORITATIVE MAP PAWN\n   Never show a stale legacy/local pawn beside the live turnaround renderer.\n   ============================================================ */\n#lrMasterPlayerLayer > .lr-master-player-piece ~ .lr-master-player-piece,\n#lrMasterPlayerLayer > .vehicle-pawn,\n#lrMasterPlayerLayer > .board-moving-piece,\n#lrMasterPlayerLayer > [data-player-pawn="1"]:not(#lrMasterPlayerPiece){\n  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;\n}\n#lrMasterPlayerPiece .turnaround-enabled::before,\n#lrMasterPlayerPiece .turnaround-enabled::after{\n  content:none!important;display:none!important;background-image:none!important;\n}\n#lrMasterPlayerPiece .turnaround-rig > .turnaround-body{\n  display:block!important;visibility:visible!important;opacity:1!important;\n}\n\n\n/* ============================================================\n   BORDER RUN v4.2.10dg — TURNAROUND BODY-ONLY PAWN\n   The 8-view vehicle body is the single visible vehicle image on the map.\n   Legacy miniature/image hooks are explicitly disabled on turnaround pawns.\n   ============================================================ */\n#lrMasterPlayerPiece .turnaround-body-only{\n  background:none!important;background-image:none!important;\n  -webkit-mask-image:none!important;mask-image:none!important;\n  overflow:visible!important;isolation:isolate!important;\n}\n#lrMasterPlayerPiece .turnaround-body-only > *:not(.turnaround-rig){\n  display:none!important;visibility:hidden!important;opacity:0!important;\n}\n#lrMasterPlayerPiece .turnaround-body-only > .turnaround-rig{\n  display:block!important;visibility:visible!important;opacity:1!important;\n}\n#lrMasterPlayerPiece .turnaround-body-only > .turnaround-rig > .turnaround-body{\n  display:block!important;visibility:visible!important;opacity:1!important;\n}\n#lrMasterPlayerPiece .turnaround-body-only .unified-miniature-shell,\n#lrMasterPlayerPiece .turnaround-body-only .miniature-vehicle-image,\n#lrMasterPlayerPiece .turnaround-body-only .piece-3d-motion,\n#lrMasterPlayerPiece .turnaround-body-only > img,\n#lrMasterPlayerPiece .turnaround-body-only > .render-paint-layer{\n  display:none!important;visibility:hidden!important;opacity:0!important;\n}\n
/* ============================================================
   BORDER RUN v4.2.10dg — CITY LAYER + HUD + DICE + AUTHORITATIVE PAWN FIXES
   Force all cities above highways, restore stronger crossover visibility, make
   the bottom vehicle/dice renders readable, and keep one authoritative pawn.
   ============================================================ */
.artwork-master-renderer .lr-map-zoom-stage > .lr-art-board-overlay > .lr-visible-board-nodes,
.artwork-master-renderer .lr-visible-board-nodes,
.artwork-master-renderer .lr-crossover-city-layer,
.artwork-master-renderer .lr-crossover-gate-layer{
  z-index:1200!important;
  isolation:isolate!important;
}
.artwork-master-renderer .living-roads,
.artwork-master-renderer .lr-road-layer,
.graphical-world-board > .living-roads{
  z-index:140!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.start-city.city,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market,
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city,
.artwork-master-renderer .lr-crossover-gate-layer .lr-crossover-gate{
  z-index:1250!important;
  pointer-events:auto!important;
}
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.city > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.start-city.city > .lr-master-city-core,
.artwork-master-renderer .lr-visible-board-nodes > .lr-master-node.tbird-market > .tbird-market-core,
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core{
  box-shadow:0 0 0 2px rgba(0,0,0,.74),0 4px 10px rgba(0,0,0,.54),0 0 12px rgba(244,209,109,.28)!important;
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city{
  width:30px!important;height:30px!important;
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core{
  width:18px!important;height:18px!important;
}
.artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city > small{
  display:block!important;
  top:23px!important;
  font-size:5.6px!important;
  letter-spacing:.08em!important;
  padding:1px 4px!important;
  background:rgba(5,10,10,.96)!important;
  border-color:rgba(240,195,91,.42)!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city,
body.wide-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city{
  width:26px!important;height:26px!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core,
body.wide-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city-core{
  width:15px!important;height:15px!important;
}
body.landscape-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city > small,
body.wide-reference-live .artwork-master-renderer .lr-crossover-city-layer .lr-crossover-city > small{
  top:21px!important;font-size:4.8px!important;
}

/* Bottom vehicle preview: larger, centered, and clean. */
.pr-bottom-nav .live-vehicle-nav-piece,
#lrVehicleNavPiece.live-vehicle-nav-piece,
#mobileVehicleNavPiece.live-vehicle-nav-piece,
#hardRefVehicleNavPiece.live-vehicle-nav-piece{
  width:92px!important;height:54px!important;max-width:92px!important;max-height:54px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;
}
.pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview,
#lrVehicleNavPiece .hud-vehicle-preview,
#mobileVehicleNavPiece .hud-vehicle-preview,
#hardRefVehicleNavPiece .hud-vehicle-preview{
  position:relative!important;width:92px!important;height:54px!important;display:block!important;overflow:visible!important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.52))!important;
}
.pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview > img,
#lrVehicleNavPiece .hud-vehicle-preview > img,
#mobileVehicleNavPiece .hud-vehicle-preview > img,
#hardRefVehicleNavPiece .hud-vehicle-preview > img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;
}
.pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview > .hud-vehicle-shadow,
#lrVehicleNavPiece .hud-vehicle-preview > .hud-vehicle-shadow,
#mobileVehicleNavPiece .hud-vehicle-preview > .hud-vehicle-shadow,
#hardRefVehicleNavPiece .hud-vehicle-preview > .hud-vehicle-shadow{
  left:15%!important;right:15%!important;bottom:7px!important;height:12px!important;opacity:.58!important;
}
@media (max-width: 900px){
  .pr-bottom-nav .live-vehicle-nav-piece,
  #lrVehicleNavPiece.live-vehicle-nav-piece,
  #mobileVehicleNavPiece.live-vehicle-nav-piece,
  #hardRefVehicleNavPiece.live-vehicle-nav-piece{width:74px!important;height:46px!important;max-width:74px!important;max-height:46px!important}
  .pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview,
  #lrVehicleNavPiece .hud-vehicle-preview,
  #mobileVehicleNavPiece .hud-vehicle-preview,
  #hardRefVehicleNavPiece .hud-vehicle-preview{width:74px!important;height:46px!important}
}

/* Bottom-right dice: show the correct clean pair larger and centered. */
#lrPrimaryRoll > span.roll-dice-icon,
.pr-bottom-nav > .lr-primary-roll > span.roll-dice-icon{
  width:82px!important;min-width:82px!important;max-width:82px!important;height:42px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
}
#lrPrimaryRoll .hud-clean-die,
.pr-bottom-nav > .lr-primary-roll .hud-clean-die{
  width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important;flex:0 0 36px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
}
#lrPrimaryRoll .hud-clean-face,
.pr-bottom-nav > .lr-primary-roll .hud-clean-face{
  width:100%!important;height:100%!important;border-radius:10px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 3px rgba(0,0,0,.46)!important;
}
#lrPrimaryRoll .hud-clean-pip,
.pr-bottom-nav > .lr-primary-roll .hud-clean-pip{
  width:5px!important;height:5px!important;
}
@media (max-width: 900px){
  #lrPrimaryRoll > span.roll-dice-icon,
  .pr-bottom-nav > .lr-primary-roll > span.roll-dice-icon{width:68px!important;min-width:68px!important;max-width:68px!important;height:36px!important;gap:4px!important}
  #lrPrimaryRoll .hud-clean-die,
  .pr-bottom-nav > .lr-primary-roll .hud-clean-die{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;flex-basis:30px!important}
  #lrPrimaryRoll .hud-clean-pip,
  .pr-bottom-nav > .lr-primary-roll .hud-clean-pip{width:4px!important;height:4px!important}
}

/* Authoritative pawn: one visible turnaround body only. */
#lrMasterPlayerPiece{z-index:1400!important;overflow:visible!important}
#lrMasterPlayerPiece .turnaround-enabled,
#lrMasterPlayerPiece .turnaround-body-only{isolation:isolate!important;overflow:visible!important}
#lrMasterPlayerPiece .turnaround-enabled img:not(.turnaround-body),
#lrMasterPlayerPiece .turnaround-body-only img:not(.turnaround-body),
#lrMasterPlayerPiece .turnaround-enabled .miniature-vehicle-image,
#lrMasterPlayerPiece .turnaround-enabled .unified-miniature-shell,
#lrMasterPlayerPiece .turnaround-enabled .piece-3d-motion,
#lrMasterPlayerPiece .turnaround-enabled .render-paint-layer,
#lrMasterPlayerPiece .turnaround-enabled .render-rim-accent,
#lrMasterPlayerPiece .turnaround-enabled .render-body-accent,
#lrMasterPlayerPiece .turnaround-enabled .piece-wheel,
#lrMasterPlayerPiece .turnaround-enabled .piece-shadow,
#lrMasterPlayerPiece .turnaround-enabled .piece-chassis,
#lrMasterPlayerPiece .turnaround-enabled .piece-plinth,
#lrMasterPlayerPiece .turnaround-enabled::before,
#lrMasterPlayerPiece .turnaround-enabled::after{
  display:none!important;visibility:hidden!important;opacity:0!important;content:none!important;background:none!important;
}
#lrMasterPlayerPiece .turnaround-rig{
  display:block!important;visibility:visible!important;opacity:1!important;
}
#lrMasterPlayerPiece .turnaround-rig > .turnaround-body{
  display:block!important;visibility:visible!important;opacity:1!important;object-fit:contain!important;object-position:center center!important;
}

/* ============================================================
   BORDER RUN v4.2.10dg — PORTRAIT HUD REFIT + NO PORTRAIT ROUTE BUTTONS
   Portrait mobile gets a cleaner top stack, route buttons are removed from
   portrait mode, and the map starts higher to reclaim space.
   ============================================================ */
@media (orientation:portrait){
  body.portrait-reference-live #landscapeReferenceShell{
    --portrait-safe-top:max(env(safe-area-inset-top,0px),22px);
    --portrait-global-menu-width:46px;
    --portrait-actions-width:88px;
  }
  /* Top identity + icon cluster refit */
  body.portrait-reference-live .pr-brand{
    left:6px!important;
    top:var(--portrait-safe-top)!important;
    width:calc(100vw - 6px - 6px - var(--portrait-global-menu-width) - var(--portrait-actions-width) - 20px)!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    padding:0 10px!important;
    border-radius:10px!important;
    z-index:98!important;
  }
  body.portrait-reference-live .pr-brand strong{font-size:24px!important;line-height:.92!important}
  body.portrait-reference-live .pr-brand span{font-size:7px!important;letter-spacing:.18em!important}
  body.portrait-reference-live .pr-top-actions{
    right:56px!important;
    top:var(--portrait-safe-top)!important;
    grid-template-columns:repeat(2,40px)!important;
    gap:4px!important;
    z-index:99!important;
  }
  body.portrait-reference-live .pr-top-actions button{width:40px!important;height:48px!important;font-size:18px!important}
  body.portrait-reference-live .pr-top-actions [data-lr-top="menu"]{display:none!important}
  body.portrait-reference-live .br-global-menu-launcher{
    top:var(--portrait-safe-top)!important;
    right:8px!important;
    width:40px!important;
    min-width:40px!important;
    height:48px!important;
    z-index:100!important;
  }

  /* Four compact telemetry tiles under the logo row */
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry{
    left:6px!important;
    right:6px!important;
    top:calc(var(--portrait-safe-top) + 54px)!important;
    height:44px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
    z-index:96!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric{
    height:44px!important;
    min-width:0!important;
    padding:5px 6px!important;
    border-radius:9px!important;
    align-content:center!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric b{font-size:13px!important;line-height:1!important;letter-spacing:.03em!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric span{font-size:10px!important;line-height:1!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric small{font-size:6px!important;line-height:1.05!important}

  /* Legal/status row becomes the second information band */
  body.portrait-reference-live .pr-legal-hud{
    display:grid!important;
    position:absolute!important;
    left:6px!important;
    right:6px!important;
    top:calc(var(--portrait-safe-top) + 103px)!important;
    height:52px!important;
    z-index:97!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
  }
  body.portrait-reference-live .pr-legal{
    min-width:0!important;
    height:52px!important;
    padding:4px!important;
    overflow:hidden!important;
    border-radius:10px!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    column-gap:5px!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-face-slot{width:30px!important;height:42px!important;min-width:30px!important;border-radius:8px!important}
  body.portrait-reference-live .pr-legal .pr-legal-copy{gap:2px!important}
  body.portrait-reference-live .pr-legal .pr-legal-copy b{font-size:7px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.portrait-reference-live .pr-legal .pr-legal-copy span{font-size:10px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.portrait-reference-live .pr-legal.bank .pr-legal-copy span{font-size:11px!important}

  /* Portrait route buttons are removed entirely to declutter mobile portrait. */
  body.portrait-reference-live .pr-route-tabs{display:none!important;visibility:hidden!important;pointer-events:none!important}

  /* The map can now start higher because the route strip is gone. */
  body.portrait-reference-live .artwork-master-renderer .lr-map-host{
    top:calc(var(--portrait-safe-top) + 160px)!important;
    bottom:82px!important;
    height:auto!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls,
  body.portrait-reference-live .pr-live-legend{top:calc(var(--portrait-safe-top) + 168px)!important}
  body.portrait-reference-live .lr-primary-roll{top:calc(var(--portrait-safe-top) + 168px)!important}
}

/* ============================================================
   BORDER RUN v4.2.10dg — PAWN / VEHICLE HUD / DICE HARD RESET
   These final selectors intentionally outrank legacy render hooks.
   ============================================================ */

/* 1) Master-board pawn is the ONLY local vehicle plane. */
body.landscape-reference-live .vehicle-pawn[data-player-pawn="1"],
body.portrait-reference-live .vehicle-pawn[data-player-pawn="1"],
body.android-virtual-landscape .vehicle-pawn[data-player-pawn="1"],
body.landscape-reference-live .board-moving-piece,
body.portrait-reference-live .board-moving-piece,
body.android-virtual-landscape .board-moving-piece{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#lrMasterPlayerPiece{
  display:block!important;visibility:visible!important;opacity:1!important;z-index:1600!important;
}
body.landscape-reference-live .artwork-master-renderer #lrMasterPlayerPiece:has(.turnaround-enabled),
body.android-virtual-landscape .artwork-master-renderer #lrMasterPlayerPiece:has(.turnaround-enabled){
  width:82px!important;height:52px!important;min-width:82px!important;min-height:52px!important;
}
body.portrait-reference-live .artwork-master-renderer #lrMasterPlayerPiece:has(.turnaround-enabled){
  width:88px!important;height:56px!important;min-width:88px!important;min-height:56px!important;
}
#lrMasterPlayerPiece .turnaround-enabled,
#lrMasterPlayerPiece .turnaround-body-only,
#lrMasterPlayerPiece .turnaround-rig{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  transform:none!important;margin:0!important;background:none!important;background-image:none!important;
}
#lrMasterPlayerPiece .turnaround-rig>.turnaround-body{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center center!important;transform:none!important;
}
#lrMasterPlayerPiece .turnaround-enabled::before,
#lrMasterPlayerPiece .turnaround-enabled::after,
#lrMasterPlayerPiece .turnaround-body-only::before,
#lrMasterPlayerPiece .turnaround-body-only::after{
  content:none!important;display:none!important;background:none!important;background-image:none!important;
}

/* 2) Bottom vehicle preview: remove the old [class*=vehicle] scale(.62) rule. */
.pr-bottom-nav .live-vehicle-nav-piece,
#lrVehicleNavPiece.live-vehicle-nav-piece,
#mobileVehicleNavPiece.live-vehicle-nav-piece,
#hardRefVehicleNavPiece.live-vehicle-nav-piece{
  width:104px!important;height:58px!important;max-width:104px!important;max-height:58px!important;
  transform:none!important;filter:none!important;margin:0 auto!important;overflow:visible!important;
}
.pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview,
#lrVehicleNavPiece .hud-vehicle-preview,
#mobileVehicleNavPiece .hud-vehicle-preview,
#hardRefVehicleNavPiece .hud-vehicle-preview{
  width:104px!important;height:58px!important;max-width:none!important;max-height:none!important;
  min-width:104px!important;min-height:58px!important;transform:none!important;scale:1!important;
  margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;
}
.pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview::before,
.pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview::after,
#lrVehicleNavPiece .hud-vehicle-preview::before,
#lrVehicleNavPiece .hud-vehicle-preview::after{
  content:none!important;display:none!important;
}
.pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview>img,
#lrVehicleNavPiece .hud-vehicle-preview>img,
#mobileVehicleNavPiece .hud-vehicle-preview>img,
#hardRefVehicleNavPiece .hud-vehicle-preview>img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  transform:none!important;scale:1!important;object-fit:contain!important;object-position:center center!important;
}
@media (orientation:portrait){
  body.portrait-reference-live .pr-bottom-nav .live-vehicle-nav-piece,
  body.portrait-reference-live #lrVehicleNavPiece.live-vehicle-nav-piece,
  body.portrait-reference-live #mobileVehicleNavPiece.live-vehicle-nav-piece{
    width:72px!important;height:46px!important;max-width:72px!important;max-height:46px!important;
  }
  body.portrait-reference-live .pr-bottom-nav .live-vehicle-nav-piece .hud-vehicle-preview,
  body.portrait-reference-live #lrVehicleNavPiece .hud-vehicle-preview,
  body.portrait-reference-live #mobileVehicleNavPiece .hud-vehicle-preview{
    width:72px!important;height:46px!important;min-width:72px!important;min-height:46px!important;
  }
}

/* 3) Bottom dice: neutralize the legacy rule that styled EVERY span as a die. */
#lrPrimaryRoll>.roll-dice-icon,
.pr-bottom-nav>.lr-primary-roll>.roll-dice-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  width:94px!important;min-width:94px!important;max-width:94px!important;height:44px!important;
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;filter:none!important;overflow:visible!important;transform:none!important;
}
#lrPrimaryRoll>.roll-dice-icon::before,
#lrPrimaryRoll>.roll-dice-icon::after,
.pr-bottom-nav>.lr-primary-roll>.roll-dice-icon::before,
.pr-bottom-nav>.lr-primary-roll>.roll-dice-icon::after{
  content:none!important;display:none!important;box-shadow:none!important;background:none!important;
}
#lrPrimaryRoll .roll-dice-icon .hud-clean-die,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-die{
  position:relative!important;display:block!important;flex:0 0 40px!important;
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  transform:none!important;overflow:visible!important;
}
#lrPrimaryRoll .roll-dice-icon .hud-clean-die::before,
#lrPrimaryRoll .roll-dice-icon .hud-clean-die::after,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-die::before,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-die::after{
  content:none!important;display:none!important;background:none!important;box-shadow:none!important;
}
#lrPrimaryRoll .roll-dice-icon .hud-clean-face,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-face{
  position:absolute!important;inset:1px!important;width:auto!important;height:auto!important;
  margin:0!important;padding:0!important;border-radius:9px!important;
  background:var(--hud-die-surface)!important;border:2px solid var(--hud-die-edge)!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.36),inset 0 -3px 4px rgba(0,0,0,.28),0 3px 3px rgba(0,0,0,.45)!important;
  transform:none!important;overflow:hidden!important;
}
#lrPrimaryRoll .roll-dice-icon .hud-clean-face::before,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-face::before{
  content:none!important;display:none!important;background:none!important;box-shadow:none!important;
}
#lrPrimaryRoll .roll-dice-icon .hud-clean-pips,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-pips{
  position:absolute!important;inset:0!important;width:auto!important;height:auto!important;
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  transform:none!important;z-index:3!important;
}
#lrPrimaryRoll .roll-dice-icon .hud-clean-pips::before,
#lrPrimaryRoll .roll-dice-icon .hud-clean-pips::after,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-pips::before,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-pips::after{
  content:none!important;display:none!important;background:none!important;box-shadow:none!important;
}
#lrPrimaryRoll .roll-dice-icon .hud-clean-pip,
.pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-pip{
  width:6px!important;height:6px!important;min-width:6px!important;min-height:6px!important;max-width:6px!important;max-height:6px!important;
  border:0!important;background:var(--br-die-pip,#fff)!important;border-radius:50%!important;
  box-shadow:inset 0 0 0 .75px var(--br-die-pip-ring,#111),0 1px 1px rgba(0,0,0,.42)!important;
}
@media (orientation:portrait){
  body.portrait-reference-live #lrPrimaryRoll>.roll-dice-icon,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll>.roll-dice-icon{
    width:76px!important;min-width:76px!important;max-width:76px!important;height:36px!important;gap:6px!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .roll-dice-icon .hud-clean-die,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-die{
    flex-basis:32px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;
  }
  body.portrait-reference-live #lrPrimaryRoll .roll-dice-icon .hud-clean-pip,
  body.portrait-reference-live .pr-bottom-nav>.lr-primary-roll .roll-dice-icon .hud-clean-pip{
    width:5px!important;height:5px!important;min-width:5px!important;min-height:5px!important;max-width:5px!important;max-height:5px!important;
  }
}

/* ============================================================
   BORDER RUN v4.2.10dg — DIRECT PAWN / DICE / BOTTOM VEHICLE RENDER
   Bypass legacy miniature and dice render stacks entirely.
   ============================================================ */
/* Desktop can carry wide-reference-live instead of landscape-reference-live. */
body.wide-reference-live .vehicle-pawn[data-player-pawn="1"],
body.wide-reference-live .board-moving-piece,
body.wide-reference-live [data-player-pawn="1"]:not(#lrMasterPlayerPiece){
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#lrMasterPlayerLayer > *:not(#lrMasterPlayerPiece){
  pointer-events:none!important;
}
#lrMasterPlayerPiece{
  width:96px!important;height:62px!important;min-width:96px!important;min-height:62px!important;
  overflow:visible!important;z-index:1700!important;background:none!important;border:0!important;padding:0!important;
}
#lrMasterPlayerPiece > .br-master-vehicle-img{
  display:block!important;position:absolute!important;left:50%!important;top:50%!important;
  width:112px!important;height:70px!important;max-width:none!important;max-height:none!important;
  transform:translate(-50%,-50%)!important;object-fit:contain!important;object-position:center!important;
  filter:drop-shadow(0 5px 4px rgba(0,0,0,.52))!important;pointer-events:none!important;z-index:1!important;
}
@media (orientation:portrait){
  body.portrait-reference-live #lrMasterPlayerPiece{width:90px!important;height:58px!important;min-width:90px!important;min-height:58px!important}
  body.portrait-reference-live #lrMasterPlayerPiece > .br-master-vehicle-img{width:104px!important;height:66px!important}
}

/* Bottom vehicle is now a single direct image—no old vehicle HUD shells. */
.pr-bottom-nav .live-vehicle-nav-piece,
#lrVehicleNavPiece.live-vehicle-nav-piece,
#mobileVehicleNavPiece.live-vehicle-nav-piece,
#hardRefVehicleNavPiece.live-vehicle-nav-piece{
  width:132px!important;height:58px!important;max-width:132px!important;max-height:58px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;
  transform:none!important;filter:none!important;
}
.pr-bottom-nav .live-vehicle-nav-piece > .br-bottom-vehicle-img,
#lrVehicleNavPiece > .br-bottom-vehicle-img,
#mobileVehicleNavPiece > .br-bottom-vehicle-img,
#hardRefVehicleNavPiece > .br-bottom-vehicle-img{
  display:block!important;width:132px!important;height:58px!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;transform:scale(1.08)!important;transform-origin:center!important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))!important;margin:0!important;padding:0!important;
}
@media (orientation:portrait){
  body.portrait-reference-live .pr-bottom-nav .live-vehicle-nav-piece,
  body.portrait-reference-live #lrVehicleNavPiece.live-vehicle-nav-piece,
  body.portrait-reference-live #mobileVehicleNavPiece.live-vehicle-nav-piece{width:82px!important;height:46px!important;max-width:82px!important;max-height:46px!important}
  body.portrait-reference-live .pr-bottom-nav .live-vehicle-nav-piece > .br-bottom-vehicle-img,
  body.portrait-reference-live #lrVehicleNavPiece > .br-bottom-vehicle-img,
  body.portrait-reference-live #mobileVehicleNavPiece > .br-bottom-vehicle-img{width:82px!important;height:46px!important;transform:scale(1.12)!important}
}

/* Bottom dice use unique elements and the actual equipped dice3d shell image. */
#lrPrimaryRoll > .br-bottom-dice-pair,
.pr-bottom-nav > .lr-primary-roll > .br-bottom-dice-pair{
  position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
  width:106px!important;height:46px!important;gap:6px!important;margin:0!important;padding:0!important;
  font-style:normal!important;background:none!important;border:0!important;box-shadow:none!important;filter:none!important;
}
#lrPrimaryRoll .br-bottom-die,
.pr-bottom-nav > .lr-primary-roll .br-bottom-die{
  position:relative!important;display:block!important;flex:0 0 46px!important;width:46px!important;height:46px!important;
  margin:0!important;padding:0!important;font-style:normal!important;background:none!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;overflow:visible!important;
}
#lrPrimaryRoll .br-bottom-die-shell,
.pr-bottom-nav > .lr-primary-roll .br-bottom-die-shell{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;
  transform:none!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.56))!important;pointer-events:none!important;
}
#lrPrimaryRoll .br-bottom-die-pips,
.pr-bottom-nav > .lr-primary-roll .br-bottom-die-pips{
  position:absolute!important;left:19%!important;top:25%!important;width:58%!important;height:56%!important;
  display:block!important;font-style:normal!important;z-index:4!important;pointer-events:none!important;
}
#lrPrimaryRoll .br-bottom-pip,
.pr-bottom-nav > .lr-primary-roll .br-bottom-pip{
  position:absolute!important;width:6px!important;height:6px!important;border-radius:50%!important;
  background:var(--br-die-pip,#fff)!important;box-shadow:inset 0 0 0 1px var(--br-die-pip-ring,#111),0 1px 1px rgba(0,0,0,.45)!important;
  transform:translate(-50%,-50%)!important;font-style:normal!important;
}
#lrPrimaryRoll .br-bottom-pip.tl,.pr-bottom-nav>.lr-primary-roll .br-bottom-pip.tl{left:24%!important;top:24%!important}
#lrPrimaryRoll .br-bottom-pip.tr,.pr-bottom-nav>.lr-primary-roll .br-bottom-pip.tr{left:76%!important;top:24%!important}
#lrPrimaryRoll .br-bottom-pip.ml,.pr-bottom-nav>.lr-primary-roll .br-bottom-pip.ml{left:24%!important;top:50%!important}
#lrPrimaryRoll .br-bottom-pip.c,.pr-bottom-nav>.lr-primary-roll .br-bottom-pip.c{left:50%!important;top:50%!important}
#lrPrimaryRoll .br-bottom-pip.mr,.pr-bottom-nav>.lr-primary-roll .br-bottom-pip.mr{left:76%!important;top:50%!important}
#lrPrimaryRoll .br-bottom-pip.bl,.pr-bottom-nav>.lr-primary-roll .br-bottom-pip.bl{left:24%!important;top:76%!important}
#lrPrimaryRoll .br-bottom-pip.br,.pr-bottom-nav>.lr-primary-roll .br-bottom-pip.br{left:76%!important;top:76%!important}
@media (orientation:portrait){
  body.portrait-reference-live #lrPrimaryRoll > .br-bottom-dice-pair,
  body.portrait-reference-live .pr-bottom-nav > .lr-primary-roll > .br-bottom-dice-pair{width:76px!important;height:36px!important;gap:4px!important}
  body.portrait-reference-live #lrPrimaryRoll .br-bottom-die,
  body.portrait-reference-live .pr-bottom-nav > .lr-primary-roll .br-bottom-die{flex-basis:34px!important;width:34px!important;height:34px!important}
  body.portrait-reference-live #lrPrimaryRoll .br-bottom-pip,
  body.portrait-reference-live .pr-bottom-nav > .lr-primary-roll .br-bottom-pip{width:4.5px!important;height:4.5px!important}
}

/* ============================================================
   BORDER RUN v4.2.10dg — PORTRAIT HUD LOCKED / CLEAN
   Final portrait override. The top HUD is a fixed three-band layout:
   brand/actions, telemetry, legal/status. Nothing wraps, grows, or pushes
   the map. Portrait route buttons are removed entirely.
   ============================================================ */
@media (orientation:portrait){
  body.portrait-reference-live #landscapeReferenceShell{
    --br-p-safe:max(env(safe-area-inset-top,0px),22px);
    --br-p-x:6px;
    --br-p-gap:4px;
    --br-p-brand-h:46px;
    --br-p-metric-h:50px;
    --br-p-legal-h:54px;
    --br-p-band-gap:5px;
  }

  /* Row 1: brand + trophy + awards + global menu, all locked. */
  body.portrait-reference-live .pr-brand{
    position:absolute!important;
    left:var(--br-p-x)!important;
    top:var(--br-p-safe)!important;
    width:calc(100vw - 6px - 6px - 44px - 44px - 44px - 12px)!important;
    height:var(--br-p-brand-h)!important;
    min-width:0!important;max-width:none!important;
    padding:0 9px!important;margin:0!important;
    display:flex!important;justify-content:center!important;align-items:center!important;flex-direction:column!important;
    overflow:hidden!important;border-radius:10px!important;box-sizing:border-box!important;
    z-index:120!important;
  }
  body.portrait-reference-live .pr-brand strong{
    display:block!important;max-width:100%!important;
    font-size:clamp(20px,7vw,27px)!important;line-height:.92!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
  }
  body.portrait-reference-live .pr-brand span{
    margin-top:3px!important;font-size:6.5px!important;line-height:1!important;letter-spacing:.17em!important;
    white-space:nowrap!important;
  }
  body.portrait-reference-live .pr-top-actions{
    position:absolute!important;
    top:var(--br-p-safe)!important;
    right:54px!important;
    width:92px!important;height:var(--br-p-brand-h)!important;
    display:grid!important;grid-template-columns:44px 44px!important;gap:4px!important;
    margin:0!important;padding:0!important;z-index:122!important;
  }
  body.portrait-reference-live .pr-top-actions button{
    width:44px!important;height:46px!important;min-width:44px!important;min-height:46px!important;
    padding:0!important;margin:0!important;border-radius:10px!important;font-size:18px!important;
    display:grid!important;place-items:center!important;overflow:hidden!important;
  }
  body.portrait-reference-live .pr-top-actions [data-lr-top="menu"]{display:none!important}
  body.portrait-reference-live .br-global-menu-launcher{
    position:fixed!important;
    top:var(--br-p-safe)!important;right:6px!important;
    width:44px!important;min-width:44px!important;height:46px!important;
    padding:0!important;margin:0!important;border-radius:10px!important;
    display:grid!important;place-items:center!important;z-index:124!important;
  }

  /* Row 2: telemetry — fixed columns and fixed height. */
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry{
    position:absolute!important;
    left:var(--br-p-x)!important;right:var(--br-p-x)!important;
    top:calc(var(--br-p-safe) + var(--br-p-brand-h) + var(--br-p-band-gap))!important;
    width:auto!important;height:var(--br-p-metric-h)!important;
    display:grid!important;
    grid-template-columns:1.06fr .92fr 1.02fr .92fr!important;
    gap:var(--br-p-gap)!important;
    margin:0!important;padding:0!important;z-index:118!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric{
    width:auto!important;min-width:0!important;max-width:none!important;
    height:var(--br-p-metric-h)!important;min-height:var(--br-p-metric-h)!important;max-height:var(--br-p-metric-h)!important;
    box-sizing:border-box!important;margin:0!important;padding:5px 6px!important;
    display:grid!important;grid-template-rows:auto auto 1fr!important;align-content:center!important;gap:1px!important;
    overflow:hidden!important;border-radius:10px!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric b,
  body.portrait-reference-live .artwork-master-renderer .lr-metric span,
  body.portrait-reference-live .artwork-master-renderer .lr-metric small{
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-metric b{font-size:12px!important;line-height:1!important;letter-spacing:.015em!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric span{font-size:10px!important;line-height:1!important}
  body.portrait-reference-live .artwork-master-renderer .lr-metric small{font-size:5.8px!important;line-height:1!important}

  /* Row 3: legal/contact tiles — same dimensions, same baseline. */
  body.portrait-reference-live .pr-legal-hud{
    position:absolute!important;
    left:var(--br-p-x)!important;right:var(--br-p-x)!important;
    top:calc(var(--br-p-safe) + var(--br-p-brand-h) + var(--br-p-band-gap) + var(--br-p-metric-h) + var(--br-p-band-gap))!important;
    width:auto!important;height:var(--br-p-legal-h)!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:var(--br-p-gap)!important;margin:0!important;padding:0!important;z-index:119!important;
  }
  body.portrait-reference-live .pr-legal{
    width:auto!important;min-width:0!important;max-width:none!important;
    height:var(--br-p-legal-h)!important;min-height:var(--br-p-legal-h)!important;max-height:var(--br-p-legal-h)!important;
    margin:0!important;padding:4px!important;box-sizing:border-box!important;
    display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;align-items:center!important;column-gap:5px!important;
    overflow:hidden!important;border-radius:10px!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-face-slot{
    width:32px!important;min-width:32px!important;max-width:32px!important;
    height:44px!important;min-height:44px!important;max-height:44px!important;
    border-radius:8px!important;overflow:hidden!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-copy{
    min-width:0!important;max-width:100%!important;display:grid!important;align-content:center!important;gap:3px!important;overflow:hidden!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-copy b,
  body.portrait-reference-live .pr-legal .pr-legal-copy span{
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.portrait-reference-live .pr-legal .pr-legal-copy b{font-size:7.5px!important;line-height:1!important;letter-spacing:.02em!important}
  body.portrait-reference-live .pr-legal .pr-legal-copy span{font-size:10.5px!important;line-height:1!important}
  body.portrait-reference-live .pr-legal.bank .pr-legal-copy span{font-size:11px!important}

  /* Route selector is intentionally absent in portrait. */
  body.portrait-reference-live .pr-route-tabs,
  body.portrait-reference-live .lr-art-hit.route,
  body.portrait-reference-live [data-lr-route].pr-route-tab{
    display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
  }

  /* Lock map origin directly below the three fixed HUD bands. */
  body.portrait-reference-live .artwork-master-renderer .lr-map-host{
    position:absolute!important;
    left:0!important;right:0!important;
    top:calc(var(--br-p-safe) + var(--br-p-brand-h) + var(--br-p-band-gap) + var(--br-p-metric-h) + var(--br-p-band-gap) + var(--br-p-legal-h) + 6px)!important;
    bottom:82px!important;width:100%!important;height:auto!important;
    margin:0!important;padding:0!important;
  }
  body.portrait-reference-live .artwork-master-renderer .lr-board-zoom-controls,
  body.portrait-reference-live .pr-live-legend,
  body.portrait-reference-live .lr-primary-roll{
    top:calc(var(--br-p-safe) + var(--br-p-brand-h) + var(--br-p-band-gap) + var(--br-p-metric-h) + var(--br-p-band-gap) + var(--br-p-legal-h) + 14px)!important;
  }

  /* Prevent content-driven reflow from moving the HUD after render. */
  body.portrait-reference-live .pr-brand,
  body.portrait-reference-live .pr-top-actions,
  body.portrait-reference-live .artwork-master-renderer .lr-telemetry,
  body.portrait-reference-live .pr-legal-hud,
  body.portrait-reference-live .artwork-master-renderer .lr-map-host{
    transform:none!important;transition:none!important;animation:none!important;
  }
}

/* ============================================================
   BORDER RUN v4.2.10dg — SINGLE PAWN + PORTRAIT MENU TRUE LOCK
   Fixes the actual duplicate source: the legacy node pawn was being recreated
   beside the master pawn after board refresh/movement settlement. Also locks
   the global menu using viewport safe-area values instead of a shell-local var.
   ============================================================ */
body.portrait-reference-live .vehicle-pawn[data-player-pawn="1"],
body.landscape-reference-live .vehicle-pawn[data-player-pawn="1"],
body.wide-reference-live .vehicle-pawn[data-player-pawn="1"],
body.android-virtual-landscape .vehicle-pawn[data-player-pawn="1"],
body.portrait-reference-live .board-moving-piece,
body.landscape-reference-live .board-moving-piece,
body.wide-reference-live .board-moving-piece,
body.android-virtual-landscape .board-moving-piece{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#lrMasterPlayerLayer > *:not(#lrMasterPlayerPiece){
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
#lrMasterPlayerPiece{
  display:block!important;visibility:visible!important;opacity:1!important;
}

@media (orientation:portrait){
  body.portrait-reference-live .pr-top-actions>button[data-lr-top="menu"]{
    display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
  }
  body.portrait-reference-live .br-global-menu-launcher{
    position:fixed!important;
    top:max(8px,env(safe-area-inset-top,0px))!important;
    right:max(8px,env(safe-area-inset-right,0px))!important;
    left:auto!important;bottom:auto!important;
    width:44px!important;min-width:44px!important;max-width:44px!important;
    height:46px!important;min-height:46px!important;max-height:46px!important;
    margin:0!important;padding:0!important;
    transform:none!important;translate:none!important;
    display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
    place-items:center!important;z-index:2147483000!important;
  }
  body.portrait-reference-live .br-global-menu-launcher span{font-size:20px!important;line-height:1!important}
  body.portrait-reference-live .br-global-menu-launcher b{display:none!important}
  body.portrait-reference-live .pr-top-actions{
    right:60px!important;
    width:92px!important;
    grid-template-columns:44px 44px!important;
    gap:4px!important;
  }
}

/* ============================================================
   BORDER RUN v4.2.10dg — SINGLE LOCAL PAWN HARD BLOCK
   The reference-board master pawn is the only local vehicle render. These
   selectors are intentionally independent of portrait/landscape/wide classes.
   ============================================================ */
body:has(#lrMasterPlayerPiece) .vehicle-pawn[data-player-pawn="1"],
body:has(#lrMasterPlayerPiece) .node-pawns > .vehicle-pawn:not(.remote-party-pawn),
body:has(#lrMasterPlayerPiece) .board-moving-piece,
#landscapeReferenceShell ~ * .vehicle-pawn[data-player-pawn="1"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#lrMasterPlayerLayer > *:not(#lrMasterPlayerPiece){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
#lrMasterPlayerPiece{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#lrMasterPlayerPiece > .br-master-vehicle-img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* ============================================================
   BORDER RUN v4.2.10dg — CROSS-DEVICE SELF-CLONE + MOBILE FLICKER FIX
   The local account can never reappear as a remote pawn. Turnaround views swap
   only after the next WebP is decoded, so phones keep the previous frame visible
   instead of flashing or briefly showing competing views.
   ============================================================ */
#lrMasterPlayerPiece > .br-master-vehicle-img{
  opacity:1!important;
  visibility:visible!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transform:translate3d(-50%,-50%,0)!important;
  will-change:left,top!important;
  image-rendering:auto!important;
}
#lrMasterPlayerPiece > .br-master-vehicle-img.br-master-vehicle-ready{
  opacity:1!important;
}
#lrMasterRemotePieceLayer .lr-master-remote-piece[hidden],
.lr-master-remote-piece.br-self-clone{
  display:none!important;visibility:hidden!important;opacity:0!important;
}

/* ============================================================
   BORDER RUN v4.2.10dg — STABLE ACCOUNT PAWN + NO-FLASH VEHICLE SWAPS
   Same signed-in player is one board pawn across devices. All rotating vehicle
   images keep the prior decoded frame visible until the next WebP is decoded.
   ============================================================ */
#lrMasterPlayerPiece > .br-master-vehicle-img{
  display:block!important;visibility:visible!important;opacity:1!important;
  width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
  transform:translateZ(0)!important;-webkit-transform:translateZ(0)!important;
}
body:has(#lrMasterPlayerPiece) .vehicle-pawn.remote-party-pawn[data-account-key=""]:empty{display:none!important}

/* ============================================================
   BORDER RUN v4.2.10dg — ONE-SURFACE LOCAL PAWN
   The local turnaround vehicle is painted once, directly on the master pawn
   element. There is no child vehicle image/rig available to double-render.
   ============================================================ */
#lrMasterPlayerPiece.br-local-bg-pawn{
  background-image:var(--br-local-pawn-image)!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:contain!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#lrMasterPlayerPiece.br-local-bg-pawn > *{
  display:none!important;visibility:hidden!important;opacity:0!important;
}
#lrMasterPlayerPiece.br-local-bg-pawn::before,
#lrMasterPlayerPiece.br-local-bg-pawn::after{
  content:none!important;display:none!important;background:none!important;
}
/* Final override: older DE rules changed transforms on a former child image.
   DF has no child image, so those selectors are inert. */
#lrMasterPlayerPiece > .br-master-vehicle-img{display:none!important}

/* ============================================================
   BORDER RUN v4.2.10dg — DIRECT MASTER PAWN + SAFE CARD REVEAL
   Restore one direct vehicle image in the master pawn and remove browser-
   dependent mirrored card backs from the reveal animation.
   ============================================================ */
#lrMasterPlayerPiece{
  background:none!important;background-image:none!important;
  overflow:visible!important;
}
#lrMasterPlayerPiece > .br-master-vehicle-img{
  display:block!important;visibility:visible!important;opacity:1!important;
  position:absolute!important;left:50%!important;top:50%!important;
  width:118%!important;height:118%!important;
  object-fit:contain!important;object-position:center center!important;
  transform:translate(-50%,-50%)!important;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.52)) saturate(1.04) contrast(1.03)!important;
  pointer-events:none!important;z-index:3!important;
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
}
#lrMasterPlayerPiece > *:not(.br-master-vehicle-img){
  z-index:2;
}
/* No CSS/pseudo duplicate surfaces for a direct master vehicle. */
#lrMasterPlayerPiece:has(> .br-master-vehicle-img)::before,
#lrMasterPlayerPiece:has(> .br-master-vehicle-img)::after{
  content:none!important;display:none!important;background:none!important;background-image:none!important;
}
#lrMasterPlayerPiece:has(> .br-master-vehicle-img) .turnaround-rig,
#lrMasterPlayerPiece:has(> .br-master-vehicle-img) .ride-render,
#lrMasterPlayerPiece:has(> .br-master-vehicle-img) .piece-3d-motion,
#lrMasterPlayerPiece:has(> .br-master-vehicle-img) .miniature-vehicle-image,
#lrMasterPlayerPiece:has(> .br-master-vehicle-img) .unified-miniature-shell{
  display:none!important;visibility:hidden!important;opacity:0!important;
}

/* Safe event-card reveal: crossfade faces instead of showing a mirrored 3D back. */
.event-flip-card,
.event-card-reveal.active .event-flip-card,
.event-flip-card.flipped{
  transform:translateY(-8px) scale(1)!important;
  transform-style:flat!important;
}
.event-card-face{
  backface-visibility:visible!important;-webkit-backface-visibility:visible!important;
  transition:opacity .34s ease,filter .34s ease,transform .34s ease!important;
}
.event-card-back{
  transform:none!important;opacity:1!important;z-index:2!important;
}
.event-card-front{
  transform:none!important;opacity:0!important;z-index:1!important;
}
.event-flip-card.flipped .event-card-back,
.event-card-reveal.flipped-fallback .event-card-back{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
.event-flip-card.flipped .event-card-front,
.event-card-reveal.flipped-fallback .event-card-front{
  opacity:1!important;visibility:visible!important;z-index:3!important;
}


/* ============================================================
   BORDER RUN v4.2.10dh — APP STORE CLEANUP
   - Trophy Case fits inside the physical viewport (content-box overflow fixed).
   - Vehicle awards use clean single-image cutouts, never turnaround sheet frames.
   - Paint awards show their actual finish color instead of the fallback cream.
   ============================================================ */
#modalCard[data-kicker="TROPHY CASE"]{
  box-sizing:border-box!important;
  width:min(calc(100vw - 20px),720px)!important;
  max-width:calc(100vw - 20px)!important;
  margin-left:auto!important;margin-right:auto!important;
  padding-left:clamp(10px,3vw,20px)!important;
  padding-right:clamp(10px,3vw,20px)!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-shell,
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-section,
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-grid{
  width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile{
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile>strong,
#modalCard[data-kicker="TROPHY CASE"] .trophy-case-tile>small{
  max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;
}
.trophy-object.vehicle{width:108px!important;height:72px!important;min-width:0!important;min-height:0!important;overflow:visible!important}
.trophy-object.vehicle .trophy-static-vehicle{
  display:block!important;width:108px!important;height:72px!important;object-fit:contain!important;object-position:center bottom!important;
  filter:drop-shadow(0 6px 4px rgba(0,0,0,.50)) saturate(1.04) contrast(1.025)!important;
  transform:none!important;animation:none!important;transition:none!important;
}
.trophy-case-tile.vehicle .trophy-case-pedestal{width:118px!important;height:88px!important}
.trophy-case-tile.paint .trophy-paint-swatch{width:54px!important;height:54px!important;border-radius:14px!important}
@media(max-width:430px){
  #modalCard[data-kicker="TROPHY CASE"]{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;padding-left:8px!important;padding-right:8px!important}
  #modalCard[data-kicker="TROPHY CASE"] .trophy-case-grid{gap:7px!important}
  .trophy-object.vehicle,.trophy-object.vehicle .trophy-static-vehicle{width:96px!important;height:66px!important}
  .trophy-case-tile.vehicle .trophy-case-pedestal{width:102px!important;height:82px!important}
}


/* ============================================================
   BORDER RUN v4.2.10di — BOTTOM-LEFT VEHICLE SHOWCASE HOTFIX
   Clean static vehicle art only; no turnaround-sheet fragments.
   ============================================================ */
.pr-bottom-nav .live-vehicle-nav-piece,
#lrVehicleNavPiece.live-vehicle-nav-piece,
#mobileVehicleNavPiece.live-vehicle-nav-piece,
#hardRefVehicleNavPiece.live-vehicle-nav-piece{
  position:relative!important;overflow:visible!important;background:transparent!important;
}
.pr-bottom-nav .live-vehicle-nav-piece::before,
.pr-bottom-nav .live-vehicle-nav-piece::after,
#lrVehicleNavPiece.live-vehicle-nav-piece::before,
#lrVehicleNavPiece.live-vehicle-nav-piece::after,
#mobileVehicleNavPiece.live-vehicle-nav-piece::before,
#mobileVehicleNavPiece.live-vehicle-nav-piece::after,
#hardRefVehicleNavPiece.live-vehicle-nav-piece::before,
#hardRefVehicleNavPiece.live-vehicle-nav-piece::after{content:none!important;display:none!important}
.pr-bottom-nav .live-vehicle-nav-piece > .br-bottom-vehicle-img,
#lrVehicleNavPiece > .br-bottom-vehicle-img,
#mobileVehicleNavPiece > .br-bottom-vehicle-img,
#hardRefVehicleNavPiece > .br-bottom-vehicle-img{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  display:block!important;width:118px!important;height:54px!important;max-width:100%!important;max-height:54px!important;
  object-fit:contain!important;object-position:center center!important;transform:none!important;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.58))!important;clip-path:none!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  margin:0 auto!important;padding:0!important;opacity:1!important;visibility:visible!important;
}
@media (orientation:portrait){
  body.portrait-reference-live .pr-bottom-nav .live-vehicle-nav-piece > .br-bottom-vehicle-img,
  body.portrait-reference-live #lrVehicleNavPiece > .br-bottom-vehicle-img,
  body.portrait-reference-live #mobileVehicleNavPiece > .br-bottom-vehicle-img{
    width:78px!important;height:42px!important;max-width:78px!important;max-height:42px!important;transform:none!important;
  }
}


/* BORDER RUN v4.2.10dr — submission stability cleanup */
.arrival-photo-credit,.journey-photo-credit,.transaction-photo-credit,.transaction-cinematic figcaption,.unlock-award-photo figcaption{display:none!important}
#lrMasterPlayerPiece{transition:left .32s linear,top .32s linear!important}
body.movement-cinematic #lrMasterPlayerPiece{transition:left .26s linear,top .26s linear!important}


/* ============================================================
   BORDER RUN v4.2.10dv — ROLL / INSPECTION / CROSSOVER CORRECTION
   ============================================================ */
/* Roll cinematics are gameplay-first: title + route + dice only. */
#boardDiceOverlay .dice-cinematic-title > small,
#boardDiceOverlay #diceCinematicSub{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
/* A checkpoint/inspection is an actual single physical die, not a number swap. */
body>#boardDiceOverlay.single-die-roll .dice-flight-b{display:none!important}
body>#boardDiceOverlay.single-die-roll .dice-pair-flight{display:flex!important;justify-content:center!important;align-items:center!important;gap:0!important}
body>#boardDiceOverlay.single-die-roll .dice-flight-a{margin:0!important;transform-origin:center center!important}
body>#boardDiceOverlay.single-die-roll .dice-result-lock em{letter-spacing:.08em!important}
/* During a crossover, every one of the 10–15 actual game spaces is visible. */
.lr-crossover-trip-space{pointer-events:none;opacity:.92}
.lr-crossover-trip-space circle{fill:#151712;stroke:#e2c778;stroke-width:.18;vector-effect:non-scaling-stroke}
.lr-crossover-trip-space text{fill:#f2df9a;font:700 .56px/1 Arial,sans-serif;text-anchor:middle;paint-order:stroke;stroke:#090a08;stroke-width:.12px}
.lr-crossover-trip-space.completed circle{fill:#6f5a20;opacity:.72}
.lr-crossover-trip-space.current circle{fill:#0d5f58;stroke:#7ff0df;stroke-width:.26}
.lr-crossover-trip-space.next circle{stroke:#f3dc87;stroke-width:.24}


/* ============================================================
   BORDER RUN v4.2.10dv — FINAL DICE / CROSSOVER INPUT PASS
   Physical dice scenes show only the purpose heading. Route/biome prose is
   intentionally suppressed so inspection and road rolls stay clean.
   ============================================================ */
#boardDiceOverlay .dice-cinematic-title > span,
#boardDiceOverlay .dice-cinematic-title > small{display:none!important}
#boardDiceOverlay .dice-cinematic-title strong{margin-top:0!important}


/* ============================================================
   BORDER RUN v4.2.10dv — FINAL DISPLAY CLEANUP
   Reward-specific art, clean action cards, clean crossover markers,
   and strict overlay containment.
   ============================================================ */
/* Crossover spaces remain playable/visible, but debug/progress numbers never paint on the road. */
.lr-crossover-trip-space text,
.lr-crossover-action-space text{display:none!important;visibility:hidden!important;opacity:0!important}

/* Action cards use their authored card photography, not generic category medallions. */
.event-card-symbol{display:none!important;visibility:hidden!important;opacity:0!important}
.event-card-front .event-card-photo{margin-top:2px!important}
.event-card-reveal.hidden,.event-card-reveal:not(.active){pointer-events:none!important;visibility:hidden!important;opacity:0!important}
.event-card-reveal.hidden .event-card-caption,.event-card-reveal:not(.active) .event-card-caption{display:none!important;visibility:hidden!important;opacity:0!important}
.event-card-caption{max-width:min(92vw,420px)!important;left:50%!important;transform:translateX(-50%)!important;text-align:center!important;white-space:normal!important;line-height:1.25!important}

/* Reward notifications/cascade show the reward itself, never generic vehicle/cash/gear emoji mixes. */
.unlock-money-confetti.reward-specific{font-size:clamp(26px,6vw,50px)!important}
.unlock-money-confetti:empty{display:none!important}
.unlock-award-hero>span .award-earned-achievement{width:92px!important;height:92px!important;border-radius:50%!important;object-fit:cover!important}
.unlock-money-confetti .award-cascade-achievement{width:1.35em!important;height:1.35em!important;border-radius:50%!important;object-fit:cover!important}
.award-label-monogram{display:grid!important;place-items:center!important;width:70px!important;height:70px!important;border-radius:50%!important;border:2px solid #efcd72!important;background:#0b1714!important;color:#f7dda0!important;font:950 20px/1 Arial,sans-serif!important;letter-spacing:.08em!important}
.unlock-reward-specific-showcase{display:grid!important;place-items:center!important;min-height:190px!important;background:radial-gradient(circle at 50% 44%,rgba(55,86,75,.42),rgba(4,10,9,.98) 70%)!important}
.unlock-reward-specific-showcase>img.award-showcase-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.unlock-reward-specific-showcase>img.award-showcase-image.contain{object-fit:contain!important;padding:20px!important}
.unlock-reward-specific-showcase>img.award-showcase-image.vehicle{padding:10px 22px!important}
.unlock-reward-specific-showcase .award-part-showcase{display:grid!important;place-items:center!important;gap:12px!important;z-index:2!important}
.unlock-reward-specific-showcase .award-part-showcase>strong{color:#f8dc94!important;font:950 19px/1.1 Georgia,serif!important;letter-spacing:.05em!important}
.award-part-visual{position:relative!important;display:inline-grid!important;place-items:center!important;width:82px!important;height:82px!important}
.award-part-mini{position:relative!important;display:inline-grid!important;place-items:center!important;width:1.2em!important;height:1.2em!important}
.award-part-rims,.award-part-rim{border-radius:50%!important;background:radial-gradient(circle,#07100f 0 19%,#d6d2c5 20% 30%,#3a3d39 31% 48%,#0a0d0c 49% 62%,#c5c2b8 63% 69%,#101413 70%)!important;box-shadow:0 0 0 3px #171d1b,0 9px 14px rgba(0,0,0,.55)!important}
.award-part-rim.mod-rims-gold,.award-part-rims.mod-rims-gold{background:repeating-conic-gradient(from 0deg,#e9c45f 0 4deg,#4b3212 4deg 9deg),radial-gradient(circle,#101311 0 24%,#d4a93d 25% 31%,#111 32% 58%,#e0bb58 59% 66%,#111 67%)!important;border:5px solid #d5ad46!important}
.award-part-rim.mod-rims-chrome,.award-part-rims.mod-rims-chrome{background:repeating-conic-gradient(from 0deg,#f4f4f0 0 4deg,#666 4deg 9deg),radial-gradient(circle,#111 0 25%,#dfe5e4 26% 34%,#181b1a 35% 60%,#eef2ef 61% 68%,#111 69%)!important;border:4px solid #dce3e0!important}
.award-part-rim.mod-rims-nightwatch,.award-part-rims.mod-rims-nightwatch{background:repeating-conic-gradient(from 0deg,#49ded1 0 3deg,#081210 3deg 10deg),radial-gradient(circle,#07100f 0 28%,#2ec9be 29% 34%,#0a0e0d 35% 67%,#3ee1d3 68%)!important;border:4px solid #173b36!important;box-shadow:0 0 18px rgba(70,225,210,.55)!important}
.award-part-engine{width:92px!important;height:68px!important;border-radius:14px!important;background:linear-gradient(145deg,#777f7b,#2e3533 48%,#131817)!important;border:4px solid #b8b29d!important;box-shadow:inset 0 0 0 3px #202624,0 10px 18px rgba(0,0,0,.55)!important}
.award-part-engine:before,.award-part-engine:after{content:""!important;position:absolute!important;top:12px!important;width:22px!important;height:42px!important;border:5px solid #c8b271!important;border-radius:8px!important}.award-part-engine:before{left:-12px!important}.award-part-engine:after{right:-12px!important}
.award-part-body{width:108px!important;height:58px!important;border-radius:34px 34px 16px 16px!important;background:linear-gradient(160deg,#be6e38,#63341e)!important;border:3px solid #d3b16d!important;box-shadow:inset 0 -12px rgba(0,0,0,.22),0 10px 18px rgba(0,0,0,.55)!important}
.award-paint-swatch{display:grid!important;place-items:center!important;width:82px!important;height:82px!important;border-radius:22px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--award-paint) 76%,white),var(--award-paint))!important;border:3px solid rgba(255,244,213,.78)!important;box-shadow:inset 0 0 18px rgba(255,255,255,.16),0 10px 18px rgba(0,0,0,.5)!important}
.award-paint-swatch>i{width:44px!important;height:12px!important;border-radius:999px!important;background:rgba(255,255,255,.26)!important;transform:rotate(-28deg)!important}
.award-paint-chip{display:inline-block!important;width:1.05em!important;height:1.05em!important;border-radius:.28em!important;background:var(--award-paint)!important;border:.08em solid #f2dfab!important;box-shadow:0 .15em .25em rgba(0,0,0,.5)!important}

/* Make directional body images the only visible body and prevent matte/background bleed. */
#lrMasterPlayerPiece .turnaround-rig{background:transparent!important;box-shadow:none!important;overflow:visible!important}
#lrMasterPlayerPiece .turnaround-body{background:transparent!important;mix-blend-mode:normal!important;filter:drop-shadow(0 7px 5px rgba(0,0,0,.55))!important}


/* ============================================================
   BORDER RUN v4.2.10dv — DANGEROUS CROSSOVERS + PHOTOREAL REWARDS
   ============================================================ */
.award-earned-part,.award-earned-paint{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.award-part-showcase.photo-real{display:grid;place-items:center;gap:8px}
.award-part-showcase.photo-real .award-showcase-image{width:100%;height:100%;object-fit:cover;border-radius:18px}
.unlock-money-confetti.reward-specific .award-cascade-image{width:46px;height:46px;object-fit:cover;border-radius:10px;box-shadow:0 8px 18px rgba(0,0,0,.38);border:1px solid rgba(231,197,111,.72)}
@media(max-width:700px){.unlock-money-confetti.reward-specific .award-cascade-image{width:36px;height:36px}}

/* ============================================================
   BORDER RUN v4.2.10eb — CLEAN TURNAROUND FRAME SAFETY
   Some legacy 8-view frames carried baked studio/background plates. The
   contaminated frames are replaced by clean neighboring authored angles.
   Suppress synthetic wheel/light overlays on those repaired frames so they
   cannot drift away from the replacement photograph while the pawn moves.
   ============================================================ */
.turnaround-enabled[data-ride-id="dustypickup"] .turnaround-rig:is([data-view="left"],[data-view="right"],[data-view="front_left"]) .turn-wheel,
.turnaround-enabled[data-ride-id="goldstandard"] .turnaround-rig[data-view="left"] .turn-wheel,
.turnaround-enabled[data-ride-id="grocerygetter"] .turnaround-rig[data-view="left"] .turn-wheel,
.turnaround-enabled[data-ride-id="hoopty"] .turnaround-rig:is([data-view="front_left"],[data-view="rear_left"]) .turn-wheel,
.turnaround-enabled[data-ride-id="lowrider"] .turnaround-rig:is([data-view="left"],[data-view="front_left"],[data-view="right"]) .turn-wheel,
.turnaround-enabled[data-ride-id="musclecoupe"] .turnaround-rig:is([data-view="left"],[data-view="right"]) .turn-wheel{
  display:none!important;
}
.turnaround-enabled[data-ride-id="dustypickup"] .turnaround-rig:is([data-view="left"],[data-view="right"],[data-view="front_left"]) :is(.turn-headlight,.turn-taillight,.turn-marker-light),
.turnaround-enabled[data-ride-id="goldstandard"] .turnaround-rig[data-view="left"] :is(.turn-headlight,.turn-taillight,.turn-marker-light),
.turnaround-enabled[data-ride-id="grocerygetter"] .turnaround-rig[data-view="left"] :is(.turn-headlight,.turn-taillight,.turn-marker-light),
.turnaround-enabled[data-ride-id="hoopty"] .turnaround-rig:is([data-view="front_left"],[data-view="rear_left"]) :is(.turn-headlight,.turn-taillight,.turn-marker-light),
.turnaround-enabled[data-ride-id="lowrider"] .turnaround-rig:is([data-view="left"],[data-view="front_left"],[data-view="right"]) :is(.turn-headlight,.turn-taillight,.turn-marker-light),
.turnaround-enabled[data-ride-id="musclecoupe"] .turnaround-rig:is([data-view="left"],[data-view="right"]) :is(.turn-headlight,.turn-taillight,.turn-marker-light){
  display:none!important;
}


/* ============================================================
   BORDER RUN v4.2.10ef — USER-GESTURE STARTUP AUDIO GATE
   ============================================================ */
.startup-audio-gate{
  position:absolute;z-index:8;left:50%;bottom:max(8vh,42px);transform:translateX(-50%);
  min-width:min(78vw,340px);padding:15px 28px;border:1px solid rgba(244,228,187,.62);
  border-radius:999px;background:rgba(5,12,11,.82);color:#f4e4bb;
  font:800 18px/1.05 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.12em;box-shadow:0 12px 38px rgba(0,0,0,.4);
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.startup-audio-gate span{display:block;margin-top:5px;font-size:10px;letter-spacing:.22em;opacity:.72}
.startup-audio-gate:active{transform:translateX(-50%) scale(.97)}
.startup-audio-gate.accepted{opacity:0;transform:translateX(-50%) scale(.96);transition:opacity .18s ease,transform .18s ease}
.startup-audio-gate[hidden]{display:none!important}
@media (max-height:520px){.startup-audio-gate{bottom:24px;padding:11px 24px;font-size:15px}}

/* ============================================================
   BORDER RUN v4.2.10em — FUZZY DICE COLLECTION
   Plush collector dice retain a textile/fur surface regardless of the
   general metallic/matte/gloss dice finish selector.
   ============================================================ */
.fuzzy-collection-showcase{margin:10px 0 14px;border:1px solid rgba(232,190,81,.42);border-radius:14px;overflow:hidden;background:#080b0d;box-shadow:0 10px 26px rgba(0,0,0,.32)}
.fuzzy-collection-showcase img{display:block;width:100%;height:auto;max-height:310px;object-fit:cover;object-position:center}
.fuzzy-dice-locker .dice-skin{border-color:rgba(231,188,76,.34)}
.fuzzy-dice-locker .dice-skin.locked{filter:saturate(.55) brightness(.72)}
.fuzzy-dice-locker .dice-skin[data-dice-select="dirtydozenfuzz"].locked small{color:#f2bf4c;font-weight:900;letter-spacing:.04em}

/* Keep the fur/material identity on previews and result dice. */
:is([data-br-skin="cherryfuzz"],[data-br-skin="midnightfuzz"],[data-br-skin="purplehazefuzz"],[data-br-skin="hotpinkfuzz"],[data-br-skin="electricbluefuzz"],[data-br-skin="toxiclimefuzz"],[data-br-skin="leopardfuzz"],[data-br-skin="donsfuzzy"],[data-br-skin="dominitystormfuzz"],[data-br-skin="dirtydozenfuzz"]) img{
  filter:saturate(1.03) contrast(1.03) drop-shadow(0 4px 5px rgba(0,0,0,.42))!important;
}
#boardDiceOverlay :is(.die-cube3d[data-br-skin="cherryfuzz"],.die-cube3d[data-br-skin="midnightfuzz"],.die-cube3d[data-br-skin="purplehazefuzz"],.die-cube3d[data-br-skin="hotpinkfuzz"],.die-cube3d[data-br-skin="electricbluefuzz"],.die-cube3d[data-br-skin="toxiclimefuzz"],.die-cube3d[data-br-skin="leopardfuzz"],.die-cube3d[data-br-skin="donsfuzzy"],.die-cube3d[data-br-skin="dominitystormfuzz"],.die-cube3d[data-br-skin="dirtydozenfuzz"]) .br3d-face,
.city-d6-overlay :is(.die-cube3d[data-br-skin="cherryfuzz"],.die-cube3d[data-br-skin="midnightfuzz"],.die-cube3d[data-br-skin="purplehazefuzz"],.die-cube3d[data-br-skin="hotpinkfuzz"],.die-cube3d[data-br-skin="electricbluefuzz"],.die-cube3d[data-br-skin="toxiclimefuzz"],.die-cube3d[data-br-skin="leopardfuzz"],.die-cube3d[data-br-skin="donsfuzzy"],.die-cube3d[data-br-skin="dominitystormfuzz"],.die-cube3d[data-br-skin="dirtydozenfuzz"]) .br3d-face{
  filter:saturate(1.02) contrast(1.02)!important;
  box-shadow:inset 5px 5px 10px rgba(255,255,255,.11),inset -8px -9px 13px rgba(0,0,0,.27),0 11px 25px rgba(0,0,0,.36)!important;
  border-width:3px!important;
}
#boardDiceOverlay :is(.die-cube3d[data-br-skin="cherryfuzz"],.die-cube3d[data-br-skin="midnightfuzz"],.die-cube3d[data-br-skin="purplehazefuzz"],.die-cube3d[data-br-skin="hotpinkfuzz"],.die-cube3d[data-br-skin="electricbluefuzz"],.die-cube3d[data-br-skin="toxiclimefuzz"],.die-cube3d[data-br-skin="leopardfuzz"],.die-cube3d[data-br-skin="donsfuzzy"],.die-cube3d[data-br-skin="dominitystormfuzz"],.die-cube3d[data-br-skin="dirtydozenfuzz"]) .br3d-face:after,
.city-d6-overlay :is(.die-cube3d[data-br-skin="cherryfuzz"],.die-cube3d[data-br-skin="midnightfuzz"],.die-cube3d[data-br-skin="purplehazefuzz"],.die-cube3d[data-br-skin="hotpinkfuzz"],.die-cube3d[data-br-skin="electricbluefuzz"],.die-cube3d[data-br-skin="toxiclimefuzz"],.die-cube3d[data-br-skin="leopardfuzz"],.die-cube3d[data-br-skin="donsfuzzy"],.die-cube3d[data-br-skin="dominitystormfuzz"],.die-cube3d[data-br-skin="dirtydozenfuzz"]) .br3d-face:after{content:none!important}

/* Dominity Storm Games fuzzy dice use sapphire lightning-bolt pips. */
:is([data-br-skin="dominitystormfuzz"]) :is(.photo-die-pips,.br3d-face,.die-face,.hsd-face) i,
.br-bottom-die[data-br-skin="dominitystormfuzz"] .br-bottom-pip{
  border-radius:0!important;
  background:#168cff!important;
  clip-path:polygon(45% 0,90% 0,62% 38%,100% 38%,28% 100%,42% 55%,8% 55%)!important;
  box-shadow:0 0 5px rgba(22,140,255,.62)!important;
}
/* Dirty Dozen fuzzy dice use gold crown pips and stay membership-only. */
:is([data-br-skin="dirtydozenfuzz"]) :is(.photo-die-pips,.br3d-face,.die-face,.hsd-face) i,
.br-bottom-die[data-br-skin="dirtydozenfuzz"] .br-bottom-pip{
  border-radius:0!important;
  background:#e3b73f!important;
  clip-path:polygon(4% 28%,22% 52%,38% 18%,52% 52%,74% 16%,96% 30%,84% 78%,16% 78%)!important;
  box-shadow:0 0 5px rgba(227,183,63,.48)!important;
}
/* Exact pip colors for the remainder of the fuzzy collection. */
:is([data-br-skin="midnightfuzz"]) :is(.photo-die-pips,.br3d-face,.die-face,.hsd-face) i,.br-bottom-die[data-br-skin="midnightfuzz"] .br-bottom-pip{background:#178cff!important}
:is([data-br-skin="hotpinkfuzz"],[data-br-skin="toxiclimefuzz"],[data-br-skin="leopardfuzz"]) :is(.photo-die-pips,.br3d-face,.die-face,.hsd-face) i,
.br-bottom-die[data-br-skin="hotpinkfuzz"] .br-bottom-pip,.br-bottom-die[data-br-skin="toxiclimefuzz"] .br-bottom-pip,.br-bottom-die[data-br-skin="leopardfuzz"] .br-bottom-pip{background:#090909!important}
:is([data-br-skin="donsfuzzy"]) :is(.photo-die-pips,.br3d-face,.die-face,.hsd-face) i,.br-bottom-die[data-br-skin="donsfuzzy"] .br-bottom-pip{background:#e0b33e!important}


/* ============================================================
   BORDER RUN v4.2.10es — DICE-FOCUS MIX + LARGE SPECIAL FUZZ PIPS
   Dice/card moments hard-mute board ambience in JS. These overrides make
   the sapphire lightning and Dirty Dozen crown symbols readable on mobile.
   ============================================================ */
/* Large special symbols on full physical dice. */
body>#boardDiceOverlay.separate-dice-screen .true-3d-die[data-br-skin="dominitystormfuzz"] .br3d-face i,
body>#boardDiceOverlay.separate-dice-screen .true-3d-die[data-br-skin="dirtydozenfuzz"] .br3d-face i,
.city-d6-overlay .true-3d-die[data-br-skin="dominitystormfuzz"] .br3d-face i,
.city-d6-overlay .true-3d-die[data-br-skin="dirtydozenfuzz"] .br3d-face i{
  width:clamp(13px,58%,27px)!important;
  min-width:13px!important;
  max-width:27px!important;
  height:auto!important;
  transform:translateZ(1px) scale(1.08)!important;
  filter:drop-shadow(0 0 2px rgba(255,255,255,.24))!important;
}
/* Permanent roll HUD / photo-backed previews. */
#lrPrimaryRoll [data-br-skin="dominitystormfuzz"] .photo-die-pips i,
#lrPrimaryRoll [data-br-skin="dirtydozenfuzz"] .photo-die-pips i,
.pr-bottom-nav>.lr-primary-roll [data-br-skin="dominitystormfuzz"] .photo-die-pips i,
.pr-bottom-nav>.lr-primary-roll [data-br-skin="dirtydozenfuzz"] .photo-die-pips i{
  width:7.8px!important;min-width:7.8px!important;max-width:7.8px!important;
  height:7.8px!important;min-height:7.8px!important;max-height:7.8px!important;
}
#lrPrimaryRoll .br-bottom-die[data-br-skin="dominitystormfuzz"] .br-bottom-pip,
#lrPrimaryRoll .br-bottom-die[data-br-skin="dirtydozenfuzz"] .br-bottom-pip,
.pr-bottom-nav>.lr-primary-roll .br-bottom-die[data-br-skin="dominitystormfuzz"] .br-bottom-pip,
.pr-bottom-nav>.lr-primary-roll .br-bottom-die[data-br-skin="dirtydozenfuzz"] .br-bottom-pip{
  width:8.2px!important;height:8.2px!important;
  filter:drop-shadow(0 0 2px rgba(255,255,255,.20))!important;
}
/* Stronger separation of the custom symbols from the fuzzy face. */
:is([data-br-skin="dominitystormfuzz"]) :is(.photo-die-pips,.br3d-face,.die-face,.hsd-face) i,
.br-bottom-die[data-br-skin="dominitystormfuzz"] .br-bottom-pip{
  box-shadow:0 0 0 1px rgba(111,190,255,.56),0 0 8px rgba(22,140,255,.78)!important;
}
:is([data-br-skin="dirtydozenfuzz"]) :is(.photo-die-pips,.br3d-face,.die-face,.hsd-face) i,
.br-bottom-die[data-br-skin="dirtydozenfuzz"] .br-bottom-pip{
  box-shadow:0 0 0 1px rgba(255,226,124,.60),0 0 8px rgba(227,183,63,.70)!important;
}
@media(max-width:430px){
  #lrPrimaryRoll [data-br-skin="dominitystormfuzz"] .photo-die-pips i,
  #lrPrimaryRoll [data-br-skin="dirtydozenfuzz"] .photo-die-pips i,
  .pr-bottom-nav>.lr-primary-roll [data-br-skin="dominitystormfuzz"] .photo-die-pips i,
  .pr-bottom-nav>.lr-primary-roll [data-br-skin="dirtydozenfuzz"] .photo-die-pips i{
    width:6.6px!important;min-width:6.6px!important;max-width:6.6px!important;
    height:6.6px!important;min-height:6.6px!important;max-height:6.6px!important;
  }
  #lrPrimaryRoll .br-bottom-die[data-br-skin="dominitystormfuzz"] .br-bottom-pip,
  #lrPrimaryRoll .br-bottom-die[data-br-skin="dirtydozenfuzz"] .br-bottom-pip,
  .pr-bottom-nav>.lr-primary-roll .br-bottom-die[data-br-skin="dominitystormfuzz"] .br-bottom-pip,
  .pr-bottom-nav>.lr-primary-roll .br-bottom-die[data-br-skin="dirtydozenfuzz"] .br-bottom-pip{
    width:6.8px!important;height:6.8px!important;
  }
}


/* ============================================================
   BORDER RUN v4.2.10ex — ZERO-BLACK-FRAME PRE-GAME HANDOFF
   The last decoded loading artwork remains behind Save/Load/account/mode UI
   until gameplay itself becomes visible. No gradient-only intermediary frame.
   ============================================================ */
body.pre-game-gate.pregame-menu-stage,
html.pre-game-gate.pregame-menu-stage{
  background-color:#020606!important;
  background-image:var(--pregame-load-screen, none)!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}
body.pre-game-gate.pregame-menu-stage::before{
  background:linear-gradient(180deg,rgba(2,8,7,.24),rgba(2,8,7,.42))!important;
}

/* ============================================================
   BORDER RUN v4.2.10ex — TRUE PAINTED STARTUP HANDOFF
   Keep the final loading frame resident while Save/Load/account UI paints.
   The modal sits above it; the frame becomes non-interactive during handoff.
   ============================================================ */
.startup-splash.startup-sequence.handoff{pointer-events:none!important}


/* ============================================================
   BORDER RUN v4.2.10ex — TRUE ZERO-BLACK STARTUP HANDOFF
   Save/Load/account/mode screens stay over the decoded final chase frame.
   ============================================================ */
body.pre-game-gate,
body.pre-game-gate.pregame-menu-stage{
  background-color:#07110f!important;
  background-image:linear-gradient(180deg,rgba(2,7,7,.08),rgba(2,7,7,.22)),var(--pregame-load-screen)!important;
  background-position:center center,center center!important;
  background-size:cover,cover!important;
  background-repeat:no-repeat,no-repeat!important;
  background-attachment:fixed,fixed!important;
}
body.pre-game-gate.pregame-menu-stage::before{background:rgba(2,7,7,.10)!important}
.startup-splash.startup-sequence.handoff-static{opacity:1!important;pointer-events:none!important}


/* ============================================================
   BORDER RUN v4.2.10fn — MUSCLE COUPE DIRECTION / NORTH FRAME FIX
   Only the affected approved starter car is touched. East-facing views are
   mirrored asset pairs; northbound rear view gets a small safe-frame inset.
   ============================================================ */
#lrMasterPlayerPiece .turnaround-enabled[data-ride-id="musclecoupe"] .turnaround-rig[data-view="rear"]>.turnaround-body{
  transform:translateY(2px) scale(.92)!important;transform-origin:center center!important;
}

/* BORDER RUN v4.2.10fn — The Coyote keeps its supplied deep-red hero finish. */
.ride-render.ride-coyote .miniature-vehicle-image{object-fit:contain;object-position:center;}
.vehicle-skin.ride-coyote .vehicle-preview img{object-fit:contain;}
