:root{--dark:#080d16;--panel:rgba(9,16,29,.85);--panel2:rgba(7,12,22,.96);--line:rgba(217,229,247,.18);--ink:#f5f4e9;--muted:#c9ced8;--gold:#f7bc39;--gold2:#ffe28a;--blue:#277ddc;--red:#ed3451;--font:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--dark);color:var(--ink);font-family:var(--body);overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;transition:background .16s,color .16s,transform .16s,border-color .16s}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:active{transform:scale(.98)}.site-shell{height:100dvh;min-height:560px;display:flex;flex-direction:column;background:#08101a}.topbar{height:64px;flex-shrink:0;background:#090e18;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid #34415a;box-shadow:0 8px 18px #0006;z-index:20;gap:15px}.brand{display:flex;gap:12px;align-items:center;border:0;background:none;padding:0;flex-shrink:0}.brand-roundel{width:39px;height:39px;border-radius:50%;border:3px solid #ecece2;background:#101520;box-shadow:0 0 0 1px #202935,0 0 11px #2c75c447;display:grid;place-items:center}.roundel-core{width:26px;height:26px;border-radius:50%;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;transform:rotate(-4deg)}.roundel-core b:nth-child(1),.roundel-core b:nth-child(4){background:#f1f2f3}.roundel-core b:nth-child(2),.roundel-core b:nth-child(3){background:#2478c4}.m-bars{height:25px;display:flex;gap:2px;transform:skew(-20deg)}.m-bars i{display:block;width:10px;background:#2b7ed5}.m-bars i:nth-child(2){background:#2047a0}.m-bars i:nth-child(3){background:#e83e52}.brand-name{text-align:left;font:900 27px/20px var(--font);letter-spacing:.03em}.brand-name small{display:block;font:700 10px/14px var(--body);letter-spacing:.17em;color:#d9a83f;margin-top:5px}.main-nav{display:flex;height:100%;align-items:center;gap:8px;margin:auto}.nav-item{font:800 17px var(--font);font-style:italic;border:1px solid transparent;background:none;padding:9px 15px;white-space:nowrap;letter-spacing:.02em;color:#e5e7ed}.nav-item:hover{color:var(--gold)}.nav-item.is-current{border-color:#efb830;color:var(--gold);border-radius:9px;background:linear-gradient(180deg,#2a241d,#101b2d);box-shadow:inset 0 0 10px #edb63536,0 0 13px #ffaa2c3d}.nav-glyph{font-style:normal;font-size:22px;margin-right:6px;vertical-align:-2px}.top-actions{display:flex;align-items:center;gap:8px}.status-dot{height:7px;width:7px;border-radius:50%;background:#63dfa1;box-shadow:0 0 10px #63dfa1}.live-status{font:700 11px var(--body);letter-spacing:.13em;color:#bfc8d3;white-space:nowrap}.top-menu-btn{border:1px solid var(--line);border-radius:8px;background:#192337;font-size:21px;margin-left:6px;padding:4px 9px}
.game-area{position:relative;flex:1;min-height:0;overflow:hidden;background:#141c2a}#world{position:absolute;inset:0;width:100%;height:100%;display:block}.grain,.scene-vignette{position:absolute;pointer-events:none;inset:0}.grain{opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.scene-vignette{background:linear-gradient(90deg,rgba(3,7,14,.29),transparent 24%,transparent 75%,rgba(3,7,14,.22)),linear-gradient(180deg,rgba(5,10,16,.14),transparent 30%,transparent 69%,rgba(2,7,13,.34))}.scene-header{position:absolute;top:31px;left:35%;text-shadow:0 4px 13px #0009;pointer-events:none}.chapter-kicker{font:800 17px var(--font);color:#f8c64a;letter-spacing:.1em;display:flex;align-items:center;gap:10px}.yellow-dash{width:27px;height:3px;background:#ffc341}.mini-bars{display:inline-flex;gap:3px;transform:skew(-19deg)}.mini-bars i{width:10px;height:9px;background:#3c8fdb}.mini-bars i:nth-child(2){background:#21478d}.mini-bars i:nth-child(3){background:#ef5260}.scene-title{font:900 clamp(38px,4.4vw,76px)/.95 var(--font);font-style:italic;letter-spacing:-.02em;color:#fff5dd;filter:drop-shadow(2px 3px 0 #151722)}.scene-title em{color:var(--gold);font-style:inherit}.scene-subtitle{font-size:13px;margin-top:10px;font-weight:700;letter-spacing:.015em;color:#fff1dc}.controls-panel{position:absolute;left:22px;top:34px;width:263px;background:var(--panel);border:1px solid #ebba60a6;border-radius:13px;backdrop-filter:blur(15px);box-shadow:0 15px 50px #0007;overflow:hidden}.panel-header{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#191d25,#2b2530);border-bottom:1px solid #e8ae5766;padding:12px 14px;color:var(--gold);font:800 17px var(--font);letter-spacing:.06em}.panel-header>span{font-size:19px}.panel-header>button{margin-left:auto;background:transparent;border:0;color:#dfd9c4;font-size:25px;line-height:13px}.panel-body{padding:7px 15px 10px}.panel-body[hidden]{display:none}.panel-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #ffffff1c;min-height:42px}.panel-label{font:800 14px var(--font);letter-spacing:.04em}.selector{width:136px;display:flex;align-items:center;justify-content:space-between;gap:2px}.selector strong{font:700 14px var(--font);white-space:nowrap;color:#f5f0e9}.selector button{background:none;border:0;color:var(--gold);font-size:23px;padding:0 4px;line-height:22px}.panel-divider{height:5px}.toggle-line{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;padding:9px 0;font:800 14px var(--font);letter-spacing:.02em}.toggle-line>span:first-child{display:flex;align-items:center;gap:8px}.tiny-gear{color:var(--gold);font-size:17px}.switch{width:39px;height:22px;background:#4a5260;border:1px solid #9da6af;border-radius:15px;display:flex;align-items:center;padding:3px;transition:background .15s}.switch i{width:14px;height:14px;background:#e9edf4;border-radius:50%;display:block;transition:transform .15s}.switch.on{background:#e8b333;border-color:#ffc953}.switch.on i{transform:translateX(16px);background:#111a24}.drive-mood{position:absolute;top:35px;right:25px;display:flex;gap:8px;align-items:center;background:#090d16aa;border:1px solid #ffffff24;padding:10px 16px;border-radius:10px;max-width:280px;backdrop-filter:blur(10px);font:600 12px var(--body);color:#f2e6d5}.mood-icon{font-size:22px;color:var(--gold)}.distance-tag{position:absolute;bottom:154px;right:27px;text-align:right;text-shadow:0 2px 9px #07101a}.small-label{font:800 11px var(--body);letter-spacing:.17em;display:block;color:#eee7d9}.distance-tag strong{font:900 24px var(--font);letter-spacing:.04em}.distance-tag small{font:700 12px var(--font);color:#d3c7b0}.speed-widget{position:absolute;left:22px;bottom:28px;display:flex;gap:7px;align-items:end}.speed-arc{width:133px;height:133px;border-radius:50%;border:3px solid #c4d5ec;background:radial-gradient(circle at 45% 40%,#23314a,#080f1b 66%);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 3px #121d32,0 12px 30px #000a;text-shadow:0 2px 3px #000}.speed-top{font:800 13px var(--font);color:#f8c747}.speed-arc strong{font:900 61px/.9 var(--font);font-style:italic;letter-spacing:-2px}.speed-arc small{font:700 12px var(--font);margin-top:1px}.arc-track{height:4px;width:85px;margin-top:7px;border-radius:5px;background:#36465b;overflow:hidden}.arc-track span{display:block;background:linear-gradient(90deg,#459cde,#faad35);width:50%;height:100%}.speed-meta{background:#0c1426d9;border:1px solid #647c9b;border-radius:11px;display:flex;gap:9px;align-items:center;padding:9px 13px;margin-bottom:7px;white-space:nowrap}.speed-meta b{font:900 33px var(--font);font-style:italic;color:var(--gold)}.speed-meta span{font:700 11px var(--font);letter-spacing:.08em}.drive-actions{position:absolute;right:25px;bottom:29px;display:flex;gap:9px;align-items:center}.gold-btn,.outline-btn{border-radius:11px;padding:13px 19px;font:900 18px var(--font);font-style:italic;letter-spacing:.03em;white-space:nowrap}.gold-btn{color:#0c121c;background:linear-gradient(180deg,#ffe279,#f6bc35 55%,#d89116);border:2px solid #ffe489;box-shadow:inset 0 -3px 0 #b77a22,0 2px 18px #fbb22e55}.gold-btn:hover{filter:brightness(1.08)}.outline-btn{border:1px solid #f6c768a6;color:#f5efe6;background:rgba(9,14,25,.81);box-shadow:0 4px 15px #0005}.outline-btn:hover{background:#2e2a30}.btn-icon{margin-right:5px}.key-hint{position:absolute;left:50%;transform:translateX(-50%);bottom:9px;white-space:nowrap;font:700 9px var(--body);letter-spacing:.07em;color:#f0f0ebbb;text-shadow:0 2px 4px #000}.key-hint span{color:#e8ad45;margin:0 10px}.bottom-strip{height:28px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 24px;background:#0a0f19;border-top:1px solid #24314b;color:#b0b6c6;font:700 9px var(--body);letter-spacing:.15em}.micro-slash{color:#3587de}.touch-controls{display:none}
.intro-shade{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#070b15e8,#0e1421b0 55%,#0c101bc6);backdrop-filter:blur(7px)}.intro-shade[hidden]{display:none}.intro-card{position:relative;display:flex;width:min(860px,90vw);min-height:390px;background:#0c1422f2;border:1px solid #e5ae4680;border-radius:20px;box-shadow:0 22px 100px #000b,0 0 45px #eda73621;overflow:hidden}.intro-portrait{width:42%;min-height:100%;overflow:hidden;position:relative}.intro-portrait img{height:100%;width:100%;object-fit:cover;object-position:44% center;filter:saturate(.78)}.intro-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#0c1422)}.intro-content{padding:48px 32px 42px 15px;display:flex;flex-direction:column;align-items:start;justify-content:center;flex:1}.eyebrow{font:800 12px var(--body);letter-spacing:.13em;color:#eabe5b}.intro-content h1{font:900 clamp(40px,4vw,66px)/.95 var(--font);font-style:italic;letter-spacing:-.025em;margin:20px 0}.intro-content h1 em{font-style:inherit;color:var(--gold)}.intro-content p{color:#c3c7d4;line-height:1.65;max-width:400px;font-size:14px;margin:0 0 26px}.large{font-size:23px;padding:15px 32px}.intro-caption{font:700 10px var(--body);letter-spacing:.13em;color:#818da1;margin-top:16px}.intro-foot{position:absolute;bottom:14px;font:700 10px var(--body);letter-spacing:.18em;color:#a5adbf}
.screen-overlay{position:absolute;z-index:8;inset:0;background:linear-gradient(120deg,rgba(5,10,18,.98),rgba(10,17,29,.91));padding:35px min(7vw,90px);overflow-y:auto}.screen-overlay[hidden]{display:none}.overlay-back{background:none;border:0;color:#ffd26b;font:800 16px var(--font);letter-spacing:.1em;padding:0;margin-bottom:24px}.overlay-title{font:900 clamp(46px,6.4vw,92px)/.94 var(--font);font-style:italic;margin:0 0 9px}.overlay-title em{color:var(--gold);font-style:inherit}.overlay-lead{font:500 15px/1.7 var(--body);color:#bdc5d3;max-width:610px;margin:0 0 25px}.garage-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:25px;max-width:1170px}.garage-car{height:360px;position:relative;background:radial-gradient(ellipse at 47% 70%,#4d3159,#111b32 58%,#080e1b);border:1px solid #5b5864;border-radius:14px;overflow:hidden}.garage-car canvas{width:100%;height:100%;display:block}.garage-car .car-tag{position:absolute;left:18px;top:14px;font:800 15px var(--font);color:#ffce69}.garage-settings{background:#0f192a;border:1px solid #374156;border-radius:14px;padding:22px}.option-head{font:900 25px var(--font);margin:0 0 13px}.swatch-row{display:flex;gap:11px;flex-wrap:wrap;margin-bottom:20px}.swatch{width:42px;height:42px;border:2px solid #abb5c1;border-radius:50%;background:var(--swatch)}.swatch.selected{outline:3px solid var(--gold);outline-offset:3px}.garage-callout{border-top:1px solid #34415b;padding-top:16px;color:#adb9c8;font-size:13px;line-height:1.7}.garage-callout strong{color:#f4d78f}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.lore-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1010px}.info-card{border:1px solid #37465e;border-radius:15px;background:#121d30b8;padding:27px}.info-card h3{font:900 28px var(--font);margin:0 0 10px}.info-card p{font-size:14px;line-height:1.75;color:#c6d0dd}.meme-canvas-wrap{border:1px solid #48566a;border-radius:15px;padding:14px;background:#0b1420;max-width:640px}.meme-canvas-wrap canvas{width:100%;height:auto;display:block;border-radius:8px}.caption-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px;max-width:730px}.caption-buttons button{border:1px solid #4c5b73;border-radius:10px;background:#162339;padding:10px 14px;font:700 13px var(--body)}.caption-buttons button.selected{border-color:var(--gold);background:#51422e;color:#ffe5a7}.overlay-kicker{font:800 13px var(--body);letter-spacing:.15em;color:#ffca65;margin-bottom:14px}.panel-close{display:none}
@media(max-width:1200px){.topbar{padding:0 14px}.nav-item{padding:8px;font-size:15px}.brand-name{font-size:22px}.scene-header{left:34%;top:28px}.drive-mood{display:none}.drive-actions{bottom:26px}.distance-tag{right:28px;bottom:100px}.outline-btn{padding:12px 15px}}
@media(max-width:850px){.site-shell{min-height:490px}.topbar{height:57px}.main-nav{gap:0}.nav-item{font-size:13px;padding:9px 7px}.nav-glyph{display:none}.brand-roundel{width:33px;height:33px}.brand-name{font-size:19px}.brand-name small{font-size:8px}.m-bars{display:none}.top-actions .live-status,.top-actions .status-dot{display:none}.bottom-strip{height:22px;font-size:8px}.bottom-strip span:last-child{display:none}.scene-header{left:auto;right:16px;top:22px;text-align:right}.chapter-kicker{justify-content:flex-end;font-size:12px}.scene-title{font-size:46px}.scene-subtitle{max-width:270px;font-size:11px;margin-left:auto}.controls-panel{top:18px;left:12px;width:229px}.panel-body{padding:4px 10px}.panel-row{min-height:38px}.selector{width:115px}.drive-actions{right:14px;bottom:20px;gap:7px}.gold-btn,.outline-btn{font-size:15px;padding:11px}.speed-widget{left:12px;bottom:18px}.speed-arc{width:105px;height:105px}.speed-arc strong{font-size:50px}.speed-meta{display:none}.key-hint{display:none}.distance-tag{bottom:91px}.garage-grid,.lore-grid{grid-template-columns:1fr}.garage-car{height:290px}}
@media(max-width:600px){.topbar{height:55px;gap:7px;padding:0 9px}.brand{gap:7px}.brand-name{font-size:18px;line-height:15px}.brand-name small{letter-spacing:.04em;font-size:7px}.brand-roundel{width:28px;height:28px}.roundel-core{height:20px;width:20px}.main-nav{margin-left:auto}.nav-item{font-size:12px;padding:6px 5px}.nav-item[data-screen=club],.nav-item[data-screen=factory]{display:none}.top-menu-btn{font-size:18px;padding:3px 6px}.scene-header{top:23px;right:13px}.scene-title{font-size:37px}.scene-subtitle{font-size:10px;max-width:170px}.chapter-kicker{font-size:10px}.controls-panel{top:14px;left:10px;width:178px}.panel-header{font-size:14px;padding:8px 9px}.panel-row{padding:5px 0;min-height:33px}.panel-label{font-size:12px}.selector{width:105px}.selector strong{font-size:12px}.panel-body{padding:3px 8px}.toggle-line{font-size:12px;padding:7px 0}.drive-actions{bottom:12px;right:10px}.drive-actions #garageBtn{display:none}.drive-actions #autopilotBtn{display:none}.gold-btn{padding:9px 11px;font-size:15px}.speed-widget{left:10px;bottom:13px}.speed-arc{width:93px;height:93px;border-width:2px}.speed-arc strong{font-size:43px}.distance-tag{right:13px;bottom:67px}.distance-tag strong{font-size:18px}.touch-controls{position:absolute;z-index:4;bottom:20px;left:0;right:0;display:flex;justify-content:space-between;padding:0 10px;pointer-events:none}.touch-controls>div{display:flex;gap:7px;pointer-events:auto}.touch-controls button{height:44px;min-width:45px;border:1px solid #f4ca76a6;border-radius:10px;background:#071322bd;color:#ffe5a9;font:900 16px var(--font);touch-action:none}.touch-controls>div:last-child{margin-right:0}.speed-widget{bottom:70px}.drive-actions{bottom:79px}.distance-tag{bottom:132px}.intro-card{width:91vw;min-height:350px}.intro-portrait{width:33%}.intro-content{padding:24px 16px 24px 6px}.intro-content h1{font-size:38px}.intro-content p{font-size:12px}.intro-caption{font-size:9px}.eyebrow{font-size:9px}.screen-overlay{padding:22px 18px}.overlay-title{font-size:50px}.garage-car{height:230px}.bottom-strip{padding:0 9px}}

.mobile-more{display:none}.mobile-menu{position:absolute;z-index:22;right:12px;top:56px;width:155px;background:#101927;border:1px solid #cfa24f;border-radius:10px;padding:8px;box-shadow:0 10px 28px #000a}.mobile-menu[hidden]{display:none}.mobile-menu button{display:block;width:100%;border:0;border-bottom:1px solid #253146;background:transparent;color:#f5f1e9;text-align:left;padding:12px;font:800 15px var(--font)}.mobile-menu button:hover{color:var(--gold)}
@media(max-width:600px){.mobile-more{display:inline-block}.topbar{gap:3px}.brand-name{font-size:16px}.nav-item{font-size:11px;padding:6px 4px}.scene-header{right:12px;top:55px;width:calc(100% - 206px)}.scene-title{font-size:29px;white-space:nowrap}.scene-subtitle{display:none}.chapter-kicker{display:none}}
/* V2 — WebGL driving world, ambient details and photo controls */
.sky-layer,#world,.car-layer{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.sky-layer{z-index:0}#world{z-index:1}.car-layer{z-index:2}.grain,.scene-vignette{z-index:3}.scene-header,.controls-panel,.speed-widget,.drive-actions,.distance-tag,.drive-mood,.touch-controls,.key-hint{z-index:5}
.game-area{background:#1a2540}.scene-header{top:26px;left:33%}.scene-title{font-size:clamp(35px,3.6vw,64px)}.scene-subtitle{background:#07142355;border-radius:3px;padding:3px 5px;display:inline-block}.controls-panel{width:264px;top:27px}.panel-body{padding:5px 15px 8px}.panel-row{min-height:37px;padding:6px 0}.toggle-line{padding:6px 0}.distance-tag{bottom:142px}.trip-progress{display:block;font-size:10px;letter-spacing:.1em;color:#f6bf49;margin-top:4px;font-weight:800}.drive-actions .outline-btn{padding:11px 13px}.freecam-photo{position:absolute;right:23px;top:91px;z-index:5;background:#080f1b95;border:1px solid #e0bd73a3;color:#ffdd96;border-radius:10px;font:800 13px var(--font);padding:10px 12px;letter-spacing:.06em;backdrop-filter:blur(7px)}.freecam-photo:hover{background:#2c2a2d}.event-toast{position:absolute;z-index:8;left:50%;top:27%;transform:translateX(-50%);background:#131b2de8;border:1px solid #ffc75d;color:#ffe3a4;border-radius:12px;padding:15px 23px;text-align:center;box-shadow:0 10px 55px #0009;font:900 23px var(--font);letter-spacing:.08em;pointer-events:none}.event-toast[hidden]{display:none}
.roadbook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1170px}.postcard{position:relative;min-height:174px;border:1px solid #444f63;border-radius:12px;padding:20px;overflow:hidden;background:radial-gradient(ellipse at top right,#384f69,#162237 70%);display:flex;flex-direction:column;justify-content:flex-end}.postcard:before{content:'BMW / ROAD TRIP';position:absolute;top:16px;left:19px;font:900 13px var(--font);color:#f4be55;letter-spacing:.1em}.postcard:after{content:'✦';position:absolute;right:14px;top:4px;font-size:80px;color:#d7ad5833}.postcard:not(.found){filter:saturate(.4);opacity:.65}.postcard h3{font:900 28px var(--font);margin:0}.postcard p{font-size:12px;line-height:1.4;color:#b5c1d1;margin:9px 0 0}.postcard .postcard-tag{position:absolute;right:14px;bottom:15px;color:#f7c45c;font:800 11px var(--body)}.garage-settings .option-head{margin-top:14px}.paint-note{font-size:12px;color:#acbdd0;line-height:1.6}.mode-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}.mode-buttons button{background:#152238;border:1px solid #596980;border-radius:9px;padding:10px 12px;font:800 13px var(--body)}.mode-buttons button.selected{background:#4c3e26;border-color:#f8c458;color:#ffe4a5}.route-card{background:#111d30;border:1px solid #374158;border-radius:13px;padding:18px;max-width:790px;display:flex;align-items:center;justify-content:space-between;gap:18px}.route-card strong{font:900 24px var(--font)}.route-card span{color:#a9bacf;font:700 12px var(--body)}
@media(max-width:1240px){.freecam-photo{top:83px}.nav-item{padding:8px 9px}.scene-header{left:34%}}
@media(max-width:920px){.nav-item[data-screen=roadbook],.nav-item[data-screen=club]{display:none}.mobile-more{display:inline-block}.controls-panel{width:232px}.freecam-photo{display:none}.drive-actions #photoBtn{display:none}.roadbook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.scene-header{right:9px;top:48px}.scene-title{font-size:31px}.controls-panel{width:188px;top:12px}.panel-row{min-height:31px}.toggle-line{padding:5px 0}.drive-actions{bottom:78px}.drive-actions #photoBtn{display:none}.distance-tag{bottom:124px}.trip-progress{font-size:8px}.roadbook-grid{grid-template-columns:1fr}.postcard{min-height:160px}.route-card{flex-direction:column;align-items:flex-start}}

@media(max-width:600px){.scene-header{display:none}.controls-panel{width:186px}.distance-tag{top:23px;right:10px;bottom:auto}.speed-widget{bottom:78px}.drive-actions{bottom:78px}.trip-progress{font-size:9px;white-space:nowrap}.controls-panel .panel-body:not([hidden]){max-height:60dvh;overflow-y:auto}.screen-overlay{background:#080f1bf7}}

/* V2.1 recovery UI: visible only when the driver actually leaves the road. */
.recover-btn{position:absolute;z-index:7;right:28px;bottom:198px;display:block;padding:11px 16px;border-radius:10px;border:2px solid #ffcd71;background:#182136ea;color:#ffdc8d;font:900 15px var(--font);box-shadow:0 7px 28px #0009;cursor:pointer;letter-spacing:.025em}
.recover-btn[hidden]{display:none}
.recover-btn:hover{background:#323145}
@media(max-width:850px){.recover-btn{right:13px;bottom:145px;padding:9px 11px;font-size:13px}}
@media(max-width:600px){.recover-btn{right:10px;bottom:173px;font-size:12px}}


/* ------------------------------------------------------------------
   V2.2 / THE WHALE CLUB — DESIGN PASS
   Inherits every V2.1 drive element, so game handling remains untouched.
   ------------------------------------------------------------------ */
:root{--gold:#f8bd46;--gold2:#ffe6a3;--panel:rgba(9,15,27,.89);--line:rgba(245,218,162,.19)}
.topbar{background:linear-gradient(180deg,#0b101b,#080d16);border-bottom:1px solid #a1804561;box-shadow:0 7px 35px #02071294}
.brand{gap:10px}.brand-name{letter-spacing:.055em}.brand-name small{color:#eebd69;letter-spacing:.14em}
.brand-roundel{border-color:#eff4f5;box-shadow:0 0 0 1px #d5b46b33,0 0 21px #3081db30}
.nav-item{border-radius:8px;transition:background .2s,color .2s,border-color .2s}
.nav-item:hover{background:rgba(252,199,93,.075)}
.nav-item.is-current{border-color:#efbd5c;background:linear-gradient(135deg,#30291e,#11192a);box-shadow:inset 0 1px #ffe9ac26,0 3px 15px #ffc34b16}
.top-actions{gap:8px}.social-actions{display:flex;gap:6px;align-items:center}.social-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:33px;padding:0 12px;text-decoration:none;white-space:nowrap;border-radius:7px;border:1px solid #d5b77763;background:#141b29;color:#f3ede1;font:900 12px var(--font);letter-spacing:.045em;transition:transform .18s,background .18s,border-color .18s}
.social-link:hover{transform:translateY(-2px);border-color:#edc16e;background:#292538}.social-pump{background:#edb441;color:#13121b;border-color:#ffdf91;box-shadow:0 0 18px #e4a43624}.social-pump:hover{background:#ffe098;color:#0c141c}.social-symbol{font:900 17px Arial,sans-serif}.social-link.is-unset{opacity:.72}.social-link.is-unset:hover{opacity:1}
.top-menu-btn{margin-left:0;border-color:#ae945859;background:#111c2b}
/* Hero overlay */
.intro-shade{background:linear-gradient(120deg,#070b16f0,#0c1424c8 55%,#151d2adc);backdrop-filter:blur(9px)}
.intro-card{width:min(1050px,94vw);min-height:488px;border-radius:18px;background:linear-gradient(112deg,#0b1323,#101a2d 77%,#182137);border:1px solid #dbb87586;box-shadow:0 35px 100px #000d,0 0 0 6px #b6802210,0 0 70px #daa74913}
.intro-card:before{content:'';position:absolute;z-index:2;pointer-events:none;inset:0;border-top:1px solid #ffe9ba2d;border-radius:18px}
.intro-portrait{width:42%;isolation:isolate;background:#172037}
.intro-portrait img{object-position:46% center;filter:saturate(.93) contrast(1.05)}
.intro-portrait:after{background:linear-gradient(90deg,transparent 53%,#10192d 99%),linear-gradient(0deg,#0b1323 0%,transparent 35%)}
.portrait-mark{position:absolute;z-index:2;left:23px;top:23px;padding:8px 11px;border:1px solid #ffd58f6a;border-radius:5px;background:#080f1ec7;font:900 12px var(--font);letter-spacing:.12em;color:#ffe0a1}.portrait-mark-icon{color:#ffcb65;margin-right:8px}
.portrait-number{position:absolute;z-index:2;bottom:22px;left:25px;color:#ffe6ad;font:800 10px var(--body);letter-spacing:.12em;text-shadow:0 2px 10px #000}
.intro-content{padding:41px 43px 35px 13px;min-width:0}
.intro-content h1{font-size:clamp(47px,4.8vw,71px);line-height:.95;margin:18px 0 15px;color:#fff8e9;text-shadow:2px 3px 0 #060c18}
.intro-content h1 em{background:linear-gradient(180deg,#ffe7a4,#efa92d);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro-content p{max-width:490px;margin:0 0 20px;font-size:14px;line-height:1.6;color:#cbd5e2}
.eyebrow{display:flex;gap:9px;align-items:center;letter-spacing:.145em;font-size:11px;color:#f6cc77}.eyebrow-line{height:2px;width:18px;background:#edbd57;display:inline-block}
.intro-stat-row{display:flex;width:100%;gap:0;margin:0 0 23px;padding:14px 0;border-top:1px solid #c7b2863c;border-bottom:1px solid #c7b2863c}
.intro-stat-row span{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0 14px;border-right:1px solid #c7b28633}.intro-stat-row span:first-child{padding-left:0}.intro-stat-row span:last-child{border-right:0}
.intro-stat-row strong{font:900 29px var(--font);font-style:italic;color:#ffd071;line-height:1}.intro-stat-row small{font:800 9px/1.2 var(--body);letter-spacing:.07em;color:#b7c6d8}
.intro-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.intro-actions .large{padding:14px 21px;font-size:20px}.intro-actions .intro-alt{padding:13px 16px;font-size:17px}
.intro-socials{display:flex;align-items:center;gap:15px;margin-top:24px;flex-wrap:wrap}.intro-social-title{font:800 10px var(--body);letter-spacing:.14em;color:#9cabc0}.intro-socials a{color:#e9dab9;text-decoration:none;border-bottom:1px solid #d0a55760;padding-bottom:3px;font:800 13px var(--font);letter-spacing:.06em}.intro-socials a:hover{color:#ffdf8d;border-color:#ffdf8d}.intro-socials a.is-unset{opacity:.6}
.intro-foot{bottom:14px;letter-spacing:.13em;color:#c7bbab}
/* The Club content is site-level, not simply social buttons. */
.screen-overlay{background:radial-gradient(ellipse at 80% 0%,#30305188,transparent 52%),linear-gradient(130deg,#090f1cfa,#0e1727f7);scrollbar-color:#8e724d #10192a}
.screen-overlay:before{content:'';pointer-events:none;position:fixed;right:0;top:120px;height:240px;width:330px;background:repeating-linear-gradient(105deg,transparent 0 20px,#c59b2910 20px 22px);opacity:.45}
.overlay-kicker{color:#f5c66a}.overlay-lead{color:#c1cbd8}
.garage-car{border-color:#817052;background:radial-gradient(ellipse at 50% 72%,#6350714a,#111d2e 62%,#090e1a)}.garage-settings,.info-card{background:linear-gradient(140deg,#121d30,#0d1828);border-color:#48536b}.swatch.selected{outline-color:#ffc365}
.route-card{background:linear-gradient(110deg,#1a2538,#101928);border-color:#80674470}.postcard{border-color:#6a5c4caa;background:radial-gradient(ellipse at top right,#5c527077,#172439 68%)}.postcard.found{box-shadow:inset 0 2px #ecbc5a88}
.club-layout{display:grid;grid-template-columns:minmax(290px,.93fr) minmax(0,1.07fr);gap:25px;max-width:1140px;align-items:stretch}.club-feature{min-height:450px;position:relative;overflow:hidden;border-radius:16px;background:#1d2a3d;border:1px solid #c6a26b7d}.club-feature img{width:100%;height:100%;object-fit:cover;object-position:50% center;position:absolute;inset:0;filter:contrast(1.07) saturate(.83)}.club-feature-shade{position:absolute;inset:0;background:linear-gradient(0deg,#050b17e8,transparent 60%),linear-gradient(90deg,#050b1739,transparent)}.club-feature-type{position:absolute;left:25px;bottom:27px;display:flex;flex-direction:column;text-shadow:0 3px 12px #0008}.club-feature-type span{color:#f6c269;font:800 12px var(--body);letter-spacing:.16em}.club-feature-type strong{font:900 italic 100px/.95 var(--font);color:#fff4dc}.club-feature-type small{font:800 11px var(--body);letter-spacing:.15em;color:#f5dba5}.club-copy{display:flex;flex-direction:column;gap:13px}.club-note,.club-links{background:linear-gradient(110deg,#182337c7,#111b2cdd);border:1px solid #6e5b4975;border-radius:12px;padding:19px 22px}.club-note h3{font:900 italic 27px var(--font);margin:9px 0 5px;color:#fff2dc}.club-note p{font:500 13px/1.55 var(--body);color:#bdc9d9;margin:0}.club-index{font:800 10px var(--body);color:#f6bc53;letter-spacing:.16em}.club-link-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.club-link-buttons .club-social{display:inline-flex;align-items:center;text-decoration:none;font-size:17px;padding:11px 17px}.club-link-buttons .club-social.is-unset{opacity:.62}.club-disclaimer{color:#aeb9c7;font-size:11px;line-height:1.5;margin:8px 0 0}.club-disclaimer code{color:#ffce79}
/* Keyboard focus, hover and reduced motion. */
a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:1240px){.nav-item{padding:7px 8px;font-size:14px}.topbar{gap:7px}.social-link{padding:0 9px;font-size:11px}}
@media(max-width:1060px){.nav-item[data-screen=club],.nav-item[data-screen=factory]{display:none}.mobile-more{display:inline-block}.top-actions{gap:5px}.social-link{padding:0 8px}.social-link span:not(.social-symbol){display:none}.social-symbol{font-size:18px}.brand-name{font-size:21px}.top-menu-btn{padding:4px 7px}}
@media(max-width:850px){.nav-item[data-screen=roadbook]{display:none}.intro-card{width:min(830px,94vw);min-height:425px}.intro-content{padding:26px 25px 25px 10px}.intro-content h1{font-size:clamp(36px,5.5vw,58px)}.intro-stat-row strong{font-size:24px}.intro-stat-row span{padding:0 8px}.intro-stat-row small{font-size:8px}.intro-actions .large{font-size:17px}.club-layout{grid-template-columns:1fr}.club-feature{min-height:300px}.club-feature img{object-position:center 38%}}
@media(max-width:600px){.topbar{padding:0 8px}.brand{gap:5px}.brand-name{font-size:15px}.brand-name small{font-size:6px}.social-actions{gap:4px}.social-link{padding:0 7px;min-height:29px}.social-symbol{font-size:16px}.nav-item{padding:5px 4px}.nav-item[data-screen=garage]{display:none}.nav-item[data-screen=drive]{font-size:11px}.top-menu-btn{font-size:15px;padding:3px 5px}.mobile-menu{width:176px}.intro-shade{overflow-y:auto;padding:13px 0 28px;align-items:flex-start}.intro-card{width:94vw;min-height:0;flex-direction:column}.intro-portrait{height:160px;width:100%;flex-shrink:0}.intro-portrait img{object-position:center 40%}.intro-portrait:after{background:linear-gradient(0deg,#10192d,transparent 90%)}.portrait-mark{top:12px;left:13px;font-size:10px}.portrait-number{left:auto;right:12px;bottom:13px;font-size:8px}.intro-content{padding:20px 20px 23px}.intro-content h1{font-size:42px;margin:11px 0}.intro-content p{font-size:12px;margin-bottom:13px}.intro-stat-row{padding:10px 0;margin-bottom:15px}.intro-stat-row strong{font-size:24px}.intro-actions .large{font-size:18px;padding:12px 17px}.intro-actions .intro-alt{padding:11px;font-size:14px}.intro-socials{margin-top:15px;gap:11px}.intro-socials a{font-size:11px}.intro-foot{display:none}.screen-overlay{padding:24px 16px}.club-feature{min-height:290px}.club-feature-type strong{font-size:73px}.club-note,.club-links{padding:16px}.club-link-buttons .club-social{font-size:14px;padding:10px 12px}}
@media(max-width:390px){.nav-item[data-screen=drive]{display:none}.intro-portrait{height:128px}.intro-content h1{font-size:37px}.intro-stat-row small{font-size:7px}}

/* Status notices must appear above both the launch screen and the road overlays. */
.event-toast{z-index:40}
