@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-\[0\.08em\]{top:.08em}.top-\[50\%\]{top:50%}.left-\[-0\.07em\]{left:-.07em}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-50{z-index:50}.container{width:100%;margin-inline:auto;padding-inline:2rem}@media (width>=1400px){.container{max-width:1400px}}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-\[0\.95em\]{height:.95em}.h-\[5\.2em\]{height:5.2em}.min-h-screen{min-height:100vh}.w-\[0\.105em\]{width:.105em}.w-full{width:100%}.max-w-\[1200px\]{max-width:1200px}.min-w-\[4px\]{min-width:4px}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-\[0\.08em\]{border-radius:.08em}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.bg-accent{background-color:#e2b714}.bg-background{background-color:#323437}.bg-background\/80{background-color:oklab(32.421% -.00120889 -.00586417/.8)}.bg-destructive{background-color:#ca4754}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.text-center{text-align:center}.text-\[clamp\(1\.8rem\,3\.2vw\,3\.65rem\)\]{font-size:clamp(1.8rem,3.2vw,3.65rem)}.leading-\[1\.72\]{--tw-leading:1.72;line-height:1.72}.leading-none{--tw-leading:1;line-height:1}.tracking-\[-0\.055em\]{--tw-tracking:-.055em;letter-spacing:-.055em}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-accent{color:#e2b714}.text-destructive{color:#ca4754}.text-destructive-foreground,.text-foreground{color:#d1d0c5}.text-muted{color:#646669}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-destructive{text-decoration-color:#ca4754}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-70{opacity:.7}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:#323437}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-100{--tw-duration:.1s;transition-duration:.1s}.select-none{-webkit-user-select:none;user-select:none}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.duration-100{animation-duration:.1s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}.zoom-out{--tw-exit-scale:0}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}@media (hover:hover){.hover\:bg-accent:hover{background-color:#e2b714}.hover\:bg-destructive\/90:hover{background-color:oklab(58.2005% .157554 .0518018/.9)}.hover\:text-accent:hover{color:#e2b714}.hover\:text-accent-foreground:hover{color:#323437}.hover\:text-foreground:hover{color:#d1d0c5}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:#e2b714}@layer base{:root{--background:220 5% 20%;--foreground:54 12% 80%;--card:220 5% 20%;--card-foreground:54 12% 80%;--popover:220 5% 20%;--popover-foreground:54 12% 80%;--primary:47 84% 48%;--primary-foreground:220 5% 20%;--secondary:220 5% 25%;--secondary-foreground:54 12% 80%;--muted:220 5% 40%;--muted-foreground:54 12% 80%;--accent:47 84% 48%;--accent-foreground:220 5% 20%;--destructive:354 58% 53%;--destructive-foreground:54 12% 80%;--border:220 5% 30%;--input:220 5% 30%;--ring:47 84% 48%;--radius:.5rem}html,body,#root{min-height:100%;margin:0}*,:before,:after{box-sizing:border-box}body{color:#d1d0c5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#323437;font-family:JetBrains Mono,IBM Plex Mono,monospace;overflow-x:hidden}}@layer components{.practice-page{flex-direction:column;height:100vh;min-height:100vh;padding:3.2rem max(2rem,50vw - 725px);display:flex;position:relative;overflow:hidden}.practice-back{color:#727477;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:.45rem 0;font-size:.9rem;font-weight:600;transition:color .15s,transform .15s;display:inline-flex;position:absolute;top:1.25rem;left:max(1.25rem,50vw - 725px)}.practice-back:hover{color:#e2b714;transform:translate(-.15rem)}.practice-back svg{width:1.1rem;height:1.1rem}.profile-dialog-content{color:#d1d0c5;background:linear-gradient(145deg,#3a3c40,#2b2d30);border:1px solid #4a4c50;border-radius:1.35rem;gap:1.6rem;width:min(92vw,470px);max-height:calc(100vh - 2rem);padding:2rem;top:50%;left:50%;overflow-y:auto;box-shadow:0 1.5rem 5rem #00000073,0 0 0 1px #e2b7140f}.profile-dialog-header{text-align:center;align-items:center;gap:.6rem}.profile-dialog-header h2,.profile-dialog-header [data-radix-dialog-title]{color:#f0efe8;letter-spacing:-.03em;font-size:1.45rem}.profile-dialog-header [data-radix-dialog-description]{color:#929498;max-width:28rem;line-height:1.5}.profile-dialog-icon{color:#e2b714;background:#e2b71424;border-radius:1rem;place-items:center;width:3.2rem;height:3.2rem;margin-bottom:.25rem;display:grid}.profile-dialog-icon svg{width:1.45rem;height:1.45rem}.profile-dialog-form{flex-direction:column;gap:1.45rem;margin-top:.2rem;display:flex}.profile-avatar-section,.profile-name-field{flex-direction:column;gap:.7rem;display:flex}.profile-field-label{color:#b9b9b3;letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:700;display:flex}.profile-field-label em{color:#e2b714;letter-spacing:0;text-transform:none;font-size:1.25rem;font-style:normal}.profile-avatar-grid{grid-template-columns:repeat(6,1fr);gap:.55rem;display:grid}.profile-avatar-option{aspect-ratio:1;cursor:pointer;background:#303236;border:1px solid #4c4e52;border-radius:.8rem;place-items:center;font-size:1.65rem;transition:border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.profile-avatar-option:hover{background:#3c3e42;border-color:#777a7d}.profile-avatar-option.is-selected{background:#e2b71421;border-color:#e2b714;box-shadow:0 0 0 2px #e2b71424}.profile-avatar-check{color:#303236;background:#e2b714;border-radius:50%;place-items:center;width:1.05rem;height:1.05rem;display:grid;position:absolute;top:-.3rem;right:-.25rem}.profile-avatar-check svg{stroke-width:3px;width:.7rem;height:.7rem}.profile-name-input{color:#f0efe8;background:#282a2d;border:1px solid #505256;border-radius:.75rem;height:3.15rem;font-size:1rem}.profile-name-input:focus{border-color:#e2b714;box-shadow:0 0 0 3px #e2b71421}.profile-name-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.profile-name-generator{color:#e2b714;font:inherit;cursor:pointer;background:#e2b71414;border:1px solid #e2b7146b;border-radius:99px;align-items:center;gap:.35rem;padding:.38rem .62rem;font-size:.68rem;font-weight:800;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.profile-name-generator:hover{background:#e2b71426;border-color:#e2b714;transform:translateY(-1px)}.profile-name-generator svg{width:.82rem;height:.82rem}.profile-save-button{color:#292b2e;background:#e2b714;border:0;border-radius:.75rem;justify-content:space-between;width:100%;height:3.15rem;font-size:.95rem;font-weight:800;display:flex}.profile-save-button:hover{background:#f0c52a}.profile-save-button span{font-size:1.3rem;transition:transform .16s}.profile-save-button:hover span{transform:translate(.25rem)}@media (height<=700px){.profile-dialog-content{gap:1rem;padding:1.35rem}.profile-dialog-form{gap:1rem}.profile-dialog-icon{width:2.6rem;height:2.6rem}.profile-avatar-option{font-size:1.4rem}.profile-name-heading{flex-direction:column;align-items:flex-start;gap:.5rem}}.practice-controls{justify-content:center;gap:1.25rem;display:flex}.practice-control-group{color:#727477;background:#27292ccc;border-radius:.9rem;align-items:center;gap:.25rem;padding:.7rem 1rem;font-size:1rem;font-weight:600;display:flex}.practice-control-group button{color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;transition:color .15s;display:inline-flex}.practice-control-group button:hover{color:#b5b5b5}.practice-control-group button.is-active{color:#e2b714}.practice-control-group svg{stroke-width:3px;width:1.2rem;height:1.2rem}.practice-durations{gap:1rem}.practice-test{width:100%;max-width:1350px;margin:0 auto}.practice-test.is-idle{padding-top:clamp(10rem,23vh,18rem)}.practice-test.is-running{padding-top:clamp(8rem,17vh,14rem)}.practice-language{color:#727477;align-items:center;gap:.75rem;width:fit-content;margin:0 auto 1.25rem;font-size:clamp(1rem,1.5vw,1.45rem);font-weight:600;display:flex}.practice-language svg{width:1.35em;height:1.35em}.practice-runtime{justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex;position:relative}.practice-runtime .practice-language{margin:0}.practice-timer{color:#e2b714;font-size:2.1rem;font-weight:500;position:absolute;top:50%;left:0;transform:translateY(-50%)}.solo-typing-viewport{color:#646669;letter-spacing:-.055em;-webkit-user-select:none;user-select:none;height:4.5em;font-size:clamp(1.65rem,2.85vw,3.25rem);line-height:1.5;position:relative;overflow:hidden}.solo-typing-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.solo-typing-words{will-change:transform;flex-wrap:wrap;align-content:flex-start;transition:transform .15s ease-out;display:flex}.solo-word{white-space:nowrap;display:inline-flex}.solo-word-text{border-bottom:2px solid #0000;display:inline-flex}.solo-word-text.is-error{border-bottom-color:#ca4754}.solo-character-wrap{display:inline-block;position:relative}.solo-character-wrap.is-space{white-space:pre}.solo-character{transition:color 80ms,background-color 80ms}.solo-character.is-pending{color:#646669}.solo-character.is-correct{color:#e2b714}.solo-character.is-skipped{color:#727477;opacity:.55}.solo-character.is-incorrect{color:#ca4754}.practice-restart{cursor:pointer;color:#727477;background:0 0;border:0;place-items:center;margin:2.5rem auto 0;padding:0;transition:color .15s;display:grid}.practice-restart:hover{color:#d1d0c5}.practice-restart svg{stroke-width:3px;width:2.1rem;height:2.1rem}.practice-shortcuts{color:#6d6f72;text-align:center;margin-top:auto;padding-top:2rem;font-size:.88rem;font-weight:600;line-height:1.9}.practice-shortcuts p{margin:0}.practice-shortcuts p span{margin:0 .35rem}.practice-shortcuts kbd{color:#35373a;font:inherit;background:#626468;border-radius:.22rem;padding:.2rem .42rem}.results-page{color:#727477;min-height:100vh;padding:clamp(2.5rem,5vw,4.5rem)}.results-overview{grid-template-columns:15rem minmax(0,1fr);gap:clamp(1.5rem,3vw,4rem);display:grid}.results-primary{flex-direction:column;gap:1.2rem;display:flex}.results-primary div,.results-details div{flex-direction:column;display:flex}.results-primary span,.results-details span{font-size:clamp(1.3rem,2vw,2.4rem);font-weight:600;line-height:1}.results-primary strong{color:#e2b714;letter-spacing:-.1em;font-size:clamp(3.7rem,5.9vw,6.8rem);font-weight:500;line-height:1.05}.results-chart{min-width:0;padding:0 3rem 1.9rem 2.35rem;position:relative}.results-chart svg{width:100%;height:clamp(15rem,26vw,20rem);display:block;overflow:visible}.chart-grid{stroke:#292b2e;stroke-width:1px}.chart-wpm,.chart-raw{fill:none;stroke-linecap:round;stroke-linejoin:round}.chart-wpm{stroke:#e2b714;stroke-width:4px}.chart-raw{stroke:#7b7d80;stroke-width:4px;opacity:.8}.chart-point{fill:#e2b714}.chart-error-point{stroke:#ca4754;stroke-width:4px;stroke-linecap:round;pointer-events:none}.chart-y-labels{flex-direction:column;justify-content:space-between;font-size:1.1rem;display:flex;position:absolute;inset:0 auto 1.9rem .8rem}.chart-error-labels{color:#ca4754;flex-direction:column;justify-content:space-between;font-size:1rem;display:flex;position:absolute;inset:0 .7rem 1.9rem auto}.chart-x-labels{height:1.5rem;margin-left:.1rem;font-size:1.05rem;position:relative}.chart-x-labels span{position:absolute;transform:translate(-50%)}.chart-axis-title,.chart-error-title{color:#727477;letter-spacing:.04em;font-size:1rem;position:absolute}.chart-axis-title{writing-mode:vertical-rl;top:50%;left:-.55rem;transform:translateY(-50%)rotate(180deg)}.chart-error-title{writing-mode:vertical-rl;top:50%;right:-.55rem;transform:translateY(-50%)}.chart-legend{justify-content:center;gap:1.35rem;margin-top:.4rem;font-size:.85rem;display:flex}.chart-legend span:before{content:"";vertical-align:middle;background:currentColor;border-radius:999px;width:.65rem;height:.18rem;margin-right:.4rem;display:inline-block}.chart-legend .is-wpm{color:#e2b714}.chart-legend .is-raw{color:#7b7d80}.chart-legend .is-errors{color:#ca4754}.results-details{grid-template-columns:1.2fr 1.4fr .8fr 1.7fr 1.4fr .65fr;gap:2rem;margin-top:2.1rem;display:grid}.results-details strong{color:#e2b714;white-space:nowrap;margin-top:.55rem;font-size:clamp(1.35rem,2.3vw,2.45rem);font-weight:500;line-height:1.1}.results-details strong.results-muted-value{color:#727477}.results-actions{justify-content:center;gap:clamp(2.5rem,7vw,10rem);margin-top:clamp(4rem,10vh,8rem);display:flex}.results-actions button{color:#727477;cursor:pointer;background:0 0;border:0;padding:0;transition:color .15s,transform .15s}.results-actions button:hover{color:#d1d0c5;transform:translateY(-.15rem)}.results-actions svg{stroke-width:3px;width:2rem;height:2rem}.mtype-home,.race-lobby-page,.race-page,.race-loading{min-height:100vh;padding:clamp(1.5rem,3.5vw,3.5rem) max(1.5rem,50vw - 725px)}.mtype-home-header,.race-room-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mtype-brand{color:#d1d0c5;letter-spacing:-.07em;align-items:center;gap:.75rem;font-size:1.55rem;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}.mtype-brand:hover{color:#e2b714}.mtype-brand svg{color:#e2b714;width:1.65rem;height:1.65rem}.mtype-header-actions{align-items:center;gap:.85rem;display:flex}.mtype-header-note,.race-connection{color:#6d6f72;font-size:.86rem;font-weight:600}.race-connection{align-items:center;gap:.45rem;display:flex}.race-connection:before{content:"";background:#646669;border-radius:50%;width:.55rem;height:.55rem}.race-connection.is-connected:before{background:#e2b714;box-shadow:0 0 0 .22rem #e2b71421}.site-overflow-menu{z-index:40;position:relative}.site-overflow-trigger{color:#929498;cursor:pointer;background:#2c2e31;border:1px solid #45474a;border-radius:.75rem;place-items:center;width:2.55rem;height:2.55rem;list-style:none;transition:border-color .15s,background .15s,color .15s;display:grid}.site-overflow-trigger::-webkit-details-marker{display:none}.site-overflow-trigger::marker{content:"";display:none}.site-overflow-trigger:hover,.site-overflow-menu[open] .site-overflow-trigger{color:#e2b714;background:#35373a;border-color:#e2b714}.site-overflow-trigger svg{stroke-width:2.4px;width:1.35rem;height:1.35rem}.site-overflow-popover{background:#26282b;border:1px solid #4b4d50;border-radius:.9rem;width:13.5rem;padding:.55rem;position:absolute;top:calc(100% + .65rem);right:0;box-shadow:0 1.1rem 3rem #00000061}.site-overflow-popover a{color:#b8b8b2;border-radius:.6rem;align-items:center;gap:.75rem;padding:.72rem .8rem;font-size:.87rem;font-weight:600;text-decoration:none;transition:background .14s,color .14s;display:flex}.site-overflow-popover a:hover{color:#e2b714;background:#34363a}.site-overflow-popover svg{color:#e2b714;width:1.05rem;height:1.05rem}.site-overflow-divider{background:#414347;height:1px;margin:.42rem .35rem;display:block}.mtype-electric-filter{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.mtype-home-content{width:min(100%,1080px);margin:clamp(5rem,14vh,10rem) auto 0}.mtype-home-intro{max-width:43rem;margin-bottom:2.6rem}.mtype-home-intro>span,.race-lobby-heading>span,.mtype-card-kicker,.race-action-card>span,.race-profile-row span,.race-room-title span,.race-stage-heading>div>span,.race-typing-label{color:#e2b714;letter-spacing:.07em;text-transform:uppercase;font-size:.86rem;font-weight:700}.mtype-home-intro h1,.race-lobby-heading h1{color:#d1d0c5;letter-spacing:-.105em;margin:.55rem 0 .8rem;font-size:clamp(2.65rem,6vw,5rem);font-weight:600;line-height:.94}.mtype-home-intro p,.race-lobby-heading p{color:#8d8f92;max-width:34rem;margin:0;font-size:1.07rem;line-height:1.65}.mtype-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;display:grid}.mtype-choice-card{isolation:isolate;color:#d1d0c5;background:linear-gradient(145deg,#e2b71409,#0000 38%),#2c2e31;border:1px solid #e2b7144d;border-radius:1.1rem;flex-direction:column;justify-content:space-between;min-height:22rem;padding:1.8rem;text-decoration:none;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:flex;position:relative}.mtype-choice-card:before,.mtype-choice-card:after{content:"";pointer-events:none;border-radius:inherit;position:absolute}.mtype-choice-card:before{z-index:2;filter:url(#mtype-electric-displace)drop-shadow(0 0 .22rem #e2b714e6);opacity:.88;border:2px solid #e2b714;inset:-2px}.mtype-choice-card:after{z-index:-1;filter:blur(8px);opacity:.36;border:3px solid #ffdd5cb8;inset:-4px;box-shadow:0 0 1.5rem #e2b7146b,inset 0 0 1rem #e2b71429}.mtype-choice-card:hover,.mtype-choice-card:focus-visible{background:linear-gradient(145deg,#e2b71413,#0000 42%),#303235;border-color:#e2b714;outline:none;transform:translateY(-.35rem);box-shadow:0 0 2.2rem #e2b71417}.mtype-choice-card:hover:before,.mtype-choice-card:focus-visible:before{opacity:1;filter:url(#mtype-electric-displace)drop-shadow(0 0 .38rem #ffde5df2)}.mtype-choice-card:hover:after,.mtype-choice-card:focus-visible:after{opacity:.78}.mtype-card-icon{color:#e2b714;background:#393b3e;border-radius:.9rem;place-items:center;width:3.4rem;height:3.4rem;display:grid}.mtype-card-icon svg{width:1.8rem;height:1.8rem}.mtype-card-kicker{color:#727477;margin-top:2rem;display:block}.mtype-choice-card h2{letter-spacing:-.08em;margin:.55rem 0 .6rem;font-size:2rem}.mtype-choice-card p{color:#8d8f92;max-width:23rem;margin:0;line-height:1.5}.mtype-card-footer{color:#e2b714;justify-content:space-between;align-items:center;margin-top:2rem;font-weight:700;display:flex}.mtype-card-footer svg{width:1.3rem;height:1.3rem}.mtype-practice-card .mtype-card-footer{color:#d1d0c5}.mtype-home-footnote{color:#646669;justify-content:center;align-items:center;gap:.55rem;margin-top:2.1rem;font-size:.86rem;display:flex}.mtype-home-footnote svg{color:#e2b714;width:1rem;height:1rem}.race-lobby-page{flex-direction:column;display:flex}.race-lobby-panel{background:#2c2e31;border:1px solid #45474a;border-radius:1.2rem;width:min(100%,1010px);margin:auto;padding:clamp(1.7rem,4vw,3.5rem)}.race-lobby-heading{margin-bottom:2.3rem}.race-profile-row{border-top:1px solid #45474a;border-bottom:1px solid #45474a;align-items:center;gap:.85rem;padding:1rem 0;display:flex}.race-profile-avatar{background:#393b3e;border-radius:.85rem;place-items:center;width:3.1rem;height:3.1rem;font-size:1.55rem;display:grid}.race-profile-row>div:nth-child(2){flex-direction:column;gap:.27rem;display:flex}.race-profile-row strong{color:#d1d0c5;font-size:1.1rem}.race-profile-row button{color:#727477;cursor:pointer;background:0 0;border:0;border-radius:.5rem;margin-left:auto;padding:.55rem}.race-profile-row button:hover{color:#e2b714;background:#393b3e}.race-profile-row svg{width:1rem;height:1rem}.race-lobby-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.race-action-card{background:#323437;border-radius:.85rem;min-height:16.5rem;padding:1.45rem}.race-grand-prix-card{color:inherit;cursor:pointer;border:1px solid #0000;flex-direction:column;text-decoration:none;transition:border-color .16s,transform .16s;display:flex}.race-grand-prix-card:hover{border-color:#e2b714;transform:translateY(-.18rem)}.race-grand-prix-card>.mtype-primary-button{color:#323437;letter-spacing:0;text-transform:none;margin-top:auto}.race-action-symbol{color:#e2b714;background:#3b3d40;border-radius:.7rem;place-items:center;width:2.6rem;height:2.6rem;margin-bottom:1.55rem;display:grid}.race-action-symbol svg{width:1.3rem;height:1.3rem}.race-action-card h2{color:#d1d0c5;letter-spacing:-.065em;margin:.4rem 0 .55rem;font-size:1.5rem}.race-action-card p{color:#8d8f92;min-height:3rem;margin:0;font-size:.9rem;line-height:1.45}.mtype-primary-button{color:#323437;min-height:3.1rem;font:inherit;cursor:pointer;background:#e2b714;border:0;border-radius:.65rem;justify-content:center;align-items:center;gap:.5rem;margin-top:1.3rem;padding:.7rem 1.2rem;font-weight:800;transition:transform .15s,background .15s;display:inline-flex}.mtype-primary-button:hover:not(:disabled){background:#f0c62f;transform:translateY(-.12rem)}.mtype-primary-button:disabled{opacity:.55;cursor:wait}.mtype-primary-button svg{fill:currentColor;width:1rem;height:1rem}.race-action-card .mtype-primary-button{width:100%}.race-join-form{gap:.5rem;margin-top:1.3rem;display:flex}.race-join-form input{color:#d1d0c5;width:100%;min-width:0;height:3.1rem;font:inherit;letter-spacing:.12em;text-transform:uppercase;background:#292b2e;border:1px solid #4b4d50;border-radius:.65rem;outline:0;padding:0 .9rem;font-weight:700}.race-join-form input:focus{border-color:#e2b714}.race-join-form button{color:#323437;cursor:pointer;background:#e2b714;border:0;border-radius:.65rem;flex:0 0 3.1rem;place-items:center;width:3.1rem;display:grid}.race-join-form button:disabled{opacity:.5;cursor:not-allowed}.race-join-form svg{width:1.15rem;height:1.15rem}.race-role-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:1rem;display:grid}.race-role-choice button{color:#8d8f92;min-height:2.55rem;font:inherit;cursor:pointer;background:#292b2e;border:1px solid #484a4d;border-radius:.55rem;justify-content:center;align-items:center;gap:.42rem;font-size:.74rem;font-weight:800;display:inline-flex}.race-role-choice button:hover{color:#d1d0c5;border-color:#737578}.race-role-choice button.is-active{color:#e2b714;background:#e2b7141a;border-color:#e2b714}.race-role-choice svg{width:.95rem;height:.95rem}.race-lobby-error{color:#ca4754;margin:1rem 0 0;font-size:.9rem}.race-mode-mismatch-link{color:#e2b714;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:.65rem;padding:0;font-size:.78rem;font-weight:800;text-decoration:underline;display:inline-flex}.race-lobby-tip{color:#6d6f72;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;font-size:.83rem;display:flex}.race-lobby-tip svg{color:#e2b714;width:1rem;height:1rem}.grand-prix-entry-panel{width:min(100%,1060px)}.grand-prix-entry-hero{margin-bottom:1.4rem}.grand-prix-entry-hero>span{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:900}.grand-prix-entry-hero h1{color:#d1d0c5;letter-spacing:-.09em;max-width:44rem;margin:.5rem 0 1rem;font-size:clamp(2.3rem,5vw,4.4rem);line-height:.98}.grand-prix-entry-hero>div{flex-wrap:wrap;gap:.45rem;display:flex}.grand-prix-entry-hero b{color:#8d8f92;background:#292b2e;border:1px solid #45474a;border-radius:.45rem;padding:.38rem .55rem;font-size:.68rem}.grand-prix-entry-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.grand-prix-entry-actions .race-action-card{flex-direction:column;min-height:25rem;display:flex}.grand-prix-entry-actions .race-action-card>.mtype-primary-button,.grand-prix-entry-actions .race-action-card>.race-join-form{margin-top:auto}.grand-prix-entry-actions .race-duration-controls{margin-top:1rem}.grand-prix-format-controls button{flex:9rem}.grand-prix-fixed-setting{color:#727477;text-transform:uppercase;background:#292b2e;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;padding:.58rem .7rem;font-size:.7rem;font-weight:800;display:flex}.grand-prix-fixed-setting b{color:#d1d0c5;text-transform:none;font-size:.74rem}.grand-prix-entry-rules{color:#727477;align-items:flex-start;gap:.45rem;margin-top:.9rem;font-size:.7rem;line-height:1.45;display:flex}.grand-prix-entry-rules svg{color:#e2b714;flex:0 0 .95rem;width:.95rem;height:.95rem}.race-page{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 16rem;gap:1.25rem;display:grid;position:relative}.race-room-header{border-bottom:1px solid #45474a;grid-column:1/-1;padding-bottom:1rem}.race-back-button,.race-invite-button{color:#727477;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;font-size:.9rem;font-weight:700;display:inline-flex}.race-back-button:hover,.race-invite-button:hover{color:#d1d0c5}.race-back-button svg,.race-invite-button svg{width:1.1rem;height:1.1rem}.race-invite-button{color:#e2b714}.race-room-title{flex-direction:column;align-items:center;gap:.18rem;display:flex}.race-room-title>div{align-items:center;gap:.45rem;display:flex}.race-room-title strong{color:#d1d0c5;letter-spacing:.1em;font-size:1.25rem}.race-code-copy{color:#8d8f92;cursor:pointer;background:#393b3e;border:0;border-radius:.45rem;place-items:center;width:1.75rem;height:1.75rem;transition:color .15s,background .15s;display:grid}.race-code-copy:hover{color:#e2b714;background:#45474a}.race-code-copy svg{width:.9rem;height:.9rem}.race-stage{background:#2c2e31;border:1px solid #45474a;border-radius:1rem;min-width:0;padding:clamp(1.4rem,3vw,2.4rem)}.race-stage-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.race-stage-heading h1{color:#d1d0c5;letter-spacing:-.085em;margin:.45rem 0 0;font-size:clamp(1.75rem,3.1vw,3rem);line-height:1}.race-stage-status{color:#8d8f92;text-align:right;align-items:center;gap:.5rem;max-width:14rem;font-size:.8rem;line-height:1.4;display:flex}.race-status-dot{background:#e2b714;border-radius:50%;flex:0 0 .5rem;width:.5rem;height:.5rem;box-shadow:0 0 0 .25rem #e2b7141f}.race-track-list{gap:.8rem;margin-top:2.5rem;display:grid}.race-lane{grid-template-columns:minmax(10rem,13rem) minmax(0,1fr);align-items:center;gap:1rem;display:grid}.race-lane-player{-moz-column-gap:.6rem;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;column-gap:.6rem;display:grid}.race-lane-avatar{background:#393b3e;border-radius:.65rem;grid-row:span 2;place-items:center;width:2.25rem;height:2.25rem;font-size:1.15rem;display:grid}.race-lane-player strong{color:#d1d0c5;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.race-lane-player small{color:#727477;font-size:.72rem}.race-lane-track{background:#3d3f42;border-radius:99px;height:.45rem;overflow:hidden}.race-lane-progress{border-radius:inherit;background:#e2b714;min-width:.55rem;height:100%;position:relative}.race-lane-progress span{color:#e2b714;font-size:1rem;line-height:1;position:absolute;top:50%;right:-.25rem;transform:translateY(-50%)}.race-typing-shell{opacity:.5;background:#292b2e;border:1px solid #44464a;border-radius:.8rem;margin-top:2.8rem;padding:1.15rem 1.25rem .65rem;transition:opacity .18s,border-color .18s;position:relative}.race-typing-shell.is-active{opacity:1;border-color:#5b5d60}.race-typing-label{justify-content:space-between;margin-bottom:.65rem;font-size:.72rem;display:flex}.race-typing-shell>div:nth-child(2){height:3.45em;font-size:clamp(1.15rem,2vw,2rem);line-height:1.65}.race-typing-notice{color:#8d8f92;pointer-events:none;place-items:center;font-size:.92rem;font-weight:700;display:grid;position:absolute;inset:0}.race-stage-actions{align-items:center;min-height:4.4rem;margin-top:1.15rem;display:flex}.race-stage-actions .mtype-primary-button{margin:0}.race-stage-actions>span{color:#727477;font-size:.9rem}.race-host-controls{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.race-host-controls .mtype-primary-button{flex:none}.race-host-settings{gap:.65rem;display:grid}.race-duration-controls{color:#727477;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;display:flex}.race-duration-controls>span{letter-spacing:.08em;margin-right:.25rem}.race-duration-controls button{color:#8d8f92;font:inherit;cursor:pointer;text-transform:none;background:#34363a;border:1px solid #484a4d;border-radius:.45rem;padding:.42rem .55rem;font-size:.72rem}.race-duration-controls button:hover{color:#d1d0c5;border-color:#7b7d80}.race-duration-controls button.is-active{color:#e2b714;background:#e2b7141f;border-color:#e2b714}.grand-prix-format-note{color:#727477;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.66rem;display:flex}.grand-prix-format-note b,.grand-prix-format-note span{background:#292b2e;border-radius:.4rem;padding:.28rem .45rem}.grand-prix-format-note b{color:#e2b714}.race-info-panel{background:#2c2e31;border:1px solid #45474a;border-radius:1rem;padding:1.35rem}.race-info-panel>div{color:#d1d0c5;align-items:center;gap:.55rem;font-size:.95rem;font-weight:700;display:flex}.race-info-panel>div svg{color:#e2b714;width:1rem;height:1rem}.race-info-panel ul{gap:.6rem;margin:1.2rem 0;padding:0;list-style:none;display:grid}.race-info-panel li{color:#aaa;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.race-info-panel li span{background:#393b3e;border-radius:.45rem;place-items:center;width:1.7rem;height:1.7rem;display:grid}.race-info-panel p{color:#727477;border-top:1px solid #45474a;margin:0;padding-top:1rem;font-size:.78rem;line-height:1.45}.race-countdown,.race-finished-overlay{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#222325db;place-items:center;display:grid;position:fixed;inset:0}.race-countdown strong{color:#e2b714;font-size:clamp(7rem,25vw,18rem);line-height:1}.race-finished-overlay{color:#d1d0c5;align-content:center;gap:1rem}.race-finished-overlay svg{color:#e2b714;width:3rem;height:3rem}.race-finished-overlay strong{letter-spacing:-.08em;font-size:2.5rem}.race-finished-overlay button{color:#323437;font:inherit;cursor:pointer;background:#e2b714;border:0;border-radius:.6rem;margin-top:.6rem;padding:.75rem 1rem;font-weight:700}.race-loading{color:#e2b714;place-items:center;font-weight:700;display:grid}.race-join-error{color:#ca4754;text-align:center;justify-items:center;gap:.7rem;max-width:27rem;display:grid}.race-join-error strong{color:#d1d0c5;font-size:1.3rem}.race-join-error span{color:#8d8f92;font-size:.9rem;font-weight:500}.race-join-error button{color:#323437;font:inherit;cursor:pointer;background:#e2b714;border:0;border-radius:.6rem;margin-top:.5rem;padding:.7rem 1rem;font-weight:800}.race-join-choice-card{color:#d1d0c5;background:#2c2e31;border:1px solid #45474a;border-radius:1rem;width:min(100%,34rem);padding:1.5rem;display:grid}.race-join-choice-card>span{color:#e2b714;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.race-join-choice-card>strong{letter-spacing:-.06em;margin-top:.35rem;font-size:1.65rem}.race-join-choice-card>p{color:#8d8f92;margin:.45rem 0 0;font-size:.85rem;font-weight:500}.race-join-choice-card>em{color:#ca4754;margin-top:.8rem;font-size:.8rem;font-style:normal}.race-join-choice-card>div:last-child{justify-content:flex-end;gap:.65rem;margin-top:1rem;display:flex}.race-join-choice-card>div:last-child .mtype-primary-button{margin:0}.race-game-page{grid-template-columns:minmax(0,1fr) 15rem}.race-game-stage{padding:clamp(1.2rem,2.8vw,2.3rem)}.race-game-hud{color:#d1d0c5;border-bottom:1px solid #414346;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.15rem;font-size:1.05rem;font-weight:800;display:flex}.race-game-hud>div{align-items:center;gap:.55rem;display:flex}.race-status-dot.is-live{background:#7db52a;box-shadow:0 0 0 .25rem #7db52a29}.race-timer{color:#e2b714;font-variant-numeric:tabular-nums}.race-timer svg{width:1rem;height:1rem}.grand-prix-hud-label{color:#e2b714;letter-spacing:.08em;text-transform:uppercase;border:1px solid #e2b71452;border-radius:99px;padding:.2rem .42rem;font-size:.55rem;font-style:normal}.race-waiting-panel{background:linear-gradient(110deg,#323437,#292b2e);border:1px solid #484a4d;border-radius:.8rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1.25rem;padding:1rem 1.1rem;display:grid}.race-start-lights{background:#202225;border:1px solid #505256;border-radius:99px;gap:.38rem;padding:.48rem;display:flex}.race-start-lights i{background:#45474a;border-radius:50%;width:.85rem;height:.85rem;box-shadow:inset 0 .12rem .2rem #00000073}.race-start-lights i.is-red{background:#ca4754;animation:1.6s ease-in-out infinite race-waiting-pulse;box-shadow:0 0 0 .25rem #ca47541f,0 0 .8rem #ca475459}.race-waiting-copy{min-width:0}.race-waiting-copy>span{color:#e2b714;letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:800}.race-waiting-copy h1{color:#d1d0c5;letter-spacing:-.05em;margin:.18rem 0 .25rem;font-size:clamp(1.15rem,2vw,1.55rem)}.race-waiting-copy p{color:#8d8f92;margin:0;font-size:.78rem;line-height:1.4}.race-waiting-meta{border-left:1px solid #45474a;grid-template-columns:auto auto;align-items:baseline;gap:0 .35rem;min-width:8.5rem;padding-left:1rem;display:grid}.race-waiting-meta strong{color:#e2b714;font-size:1.45rem}.race-waiting-meta span{color:#d1d0c5;font-size:.74rem;font-weight:700}.race-waiting-meta small{color:#727477;grid-column:1/-1;font-size:.67rem}.race-room-rosters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.8rem;display:grid}.race-room-roster{background:#292b2e;border:1px solid #424448;border-radius:.7rem;min-width:0;padding:.8rem}.race-room-roster h2{color:#d1d0c5;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:.74rem;display:flex}.race-room-roster h2 span{color:#e2b714;background:#e2b7141f;border-radius:99px;place-items:center;min-width:1.25rem;height:1.25rem;font-size:.64rem;display:grid}.race-room-roster ul{gap:.35rem;max-height:9.5rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.race-room-roster li{background:#303236;border-radius:.48rem;grid-template-columns:1.8rem minmax(0,1fr) auto;align-items:center;gap:.45rem;min-width:0;padding:.38rem;display:grid}.race-room-roster li>i{background:#3b3d40;border-radius:.45rem;place-items:center;width:1.8rem;height:1.8rem;font-style:normal;display:grid}.race-room-roster li>strong{color:#d1d0c5;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;min-width:0;font-size:.75rem;display:flex;overflow:hidden}.race-room-roster li>strong em{color:#e2b714;text-transform:uppercase;background:#e2b71424;border-radius:99px;padding:.1rem .3rem;font-size:.52rem;font-style:normal}.race-room-roster li>span{color:#727477;font-size:.61rem}.race-room-roster li.is-disconnected{opacity:.58}.race-room-roster>p{color:#646669;margin:0;font-size:.72rem}.race-waiting-role-control{background:#292b2e;border:1px solid #424448;border-radius:.7rem;grid-column:1/-1;align-items:center;gap:.65rem;padding:.65rem .8rem;display:flex}.race-waiting-role-control>span{color:#8d8f92;letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:800}.race-waiting-role-control .race-role-choice{margin:0;display:flex}.race-waiting-role-control .race-role-choice button{min-height:2.1rem;padding:.35rem .7rem}.race-waiting-role-control>em{color:#ca4754;margin-left:auto;font-size:.7rem;font-style:normal}@keyframes race-waiting-pulse{50%{opacity:.62;transform:scale(.92)}}.race-game-track{background:#292b2e;border:1px solid #424448;border-radius:.9rem;gap:0;margin-top:1.4rem;overflow:hidden}.race-game-track .race-lane{background:0 0;border-bottom:1px dashed #4a4c4f;padding:.95rem 1.05rem 1rem;transition:background .15s;display:block}.race-game-track .race-lane:last-child{border-bottom:0}.race-game-track .race-lane.is-current-user{background:linear-gradient(90deg,#e2b71417,#0000 55%)}.race-lane-meta{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.45rem;display:flex}.race-lane-name,.race-lane-stats{align-items:center;gap:.45rem;min-width:0;display:flex}.race-lane-name>span{background:#3a3c3f;border-radius:.5rem;place-items:center;width:1.65rem;height:1.65rem;font-size:.95rem;display:grid}.race-lane-name strong{color:#d1d0c5;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.race-lane-name em{color:#e2b714;text-transform:uppercase;background:#e2b71426;border-radius:99px;padding:.13rem .38rem;font-size:.66rem;font-style:normal;font-weight:800}.race-lane-stats{color:#999b9d;flex:none;font-size:.74rem}.race-lane-stats b{color:#d1d0c5;font-size:.78rem}.race-lane-stats small{color:#e2b714;font-size:.68rem;font-weight:800}.race-lane-track{background:repeating-linear-gradient(90deg,#303236 0 1.7rem,#2c2e31 1.7rem 3.4rem);border:1px solid #3e4043;border-radius:.56rem;height:2.35rem;position:relative;overflow:hidden}.race-finish-line{z-index:2;color:#e2b714;background:linear-gradient(90deg,#0000,#e2b71417);border-left:1px dashed #e2b714;place-items:center;width:1.65rem;display:grid;position:absolute;top:0;bottom:0;right:.35rem}.race-finish-line svg{width:.9rem;height:.9rem}.race-car-motion{will-change:transform;align-items:center;width:calc(100% - 3.65rem);height:100%;display:flex}.race-car{filter:drop-shadow(0 .2rem .1rem #00000040);align-items:center;gap:.1rem;display:flex;position:relative}.race-car>span:first-child{z-index:1;background:#d1d0c5;border-radius:50%;place-items:center;width:1rem;height:1rem;font-size:.58rem;display:grid;position:absolute;top:-.4rem;left:.2rem}.race-car-body{background:var(--car-color);border-radius:.62rem .85rem .36rem .36rem;width:2.65rem;height:1.1rem;margin-top:.2rem;display:block;position:relative;box-shadow:inset 0 -.18rem #00000029}.race-car-body:before{content:"";background:var(--car-color);border-radius:.55rem .72rem .08rem .08rem;width:1.1rem;height:.65rem;position:absolute;top:-.57rem;left:.72rem}@supports (color:color-mix(in lab, red, red)){.race-car-body:before{background:color-mix(in srgb, var(--car-color) 55%, #d9f5f5)}}.race-car-body:before{transform:skew(18deg)}.race-car-body i{z-index:1;background:#bfc0c0;border:.12rem solid #34363a;border-radius:50%;width:.52rem;height:.52rem;position:absolute;bottom:-.25rem}.race-car-body i:first-child{left:.38rem}.race-car-body i:last-child{right:.32rem}.race-lane.is-finished .race-car-body{filter:saturate(1.25)brightness(1.12)}.race-standings-strip{background:#292b2e;border:1px solid #414346;border-radius:.65rem;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding:.65rem 1.1rem;display:flex;position:relative}.race-standings-strip>div{justify-content:center;align-items:center;gap:0;width:100%;min-width:0;padding-inline:5.5rem;display:flex;overflow:hidden}.race-standings-strip>div>span{color:#8d8f92;white-space:nowrap;align-items:center;gap:.32rem;min-width:0;font-size:.7rem;display:inline-flex}.race-standings-strip>div>span:not(:last-child):after{content:"·";color:#505256;margin:0 .65rem}.race-standings-strip>div>span.is-you{color:#e2b714;background:#e2b7141c;border:1px solid #e2b71485;border-radius:.45rem;margin-inline:.25rem;padding:.28rem .45rem;box-shadow:0 0 0 .18rem #e2b7140d}.race-standings-strip>div>span.is-you i{color:#323437;letter-spacing:.06em;text-transform:uppercase;background:#e2b714;border-radius:99px;padding:.08rem .24rem;font-size:.48rem;font-style:normal;font-weight:900}.race-standings-strip b{font-size:.85rem}.race-standings-strip strong{color:#d1d0c5;text-overflow:ellipsis;max-width:7rem;overflow:hidden}.race-standings-strip em{color:inherit;font-style:normal;font-weight:800}.race-standings-strip small{color:#727477;font-size:.55rem}.race-standings-strip p{border-left:1px solid #45474a;align-items:center;gap:.38rem;margin:0;padding-left:.8rem;display:inline-flex;position:absolute;right:1.1rem}.race-standings-strip p span{color:#727477;letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:800}.race-standings-strip p strong{color:#e2b714;font-size:.8rem}.race-game-stage .race-typing-shell{background:#25272a;margin-top:1.3rem;padding:1.15rem 1.25rem .9rem}.race-game-stage .race-standings-strip+.race-typing-shell{margin-top:.65rem}.race-game-stage .race-typing-shell>.race-typing-engine{height:auto;font-size:inherit;line-height:normal}.race-typing-copy{scroll-behavior:smooth;-webkit-user-select:none;user-select:none;color:#646669;letter-spacing:-.045em;word-break:break-word;height:4.95em;font-size:clamp(1.05rem,1.9vw,1.85rem);line-height:1.72;overflow:hidden}.race-visible-typing-input{color:#d1d0c5;width:100%;height:2.8rem;font:inherit;background:#303236;border:1px solid #505256;border-radius:.55rem;outline:0;margin-top:.9rem;padding:0 .85rem;font-size:1rem}.race-visible-typing-input:focus{border-color:#e2b714;box-shadow:0 0 0 2px #e2b7141f}.race-visible-typing-input.has-error{background:#ca475433;border-color:#ca4754;box-shadow:0 0 0 2px #ca47541c}.race-typing-feedback{place-items:center;min-height:1.45rem;margin-top:.7rem;display:grid}.race-game-stage .race-typing-feedback .race-typing-notice{text-align:center;background:0 0;margin:0;display:block;position:static}.race-game-stage .race-typing-error{color:#ca4754;font-weight:700}.race-spectator-view{background:linear-gradient(120deg,#e2b71414,#25272a 50%);border:1px solid #e2b7145c;border-radius:.8rem;margin-top:1.3rem;padding:1.15rem 1.25rem}.race-spectator-view>div:first-child{color:#323437;letter-spacing:.08em;text-transform:uppercase;background:#e2b714;border-radius:99px;align-items:center;gap:.42rem;padding:.3rem .55rem;font-size:.65rem;font-weight:900;display:inline-flex}.race-spectator-view>div:first-child svg{width:.9rem;height:.9rem}.race-spectator-view h2{color:#d1d0c5;letter-spacing:-.04em;margin:.8rem 0 .25rem;font-size:1.25rem}.race-spectator-view>p{color:#8d8f92;margin:0;font-size:.78rem;line-height:1.5}.race-spectator-passage{color:#727477;max-height:6.2rem;margin-top:.9rem;font-size:clamp(.92rem,1.4vw,1.15rem);line-height:1.6;overflow:hidden}.race-spectator-view.is-eliminated{background:linear-gradient(120deg,#ca47541a,#25272a 55%);border-color:#ca47548c}.grand-prix-spectators{background:#292b2e;border:1px solid #414346;border-radius:.6rem;align-items:center;gap:.75rem;margin-top:.75rem;padding:.55rem .7rem;display:flex}.grand-prix-spectators>span{color:#8d8f92;letter-spacing:.07em;text-transform:uppercase;flex:none;align-items:center;gap:.35rem;font-size:.63rem;font-weight:800;display:inline-flex}.grand-prix-spectators>span svg{color:#e2b714;width:.85rem;height:.85rem}.grand-prix-spectators>div{gap:.4rem;min-width:0;display:flex;overflow-x:auto}.grand-prix-spectators strong{color:#8d8f92;background:#34363a;border-radius:.38rem;flex:none;padding:.27rem .42rem;font-size:.64rem}.grand-prix-spectators strong.is-you{color:#e2b714}.grand-prix-round-panel{background:linear-gradient(135deg,#292b2e,#25272a);border:1px solid #45474a;border-radius:.8rem;margin-top:1rem;padding:1.1rem}.grand-prix-panel-heading{border-bottom:1px solid #414346;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.85rem;display:flex}.grand-prix-panel-heading>div>span,.grand-prix-round-panel.is-aborted>span{color:#e2b714;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:900}.grand-prix-panel-heading h2,.grand-prix-round-panel.is-aborted h2{color:#d1d0c5;letter-spacing:-.05em;margin:.2rem 0 0;font-size:1.35rem}.grand-prix-panel-heading>strong{color:#e2b714;white-space:nowrap;font-size:.75rem}.grand-prix-panel-heading>svg{color:#e2b714;width:2rem;height:2rem}.grand-prix-result-list,.grand-prix-qualification-list,.grand-prix-classification{gap:.35rem;margin:0;padding:.8rem 0 0;list-style:none;display:grid}.grand-prix-result-list li{color:#8d8f92;background:#303236;border:1px solid #0000;border-radius:.48rem;grid-template-columns:2rem minmax(0,1fr) 3.5rem 4.8rem 3.5rem 5.2rem;align-items:center;gap:.45rem;padding:.52rem .6rem;font-size:.7rem;display:grid}.grand-prix-result-list.is-classic-standings li{grid-template-columns:2rem minmax(0,1fr) 6rem 4.2rem 8rem 5.2rem}.grand-prix-qualification-list li{color:#8d8f92;background:#303236;border:1px solid #0000;border-radius:.48rem;grid-template-columns:2rem minmax(0,1fr) 4.8rem 3.5rem 5.2rem;align-items:center;gap:.45rem;padding:.52rem .6rem;font-size:.7rem;display:grid}.grand-prix-result-list li.is-you,.grand-prix-qualification-list li.is-you,.grand-prix-classification li.is-you{background:#e2b71414;border-color:#e2b71466}.grand-prix-result-list li>b,.grand-prix-qualification-list li>b{color:#e2b714}.grand-prix-result-list li>strong,.grand-prix-qualification-list li>strong{color:#d1d0c5;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;display:flex;overflow:hidden}.grand-prix-result-list em,.grand-prix-qualification-list em,.grand-prix-classification em{color:#323437;text-transform:uppercase;background:#e2b714;border-radius:99px;padding:.08rem .28rem;font-size:.5rem;font-style:normal}.grand-prix-result-list mark,.grand-prix-qualification-list mark,.grand-prix-classification mark{color:#8d8f92;text-transform:uppercase;background:#393b3e;border-radius:99px;justify-self:end;padding:.24rem .42rem;font-size:.58rem;font-weight:800}.grand-prix-overall-list{gap:.45rem;margin:0;padding:.8rem 0 0;list-style:none;display:grid}.grand-prix-overall-list li{background:#303236;border:1px solid #0000;border-radius:.58rem;grid-template-columns:2.5rem 2.35rem minmax(0,1fr) auto 2rem;align-items:center;gap:.65rem;min-width:0;padding:.72rem .75rem;display:grid}.grand-prix-overall-list li.is-leader{background:#e2b71412;border-color:#e2b71452}.grand-prix-overall-list li.is-you{box-shadow:inset 0 0 0 1px #e2b7146b}.grand-prix-overall-position{color:#8d8f92;align-items:center;gap:.18rem;font-size:.72rem;display:flex}.grand-prix-overall-position svg{color:#e2b714;flex:none;width:.85rem;height:.85rem}.grand-prix-overall-avatar{background:#3a3c3f;border-radius:.55rem;place-items:center;width:2.35rem;height:2.35rem;font-size:1rem;font-style:normal;display:grid}.grand-prix-overall-name{align-items:center;gap:.4rem;min-width:0;display:flex;overflow:hidden}.grand-prix-overall-name strong{color:#d1d0c5;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.grand-prix-overall-name small{color:#e2b714;letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:.5rem;font-weight:800}.grand-prix-overall-metrics{white-space:nowrap;align-items:baseline;gap:.55rem;display:flex}.grand-prix-overall-metrics strong{color:#e2b714;font-size:.78rem}.grand-prix-overall-lap-points{color:#9abf62;background:#7db52a29;border-radius:99px;padding:.12rem .34rem;font-size:.6rem;font-style:normal;font-weight:800}.grand-prix-overall-metrics small{color:#8d8f92;align-items:center;font-size:.62rem;display:inline-flex}.grand-prix-overall-metrics small:before{color:#56585b;content:"·";margin-right:.55rem}.grand-prix-overall-movement{color:#8d8f92;justify-self:end;font-size:.74rem;font-style:normal;font-weight:800}.grand-prix-overall-movement.is-up{color:#7db52a}.grand-prix-overall-movement.is-down{color:#ca4754}.grand-prix-overall-empty{color:#727477;text-align:center;border:1px dashed #45474a;border-radius:.55rem;margin:.8rem 0 0;padding:.8rem;font-size:.7rem}.grand-prix-safe-notice{color:#9abf62;text-align:center;background:#7db52a14;border:1px solid #7db52a47;border-radius:.5rem;margin:.75rem 0 0;padding:.65rem;font-size:.72rem}.grand-prix-qualification-list li.is-cut-line{border-top-color:#ca4754;border-radius:0 0 .48rem .48rem;margin-top:.7rem}.grand-prix-qualification-list mark.is-qualified{color:#9abf62;background:#7db52a29}.grand-prix-qualification-list mark.is-eliminated{color:#db7480;background:#ca475424}.grand-prix-eliminated-message{text-align:center;background:#ca47541a;border:1px solid #ca475480;border-radius:.6rem;justify-items:center;gap:.18rem;margin-top:.8rem;padding:.9rem;display:grid}.grand-prix-eliminated-message strong{color:#db7480;text-transform:uppercase;font-size:1rem}.grand-prix-eliminated-message span{color:#b1b2b4;font-size:.72rem}.grand-prix-classification li{background:#303236;border:1px solid #0000;border-radius:.5rem;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.62rem;display:grid}.grand-prix-classification li>b{color:#e2b714;font-size:1rem}.grand-prix-classification li>div{min-width:0;display:grid}.grand-prix-classification li>div>strong{color:#d1d0c5;align-items:center;gap:.35rem;font-size:.78rem;display:flex}.grand-prix-classification li small{color:#727477;text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;font-size:.6rem;overflow:hidden}.grand-prix-qualification-summary{border-top:1px solid #414346;margin-top:.85rem;padding-top:.75rem}.grand-prix-qualification-summary>strong{color:#8d8f92;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.grand-prix-qualification-summary>div{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.grand-prix-qualification-summary span{color:#8d8f92;background:#303236;border-radius:.38rem;align-items:center;gap:.3rem;padding:.3rem .42rem;font-size:.62rem;display:inline-flex}.grand-prix-qualification-summary span b{color:#e2b714}.grand-prix-qualification-summary span em{color:#d1d0c5;font-style:normal;font-weight:800}.grand-prix-round-panel.is-aborted{border-color:#ca475466}.grand-prix-round-panel.is-aborted>p{color:#8d8f92;margin:.5rem 0 0;font-size:.75rem;line-height:1.5}.race-action-error{margin-left:.7rem;color:#ca4754!important;font-size:.72rem!important}.race-finish-message{align-items:center;gap:.5rem;font-weight:700;display:inline-flex;color:#e2b714!important}.race-finish-message svg{width:1rem;height:1rem}.race-game-aside{flex-direction:column;align-self:start;gap:1rem;display:flex;position:sticky;top:1.25rem}.race-game-aside strong{color:#e2b714;letter-spacing:-.08em;font-size:1.8rem}.race-game-aside p{margin-top:auto}.race-standings-panel{gap:0;padding:1.1rem}.race-standings-heading{border-bottom:1px solid #45474a;padding-bottom:.85rem}.race-standings-heading i{background:#7db52a;border-radius:50%;width:.45rem;height:.45rem;margin-left:auto;animation:1.8s ease-in-out infinite race-standings-live;box-shadow:0 0 0 .2rem #7db52a21}.race-standings-list{gap:.45rem;margin:0;padding:.85rem 0 0;list-style:none;display:grid}.race-standings-list li{background:#292b2e;border:1px solid #0000;border-radius:.55rem;grid-template-columns:1.4rem 1.9rem minmax(0,1fr) auto;align-items:center;gap:.4rem;min-width:0;padding:.55rem .45rem;display:grid}.race-standings-list li.is-you{background:#e2b71414;border-color:#e2b71461}.race-standing-place{color:#323437;border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.68rem;display:grid}.race-standing-place.is-place-1{background:#e2b714}.race-standing-place.is-place-2{background:#b8bcc2}.race-standing-place.is-place-3{background:#bd7b4c}.race-standings-list .race-standing-avatar{background:#3a3c3f;border-radius:.48rem;place-items:center;width:1.9rem;height:1.9rem;font-size:.92rem;display:grid}.race-standings-list .race-standing-name{color:#d1d0c5;text-overflow:ellipsis;white-space:nowrap;flex-direction:column;align-items:flex-start;width:auto;min-width:0;font-size:.75rem;font-weight:800;display:flex;overflow:hidden}.race-standing-name em{color:#e2b714;letter-spacing:.08em;text-transform:uppercase;font-size:.55rem;font-style:normal}.race-standings-list li>strong{color:#d1d0c5;letter-spacing:0;white-space:nowrap;font-size:.76rem}.race-standings-list li>strong small{color:#727477;font-size:.55rem}.race-standing-current{border-top:1px solid #45474a;margin-top:.9rem;padding-top:.75rem}.race-standing-current>span{color:#727477;letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:800}.race-standing-current>div{grid-template-columns:auto 1.75rem minmax(0,1fr) auto;align-items:center;gap:.4rem;margin-top:.45rem;display:grid}.race-standing-current b{color:#e2b714;font-size:.75rem}.race-standing-current i{background:#3a3c3f;border-radius:.45rem;place-items:center;width:1.75rem;height:1.75rem;font-size:.85rem;font-style:normal;display:grid}.race-standing-current strong{color:#d1d0c5;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.race-standing-current em{color:#d1d0c5;white-space:nowrap;font-size:.68rem;font-style:normal;font-weight:800}.race-standing-current em small{color:#727477;font-size:.52rem}.grand-prix-round-history{border-top:1px solid #45474a;margin-top:1rem;padding-top:.85rem}.grand-prix-round-history-heading{color:#d1d0c5;letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.72rem;font-weight:800;display:flex}.grand-prix-round-history-heading svg{color:#e2b714;width:.85rem;height:.85rem}.grand-prix-round-history-heading small{color:#727477;margin-left:auto;font-size:.58rem}.grand-prix-round-history-empty{color:#727477;text-align:center;border:1px dashed #45474a;border-radius:.6rem;padding:.75rem;font-size:.66rem;line-height:1.45;margin:.75rem 0 0!important}.grand-prix-round-history-list{scrollbar-color:#505256 transparent;scrollbar-width:thin;gap:.65rem;max-height:min(55vh,34rem);margin-top:.7rem;padding-right:.22rem;display:grid;overflow-y:auto}.grand-prix-round-history-card{background:#292b2e;border:1px solid #424448;border-radius:.65rem;overflow:hidden;container-type:inline-size}.grand-prix-round-history-card>summary{cursor:pointer;background:#303236;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.4rem;padding:.55rem .58rem;list-style:none;display:grid}.grand-prix-round-history-card>summary::-webkit-details-marker{display:none}.grand-prix-round-history-card>summary strong{color:#e2b714;letter-spacing:0;font-size:.67rem}.grand-prix-round-history-card>summary span{color:#8d8f92;font-size:.55rem;font-weight:800}.grand-prix-round-history-card>summary svg{color:#727477;width:.75rem;height:.75rem;transition:transform .16s}.grand-prix-round-history-card[open]>summary{border-bottom:1px solid #3d3f42}.grand-prix-round-history-card[open]>summary svg{transform:rotate(180deg)}.grand-prix-round-history-card ol{gap:.32rem;margin:0;padding:.42rem;list-style:none;display:grid}.grand-prix-round-history-card li{border:1px solid #0000;border-radius:.5rem;grid-template-rows:auto auto;grid-template-columns:2rem 1.9rem minmax(0,1fr) auto;align-items:center;gap:.3rem .5rem;min-width:0;padding:.58rem .5rem;display:grid}.grand-prix-round-history-card li.is-leader{background:#e2b7140e;border-color:#e2b7143d}.grand-prix-round-history-card li.is-you{box-shadow:inset 0 0 0 1px #e2b71461}.grand-prix-history-position{color:#8d8f92;grid-area:1/1/3;align-items:center;gap:.16rem;font-size:.6rem;display:flex}.grand-prix-history-position svg{color:#e2b714;flex:none;width:.7rem;height:.7rem}.grand-prix-history-avatar{background:#3a3c3f;border-radius:.45rem;grid-area:1/2/3;place-items:center;width:1.9rem;height:1.9rem;font-size:.82rem;font-style:normal;display:grid}.grand-prix-history-name{grid-area:1/3;align-items:center;gap:.35rem;min-width:0;display:flex;overflow:hidden;background:0 0!important;width:auto!important;height:auto!important}.grand-prix-history-name strong{color:#d1d0c5;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden;letter-spacing:0!important;font-size:.64rem!important}.grand-prix-history-name small{color:#e2b714;letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:.46rem;font-weight:800}.grand-prix-history-metrics{flex-wrap:wrap;grid-area:2/3/auto/5;align-items:baseline;gap:.38rem;min-width:0;display:flex}.grand-prix-history-points{white-space:nowrap;color:#e2b714!important;letter-spacing:0!important;font-size:.69rem!important}.grand-prix-history-wpm,.grand-prix-history-accuracy{color:#8d8f92;white-space:nowrap;align-items:center;font-size:.49rem;display:inline-flex}.grand-prix-history-accuracy{color:#727477}.grand-prix-history-wpm:before,.grand-prix-history-accuracy:before{color:#56585b;content:"·";margin-right:.38rem}.grand-prix-history-movement{color:#8d8f92;grid-area:1/4;justify-self:end;font-size:.61rem;font-style:normal;font-weight:800}.grand-prix-history-movement.is-up{color:#7db52a}.grand-prix-history-movement.is-down{color:#ca4754}@container (width>=390px){.grand-prix-round-history-card li{grid-template-rows:auto;grid-template-columns:2rem 1.9rem minmax(3.5rem,1fr) auto 1.25rem;gap:.5rem}.grand-prix-history-position,.grand-prix-history-avatar,.grand-prix-history-name,.grand-prix-history-metrics,.grand-prix-history-movement{grid-row:1}.grand-prix-history-position{grid-column:1}.grand-prix-history-avatar{grid-column:2}.grand-prix-history-name{grid-column:3}.grand-prix-history-metrics{flex-wrap:nowrap;grid-column:4}.grand-prix-history-movement{grid-column:5}}@keyframes race-standings-live{50%{opacity:.5}}.race-ended-actions{align-items:center;gap:.75rem;display:flex}.race-ended-actions>span{color:#727477;font-size:.82rem}.race-waiting-badge{color:#e2b714;background:#e2b7140f;border:1px solid #e2b714;border-radius:.65rem;align-items:center;gap:.6rem;min-height:2.8rem;padding:.55rem .8rem;display:inline-flex}.race-waiting-badge strong{font-size:.78rem;font-weight:800}.race-waiting-badge-signal{background:#e2b7142e;border-radius:50%;flex:0 0 1.7rem;place-items:center;width:1.7rem;height:1.7rem;display:grid}.race-waiting-badge-signal i{background:#e2b714;border-radius:50%;width:.72rem;height:.72rem;animation:1.7s ease-out infinite race-ended-waiting-pulse;box-shadow:0 0 #e2b71447}@keyframes race-ended-waiting-pulse{70%,to{box-shadow:0 0 0 .55rem #e2b71400}}.race-secondary-button{color:#8d8f92;min-height:3.1rem;font:inherit;cursor:pointer;background:#323437;border:1px solid #4b4d50;border-radius:.65rem;padding:.7rem 1rem;font-size:.82rem;font-weight:800}.race-secondary-button:hover{color:#d1d0c5;border-color:#737578}.race-countdown{align-content:center;gap:.35rem}.race-countdown span{color:#8d8f92;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:800}.race-countdown span.is-grand-prix-lap{color:#d1d0c5;letter-spacing:-.04em;font-size:clamp(1.65rem,4vw,3.1rem);line-height:1.05}.race-results-page{width:min(100%,860px);min-height:100vh;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.25rem}.race-results-page>header{color:#727477;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-size:.8rem;font-weight:800;display:flex}.race-results-page>header button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;display:inline-flex}.race-results-page>header button:hover{color:#e2b714}.race-results-page>header svg{width:1rem;height:1rem}.race-results-hero{text-align:center;justify-items:center;margin:clamp(3rem,9vh,6.5rem) auto 2.5rem;display:grid}.race-results-hero>svg{color:#e2b714;width:2.25rem;height:2.25rem}.race-results-hero p{color:#727477;letter-spacing:.1em;text-transform:uppercase;margin:1.2rem 0 .25rem;font-size:.8rem;font-weight:800}.race-results-hero h1{color:#d1d0c5;letter-spacing:-.12em;margin:0;font-size:clamp(4.7rem,14vw,8rem);font-weight:600;line-height:1}.race-results-hero>span{color:#8d8f92;margin-top:.9rem;font-size:.86rem}.race-results-board{background:#2c2e31;border:1px solid #45474a;border-radius:1rem;overflow:hidden}.race-results-board-title{color:#d1d0c5;border-bottom:1px solid #45474a;align-items:center;gap:.5rem;padding:1rem 1.2rem;font-size:.88rem;font-weight:800;display:flex}.race-results-board-title svg{color:#e2b714;width:1rem;height:1rem}.race-results-row{border-bottom:1px solid #3e4043;grid-template-columns:3rem 2rem minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.85rem 1.2rem;display:grid}.race-results-row:last-child{border-bottom:0}.race-results-row.is-you{background:#e2b71417}.race-results-row>b{color:#e2b714;font-size:.8rem}.race-results-row>span{background:#393b3e;border-radius:.5rem;place-items:center;width:1.8rem;height:1.8rem;display:grid}.race-results-row strong{color:#d1d0c5;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.race-results-row em{color:#727477;font-size:.74rem;font-style:normal}.race-results-row mark{color:#e2b714;text-align:center;background:#393b3e;border-radius:99px;min-width:4.5rem;padding:.35rem .55rem;font-size:.74rem;font-weight:800}.race-results-button{margin:1.5rem auto 0;display:flex}@media (width<=900px){.results-overview{grid-template-columns:1fr}.results-primary{flex-direction:row;gap:3rem}.results-primary strong{font-size:4rem}.results-details{grid-template-columns:repeat(3,minmax(0,1fr))}.race-page{grid-template-columns:1fr}.race-info-panel{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.race-info-panel>div{grid-column:1/-1}.race-info-panel ul{margin:0}.race-info-panel p{border:0;padding:0}.race-game-aside,.race-standings-strip{display:none}}@media (width<=620px){.results-page{padding:2rem 1.25rem}.results-chart{padding-left:1.8rem;padding-right:1.5rem}.results-chart svg{height:12rem}.chart-axis-title,.chart-error-title{display:none}.results-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 1rem}.results-details span{font-size:1rem}.results-details strong{white-space:normal;font-size:1.25rem}.results-actions{gap:1.7rem;margin-top:3.5rem}.results-actions svg{width:1.55rem;height:1.55rem}.mtype-home,.race-lobby-page,.race-page,.race-loading{padding:1.25rem}.mtype-header-note{display:none}.mtype-home-content{margin-top:4.8rem}.mtype-choice-grid,.race-lobby-actions,.grand-prix-entry-actions{grid-template-columns:1fr}.mtype-choice-card{min-height:18rem}.race-lobby-panel{margin:3rem 0 auto;padding:1.25rem}.race-room-header{grid-template-columns:1fr auto;display:grid}.race-room-title{grid-area:2/1/auto/-1;align-items:flex-start;margin-top:.75rem}.race-stage{padding:1.25rem}.race-stage-heading{flex-direction:column}.race-stage-status{text-align:left;max-width:none}.race-lane{grid-template-columns:1fr;gap:.5rem}.race-typing-shell{margin-top:2rem;padding-inline:.85rem}.race-info-panel{grid-template-columns:1fr}.race-info-panel>div{grid-column:auto}.race-info-panel ul{margin:0}.race-info-panel p{border-top:1px solid #45474a;padding-top:.75rem}.race-game-hud{font-size:.92rem}.grand-prix-hud-label{display:none}.race-waiting-panel{grid-template-columns:auto minmax(0,1fr)}.race-waiting-meta{border-top:1px solid #45474a;border-left:0;grid-column:1/-1;padding:.75rem 0 0}.race-room-rosters{grid-template-columns:1fr}.race-waiting-role-control{flex-direction:column;grid-column:auto;align-items:stretch}.race-waiting-role-control .race-role-choice{display:grid}.race-waiting-role-control>em{margin-left:0}.race-host-controls{flex-direction:column;align-items:flex-start}.race-host-settings{width:100%}.grand-prix-panel-heading{flex-direction:column;align-items:flex-start}.grand-prix-result-list li,.grand-prix-result-list.is-classic-standings li,.grand-prix-qualification-list li{grid-template-columns:1.8rem minmax(0,1fr) 4.6rem}.grand-prix-result-list li>span:nth-of-type(n+2),.grand-prix-qualification-list li>span:first-of-type,.grand-prix-result-list li>mark,.grand-prix-qualification-list li>mark{display:none}.grand-prix-overall-list li{grid-template-rows:auto auto;grid-template-columns:2rem 2.1rem minmax(0,1fr) 1.6rem;gap:.3rem .5rem;padding:.65rem}.grand-prix-overall-position,.grand-prix-overall-avatar{grid-row:1/3}.grand-prix-overall-avatar{width:2.1rem;height:2.1rem}.grand-prix-overall-name{grid-area:1/3}.grand-prix-overall-metrics{white-space:normal;flex-wrap:wrap;grid-area:2/3/auto/5;gap:.4rem}.grand-prix-overall-metrics small:before{margin-right:.4rem}.grand-prix-overall-movement{grid-area:1/4}.grand-prix-spectators{flex-direction:column;align-items:flex-start}.race-ended-actions{flex-direction:column;align-items:stretch;width:100%}.race-waiting-badge{width:100%}.race-lane-meta{gap:.45rem}.race-lane-stats small{display:none}.race-results-row{grid-template-columns:2.35rem 1.7rem minmax(0,1fr) auto;gap:.45rem;padding-inline:.8rem}.race-results-row em{display:none}}@media (prefers-reduced-motion:reduce){.race-waiting-badge-signal i,.race-standings-heading i,.mtype-choice-card:before,.mtype-choice-card:after{animation:none}.mtype-electric-filter{display:none}}@media (width<=900px){.practice-page{padding:1.5rem}.practice-controls{gap:.5rem}.practice-control-group{padding:.6rem;font-size:.78rem}.practice-modes button:nth-of-type(n+4),.practice-control-group button span{display:none}.practice-durations{gap:.55rem}}@media (width<=620px){.practice-controls{justify-content:flex-start;padding-bottom:.35rem;overflow-x:auto}.practice-control-group{flex:none}.practice-test.is-idle{padding-top:8rem}.practice-test.is-running{padding-top:6rem}.practice-shortcuts{font-size:.7rem}}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
