:root{--c-bg: #0a1428;--c-bg-2: #091c2c;--c-gold: #c8aa6e;--c-gold-bright: #f0e6d2;--c-blue: #0397ab;--c-blue-deep: #005a82;--c-text: #f0e6d2;--c-text-dim: #a09b8c;--c-danger: #c0392b;--font-head: "LOL TT Ricks", "Trajan Pro", "Cinzel", Georgia, serif;--font-body: "GS3 MozaicGEO", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit}textarea,input{font-family:var(--font-body)}.setup{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 0%,rgba(3,151,171,.18),transparent 60%),linear-gradient(160deg,var(--c-bg) 0%,var(--c-bg-2) 100%);padding:1.5625vw}@media(min-width:2560px){.setup{padding:40px}}.setup__card{width:28.125vw;max-width:92vw;background:#091c2cd9;border:calc(2 / 2560 * 100vw) solid var(--c-gold);border-radius:.78125vw;padding:2.1875vw 2.1875vw calc(48 / 2560 * 100vw);box-shadow:0 calc(24 / 2560 * 100vw) 2.34375vw #00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(min-width:2560px){.setup__card{width:720px;border-width:2px;border-radius:20px;padding:56px 56px 48px;box-shadow:0 24px 60px #00000080}}.setup__title{font-family:var(--font-head);font-size:2.5vw;letter-spacing:calc(2 / 2560 * 100vw);text-align:center;color:var(--c-gold-bright);text-shadow:0 .15625vw .625vw rgba(3,151,171,.5)}@media(min-width:2560px){.setup__title{font-size:64px;letter-spacing:2px;text-shadow:0 4px 16px rgba(3,151,171,.5)}}.setup__subtitle{text-align:center;color:var(--c-text-dim);font-size:.78125vw;margin-top:.3125vw;margin-bottom:1.25vw}@media(min-width:2560px){.setup__subtitle{font-size:20px;margin-top:8px;margin-bottom:32px}}.setup__textarea{width:100%;height:10.9375vw;resize:none;background:#010a13cc;border:calc(1 / 2560 * 100vw) solid var(--c-blue-deep);border-radius:calc(12 / 2560 * 100vw);color:var(--c-text);font-size:.78125vw;line-height:1.6;padding:.78125vw calc(24 / 2560 * 100vw);outline:none}.setup__textarea:focus{border-color:var(--c-blue)}@media(min-width:2560px){.setup__textarea{height:280px;border-radius:12px;font-size:20px;padding:20px 24px}}.setup__meta{display:flex;flex-direction:column;gap:calc(6 / 2560 * 100vw);margin:.625vw 0 calc(24 / 2560 * 100vw);min-height:calc(48 / 2560 * 100vw)}@media(min-width:2560px){.setup__meta{gap:6px;margin:16px 0 24px;min-height:48px}}.setup__count{color:var(--c-gold);font-size:.78125vw;font-weight:600}@media(min-width:2560px){.setup__count{font-size:20px}}.setup__warn{color:#e8b339;font-size:calc(15 / 2560 * 100vw)}@media(min-width:2560px){.setup__warn{font-size:15px}}.setup__speed{display:flex;align-items:center;gap:calc(12 / 2560 * 100vw);margin-bottom:1.09375vw}@media(min-width:2560px){.setup__speed{gap:12px;margin-bottom:28px}}.setup__speed-label{color:var(--c-text-dim);font-size:calc(18 / 2560 * 100vw)}@media(min-width:2560px){.setup__speed-label{font-size:18px}}.setup__speed-btn{flex:1;padding:calc(12 / 2560 * 100vw) 0;border:calc(1 / 2560 * 100vw) solid var(--c-blue-deep);border-radius:calc(10 / 2560 * 100vw);color:var(--c-text-dim);font-size:calc(18 / 2560 * 100vw);transition:all .18s}.setup__speed-btn.is-active{border-color:var(--c-gold);color:var(--c-gold-bright);background:#c8aa6e1f}@media(min-width:2560px){.setup__speed-btn{padding:12px 0;border-radius:10px;font-size:18px}}.setup__start{width:100%;padding:.78125vw 0;border-radius:calc(12 / 2560 * 100vw);font-family:var(--font-head);font-size:calc(26 / 2560 * 100vw);letter-spacing:calc(1 / 2560 * 100vw);color:var(--c-bg);background:linear-gradient(180deg,var(--c-gold-bright),var(--c-gold));transition:transform .12s,filter .18s}.setup__start:hover:not(:disabled){filter:brightness(1.08)}.setup__start:active:not(:disabled){transform:translateY(calc(2 / 2560 * 100vw))}.setup__start:disabled{opacity:.45;cursor:not-allowed}@media(min-width:2560px){.setup__start{padding:20px 0;border-radius:12px;font-size:26px;letter-spacing:1px}}.control-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:.625vw;padding:.625vw calc(24 / 2560 * 100vw);z-index:10;pointer-events:none}@media(min-width:2560px){.control-bar{gap:16px;padding:16px 24px}}.control-bar__status{font-family:var(--font-head);font-size:calc(24 / 2560 * 100vw);color:var(--c-gold-bright);text-shadow:0 calc(2 / 2560 * 100vw) .3125vw rgba(0,0,0,.8)}@media(min-width:2560px){.control-bar__status{font-size:24px;text-shadow:0 2px 8px rgba(0,0,0,.8)}}.control-bar__right{display:flex;gap:calc(10 / 2560 * 100vw)}@media(min-width:2560px){.control-bar__right{gap:10px}}.control-bar__btn{pointer-events:auto;padding:calc(10 / 2560 * 100vw) calc(18 / 2560 * 100vw);border:calc(1 / 2560 * 100vw) solid var(--c-gold);border-radius:calc(10 / 2560 * 100vw);background:#091c2ccc;color:var(--c-gold-bright);font-size:calc(18 / 2560 * 100vw);transition:filter .15s}.control-bar__btn:hover{filter:brightness(1.15)}.control-bar__btn--icon{padding:calc(10 / 2560 * 100vw) calc(14 / 2560 * 100vw);font-size:calc(22 / 2560 * 100vw)}@media(min-width:2560px){.control-bar__btn--icon{padding:10px 14px;font-size:22px}}@media(min-width:2560px){.control-bar__btn{padding:10px 18px;border-width:1px;border-radius:10px;font-size:18px}}.winner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0208108c;z-index:20;animation:winner-fade .25s ease}.winner__card{width:21.875vw;max-width:90vw;background:#091c2cf5;border:calc(2 / 2560 * 100vw) solid var(--c-gold);border-radius:.78125vw;padding:calc(48 / 2560 * 100vw) calc(48 / 2560 * 100vw) 1.5625vw;text-align:center;box-shadow:0 calc(24 / 2560 * 100vw) calc(70 / 2560 * 100vw) #0009}.winner__card--champion{border-color:var(--c-gold-bright);box-shadow:0 0 2.34375vw #c8aa6e80}@media(min-width:2560px){.winner__card{width:560px;border-width:2px;border-radius:20px;padding:48px 48px 40px}}.winner__crown{font-size:2.5vw}@media(min-width:2560px){.winner__crown{font-size:64px}}.winner__title{font-family:var(--font-head);font-size:calc(30 / 2560 * 100vw);color:var(--c-text-dim);letter-spacing:calc(1 / 2560 * 100vw)}@media(min-width:2560px){.winner__title{font-size:30px;letter-spacing:1px}}.winner__name{font-family:var(--font-head);font-size:2.03125vw;color:var(--c-gold-bright);margin:.3125vw 0 1.09375vw;text-shadow:0 .15625vw .625vw rgba(3,151,171,.5);word-break:break-word}@media(min-width:2560px){.winner__name{font-size:52px;margin:8px 0 28px;text-shadow:0 4px 16px rgba(3,151,171,.5)}}.winner__podium{list-style:none;margin:0 auto 1.09375vw;width:12.5vw;max-width:80%}@media(min-width:2560px){.winner__podium{width:320px;margin-bottom:28px}}.winner__podium-row{display:flex;align-items:center;gap:calc(14 / 2560 * 100vw);padding:.3125vw .625vw;border-bottom:1px solid rgba(200,170,110,.18)}@media(min-width:2560px){.winner__podium-row{gap:14px;padding:8px 16px}}.winner__medal{font-size:calc(26 / 2560 * 100vw)}@media(min-width:2560px){.winner__medal{font-size:26px}}.winner__podium-name{font-size:calc(22 / 2560 * 100vw);color:var(--c-text)}@media(min-width:2560px){.winner__podium-name{font-size:22px}}.winner__actions{display:flex;flex-wrap:wrap;gap:calc(12 / 2560 * 100vw);justify-content:center}@media(min-width:2560px){.winner__actions{gap:12px}}.winner__btn{padding:calc(14 / 2560 * 100vw) calc(24 / 2560 * 100vw);border:calc(1 / 2560 * 100vw) solid var(--c-gold);border-radius:calc(10 / 2560 * 100vw);color:var(--c-gold-bright);background:#010a1399;font-size:calc(19 / 2560 * 100vw);transition:filter .15s}.winner__btn:hover{filter:brightness(1.15)}.winner__btn--primary{color:var(--c-bg);background:linear-gradient(180deg,var(--c-gold-bright),var(--c-gold))}.winner__btn--ghost{border-color:var(--c-blue-deep);color:var(--c-text-dim)}@media(min-width:2560px){.winner__btn{padding:14px 24px;border-width:1px;border-radius:10px;font-size:19px}}@keyframes winner-fade{0%{opacity:0}to{opacity:1}}.stage{position:relative;width:100%;height:100%;overflow:hidden;background:var(--c-bg)}.race-canvas{display:block;width:100%;height:100%}
