*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;width:100%;overflow:hidden;background:#263440;color:white;font-family:'Arial Rounded MT Bold',ui-rounded,system-ui,sans-serif;touch-action:none;user-select:none}canvas#game{position:fixed;inset:0;width:100%;height:100%}[hidden]{display:none!important}button,input{font:inherit}button{color:white;cursor:pointer;border:3px solid #081118;border-radius:13px;font-weight:1000;background:#00b9ed;box-shadow:inset 0 3px #ffffff70,inset 0 -5px #009bd0,0 3px #081118;touch-action:manipulation}button:active{transform:translateY(2px)}button:focus-visible,input:focus-visible{outline:3px solid #fbd23f;outline-offset:3px}#hud{position:fixed;inset:0;pointer-events:none;padding:max(15px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));font-weight:1000;text-shadow:2px 2px #05090e,-2px -2px #05090e,2px -2px #05090e,-2px 2px #05090e}#hud button{pointer-events:auto}.left{position:absolute;top:20px;left:20px;width:155px}.left strong{font-size:55px;line-height:1;display:block;filter:drop-shadow(0 6px #000)}.left>b{display:block;font-size:20px;margin:20px 0 14px}#racers{display:flex;flex-direction:column;gap:5px}.racerrow{border:2px solid #080e13;border-radius:10px;padding:4px 9px;text-align:center;font-size:12px;box-shadow:inset 0 2px #ffffff25}.racerrow.dead{opacity:.5}.right{position:absolute;right:20px;top:18px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.right button{font-size:21px;padding:6px 22px}.right small{font-size:9px;letter-spacing:.4px;margin-top:4px}.right div{font-size:10px;color:#c5edf2;margin-top:6px}.right>b{font-size:18px;font-variant-numeric:tabular-nums}.progress{position:absolute;left:41%;right:41%;top:50px;height:14px;border:2px solid #0a0d16;border-radius:4px;background:#343645b0}.progress i{display:block;width:0;height:100%;background:#65ec00;border-radius:2px}.progress span{position:absolute;color:#ffe12d;font-size:26px;left:0;top:-36px}.progress b{position:absolute;right:-12px;top:-8px;font-size:26px}#lesson{position:absolute;top:20%;left:24px;display:flex;align-items:flex-start;gap:10px;max-width:410px}.mentor{font-size:40px;background:#00b9ed;border:3px solid #111;border-radius:20px;padding:9px;text-shadow:none}#lesson p{margin:0;background:#fff;border:3px solid #12151b;color:#384271;text-shadow:none;border-radius:16px;padding:14px 20px;font-size:17px;text-align:center;line-height:1.5;font-weight:1000}.bottomhint{position:absolute;bottom:17px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.6px;color:#edf6fe}#power{position:absolute;right:22px;bottom:45px;width:82px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ff9c00;box-shadow:inset 0 3px #ffffff66,inset 0 -5px #cc7200,0 3px #081118}#power span{font-size:34px;line-height:35px}#power b{font-size:12px}#power small{font-size:7px;text-shadow:none}#countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:110px;color:#ffdb32;pointer-events:none}#menu{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#26344065;backdrop-filter:blur(3px);padding:16px}.menu-card{width:330px;max-height:100%;overflow:auto;text-align:center;background:#283c51f2;border:3px solid #0b1521;border-radius:26px;padding:22px 25px;box-shadow:0 8px #09111c66,inset 0 2px #83b1cb66}.tag{font-size:9px;font-weight:900;letter-spacing:2px;color:#c3e9ee}h1{font-size:66px;line-height:.84;letter-spacing:-3px;margin:18px 0 12px;font-weight:1000;filter:drop-shadow(0 5px #071019);-webkit-text-stroke:2px #0c1520}h1 em{color:#87d53c;font-style:normal}.subtitle{font-size:12px;color:#c1d9e7;margin:12px 0 0}.jelly-picker{display:flex;align-items:center;justify-content:center;height:100px}.jelly-picker button,.track-select button{background:#486680;box-shadow:inset 0 2px #a4c5da55;width:32px;height:36px;font-size:24px;border-width:2px}.name-label{display:block;font-size:8px;letter-spacing:1.5px;text-align:left;color:#adcbdf;font-weight:900}.name-label input{width:100%;border:2px solid #0f2032;background:#162b3d;color:#fff;border-radius:10px;padding:10px 12px;margin-top:5px;user-select:text;font-size:13px}.track-select{display:flex;align-items:center;justify-content:space-between;margin:14px 0}.track-select small{display:block;font-size:8px;letter-spacing:1px;color:#a4c1d4}.track-select b{display:block;font-size:14px;margin-top:3px}.primary{width:100%;font-size:16px;padding:13px}.secondary{width:100%;font-size:11px;padding:10px;background:#547d96;box-shadow:inset 0 2px #91b4c7,inset 0 -4px #3d5e75,0 3px #081118;margin-top:11px}.menu-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px;color:#b3cddc;font-size:8px}.menu-footer button{background:none;box-shadow:none;border:0;font-size:8px;color:#b3cddc}.orientation{display:block;color:#7c9cb2;font-size:8px;margin-top:13px}.modal{position:fixed;inset:0;display:grid;place-items:center;background:#102131bc;backdrop-filter:blur(7px);padding:20px}.result{background:#304b60;border:3px solid #0a1925;box-shadow:0 8px #101d26;border-radius:25px;padding:30px;width:340px;text-align:center}.result small{color:#9bdc54;letter-spacing:1px;font-size:10px;font-weight:900}.result h2{font-size:37px;margin:14px 0;-webkit-text-stroke:1px #122230}.result p{font-size:12px;line-height:1.8;color:#d3e1ec;margin-bottom:22px}.plain{background:none;border:0;box-shadow:none;font-size:10px;color:#b7d0e0;margin-top:22px}@media(orientation:portrait){.left{width:106px;left:12px;top:16px}.left strong{font-size:38px}.left>b{font-size:14px;margin:13px 0 10px}.racerrow{font-size:9px;padding:4px}.right{right:12px;top:14px}.right button{padding:5px 14px;font-size:18px}.right small{font-size:7px}.right>b{font-size:14px}.progress{left:36%;right:29%;top:39px;height:10px}.progress span{font-size:21px;top:-29px}.progress b{font-size:20px}#lesson{top:25%;left:12px;max-width:290px}.mentor{font-size:25px;padding:7px}#lesson p{font-size:13px;padding:12px}#power{width:65px;height:73px}.bottomhint{font-size:8px}}@media(max-height:540px){.menu-card{width:540px;padding:15px 25px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.tag{grid-column:1/-1}h1{grid-column:1;grid-row:2 / 5;font-size:65px}.subtitle{grid-column:1;grid-row:5;margin:0}.jelly-picker{grid-column:1;grid-row:6 / 10}.name-label{grid-column:2;grid-row:2;margin-top:14px}.track-select{grid-column:2;grid-row:3}.primary{grid-column:2;grid-row:4}.secondary{grid-column:2;grid-row:5}.menu-footer{grid-column:2;grid-row:6}.orientation{grid-column:1/-1}.left strong{font-size:40px}.left>b{margin:12px 0 8px;font-size:16px}#lesson{top:31%;max-width:350px}#lesson p{font-size:12px}.mentor{font-size:28px}}

