:root{--bg:#fff9ed;--panel:#fffdf8;--muted:#816c91;--lime:#7040ab;--purple:#ff922e;--line:#7040ab2c;color-scheme:light}body{color:#43215f;background:#fff9ed;font-family:Nunito,system-ui,sans-serif}button{font-family:Nunito,system-ui,sans-serif}.menu{background-color:#fff9ed}.menu.has-art{background-image:linear-gradient(90deg,#fff9edf7 0%,#fff9edee 28%,#fff9ed25 64%,#fff9ed00),linear-gradient(0deg,#fff9ed 0%,#fff9ed70 22%,transparent 60%),url('assets/race-keyart.webp')}.brand{display:flex;gap:15px;color:#7040ab}.brand-wordmark{display:block;flex:none;width:310px;height:40px;background-image:url('assets/dumka-kumka-logo-alpha.webp');background-size:contain;background-position:center;background-repeat:no-repeat}.brand-game{font:600 20px Fredoka,sans-serif;border-left:2px solid #d6b7e9;padding-left:15px;line-height:1.1;max-width:65px}.topright .edition{color:#43215f;background:#fff9eddb;padding:10px 15px;border-radius:30px;font-weight:900}.icon-btn{background:#fff9eddf;color:#7040ab;border-color:#7040ab30}.eyebrow{font-size:12px;font-weight:900;color:#7040ab;letter-spacing:1.5px}h1{font-family:Fredoka,system-ui,sans-serif;font-size:clamp(60px,6vw,87px);line-height:.98;letter-spacing:-2px;text-transform:none;font-weight:600;color:#63329a}h1 em{font-style:normal;color:#ef8523}.intro{max-width:590px;margin-top:155px}.subtitle{color:#70547b;font-size:18px;font-weight:700}.driver{background:#fffdf5e8;border:2px solid #e4d3f0;border-radius:18px;box-shadow:0 4px 0 #d9c7e6;color:#63329a;padding:11px;gap:10px}.driver.selected{background:#fffef8;border-color:#7949b5;box-shadow:0 4px 0 #7949b5}.driver b{font:600 21px Fredoka,sans-serif}.driver small{color:#7f6790;font-size:12px}.portrait{width:55px;height:55px;display:inline-block;flex:none;border-radius:50%;background-image:url('assets/joanna-poster.webp');background-repeat:no-repeat;background-size:285px auto;background-color:white;box-shadow:0 0 0 2px #e0c5f3}.portrait-kumka{background-position:-150px -25px}.portrait-dumka{background-position:-73px -5px;box-shadow:0 0 0 2px #ffc77f}.primary{color:white;background:#7643ae;border-radius:17px;box-shadow:0 5px 0 #472269;min-height:56px}.secondary{background:#fff9edf0;color:#7040ab;border:2px solid #c6a6e0;border-radius:17px;min-height:56px}.secondary span{border-color:#c6a6e0}.preferences{color:#70547b;font-weight:700}.preferences input{accent-color:#7040ab}.keys{color:#816c91}kbd{color:#70547b;border-color:#70547b44;background:#fff9ed80}.race-card{background:#fffaf1f0;border:2px solid #fff;border-radius:25px;box-shadow:0 7px 0 #d4b6e7,0 20px 60px #49226b25;color:#63329a;padding:24px;bottom:110px}.race-card h2{font:600 32px Fredoka,sans-serif;padding-right:20px}.race-card .eyebrow{color:#7541a6}.track-meta{color:#816c91}.card-bottom span{color:#816c91}.card-bottom b{color:#7040ab}#world-logo{float:right;width:86px;height:47px;object-fit:contain;background:#8850b6;border-radius:15px;margin:-8px -8px 10px 12px;padding:3px}.menu-footer{border-color:#c4a5d6;align-items:center;color:#7040ab;font-weight:900;bottom:20px;padding-top:15px}.channel-strip{display:flex;gap:12px}.channel-strip img{width:80px;height:35px;object-fit:contain;padding:3px 5px;border-radius:11px;background:#8351b2}.channel-strip img:nth-child(1){background:#e88a3b}.channel-strip img:nth-child(2){background:#73a347}.menu-footer>span:last-child{font-size:13px}dialog{color:#63329a;background:#fff9ed;border:3px solid #d3b2e8;border-radius:26px}dialog::backdrop{background:#43215fb8}dialog h2{font-family:Fredoka,system-ui,sans-serif;font-weight:600;font-size:36px}.dialog-note,.save-note{color:#816c91}.level{background:#f5eaff;border:2px solid #e0c6ef;border-radius:16px;color:#63329a}.level.current{border-color:#7643ae;background:#eee0fc}.level>span{font-family:Fredoka;color:#925dc4}.level b{font-size:14px}.level small{color:#816c91}.cup-row h3{font-size:14px}.cup-tracks{grid-template-columns:repeat(4,1fr)}.level .stars{color:#df811d;font-family:Nunito}.result-duo{display:flex;align-items:center;justify-content:center;gap:15px}.result-duo .portrait{width:80px;height:80px;background-size:415px auto}.result-duo .portrait-kumka{background-position:-219px -37px}.result-duo .portrait-dumka{background-position:-106px -7px}#result-medal{color:#ef9a26;font-size:70px}#result-text{color:#816c91}.result-stats b{color:#7040ab}.text-btn{color:#7040ab}#hud{color:#fff}.racing .icon-btn{background:#7040ab;box-shadow:0 3px 0 #41205f;color:#fff;border-color:#ddbbff}.position>b{color:#fff3af}.race-top{filter:drop-shadow(0 2px 3px #40205b90)}#driver-badge{position:absolute;left:30px;top:123px;display:flex;align-items:center;gap:10px;background:#7040abd9;border:2px solid #ebd9ff;border-radius:18px;padding:7px 13px 7px 7px;min-width:170px}#driver-badge .portrait{width:45px;height:45px;background-size:233px auto}#driver-badge .portrait-kumka{background-position:-123px -20px}#driver-badge .portrait-dumka{background-position:-59px -4px}#driver-badge b{font:600 23px Fredoka}#leaderboard{top:205px}#leaderboard li{background:#543072c9;border-radius:9px}#leaderboard li.me{background:#d3ec8e;color:#43215f}.speedbox .nitro i{background:#d4ec8d}.speedbox kbd{color:white}.race-bottom .secondary{background:#7040abc9;color:white;border-color:#e4cdff}.race-bottom .secondary span{border-color:#e4cdff}.race-bottom .speedbox>b{color:#fff3cf}.race-bottom .speedbox kbd{border-color:#fff7}#toast{background:#fffcf1f5;border:2px solid #b58ed5;color:#7040ab;border-radius:20px}#countdown{color:#fff0a8;text-shadow:0 6px 0 #7541a6,0 0 60px #e7d0fb}#touch button{background:#8151bccc;border:2px solid #ead7ff;color:#fff}#touch .gas{background:#c3e867ed;color:#43215f}#touch .boost{background:#f4a746ed;color:#43215f}
@media(max-width:1050px){.brand-wordmark{width:265px;height:35px}.brand-game{font-size:17px;max-width:60px}.intro{max-width:560px}.driver-picker{width:310px}h1{font-size:72px}.race-card{width:295px}.race-card h2{font-size:29px}#world-logo{width:73px;height:42px}}@media(max-width:700px){.topbar{background:linear-gradient(#fff9edf5,#fff9ed00);align-items:flex-start}.brand{gap:0;display:block}.brand-wordmark{width:215px;height:28px}.brand-game{font-size:14px;border:0;padding-left:7px;max-width:none;margin-top:3px}.topright{gap:6px}.topright .icon-btn{width:32px;height:32px}.menu.has-art{background-image:linear-gradient(0deg,#fff9ed 0%,#fff9ed10 65%,#fff9ed30),url('assets/race-keyart.webp');background-color:#fff9ed;background-position:right top}.intro{background:linear-gradient(0deg,#fff9ed 0%,#fff9ed 51%,#fff9ed00 96%);margin-top:0;padding-top:35vh;padding-bottom:185px;width:100%}h1{font-size:51px;line-height:1.02;letter-spacing:-1px}h1 br:first-of-type{display:initial}h1 br:last-of-type{display:initial}h1 em:before{content:none}.subtitle{font-size:14px}.driver-picker{width:100%}.driver{padding:9px 7px;gap:7px}.driver .portrait{width:43px;height:43px;background-size:223px auto}.driver .portrait-kumka{background-position:-118px -20px}.driver .portrait-dumka{background-position:-57px -4px}.driver b{font-size:17px}.driver small{font-size:10px}.race-card{width:88%;margin-top:-150px;margin-bottom:90px;bottom:auto;padding:18px}.race-card h2{font-size:27px}.menu-footer{bottom:15px}.channel-strip{gap:5px}.channel-strip img{width:57px;height:28px;border-radius:8px}.menu-footer>span:last-child{font-size:10px}#world-logo{width:75px;height:40px}.cup-tracks{grid-template-columns:repeat(2,1fr)}.cup-tracks .level:last-child{grid-column:auto;min-height:100px}#driver-badge{top:98px;left:14px;min-width:132px;padding:5px 8px 5px 5px;gap:6px}#driver-badge .portrait{width:34px;height:34px;background-size:176px auto}#driver-badge .portrait-kumka{background-position:-93px -16px}#driver-badge .portrait-dumka{background-position:-45px -3px}#driver-badge b{font-size:18px}#leaderboard{top:154px}#leaderboard li{font-size:10px;padding:5px 8px}#toast{top:33%;font-size:12px}.result-duo .portrait{width:70px;height:70px;background-size:362px auto}.result-duo .portrait-kumka{background-position:-191px -32px}.result-duo .portrait-dumka{background-position:-92px -6px}}
@media(max-height:540px) and (orientation:landscape){.intro{margin:100px 0 110px 5%;padding:0;width:54%;background:none}h1{font-size:42px}h1 br{display:none!important}.driver-picker{flex-direction:row;width:100%}.driver small{display:none}.driver .portrait{width:34px;height:34px;background-size:176px auto}.driver .portrait-kumka{background-position:-93px -16px}.driver .portrait-dumka{background-position:-45px -3px}.race-card{position:absolute;right:3%;bottom:92px;width:33%;margin:0;padding:16px}.race-card h2{font-size:24px}.menu.has-art{background-size:cover;background-position:center}.menu-footer{bottom:12px}.menu-footer>span:last-child{font-size:11px}#driver-badge{top:78px;left:16px;min-width:120px;padding:4px}#driver-badge b{font-size:17px}#driver-badge .portrait{display:none}#leaderboard{top:117px}#leaderboard li{padding:2px 8px}.topbar .brand-game{display:none}.channel-strip img{height:28px;width:64px}}

@media(max-width:700px) and (orientation:portrait){.menu-footer{position:relative;left:auto;right:auto;margin:0 6% 25px;bottom:auto}.race-card{margin-bottom:32px}}
@media(max-width:700px) and (orientation:portrait){.race-card{z-index:2}}@media(max-height:540px) and (orientation:landscape){.menu-footer{position:relative;left:auto;right:auto;bottom:auto;margin:0 4% 20px}.intro{margin-bottom:45px}}

/* Thumb controls retain independent held pointers and adapt to safe screen edges. */
.touch-help{display:none}.touch-ui .touch-help{display:block;font-size:13px;line-height:1.5;color:#70547b;font-weight:700;margin:14px 0 0}.touch-ui .keys{display:none}.touch-ui .speedbox kbd{display:none}.touch-ui #touch:not([hidden]){display:flex}.touch-ui #race-hint{display:none}#touch{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}#touch button.pressed{background:#fff5bc;color:#49266b;transform:translateY(3px);box-shadow:inset 0 3px 5px #43215f33}#touch>div{gap:8px}#touch button{width:clamp(46px,15.2vw,68px);flex-shrink:0}.touch-ui .race-bottom{bottom:132px}.touch-ui .race-top{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}
@media(max-width:360px){#touch{left:9px;right:9px}#touch>div{gap:5px}#touch button{width:49px;height:61px}#touch .gas{height:78px}#hud .race-top{gap:12px;left:12px;right:12px}.timing b,.laps b{font-size:22px}.position>b{font-size:52px}.race-top #pause{width:35px;height:35px}.race-bottom{left:12px;right:12px}}
@media(max-height:540px) and (orientation:landscape){.touch-ui #leaderboard{top:115px;width:112px;left:max(16px,env(safe-area-inset-left))}.touch-ui #leaderboard li{padding:3px 7px;margin-bottom:3px}.touch-ui #driver-badge{left:max(16px,env(safe-area-inset-left))}.touch-ui #touch{bottom:max(12px,env(safe-area-inset-bottom))}.touch-ui #touch button{width:clamp(52px,8vw,68px);height:53px}.touch-ui #touch .gas{height:69px}.touch-ui .race-bottom{bottom:97px!important;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}.touch-ui .speedbox{width:115px}.touch-ui .minimap{right:max(12px,env(safe-area-inset-right));top:82px;width:107px}.touch-ui #toast{top:20%;font-size:12px}.touch-ui #camera{min-height:34px;font-size:10px}.touch-ui .touch-help{font-size:12px}}

.difficulty-picker{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:7px 15px;margin:17px 0 19px}.difficulty-picker label{font-size:14px;font-weight:900;color:#7040ab}.difficulty-picker select{width:100%;min-height:43px;border:2px solid #b995d8;border-radius:13px;padding:7px 12px;background:#fffdf5;color:#63329a;font:900 15px Nunito,sans-serif}.difficulty-picker p{grid-column:1/-1;font-size:12px;line-height:1.4;color:#70547b;margin:0}.track-features{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.track-features span{font-size:10px;font-weight:900;border-radius:7px;background:#eadcf5;color:#674094;padding:4px 7px}.track-features span:nth-child(3){background:#d4f5fc}.level{min-height:126px}.level small{line-height:1.7;font-size:11px}.intro{margin-top:122px}h1{font-size:70px}.driver-picker{margin:20px 0 15px}.subtitle{margin:18px 0}.preferences{margin-top:17px}.race-card{bottom:110px}#race-mode{position:absolute;top:45px;right:95px;font-size:12px;font-weight:900;padding:7px 10px;border-radius:9px;background:#7040abd9;color:white}#race-condition{position:absolute;top:120px;left:50%;transform:translateX(-50%);max-width:350px;padding:11px 17px;border-radius:15px;font-size:15px;font-weight:900;color:#43215f;background:#fff6d5;border:2px solid #d2a355;text-align:center}#race-condition[data-type=ice]{background:#d5f5ffe8;border-color:#68cce7}#race-condition[data-type=penalty]{background:#ffdecf;border-color:#e47860}
@media(min-width:901px) and (max-height:820px){.intro{margin-top:105px;width:min(590px,50%);margin-bottom:110px}h1{font-size:55px;line-height:.98}.intro>.eyebrow{margin-bottom:14px}.subtitle{margin:12px 0}.driver-picker{margin:14px 0}.difficulty-picker{margin:12px 0 15px}.keys{margin-top:10px}.race-card{bottom:100px}}
@media(min-width:701px) and (max-width:1050px){.difficulty-picker{max-width:400px}.intro{margin-top:112px}h1{font-size:61px}.driver-picker{margin:14px 0}.race-card{bottom:100px}}
@media(max-width:700px){.intro{margin-top:0;padding-top:29vh}h1{font-size:44px}.difficulty-picker{grid-template-columns:1fr 155px;gap:6px 10px;margin:15px 0}.difficulty-picker label{font-size:13px}.difficulty-picker p{font-size:12px}.difficulty-picker select{font-size:14px;min-height:43px}.race-card{margin-top:-148px}.race-card .track-features{margin-bottom:0}.track-features span{font-size:10px}#race-mode{top:77px;right:16px;font-size:10px;padding:4px 7px}#race-condition{top:330px;font-size:12px;max-width:280px;width:max-content;padding:9px 12px}.touch-help{margin-bottom:12px}.level{min-height:128px}.level small{font-size:11px}}
@media(max-height:540px) and (orientation:landscape){.intro{margin-top:83px;padding-top:0}h1{font-size:36px}.difficulty-picker{grid-template-columns:1fr 140px;margin:12px 0}.difficulty-picker p{font-size:11px}.difficulty-picker select{min-height:37px}.race-card{bottom:72px}.track-features{gap:4px}.track-features span{font-size:9px}.race-card h2{font-size:23px}#race-mode{top:21px;right:75px;font-size:10px;padding:4px 6px}#race-condition{top:78px;max-width:280px;width:max-content;font-size:12px;padding:8px 11px}.touch-ui #toast{top:42%;font-size:12px}}

@media(max-width:700px) and (orientation:portrait){.intro{padding-bottom:26px}.race-card{margin:0 6% 30px;bottom:auto}}

/* Clear route briefing and warnings that remain readable while driving. */
.difficulty-picker{background:#fff9efdb;border:2px solid #ddc5ef;border-radius:16px;padding:11px 13px}.difficulty-picker label{font-size:15px}.difficulty-picker p{font-size:13px;font-weight:800}.race-card{width:380px}.card-bottom{display:flex;flex-direction:column;align-items:stretch;gap:8px}.card-bottom #menu-map{width:100%;height:108px}.card-bottom #best{font-size:12px;text-align:right}.card-bottom #best br{display:none}.card-bottom #best b{margin-left:6px}.track-features span{font-size:11px}.new-routes{display:flex;align-items:center;gap:8px;margin-top:15px;padding-top:12px;border-top:1px solid #d8c5e4}.new-routes>span{font-size:10px;font-weight:900;letter-spacing:1px;margin-right:auto}.new-routes button{font:600 23px Fredoka;background:#7040ab;color:#fff;border:0;border-radius:10px;padding:8px 13px;cursor:pointer;min-height:44px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
#brief-dialog{width:min(860px,94vw);max-height:94dvh;padding:27px;overflow-y:auto}#brief-dialog h2{font-size:32px}.brief-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;margin:20px 0}.route-preview{background:#f0e5f8;border-radius:17px;padding:16px}.brief-route{display:flex;flex-direction:column;gap:5px}.brief-route>b{font:600 24px Fredoka;color:#7040ab}.brief-route>span{font-size:12px;font-weight:800}.route-preview canvas{width:100%;height:164px;display:block}.map-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:11px;font-weight:900}.legend-ice{color:#007996}.legend-limit{color:#996009}.legend-obstacle{color:#bc4417}#brief-route-note{font-size:13px;line-height:1.45;margin:12px 0 0}.brief-rivals{padding:17px 14px;background:#7040ab;color:#fff;border-radius:17px}.brief-rivals>span{font-size:11px;font-weight:900;letter-spacing:1px}.brief-rivals h3{font:600 33px Fredoka;margin:8px 0 14px}.brief-rivals p{font-size:13px;line-height:1.5;margin:9px 0}.brief-rivals>b{font-size:14px}.brief-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.brief-rules article{display:flex;gap:10px;background:#fff0d1;border:1px solid #eacb8e;border-radius:15px;padding:13px 11px}.brief-rules article[data-type=ice]{background:#ddf5fa;border-color:#9bcfda}.brief-rules article[data-type=obstacle]{background:#ffe7d9;border-color:#e8b695}.brief-rules article[data-type=dry]{background:#eaf1d9;border-color:#c4d498}.rule-icon{display:flex;align-items:center;justify-content:center;flex:none;width:37px;height:37px;font-size:27px;font-weight:900}.brief-rules article[data-type=limit] .rule-icon{border:3px solid #dc534f;border-radius:50%;background:#fff;font-size:15px}.brief-rules h3{font-size:11px;line-height:1.45;margin:0 0 7px}.brief-rules p{font-size:12px;line-height:1.5;margin:0}.brief-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:23px}.brief-actions p{font-size:12px;line-height:1.6;margin:0}.brief-actions p span{display:block}.brief-actions .primary{min-width:235px;margin:0}#brief-go:focus-visible{outline:3px solid #ee9e37;outline-offset:4px}
#race-condition{display:flex;align-items:center;gap:13px;text-align:left;max-width:none;width:470px;padding:13px 16px;border-width:3px;box-shadow:0 6px 20px #25103b33;background:#fff5d9f5}#race-condition[hidden]{display:none}#warning-icon{font-size:31px;flex:none}#warning-title{display:block;font:600 23px Fredoka}#warning-detail{margin:4px 0 0;font-size:13px;font-weight:800;line-height:1.35}#warning-distance{font:600 24px Fredoka;white-space:nowrap;margin-left:auto}#race-condition[data-type=obstacle]{background:#ffe4ccf5;border-color:#e9904e}#race-condition[data-type=ice]{background:#d5f5fff5}#race-condition[data-type=penalty]{background:#ffddcff5}#toast{top:35%}
@media(min-width:701px) and (max-width:1100px){.race-card{width:310px;padding:19px}.race-card h2{font-size:26px}.intro{max-width:49%}.driver-picker{width:100%}.driver small{font-size:10px}.difficulty-picker{grid-template-columns:1fr 130px}}
@media(max-width:700px){.difficulty-picker{padding:9px 10px;grid-template-columns:1fr 132px}.difficulty-picker label{font-size:13px}.difficulty-picker p{font-size:12px}.race-card{width:88%}.race-card .card-bottom{display:flex;margin-top:14px}.race-card .track-features{margin-bottom:10px}.card-bottom #menu-map{height:100px}.track-features span{font-size:11px}#brief-dialog{padding:18px;width:94vw}#brief-dialog h2{font-size:25px}#brief-dialog .eyebrow{font-size:10px}.brief-layout{grid-template-columns:1fr;gap:11px;margin:14px 0}.route-preview{padding:12px}.route-preview canvas{height:125px}.brief-route>b{font-size:22px}.brief-rivals{padding:12px}.brief-rivals h3{font-size:25px;margin:4px 0}.brief-rivals p{margin:5px 0;font-size:12px}.brief-rivals>p:last-child{display:none}.brief-rules{grid-template-columns:1fr;gap:8px}.brief-rules article{padding:10px;gap:12px}.brief-rules h3{font-size:11px;margin-bottom:3px}.brief-rules p{font-size:12px}.brief-actions{position:sticky;bottom:-18px;background:#fff9ed;box-shadow:0 -8px 12px #fff9edeb;display:block;margin:14px -4px -4px;padding:12px 4px}.brief-actions p{display:none}.brief-actions .primary{width:100%;min-height:51px}.map-legend{gap:9px;font-size:10px}#race-condition{top:319px;width:calc(100% - 28px);max-width:410px;padding:10px;gap:8px}#warning-title{font-size:19px}#warning-detail{font-size:11px}#warning-icon{font-size:25px}#warning-distance{font-size:20px}.touch-ui #toast{top:44%;max-width:85%}}
@media(max-height:540px) and (orientation:landscape){.race-card{position:relative;float:right;margin:90px 3% 30px 0;bottom:auto;width:36%;padding:16px}.intro{float:left;width:54%;max-width:54%;margin-bottom:30px}.menu-footer{clear:both}.race-card h2{font-size:25px}.card-bottom #menu-map{height:86px}.new-routes{margin-top:8px;padding-top:8px}.difficulty-picker{padding:8px}.difficulty-picker p{font-size:11px}#brief-dialog{max-height:94dvh;padding:18px}.brief-layout{grid-template-columns:1.7fr 1fr}.brief-rules{grid-template-columns:repeat(3,1fr)}.brief-actions{position:sticky;bottom:-18px;background:#fff9ed;padding:12px 0;margin-top:12px;box-shadow:0 -8px 12px #fff9edeb}.brief-actions .primary{min-height:46px}#race-condition{top:74px;width:420px;padding:8px 12px;gap:10px}#warning-title{font-size:18px}#warning-detail{font-size:11px}#warning-icon{font-size:22px}#warning-distance{font-size:20px}.touch-ui #toast{top:42%}}

@media(max-height:540px) and (orientation:landscape){.intro{width:51%;max-width:51%}}
@media(max-width:700px){.brief-rivals h3{display:inline-block;margin:0 0 0 8px;font-size:23px}.brief-rivals>span{font-size:9px}.brief-rivals p{margin:7px 0}.route-preview canvas{height:100px}}

/* Familiar shop friends, gentle repairs and small goals. */
.crew-strip{display:flex;align-items:center;gap:10px;background:#f6ebfbdc;border:1px solid #d5b8e9;border-radius:15px;color:#643393;padding:8px 11px;width:100%;margin-top:14px;text-align:left}.crew-strip>strong{margin-left:auto;font-size:25px}.crew-strip b{display:block;font-size:14px}.crew-strip small{display:block;font-size:12px;margin-top:3px}#crew-faces{display:flex;flex:none}#crew-faces img{width:36px;height:46px;object-fit:contain;margin-right:-5px}.crew-strip:hover{background:#ebdbf7}.brief-friends{display:flex;gap:9px;align-items:center;margin:12px 0}.brief-friends>span{font-size:11px;font-weight:900;letter-spacing:1px;margin-right:auto}.brief-friends img{width:40px;height:52px;object-fit:contain}.brief-mission{font-size:14px;line-height:1.5;background:#f0f5d8;padding:11px 14px;border-radius:12px;margin:12px 0}.brief-rules{grid-template-columns:repeat(2,1fr)}.brief-rules article[data-type=care]{background:#f2e6fc;border-color:#ceb0e3}.brief-rules h3{font-size:12px}.brief-rules p{font-size:13px}.brief-rules .rule-icon{color:#8051ae}#crew-dialog{width:min(800px,94vw)}#crew-dialog>p{font-size:16px;line-height:1.5}.karolek-intro{display:flex;align-items:center;gap:20px;padding:15px 20px;border-radius:20px;background:#ebe2f7}.karolek-intro img{height:130px;width:95px;object-fit:contain}.karolek-intro p{font-size:15px;line-height:1.55}.karolek-intro b{font-size:17px}#crew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}#crew-grid article{background:#f6ecff;border:1px solid #ddc5ed;border-radius:17px;text-align:center;padding:14px 9px}#crew-grid img{width:100%;height:120px;object-fit:contain}#crew-grid b{display:block;font:600 20px Fredoka;margin-top:8px}#crew-grid small{font-size:12px}#crew-grid p{font-size:12px;line-height:1.45;margin:8px 0 0}#crew-grid .waiting{background:#fffaf1}#crew-grid .waiting img{opacity:.42;filter:saturate(.5)}#result-friend{display:flex;align-items:center;text-align:left;background:#f0e5fa;border-radius:16px;padding:12px;gap:15px;margin-top:16px}#result-friend img{height:87px;width:65px;object-fit:contain}#result-friend b{display:block;font-size:16px}#result-friend small{display:block;font-size:13px;line-height:1.4;margin-top:7px}
#care-hud{position:absolute;top:91px;left:50%;transform:translateX(-50%);display:flex;gap:8px;width:470px;color:#43215f}#care-hud>div{border-radius:12px;background:#fff9eeed;border:1px solid #dfc7ed;padding:8px 12px}#car-health{width:50%}#mission-hud{width:50%}#care-hud span{display:block;font-size:10px;font-weight:900;letter-spacing:.7px}#hearts{display:flex;gap:9px;font-size:23px;line-height:1.2}#hearts i{font-style:normal;color:#a15dc4}#hearts .empty{color:#d2c5d7}#care-note{display:block;font-size:10px;font-weight:800;margin-top:2px}#mission-title{display:block;font-size:13px;line-height:1.3;margin:5px 0}.mission-meter,.pit-meter{height:5px;border-radius:10px;overflow:hidden;background:#dccbe8}.mission-meter i,.pit-meter i{display:block;height:100%;background:#9760bd;transition:width .12s}#mission-hud.complete{background:#e6f1bfe8;border-color:#aabd6e}#mission-hud.complete .mission-meter i{background:#6fa138}#race-condition{top:182px}#warning-icon img{height:58px;width:42px;object-fit:contain}#toast{display:flex;align-items:center;gap:13px;text-align:left;white-space:normal;width:370px;padding:12px 16px;border-radius:22px;top:34%;box-shadow:0 7px 20px #35164722}#toast img{width:57px;height:80px;object-fit:contain;flex:none}#toast b{display:block;font:600 20px Fredoka;color:#7143a4;margin-bottom:5px}#toast span{display:block;font-size:14px;line-height:1.35}#toast.visible img{animation:friend-hop .5s ease-out}#pit-overlay{position:absolute;z-index:9;top:45%;left:50%;transform:translate(-50%,-50%);width:540px;display:flex;align-items:center;gap:22px;background:#fffaf0f7;color:#623494;border:3px solid #bb91d8;border-radius:28px;padding:24px;box-shadow:0 15px 60px #34204244;pointer-events:none}#pit-overlay>img{width:135px;height:190px;object-fit:contain;animation:friend-hop .9s ease-in-out infinite alternate}#pit-overlay span{font-size:11px;font-weight:900;letter-spacing:1px}#pit-overlay h2{font:600 28px Fredoka;margin:8px 0}#pit-overlay p{font-size:16px;line-height:1.45;margin:10px 0}#pit-count{font-size:18px}.pit-meter{margin-top:10px;height:7px}@keyframes friend-hop{0%{transform:translateY(5px) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}100%{transform:translateY(0)}}
@media(min-width:1101px){.intro{margin-bottom:130px}.menu-footer{position:relative;left:auto;right:auto;bottom:auto;margin:0 4% 22px}.intro{margin-bottom:46px}}
@media(max-width:700px){.crew-strip{margin-top:12px}.crew-strip b{font-size:13px}.crew-strip small{font-size:11px}#crew-faces img{width:30px;height:41px}.brief-rules{grid-template-columns:1fr}.brief-friends{gap:6px}.brief-friends img{width:31px;height:43px}.brief-friends>span{font-size:9px;max-width:65px;line-height:1.5}.brief-mission{font-size:13px}.brief-rules p{font-size:13px}#crew-grid{grid-template-columns:repeat(2,1fr);gap:9px}#crew-grid img{height:110px}.karolek-intro{padding:12px;gap:12px}.karolek-intro img{width:70px;height:105px}.karolek-intro p{font-size:13px}.karolek-intro b{font-size:14px}#crew-dialog h2{font-size:28px}#care-hud{top:184px;right:14px;left:auto;transform:none;display:block;width:145px}#care-hud>div{width:100%;padding:6px 8px}#car-health{margin-bottom:5px}#care-hud span{font-size:9px}#care-note{font-size:9px;line-height:1.2}#hearts{font-size:21px}#mission-title{font-size:12px;margin:4px 0}#race-condition{top:327px}#toast{width:calc(100% - 28px);gap:10px;padding:10px 13px;max-width:380px}#toast img{width:46px;height:65px}#toast b{font-size:17px}#toast span{font-size:13px}#pit-overlay{width:calc(100% - 28px);padding:16px;gap:12px;top:44%}#pit-overlay>img{width:82px;height:145px}#pit-overlay h2{font-size:22px}#pit-overlay p{font-size:13px}#pit-overlay span{font-size:9px}#pit-count{font-size:16px}}
@media(max-height:540px) and (orientation:landscape){#care-hud{top:9px;right:75px;left:auto;transform:none;display:flex;width:315px;gap:5px}#care-hud>div{width:50%;padding:5px 8px}#care-note{font-size:8px}#hearts{font-size:19px;line-height:1}#mission-title{font-size:11px;margin:3px 0}#race-mode{top:65px;right:16px}#race-condition{top:85px;width:420px}#toast{top:44%;width:320px;padding:8px 12px;gap:10px}#toast img{height:54px;width:39px}#toast b{font-size:16px;margin:0 0 3px}#toast span{font-size:12px}#pit-overlay{width:420px;top:48%;padding:15px;gap:20px}#pit-overlay>img{width:94px;height:135px}#pit-overlay h2{font-size:23px}#pit-overlay p{font-size:14px}.brief-rules{grid-template-columns:repeat(2,1fr)}.crew-strip{padding:6px 9px}.crew-strip b{font-size:12px}}
@media(max-width:700px) and (orientation:landscape){.timing{display:none}#care-hud{right:18px;width:290px}#race-mode{top:65px}}
@media(prefers-reduced-motion:reduce){#toast.visible img,#pit-overlay>img{animation:none}.mission-meter i,.pit-meter i{transition:none}}
#pit-overlay{background:#fffaf0}#care-hud>div{background:#fff9eef5}
@media(max-width:360px) and (orientation:portrait){.intro{padding-top:24vh}h1{font-size:38px}.subtitle{font-size:13px;margin:14px 0}.driver-picker{margin:15px 0}.start-row .primary{font-size:14px;padding:0 13px;white-space:nowrap}.start-row .secondary{font-size:11px;padding:0 12px}}
