:root{color-scheme:dark;font-family:'Avenir Next',system-ui,sans-serif;background:#161b1c;color:#f4efe5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #e7c89d;outline-offset:5px}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}main{min-height:640px;height:100svh;position:relative;overflow:hidden}.scene{position:absolute;inset:0}.garage-photo{height:100%;width:100%;object-fit:cover;object-position:50% 54%}.garage-shade{position:absolute;inset:0;background:linear-gradient(180deg,#090e126e 0%,transparent 33%,transparent 58%,#0b1113a3 80%,#0b1113f5 100%)}.garage-copy{position:absolute;top:7%;left:7%;right:7%;text-shadow:0 2px 18px #0009}.eyebrow{font-size:10px;font-weight:600;letter-spacing:3px;margin:0 0 15px;color:#d6c4a9}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,6vw,76px);font-weight:400;letter-spacing:-2px;margin:0 0 13px}h2{font-weight:400}.garage-copy>p:last-child{font-size:15px;line-height:1.5;color:#e2dfd4;margin:0}.garage-bottom{position:absolute;bottom:94px;left:7%;right:7%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px 30px}.car-label{display:flex;gap:17px;align-items:center}.little-line{width:29px;height:1px;background:#d8b789}.car-name{display:block;font-size:15px;letter-spacing:.3px}.car-detail{display:block;font-size:12px;color:#d4d1c6;margin-top:8px}.primary{border:1px solid #e8cfaa;border-radius:6px;color:#252a29;background:#e5cfad;padding:17px 24px;min-height:55px;display:flex;justify-content:space-between;align-items:center;gap:38px;font-size:14px;font-weight:600;box-shadow:0 6px 24px #0002;transition:background .25s}.primary:hover{background:#f0dfc4}.primary span{font-size:20px;font-weight:400}.sound-note{grid-column:2;margin:0;font-size:10px;color:#c7c9c2;text-align:right}.utility{position:absolute;bottom:24px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center;z-index:3}.quiet-button{color:#e0e0d4;background:#15202755;border:1px solid #d6d7c61c;min-height:44px;padding:10px 14px;border-radius:6px;font-size:12px;backdrop-filter:blur(8px)}.quiet-button:hover{background:#34433e99}.quiet-button span{margin-right:7px}.utility-divider{height:1px;background:#bac8bd25;flex:1;margin:0 24px}.driving{background:#405767}canvas{display:block;width:100%;height:100%}.drive-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0e172c40 0%,transparent 40%,transparent 73%,#111d29c9 100%)}.drive-top{position:absolute;top:28px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:18px}.glass-button{min-height:44px;background:#111e2b55;color:#f0f0e7;border:1px solid #d5e0dc4d;padding:11px 18px;border-radius:6px;font-size:12px;backdrop-filter:blur(12px)}.glass-button span{margin-right:8px}.route-name{font-size:9px;letter-spacing:3px;color:#e8e5db}.breathing{position:absolute;top:18%;left:15%;right:15%;text-align:center;text-shadow:0 2px 25px #17293b}.breathing .eyebrow{color:#e8ddc8;font-size:9px;margin-bottom:10px}.breathing h2{font-size:clamp(34px,5vw,57px);letter-spacing:-1px;margin:0}.breathing>p:not(.eyebrow){font-size:13px;color:#efeadc;margin:12px 0}.breath-line{height:1px;background:#e5e6ce33;width:90px;margin:26px auto 0;position:relative}.breath-line span{display:block;position:absolute;top:-3px;left:0;width:7px;height:7px;background:#e9debe;border-radius:50%;box-shadow:0 0 13px #ecdab766}.drive-footnote{position:absolute;bottom:76px;width:100%;text-align:center;font-size:12px;color:#e0e2d5;letter-spacing:.2px}.curtain{position:absolute;inset:0;z-index:5;background:#111b20;opacity:0;pointer-events:none;transition:opacity .65s ease}.curtain.closed{opacity:1;pointer-events:auto}.notice{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);z-index:7;background:#17242bec;padding:12px 20px;border-radius:8px;color:#eee7d8;font-size:12px;max-width:90%;line-height:1.5}dialog{border:1px solid #7b8e8752;background:#1b282b;color:#efece1;border-radius:15px;width:min(470px,calc(100% - 28px));padding:28px;max-height:88svh;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#0c1519b8;backdrop-filter:blur(10px)}.dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.dialog-head .eyebrow{margin-bottom:9px}dialog h2{font-family:Georgia,serif;font-size:26px;margin:0}.close-x{background:transparent;color:#d0d7ca;border:0;font-size:27px;min-width:44px;min-height:44px;margin-top:-12px;margin-right:-14px}.setting{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0;font-size:13px}.setting small{display:block;color:#b3c2b8;font-size:10px;line-height:1.5;margin-top:6px}select{background:#293b3e;color:#e4e8dd;border:1px solid #60786d80;border-radius:6px;padding:11px 8px;font-size:12px;max-width:190px}input[type=range]{width:160px;accent-color:#dec498}input[type=checkbox]{height:20px;width:20px;accent-color:#dec498}.parent-note{font-size:11px;line-height:1.7;color:#bfccc2;margin:26px 0}dialog .primary{width:100%}@media(max-width:650px){main{min-height:640px}.garage-photo{object-position:54% 48%;height:78%;top:7%;position:absolute;object-fit:contain;background:#171917}.garage{background:#111719}.garage-shade{background:linear-gradient(#0e151bbc 0%,transparent 35%,transparent 49%,#0f171b73 63%,#0f171bf5 78%,#0f171b 100%)}.garage-copy{top:6%;left:7%;right:7%}h1{font-size:43px;letter-spacing:-1px}.garage-copy>p:last-child{font-size:13px}.eyebrow{font-size:9px;letter-spacing:2px}.garage-bottom{bottom:102px;grid-template-columns:1fr;gap:19px}.car-detail{font-size:11px}.primary{width:100%}.sound-note{grid-column:1;text-align:center;margin-top:-8px}.utility{left:5%;right:5%;bottom:21px}.utility-divider{margin:0 10px}.quiet-button{font-size:11px;padding:10px}.route-name{display:none}.drive-top{top:20px;left:5%;right:5%}.breathing{top:20%;left:5%;right:5%}.breathing h2{font-size:39px}.breathing>p:not(.eyebrow){font-size:12px}.drive-footnote{bottom:78px;font-size:11px}.setting{gap:12px}.setting span{max-width:45%}select{max-width:175px;font-size:11px}input[type=range]{width:140px}dialog{padding:24px}.setting small{font-size:10px}.glass-button{padding:11px 14px}}@media(max-height:650px) and (min-width:651px){main{min-height:480px}.garage-copy{top:6%}h1{font-size:42px}.garage-bottom{bottom:80px}.utility{bottom:15px}.breathing{top:17%}.breathing h2{font-size:35px}.drive-footnote{bottom:76px}.breath-line{margin-top:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.garage-car{position:absolute;width:min(58vw,850px);height:40%;object-fit:contain;left:50%;top:38%;transform:translateX(-50%);filter:drop-shadow(0 14px 9px #0009)}.car-choices{grid-column:1;display:flex;gap:8px;flex-wrap:wrap}.car-choice{padding:10px 14px;min-height:42px;color:#e9e2d5;border:1px solid #d6c09b55;background:#142024cc;border-radius:6px;font-size:12px}.car-choice[aria-pressed=true]{background:#d9c4a2;color:#172123;border-color:#ead6b4}.garage-bottom>.primary{grid-column:2;grid-row:1 / span 2}.next-stop{grid-column:1 / -1;font-size:11px;color:#d6d0c3;margin:0}.sound-note{display:none}.parent-note a{color:#e5ccaa}.garage-copy h1{font-size:clamp(34px,5vw,66px)}@media(max-width:650px){.garage-car{width:86%;height:28%;top:31%}.garage-bottom{bottom:87px;gap:12px}.garage-bottom>.primary{grid-column:1;grid-row:auto}.car-choice{padding:8px 11px;font-size:11px}.next-stop{font-size:10px}.garage-photo{top:15%;height:55%}.garage-copy h1{font-size:36px}.car-label{gap:12px}.car-detail{margin-top:4px}}

/* Keep an eleven-car collection reachable without covering the car. */
.car-choices{flex-wrap:nowrap;overflow-x:auto;max-width:100%;min-width:0;padding:3px 2px 9px;scrollbar-width:thin;scrollbar-color:#b9a27e #152027;overscroll-behavior-x:contain}.car-choice{flex:0 0 auto;white-space:nowrap}.garage-bottom{grid-template-columns:minmax(0,1fr) auto}@media(max-width:650px){.garage-bottom{grid-template-columns:minmax(0,1fr)}}

[data-world=snow] .drive-shade,[data-world=rain] .drive-shade,[data-world=ocean] .drive-shade,[data-world=mountains] .drive-shade{background:linear-gradient(#0e172c80 0%,#0e172c35 38%,transparent 60%,#111d29c9 100%)}

[data-world=mountains] .garage-photo{object-position:80% 54%}

.start-options{border-bottom:1px solid #a2b8ab33;padding-bottom:23px;margin-bottom:24px}.start-options h3{font-size:16px;font-weight:500;margin:22px 0 8px}.start-options>p{font-size:12px;line-height:1.6;color:#bfccc2}.start-options .setting{margin:16px 0}.start-options>.quiet-button{width:100%;margin-top:10px}.start-options button:disabled{cursor:default}

.journey{position:absolute;bottom:84px;left:50%;transform:translateX(-50%);width:min(520px,80%);color:#eee8da}.journey-labels{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-bottom:12px}.journey-track{height:3px;background:#e0dfd52e;position:relative;margin-right:16px}.journey-track>span:first-child{display:block;width:0;height:100%;background:#e3cfaa}.journey-track>span:first-child::after{content:'';float:right;width:7px;height:7px;border-radius:50%;background:#f3e4c8;margin-top:-2px;box-shadow:0 0 9px #e5cfac55}.garage-marker{position:absolute;right:-18px;top:-13px;font-size:23px}.journey p{font-size:11px;text-align:center;color:#d7ded7;margin:12px 0 0}.tracking-link{border-top:1px solid #a2b8ab33;padding-top:20px}.tracking-link a{color:#e8d4b3;font-size:13px}.tracking-link small{display:block;font-size:11px;line-height:1.6;color:#bfccc2;margin-top:8px}@media(max-width:650px){.journey{width:86%;bottom:83px}.journey-labels{font-size:11px}}
.garage-tools{position:absolute;right:36px;top:32px;z-index:2;display:flex;align-items:flex-end;flex-direction:column;gap:14px}.garage-tools>a{color:#f0dec0;text-decoration:none;font-size:13px;border:1px solid #d9c5a955;border-radius:22px;padding:13px 19px;background:#182624bc}.garage-tools label{font-size:10px;letter-spacing:1px;color:#e2ded0;display:flex;gap:9px;align-items:center}.garage-tools select{font:inherit;font-size:12px;background:#1b292bdd;color:#eee6d5;padding:10px;border:1px solid #ffffff40;border-radius:8px}.card-reward{position:absolute;right:36px;top:160px;z-index:2;width:230px;background:#1b2d30ed;border:1px solid #d5ba8288;border-radius:14px;padding:18px;color:#f2dfba}.card-reward>span{font-size:9px;letter-spacing:2px;display:block}.card-reward strong{display:block;font-size:20px;margin:10px 0}.card-reward>a{font-size:12px;color:#dcebe2}[hidden]{display:none!important}@media(max-width:650px){.garage-tools{right:20px;top:18px;gap:8px}.garage-tools>a{font-size:11px;padding:10px 13px}.garage-tools label{font-size:9px}.garage-tools select{max-width:123px}.card-reward{right:20px;top:125px;width:180px;padding:13px}.card-reward strong{font-size:16px}}
#rewardArt svg{display:block;width:100%;height:70px}.card-reward strong{margin-top:3px}@media(max-width:900px){.garage-copy{max-width:calc(100% - 285px)}.garage-copy h1{font-size:clamp(32px,5.2vw,58px)}}@media(max-width:650px){.garage-copy{max-width:calc(100% - 175px);left:20px;top:28px}.garage-copy h1{font-size:26px;line-height:1.1}.garage-copy .eyebrow{font-size:8px;letter-spacing:1px}.garage-copy>p:last-child{font-size:11px;line-height:1.4}.card-reward{top:130px;width:150px}#rewardArt svg{height:50px}}
.lookout-architecture{display:none;position:absolute;inset:0;pointer-events:none}[data-panorama=true] .lookout-architecture{display:block}.lookout-floor{position:absolute;inset:56% 0 0;background:linear-gradient(0deg,#172025 5%,#283338 45%,#536165 99%);border-top:5px solid #19262b;box-shadow:0 -2px 0 #c8bf9a90}.lookout-floor::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#bdc5c312 25%),linear-gradient(174deg,transparent 25%,#c9bfa610 26%,transparent 50%)}.lookout-roof{position:absolute;left:0;right:0;top:0;height:42px;background:linear-gradient(#111b20,#35434b);border-bottom:3px solid #bba77b;box-shadow:0 6px 16px #0006}.lookout-post{position:absolute;top:42px;bottom:44%;width:18px;background:linear-gradient(90deg,#18242a,#52626b,#1b2b34);box-shadow:5px 0 12px #0003}.lookout-post.left{left:3%}.lookout-post.right{right:3%}[data-panorama=true] .garage-photo{object-fit:cover;object-position:center 42%;height:100%;top:0}[data-panorama=true] .garage-car{z-index:1}[data-panorama=true] .garage-copy,[data-panorama=true] .garage-bottom{z-index:2}[data-panorama=true] .garage-shade{z-index:1;pointer-events:none}[data-panorama=true] .drive-shade{background:linear-gradient(#0a152e65 0%,#0a152e18 40%,transparent 65%,#111d29c9 100%)}@media(max-width:650px){.lookout-floor{top:52%}.lookout-post{bottom:48%}.lookout-roof{height:26px}.lookout-post{top:26px;width:11px}[data-panorama=true] .garage-car{bottom:33%;max-width:82%}}
[data-panorama=true] .garage-photo{height:56%;object-position:center 72%}[data-panorama=true] .garage-shade{background:linear-gradient(#0a152a99 0%,#0a152a22 30%,transparent 52%,#0b141a44 72%,#0b141ae8 100%)}@media(max-width:650px){[data-panorama=true] .garage-photo{height:52%}}
#rewardArt img{display:block;width:100%;height:70px;object-fit:contain}@media(max-width:650px){#rewardArt img{height:50px}}

.world-reward{grid-column:1 / -1;margin:0;color:#f3d5a6;font-size:13px;line-height:1.5}#worldProgress{color:#c5d8cc}

#earnedCardArt img,#earnedCardArt svg{width:100%;height:170px;object-fit:contain}#earnedCard a{color:#ecd1a8}#practiceTotal{color:#ebd6b2}#earlierMinutes{width:95px;padding:10px;background:#263537;color:#fff;border:1px solid #647274;border-radius:7px}.earlier-practice>p{font-size:12px;line-height:1.5;color:#c0ccca}
/* A bounded, visual garage replaces the long horizontal strip. */
.car-choices{overflow:visible;padding:0;display:block}.car-choices>.car-choice{font-size:13px;padding:12px 18px;min-height:44px;white-space:normal}#carPicker{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;box-sizing:border-box}#carPicker .dialog-head{margin-bottom:18px}.car-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.car-picker-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:138px;padding:12px 8px;border:1px solid #d6c09b55;border-radius:12px;background:#142024;color:#ede6da;font-size:13px;cursor:pointer}.car-picker-card[aria-pressed=true]{border:2px solid #dfc69f;background:#384039}.car-picker-card img,.car-picker-card svg{width:100%;height:85px;object-fit:contain;filter:drop-shadow(0 7px 5px #0007)}.car-picker-card:focus-visible{outline:3px solid #eed6ab;outline-offset:3px}.car-picker-pages{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.car-picker-pages button{min-height:44px}.car-picker-pages button:disabled{opacity:.35}.utility{flex-wrap:wrap}.utility>a{text-decoration:none}@media(max-width:520px){#carPicker{padding:18px}.car-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.car-picker-card{min-height:110px;padding:8px}.car-picker-card img,.car-picker-card svg{height:65px}.car-picker-pages{gap:6px}.car-picker-pages button{padding:10px}.utility{gap:8px}}

/* Public edition: clear hierarchy, touch targets and quieter settings. */
a:focus-visible,summary:focus-visible{outline:2px solid #e7c89d;outline-offset:5px}.text-button{border:0;border-bottom:1px solid #e0d5bd66;background:transparent;color:#e8dcc5;padding:10px 0;min-height:44px;font-size:12px;margin-top:8px}.garage-copy{max-width:55%;top:7%}.garage-copy .eyebrow{letter-spacing:2.5px}.garage-bottom{gap:12px 24px}.park-link{grid-column:2;text-align:center;padding:12px;color:#ecddc4;font-size:13px;min-height:44px;text-underline-offset:5px}.settings-intro,.settings-group p,#howTo>p{font-size:13px;line-height:1.65;color:#bdcec7}.settings-group{border-bottom:1px solid #a2b8ab33;padding:8px 0}.settings-group summary{padding:16px 0;cursor:pointer;font-size:15px;color:#f0dec0}.settings-group a,.settings-links a{color:#e6d0ac}.settings-group .start-options{border:0;margin:0;padding:0 0 15px}.settings-links{display:flex;gap:16px;justify-content:space-between;font-size:12px;line-height:1.6;margin:22px 0}.how-steps{list-style:none;padding:0;counter-reset:steps}.how-steps li{counter-increment:steps;position:relative;padding:18px 0 18px 42px;border-bottom:1px solid #ffffff18}.how-steps li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:20px;color:#ceb992;font-size:12px}.how-steps strong{display:block;font-size:15px;font-weight:500}.how-steps span{display:block;color:#b9ccc4;font-size:13px;line-height:1.6;margin-top:7px}[data-view=drive] .utility>a{display:none}
@media(max-width:650px){main{min-height:740px;height:100svh}.garage-copy{left:22px;top:26px;right:22px;max-width:calc(100% - 44px)}.garage-copy h1{font-size:38px;margin-bottom:8px}.garage-copy>p:last-of-type{font-size:13px}.garage-tools{top:166px;left:22px;right:22px;flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.garage-tools>a{padding:12px;font-size:11px}.garage-tools label{font-size:0}.garage-tools select{font-size:11px;max-width:155px;min-height:44px}.garage-bottom{left:22px;right:22px;bottom:88px;gap:10px}.garage-photo{top:21%;height:45%}.garage-car{top:30%;height:25%}.park-link{grid-column:1;padding:8px;min-height:36px}.card-reward{top:220px;right:22px;width:145px;background:#15282bf5}.utility{flex-wrap:nowrap;left:22px;right:22px;gap:6px;bottom:22px}.utility-divider{display:none}.quiet-button{padding:10px 8px;white-space:nowrap;font-size:11px}.garage-bottom>.primary{min-height:52px}#practiceTotal,#worldProgress{font-size:10px}.car-label{min-width:0}.car-name{font-size:14px}.car-detail{font-size:10px}#aboutCar{font-size:11px}.settings-links{flex-direction:column;gap:12px}.setting{flex-wrap:wrap}.setting span{max-width:100%}}
@media(max-height:550px) and (min-width:651px){.garage-copy{top:24px}.garage-copy h1{font-size:34px}.garage-bottom{bottom:75px;gap:6px}.garage-tools{top:22px}.card-reward{top:120px}.park-link{padding:4px;min-height:28px}.text-button{margin:0;padding:4px}}
@media(max-width:650px){.garage-copy .text-button{min-height:32px;padding:4px 0;margin-top:8px}.garage-tools{top:190px}.garage-photo{top:24%;height:42%}.card-reward{top:246px}}
