/* Roadside locations, gig-flyer ink and workshop metal. Original artwork. */
:root{--rust:#c44b38;--paper:#e4d9bf;--soot:#171514}
#start{background:radial-gradient(ellipse at 80% 0,#34251c80,transparent 65%),#111315}
#start .card{width:min(1320px,100%);padding-inline:clamp(16px,3vw,44px)}
.wordmark{font-size:40px;letter-spacing:-.035em}.wordmark i{color:var(--rust)}.wordmark small{color:#a99c89}
.menu-header{padding-top:22px;border-color:#574438}.menu-nav{gap:24px;margin-bottom:24px;border-color:#574438}.menu-nav button.active{color:#f49a66;border-color:var(--rust)}
.eyebrow{color:#e89865;line-height:1.7}.section-head h2{color:#f0ddbf;font-weight:900;letter-spacing:-.025em}.menu-footer{color:#aa9a87;border-color:#574438}
#start .go,#raceBriefing .go,#results .go{background:#df7b47;color:#160e09;font-weight:900}.go:disabled,#buyBike:disabled{opacity:.5;cursor:not-allowed}
.street-scene{position:relative;min-height:590px;display:flex;flex-direction:column;justify-content:space-between;padding:38px 30px 24px;background:linear-gradient(90deg,#0b0d10b8,transparent 75%),linear-gradient(0deg,#090b0df0,transparent 48%),url('./assets/last-exit-street-v27.png') center/cover;border:1px solid #71523a;isolation:isolate;box-shadow:0 15px 45px #0005}
.street-scene:after{content:'RF / LAST EXIT / EST. AFTER DARK';position:absolute;top:20px;right:23px;font:800 8px Arial;letter-spacing:.22em;color:#c7bba0;writing-mode:vertical-rl;pointer-events:none}
.card .street-heading h1{font:900 clamp(48px,6.8vw,88px)/.91 Impact,'Arial Narrow',Arial,sans-serif!important;letter-spacing:-.025em;margin:22px 0 16px;color:#f1e5cd;text-shadow:2px 3px 0 #141414}.street-heading h1 i{font-style:normal;color:#ee8b50;-webkit-text-stroke:0}
.street-heading p{font:13px/1.7 Arial!important;color:#ddcdb9;max-width:340px;text-shadow:0 2px 3px #000}.street-heading .eyebrow{color:#f1b984;font-size:8px}
.street-locations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:35px}
.street-locations button{min-height:110px;padding:18px 14px;border:1px solid #a18765;background:#141312e8;color:#ede1c9;text-align:left;cursor:pointer;box-shadow:3px 4px 0 #0008;border-top:3px solid #cf7645;transition:transform .15s}
.street-locations button:hover{transform:translateY(-3px)}.street-locations small{display:block;font:800 8px/1.5 Arial;letter-spacing:.14em;color:#cba77c}.street-locations b{display:block;font:900 clamp(20px,2.6vw,31px)/1.1 Impact,Arial;margin:10px 0}.street-locations span{display:block;font:11px/1.4 Arial;color:#beae98}
.home-ride-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;padding:18px 25px;border:1px solid #594b3c;margin:22px 0;background:#191a18}.home-ride-card h3{font:900 29px/1.08 Impact,Arial;color:#e5d6b9}.home-ride-card p{color:#baa98e;font:10px/1.8 Arial}.home-machine{min-width:0}.home-machine #homePreviewMount canvas{height:220px}.home-machine>b{display:block;color:#dbc39c;font:800 10px Arial;letter-spacing:.12em;margin-top:8px}
.hub-summary,.championship-panel{background:#1e211e;border-color:#655a46}.hub-summary>div{border-color:#655a46}.hub-summary small{color:#b5ab96}.hub-summary b{color:#eedab5}.championship-panel{background:linear-gradient(110deg,#302b20,#181b19)}
.flyer-head,.back-room-head,.law-head{position:relative;padding:25px 24px;border-left:5px solid #d16a36;background:repeating-linear-gradient(-20deg,transparent 0 45px,#cfb78e09 46px 47px),#26231e}.flyer-head:after{content:'NO SANCTION. NO EXCUSES.';position:absolute;right:18px;top:16px;font:800 8px Arial;letter-spacing:.15em;color:#c99c73;transform:rotate(-5deg)}.flyer-head h2,.back-room-head h2,.law-head h2{margin-bottom:0}.flyer-head p{max-width:300px}
.event-grid .route{background:#242623;border-color:#6a6555;box-shadow:3px 4px 0 #090a09}.event-grid .route.active{border-color:#e59152;box-shadow:inset 0 -3px #e59152,3px 4px 0 #090a09}.event-stamp{color:#edb07d;border-color:#655a46}.event-grid .route .event-patrol{font:800 8px Arial;letter-spacing:.12em;color:#efae7c}.event-description{color:#c4c2b4}.event-hazards{color:#a5ad9f}
#menu-garage .section-head{border-bottom:1px solid #6b5947;padding-bottom:24px}#menu-garage .bike-shop{background:radial-gradient(ellipse at top,#34302a,#171b1d 70%);border-color:#72614c;padding:22px}#menu-garage .bike-shop canvas{height:320px;border-bottom:2px solid #79654b}#menu-garage .bike-shop h2{font:900 32px/1 Impact,Arial;color:#efc896;margin:22px 0 12px}#menu-garage .garage{background:#202320;border-color:#615948}
.dossier-stamp{padding:12px 0;font:800 10px Arial;letter-spacing:.11em;color:#eba46a;border-bottom:1px solid #6a5c47}.bike-ratings{margin:8px 0 14px}.bike-ratings>div{display:grid;grid-template-columns:115px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid #41443b;font:11px/1.6 Arial}.bike-ratings dt{color:#9d9f8d;font:800 8px/1.8 Arial;letter-spacing:.09em}.bike-ratings dd{margin:0;color:#e1d3b9}
.shop-ledger{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px;background:#101714;border:1px solid #766248}.shop-ledger small{display:block;font:800 8px/1.6 Arial;letter-spacing:.1em;color:#b4a68c}.shop-ledger b{display:block;font:900 24px Impact,Arial;margin-top:7px;color:#edc391}
.trade-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:12px/1.5 Arial;color:#dfc6a1;margin:20px 0 8px}.trade-toggle input{width:22px;height:22px;accent-color:#e38a50}.trade-toggle b{color:#f0b57f}#tradeNote{min-height:0;color:#aba68e!important;font-size:11px!important}#buyBike{background:#df7b47;padding:16px;font-weight:900}.trade-confirm{padding:18px;border:1px solid #df7b47;background:#39251a;margin-top:14px}.trade-confirm .go{margin:8px 6px 0 0}.trade-confirm p{min-height:0!important}.bike-class-filters button[aria-pressed=true]{background:#d58a52}.bike-class-filters button{color:#d1c2a4;background:#26291f;border-color:#78644c}#shopStatus{font:12px/1.5 Arial;color:#e1c58f!important;min-height:18px!important}
.club-scene{background:linear-gradient(90deg,#15110df5,#17120d55),url('./assets/last-exit-street-v27.png') 70% 50%/cover;border:1px solid #66523a;border-bottom:4px solid #a76a3f;min-height:245px}.club-scene h2{color:#f0dcc0}.club-scene p{color:#c9b69a}.club-neon{color:#ffa865;opacity:.65}.rival-card{background:#24251e;border-color:#655b47}.rival-avatar{border-radius:0;background:#131b18;border:1px solid #837151;color:#ddaa70;width:46px;height:46px;font:900 24px Impact}.rival-card blockquote{color:#ded0b4}
.stakes-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;padding:24px;border:1px solid #8c5c3c;background:#2a2119;margin:24px 0}.stakes-panel h3{color:#f2bc85}.stakes-panel p{font:12px/1.8 Arial;color:#cfbca0}.stakes-panel label{font:800 9px/1.7 Arial;letter-spacing:.12em;align-self:center;color:#d3b288}.stakes-panel select{margin-top:12px;font-size:12px;letter-spacing:0}.back-room-head{background:repeating-linear-gradient(0deg,transparent 0 28px,#5b514522 29px 30px),#2b2924}.options-layout .menu-panel{background:#20241e;border-color:#635c4b}.sound-mixer{border-color:#756344}.sound-mixer input{accent-color:#df8750}.sound-mixer label{color:#d1c5ab}.extended-mixer{padding-bottom:8px;border-bottom:1px solid #544d3d}
.patrol-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0}.patrol-course{padding:20px;border:1px solid #685845;background:#24251f}.patrol-course small{font:800 8px Arial;letter-spacing:.15em;color:#b69c78}.patrol-course h3{margin:13px 0;color:#ebd4ac!important}.patrol-course>b{font:800 10px Arial;color:#f0a571}.patrol-course p{font:11px/1.8 Arial;color:#aaa790}.law-head{border-color:#a54838}.patrol-warning{border-top:1px solid #a86c45;padding-top:18px;color:#e9b37a!important;font:800 11px/1.7 Arial!important}
.career-notice{padding:28px;border:2px solid #bb5a3b;background:repeating-linear-gradient(-30deg,transparent 0 45px,#86422b22 46px 49px),#281d17;margin:24px 0}.career-notice h2{font:900 46px/.95 Impact,Arial;color:#edae7a}.career-notice p{font:13px/1.8 Arial;color:#d1bba1;max-width:700px}.career-notice .go{margin:7px 10px 0 0}
.result-vignette{border-color:#db8e50}.result-vignette.wreck{background:linear-gradient(115deg,#4b261c,#211c18)}.result-vignette b{color:#f0c494}#results .results-card{background:#1a1d19;border-color:#df8750}.briefing-card{background:#1b211d;border-color:#df8750}
@media(max-width:900px){.street-locations{grid-template-columns:repeat(2,minmax(0,1fr))}.street-scene{min-height:650px}.patrol-courses{grid-template-columns:repeat(2,minmax(0,1fr))}.stakes-panel{grid-template-columns:1fr}}
@media(max-width:600px){.menu-header{padding:18px 0;gap:10px}.wordmark{font-size:29px}.wordmark small{font-size:6px;letter-spacing:.12em}.menu-wallet{gap:5px 8px}.menu-wallet b{font-size:20px}.menu-wallet small{max-width:150px;font-size:6px}.menu-nav{gap:22px;margin-bottom:16px}.menu-nav button{min-height:48px;padding-top:17px}.street-scene{padding:26px 16px 16px;min-height:600px;background-position:center}.card .street-heading h1{font-size:58px!important}.street-heading .eyebrow{max-width:230px}.street-locations{gap:8px;margin-top:45px}.street-locations button{padding:14px 10px;min-height:112px}.street-locations b{font-size:24px}.street-locations small{font-size:7px}.street-locations span{font-size:10px}.home-ride-card{grid-template-columns:1fr;gap:18px;padding:18px}.home-machine #homePreviewMount canvas{height:210px}.home-ride-card h3{font-size:26px}.flyer-head,.back-room-head,.law-head{padding:22px 17px}.flyer-head:after{display:none}.section-head h2{font-size:35px}.patrol-courses{grid-template-columns:1fr}.shop-ledger b{font-size:23px}.shop-ledger small{font-size:7px}.bike-ratings>div{grid-template-columns:100px 1fr;gap:12px}#menu-garage .bike-shop{padding:15px}#menu-garage .bike-shop canvas{height:260px}#menu-garage .bike-shop h2{font-size:27px}.stakes-panel{padding:18px;gap:10px}.club-scene{min-height:240px}.career-notice{padding:20px}.career-notice h2{font-size:36px}.career-notice .go{width:100%;margin-right:0}.menu-footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.street-locations button{transition:none}}

/* The expanded stock room keeps prices, preview and purchase controls together. */
.catalog-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:22px 0 10px}.catalog-heading h3{margin:0;color:#e9c998;font:900 23px Impact,Arial}.catalog-heading p{margin:0!important;min-height:0!important;color:#bba68b;font:800 9px Arial!important;letter-spacing:.06em}
.bike-list{max-height:340px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#ab784e #161b18;scrollbar-width:thin;padding:3px 7px 4px 2px;gap:8px}.bike-list button{min-height:76px;padding:10px 7px;text-align:left;border-color:#736049}.bike-list b{font-size:11px}.bike-list em{display:block;font:normal 8px/1.5 Arial;color:#bca98d;margin-top:6px}.bike-list small{font-size:10px;color:#e4b982}.bike-list button.inspected{background:#3c3023;border-color:#efae72;color:#ffe3b8}.bike-list button:focus-visible{outline:2px solid #f1bd84;outline-offset:1px}.bike-list button[hidden]{display:none}
@media(max-width:600px){.bike-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:330px}.bike-list button{min-height:82px;padding:12px 8px}.bike-list b{font-size:12px}.bike-list em{font-size:8px}.bike-class-filters{gap:7px;flex-wrap:wrap}.bike-class-filters button{min-height:44px;padding:10px}.catalog-heading h3{font-size:21px}}

/* The location is the whole screen, not a photograph inside a dashboard. */
#start{isolation:isolate;background:#0d1216}
#start .card{backdrop-filter:none;-webkit-backdrop-filter:none}
#start:before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:url('./assets/last-exit-street-v27.png') center/cover no-repeat}
#start:after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#080c10e8,#080c10a8),linear-gradient(0deg,#080b0de0,transparent)}
#start[data-page="home"]:after{background:linear-gradient(90deg,#080c1075,transparent 78%),linear-gradient(0deg,#080b0dd4,transparent 65%)}
.menu-header{background:transparent}.menu-nav{background:#0b10124d}.menu-footer{background:#0b1012aa;padding-inline:14px}
.street-scene{background:transparent;border:0;box-shadow:none;padding-inline:0}
.street-scene:after{right:0}.street-heading{text-shadow:0 2px 6px #0009}.street-locations button{background:#101416d9}
.club-scene{background:linear-gradient(90deg,#12130edb,#12130e30);border-inline:0;border-top:0}
.home-ride-card{background:#151b18e8}.hub-summary{background:#151c18ed}.championship-panel{background:linear-gradient(110deg,#302b20e8,#181b19e8)}
@media(max-width:600px){#start:before{background-position:62% center}.street-scene{padding-inline:0}.menu-header{background:#09101528}.menu-nav{background:#0b10128c}}

#menu-home{display:flex;flex-direction:column;padding-bottom:16px}.career-notice{order:-1}
#menu-home .street-scene{min-height:calc(100svh - 220px)}
@media(max-width:600px){#start .card{padding-inline:18px}.menu-header{padding:16px 0}.wordmark{font-size:30px}.menu-wallet span{font-size:9px}.menu-wallet b{font-size:22px}.menu-nav{gap:22px;margin-bottom:8px}.menu-nav button{min-height:48px}.street-scene{padding:22px 0 12px}.card .street-heading h1{font-size:clamp(48px,14vw,64px)!important;margin:16px 0}.street-heading p{font-size:12px!important;max-width:270px}.street-locations{margin-top:26px;gap:10px}.street-locations button{min-height:110px;padding:16px 12px}.street-locations b{font-size:26px}.street-locations span{line-height:1.6}.menu-footer{padding:12px 8px calc(12px + env(safe-area-inset-bottom));font-size:7px}}
@media(max-height:520px){.menu-header{padding-block:10px}.wordmark{font-size:28px}.wordmark small{margin-top:5px}.menu-nav{margin-bottom:4px;gap:20px}.menu-nav button{padding-block:12px;min-height:42px}.street-scene{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:center;padding-block:14px}#menu-home .street-scene{min-height:calc(100svh - 160px)}.card .street-heading h1{font-size:42px!important;margin:10px 0}.street-heading p{display:none}.street-heading .eyebrow{font-size:7px;max-width:200px}.street-locations{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.street-locations button{min-height:74px;padding:10px}.street-locations b{font-size:23px;margin:7px 0}.street-locations small{font-size:6px}.street-locations span{display:none}.menu-footer{padding-block:9px}.street-scene:after{display:none}}