canvas.mentor{width:65px;height:76px;background:none;border:0;padding:0;flex-shrink:0}@media(orientation:portrait){canvas.mentor{width:48px;height:56px}}
#menu{background:linear-gradient(135deg,#34c5e0ed,#168bdbed);backdrop-filter:blur(8px)}#menu:before{content:'✦ ◇ ♛ ✦ ◇ ♛ ✦ ◇ ♛';position:absolute;inset:0;opacity:.1;font-size:110px;line-height:1.7;word-spacing:35px;pointer-events:none;overflow:hidden}.menu-card{position:relative;background:transparent;border:0;box-shadow:none;width:380px;padding:18px 30px}.tag{color:#d1f8ff}h1{font-size:45px;line-height:.9;letter-spacing:-2px;margin:12px 0}h1 br{display:none}h1 em{margin-left:10px;color:#fff35c}.subtitle{color:#c8f3ff;font-weight:800}.trophy-stat{display:inline-flex;align-items:center;gap:5px;background:#1773ac;border:2px solid #105780;border-radius:16px;padding:6px 16px;margin-top:13px;font-size:10px;font-weight:900}.jelly-picker{height:135px}.jelly-picker canvas{width:180px;height:144px}.name-label{color:#e2f9ff}.name-label input{background:#147db4;border-color:#116498;box-shadow:inset 0 2px #0c6ca555}.track-select small{color:#c8f4ff}.track-select b{text-shadow:1px 2px #0a6086}.jelly-picker button,.track-select button{background:#219dc8;border-color:#13779c}.primary{background:#ffdd48;color:#111f25;box-shadow:inset 0 3px #fff59d,inset 0 -5px #dfaa22,0 3px #081118;padding:15px;font-size:19px;border-radius:21px}.secondary{background:#06add6;box-shadow:inset 0 2px #7cdfff,inset 0 -4px #0789b5,0 3px #081118}.booster-slots{position:relative;display:flex;justify-content:center;gap:5px;padding:12px 10px 8px;margin-top:22px;background:#b8bdd1;border:3px solid #495169;border-radius:15px;box-shadow:inset 0 2px #fff6}.booster-slots small{position:absolute;left:0;right:0;top:-16px;font-size:8px;font-weight:900;text-shadow:1px 1px #225780}.booster-slots span{width:70px;height:40px;display:grid;place-items:center;border:2px solid #8e95b4;border-radius:8px;background:#d4d5e3;box-shadow:inset 0 2px #ffffff55;color:#1c83ac;font-size:22px}.menu-footer,.menu-footer button{color:#e1f5ff}.orientation{color:#b7e7fa}.right small{color:#cef3eb}#speedometer{position:absolute;bottom:50px;left:22px;border:2px solid #111c23;border-radius:13px;background:#1b374bc9;padding:7px 12px;min-width:60px;text-align:center}#speedometer b{font-size:22px;display:block;color:#ffdc39}#speedometer small{font-size:7px;letter-spacing:1px}.progress{height:11px}.left strong{font-size:49px}.result .primary{font-size:15px}.result .secondary{font-size:11px}@media(max-height:540px){.menu-card{width:660px;grid-template-columns:1fr 1fr;padding:10px 30px}.tag{grid-row:1;grid-column:1/-1}h1{grid-row:2;grid-column:1;font-size:40px;margin:15px 0 8px}.subtitle{grid-row:3;grid-column:1}.trophy-stat{grid-row:4;grid-column:1;justify-self:center;margin:8px 0 0}.jelly-picker{grid-row:5/10;grid-column:1;height:110px}.name-label{grid-column:2;grid-row:2}.track-select{grid-column:2;grid-row:3}.primary{grid-column:2;grid-row:4;padding:12px}.booster-slots{grid-column:2;grid-row:5;margin-top:20px;padding:6px}.booster-slots span{height:30px}.secondary{grid-column:2;grid-row:6;margin-top:9px}.menu-footer{grid-column:2;grid-row:7;margin-top:10px}.orientation{grid-row:10;grid-column:1/-1}.left strong{font-size:36px}}@media(max-height:730px) and (orientation:portrait){.menu-card{padding:12px 22px}h1{font-size:36px;margin:9px}.jelly-picker{height:100px}.jelly-picker canvas{width:150px;height:120px}.trophy-stat{margin-top:8px}.track-select{margin:10px 0}.booster-slots{margin-top:19px}.booster-slots span{height:30px}.menu-footer{margin-top:12px}.orientation{margin-top:8px}}
#menu{background:linear-gradient(#35c3e7f5,#28a6daf5);backdrop-filter:blur(4px)}#menu:before{content:'';background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='110' viewBox='0 0 120 110'%3E%3Cg fill='%23ffffff' opacity='.75'%3E%3Cpath d='M20 13l4 9 10 1-8 6 2 10-8-5-9 5 2-10-8-6 11-1z'/%3E%3Cpath d='M78 70h22v5c0 12-5 17-11 17s-11-5-11-17zm7 22h8v6h8v5H77v-5h8z'/%3E%3Cpath d='M74 74h7v5h-3c0 6 4 7 6 8v5c-8-2-10-8-10-18zm24 0h7c0 10-2 15-10 18v-5c4-2 6-4 6-8h-3z'/%3E%3C/g%3E%3C/svg%3E");opacity:.1;background-size:120px 110px}#menu .menu-card{display:block;position:relative;width:100%;height:100%;max-width:1100px;overflow:hidden;padding:0}#menu .tag{position:absolute;left:0;right:0;top:10px;font-size:8px;letter-spacing:2px}#menu h1{position:absolute;left:0;right:0;top:25px;font-size:35px;line-height:1;margin:0}#menu .subtitle{position:absolute;left:0;right:0;top:62px;margin:0;font-size:10px}#menu .trophy-stat{position:absolute;top:12px;left:10px;margin:0;padding:7px 14px;font-size:11px}#menu .jelly-picker{position:absolute;top:31%;left:50%;transform:translate(-50%,-20%);width:270px;height:140px;margin:0}#menu .jelly-picker canvas{width:200px;height:160px}#menu .jelly-picker button{background:#168bbcaf;border-color:#0c729d;width:33px;height:38px}#menu .name-label{position:absolute;left:10px;top:78px;width:170px}#menu .name-label input{padding:8px 10px;font-size:11px}#menu .track-select{position:absolute;right:10px;top:84px;width:180px;margin:0;background:#1374a84d;border:2px solid #147aaa;border-radius:13px;padding:7px 5px}#menu .track-select b{font-size:11px}#menu .primary{position:absolute;top:58%;left:50%;transform:translateX(-50%);width:200px;padding:13px;border-radius:22px;font-size:19px}#menu .primary:active{transform:translateX(-50%) translateY(2px)}#menu .booster-slots{position:absolute;top:77%;left:50%;transform:translateX(-50%);width:230px;margin:0;padding:6px}.booster-slots span{height:37px}#menu .secondary{position:absolute;left:10px;top:180px;width:165px;line-height:1.4;margin:0;padding:12px;font-size:10px}#menu .menu-footer{position:absolute;bottom:10px;left:10px;right:10px;margin:0}#menu .menu-footer button{position:absolute;right:0;bottom:0;font-size:10px;background:#1884b6;border:2px solid #136d99;padding:8px;border-radius:10px}#menu .orientation{position:absolute;bottom:10px;left:200px;right:200px;margin:0;font-size:8px;color:#e5faff}#speedometer{display:none}.right small{font-size:8px}.left{width:135px}.left>b{margin:12px 0 10px}.racerrow{padding:3px 8px}.bottomhint{opacity:.8;font-size:9px}@media(orientation:portrait){#menu .trophy-stat{top:15px;left:5px;padding:6px;font-size:9px}#menu h1{top:72px;font-size:40px}#menu .tag{top:50px}#menu .subtitle{top:118px}#menu .jelly-picker{top:30%;width:270px;height:170px}#menu .jelly-picker canvas{width:220px;height:176px}#menu .name-label{top:51%;left:50%;transform:translateX(-50%);width:240px}#menu .track-select{top:62%;left:50%;right:auto;transform:translateX(-50%);width:240px}#menu .primary{top:72%;width:240px}#menu .booster-slots{display:none}#menu .secondary{top:84%;left:50%;transform:translateX(-50%);width:240px;padding:10px}#menu .menu-footer{bottom:0;left:0;right:0;font-size:8px}#menu .menu-footer button{position:fixed;top:25px;right:20px;bottom:auto;font-size:8px}#menu .orientation{bottom:20px;left:0;right:0;font-size:8px}#menu .menu-card{overflow:auto}}@media(max-height:410px) and (orientation:landscape){#menu h1{top:23px;font-size:28px}#menu .subtitle{top:55px}#menu .jelly-picker{top:25%;height:120px}#menu .jelly-picker canvas{width:150px;height:120px}#menu .primary{top:57%;padding:10px}#menu .booster-slots{top:77%;padding:4px}.booster-slots span{height:27px}#menu .secondary{top:150px;width:145px}#menu .name-label{top:72px;width:150px}#menu .track-select{top:80px;width:165px}#menu .tag{font-size:7px}}
#menu .track-select>div{flex:1;min-width:0}#menu .track-select .browse-maps{font-size:7px;border:0;background:#0c6898;box-shadow:none;width:auto;height:auto;padding:5px 9px;border-radius:6px;margin-top:6px;color:#d5f6ff;letter-spacing:.4px}#menu .track-select{width:215px}#mapSelect{position:fixed;inset:0;z-index:15;background:#12334cf5;backdrop-filter:blur(8px);padding:max(20px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));overflow:auto;touch-action:pan-y}#mapSelect header{max-width:1000px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between}#mapSelect h2{font-size:23px;margin:0 0 6px}#mapSelect header p{font-size:11px;color:#a2cadc;margin:0}#closeMaps{width:40px;height:40px;font-size:18px}#mapGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1000px;margin:auto}.map-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;padding:10px;background:#24536e;border:2px solid #457490;box-shadow:0 4px #102232;border-radius:14px;touch-action:pan-y}.map-card.selected{border-color:#ffda4c;box-shadow:0 4px #bc8e13}.map-card:hover{background:#2b617e}.map-visual{height:75px;width:100%;display:flex;align-items:center;border-radius:8px;padding:5px;margin-bottom:10px}.theme-0{background:#65758e;color:#b6e4e7}.theme-1{background:#a39154;color:#fff0b5}.theme-2{background:#9e597e;color:#ffd28d}.theme-3{background:#42406b;color:#d591ff}.map-visual svg{width:100%;height:100%}.map-card small{font-size:7px;letter-spacing:1px;color:#a2d3e3}.map-card>b{font-size:13px;line-height:1.3;margin:5px 0}.map-feature{font-size:8px;color:#c0dce7;font-weight:600;min-height:20px;line-height:1.5}.map-difficulty{font-size:8px;color:#ffda4c;letter-spacing:.5px;margin-top:5px}.map-difficulty em{color:#58788b;font-style:normal}.map-best{font-size:8px;color:#a3d2e3;margin-top:8px;font-weight:600}@media(max-width:750px){#mapGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#mapSelect h2{font-size:18px}}@media(orientation:portrait){#mapGrid{grid-template-columns:repeat(2,minmax(0,1fr))}#mapSelect{padding:22px 15px}.map-card>b{font-size:12px}#menu .track-select{width:240px}}@media(max-height:410px) and (orientation:landscape){#menu .track-select{width:190px;top:70px}#menu .track-select b{font-size:10px}#mapSelect header{margin-bottom:13px}.map-visual{height:55px}}
