*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#b6e5ed;color:#fff;font-family:Bungee,sans-serif}button,a{font:inherit}button{cursor:pointer;color:#fff}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}[hidden]{display:none!important}#game{display:block;width:100%;height:100%;touch-action:none;outline:none}.topbar{position:fixed;inset:max(24px,env(safe-area-inset-top)) 28px auto;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.crystals,.round,.speed{background:linear-gradient(145deg,#174c6199,#1e747955);border:1.5px solid #83fff4;box-shadow:0 0 0 4px #68f5ef15,inset 0 0 18px #55f8f322,0 0 18px #31cbd030;backdrop-filter:blur(8px)}.crystals{display:flex;gap:9px;align-items:center;border-radius:35px;padding:7px 20px 7px 13px;text-shadow:2px 2px #1e4d57}.crystals svg{width:23px;height:32px;filter:drop-shadow(0 0 6px #74fff1)}.crystals strong{font-size:38px;font-weight:400}.crystals span{font-size:23px;color:#c7efed}.round{pointer-events:auto;border-radius:50%;width:54px;height:54px;display:grid;place-items:center}.round svg{width:26px;height:26px;stroke:#e7fffb;stroke-width:4;fill:none}.intro{position:fixed;top:50%;left:8%;transform:translateY(-45%);text-shadow:2px 3px 0 #264a5c;max-width:460px}.intro:before{content:'';position:absolute;inset:-45px -65px;background:radial-gradient(ellipse,#154d697d,transparent 70%);z-index:-1;pointer-events:none}.eyebrow{font-size:19px;letter-spacing:3px;color:#d6fff6}.intro h1{font-size:clamp(84px,9vw,145px);font-weight:400;line-height:.78;letter-spacing:1px;margin:20px 0 24px;-webkit-text-stroke:1px #244c60;paint-order:stroke fill;text-shadow:4px 5px 0 #244c60,0 0 20px #226a6a66}.intro em{font-style:normal;color:#fff}.intro p{font-size:27px;line-height:1.05;letter-spacing:.4px;margin-bottom:26px}.primary{background:#155a65dc;border:2px solid #8dfff3;box-shadow:4px 4px 0 #17475c,0 0 20px #68e9df33;border-radius:8px;padding:13px 24px;min-width:230px;display:flex;align-items:center;justify-content:space-between;gap:28px;font-size:29px;transition:background .15s}.primary:hover{background:#237b7e}.primary:disabled{opacity:.6;cursor:wait}.intro small{display:block;font-size:18px;line-height:1.2;color:#f2fffa;margin-top:19px}.intro a{display:inline-block;color:#e0fff8;font-size:17px;margin-top:22px;text-underline-offset:4px}.speed{position:fixed;bottom:max(27px,env(safe-area-inset-bottom));left:28px;width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#c6fff5;text-shadow:0 0 9px #4dfce899}.speed:before{content:'';position:absolute;inset:-8px;border-radius:50%;border:3px dashed #79fff5aa;clip-path:polygon(0 0,100% 0,100% 75%,0 75%);transform:rotate(-30deg)}.speed strong{font-size:47px;font-weight:400;line-height:.9}.speed span{font-size:17px;letter-spacing:2px}#toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,15px);background:#174e65b8;border:1px solid #9affef99;border-radius:25px;padding:9px 20px;font-size:21px;white-space:nowrap;opacity:0;transition:.25s;pointer-events:none;text-shadow:1px 1px #153b50}#toast.show{opacity:1;transform:translate(-50%,0)}#touch-ring{position:fixed;display:none;width:42px;height:42px;transform:translate(-50%,-50%);border:1px solid #b5fff19c;border-radius:50%;pointer-events:none;background:#a3fff114}#loading{position:fixed;bottom:22px;right:24px;font-size:20px;color:#174e65}.modal{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#193a5366;backdrop-filter:none}.modal-card{background:linear-gradient(145deg,#164d64f2,#126a70ee);border:1px solid #9affef;border-radius:20px;padding:36px;max-width:420px;text-align:center;box-shadow:0 0 50px #33cbd444}.modal-card h2{font-weight:400;font-size:56px;margin:18px 0}.modal-card p{font-size:25px;line-height:1.1}.modal-card .primary{width:100%;justify-content:center}.secondary{font-size:23px;background:none;border:0;text-decoration:underline;text-underline-offset:5px;margin-top:24px;padding:4px 12px}@media(max-width:699px){.topbar{inset:max(19px,env(safe-area-inset-top)) 20px auto}.crystals{padding:5px 14px 5px 10px}.crystals strong{font-size:33px}.round{width:48px;height:48px}.intro{left:7%;top:auto;bottom:9%;transform:none}.intro h1{font-size:90px;line-height:.8}.intro p{font-size:24px}.intro .eyebrow{font-size:16px}.intro small{font-size:17px}.intro a{font-size:16px;margin-top:16px}.speed{width:78px;height:78px;left:24px;bottom:29px}.speed strong{font-size:40px}.speed span{font-size:14px}#toast{bottom:130px;font-size:18px;max-width:90vw;white-space:normal;text-align:center}.modal-card{padding:28px}.modal-card h2{font-size:48px}}
@media(max-height:550px) and (min-width:700px){.intro{top:50%;transform:translateY(-50%);left:8%}.intro h1{font-size:68px;margin:12px 0;line-height:.78}.intro p{display:none}.intro .eyebrow{font-size:15px}.intro small{font-size:15px;margin-top:12px}.intro a{margin-top:10px}.intro .primary{padding:9px 20px;font-size:25px}}
.race-status{position:fixed;left:50%;top:max(24px,env(safe-area-inset-top));transform:translateX(-50%);width:122px;text-align:center;text-shadow:2px 2px #234957;pointer-events:none}.race-status>div:first-child{line-height:.9}.race-status strong{font-size:38px;font-weight:400}.race-status span{font-size:21px;color:#c9fff2;margin-left:5px}.race-status time{display:block;font-size:24px;margin-top:5px;font-variant-numeric:tabular-nums}.race-progress-track{height:3px;background:#164d6166;border-radius:3px;margin:7px 8px}.race-progress-track i{display:block;height:100%;width:0;background:#9dfff0;border-radius:3px}.race-status small{color:#a8fff0;display:block;min-height:19px;letter-spacing:2px;font-size:17px}.race-status small.slowed{color:#ffcb8c}.countdown{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;pointer-events:none;text-shadow:4px 5px #234957}.countdown strong{font-size:150px;line-height:.9;font-weight:400;-webkit-text-stroke:1px #234957;paint-order:stroke fill}.countdown span{font-size:24px;letter-spacing:4px;color:#d2fff3;margin-top:12px}@media(max-width:699px){.race-status{width:97px;top:max(22px,env(safe-area-inset-top))}.race-status strong{font-size:30px}.race-status span{font-size:18px;margin-left:3px}.race-status time{font-size:20px}.race-status small{font-size:14px;letter-spacing:1px}.countdown strong{font-size:125px}.countdown span{font-size:18px}.intro .eyebrow{letter-spacing:1.5px}}

.garage{position:fixed;inset:0;display:flex;align-items:center;justify-content:flex-end;padding:28px 6%;pointer-events:none;background:linear-gradient(90deg,transparent 35%,#193a5333)}.garage-card{pointer-events:auto;width:350px;padding:26px;background:#164d64ed;border:1px solid #9affef;border-radius:20px;box-shadow:0 0 35px #153b5044}.garage h2{font-size:46px;font-weight:400;margin:10px 0 18px}.garage fieldset{border:0;padding:0;margin:18px 0}.garage legend{font-size:24px;margin-bottom:10px}.color-options{display:flex;gap:9px}.color-options button{width:48px;height:48px;border-radius:50%;border:3px solid #ffffff55;background:var(--swatch);position:relative;box-shadow:0 3px 0 #133e55}.color-options button[aria-pressed="true"]{border-color:white;outline:2px solid #91fff2;outline-offset:3px}.color-options button.floral:after{content:'✿';color:#fff8dc;font:32px Georgia,serif;position:absolute;inset:0;display:grid;place-items:center}.garage fieldset p{font-size:19px;min-height:20px;margin:9px 0 0;color:#d8fff7}.garage .primary{width:100%;min-width:0;justify-content:center;font-size:27px}.garage .secondary{display:block;margin:15px auto 10px}.garage small{display:block;text-align:center;font-size:15px;color:#c6eae4}@media(max-width:699px){.garage{align-items:flex-end;justify-content:center;padding:0 12px max(12px,env(safe-area-inset-bottom));background:linear-gradient(transparent 40%,#163f5466)}.garage-card{width:min(100%,390px);padding:18px 22px}.garage h2{font-size:36px;margin:5px 0 10px}.garage .eyebrow{font-size:15px}.garage fieldset{margin:12px 0}.garage legend{font-size:21px;margin-bottom:7px}.color-options{justify-content:space-between}.color-options button{width:43px;height:43px}.garage fieldset p{font-size:17px;margin-top:7px}.garage .secondary{margin:10px auto 6px}.garage .primary{font-size:25px;padding:10px}.garage small{font-size:14px}}

.in-garage .topbar{display:none}.garage-card{max-height:calc(100dvh - 24px);overflow:auto}

@media(max-width:899px),(orientation:portrait){.garage{align-items:flex-end;justify-content:center;padding:0 12px max(12px,env(safe-area-inset-bottom));background:none}.garage-card{width:min(100%,440px);padding:16px 20px;max-height:45dvh}.garage h2,.garage .eyebrow,.garage small{display:none}.garage fieldset{margin:0 0 12px}.garage legend{font-size:23px;margin-bottom:9px}.color-options{justify-content:space-between}.color-options button{width:46px;height:46px}.garage fieldset p{font-size:18px;min-height:18px;margin:9px 0 0}.garage .primary{font-size:25px;padding:10px;min-height:48px}.garage .secondary{margin:12px auto 0;font-size:21px;padding:3px 12px}}

.garage-navigation{display:flex;justify-content:center;align-items:center;gap:24px}.garage-navigation .secondary{margin:12px 0 8px}.modal-card #pause-home{display:block;margin:16px auto 0}

.in-garage{background:#080f1c}.in-garage .garage{background:none}.garage-card{background:#101c30f5;border-color:#485469}.race-status .points{display:block;font-size:22px;color:white;margin-bottom:5px}

.musubi-icon{display:inline-block;width:36px;height:29px;object-fit:contain;flex:none;vertical-align:middle}.garage .primary,#resume{gap:14px}

.color-options{width:296px;max-width:100%;height:48px;gap:14px;justify-content:flex-start}.color-options button{width:48px;height:48px;flex:0 0 48px;border:0;background:transparent;box-shadow:none;padding:0}.color-options button img{display:block}.color-options button[aria-pressed="true"]{border:0;outline:2px solid #9affef;outline-offset:4px}.color-options button.floral:after{content:none}#bike-options{background:url('assets/bike-swatches.svg') left top / 296px 48px no-repeat}.garage legend{font-size:26px}.garage-card{background:#080f1cf2}.garage fieldset p{color:white}.garage fieldset{margin-bottom:22px}

.garage-card,.modal-card{border:0}

/* Glass surface from the user's Figma crystal-counter component. */
.garage-card,.modal-card{background:rgba(255,255,255,.01);border:0;box-shadow:0 2px 8px rgba(0,0,0,.6);backdrop-filter:blur(24px) brightness(.5)}
.crystals{background:rgba(255,255,255,.01);box-shadow:0 2px 8px rgba(0,0,0,.6);border-color:rgba(255,255,255,.16);backdrop-filter:blur(16px);text-shadow:0 0 6px rgba(204,229,255,.6)}
.crystals img{display:block;width:20px;height:32px;object-fit:contain;filter:drop-shadow(0 0 6px #74fff1)}

/* Game typography. */
body,button,a,input{font-weight:400;font-style:normal}
.intro h1{font-size:clamp(64px,7vw,105px);line-height:1.02;letter-spacing:-2px;-webkit-text-stroke:0;text-shadow:3px 4px 0 #244c60}
.intro p{font-size:20px;line-height:1.45}.intro .eyebrow{font-size:14px;letter-spacing:1px}.intro small{font-size:13px;line-height:1.6}.intro a{font-size:14px}
.primary,.garage .primary{font-size:20px;gap:14px}.garage h2{font-size:32px;line-height:1.25}.garage legend{font-size:20px}.garage fieldset p{font-size:15px}.garage small{font-size:11px}.secondary,.garage .secondary{font-size:17px}
.modal-card h2{font-size:32px;line-height:1.3}.modal-card p{font-size:17px;line-height:1.55}.modal-card .eyebrow{font-size:12px;letter-spacing:1px}
.crystals strong{font-size:29px}.speed strong{font-size:34px}.speed span{font-size:12px;letter-spacing:1px}.race-status time{font-size:18px}.race-status .points{font-size:16px}.race-status small{font-size:12px;letter-spacing:0}.countdown strong{font-size:110px}.countdown span{font-size:17px}
@media(max-width:699px){.intro h1{font-size:clamp(48px,12vw,72px);letter-spacing:-1px}.intro p{font-size:16px;line-height:1.45}.intro .eyebrow{font-size:11px;letter-spacing:0}.intro small{font-size:11px}.intro a{font-size:12px}.intro .primary{font-size:20px}.crystals strong{font-size:25px}.speed strong{font-size:28px}.speed span{font-size:10px}.race-status time{font-size:14px}.race-status .points{font-size:13px}.race-status small{font-size:10px}.garage legend{font-size:19px}.garage .primary{font-size:18px}.garage .secondary{font-size:15px}.modal-card{width:100%;padding:24px}.modal-card h2{font-size:28px}.modal-card p{font-size:15px}}
@media(max-height:550px) and (min-width:700px){.intro h1{font-size:56px}.intro small{font-size:11px}.intro .eyebrow{font-size:12px}.intro .primary{font-size:19px}}

/* Shared filled glass cards, without perimeter strokes. */
.garage-card,.modal-card,.crystals,.speed,.round{background:rgba(255,255,255,.06);border:0;box-shadow:0 2px 8px rgba(0,0,0,.6);backdrop-filter:blur(24px) brightness(.65)}
.speed:before{display:none}
.crystal-art{display:block;position:relative;width:20px;height:30px;overflow:hidden;flex:none}
.crystals .crystal-art img{position:absolute;width:42px;height:42px;max-width:none;left:-12px;top:-6px;object-fit:contain;filter:none}

/* Main instructions replace the longer welcome description. */
.intro{max-width:min(560px,86vw)}.intro p{font-size:18px;line-height:1.6}@media(max-width:699px){.intro p{font-size:14px;line-height:1.6}}

@font-face{font-family:Bungee;src:url('assets/Bungee-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
/* Updated Figma actions: black surfaces and cyan gradient main action. */
.primary,.garage .primary{background:#000;border:1px solid rgba(255,255,255,.21);border-radius:10px;box-shadow:none;color:#fff;justify-content:center;min-height:56px;font-size:18px;line-height:1.4;text-shadow:none}
.primary:hover{background:#10212c;border-color:#65f6e8}
#start,#again{background:linear-gradient(180deg,#40fff2,#1ab2e5);border:0;color:#071923;box-shadow:0 4px 6px rgba(0,0,0,.15)}
#start:hover,#again:hover{filter:brightness(1.08)}
.modal-card .secondary{display:block;width:100%;min-height:56px;margin:18px 0 0;background:#000;border:1px solid rgba(255,255,255,.21);border-radius:10px;text-decoration:none;font-size:17px}
.garage-card,.modal-card{border-radius:24px}.garage h2{font-size:30px}.garage legend{font-size:18px}.garage fieldset p{font-size:14px}.garage .eyebrow{font-size:12px}.garage-navigation{gap:16px}
.intro h1{font-size:clamp(60px,6.5vw,96px);line-height:1.15;letter-spacing:0}.intro p{font-size:14px;line-height:1.7;letter-spacing:0}.intro .eyebrow{font-size:11px}.intro a{font-size:12px}
.crystals{padding:7px 15px 7px 11px;gap:8px}.crystals strong{font-size:24px;text-shadow:none}.crystals img{filter:none}.crystals .crystal-art img{filter:none}.crystal-art{font-size:0}
.speed strong{font-size:30px}.speed span{font-size:11px}.race-status .points{font-size:14px}.race-status time{font-size:15px}.countdown strong{font-family:Bungee,sans-serif}
@media(max-width:699px){.intro h1{font-size:clamp(42px,11vw,64px)}.intro p{font-size:11px;line-height:1.8}.intro .eyebrow{font-size:9px}.intro a{font-size:10px}.primary,.garage .primary{font-size:16px;min-height:50px}.garage legend{font-size:16px}.garage fieldset p{font-size:12px}.garage .secondary{font-size:13px}.crystals strong{font-size:22px}.race-status .points{font-size:11px}.race-status time{font-size:12px}.modal-card h2{font-size:25px}}

/* Figma primary action shared by start, continue, resume and replay. */
.primary,.garage .primary,#start,#again{background:linear-gradient(180deg,#40fff2,#1ab2e5);border:0;color:#071923;box-shadow:0 4px 6px rgba(0,0,0,.15);text-shadow:none;border-radius:10px}
.primary:hover,.garage .primary:hover,#start:hover,#again:hover{background:linear-gradient(180deg,#40fff2,#1ab2e5);filter:brightness(1.08)}

/* Three chicken lives and Figma's blue distance milestone bar. */
.lives{position:fixed;top:30px;left:50%;transform:translateX(-50%);display:flex;gap:7px;pointer-events:none}.lives img{object-fit:contain;transition:opacity .15s,transform .15s}.lives img.lost{opacity:0;transform:scale(.5)}
.race-status{top:92px;width:min(430px,calc(100vw - 48px));text-shadow:0 1px 3px #183540;text-align:left}.route-labels{display:flex;justify-content:space-between;gap:12px;font-size:12px}.race-status .route-labels span{font-size:12px;margin:0;color:#edfdfb}.race-status .route-labels span:last-child{color:#65f6e8}.race-progress-track{height:6px;background:rgba(31,28,38,.85);border:1px solid #2b2b3a;border-radius:3px;margin:8px 0 12px;overflow:hidden}.race-progress-track i{background:#4ab0f0;border-radius:2px;transition:width .1s linear}.race-readouts{display:flex;align-items:center;justify-content:space-between}.race-status time{margin:0}.race-status small{text-align:center;margin-top:5px}
.results-overlay{background:rgba(7,25,35,.62);padding:72px 24px 58px;overflow:auto;color:#edfdfb}.results-topbar{position:absolute;left:24px;right:24px;top:24px;display:flex;justify-content:space-between;font-size:12px;color:#65f6e8}.results-topbar span:last-child{color:#8fb5bd}.results-card{display:flex;flex-direction:column;gap:24px;width:min(382px,100%);max-width:382px;padding:28px 24px;background:radial-gradient(ellipse at center,rgba(255,255,255,.16),rgba(255,255,255,.116));border:1px solid rgba(255,255,255,.25);border-radius:24px;box-shadow:0 2px 8px rgba(0,0,0,.6);backdrop-filter:blur(12px)}.result-heading{display:flex;flex-direction:column;align-items:center;gap:12px}.results-card h2{margin:0;font-size:24px;line-height:1.2}.results-card p{margin:0;font-size:13px;line-height:1.5;color:#a4c5cc}.result-time{display:flex;flex-direction:column;gap:4px;align-items:center}.result-time>span{font-size:13px;color:#65f6e8}.result-time strong{font-size:42px;line-height:1.3;font-weight:400;font-variant-numeric:tabular-nums}.result-time small{font-size:11px;color:#8fb5bd}.result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.result-stats>div{display:flex;flex-direction:column;gap:6px;min-height:100px;justify-content:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.6)}.result-stats strong{font-size:27px;font-weight:400}.result-stats span{font-size:10px;color:#a4c5cc}.result-actions{display:flex;flex-direction:column;gap:12px}.result-actions button{width:100%;min-width:0;font-size:14px;min-height:56px}.results-card .secondary{display:flex;gap:8px;align-items:center;justify-content:center;color:#65f6e8;margin:0;border-radius:16px}.results-footer{position:absolute;bottom:18px;left:0;width:100%;text-align:center;font-size:10px;color:#8fb5bd}.results-card .primary{padding:10px 20px}
@media(max-height:700px){.results-overlay{padding-top:62px;padding-bottom:38px}.results-card{gap:16px;padding:20px}.result-stats>div{min-height:76px}.results-card h2{font-size:22px}.result-time strong{font-size:34px}.result-actions button{min-height:48px}.results-footer{bottom:8px;font-size:8px}}

/* Exact Figma results geometry: 382 wide, 28/24 padding, 24 section gaps. */
.results-card{min-height:559px;gap:24px;padding:28px 24px}.result-heading{min-height:107px;gap:12px}.results-card .result-heading p{font-size:18px;line-height:1.2}.result-time{min-height:92px;gap:4px}.result-time>span,.result-time small{font-size:14px;line-height:1.2}.result-time strong{font-size:42px;line-height:1.2}.result-stats{gap:17px}.result-stats>div{height:106px}.result-stats strong{font-size:30px;line-height:1.2}.result-stats span{font-size:14px;line-height:1.2}.result-actions{gap:12px}.result-actions button{height:56px}.results-card .secondary{font-size:14px}
@media(max-width:390px){.result-stats span{font-size:11px}.result-time small{font-size:12px}.results-card .result-heading p{font-size:16px}.result-stats{gap:12px}}
@media(max-height:700px){.results-card{min-height:0;gap:16px;padding:20px}.result-heading,.result-time{min-height:0}.result-stats>div{height:80px}.result-time strong{font-size:34px}.result-actions button{height:48px;min-height:48px}}

/* Consistent pause card rhythm. */
#pause-panel .modal-card{display:flex;flex-direction:column;gap:16px;width:min(382px,100%);max-width:382px;padding:28px 24px}#pause-panel .eyebrow{font-size:12px;line-height:1.4;margin:0}#pause-panel h2{font-size:28px;line-height:1.25;margin:0 0 8px}#pause-panel button{width:100%;min-width:0;min-height:56px;margin:0;font-size:16px}#pause-panel .primary{margin:0 0 0}#pause-panel .secondary{margin:0}
@media(max-height:550px){#pause-panel .modal-card{gap:12px;padding:20px}#pause-panel h2{font-size:24px;margin-bottom:0}#pause-panel button{min-height:46px}}

.store-home-button{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:230px;font-size:14px;margin:14px 0 0;padding:12px 18px;background:#000c;border:1px solid #ffffff36;border-radius:10px;text-decoration:none}.store-home-button span{color:#65f6e8}.intro a{display:block;width:fit-content}
.upgrade-store{position:fixed;inset:0;pointer-events:none;z-index:20}.upgrade-panel{pointer-events:auto;position:absolute;right:5%;top:7%;bottom:7%;width:min(530px,46vw);padding:24px;display:flex;flex-direction:column;gap:12px;background:rgba(12,34,47,.8);backdrop-filter:blur(12px);border-radius:24px;box-shadow:0 2px 8px #0009;color:#edfdfb}.upgrade-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.upgrade-header .eyebrow{font-size:9px;letter-spacing:1px}.upgrade-header h2{font-size:25px;line-height:1.3;margin:8px 0 0}.wallet{display:flex;align-items:center;gap:5px;border-radius:30px;background:#ffffff12;padding:6px 10px}.wallet strong{font-size:18px;font-weight:400}.wallet img{object-fit:contain}.upgrade-intro{font-size:10px;line-height:1.5;color:#b8d3d9;margin:0}.upgrade-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:auto;align-content:start;padding:3px}.upgrade-card{display:flex;flex-direction:column;gap:10px;background:#ffffff0f;border-radius:16px;padding:16px}.upgrade-card-heading{display:flex;align-items:center;gap:9px}.upgrade-card h3{font-size:13px;line-height:1.4;margin:0}.upgrade-card small{font-size:8px;line-height:1.6;color:#9dbfc7}.upgrade-card p{font-size:11px;line-height:1.5;margin:0;min-height:34px}.upgrade-card .primary{min-width:0;min-height:42px;width:100%;padding:8px;font-size:11px;margin-top:auto}.upgrade-card .primary:disabled{background:#1c414e;color:#91afb5;opacity:1;filter:none;box-shadow:none}.level-dots{display:flex;gap:6px}.level-dots i{width:9px;height:9px;border:1px solid #8fb5bd66;border-radius:50%}.level-dots .filled{background:#65f6e8;border-color:#65f6e8}.upgrade-panel>.secondary{margin:0;font-size:14px;align-self:center}.upgrade-panel>small{font-size:8px;color:#8fb5bd;text-align:center}.powerup-effects{position:fixed;bottom:150px;left:28px;display:flex;flex-direction:column;gap:6px;pointer-events:none}.powerup-effects span{font-size:11px;background:#0c2935d9;color:#65f6e8;padding:8px 12px;border-radius:14px}
@media(max-width:899px),(orientation:portrait){.upgrade-panel{left:12px;right:12px;top:34dvh;bottom:12px;width:auto;padding:16px;gap:10px}.upgrade-header h2{font-size:20px}.upgrade-header .eyebrow{font-size:8px}.upgrade-card{padding:12px;gap:8px}.upgrade-card h3{font-size:11px}.upgrade-card-heading{gap:7px}.upgrade-card-heading img{width:24px;height:24px}.upgrade-grid{gap:10px}.upgrade-card p{font-size:10px;min-height:30px}.upgrade-card .primary{font-size:10px;min-height:40px}.upgrade-panel>small{font-size:7px}.powerup-effects{left:20px;bottom:125px}.powerup-effects span{font-size:10px;padding:6px 9px}.store-home-button{font-size:12px;margin-top:12px}}

.result-flag{display:block;width:32px;height:32px;position:relative;overflow:hidden;flex:none}.result-flag img{position:absolute;width:64px;height:56px;max-width:none;left:-18px;top:-13px;object-fit:contain}

/* Store entry shares Figma's musubi palette and isometric illustration style. */
.store-home-button{justify-content:flex-start;gap:12px;padding:8px 16px;min-height:56px}.store-home-button>span:not(#home-wallet){color:#fff}.store-home-button #home-wallet{margin-left:auto}.store-home-button .store-icon{width:40px;height:40px;object-fit:contain;flex:none}.upgrade-header h2{display:flex;align-items:center;gap:10px;margin:6px 0 0}.upgrade-header h2 img{flex:none;object-fit:contain}
.store-tabs{display:flex;gap:6px;background:#07192377;padding:4px;border-radius:12px;flex:none}.store-tabs button{flex:1;background:transparent;border:0;border-radius:9px;min-height:40px;padding:8px 10px;color:#a4c5cc;font-size:12px}.store-tabs button[aria-selected=true]{background:#65f6e8;color:#071923}.store-tab-panel{display:flex;flex:1;min-height:0;overflow:hidden}.store-tab-panel .upgrade-grid{scrollbar-width:thin;scrollbar-color:#8fb5bd66 transparent}.crystal-packs-panel{flex-direction:column;gap:14px;overflow:auto;scrollbar-width:thin;scrollbar-color:#8fb5bd66 transparent}.packs-heading h3{font-size:17px;margin:4px 0 8px}.packs-heading p{font-size:10px;line-height:1.6;color:#a4c5cc;margin:0}.crystal-packs{display:flex;flex-direction:column;gap:12px}.crystal-pack{display:flex;align-items:center;gap:10px;padding:14px;background:#ffffff0f;border-radius:16px}.crystal-pack>img{flex:none;object-fit:contain}.crystal-pack>div{flex:1;min-width:0}.crystal-pack h4{font-size:11px;color:#a4c5cc;margin:0 0 5px}.crystal-pack strong{font-size:15px;font-weight:400}.crystal-pack button{flex:none;background:#1c414e;border:0;border-radius:9px;padding:10px;color:#91afb5;font-size:9px;cursor:default}.upgrade-panel{gap:10px}
@media(max-width:899px),(orientation:portrait){.upgrade-header h2{font-size:20px;gap:8px}.upgrade-header h2 img{width:32px;height:32px}.store-tabs button{font-size:11px;min-height:36px}.upgrade-panel{gap:8px}.crystal-pack{padding:12px;gap:6px}.crystal-pack>img{width:42px;height:48px}.crystal-pack strong{font-size:13px}.crystal-pack button{font-size:8px;padding:9px 8px}.crystal-pack h4{font-size:9px}.packs-heading h3{font-size:15px}.packs-heading p{font-size:9px}}

/* Reference HUD: neon top controls, full road progress and open speed readout. */
.topbar{inset:max(26px,env(safe-area-inset-top)) 5.5% auto}.crystals,.round{background:#082d43e8;backdrop-filter:blur(8px);border:1.5px solid #77efff;box-shadow:0 0 7px #38dfff77,inset 0 0 12px #25b8d51f}.crystals{height:48px;gap:10px;padding:7px 15px 7px 11px;border-radius:20px}.crystals strong{font-size:28px;text-shadow:none}.round{width:48px;height:48px;border-radius:16px}.round svg{stroke:#bafaff;stroke-width:4;width:25px;height:25px}.lives{top:30px;gap:10px;align-items:center}.lives img{width:34px;height:34px;filter:drop-shadow(0 2px 2px #542e3d44)}
.race-status{top:102px;left:7%;right:7%;width:auto;max-width:none;transform:none;text-shadow:0 2px 3px #11314788}.race-status .route-labels span,.race-status .route-labels span:last-child{font-size:16px;line-height:1.3;color:#fff}.race-status #distance-current{color:#3dfff2;font-weight:400}.race-status #distance-target{font-size:inherit;color:#fff}.race-progress-wrap{position:relative;margin-right:16px}.race-progress-track{height:9px;background:#07334de6;border:1px solid #60f6ff;border-radius:8px;margin:9px 0 14px;box-shadow:0 0 5px #1ae0e855}.race-progress-track i{background:#72fff3;border-radius:8px;box-shadow:0 0 7px #72fff388}.progress-flag{position:absolute;right:-28px;top:-15px;width:32px;height:32px}.race-readouts .points,.race-readouts time{font-size:17px;color:#fff;line-height:1.4;margin:0}.race-status small{display:none}
.speed{left:6%;bottom:max(28px,env(safe-area-inset-bottom));width:94px;height:auto;border:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;text-align:center;align-items:center;gap:1px;text-shadow:0 3px 3px #16314b99}.speed strong{font-size:48px;line-height:1.05;color:#8bfff5}.speed span{font-size:17px;letter-spacing:0;color:white}.boost-hud{position:fixed;left:6%;bottom:max(126px,calc(env(safe-area-inset-bottom) + 110px));display:flex;align-items:center;gap:8px;text-shadow:0 2px 3px #16314b88}.boost-hud>img{width:26px;height:32px;filter:drop-shadow(0 0 4px #4cefff88)}.boost-hud>div{width:94px}.boost-hud span{font-size:12px;color:#fff}.boost-meter{height:9px;margin-top:4px;border:1px solid #55edff;border-radius:9px;background:#07334dd9;box-shadow:0 0 6px #1ae0e855;overflow:hidden}.boost-meter i{display:block;height:100%;width:0;background:#7efff2;border-radius:9px;transition:width .1s linear}.boost-hud.active .boost-meter i{box-shadow:0 0 7px #72fff3}.powerup-effects{left:6%;bottom:184px}
@media(max-width:699px){.topbar{inset:max(25px,env(safe-area-inset-top)) 20px auto}.crystals{height:44px;padding:6px 12px 6px 9px;gap:8px;border-radius:18px}.crystals strong{font-size:25px}.round{width:44px;height:44px;border-radius:14px}.lives{top:31px;gap:7px}.lives img{width:30px;height:30px}.race-status{top:94px;left:24px;right:24px}.race-status .route-labels span,.race-status .route-labels span:last-child{font-size:12px}.race-progress-track{height:8px;margin:8px 0 13px}.race-readouts .points,.race-readouts time{font-size:13px}.speed{left:20px;bottom:max(24px,env(safe-area-inset-bottom));width:88px}.speed strong{font-size:45px}.speed span{font-size:15px}.boost-hud{left:22px;bottom:max(112px,calc(env(safe-area-inset-bottom) + 102px))}.boost-hud>div{width:85px}.boost-hud span{font-size:11px}.boost-hud>img{width:24px}.powerup-effects{left:22px;bottom:166px}}
@media(max-height:550px) and (min-width:700px){.race-status{top:86px;left:22%;right:22%}.race-status .route-labels span,.race-status .route-labels span:last-child{font-size:12px}.race-readouts .points,.race-readouts time{font-size:13px}.speed strong{font-size:38px}.boost-hud{bottom:108px}}

/* Three connected riding sections and a focused tapping battle. */
.intro .logo-heading{margin:0 0 12px;line-height:1}.run-logo{display:block;width:min(520px,78vw);height:auto;filter:drop-shadow(0 5px 8px #002a4b55)}.intro #level-intro{font-size:12px;color:#a9fff4;margin:16px 0 0}.intro{max-height:calc(100dvh - 120px);overflow:auto;padding:8px;scrollbar-width:none}.intro>p{margin-top:12px}.section-steps{display:flex;gap:6px;margin:-7px 0 8px}.section-steps i{flex:1;border-radius:5px;background:#092d43aa;font-size:9px;font-style:normal;padding:2px 8px;color:#91b3c5}.section-steps .current{background:#55f2eacc;color:#052e44}.section-steps .done{background:#1a777fcc;color:#dcfffc}.power-label{display:flex;justify-content:space-between;margin-top:9px;font-size:10px;color:#ffde6e}.run-power{position:relative;height:7px;background:#092d43dd;border:1px solid #ffdf6a;border-radius:5px;margin-top:4px}.run-power>i{display:block;height:100%;background:#ffda59;border-radius:5px;transition:width .15s}.run-power>b{position:absolute;top:-2px;height:9px;width:2px;background:#fff4b4}.power-caption{font-size:9px;margin-top:4px;color:#fff4cb}.boss-ui{position:fixed;inset:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:100px 24px 34px;text-align:center}.boss-health{width:min(520px,100%);padding:14px 18px;background:#062b41df;border-radius:18px;box-shadow:0 0 12px #38dfff44}.boss-health>span{font-size:16px}.boss-health>span+span{display:block;font-size:12px;color:#a2d7df;margin-top:5px}#boss-health-track{height:15px;border:1px solid #7bfff5;border-radius:10px;background:#082536;margin:10px 0;overflow:hidden}#boss-health-fill{display:block;background:linear-gradient(90deg,#ffaf63,#ffe387);height:100%;transition:width .1s}.boss-health small{font-size:10px;color:#9ef7ef}.boss-action{width:min(340px,90%)}.boss-action p{font-size:17px;text-shadow:0 2px 3px #062b41}.boss-action button{pointer-events:auto;width:100%;font-size:35px;min-height:80px;justify-content:center;touch-action:manipulation;user-select:none}.boss-action button:active{transform:translateY(3px) scale(.97);filter:brightness(1.2)}
@media(max-width:699px){.intro{bottom:6%;left:5%;width:90%;max-height:calc(100dvh - 105px)}.intro .run-logo{width:100%;max-width:480px}.intro .eyebrow{font-size:10px}.race-status .route-labels span{font-size:10px}.power-label{margin-top:7px;font-size:9px}.power-caption{font-size:8px}.boss-health>span{font-size:13px}.boss-ui{padding-top:95px}.boss-action p{font-size:13px}}
@media(max-height:550px) and (min-width:700px){.intro .run-logo{width:330px}.intro #level-intro{display:block;font-size:10px;margin-top:8px}.intro .eyebrow{font-size:9px}.intro .logo-heading{margin-bottom:8px}.boss-ui{padding-top:24px;padding-bottom:16px}.boss-health{width:38%;margin-left:45%}.boss-action{width:230px;margin-left:45%}.boss-action button{min-height:58px;font-size:25px}.boss-action p{font-size:12px}}

/* One riding bar: fruit power. Section progress stays a compact 1 / 3 label. */
.race-readouts{margin-top:10px}.run-power{height:9px;border-color:#65f6e8;background:#07334de6}.run-power>i{background:#72fff3;box-shadow:0 0 7px #72fff388}.run-power>b{background:#edfdfb;top:-1px;height:9px}.power-label{color:#d1fff9;font-size:11px;margin-top:10px}.power-caption{color:#d1fff9}.boost-meter{display:none}.boost-hud:not(.active){display:none}.race-status .route-labels span{font-size:12px}.race-status .route-labels span:last-child{white-space:nowrap}@media(max-width:699px){.race-status .route-labels span{font-size:9px}.power-label{font-size:10px}}
/* Home content floats directly over the world. */
#welcome{background:none;border:0;box-shadow:none;backdrop-filter:none}#welcome::before{display:none;content:none}

/* Visual riding HUD: fruit icon, one bar, count; three section dots. */
.route-labels{align-items:center}.level-badge{display:flex;align-items:center;gap:5px}.level-badge img{object-fit:contain}.level-badge b{font-weight:400;font-size:12px}.stage-icons{display:flex;gap:8px;align-items:center}.stage-icons i{display:block;width:9px;height:9px;background:#09354cb0;border:1px solid #d4fffb70;border-radius:50%}.stage-icons .current{background:#fff;box-shadow:0 0 7px #6affef88;transform:scale(1.15)}.stage-icons .done{background:#67f5e9;border-color:#67f5e9}.fruit-meter-row{display:flex;align-items:center;gap:10px;margin-top:8px}.fruit-meter-row>img{flex:none;filter:drop-shadow(0 2px 2px #19334055)}.fruit-meter-row .run-power{flex:1;margin:0}.fruit-meter-row strong{min-width:30px;font-size:16px;font-weight:400;text-align:right;color:#fff}.race-readouts{margin-top:6px}.race-readouts .points,.race-readouts time{font-size:13px}.powerup-effects span{display:flex;align-items:center;gap:8px;padding:6px 10px}.powerup-effects img{object-fit:contain}.powerup-effects b{font-size:11px;font-weight:400}.effect-magnet img{filter:hue-rotate(145deg) saturate(1.5)}.effect-shield img{filter:hue-rotate(65deg)}.effect-rush img{filter:hue-rotate(115deg)}@media(max-width:699px){.fruit-meter-row{gap:8px;margin-top:5px}.fruit-meter-row>img{width:26px;height:26px}.fruit-meter-row strong{font-size:14px}.race-readouts .points,.race-readouts time{font-size:11px}.stage-icons{gap:6px}}

/* Fruit-only riding demo; saved store currency stays in the store. */
.topbar .crystals{display:none}.topbar{justify-content:flex-end}

/* Raised tropical hut icon: generous silhouette, no extra button ornament. */
.store-home-button .store-icon{width:48px;height:48px}.upgrade-header h2 img{width:46px;height:46px}
@media(max-width:899px),(orientation:portrait){.store-home-button .store-icon{width:44px;height:44px}.upgrade-header h2 img{width:38px;height:38px}}

/* Reference HUD: bold resource pills, one level bar, and a boss destination. */
.topbar{justify-content:space-between;inset:max(22px,env(safe-area-inset-top)) 5.5% auto;z-index:4}
.topbar:has(.fruit-counter[hidden]){justify-content:flex-end}
.fruit-counter{display:flex;align-items:center;gap:8px;min-width:134px;height:56px;padding:5px 14px 5px 5px;border-radius:19px;background:#092d47f2;border:2px solid #b9fff4;box-shadow:0 3px 0 #05243670,0 0 12px #32e7ef33;color:white;text-shadow:0 2px 0 #03243b}
.fruit-counter>img{width:46px;height:46px;filter:drop-shadow(0 2px 0 #052436)}
.fruit-counter strong{font-size:30px;font-weight:400;line-height:1}
.fruit-counter .fruit-target{display:flex;align-items:center;gap:3px;font-size:14px;color:#b3d1dc}
.fruit-target b{font-weight:400}.fruit-ready{display:none;color:#72ffe3;font-size:19px}.fruit-counter.ready{border-color:#72ffe3}.fruit-counter.ready .fruit-ready{display:block}.fruit-counter.ready .fruit-target{display:none}
.lives{top:max(28px,calc(env(safe-area-inset-top) + 6px));gap:8px;z-index:4;padding:7px 12px;border-radius:18px;background:#092d47d9;border:2px solid #ffffffb0;min-height:44px}
.lives img{width:30px;height:30px}.lives img.lost{opacity:.2;filter:grayscale(1);transform:scale(.88)}
.round{height:56px;width:56px;border:2px solid #b9fff4;border-radius:19px;background:#092d47f2}
.race-status{top:max(94px,calc(env(safe-area-inset-top) + 72px));left:7%;right:7%;max-width:620px;margin:auto;z-index:3}
.route-labels{justify-content:center;margin-bottom:14px}
.race-status .level-badge{display:inline-flex;justify-content:center;min-width:110px;padding:7px 18px;border-radius:24px;background:#fff;box-shadow:0 2px 0 #27576d22;text-shadow:none}
.level-badge b{font-size:17px;color:#3388af;line-height:1.2}
.stage-icons,.race-readouts,.fruit-meter-row,#drive-state{display:none}
.race-progress-wrap{margin:0 15px 0 0;position:relative}
.race-progress-track{position:relative;height:20px;border:4px solid #fff;border-radius:14px;background:#123d58c9;margin:0;box-shadow:0 2px 0 #1b526a40;overflow:hidden}
.race-progress-track i{background:linear-gradient(90deg,#24e2dc,#a8fff0);border-radius:8px;box-shadow:none;transition:width .1s linear}
.section-tick{position:absolute;top:0;bottom:0;width:3px;background:#ffffffb0}
.boss-milestone{position:absolute;right:-24px;top:-13px;width:46px;height:50px;display:grid;place-items:center;filter:drop-shadow(0 2px 0 #07334d99)}
.boss-milestone img{width:44px;height:48px;object-fit:contain}
.powerup-effects{left:auto;right:5.5%;top:200px;bottom:auto;align-items:flex-end;flex-direction:column}
.powerup-effects span{background:#092d47e8;border:2px solid #fff;border-radius:15px;box-shadow:0 2px 0 #12374855;padding:6px 10px}
@media(max-width:699px){
.topbar{inset:max(20px,env(safe-area-inset-top)) 18px auto}.fruit-counter{height:48px;min-width:105px;gap:5px;padding:3px 9px 3px 3px;border-radius:16px}.fruit-counter>img{width:37px;height:37px}.fruit-counter strong{font-size:25px}.fruit-counter .fruit-target{font-size:11px}.fruit-ready{font-size:16px}
.round{width:48px;height:48px;border-radius:16px}.lives{top:max(23px,calc(env(safe-area-inset-top) + 3px));padding:7px 9px;gap:5px;min-height:42px;border-radius:15px}.lives img{width:23px;height:25px}
.race-status{top:max(87px,calc(env(safe-area-inset-top) + 67px));left:22px;right:25px}.route-labels{margin-bottom:12px}.race-status .level-badge{min-width:100px;padding:6px 16px}.level-badge b{font-size:15px}.race-progress-track{height:18px;border-width:3px}.boss-milestone{width:39px;height:43px;right:-22px;top:-12px}.boss-milestone img{width:38px;height:42px}.powerup-effects{top:174px;right:18px}
}
.boss-ui.winding .boss-health{border-color:#ff7293;box-shadow:0 0 16px #ff527c66}.boss-ui.winding .boss-action p{color:#fff2f5;background:#9e244ce8;border:2px solid #ff91ac;border-radius:16px;padding:10px 16px}.boss-ui.winding #rev{background:linear-gradient(#ff92b4,#ec3978);color:#30122b}
/* Duel HUD: two health bars above the arena; actual fruit ammo below. */
.boss-ui{padding:94px 5.5% 26px;justify-content:flex-start;z-index:3}
.boss-health{width:min(700px,100%);padding:0;background:none;box-shadow:none;border:0;border-radius:0}
.boss-health .boss-level{display:inline-block;padding:7px 20px;border-radius:24px;background:white;color:#3388af;font-size:18px;text-shadow:none}
.duel-bars{display:flex;gap:32px;margin-top:22px;align-items:center}
.duel-side{display:flex;align-items:center;gap:0;flex:1;min-width:0;position:relative}
.duel-side>img{width:43px;height:46px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 0 #183f5c66);z-index:1}
.duel-side #boss-health-track,.duel-side #boss-player-track{margin:0;height:22px;flex:1;border:4px solid white;border-radius:16px;background:#f46f57;overflow:hidden;box-shadow:0 2px 0 #163b4c33}
#boss-player-fill,#boss-health-fill{height:100%;display:block;border-radius:8px;background:linear-gradient(90deg,#43edd4,#b3ff6c);transition:width .12s linear}
.chicken-side #boss-health-fill{margin-left:auto}.player-side>img{margin-right:-8px}.chicken-side>img{margin-left:-8px}
.boss-action{position:absolute;bottom:122px;left:50%;transform:translateX(-50%);width:min(340px,85%);display:flex;flex-direction:column;align-items:center}
.boss-action p{font-size:16px;margin:0 0 8px;color:white;min-height:24px}
.boss-action .boss-tap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:100px;width:150px;background:none;border:0;box-shadow:none;padding:0;pointer-events:auto;touch-action:manipulation;user-select:none}
.boss-tap svg{width:58px;height:58px;animation:tap-bob 1s ease-in-out infinite}.boss-tap span{font-size:21px;text-shadow:0 3px 0 #254b5b,0 0 7px #254b5b}
.boss-ammo{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(500px,85%);display:flex;align-items:center;gap:8px}
.boss-ammo>img{width:46px;height:46px;filter:drop-shadow(0 2px 0 #183f5c66)}
#boss-ammo-track{height:25px;flex:1;border:4px solid white;border-radius:20px;background:#153d58db;overflow:hidden;box-shadow:0 2px 0 #163b4c33}
#boss-ammo-fill{display:block;height:100%;background:linear-gradient(90deg,#ed6d9e,#ffa5bb);border-radius:12px;transition:width .12s linear}
.boss-ammo strong{font-size:25px;font-weight:400;min-width:36px;text-shadow:0 2px 0 #183f5c}
.boss-ui.winding .boss-health{box-shadow:none;border:0}.boss-ui.winding .chicken-side #boss-health-track{box-shadow:0 0 15px #ff4e7c}.boss-ui.winding #rev{background:none;color:white}
@keyframes tap-bob{50%{transform:translateY(6px) scale(.96)}}
@media(prefers-reduced-motion:reduce){.boss-tap svg{animation:none}}
@media(max-width:699px){.boss-ui{padding:86px 20px 24px}.boss-health .boss-level{font-size:15px;padding:6px 17px}.duel-bars{gap:22px;margin-top:20px}.duel-side>img{width:34px;height:39px}.duel-side #boss-health-track,.duel-side #boss-player-track{height:20px;border-width:3px}.boss-action{bottom:115px;margin-left:0}.boss-action p{font-size:12px}.boss-tap span{font-size:19px}.boss-ammo{bottom:30px}.boss-ammo>img{width:39px;height:39px}.boss-ammo strong{font-size:22px}}
@media(max-height:550px) and (min-width:700px){.boss-ui{padding-top:20px}.boss-health{width:55%;margin-left:0}.duel-bars{margin-top:10px}.boss-action{bottom:60px;margin-left:0;left:78%}.boss-action .boss-tap{min-height:74px}.boss-tap svg{width:42px;height:42px}.boss-ammo{bottom:20px;max-width:300px}}
/* Shared card fill and stroke, inherited by HUD and store surfaces. */
:root{--card-fill:linear-gradient(145deg,rgba(65,91,103,.86),rgba(39,59,73,.86));--card-stroke:1px solid rgba(255,255,255,.25);--card-shadow:0 2px 8px rgba(0,0,0,.35);--card-radius:20px}
.fruit-counter,.lives,.round,.powerup-effects span,.wallet,.upgrade-panel,.modal-card{background:var(--card-fill);border:var(--card-stroke);box-shadow:var(--card-shadow);backdrop-filter:blur(12px)}
.upgrade-card,.crystal-pack,.result-stats>div{background:rgba(255,255,255,.14);border:var(--card-stroke);box-shadow:var(--card-shadow)}
.race-status{top:auto;bottom:max(28px,env(safe-area-inset-bottom));left:7%;right:7%;max-width:620px}.race-status .level-badge,.boss-health .boss-level{background:var(--card-fill);border:var(--card-stroke);box-shadow:var(--card-shadow);backdrop-filter:blur(12px);color:#edfdfb}.level-badge b{color:#edfdfb}
.speed{bottom:max(129px,calc(env(safe-area-inset-bottom) + 101px))}.boost-hud{bottom:max(228px,calc(env(safe-area-inset-bottom) + 200px))}
.powerup-effects{top:98px}.powerup-effects img,.boost-hud>img,.upgrade-card-heading img{filter:drop-shadow(0 0 5px #a76af066)}.upgrade-card-heading img{width:44px;height:44px}.powerup-effects img{width:30px;height:30px}.boost-hud>img{width:34px;height:40px;object-fit:contain}
.effect-magnet img{filter:drop-shadow(0 0 5px #ff4c9e88)}.effect-shield img,.effect-rush img{filter:drop-shadow(0 0 5px #c453ff88)}
.boss-ui.low-ammo #boss-ammo-fill{background:#ff6c68}.boss-ui.low-ammo .boss-ammo strong{color:#ffaca9}.boss-ui.low-ammo .boss-action p{color:#ffb8ae}
@media(max-width:699px){.race-status{top:auto;bottom:max(26px,env(safe-area-inset-bottom));left:22px;right:25px}.speed{bottom:max(124px,calc(env(safe-area-inset-bottom) + 100px))}.boost-hud{bottom:max(215px,calc(env(safe-area-inset-bottom) + 192px))}.powerup-effects{top:88px}.upgrade-card-heading img{width:35px;height:35px}}
/* Fruit and hearts float directly over the game. */
.fruit-counter,.lives{background:none;border:0;box-shadow:none;backdrop-filter:none}
/* A focused, complete upgrade shop. */
.upgrade-panel{top:5%;bottom:5%;width:min(570px,47vw);gap:10px;padding:24px;border-radius:28px}
.upgrade-header{position:relative;padding-right:40px}.upgrade-header h2{font-size:27px;gap:12px}.upgrade-header h2 img{width:50px;height:50px}.upgrade-header .eyebrow{color:#8cffec;font-size:8px;letter-spacing:1.5px}
.store-close{position:absolute;right:-10px;top:-10px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffffff3d;border-radius:50%;background:#09141d;color:white;padding:7px}.store-close svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.upgrade-intro{font-family:Bungee,sans-serif;font-size:13px;color:#d1e7e9;line-height:1.4}.store-tabs{border:1px solid #ffffff20;padding:5px}.store-tabs button{min-height:38px;font-size:11px;border-radius:9px}.store-tabs button[aria-selected=true]{background:linear-gradient(#8bfff0,#52ddd7);box-shadow:0 2px 5px #061b2e33}
.upgrade-grid{gap:12px;padding:3px 6px 8px 3px;align-content:start}.upgrade-card{padding:15px;gap:8px;min-height:205px;border-radius:20px}.upgrade-card-heading{gap:8px;min-height:44px}.upgrade-card-heading img{width:42px;height:42px}.upgrade-card h3{font-size:12px;line-height:1.35}.upgrade-level{display:flex;align-items:center;justify-content:space-between;gap:5px}.upgrade-level small{font-size:8px;color:#b9d9dc;white-space:nowrap}.upgrade-card .upgrade-description{font-family:Bungee,sans-serif;font-size:12px;line-height:1.35;color:#d0e3e5;min-height:32px}.upgrade-card .upgrade-benefit{font-size:10px;line-height:1.4;min-height:28px;color:#f0fffc}.upgrade-card .primary{min-height:42px;border-radius:12px;font-size:10px}.upgrade-card.affordable{border-color:#9cfff05c}.upgrade-card.maxed .primary:disabled{background:#62e5cd16;border:1px solid #9cffdf45;color:#adffe9;font-size:9px}.upgrade-panel>.secondary{font-size:12px;padding:8px 16px}.upgrade-panel>small{font-family:Bungee,sans-serif;font-size:10px;color:#afcdd3}.store-notice{font-family:Bungee,sans-serif;font-size:12px;color:#b9ffe6;padding:7px 10px;border-radius:10px;background:#52e4bb20}
.surf-ui{position:fixed;top:22%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 3px 0 #245064,0 2px 12px #17475b77;z-index:4}.surf-ui>span{display:block;font-size:13px;color:#d5fff7}.surf-ui>strong{display:block;font-size:62px;line-height:1.2;font-weight:400;color:#fff8d9}.surf-reward{display:flex;flex-direction:column;gap:6px;background:#65f6e817;border:1px solid #9affed55;border-radius:14px;padding:12px}.surf-reward>span{font-size:10px;color:#a4ffee}.surf-reward strong{font-size:15px;font-weight:400;color:#fff9df}
@media(max-width:899px),(orientation:portrait){.upgrade-panel{top:23dvh;bottom:12px;left:12px;right:12px;width:auto;padding:16px;gap:8px;border-radius:24px}.upgrade-header h2{font-size:21px;gap:8px}.upgrade-header h2 img{width:38px;height:38px}.upgrade-header .eyebrow{font-size:7px}.upgrade-intro{font-size:11px}.wallet strong{font-size:16px}.wallet img{width:25px;height:28px}.upgrade-card{min-height:190px;padding:12px;gap:7px}.upgrade-card-heading img{width:36px;height:36px}.upgrade-card h3{font-size:10px}.upgrade-grid{gap:10px}.upgrade-level small{font-size:7px}.upgrade-card .upgrade-description{font-size:11px;min-height:30px}.upgrade-card .upgrade-benefit{font-size:9px;min-height:26px}.upgrade-card .primary{font-size:9px;min-height:39px}.upgrade-card.maxed .primary:disabled{font-size:8px}.surf-ui>strong{font-size:51px}.surf-ui>span{font-size:10px}}
@media(max-width:360px){.upgrade-panel{padding:12px}.upgrade-card{padding:10px}.upgrade-level{gap:3px}.level-dots{gap:4px}.level-dots i{width:7px;height:7px}.upgrade-card h3{font-size:9px}.upgrade-card-heading{gap:5px}.upgrade-card-heading img{width:30px;height:30px}}
.results-card:has(#surf-reward:not([hidden])){gap:16px;padding:24px}.results-card:has(#surf-reward:not([hidden])) .result-stats>div{min-height:78px}.results-card:has(#surf-reward:not([hidden])) .result-time strong{font-size:36px}

@media(min-width:900px) and (min-height:650px){.upgrade-panel{gap:8px;padding:20px}.upgrade-header h2{font-size:24px}.upgrade-header h2 img{width:40px;height:40px}.upgrade-card{min-height:175px;padding:12px;gap:6px}.upgrade-card-heading{min-height:34px}.upgrade-card-heading img{width:34px;height:34px}.upgrade-card .upgrade-description{min-height:28px;font-size:11px}.upgrade-card .upgrade-benefit{min-height:22px;font-size:9px}.upgrade-card .primary{min-height:36px}.upgrade-panel>.secondary{padding:5px 12px}.upgrade-panel>small{font-size:9px}}

/* Small weapon cue and one refreshed timer per pickup type. */
.fruit-counter{position:relative}.ammo-mini{position:absolute;left:8px;right:0;bottom:-15px;display:flex;flex-direction:column;gap:4px}.ammo-mini small{font-size:8px;color:#fff;letter-spacing:.5px}.ammo-mini>div{height:3px;background:#17394c66;border-radius:4px;overflow:hidden}.ammo-mini i{display:block;height:100%;width:0;background:#ff83bd;border-radius:4px;transition:width .15s}.fruit-counter.full .fruit-ready{font-size:10px;color:#baffd8}.section-cue{position:fixed;top:21%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 2px 3px #163b4c;z-index:3}.section-cue strong{font-size:23px;display:block;color:#fff}.section-cue small{font-family:Bungee,sans-serif;font-weight:700;display:block;font-size:13px;margin-top:6px;color:#d5fffa}.surf-reward>small{font-family:Bungee,sans-serif;font-size:12px;color:#cde6e3;line-height:1.4}.surf-reward strong{font-size:13px;line-height:1.5}.boss-action p{font-size:19px}.boss-tap span:empty{display:none}
@media(max-width:699px){.section-cue strong{font-size:18px}.section-cue small{font-size:11px}.boss-action p{font-size:15px}.surf-reward strong{font-size:11px}.surf-reward>small{font-size:10px}}

/* Keep the level badge below; move only the riding progress bar to the upper HUD. */
.race-status .race-progress-wrap{position:fixed;top:max(112px,calc(env(safe-area-inset-top) + 90px));bottom:auto;left:7%;right:9%;width:auto;max-width:620px;margin:0 auto}
.powerup-effects{top:max(160px,calc(env(safe-area-inset-top) + 138px))}
@media(max-width:699px){.race-status .race-progress-wrap{top:max(105px,calc(env(safe-area-inset-top) + 85px));left:22px;right:44px}.powerup-effects{top:max(151px,calc(env(safe-area-inset-top) + 131px))}}

/* Give the empty-ammo peck and spin-out an unobstructed finish. */
.boss-ui.defeating .boss-action,.boss-ui.defeating .boss-ammo{display:none}

/* One typeface throughout, and a single visual crystal payout. */
html,body,button,input,select,textarea{font-family:Bungee,sans-serif;font-synthesis:none}
.surf-reward{flex-direction:row;align-items:center;justify-content:center;gap:14px;min-height:82px;padding:14px}
.surf-reward>img{width:40px;height:50px;object-fit:contain;filter:drop-shadow(0 2px 4px #072e4a66)}
.surf-reward strong{font-size:32px;line-height:1.2;font-weight:400;color:#f0fff9}
@media(max-width:699px){.surf-reward strong{font-size:28px}.upgrade-card .upgrade-description{font-size:10px;line-height:1.5}.upgrade-intro{font-size:10px;line-height:1.5}}

/* Sofia's Figma upgrade card, node 46:556. Dynamic effects and owned levels stay live. */
.upgrade-card{background:rgba(11,18,32,.8);border:1.5px solid #30263d;border-radius:20px;box-shadow:none;padding:16px;gap:12px;min-height:224px;display:flex;flex-direction:column}
.upgrade-card.affordable{border-color:#30263d}.upgrade-card-heading{gap:6px;min-height:64px;justify-content:flex-start}.upgrade-card-heading img{width:64px;height:64px;object-fit:cover;filter:none;flex-shrink:0}.upgrade-card h3{font-size:10px;line-height:1.4;color:#fff;letter-spacing:0}
.upgrade-card-info{display:flex;align-items:flex-start;gap:8px}.upgrade-card .upgrade-description{margin:0;min-height:0;flex:1;font-size:11px;line-height:1.5;color:#fff}.upgrade-current{font-size:8px;line-height:1.5;white-space:nowrap;color:#fff;padding-top:1px}
.upgrade-progress{display:flex;align-items:center;justify-content:space-between;gap:8px}.upgrade-card .level-dots{display:flex;gap:3px;flex-shrink:0}.upgrade-card .level-dots i{width:11px;height:11px;border:1.5px solid #63f4e7;border-radius:50%;background:transparent}.upgrade-card .level-dots i.filled{background:#63f4e7}.upgrade-card .level-dots img{display:block;flex-shrink:0}
.upgrade-card .upgrade-benefit{font-size:7px;line-height:1.5;min-height:0;color:#b6d7d9;text-align:right;max-width:115px}
.upgrade-actions{display:flex;gap:6px;margin-top:auto}.upgrade-actions button{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;gap:4px;min-height:42px;padding:6px 8px;border:0;border-radius:18px;color:#fcfcfc;box-shadow:0 4px 6px #00000026;font-family:Bungee,sans-serif;font-weight:400;cursor:pointer}
.upgrade-watch{background:linear-gradient(180deg,#40fff2,#1ab2e5);font-size:11px}.upgrade-watch img{width:35px;height:28px;object-fit:cover;flex-shrink:0}.upgrade-watch:disabled{opacity:.62;cursor:default}.upgrade-buy{background:#35c96f;font-size:22px;letter-spacing:.5px}.upgrade-buy:disabled{opacity:.48;cursor:default}.upgrade-card.maxed .upgrade-buy{opacity:1;background:#24804e;font-size:16px}
.upgrade-crystal{width:19px;height:34px;display:block;overflow:hidden;position:relative;flex-shrink:0}.upgrade-crystal img{position:absolute;left:-56.6%;top:0;width:216.99%;height:100%;max-width:none}
/* Keep every upgrade row in pairs, with full-width actions inside compact cards. */
.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1199px){
 .upgrade-grid{gap:8px;padding:3px 3px 8px}
 .upgrade-card{min-width:0;min-height:270px;padding:10px;gap:10px;border-radius:18px}
 .upgrade-card-heading{min-height:44px;gap:4px}
 .upgrade-card-heading img{width:44px;height:44px}
 .upgrade-card h3{min-width:0;font-size:9px;line-height:1.4}
 .upgrade-card-info{flex-direction:column;gap:5px}
 .upgrade-card .upgrade-description{font-size:9px;line-height:1.5}
 .upgrade-card .upgrade-current{font-size:8px;color:#fff}
 .upgrade-progress{align-items:flex-start;flex-direction:column;gap:6px}
 .upgrade-card .upgrade-benefit{font-size:8px;text-align:left;max-width:none}
 .upgrade-actions{flex-direction:column;gap:6px}
 .upgrade-actions button{width:100%;min-height:40px;flex:none;padding:4px 7px;border-radius:16px}
 .upgrade-watch{font-size:11px}.upgrade-watch img{width:30px;height:24px}
 .upgrade-buy{font-size:20px}.upgrade-crystal{width:16px;height:28px}
}

.character-outfit-note{font-size:11px;line-height:1.5;color:#cde9e7;margin:4px 0}

/* One wardrobe: a large rider preview and the same bottom card for every category. */
.garage-card{background:rgba(11,18,32,.94);border:1.5px solid #30263d;backdrop-filter:none;box-shadow:0 4px 14px #0003}
.wardrobe-tabs{display:flex;gap:4px;margin-bottom:18px;padding:4px;background:#ffffff0b;border-radius:14px}.wardrobe-tabs button{flex:1;min-width:0;min-height:40px;padding:6px;border:0;border-radius:10px;background:transparent;color:#b6d7d9;font-size:10px}.wardrobe-tabs button[aria-selected=true]{background:#63f4e7;color:#0b1220}.wardrobe-tabs button:disabled{opacity:.4}
.accessory-options{display:flex;gap:14px}.accessory-options button{width:96px;padding:5px;border:2px solid #ffffff22;border-radius:18px;background:#ffffff08;font-size:10px}.accessory-options button[aria-pressed=true]{border-color:#63f4e7;box-shadow:0 0 0 3px #63f4e733}.accessory-options img{display:block;width:100%;height:74px;object-fit:contain}.accessory-options span{display:block}
.garage #wardrobe-accessory-status{display:block;text-align:left;font-size:10px;line-height:1.5;color:#b6d7d9;margin:4px 0 10px}.wardrobe-accessory-action{display:block;width:100%;min-height:42px;border:0;border-radius:12px;background:#35c96f;color:#fff;font-size:12px}.wardrobe-accessory-action:disabled{opacity:.45;cursor:default}.garage .primary:disabled{opacity:.45;cursor:default}
@media(max-width:899px),(orientation:portrait){.garage-card{max-height:55dvh;padding:18px 20px}.wardrobe-tabs{margin-bottom:14px}.garage fieldset{margin-bottom:16px}.garage legend{margin-bottom:12px}.garage-navigation{gap:12px}.garage .secondary{font-size:12px}.garage .primary{min-height:48px}.accessory-options button{width:88px}.accessory-options img{height:64px}}

/* The accessory collection scrolls horizontally; selected items remain easy to find. */
.accessory-options{gap:10px;overflow-x:auto;overflow-y:hidden;padding:4px 4px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#63f4e766 transparent}
.accessory-options button{flex:0 0 88px;min-width:0;scroll-snap-align:start;line-height:1.3}.accessory-options img{height:72px}.accessory-options span{min-height:26px;display:flex;align-items:center;justify-content:center;font-size:9px;overflow-wrap:anywhere}
@media(max-width:899px),(orientation:portrait){.accessory-options button{flex-basis:82px}.accessory-options img{height:64px}.accessory-options{margin:0 -4px}}

.garage fieldset{min-width:0}.accessory-options{width:100%;max-width:100%}

.accessory-options{scroll-snap-type:none}.accessory-options button{scroll-margin-inline:5px}

.equipped-accessory-slots{display:flex;gap:5px;margin:0 0 9px}.equipped-accessory-slots button{flex:1;min-width:0;min-height:34px;border:1px solid #63f4e75c;border-radius:10px;padding:5px 4px;background:#213943;color:#dcfff8;font-size:8px;line-height:1.35;overflow-wrap:anywhere}.equipped-accessory-slots button:disabled{background:#ffffff05;border-color:#ffffff12;color:#8ca5af;cursor:default}
@media(max-width:899px),(orientation:portrait){
 .accessory-options img{height:54px}.accessory-options span{min-height:22px}.accessory-options{padding-bottom:6px}
 .garage #wardrobe-accessory-name{font-size:12px;min-height:14px;margin-top:5px}
 .garage #wardrobe-accessory-status{font-size:9px;margin-top:3px;margin-bottom:6px}
 .garage legend{margin-bottom:8px}.equipped-accessory-slots{margin-bottom:6px}
}
@media(max-height:760px) and (orientation:portrait){.garage-card{max-height:64dvh}}

.equipped-accessory-slots button{font-size:10px;min-height:38px;background:#ffffff05;color:#a8bcc6;border-color:#ffffff20}.equipped-accessory-slots button[aria-selected=true]{background:#63f4e7;color:#092334;border-color:#63f4e7}.accessory-options button{position:relative}.accessory-equipped{position:absolute;right:5px;top:3px;color:#63f4e7;font-size:15px}

/* Badge footer follows the AstroCat Figma card: check left, crystal right. */
.accessory-badge-row{height:24px;display:flex;align-items:center;justify-content:flex-start;padding:0 2px}
.accessory-options img.accessory-equipped{position:static;display:block;width:20px;height:20px;object-fit:contain;flex:none}
.accessory-options img.accessory-price-badge{position:static;display:block;width:24px;height:24px;object-fit:contain;margin-left:auto;flex:none}
@media(max-width:899px),(orientation:portrait){.accessory-options>button>img{height:48px}.accessory-options span{min-height:20px}.accessory-badge-row{height:22px}}

/* Wardrobe: fixed actions, scrollable choices, opaque card. */
.garage-card{display:flex;flex-direction:column;background:#0b1220;overflow:hidden;width:440px;max-height:calc(100dvh - 48px);padding:20px;gap:12px}
.garage-card>.eyebrow,.garage-card>h2{display:none}.wardrobe-tabs{flex:none;margin:0}.wardrobe-wallet{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:none;min-height:26px;font-size:14px}.wardrobe-wallet img{width:30px;height:30px;object-fit:contain}.wardrobe-wallet strong{font-weight:400}
.wardrobe-content{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#63f4e7 #152133;padding:4px}.garage .wardrobe-content fieldset{margin:0;min-width:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.wardrobe-footer{flex:none;border-top:1px solid #30263d;padding-top:12px;display:flex;flex-direction:column;gap:8px;background:#0b1220}.wardrobe-footer .primary{margin:0;min-height:48px}.wardrobe-footer .wardrobe-accessory-action{min-height:44px;color:#092a22;background:#70dd93}.wardrobe-footer .wardrobe-accessory-action:disabled{opacity:1;background:#26353d;color:#a8b9c0}.wardrobe-footer .garage-navigation{gap:16px}.wardrobe-footer .secondary{min-height:40px;margin:0;padding:8px;font-size:12px}.garage #wardrobe-continue-note{margin:0;text-align:center;font-size:9px;line-height:1.5;color:#b6d7d9}
.accessory-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;width:100%;margin:0;padding:4px 0}.accessory-options button{width:100%;min-width:0;padding:6px;border-radius:16px;overflow:hidden;background:#111c2c;border-color:#30263d}.accessory-options .accessory-art{height:80px;overflow:hidden}.accessory-options .accessory-art img{width:100%;height:100%;object-fit:contain;transform:scale(1.3)}.accessory-options span{font-size:11px;min-height:26px;line-height:1.3}.accessory-badge-row{height:24px;gap:4px;padding:0 4px}.accessory-badge-row em{font-style:normal;font-size:9px;color:#b6d7d9}.accessory-options img.accessory-price-badge{margin-left:0}.accessory-options img.accessory-equipped{width:20px;height:20px}.garage #wardrobe-accessory-name{font-size:14px;margin:8px 0 0;min-height:18px}.garage #wardrobe-accessory-status{font-size:10px;min-height:16px;margin:3px 0 2px}.equipped-accessory-slots button{min-height:44px}.wardrobe-tabs button{min-height:44px}
@media(max-width:899px),(orientation:portrait){.garage-card{width:min(100%,440px);max-height:min(72dvh,calc(100dvh - 150px));padding:14px;gap:8px}.accessory-options .accessory-art{height:64px}.accessory-options .accessory-art img{height:100%}.wardrobe-content{padding:3px}.wardrobe-wallet{min-height:24px;font-size:12px}.wardrobe-wallet img{height:24px;width:24px}.wardrobe-footer{padding-top:8px;gap:6px}.garage #wardrobe-accessory-status{font-size:10px}.garage .wardrobe-footer .primary{min-height:44px}.garage .wardrobe-footer .secondary{font-size:11px;min-height:40px}.garage legend.visually-hidden{margin:0!important}.garage .wardrobe-content #bike-fieldset,.garage .wardrobe-content #shirt-fieldset{padding:4px 2px 12px}}

.equipped-accessory-slots{flex:none;margin:0}.wardrobe-content{border-bottom:1px solid #263241}.wardrobe-content:focus-visible{outline:2px solid #63f4e7;outline-offset:-2px}

.wardrobe-exit-row{display:flex;align-items:center;gap:10px}.wardrobe-exit-row>.primary{flex:1;min-width:0;font-size:16px}.wardrobe-exit-row .garage-navigation{flex-direction:column;gap:0;flex:none}.wardrobe-exit-row .musubi-icon{width:28px;height:28px}.garage .wardrobe-exit-row .secondary{font-size:10px;min-height:44px}.wardrobe-footer #wardrobe-accessory-name{margin-top:0}.wardrobe-footer .primary{padding:8px;gap:10px}
@media(max-height:700px) and (orientation:portrait){.garage-card{max-height:78dvh}}
@media(max-width:899px),(orientation:portrait){.garage .color-options{width:100%;gap:6px;justify-content:space-between}.garage .color-options button{width:40px;height:40px;flex:0 0 40px}.garage .color-options button img{width:100%;height:100%}}
.garage #bike-options{background:none}.garage #bike-options button{background:var(--swatch);border:3px solid #ffffff30;border-radius:50%}
.wardrobe-content::-webkit-scrollbar{width:6px}.wardrobe-content::-webkit-scrollbar-track{background:#152133;border-radius:6px}.wardrobe-content::-webkit-scrollbar-thumb{background:#63f4e7;border-radius:6px}

/* Compact header, uncropped art, labeled category icons. */
.wardrobe-header{display:flex;align-items:center;gap:10px;flex:none}.wardrobe-header .wardrobe-tabs{order:0;flex:1;min-width:0}.wardrobe-header .wardrobe-wallet{order:1;flex:none;font-size:12px;gap:0}.wardrobe-header .wardrobe-wallet img{width:28px;height:28px}.equipped-accessory-slots button{display:flex;align-items:center;justify-content:center;gap:7px}.equipped-accessory-slots svg{width:22px;height:22px;flex:none}.equipped-accessory-slots span{font-size:10px}.garage button:focus-visible{outline:2px solid white;outline-offset:2px}
.accessory-options .accessory-art{height:88px;padding:3px}.accessory-options .accessory-art img{transform:none;width:100%;height:100%;object-fit:contain}.accessory-options button[aria-pressed=true]{box-shadow:0 0 0 2px #63f4e722}.wardrobe-grid-hint{margin:0;text-align:right;font-size:9px;color:#b6d7d9;line-height:1.4;min-height:13px;flex:none}.wardrobe-content{overflow-y:scroll}.wardrobe-content::-webkit-scrollbar{width:6px}
#wardrobe-accessory-summary{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.garage #wardrobe-accessory-name{margin:0;font-size:13px;min-height:0}.garage #wardrobe-accessory-status{margin:0;font-size:9px;min-height:0}.wardrobe-footer{gap:8px}
@media(max-width:899px),(orientation:portrait){.garage-card{max-height:min(68dvh,calc(100dvh - 160px));gap:8px}.wardrobe-header .wardrobe-tabs{padding:3px;gap:2px}.wardrobe-header .wardrobe-tabs button{font-size:9px;padding:4px 2px}.wardrobe-header .wardrobe-wallet{font-size:11px}.wardrobe-header .wardrobe-wallet img{width:24px;height:24px}.accessory-options .accessory-art{height:76px}.equipped-accessory-slots span{font-size:9px}.equipped-accessory-slots svg{width:20px;height:20px}.equipped-accessory-slots button{gap:5px}}
@media(max-width:350px){.wardrobe-header{gap:5px}.wardrobe-header .wardrobe-tabs button{font-size:8px}.wardrobe-header .wardrobe-wallet{font-size:10px}.equipped-accessory-slots button{flex-direction:column;gap:2px;padding:5px 2px}.equipped-accessory-slots span{font-size:8px}.accessory-options .accessory-art{height:68px}}
@media(max-height:700px) and (orientation:portrait){.garage-card{max-height:73dvh}.accessory-options .accessory-art{height:64px}}

/* Visual wardrobe: the live rider is the main preview. */
.garage #wardrobe-accessory-summary,.garage #wardrobe-grid-hint{display:none!important}
.garage-card{gap:12px}.wardrobe-content{overflow:visible;border:0;padding:3px}.accessory-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:3px 0}.accessory-options button{padding:4px;border-radius:12px}.accessory-options .accessory-art{height:70px;padding:2px}.accessory-options .accessory-art img{width:100%;height:100%;transform:none}.accessory-badge-row{height:22px;gap:1px;padding:0;justify-content:center}.accessory-badge-row em{font-size:8px}.accessory-options img.accessory-price-badge{width:22px;height:22px}.accessory-options img.accessory-equipped{width:19px;height:19px}.wardrobe-footer{border:0;padding-top:4px;gap:10px}.wardrobe-exit-row .garage-navigation{flex-direction:row}.garage .wardrobe-footer .secondary{margin:0}.garage .wardrobe-footer .primary{font-size:16px}
@media(max-width:899px),(orientation:portrait){.garage-card{max-height:calc(100dvh - 180px);padding:14px;gap:10px}.wardrobe-content{flex:none;overflow:visible}.accessory-options .accessory-art{height:64px}.garage .wardrobe-content #bike-fieldset,.garage .wardrobe-content #shirt-fieldset{padding-bottom:2px}.garage #bike-fieldset legend,.garage #shirt-fieldset legend{font-size:16px}.garage #bike-name,.garage #shirt-name{font-size:12px;margin-top:8px;min-height:16px}}
@media(max-width:350px){.accessory-options{gap:6px}.accessory-options .accessory-art{height:52px}.accessory-badge-row em{font-size:7px}.accessory-options img.accessory-price-badge{width:18px;height:18px}.garage-card{padding:12px;gap:8px}}
@media(max-height:570px){.garage-card{max-height:calc(100dvh - 100px)}.wardrobe-content{overflow-y:auto;flex:1;min-height:50px}}

/* Text navigation above, rendered accessory categories below. */
.wardrobe-header .wardrobe-tabs{background:none;padding:0;border-radius:0;gap:4px}.wardrobe-header .wardrobe-tabs button{position:relative;border-radius:0;background:none;color:#91a7b5;min-height:40px;font-size:9px}.wardrobe-header .wardrobe-tabs button[aria-selected=true]{background:none;color:#63f4e7}.wardrobe-header .wardrobe-tabs button[aria-selected=true]::after{content:'';position:absolute;height:3px;left:10px;right:10px;bottom:1px;border-radius:3px;background:#63f4e7}.equipped-accessory-slots{gap:8px}.equipped-accessory-slots button{min-height:66px;display:flex;flex-direction:column;gap:3px;padding:6px 4px;border:1px solid #30263d;border-radius:12px;background:#111b2b;color:#b6cbd6}.equipped-accessory-slots button[aria-selected=true]{background:#162e38;color:#dcfff8;border:2px solid #63f4e7;padding:5px 3px}.equipped-accessory-slots img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 2px #0005)}.equipped-accessory-slots span{font-size:9px;line-height:1.2}.wardrobe-header{padding-bottom:4px;border-bottom:1px solid #233142}
@media(max-width:350px){.wardrobe-header .wardrobe-tabs button{font-size:8px}.equipped-accessory-slots button{min-height:62px}.equipped-accessory-slots img{width:32px;height:32px}.equipped-accessory-slots span{font-size:8px}}

/* Accessories alone, three cards per row. */
.accessory-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.accessory-options .accessory-art{height:76px;padding:6px}.wardrobe-content{overflow-y:auto;flex:0 1 auto;min-height:0}.accessory-options .accessory-art img{width:100%;height:100%;object-fit:contain;transform:none}
@media(max-width:899px),(orientation:portrait){.accessory-options .accessory-art{height:64px;padding:5px}.garage-card{max-height:calc(100dvh - 180px)}.wardrobe-content{overflow-y:auto;flex:0 1 auto}}
@media(max-width:350px){.accessory-options .accessory-art{height:56px}}
@media(max-height:570px){.garage-card{max-height:calc(100dvh - 100px)}}
/* Show two accessory rows; scroll the remaining choices. */
.wardrobe-content:has(#accessories-fieldset:not([hidden])){max-height:241px;overflow-y:auto}
@media(max-width:899px),(orientation:portrait){.wardrobe-content:has(#accessories-fieldset:not([hidden])){max-height:217px}}
@media(max-width:350px){.wardrobe-content:has(#accessories-fieldset:not([hidden])){max-height:201px}}

.wardrobe-header .wardrobe-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:62px;padding:5px 2px 8px}.wardrobe-tabs .wardrobe-tab-icon{width:28px;height:28px;object-fit:contain;flex:none;filter:drop-shadow(0 1px 2px #0004)}.wardrobe-header .wardrobe-tabs button span{font-size:9px;line-height:1.2}.wardrobe-header .wardrobe-tabs button[aria-selected=true]::after{bottom:0}
@media(max-width:350px){.wardrobe-header .wardrobe-tabs button span{font-size:8px}.wardrobe-tabs .wardrobe-tab-icon{width:26px;height:26px}}

.accessory-goal-badge{display:block!important;min-height:0!important;font-size:9px!important;line-height:1.3!important;color:#ffe5a0}.result-unlocks{color:#63f4e7;font-size:14px;line-height:1.5}.wardrobe-accessory-action:disabled{line-height:1.5;padding:8px}

.surf-tap{position:fixed;left:50%;bottom:max(32px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:5;min-width:220px;min-height:60px;max-width:calc(100vw - 40px);padding:10px 18px;border:1.5px solid #63f4e7;border-radius:18px;background:#0b1220ed;box-shadow:0 3px 12px #0003;color:#dcfff8}.surf-tap>span{display:block;font-size:11px;line-height:1.4}.surf-tap>small{display:block;font-size:9px;color:#63f4e7;margin-top:4px}.surf-tap:disabled{cursor:default;opacity:.85}
/* The boss instruction itself is the tap target; no inset button or hand graphic. */
.boss-action .boss-tap{position:absolute;inset:0;width:100%;height:100%;min-height:48px;opacity:0;background:none!important;border:0;box-shadow:none;transform:none;filter:none}
.boss-action .boss-tap svg,.boss-action .boss-tap span{display:none}
.boss-action:has(.boss-tap:focus-visible){outline:3px solid white;outline-offset:6px;border-radius:8px}

.boss-continue-overlay{z-index:30;background:#071923bc;padding:24px;overflow:auto}
.boss-continue-card{display:flex;flex-direction:column;align-items:stretch;gap:18px;width:min(380px,100%);background:#0b1220;border:2px solid #51415e;border-radius:28px;padding:28px 24px;text-align:center}
.boss-continue-card h2{margin:0;font-size:27px;color:#60f0e2}.boss-continue-card p{margin:0;font-size:12px;line-height:1.6;color:#bbd6db}.boss-continue-card button{width:100%;min-width:0;min-height:54px;font-size:15px;justify-content:center;gap:12px;margin:0}.boss-continue-card button:disabled{opacity:.5;cursor:default}.continue-wallet{display:flex;justify-content:center;align-items:center;gap:8px}.boss-continue-card #continue-notice{font-size:10px;min-height:32px}.boss-continue-card #continue-skip{font-size:12px;min-height:38px}
.boss-prep-overlay{position:fixed;inset:auto 0 0;z-index:8;pointer-events:none;padding:34px 18px max(18px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#082235e6 32%,#082235f5);color:white}.boss-prep-panel{width:min(380px,100%);margin:0 auto;pointer-events:auto;display:flex;flex-direction:column;gap:12px}.prep-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.prep-heading h2{font-size:16px;margin:0;color:#c2fffa;text-shadow:0 2px 4px #092b40}.prep-wallet{display:flex;align-items:center;gap:6px}.prep-wallet img{object-fit:contain}.prep-wallet small{font-size:12px}.prep-ammo-status{display:flex;align-items:center;gap:12px}.prep-ammo-status>img{object-fit:contain;flex:none}.prep-ammo-meter{flex:1;min-width:0}.prep-ammo-meter p{font-size:23px;line-height:1.2;margin:0 0 7px;text-align:center;text-shadow:0 2px 4px #092b40}#boss-prep-progress{position:relative;height:15px;border:2px solid #b2eeef;background:#12364d;border-radius:12px;overflow:hidden}#boss-prep-fill{display:block;height:100%;width:0;background:#ffcf76;border-radius:10px;transition:width .2s}#boss-prep-progress.ready #boss-prep-fill{background:#5ceacb}#boss-prep-progress b{display:none;position:absolute;right:5px;top:-3px;color:#093e3d;font-size:12px}#boss-prep-progress.ready b{display:block}.boss-prep-purchases{display:grid;grid-template-columns:1fr 1fr;gap:10px}.boss-prep-purchases button{display:grid;grid-template-columns:44px 1fr;grid-template-rows:1fr 1fr;align-items:center;justify-items:center;gap:0 5px;min-height:76px;padding:9px;border:2px solid #62e7df;background:#0b2439e8;border-radius:19px;color:white;font-size:12px}.boss-prep-purchases .supply-art{grid-row:1/3;object-fit:contain}.supply-price{display:flex;align-items:center;justify-content:center;gap:5px;color:#c0f3f0;font-size:15px}.supply-price img{object-fit:contain}.boss-prep-purchases button:disabled{opacity:.45;cursor:default}.prep-start-row{display:flex;align-items:center;gap:10px}.prep-start-row .primary{flex:1;min-width:0;min-height:54px;padding:10px 16px;font-size:22px;justify-content:center}.prep-start-row .secondary{margin:0;min-width:36px;padding:5px;color:#c5f4f1;font-size:23px;text-decoration:none}.boss-ui.preparing .boss-action,.boss-ui.preparing .boss-ammo{display:none}@media(max-height:550px) and (min-width:600px){.boss-prep-overlay{inset:auto 0 0 auto;width:42%;padding:14px;background:linear-gradient(transparent,#082235f2 15%)}.boss-prep-panel{gap:8px}.prep-heading h2{font-size:12px}.prep-ammo-status>img{width:36px;height:36px}.prep-ammo-meter p{font-size:18px}.boss-prep-purchases button{min-height:62px}.prep-start-row .primary{min-height:42px;font-size:18px}}
@media(min-height:551px){.boss-prep-overlay{padding:22px 18px max(12px,env(safe-area-inset-bottom))}.boss-prep-panel{gap:8px}.prep-heading h2{font-size:14px}.prep-ammo-status>img{width:44px;height:44px}.prep-ammo-meter p{font-size:21px;margin-bottom:5px}#boss-prep-progress{height:13px}.boss-prep-purchases button{min-height:68px;padding:7px}.prep-start-row .primary{min-height:48px;font-size:21px}}
.saved-boosts-panel{flex-direction:column;gap:14px;overflow:auto}.saved-boosts-panel>p{margin:4px 0;font-size:11px;line-height:1.6;color:#b9d9df}#boost-shop-grid{display:flex;flex-direction:column;gap:12px}.saved-boost-card{display:flex;align-items:center;gap:12px;background:#112032;border:1px solid #3c334d;border-radius:20px;padding:14px}.saved-boost-card>img{object-fit:contain;flex:none}.saved-boost-card>div{flex:1;min-width:0}.saved-boost-card h3{font-size:15px;margin:0 0 5px}.saved-boost-card small{font-size:10px;color:#62eee0}.saved-boost-card p{font-size:10px;line-height:1.5;color:#abc8d1;margin:8px 0 0}.saved-boost-buy{display:flex;align-items:center;gap:7px;justify-content:center;min-width:76px;min-height:48px;border:0;border-radius:18px;background:#6adb98;color:#062d36;font-size:17px;padding:9px}.saved-boost-buy img{object-fit:contain}.saved-boost-buy:disabled{opacity:.4;cursor:default}.store-tabs button{padding:8px 5px;font-size:10px}
.run-boosts{position:fixed;bottom:max(110px,calc(env(safe-area-inset-bottom) + 90px));left:50%;transform:translateX(-50%);z-index:5;pointer-events:auto;text-align:center}.run-boosts>small{display:block;font-size:10px;color:#c6fff7;text-shadow:0 2px 3px #092b40;margin-bottom:6px;white-space:nowrap}.run-boosts>div{display:flex;gap:10px}.run-boosts button{position:relative;display:grid;place-items:center;width:56px;height:58px;border:2px solid #63f4e7;border-radius:18px;background:#0b2439ed;color:#e6fffa;box-shadow:0 3px 12px #0003;touch-action:manipulation;padding:5px}.run-boosts button img{object-fit:contain}.run-boosts button b{position:absolute;right:-5px;bottom:-5px;min-width:23px;padding:3px 5px;background:#183b4d;border:1px solid #69dcd3;border-radius:12px;font-size:10px}.run-boosts button:disabled{opacity:.45;cursor:default}.run-boosts button.active{opacity:1;border-color:#a5ffcc;box-shadow:0 0 10px #71ffd858}.run-boosts button:active:not(:disabled){transform:scale(.94)}.surf-tap{display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center;border:2px solid #63f4e7;border-radius:18px;background:#0b2439ed;padding:10px 16px;touch-action:manipulation}.surf-tap .tap-control-icon{grid-row:1/3;width:38px;height:38px;color:#72fff0}.surf-tap>span,.surf-tap>small{text-align:left}.surf-tap:active:not(:disabled){transform:translateX(-50%) scale(.96)}@media(max-height:550px){.run-boosts{bottom:20px;left:auto;right:20px;transform:none}.run-boosts button{width:50px;height:50px}}

/* Boss preparation prioritizes starting the fight; completed supplies disappear. */
.boss-prep-overlay{padding:22px 20px max(14px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#082235d9 45%,#082235ed)}.boss-prep-panel{gap:10px;width:min(360px,100%)}.prep-heading h2{font-size:12px;color:#a8c9d1;text-shadow:none}.prep-wallet small{font-size:11px}.prep-ammo-status{gap:10px}.prep-ammo-status>img{width:32px;height:32px}.prep-ammo-meter p{font-size:18px;text-align:left;margin-bottom:6px}.boss-prep-purchases button{grid-template-columns:30px 1fr auto;grid-template-rows:auto;min-height:54px;padding:8px;gap:6px;border:1px solid #6a929c;background:#0c2539d9;border-radius:14px;font-size:11px}.boss-prep-purchases .supply-art{grid-row:auto;width:30px;height:30px}.boss-prep-purchases .supply-price{font-size:13px}.boss-prep-purchases.one-option{grid-template-columns:1fr}.boss-prep-purchases.one-option button{grid-template-columns:34px 1fr auto;justify-items:start;padding:8px 14px}.prep-start-row{display:flex;flex-direction:column;gap:8px}.prep-start-row .primary{width:100%;flex:none;min-height:50px;font-size:21px}.prep-start-row .secondary{min-width:0;font-size:10px;min-height:24px;padding:4px 12px;color:#b3cbd1}.boss-prep-overlay.supplied{padding-top:18px}.supplied .prep-heading{display:none}.supplied .prep-ammo-status{justify-content:center}.supplied .prep-ammo-status>img{width:26px;height:26px}.supplied .prep-ammo-meter{flex:none}.supplied .prep-ammo-meter p{font-size:13px;color:#b5f3d7;margin:0;text-shadow:none}.supplied .prep-ammo-meter p:after{content:' ✓';color:#79e6af}@media(max-height:550px) and (min-width:600px){.boss-prep-panel{gap:7px}.prep-start-row .primary{min-height:42px}.boss-prep-overlay{padding:15px}}

.store-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:60px;padding:7px 4px;font-size:9px;line-height:1.2}.store-tab-icon{width:27px;height:27px;object-fit:contain;flex:none}.store-tabs button[aria-selected=false] .store-tab-icon{opacity:.8}

#boot-info{width:min(330px,100%);margin:12px 0 16px}#boot-progress{height:9px;border-radius:8px;background:#143b50;border:1px solid #83cfcf;overflow:hidden}#boot-fill{display:block;width:0;height:100%;background:#69e9d6;transition:width .2s}.intro #boot-status{font-size:10px;line-height:1.5;margin-top:7px;color:#d9fffb}.intro #boot-retry{font-size:12px;margin-top:7px;min-height:38px;color:#fff}
.hud-actions{display:flex;gap:8px;align-items:center;pointer-events:auto}#sound-toggle{width:36px;height:36px}#sound-toggle svg{width:19px;height:19px;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}#sound-toggle.muted{opacity:.65}#sound-toggle.muted .sound-waves{display:none}.home-tools{display:flex;gap:20px;margin-top:12px}.home-tools .secondary{margin:0;padding:7px 0;font-size:11px;color:#e6fffa;min-height:36px}.beta-tools{z-index:45;background:#071923d9;overflow:auto}.beta-tools-card{width:min(390px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:#0b1220;border:1px solid #486276;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px}.beta-tools-card h2{font-size:23px;color:#6af0df;margin:0}.beta-tools-card p,.beta-tools-card label{font-size:11px;line-height:1.6;margin:0;color:#bfd8de}.beta-tools-card textarea{display:block;width:100%;margin-top:8px;border:1px solid #557888;background:#173349;color:#fff;border-radius:12px;padding:12px;font:12px Bungee,sans-serif;resize:vertical}.beta-tools-card .primary{min-width:0;min-height:48px;font-size:14px;justify-content:center;gap:8px}.beta-tools-card .secondary{font-size:12px;margin:0;min-height:36px;color:#d8fffa}.upgrade-actions:has(.upgrade-watch[hidden]){grid-template-columns:1fr}.upgrade-watch[hidden]{display:none!important}#progress-summary{font-size:15px;color:#80efdd}#progress-notice,#feedback-notice{color:#80efdd;font-size:10px}

/* Audit 97: compact purchases, readable guidance, and reachable controls. */
.intro .control-hint{width:fit-content;max-width:100%;padding:9px 12px;border-radius:12px;background:#0b2238e8;color:#eaffff;text-shadow:none;font-size:12px;line-height:1.6;margin:12px 0 18px}
.control-hint span{display:block}.control-hint .touch-hint{display:none}
@media(pointer:coarse),(max-width:699px){.control-hint .touch-hint{display:block}.control-hint .keyboard-hint{display:none}}
.intro .primary{min-width:0;width:min(300px,100%);gap:10px;justify-content:center;white-space:nowrap}
#start-label{font-size:clamp(14px,4vw,20px)}
#sound-toggle{min-width:44px;min-height:44px}
.home-tools .secondary,.beta-tools-card .secondary{min-height:44px}
.upgrade-card{min-height:0;gap:8px}.upgrade-card-heading{min-height:42px}.upgrade-card-heading img{width:42px;height:42px;object-fit:contain}
.upgrade-card .upgrade-description{font-size:10px;line-height:1.5}.upgrade-card .upgrade-benefit{font-size:9px;line-height:1.5}
.upgrade-buy{color:#082d28}.upgrade-actions button{min-height:44px}.upgrade-actions .upgrade-buy{color:#082d28}.upgrade-card.maxed .upgrade-buy{color:#e0ffed}
.upgrade-panel{background:#102334f2}.upgrade-intro{display:none}.upgrade-header .eyebrow{display:none}
@media(max-width:1199px){.upgrade-card{min-height:205px;gap:7px}.upgrade-card-heading img{width:34px;height:34px}.upgrade-card-heading{min-height:34px}.upgrade-card-info{gap:4px}.upgrade-progress{gap:4px}.upgrade-card .upgrade-description{font-size:9px}.upgrade-card .upgrade-benefit{font-size:8px}}
@media(max-width:350px){.upgrade-header h2{font-size:17px}.upgrade-header h2 img{width:28px;height:28px}.wallet{padding:5px}.wallet strong{font-size:13px}.upgrade-header{gap:6px}.upgrade-panel{padding:12px}.wardrobe-header{gap:3px}.wardrobe-header .wardrobe-wallet{font-size:9px}}
.garage #wardrobe-continue-note{display:block;font-size:9px;line-height:1.5;text-align:center;color:#c5dae1;margin:0}
.accessory-options button:focus-visible{outline-offset:-4px}
@media(max-height:600px){.results-overlay{place-items:start center}.results-card{gap:12px;padding:20px;min-height:0}.result-heading,.result-time{min-height:0}.result-stats>div{height:64px;min-height:64px}.results-footer{display:none}.boss-continue-overlay{place-items:start center}.boss-continue-card{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.store-close{width:44px;height:44px;padding:12px}.prep-start-row .secondary{min-height:44px}
@media(max-width:899px),(orientation:portrait){.upgrade-panel{bottom:max(12px,env(safe-area-inset-bottom))}}
