html{box-sizing:border-box;height:100%;font-size:16px}*,:before,:after{box-sizing:inherit}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e8edf4;background:var(--tr-bg,#0a0e1a);height:100%;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;height:100%;display:flex}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:600;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin:0 0 1rem}a{color:var(--tr-accent,#fbbf24);text-decoration:none;transition:color .2s}a:hover{color:color-mix(in srgb, var(--tr-accent,#fbbf24) 80%, white);text-decoration:underline}input,button,textarea,select{font:inherit;margin:0}button{cursor:pointer}html{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}*,:before,:after{-webkit-user-select:none!important;user-select:none!important}input,textarea,select,[contenteditable],[contenteditable] *,.selectable,.selectable *,.tr-selectable,.tr-selectable *,[data-selectable],[data-selectable] *{-webkit-touch-callout:default;-webkit-user-select:text!important;user-select:text!important}button,button *,a[href],a[href] *,[role=button],[role=button] *,summary,label,.selectable button,.selectable button *,.tr-selectable button,.tr-selectable button *,[data-selectable] button,[data-selectable] button *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}button:focus-visible{outline:2px solid var(--tr-accent,#fbbf24);outline-offset:2px}a:focus-visible{outline:2px solid var(--tr-accent,#fbbf24);outline-offset:2px}select:focus-visible{outline:2px solid var(--tr-accent,#fbbf24);outline-offset:2px}input:focus-visible{outline:2px solid var(--tr-accent,#fbbf24);outline-offset:2px}[tabindex]:focus-visible{outline:2px solid var(--tr-accent,#fbbf24);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:768px){.container{padding:0 1.5rem}}.touch-controls{pointer-events:none;z-index:60;zoom:calc(var(--ui-touch-scale,1) * var(--hud-scale,1) * var(--tc-button-scale,2));position:fixed;top:0;bottom:0;left:0;right:0}.tc-arrows{left:max(24px, env(safe-area-inset-left,0px));bottom:max(24px, env(safe-area-inset-bottom,0px));pointer-events:auto;gap:16px;display:flex;position:absolute}.tc-arrow{aspect-ratio:512/578;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 3px 8px #00000080);background-position:50%;background-repeat:no-repeat;background-size:contain;height:96px;transition:transform 70ms}.tc-arrow__icon{display:none}.tc-arrow--left{background-image:url(../assets/icons/ui/arrow-left.png)}.tc-arrow--right{background-image:url(../assets/icons/ui/arrow-right.png)}.tc-arrow--left.tc-arrow--active{background-image:url(../assets/icons/ui/arrow-left-disabled.png)}.tc-arrow--right.tc-arrow--active{background-image:url(../assets/icons/ui/arrow-right-disabled.png)}.tc-arrow--active{transform:scale(.93)}.tc-pedals{right:max(24px, env(safe-area-inset-right,0px));bottom:max(24px, env(safe-area-inset-bottom,0px));pointer-events:auto;flex-direction:row-reverse;align-items:flex-end;gap:12px;display:flex;position:absolute}.tc-pedal{aspect-ratio:512/610;filter:drop-shadow(0 3px 8px #00000073);-webkit-user-select:none;user-select:none;touch-action:none;pointer-events:auto;background-position:50%;background-repeat:no-repeat;background-size:contain;height:88px;transition:transform 70ms}.tc-pedal__icon,.tc-pedal__label{display:none}.tc-pedal--gas{background-image:url(../assets/icons/ui/throttle.png)}.tc-pedal--brake{background-image:url(../assets/icons/ui/brake.png)}.tc-pedal--gas.tc-pedal--active{background-image:url(../assets/icons/ui/throttle-disabled.png)}.tc-pedal--brake.tc-pedal--active{background-image:url(../assets/icons/ui/brake-disabled.png)}.tc-pedal--active{transform:scale(.93)}.tc-pedal--handbrake{right:calc(max(24px, env(safe-area-inset-right,0px)) + 7px);bottom:calc(max(24px, env(safe-area-inset-bottom,0px)) + 100px);aspect-ratio:512/622;background-image:url(../assets/icons/ui/drift.png);height:72px;position:absolute}.tc-pedal--handbrake.tc-pedal--active{background-image:url(../assets/icons/ui/drift-disabled.png)}.tc-pedal--handbrake.tc-pedal--disabled{opacity:.92;filter:grayscale()brightness(1.18)drop-shadow(0 2px 10px #000000a6)}.tc-pedal--handbrake:not(.tc-pedal--disabled){filter:brightness(1.12)drop-shadow(0 0 10px #00e0ffcc)drop-shadow(0 3px 8px #00000073);animation:.9s ease-in-out infinite tc-drift-live}@keyframes tc-drift-live{0%,to{filter:brightness(1.1)drop-shadow(0 0 8px #00e0ff99)drop-shadow(0 3px 8px #00000073)}50%{filter:brightness(1.24)drop-shadow(0 0 18px #00e0ff)drop-shadow(0 3px 8px #00000073)}}@media (prefers-reduced-motion:reduce){.tc-pedal--handbrake:not(.tc-pedal--disabled){animation:none}}.tc-coach-pulse{z-index:1;animation:1.15s ease-in-out infinite tcCoachPulse}@keyframes tcCoachPulse{0%,to{filter:brightness()drop-shadow(0 0 #ffcf6b00);transform:scale(1)}50%{filter:brightness(1.45)drop-shadow(0 0 14px #ffcf6bf2);transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.tc-coach-pulse{filter:brightness(1.4)drop-shadow(0 0 10px #ffcf6bd9);animation:none}}.tc-respawn,.tc-restart,.tc-pause{top:max(16px, env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(8px);color:#ffffff9e;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#0a0e1a80;border:1.5px solid #ffffff24;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;transition:transform .1s,border-color .1s,color .1s;display:flex;position:absolute}.tc-pause{right:max(16px, env(safe-area-inset-right,0px))}.tc-restart{right:calc(max(16px, env(safe-area-inset-right,0px)) + 56px)}.tc-respawn{right:calc(max(16px, env(safe-area-inset-right,0px)) + 112px)}.tc-respawn--active,.tc-restart--active,.tc-pause:active{border-color:color-mix(in srgb, var(--tr-accent) 50%, transparent);color:color-mix(in srgb, var(--tr-accent) 90%, transparent);transform:scale(.9)}.tc-respawn__icon,.tc-restart__icon,.tc-pause__icon{width:22px;height:22px}.tc--left-handed .tc-arrows{left:auto;right:max(24px, env(safe-area-inset-right,0px))}.tc--left-handed .tc-pedals{right:auto;left:max(24px, env(safe-area-inset-left,0px));flex-direction:row}.tc--left-handed .tc-pedal--handbrake{right:auto;left:calc(max(24px, env(safe-area-inset-left,0px)) + 7px)}@media (max-height:500px){.touch-controls{--tc-button-scale:1.4}.tc-arrows{left:max(16px, env(safe-area-inset-left,0px));bottom:max(16px, env(safe-area-inset-bottom,0px));gap:12px}.tc-arrow{height:80px}.tc-pedals{right:max(16px, env(safe-area-inset-right,0px));bottom:max(16px, env(safe-area-inset-bottom,0px));gap:8px}.tc-pedals .tc-pedal{height:74px}.tc-pedal--handbrake{right:calc(max(16px, env(safe-area-inset-right,0px)) + 6px);bottom:calc(max(16px, env(safe-area-inset-bottom,0px)) + 84px);height:60px}.tc-respawn,.tc-restart,.tc-pause{top:max(12px, env(safe-area-inset-top,0px));width:42px;height:42px}.tc-pause{right:max(12px, env(safe-area-inset-right,0px))}.tc-restart{right:calc(max(12px, env(safe-area-inset-right,0px)) + 50px)}.tc-respawn{right:calc(max(12px, env(safe-area-inset-right,0px)) + 100px)}.tc-respawn__icon,.tc-restart__icon,.tc-pause__icon{width:20px;height:20px}.tc--left-handed .tc-arrows{right:max(16px, env(safe-area-inset-right,0px))}.tc--left-handed .tc-pedals{left:max(16px, env(safe-area-inset-left,0px))}.tc--left-handed .tc-pedal--handbrake{left:calc(max(16px, env(safe-area-inset-left,0px)) + 6px)}}
