@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#fff5dd;font-synthesis:none;--gold:#e9c586;--ink:#182321;background:#182321;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:5px;outline:3px solid #fff1bd}button:disabled{cursor:wait;opacity:.7}a{color:inherit;text-decoration:none}#game{height:100svh;min-height:480px;position:relative;overflow:hidden}#world{width:100%;height:100%;display:block;position:absolute;inset:0}.vignette{pointer-events:none;background:linear-gradient(90deg,#0a1716e3,#0a171673 35%,#0000 68%),linear-gradient(#0b171580,#0000 20% 78%,#081413d9);transition:background .5s;position:absolute;inset:0}.playing .vignette{background:linear-gradient(#09141177,#0000 25% 80%,#09141188)}header{z-index:4;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:32px 42px auto}.wordmark{letter-spacing:2.7px;align-items:center;gap:12px;font-size:14px;font-weight:800;display:flex}.wordmark i{color:var(--gold);font-family:Georgia,serif;font-weight:400}.wordmark svg{fill:none;width:29px;height:29px;stroke:var(--gold);stroke-width:1.4px}.top-actions{align-items:center;gap:22px;display:flex}.edition{letter-spacing:3px;opacity:.7;font-size:12px}.icon-button{color:#fff2d9;background:#14201d66;border:1px solid #ebcd8d40;border-radius:50%;justify-content:center;align-items:center;gap:5px;min-width:46px;min-height:42px;font-size:21px;display:flex}#sound{border-radius:22px;padding:0 14px}#sound-label{letter-spacing:1px;font-size:10px;font-weight:700}.menu{z-index:2;max-width:480px;position:absolute;top:50%;left:8%;transform:translateY(-48%)}.eyebrow{color:var(--gold);letter-spacing:2.8px;align-items:center;gap:12px;font-size:12px;font-weight:800;display:flex}.eyebrow>span{background:var(--gold);width:35px;height:1px}h1{letter-spacing:-5px;margin:31px 0 25px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(75px,8vw,132px);font-weight:500;line-height:.81;position:relative}h1 span{color:var(--gold);font-style:italic}h1 b{color:var(--gold);font-family:Georgia,serif;font-size:26px;font-weight:400;position:absolute;top:0;right:20px}.intro{color:#eee6d4bd;margin:30px 0;font-size:16px;line-height:1.7}.primary{background:var(--gold);color:#233029;border:1px solid #f4dcac;border-radius:3px;justify-content:space-between;align-items:center;gap:28px;width:100%;padding:19px 24px;font-size:15px;font-weight:800;transition:background .2s,transform .2s;display:flex;box-shadow:0 6px 28px #0003}.primary:hover{background:#f9dba1;transform:translateY(-2px)}.primary>span:last-child:not(:first-child){font-size:22px}.race-meta{letter-spacing:1px;color:#f4e9ce9c;gap:11px;margin-top:20px;font-size:10px;display:flex}.race-meta i{color:var(--gold);font-style:normal}.course-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#142622b8;border:1px solid #f4d59836;border-radius:4px;width:250px;padding:23px 20px 16px;position:absolute;bottom:125px;right:42px}.course-card .eyebrow{letter-spacing:2.5px;font-size:10px}.course-card h2{margin:9px 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:28px;font-weight:500}.course-card canvas{width:100%;height:132px}.course-bottom{letter-spacing:1px;color:#e9dec6ab;border-top:1px solid #e9c58625;justify-content:space-between;padding-top:14px;font-size:10px;display:flex}.menu-footer{justify-content:space-between;align-items:center;gap:25px;display:flex;position:absolute;bottom:34px;left:42px;right:42px}.control-guide{gap:22px;display:flex}.control-guide>span{color:#eee6d4a1;align-items:center;gap:5px;font-size:12px;display:flex}kbd{text-align:center;color:#f5e7cb;border:1px solid #eee0c354;border-radius:3px;min-width:24px;padding:6px;font-family:inherit;font-size:10px;font-weight:700;line-height:1}kbd:last-of-type{margin-right:4px}.model-link{color:#f1e7cfb5;font-size:12px}.model-link span{color:var(--gold);letter-spacing:1px;margin-left:10px;font-size:11px}.hidden{display:none!important}.hud{pointer-events:none;position:absolute;inset:0}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14221ab8;border:1px solid #f1d19244;border-radius:4px}.position{padding:18px 24px;position:absolute;top:114px;left:42px}.tiny{letter-spacing:2px;color:var(--gold);font-size:10px;font-weight:800;display:block}.position>div{align-items:baseline;gap:12px;display:flex}.position strong{font-family:Cormorant Garamond,Georgia,serif;font-size:66px;font-weight:500;line-height:1.1}.position div>span{color:#fff9;font-size:18px}.race-top{gap:30px;padding:18px 23px;display:flex;position:absolute;top:114px;right:42px}.race-top strong{font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:500;display:block}.race-top i{color:#fff7;font-size:15px;font-style:normal}.map-panel{width:218px;padding:16px;position:absolute;bottom:45px;left:42px}.map-panel canvas{width:100%;height:135px}.speed{width:180px;padding:18px 22px;position:absolute;bottom:45px;right:42px}.speed>strong{font-family:Cormorant Garamond,Georgia,serif;font-size:55px;font-weight:500;line-height:1}.speed>span{color:#fff9;margin-left:8px;font-size:11px}.boost-track{background:#e5cc9b26;border-radius:2px;height:5px;margin-top:14px;overflow:hidden}#boost-bar{background:var(--gold);width:100%;height:100%}.speed label{letter-spacing:1.5px;color:#e9c586;margin-top:9px;font-size:10px;display:block}.race-hint{white-space:nowrap;color:#f4e9ccba;font-size:11px;position:absolute;bottom:33px;left:50%;transform:translate(-50%)}.race-hint span{opacity:.4;margin:0 10px}.progress-track{background:#172b22;height:3px;position:absolute;bottom:0;left:0;right:0}#progress{background:var(--gold);width:0;height:100%}.countdown{color:#fff2ce;text-shadow:0 5px 30px #182b1c,0 0 70px #cdae5366;pointer-events:none;font-family:Cormorant Garamond,Georgia,serif;font-size:150px;font-weight:600;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.toast{color:var(--gold);text-shadow:0 2px 7px #000;opacity:0;pointer-events:none;white-space:nowrap;font-size:16px;font-weight:800;transition:opacity .15s;position:absolute;top:26%;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.modal{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1914a8;place-items:center;padding:22px;display:grid;position:absolute;inset:0;overflow:auto}.modal-card{text-align:center;background:#1a2a24;border:1px solid #e9c58666;border-radius:5px;width:100%;max-width:420px;padding:38px;box-shadow:0 25px 100px #0006}.modal-card .eyebrow{justify-content:center;font-size:11px}.modal-card h2{margin:18px 0 8px;font-family:Cormorant Garamond,Georgia,serif;font-size:46px;font-weight:500;line-height:1}.modal-card p{color:#e3d9c6b8;margin:15px 0 25px;font-size:14px;line-height:1.7}.secondary{color:#efe1c4ab;background:0 0;border:0;padding:18px 12px 0;font-size:13px}.trophy{color:var(--gold);margin-top:15px;font-size:48px}.results-card{max-width:440px;padding:30px}.results-card h2{margin-top:5px;font-size:41px}.result-stats{border-top:1px solid #d7b97e33;border-bottom:1px solid #d7b97e33;justify-content:space-around;margin-bottom:15px;padding:17px 0;display:flex}.result-stats strong{margin-top:5px;font-size:26px;font-weight:500;display:block}.results-card ol{text-align:left;margin:0 0 22px;padding:0;list-style:none}.results-card li{color:#e8dfcea8;justify-content:space-between;padding:6px 8px;font-size:12px;display:flex}.results-card li.you{color:var(--gold);background:#e9c58612;border-radius:2px}.touch{z-index:5;pointer-events:none;justify-content:space-between;display:none;position:absolute;bottom:23px;left:18px;right:18px}.touch>div{gap:8px;display:flex}.touch button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;color:#ffedc8;background:#162e24ba;border:1px solid #e9c58688;border-radius:50%;width:58px;height:58px;font-size:11px;font-weight:800}.touch button:active{color:#15231b;background:#bb9e59}@media (pointer:coarse){.touch:not(.hidden){display:flex}.control-guide,.race-hint{display:none}.speed,.map-panel{bottom:98px}}@media (max-width:800px){header{inset:22px 22px auto}.edition{display:none}.wordmark{letter-spacing:1.8px;font-size:12px}.top-actions{gap:8px}.menu{max-width:360px;left:7%}.menu h1{font-size:96px}.course-card{width:205px;bottom:105px;right:24px}.menu-footer{bottom:28px;left:24px;right:24px}.control-guide{flex-wrap:wrap;gap:12px;width:330px}.course-card canvas{height:110px}.course-card h2{font-size:26px}.race-hint{display:none}.position{padding:12px 18px;top:90px;left:20px}.race-top{gap:20px;padding:13px 17px;top:90px;right:20px}.map-panel{width:170px;left:20px}.speed{width:145px;padding:16px;right:20px}}@media (max-width:580px){#game{min-height:450px}.vignette{background:linear-gradient(90deg,#0c211dd9,#0c211d65),linear-gradient(#0000 35%,#0c211ded)}.menu{max-width:350px;top:47%;left:27px;right:27px}.menu h1{margin-top:24px;font-size:92px}.intro{margin:23px 0;font-size:15px}.eyebrow{letter-spacing:2px;font-size:10px}.course-card{display:none}.race-meta{gap:8px;font-size:9px}.menu-footer{flex-direction:column;align-items:flex-start;gap:16px;bottom:23px;left:27px;right:27px}.control-guide{gap:10px;width:auto}.control-guide>span{font-size:10px}.model-link{font-size:11px}.position strong{font-size:44px}.position{padding:11px 15px}.tiny{font-size:9px}.race-top strong{font-size:20px}.race-top{gap:15px}.map-panel{width:132px;padding:10px}.map-panel canvas{height:90px}.speed>strong{font-size:42px}.speed{width:129px;padding:12px}.touch button{width:51px;height:51px}.touch{left:14px;right:14px}.modal-card{padding:28px}.results-card{max-height:94svh;overflow:auto}.countdown{font-size:112px}}@media (max-height:650px) and (min-width:700px){.menu h1{font-size:82px}.menu .intro{margin:18px 0}.menu{top:49%}.eyebrow{font-size:10px}.course-card{bottom:92px}.primary{padding:14px 22px}.race-meta{margin-top:13px}.menu-footer{bottom:25px}.results-card{max-height:94svh;overflow:auto}}.wordmark-button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.icon-button span{letter-spacing:1px;font-size:10px;font-weight:700}.loading-screen{z-index:20;background:#182321;place-items:center;display:grid;position:absolute;inset:0}.boost-track>div,.progress-track>div{background:var(--gold);height:100%}
