@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;0,900;1,800;1,900&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--cream:#f2f0e4;--green:#213e39;--muted:#8c9584;--line:#d7dbca;--orange:#e36c40;--yellow:#e9cf76;--mono:'IBM Plex Mono',monospace;--display:'Barlow Condensed','Arial Narrow',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--green);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit}button:disabled{cursor:default;opacity:.5}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:4px}button:hover{filter:brightness(.96)}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.home{max-width:1680px;padding:0 55px;margin:auto}header{height:93px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font:italic 900 33px var(--display);letter-spacing:-.6px;gap:10px}.logo-icon{display:inline-flex;align-items:center;justify-content:center;border:2px solid currentColor;border-radius:50%;width:35px;height:35px;font:800 32px/.8 var(--display);padding-bottom:5px;transform:rotate(-12deg)}.brand .brand-tiny{font:600 7px/1.5 var(--mono);letter-spacing:1px;border-left:1px solid #bec6b4;padding-left:11px;margin-left:4px}.header-middle{font:8px var(--mono);letter-spacing:.8px;color:#8c9683}.header-end{display:flex;align-items:center;gap:8px;font:8px var(--mono);letter-spacing:.5px}.live-dot{width:5px;height:5px;border-radius:50%;background:#6d8b57}.icon-button{background:none;border:1px solid var(--line);border-radius:50%;width:30px;height:30px;margin-left:15px;font:12px var(--mono)}.hero{display:grid;grid-template-columns:.95fr 1.65fr;gap:44px;padding:45px 0 38px}.hero-copy{padding-top:8px}.eyebrow,.section-label{display:flex;align-items:center;gap:8px;font:500 8px var(--mono);letter-spacing:1.1px}.mini-flag{display:inline-block;width:18px;height:13px;background:conic-gradient(var(--green) 25%,transparent 0 50%,var(--green) 0 75%,transparent 0);background-size:8px 8px;border:1px solid var(--green);transform:skewY(-8deg);flex-shrink:0}.hero h1{font:italic 900 82px/.84 var(--display);letter-spacing:-1.8px;margin:29px 0 23px;white-space:nowrap}.hero h1>span{color:var(--orange)}.hero-copy>p{font-size:12px;color:#8a9380;line-height:1.8;margin:0}.hero-note{display:flex;align-items:center;gap:13px;margin:24px 0 30px}.arrow-circle{width:32px;height:32px;border:1px solid #b8c3a8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px}.hero-note>span:last-child{font:8px/1.65 var(--mono);letter-spacing:.8px}.edition{font:7px var(--mono);letter-spacing:.6px;color:#8b977f;display:flex;align-items:center;gap:14px}.edition>span{border-left:1px solid #bfcab1;padding-left:14px}.hero-track{border:1px solid #bac3b0;border-radius:4px;overflow:hidden;min-width:0;background:#d3c7a6;display:flex;flex-direction:column}.track-topline,.track-bottom{display:flex;align-items:center;justify-content:space-between;background:#e2e3d3;font:6px var(--mono);letter-spacing:.7px;padding:14px 17px}.track-topline>span:first-child{display:flex;align-items:center;gap:6px;font-size:7px}.track-topline i{display:block;background:#6e8e59;width:5px;height:5px;border-radius:50%}.hero-track>canvas{width:100%;min-height:290px;flex:1;display:block}.track-bottom{border-top:1px solid #b4bca8;padding:11px 17px}.track-bottom>span:first-child{font-size:8px}.track-bottom b{margin-left:12px}.track-bottom i{font-style:normal;color:#91a081;margin:0 10px}.track-bottom .track-direction{font-size:24px;line-height:1}.race-setup{display:grid;grid-template-columns:1.1fr 1.5fr .95fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;gap:28px}.section-label{justify-content:space-between;color:#73856c;font-size:7px;letter-spacing:.8px}.section-label>span{font-size:6px;color:#9aa28d}.car-choice{padding-right:20px;border-right:1px solid var(--line)}.car-choice-content{display:flex;align-items:center;gap:11px;margin-top:12px;min-height:84px}.car-choice-content>canvas{width:122px;height:78px;flex-shrink:0}.car-choice-content>div>strong{font:600 11px var(--display);letter-spacing:.8px;white-space:nowrap}.car-choice-content>div>span{display:block;font-size:8px;color:#919a84;margin:6px 0 12px}.paints{display:flex;gap:6px}.paints button{position:relative;width:15px;height:15px;border:1px solid #223b3b1a;border-radius:50%;padding:0}.paints button[aria-pressed=true]:after{content:'';position:absolute;inset:-4px;border:1px solid #54704e;border-radius:50%}.setup-options{padding-right:25px;border-right:1px solid var(--line)}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 25px;margin-top:19px}.option-grid label{display:flex;flex-direction:column;gap:6px;font:6px var(--mono);letter-spacing:.7px;color:#94a087}.option-grid select{background:none;border:0;border-bottom:1px solid #c7cfba;padding:0 0 5px;font:10px 'DM Sans',sans-serif;letter-spacing:0;color:var(--green);outline:none;max-width:100%}.assist-row{display:flex;align-items:center;gap:5px;letter-spacing:0;font:9px 'DM Sans',sans-serif;color:var(--green);padding:0 0 3px}.assist-row input{accent-color:var(--green);margin:0 2px 0 0;width:12px;height:12px}.assist-pill{font:6px var(--mono);color:#748866;background:#e1e7d3;border-radius:3px;padding:2px 4px;margin-left:auto}.start-panel{display:flex;flex-direction:column;gap:12px}.start-button{display:flex;align-items:center;justify-content:space-between;background:var(--orange);color:#fff9e4;border-radius:3px;padding:16px 19px;text-align:left;font:italic 800 29px/.95 var(--display);letter-spacing:-.2px;flex:1;min-height:91px}.start-arrow{font:39px/1 'DM Sans',sans-serif}.start-foot{font:5.5px var(--mono);color:#949e88;letter-spacing:.2px;text-align:center}.below{display:grid;grid-template-columns:1.1fr 1.4fr .8fr;gap:28px;padding:31px 0;border-bottom:1px solid var(--line);align-items:center}.brief h2{font:600 22px/1.05 var(--display);margin:11px 0 10px}.brief p{font-size:9px;line-height:1.8;color:#8c9781;margin:0}.controls{display:flex;gap:15px;justify-content:center}.controls>div{display:flex;align-items:center;flex-direction:column;gap:10px}.controls kbd{font:8px var(--mono);border:1px solid #c2cdb4;border-bottom:3px solid #c2cdb4;border-radius:3px;padding:8px 9px;white-space:nowrap}.controls span{font:6px var(--mono);letter-spacing:.7px;color:#8c9b7d}.personal-best{border-left:1px solid var(--line);padding:14px 0 14px 27px;display:flex;flex-direction:column;gap:9px}.personal-best strong{font:500 29px var(--display);letter-spacing:1px}.personal-best>span:last-child{font:6px var(--mono);color:#96a18a;letter-spacing:.7px}footer{display:flex;align-items:center;justify-content:space-between;font:6px var(--mono);letter-spacing:.6px;color:#929e85;padding:21px 0}footer>span{display:flex;align-items:center;gap:10px}footer .mini-flag{width:12px;height:10px;opacity:.6;background-size:6px 6px}footer b{font-size:23px;color:#536f4d;margin-left:20px}.game{position:fixed;inset:0;background:#d3c7a6;color:#fff8df;overflow:hidden}.game>canvas{position:absolute;inset:64px 0 83px;width:100%;height:calc(100% - 147px);touch-action:none}.race-header{height:64px;position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;background:var(--green);padding:0 25px;border-bottom:3px solid #e3cf79}.race-brand{display:flex;align-items:center;gap:9px;font:italic 900 22px var(--display);letter-spacing:-.2px}.race-brand .logo-icon{width:26px;height:26px;font-size:24px;color:var(--yellow)}.race-brand>small{font:7px var(--mono);letter-spacing:.6px;margin-left:12px;color:#9bb3a1;border-left:1px solid #5b776b;padding-left:16px}.lap-hud{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:baseline;gap:10px}.lap-hud>span{font:9px var(--mono);color:#b7c7af}.lap-hud>strong{font:700 38px var(--display);color:#f3de95}.race-header-controls{display:flex;align-items:center;gap:8px}.hud-button{background:#ffffff08;border:1px solid #67847766;border-radius:3px;padding:8px;color:#ced8c0;font:8px var(--mono);letter-spacing:.4px}.position-board{position:absolute;top:82px;left:22px;width:135px;background:#203d36e8;box-shadow:0 8px 16px #1a302222;border-radius:4px;overflow:hidden}.position-top{padding:13px 14px;border-bottom:1px solid #74917a55;display:flex;justify-content:space-between;align-items:center}.position-top>span{font:7px var(--mono);color:#a7b9a0;letter-spacing:.7px}.position-top strong{font:700 30px var(--display);color:#f3de95}.position-top small{font:9px var(--mono);color:#b5c6aa;margin-left:3px}.stand-row{display:flex;align-items:center;gap:7px;font:8px var(--mono);padding:8px 11px;border-bottom:1px solid #74917a22}.stand-row>span:first-child{color:#8aa18e;font-size:7px}.stand-row i{width:4px;height:12px}.stand-row.you{background:#c6d6b522;color:#fff2b0}.stand-row small{margin-left:auto;font-size:6px;color:#8fa78f}.timing{position:absolute;right:23px;top:85px;display:flex;flex-direction:column;gap:12px;text-align:right;color:#203d36;background:#f2efdbd9;padding:13px 16px;border-radius:4px;min-width:118px;box-shadow:0 4px 10px #21352215}.timing>div{display:flex;flex-direction:column;gap:3px}.timing span{font:6px var(--mono);letter-spacing:1px;color:#718368}.timing strong{font:500 21px var(--display);letter-spacing:.6px}.countdown{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;background:#213c36ee;padding:20px 35px;min-width:195px;border-radius:4px;box-shadow:0 10px 35px #17291f33;pointer-events:none}.countdown>small{font:8px var(--mono);color:#9fb395;letter-spacing:2px}.countdown strong{font:italic 800 110px/1.1 var(--display);color:#edcf76;display:block}.countdown>span{font:7px var(--mono);color:#afc2a5;letter-spacing:.6px}.race-message{position:absolute;left:50%;top:87px;transform:translateX(-50%);background:#213d35e8;color:#f1dc99;font:700 20px var(--display);letter-spacing:1px;padding:9px 24px;border-radius:3px;pointer-events:none;opacity:0}.race-message.show{opacity:1}.race-bottom{height:83px;position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;background:var(--green);border-top:1px solid #6d886444;padding:10px 27px}.track-status{display:flex;align-items:center;gap:10px}.green-flag{display:inline-block;width:20px;height:16px;background:#83af7c;clip-path:polygon(0 0,100% 10%,80% 100%,0 90%)}.track-status strong{font:500 9px var(--mono);letter-spacing:.8px;color:#d1dbba;display:block}.track-status span:not(.green-flag){display:block;font:6px var(--mono);color:#91a58b;letter-spacing:.7px;margin-top:5px}.race-hints{display:flex;align-items:center;gap:8px;font:6px var(--mono);letter-spacing:.5px;color:#90a88d}.race-hints kbd{font:8px var(--mono);border:1px solid #6f8c6e66;padding:4px 5px;border-radius:3px;color:#c6d6b3;margin-left:5px}.speedometer{position:relative;width:145px;text-align:right}.speedometer>strong{font:italic 700 46px/.95 var(--display);color:#f2db90}.speedometer>span{font:9px var(--mono);margin-left:8px;color:#adbf9d}.rev-bar{height:3px;background:#506b52;margin-top:7px}.rev-bar>i{display:block;background:#ecd27d;height:100%;width:0}.draft{position:absolute;right:0;top:-18px;font:6px var(--mono);letter-spacing:.8px;color:#a8bb99;opacity:.3}.draft.active{opacity:1;color:#f5df9d}.draft span{margin-left:6px}.modal-overlay{position:fixed;inset:0;z-index:50;background:#112b29a6;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:22px}.dialog{width:430px;max-width:100%;background:var(--cream);color:var(--green);padding:33px;border-radius:4px;box-shadow:0 30px 80px #0d211f44}.dialog .eyebrow{font-size:8px;color:#849175}.dialog h2{font:italic 800 45px/.94 var(--display);margin:23px 0 17px;letter-spacing:-.6px}.dialog>p{font-size:11px;color:#8c987e;line-height:1.8;margin-bottom:24px}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:space-between;width:100%;font:500 10px var(--mono);letter-spacing:.7px;padding:16px 17px;border-radius:3px}.primary-button{background:var(--orange);color:#fff9df}.secondary-button{background:none;border:1px solid #bcc9ad;color:#617452;margin-top:10px}.primary-button>span,.secondary-button>span{font-size:20px}.text-button{background:none;font:8px var(--mono);letter-spacing:.7px;padding:17px;width:100%;color:#89977b}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:0 0 12px}.result-stats>div{display:flex;flex-direction:column;gap:5px}.result-stats span{font:7px var(--mono);color:#98a187;letter-spacing:.8px}.result-stats strong{font:500 28px var(--display);letter-spacing:.7px}.result-row{display:flex;align-items:center;gap:10px;font:9px var(--mono);padding:9px 8px;border-bottom:1px solid var(--line)}.result-row.you{background:#e3e8d5}.result-row>i{width:5px;height:12px}.result-row>span:last-child{margin-left:auto;font-size:8px;color:#8d987f}#result-board{margin:10px 0 20px}.results-dialog h2{margin-top:18px}.touch-controls{display:none;position:absolute;bottom:100px;left:20px;right:20px;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:10px}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;width:55px;height:52px;border:1px solid #c7d3b680;background:#213e39c9;color:#e7d99b;border-radius:7px;font:700 23px var(--display)}.touch-controls .pedal-buttons button{font:600 10px var(--mono)}.touch-controls button[data-control=throttle]{background:#e36c40d9;color:#fff5d9}.touch-controls button.pressed{background:#e9cf76;color:#213e39}
@media(min-width:1450px){.home{padding:0 75px}.hero{padding:55px 0 45px;gap:70px}.hero h1{font-size:109px}.hero-copy>p{font-size:14px}.hero-track>canvas{min-height:360px}.hero-note{margin:33px 0 40px}.car-choice-content>canvas{width:150px;height:90px}.car-choice-content>div>strong{font-size:14px}.car-choice-content>div>span{font-size:10px}.start-button{font-size:36px}.race-setup{gap:38px;padding:30px 0}.option-grid{gap:22px 35px}.option-grid select{font-size:12px}.section-label{font-size:8px}.brief h2{font-size:27px}.brief p{font-size:10px}.below{padding:34px 0}.controls kbd{font-size:10px}.controls span{font-size:7px}}
@media(max-width:1100px){.home{padding:0 28px}.header-middle{display:none}.hero{gap:28px;grid-template-columns:1fr 1.4fr}.hero h1{font-size:70px}.hero-track>canvas{min-height:290px}.track-topline>span:last-child{display:none}.race-setup{gap:20px;grid-template-columns:1.1fr 1.35fr .9fr}.car-choice-content{flex-direction:column;align-items:flex-start;gap:0}.car-choice-content>canvas{height:58px;width:140px}.car-choice-content>div>span{display:none}.paints{margin-top:10px}.setup-options{padding-right:20px}.option-grid{gap:20px 14px}.option-grid select{font-size:9px}.start-button{font-size:27px;min-height:109px}.start-foot{font-size:5px}.below{gap:20px}.controls{gap:10px}.controls kbd{font-size:7px;padding:7px}.brief p br{display:none}.personal-best{padding-left:20px}.race-brand>small{display:none}.race-hints{gap:5px}.race-hints kbd{margin-left:2px}.position-board{width:118px;left:15px}.stand-row{font-size:7px}.timing{right:15px}}
@media(max-width:760px){.home{padding:0 20px}header{height:77px}.brand{font-size:29px}.brand .brand-tiny{font-size:6px}.header-end{font-size:7px}.icon-button{margin-left:8px}.hero{grid-template-columns:1fr;padding:29px 0 26px;gap:25px}.hero-copy{position:relative}.hero h1{font-size:82px;margin:23px 0 19px}.hero-copy>p{font-size:12px}.hero-note{position:absolute;right:5px;bottom:25px;margin:0}.hero-note .arrow-circle{display:none}.hero-note>span:last-child{font-size:6px}.edition{margin-top:22px;font-size:6px}.hero-track>canvas{min-height:250px}.track-topline>span:last-child{display:block;font-size:5px;letter-spacing:0}.track-bottom{font-size:6px}.track-bottom i{margin:0 5px}.race-setup{grid-template-columns:1fr 1.3fr;gap:23px 19px;padding:24px 0}.car-choice{padding-right:15px}.car-choice-content>canvas{width:130px;height:65px}.car-choice-content>div>strong{font-size:11px}.paints{gap:8px}.paints button{width:13px;height:13px}.car-choice .section-label>span,.setup-options .section-label>span{display:none}.setup-options{border:0;padding-right:0}.option-grid{gap:20px 10px}.option-grid select{font-size:9px}.option-grid label{font-size:5px}.option-grid .assist-row{font-size:8px}.assist-pill{display:none}.start-panel{grid-column:1/-1;gap:10px}.start-panel>.section-label{display:none}.start-button{min-height:77px;font-size:32px;line-height:1}.start-button br{display:none}.start-button br:after{content:' '}.start-arrow{font-size:35px}.start-foot{font-size:6px}.below{grid-template-columns:1fr 1fr;gap:25px 15px}.brief{grid-column:1/-1}.brief h2 br{display:none}.brief p{font-size:10px}.controls{justify-content:flex-start;flex-wrap:wrap;gap:12px}.controls kbd{font-size:7px}.controls span{font-size:5px}.personal-best{padding-left:18px}.personal-best .section-label{font-size:6px}.personal-best>span:last-child{font-size:5px}footer>span:last-child{display:none}footer{font-size:5px}.race-header{padding:0 12px;height:56px}.race-brand{font-size:18px;gap:6px}.race-brand .logo-icon{width:22px;height:22px;font-size:20px}.lap-hud{gap:5px}.lap-hud strong{font-size:32px}.lap-hud>span{font-size:7px}.race-header-controls{gap:5px}.hud-button{font-size:7px;padding:6px}#camera{max-width:58px;font-size:5px;line-height:1.5}.game>canvas{inset:56px 0 74px;height:calc(100% - 130px)}.position-board{top:68px;left:10px;width:100px}.position-top{padding:8px 10px}.position-top>span{font-size:5px}.position-top strong{font-size:24px}.position-top small{font-size:7px}.stand-row{font-size:6px;padding:5px 8px;gap:5px}.stand-row>span:first-child{font-size:5px}.stand-row i{height:9px}.stand-row small{display:none}.timing{top:70px;right:10px;padding:9px 10px;min-width:90px;gap:7px}.timing span{font-size:5px}.timing strong{font-size:17px}.race-bottom{height:74px;padding:10px 15px}.race-hints{display:none}.track-status strong{font-size:7px}.track-status span:not(.green-flag){font-size:5px}.speedometer{width:115px}.speedometer>strong{font-size:39px}.speedometer>span{font-size:8px}.race-message{top:75px;font-size:15px;padding:7px 12px;white-space:nowrap}.dialog{padding:27px}.dialog h2{font-size:40px}.result-stats strong{font-size:25px}.touch-controls{display:flex;bottom:90px;left:15px;right:15px}.touch-controls button{width:52px;height:49px}.countdown{top:51%;padding:16px 26px}.countdown strong{font-size:85px}.countdown>small{font-size:7px}.countdown>span{font-size:6px}}
@media(hover:none){.touch-controls{display:flex}}@media(max-height:550px) and (orientation:landscape){.position-board{top:67px;left:10px}.position-board .stand-row:nth-child(n+4){display:none}.timing{top:69px;right:12px;gap:5px}.touch-controls{bottom:84px}.touch-controls button{height:44px}.game>canvas{inset:55px 0 65px;height:calc(100% - 120px)}.race-header{height:55px}.race-bottom{height:65px}.countdown strong{font-size:60px}.countdown{padding:10px 25px;top:49%}.dialog{padding:24px}.dialog h2{font-size:33px;margin:15px 0}.dialog p{margin:10px 0;font-size:10px}.dialog .text-button{padding:10px}.result-stats{padding:8px 0}.result-stats strong{font-size:22px}.result-row{padding:5px 7px}.results-dialog{width:520px}.results-dialog h2 br{display:none}#result-board{margin:7px 0 12px}.results-dialog .result-row:nth-child(n+4){display:none}.race-message{top:71px}.race-hints{display:none}}
