/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration:initial;--tw-ease:initial;--tw-space-x-reverse:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"Noto Sans HK", "Noto Sans TC", "PingFang HK", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Noto Sans HK", "Noto Sans TC", "PingFang HK", ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--font-display:"Noto Sans HK", "Noto Serif HK", "PingFang HK", ui-sans-serif, system-ui, sans-serif;--font-serif-hk:"Source Han Serif TC", "Noto Serif CJK TC", "Noto Serif HK", "Noto Serif TC", "Songti SC", ui-serif, serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[1px\]{height:1px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-9{width:calc(var(--spacing) * 9)}.w-\[1px\]{width:1px}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-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}.border-input{border-color:var(--border-subtle)}.bg-background{background-color:var(--page)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-border{background-color:var(--border-subtle)}.bg-primary,.bg-primary\/10{background-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--action-primary) 10%, transparent)}}.bg-transparent{background-color:#0000}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--text-primary)}.text-muted-foreground{color:var(--text-secondary)}.text-primary{color:var(--action-primary)}.text-primary-foreground{color:var(--action-primary-text)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);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:var(--page)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,)}.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,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.paused{animation-play-state:paused}.running{animation-play-state:running}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--text-primary)}.placeholder\:text-muted-foreground::placeholder{color:var(--text-secondary)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--action-primary-soft)}.hover\:bg-muted:hover{background-color:var(--surface-sunken)}.hover\:bg-primary\/90:hover{background-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--action-primary) 90%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--action-secondary-text)}.hover\:text-muted-foreground:hover{color:var(--text-secondary)}.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-ring:focus{--tw-ring-color:var(--focus-ring)}.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-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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-ring:focus-visible{--tw-ring-color:var(--focus-ring)}.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-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--action-primary-soft)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--action-secondary-text)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--action-primary-soft)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--text-secondary)}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (width>=40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--teal-50:#f0f7f7;--teal-100:#d9ebeb;--teal-200:#b5d7d7;--teal-300:#89bdbd;--teal-400:#5a9b9c;--teal-500:#397b7c;--teal-600:#30696a;--teal-700:#295758;--teal-800:#244748;--teal-900:#203c3d;--teal-950:#102324;--berry-50:#fff1f4;--berry-100:#ffe0e7;--berry-200:#ffc5d1;--berry-300:#f79bae;--berry-400:#de6680;--berry-500:#bc405d;--berry-600:#a63350;--berry-700:#8b2c45;--berry-800:#74283d;--berry-900:#632638;--berry-950:#37101c;--neutral-0:#fff;--neutral-25:#fafaf8;--neutral-50:#f4f5f2;--neutral-100:#eaece7;--neutral-200:#e5e8e5;--neutral-300:#cdd2ce;--neutral-400:#a3aaa6;--neutral-500:#7d8582;--neutral-600:#5f6665;--neutral-700:#454b4a;--neutral-800:#2f3434;--neutral-900:#202323;--neutral-950:#111515;--positive-500:#2f8f5b;--positive-100:#dff0e6;--caution-500:#9a6b16;--caution-100:#f7ecd6;--critical-500:#b23a3a;--critical-100:#f7e2e2;--page:#fafaf8;--page-accent:var(--teal-50);--surface:#fff;--surface-raised:#fff;--surface-sunken:var(--neutral-50);--surface-inverse:var(--neutral-950);--text-primary:#202323;--text-secondary:#5f6665;--text-tertiary:var(--neutral-500);--text-on-inverse:#f5f6f3;--text-on-inverse-muted:#b8bfbc;--border-subtle:#e5e8e5;--border-strong:var(--neutral-300);--border-inverse:#f5f6f329;--action-primary:var(--teal-500);--action-primary-hover:var(--teal-600);--action-primary-active:var(--teal-700);--action-primary-text:#fff;--action-primary-soft:var(--teal-50);--action-primary-soft-border:var(--teal-200);--action-secondary-bg:var(--surface);--action-secondary-text:var(--teal-700);--action-secondary-border:var(--teal-200);--action-quiet-text:var(--text-secondary);--action-disabled-bg:var(--neutral-100);--action-disabled-text:var(--neutral-400);--focus-ring:var(--teal-400);--focus-ring-offset:var(--page);--focus-ring-shadow:0 0 0 2px var(--focus-ring-offset), 0 0 0 4px var(--focus-ring);--brand-expression:var(--berry-500);--brand-expression-strong:var(--berry-600);--brand-expression-soft:var(--berry-50);--brand-expression-border:var(--berry-200);--brand-expression-text:var(--berry-700);--link:var(--teal-600);--progress-track:var(--neutral-200);--progress-fill:var(--action-primary);--status-positive:var(--positive-500);--status-positive-soft:var(--positive-100);--status-caution:var(--caution-500);--status-caution-soft:var(--caution-100);--status-critical:var(--critical-500);--status-critical-soft:var(--critical-100);--scrim:#2023238c;--scrim-strong:#111515b8;--stage:var(--teal-950);--stage-deep:#0b1a1b;--stage-border:#89bdbd3d;--stage-text:#f2f6f4;--stage-text-muted:#9fb2b0;--stage-slot:#f0f7f70f;--stage-slot-border:#b5d7d747;--map-sea:#cadfe1;--map-land:#f7f7f3;--map-coast:#a9c2c4;--map-canvas:var(--map-sea);--map-ink:#16211f;--map-ink-halo:#f3f4f0f0;--map-dot-fill:#fff;--map-endpoint:var(--berry-500);--map-dim:#f3f4f099;--map-casing:#fffffff2;--game-light-ink:#14343a;--game-light-ink-muted:#46676b;--game-light-shell:#d8e7e5;--game-light-shell-top:#edf5f2;--game-light-stage:#b4ced0;--game-light-stage-deep:#7e9fa2;--game-light-surface:#f6fbf9;--game-light-surface-raised:#e5f0ee;--game-light-surface-sunken:#c7dcda;--game-light-map-panel:#d3e6e3;--game-light-map-grid:#184b4f1a;--game-light-border:#4c8585;--game-light-border-soft:#26636461;--game-light-teal:#176d73;--game-light-teal-deep:#164d57;--game-light-signal:#c96f1c;--game-light-signal-soft:#ffe7b2;--game-light-line-casing:#f7fcf8eb;--game-light-key-top:#f8fdfb;--game-light-key-bottom:#b8d2d0;--game-light-key-edge:#5b9390;--game-light-key-edge-soft:#2c68696b;--game-light-key-highlight:#fffffff5;--game-light-key-shadow:#194b4e66;--game-light-special-top:#fff0c4;--game-light-special-bottom:#dda24a;--game-light-special-ink:#63390d;--game-light-shadow:#17434638;--game-light-scrim:#0d272ca8;--game-light-failure:#ffd0c5;--game-light-failure-primary-bg:#ffd166;--game-light-failure-primary-ink:#132a30;--game-light-failure-secondary-bg:#0d3940;--game-light-failure-secondary-border:#9ae4dc;--game-light-failure-secondary-ink:#e9fff8;--game-light-failure-button-shadow:#320e16e0;--game-light-canvas-motion:#f7fcf86b;--game-light-canvas-network-station:#234f54;--game-light-canvas-network-station-stroke:#f5fbf6;--game-light-canvas-passed-mix:#476d70;--game-light-canvas-current-station:#fff4c7;--game-light-canvas-upcoming-station:#f7fbf8;--game-light-canvas-label:#527477;--game-light-canvas-label-shadow:#f8fdf9f5;--game-light-canvas-label-plate:transparent;--game-light-canvas-label-plate-stroke:transparent;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-stage:28px;--radius-panel:20px;--radius-control:12px;--radius-pill:999px;--content-max:1200px;--stage-max:1440px;--shadow-color:#202323;--shadow-1:0 1px 2px #2023230f;--shadow-2:0 2px 8px #20232312, 0 1px 2px #2023230d;--shadow-3:0 8px 24px #20232317, 0 2px 6px #2023230d;--shadow-4:0 20px 48px #20232324, 0 4px 12px #2023230f;--ease-out:cubic-bezier(.2, .8, .3, 1);--duration-fast:.12s;--duration-base:.18s;--duration-slow:.28s;--tap-target:44px}@media (width>=1024px){:root{--radius-stage:32px;--radius-panel:24px;--radius-control:14px}}@media (width<=640px){:root{--radius-stage:22px;--radius-panel:16px;--radius-control:12px}}.dark{--page:#111515;--page-accent:var(--teal-950);--surface:#181d1d;--surface-raised:#202626;--surface-sunken:#141919;--surface-inverse:var(--neutral-25);--text-primary:#f5f6f3;--text-secondary:#b8bfbc;--text-tertiary:#8e9794;--text-on-inverse:var(--neutral-900);--text-on-inverse-muted:var(--neutral-600);--border-subtle:#303736;--border-strong:#3d4544;--border-inverse:#20232324;--action-primary:var(--teal-400);--action-primary-hover:var(--teal-300);--action-primary-active:var(--teal-200);--action-primary-text:#102324;--action-primary-soft:#5a9b9c24;--action-primary-soft-border:#89bdbd57;--action-secondary-bg:var(--surface-raised);--action-secondary-text:var(--teal-200);--action-secondary-border:#89bdbd52;--action-disabled-bg:#232929;--action-disabled-text:#6a7473;--focus-ring-offset:var(--page);--brand-expression:var(--berry-300);--brand-expression-strong:var(--berry-200);--brand-expression-soft:var(--berry-950);--brand-expression-border:#de66805c;--brand-expression-text:var(--berry-200);--link:var(--teal-300);--progress-track:#2b3231;--status-positive:#6cc292;--status-positive-soft:#2f8f5b2e;--status-caution:#d9ab5c;--status-caution-soft:#9a6b1633;--status-critical:#e08585;--status-critical-soft:#b23a3a33;--scrim:#080b0ba8;--scrim-strong:#040606cc;--stage:#0d1717;--stage-deep:#081010;--map-sea:#aec2c4;--map-land:#dcdfd8;--map-coast:#8fa6a8;--map-ink-halo:#d6d9d3f0;--map-dim:#d6d9d3a8;--shadow-color:#000;--shadow-1:0 1px 2px #00000052;--shadow-2:0 2px 8px #0000005c, 0 1px 2px #0000004d;--shadow-3:0 8px 24px #0000006b, 0 2px 6px #0000004d;--shadow-4:0 20px 48px #00000080, 0 4px 12px #00000052}:root{--midnight:var(--page);--panel:var(--surface);--panel-soft:var(--surface-sunken);--ink:var(--text-primary);--ink-muted:var(--text-secondary);--line:var(--border-subtle);--line-strong:var(--border-strong);--amber:var(--action-primary);--amber-soft:var(--action-primary-soft);--blue:var(--action-primary);--arcade-yellow:var(--action-primary);--arcade-yellow-hot:var(--action-primary-hover);--arcade-red:var(--status-critical);--arcade-green:var(--status-positive);--arcade-blue:var(--action-primary);--arcade-panel:var(--surface);--arcade-panel-soft:var(--surface-sunken);--arcade-stroke:var(--border-subtle);--game-yellow:var(--action-primary);--game-yellow-hot:var(--action-primary-hover);--game-red:var(--brand-expression);--game-green:var(--status-positive);--ui-radius-stage:var(--radius-stage);--ui-radius-panel:var(--radius-panel);--ui-radius-control:var(--radius-control);--ui-focus-ring:0 0 0 3px var(--focus-ring)}@supports (color:color-mix(in lab, red, red)){:root{--ui-focus-ring:0 0 0 3px color-mix(in srgb, var(--focus-ring) 40%, transparent)}}:root{--ui-panel-border:var(--border-subtle);--ui-panel-highlight:none;--event-amber:#eaae3e}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{background:var(--page);height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overscroll-behavior:none;transition:background-color var(--duration-slow) var(--ease-out), color var(--duration-slow) var(--ease-out);margin:0;font-size:16px;line-height:1.5;overflow:hidden}#root{height:100%;overflow:hidden}h1,h2,h3,h4{color:var(--text-primary);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:800}p{color:var(--text-secondary);margin:0}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:from-font}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0}button:disabled{cursor:not-allowed}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:inherit}.dark :focus-visible,.on-stage :focus-visible{outline-color:var(--teal-300)}.cm-tap-target{min-width:var(--tap-target);min-height:var(--tap-target)}.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}.cm-skip-link{z-index:999;border-radius:var(--radius-control);background:var(--action-primary);color:var(--action-primary-text);transition:transform var(--duration-base) var(--ease-out);padding:10px 16px;font-weight:700;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.cm-skip-link:focus-visible{transform:translateY(0)}::selection{background:var(--action-primary-soft);color:var(--text-primary)}*{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}@media (prefers-reduced-motion:reduce){html,body{transition:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cm-page{isolation:isolate;min-height:0;height:var(--app-height,100dvh);overscroll-behavior:contain;background:var(--page);color:var(--text-primary);flex-direction:column;display:flex;position:relative;overflow-y:auto}.cm-page__body{width:100%;max-width:var(--content-max);flex-direction:column;flex:auto;gap:clamp(16px,3vh,28px);min-height:0;margin-inline:auto;padding-block:clamp(16px,3vh,32px);padding-inline:clamp(16px,4vw,32px);display:flex}.cm-page__body[data-width=wide]{max-width:var(--stage-max)}.cm-rail{border-radius:var(--radius-pill);background:var(--progress-track);height:3px;position:relative}.cm-rail:after{content:"";width:var(--cm-rail-progress,0%);border-radius:inherit;background:var(--progress-fill);transition:width var(--duration-slow) var(--ease-out);inset-block:0;position:absolute;left:0}.cm-page-header{min-height:var(--tap-target);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.cm-page-header__lead{grid-column:1;justify-self:start;align-items:center;gap:10px;min-width:0;display:flex}.cm-page-header__center{grid-column:2;justify-self:center;align-items:center;min-width:0;display:flex}.cm-page-header__trail{grid-column:3;justify-self:end;align-items:center;gap:8px;min-width:0;display:flex}.cm-page-title{gap:6px;margin-block:clamp(4px,1.5vh,12px) 0;display:grid}.cm-page-title h1{letter-spacing:-.03em;font-size:clamp(28px,4.4vw,44px);line-height:1.08}.cm-page-title p{max-width:56ch;font-size:clamp(14px,1.4vw,16px);line-height:1.55}.cm-kicker{width:max-content;color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:700;line-height:1.3;display:inline-flex}.cm-kicker__en{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:500}.cm-kicker[data-tone=action]{color:var(--action-secondary-text)}.cm-kicker[data-tone=expression]{color:var(--brand-expression-text)}.cm-button{min-height:var(--tap-target);min-width:var(--tap-target);border-radius:var(--radius-control);font-family:var(--font-sans);text-align:center;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding-inline:20px;font-size:15px;font-weight:700;line-height:1.2;display:inline-flex;position:relative}.cm-button[data-size=sm]{min-height:36px;padding-inline:14px;font-size:13px}.cm-button[data-size=lg]{min-height:56px;padding-inline:28px;font-size:clamp(16px,1.8vw,19px)}.cm-button[data-block=true]{width:100%}.cm-button[data-shape=pill]{border-radius:var(--radius-pill)}.cm-button[data-variant=primary]{background:var(--action-primary);color:var(--action-primary-text);box-shadow:var(--shadow-2)}.cm-button[data-variant=primary]:hover:not(:disabled){background:var(--action-primary-hover);box-shadow:var(--shadow-3)}.cm-button[data-variant=secondary]{border-color:var(--action-secondary-border);background:var(--action-secondary-bg);color:var(--action-secondary-text);box-shadow:var(--shadow-1)}.cm-button[data-variant=secondary]:hover:not(:disabled){border-color:var(--action-primary);background:var(--action-primary-soft)}.cm-button[data-variant=quiet]{color:var(--action-quiet-text);padding-inline:12px}.cm-button[data-variant=quiet]:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}.cm-button[data-variant=expressive]{background:var(--brand-expression);color:#fff;box-shadow:var(--shadow-2)}.cm-button:active:not(:disabled){box-shadow:var(--shadow-1);transform:translateY(1px)}.cm-button:disabled,.cm-button[data-loading=true]{background:var(--action-disabled-bg);color:var(--action-disabled-text);box-shadow:none;border-color:#0000;transform:none}.cm-button[data-loading=true]{cursor:progress}.cm-button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite cm-spin}@keyframes cm-spin{to{transform:rotate(360deg)}}.cm-button__label{text-align:left;gap:2px;display:grid}.cm-button__label em{opacity:.78;font-size:11px;font-style:normal;font-weight:600}.cm-icon-button{width:var(--tap-target);height:var(--tap-target);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);place-items:center;display:inline-grid}.cm-icon-button:hover:not(:disabled),.cm-icon-button[aria-pressed=true]{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--action-secondary-text)}.cm-icon-button[data-shape=round]{border-radius:50%}.cm-card{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface);color:var(--text-primary);padding:clamp(16px,2.2vw,24px);position:relative}.cm-card[data-elevation=raised]{background:var(--surface-raised);box-shadow:var(--shadow-2)}.cm-card[data-elevation=flat]{background:var(--surface-sunken)}.cm-card[data-tone=action]{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft)}.cm-card[data-tone=expression]{border-color:var(--brand-expression-border);background:var(--brand-expression-soft)}.cm-metric{gap:4px;min-width:0;display:grid}.cm-metric__label{color:var(--text-secondary);align-items:baseline;gap:6px;font-size:12px;font-weight:600;display:flex}.cm-metric__label em{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-style:normal}.cm-metric__value{color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;align-items:baseline;gap:4px;font-size:20px;font-weight:600;display:flex}.cm-metric__value small{color:var(--text-secondary);font-size:11px;font-weight:600}.cm-metric[data-emphasis=primary] .cm-metric__value{font-size:clamp(28px,4vw,40px)}.cm-metric[data-emphasis=quiet] .cm-metric__value{color:var(--text-secondary);font-size:16px}.cm-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.cm-chip__dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.cm-chip[data-tone=action]{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft);color:var(--action-secondary-text)}.cm-chip[data-tone=expression]{border-color:var(--brand-expression-border);background:var(--brand-expression-soft);color:var(--brand-expression-text)}.cm-chip[data-tone=positive]{background:var(--status-positive-soft);color:var(--status-positive);border-color:#0000}.cm-chip[data-tone=caution]{background:var(--status-caution-soft);color:var(--status-caution);border-color:#0000}.cm-chip[data-tone=critical]{background:var(--status-critical-soft);color:var(--status-critical);border-color:#0000}.cm-chip[data-tone=line]{border-color:var(--cm-line-color)}@supports (color:color-mix(in lab, red, red)){.cm-chip[data-tone=line]{border-color:color-mix(in srgb, var(--cm-line-color) 45%, transparent)}}.cm-chip[data-tone=line]{background:var(--cm-line-color)}@supports (color:color-mix(in lab, red, red)){.cm-chip[data-tone=line]{background:color-mix(in srgb, var(--cm-line-color) 12%, var(--surface))}}.cm-chip[data-tone=line]{color:var(--text-primary)}.cm-chip[data-tone=line] .cm-chip__dot{background:var(--cm-line-color)}.cm-modal{z-index:100;background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:cm-scrim-in var(--duration-base) var(--ease-out);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.cm-modal__panel{overscroll-behavior:contain;border:1px solid var(--border-subtle);border-radius:var(--radius-stage);background:var(--surface-raised);width:min(640px,100%);max-height:min(90dvh,760px);box-shadow:var(--shadow-4);animation:cm-panel-in var(--duration-slow) var(--ease-out);gap:16px;padding:clamp(20px,3vw,32px);display:grid;overflow-y:auto}.cm-modal__panel[data-size=sm]{width:min(460px,100%)}.cm-modal__title{font-size:clamp(22px,3.2vw,30px);line-height:1.15}.cm-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cm-modal__actions .cm-button{border-color:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.cm-modal__actions .cm-button{border-color:color-mix(in srgb, var(--text-primary) 12%, var(--border-subtle))}}.cm-modal__actions .cm-button{box-shadow:inset 0 -2px 0 var(--text-primary), 0 3px 7px var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.cm-modal__actions .cm-button{box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--text-primary) 12%, transparent), 0 3px 7px color-mix(in srgb, var(--text-primary) 10%, transparent)}}.cm-modal__actions .cm-button[data-variant=primary]{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.cm-modal__actions .cm-button[data-variant=primary]{border-color:color-mix(in srgb, var(--action-primary) 78%, var(--text-primary))}}.cm-modal__actions .cm-button[data-variant=primary]{box-shadow:inset 0 -3px 0 var(--action-primary), 0 4px 9px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.cm-modal__actions .cm-button[data-variant=primary]{box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--action-primary) 72%, black), 0 4px 9px color-mix(in srgb, var(--action-primary) 24%, transparent)}}.cm-modal__actions .cm-button[data-variant=quiet]{border-color:var(--border-subtle);background:var(--surface);color:var(--text-secondary)}.cm-modal__actions .cm-button:active:not(:disabled){box-shadow:inset 0 -1px 0 var(--text-primary);transform:translateY(2px)}@supports (color:color-mix(in lab, red, red)){.cm-modal__actions .cm-button:active:not(:disabled){box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--text-primary) 10%, transparent)}}.keyboard-settings-dialog,.general-settings-dialog{gap:14px}.general-settings-section{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.general-settings-section>:where(h3,legend){width:100%;color:var(--text-secondary);font:800 12px/1.25 var(--font-sans);justify-content:space-between;align-items:baseline;gap:8px;margin:0;display:flex}.general-settings-section>legend small{color:var(--text-tertiary);font:600 9px/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.general-settings-quick-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.general-settings-quick-switch{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);min-width:0;min-height:62px;color:var(--action-secondary-text);cursor:pointer;box-shadow:inset 0 -2px 0 var(--text-primary), 0 3px 10px var(--text-primary);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.general-settings-quick-switch{box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--text-primary) 7%, transparent), 0 3px 10px color-mix(in srgb, var(--text-primary) 7%, transparent)}}.general-settings-quick-switch{transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.general-settings-quick-switch:hover{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft)}.general-settings-quick-switch:active{transform:translateY(1px)}.general-settings-quick-switch:focus-visible{box-shadow:var(--focus-ring-shadow);outline:0}.general-settings-quick-switch__icon{border:1px solid var(--action-primary);flex:none;place-items:center;width:38px;height:38px;display:grid}@supports (color:color-mix(in lab, red, red)){.general-settings-quick-switch__icon{border:1px solid color-mix(in srgb, var(--action-primary) 34%, var(--border-subtle))}}.general-settings-quick-switch__icon{background:var(--surface-sunken);box-shadow:inset 0 0 0 4px var(--surface), 0 2px 0 var(--text-primary);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.general-settings-quick-switch__icon{box-shadow:inset 0 0 0 4px var(--surface), 0 2px 0 color-mix(in srgb, var(--text-primary) 10%, transparent)}}.general-settings-quick-switch__icon{transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out)}.general-settings-quick-switch[aria-checked=true]{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.general-settings-quick-switch[aria-checked=true]{border-color:color-mix(in srgb, var(--action-primary) 70%, var(--border-subtle))}}.general-settings-quick-switch[aria-checked=true]{background:var(--action-primary-soft)}@supports (color:color-mix(in lab, red, red)){.general-settings-quick-switch[aria-checked=true]{background:color-mix(in srgb, var(--action-primary-soft) 74%, var(--surface))}}.general-settings-quick-switch[aria-checked=true] .general-settings-quick-switch__icon{border-color:var(--action-primary);background:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.general-settings-quick-switch[aria-checked=true] .general-settings-quick-switch__icon{background:color-mix(in srgb, var(--action-primary) 18%, var(--surface))}}.general-settings-quick-switch[aria-checked=true] .general-settings-quick-switch__icon{color:var(--action-primary)}.general-settings-dialog .keyboard-settings-option{min-height:62px;padding-block:9px}.general-settings-keyboard-note{color:var(--text-tertiary);font:600 10px/1.35 var(--font-sans);margin:0}.keyboard-settings-options{border:0;gap:8px;margin:0;padding:0;display:grid}.keyboard-settings-option{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);min-height:72px;color:var(--text-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.keyboard-settings-option:hover{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft)}.keyboard-settings-option[data-disabled=true]{opacity:.42;filter:saturate(.35);cursor:not-allowed}.keyboard-settings-option[data-disabled=true]:hover{border-color:var(--border-subtle);background:var(--surface)}.keyboard-settings-option:focus-within{border-color:var(--action-primary);box-shadow:var(--focus-ring-shadow)}.keyboard-settings-option[data-selected=true]{border-color:var(--action-primary);background:var(--action-primary-soft)}.keyboard-settings-option__icon{border-radius:var(--radius-control);background:var(--surface-sunken);width:40px;height:40px;color:var(--action-secondary-text);place-items:center;display:grid}.keyboard-settings-option__copy{gap:4px;min-width:0;display:grid}.keyboard-settings-option__copy strong{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:15px;line-height:1.25;display:flex}.keyboard-settings-option__copy strong em{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.03em;padding:2px 6px;font-size:9px;font-style:normal;font-weight:700}.keyboard-settings-option__copy small{color:var(--text-secondary);gap:1px;font-size:12px;line-height:1.4;display:grid}.keyboard-settings-option__copy small span:last-child{color:var(--text-tertiary);font-size:11px}.cm-modal input[type=radio]{appearance:none;border:2px solid var(--text-tertiary);width:28px;height:28px;margin:0}@supports (color:color-mix(in lab, red, red)){.cm-modal input[type=radio]{border:2px solid color-mix(in srgb, var(--text-tertiary) 72%, transparent)}}.cm-modal input[type=radio]{background:var(--surface);box-shadow:inset 0 0 0 5px var(--surface), 0 2px 0 var(--text-primary);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.cm-modal input[type=radio]{box-shadow:inset 0 0 0 5px var(--surface), 0 2px 0 color-mix(in srgb, var(--text-primary) 13%, transparent)}}.cm-modal input[type=radio]{transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.cm-modal input[type=radio]:checked{border-color:var(--action-primary);background:var(--action-primary);box-shadow:inset 0 0 0 5px var(--surface), 0 0 0 3px var(--action-primary), 0 3px 0 var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.cm-modal input[type=radio]:checked{box-shadow:inset 0 0 0 5px var(--surface), 0 0 0 3px color-mix(in srgb, var(--action-primary) 18%, transparent), 0 3px 0 color-mix(in srgb, var(--action-primary) 28%, transparent)}}.cm-modal input[type=radio]:active:not(:disabled){transform:scale(.92)}.keyboard-settings-note{color:var(--text-secondary);gap:3px;margin:0;font-size:13px;line-height:1.45;display:grid}.keyboard-settings-note small{color:var(--text-tertiary);font-size:11px}@keyframes cm-scrim-in{0%{opacity:0}}@keyframes cm-panel-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}@media (width<=640px){.cm-modal{align-items:end;padding:0}.cm-modal__panel,.cm-modal__panel[data-size=sm]{border-radius:var(--radius-stage) var(--radius-stage) 0 0;width:100%;max-height:92dvh;padding-bottom:max(20px, env(safe-area-inset-bottom))}.cm-modal__actions{flex-direction:column-reverse}.cm-modal__actions .cm-button{width:100%}.general-settings-dialog{gap:12px}.general-settings-quick-switch{padding-inline:8px}}@media (width<=640px) and (height<=640px){.cm-modal__panel.general-settings-dialog{padding:14px 14px max(14px, env(safe-area-inset-bottom));gap:8px}.general-settings-dialog .cm-modal__title{font-size:22px}.general-settings-section{gap:4px}.general-settings-quick-switch,.general-settings-dialog .keyboard-settings-option{min-height:48px}.general-settings-dialog .keyboard-settings-option{padding-block:6px}.general-settings-dialog .keyboard-settings-option__icon{width:36px;height:36px}.general-settings-dialog .cm-modal__actions .cm-button{min-height:44px}}.cm-recovery{border:1px solid var(--border-subtle);border-radius:var(--radius-stage);background:var(--surface-raised);width:min(520px,100%);box-shadow:var(--shadow-3);text-align:center;justify-items:center;gap:14px;margin:auto;padding:clamp(24px,4vw,40px);display:grid}.cm-recovery__icon{border-radius:var(--radius-control);background:var(--action-primary-soft);width:52px;height:52px;color:var(--action-secondary-text);place-items:center;display:grid}.cm-recovery h2{font-size:clamp(22px,3.2vw,28px)}.cm-recovery__bilingual-title,.cm-recovery__reload-note,.cm-recovery__bilingual-action{gap:3px;display:grid}.cm-recovery__bilingual-title small,.cm-recovery__reload-note small,.cm-recovery__bilingual-action small{color:var(--text-secondary);letter-spacing:.04em;font-size:.56em;font-weight:600;line-height:1.15}.cm-recovery__reload-note{margin:0}.cm-recovery__reload-note small{font-size:.82em}.cm-recovery__bilingual-action{text-align:center;min-width:0}.cm-recovery__bilingual-action small{color:currentColor;opacity:.72}.cm-recovery__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.cm-bilingual-action{text-align:center;white-space:normal;gap:3px;min-width:0;display:grid}.cm-bilingual-action small{color:currentColor;letter-spacing:.04em;opacity:.7;white-space:normal;font-size:.58em;font-weight:600;line-height:1.15}.cm-bilingual-title,.cm-bilingual-note{gap:4px;display:grid}.cm-bilingual-title small,.cm-bilingual-note small{color:var(--text-secondary);letter-spacing:.04em;font-size:.56em;font-weight:600;line-height:1.15}.cm-bilingual-note{margin:0}.cm-bilingual-note small{font-size:.82em}@media (width<=480px){.cm-recovery__actions{flex-direction:column;width:100%}.cm-recovery__actions .cm-button{width:100%}}.cm-switch-row{width:100%;min-height:var(--tap-target);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);color:var(--text-primary);text-align:left;cursor:pointer;box-shadow:inset 0 -2px 0 var(--text-primary), 0 3px 8px var(--text-primary);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.cm-switch-row{box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--text-primary) 7%, transparent), 0 3px 8px color-mix(in srgb, var(--text-primary) 7%, transparent)}}.cm-switch-row{transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.cm-switch-row:hover{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft)}.cm-switch-row[aria-checked=true]{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.cm-switch-row[aria-checked=true]{border-color:color-mix(in srgb, var(--action-primary) 64%, var(--border-subtle))}}.cm-switch-row[aria-checked=true]{background:var(--action-primary-soft)}@supports (color:color-mix(in lab, red, red)){.cm-switch-row[aria-checked=true]{background:color-mix(in srgb, var(--action-primary-soft) 72%, var(--surface))}}.cm-switch-row[aria-checked=true]{box-shadow:inset 4px 0 0 var(--action-primary), inset 0 -2px 0 var(--action-primary), 0 3px 9px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.cm-switch-row[aria-checked=true]{box-shadow:inset 4px 0 0 var(--action-primary), inset 0 -2px 0 color-mix(in srgb, var(--action-primary) 14%, transparent), 0 3px 9px color-mix(in srgb, var(--action-primary) 12%, transparent)}}.cm-switch-row:active{transform:translateY(1px)}.cm-switch-row:focus-visible{box-shadow:var(--focus-ring-shadow);outline:0}.cm-switch-row__copy{gap:3px;min-width:0;display:grid}.cm-switch-row__copy strong{font-size:15px;font-weight:700}.cm-switch-row__copy small{color:var(--text-secondary);font-size:12px;line-height:1.4}.cm-switch-track{border:1px solid var(--text-tertiary);flex:none;width:62px;height:30px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.cm-switch-track{border:1px solid color-mix(in srgb, var(--text-tertiary) 44%, transparent)}}.cm-switch-track{border-radius:var(--radius-pill);background:var(--progress-track)}@supports (color:color-mix(in lab, red, red)){.cm-switch-track{background:color-mix(in srgb, var(--progress-track) 84%, var(--surface))}}.cm-switch-track{box-shadow:inset 0 2px 5px var(--text-primary), 0 1px 0 var(--surface)}@supports (color:color-mix(in lab, red, red)){.cm-switch-track{box-shadow:inset 0 2px 5px color-mix(in srgb, var(--text-primary) 13%, transparent), 0 1px 0 var(--surface)}}.cm-switch-track{transition:border-color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out)}.cm-switch-track:before{content:"";border-radius:var(--radius-pill);background:var(--text-tertiary);height:4px;position:absolute;top:50%;left:8px;right:8px}@supports (color:color-mix(in lab, red, red)){.cm-switch-track:before{background:color-mix(in srgb, var(--text-tertiary) 48%, transparent)}}.cm-switch-track:before{transition:background-color var(--duration-base) var(--ease-out);transform:translateY(-50%)}.cm-switch-track:after{content:"";border:4px solid var(--surface);background:var(--text-tertiary);width:20px;height:20px;box-shadow:0 0 0 1px var(--text-primary), 0 2px 5px var(--text-primary);border-radius:50%;position:absolute;top:4px;left:4px}@supports (color:color-mix(in lab, red, red)){.cm-switch-track:after{box-shadow:0 0 0 1px color-mix(in srgb, var(--text-primary) 18%, transparent), 0 2px 5px color-mix(in srgb, var(--text-primary) 24%, transparent)}}.cm-switch-track:after{transition:transform var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out)}[aria-checked=true]>.cm-switch-track{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){[aria-checked=true]>.cm-switch-track{border-color:color-mix(in srgb, var(--action-primary) 74%, var(--border-subtle))}}[aria-checked=true]>.cm-switch-track{background:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){[aria-checked=true]>.cm-switch-track{background:color-mix(in srgb, var(--action-primary) 20%, var(--surface))}}[aria-checked=true]>.cm-switch-track:before{background:var(--action-primary)}[aria-checked=true]>.cm-switch-track:after{background:var(--action-primary);box-shadow:0 0 0 1px var(--action-primary), 0 0 10px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){[aria-checked=true]>.cm-switch-track:after{box-shadow:0 0 0 1px color-mix(in srgb, var(--action-primary) 58%, transparent), 0 0 10px color-mix(in srgb, var(--action-primary) 48%, transparent)}}[aria-checked=true]>.cm-switch-track:after{transform:translate(32px)}.cm-route-options{overscroll-behavior:contain;gap:8px;max-height:min(38vh,300px);padding:2px;display:grid;overflow-y:auto}.cm-route-option{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);text-align:left;width:100%;min-height:64px;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.cm-route-option:hover{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft)}.cm-route-option[aria-pressed=true]{border-color:var(--action-primary);background:var(--action-primary-soft)}.cm-route-option__index{border-radius:var(--radius-control);background:var(--surface-sunken);width:32px;height:32px;color:var(--text-secondary);font-family:var(--font-mono);place-items:center;font-size:14px;font-weight:600;display:grid}.cm-route-option[aria-pressed=true] .cm-route-option__index{background:var(--action-primary);color:var(--action-primary-text)}.cm-route-option__copy{gap:3px;min-width:0;display:grid}.cm-route-option__copy strong{font-size:14px;font-weight:700}.cm-route-option__copy small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cm-route-option__check{width:22px;color:var(--action-primary)}.on-stage{--surface:var(--stage-text)}@supports (color:color-mix(in lab, red, red)){.on-stage{--surface:color-mix(in srgb, var(--stage-text) 8%, var(--stage))}}.on-stage{--surface-raised:var(--stage-text)}@supports (color:color-mix(in lab, red, red)){.on-stage{--surface-raised:color-mix(in srgb, var(--stage-text) 12%, var(--stage))}}.on-stage{--surface-sunken:var(--stage-deep);--text-primary:var(--stage-text);--text-secondary:var(--stage-text-muted);--text-tertiary:var(--stage-text)}@supports (color:color-mix(in lab, red, red)){.on-stage{--text-tertiary:color-mix(in srgb, var(--stage-text) 55%, transparent)}}.on-stage{--border-subtle:var(--stage-border);--border-strong:var(--stage-text)}@supports (color:color-mix(in lab, red, red)){.on-stage{--border-strong:color-mix(in srgb, var(--stage-text) 26%, transparent)}}.on-stage{--action-primary:var(--teal-300);--action-primary-hover:var(--teal-200);--action-primary-text:var(--teal-950);--action-primary-soft:#89bdbd29;--action-primary-soft-border:#89bdbd57;--action-secondary-bg:transparent;--action-secondary-text:var(--teal-200);--action-secondary-border:#89bdbd4d;--brand-expression:var(--berry-300);--brand-expression-soft:#bc405d2e;--brand-expression-border:#f79bae57;--brand-expression-text:var(--berry-200);--progress-track:#f0f7f724;--focus-ring-offset:var(--stage);color:var(--stage-text)}.journey-event-scene{z-index:18;isolation:isolate;touch-action:none;color:#f5f7fa;background:#0208102e;animation:.26s cubic-bezier(.2,.8,.2,1) both event-world-enter;position:absolute;inset:0;overflow:hidden}.event-world{transition:opacity .18s,filter .18s;position:absolute;inset:0;overflow:hidden}.journey-event-scene.is-warning .event-world{opacity:.32;filter:blur(1.5px);pointer-events:none}.journey-event-scene.is-result .event-world{opacity:.66;filter:saturate(.72)brightness(.72);pointer-events:none}.event-omen{z-index:24;text-align:center;background:#030a13d6;border-top:1px solid #eaae3ea3;border-bottom:1px solid #eaae3ea3;min-width:min(360px,100% - 40px);padding:14px 20px 13px;animation:.26s cubic-bezier(.2,.8,.2,1) both event-omen-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 48px #00000070}.event-omen strong,.event-omen span{display:block}.event-omen strong{color:#fff5da;font:400 clamp(26px, 4vw, 44px)/1.05 var(--font-display)}.event-omen span{color:#c7a867;font:650 10px/1 var(--font-mono);letter-spacing:.13em;margin-top:7px}.event-result-toast{z-index:28;text-align:center;background:#030b14f0;border:1px solid #eaae3e7a;border-radius:999px;width:max-content;max-width:calc(100% - 32px);padding:13px 24px;animation:.28s cubic-bezier(.2,.8,.2,1) both event-toast-in;position:absolute;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #00000085}.event-result-toast strong,.event-result-toast span{display:block}.event-result-toast strong{color:#f6f3eb;font:400 clamp(21px, 3vw, 34px)/1.1 var(--font-display)}.event-result-toast span{color:var(--amber);font:650 9px/1 var(--font-mono);letter-spacing:.14em;margin-top:5px}.event-door-world{place-items:center;display:grid}.event-platform-door{z-index:4;background:#172331 -webkit-image-set(url(/assets/events/door-metal.webp) 1x type("image/webp"),url(/assets/events/door-metal.png) 1x type("image/png")) 50%/cover;background:#172331 image-set("/assets/events/door-metal.webp" 1x type("image/webp"),"/assets/events/door-metal.png" 1x type("image/png")) 50%/cover;width:48%;transition:transform 60ms linear;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 0 1px #d7e2ea3d,inset 0 0 60px #0000008a}.event-platform-door:after{content:"";background:#d3a03d;width:8px;position:absolute;top:0;bottom:0;box-shadow:0 0 22px #eaae3e80}.event-platform-door-left{transform:translateX(calc((.5 + var(--door-gap,1) * .5) * -100%));left:0}.event-platform-door-left:after{right:0}.event-platform-door-right{transform:translateX(calc((.5 + var(--door-gap,1) * .5) * 100%));right:0}.event-platform-door-right:after{left:0}.event-door-content{z-index:7;text-align:center;text-shadow:0 2px 14px #000c;justify-items:center;gap:13px;width:min(660px,100% - 52px);display:grid;position:relative}.event-combat-counter{z-index:20;border-left:3px solid var(--amber);text-align:right;background:#030b14d1;gap:3px;min-width:104px;padding:7px 10px 8px;display:grid;position:absolute;top:18px;right:20px;transform:skew(-7deg);box-shadow:4px 4px #00000047}.event-combat-counter>*{transform:skew(7deg)}.event-combat-counter span{color:#c4d1dc;font:750 8px/1 var(--font-mono);letter-spacing:.14em}.event-combat-counter strong{color:#fff4d5;font:950 clamp(18px, 3vw, 27px)/.9 var(--font-mono)}.event-combat-counter small{color:#c4d1dc;font:750 8px/1 var(--font-mono);letter-spacing:.08em;margin-left:5px}.event-combat-counter em{color:var(--amber);font:950 12px/1 var(--font-mono);letter-spacing:.08em;white-space:nowrap;margin-right:8px;font-style:normal;animation:.26s cubic-bezier(.16,1,.3,1) both event-combat-flash;position:absolute;top:50%;right:100%}.event-combat-counter[data-state=hit]{border-left-color:#70e6a4}.event-combat-counter[data-state=hit] strong{color:#70e6a4}.event-combat-counter[data-state=block]{border-left-color:#ff7c7c}.event-combat-counter[data-state=block] strong,.event-combat-counter[data-state=block] em{color:#ff8e8e}.event-scene-callout{color:#f4d79a;align-items:center;gap:9px;display:flex}.event-scene-callout span{font:650 10px/1 var(--font-mono);letter-spacing:.12em}.event-scene-callout strong{font:400 clamp(22px, 4vw, 38px)/1 var(--font-display)}.event-phrase-hanzi{color:#f9f8f4;font:400 clamp(34px, 6vw, 64px)/1 var(--font-display);letter-spacing:.13em}.event-syllable-row{grid-template-columns:.72fr 1.25fr 1fr 1fr;gap:9px;width:100%;display:grid}.event-syllable-row button{color:#5b6876;min-width:0;min-height:54px;font:750 clamp(14px, 2.2vw, 23px)/1 var(--font-mono);letter-spacing:.12em;background:#030b14db;border:1px solid #84c7f747;border-radius:13px;padding:10px 12px}.event-syllable-row button[data-state=active]{color:#fff4d9;border-color:var(--amber);background:#432e0dd1;box-shadow:0 0 0 3px #eaae3e1f,0 0 24px #eaae3e47}.event-syllable-row button[data-state=done]{color:#73e2a6;background:#0f4631b3;border-color:#5fe09e8c}.event-time-rail{background:#ffffff1f;border-radius:99px;width:min(420px,82%);height:4px;overflow:hidden}.event-time-rail span{width:100%;height:100%;transform:scaleX(var(--event-time,1));transform-origin:0;background:#eaae3e;display:block;box-shadow:0 0 12px #eaae3eb3}.event-backpack-world{background:radial-gradient(circle at 63% 57%,#84c7f724,#0000 38%)}.event-backpack-art{z-index:7;object-fit:contain;object-position:bottom right;filter:drop-shadow(-24px 18px 28px #0000008f);transform-origin:68% 74%;width:min(62%,650px);max-height:112%;animation:.78s cubic-bezier(.2,.75,.2,1) infinite alternate backpack-world-swing;position:absolute;bottom:-24%;right:-2%}.event-backpack-world.dodge-right .event-backpack-art{left:-2%;right:auto;transform:scaleX(-1)}.event-backpack-speedlines{z-index:3;opacity:calc(.42 + var(--event-assist,0) * .35);filter:blur(5px)brightness(1.8);background:-webkit-image-set(url(/assets/events/door-metal.webp) 1x type("image/webp"),url(/assets/events/door-metal.png) 1x type("image/png")) 50%/cover;background:image-set("/assets/events/door-metal.webp" 1x type("image/webp"),"/assets/events/door-metal.png" 1x type("image/png")) 50%/cover;position:absolute;inset:24% 8% 12%;transform:skew(-17deg)scaleY(.08);-webkit-mask-image:linear-gradient(90deg,#0000,#000 28%,#0000 82%);mask-image:linear-gradient(90deg,#0000,#000 28%,#0000 82%)}.event-backpack-copy{z-index:9;position:absolute;top:36%;left:clamp(22px,9%,100px);transform:rotate(-5deg)}.dodge-right .event-backpack-copy{text-align:right;left:auto;right:clamp(22px,9%,100px);transform:rotate(5deg)}.event-backpack-copy span,.event-backpack-copy strong{display:block}.event-backpack-copy span{color:#f5c66e;font:400 clamp(28px, 5vw, 58px)/1 var(--font-display);text-shadow:0 0 22px #eaae3e57}.event-backpack-copy strong{color:#fff;font:650 12px/1 var(--font-mono);letter-spacing:.14em;margin-top:8px}.event-dodge-action{z-index:12;color:#f5dfb3;min-width:170px;min-height:52px;font:700 13px/1 var(--font-mono);background:#030b14f0;border:1px solid #eaae3e9e;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:8px 18px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 0 30px #eaae3e2e}.event-dodge-action kbd{color:#d9edff;font:inherit;background:#102033;border:1px solid #84c7f780;border-radius:7px;margin-right:8px;padding:5px 8px}.event-input-touch{display:none}@keyframes event-world-enter{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.event-rapid-world{background:radial-gradient(circle at 50% 20%,#f8b9432e,#0000 36%),linear-gradient(145deg,#0a1f2ff7,#050c18fa);place-items:center;gap:clamp(12px,2.5vh,24px);padding:22px;display:grid}.event-rapid-card{background:#040d19d1;border:1px solid #f6be4f73;align-items:center;gap:16px;width:min(640px,100%);padding:18px 20px;display:flex;box-shadow:0 18px 48px #00000061}.event-rapid-card>svg{color:#f4bd52;flex:none}.event-rapid-card>div{gap:4px;display:grid}.event-rapid-card span{color:#f4bd52;font:700 9px/1 var(--font-mono);letter-spacing:.14em}.event-rapid-card strong{color:#fff4d5;font:400 clamp(25px, 4vw, 42px)/1.05 var(--font-display)}.event-rapid-card small{color:#eef4fab3;font-size:12px}.event-rapid-phrase button{cursor:pointer;color:#f5f7fa;background:#ffffff12;border:1px solid #e1e8f13d;transition:transform .12s,border-color .12s,background .12s}.event-rapid-card{width:min(560px,100%)}.event-rapid-phrase{justify-content:center;gap:10px;display:flex}.event-rapid-phrase button{min-width:120px;font:800 16px/1 var(--font-mono);letter-spacing:.08em;padding:14px 18px}.event-rapid-phrase button[data-state=active]{border-color:#f4bd52;box-shadow:0 0 0 2px #f4bd5224}.event-rapid-phrase button[data-state=done]{color:#07151b;background:#64e19e;border-color:#64e19e}.event-rapid-progress{transform-origin:0;width:min(420px,100%);height:5px;transform:scaleX(var(--event-time));background:linear-gradient(90deg,#f4bd52,#ff756e);box-shadow:0 0 18px #f4bd5273}.event-fare-surprise-world{background:radial-gradient(circle at 50% 20%,#64e19e33,#0000 36%),linear-gradient(145deg,#072627f7,#04111afa)}.event-fare-surprise-world .event-rapid-card>svg{color:#64e19e}@media (width<=620px){.event-rapid-world{gap:12px;padding:12px}.event-rapid-card{gap:10px;padding:12px}.event-rapid-card strong{font-size:25px}.event-rapid-phrase button{min-width:0;padding:12px 14px;font-size:14px}}@keyframes event-omen-in{0%{opacity:0;transform:translate(-50%,-44%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes event-toast-in{0%{opacity:0;transform:translate(-50%,12px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes event-combat-flash{0%{opacity:0;transform:translate(8px)scale(.72)}65%{opacity:1;transform:translate(0)scale(1.08)}to{opacity:.82;transform:translate(0)scale(1)}}@keyframes backpack-world-swing{0%{transform:rotate(-3deg)translate(0)}to{transform:rotate(5deg)translate(-5%)}}@media (width<=700px){.event-omen{min-width:calc(100% - 28px);padding-inline:12px}.event-result-toast{border-radius:15px;bottom:14px}.event-door-content{gap:10px;width:calc(100% - 30px)}.event-combat-counter{min-width:88px;padding:5px 7px 6px;top:10px;right:10px}.event-combat-counter span{font-size:7px}.event-combat-counter strong{font-size:20px}.event-combat-counter small{font-size:7px}.event-combat-counter em{margin-left:7px;margin-right:0;font-size:10px;left:100%;right:auto}.event-scene-callout{grid-template-columns:auto auto;display:grid}.event-scene-callout strong{grid-column:1/-1;font-size:25px}.event-phrase-hanzi{font-size:34px}.event-syllable-row{grid-template-columns:.7fr 1.2fr 1fr 1fr;gap:5px}.event-syllable-row button{border-radius:9px;min-height:45px;padding:8px 5px;font-size:clamp(11px,4.2vw,16px)}.event-backpack-art{width:116%;max-height:92%;bottom:-11%;right:-24%}.event-backpack-world.dodge-right .event-backpack-art{left:-24%}.event-backpack-copy{top:27%;left:16px}.dodge-right .event-backpack-copy{right:16px}.event-backpack-copy span{font-size:31px}.event-dodge-action{min-width:150px;min-height:46px;bottom:17px}.event-input-desktop{display:none}.event-input-touch{display:inline}}@media (prefers-reduced-motion:reduce){.journey-event-scene,.event-omen,.event-result-toast,.event-backpack-art,.event-combat-counter em{animation:none!important}.event-world{transition:none!important}}.start-screen{height:var(--app-height,100dvh);min-height:0;overflow:hidden}@keyframes slot-resistance{0%,to{transform:translate(0)}35%{transform:translate(-2px)}70%{transform:translate(2px)}}@keyframes slot-pop{0%{transform:scale(1)}40%{transform:scale(1.55)}70%{transform:scale(.88)}to{transform:scale(1)}}@keyframes slot-active-pulse{0%,to{box-shadow:0 0 20px var(--amber-soft), inset 0 0 18px #eaae3e14}50%{box-shadow:0 0 32px #eaae3e8c,inset 0 0 22px #eaae3e2e}}@keyframes hint-flicker{0%,to{opacity:.55}50%{opacity:1}}@keyframes console-shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}@keyframes character-pop{0%{transform:scale(1)translateY(0)}35%{transform:scale(1.32)translateY(-4px)}65%{transform:scale(.96)translateY(0)}to{transform:scale(1)translateY(0)}}@keyframes eq-bounce{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}@keyframes turbo-pulse{0%,to{filter:brightness()drop-shadow(0 0 #ffc83d00)}50%{filter:brightness(1.25)drop-shadow(0 0 10px #ffc83da6)}}@keyframes feedback-in{0%{opacity:0;transform:translate(-50%)translateY(-3px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes station-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes train-resistance{0%,to{filter:brightness()}45%{filter:brightness(.45)}}.animate-fade-in{animation:.3s both station-rise}@media (width<=900px){.start-screen{padding:14px;overflow:hidden}}@media (width<=620px){.start-screen{padding:14px;overflow:hidden}.route-summary{display:none}.journey-picker{grid-template-columns:1fr}.station-select{min-width:0}}@media (height<=720px) and (width>=621px){.start-screen{padding:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.confirmation-facts{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-sunken);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px;display:grid}.confirmation-lines{flex-wrap:wrap;gap:6px;display:flex}.confirmation-route{overscroll-behavior-x:contain;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-sunken);scrollbar-width:thin;gap:8px;margin:0;padding:12px;list-style:none;display:flex;overflow-x:auto}.confirmation-route li{color:var(--text-secondary);font:600 13px/1.2 var(--font-sans);white-space:nowrap;flex:none;align-items:center;gap:6px;display:flex}.confirmation-route li>span{gap:2px;display:grid}.confirmation-route li strong{color:inherit;font:inherit}.confirmation-route li small{color:var(--text-tertiary);font:500 10px/1.1 var(--font-sans)}.confirmation-route i{background:var(--stop-color);border-radius:50%;flex:none;width:8px;height:8px}.confirmation-settings{gap:8px;display:grid}.route-confirmation-panel .confirmation-route{min-height:clamp(64px,10dvh,82px);margin-block:clamp(8px,1.5dvh,12px);padding-block:clamp(14px,2dvh,18px)}.route-confirmation-panel .confirmation-settings>.cm-switch-row{column-gap:16px;padding-inline:10px}@media (width<=640px) and (height<=700px){.route-confirmation-panel{max-height:100dvh;padding:14px 16px max(14px, env(safe-area-inset-bottom));gap:10px}.route-confirmation-panel .confirmation-facts{gap:8px;padding:8px 10px}.route-confirmation-panel .confirmation-lines{gap:4px}.route-confirmation-panel .confirmation-route{min-height:56px;margin-block:4px;padding-block:10px}.route-confirmation-panel .confirmation-settings{gap:6px}.route-confirmation-panel .confirmation-settings>.cm-switch-row{min-height:52px;padding-block:8px}.route-confirmation-panel .cm-modal__actions{gap:6px}}.route-confirmation-panel .cm-modal__actions .cm-button[data-variant=quiet]{border:1px solid var(--border-subtle)}.route-confirmation-station-title{font-family:var(--font-serif-hk)!important;letter-spacing:.02em!important}.route-confirmation-station-english{color:var(--text-secondary);font:700 clamp(12px, 2vw, 16px)/1.15 var(--font-sans);letter-spacing:.04em;text-align:left;margin:-10px 0 0}.station-search{z-index:8;width:var(--tap-target);height:var(--tap-target);border:1px solid var(--stage-border);border-radius:var(--radius-pill);background:var(--stage);color:var(--stage-text-muted);white-space:nowrap;cursor:text;transition:width var(--duration-slow) var(--ease-out), padding var(--duration-slow) var(--ease-out), gap var(--duration-slow) var(--ease-out);justify-content:center;align-items:center;gap:0;padding:0;display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.station-search:hover,.station-search:focus-within{border-color:var(--teal-300);justify-content:flex-start;gap:8px;width:min(240px,60%);padding-inline:14px}.station-search input{width:0;min-width:0;color:var(--stage-text);font:500 14px/1 var(--font-sans);opacity:0;transition:opacity var(--duration-base) var(--ease-out);background:0 0;border:0;outline:0}.station-search:hover input,.station-search:focus-within input{opacity:1;width:100%}.station-search input::placeholder{color:var(--stage-text-muted)}@supports (color:color-mix(in lab, red, red)){.pause-curtain{background:color-mix(in srgb, var(--stage) 86%, transparent)}}.pause-curtain strong{font:800 26px/1.2 var(--font-sans)}.pause-curtain button{min-height:var(--tap-target);border-radius:var(--radius-control);background:var(--teal-300);color:var(--teal-950);font:700 15px/1 var(--font-sans);padding:0 22px}.pause-curtain button:hover{background:var(--teal-200)}.planner-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.planner-actions-row{grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:8px;width:100%;display:grid}.planner-actions-row .depart-button{width:100%}.results-assist-tag{color:var(--text-secondary);font:600 11px/1.3 var(--font-mono);letter-spacing:.08em;margin-top:12px}.journey-event-scene{z-index:18;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(12px);transform-style:preserve-3d;perspective:1000px;background:linear-gradient(135deg,#eaae3e26,#84c7f71a,#040a12d9);animation:.5s cubic-bezier(.2,.8,.2,1) both event-scene-enter;position:absolute;inset:0;overflow:hidden}.event-warning-banner{z-index:4;color:#fff;min-height:64px;font:700 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(#eaae3e40,#eaae3e0d);border-bottom:2px solid #eaae3e99;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0 24px;animation:.4s cubic-bezier(.2,.8,.2,1) both event-warning-banner-in;display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 4px 20px #eaae3e4d}.event-warning-label{justify-content:center;align-items:center;gap:12px;display:flex}.event-warning-label svg{color:var(--amber);animation:1s ease-in-out infinite warning-icon-pulse}.event-warning-intro{z-index:2;text-align:center;text-transform:none;flex-direction:column;align-items:center;gap:clamp(12px,2.5vh,22px);width:min(520px,100vw - 48px);display:flex;position:absolute;top:calc(100% + clamp(16px,4vh,34px));left:50%;transform:translate(-50%)}.event-warning-countdown{color:#fff5da;min-width:1.4em;font:500 clamp(58px, 12vw, 108px)/1 var(--font-display);letter-spacing:0;text-shadow:0 0 28px #eaae3e8c,0 10px 36px #000000b8;animation:1s cubic-bezier(.2,.8,.2,1) infinite event-countdown-pulse}.event-warning-brief{-webkit-backdrop-filter:blur(10px);background:#030a13db;border:1px solid #eaae3e61;border-radius:12px;gap:8px;width:100%;padding:13px 18px 14px;display:grid;box-shadow:0 14px 38px #0000006b}.event-warning-brief>span{color:#d7dee5;font:400 clamp(14px, 2vw, 18px)/1.45 var(--font-display);letter-spacing:.04em}.event-warning-instruction{color:#f4c862;font:700 clamp(10px, 1.5vw, 13px)/1.35 var(--font-mono);letter-spacing:.08em}.event-warning-instruction-touch{display:none}@media (hover:none) and (pointer:coarse){.event-warning-instruction-desktop{display:none}.event-warning-instruction-touch{display:block}}@media (height<=610px){.event-warning-intro{gap:8px;top:calc(100% + 10px)}.event-warning-countdown{font-size:clamp(42px,10vh,68px)}.event-warning-brief{gap:5px;padding:9px 14px 10px}}@keyframes event-countdown-pulse{0%{opacity:.35;transform:scale(1.16)}18%,72%{opacity:1;transform:scale(1)}to{opacity:.62;transform:scale(.94)}}@keyframes warning-icon-pulse{0%,to{filter:drop-shadow(0 0 5px #eaae3e80);transform:scale(1)}50%{filter:drop-shadow(0 0 15px #eaae3ecc);transform:scale(1.2)}}@keyframes event-warning-banner-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.event-warning-copy{z-index:3;flex-direction:column;align-items:flex-start;animation:.8s ease-in-out infinite event-warning-pulse,.4s cubic-bezier(.2,.8,.2,1) both event-warning-slide-in;display:flex;position:absolute;top:clamp(22px,8%,48px);left:clamp(22px,5%,58px)}.journey-event-scene.is-active .event-warning-copy{animation:.8s ease-in-out infinite event-warning-pulse}.journey-event-scene.is-result .event-warning-copy{opacity:0;transition:opacity .3s,transform .3s;transform:translate(-30px)}@keyframes event-warning-slide-in{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.journey-event-scene.is-result .event-warning-banner{opacity:0;transition:opacity .3s,transform .3s;transform:translateY(-100%)}.journey-event-scene.is-warning>:not(.event-warning-banner){opacity:0;pointer-events:none}.journey-event-scene.is-warning>.event-warning-banner{opacity:1;pointer-events:auto}.journey-event-scene.is-active>*{opacity:1;pointer-events:auto;transition:opacity .2s}.journey-event-scene.is-active>.event-warning-banner{opacity:1;pointer-events:auto}.event-doors{background:linear-gradient(#eaae3e1f,#040a12f2);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.event-door{background:linear-gradient(90deg,#2d4356,#4a6fa5,#2d4356);border:3px solid #eaae3e99;width:35%;transition:transform 80ms ease-out;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 40px #0009,0 0 20px #eaae3e33}.event-door-left{transform:translateX(calc((1 - var(--gap,.5)) * -50%));background:linear-gradient(90deg,#1a2a3a,#3d5a8c,#1a2a3a);border-right:4px solid #eaae3ecc;left:0}.event-door-right{transform:translateX(calc((1 - var(--gap,.5)) * 50%));background:linear-gradient(90deg,#1a2a3a,#3d5a8c,#1a2a3a);border-left:4px solid #eaae3ecc;right:0}.event-door-center{z-index:2;text-align:center;background:#040a12d9;border:2px solid #eaae3e66;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;animation:.8s ease-in-out infinite event-center-pulse;display:flex;position:relative;box-shadow:0 0 40px #eaae3e4d}@keyframes event-center-pulse{0%,to{transform:scale(1);box-shadow:0 0 40px #eaae3e4d}50%{transform:scale(1.03);box-shadow:0 0 60px #eaae3e80}}.event-door-title{color:#fff;font:700 16px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 10px #eaae3e80;align-items:center;gap:10px;margin-bottom:20px;display:flex}.event-door-title svg{color:var(--amber);animation:2s linear infinite title-icon-spin}@keyframes title-icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.event-door-phrase{font:700 32px/1 var(--font-mono);letter-spacing:.12em;gap:10px;margin-bottom:16px;display:flex}.event-door-phrase span{color:#4a5a6a;background:#040a12e6;border:2px solid #84c7f733;border-radius:12px;min-width:32px;padding:12px 16px;font-weight:700;transition:all .15s}.event-door-phrase span[data-state=done]{color:#84c7f7;background:linear-gradient(135deg,#84c7f74d,#84c7f71a);border-color:#84c7f799;transform:scale(1.05);box-shadow:0 0 15px #84c7f766}.event-door-phrase span[data-state=active]{color:#fff;border-color:var(--amber);background:linear-gradient(135deg,#eaae3e66,#eaae3e33);animation:.4s ease-in-out infinite event-char-pulse;transform:scale(1.15);box-shadow:0 0 25px #eaae3e99}@keyframes event-char-pulse{0%,to{transform:scale(1.15);box-shadow:0 0 25px #eaae3e99}50%{transform:scale(1.25);box-shadow:0 0 35px #eaae3ee6}}.event-door-hint{color:#fff;font:600 14px/1.4 var(--font-mono);letter-spacing:.1em;text-shadow:0 0 8px #00000080;background:#eaae3e26;border:1px solid #eaae3e4d;border-radius:20px;margin-bottom:20px;padding:8px 16px}.event-door-timer{background:#040a12e6;border:2px solid #eaae3e66;border-radius:4px;width:280px;height:8px;overflow:hidden;box-shadow:0 0 15px #eaae3e33}.event-door-timer span{background:linear-gradient(90deg, #ff6b6b, #feca57, var(--amber));border-radius:2px;height:100%;transition:transform 80ms linear;display:block;box-shadow:0 0 10px #eaae3e80}.event-door-mobilepad{background:#040a12f2;border:2px solid #eaae3e66;border-radius:16px;gap:10px;padding:16px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}.event-door-mobilepad button{color:#5a6b7c;min-width:48px;min-height:48px;font:700 16px/1 var(--font-mono);background:#040a12e6;border:2px solid #84c7f74d;border-radius:12px;padding:10px 16px;font-weight:700;transition:all .15s}.event-door-mobilepad button:disabled{opacity:.25;cursor:not-allowed;transform:scale(.95)}.event-door-mobilepad button:not(:disabled){color:#fff;border-color:var(--amber);background:linear-gradient(135deg,#eaae3e4d,#eaae3e1a);animation:.6s ease-in-out infinite mobile-btn-pulse;transform:scale(1.05);box-shadow:0 0 20px #eaae3e80}@keyframes mobile-btn-pulse{0%,to{box-shadow:0 0 20px #eaae3e80}50%{box-shadow:0 0 30px #eaae3ecc}}.event-warning-copy span{color:var(--amber);font:700 10px/1 var(--font-mono);letter-spacing:.18em}.event-warning-copy strong{color:#f5f7fa;font-family:var(--font-display);letter-spacing:.04em;margin-top:9px;font-size:clamp(27px,4vw,48px);font-weight:400}.event-warning-copy small{color:#98a7b6;font:500 11px/1.4 var(--font-mono);margin-top:5px}.event-door{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.event-door-left{transform-origin:0}.event-door-right{transform-origin:100%}.journey-event-scene.is-active .event-door-left{animation:2s ease-in-out infinite alternate event-door-close}.journey-event-scene.is-active .event-door-right{animation:2s ease-in-out infinite alternate-reverse event-door-close}.event-debug-panel{z-index:60;color:#8492a0;max-width:calc(100% - 20px);font:600 8px/1 var(--font-mono);-webkit-backdrop-filter:blur(10px);background:#030a12e6;border:1px dashed #eaae3e75;border-radius:999px;position:absolute;bottom:10px;left:10px;box-shadow:0 6px 20px #0000004d}.event-debug-panel[open]{border-radius:12px}.event-debug-panel summary{color:#d2b774;cursor:pointer;letter-spacing:.1em;-webkit-user-select:none;user-select:none;align-items:center;min-height:30px;padding:0 10px;list-style:none;display:flex}.event-debug-panel summary::-webkit-details-marker{display:none}.event-debug-panel summary:before{content:"＋";color:var(--amber);margin-right:5px}.event-debug-panel[open] summary:before{content:"−"}.event-debug-actions{scrollbar-width:none;gap:5px;max-width:min(520px,100vw - 40px);padding:0 6px 6px;display:flex;overflow-x:auto}.event-debug-actions::-webkit-scrollbar{display:none}.event-debug-actions button{color:#f1d69a;min-height:26px;font:inherit;cursor:pointer;white-space:nowrap;background:#eaae3e12;border:1px solid #eaae3e38;border-radius:5px;flex:none;padding:0 7px}.event-debug-actions button:hover,.event-debug-actions button:focus-visible{background:#eaae3e26;border-color:#eaae3ea6;outline:none}.event-debug-actions button:disabled{opacity:.4;cursor:default}@keyframes event-scene-enter{0%{opacity:0;filter:blur(8px);transform:scale(1.15)translateY(20px)}40%{opacity:.6;filter:blur(3px);transform:scale(1.05)translateY(8px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}@keyframes event-warning-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}@keyframes event-success-burst{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(180deg)}to{opacity:0;transform:scale(1.5)rotate(360deg)}}@keyframes event-door-slide{0%{transform:translate(0)}to{transform:translateX(var(--door-direction,1) * -100%)}}@keyframes event-sparkle{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}@keyframes event-door-close{0%{transform:translate(0)}to{transform:translateX(var(--close-direction,1) * 45%)}}.results-events-card{grid-column:1/-1}.results-event-count{color:#8290a0;font:500 10px/1 var(--font-mono)}.results-event-list{gap:8px;margin-top:16px;display:grid}.results-event-row{border-top:1px solid #ffffff14;grid-template-columns:auto minmax(120px,1fr) minmax(150px,2fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.results-event-row>span{color:var(--amber);font:700 9px/1 var(--font-mono)}.results-event-row>span[data-outcome=success]{color:#6ce09c}.results-event-row strong{font-family:var(--font-display);font-weight:400}.results-event-row small,.results-events-empty{color:#8d9baa}.results-events-empty{margin-top:14px}@media (width<=700px){.event-toggle-copy{min-width:0}.event-toggle-copy strong{font-size:clamp(13px,4vw,15px);line-height:1.15}.event-toggle-copy small{font-size:clamp(7px,2.25vw,9px);line-height:1.25}.event-toggle-switch{width:34px;height:20px;padding:3px}.event-toggle-switch i{width:14px;height:14px}.event-warning-copy{top:18px;left:18px}.event-warning-copy strong{font-size:28px}.results-event-row{grid-template-columns:auto 1fr}.results-event-row small{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.journey-event-scene{transition-duration:1ms!important;animation:none!important}}.results-screen{min-height:var(--app-height,100dvh);background:radial-gradient(circle at 50% 0%, var(--action-primary), transparent 45%), radial-gradient(circle at 54% 55%, var(--surface), var(--midnight) 57%);padding:clamp(24px,3vw,44px)}@supports (color:color-mix(in lab, red, red)){.results-screen{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--action-primary) 12%, transparent), transparent 45%), radial-gradient(circle at 54% 55%, var(--surface), var(--midnight) 57%)}}.results-screen{flex-direction:column;gap:22px;display:flex}.results-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.results-eyebrow{color:var(--text-secondary);font:500 10px/1 var(--font-mono);letter-spacing:.28em;text-transform:uppercase}.results-title{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:12px;margin:10px 0 4px;font-size:clamp(30px,3.4vw,44px);font-weight:400;display:flex}.results-subtitle{color:var(--text-tertiary);font:500 12px/1 var(--font-mono);letter-spacing:.14em;margin:0}.results-grid{grid-template-columns:1.15fr 1fr;grid-auto-rows:min-content;gap:18px;display:grid}@media (width<=900px){.results-grid{grid-template-columns:1fr}}.results-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;padding:20px 22px;position:relative}@supports (color:color-mix(in lab, red, red)){.results-card{background:color-mix(in srgb, var(--surface) 85%, transparent);box-shadow:0 18px 60px color-mix(in srgb, var(--shadow-color) 35%, transparent)}}.results-card-eyebrow{color:var(--amber);font:600 10px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:10px;display:flex}.results-card-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.results-route-card{grid-column:1/2}.results-heading-card{box-shadow:none;background:0 0;border:0;border-radius:0;align-self:end;padding:0}.results-heading-card .results-route-title{gap:12px;margin:10px 0 4px;font-size:clamp(30px,3.4vw,44px)}.results-heading-card .results-line-chips{margin-bottom:0}.results-route-title{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:14px;margin:10px 0 12px;display:flex}.results-route-title strong{font-size:28px;font-weight:400}.results-line-chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.results-mini-route{flex-wrap:wrap;gap:4px 10px;display:flex}.results-mini-stop{color:var(--text-secondary);font:500 11px/1.4 var(--font-mono);align-items:center;gap:6px;display:inline-flex}.results-mini-dot{border-radius:999px;width:8px;height:8px}.results-mini-line{background:var(--border-subtle);width:14px;height:1px}@supports (color:color-mix(in lab, red, red)){.results-mini-line{background:color-mix(in srgb, var(--border-subtle) 15%, transparent)}}.results-grade-card{grid-column:2/3;align-items:stretch;gap:20px;display:flex}.results-grade-badge{border:1px solid var(--amber);background:radial-gradient(circle, var(--action-primary), var(--action-primary));border-radius:20px;flex-shrink:0;place-items:center;width:96px;height:96px;display:grid}@supports (color:color-mix(in lab, red, red)){.results-grade-badge{background:radial-gradient(circle, color-mix(in srgb, var(--action-primary) 32%, transparent), color-mix(in srgb, var(--action-primary) 8%, transparent));box-shadow:0 0 0 3px color-mix(in srgb, var(--action-primary) 8%, transparent)}}.results-grade-badge[data-grade=B]{border-color:var(--action-primary);background:radial-gradient(circle, var(--action-primary), var(--action-primary))}@supports (color:color-mix(in lab, red, red)){.results-grade-badge[data-grade=B]{background:radial-gradient(circle, color-mix(in srgb, var(--action-primary) 28%, transparent), color-mix(in srgb, var(--action-primary) 5%, transparent))}}.results-grade-badge[data-grade=B]{box-shadow:0 0 0 3px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-grade-badge[data-grade=B]{box-shadow:0 0 0 3px color-mix(in srgb, var(--action-primary) 8%, transparent)}}.results-grade-badge[data-grade=C]{border-color:var(--text-secondary);background:radial-gradient(circle, var(--border-subtle), var(--border-subtle))}@supports (color:color-mix(in lab, red, red)){.results-grade-badge[data-grade=C]{background:radial-gradient(circle, color-mix(in srgb, var(--border-subtle) 22%, transparent), color-mix(in srgb, var(--border-subtle) 5%, transparent))}}.results-grade-badge[data-grade=C]{box-shadow:0 0 0 3px var(--border-subtle)}@supports (color:color-mix(in lab, red, red)){.results-grade-badge[data-grade=C]{box-shadow:0 0 0 3px color-mix(in srgb, var(--border-subtle) 6%, transparent)}}.results-grade-badge[data-grade=D]{border-color:var(--status-critical);background:radial-gradient(circle, var(--status-critical), var(--status-critical))}@supports (color:color-mix(in lab, red, red)){.results-grade-badge[data-grade=D]{background:radial-gradient(circle, color-mix(in srgb, var(--status-critical) 28%, transparent), color-mix(in srgb, var(--status-critical) 5%, transparent))}}.results-grade-letter{font-family:var(--font-display);color:var(--text-primary);font-size:54px;font-weight:700}.results-grade-body{flex:1;min-width:0}.results-grade-title{font-family:var(--font-display);color:var(--text-primary);margin:8px 0 4px;font-size:26px;font-weight:400}.results-grade-hint{color:var(--text-secondary);font:500 12px/1.5 var(--font-mono);margin:0 0 14px}.results-summary-row{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px 12px;padding-top:12px;display:grid}.results-summary-stat span{color:var(--text-tertiary);font:500 9px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;display:block}.results-summary-stat strong{font:500 20px/1 var(--font-mono);color:var(--text-primary);margin-top:6px;display:block}.results-summary-stat small{color:var(--text-secondary);letter-spacing:.1em;font-size:10px}.results-stations-card{grid-column:1/-1}.results-legend{color:var(--text-secondary);font:500 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;gap:14px;display:flex}.results-legend span{align-items:center;gap:6px;display:inline-flex}.results-legend i{background:var(--action-primary);border-radius:999px;width:8px;height:8px}.results-legend i[data-state=perfect]{background:var(--status-positive)}.results-legend i[data-state=corrected]{background:var(--amber)}.results-legend i[data-state=done]{background:var(--text-secondary)}.results-station-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.results-station-tile{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.results-station-tile{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.results-station-tile{text-align:left;cursor:pointer;transition:all .16s}.results-station-tile[data-state=perfect]{border-left:3px solid var(--status-positive)}.results-station-tile[data-state=corrected]{border-left:3px solid var(--amber)}.results-station-tile[data-state=done]{border-left:3px solid var(--text-secondary)}.results-station-index{color:var(--text-tertiary);font:500 9px/1 var(--font-mono);letter-spacing:.14em}.results-station-name{font-family:var(--font-display);font-size:17px}.results-station-status{color:var(--text-secondary);font:500 10px/1 var(--font-mono)}.results-station-time{color:var(--text-primary);font:500 12px/1 var(--font-mono);letter-spacing:.1em}.results-detail-card{grid-column:1/-1;position:relative}.results-detail-close{border:1px solid var(--line);background:var(--surface);border-radius:999px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:12px;right:12px}@supports (color:color-mix(in lab, red, red)){.results-detail-close{background:color-mix(in srgb, var(--surface) 90%, transparent)}}.results-detail-close{color:var(--text-secondary);cursor:pointer}.results-detail-hanzi{font-family:var(--font-display);color:var(--text-primary);margin-top:8px;font-size:34px}.results-detail-jyut{color:var(--amber);font:500 12px/1 var(--font-mono);letter-spacing:.14em}.results-detail-rows{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:14px;display:grid}.results-detail-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.results-detail-row{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.results-detail-row span{color:var(--text-tertiary);font:500 9px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;display:block}.results-detail-row strong{font:500 16px/1 var(--font-mono);color:var(--text-primary);margin-top:6px;display:block}.results-pb-card{grid-column:1/-1}.results-pb-flag{background:var(--amber);color:var(--action-primary-soft);font:700 9px/1 var(--font-mono);letter-spacing:.14em;border-radius:999px;padding:3px 8px}.results-pb-body{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:14px;display:grid}.results-pb-label{color:var(--text-secondary);font:500 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.results-pb-time{font:500 34px/1 var(--font-mono);color:var(--text-primary);margin-top:8px}.results-pb-old{color:var(--text-secondary)}.results-pb-sub{color:var(--text-tertiary);font:500 11px/1 var(--font-mono);margin-top:4px}.results-pb-vs{color:var(--amber);font:700 14px/1 var(--font-mono);letter-spacing:.2em}.results-actions{flex-wrap:wrap;gap:10px;padding-top:6px;display:flex}.results-action{border:1px solid var(--line-strong);background:var(--surface);border-radius:16px;flex:200px;align-items:center;gap:12px;padding:14px 18px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.results-action{background:color-mix(in srgb, var(--surface) 85%, transparent)}}.results-action{color:var(--text-primary);cursor:pointer;text-align:left;transition:all .16s}.results-action:hover{border-color:var(--amber);transform:translateY(-1px)}.results-action strong{font-family:var(--font-display);font-size:16px;display:block}.results-action em{color:var(--text-secondary);font:500 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-top:2px;font-style:normal;display:block}.results-action-primary{border-color:var(--amber);background:linear-gradient(180deg, var(--action-primary), var(--action-primary))}@supports (color:color-mix(in lab, red, red)){.results-action-primary{background:linear-gradient(180deg, color-mix(in srgb, var(--action-primary) 25%, transparent), color-mix(in srgb, var(--action-primary) 8%, transparent))}}.results-action-primary{color:var(--action-primary-soft)}.share-card-modal{z-index:60;background:var(--scrim);flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.share-card-modal{background:color-mix(in srgb, var(--scrim) 86%, transparent)}}.share-card-modal{-webkit-backdrop-filter:blur(20px)saturate(.55);backdrop-filter:blur(20px)saturate(.55)}.share-card{background:linear-gradient(180deg, var(--surface-raised), var(--surface-sunken));border:1px solid var(--action-primary);border-radius:22px;width:min(420px,100%);padding:30px 26px;position:relative}@supports (color:color-mix(in lab, red, red)){.share-card{border:1px solid color-mix(in srgb, var(--action-primary) 35%, transparent)}}.share-card{box-shadow:0 32px 80px var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.share-card{box-shadow:0 32px 80px color-mix(in srgb, var(--shadow-color) 60%, transparent)}}.share-card{color:var(--text-primary);text-align:center}.share-card-close{border:1px solid var(--line);background:var(--surface);border-radius:999px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:12px;right:12px}@supports (color:color-mix(in lab, red, red)){.share-card-close{background:color-mix(in srgb, var(--surface) 90%, transparent)}}.share-card-close{color:var(--text-secondary);cursor:pointer}.share-card-brand{color:var(--amber);font:700 11px/1 var(--font-mono);letter-spacing:.3em}.share-card-route{font-family:var(--font-display);justify-content:center;align-items:center;gap:14px;margin-top:12px;font-size:26px;display:flex}.share-card-lines{justify-content:center;gap:4px;margin-top:10px;display:flex}.share-card-line{border-radius:999px;width:34px;height:4px}.share-card-grade{border:1px solid var(--amber);background:radial-gradient(circle, var(--action-primary), var(--action-primary));border-radius:24px;place-items:center;width:90px;height:90px;margin:22px auto 6px;display:grid}@supports (color:color-mix(in lab, red, red)){.share-card-grade{background:radial-gradient(circle, color-mix(in srgb, var(--action-primary) 32%, transparent), color-mix(in srgb, var(--action-primary) 5%, transparent))}}.share-card-grade{font-family:var(--font-display);font-size:48px;font-weight:700}.share-card-rank{color:var(--action-primary);font:600 14px/1 var(--font-mono);letter-spacing:.04em;text-align:center;margin:0 auto 12px}.share-card-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;padding-top:14px;display:grid}.share-card-stats span{color:var(--text-secondary);font:500 9px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;display:block}.share-card-stats strong{font:500 20px/1 var(--font-mono);margin-top:6px;display:block}.share-card-footnote{color:var(--text-tertiary);font:500 10px/1 var(--font-mono);letter-spacing:.14em;margin-top:18px}.share-card-session-link{width:100%;min-width:0;color:inherit;cursor:copy;background:0 0;border:0;justify-items:center;padding:0;display:grid;overflow:visible}.share-card-session-link:focus-visible{outline:2px solid var(--action-primary);outline-offset:5px;border-radius:12px}.share-card-session-link:active .share-card-qr,.share-card-session-link:active .share-card-qr-placeholder{transform:scale(.98)}.share-card-qr{justify-content:center;margin-top:10px;line-height:0;display:flex}.share-card-qr img{background:0 0;border:0;border-radius:10px;width:104px;height:104px;display:block}.share-card-link{box-sizing:border-box;width:100%;min-width:0;color:var(--text-secondary);font:500 8.5px/1.2 var(--font-mono);letter-spacing:.01em;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;margin:9px auto 1px;padding-inline:2px;display:block;overflow:visible}.share-card-link-status{min-height:15px;color:var(--action-primary);font:600 10px/1.35 var(--font-sans);text-align:center;margin-top:5px}.share-card-share{background:var(--amber);min-height:44px;color:var(--surface-sunken);font:600 13px/1 var(--font-mono);letter-spacing:.08em;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:12px 22px;transition:filter .12s;display:flex}.share-card-actions{gap:8px;width:min(420px,100%);margin-top:14px;display:grid}.share-card-link-toast{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:2;border:1px solid var(--action-primary-soft-border);background:var(--surface-raised);color:var(--text-primary);box-shadow:0 12px 28px var(--shadow-color);border-radius:999px;padding:9px 14px;position:fixed;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.share-card-link-toast{box-shadow:0 12px 28px color-mix(in srgb, var(--shadow-color) 35%, transparent)}}.share-card-link-toast{font:600 12px/1 var(--font-sans);white-space:nowrap}.share-card-share.is-secondary{border:1px solid var(--action-primary-soft-border);background:var(--surface-raised);color:var(--text-primary);text-decoration:none}.share-card-share:disabled{cursor:wait;opacity:.68}.share-card-share-hint{color:var(--text-secondary);font:500 11px/1.4 var(--font-sans);text-align:center;margin:1px 0 0}.share-card-share:hover{filter:brightness(1.08)}.route-confirmation-card,.results-card,.results-grade-body,.results-action,.results-action>span,.results-pb-body>div{min-width:0}.route-confirmation-card{width:min(640px,100%);max-height:calc(100dvh - 24px);padding:clamp(16px,3vw,28px)}.route-confirmation-card h2{margin-top:9px;font-size:clamp(26px,4.5vw,38px)}.confirmation-route{margin:16px 0}.confirmation-settings>div,.confirmation-settings>button{gap:14px;padding:11px 0}.confirmation-actions{margin-top:16px}.results-screen{gap:clamp(14px,2vw,20px);width:100%;padding:clamp(16px,2.4vw,32px);overflow-x:clip}.results-grid{gap:clamp(10px,1.5vw,16px);min-width:0}.results-card{border-radius:clamp(16px,2vw,20px);padding:clamp(15px,2vw,20px)}.results-route-title strong,.results-grade-title,.results-detail-hanzi,.results-pb-time,.share-card-route{overflow-wrap:anywhere}.results-action>span{overflow:hidden}@media (width<=900px){.results-route-card,.results-grade-card,.results-events-card,.results-stations-card,.results-detail-card,.results-pb-card{grid-column:1/-1}}@media (width<=700px){.field-direction{padding:5px 7px;font-size:8px;top:7px;left:7px}.route-confirmation-backdrop{align-items:center;padding:8px}.route-confirmation-card{border-radius:18px;max-height:calc(100dvh - 16px);padding:16px}.confirmation-actions button{min-height:42px;padding-inline:13px}.results-header{align-items:flex-start;gap:12px}.results-title{margin-top:7px;font-size:clamp(27px,8vw,34px)}.results-subtitle{letter-spacing:.09em;font-size:9px;line-height:1.35}.results-route-title{gap:9px}.results-route-title strong{font-size:23px}.results-grade-card{grid-template-columns:76px minmax(0,1fr);gap:14px;display:grid}.results-grade-badge{border-radius:16px;width:76px;height:76px}.results-grade-letter{font-size:42px}.results-grade-title{margin-top:2px;font-size:22px}.results-grade-hint{margin-bottom:10px;font-size:10px}.results-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px;padding-top:10px}.results-summary-stat strong{margin-top:4px;font-size:16px}.results-station-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.results-station-tile{padding:8px 9px}.results-pb-body{gap:10px}.results-pb-time{font-size:clamp(22px,7vw,29px)}.results-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.results-action{border-radius:13px;gap:8px;padding:10px}.results-action svg{flex:none;width:17px;height:17px}.results-action strong{font-size:14px}.results-action em{letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.share-card-modal{align-items:center;padding:10px;overflow-y:auto}.share-card{max-height:calc(100dvh - 20px);padding:24px 18px;overflow-y:auto}}@media (width<=360px){.route-confirmation-card{padding:13px}.route-confirmation-card>p{font-size:9px}.confirmation-route{margin:12px 0}.confirmation-settings>div,.confirmation-settings>button{padding:9px 0}.confirmation-actions{grid-template-columns:.8fr 1.2fr;display:grid}.confirmation-actions button{width:100%;padding-inline:9px;font-size:9px}.results-screen{gap:11px;padding:11px}.results-header{display:block}.results-card{border-radius:15px;padding:13px}.results-card-head{align-items:flex-start;gap:8px}.results-legend{flex-wrap:wrap;justify-content:flex-end;gap:6px 10px;font-size:8px}.results-grade-card{grid-template-columns:66px minmax(0,1fr);gap:11px}.results-grade-badge{width:66px;height:66px}.results-grade-letter{font-size:36px}.results-summary-row{grid-column:1/-1}.results-pb-body{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}.results-pb-label,.results-pb-sub{font-size:8px}.results-pb-vs{font-size:10px}.results-event-row{padding-inline:6px}.share-card-route{gap:8px;font-size:22px}}@media (width>=901px){.results-screen{height:var(--app-height,100dvh);gap:clamp(10px,1.5vh,16px);min-height:0;padding:clamp(16px,2vh,26px) clamp(20px,2.4vw,34px);overflow:hidden}.results-header{flex:none}.results-title{margin-top:6px;font-size:clamp(30px,3vw,39px)}.results-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(9px,1.2vh,14px);min-height:0}.results-card{border-radius:18px;padding:clamp(12px,1.65vh,18px) clamp(14px,1.5vw,20px)}.results-route-card{grid-column:1/2}.results-grade-card{grid-column:2/3;gap:14px}.results-events-card,.results-detail-card{grid-column:1/-1}.results-stations-card{grid-column:1/2}.results-pb-card{grid-column:2/3}.results-route-title{margin:7px 0 8px}.results-route-title strong{font-size:24px}.results-line-chips{margin-bottom:9px}.results-grade-badge{border-radius:17px;width:clamp(72px,8vh,88px);height:clamp(72px,8vh,88px)}.results-grade-letter{font-size:clamp(40px,5.5vh,49px)}.results-grade-title{margin-top:3px;font-size:23px}.results-grade-hint{margin-bottom:9px;font-size:10px}.results-summary-row{gap:6px 9px;padding-top:9px}.results-summary-stat strong{margin-top:4px;font-size:17px}.results-card-head{margin-bottom:9px}.results-station-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px}.results-station-tile{gap:3px;padding:7px 8px}.results-station-name{font-size:15px}.results-pb-body{gap:10px;margin-top:9px}.results-pb-time{margin-top:5px;font-size:clamp(24px,3.2vh,30px)}.results-actions{flex:none;gap:8px;padding-top:0}.results-action{min-height:54px;padding:10px 14px}}@media (width<=900px){.results-screen{height:var(--app-height,100dvh);overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow:clip auto}.results-header,.results-grid,.results-actions{flex:none}.results-route-title{margin:7px 0 8px}.results-line-chips{margin-bottom:9px}.results-primary-metrics{padding-block:14px}.results-metric-grid{gap:8px}.results-metric-grid .results-summary-stat strong{font-size:20px}.results-mini-route{gap:3px 8px}.results-station-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.results-station-name{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(14px,4vw,17px);overflow:hidden}.results-station-status{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.results-station-time{font-size:10px}}@media (width<=420px){.results-eyebrow{font-size:8px;line-height:1.25}.results-header{min-height:0}.results-title{margin-bottom:2px;font-size:clamp(25px,7.8vw,31px)}.results-route-card{padding-block:11px}.results-route-title strong{font-size:21px}.results-mini-stop{font-size:9px}.results-grade-card{gap:9px}.results-grade-hint{margin-bottom:7px}.results-summary-row{row-gap:7px}.results-station-tile{min-width:0;padding:7px 6px}}.results-events-card .results-event-list{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:8px;margin-top:0;display:grid}.results-events-card .results-event-row{border:1px solid var(--border-subtle);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"outcome title""copy copy";gap:5px 9px;min-width:0;padding:10px 11px}@supports (color:color-mix(in lab, red, red)){.results-events-card .results-event-row{border:1px solid color-mix(in srgb, var(--border-subtle) 17%, transparent)}}.results-events-card .results-event-row{background:var(--surface);border-radius:11px}@supports (color:color-mix(in lab, red, red)){.results-events-card .results-event-row{background:color-mix(in srgb, var(--surface) 58%, transparent)}}.results-events-card .results-event-row>span{white-space:nowrap;border:1px solid;border-radius:999px;grid-area:outcome;align-self:center;padding:3px 6px}.results-events-card .results-event-row strong{overflow-wrap:anywhere;grid-area:title;min-width:0;font-size:clamp(14px,1.25vw,17px);line-height:1.15}.results-events-card .results-event-row small{min-width:0;font:500 9px/1.35 var(--font-mono);overflow-wrap:anywhere;grid-area:copy}@media (width>=901px){.results-screen{height:var(--app-height,100dvh);overflow-y:auto}.results-grid{flex:auto;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:visible}.results-events-card{padding-block:10px}.results-events-card .results-card-head{margin-bottom:7px}.results-events-card .results-event-list{grid-template-columns:repeat(auto-fill,minmax(180px,260px));gap:6px}.results-events-card .results-event-row{padding:7px 9px}.results-stations-card{flex-direction:column;align-self:start;min-height:0;max-height:100%;display:flex;overflow:visible}.results-stations-card .results-station-grid{align-content:start;min-height:0;overflow:visible}.results-pb-card{align-self:start;min-height:0;max-height:100%}.results-action{min-height:48px;padding-block:8px}}@media (width>=901px) and (height<=760px){.results-screen{gap:8px;padding-block:12px}.results-eyebrow,.results-subtitle{display:none}.results-title{margin:0;font-size:28px}.results-card{padding-block:10px}.results-route-title{margin-block:5px}.results-mini-route,.results-grade-hint{display:none}.results-grade-badge{width:64px;height:64px}.results-grade-letter{font-size:38px}.results-summary-row{padding-top:6px}}@media (width<=900px){.results-screen{overscroll-behavior-y:auto;touch-action:pan-y;width:100%;height:auto;min-height:100%;max-height:none;padding-bottom:max(22px, env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:var(--action-primary) transparent;position:absolute;inset:0;overflow:hidden scroll}@supports (color:color-mix(in lab, red, red)){.results-screen{scrollbar-color:color-mix(in srgb, var(--action-primary) 45%, transparent) transparent}}.results-grid{min-height:max-content;overflow:visible}.results-events-card .results-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.results-events-card .results-event-row{padding:9px}.results-actions{padding-bottom:max(8px, env(safe-area-inset-bottom))}}@media (width<=350px){.results-events-card .results-event-list{grid-template-columns:minmax(0,1fr)}}@media (width<=620px){.station-console .typing-console{overflow-x:auto}.station-console .typing-word{--slot-size:clamp(9px, calc(64cqw / var(--total-letter-count)), 20px);justify-content:center;gap:clamp(8px,2.5cqw,16px);width:100%;padding:5px 4px 7px;overflow-x:auto}.station-console .syllable-group{gap:4px;min-width:0}.station-console .letter-track{gap:clamp(1px,.6cqw,3px)}.station-console .station-character{font-size:clamp(17px,5.8cqw,24px)}.station-console .slot-base{border-radius:clamp(3px,1.4cqw,5px);font-size:clamp(8px,2.8cqw,12px)}}.journey-event-scene.is-warning>.event-world{opacity:.32!important}.journey-event-scene.is-active>.event-world{opacity:1!important}.journey-event-scene.is-result>.event-world{filter:saturate(.72)brightness(.72);opacity:.66!important}.journey-event-scene.is-result>.event-result-toast{pointer-events:none;opacity:1!important}.results-screen{overflow-x:clip}.results-heading-card{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow lines""title lines""route route";align-items:end;gap:0 24px;display:grid}.results-heading-card .results-eyebrow{grid-area:eyebrow}.results-heading-card .results-route-title{grid-area:title;margin:10px 0 4px;font-size:clamp(30px,3.4vw,44px)}.results-heading-card .results-route-title strong{font-size:inherit}.results-heading-card .results-line-chips{grid-area:lines;justify-content:flex-end;align-self:center;margin:0}.results-heading-card .results-mini-route{grid-area:route;margin-top:8px}@media (width>=901px){.results-screen{height:auto;min-height:var(--app-height,100dvh);overflow-y:auto}.results-grid{flex:none;grid-template-rows:none;min-height:auto}.results-grade-card,.results-stations-card{grid-column:1/2}.results-pb-card{grid-column:2/3}}@media (width<=900px){.results-heading-card{grid-template-columns:1fr;grid-template-areas:"eyebrow""title""lines""route";column-gap:0}.results-heading-card .results-line-chips{justify-content:flex-start;margin:0}.results-heading-card .results-mini-route{margin-top:8px}}.start-screen{padding-top:clamp(24px,5vw,72px)}.results-screen{z-index:30;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;width:100%;height:100dvh;min-height:0;max-height:none;position:fixed;inset:0;overflow:hidden auto}.results-grid,.results-actions{flex:none}.results-heading-card{isolation:isolate;border:1px solid var(--action-primary);padding:clamp(18px,2.4vw,30px) clamp(18px,3vw,36px) clamp(14px,1.8vw,22px);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.results-heading-card{border:1px solid color-mix(in srgb, var(--action-primary) 38%, transparent)}}.results-heading-card{background:linear-gradient(115deg, var(--action-primary), transparent 34%), linear-gradient(180deg, var(--surface-raised), var(--surface));border-radius:18px 18px 5px}@supports (color:color-mix(in lab, red, red)){.results-heading-card{background:linear-gradient(115deg, color-mix(in srgb, var(--action-primary) 12%, transparent), transparent 34%), linear-gradient(180deg, color-mix(in srgb, var(--surface-raised) 96%, transparent), color-mix(in srgb, var(--surface) 96%, transparent))}}.results-heading-card{box-shadow:inset 0 1px 0 var(--border-subtle), inset 0 -18px 35px var(--shadow-color), 0 16px 38px var(--shadow-color), 0 0 24px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-heading-card{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--border-subtle) 8%, transparent), inset 0 -18px 35px color-mix(in srgb, var(--shadow-color) 18%, transparent), 0 16px 38px color-mix(in srgb, var(--shadow-color) 30%, transparent), 0 0 24px color-mix(in srgb, var(--action-primary) 7%, transparent)}}.results-heading-card:before{z-index:-1;background:repeating-linear-gradient(0deg, transparent 0, transparent 7px, var(--border-subtle) 8px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.results-heading-card:before{background:repeating-linear-gradient(0deg, transparent 0, transparent 7px, color-mix(in srgb, var(--border-subtle) 2%, transparent) 8px)}}.results-heading-card:before{content:"";pointer-events:none}.results-heading-card:after{background:linear-gradient(90deg, var(--amber), var(--action-primary), transparent);height:2px;position:absolute;top:0;left:22px;right:22px}@supports (color:color-mix(in lab, red, red)){.results-heading-card:after{background:linear-gradient(90deg, var(--amber), color-mix(in srgb, var(--action-primary) 12%, transparent), transparent)}}.results-heading-card:after{box-shadow:0 0 12px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-heading-card:after{box-shadow:0 0 12px color-mix(in srgb, var(--action-primary) 42%, transparent)}}.results-heading-card:after{content:"";pointer-events:none}.results-heading-card .results-eyebrow{border:1px solid var(--action-primary);align-items:center;width:fit-content;padding:5px 9px;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-eyebrow{border:1px solid color-mix(in srgb, var(--action-primary) 35%, transparent)}}.results-heading-card .results-eyebrow{background:var(--action-primary);border-radius:4px}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-eyebrow{background:color-mix(in srgb, var(--action-primary) 10%, transparent)}}.results-heading-card .results-eyebrow{color:var(--amber);letter-spacing:.22em;font-size:9px}.results-heading-card .results-route-title{letter-spacing:.02em;text-shadow:0 0 18px var(--border-subtle);gap:clamp(10px,1.4vw,18px);margin:12px 0 5px;font-size:clamp(34px,4.5vw,58px);line-height:.95;position:relative}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-route-title{text-shadow:0 0 18px color-mix(in srgb, var(--border-subtle) 10%, transparent)}}.results-heading-card .results-route-title strong{font-size:inherit;font-weight:500}.results-heading-card .results-route-title svg{width:clamp(22px,2.4vw,30px);height:clamp(22px,2.4vw,30px);color:var(--amber);filter:drop-shadow(0 0 7px var(--action-primary))}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-route-title svg{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--action-primary) 45%, transparent))}}.results-heading-card .results-line-chips{align-self:end;gap:7px;position:relative}.results-heading-card .results-line-chip{border:1px solid var(--chip-color);padding:7px 10px}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-line-chip{border:1px solid color-mix(in srgb, var(--chip-color) 65%, white 10%)}}.results-heading-card .results-line-chip{background:var(--chip-color);border-radius:4px}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-line-chip{background:color-mix(in srgb, var(--chip-color) 14%, transparent)}}.results-heading-card .results-line-chip{box-shadow:inset 0 0 12px var(--chip-color)}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-line-chip{box-shadow:inset 0 0 12px color-mix(in srgb, var(--chip-color) 12%, transparent)}}.results-heading-card .results-line-chip{color:var(--text-primary);letter-spacing:.1em;font-size:9px}.results-heading-card .results-line-chip i{width:7px;height:7px;box-shadow:0 0 8px var(--chip-color)}.results-heading-card .results-mini-route{border-top:1px solid var(--border-subtle);margin-top:14px;padding-top:11px;position:relative}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-mini-route{border-top:1px solid color-mix(in srgb, var(--border-subtle) 18%, transparent)}}.results-heading-card .results-mini-stop{color:var(--text-primary);letter-spacing:.06em;font-size:10px}.results-heading-card .results-mini-dot{width:9px;height:9px;box-shadow:0 0 8px}.results-heading-card .results-mini-line{background:linear-gradient(90deg, var(--action-primary), var(--border-subtle));width:22px;height:2px}@supports (color:color-mix(in lab, red, red)){.results-heading-card .results-mini-line{background:linear-gradient(90deg, color-mix(in srgb, var(--action-primary) 70%, transparent), color-mix(in srgb, var(--border-subtle) 14%, transparent))}}@media (width<=900px){.results-heading-card{padding:16px 15px 14px}.results-heading-card .results-line-chips{justify-content:flex-start;margin-top:5px}.results-heading-card .results-route-title{margin-top:11px;font-size:clamp(31px,10vw,48px)}}.results-result-note{border-top:1px solid var(--border-subtle);color:var(--text-secondary);font:500 12px/1.4 var(--font-mono);margin-top:14px;padding-top:12px}.results-primary-metrics{background:var(--surface-raised);border-color:var(--border-subtle);grid-column:1/-1;gap:14px;padding-block:16px;display:grid}.results-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.results-metric-grid .results-summary-stat{border-left:3px solid var(--action-primary);background:var(--action-primary-soft);border-radius:10px;padding:12px 14px}.results-metric-grid .results-summary-stat:nth-child(2){border-left-color:var(--brand-expression);background:var(--brand-expression-soft)}.results-metric-grid .results-summary-stat:nth-child(3){border-left-color:var(--border-strong);background:var(--surface-sunken)}.results-metric-grid .results-summary-stat strong{margin-top:8px;font-size:clamp(20px,2.4vw,28px)}.results-card-eyebrow{color:var(--action-secondary-text)}.results-grade-card{background:var(--surface-raised);border-color:var(--border-subtle)}.results-grade-badge,.share-card-grade{border-color:var(--brand-expression);background:var(--brand-expression-soft);box-shadow:none}.results-grade-badge[data-grade=SSS],.results-grade-badge[data-grade=SS],.results-grade-badge[data-grade=S],.results-grade-badge[data-grade=A]{border-color:var(--brand-expression);background:var(--brand-expression-soft)}.results-grade-badge[data-grade=D],.results-grade-badge[data-grade=E]{border-color:var(--border-strong);background:var(--surface-sunken)}.results-grade-badge[data-grade=F]{border-color:var(--status-caution);background:var(--status-caution-soft)}.results-action{border-color:var(--border-strong);background:var(--surface-raised)}.results-action:hover,.results-action:focus-visible{border-color:var(--action-primary);color:var(--action-secondary-text)}.results-action-primary:hover,.results-action-primary:focus-visible{background:var(--action-primary-hover);color:var(--action-primary-text)}.results-station-tile:hover,.results-station-tile[data-active=true]{border-color:var(--action-primary);transform:translateY(-2px)}.results-detail-jyut,.results-pb-vs,.share-card-brand,.share-card-rank{color:var(--action-primary)}.results-pb-flag{background:var(--brand-expression);color:var(--action-primary-text)}.share-card-share{background:var(--action-primary);color:var(--action-primary-text)}@media (width<=620px){.results-metric-grid{gap:8px}.results-metric-grid .results-summary-stat{padding:10px 9px}.results-metric-grid .results-summary-stat strong{font-size:18px}}.results-grid,.results-actions{gap:clamp(8px,1vw,12px)}.results-detail-modal{width:min(680px,100%);padding:clamp(22px,3vw,34px);position:relative}.results-detail-modal .results-detail-close{width:36px;height:36px;top:16px;right:16px}.results-detail-modal .results-detail-hanzi{margin:10px 0 2px;font-size:clamp(34px,6vw,56px)}.results-detail-modal .results-detail-jyut{font-size:14px}.results-detail-modal .results-detail-rows{gap:10px;margin-top:22px}@media (width<=640px){.results-grid{gap:8px}.results-detail-modal{padding:22px 16px max(22px, env(safe-area-inset-bottom))}.results-detail-modal .results-detail-rows{grid-template-columns:1fr;margin-top:16px}}.results-screen{height:var(--app-height,100dvh);touch-action:auto;place-items:center;min-height:0;padding:clamp(10px,2.1vmin,24px);display:grid;overflow:hidden}.results-three-part{grid-template-rows:minmax(0,1.05fr) minmax(72px,.44fr) minmax(0,1fr);gap:clamp(8px,1.35vmin,14px);width:min(1160px,100%);height:min(100%,720px);min-height:0;margin:0 auto;display:grid}.results-zone{border:1px solid var(--border-subtle);background:var(--surface-raised);min-width:0;min-height:0}@supports (color:color-mix(in lab, red, red)){.results-zone{background:color-mix(in srgb, var(--surface-raised) 94%, transparent)}}.results-zone{box-shadow:0 14px 34px var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.results-zone{box-shadow:0 14px 34px color-mix(in srgb, var(--shadow-color) 24%, transparent)}}.results-zone-top{background:linear-gradient(115deg, var(--action-primary), transparent 43%), var(--surface-raised);border-radius:20px 20px 7px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.results-zone-top{background:linear-gradient(115deg, color-mix(in srgb, var(--action-primary) 11%, transparent), transparent 43%), color-mix(in srgb, var(--surface-raised) 96%, transparent)}}.results-zone-top:before{background:linear-gradient(90deg, var(--brand-expression), var(--action-primary), transparent 82%);content:"";pointer-events:none;height:2px;position:absolute;inset:0 22px auto}.results-top-route,.results-top-outcome{min-width:0;padding:clamp(14px,2.3vmin,28px)}.results-top-route{border-right:1px solid var(--border-subtle);flex-direction:column;justify-content:space-between;gap:10px;display:flex}.results-top-route .results-route-title{gap:clamp(8px,1vw,14px);margin:clamp(7px,1.2vh,13px) 0 0}.results-top-route .results-route-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(25px,4.1vmin,48px);line-height:1;overflow:hidden}.results-top-route .results-route-title svg{color:var(--action-primary);flex:none}.results-top-route .results-line-chips{gap:6px;margin:0}.results-top-route .results-line-chip{border-color:var(--chip-color);min-height:28px;padding:6px 9px}@supports (color:color-mix(in lab, red, red)){.results-top-route .results-line-chip{border-color:color-mix(in srgb, var(--chip-color) 52%, var(--border-subtle))}}.results-top-route .results-line-chip{background:var(--chip-color)}@supports (color:color-mix(in lab, red, red)){.results-top-route .results-line-chip{background:color-mix(in srgb, var(--chip-color) 12%, transparent)}}.results-top-route .results-line-chip{font-size:9px}.results-learning-focus{color:var(--text-secondary);font:500 10px/1 var(--font-mono);align-self:flex-start;align-items:center;gap:8px;display:inline-flex}.results-learning-focus strong{color:var(--action-secondary-text);font-size:15px}.results-top-outcome{align-items:center;gap:clamp(14px,2.2vmin,24px);display:flex}.results-top-outcome .results-grade-badge{border-radius:18px 18px 5px;width:clamp(72px,12vmin,116px);height:clamp(72px,12vmin,116px)}.results-top-outcome .results-grade-letter{font-size:clamp(41px,7vmin,66px)}.results-top-outcome .results-grade-title{margin:0;font-size:clamp(25px,4vmin,43px);line-height:1.05}.results-top-outcome .results-grade-hint{margin:8px 0 0;font-size:clamp(10px,1.45vmin,13px)}.results-top-meta{color:var(--text-secondary);font:500 10px/1.2 var(--font-mono);flex-wrap:wrap;gap:6px 12px;margin-top:clamp(10px,1.7vh,18px);display:flex}.results-top-meta span+span:before{color:var(--border-strong);content:"/";margin-right:12px}.results-zone-mid{border-radius:7px 20px 20px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid;overflow:hidden}.results-zone-mid .results-summary-stat{border-left:3px solid var(--action-primary);flex-direction:column;justify-content:center;min-width:0;padding:clamp(10px,1.8vmin,20px) clamp(12px,2.3vmin,26px);display:flex}.results-zone-mid .results-summary-stat+.results-summary-stat{border-left-width:1px;border-left-color:var(--border-subtle)}.results-zone-mid .results-summary-stat:nth-child(2){box-shadow:inset 0 3px 0 var(--brand-expression)}.results-zone-mid .results-summary-stat:nth-child(3){box-shadow:inset 0 3px 0 var(--border-strong)}.results-zone-mid .results-summary-stat strong{text-overflow:ellipsis;white-space:nowrap;margin-top:clamp(5px,1vh,10px);font-size:clamp(21px,4.2vmin,40px);overflow:hidden}.results-zone-bottom{border-radius:20px 7px 20px 20px;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(10px,1.8vmin,20px);padding:clamp(12px,2vmin,22px);display:grid;overflow:hidden}.results-bottom-summary{flex-direction:column;justify-content:center;min-width:0;display:flex}.results-bottom-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.results-breakdown-trigger{border:1px solid var(--action-primary);background:var(--action-primary-soft);min-height:36px;color:var(--action-secondary-text);font:600 11px/1 var(--font-mono);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;display:inline-flex}.results-breakdown-trigger:hover,.results-breakdown-trigger:focus-visible{background:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-breakdown-trigger:hover,.results-breakdown-trigger:focus-visible{background:color-mix(in srgb, var(--action-primary) 18%, transparent)}}.results-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:clamp(9px,1.5vh,15px);display:grid}.results-quick-stat{border:1px solid var(--border-subtle);background:var(--surface-sunken);border-radius:10px 10px 3px;min-width:0;padding:clamp(8px,1.3vmin,13px)}.results-quick-stat span,.results-breakdown-pb>span{color:var(--text-secondary);font:600 clamp(10px, 1.35vmin, 11px)/1.15 var(--font-mono);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.results-quick-stat strong{color:var(--text-primary);font:700 clamp(16px, 2.2vmin, 21px)/1 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;display:block;overflow:hidden}.results-zone-bottom .results-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(48px,max-content);align-content:center;gap:8px;min-width:0;padding:0;display:grid}.results-zone-bottom .results-action{text-align:center;border-radius:12px 12px 4px;justify-content:center;min-width:0;min-height:48px;padding:clamp(9px,1.4vmin,14px);display:flex}.results-zone-bottom .results-action strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,1.8vmin,16px);overflow:hidden}.results-zone-bottom .results-action svg{flex:none}.results-breakdown-modal{width:min(760px,100%);max-height:min(760px,100dvh - 28px);padding:clamp(20px,3vw,32px);position:relative;overflow-y:auto}.results-breakdown-modal h2{color:var(--text-primary);font:500 clamp(26px, 4vw, 36px)/1 var(--font-display);margin:9px 0 16px}.results-breakdown-modal .results-station-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.results-breakdown-events,.results-breakdown-pb{border-top:1px solid var(--border-subtle);margin-top:18px;padding-top:16px}.results-breakdown-pb strong,.results-breakdown-pb small{margin-top:7px;display:block}.results-breakdown-pb strong{color:var(--text-primary);font:600 17px/1 var(--font-mono)}.results-breakdown-pb small{color:var(--text-secondary);font:500 10px/1.4 var(--font-mono)}@media (width<=700px){.results-three-part{grid-template-rows:minmax(0,1.12fr) minmax(68px,.44fr) minmax(0,1fr)}.results-zone-top{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.results-top-route{border-right:0;border-bottom:1px solid var(--border-subtle);flex-direction:row;align-items:flex-end}.results-top-route .results-route-title strong{font-size:clamp(23px,7vw,34px)}.results-top-route .results-line-chips{justify-content:flex-end}.results-top-outcome .results-grade-badge{width:clamp(58px,16vw,76px);height:clamp(58px,16vw,76px)}.results-top-outcome .results-grade-letter{font-size:clamp(34px,11vw,45px)}.results-top-outcome .results-grade-title{font-size:clamp(23px,7vw,31px)}.results-zone-bottom{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:8px}.results-quick-grid{margin-top:7px}.results-zone-bottom .results-action{min-height:42px}}@media (width<=440px){.results-screen{padding:8px}.results-three-part{gap:7px}.results-top-route,.results-top-outcome,.results-zone-bottom{padding:10px}.results-top-route{gap:6px}.results-top-route .results-line-chip{min-height:24px;padding:4px 6px;font-size:8px}.results-top-outcome{gap:11px}.results-top-outcome .results-grade-hint{margin-top:4px}.results-top-meta{gap:4px 7px;margin-top:7px;font-size:8px}.results-top-meta span+span:before{margin-right:7px}.results-zone-mid .results-summary-stat{padding:8px 9px}.results-zone-mid .results-summary-stat span{letter-spacing:.08em;font-size:8px}.results-zone-mid .results-summary-stat strong{font-size:clamp(17px,6vw,22px)}.results-zone-mid .results-summary-stat small{font-size:7px}.results-bottom-heading .results-eyebrow{font-size:8px}.results-breakdown-trigger{min-height:30px;padding:5px 7px;font-size:9px}.results-quick-stat{padding:7px 6px}.results-zone-bottom .results-actions{gap:6px}.results-zone-bottom .results-action{gap:6px;min-height:38px;padding:7px 6px}.results-zone-bottom .results-action strong{font-size:11px}.results-zone-bottom .results-action svg{width:15px;height:15px}.results-breakdown-modal{padding:22px 14px max(20px, env(safe-area-inset-bottom))}}@media (height<=620px){.results-screen{padding:7px}.results-three-part{grid-template-rows:minmax(0,1.06fr) minmax(60px,.4fr) minmax(0,1fr);gap:6px}.results-top-route,.results-top-outcome,.results-zone-bottom{padding:9px}.results-eyebrow{font-size:8px}.results-top-route .results-route-title{margin-top:5px}.results-top-outcome .results-grade-hint{display:none}.results-top-meta,.results-quick-grid{margin-top:5px}.results-zone-bottom .results-action{min-height:34px;padding-block:5px}}.results-three-part[data-covered=true]{opacity:.32;filter:blur(8px)saturate(.7);pointer-events:none;transform:scale(.975)}.results-victory-overlay{z-index:70;background:radial-gradient(circle at 50% 44%, var(--brand-expression), transparent 28%), radial-gradient(circle at 50% 58%, var(--action-primary), transparent 40%), var(--scrim);place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.results-victory-overlay{background:radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--brand-expression) 20%, transparent), transparent 28%), radial-gradient(circle at 50% 58%, color-mix(in srgb, var(--action-primary) 16%, transparent), transparent 40%), color-mix(in srgb, var(--scrim) 84%, transparent)}}.results-victory-content{z-index:1;text-align:center;width:min(520px,100%);position:relative}.results-victory-mark{border:2px solid var(--action-primary);place-items:center;width:clamp(66px,12vmin,88px);height:clamp(66px,12vmin,88px);margin:0 auto clamp(15px,2.5vh,24px);display:grid}@supports (color:color-mix(in lab, red, red)){.results-victory-mark{border:2px solid color-mix(in srgb, var(--action-primary) 78%, white 12%);box-shadow:7px 7px 0 color-mix(in srgb, var(--brand-expression) 65%, transparent)}}.results-victory-kicker{color:var(--action-secondary-text);font:700 10px/1 var(--font-mono);letter-spacing:.24em}.results-victory-content h1{color:var(--text-primary);font:700 clamp(52px, 13vmin, 86px)/.92 var(--font-display);letter-spacing:-.035em;margin:clamp(9px,1.8vh,16px) 0 0}.results-victory-content h1 small{color:var(--text-secondary);font:700 clamp(11px, 2vw, 15px)/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin-top:10px;display:block}.results-victory-route{color:var(--text-primary);font:500 clamp(20px, 4.5vmin, 29px)/1 var(--font-display);justify-content:center;align-items:center;gap:12px;margin-top:clamp(17px,3vh,28px);display:flex}.results-victory-content p{color:var(--text-secondary);font:500 12px/1.4 var(--font-mono);margin:13px 0 0}.results-victory-content>button{border:1px solid var(--action-primary);justify-content:center;align-items:center;gap:12px;min-width:min(280px,82vw);min-height:54px;margin-top:clamp(24px,4vh,36px);padding:13px 20px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.results-victory-content>button{border:1px solid color-mix(in srgb, var(--action-primary) 82%, white 12%)}}.results-victory-content>button{background:var(--action-primary);color:var(--action-primary-text);box-shadow:0 5px 0 var(--action-primary);border-radius:11px}@supports (color:color-mix(in lab, red, red)){.results-victory-content>button{box-shadow:0 5px 0 color-mix(in srgb, var(--action-primary) 36%, var(--surface-sunken))}}.results-victory-content>button{font:700 16px/1 var(--font-display);cursor:pointer;transition:transform .14s,filter .14s}.results-victory-content>button:hover,.results-victory-content>button:focus-visible{filter:brightness(1.08)}.results-victory-content>button:active{transform:translateY(3px)}.results-victory-confetti{pointer-events:none;position:absolute;inset:0}.results-victory-confetti i{background:var(--action-primary);opacity:.75;border-radius:2px;width:7px;height:20px;position:absolute;top:-8%;left:50%;transform:rotate(18deg)}.results-victory-confetti i:nth-child(2n){background:var(--brand-expression)}.results-victory-confetti i:first-child{--confetti-x:24px;--confetti-delay:40ms;left:8%}.results-victory-confetti i:nth-child(2){--confetti-x:-18px;--confetti-delay:.17s;left:18%}.results-victory-confetti i:nth-child(3){--confetti-x:34px;--confetti-delay:80ms;left:29%}.results-victory-confetti i:nth-child(4){--confetti-x:-28px;--confetti-delay:.24s;left:39%}.results-victory-confetti i:nth-child(5){--confetti-x:18px;--confetti-delay:.12s;left:48%}.results-victory-confetti i:nth-child(6){--confetti-x:-24px;--confetti-delay:20ms;left:58%}.results-victory-confetti i:nth-child(7){--confetti-x:31px;--confetti-delay:.21s;left:68%}.results-victory-confetti i:nth-child(8){--confetti-x:-19px;--confetti-delay:.1s;left:77%}.results-victory-confetti i:nth-child(9){--confetti-x:26px;--confetti-delay:.28s;left:87%}.results-victory-confetti i:nth-child(10){--confetti-x:-30px;--confetti-delay:.15s;left:94%}@media (prefers-reduced-motion:no-preference){.results-three-part[data-covered=true]{transition:opacity .22s,filter .22s,transform .22s}.results-victory-content{animation:.42s cubic-bezier(.16,1,.3,1) both results-victory-enter}.results-victory-confetti i{animation:results-confetti-fall 1.5s cubic-bezier(.2, .7, .3, 1) var(--confetti-delay) both}}@keyframes results-victory-enter{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes results-confetti-fall{0%{opacity:0;transform:translateY(-6vh)rotate(0)}15%{opacity:.8}to{opacity:0;transform:translate3d(var(--confetti-x), 108vh, 0) rotate(430deg)}}@media (height<=520px){.results-victory-mark{width:58px;height:58px;margin-bottom:12px}.results-victory-content h1{font-size:48px}.results-victory-route{margin-top:14px}.results-victory-content>button{min-height:48px;margin-top:18px}}.results-screen{background:radial-gradient(circle at 50% 24%, var(--brand-expression), transparent 31%), radial-gradient(circle at 50% 70%, var(--action-primary), transparent 38%), var(--midnight)}@supports (color:color-mix(in lab, red, red)){.results-screen{background:radial-gradient(circle at 50% 24%, color-mix(in srgb, var(--brand-expression) 12%, transparent), transparent 31%), radial-gradient(circle at 50% 70%, color-mix(in srgb, var(--action-primary) 9%, transparent), transparent 38%), var(--midnight)}}.results-three-part{grid-template-rows:minmax(0,1.18fr) minmax(66px,.42fr) minmax(0,.92fr);gap:0;padding-inline:clamp(4px,1.2vw,14px);position:relative}.results-three-part:before{z-index:-1;background:linear-gradient(90deg, transparent, var(--surface-raised), transparent);position:absolute;inset:0 10%}@supports (color:color-mix(in lab, red, red)){.results-three-part:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--surface-raised) 72%, transparent), transparent)}}.results-three-part:before{content:"";pointer-events:none}.results-zone{box-shadow:none;background:0 0;border:0;border-radius:0}.results-zone-top{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;overflow:visible}.results-zone-top:before{background:linear-gradient(90deg, transparent, var(--brand-expression) 34% 50%, var(--action-primary) 50% 66%, transparent);content:"";height:3px;position:absolute;inset:0 0 auto}.results-top-route{border:0;flex-direction:row;align-items:flex-end;min-height:54px;padding:clamp(11px,1.8vmin,18px) clamp(4px,1vw,10px) 7px}.results-top-route .results-route-title{margin-top:5px}.results-top-route .results-route-title strong{font-size:clamp(23px,4.5vmin,42px)}.results-top-route .results-line-chips{justify-content:flex-end}.results-top-route .results-line-chip{border:0;border-bottom:2px solid var(--chip-color);background:0 0;border-radius:0;min-height:auto;padding:4px 0 3px}.results-top-outcome{justify-content:center;padding:clamp(8px,1.5vmin,15px);position:relative}.results-top-outcome:before{aspect-ratio:1;border:1px solid var(--brand-expression);width:min(34vmin,210px);position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.results-top-outcome:before{border:1px solid color-mix(in srgb, var(--brand-expression) 16%, transparent)}}.results-top-outcome:before{content:"";pointer-events:none;border-radius:50%;transform:translate(-50%,-50%)rotate(-9deg)}.results-top-outcome:after{aspect-ratio:1;border:1px dashed var(--action-primary);width:min(28vmin,170px);position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.results-top-outcome:after{border:1px dashed color-mix(in srgb, var(--action-primary) 22%, transparent)}}.results-top-outcome:after{content:"";pointer-events:none;border-radius:50%;transform:translate(-50%,-50%)rotate(14deg)}.results-top-outcome .results-grade-badge,.results-top-outcome .results-grade-badge[data-grade=SSS],.results-top-outcome .results-grade-badge[data-grade=SS],.results-top-outcome .results-grade-badge[data-grade=S],.results-top-outcome .results-grade-badge[data-grade=A]{z-index:1;border:2px solid var(--brand-expression);position:relative}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge,.results-top-outcome .results-grade-badge[data-grade=SSS],.results-top-outcome .results-grade-badge[data-grade=SS],.results-top-outcome .results-grade-badge[data-grade=S],.results-top-outcome .results-grade-badge[data-grade=A]{border:2px solid color-mix(in srgb, var(--brand-expression) 78%, white 12%)}}.results-top-outcome .results-grade-badge,.results-top-outcome .results-grade-badge[data-grade=SSS],.results-top-outcome .results-grade-badge[data-grade=SS],.results-top-outcome .results-grade-badge[data-grade=S],.results-top-outcome .results-grade-badge[data-grade=A]{background:linear-gradient(145deg, var(--brand-expression), var(--brand-expression))}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge,.results-top-outcome .results-grade-badge[data-grade=SSS],.results-top-outcome .results-grade-badge[data-grade=SS],.results-top-outcome .results-grade-badge[data-grade=S],.results-top-outcome .results-grade-badge[data-grade=A]{background:linear-gradient(145deg, color-mix(in srgb, var(--brand-expression) 82%, white 8%), color-mix(in srgb, var(--brand-expression) 52%, var(--surface-sunken)))}}.results-top-outcome .results-grade-badge,.results-top-outcome .results-grade-badge[data-grade=SSS],.results-top-outcome .results-grade-badge[data-grade=SS],.results-top-outcome .results-grade-badge[data-grade=S],.results-top-outcome .results-grade-badge[data-grade=A]{box-shadow:6px 6px 0 var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge,.results-top-outcome .results-grade-badge[data-grade=SSS],.results-top-outcome .results-grade-badge[data-grade=SS],.results-top-outcome .results-grade-badge[data-grade=S],.results-top-outcome .results-grade-badge[data-grade=A]{box-shadow:6px 6px 0 color-mix(in srgb, var(--action-primary) 62%, transparent)}}.results-top-outcome .results-grade-badge,.results-top-outcome .results-grade-badge[data-grade=SSS],.results-top-outcome .results-grade-badge[data-grade=SS],.results-top-outcome .results-grade-badge[data-grade=S],.results-top-outcome .results-grade-badge[data-grade=A]{transform:rotate(-3deg)}.results-top-outcome .results-grade-badge[data-grade=B]{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge[data-grade=B]{border-color:color-mix(in srgb, var(--action-primary) 82%, white 10%)}}.results-top-outcome .results-grade-badge[data-grade=B]{background:linear-gradient(145deg, var(--action-primary), var(--action-primary))}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge[data-grade=B]{background:linear-gradient(145deg, var(--action-primary), color-mix(in srgb, var(--action-primary) 48%, var(--surface-sunken)))}}.results-top-outcome .results-grade-badge[data-grade=C]{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge[data-grade=C]{border-color:color-mix(in srgb, var(--action-primary) 62%, white 10%)}}.results-top-outcome .results-grade-badge[data-grade=C]{background:linear-gradient(145deg, var(--action-primary), var(--action-primary))}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge[data-grade=C]{background:linear-gradient(145deg, color-mix(in srgb, var(--action-primary) 72%, var(--surface-raised)), color-mix(in srgb, var(--action-primary) 28%, var(--surface-sunken)))}}.results-top-outcome .results-grade-badge[data-grade=D],.results-top-outcome .results-grade-badge[data-grade=E]{border-color:var(--text-secondary)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge[data-grade=D],.results-top-outcome .results-grade-badge[data-grade=E]{border-color:color-mix(in srgb, var(--text-secondary) 58%, white 12%)}}.results-top-outcome .results-grade-badge[data-grade=D],.results-top-outcome .results-grade-badge[data-grade=E]{background:linear-gradient(145deg, var(--surface-raised), var(--surface-sunken))}.results-top-outcome .results-grade-badge[data-grade=F]{border-color:var(--status-caution)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge[data-grade=F]{border-color:color-mix(in srgb, var(--status-caution) 72%, white 10%)}}.results-top-outcome .results-grade-badge[data-grade=F]{background:linear-gradient(145deg, var(--status-caution-soft), var(--status-caution))}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge[data-grade=F]{background:linear-gradient(145deg, var(--status-caution-soft), color-mix(in srgb, var(--status-caution) 26%, var(--surface-sunken)))}}.results-top-outcome .results-grade-letter{color:var(--text-primary);text-shadow:2px 3px 0 var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-letter{text-shadow:2px 3px 0 color-mix(in srgb, var(--shadow-color) 58%, transparent)}}.results-grade-badge[data-grade=SS] .results-grade-letter{letter-spacing:-.06em;font-size:clamp(33px,5.8vmin,52px)}.results-grade-badge[data-grade=SSS] .results-grade-letter{letter-spacing:-.1em;font-size:clamp(27px,4.7vmin,43px)}.share-card-grade[data-grade=SS]{letter-spacing:-.06em;font-size:39px}.share-card-grade[data-grade=SSS]{letter-spacing:-.1em;font-size:32px}.results-top-outcome .results-grade-body{z-index:1;position:relative}.results-brand-seal{z-index:0;opacity:.76;object-fit:contain;pointer-events:none;width:clamp(96px,18vmin,138px);height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.results-top-outcome .results-grade-title{font-weight:700}.results-top-meta strong{color:var(--brand-expression)}.results-zone-mid{border-top:1px solid var(--border-strong)}@supports (color:color-mix(in lab, red, red)){.results-zone-mid{border-top:1px solid color-mix(in srgb, var(--border-strong) 70%, transparent)}}.results-zone-mid{border-bottom:1px solid var(--border-strong)}@supports (color:color-mix(in lab, red, red)){.results-zone-mid{border-bottom:1px solid color-mix(in srgb, var(--border-strong) 70%, transparent)}}.results-zone-mid .results-summary-stat{background:0 0;border:0;padding-block:clamp(8px,1.5vmin,15px);position:relative}@supports (color:color-mix(in lab, red, red)){.results-zone-mid .results-summary-stat+.results-summary-stat{border-left:1px solid color-mix(in srgb, var(--border-subtle) 70%, transparent)}}.results-zone-mid .results-summary-stat:nth-child(2),.results-zone-mid .results-summary-stat:nth-child(3){box-shadow:none}.results-zone-mid .results-summary-stat strong{font-weight:700}.results-zone-mid .results-summary-stat:first-child strong{color:var(--action-secondary-text)}.results-zone-mid .results-summary-stat:nth-child(2) strong{color:var(--brand-expression)}@supports (color:color-mix(in lab, red, red)){.results-zone-mid .results-summary-stat:nth-child(2) strong{color:color-mix(in srgb, var(--brand-expression) 86%, white 14%)}}.results-zone-bottom{grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr);gap:clamp(16px,3vw,40px);padding:clamp(10px,2vmin,18px) 4px 0}.results-bottom-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.results-bottom-heading{grid-area:1/2}.results-bottom-heading .results-eyebrow{display:none}.results-breakdown-trigger{border-color:var(--action-primary);min-height:38px;padding:7px 9px}@supports (color:color-mix(in lab, red, red)){.results-breakdown-trigger{border-color:color-mix(in srgb, var(--action-primary) 58%, transparent)}}.results-breakdown-trigger{box-shadow:none;background:0 0;border-radius:8px}.results-quick-grid{grid-area:1/1;gap:0;margin:0}.results-quick-stat{background:0 0;border:0;border-radius:0;padding:5px clamp(4px,.6vw,9px)}.results-quick-stat+.results-quick-stat{border-left:1px solid var(--border-subtle)}.results-zone-bottom .results-actions{grid-template-rows:minmax(50px,auto) minmax(40px,auto);grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:8px}.results-zone-bottom .results-actions[data-shared]{grid-template-columns:repeat(2,minmax(0,1fr))}.results-zone-bottom .results-action{border-color:var(--border-strong);border-radius:10px;min-height:40px}@supports (color:color-mix(in lab, red, red)){.results-zone-bottom .results-action{border-color:color-mix(in srgb, var(--border-strong) 72%, transparent)}}.results-zone-bottom .results-action{box-shadow:none;background:0 0;font-weight:700}.results-zone-bottom .results-action:active{transform:translateY(1px)scale(.99)}.results-zone-bottom .results-action-primary{border-color:var(--action-primary);background:var(--action-primary);color:var(--action-primary-text);box-shadow:0 4px 0 var(--action-primary);grid-column:1/-1}@supports (color:color-mix(in lab, red, red)){.results-zone-bottom .results-action-primary{box-shadow:0 4px 0 color-mix(in srgb, var(--action-primary) 38%, var(--surface-sunken))}}.results-zone-bottom .results-actions:not([data-shared]) .results-action--share{color:var(--brand-expression)}@supports (color:color-mix(in lab, red, red)){.results-zone-bottom .results-actions:not([data-shared]) .results-action--share{color:color-mix(in srgb, var(--brand-expression) 82%, white 18%)}}@media (width<=700px){.results-three-part{grid-template-rows:minmax(0,1.16fr) minmax(66px,.4fr) minmax(0,.96fr)}.results-zone-bottom{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:6px;padding-top:8px}.results-top-outcome{gap:clamp(13px,4vw,20px)}.results-top-outcome:before,.results-top-outcome:after,.results-brand-seal{left:78%}.results-brand-seal{opacity:.8;width:clamp(70px,21vw,88px)}.results-top-outcome .results-grade-badge{width:clamp(66px,19vw,86px);height:clamp(66px,19vw,86px)}.results-top-outcome .results-grade-letter{font-size:clamp(39px,12vw,51px)}.results-zone-bottom .results-actions{grid-template-rows:minmax(44px,auto) minmax(38px,auto)}}@media (width<=440px){.results-three-part{padding-inline:1px}.results-top-route,.results-top-outcome,.results-zone-bottom{padding-inline:6px}.results-top-route{min-height:48px}.results-top-outcome:before{width:124px}.results-top-outcome:after{width:96px}.results-top-meta{font-size:8px}.results-breakdown-trigger{min-height:32px;font-size:9px}.results-quick-stat{padding-inline:7px}.results-zone-bottom .results-actions{gap:6px}.results-zone-bottom .results-action{min-height:38px}.results-zone-bottom .results-action-primary{min-height:44px}}@media (height<=620px){.results-three-part{grid-template-rows:minmax(0,1.12fr) minmax(58px,.38fr) minmax(0,1fr)}.results-top-route{min-height:42px;padding-top:6px}.results-top-outcome{padding-block:5px}.results-zone-bottom{padding-top:5px}.results-zone-bottom .results-actions{grid-template-rows:42px 36px}}.results-three-part{padding-bottom:28px}.results-footer{position:absolute}.results-three-part[data-shared] .results-top-route .results-eyebrow,.results-three-part[data-shared] .results-top-outcome .results-grade-hint{display:block}@media (height<=620px){.results-three-part[data-shared] .results-top-meta{display:none}.results-three-part[data-shared] .results-top-outcome .results-grade-hint{font-size:9px;line-height:1.25}}@media (width<=700px){.results-three-part[data-shared] .results-top-outcome:before,.results-three-part[data-shared] .results-top-outcome:after{left:88%}.results-three-part[data-shared] .results-brand-seal{opacity:.66;width:64px;left:92%}.results-three-part[data-shared] .results-top-outcome .results-grade-hint{width:fit-content;max-width:calc(100% - 58px)}}.shared-result-shell{place-items:center;width:min(720px,100%);height:min(100%,720px);min-height:0;margin:0 auto;padding-bottom:30px;display:grid;position:relative}.shared-result-card{border:1px solid var(--action-primary);width:min(650px,100%);padding:clamp(20px,4vmin,36px);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.shared-result-card{border:1px solid color-mix(in srgb, var(--action-primary) 34%, var(--border-subtle))}}.shared-result-card{background:radial-gradient(circle at 88% 8%, var(--brand-expression), transparent 32%), var(--surface-raised);border-radius:22px}@supports (color:color-mix(in lab, red, red)){.shared-result-card{background:radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--brand-expression) 16%, transparent), transparent 32%), color-mix(in srgb, var(--surface-raised) 96%, transparent)}}.shared-result-card{box-shadow:0 22px 58px var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.shared-result-card{box-shadow:0 22px 58px color-mix(in srgb, var(--shadow-color) 42%, transparent)}}.shared-result-card:before{background:linear-gradient(90deg, var(--brand-expression), var(--action-primary) 64%, transparent);content:"";height:3px;position:absolute;inset:0 0 auto}.shared-result-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.shared-result-invite{color:var(--brand-expression);font:700 12px/1.2 var(--font-sans);white-space:nowrap;flex:none}.shared-result-route{font-family:var(--font-display);align-items:center;gap:clamp(10px,2.5vw,22px);margin-top:clamp(22px,4vmin,34px);display:flex}.shared-result-route strong{min-width:0;font-size:clamp(28px,6vmin,48px);line-height:1}.shared-result-route svg{color:var(--action-primary);flex:none}.shared-result-lines{flex-wrap:wrap;gap:8px;min-height:31px;margin-top:12px;display:flex}.shared-result-lines span{border-bottom:2px solid var(--chip-color);color:var(--text-secondary);font:600 11px/1.2 var(--font-sans);padding:5px 0 3px}.shared-result-score{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,4vw,32px);margin-top:clamp(18px,3.4vmin,28px);display:grid}.shared-result-score .results-grade-badge{border:2px solid var(--brand-expression);width:clamp(86px,17vmin,116px);height:clamp(86px,17vmin,116px)}@supports (color:color-mix(in lab, red, red)){.shared-result-score .results-grade-badge{border:2px solid color-mix(in srgb, var(--brand-expression) 76%, white 12%)}}.shared-result-score .results-grade-badge{background:linear-gradient(145deg, var(--brand-expression), var(--brand-expression))}@supports (color:color-mix(in lab, red, red)){.shared-result-score .results-grade-badge{background:linear-gradient(145deg, color-mix(in srgb, var(--brand-expression) 78%, white 7%), color-mix(in srgb, var(--brand-expression) 46%, var(--surface-sunken)))}}.shared-result-score .results-grade-badge{box-shadow:6px 6px 0 var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.shared-result-score .results-grade-badge{box-shadow:6px 6px 0 color-mix(in srgb, var(--action-primary) 58%, transparent)}}.shared-result-score .results-grade-badge{transform:rotate(-3deg)}.shared-result-score .results-grade-letter{color:var(--text-primary);text-shadow:2px 3px 0 var(--shadow-color);font-size:clamp(44px,9vmin,66px)}@supports (color:color-mix(in lab, red, red)){.shared-result-score .results-grade-letter{text-shadow:2px 3px 0 color-mix(in srgb, var(--shadow-color) 58%, transparent)}}.shared-result-score h1{color:var(--text-primary);font-family:var(--font-display);margin:0;font-size:clamp(29px,5.4vmin,44px);line-height:1.05}.shared-result-score p{max-width:29ch;color:var(--text-secondary);font:500 clamp(13px, 2.2vmin, 16px)/1.45 var(--font-sans);margin:9px 0 0}.shared-result-metrics{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(20px,3.6vmin,30px);display:grid}.shared-result-metrics .results-summary-stat{min-width:0;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;padding:clamp(14px,2.6vmin,22px) 8px}.shared-result-metrics .results-summary-stat+.results-summary-stat{border-left:1px solid var(--border-subtle)}.shared-result-metrics .results-summary-stat span{font-size:10px}.shared-result-metrics .results-summary-stat strong{margin-top:7px;font-size:clamp(23px,4.5vmin,34px)}.shared-result-meta{color:var(--text-tertiary);font:600 11px/1.3 var(--font-sans);flex-wrap:wrap;gap:8px 16px;margin-top:13px;display:flex}.shared-result-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:9px;margin-top:clamp(20px,3.6vmin,30px);display:grid}.shared-result-actions .results-action{min-height:52px;box-shadow:none;background:0 0;border-radius:12px}.shared-result-actions .results-action-primary{border-color:var(--action-primary);background:var(--action-primary);color:var(--action-primary-text);box-shadow:0 4px 0 var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.shared-result-actions .results-action-primary{box-shadow:0 4px 0 color-mix(in srgb, var(--action-primary) 38%, var(--surface-sunken))}}.shared-result-actions .results-action:active{transform:translateY(1px)scale(.99)}.shared-result-shell .results-footer{position:absolute;inset:auto 0 0}.share-card-qr-placeholder{border:1px dashed var(--border-strong);width:104px;height:104px;color:var(--text-tertiary);font:600 10px/1.35 var(--font-sans);white-space:pre-line;border-radius:10px;place-items:center;margin:8px auto 0;display:grid}@media (prefers-reduced-motion:no-preference){.shared-result-card{animation:.36s cubic-bezier(.16,1,.3,1) both shared-result-enter}}@keyframes shared-result-enter{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=560px){.shared-result-shell{width:100%;padding-bottom:26px}.shared-result-card{border-radius:18px;padding:19px 16px}.shared-result-header{align-items:flex-start}.shared-result-route{margin-top:24px}.shared-result-route strong{font-size:clamp(25px,8vw,34px)}.shared-result-score{gap:18px}.shared-result-score .results-grade-badge{width:82px;height:82px}.shared-result-score .results-grade-letter{font-size:44px}.shared-result-score h1{font-size:29px}.shared-result-score p{font-size:13px}.shared-result-actions{grid-template-columns:1fr}.shared-result-actions .results-action{min-height:47px}}@media (height<=670px){.shared-result-card{padding-block:15px}.shared-result-route,.shared-result-score,.shared-result-metrics,.shared-result-actions{margin-top:13px}.shared-result-lines{margin-top:7px}.shared-result-score .results-grade-badge{width:70px;height:70px}.shared-result-score .results-grade-letter{font-size:39px}.shared-result-score h1{font-size:25px}.shared-result-metrics .results-summary-stat{padding-block:10px}.shared-result-actions .results-action{min-height:42px}}.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.game-shell,.game-lobby-redesign{isolation:isolate;background-color:var(--page);color:var(--text-primary)}.solo-setup-screen:after,.full-line-screen:after,.start-screen:after,.results-screen:after,.game-shell:after,.game-lobby-redesign:after{content:"";z-index:-2;pointer-events:none;background:radial-gradient(110% 70% at 88% -12%, var(--action-primary), transparent 62%), radial-gradient(80% 60% at -8% 108%, var(--brand-expression), transparent 62%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen:after,.full-line-screen:after,.start-screen:after,.results-screen:after,.game-shell:after,.game-lobby-redesign:after{background:radial-gradient(110% 70% at 88% -12%, color-mix(in srgb, var(--action-primary) 13%, transparent), transparent 62%), radial-gradient(80% 60% at -8% 108%, color-mix(in srgb, var(--brand-expression) 9%, transparent), transparent 62%)}}.game-lobby-redesign{min-height:100svh;height:var(--app-height,100dvh);overscroll-behavior:contain;flex-direction:column;padding:0;display:flex;position:relative;overflow-y:auto}.lobby-world{z-index:-1;pointer-events:none;background-image:linear-gradient(to right, transparent 0, var(--action-primary) 12%, var(--action-primary) 88%, transparent 100%), radial-gradient(circle, var(--action-primary) 0 3px, transparent 3px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.lobby-world{background-image:linear-gradient(to right, transparent 0, color-mix(in srgb, var(--action-primary) 22%, transparent) 12%, color-mix(in srgb, var(--action-primary) 22%, transparent) 88%, transparent 100%), radial-gradient(circle, color-mix(in srgb, var(--action-primary) 40%, transparent) 0 3px, transparent 3px)}}.lobby-world{opacity:.5;background-position:0 68%,0 calc(68% - 3px);background-repeat:no-repeat,repeat-x;background-size:100% 2px,132px 8px}.lobby-speed-lines{display:none}.lobby-topbar{z-index:4;flex:none;padding:clamp(16px,3vh,24px) clamp(16px,4vw,32px) 8px;position:relative}.lobby-logo{min-width:0;text-decoration:none;display:block}.lobby-destination-board{border:1px solid var(--stage-border);border-radius:var(--radius-control);background:var(--stage);min-width:0;color:var(--stage-text);justify-self:center;align-items:center;gap:12px;padding:8px 18px;display:flex}.lobby-destination-board img{object-fit:contain;flex:none;width:34px;height:24px}.lobby-destination-board>span{gap:3px;min-width:0;display:grid}.lobby-destination-board small{color:var(--stage-text-muted);font:500 10px/1 var(--font-mono);letter-spacing:.12em}.lobby-destination-board strong{color:var(--stage-text);font:700 15px/1.2 var(--font-sans);letter-spacing:.04em}.lobby-destination-board em{color:var(--teal-300);font-family:var(--font-mono);margin-left:6px;font-size:13px;font-style:normal}.lobby-utilities{align-items:center;gap:8px;display:flex}.lobby-hero{z-index:2;flex:auto;align-content:center;justify-items:center;gap:clamp(12px,2vh,20px);width:100%;max-width:720px;min-height:0;margin-inline:auto;padding:clamp(8px,2vh,24px) clamp(16px,4vw,32px) clamp(24px,4vh,40px);display:grid;position:relative}.lobby-title-lockup{text-align:center;justify-items:center;gap:10px;width:100%;display:grid}.lobby-kicker{border:1px solid var(--action-primary-soft-border);border-radius:var(--radius-pill);background:var(--action-primary-soft);color:var(--action-secondary-text);font:700 12px/1 var(--font-sans);letter-spacing:.08em;margin:0;padding:6px 12px;display:inline-flex}.lobby-title-lockup h1{font-family:var(--font-sans);letter-spacing:-.045em;text-wrap:balance;justify-items:center;gap:2px;margin:0;font-weight:900;line-height:.98;display:grid}.lobby-title-lockup h1>span{color:var(--text-primary);font-size:clamp(40px,6.4vw,76px)}.lobby-title-lockup h1>strong{color:var(--brand-expression);font-size:clamp(48px,7.6vw,92px);font-weight:900}.lobby-subtitle{color:var(--text-secondary);font:600 clamp(13px, 1.5vw, 17px)/1.4 var(--font-sans);letter-spacing:.06em;margin:0}.lobby-live-demo{border:1px solid var(--stage-border);border-radius:var(--radius-stage);background:linear-gradient(180deg, var(--stage), var(--stage-deep));width:100%;box-shadow:var(--shadow-3);gap:clamp(10px,1.4vh,14px);padding:clamp(14px,2vw,20px);display:grid}.demo-route-head{grid-template-columns:minmax(0,auto) minmax(60px,1fr) minmax(0,auto);align-items:center;gap:12px;display:grid}.demo-route-head>span{gap:2px;min-width:0;display:grid}.demo-route-head>span:last-child{text-align:right}.demo-route-head small,.demo-station small,.demo-stats small{color:var(--stage-text-muted);font:500 10px/1 var(--font-mono);letter-spacing:.1em}.demo-route-head strong{color:var(--stage-text);font:700 14px/1.2 var(--font-sans)}.demo-route-head em{color:var(--stage-text-muted);font:500 10px/1.2 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.demo-rail{justify-content:space-between;align-items:center;height:22px;display:flex;position:relative}.demo-rail:before{content:"";border-radius:var(--radius-pill);background:#f0f7f72e;height:3px;position:absolute;top:50%;left:4px;right:4px;transform:translateY(-50%)}.demo-rail i{z-index:1;background:var(--stage-deep);border:2px solid #f0f7f766;border-radius:50%;width:9px;height:9px;position:relative}.demo-rail i.demo-origin{border-color:var(--teal-200);background:var(--teal-300);width:16px;height:16px}.demo-rail i.demo-destination{border-color:var(--berry-200);background:var(--berry-300);width:14px;height:14px}.demo-rail img{z-index:3;object-fit:contain;width:38px;height:26px;animation:4.8s cubic-bezier(.36,0,.18,1) infinite demo-train-run;position:absolute;top:-3px;left:13%}.demo-station{justify-content:center;align-items:center;gap:10px;display:flex}.demo-station>div{justify-items:center;gap:2px;display:grid}.demo-station strong{color:var(--stage-text);font:800 clamp(24px, 3.4vw, 34px)/1.1 var(--font-sans);letter-spacing:.1em}.demo-station button{width:var(--tap-target);height:var(--tap-target);border:1px solid var(--stage-border);color:var(--teal-200);border-radius:50%;place-items:center;display:grid}.demo-station button:hover{background:#89bdbd29}.demo-jyutping{border:1px solid var(--stage-border);border-radius:var(--radius-control);background:var(--stage-deep);min-width:0;color:var(--stage-text);font:500 clamp(13px, 1.7vw, 20px)/1 var(--font-mono);letter-spacing:.05em;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(3px,.6vw,8px);padding:10px 12px;display:flex}.demo-jyutping i{width:9px}.demo-current-letter{color:var(--teal-300);animation:.9s steps(2,end) infinite demo-letter-pulse}.demo-stats{grid-template-columns:repeat(3,1fr);align-items:end;display:grid}.demo-stats>span{border-right:1px solid var(--stage-border);justify-items:center;gap:4px;display:grid}.demo-stats>span:last-child{border-right:0}.demo-stats strong{color:var(--stage-text);font:600 16px/1 var(--font-mono);font-variant-numeric:tabular-nums}.demo-stats strong em{color:var(--stage-text-muted);font-size:9px;font-style:normal}.lobby-product-modes{gap:10px;width:100%;display:grid}.lobby-primary-cta{border-radius:var(--radius-panel);background:var(--action-primary);width:100%;min-height:66px;color:var(--action-primary-text);text-align:left;box-shadow:var(--shadow-3);transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 18px 12px 20px;display:grid}.lobby-primary-cta>span{gap:3px;min-width:0;display:grid}.lobby-primary-cta strong{font:800 clamp(19px, 2.2vw, 24px)/1.1 var(--font-sans);letter-spacing:-.01em}.lobby-primary-cta small{font:500 12px/1.35 var(--font-sans);opacity:.85}.lobby-primary-cta>svg:last-child{background:currentColor;border-radius:50%;width:34px;height:34px;padding:7px}@supports (color:color-mix(in lab, red, red)){.lobby-primary-cta>svg:last-child{background:color-mix(in srgb, currentColor 16%, transparent)}}.lobby-primary-cta:hover{background:var(--action-primary-hover);box-shadow:var(--shadow-4);transform:translateY(-2px)}.lobby-primary-cta:active{box-shadow:var(--shadow-2);transform:translateY(1px)}.lobby-secondary-cta{border-color:var(--action-secondary-border);background:var(--surface);color:var(--action-secondary-text);box-shadow:var(--shadow-1)}.lobby-secondary-cta:hover{border-color:var(--action-primary);background:var(--action-primary-soft);box-shadow:var(--shadow-2)}.lobby-secondary-cta small{color:var(--text-secondary);opacity:1}.lobby-mode-teasers{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lobby-mode-teasers>span{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);font:600 12px/1.3 var(--font-sans);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.lobby-mode-teasers em{color:var(--text-tertiary);font:600 10px/1 var(--font-sans);font-style:normal}.lobby-mascots{z-index:1;object-fit:contain;pointer-events:none;width:clamp(110px,13vw,190px);height:auto;animation:3.2s ease-in-out infinite lobby-mascot-bob;position:absolute;bottom:clamp(16px,3vh,40px);right:clamp(12px,3vw,56px)}.lobby-mascot-callout{z-index:2;border:1px solid var(--brand-expression-border);border-radius:var(--radius-control) var(--radius-control) 4px var(--radius-control);background:var(--brand-expression-soft);max-width:160px;color:var(--brand-expression-text);box-shadow:var(--shadow-2);font:700 13px/1.35 var(--font-sans);pointer-events:none;padding:9px 13px;position:absolute;bottom:clamp(140px,16vw,250px);right:clamp(16px,4vw,64px)}.lobby-footer-redesign{z-index:3;flex:none;position:relative}@keyframes demo-train-run{0%,8%{left:5%}72%,to{left:calc(100% - 42px)}}@keyframes demo-letter-pulse{50%{opacity:.35}}@keyframes lobby-mascot-bob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-8px)rotate(1deg)}}@media (width<=900px){.lobby-topbar{padding-inline:16px}.lobby-destination-board{display:none}.lobby-mascots{opacity:.9;width:clamp(84px,20vw,120px);bottom:4px;right:4px}.lobby-mascot-callout{display:none}.lobby-hero{padding-bottom:clamp(56px,12vh,96px)}}@media (width<=620px){.lobby-topbar{padding-top:12px;padding-bottom:0}.lobby-hero{gap:clamp(10px,1.8vh,16px);padding-top:clamp(22px,4vh,34px)}.lobby-title-lockup{gap:8px}.lobby-title-lockup h1>span{font-size:clamp(36px,10vw,44px)}.lobby-title-lockup h1>strong{font-size:clamp(42px,12vw,52px)}}@media (height<=780px){.lobby-hero{gap:10px}.lobby-live-demo{gap:8px}.lobby-primary-cta{min-height:58px}}@media (height<=640px){.lobby-kicker,.lobby-mode-teasers,.demo-route-head,.demo-stats{display:none}.lobby-title-lockup h1>span{font-size:clamp(32px,8vw,44px)}.lobby-title-lockup h1>strong{font-size:clamp(38px,10vw,54px)}.lobby-subtitle{font-size:13px}}.setup-nav{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.setup-back{min-height:var(--tap-target);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);font:600 14px/1 var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;gap:8px;padding:0 16px;display:inline-flex}.setup-back:hover,.setup-back:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--action-secondary-text)}.compact-game-mark{text-align:left;align-items:center;gap:10px;min-width:0;display:inline-flex}.compact-game-mark img{object-fit:contain;flex:none;width:40px;height:40px}.compact-game-mark>span{gap:3px;min-width:0;display:grid}.compact-game-mark strong{color:var(--brand-expression);font:900 16px/1 var(--font-sans);letter-spacing:-.02em}.compact-game-mark strong em{color:var(--action-primary);font-style:normal}.compact-game-mark small{color:var(--text-tertiary);font:500 10px/1.3 var(--font-mono);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=620px){.compact-game-mark img{width:34px;height:34px}.compact-game-mark strong{font-size:14px}.compact-game-mark small{display:none}}.solo-setup-screen,.full-line-screen,.start-screen{height:var(--app-height,100dvh);overscroll-behavior:contain;width:100%;min-height:0;max-width:var(--content-max);padding:clamp(14px, 2.4vh, 26px) clamp(16px, 4vw, 32px) max(clamp(16px, 3vh, 32px), env(safe-area-inset-bottom));color:var(--text-primary);flex-direction:column;gap:clamp(14px,2.4vh,24px);margin-inline:auto;display:flex;position:relative;overflow-y:auto}.start-screen{max-width:var(--stage-max)}.journey-type-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(10px,1.6vw,16px);width:100%;display:grid}.journey-type-grid button{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface);min-height:clamp(150px,20vh,190px);color:var(--text-primary);text-align:left;box-shadow:var(--shadow-1);transition:border-color var(--duration-base) var(--ease-out), background-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);grid-template:"kicker icon""title icon""desc icon"1fr"flag go"/minmax(0,1fr) auto;align-content:start;gap:6px 16px;padding:clamp(18px,2.2vw,24px);display:grid;position:relative}.journey-type-grid button:hover,.journey-type-grid button:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft);box-shadow:var(--shadow-3);transform:translateY(-2px)}.journey-type-grid button.is-recommended{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft)}.journey-type-grid .mode-card-number{color:var(--action-secondary-text);font:700 13px/1.3 var(--font-sans);grid-area:kicker;align-items:baseline;gap:8px;margin-bottom:4px;display:inline-flex}.journey-type-grid .mode-card-number em{color:var(--text-tertiary);font:500 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-style:normal}.journey-type-grid .mode-card-icon{border:1px solid var(--action-primary-soft-border);border-radius:var(--radius-control);background:var(--surface);width:52px;height:52px;color:var(--action-secondary-text);stroke-width:1.6px;grid-area:icon;align-self:start;padding:13px}.journey-type-grid button strong{color:var(--text-primary);font:800 clamp(20px, 2.4vw, 27px)/1.2 var(--font-sans);letter-spacing:-.02em;grid-area:title}.journey-type-grid button small{max-width:40ch;color:var(--text-secondary);font:500 13px/1.5 var(--font-sans);grid-area:desc}.journey-type-grid .mode-card-flag{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font:600 12px/1.3 var(--font-sans);grid-area:flag;place-self:end start;margin-top:8px;padding:4px 10px;font-style:normal}.journey-type-grid button.is-recommended .mode-card-flag{background:var(--brand-expression-soft);color:var(--brand-expression-text)}.journey-type-grid button>svg:last-child{background:var(--action-primary);width:34px;height:34px;color:var(--action-primary-text);stroke-width:2.2px;border-radius:50%;grid-area:go;place-self:end;padding:7px}.line-selector{overscroll-behavior-x:contain;scrollbar-width:thin;gap:8px;padding:2px 2px 10px;display:flex;overflow-x:auto}.line-selector button{min-height:var(--tap-target);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);text-align:left;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex:none;align-items:center;gap:10px;padding:8px 14px;display:flex}.line-selector button>i{border-radius:var(--radius-pill);background:var(--line-color);flex:none;width:4px;height:26px}.line-selector button>span{font:700 14px/1.2 var(--font-sans);gap:2px;display:grid}.line-selector small{color:var(--text-tertiary);font:500 10px/1.2 var(--font-mono);letter-spacing:.04em}.line-selector button:hover{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft)}.line-selector button[aria-selected=true]{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--action-primary)}.line-selector button[aria-selected=true]>i{width:6px;height:30px}.direction-list-heading{color:var(--text-secondary);font:700 12px/1.2 var(--font-sans);align-items:baseline;gap:8px;margin:2px 2px 0;display:flex}.direction-list-heading small{color:var(--text-tertiary);font:600 10px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.direction-list{overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;touch-action:pan-y;flex:auto;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;min-height:0;padding:2px 6px 6px 2px;display:grid;overflow-y:auto}.direction-list.direction-list--stacked{grid-template-columns:minmax(0,1fr)}.direction-list button{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);min-height:72px;color:var(--text-primary);text-align:left;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.direction-list button:hover,.direction-list button:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft)}.direction-list i{border-radius:var(--radius-pill);flex:none;width:5px;height:40px}.direction-list button>span{gap:3px;min-width:0;display:grid}.direction-list strong{font:700 16px/1.25 var(--font-sans)}.direction-list small{color:var(--text-secondary);font:500 12px/1.4 var(--font-sans);text-overflow:ellipsis;overflow:hidden}.direction-list button>svg:last-child{color:var(--text-tertiary)}.lobby-footer{color:var(--text-tertiary);font:500 11px/1.4 var(--font-mono);letter-spacing:.04em;flex-wrap:wrap;gap:4px 16px;margin-top:auto;padding-top:8px;display:flex}@media (width<=640px){.journey-type-grid button{min-height:0}.journey-type-grid .mode-card-icon{width:44px;height:44px;padding:11px}.journey-type-grid button strong{font-size:20px}}.start-screen__title{gap:4px;display:grid}.start-screen__title h1{letter-spacing:-.03em;font-size:clamp(24px,3.2vw,34px);line-height:1.15}.route-planner{flex:auto;grid-template-rows:auto minmax(240px,1fr);grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;display:grid}.planner-controls{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface);min-width:0;box-shadow:var(--shadow-2);transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);align-content:start;gap:10px;padding:12px;display:grid}.planner-fields{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.planner-swap{width:var(--tap-target);height:var(--tap-target);border:1px solid var(--border-subtle);background:var(--surface);color:var(--text-secondary);transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-base) var(--ease-out);border-radius:50%;place-items:center;display:grid}.planner-swap:hover:not(:disabled),.planner-swap:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--action-secondary-text)}.planner-swap:active:not(:disabled){transform:rotate(180deg)}.planner-swap:disabled{cursor:not-allowed;color:var(--action-disabled-text)}.planner-swap svg{transform:rotate(90deg)}.planner-field{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);min-height:76px;color:var(--text-primary);text-align:left;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);gap:4px;padding:10px 12px;display:grid}.planner-field.is-selecting{border-color:var(--action-primary);background:var(--action-primary-soft);box-shadow:inset 0 0 0 1px var(--action-primary)}.field-direction{border-radius:var(--radius-pill);background:var(--surface-sunken);width:max-content;color:var(--text-secondary);font:600 11px/1.2 var(--font-sans);align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.planner-field.is-selecting .field-direction{background:var(--action-primary);color:var(--action-primary-text)}.planner-field strong{font:700 19px/1.2 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-field small{color:var(--text-secondary);font:500 12px/1.3 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-route-picker{gap:8px;min-width:0;display:grid}.route-menu-trigger{width:100%;min-height:var(--tap-target);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-sunken);color:var(--text-primary);text-align:left;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.route-menu-trigger:hover:not(:disabled),.route-menu-trigger:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft)}.route-menu-trigger:disabled{cursor:default;opacity:1}.route-menu-copy{gap:3px;min-width:0;display:grid}.route-menu-copy small{color:var(--text-secondary);font:600 11px/1.2 var(--font-sans);align-items:baseline;gap:6px;display:inline-flex}.route-menu-copy small em{color:var(--text-tertiary);font:500 10px/1 var(--font-mono);font-style:normal}.route-menu-copy strong{font:700 15px/1.2 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-menu-copy>span{color:var(--text-secondary);font:500 12px/1.3 var(--font-sans)}.route-menu-lines,.route-option-lines{align-items:center;gap:3px;display:flex}.route-menu-lines i,.route-option-lines i{border-radius:var(--radius-pill);background:var(--option-line);width:16px;height:4px}.route-menu-chevron{color:var(--text-secondary);transition:transform var(--duration-base) var(--ease-out)}.planner-route-picker.is-open .route-menu-chevron{transform:rotate(180deg)}.route-option-detail{align-items:center;gap:8px;margin-top:2px;display:flex}.route-option-meta{color:var(--text-tertiary);font:500 11px/1.2 var(--font-mono)}.planner-actions-row{grid-template-columns:auto minmax(0,1fr);gap:8px;display:grid}.random-route-button{min-height:var(--tap-target);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);font:600 14px/1 var(--font-sans);white-space:nowrap;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.random-route-button:hover,.random-route-button:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--action-secondary-text)}.depart-button{width:100%;min-height:var(--tap-target);border-radius:var(--radius-control);background:var(--action-primary);color:var(--action-primary-text);font:700 16px/1 var(--font-sans);letter-spacing:.02em;box-shadow:var(--shadow-2);transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 24px;display:flex}.depart-button:hover:not(:disabled){background:var(--action-primary-hover);box-shadow:var(--shadow-3)}.depart-button:active:not(:disabled){box-shadow:var(--shadow-1);transform:translateY(1px)}.depart-button:disabled{cursor:not-allowed;background:var(--action-disabled-bg);color:var(--action-disabled-text);box-shadow:none}.planner-hint{color:var(--text-tertiary);font:500 12px/1.4 var(--font-sans);text-align:center;margin:0}.planner-map{border:1px solid var(--border-subtle);border-radius:var(--radius-stage);background:var(--map-canvas);touch-action:none;min-width:0;min-height:0;transform-origin:var(--focus-x,50%) var(--focus-y,50%);transition:opacity .5s var(--ease-out), transform .6s var(--ease-out), filter .5s var(--ease-out);position:relative;overflow:hidden}.planner-map:after{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:radial-gradient(120% 120% at 50% 45%, transparent 62%, var(--map-sea) 100%);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #16211f0f}@supports (color:color-mix(in lab, red, red)){.planner-map:after{background:radial-gradient(120% 120% at 50% 45%, transparent 62%, color-mix(in srgb, var(--map-sea) 55%, transparent) 100%)}}.planner-map.is-dragging{cursor:grabbing}.planner-map-viewport{width:100%;height:100%}.route-dart-impact{--dart-accent:#f4c24d;top:var(--dart-y);left:var(--dart-x);z-index:8;pointer-events:none;filter:drop-shadow(0 8px 12px #141d1c47);width:132px;height:116px;animation:.92s cubic-bezier(.16,1,.3,1) both route-dart-impact;position:absolute;transform:translate(-50%,-50%)}.route-dart-impact--to{--dart-accent:#d65172}.route-dart-impact:before,.route-dart-impact:after{content:"";border:2px solid var(--dart-accent);width:78px;height:78px;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.route-dart-impact:before,.route-dart-impact:after{border:2px solid color-mix(in srgb, var(--dart-accent) 82%, white 18%)}}.route-dart-impact:before,.route-dart-impact:after{opacity:0;transform:translate(-50%,-50%)rotate(45deg)}.route-dart-impact:before{animation:.72s ease-out 90ms both route-dart-burst}.route-dart-impact:after{border-width:1px;width:106px;height:106px;animation:.82s ease-out .15s both route-dart-burst}.route-dart-projectile{background:linear-gradient(90deg, transparent, var(--dart-accent) 38%, #fff8dc);width:74px;height:9px;box-shadow:0 0 12px var(--dart-accent);border-radius:2px 7px 7px 2px;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.route-dart-projectile{box-shadow:0 0 12px color-mix(in srgb, var(--dart-accent) 75%, transparent)}}.route-dart-projectile{transform-origin:90%;animation:.52s cubic-bezier(.16,1,.3,1) both route-dart-flight}.route-dart-projectile:before,.route-dart-projectile:after{content:"";width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.route-dart-projectile:before{border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:13px solid #fff8dc;right:-11px}.route-dart-projectile:after{border-top:5px solid #0000;border-bottom:5px solid #0000;border-right:9px solid var(--dart-accent);left:4px}.route-dart-reticle{border:2px solid var(--dart-accent);width:24px;height:24px;box-shadow:0 0 0 4px var(--dart-accent), 0 0 18px var(--dart-accent);border-radius:50%;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.route-dart-reticle{box-shadow:0 0 0 4px color-mix(in srgb, var(--dart-accent) 18%, transparent), 0 0 18px color-mix(in srgb, var(--dart-accent) 66%, transparent)}}.route-dart-reticle{animation:.56s cubic-bezier(.16,1,.3,1) .36s both route-dart-reticle;transform:translate(-50%,-50%)}.route-dart-reticle:before,.route-dart-reticle:after{content:"";background:var(--dart-accent);position:absolute}.route-dart-reticle:before{height:2px;top:50%;left:-10px;right:-10px;transform:translateY(-50%)}.route-dart-reticle:after{width:2px;top:-10px;bottom:-10px;left:50%;transform:translate(-50%)}.route-dart-impact strong,.route-dart-impact small{white-space:nowrap;width:max-content;max-width:132px;padding-inline:8px;display:block;position:absolute;left:50%;transform:translate(-50%)skew(-8deg)}.route-dart-impact strong{color:#17363a;font:950 12px/1 var(--font-mono);letter-spacing:.06em;text-shadow:1px 1px #ffffffd1;animation:.76s cubic-bezier(.16,1,.3,1) .3s both route-dart-label;top:calc(50% + 36px)}.route-dart-impact small{color:var(--dart-accent);top:calc(50% + 52px)}@supports (color:color-mix(in lab, red, red)){.route-dart-impact small{color:color-mix(in srgb, var(--dart-accent) 82%, #17363a 18%)}}.route-dart-impact small{font:800 10px/1 var(--font-sans);text-align:center;animation:.76s cubic-bezier(.16,1,.3,1) .35s both route-dart-label}@keyframes route-dart-flight{0%{opacity:0;transform:translate(-170px,-18px)rotate(-12deg)scaleX(.65)}62%{opacity:1;transform:translate(-25px,-4px)rotate(-3deg)scaleX(1)}to{opacity:0;transform:translate(0)rotate(0)scaleX(.35)}}@keyframes route-dart-impact{0%{opacity:0;transform:translate(-50%,-50%)scale(.66)rotate(-5deg)}22%{opacity:1;transform:translate(-50%,-50%)scale(1.08)rotate(2deg)}72%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1.05)rotate(0)}}@keyframes route-dart-burst{0%{opacity:0;transform:translate(-50%,-50%)rotate(45deg)scale(.2)}28%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%)rotate(45deg)scale(1.2)}}@keyframes route-dart-reticle{0%{opacity:0;transform:translate(-50%,-50%)scale(.45)rotate(-90deg)}70%{opacity:1;transform:translate(-50%,-50%)scale(1.05)rotate(0)}to{opacity:.8;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes route-dart-label{0%{opacity:0;transform:translate(-50%,10px)skew(-8deg)scale(.8)}to{opacity:1;transform:translate(-50%)skew(-8deg)scale(1)}}.planner-map-tools{z-index:9;border-radius:var(--radius-pill);background:#fffffff0;border:1px solid #16211f24;align-items:center;display:flex;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 2px 8px #16211f24}.planner-map-tools button{min-width:var(--tap-target);height:var(--tap-target);color:var(--teal-700);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.planner-map-tools button:hover:not(:disabled),.planner-map-tools button:focus-visible{background:var(--teal-100);color:var(--teal-800)}.planner-map-tools button:disabled{cursor:not-allowed;opacity:.35}.planner-map-tools .map-reset-button{border-inline:1px solid var(--stage-border)}.map-reset-button span{font:600 12px/1 var(--font-mono);font-variant-numeric:tabular-nums}.full-mtr-map{touch-action:none;width:100%;height:100%;display:block}.full-mtr-map .hk-geography-sea{fill:var(--map-sea)}.full-mtr-map .hk-landmass{fill:var(--map-land);stroke:var(--map-coast);stroke-width:1.25px;stroke-linejoin:round}.full-mtr-map .mtr-lines{stroke-linecap:round;stroke-linejoin:round}.full-mtr-map .map-route-scrim{fill:var(--map-dim)}.full-mtr-map .selected-route-line{animation:selected-route-in .42s var(--ease-out) both}.full-mtr-map .selected-route-casing{stroke:var(--map-casing)}.full-mtr-map .mtr-stations>g{cursor:pointer}.full-mtr-map .station-visible-dot{fill:var(--map-dot-fill)}.full-mtr-map .station-label,.full-mtr-map .station-endpoint-label{fill:var(--map-ink);stroke:var(--map-ink-halo);stroke-linejoin:round;paint-order:stroke;pointer-events:none}.full-mtr-map .station-label{font-family:var(--font-sans);font-weight:700}.full-mtr-map .station-label[data-state=off-route]{opacity:.7}.full-mtr-map .station-endpoint-label{fill:var(--map-endpoint);font-family:var(--font-sans);font-weight:800}.full-mtr-map .mtr-stations>g:hover .station-label{opacity:1}.full-mtr-map .station-hit-target{fill:#0000;cursor:pointer}.full-mtr-map .station-hit-target:focus-visible{outline:3px solid var(--teal-700);outline-offset:1px}.station-node-layer{pointer-events:none}@keyframes selected-route-in{0%{opacity:0}}.route-planner.is-launching .planner-map{opacity:0;filter:blur(2px);transform:scale(2.4)}.route-planner.is-launching .planner-controls{opacity:0;pointer-events:none;transform:translateY(16px)}@media (width>=1024px){.route-planner{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.planner-controls{overscroll-behavior:contain;grid-area:1/2;align-self:start;max-height:100%;overflow-y:auto}.planner-map{grid-area:1/1}.planner-fields{grid-template-rows:auto 0 auto;grid-template-columns:minmax(0,1fr);justify-items:stretch;gap:8px}.planner-swap{z-index:1;width:38px;height:38px;box-shadow:0 0 0 4px var(--surface);justify-self:end;margin-right:12px}.planner-swap svg{transform:none}}@media (width>=1280px){.route-planner{grid-template-columns:minmax(0,1fr) 380px;gap:16px}}@media (height<=720px){.cm-route-options{max-height:min(30vh,168px)}}@media (height<=720px) and (width<=1023px){.route-planner{grid-template-rows:auto minmax(0,1fr)}.planner-field{min-height:66px}}@media (width<=1023px){.route-planner{flex:auto;grid-template-rows:auto minmax(0,1fr)}.planner-controls{overscroll-behavior:contain;height:auto;max-height:clamp(300px,37vh,360px);overflow-y:auto}.cm-route-options{overscroll-behavior:auto;max-height:none;overflow:visible}.planner-map{align-self:stretch;height:auto;min-height:0}.planner-fields{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}@media (width<=620px) and (height<=620px){.start-screen.start-screen{gap:8px;padding:8px 14px 0}.start-screen__title{display:none}.route-planner{grid-template-rows:auto minmax(132px,1fr)}.planner-controls{gap:6px;height:auto;max-height:244px;padding:8px}.planner-fields{gap:6px}.planner-field{min-height:58px;padding:6px 8px}.field-direction{font-size:10px}.planner-field strong{font-size:16px}.planner-field small{font-size:11px}.route-menu-trigger{min-height:44px;padding-block:7px}.planner-map{height:auto;min-height:clamp(132px,32vh,180px)}}.game-shell{height:var(--app-height,100dvh);background:var(--page);min-height:0;overflow:hidden}.game-stage{width:min(100%, var(--stage-max));min-width:0;height:100%;min-height:0;padding-inline:clamp(10px,2vw,28px);padding-bottom:max(6px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);align-content:stretch;margin-inline:auto;display:grid;position:relative}.game-header{z-index:220;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:60px;padding-block:8px;display:flex;position:relative}.game-brand{flex:0 auto;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.game-brand>div{min-width:0}.game-brand-icon{object-fit:contain;flex:none;width:40px;height:40px}.game-brand-kicker{color:var(--text-tertiary);font:600 11px/1.2 var(--font-sans);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-brand-title{color:var(--text-primary);font:800 clamp(15px, 1.6vw, 20px)/1.2 var(--font-sans);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-controls{pointer-events:auto;flex:none;gap:6px;display:flex}.sound-status{flex:none}.scene-controls button,.sound-status{z-index:221;min-width:var(--tap-target);min-height:var(--tap-target);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);font:600 13px/1 var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform .1s var(--ease-out);touch-action:manipulation;justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex;position:relative}.sound-status{padding:0}.scene-controls button:hover,.scene-controls button:focus-visible,.sound-status:hover,.sound-status:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--action-secondary-text)}.scene-controls button:active,.sound-status:active{transform:translateY(1px)scale(.97)}.sound-status[aria-pressed=true]{border-color:var(--action-primary-soft-border);color:var(--action-secondary-text)}.scene-frame{min-height:0;padding-block:0 10px;position:relative}.game-global-feedback{z-index:240;top:max(66px, calc(env(safe-area-inset-top) + 56px));pointer-events:none;border:1px solid var(--action-primary-soft-border);border-radius:var(--radius-pill);background:var(--surface-raised);width:max-content;max-width:min(420px,100% - 28px);color:var(--text-primary);box-shadow:var(--shadow-3);font:700 14px/1.2 var(--font-sans);text-align:center;white-space:nowrap;padding:9px 16px;animation:.15s ease-out feedback-in;position:fixed;left:50%;transform:translate(-50%)}.game-global-feedback.is-voice-unavailable{border-color:var(--arcade-yellow);align-items:center;gap:7px;display:flex}@supports (color:color-mix(in lab, red, red)){.game-global-feedback.is-voice-unavailable{border-color:color-mix(in srgb, var(--arcade-yellow) 48%, transparent)}}.game-global-feedback.is-voice-unavailable{color:var(--text-primary);white-space:normal}.game-global-feedback.is-voice-unavailable svg{color:var(--arcade-yellow);flex:none}.journey-window{border:1px solid var(--stage-border);border-radius:var(--radius-stage);background:var(--stage-deep);touch-action:none;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.route-canvas{width:100%;height:100%;position:absolute;inset:0}.window-reflection{pointer-events:none;background:linear-gradient(112deg,#f0f7f70d,#0000 28% 72%,#f0f7f70a);position:absolute;inset:0}.scene-label{z-index:2;pointer-events:none;max-width:min(42%,220px);color:var(--stage-text-muted);font:500 11px/1 var(--font-mono);white-space:nowrap;transition:left .15s var(--ease-out), top .15s var(--ease-out), opacity var(--duration-fast) var(--ease-out);position:absolute}.scene-label-previous{transform:translate(calc(-100% - 10px),-50%)}.scene-label-current{color:var(--stage-text);transform:translate(-50%,calc(-100% - 17px))}.scene-label-next{transform:translate(-50%,13px)}.route-following-train{top:58%;left:52%;transform:translate(-50%,-50%)}.live-train{z-index:3;width:64px;height:42px;transition:left .15s var(--ease-out), top .15s var(--ease-out), transform .15s var(--ease-out);place-items:center;display:grid;position:absolute}.route-train-image{object-fit:contain;width:100%;height:100%;display:block}.live-train.has-resistance{animation:.17s ease-out train-resistance}.interchange-map-cue{z-index:5;pointer-events:none;border:1px solid var(--transfer-color);border-radius:var(--radius-pill);background:var(--stage);max-width:calc(100% - 32px);color:var(--stage-text);font:700 clamp(13px, 1.5vw, 17px)/1 var(--font-sans);white-space:nowrap;animation:interchange-map-cue 1.75s var(--ease-out) both;padding:8px 14px;position:absolute;top:calc(58% - 38px);left:52%}@keyframes interchange-map-cue{0%{opacity:0;transform:translate(-50%,-72%)scale(.86)}18%{opacity:1;transform:translate(-50%,-100%)scale(1.03)}30%,84%{opacity:1;transform:translate(-50%,-100%)scale(1)}to{opacity:0;transform:translate(-50%,-114%)scale(.97)}}.station-console{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-3);touch-action:manipulation;flex-direction:column;display:flex;position:relative;overflow:hidden}.station-console>*{min-width:0}.station-console.is-transfer-hud{box-shadow:none;background:0 0;border-color:#0000}.station-console.is-transfer-hud .typing-hud{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-2)}.game-input-feedback{pointer-events:none;border-radius:var(--radius-pill);background:var(--surface-raised);width:max-content;max-width:min(420px,100% - 28px);min-height:0;max-height:0;color:var(--text-secondary);font:700 13px/1.2 var(--font-sans);opacity:0;transition:max-height .12s var(--ease-out), min-height .12s var(--ease-out), margin .12s var(--ease-out), opacity .1s var(--ease-out), transform .12s var(--ease-out);border:0 solid #0000;justify-content:center;align-self:center;align-items:center;padding:0 16px;display:flex;overflow:hidden;transform:translateY(4px)scale(.94)}.game-input-feedback.is-visible{border-width:1px;border-color:var(--action-primary-soft-border);min-height:32px;max-height:40px;box-shadow:var(--shadow-3);opacity:1;margin-bottom:6px;animation:.15s ease-out input-feedback-in;transform:translateY(0)scale(1)}@keyframes input-feedback-in{0%{opacity:0;transform:translateY(4px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.typing-console-wrapper{align-items:stretch;min-height:0;display:flex}.neighbour-station{color:var(--text-secondary);flex-direction:column;flex:0 0 clamp(96px,12vw,170px);justify-content:center;gap:6px;padding:12px clamp(10px,1.4vw,20px);display:flex}.neighbour-label{color:var(--text-tertiary);font:600 11px/1.2 var(--font-sans);white-space:nowrap}.neighbour-label span{font:500 9px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:3px;display:block}.neighbour-main{justify-content:space-between;align-items:center;gap:8px;display:flex}.neighbour-main svg{width:24px;height:24px;color:var(--text-tertiary);flex:none}.neighbour-main strong{min-width:0;color:var(--text-secondary);font:700 clamp(14px, 1.4vw, 19px)/1.2 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next-station{text-align:right}.typing-console{border-inline:1px solid var(--border-subtle);background:var(--action-primary-soft);flex:auto;place-items:center;min-width:0;display:grid;position:relative;overflow:hidden;container:typing-console/inline-size}.typing-console.is-shake{background:var(--status-critical-soft);animation:.32s cubic-bezier(.36,.07,.19,.97) both console-shake}.sound-reward{align-items:center;gap:4px;height:28px;display:flex;position:absolute;top:32%;left:4%}.sound-reward span{background:var(--action-primary);transform-origin:bottom;width:3px;height:10px;animation:eq-bounce .42s var(--ease-out) 1 both;border-radius:2px}.sound-reward span:nth-child(2){height:23px;animation-delay:.12s}.sound-reward span:nth-child(3){height:31px;animation-delay:.24s}.sound-reward span:nth-child(4){height:16px;animation-delay:60ms}.correct-pulse{z-index:4;pointer-events:none;width:52px;height:52px;color:var(--action-primary);place-items:center;animation:.36s cubic-bezier(.16,1,.3,1) both correct-pulse-in;display:grid;position:absolute;top:50%;right:4%;transform:translateY(-50%)}.correct-pulse strong{z-index:1;border:1px solid;padding:4px 7px;position:relative}@supports (color:color-mix(in lab, red, red)){.correct-pulse strong{border:1px solid color-mix(in srgb, currentColor 48%, transparent)}}.correct-pulse strong{border-radius:var(--radius-pill);background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.correct-pulse strong{background:color-mix(in srgb, var(--surface-raised) 90%, transparent)}}.correct-pulse strong{box-shadow:0 0 18px}@supports (color:color-mix(in lab, red, red)){.correct-pulse strong{box-shadow:0 0 18px color-mix(in srgb, currentColor 24%, transparent)}}.correct-pulse strong{font:800 12px/1 var(--font-sans);white-space:nowrap}.correct-pulse.is-syllable strong{padding-inline:9px;font-size:14px}.correct-pulse i{width:4px;height:4px;animation:correct-particle .36s var(--ease-out) both;background:currentColor;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 8px}.correct-pulse i:nth-of-type(2){rotate:120deg}.correct-pulse i:nth-of-type(3){rotate:240deg}.typing-word{--slot-size:clamp(18px, calc(72cqw / var(--total-letter-count)), 30px);overscroll-behavior-x:contain;justify-content:center;align-items:flex-start;gap:clamp(12px,2.2cqw,22px);width:100%;min-width:0;max-width:100%;padding:clamp(10px,1.6cqw,16px);display:flex;overflow:auto hidden}.syllable-group{flex-direction:column;flex:none;align-items:center;gap:clamp(6px,1cqw,9px);width:max-content;min-width:0;display:flex}.station-character{color:var(--text-primary);font:800 clamp(24px, 5cqw, 40px)/1.1 var(--font-sans);letter-spacing:.02em}.syllable-group.is-complete .station-character{color:var(--action-secondary-text);transition:color .18s var(--ease-out)}.letter-track{justify-content:center;gap:3px;width:max-content;min-width:0;display:flex}.slot-base{width:var(--slot-size);min-width:var(--slot-size);height:var(--slot-size);flex:0 0 var(--slot-size);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font:600 clamp(10px, 3cqw, 19px)/1 var(--font-mono);border-radius:7px;place-items:center;transition:border-color .1s,background-color .1s,color .1s;display:grid}.slot-done{border-color:var(--action-primary);background:var(--action-primary);color:var(--action-primary-text);animation:.24s cubic-bezier(.16,1,.3,1) both slot-confirm;position:relative}.slot-done:after{content:"";pointer-events:none;border:1px solid var(--action-primary);animation:slot-confirm-ring .28s var(--ease-out) both;border-radius:10px;position:absolute;inset:-4px}.slot-done .slot-letter{animation:.22s cubic-bezier(.16,1,.3,1) both correct-letter-pop}.slot-active{border-color:var(--action-primary);box-shadow:0 0 0 3px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.slot-active{box-shadow:0 0 0 3px color-mix(in srgb, var(--action-primary) 28%, transparent)}}.slot-wrong{border-color:var(--status-critical);background:var(--status-critical-soft);color:var(--status-critical);animation:.42s ease-out slot-resistance}.slot-hint{border-style:dashed;border-color:var(--brand-expression)}.slot-hint .slot-letter{color:var(--brand-expression-text);animation:1s ease-in-out infinite hint-flicker}.slot-letter{min-height:1em}.slot-preview .slot-letter{color:var(--text-tertiary);opacity:.72}.interchange-challenge{z-index:12;border:1px solid var(--transfer-line-color);place-items:center;min-width:0;padding:clamp(14px,3vh,30px) clamp(14px,4vw,48px);display:grid;position:absolute;inset:0 0 10px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.interchange-challenge{border:1px solid color-mix(in srgb, var(--transfer-line-color) 54%, var(--stage-border))}}.interchange-challenge{border-radius:var(--radius-stage);background:radial-gradient(circle at 80% 18%, var(--transfer-line-color), transparent 34%), var(--stage-deep)}@supports (color:color-mix(in lab, red, red)){.interchange-challenge{background:radial-gradient(circle at 80% 18%, color-mix(in srgb, var(--transfer-line-color) 18%, transparent), transparent 34%), color-mix(in srgb, var(--stage-deep) 92%, transparent)}}.interchange-challenge{color:var(--stage-text);isolation:isolate;touch-action:manipulation;animation:.36s cubic-bezier(.16,1,.3,1) both interchange-takeover-in}.interchange-challenge:before{z-index:-1;content:"";background:linear-gradient(90deg, var(--source-line-color) 0 43%, transparent 43% 49%, var(--transfer-line-color) 51% 100%);opacity:.18;transform-origin:50%;height:9px;animation:.52s cubic-bezier(.16,1,.3,1) 90ms both interchange-track-open;position:absolute;inset:50% -12%;transform:translateY(-50%)rotate(-2deg)scaleX(.7)}.interchange-challenge-inner{text-align:center;justify-items:center;gap:clamp(9px,1.8vh,18px);width:min(920px,100%);min-width:0;display:grid;position:relative}.interchange-callout{color:var(--stage-text-muted);align-items:baseline;gap:10px;display:flex}.interchange-callout span{font:650 11px/1 var(--font-mono);letter-spacing:.08em}.interchange-callout strong{color:var(--stage-text);font:800 clamp(16px, 2vw, 23px)/1.1 var(--font-sans)}.interchange-route-change{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:min(620px,100%);display:grid}.interchange-line{background:var(--stage);align-items:center;min-height:42px;padding:8px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.interchange-line{background:color-mix(in srgb, var(--stage) 88%, transparent)}}.interchange-line{color:var(--stage-text);font:750 clamp(13px, 1.8vw, 18px)/1.2 var(--font-sans)}.interchange-line-source{border-right:7px solid var(--source-line-color);justify-content:flex-end}.interchange-line-target{border-left:7px solid var(--transfer-line-color);justify-content:flex-start;animation:.46s cubic-bezier(.16,1,.3,1) .18s both interchange-target-arrive}.interchange-direction{color:var(--stage-text);padding-inline:clamp(5px,1.2vw,12px);display:flex}.interchange-direction svg{opacity:.24;width:clamp(14px,2vw,21px);height:clamp(14px,2vw,21px);animation:interchange-chevron .72s var(--ease-out) infinite;margin-inline:-3px}.interchange-direction svg:nth-child(2){animation-delay:.1s}.interchange-direction svg:nth-child(3){animation-delay:.2s}.interchange-challenge h2{max-width:100%;color:var(--stage-text);font:850 clamp(30px, 5.4vw, 58px)/1.05 var(--font-sans);letter-spacing:.03em;text-wrap:balance;margin:0}.interchange-input-feedback{color:var(--stage-text);background:var(--stage)}@supports (color:color-mix(in lab, red, red)){.interchange-input-feedback{background:color-mix(in srgb, var(--stage) 94%, transparent)}}.interchange-input-feedback{border-color:var(--status-critical)}@supports (color:color-mix(in lab, red, red)){.interchange-input-feedback{border-color:color-mix(in srgb, var(--status-critical) 64%, transparent)}}.interchange-typing{border-block:1px solid var(--transfer-line-color);place-items:center;width:min(880px,100%);min-width:0;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.interchange-typing{border-block:1px solid color-mix(in srgb, var(--transfer-line-color) 42%, var(--stage-border))}}.interchange-typing{background:var(--stage)}@supports (color:color-mix(in lab, red, red)){.interchange-typing{background:color-mix(in srgb, var(--stage) 82%, transparent)}}.interchange-typing{container:interchange-typing/inline-size}.interchange-typing .typing-word{--slot-size:clamp(16px, calc(68cqw / var(--total-letter-count)), 28px);flex-wrap:wrap;gap:clamp(8px,1.6cqw,18px);padding:clamp(11px,2vh,19px) clamp(8px,1.6cqw,16px);overflow:visible}.interchange-typing .syllable-group{gap:clamp(4px,.7cqw,8px)}.interchange-typing .station-character{color:var(--stage-text);font-size:clamp(22px,4cqw,36px)}.interchange-typing .syllable-group.is-complete .station-character{color:var(--action-primary)}.interchange-typing .slot-base{border-color:var(--stage-text-muted)}@supports (color:color-mix(in lab, red, red)){.interchange-typing .slot-base{border-color:color-mix(in srgb, var(--stage-text-muted) 48%, transparent)}}.interchange-typing .slot-base{background:var(--stage-deep)}@supports (color:color-mix(in lab, red, red)){.interchange-typing .slot-base{background:color-mix(in srgb, var(--stage-deep) 90%, transparent)}}.interchange-typing .slot-base{color:var(--stage-text);font-size:clamp(10px,2.3cqw,17px)}.interchange-typing .slot-done{border-color:var(--action-primary);background:var(--action-primary);color:var(--action-primary-text)}.interchange-typing .slot-active{border-color:var(--transfer-line-color);box-shadow:0 0 0 3px var(--transfer-line-color)}@supports (color:color-mix(in lab, red, red)){.interchange-typing .slot-active{box-shadow:0 0 0 3px color-mix(in srgb, var(--transfer-line-color) 30%, transparent)}}.interchange-typing .sound-reward{z-index:3;left:2%}.interchange-typing .correct-pulse{right:2%}.interchange-complete{z-index:8;pointer-events:none;border:2px solid var(--action-primary);border-radius:var(--radius-pill);background:var(--stage);color:var(--action-primary);box-shadow:var(--shadow-3);font:900 clamp(24px, 4vw, 42px)/1 var(--font-sans);opacity:0;padding:12px 22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.76)rotate(-4deg)}.interchange-complete small{color:var(--text-secondary);font:700 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;display:block}.interchange-challenge.is-complete .interchange-challenge-inner>:not(.interchange-complete){opacity:.42;transition:opacity .12s ease-out,transform .12s ease-out;transform:scale(.98)}.interchange-challenge.is-complete .interchange-complete{animation:.36s cubic-bezier(.16,1,.3,1) both interchange-complete-in}.interchange-challenge.is-shake .interchange-typing{animation:.32s cubic-bezier(.36,.07,.19,.97) both console-shake}@keyframes interchange-takeover-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes interchange-track-open{0%{opacity:0;transform:translateY(-50%)rotate(-2deg)scaleX(.7)}to{opacity:.18;transform:translateY(-50%)rotate(-2deg)scaleX(1)}}@keyframes interchange-target-arrive{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes interchange-chevron{0%,to{opacity:.2;transform:translate(-2px)}45%{opacity:1;transform:translate(2px)}}@keyframes interchange-complete-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.76)rotate(-4deg)}65%{opacity:1;transform:translate(-50%,-50%)scale(1.08)rotate(2deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes correct-pulse-in{0%{opacity:0;transform:translateY(-42%)scale(.72)}28%{opacity:1;transform:translateY(-50%)scale(1.08)}70%{opacity:1;transform:translateY(-54%)scale(1)}to{opacity:0;transform:translateY(-68%)scale(.94)}}@keyframes correct-particle{0%{opacity:1;transform:translate(-50%,-50%)translate(7px)scale(1)}to{opacity:0;transform:translate(-50%,-50%)translate(27px)scale(.35)}}@keyframes slot-confirm{0%{transform:scale(.82)}58%{transform:scale(1.13)}to{transform:scale(1)}}@keyframes slot-confirm-ring{0%{opacity:.72;transform:scale(.72)}to{opacity:0;transform:scale(1.35)}}@keyframes correct-letter-pop{0%{opacity:0;transform:translateY(4px)scale(.7)}to{opacity:1;transform:translateY(0)scale(1)}}.typing-feedback{z-index:99;pointer-events:none;border:1px solid var(--stage-border);border-radius:var(--radius-pill);background:var(--stage);max-width:calc(100% - 28px);color:var(--stage-text);font:600 14px/1.2 var(--font-sans);white-space:nowrap;opacity:0;visibility:hidden;padding:10px 18px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.typing-feedback.is-visible{opacity:1;visibility:visible;animation:.15s ease-out feedback-in}.typing-feedback svg{vertical-align:-1px;display:inline}.typing-feedback strong{color:var(--teal-200);margin-left:4px}.typing-hud{border-top:1px solid var(--border-subtle);background:var(--surface);justify-content:center;align-items:center;gap:clamp(4px,1.4vw,12px);padding:8px 10px;display:flex}.typing-hud[data-emphasis=quiet]{opacity:.82}.typing-hud-metric{border-radius:var(--radius-pill);min-width:0;font-family:var(--font-mono);justify-content:center;align-items:baseline;gap:6px;padding:4px 12px;display:flex}.typing-hud-metric-label{color:var(--text-secondary);font:600 11px/1 var(--font-sans)}.typing-hud-metric strong{color:var(--text-primary);font:600 clamp(15px, 1.4vw, 20px)/1 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.typing-hud-time{background:var(--surface-sunken)}.typing-hud-event-streak{background:var(--game-amber)}@supports (color:color-mix(in lab, red, red)){.typing-hud-event-streak{background:color-mix(in srgb, var(--game-amber) 16%, var(--surface-sunken))}}.typing-hud-event-streak strong{color:var(--game-amber)}.typing-hud-event-streak em{color:var(--text-secondary);font:600 10px/1 var(--font-sans);font-style:normal}.typing-hud-accuracy{background:var(--surface-sunken)}.typing-hud-luckiness{border:1px solid var(--border-subtle);background:var(--surface-sunken);transition:background-color var(--duration-slow) var(--ease-out), border-color var(--duration-slow) var(--ease-out), color var(--duration-slow) var(--ease-out);gap:6px}.typing-hud-luckiness em{color:var(--text-secondary);font:600 11px/1 var(--font-sans);font-style:normal}.typing-hud-luckiness[data-tier=hot]{border-color:var(--brand-expression-border);background:var(--brand-expression-soft)}.typing-hud-luckiness[data-tier=hot] strong,.typing-hud-luckiness[data-tier=hot] em{color:var(--brand-expression-text)}.typing-hud-luckiness[data-tier=warm]{background:var(--status-positive-soft);border-color:#0000}.typing-hud-luckiness[data-tier=warm] strong,.typing-hud-luckiness[data-tier=warm] em{color:var(--status-positive)}.typing-hud-luckiness[data-tier=cool]{background:var(--status-caution-soft);border-color:#0000}.typing-hud-luckiness[data-tier=cool] strong,.typing-hud-luckiness[data-tier=cool] em{color:var(--status-caution)}.typing-hud-luckiness[data-tier=cold]{background:var(--status-critical-soft);border-color:#0000}.typing-hud-luckiness[data-tier=cold] strong,.typing-hud-luckiness[data-tier=cold] em{color:var(--status-critical)}.speed-meter{border-radius:var(--radius-pill);background:var(--surface-sunken);align-items:center;gap:8px;min-width:0;padding:4px 12px;display:flex}.speed-dial{flex:none;width:34px;height:22px;position:relative;overflow:hidden}.speed-dial:before{content:"";border:4px solid var(--progress-track);border-top-color:var(--action-primary);width:32px;height:32px;position:absolute;top:2px;left:1px}@supports (color:color-mix(in lab, red, red)){.speed-dial:before{border-top-color:color-mix(in srgb, var(--action-primary) calc(var(--speed-ratio) * 100%), var(--progress-track))}}.speed-dial:before{border-right-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.speed-dial:before{border-right-color:color-mix(in srgb, var(--action-primary) calc(var(--speed-ratio) * 100%), var(--progress-track))}}.speed-dial:before{border-radius:50%;transition:border-color .24s;transform:rotate(45deg)}.speed-meter.is-turbo .speed-dial{animation:.7s ease-in-out infinite turbo-pulse}.speed-needle{border-radius:var(--radius-pill);background:var(--action-primary);width:14px;height:2px;transform:rotate(var(--needle-angle));transform-origin:0;transition:transform .18s var(--ease-out);position:absolute;bottom:2px;left:17px}.speed-hub{border:2px solid var(--action-primary);background:var(--surface);border-radius:50%;width:6px;height:6px;position:absolute;bottom:-1px;left:14px}.speed-readout>span{display:none}.speed-readout strong{color:var(--text-primary);font:600 clamp(15px, 1.4vw, 20px)/1 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;display:block}.speed-readout strong small{color:var(--text-secondary);font:600 10px/1 var(--font-sans)}.speed-readout em{color:var(--text-tertiary);font:500 10px/1 var(--font-mono);margin-top:3px;font-style:normal;display:block}.learning-support-panel{border-top:1px solid var(--action-primary-soft-border);background:var(--action-primary-soft);color:var(--action-secondary-text);font:600 13px/1.4 var(--font-sans);align-items:center;gap:10px;padding:10px 14px;display:flex}.learning-support-panel svg{flex:none}.learning-support-panel span{min-width:0}.learning-support-panel em{border-radius:var(--radius-pill);background:var(--brand-expression-soft);color:var(--brand-expression-text);font:700 13px/1.3 var(--font-mono);flex:none;margin-left:auto;padding:3px 10px;font-style:normal}.game-footer{color:var(--text-tertiary);font:500 10px/1 var(--font-mono);letter-spacing:.1em;justify-content:center;align-items:center;padding-block:6px;display:flex}.mobile-keyboard-input{z-index:0;opacity:.01;pointer-events:none;caret-color:#0000;border:0;width:1px;height:1px;padding:0;font-size:16px;position:fixed;top:1px;left:1px}.challenge-station-audio-control[role=button]{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.challenge-station-audio-control[role=button]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-4px}.challenge-station-target{width:100%;min-width:0;position:relative}.challenge-station-target>.station-platform-sign{width:100%}.challenge-station-audio-cue,.challenge-station-hint>span{border:1px solid var(--station-ink,#f7fffc);place-items:center;width:26px;height:26px;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.challenge-station-audio-cue,.challenge-station-hint>span{border:1px solid color-mix(in srgb, var(--station-ink,#f7fffc) 42%, transparent)}}.challenge-station-audio-cue,.challenge-station-hint>span{background:var(--station-line);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.challenge-station-audio-cue,.challenge-station-hint>span{background:color-mix(in srgb, var(--station-line) 72%, transparent)}}.challenge-station-audio-cue,.challenge-station-hint>span{color:var(--station-ink,#f7fffc);box-shadow:0 2px 8px var(--station-ink-outline,#10201d)}@supports (color:color-mix(in lab, red, red)){.challenge-station-audio-cue,.challenge-station-hint>span{box-shadow:0 2px 8px color-mix(in srgb, var(--station-ink-outline,#10201d) 45%, transparent)}}.challenge-station-audio-cue{z-index:2;pointer-events:none;position:absolute;inset-block-end:8px;inset-inline-start:8px}.game-shell .challenge-station-hint{z-index:3;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--station-ink,#f7fffc);box-shadow:none;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset-block-end:0;inset-inline-end:0}.game-shell .challenge-station-hint:hover:not(:disabled),.game-shell .challenge-station-hint:focus-visible{color:var(--station-ink,#f7fffc);box-shadow:none;background:0 0;border:0}.game-shell .challenge-station-hint:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-2px}.pause-curtain{z-index:25;border-radius:inherit;background:var(--stage);place-content:center;justify-items:center;gap:12px;display:grid;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.pause-curtain{background:color-mix(in srgb, var(--stage) 86%, transparent)}}.pause-curtain{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--stage-text)}@media (width>=901px) and (height>=721px){.typing-console-wrapper{flex:auto;min-height:190px}}@media (width<=900px){.game-brand-kicker{display:none}.game-brand-icon{width:34px;height:34px}}@media (width<=620px){.game-stage{padding-inline:8px}.game-header{min-height:52px}.game-brand-title{font-size:15px}.scene-controls button{padding-inline:0}.scene-controls button span,.neighbour-station{display:none}.typing-console{--typing-slot-scale:78;--typing-slot-min:26px;--typing-slot-max:46px;--typing-gap-scale:4;--typing-gap-max:26px;border-inline:0}.typing-word{--slot-size:clamp(var(--typing-slot-min), calc(var(--typing-slot-scale) * 1cqw / var(--total-letter-count)), var(--typing-slot-max));gap:clamp(6px, calc(var(--typing-gap-scale) * 1cqw), var(--typing-gap-max));padding-block:clamp(18px,4.5vh,34px)}.station-character{font-size:clamp(30px,8cqw,48px)}.slot-base{font-size:clamp(13px,3.4cqw,24px)}.typing-hud{gap:4px;padding:6px}.typing-hud-metric,.speed-meter{padding-inline:8px}.typing-hud-metric-label,.speed-readout em{display:none}.learning-support-panel{font-size:12px}.game-footer{display:none}}@media (height<=720px){.scene-frame{padding-bottom:8px}.neighbour-station,.typing-word{padding-block:8px}.interchange-challenge-inner{gap:8px}.interchange-callout span{display:none}.interchange-line{min-height:34px;padding-block:5px}.interchange-typing .typing-word{padding-block:8px}}@media (height<=620px),(width<=620px){.game-global-feedback{top:max(52px, calc(env(safe-area-inset-top) + 48px));max-width:calc(100% - 20px);padding:8px 12px;font-size:13px}.game-shell.has-mobile-keyboard .game-footer,.game-shell.has-mobile-keyboard .scene-frame{display:none}.game-shell.has-mobile-keyboard .game-stage{grid-template-rows:auto minmax(0,1fr);align-content:start;padding-block:8px}.game-shell.has-mobile-keyboard .game-header{min-height:44px;padding-block:2px}.game-shell.has-mobile-keyboard .game-brand{display:none}.game-shell.has-mobile-keyboard .scene-controls{margin-inline-start:auto}.game-shell.has-mobile-keyboard .scene-controls button,.game-shell.has-mobile-keyboard .sound-status{min-width:40px;min-height:40px}.game-shell.has-mobile-keyboard .learning-support-panel{padding-block:6px;font-size:12px}.game-shell.has-mobile-keyboard .interchange-challenge{padding:8px;bottom:6px}.game-shell.has-mobile-keyboard .interchange-callout strong{font-size:14px}.game-shell.has-mobile-keyboard .interchange-challenge h2{font-size:clamp(24px,8vw,34px)}.game-shell.has-mobile-keyboard .interchange-route-change{width:min(500px,100%)}.game-shell.has-mobile-keyboard .interchange-typing .typing-word{--slot-size:clamp(15px, calc(62cqw / var(--total-letter-count)), 22px)}}@media (width<=620px){.interchange-challenge{padding:12px 10px}.interchange-challenge-inner{gap:9px}.interchange-callout{gap:7px}.interchange-callout strong{font-size:16px}.interchange-line{min-height:36px;padding:6px 8px;font-size:12px}.interchange-line-source{border-right-width:5px}.interchange-line-target{border-left-width:5px}.interchange-challenge h2{font-size:clamp(28px,8vw,38px)}.interchange-typing .typing-word{--slot-size:clamp(16px, calc(62cqw / var(--total-letter-count)), 22px);gap:7px;padding-inline:5px}.interchange-typing .station-character{font-size:clamp(20px,6cqw,28px)}.interchange-typing .letter-track{gap:2px}.station-console.is-transfer-hud .typing-hud{border-radius:var(--radius-control)}}@media (height<=430px){.interchange-callout{display:none}.interchange-route-change{max-width:440px}.interchange-challenge h2{font-size:clamp(22px,7vw,30px)}.interchange-typing .station-character{font-size:18px}.interchange-complete{padding:9px 18px}}@media (prefers-reduced-motion:reduce){.interchange-challenge,.interchange-challenge:before,.interchange-line-target,.interchange-direction svg,.interchange-challenge.is-complete .interchange-complete{animation:none}.interchange-challenge:before{opacity:.18;transform:translateY(-50%)rotate(-2deg)scaleX(1)}.interchange-line-target{opacity:1;transform:none}.interchange-challenge.is-complete .interchange-complete{opacity:1;transform:translate(-50%,-50%)}}.learning-system-screen,.learning-practice-screen{color:var(--text-primary)}.learning-system-screen{width:min(100%, var(--content-max));height:var(--app-height,100dvh);min-height:0;padding:clamp(14px, 2.4vh, 26px) clamp(16px, 4vw, 32px) max(clamp(16px, 3vh, 32px), env(safe-area-inset-bottom));flex-direction:column;gap:clamp(16px,2.4vh,24px);margin-inline:auto;display:flex;overflow-y:auto}.learning-system-trail{color:var(--action-secondary-text);font:700 11px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.learning-section-kicker{color:var(--action-secondary-text);font:700 11px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;display:inline-flex}.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-2)}.learning-model-card{background:linear-gradient(120deg, var(--action-primary-soft), var(--surface) 65%);grid-template-columns:.7fr 1.3fr;align-items:center;gap:24px;padding:clamp(18px,3vw,30px);display:grid}.learning-model-card h2,.learning-system-heading h2,.learning-example-card h2,.learning-reference-heading h2{font:800 clamp(20px, 2.6vw, 30px)/1.16 var(--font-sans);letter-spacing:-.03em;margin:6px 0 0}.learning-model-examples{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.learning-model-examples span{border:1px solid var(--action-primary-soft-border);border-radius:var(--radius-control);background:var(--surface);gap:7px;padding:13px;display:grid}.learning-model-examples strong{color:var(--action-secondary-text);font:800 clamp(19px, 2.4vw, 28px)/1 var(--font-mono)}.learning-model-examples small{color:var(--text-secondary);font:600 12px/1.2 var(--font-mono)}.learning-system-section{gap:18px;padding:clamp(16px,2.4vw,24px);display:grid}.learning-system-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.learning-system-heading p{max-width:32ch;color:var(--text-secondary);font:500 13px/1.5 var(--font-sans);text-align:right;margin:0}.learning-initial-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.learning-initial-category{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-sunken);gap:10px;padding:13px;display:grid}.learning-initial-category>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.learning-initial-category strong{font:800 14px/1.2 var(--font-sans)}.learning-initial-category>div:first-child span{color:var(--text-tertiary);font:500 10px/1.2 var(--font-mono)}.learning-sound-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.learning-sound-tile-grid--wide,.learning-sound-tile-grid--coda{grid-template-columns:repeat(9,minmax(0,1fr))}.learning-sound-tile{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);min-height:58px;color:var(--text-secondary);transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);place-items:center;gap:7px;padding:9px 6px;display:grid}.learning-sound-tile:hover,.learning-sound-tile:focus-visible,.learning-sound-tile.is-selected{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--action-secondary-text);transform:translateY(-1px)}.learning-sound-tile strong{font:800 clamp(17px, 2vw, 24px)/1 var(--font-mono)}.learning-example-card{border-color:var(--action-primary-soft-border);background:var(--action-primary-soft);justify-content:space-between;align-items:center;gap:20px;padding:clamp(16px,2.4vw,24px);display:flex}.learning-example-card h2{letter-spacing:0;font-size:16px}.learning-example-card>div>strong{color:var(--action-secondary-text);font:800 clamp(26px, 4vw, 42px)/1 var(--font-mono);margin-top:8px;display:block}.learning-example-card p{color:var(--text-secondary);font:600 13px/1.4 var(--font-mono);margin:7px 0 0}.learning-example-audio,.learning-listen-button,.learning-primary-action,.learning-secondary-action{min-height:var(--tap-target);border-radius:var(--radius-control);font:700 13px/1 var(--font-sans);justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.learning-example-audio,.learning-listen-button,.learning-secondary-action{border:1px solid var(--action-primary-soft-border);background:var(--surface);color:var(--action-secondary-text)}.learning-example-audio:hover:not(:disabled),.learning-example-audio:focus-visible:not(:disabled),.learning-listen-button:hover,.learning-listen-button:focus-visible,.learning-secondary-action:hover,.learning-secondary-action:focus-visible{border-color:var(--action-primary);background:var(--surface-raised)}.learning-example-audio:disabled{cursor:not-allowed;opacity:.45}.learning-primary-action{border:1px solid var(--action-primary);background:var(--action-primary);color:var(--action-primary-text)}.learning-primary-action:hover,.learning-primary-action:focus-visible{background:var(--action-primary-hover)}.learning-system-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.learning-action-copy{text-align:center;gap:2px;line-height:1.05;display:grid}.learning-action-english{color:inherit;letter-spacing:.04em;opacity:.72;font-size:.68em;font-weight:600}.learning-reference-panel{gap:16px;padding:clamp(16px,2.4vw,24px);display:grid}.learning-reference-panel--compact{border-radius:var(--radius-control);box-shadow:none;background:var(--surface-sunken);gap:7px;padding:10px 12px}.learning-compact-heading{color:var(--text-secondary);font:700 10px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.learning-compact-heading strong{color:var(--action-secondary-text);font:700 10px/1.2 var(--font-mono);letter-spacing:0;text-transform:none}.learning-compact-row{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;display:grid}.learning-compact-row>strong{color:var(--text-primary);font:800 14px/1 var(--font-sans);text-align:center}.learning-compact-values{scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.learning-compact-values::-webkit-scrollbar{display:none}.learning-compact-tile{border:1px solid var(--border-strong);background:var(--surface);min-width:29px;height:27px;color:var(--text-secondary);font:700 12px/1 var(--font-mono);border-right:0;place-items:center;padding-inline:4px;display:inline-grid}.learning-compact-tile:first-child{border-radius:6px 0 0 6px}.learning-compact-tile:last-child{border-right:1px solid var(--border-strong);border-radius:0 6px 6px 0}.learning-compact-tile.has-group-break{border-left:2px solid var(--action-primary-soft-border);margin-left:5px}.learning-compact-tile.level-learning{background:var(--status-caution-soft);color:var(--status-caution)}.learning-compact-tile.level-mastered{background:var(--status-positive-soft);color:var(--status-positive)}.learning-compact-tile.level-recent-error{background:var(--status-caution-soft);color:var(--status-caution)}.learning-compact-tile.is-structural-active{z-index:1;outline:2px solid var(--action-primary);outline-offset:-2px;position:relative}.learning-compact-tile.is-answer-hint{z-index:2;background:var(--brand-expression-soft);color:var(--brand-expression-text);outline:2px solid var(--brand-expression);outline-offset:-2px;animation:.9s ease-in-out infinite alternate learning-answer-hint;position:relative}.learning-reference-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.learning-reference-heading h2{font-size:clamp(18px,2.2vw,24px)}.learning-reference-heading>strong{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font:700 11px/1.2 var(--font-mono);padding:6px 10px}.learning-reference-section{gap:10px;display:grid}.learning-reference-section-title{align-items:baseline;gap:8px;display:flex}.learning-reference-section-title span{font:800 15px/1.2 var(--font-sans)}.learning-reference-section-title small{color:var(--text-tertiary);font:600 10px/1 var(--font-mono);text-transform:uppercase}.learning-reference-initial-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.learning-reference-initial-group{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-sunken);gap:6px;padding:9px;display:grid}.learning-reference-initial-group>span{color:var(--text-tertiary);font:600 10px/1.2 var(--font-sans)}.learning-reference-initial-group>div{flex-wrap:wrap;gap:5px;display:flex}.learning-reference-tile{border:1px solid var(--border-subtle);background:var(--surface);min-width:31px;min-height:28px;color:var(--text-tertiary);font:700 13px/1 var(--font-mono);border-radius:7px;place-items:center;padding:0 5px;display:inline-grid}.learning-reference-tile.level-learning{border-color:var(--status-caution);color:var(--status-caution)}.learning-reference-tile.level-mastered{border-color:var(--status-positive);background:var(--status-positive-soft);color:var(--status-positive)}.learning-final-map-scroll{border:1px solid var(--border-subtle);border-radius:var(--radius-control);width:100%;overflow-x:auto}.learning-final-map{border-collapse:collapse;width:100%;min-width:520px;font:600 12px/1 var(--font-mono)}.learning-final-map th,.learning-final-map td{border-bottom:1px solid var(--border-subtle);text-align:center;min-width:42px;padding:8px 6px}.learning-final-map thead th,.learning-final-map tbody th{background:var(--surface-sunken);color:var(--text-secondary)}.learning-final-map tbody tr:last-child th,.learning-final-map tbody tr:last-child td{border-bottom:0}.learning-final-cell{border:1px solid var(--border-subtle);background:var(--surface);width:24px;height:24px;color:var(--text-tertiary);border-radius:7px;place-items:center;display:inline-grid}.learning-final-cell.state-invalid{color:var(--border-strong);background:0 0;border-color:#0000}.learning-final-cell.state-available,.learning-final-cell.state-learning{border-color:var(--status-caution);color:var(--status-caution)}.learning-final-cell.state-learning{background:var(--status-caution-soft)}.learning-final-cell.state-mastered{border-color:var(--status-positive);background:var(--status-positive-soft);color:var(--status-positive)}.learning-final-cell.state-recent-error{border-color:var(--status-caution);background:var(--status-caution-soft);color:var(--status-caution)}.learning-final-cell.is-structural-active{outline:2px solid var(--action-primary);outline-offset:1px}.learning-reference-note,.learning-system-note{color:var(--text-secondary);font:500 13px/1.5 var(--font-sans);margin:0}.learning-practice-screen{min-height:var(--app-height,100dvh);padding:max(12px, env(safe-area-inset-top)) clamp(12px, 3vw, 32px) max(16px, env(safe-area-inset-bottom));background:var(--page)}.learning-line-completion-toast{border:1px solid var(--learning-line-color);flex:0 280px;align-items:center;gap:10px;width:min(280px,42vw);min-width:0;min-height:48px;margin-left:auto;padding:7px 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.learning-line-completion-toast{border:1px solid color-mix(in srgb, var(--learning-line-color) 72%, var(--border-strong))}}.learning-line-completion-toast{border-radius:var(--radius-control);background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.learning-line-completion-toast{background:color-mix(in srgb, var(--surface-raised) 94%, var(--learning-line-color))}}.learning-line-completion-toast{box-shadow:0 8px 20px var(--shadow-color), inset 4px 0 var(--learning-line-color)}@supports (color:color-mix(in lab, red, red)){.learning-line-completion-toast{box-shadow:0 8px 20px color-mix(in srgb, var(--shadow-color) 22%, transparent), inset 4px 0 var(--learning-line-color)}}.learning-line-completion-toast{color:var(--text-primary);pointer-events:none;animation:learning-line-completion-toast 2.6s var(--ease-out) both}.learning-line-completion-toast svg{color:var(--status-positive);flex:none}.learning-line-completion-toast>span{gap:3px;min-width:0;display:grid}.learning-line-completion-toast strong{font:850 14px/1.1 var(--font-sans)}.learning-line-completion-toast small{color:var(--text-secondary);font:700 9px/1.2 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes learning-line-completion-toast{0%{opacity:0;transform:translateY(-5px)scale(.97)}10%,82%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-3px)scale(.99)}}@media (prefers-reduced-motion:reduce){.learning-line-completion-toast{animation:none}}.learning-practice-header{width:min(100%,1360px);min-height:56px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:16px;margin-inline:auto;display:flex}.learning-practice-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(16px,2vw,28px);width:min(100%,980px);margin:12px auto 0;display:grid}.learning-practice-main{gap:14px;min-width:0;padding:clamp(16px,2.4vw,28px);display:grid}.learning-practice-progress{gap:7px;display:grid}.learning-practice-progress>span{color:var(--text-tertiary);font:700 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.learning-practice-progress>span strong{color:var(--action-secondary-text);margin-left:5px;font-weight:800}.learning-practice-progress>div{border-radius:var(--radius-pill);background:var(--progress-track);gap:5px;height:5px;display:flex;overflow:hidden}.learning-practice-progress i{border-radius:var(--radius-pill);height:100%;display:block}.learning-practice-progress i.is-done{background:var(--progress-fill);flex:none}.learning-target-card{border-radius:var(--radius-panel);background:linear-gradient(145deg, var(--stage), var(--stage-deep));color:var(--stage-text);text-align:center;justify-items:center;gap:8px;padding:clamp(20px,4vw,40px) 16px 26px;display:grid}.learning-target-card .learning-section-kicker{color:var(--teal-200)}.learning-target-card h1{font:900 clamp(52px, 9vw, 88px)/1 var(--font-sans);letter-spacing:.04em;margin:0}.learning-station-word{align-items:baseline;gap:.08em;display:inline-flex}.learning-station-word>span{transition:color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);display:inline-block}.learning-station-word>span.is-complete{color:var(--status-positive)}.learning-station-word>span.is-current{color:var(--stage-text);text-decoration:underline;-webkit-text-decoration-color:var(--action-primary);-webkit-text-decoration-color:var(--action-primary);-webkit-text-decoration-color:var(--action-primary);-webkit-text-decoration-color:var(--action-primary);text-decoration-color:var(--action-primary);text-underline-offset:.1em;text-decoration-thickness:.08em;transform:translateY(-1px)}.learning-station-word>span.is-wrong{color:var(--status-caution)}.learning-station-word>span.is-upcoming{color:var(--stage-text)}@supports (color:color-mix(in lab, red, red)){.learning-station-word>span.is-upcoming{color:color-mix(in srgb, var(--stage-text) 48%, transparent)}}.learning-target-card p{color:var(--stage-text-muted);font:500 13px/1.2 var(--font-sans);margin:0}.learning-listen-button{border-color:var(--stage-border);color:var(--stage-text);background:#f0f7f717;margin-top:7px}.learning-listen-button:hover,.learning-listen-button:focus-visible{border-color:var(--teal-300);color:var(--stage-text);background:#f0f7f729}.learning-shortcut-key{border:1px solid var(--stage-text);margin-left:2px;padding:3px 5px}@supports (color:color-mix(in lab, red, red)){.learning-shortcut-key{border:1px solid color-mix(in srgb, var(--stage-text) 28%, transparent)}}.learning-shortcut-key{background:var(--stage-text);border-radius:5px}@supports (color:color-mix(in lab, red, red)){.learning-shortcut-key{background:color-mix(in srgb, var(--stage-text) 9%, transparent)}}.learning-shortcut-key{color:var(--stage-text-muted);font:700 8px/1 var(--font-mono);letter-spacing:.04em}.learning-input-card{gap:8px;display:grid}.learning-input-card label{color:var(--text-secondary);font:700 12px/1.2 var(--font-sans)}.learning-input-wrap{border:2px solid var(--action-primary-soft-border);border-radius:var(--radius-control);background:var(--surface);min-height:clamp(64px,9vw,88px);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);align-items:center;display:flex;position:relative}.learning-input-wrap:focus-within{border-color:var(--action-primary);box-shadow:var(--focus-ring-shadow)}.learning-input-wrap input{width:100%;min-width:0;color:var(--text-primary);caret-color:var(--text-primary);font:800 clamp(25px, 4vw, 40px)/1 var(--font-mono);letter-spacing:.04em;text-align:center;background:0 0;border:0;outline:0;padding:12px 16px}.learning-input-wrap.has-live-preview input{color:#0000!important;-webkit-text-fill-color:transparent!important;caret-color:#0000!important}.learning-input-wrap.has-live-preview input::placeholder{color:#0000!important;-webkit-text-fill-color:transparent!important}.learning-input-live-preview{z-index:2;pointer-events:none;min-width:0;color:var(--text-primary);font:800 clamp(25px, 4vw, 40px)/1 var(--font-mono);letter-spacing:.04em;text-align:center;white-space:pre;justify-content:center;align-items:center;padding:12px 16px;display:flex;position:absolute;inset:0;overflow:hidden}.learning-input-live-preview .is-preview{color:var(--text-tertiary);opacity:.72}.learning-input-card>p{color:var(--text-tertiary);font:500 12px/1.4 var(--font-sans);text-align:center;margin:0}.learning-practice-answer-hint{justify-content:center;align-items:baseline;gap:8px;display:flex}.learning-practice-answer-hint span{font:800 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.learning-practice-answer-hint strong{color:var(--text-primary);font:800 14px/1 var(--font-mono)}.learning-submission-preview{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.learning-submission-preview-letters{font:800 clamp(25px, 4vw, 40px)/1 var(--font-mono);letter-spacing:.04em;gap:.04em;display:inline-flex}.learning-submission-preview-letters .is-correct{color:var(--status-positive)}.learning-submission-preview-letters .is-wrong{color:var(--status-critical)}.learning-submission-preview-letters .is-missing{color:var(--text-tertiary)}.learning-practice-screen--complete{align-content:start;padding-inline:clamp(16px,4vw,32px);display:grid}.learning-complete-card{text-align:center;justify-items:center;gap:14px;width:min(100%,680px);margin:clamp(30px,10vh,90px) auto 0;padding:clamp(24px,5vw,52px);display:grid;position:relative;overflow:visible}.learning-complete-fireworks{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:visible}.learning-complete-firework{opacity:.52;width:104px;height:104px;filter:drop-shadow(0 0 4px var(--firework-color));border-radius:50%;position:absolute}@supports (color:color-mix(in lab, red, red)){.learning-complete-firework{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--firework-color) 22%, transparent))}}.learning-complete-firework:before{content:"";background:var(--firework-color);box-shadow:0 0 7px 2px var(--firework-color);border-radius:50%;position:absolute;inset:43px}@supports (color:color-mix(in lab, red, red)){.learning-complete-firework:before{box-shadow:0 0 7px 2px color-mix(in srgb, var(--firework-color) 38%, transparent)}}.learning-complete-firework:before{opacity:.34;animation:4.8s ease-out infinite learning-complete-firework-core;animation-delay:var(--firework-delay)}.learning-complete-firework:after{content:"";border:1px solid var(--firework-color);opacity:.12;animation:4.8s ease-out infinite learning-complete-firework-ring;animation-delay:var(--firework-delay);border-radius:50%;position:absolute;inset:28px}.learning-complete-firework--1{--firework-color:var(--brand-expression,#ff5a9d);--firework-delay:0s;top:12%;left:12%}.learning-complete-firework--2{--firework-color:var(--action-primary,#ff765f);--firework-delay:1.6s;top:22%;right:14%}.learning-complete-firework--3{--firework-color:var(--game-cyan,#9ae4dc);--firework-delay:1.6s;top:45%;left:34%}.learning-complete-firework--4{--firework-color:var(--brand-expression,#ff5a9d);--firework-delay:2.3s;top:61%;right:30%}.learning-complete-firework--5{--firework-color:var(--action-primary,#ff765f);--firework-delay:3.1s;top:75%;left:18%}.learning-complete-firework--6{--firework-color:var(--game-cyan,#9ae4dc);--firework-delay:3.9s;top:84%;right:10%}.learning-complete-firework i{background:var(--firework-color);width:4px;height:36px;box-shadow:0 0 5px 1px var(--firework-color);border-radius:999px;position:absolute;top:5px;left:calc(50% - 2px)}@supports (color:color-mix(in lab, red, red)){.learning-complete-firework i{box-shadow:0 0 5px 1px color-mix(in srgb, var(--firework-color) 34%, transparent)}}.learning-complete-firework i{transform-origin:50% 44px;animation:4.8s ease-out infinite learning-complete-firework-burst;animation-delay:var(--firework-delay)}.learning-complete-firework i:first-child{--firework-angle:0deg}.learning-complete-firework i:nth-child(2){--firework-angle:45deg}.learning-complete-firework i:nth-child(3){--firework-angle:90deg}.learning-complete-firework i:nth-child(4){--firework-angle:135deg}.learning-complete-firework i:nth-child(5){--firework-angle:180deg}.learning-complete-firework i:nth-child(6){--firework-angle:225deg}.learning-complete-firework i:nth-child(7){--firework-angle:270deg}.learning-complete-firework i:nth-child(8){--firework-angle:315deg}@keyframes learning-complete-firework-burst{0%,to{opacity:.12;transform:rotate(var(--firework-angle)) translateY(7px) scaleY(.32)}14%{opacity:.46}52%{opacity:.38;transform:rotate(var(--firework-angle)) translateY(0) scaleY(1)}76%{opacity:.06;transform:rotate(var(--firework-angle)) translateY(-6px) scaleY(.12)}}@keyframes learning-complete-firework-core{0%,to{opacity:.18;transform:scale(.72)}16%{opacity:.48;transform:scale(1.15)}60%,82%{opacity:.14;transform:scale(.82)}}@keyframes learning-complete-firework-ring{0%,to{opacity:0;transform:scale(.4)}18%{opacity:.22;transform:scale(.85)}72%{opacity:0;transform:scale(1.55)}}@media (prefers-reduced-motion:reduce){.learning-complete-firework:before,.learning-complete-firework:after,.learning-complete-firework i{animation:none}.learning-complete-firework:before{opacity:.42;transform:scale(.92)}.learning-complete-firework:after{opacity:.18;transform:scale(1)}.learning-complete-firework i{opacity:.42;transform:rotate(var(--firework-angle)) translateY(0) scaleY(.82)}}.learning-complete-card h1{font:900 clamp(26px, 5vw, 44px)/1.1 var(--font-sans);margin:0}.learning-complete-card>p{max-width:44ch;color:var(--text-secondary);font:500 15px/1.6 var(--font-sans);margin:0}.learning-complete-stats{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.learning-complete-stats span{border-radius:var(--radius-control);background:var(--surface-sunken);gap:5px;min-width:100px;padding:12px;display:grid}.learning-complete-stats strong{color:var(--action-secondary-text);font:800 23px/1 var(--font-mono)}.learning-complete-stats small{color:var(--text-tertiary);font:600 11px/1.2 var(--font-sans)}@keyframes learning-answer-hint{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand-expression) 12%, transparent)}to{box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-expression) 18%, transparent)}}.learning-practice-screen.is-keyboard-open{height:var(--app-height,100dvh);min-height:0;padding-block:6px;overflow:hidden}.learning-practice-screen.is-keyboard-open .learning-target-card p,.learning-practice-screen.is-keyboard-open .learning-input-card>p:not(.learning-practice-answer-hint){display:none}.learning-practice-screen.is-keyboard-open .learning-practice-layout{height:100%;margin-top:0}.learning-practice-screen.is-keyboard-open .learning-practice-main{gap:8px;padding:8px}.learning-practice-screen.is-keyboard-open .learning-reference-panel--compact{padding-block:7px}.learning-practice-screen.is-keyboard-open .learning-practice-progress{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:18px;display:grid}.learning-practice-screen.is-keyboard-open .learning-practice-progress>span{white-space:nowrap;font-size:9px}.learning-practice-screen.is-keyboard-open .learning-practice-progress>div{height:4px}.learning-practice-screen.is-keyboard-open .learning-target-card{grid-template-columns:minmax(0,1fr) auto;place-items:center stretch;gap:8px;padding:9px 10px}.learning-practice-screen.is-keyboard-open .learning-target-card .learning-section-kicker{display:none}.learning-practice-screen.is-keyboard-open .learning-target-card h1{justify-self:center;font-size:clamp(38px,12vw,58px)}.learning-practice-screen.is-keyboard-open .learning-listen-button{white-space:nowrap;justify-self:end;align-items:center;gap:4px;min-height:32px;margin:0;padding:6px 9px;font-size:11px;display:inline-flex}.learning-practice-screen.is-keyboard-open .learning-listen-button svg{width:15px;height:15px}.learning-practice-screen.is-keyboard-open .learning-shortcut-key{padding:2px 3px;font-size:7px}.learning-practice-screen.is-keyboard-open .learning-input-wrap{min-height:60px}@media (width<=680px){.learning-entry-grid{grid-template-columns:minmax(0,1fr)}.learning-entry-card{min-height:126px}.learning-model-card,.learning-system-heading,.learning-example-card{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.learning-model-examples{grid-template-columns:1fr}.learning-initial-categories,.learning-reference-initial-groups{grid-template-columns:minmax(0,1fr)}.learning-system-heading p{text-align:left}.learning-sound-tile-grid--wide,.learning-sound-tile-grid--coda{grid-template-columns:repeat(5,minmax(0,1fr))}.learning-example-card .learning-example-audio{width:100%}}@media (width<=620px){.learning-compact-row.is-initial .learning-compact-values{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid;overflow:visible}.learning-compact-row.is-initial .learning-compact-tile{border-right:1px solid var(--border-strong);border-radius:5px;width:100%;min-width:0}.learning-compact-row.is-initial .learning-compact-tile.has-group-break{margin-left:0}.learning-compact-row.is-nucleus .learning-compact-values{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid;overflow:visible}.learning-compact-row.is-nucleus .learning-compact-tile{border-right:1px solid var(--border-strong);border-radius:5px;width:100%;min-width:0}.learning-compact-row.is-coda .learning-compact-values{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;display:grid;overflow:visible}.learning-compact-row.is-coda .learning-compact-tile{border-right:1px solid var(--border-strong);border-radius:5px;width:100%;min-width:0}.learning-compact-tile.has-group-break{margin-left:0}}@media (width<=430px){.learning-system-screen{padding-inline:16px}.learning-sound-tile-grid--wide,.learning-sound-tile-grid--coda{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-practice-main{padding:12px}.learning-target-card{padding-block:26px}.learning-target-card h1{font-size:58px}.learning-reference-panel{padding:12px}.learning-system-actions{justify-content:stretch}.learning-system-actions>button{flex:150px}}@media (height<=700px){.learning-practice-screen{height:100dvh;min-height:0;padding-block:max(4px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-bottom));overflow:hidden}.learning-practice-header{min-height:38px}.learning-practice-layout{margin-top:0}.learning-practice-main{gap:7px;padding:7px}.learning-target-card p,.learning-input-card>p{display:none}.learning-practice-progress{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:18px;display:grid}.learning-practice-progress>span{white-space:nowrap;font-size:9px}.learning-practice-progress>div{height:4px}.learning-reference-panel--compact{padding-block:6px}.learning-compact-tile{min-width:25px;height:23px;font-size:10px}.learning-target-card{grid-template-columns:minmax(0,1fr) auto;place-items:center stretch;gap:8px;padding:8px 10px}.learning-target-card .learning-section-kicker{display:none}.learning-target-card h1{justify-self:center;font-size:clamp(40px,8vw,60px)}.learning-listen-button{white-space:nowrap;justify-self:end;align-items:center;gap:4px;min-height:32px;margin:0;padding:6px 9px;font-size:11px;display:inline-flex}.learning-listen-button svg{width:15px;height:15px}.learning-shortcut-key{padding:2px 3px;font-size:7px}.learning-input-wrap{min-height:54px}}@media (prefers-reduced-motion:reduce){.learning-sound-tile,.learning-compact-tile.is-answer-hint{transition:none;animation:none}}.session-recovery-notice{z-index:180;top:max(12px, env(safe-area-inset-top));width:min(520px,100% - 24px);min-height:var(--tap-target);border:1px solid var(--action-primary-soft-border);border-radius:var(--radius-control);background:var(--surface-raised);box-shadow:var(--shadow-4);color:var(--text-primary);font:600 14px/1.4 var(--font-sans);justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.session-recovery-notice button{border-radius:var(--radius-control);background:var(--surface-sunken);width:36px;height:36px;color:var(--text-secondary);flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.session-recovery-notice button:hover{background:var(--action-primary-soft);color:var(--action-secondary-text)}.event-warning-banner{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.event-warning-banner{border-color:color-mix(in srgb, var(--action-primary) 50%, transparent)}}.event-warning-banner{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.event-warning-banner{background:color-mix(in srgb, var(--surface) 95%, transparent)}}.event-warning-banner{box-shadow:0 28px 80px var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.event-warning-banner{box-shadow:0 28px 80px color-mix(in srgb, var(--shadow-color) 58%, transparent)}}.event-warning-label{color:var(--arcade-yellow)}.journey-event-scene{z-index:120;-webkit-backdrop-filter:none;background:#020810f0;opacity:1!important;animation:none!important;transform:none!important}.event-warning-banner{z-index:32;border:1px solid var(--action-primary);gap:12px;width:min(560px,100% - 32px);min-height:0;padding:18px 22px;display:grid;top:50%;left:50%;right:auto;pointer-events:none!important;transform:translate(-50%,-50%)!important}@supports (color:color-mix(in lab, red, red)){.event-warning-banner{border:1px solid color-mix(in srgb, var(--action-primary) 65%, transparent)}}.event-warning-banner{background:var(--surface-sunken);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.event-warning-banner{background:color-mix(in srgb, var(--surface-sunken) 94%, transparent)}}.event-warning-banner{box-shadow:var(--shadow-4);text-transform:none;letter-spacing:normal;animation:none!important}.journey-event-scene.is-warning>.event-warning-banner{opacity:1!important;transform:translate(-50%,-50%)!important}.event-warning-label{color:var(--arcade-yellow);font:750 10px/1 var(--font-mono);letter-spacing:.14em;justify-content:flex-start}.event-warning-intro{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;width:auto;display:grid;position:static;transform:none}.event-warning-countdown{font-size:clamp(42px,8vw,72px);animation:none}.event-warning-brief{width:auto;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;padding:0}.event-warning-brief>span{font:550 clamp(13px, 1.6vw, 17px)/1.35 var(--font-sans)}.event-warning-instruction{font:750 .78em/1.35 var(--font-mono);color:var(--arcade-yellow)}@media (width<=700px){.event-warning-banner{border-radius:14px;width:calc(100% - 24px);padding:14px 15px}.event-warning-intro{gap:11px}.event-warning-brief>span{font-size:13px}}.results-screen{position:relative}.results-screen:after{opacity:.32}.results-header{border:1px solid var(--border-subtle);min-height:84px;padding:12px clamp(14px,2vw,24px)}@supports (color:color-mix(in lab, red, red)){.results-header{border:1px solid color-mix(in srgb, var(--border-subtle) 24%, transparent)}}.results-header{background:var(--surface);border-radius:22px}@supports (color:color-mix(in lab, red, red)){.results-header{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.results-header{box-shadow:0 18px 48px var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.results-header{box-shadow:0 18px 48px color-mix(in srgb, var(--shadow-color) 34%, transparent)}}.results-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.results-title{color:var(--text-primary);font-family:var(--font-sans);letter-spacing:-.04em;font-style:italic;font-weight:950}.results-title svg{color:var(--arcade-yellow);fill:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-title svg{fill:color-mix(in srgb, var(--action-primary) 22%, transparent)}}.results-finish-mark{align-items:center;gap:10px;display:flex}.results-finish-mark img{object-fit:contain;width:62px;height:62px}.results-finish-mark>span{gap:3px;display:grid}.results-finish-mark small{color:var(--text-tertiary);font:750 8px/1 var(--font-mono);letter-spacing:.18em}.results-finish-mark strong{color:var(--arcade-yellow);font:950 18px/1 var(--font-sans);font-style:italic}.results-card{border-color:var(--border-subtle)}@supports (color:color-mix(in lab, red, red)){.results-card{border-color:color-mix(in srgb, var(--border-subtle) 25%, transparent)}}.results-card{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.results-card{background:color-mix(in srgb, var(--surface) 90%, transparent)}}.results-card{box-shadow:0 22px 58px var(--shadow-color), inset 0 1px var(--border-subtle)}@supports (color:color-mix(in lab, red, red)){.results-card{box-shadow:0 22px 58px color-mix(in srgb, var(--shadow-color) 38%, transparent), inset 0 1px color-mix(in srgb, var(--border-subtle) 4%, transparent)}}.results-card{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.results-card-eyebrow{color:var(--arcade-yellow);font-weight:800}.results-route-title,.results-grade-title,.results-station-name,.results-detail-hanzi{font-family:var(--font-sans);font-weight:850}.results-grade-card{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-grade-card{border-color:color-mix(in srgb, var(--action-primary) 38%, transparent)}}.results-grade-badge{border-color:var(--action-primary);background:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-grade-badge{background:color-mix(in srgb, var(--action-primary) 13%, transparent)}}.results-grade-badge{box-shadow:0 0 0 4px var(--action-primary), 0 0 34px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-grade-badge{box-shadow:0 0 0 4px color-mix(in srgb, var(--action-primary) 7%, transparent), 0 0 34px color-mix(in srgb, var(--action-primary) 15%, transparent)}}.results-grade-letter{color:var(--arcade-yellow);font-family:var(--font-sans);font-style:italic;font-weight:950}.results-station-tile,.results-detail-row{background:var(--surface-sunken)}@supports (color:color-mix(in lab, red, red)){.results-station-tile,.results-detail-row{background:color-mix(in srgb, var(--surface-sunken) 76%, transparent)}}.results-action{border-color:var(--border-subtle)}@supports (color:color-mix(in lab, red, red)){.results-action{border-color:color-mix(in srgb, var(--border-subtle) 28%, transparent)}}.results-action{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.results-action{background:color-mix(in srgb, var(--surface) 92%, transparent)}}.results-action strong{font-family:var(--font-sans);font-weight:850}.results-action-primary{border-color:var(--action-primary);background:linear-gradient(180deg, var(--action-primary), var(--arcade-yellow-hot));box-shadow:0 6px 0 var(--action-primary-active);color:var(--action-primary-text)}.results-action-primary em{color:var(--surface-sunken)}@supports (color:color-mix(in lab, red, red)){.results-action-primary em{color:color-mix(in srgb, var(--surface-sunken) 66%, transparent)}}.share-card{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.share-card{border-color:color-mix(in srgb, var(--action-primary) 48%, transparent)}}.share-card{background:var(--surface-raised)}@media (width<=900px){.solo-setup-screen,.full-line-screen{height:var(--app-height,100dvh);padding:14px;padding-bottom:max(72px, env(safe-area-inset-bottom));overflow-y:auto}.start-screen header,.solo-setup-screen header,.full-line-screen header{margin:22px 0 16px}.start-screen h1,.solo-setup-screen h1,.full-line-screen h1{font-size:clamp(36px,9vw,55px)}.journey-type-grid{grid-template-columns:1fr}.journey-type-grid button{min-height:185px}.direction-list{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-game-mark img{width:38px;height:38px}.compact-game-mark strong{font-size:15px}.compact-game-mark small{font-size:6px}.game-brand-icon{width:44px;height:44px}.results-finish-mark img{width:48px;height:48px}}@media (width<=620px){.solo-setup-screen .journey-type-grid .mode-card-number,.solo-setup-screen .journey-type-grid .mode-card-icon{inset:auto}.solo-setup-screen .journey-type-grid button:before,.solo-setup-screen .journey-type-grid button:after{top:34px}.setup-nav{gap:8px}.setup-back{min-height:36px;padding-inline:11px;font-size:8px}.compact-game-mark small{display:none}.journey-type-grid button{min-height:158px;padding:20px}.journey-type-grid .mode-card-number{top:18px;left:20px}.journey-type-grid .mode-card-icon{border-radius:16px;width:54px;height:54px;padding:12px;top:18px;right:20px}.journey-type-grid button strong{font-size:24px}.journey-type-grid button small{font-size:9px}.line-selector button{min-width:105px;padding:10px 11px}.direction-list{grid-template-columns:1fr}.direction-list button{min-height:70px}.start-screen{padding:14px}.route-confirmation-card{border-radius:20px}.confirmation-icon{width:38px;height:38px}.results-header{border-radius:17px;min-height:72px;padding:10px 12px}.results-finish-mark>span{display:none}.results-finish-mark img{width:44px;height:44px}}@media (height<=700px) and (width>=901px){.start-screen header,.solo-setup-screen header{margin-block:22px 16px}.start-screen h1,.solo-setup-screen h1{font-size:52px}.journey-type-grid button{min-height:190px}.start-screen header,.full-line-screen header{margin-block:10px 12px}.start-screen h1,.full-line-screen h1{font-size:38px}.direction-list button{min-height:70px}}@media (width>=901px) and (height>=721px){.game-stage{grid-template-rows:clamp(72px,9vh,86px) minmax(320px,1fr) clamp(210px,27vh,260px) 26px}.typing-console-wrapper{flex:auto;align-items:stretch;min-height:0}.typing-console{min-height:0}.neighbour-station{flex:0 0 clamp(120px,12vw,178px)}.typing-word{align-self:center;padding-block:16px}}@media (width<=620px){.game-shell.has-mobile-keyboard .game-stage{padding-block:4px max(8px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(64px,1fr) auto 0}.game-shell.has-mobile-keyboard .game-header{display:flex}.game-shell.has-mobile-keyboard .scene-frame{min-height:64px;padding-bottom:6px;display:block}.game-shell.has-mobile-keyboard .game-footer{display:none}.game-shell.has-mobile-keyboard .station-console,.game-shell.has-mobile-keyboard .typing-console-wrapper{height:auto;min-height:0}}.journey-type-grid button,.route-confirmation-card,.results-card,.results-header,.results-action{border-radius:var(--ui-radius-panel)}.line-selector button,.direction-list button{border-radius:var(--ui-radius-control)}.journey-type-grid button,.route-confirmation-card,.results-card,.results-header,.results-action{border-color:var(--border-subtle);box-shadow:var(--shadow-2)}:where(.lobby-primary-cta,.setup-back,.journey-type-grid button,.line-selector button,.direction-list button,.confirmation-settings button,.confirmation-actions button,.results-action,.event-debug-panel summary,.event-debug-actions button):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:where(.lobby-primary-cta,.setup-back,.journey-type-grid button,.line-selector button,.direction-list button,.confirmation-settings button,.confirmation-actions button,.results-action):active{transform:translateY(1px)scale(.99)}.compact-game-mark img{width:52px;height:52px}.compact-game-mark strong{font-size:20px}.compact-game-mark small{font-size:8px}.solo-setup-screen header p,.full-line-screen header p{max-width:48ch;color:var(--text-secondary);font-size:13px}.journey-type-grid button{align-content:center;min-height:clamp(205px,29vh,270px)}.journey-type-grid button strong{max-width:12ch;line-height:1.15}.journey-type-grid button small{color:var(--text-secondary);margin-top:8px;font-size:11px;line-height:1.55}.journey-type-grid button em{margin-top:12px;font-size:9px}.journey-type-grid button>svg:last-child{align-self:end}.route-summary{color:var(--text-secondary)}.route-confirmation-card{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.route-confirmation-card{border-color:color-mix(in srgb, var(--action-primary) 44%, transparent)}}.route-confirmation-card{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.route-confirmation-card{background:color-mix(in srgb, var(--surface) 97%, transparent)}}.confirmation-kicker{font-size:10px}.route-confirmation-card h2{font-family:var(--font-sans);letter-spacing:-.035em;font-weight:900;line-height:1.15}.route-confirmation-card>p{color:var(--text-secondary);font-size:11px}.confirmation-route span{font-size:10px}.confirmation-settings>button{min-height:64px}.confirmation-settings strong{font-size:14px}.confirmation-settings small{color:var(--text-secondary);font-size:9px;line-height:1.45}.results-card-eyebrow,.results-finish-mark small{color:var(--text-secondary)}@media (width<=620px){:root{--ui-radius-stage:22px;--ui-radius-panel:18px;--ui-radius-control:12px}.compact-game-mark img{width:40px;height:40px}.compact-game-mark strong{font-size:16px}.journey-type-grid button{min-height:164px;padding:20px}.journey-type-grid button small{max-width:31ch;font-size:10px}.event-debug-panel{bottom:8px;left:8px}.event-debug-panel summary{min-height:34px}}.scene-frame:has(.journey-route-map){background:#061119;border:1px solid #7bd5d03d;border-radius:clamp(16px,3.2vw,24px);min-width:0;height:clamp(268px,40dvh,510px);min-height:0;padding:0;display:grid;overflow:hidden;box-shadow:0 22px 46px #00000045,inset 0 1px #dbfff90d}.journey-route-map{isolation:isolate;background:radial-gradient(circle at 12% 82%,#00888a24,#0000 30%),radial-gradient(circle at 88% 12%,#e6001221,#0000 32%),#061119;grid-template-rows:auto minmax(0,1fr) auto;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.journey-route-map:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(112deg,#ffffff0b,#0000 30% 72%,#00c3cb0e);position:absolute;inset:0}.journey-route-map__head,.journey-route-map__footer{z-index:1;-webkit-backdrop-filter:blur(8px);background:linear-gradient(90deg,#07141ceb,#040d14b8);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding-inline:clamp(12px,2.6vw,20px);display:flex;position:relative}.journey-route-map__head{border-bottom:1px solid #84d7d229;min-height:54px}.journey-route-map__head>div:first-child{gap:3px;min-width:0;display:grid}.journey-route-map__head span{color:#81d4cf;font:750 9px/1 var(--font-mono);letter-spacing:.14em;align-items:center;gap:5px;display:inline-flex}.journey-route-map__head strong{color:#f2f7f5;font:800 clamp(12px, 2.5vw, 16px)/1.15 var(--font-sans);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.journey-route-map__head strong i{color:#f4bd4e;font-style:normal}.journey-route-map__pace{color:#89d6d0;font-family:var(--font-mono);flex:none;align-items:baseline;gap:3px;display:inline-flex}.journey-route-map__pace b{color:#fff2cb;font-size:clamp(18px,4vw,25px);line-height:1}.journey-route-map__pace small{color:#84a7a5;font:700 8px/1 var(--font-mono);letter-spacing:.08em}.journey-route-map__viewport{z-index:1;min-width:0;min-height:0;position:relative;overflow:hidden}.journey-route-map__svg{width:100%;min-width:0;height:100%;display:block}.journey-route-map__ghost{fill:none;stroke:#d3e5e61a;stroke-linecap:round;stroke-linejoin:round;stroke-width:20px}.journey-route-map__segment{fill:none;stroke:var(--line-colour);stroke-linecap:round;stroke-linejoin:round;stroke-width:8px;opacity:.78}.journey-route-map__completed-glow{fill:none;stroke:#5aeddf57;stroke-linecap:round;stroke-linejoin:round;stroke-width:20px;filter:url(#route-map-glow)}.journey-route-map__completed{fill:none;stroke:#70eee1;stroke-dasharray:10 7;stroke-linecap:round;stroke-linejoin:round;stroke-width:7px;animation:1.4s linear infinite route-trail-flow}.journey-route-map__station{transition:opacity .24s}.journey-route-map__station-dot{fill:#102c35;stroke:#cdefebc7;stroke-width:3px}.journey-route-map__station-ring{fill:none;stroke:#fac4517a;stroke-width:2px;transform-origin:50%;animation:1.8s ease-in-out infinite route-station-pulse}.journey-route-map__station-zh,.journey-route-map__station-en{paint-order:stroke;stroke:#071219;stroke-linejoin:round;stroke-width:4px}.journey-route-map__station-zh{fill:#f0f7f5;font:800 15px/1 var(--font-sans)}.journey-route-map__station-en{fill:#89aaa9;font:700 9px/1 var(--font-mono);letter-spacing:.04em}.journey-route-map__station.is-complete .journey-route-map__station-dot{fill:#72eee1;stroke:#d9fffb}.journey-route-map__station.is-current .journey-route-map__station-dot{fill:#fff0ba;stroke:#ffc84f}.journey-route-map__station.is-next .journey-route-map__station-dot{fill:#e60012;stroke:#ffd4d8}.journey-route-map__station.is-upcoming{opacity:.7}.journey-route-map__train{transform-box:fill-box;transform-origin:50%}.journey-route-map__carriage{fill:#e6f5f1;stroke:var(--train-line);stroke-width:3px}.journey-route-map__carriage--front{fill:#c7e8e3}.journey-route-map__window{fill:#0a3542}.journey-route-map__lamp{fill:#ffe29a}.journey-route-map__footer{color:#7aa09f;min-height:36px;font:750 8px/1 var(--font-mono);letter-spacing:.12em;border-top:1px solid #84d7d226}.journey-route-map__footer span{white-space:nowrap;align-items:baseline;gap:5px;min-width:0;display:inline-flex}.journey-route-map__footer strong{color:#edf9f6;font:800 13px/1.1 var(--font-sans);letter-spacing:.01em;text-overflow:ellipsis;overflow:hidden}.journey-route-map__footer i{background:linear-gradient(90deg,#68dfd4,#68dfd414);width:100%;height:1px}.journey-route-map.has-route-miss .journey-route-map__viewport{animation:.28s ease-out route-map-miss}@keyframes route-trail-flow{to{stroke-dashoffset:-34px}}@keyframes route-station-pulse{0%,to{opacity:.36;transform:scale(.86)}50%{opacity:1;transform:scale(1.12)}}@keyframes route-map-miss{0%,to{transform:translate(0)}28%{transform:translate(-7px)}58%{transform:translate(6px)}78%{transform:translate(-3px)}}@media (width<=620px){.scene-frame:has(.journey-route-map){border-radius:15px;height:clamp(248px,37dvh,390px)}.journey-route-map__head{min-height:48px}.journey-route-map__head strong{font-size:12px}.journey-route-map__pace small{display:none}.journey-route-map__station-zh{font-size:13px}.journey-route-map__station-en{font-size:8px}.journey-route-map__footer{min-height:32px}}@media (width<=390px){.scene-frame:has(.journey-route-map){height:clamp(226px,34dvh,330px)}.journey-route-map__head{min-height:44px;padding-inline:10px}.journey-route-map__head span{font-size:8px}.journey-route-map__head strong{font-size:11px}.journey-route-map__pace svg,.journey-route-map__station-en{display:none}.journey-route-map__station-zh{font-size:12px}.journey-route-map__footer{padding-inline:10px}.journey-route-map__footer strong{font-size:12px}}@media (height<=680px){.scene-frame:has(.journey-route-map){height:clamp(156px,29dvh,250px)}.journey-route-map__head{min-height:40px}.journey-route-map__head span,.journey-route-map__station-en{display:none}.journey-route-map__footer{min-height:28px}}@media (prefers-reduced-motion:reduce){.journey-route-map__completed,.journey-route-map__station-ring,.journey-route-map.has-route-miss .journey-route-map__viewport{animation:none}}@media (height<=620px),(width<=620px){.game-shell.has-mobile-keyboard .scene-frame:has(.journey-route-map){height:clamp(116px,22dvh,176px);display:grid}.game-shell.has-mobile-keyboard .journey-route-map__head{min-height:32px}.game-shell.has-mobile-keyboard .journey-route-map__head>div:first-child>span,.game-shell.has-mobile-keyboard .journey-route-map__station-en,.game-shell.has-mobile-keyboard .journey-route-map__footer{display:none}.game-shell.has-mobile-keyboard .journey-route-map__station-zh{font-size:11px}.game-shell.has-mobile-keyboard .scene-frame.has-route-map{height:clamp(116px,22dvh,176px);display:grid!important}}.cm-brand-footer{min-height:24px;color:var(--text-tertiary);font:500 10px/1.4 var(--font-mono);letter-spacing:.04em;flex-wrap:wrap;flex:none;align-items:center;gap:2px 16px;margin-top:auto;padding-block:4px;display:flex}.cm-brand-footer__brand{color:var(--footer-brand,var(--text-secondary));font-weight:600}a.cm-brand-footer__brand{text-decoration:none}a.cm-brand-footer__brand:hover,a.cm-brand-footer__brand:focus-visible{text-underline-offset:.2em;text-decoration:underline}.cm-brand-footer__copyright{color:var(--footer-copyright,var(--text-tertiary))}.cm-brand-footer__copyright:before{content:"•";color:var(--footer-separator,var(--text-tertiary));margin-inline-end:8px}.cm-brand-footer__product{color:var(--footer-product,var(--text-secondary));flex:0 0 100%;justify-content:center;align-items:center;gap:7px;margin-top:1px;display:inline-flex}.cm-brand-footer__product:before,.cm-brand-footer__product:after{content:"";background:linear-gradient(90deg, transparent, var(--footer-product-rule));width:clamp(18px,8vw,48px);height:1px}.cm-brand-footer__product:after{background:linear-gradient(90deg, var(--footer-product-rule), transparent)}.cm-brand-footer__product strong{color:var(--footer-product);font:700 clamp(10px, 2.8vw, 12px) / 1 var(--font-mono);letter-spacing:.045em}.cm-brand-footer__version{border:1px solid var(--footer-version-border);background:var(--footer-version-surface);min-height:16px;color:var(--footer-version);font:700 clamp(9px, 2.4vw, 10px) / 1 var(--font-mono);letter-spacing:.08em;border-radius:999px;align-items:center;padding:1px 6px;display:inline-flex}.lobby-footer-redesign.cm-brand-footer{--footer-brand:#7b3158;--footer-copyright:#435e5e;--footer-separator:#d65a72;--footer-product:#b32e6c;--footer-product-rule:#b32e6c6b;--footer-version:#7d4c00;--footer-version-border:#ae690066;--footer-version-surface:#ffc24029;padding:4px clamp(16px, 4vw, 32px) max(12px, env(safe-area-inset-bottom));gap:3px 8px;margin-top:0}html.dark .lobby-footer-redesign.cm-brand-footer{--footer-brand:#f2b5c8;--footer-copyright:#a9c3c0;--footer-separator:#ff7d9f;--footer-product:#ffb7d0;--footer-product-rule:#ff7d9f80;--footer-version:#ffd166;--footer-version-border:#ffd1667a;--footer-version-surface:#ffd1661a}.results-footer.cm-brand-footer{right:clamp(16px,4vw,32px);bottom:max(5px, env(safe-area-inset-bottom));margin-top:0;padding-block:4px;left:clamp(16px,4vw,32px)}.learning-practice-screen--complete .cm-brand-footer{width:min(100%,1360px);margin:clamp(18px,4vh,36px) auto 0}@media (width<=520px){.cm-brand-footer{gap:2px 10px}}.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.game-shell,.game-lobby-redesign{color:#edf5f2;background-color:#071014;position:relative;overflow:hidden}.solo-setup-screen:before,.full-line-screen:before,.start-screen:before,.results-screen:before,.game-lobby-redesign:before{content:"";z-index:-3;pointer-events:none;filter:saturate(.82)contrast(1.08);opacity:.92;background:linear-gradient(#03090fb8,#03090ff0),url(/assets/commute-cinematic-bg.webp) 50%/cover no-repeat;animation:18s ease-in-out infinite alternate cinematic-background-drift;position:fixed;inset:-3%;transform:scale(1.04)}.solo-setup-screen:after,.full-line-screen:after,.start-screen:after,.results-screen:after,.game-shell:after,.game-lobby-redesign:after{background:linear-gradient(#06111733,#061117d1),radial-gradient(80% 50% at 50% 0,#53a1a721,#0000 70%),radial-gradient(50% 70% at 100% 100%,#d241591a,#0000 72%)}.game-lobby-redesign{isolation:isolate}.lobby-world{opacity:.82;mix-blend-mode:screen}.lobby-topbar,.lobby-hero,.lobby-footer-redesign{z-index:2;position:relative}.lobby-hero{gap:clamp(12px,2.3vh,22px)}.lobby-title-lockup{animation:cinematic-rise-in .62s var(--ease-out) both}.lobby-title-lockup h1>span,.lobby-title-lockup h1>strong{text-shadow:0 10px 30px #00000061}.lobby-commute-brief{-webkit-backdrop-filter:blur(14px);width:min(100%,560px);animation:cinematic-rise-in .62s 90ms var(--ease-out) both;background:#051015ad;border:1px solid #89bdbd47;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid;box-shadow:0 12px 38px #00000042,inset 0 1px #ffffff0f}.lobby-commute-brief>span{color:#9fc9c7;font:700 10px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.lobby-commute-brief>strong{color:#f1f7f4;font:800 17px/1.1 var(--font-sans);letter-spacing:.04em;justify-content:center;align-items:center;gap:7px;display:inline-flex}.lobby-commute-brief>strong svg{color:#f0b13e;width:16px}.lobby-commute-brief>em{color:#f2b6c3;font:700 11px/1.2 var(--font-sans);white-space:nowrap;font-style:normal}.lobby-live-demo{-webkit-backdrop-filter:blur(12px);animation:cinematic-rise-in .66s .17s var(--ease-out) both;background:linear-gradient(#0a191ec7,#040d12f0),#040d12e0;border-color:#89bdbd57;box-shadow:0 18px 44px #0000004d,inset 0 1px #ffffff0f}.lobby-primary-cta{animation:cinematic-rise-in .66s .24s var(--ease-out) both;background:linear-gradient(115deg,#79b5b1,#397b7c 58%,#285d61);border-color:#d3f4f038;position:relative;overflow:hidden;box-shadow:0 14px 32px #1b575b59,inset 0 1px #ffffff38}.lobby-primary-cta:after{content:"";background:linear-gradient(90deg,#0000,#ffffff47,#0000);width:24%;animation:5.6s ease-in-out 1.2s infinite cta-light-sweep;position:absolute;inset:0 auto 0 -28%;transform:skew(-18deg)}.lobby-primary-cta>*{z-index:1;position:relative}.lobby-secondary-cta{color:#e6f1ee;background:#0b181cbd;border-color:#89bdbd4d;box-shadow:0 10px 28px #00000038,inset 0 1px #ffffff0d}.lobby-secondary-cta:hover{background:#183135e6}.game-shell{background:#050d12}.game-stage{grid-template-rows:auto auto minmax(0,1fr) auto auto}.game-header{-webkit-backdrop-filter:blur(10px);background:linear-gradient(#060f14c7,#060f142e);border-bottom:1px solid #89bdbd26}.game-brand-title,.game-brand-kicker,.game-header .scene-controls button,.game-header .sound-status{color:#eef6f2}.game-header .scene-controls button,.game-header .sound-status{background:#0511169e;border-color:#89bdbd40;box-shadow:inset 0 1px #ffffff0f}.commute-mission-strip{z-index:4;-webkit-backdrop-filter:blur(14px);min-width:0;animation:cinematic-rise-in .54s var(--ease-out) both;background:linear-gradient(90deg,#08191ed1,#081116a3);border:1px solid #89bdbd47;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:4px 0 10px;padding:10px 14px;display:grid;position:relative;box-shadow:0 12px 30px #00000038,inset 0 1px #ffffff0f}.commute-mission-main{grid-template-columns:auto auto;align-items:baseline;gap:4px 14px;min-width:0;display:grid}.commute-mission-kicker{color:#f0b13e;font:700 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;align-items:center;gap:6px;display:inline-flex}.commute-copy--evening{display:none}.commute-mission-main strong{color:#f3f8f5;font:850 clamp(16px, 2vw, 23px)/1.1 var(--font-sans);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.commute-mission-main strong svg{color:#86c8fa;vertical-align:-3px;width:17px;margin:0 4px;display:inline-block}.commute-mission-main small{color:#9fb2b0;font:600 11px/1.2 var(--font-sans);white-space:nowrap}.commute-mission-progress{border-left:1px solid #89bdbd38;justify-items:end;gap:4px;min-width:88px;padding-left:14px;display:grid}.commute-mission-progress span{color:#9fb2b0;font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.commute-mission-progress strong{color:#d7f0ed;font:800 18px/1 var(--font-mono);font-variant-numeric:tabular-nums}.journey-window{--parallax-x:0px;--parallax-y:0px;background:radial-gradient(70% 70% at 50% 18%,#3e979e33,#0000 72%),linear-gradient(#0b252d 0%,#07141b 56%,#040b11 100%);border-color:#89bdbd4d;animation:9s ease-in-out infinite route-stage-breathe;box-shadow:0 20px 52px #00000052,inset 0 0 0 1px #ffffff0a}.journey-window:before{content:"";z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.86;transform:translate3d(var(--parallax-x), var(--parallax-y), 0) scale(1.02);transition:transform .24s var(--ease-out);background:linear-gradient(90deg,#050e1494,#0000 20% 80%,#050e1494),linear-gradient(90deg,#82d0d00d 1px,#0000 1px) 0 0/44px 44px,linear-gradient(0deg,#82d0d00b 1px,#0000 1px) 0 0/44px 44px,radial-gradient(45% 80% at 50% 44%,#0000 0 48%,#060f154d 100%);position:absolute;inset:0}.journey-window:after{content:"";z-index:1;pointer-events:none;transform:translateX(calc(-25% + var(--parallax-x))) translateY(var(--parallax-y));animation:passing-light var(--ride-speed,7.4s) ease-in-out infinite;transition:transform .24s var(--ease-out);background:linear-gradient(108deg,#0000 42%,#ffca6e1f 50%,#0000 58%);position:absolute;inset:-20% -30%}.journey-window.is-stressed{border-color:#ff9d57}@supports (color:color-mix(in lab, red, red)){.journey-window.is-stressed{border-color:color-mix(in srgb, #ff9d57 calc(28% + var(--route-stress,0) * 42%), #89bdbd4d)}}.journey-window.is-stressed:before{opacity:calc(.86 + var(--route-stress,0) * .14);background:radial-gradient(54% 70% at 50% 44%,#0000 0 34%,#ff7b4614 72%,#ff523f38 100%),linear-gradient(90deg,#050e1494,#0000 20% 80%,#050e1494),linear-gradient(90deg,#ffb26f12 1px,#0000 1px) 0 0/34px 34px,linear-gradient(0deg,#ffb26f0e 1px,#0000 1px) 0 0/34px 34px}.journey-window.is-overheated:after{background:linear-gradient(108deg,#0000 38%,#ff694a47 50%,#0000 62%);animation-duration:1.8s}.journey-window.is-calm{border-color:#9ae4dc9e;box-shadow:0 20px 52px #00000052,0 0 34px #9ae4dc29,inset 0 0 0 1px #ffffff0a}.route-activity-indicator{z-index:6;width:calc(100% - 32px);min-width:0;max-width:calc(100% - 32px);box-shadow:none;color:#d8eeeb;font:700 10px/1 var(--font-mono);letter-spacing:.05em;background:linear-gradient(90deg,#041218bd,#0000 96%);border:0;border-top:1px solid #89bdbd4d;border-radius:0;align-items:center;gap:10px;padding:7px 0 10px;display:flex;position:absolute;top:auto;bottom:0;left:16px}.route-activity-live{background:#73e3b2;border-radius:50%;flex:none;width:6px;height:6px;animation:1.4s ease-out infinite route-live-blink;box-shadow:0 0 #73e3b28a}.journey-window.is-idling .route-activity-indicator{color:#ffe0a3;border-color:#ffc05c85;animation:1.15s ease-in-out infinite rush-warning}.journey-window.is-idling .route-activity-live{background:#ffc15d;box-shadow:0 0 #ffc15d94}.journey-window.is-idling .route-activity-meter i{background:#ffc15d;box-shadow:0 0 8px #ffc15db8}.journey-window.is-stressed .route-activity-indicator{color:#ffd29c;border-top-color:#ffa4599e}.journey-window.is-stressed .route-activity-live{background:#ff9d57;box-shadow:0 0 12px #ff9d57b8}.journey-window.is-stressed .route-activity-meter{background:#ffd39d24}.journey-window.is-stressed .route-activity-meter i{background:#ff9d57;box-shadow:0 0 12px #ff9d57d1}.journey-window.is-overheated .route-activity-indicator{color:#ffd1c8;border-top-color:#f06d62;animation:.64s ease-in-out infinite rush-warning}.journey-window.is-calm .route-activity-indicator{color:#c9fff0;border-top-color:#9ae4dca8}.journey-window.is-calm .route-activity-meter i{background:#9ae4dc;box-shadow:0 0 12px #9ae4dcc2}.route-activity-meter{background:#c3e1dc29;border-radius:999px;flex:auto;width:auto;min-width:88px;max-width:none;height:4px;overflow:hidden}.route-activity-meter i{border-radius:inherit;background:var(--route-line-color,#8ce0d4);height:100%;box-shadow:0 0 8px var(--route-line-color,#8ce0d4);transition:width .18s var(--ease-out);display:block}.route-activity-indicator small{color:#91b4b0;text-align:right;min-width:25px;font-size:9px}.route-typing-pulse{z-index:2;pointer-events:none;border:2px solid var(--route-line-color,#8ce0d4);width:38px;height:38px;box-shadow:0 0 0 4px var(--route-line-color,#8ce0d4), 0 0 26px var(--route-line-color,#8ce0d4);border-radius:50%;position:absolute;top:58%;left:52%}@supports (color:color-mix(in lab, red, red)){.route-typing-pulse{box-shadow:0 0 0 4px color-mix(in srgb, var(--route-line-color,#8ce0d4) 16%, transparent), 0 0 26px color-mix(in srgb, var(--route-line-color,#8ce0d4) 46%, transparent)}}.route-typing-pulse{animation:.42s cubic-bezier(.16,1,.3,1) both route-typing-pulse;transform:translate(-50%,-50%)}.scene-frame.has-syllable-hit .route-typing-pulse{border-color:#ffd16a;animation-duration:.68s;box-shadow:0 0 0 7px #ffd16a29,0 0 34px #ffd16a80}.station-arrival-beacon{z-index:7;pointer-events:none;color:#ffe7a8;text-align:center;background:#101818d1;border:1px solid #ffd374a3;border-radius:14px;gap:4px;min-width:122px;padding:10px 14px;animation:.72s cubic-bezier(.16,1,.3,1) both station-beacon-in;display:grid;position:absolute;top:50%;left:52%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffd3741f,0 14px 30px #00000042,0 0 26px #ffbe4b38}.station-arrival-beacon span{color:#ffd16a;font:700 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.station-arrival-beacon strong{color:#fff4d1;font:800 23px/1 var(--font-sans)}.journey-window.is-boosting{box-shadow:0 24px 62px #0000006b, inset 0 0 0 1px var(--route-line-color,#8ce0d4)}@supports (color:color-mix(in lab, red, red)){.journey-window.is-boosting{box-shadow:0 24px 62px #0000006b, inset 0 0 0 1px color-mix(in srgb, var(--route-line-color,#8ce0d4) 28%, transparent)}}.journey-window.is-boosting .route-train-image{animation:.48s ease-in-out infinite alternate train-thrust}.route-canvas{z-index:2;opacity:.82;filter:drop-shadow(0 0 18px #4a9ca624)}.window-reflection{z-index:3;mix-blend-mode:screen;transform:translate3d(var(--parallax-x), var(--parallax-y), 0) scale(1.02);transition:transform .24s var(--ease-out);background:linear-gradient(112deg,#f0f7f714,#0000 22% 72%,#f0f7f70a),repeating-linear-gradient(108deg,#0000 0 46px,#c9e8e514 48px 50px,#0000 52px 92px),linear-gradient(#0000 65%,#02080d5c)}.window-reflection:after{content:"";pointer-events:none;opacity:.28;background:repeating-linear-gradient(108deg,#0000 0 18px,#c9e8e521 19px 20px,#0000 21px 44px);animation:1.7s linear infinite rain-sweep;position:absolute;inset:-25% -10%;transform:translateY(-8%)}.scene-label{z-index:5;-webkit-backdrop-filter:blur(8px);background:#040d12a3;border:1px solid #89bdbd33;border-radius:999px;padding:4px 8px;box-shadow:0 4px 14px #00000038}.station-console{-webkit-backdrop-filter:blur(14px);background:#0a161ae0;border-color:#89bdbd4d;box-shadow:0 16px 38px #00000047,inset 0 1px #ffffff0f}.scene-frame.has-resistance .journey-window{animation:.36s cubic-bezier(.36,.07,.19,.97) both cinematic-brake}.scene-frame.has-resistance .window-reflection:after{opacity:.56;animation-duration:.55s}.journey-window.is-arrived{animation:.7s cubic-bezier(.16,1,.3,1) both station-arrival}.journey-window.is-arrived:after{animation-duration:1.1s}.typing-console:focus-within,.station-console:focus-within{box-shadow:inset 0 0 0 1px #b5d7d738,0 0 28px #46a2aa1f}.typing-hud{background:#040d12b8;border-top-color:#89bdbd33}.typing-hud-time,.typing-hud-accuracy,.speed-meter,.typing-hud-luckiness{background:#10252acc}@keyframes cinematic-background-drift{0%{transform:scale(1.04)translate(-.5%)}to{transform:scale(1.08)translate(.5%,-.5%)}}@keyframes cinematic-rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cta-light-sweep{0%,62%,to{opacity:0;transform:translate(0)skew(-18deg)}70%{opacity:1;transform:translate(560%)skew(-18deg)}78%{opacity:0;transform:translate(560%)skew(-18deg)}}@keyframes route-stage-breathe{0%,to{box-shadow:0 20px 52px #00000052,inset 0 0 0 1px #ffffff0a}50%{box-shadow:0 24px 60px #0006,inset 0 0 0 1px #8fcdcc1a}}@keyframes route-live-blink{0%,to{opacity:1;box-shadow:0 0 #73e3b280}55%{opacity:.72;box-shadow:0 0 0 5px #73e3b200}}@keyframes rush-warning{0%,to{transform:translate(0)}45%{transform:translate(2px)}70%{transform:translate(-1px)}}@keyframes route-typing-pulse{0%{opacity:.9;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(2.35)}}@keyframes station-beacon-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.72)}42%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes train-thrust{0%{transform:translate(-1px)scale(1)}to{transform:translate(3px)scale(1.06)}}@keyframes passing-light{0%,15%{opacity:0;transform:translate(-35%)}35%{opacity:.7}65%,to{opacity:0;transform:translate(35%)}}@keyframes rain-sweep{0%{transform:translate(-2%,-10%)}to{transform:translate(3%,10%)}}@keyframes cinematic-brake{0%,to{filter:saturate(.9)brightness();transform:translate(0)}22%{filter:saturate(.72)brightness(.78);transform:translate(-5px)}54%{filter:saturate(1.15)brightness(1.08);transform:translate(4px)}}@keyframes station-arrival{0%{filter:brightness()}28%{filter:brightness(1.35)saturate(1.15)}to{filter:brightness()}}html.dark .solo-setup-screen:before,html.dark .full-line-screen:before,html.dark .start-screen:before,html.dark .results-screen:before,html.dark .game-lobby-redesign:before{filter:saturate(.9)contrast(1.14);background:linear-gradient(#02050c94,#02050ceb),url(/assets/cantomore-night-platform-hero.webp) 50%/cover no-repeat}html.dark .commute-copy--morning{display:none}html.dark .commute-copy--evening,html.dark .commute-mission-kicker .commute-copy--evening{display:inline}html:not(.dark) .solo-setup-screen,html:not(.dark) .full-line-screen,html:not(.dark) .start-screen,html:not(.dark) .results-screen,html:not(.dark) .game-lobby-redesign{color:#243537;background-color:#e8f1ee}html:not(.dark) .solo-setup-screen:before,html:not(.dark) .full-line-screen:before,html:not(.dark) .start-screen:before,html:not(.dark) .results-screen:before,html:not(.dark) .game-lobby-redesign:before{filter:saturate(.72)contrast(.96);opacity:.9;background:linear-gradient(#ecf7f475,#e2efecb8),url(/assets/commute-cinematic-bg.webp) 50%/cover no-repeat}html:not(.dark) .solo-setup-screen:after,html:not(.dark) .full-line-screen:after,html:not(.dark) .start-screen:after,html:not(.dark) .results-screen:after,html:not(.dark) .game-lobby-redesign:after{background:linear-gradient(#ffffff14,#d2e7e32e),radial-gradient(80% 50% at 50% 0,#53a1a71a,#0000 70%),radial-gradient(50% 70% at 100% 100%,#d2415914,#0000 72%)}.game-shell:before{content:"";z-index:-3;pointer-events:none;background:radial-gradient(65% 55% at 50% 14%,#2c73802e,#0000 72%),linear-gradient(#07151d 0%,#071014 58%,#04080d 100%);animation:18s ease-in-out infinite alternate cinematic-background-drift;position:fixed;inset:-3%;transform:scale(1.04)}html.dark .game-shell:before{background:radial-gradient(58% 50% at 50% 12%,#b148641f,#0000 68%),linear-gradient(#110e18 0%,#090b13 60%,#04070c 100%)}html:not(.dark) .journey-window{background:radial-gradient(70% 70% at 50% 16%,#ffc56c47,#0000 72%),linear-gradient(#244b50 0%,#18363d 54%,#0d242d 100%);border-color:#43757657}html:not(.dark) .journey-window:before{background:linear-gradient(90deg,#091e2375,#0000 20% 80%,#091e2375),linear-gradient(90deg,#d2f3e714 1px,#0000 1px) 0 0/44px 44px,linear-gradient(0deg,#d2f3e712 1px,#0000 1px) 0 0/44px 44px,radial-gradient(45% 80% at 50% 44%,#0000 0 48%,#08181f38 100%)}@media (width<=620px){.route-activity-indicator{gap:6px;width:calc(100% - 20px);min-width:0;max-width:calc(100% - 20px);padding:6px 0 8px;font-size:9px;top:auto;bottom:0;left:10px}.route-activity-meter{width:auto;min-width:72px;max-width:none}.station-arrival-beacon{min-width:104px;padding:8px 10px}.station-arrival-beacon strong{font-size:20px}.lobby-commute-brief{grid-template-columns:1fr auto;gap:6px 10px}.lobby-commute-brief>span{grid-column:1/-1}.lobby-commute-brief>strong{justify-content:flex-start;font-size:16px}.lobby-commute-brief>em{font-size:10px}.commute-mission-strip{border-radius:13px;gap:10px;margin-top:2px;margin-bottom:8px;padding:9px 10px}.commute-mission-main{gap:4px 8px}.commute-mission-main strong{font-size:16px}.commute-mission-main small{display:none}.commute-mission-progress{min-width:66px;padding-left:9px}.commute-mission-progress strong{font-size:16px}.game-shell.has-mobile-keyboard .commute-mission-strip{display:none}}@media (prefers-reduced-motion:reduce){.solo-setup-screen:before,.full-line-screen:before,.start-screen:before,.results-screen:before,.game-shell:before,.game-lobby-redesign:before,.lobby-title-lockup,.lobby-commute-brief,.lobby-live-demo,.lobby-primary-cta,.journey-window,.journey-window:after,.window-reflection:after,.route-activity-live,.route-typing-pulse,.station-arrival-beacon,.route-train-image,.route-activity-indicator{animation:none}}.game-shell{--game-cyan:#9ae4dc;--game-amber:#ffd166;--game-berry:#f19aad;--game-ink:#07161b;--game-panel:#0a2026}.game-lobby-redesign .lobby-topbar{background:linear-gradient(#f1f9f68f,#f1f9f600)}.game-lobby-redesign .lobby-title-lockup{-webkit-backdrop-filter:blur(10px)saturate(112%);background:#f1f9f6bd;border:1px solid #12303329;border-radius:22px;width:auto;min-width:min(100%,340px);padding:14px 24px 13px;box-shadow:0 14px 34px #173a3c29,inset 0 1px #ffffffb8}.game-lobby-redesign .lobby-subtitle{color:#30494a;text-shadow:0 1px #fff9}.game-lobby-redesign .lobby-secondary-cta small{color:#cde5e1;opacity:.94}.game-lobby-redesign .lobby-logo{-webkit-backdrop-filter:blur(8px);background:#f1f9f6a3;border:1px solid #1230331f;border-radius:13px;padding:5px 8px}html.dark .game-lobby-redesign .lobby-topbar{background:linear-gradient(#051016b8,#05101600)}html.dark .game-lobby-redesign .lobby-title-lockup{background:#051218c7;border-color:#9ae4dc3d;box-shadow:0 14px 34px #0000004d,inset 0 1px #ffffff14}html.dark .game-lobby-redesign .lobby-subtitle{color:#d4e9e5;text-shadow:0 2px 10px #00000075}html.dark .game-lobby-redesign .lobby-logo{background:#051218b3;border-color:#9ae4dc33}html:not(.dark) .game-lobby-redesign .lobby-mode-teasers>span{color:#234143;background:#f6fbf9eb;border-color:#12303329;box-shadow:0 6px 16px #173a3c1a}html:not(.dark) .game-lobby-redesign .lobby-mode-teasers em{color:#536c6c}.game-lobby-redesign .lobby-footer-redesign{text-shadow:0 1px #f2faf7b8,0 2px 8px #0f2a2d2e}html:not(.dark) .game-lobby-redesign .lobby-footer-redesign{color:#3c5656}html:not(.dark) .game-lobby-redesign .lobby-footer-redesign span:first-child{color:#233f40}@media (width<=620px){.game-lobby-redesign .lobby-title-lockup{border-radius:18px;width:min(100%,360px);min-width:0;padding-inline:14px}.game-lobby-redesign .lobby-topbar{background:linear-gradient(#f1f9f6b3,#f1f9f600)}html.dark .game-lobby-redesign .lobby-topbar{background:linear-gradient(#051016d1,#05101600)}}.game-lobby-redesign .lobby-title-lockup{width:100%;min-width:0;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.game-lobby-redesign .lobby-title-lockup h1>span,.game-lobby-redesign .lobby-title-lockup h1>strong{text-shadow:0 2px #f6fcf99e,0 8px 24px #071a1f57}.commuter-scene .commute-copy--evening,html.dark .commuter-scene .commute-copy--morning{display:none}html.dark .commuter-scene .commute-copy--evening{display:inline-flex}.commuter-scene{isolation:isolate;cursor:crosshair;touch-action:manipulation;background:#06151b;border:1px solid #9ae4dc57;border-radius:28px;width:100%;min-height:clamp(410px,52vh,540px);position:relative;overflow:hidden;box-shadow:0 24px 60px #0a30353d,inset 0 1px #ffffff1a}.commuter-scene:before,.commuter-scene:after{z-index:1;pointer-events:none;content:"";position:absolute;inset:0}.commuter-scene:before{background:linear-gradient(90deg,#030e1394,#0000 30% 72%,#030e136b),linear-gradient(#030e1338,#0000 36%,#030e135c)}.commuter-scene:after{background:linear-gradient(#0000,#030c11db);height:42%;top:auto}.commuter-scene-canvas{z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.commuter-scene-topline,.commuter-scene-route-copy,.commuter-scene-target,.commuter-scene-speed,.commuter-scene-rides{z-index:3;position:absolute}.commuter-scene-topline{color:#d6f1ebc7;font:700 10px/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;display:flex;top:17px;left:20px;right:20px}.commuter-scene-topline span,.commuter-scene-topline em{white-space:nowrap;align-items:center;gap:7px;font-style:normal;display:inline-flex}.commuter-scene-topline span{color:var(--game-amber)}.commuter-scene-topline em{color:#d6f1eb94}.commuter-scene-route-copy{text-shadow:0 3px 16px #00000075;gap:5px;display:grid;top:68px;left:24px}.commuter-scene-route-copy small,.commuter-scene-route-copy span{color:#d6f1eb9e;font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.commuter-scene-route-copy span{color:var(--game-cyan);letter-spacing:.05em;text-transform:none}.commuter-scene-route-copy strong{color:#f3faf6;font:850 clamp(20px, 3.4vw, 31px)/1 var(--font-sans);letter-spacing:.02em;align-items:center;gap:7px;display:inline-flex}.commuter-scene-route-copy svg{color:var(--game-cyan)}.commuter-scene-target{text-align:center;text-shadow:0 4px 22px #0000008f;justify-items:center;gap:6px;min-width:210px;display:grid;top:43%;left:50%;transform:translate(-50%,-50%)}.commuter-scene-target small{color:#d6f1ebb8;font:700 10px/1 var(--font-mono);letter-spacing:.14em}.commuter-scene-target strong{color:#f4fbf8;font:900 clamp(34px, 6vw, 58px)/.98 var(--font-sans);letter-spacing:.06em}.commuter-scene-target>span{color:var(--game-amber);font:600 clamp(12px, 1.7vw, 16px)/1 var(--font-mono);letter-spacing:.26em}.commuter-scene-target button{color:#d8fff5;min-height:34px;font:700 10px/1 var(--font-sans);-webkit-backdrop-filter:blur(8px);transition:transform .16s var(--ease-out), background-color .16s var(--ease-out);background:#072329db;border:1px solid #9ae4dc9e;border-radius:999px;align-items:center;gap:7px;margin-top:3px;padding:0 12px;display:inline-flex;box-shadow:0 0 20px #59dacc1f,inset 0 1px #ffffff1a}.commuter-scene-target button:hover,.commuter-scene-target button:focus-visible{background:#1d5355d6;transform:translateY(-2px)}.commuter-scene-speed{color:#d6f1eb9e;font:700 9px/1 var(--font-mono);letter-spacing:.11em;text-align:right;text-transform:uppercase;justify-items:end;gap:5px;display:grid;bottom:116px;right:23px}.commuter-scene-speed strong{color:var(--game-cyan);font:850 clamp(18px, 3vw, 27px)/1 var(--font-mono);letter-spacing:0}.commuter-scene-speed strong em{color:#d6f1ebb3;letter-spacing:.08em;font-size:9px;font-style:normal}.commuter-scene-speed i{background:linear-gradient(90deg, transparent, var(--game-amber));width:54px;height:2px;display:block;box-shadow:0 0 12px #ffd166a3}.commuter-scene-speed small{color:#d6f1eb80;letter-spacing:.04em;text-transform:none;font-size:9px}.commuter-scene-rides{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid;bottom:18px;left:20px;right:20px}.scene-ride{color:#e9f7f2;text-align:left;-webkit-backdrop-filter:blur(9px);min-width:0;min-height:65px;transition:transform .18s var(--ease-out), background-color .18s var(--ease-out), border-color .18s var(--ease-out);background:#051419bd;border:0;border-top:1px solid #9ae4dc66;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:0 15px;display:grid;position:relative;overflow:hidden}.scene-ride:after{content:"";background:var(--game-cyan);transform-origin:0;height:2px;transition:transform .22s var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(.18)}.scene-ride:hover,.scene-ride:focus-visible{background:#1a494dc2;border-top-color:currentColor;transform:translateY(-3px)}.scene-ride:hover:after,.scene-ride:focus-visible:after{transform:scaleX(1)}.scene-ride--learn{color:var(--game-cyan)}.scene-ride--challenge{color:var(--game-amber)}.scene-ride span{gap:4px;min-width:0;display:grid}.scene-ride strong{color:#f3faf6;font:800 18px/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-ride small{color:#d6f1ebdb;font:600 10px/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-lobby-redesign .lobby-mode-teasers{justify-content:flex-start;gap:18px;width:100%;padding-inline:4px}.game-lobby-redesign .lobby-mode-teasers>span,html:not(.dark) .game-lobby-redesign .lobby-mode-teasers>span{box-shadow:none;color:#1e4546d1;font:700 10px/1.2 var(--font-mono);letter-spacing:.04em;background:0 0;border:0;border-radius:0;padding:0}.game-lobby-redesign .lobby-mode-teasers em,html:not(.dark) .game-lobby-redesign .lobby-mode-teasers em{color:#365859ad}html.dark .game-lobby-redesign .lobby-mode-teasers>span{color:#d6f1ebc7}html.dark .game-lobby-redesign .lobby-mode-teasers em{color:#d6f1eb8f}@media (width<=620px){.commuter-scene{border-radius:22px;min-height:460px}.commuter-scene-topline{font-size:8px;top:14px;left:14px;right:14px}.commuter-scene-route-copy{top:60px;left:17px}.commuter-scene-route-copy strong{font-size:21px}.commuter-scene-target{top:42%}.commuter-scene-target strong{font-size:41px}.commuter-scene-target>span{letter-spacing:.2em;font-size:11px}.commuter-scene-speed{bottom:126px;right:17px}.commuter-scene-rides{grid-template-columns:1fr;gap:2px;bottom:14px;left:14px;right:14px}.scene-ride{min-height:57px}}@media (prefers-reduced-motion:reduce){.commuter-scene,.scene-ride,.commuter-scene-target button{transition:none}}.game-shell>.game-stage>.event-debug-panel{right:auto;top:56px!important;bottom:auto!important;left:12px!important}@media (width<=620px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:46px minmax(0,1fr) clamp(266px,42dvh,342px) 0;gap:6px;padding-inline:8px}}@media (orientation:landscape) and (height<=620px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:42px minmax(112px,1fr) clamp(174px,52dvh,228px) 0;gap:4px;padding-inline:12px}.game-shell>.game-stage>.event-debug-panel{top:46px!important}}.game-shell.has-mobile-keyboard .journey-event-scene{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.game-shell.has-mobile-keyboard .journey-event-scene,.game-shell.has-mobile-keyboard .journey-event-scene *,.game-shell.has-mobile-keyboard .journey-event-scene:before,.game-shell.has-mobile-keyboard .journey-event-scene:after,.game-shell.has-mobile-keyboard .journey-event-scene :before,.game-shell.has-mobile-keyboard .journey-event-scene :after{animation-iteration-count:1!important}.shield-revival-burst{z-index:250;pointer-events:none;color:#eafff6;text-align:center;text-shadow:0 3px 18px #000000b8;background:radial-gradient(circle,#5deabb3d,#0000 34%),#030d1261;place-content:center;justify-items:center;gap:8px;animation:1.65s cubic-bezier(.16,1,.3,1) both shield-revival-burst;display:grid;position:absolute;inset:0}.shield-revival-burst svg{color:#73f1c0;filter:drop-shadow(0 0 18px #73f1c0bd);animation:1.65s cubic-bezier(.16,1,.3,1) both shield-revival-icon}.shield-revival-burst strong{color:#9dffd7;font:950 clamp(34px, 7vw, 66px)/.9 var(--font-display);letter-spacing:.08em}.shield-revival-burst span{color:#e6fff6e0;font:800 11px/1.2 var(--font-mono);letter-spacing:.1em}@keyframes shield-revival-burst{0%{opacity:0;background-size:20% 20%}16%{opacity:1;background-size:120% 120%}72%{opacity:1}to{opacity:0;background-size:180% 180%}}@keyframes shield-revival-icon{0%{transform:scale(.55)rotate(-12deg)}28%{transform:scale(1.25)rotate(4deg)}52%{transform:scale(.98)rotate(0)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.shield-revival-burst,.shield-revival-burst svg{animation:none}}.learning-sound-lesson{--sound-initial:var(--brand-expression-text);--sound-initial-soft:var(--brand-expression-soft);--sound-nucleus:var(--berry-700);--sound-nucleus-soft:var(--brand-expression-soft);--sound-coda:var(--berry-700);--sound-coda-soft:var(--sound-coda)}@supports (color:color-mix(in lab, red, red)){.learning-sound-lesson{--sound-coda-soft:color-mix(in srgb, var(--sound-coda) 12%, var(--surface-raised))}}.learning-sound-lesson{--sound-ink:var(--text-primary);--sound-muted:var(--text-secondary);--sound-border:var(--brand-expression-border)}@supports (color:color-mix(in lab, red, red)){.learning-sound-lesson{--sound-border:color-mix(in srgb, var(--brand-expression-border) 68%, var(--surface))}}.learning-sound-lesson{--sound-panel-deep:var(--surface-raised);--sound-on-accent:var(--action-primary-text);z-index:1;width:min(100%,1040px);padding-bottom:max(20px, env(safe-area-inset-bottom));color:var(--sound-ink);gap:clamp(12px,1.6vw,20px);margin:0 auto;display:grid;position:relative}html.dark .learning-sound-lesson{--sound-initial:var(--brand-expression-strong);--sound-nucleus:var(--brand-expression);--sound-coda:var(--berry-400);--sound-on-accent:var(--neutral-950);--sound-ink:#eaf7f3;--sound-muted:#d6f1ebb8;--sound-border:var(--brand-expression-border)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-lesson{--sound-border:color-mix(in srgb, var(--brand-expression-border) 58%, transparent)}}html.dark .learning-sound-lesson{--sound-panel-deep:#071b22e0}html.dark .learning-sound-lesson .cm-page-title{text-shadow:0 4px 18px #0006}html.dark .learning-sound-initial-picker{background:linear-gradient(145deg,#0a262ddb,#071b22f0);border-color:#9ae4dc3d;position:relative;overflow:hidden;box-shadow:0 12px 30px #03121766,inset 0 1px #ecfff914}html.dark .learning-sound-initial-picker:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(115deg,#0000 0 44%,#ff9a570f 50%,#0000 56% 100%);animation:9s ease-in-out infinite learning-panel-sweep;position:absolute;inset:0;transform:translate(-105%)}html.dark .learning-sound-initial-choices{z-index:1;position:relative}html.dark .learning-sound-initial-table th{color:#d6f1ebc7}html.dark .learning-sound-initial-choices button{color:#eaf7f3;background:#071b22e0;border-color:#9ae4dc3d;box-shadow:inset 0 1px #ecfff912}html.dark .learning-sound-initial-choices button:hover,html.dark .learning-sound-initial-choices button:focus-visible{border-color:var(--sound-initial);color:var(--sound-initial);background:#123a40f5;box-shadow:inset 0 1px #ecfff91a,0 0 12px #ff9a572e}html.dark .learning-sound-initial-choices button.is-selected{border-color:var(--sound-initial);background:var(--brand-expression-soft);color:var(--sound-initial);box-shadow:inset 0 0 0 2px var(--sound-initial), 0 0 16px #ff9a573d}html.dark .learning-sound-initial-choices button.is-selected .learning-sound-onset-reading{color:currentColor}html.dark .learning-sound-syllable-row{background:#070d12}html.dark .learning-sound-part{color:#eaf7f3;background:#071b22e0;border-color:#9ae4dc3d;box-shadow:inset 0 1px #ecfff912}html.dark .learning-sound-part.is-active{box-shadow:inset 0 1px #ecfff91f,0 0 20px}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-part.is-active{box-shadow:inset 0 1px #ecfff91f, 0 0 20px color-mix(in srgb, currentColor 22%, transparent)}}html.dark .learning-sound-part--initial.is-active{border-color:var(--sound-initial);background:var(--sound-initial)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-part--initial.is-active{background:color-mix(in srgb, var(--sound-initial) 14%, #071b22e0)}}html.dark .learning-sound-part--initial.is-active{box-shadow:inset 0 0 0 2px var(--sound-initial), 0 0 24px var(--sound-initial)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-part--initial.is-active{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--sound-initial) 40%, transparent), 0 0 24px color-mix(in srgb, var(--sound-initial) 20%, transparent)}}html.dark .learning-sound-part--nucleus.is-active{border-color:var(--sound-nucleus);background:var(--sound-nucleus)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-part--nucleus.is-active{background:color-mix(in srgb, var(--sound-nucleus) 14%, #071b22e0)}}html.dark .learning-sound-part--nucleus.is-active{box-shadow:inset 0 0 0 2px var(--sound-nucleus), 0 0 24px var(--sound-nucleus)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-part--nucleus.is-active{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--sound-nucleus) 40%, transparent), 0 0 24px color-mix(in srgb, var(--sound-nucleus) 20%, transparent)}}html.dark .learning-sound-part--coda.is-active{border-color:var(--sound-coda);background:var(--sound-coda)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-part--coda.is-active{background:color-mix(in srgb, var(--sound-coda) 14%, #071b22e0)}}html.dark .learning-sound-part--coda.is-active{box-shadow:inset 0 0 0 2px var(--sound-coda), 0 0 24px var(--sound-coda)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-part--coda.is-active{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--sound-coda) 40%, transparent), 0 0 24px color-mix(in srgb, var(--sound-coda) 18%, transparent)}}html.dark .learning-sound-map-scroll{background:#071b22e0;border-color:#9ae4dc3d;box-shadow:inset 0 1px #ecfff90f}html.dark .learning-sound-map-table thead th{color:#eaf7f3;background:#9ae4dc17}html.dark .learning-sound-final-choice,html.dark .learning-sound-final-missing{color:#d6f1ebb8}html.dark .learning-sound-final-choice:hover,html.dark .learning-sound-final-choice:focus-visible{color:var(--sound-nucleus);box-shadow:inset 0 0 0 1px var(--sound-nucleus);background:#123a40f5}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-final-choice:hover,html.dark .learning-sound-final-choice:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sound-nucleus) 40%, transparent)}}html.dark .learning-sound-final-choice.is-selected{background:var(--sound-nucleus-soft);color:var(--sound-nucleus);box-shadow:inset 0 0 0 2px var(--sound-nucleus), 0 0 14px var(--sound-nucleus)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-final-choice.is-selected{box-shadow:inset 0 0 0 2px var(--sound-nucleus), 0 0 14px color-mix(in srgb, var(--sound-nucleus) 22%, transparent)}}html.dark .learning-sound-explanation{border-color:#9ae4dc3d;border-top-color:var(--sound-nucleus);box-shadow:3px 4px 0 var(--sound-nucleus), 0 12px 30px #0312174d;background:linear-gradient(145deg,#0a262ddb,#071b22f0);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-explanation{box-shadow:3px 4px 0 color-mix(in srgb, var(--sound-nucleus) 20%, transparent), 0 12px 30px #0312174d}}html.dark .learning-sound-explanation{color:#eaf7f3}html.dark .learning-sound-explanation__number{background:var(--sound-nucleus);color:var(--sound-on-accent);box-shadow:0 0 12px var(--sound-nucleus)}@supports (color:color-mix(in lab, red, red)){html.dark .learning-sound-explanation__number{box-shadow:0 0 12px color-mix(in srgb, var(--sound-nucleus) 30%, transparent)}}html.dark .learning-sound-explanation p{color:#d6f1ebb8}.learning-sound-lesson .cm-page-title{text-shadow:0 4px 18px #03121747;max-width:720px;margin:0;padding:0}.learning-sound-lesson .cm-page-title:before{display:none}.learning-sound-lesson .cm-page-title h1{letter-spacing:-.045em;max-width:650px;font-size:clamp(24px,3.2vw,40px)}.learning-sound-title__secondary{color:var(--sound-muted);font:700 clamp(16px, 1.8vw, 24px)/1.1 var(--font-sans);letter-spacing:.01em;margin-top:7px;display:block}.learning-sound-hero,.learning-sound-map-card{min-width:0;box-shadow:none;background:0 0;border:0;gap:clamp(10px,1.2vw,16px);padding:0;display:grid;position:relative}.learning-sound-hero:after,.learning-sound-map-card:after{display:none}.learning-sound-hero>*,.learning-sound-map-card>*{z-index:1;position:relative}.learning-sound-initial-title,.learning-sound-map-title{margin:0!important}.learning-sound-initial-column,.learning-sound-final-column{flex-direction:column;gap:12px;min-width:0;display:flex}.learning-sound-pairing-key{color:var(--sound-muted);text-align:right;margin:0;font-size:11px;line-height:1.35}.learning-sound-syllable-row{z-index:10;background:var(--page);align-items:center;gap:10px;min-width:0;margin-top:calc(-1*clamp(14px,2.4vh,26px) - 24px);margin-left:calc(-1*clamp(16px,4vw,32px));margin-right:calc(-1*clamp(16px,4vw,32px));padding:calc(clamp(14px,2.4vh,26px) + 24px) clamp(16px,4vw,32px) 12px;display:flex;position:sticky;top:calc(-1*clamp(14px,2.4vh,26px) - 24px);-webkit-mask-image:linear-gradient(#0000 0%,#000 36px calc(100% - 12px),#0000 100%);mask-image:linear-gradient(#0000 0%,#000 36px calc(100% - 12px),#0000 100%)}.learning-sound-kicker{color:var(--sound-coda);font:800 10px/1.2 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;display:block}.learning-sound-map-card h2,.learning-sound-initial-title,.learning-sound-map-title{color:var(--sound-ink);letter-spacing:-.03em;margin:0;font-size:clamp(18px,2.4vw,28px)}.learning-sound-part,.learning-sound-final-choice{border:1px solid var(--sound-border);background:var(--sound-panel-deep);color:var(--sound-ink);cursor:pointer;transition:transform .16s var(--ease-out), border-color .16s var(--ease-out), background-color .16s var(--ease-out), box-shadow .16s var(--ease-out)}.learning-sound-initial-picker{border:1px solid var(--brand-expression-border);background:var(--brand-expression-soft);border-radius:15px 6px;gap:10px;padding:14px;display:grid}.learning-sound-initial-choices{min-width:0}.learning-sound-initial-table{table-layout:fixed;border-collapse:separate;border-spacing:5px;width:100%}.learning-sound-initial-table th{height:28px;color:var(--sound-muted);font:800 clamp(10px, 1vw, 12px)/1.15 var(--font-sans);text-align:center;padding:0 2px 3px}.learning-sound-initial-table td{vertical-align:stretch;padding:0}.learning-sound-initial-choices button{border:1px solid var(--brand-expression-border);background:var(--surface);border-radius:9px 4px;place-content:center;justify-items:center;gap:4px;width:100%;min-width:0;min-height:58px;padding:7px 3px;display:grid}@supports (color:color-mix(in lab, red, red)){.learning-sound-initial-choices button{background:color-mix(in srgb, var(--surface) 86%, var(--brand-expression-soft))}}.learning-sound-initial-choices button{color:var(--sound-ink);cursor:pointer;touch-action:manipulation;transition:transform .16s var(--ease-out), border-color .16s var(--ease-out), background-color .16s var(--ease-out), color .16s var(--ease-out)}.learning-sound-onset-example{flex-direction:row;justify-content:center;align-items:baseline;gap:4px;min-width:0;line-height:1;display:flex}.learning-sound-onset-example strong{font:900 15px/1 var(--font-mono)}.learning-sound-onset-example>span{color:var(--sound-muted);font:750 10px/1 var(--font-mono)}.learning-sound-onset-reading{color:var(--sound-muted);font:750 10px/1 var(--font-mono);letter-spacing:.01em;justify-content:center;align-items:center;gap:3px;display:inline-flex}.learning-sound-onset-reading svg{opacity:.72;transition:transform .16s var(--ease-out), opacity .16s var(--ease-out);flex:none}.learning-sound-initial-choices button.is-playing .learning-sound-onset-reading svg{color:var(--sound-initial);opacity:1;transform:scale(1.16)}.learning-sound-initial-choices button:hover,.learning-sound-initial-choices button:focus-visible{border-color:var(--brand-expression);background:var(--brand-expression-soft)}@supports (color:color-mix(in lab, red, red)){.learning-sound-initial-choices button:hover,.learning-sound-initial-choices button:focus-visible{background:color-mix(in srgb, var(--brand-expression-soft) 78%, var(--brand-expression))}}.learning-sound-initial-choices button:hover,.learning-sound-initial-choices button:focus-visible{color:var(--brand-expression-text);transform:translateY(-2px)}.learning-sound-initial-choices button.is-selected{border-color:var(--sound-initial);background:var(--brand-expression-soft);color:var(--sound-initial);box-shadow:inset 0 0 0 2px var(--sound-initial);animation:.32s cubic-bezier(.16,1,.3,1) learning-sound-onset-pop;transform:translateY(-1px)}.learning-sound-initial-choices button.is-less-common:not(.is-selected),.learning-sound-final-choice.is-less-common:not(.is-selected){opacity:.5;filter:grayscale(.55)}.learning-sound-initial-choices button.is-less-common.is-selected,.learning-sound-final-choice.is-less-common.is-selected{opacity:.5;filter:grayscale(.3)}.learning-sound-initial-choices button.is-less-common:not(.is-selected):hover,.learning-sound-initial-choices button.is-less-common:not(.is-selected):focus-visible,.learning-sound-final-choice.is-less-common:not(.is-selected):hover,.learning-sound-final-choice.is-less-common:not(.is-selected):focus-visible{opacity:1;filter:none}.learning-sound-onset-notes{z-index:1;border-top:1px dashed var(--sound-border);color:var(--sound-muted);gap:6px;padding-top:9px;font-size:11px;line-height:1.45;display:grid;position:relative}.learning-sound-onset-notes p{align-items:flex-start;gap:6px;margin:0;display:flex}.learning-sound-onset-notes p:last-child{align-items:center;min-height:20px}.learning-sound-onset-notes strong,.learning-sound-onset-notes b{color:var(--sound-ink)}.learning-sound-onset-pairs,.learning-sound-zero-onset{font-family:var(--font-mono)}.learning-sound-zero-onset{min-width:1ch}.learning-sound-onset-notes .is-unavailable{color:var(--status-caution)}.learning-sound-info-note{border-top:1px dashed var(--sound-border);color:var(--sound-muted);gap:3px;margin:0;padding-top:10px;font-size:11px;line-height:1.45;display:grid}.learning-sound-info-note small{color:var(--sound-muted)}@supports (color:color-mix(in lab, red, red)){.learning-sound-info-note small{color:color-mix(in srgb, var(--sound-muted) 82%, transparent)}}.learning-sound-info-note strong{color:var(--sound-ink);font-family:var(--font-mono)}.learning-sound-map-scroll .learning-sound-info-note{margin:0 10px 10px}.learning-sound-syllable{justify-content:center;align-items:stretch;gap:clamp(6px,1.4vw,16px);padding:clamp(8px,1.4vw,16px) 0;display:flex}.learning-sound-part{text-align:center;border-radius:20px 7px;place-content:center;gap:9px;min-width:clamp(84px,14vw,150px);min-height:clamp(106px,14vw,142px);display:grid}.learning-sound-part small{color:var(--sound-muted);font-size:12px}.learning-sound-part strong{font:950 clamp(34px, 6vw, 64px)/.9 var(--font-mono);letter-spacing:-.09em}.learning-sound-part--initial strong{color:var(--sound-initial)}.learning-sound-part--nucleus strong{color:var(--sound-nucleus)}.learning-sound-part--coda strong{color:var(--sound-coda)}.learning-sound-part:hover,.learning-sound-part:focus-visible,.learning-sound-part.is-active{background:var(--sound-nucleus);border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.learning-sound-part:hover,.learning-sound-part:focus-visible,.learning-sound-part.is-active{background:color-mix(in srgb, var(--sound-nucleus) 14%, transparent)}}.learning-sound-part:hover,.learning-sound-part:focus-visible,.learning-sound-part.is-active{box-shadow:0 0 0 4px var(--sound-nucleus), var(--shadow-2)}@supports (color:color-mix(in lab, red, red)){.learning-sound-part:hover,.learning-sound-part:focus-visible,.learning-sound-part.is-active{box-shadow:0 0 0 4px color-mix(in srgb, var(--sound-nucleus) 10%, transparent), var(--shadow-2)}}.learning-sound-part:hover,.learning-sound-part:focus-visible,.learning-sound-part.is-active{animation:.36s cubic-bezier(.16,1,.3,1) learning-sound-part-pop;transform:translateY(-4px)rotate(-1deg)}.learning-sound-part--initial.is-active{border-color:var(--sound-initial);background:var(--sound-initial)}@supports (color:color-mix(in lab, red, red)){.learning-sound-part--initial.is-active{background:color-mix(in srgb, var(--sound-initial) 14%, transparent)}}.learning-sound-part--initial.is-active{box-shadow:0 0 0 4px var(--sound-initial), var(--shadow-2)}@supports (color:color-mix(in lab, red, red)){.learning-sound-part--initial.is-active{box-shadow:0 0 0 4px color-mix(in srgb, var(--sound-initial) 10%, transparent), var(--shadow-2)}}.learning-sound-part--nucleus.is-active{border-color:var(--sound-nucleus)}.learning-sound-part--coda.is-active{border-color:var(--sound-coda);background:var(--sound-coda-soft);box-shadow:0 0 0 4px var(--sound-coda), var(--shadow-2)}@supports (color:color-mix(in lab, red, red)){.learning-sound-part--coda.is-active{box-shadow:0 0 0 4px color-mix(in srgb, var(--sound-coda) 8%, transparent), var(--shadow-2)}}.learning-sound-plus{color:var(--sound-muted);font:900 clamp(20px, 3vw, 30px)/1 var(--font-mono);align-self:center}.learning-sound-explanation{border:1px solid var(--brand-expression-border);border-top:4px solid var(--sound-nucleus);background:var(--sound-nucleus-soft);min-height:108px;box-shadow:3px 4px 0 var(--sound-nucleus);border-radius:4px 12px;align-items:center;gap:12px;padding:6px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.learning-sound-explanation{box-shadow:3px 4px 0 color-mix(in srgb, var(--sound-nucleus) 28%, transparent)}}.learning-sound-explanation{color:var(--sound-ink);animation:.28s ease-out learning-sound-explanation-in}.learning-sound-explanation__number{background:var(--sound-nucleus);width:34px;height:34px;color:var(--sound-on-accent);font:900 16px/1 var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.learning-sound-explanation strong{color:var(--sound-ink);font-size:16px}.learning-sound-explanation em{color:var(--sound-nucleus);font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-left:7px}.learning-sound-explanation p{color:var(--sound-muted);margin:3px 0 0;font-size:14px}.learning-sound-explanation__english{margin-top:2px;display:block}.learning-sound-station-match{border:1px solid var(--sound-border);border-left:4px solid var(--sound-coda);background:var(--sound-panel-deep);min-width:150px;min-height:64px;color:var(--sound-ink);text-align:left;cursor:pointer;transition:border-color .16s var(--ease-out), background-color .16s var(--ease-out), transform .16s var(--ease-out);border-radius:5px 12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-left:auto;padding:8px 12px;display:grid}.learning-sound-station-match:hover,.learning-sound-station-match:focus-visible{border-color:var(--sound-coda);background:var(--sound-coda-soft);transform:translateY(-2px)}.learning-sound-station-match>svg{color:var(--sound-coda)}.learning-sound-station-match__content{gap:3px;min-width:0;display:grid}.learning-sound-station-match__content small{color:var(--sound-muted);font:750 10px/1.1 var(--font-sans)}.learning-sound-station-match__name{overflow-wrap:anywhere;font:800 13px/1.25 var(--font-sans)}.learning-sound-station-match__char{color:var(--status-positive);font-weight:800}.learning-sound-map-scroll{overscroll-behavior-inline:contain;border:1px solid var(--sound-border);background:var(--sound-panel-deep);scrollbar-color:var(--sound-nucleus) transparent;border-radius:15px 6px;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.learning-sound-map-scroll{scrollbar-color:color-mix(in srgb, var(--sound-nucleus) 45%, transparent) transparent}}.learning-sound-map-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;font-family:var(--font-mono)}.learning-sound-map-table th,.learning-sound-map-table td{border:1px solid var(--sound-border);height:44px;padding:0}@supports (color:color-mix(in lab, red, red)){.learning-sound-map-table th,.learning-sound-map-table td{border:1px solid color-mix(in srgb, var(--sound-border) 72%, transparent)}}.learning-sound-map-table th,.learning-sound-map-table td{text-align:center}.learning-sound-map-table thead th{background:var(--sound-coda)}@supports (color:color-mix(in lab, red, red)){.learning-sound-map-table thead th{background:color-mix(in srgb, var(--sound-coda) 9%, transparent)}}.learning-sound-map-table thead th{color:var(--sound-ink);font-size:12px}.learning-sound-map-table tbody th[scope=row]{background:var(--sound-nucleus)}@supports (color:color-mix(in lab, red, red)){.learning-sound-map-table tbody th[scope=row]{background:color-mix(in srgb, var(--sound-nucleus) 18%, var(--sound-panel-deep))}}.learning-sound-map-table tbody th[scope=row]{border-inline-end:3px solid var(--sound-nucleus)}@supports (color:color-mix(in lab, red, red)){.learning-sound-map-table tbody th[scope=row]{border-inline-end:3px solid color-mix(in srgb, var(--sound-nucleus) 58%, var(--sound-panel-deep))}}.learning-sound-map-table tbody th[scope=row]{color:var(--sound-ink);font-size:12px}.learning-sound-phonetic-label{flex-direction:column;justify-content:center;align-items:center;gap:3px;line-height:1;display:inline-flex}.learning-sound-phonetic-label strong{font:850 12px/1 var(--font-mono)}.learning-sound-map-table .learning-sound-phonetic-label small{color:var(--sound-muted);font:700 10px/1 var(--font-mono)}.learning-sound-axis-corner-label{justify-content:center;align-items:center;min-width:44px;min-height:44px;line-height:1;display:inline-flex}.learning-sound-axis-corner-label sub,.learning-sound-axis-corner-label sup{font-size:11px;line-height:1;position:relative}.learning-sound-axis-corner-label sub{top:5px}.learning-sound-axis-corner-label sup{top:-5px}.learning-sound-axis-corner-label>span{color:var(--sound-muted);font-size:17px;font-weight:500}.learning-sound-map-table tbody tr.has-nucleus-group-break>*{border-top:4px solid var(--sound-nucleus)}@supports (color:color-mix(in lab, red, red)){.learning-sound-map-table tbody tr.has-nucleus-group-break>*{border-top:4px solid color-mix(in srgb, var(--sound-nucleus) 28%, var(--sound-panel-deep))}}.learning-sound-map-table .has-coda-group-break{border-left:4px solid var(--sound-coda)}@supports (color:color-mix(in lab, red, red)){.learning-sound-map-table .has-coda-group-break{border-left:4px solid color-mix(in srgb, var(--sound-coda) 38%, var(--sound-panel-deep))}}.learning-final-map tbody tr.has-nucleus-group-break>*{border-top:4px solid var(--border-subtle)}.learning-sound-map-table th small{color:var(--sound-muted);font:700 8px/1 var(--font-mono)}.learning-sound-final-choice,.learning-sound-final-missing{width:100%;min-width:44px;height:100%;min-height:44px;color:var(--sound-muted);font:800 13px/1 var(--font-mono);background:0 0;border:0;border-radius:0;place-items:center;display:grid}.learning-sound-final-choice{box-shadow:inset 0 0 0 1px var(--sound-border)}@supports (color:color-mix(in lab, red, red)){.learning-sound-final-choice{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sound-border) 76%, transparent)}}.learning-sound-final-choice:hover,.learning-sound-final-choice:focus-visible,.learning-sound-final-choice.is-selected{background:var(--sound-nucleus-soft);color:var(--sound-nucleus);box-shadow:inset 0 0 0 2px var(--sound-nucleus);transform:none}.learning-sound-final-choice.is-selected{animation:.32s cubic-bezier(.16,1,.3,1) learning-sound-cell-pop}.learning-sound-final-missing{color:var(--sound-muted)}@supports (color:color-mix(in lab, red, red)){.learning-sound-final-missing{color:color-mix(in srgb, var(--sound-muted) 30%, transparent)}}.learning-sound-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.learning-sound-footer .cm-button[data-variant=primary]{border-color:var(--sound-nucleus);background:linear-gradient(110deg, var(--sound-nucleus), var(--sound-initial));min-width:190px;color:var(--sound-on-accent);box-shadow:0 5px 0 var(--berry-700), var(--shadow-2)}.learning-sound-footer .cm-button[data-variant=primary]:hover,.learning-sound-footer .cm-button[data-variant=primary]:focus-visible{background:linear-gradient(110deg, var(--sound-initial), var(--sound-nucleus));box-shadow:0 7px 0 var(--berry-700), var(--shadow-2);transform:translateY(-2px)}@keyframes learning-sound-part-pop{0%{transform:translateY(0)scale(.94)}70%{transform:translateY(-5px)scale(1.04)}to{transform:translateY(-4px)rotate(-1deg)scale(1)}}@keyframes learning-sound-explanation-in{0%{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes learning-sound-cell-pop{0%{transform:scale(1)}70%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes learning-sound-onset-pop{0%{transform:scale(.9)}70%{transform:scale(1.02)}to{transform:translateY(-1px)}}@media (width>=900px){.learning-sound-lesson{grid-template-columns:minmax(220px,.42fr) minmax(0,.58fr);align-items:start;gap:14px}.learning-sound-lesson>.cm-page-title{grid-area:1/1/auto/-1;align-self:center}.learning-sound-lesson>.learning-sound-syllable-row{grid-area:2/1/auto/-1}.learning-sound-hero{grid-area:3/1/auto/-1;align-items:start;gap:12px;display:grid}.learning-sound-hero .learning-sound-explanation{grid-column:1;min-height:108px;padding:6px 12px}.learning-sound-map-card{grid-area:4/1/auto/-1;grid-template-columns:minmax(150px,.34fr) minmax(0,.66fr);align-items:start;gap:12px}.learning-sound-initial-column,.learning-sound-final-column{gap:8px}.learning-sound-hero .learning-sound-part{flex:1 1 0;min-width:96px;min-height:58px}.learning-sound-hero .learning-sound-part strong{font-size:clamp(20px,2.6vw,32px)}.learning-sound-hero .learning-sound-plus{font-size:clamp(14px,1.6vw,20px)}.learning-sound-hero .learning-sound-explanation__number{width:28px;height:28px;font-size:14px}.learning-sound-initial-column{grid-area:2/1;min-width:0}.learning-sound-final-column{grid-area:2/2;min-width:0}.learning-sound-pairing-key{grid-area:1/1/auto/-1}.learning-sound-initial-choices{min-width:0}.learning-sound-initial-choices button{min-height:54px}.learning-sound-initial-picker{gap:6px;padding:10px}.learning-sound-map-table th,.learning-sound-map-table td{height:46px;padding:0}.learning-sound-final-choice,.learning-sound-final-missing{min-height:44px;font-size:12px}.learning-sound-lesson>.learning-sound-footer{grid-area:5/1/auto/-1}}@media (width<=620px){.learning-sound-lesson{gap:16px}.learning-sound-hero,.learning-sound-map-card{border-radius:0;padding:0}.learning-sound-map-card h2{font-size:22px}.learning-sound-syllable-row{flex-wrap:wrap;gap:6px}.learning-sound-syllable{flex:100%;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:5px;display:grid}.learning-sound-initial-choices{min-width:0}.learning-sound-initial-choices button{min-height:58px;padding-inline:2px}.learning-sound-initial-picker{gap:8px;padding:8px}.learning-sound-initial-table{border-spacing:3px 5px}.learning-sound-initial-table th{font-size:10px}.learning-sound-onset-example{gap:3px}.learning-sound-onset-example strong{font-size:13px}.learning-sound-onset-example>span{font-size:10px}.learning-sound-part{border-radius:15px 6px;width:auto;min-width:0;min-height:78px}.learning-sound-part strong{font-size:clamp(28px,10vw,44px)}.learning-sound-part small{font-size:11px}.learning-sound-plus{justify-self:center;font-size:18px}.learning-sound-explanation{min-height:108px;padding:6px 10px}.learning-sound-explanation__number{width:28px;height:28px;font-size:13px}.learning-sound-map-title{text-wrap:balance;white-space:normal}.learning-sound-station-match{width:100%;min-height:54px;margin:0}.learning-sound-map-table{min-width:440px}.learning-sound-map-table th,.learning-sound-map-table td{height:46px;padding:0}.learning-sound-final-choice,.learning-sound-final-missing{min-height:44px;font-size:12px}.learning-sound-map-table th small{font-size:9px}.learning-sound-footer{flex-direction:column;align-items:stretch}.learning-sound-footer .cm-button[data-variant=primary]{width:100%}}@media (width<=479px){.learning-sound-map-scroll{border-inline:0;border-radius:0;width:100vw;margin-inline:calc(50% - 50vw);padding-inline:0}}.learning-sound-lesson .learning-sound-tone-table-wrap{padding-block:6px}@media (width<=620px){.learning-sound-lesson .learning-sound-tone-table-wrap{padding-inline:3px}}@media (width>=320px) and (width<=479px){.learning-sound-lesson .learning-sound-tone-table,.learning-sound-map-table,.learning-sound-final-missing{min-width:0}.learning-sound-map-table th,.learning-sound-map-table td{height:40px}.learning-sound-final-column .learning-sound-map-table .learning-sound-final-choice,.learning-sound-final-column .learning-sound-map-table .learning-sound-final-missing{min-height:40px}.learning-sound-lesson .learning-sound-tone-choice{padding-inline:0}.learning-sound-final-choice,.learning-sound-axis-corner-label{width:100%;min-width:max-content}.learning-sound-axis-corner-label sub,.learning-sound-axis-corner-label sup{font-size:clamp(9px,2.2vw,11px)}.learning-sound-axis-corner-label>span{font-size:clamp(12px,3vw,17px)}}@media (prefers-reduced-motion:reduce){.learning-sound-part.is-active,.learning-sound-explanation,.learning-sound-final-choice.is-selected,.learning-sound-initial-choices button.is-selected{animation:none!important}.learning-sound-part,.learning-sound-final-choice,.learning-sound-initial-choices button,.learning-sound-footer .cm-button[data-variant=primary]{transition:none}html.dark .learning-sound-initial-picker:after{animation:none}}.game-shell{box-sizing:border-box;height:100dvh;min-height:100svh;padding-block:env(safe-area-inset-top) env(safe-area-inset-bottom);box-shadow:none;border:0;border-radius:0;overflow:hidden}.game-shell>.game-stage{width:100%;max-width:none;height:100%;min-height:0;padding:0 clamp(10px, 2vw, 28px) max(4px, env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0;grid-template-rows:52px minmax(0,1fr) clamp(250px,40dvh,360px) 0;gap:8px}.game-shell .commute-mission-strip,.game-shell .game-footer{display:none}.game-shell .scene-frame{border:0;min-height:0;padding:0;display:block}.game-shell .scene-frame>.journey-window{height:100%}.game-shell .station-console{border-inline:0;border-radius:14px 5px;flex-direction:column;align-self:stretch;height:100%;display:flex;overflow:hidden;min-height:0!important}.game-shell .station-console .typing-console-wrapper{flex:auto;min-height:0}.game-shell .station-console .typing-console{min-height:0}.game-shell .typing-hud{flex:none;gap:5px;min-height:36px;padding:3px 6px}.game-shell .typing-hud-metric{min-height:29px;padding-inline:8px}.game-shell .typing-hud-metric svg{color:var(--game-cyan);flex:none}.game-shell .typing-hud-metric-label,.game-shell .typing-hud-metric em{display:none}.game-shell .station-platform-sign{min-height:clamp(64px,10vh,96px);padding-block:8px}.game-shell .station-platform-sign__name strong{font-size:clamp(28px,4.5vw,44px)}.game-shell .station-platform-sign__name small{font-size:10px}.game-shell .gameplay-arcade-keyboard{min-height:0;padding:6px 8px max(6px, env(safe-area-inset-bottom));border-radius:12px 5px;flex:none;gap:5px;margin-top:0}.game-shell .gameplay-arcade-keyboard .learning-arcade-console__topline{display:none}.game-shell .gameplay-arcade-keyboard .learning-arcade-console__key-row{gap:4px}.game-shell .gameplay-arcade-keyboard .learning-arcade-key{border-radius:7px 3px;min-height:clamp(30px,5.4vh,42px)}.game-shell .gameplay-arcade-keyboard .learning-arcade-action{min-height:clamp(30px,4.8vh,42px);padding-inline:8px}.game-shell .gameplay-arcade-keyboard .learning-arcade-action span{display:none}.game-shell .scene-controls button{min-width:40px;padding-inline:0}.game-shell .scene-controls button span{display:none}.game-shell.has-mobile-keyboard .game-stage,.game-shell.has-arcade-keyboard .game-stage{padding-block:0 max(4px, env(safe-area-inset-bottom));grid-template-rows:52px minmax(0,1fr) clamp(250px,40dvh,360px) 0;align-content:stretch}.game-shell.has-mobile-keyboard .game-brand,.game-shell.has-arcade-keyboard .game-brand{display:flex}@media (width<=620px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard .game-stage,.game-shell.has-arcade-keyboard .game-stage{grid-template-rows:46px minmax(0,1fr) clamp(266px,42dvh,342px) 0;gap:6px;padding-inline:8px}.game-shell .game-brand-title{display:none}.game-shell .game-brand-icon{width:34px;height:34px}.game-shell .station-console{border-radius:12px 4px}.game-shell .station-platform-sign{min-height:68px}.game-shell .typing-console:has(.station-platform-sign) .typing-word{padding-block:8px}}@media (orientation:landscape) and (height<=620px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard .game-stage,.game-shell.has-arcade-keyboard .game-stage{grid-template-rows:42px minmax(112px,1fr) clamp(174px,52dvh,228px) 0;gap:4px;padding-inline:12px}.game-shell .game-brand-title{display:none}.game-shell .game-brand-icon{width:30px;height:30px}.game-shell .station-console{border-radius:10px 4px}.game-shell .station-platform-sign{min-height:50px;padding-block:4px}.game-shell .station-platform-sign__name strong{font-size:clamp(22px,5vw,34px)}.game-shell .station-platform-sign__name small{font-size:9px}.game-shell .typing-console:has(.station-platform-sign) .typing-word{padding-block:5px}.game-shell .gameplay-arcade-keyboard{padding:4px 6px max(4px, env(safe-area-inset-bottom));gap:3px}.game-shell .gameplay-arcade-keyboard .learning-arcade-key{border-radius:6px 3px;min-height:28px;font-size:15px}.game-shell .gameplay-arcade-keyboard .learning-arcade-action{min-height:28px}.game-shell .typing-hud{min-height:30px;padding-block:2px}.game-shell .typing-hud-metric{min-height:25px;padding-inline:6px}.game-shell .neighbour-station{display:none}.game-shell .route-activity-indicator{gap:6px;width:calc(100% - 20px);max-width:calc(100% - 20px);padding-block:4px 6px;left:10px}.game-shell .route-activity-indicator strong,.game-shell .route-activity-indicator small{display:none}}html:not(.dark) .game-stage.has-active-event .event-warning-banner,html:not(.dark) .game-stage.has-active-event .event-combat-counter,html:not(.dark) .game-stage.has-active-event .event-result-toast,html:not(.dark) .game-stage.has-active-event .event-rapid-card{color:#f4fbf8;background:#0b2029;border-color:#f4bd52bd;box-shadow:5px 5px #02080da8,0 18px 42px #02080d57}html:not(.dark) .game-stage.has-active-event .event-warning-banner .event-warning-label,html:not(.dark) .game-stage.has-active-event .event-warning-banner .event-warning-instruction,html:not(.dark) .game-stage.has-active-event .event-warning-countdown,html:not(.dark) .game-stage.has-active-event .event-rapid-card span{color:#f4bd52}html:not(.dark) .game-stage.has-active-event .event-warning-brief>span,html:not(.dark) .game-stage.has-active-event .event-rapid-card small{color:#d1e4df}html:not(.dark) .game-stage.has-active-event .event-result-toast strong,html:not(.dark) .game-stage.has-active-event .event-rapid-card strong{color:#fff4d5;text-shadow:2px 2px #02080d94}html:not(.dark) .game-stage.has-active-event .event-rapid-phrase button[data-state=active]{background:#1b4650;border-color:#f4bd52}@keyframes accident-speedline-sweep{0%{transform:translate(-5%,-3%)rotate(-1deg)}to{transform:translate(5%,3%)rotate(-1deg)}}@keyframes accident-fight-mark{0%{opacity:.62;transform:skew(-9deg)rotate(-2deg)scale(.94)}to{opacity:1;transform:skew(-9deg)rotate(-2deg)scale(1.05)}}@keyframes accident-warning-slam{0%{opacity:0;transform:translate(-24px)skew(-8deg)scaleX(.94)!important}72%{opacity:1;transform:translate(3px)skew(1deg)scaleX(1.01)!important}to{opacity:1;transform:none!important}}@keyframes accident-world-impact{0%{opacity:0;filter:saturate(1.35)brightness(.72);transform:scale(1.045)}60%{opacity:1;filter:saturate(1.12)brightness(1.04);transform:scale(.995)}to{opacity:1;filter:saturate()brightness();transform:scale(1)}}@keyframes accident-target-pulse{0%{filter:brightness(.92)saturate();transform:scale(.985)}to{filter:brightness(1.16)saturate(1.18);transform:scale(1.025)}}@media (prefers-reduced-motion:reduce){.game-stage.has-active-event .journey-event-scene:after,.game-stage.has-active-event .event-fight-mark,.game-stage.has-active-event .event-warning-banner,.game-stage.has-active-event .event-world,.game-stage.has-active-event .event-phrase-hanzi,.game-stage.has-active-event .event-backpack-art,.game-stage.has-active-event .event-syllable-row button[data-state=active]{animation:none!important}}.game-stage.has-active-event{--event-keyboard-reserve:clamp(288px, 36vh, 360px);isolation:isolate;overflow:hidden}.game-stage.has-active-event>.event-debug-panel{display:none}.game-stage.has-active-event>.game-header,.game-stage.has-active-event>.commute-mission-strip{visibility:hidden;pointer-events:none}.game-stage.has-active-event .journey-event-scene{inset:0 0 var(--event-keyboard-reserve);z-index:120;border-bottom:1px solid var(--action-primary);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .journey-event-scene{border-bottom:1px solid color-mix(in srgb, var(--action-primary) 62%, transparent)}}.game-stage.has-active-event .journey-event-scene{overscroll-behavior:none;background:linear-gradient(135deg, var(--action-primary), transparent 42%), #020810f5;border-radius:0 0 16px 16px}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .journey-event-scene{background:linear-gradient(135deg, color-mix(in srgb, var(--action-primary) 10%, transparent), transparent 42%), #020810f5}}.game-stage.has-active-event .journey-event-scene:before{z-index:5;content:"LOCAL ACCIDENT // FIGHT";pointer-events:none;border-left:2px solid var(--action-primary);background:var(--surface-sunken);padding:4px 7px;position:absolute;top:10px;right:16px}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .journey-event-scene:before{background:color-mix(in srgb, var(--surface-sunken) 82%, transparent)}}.game-stage.has-active-event .journey-event-scene:before{color:var(--text-tertiary);font:800 8px/1 var(--font-mono);letter-spacing:.14em}.game-stage.has-active-event .journey-event-scene:after{z-index:2;content:"";pointer-events:none;background:repeating-linear-gradient(116deg, transparent 0 20px, var(--action-primary) 20px 22px, transparent 22px 54px);position:absolute;inset:-35%}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .journey-event-scene:after{background:repeating-linear-gradient(116deg, transparent 0 20px, color-mix(in srgb, var(--action-primary) 18%, transparent) 20px 22px, transparent 22px 54px)}}.game-stage.has-active-event .journey-event-scene:after{mix-blend-mode:screen;opacity:.42;animation:1.1s linear infinite accident-speedline-sweep}.game-stage.has-active-event .event-fight-mark{z-index:31;border-left:4px solid var(--action-primary);background:var(--surface-sunken);padding:5px 9px;position:absolute;bottom:14px;left:18px}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-fight-mark{background:color-mix(in srgb, var(--surface-sunken) 86%, transparent)}}.game-stage.has-active-event .event-fight-mark{color:var(--action-primary);font:950 clamp(18px, 3vw, 30px)/1 var(--font-mono);letter-spacing:.08em;text-shadow:3px 3px 0 var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-fight-mark{text-shadow:3px 3px 0 color-mix(in srgb, var(--shadow-color) 55%, transparent)}}.game-stage.has-active-event .event-fight-mark{animation:.72s cubic-bezier(.16,1,.3,1) infinite alternate accident-fight-mark;transform:skew(-9deg)rotate(-2deg)}.game-stage.has-active-event .station-console{z-index:180;align-self:end;min-height:0;position:relative;overflow:hidden}.game-stage.has-active-event .station-platform-sign,.game-stage.has-active-event .station-console>:not(.gameplay-arcade-keyboard):not(.native-keyboard-actions):not(.typing-hud){display:none}.game-stage.has-active-event .station-console .typing-hud{border-color:var(--action-primary);order:1}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .station-console .typing-hud{border-color:color-mix(in srgb, var(--action-primary) 58%, var(--border-subtle))}}.game-stage.has-active-event .station-console .typing-hud{box-shadow:0 0 0 2px var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .station-console .typing-hud{box-shadow:0 0 0 2px color-mix(in srgb, var(--action-primary) 9%, transparent)}}.game-stage.has-active-event .station-console .gameplay-arcade-keyboard{order:2;margin-top:0}.game-stage.has-active-event .learning-arcade-console{border-color:var(--action-primary);min-width:0;max-width:100%}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .learning-arcade-console{border-color:color-mix(in srgb, var(--action-primary) 68%, var(--game-cyan))}}.game-stage.has-active-event .learning-arcade-console{box-shadow:0 0 0 2px var(--action-primary), 0 18px 40px var(--shadow-color), inset 0 1px #ffffff1f}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .learning-arcade-console{box-shadow:0 0 0 2px color-mix(in srgb, var(--action-primary) 14%, transparent), 0 18px 40px color-mix(in srgb, var(--shadow-color) 38%, transparent), inset 0 1px #ffffff1f}}.game-stage.has-active-event .learning-arcade-console__signal{color:var(--action-primary)}.game-stage.has-active-event .learning-arcade-console__signal i{background:var(--action-primary);box-shadow:0 0 0 0 var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .learning-arcade-console__signal i{box-shadow:0 0 0 0 color-mix(in srgb, var(--action-primary) 55%, transparent)}}.game-stage.has-active-event .event-warning-banner{z-index:40;background:var(--surface-sunken);border-radius:4px 14px;gap:7px;width:min(620px,100% - 28px)!important;padding:10px 14px!important;top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-warning-banner{background:color-mix(in srgb, var(--surface-sunken) 94%, transparent)}}.game-stage.has-active-event .event-warning-banner{box-shadow:4px 4px 0 var(--shadow-color), 0 16px 36px var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-warning-banner{box-shadow:4px 4px 0 color-mix(in srgb, var(--shadow-color) 45%, transparent), 0 16px 36px color-mix(in srgb, var(--shadow-color) 35%, transparent)}}.game-stage.has-active-event .event-warning-banner{animation:.52s cubic-bezier(.16,1,.3,1) both accident-warning-slam!important}.game-stage.has-active-event .event-world,.game-stage.has-active-event .event-world>*{min-width:0;max-width:100%}.game-stage.has-active-event .event-combat-counter{max-width:calc(100% - 20px)}.game-stage.has-active-event .event-warning-label{justify-content:flex-start;gap:7px;font-size:9px}.game-stage.has-active-event .event-warning-intro{grid-template-columns:auto minmax(0,1fr);gap:10px}.game-stage.has-active-event .event-warning-countdown{min-width:1em;font-size:clamp(38px,7vw,64px)}.game-stage.has-active-event .event-warning-brief{gap:3px}.game-stage.has-active-event .event-warning-brief>span{font-size:clamp(12px,1.5vw,15px);line-height:1.2}.game-stage.has-active-event .event-warning-instruction{font-size:10px}.game-stage.has-active-event .journey-event-scene.is-active .event-world{animation:.56s cubic-bezier(.16,1,.3,1) both accident-world-impact}.game-stage.has-active-event .journey-event-scene.is-active .event-phrase-hanzi,.game-stage.has-active-event .journey-event-scene.is-active .event-backpack-art{animation:.76s cubic-bezier(.16,1,.3,1) infinite alternate accident-target-pulse}.game-stage.has-active-event .journey-event-scene.is-active .event-syllable-row button[data-state=active]{animation:.52s cubic-bezier(.16,1,.3,1) infinite alternate accident-target-pulse}.station-console.is-transfer-hud .transfer-station-wall{order:2;width:100%;min-width:0}.station-console.is-transfer-hud .gameplay-arcade-keyboard{order:3}.station-console.is-transfer-hud .typing-hud{order:4}.journey-window.is-transfer .route-activity-indicator{background:linear-gradient(90deg,#041218e6,#04121833 86%,#0000);gap:11px;min-height:42px;padding:10px 0 12px;font-size:11px}.journey-window.is-transfer .route-activity-live{width:8px;height:8px}.journey-window.is-transfer .route-activity-meter{min-width:120px;height:7px}.journey-window.is-transfer .route-activity-indicator small{min-width:34px;font-size:10px}.journey-window.is-transfer .route-activity-indicator strong{min-width:58px}.interchange-challenge{bottom:50px}@media (width<=620px){.interchange-challenge{bottom:44px}.journey-window.is-transfer .route-activity-indicator{gap:7px;min-height:38px;padding-block:8px 10px;font-size:9px}.journey-window.is-transfer .route-activity-meter{min-width:72px;height:6px}.journey-window.is-transfer .route-activity-indicator strong{min-width:45px}.game-shell.has-interchange.has-arcade-keyboard .scene-frame{min-height:164px;display:block}}html:not(.dark) .game-stage.has-active-event .journey-event-scene:before{color:#b6d9d4;background:#0a232ae0}html:not(.dark) .game-stage.has-active-event .learning-arcade-console{border-color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-stage.has-active-event .learning-arcade-console{border-color:color-mix(in srgb, var(--action-primary) 62%, #397b7b)}}html:not(.dark) .game-stage.has-active-event .learning-arcade-console{color:#17363a;background:linear-gradient(145deg,#effaf6fa,#d3ebe4fa),repeating-linear-gradient(135deg,#0000 0 24px,#3179780d 24px 25px)}@media (width<=620px){.event-debug-panel{z-index:260;max-width:calc(100% - 16px);position:absolute;top:66px;bottom:auto;left:8px}.event-debug-panel[open]{right:8px}.event-debug-actions{max-width:100%}.game-stage.has-active-event{--event-keyboard-reserve:clamp(214px, 34vh, 286px)}.game-stage.has-active-event .journey-event-scene:before{display:none}.game-stage.has-active-event .event-warning-banner{width:calc(100% - 20px)!important;padding:8px 10px!important;top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important}.game-stage.has-active-event .event-warning-label{font-size:8px}.game-stage.has-active-event .event-warning-countdown{font-size:clamp(34px,11vw,52px)}.game-stage.has-active-event .event-warning-brief>span{font-size:11px}.game-stage.has-active-event .event-fight-mark{padding:3px 6px;font-size:14px;bottom:8px;left:10px}.game-stage.has-active-event .event-backpack-art,.game-stage.has-active-event .event-backpack-world.dodge-right .event-backpack-art{object-position:bottom right;transform-origin:100% 100%;width:min(90%,350px);max-width:90%;max-height:78%;bottom:0;left:auto;right:0}.game-stage.has-active-event .event-backpack-world.dodge-right .event-backpack-art{object-position:bottom left;transform-origin:0 100%;left:0;right:auto}.game-stage.has-active-event .journey-event-scene.is-warning .event-backpack-art{animation:none!important;transform:none!important}.game-stage.has-active-event .event-result-toast{top:50%;bottom:auto;transform:translate(-50%,-50%)}.interchange-pressure-strip{gap:6px;min-height:27px;padding-block:4px 6px;font-size:8px;left:10px;right:10px}.interchange-pressure-meter{min-width:38px;height:4px}}@media (height<=620px){.game-stage.has-active-event{--event-keyboard-reserve:214px}.game-stage.has-active-event .event-warning-banner{gap:4px;padding:6px 8px!important}.game-stage.has-active-event .event-warning-label{gap:5px;font-size:7px}.game-stage.has-active-event .event-warning-intro{gap:6px}.game-stage.has-active-event .event-warning-countdown{font-size:32px}.game-stage.has-active-event .event-warning-brief>span{font-size:10px}.game-stage.has-active-event .event-warning-instruction{font-size:8px}}.game-header{background:linear-gradient(#07161bf5,#07161bd1);border-bottom-color:#9ae4dc2e;min-height:56px;box-shadow:0 8px 24px #030c0f2e}.game-brand-kicker{color:#9ae4dcc7}.game-brand-title{color:#f4fbf8;letter-spacing:-.035em}.game-brand-title span{color:var(--game-amber)}.game-header .scene-controls button,.game-header .sound-status{color:#eaf7f4;background:#16363cb8;border-color:#9ae4dc3d}.game-header .scene-controls{background:#051218bd;border:1px solid #9ae4dc3d;border-radius:15px 6px;gap:0;padding:3px;overflow:hidden;box-shadow:inset 0 1px #ecfff914}.game-header .scene-controls button{min-width:46px;min-height:42px;box-shadow:none;background:0 0;border:0;border-left:1px solid #9ae4dc29;border-radius:0}.game-header .scene-controls button:first-child{border-left:0;border-radius:11px 3px 3px 11px}.game-header .scene-controls button:last-child{border-radius:3px 11px 11px 3px}.game-header .scene-controls button:first-child,.game-header .sound-status{color:var(--game-cyan);border-color:#9ae4dc7a}.game-header .scene-controls button:nth-child(2){color:var(--game-amber);border-color:#ffd16685}.game-header .scene-controls button:hover,.game-header .scene-controls button:focus-visible,.game-header .sound-status:hover,.game-header .sound-status:focus-visible{color:#fff;background:#2a585beb;border-color:currentColor}.game-launch-countdown,.pressure-failure-curtain{z-index:32;pointer-events:none;color:#f4fbf8;text-align:center;text-shadow:0 4px 18px #000000ad;background:radial-gradient(circle,#04161b38,#02090eb8);place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}.game-launch-countdown span,.pressure-failure-curtain span{color:var(--game-amber);font:800 11px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase}.game-launch-countdown strong{color:#fff5c7;font:950 clamp(74px, 16vw, 148px)/.78 var(--font-mono);animation:.65s cubic-bezier(.16,1,.3,1) both launch-count-pop}.game-launch-countdown small,.pressure-failure-curtain small{color:#e8f8f3d1;font:700 12px/1.3 var(--font-sans)}.pressure-failure-curtain{z-index:240;pointer-events:auto;background:radial-gradient(circle at 50% 44%,#751e1f7a,#02080de0),repeating-linear-gradient(135deg,#0000 0 22px,#ff92620d 22px 24px);position:absolute;inset:0}.pressure-failure-curtain strong{color:#ffd0c5;font:950 clamp(30px, 7vw, 62px)/.9 var(--font-display);letter-spacing:.08em;transform:skew(-7deg)}.pressure-failure-curtain div{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.pressure-failure-curtain button{color:#fff1bb;min-height:42px;font:800 12px/1 var(--font-sans);background:#183439f0;border:1px solid #ffd1668a;border-radius:4px 12px;padding:0 16px}.pressure-failure-curtain button:last-child{color:#c9fff0;border-color:#9ae4dc66}.fight-feedback{color:#fff0b9;width:max-content;font:900 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#07161bf5,#1f4041f0);border:1px solid #ffd16694;border-radius:4px 14px;padding:9px 15px;transform:translate(-50%)skew(-6deg);box-shadow:4px 4px #752c24b8,0 0 22px #ffd16629}.game-input-feedback.is-visible{color:#ffd0c5;min-height:34px;max-height:42px;font:950 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#48161ffa,#23222bf5);border:1px solid #ff7d68c7;border-radius:4px 14px;padding-inline:15px;transform:skew(-7deg);box-shadow:4px 4px #1f0a12c2,0 0 18px #ff694a3d}.interchange-callout strong{border:1px solid var(--transfer-line-color);padding:7px 12px}@supports (color:color-mix(in lab, red, red)){.interchange-callout strong{border:1px solid color-mix(in srgb, var(--transfer-line-color) 62%, white 8%)}}.interchange-callout strong{background:linear-gradient(135deg, var(--transfer-line-color), #07161c);border-radius:4px 13px}@supports (color:color-mix(in lab, red, red)){.interchange-callout strong{background:linear-gradient(135deg, color-mix(in srgb, var(--transfer-line-color) 36%, #07161c), #07161c)}}.interchange-callout strong{color:#f4fffb;text-shadow:2px 2px #051217cc;transform:skew(-6deg);box-shadow:4px 4px #030a0f94}html:not(.dark) .fight-feedback{color:#654509;background:linear-gradient(135deg,#fffdf3,#dcebe5);border-color:#a36b19;box-shadow:4px 4px #79462338,0 0 18px #a36b1924}html:not(.dark) .game-input-feedback.is-visible{color:#8e2739;background:linear-gradient(135deg,#fff7f1,#f3dadd);border-color:#c34b4d;box-shadow:4px 4px #7a282f2e,0 0 18px #c34b4d29}html:not(.dark) .game-shell .typing-hud-metric-label,html:not(.dark) .game-shell .speed-readout em,html:not(.dark) .game-shell .speed-readout strong small{color:#d8eeebc7}html:not(.dark) .game-shell .typing-hud-metric strong,html:not(.dark) .game-shell .speed-readout strong{color:#f4fbf8}.interchange-map-cue{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#07161bf5,#1d3d40eb);border-radius:4px 13px;transform:translate(-50%,-100%)skew(-6deg);box-shadow:4px 4px #030a0f94}html:not(.dark) .interchange-map-cue{color:#24575a;background:linear-gradient(135deg,#fffffff0,#ddede7f0);box-shadow:4px 4px #3e605933}@keyframes launch-count-pop{0%{opacity:0;transform:scale(1.5)rotate(6deg)}55%{opacity:1;transform:scale(.94)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(0)}}.commute-mission-strip{border-left:3px solid var(--game-amber);border-color:#9ae4dc4d;border-left-color:var(--game-amber);background:linear-gradient(90deg,#081d23f5,#081419db);grid-template-columns:minmax(0,1fr) auto;gap:14px;margin-top:6px}.commute-mission-main{grid-template-columns:minmax(0,1fr);gap:5px}.commute-mission-kicker,.commute-mission-kicker svg{color:var(--game-amber)}.commute-mission-main strong{color:#f5fbf8;min-width:0}.commute-mission-main strong svg{color:var(--game-cyan)}.commute-mission-main small{color:#c9e2ddc7;text-overflow:ellipsis;grid-column:1;min-width:0;overflow:hidden}.commute-mission-progress{border-left-color:#9ae4dc42;min-width:82px}.commute-mission-progress span{color:#c9e2ddb3}.commute-mission-progress strong{color:var(--game-cyan)}.journey-window{border-color:#9ae4dc57;box-shadow:0 20px 52px #00000057,inset 0 0 0 1px #9ae4dc0d}.station-console{border-color:#9ae4dc57;border-top-style:solid;border-top-width:2px;border-top-color:var(--game-cyan);background:var(--game-ink);box-shadow:0 18px 40px #0000004d,inset 0 1px #ffffff0d}.typing-console{background:linear-gradient(135deg,#184a4f70,#07161bf5)}.typing-console-wrapper{min-height:clamp(150px,20vh,190px)}.station-character{color:#f2faf7}.slot-base{color:#f2faf7;background:#dbf3ee14;border-color:#9ae4dc57}.slot-active{border-color:var(--game-amber);background:#ffd16629;box-shadow:0 0 0 3px #ffd16624,0 0 18px #ffd1662e}.slot-done{border-color:var(--game-cyan);color:#f4fbf8;background:#397b7c}.typing-hud{background:#061318;border-top-color:#9ae4dc33;min-height:54px}.typing-hud-time,.typing-hud-event-streak,.typing-hud-accuracy,.speed-meter,.typing-hud-luckiness{background:#153238d6}.speed-meter{border:1px solid #9ae4dc3d}.game-footer{color:#c9e2dda3}@media (width<=900px) and (width>=621px){.typing-console-wrapper{min-height:clamp(156px,23vh,190px)}}@media (width<=620px){.game-header{min-height:52px}.game-brand-icon{width:32px;height:32px}.commute-mission-strip{gap:10px;padding:9px 10px}.commute-mission-main{gap:4px}.commute-mission-main strong{font-size:16px}.commute-mission-progress{min-width:62px;padding-left:8px}.typing-console-wrapper{min-height:136px}.typing-hud{min-height:48px;padding-inline:6px}}@media (prefers-reduced-motion:reduce){.game-header,.commute-mission-strip,.journey-window,.typing-console,.slot-active{transition:none!important;animation:none!important}}.game-lobby-redesign .lobby-logo{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.game-lobby-redesign .lobby-logo .compact-game-mark{filter:drop-shadow(0 7px 15px #0e2a2d24);padding:7px 0 7px 11px;position:relative}.game-lobby-redesign .lobby-logo .compact-game-mark:before{content:"";background:linear-gradient(180deg, var(--game-cyan), var(--game-berry));border-radius:999px;width:3px;position:absolute;inset:8px auto 8px 0}.game-lobby-redesign .lobby-logo .compact-game-mark small{color:#244c4d;text-shadow:0 1px #f6fcf9b8}.game-lobby-redesign .lobby-logo .compact-game-mark span,.solo-setup-screen .compact-game-mark span,.full-line-screen .compact-game-mark span,.start-screen .compact-game-mark span{text-shadow:0 1px #f6fcf9d6,0 3px 10px #0c252933}.game-lobby-redesign .lobby-title-lockup{isolation:isolate;position:relative}.game-lobby-redesign .lobby-title-lockup:before{content:"";z-index:-1;pointer-events:none;filter:blur(14px);background:radial-gradient(at 50% 46%,#f5fcf9c7,#f5fcf957 50%,#0000 78%);position:absolute;inset:-18px -34px}html:not(.dark) .game-lobby-redesign .lobby-title-lockup h1>span{color:#0b2226;text-shadow:0 2px #ffffffd1,0 6px 20px #0c252947}html:not(.dark) .game-lobby-redesign .lobby-title-lockup h1>strong{color:#bd3158;text-shadow:0 2px #fff5f7c7,0 7px 22px #5f1c303d}html:not(.dark) .game-lobby-redesign .lobby-subtitle{color:#173b3d;text-shadow:0 1px #ffffffd1,0 4px 12px #0c252933}html.dark .game-lobby-redesign .lobby-logo .compact-game-mark small{color:#cce6e1;text-shadow:0 2px 10px #00000080}html.dark .game-lobby-redesign .lobby-logo .compact-game-mark span,html.dark .solo-setup-screen .compact-game-mark span,html.dark .full-line-screen .compact-game-mark span,html.dark .start-screen .compact-game-mark span{text-shadow:0 2px 10px #0000008f}html.dark .game-lobby-redesign .lobby-title-lockup:before{background:radial-gradient(at 50% 46%,#081c23d1,#081c2357 52%,#0000 78%)}.solo-setup-screen .cm-page-header,.full-line-screen .cm-page-header,.start-screen .cm-page-header,.solo-setup-screen .cm-page-title,.full-line-screen .cm-page-title,.start-screen__title{z-index:1;text-shadow:0 1px #f5fcf9a8,0 6px 18px #0924272e;position:relative}.solo-setup-screen .compact-game-mark,.full-line-screen .compact-game-mark,.start-screen .compact-game-mark{filter:drop-shadow(0 7px 15px #0e2a2d24);padding-left:10px;position:relative}.solo-setup-screen .compact-game-mark:before,.full-line-screen .compact-game-mark:before,.start-screen .compact-game-mark:before{content:"";background:linear-gradient(180deg, var(--game-cyan), var(--game-berry));border-radius:999px;width:3px;position:absolute;inset:8px auto 8px 0}.solo-setup-screen .compact-game-mark small,.full-line-screen .compact-game-mark small,.start-screen .compact-game-mark small{color:#244c4d;text-shadow:0 1px #f6fcf9d6,0 3px 10px #0c252933}html.dark .solo-setup-screen .compact-game-mark small,html.dark .full-line-screen .compact-game-mark small,html.dark .start-screen .compact-game-mark small{color:#cce6e1;text-shadow:0 2px 10px #0000008f}.solo-setup-screen .cm-page-title:before,.full-line-screen .cm-page-title:before,.start-screen__title:before{content:"";z-index:-1;pointer-events:none;filter:blur(10px);background:linear-gradient(90deg,#edf8f48f,#edf8f429 72%,#0000);position:absolute;inset:-10px -18px}html.dark .solo-setup-screen .cm-page-title:before,html.dark .full-line-screen .cm-page-title:before,html.dark .start-screen__title:before{background:linear-gradient(90deg,#040f14b3,#040f142e 72%,#0000)}html.dark .solo-setup-screen .cm-page-header,html.dark .full-line-screen .cm-page-header,html.dark .start-screen .cm-page-header,html.dark .solo-setup-screen .cm-page-title,html.dark .full-line-screen .cm-page-title,html.dark .start-screen__title{text-shadow:0 2px 14px #000000a3}.solo-setup-screen .journey-type-grid{gap:14px;position:relative}.solo-setup-screen .journey-type-grid button{--lane-accent:var(--game-cyan);border:1px solid #9ae4dc47;border-left:3px solid var(--lane-accent);color:#f2faf7;background:linear-gradient(135deg,#0c272ef7,#041117f5),repeating-linear-gradient(135deg,#0000 0 22px,#9ae4dc0a 22px 23px);border-radius:20px 9px;min-height:clamp(190px,26vh,240px);overflow:hidden;transform:translateZ(0);box-shadow:0 20px 44px #0313183d,inset 0 1px #ecfff91a}.solo-setup-screen .journey-type-grid button:nth-child(2){--lane-accent:var(--game-amber)}.solo-setup-screen .journey-type-grid button:before{content:"";background:repeating-linear-gradient(90deg, var(--lane-accent) 0 7px, transparent 7px 15px);opacity:.62;height:1px;position:absolute;top:57px;left:24px;right:24px}.solo-setup-screen .journey-type-grid button:after{content:"";background:linear-gradient(90deg, transparent, var(--lane-accent), transparent);width:22%;height:8px;position:absolute;top:53px;left:-25%}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid button:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--lane-accent) 65%, white), transparent)}}.solo-setup-screen .journey-type-grid button:after{filter:blur(2px);opacity:0;transition:opacity .16s;transform:skew(-18deg)}.solo-setup-screen .journey-type-grid button:hover:after,.solo-setup-screen .journey-type-grid button:focus-visible:after{opacity:.9;animation:1.1s ease-out both setup-lane-sweep}.solo-setup-screen .journey-type-grid button>*{z-index:1;position:relative}.solo-setup-screen .journey-type-grid .mode-card-number{color:var(--lane-accent)}.solo-setup-screen .journey-type-grid .mode-card-number em{color:#d6f1eb94}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid .mode-card-icon{border-color:color-mix(in srgb, var(--lane-accent) 48%, transparent)}}.solo-setup-screen .journey-type-grid .mode-card-icon{color:var(--lane-accent);box-shadow:0 0 0 5px var(--lane-accent);background:#031015b3;border-radius:14px 6px}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid .mode-card-icon{box-shadow:0 0 0 5px color-mix(in srgb, var(--lane-accent) 8%, transparent)}}.solo-setup-screen .journey-type-grid button small{color:#d6f1ebb3}.solo-setup-screen .journey-type-grid .mode-card-flag{border-left:2px solid var(--lane-accent);color:#edfaf6d1;background:0 0;border-radius:0;margin-top:10px;padding:4px 0 4px 10px}.solo-setup-screen .journey-type-grid button.is-recommended{border-color:var(--lane-accent)}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid button.is-recommended{border-color:color-mix(in srgb, var(--lane-accent) 48%, transparent)}}.solo-setup-screen .journey-type-grid button.is-recommended{background:linear-gradient(135deg,#10373bfa,#05161bf7),repeating-linear-gradient(135deg,#0000 0 22px,#ffd1660d 22px 23px)}.solo-setup-screen .journey-type-grid button.is-recommended .mode-card-flag{color:#ffe3a0;background:0 0}.solo-setup-screen .journey-type-grid button>svg:last-child{background:var(--lane-accent);color:#082027;box-shadow:0 0 0 5px var(--lane-accent)}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid button>svg:last-child{box-shadow:0 0 0 5px color-mix(in srgb, var(--lane-accent) 10%, transparent)}}.solo-setup-screen .journey-type-grid button:hover,.solo-setup-screen .journey-type-grid button:focus-visible{border-color:var(--lane-accent);box-shadow:0 24px 54px #03131857, 0 0 0 1px var(--lane-accent);background:linear-gradient(135deg,#123d43fa,#05161cfa),repeating-linear-gradient(135deg,#0000 0 22px,#9ae4dc0f 22px 23px)}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid button:hover,.solo-setup-screen .journey-type-grid button:focus-visible{box-shadow:0 24px 54px #03131857, 0 0 0 1px color-mix(in srgb, var(--lane-accent) 22%, transparent)}}.solo-setup-screen .journey-type-grid button:hover,.solo-setup-screen .journey-type-grid button:focus-visible{transform:translateY(-3px)}.full-line-screen .line-selector{background:linear-gradient(#071b22db,#041016c2);border:1px solid #9ae4dc38;border-radius:16px 7px;padding:8px;box-shadow:0 16px 32px #03121733,inset 0 1px #ecfff912}.full-line-screen .line-selector button{color:#d8eee9;background:#051218b8;border-color:#9ae4dc2e;border-radius:11px 5px}.full-line-screen .line-selector button:hover,.full-line-screen .line-selector button[aria-selected=true]{border-color:var(--line-color);background:var(--line-color)}@supports (color:color-mix(in lab, red, red)){.full-line-screen .line-selector button:hover,.full-line-screen .line-selector button[aria-selected=true]{background:color-mix(in srgb, var(--line-color) 18%, #071a21)}}.full-line-screen .line-selector button:hover,.full-line-screen .line-selector button[aria-selected=true]{color:#f4fbf8;box-shadow:inset 0 0 0 1px var(--line-color), 0 0 18px var(--line-color)}@supports (color:color-mix(in lab, red, red)){.full-line-screen .line-selector button:hover,.full-line-screen .line-selector button[aria-selected=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line-color) 52%, transparent), 0 0 18px color-mix(in srgb, var(--line-color) 15%, transparent)}}.full-line-screen .line-selector small{color:#d6f1eb8f}.full-line-screen .direction-list{gap:10px}.full-line-screen .direction-list button{border-color:#9ae4dc38;border-left:3px solid var(--line-color);color:#f0f8f5;background:linear-gradient(100deg,#092027f5,#041117f0);border-radius:17px 7px;position:relative;overflow:hidden;box-shadow:0 12px 28px #03121733,inset 0 1px #ecfff912}.full-line-screen .direction-list button:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 0 46%,#ffffff14 50%,#0000 54% 100%);transition:transform .52s;position:absolute;inset:0;transform:translate(-105%)}.full-line-screen .direction-list button:hover:after,.full-line-screen .direction-list button:focus-visible:after{transform:translate(105%)}.full-line-screen .direction-list button:hover,.full-line-screen .direction-list button:focus-visible{border-color:var(--line-color);background:var(--line-color)}@supports (color:color-mix(in lab, red, red)){.full-line-screen .direction-list button:hover,.full-line-screen .direction-list button:focus-visible{background:color-mix(in srgb, var(--line-color) 17%, #071b23)}}.full-line-screen .direction-list button:hover,.full-line-screen .direction-list button:focus-visible{box-shadow:0 18px 36px #03121752, 0 0 0 1px var(--line-color)}@supports (color:color-mix(in lab, red, red)){.full-line-screen .direction-list button:hover,.full-line-screen .direction-list button:focus-visible{box-shadow:0 18px 36px #03121752, 0 0 0 1px color-mix(in srgb, var(--line-color) 24%, transparent)}}.full-line-screen .direction-list button:hover,.full-line-screen .direction-list button:focus-visible{transform:translateY(-2px)}.full-line-screen .direction-list small{color:#d6f1eb9e}.full-line-screen .direction-list button>svg{color:var(--line-color)}.start-screen .planner-controls{background:linear-gradient(145deg,#081d24f5,#041117f2);border-color:#9ae4dc40;border-radius:20px 8px;box-shadow:0 20px 44px #03121740,inset 0 1px #ecfff914}.start-screen .planner-field,.start-screen .route-menu-trigger,.start-screen .random-route-button{color:#f0f8f5;background:#06161cd6;border-color:#9ae4dc38}.start-screen .planner-field:hover,.start-screen .planner-field:focus-visible,.start-screen .planner-field.is-selecting,.start-screen .route-menu-trigger:hover:not(:disabled),.start-screen .route-menu-trigger:focus-visible,.start-screen .random-route-button:hover,.start-screen .random-route-button:focus-visible{border-color:var(--game-cyan);color:#fff;background:#123a40e6;box-shadow:inset 0 0 0 1px #9ae4dc73,0 0 0 3px #9ae4dc14}.start-screen .planner-field strong,.start-screen .route-menu-copy strong{color:#f4fbf8}.start-screen .planner-field small,.start-screen .route-menu-copy small,.start-screen .route-menu-copy>span,.start-screen .planner-hint{color:#d6f1eb9e}.start-screen .field-direction{color:var(--game-cyan)!important;background-color:#9ae4dc1f!important}.start-screen .planner-field.is-selecting .field-direction{background-color:var(--game-cyan)!important;color:#072027!important}.start-screen .planner-map-tools .map-reset-button span{color:#d8eee9}.start-screen .planner-swap{color:var(--game-cyan);background:#0a2b32;border-color:#9ae4dc42}.start-screen .planner-actions-row .depart-button{color:#17201d;background:linear-gradient(110deg,#f4c75e,#d7913c);border-color:#ffd16680;box-shadow:0 8px #815d2e,0 18px 30px #ab6f2838}.start-screen .planner-actions-row .depart-button:hover:not(:disabled){background:linear-gradient(110deg,#ffdc7c,#e5a551);box-shadow:0 10px #815d2e,0 24px 38px #ab6f284d}.start-screen .planner-actions-row .depart-button:disabled{color:#e3f1ec85;box-shadow:none;background:#5b78777a;border-color:#9ae4dc1f}.start-screen .planner-map{border-color:#9ae4dc4d;border-radius:24px 9px;box-shadow:0 22px 52px #03121747,inset 0 0 0 1px #ecfff91a}.start-screen .planner-map-tools{background:#051319eb;border-color:#9ae4dc3d;box-shadow:0 8px 18px #03121742}.start-screen .planner-map-tools button{color:var(--game-cyan)}.start-screen .planner-map-tools button:hover:not(:disabled),.start-screen .planner-map-tools button:focus-visible{color:#fff;background:#9ae4dc26}.route-confirmation-panel{isolation:isolate;color:#eef8f4;background:linear-gradient(145deg,#092027fa,#041016fa);border-color:#9ae4dc57;border-radius:24px 10px;position:relative;overflow:hidden;box-shadow:0 28px 70px #030f146b,inset 0 1px #ecfff91a}.route-confirmation-panel:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#9ae4dc17 1px,#0000 1px) 0 0/32px 32px,linear-gradient(0deg,#9ae4dc0f 1px,#0000 1px) 0 0/32px 32px,radial-gradient(60% 70% at 100% 0,#ffd1661f,#0000 72%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 78%);mask-image:linear-gradient(135deg,#000,#0000 78%)}.route-confirmation-panel>*{z-index:1;position:relative}.route-confirmation-panel .cm-kicker{color:var(--game-amber)}.route-confirmation-panel .cm-kicker__en{color:#d6f1eb94}.route-confirmation-panel .cm-modal__title{color:#f4fbf8;letter-spacing:-.035em;font-weight:900}.route-confirmation-panel .confirmation-facts,.route-confirmation-panel .confirmation-route{background:#041218a8;border-color:#9ae4dc33}.route-confirmation-panel .cm-metric__label,.route-confirmation-panel .cm-metric__label em{color:#d6f1eb94}.route-confirmation-panel .cm-metric__value{color:#f4fbf8}.route-confirmation-panel .cm-chip{color:#e8f7f2;background:#9ae4dc1a;border-color:#9ae4dc3d}.route-confirmation-panel .confirmation-route li{color:#e8f7f2}.route-confirmation-panel .cm-switch-row{color:#f0f8f5;background:#081c23bd;border-color:#9ae4dc33}.route-confirmation-panel .cm-switch-row:hover{border-color:var(--game-cyan);background:#123a40e6}.route-confirmation-panel .cm-switch-row__copy small{color:#d6f1eb9e}.route-confirmation-panel .cm-modal__actions .cm-button[data-variant=quiet]{color:#d8eee9}.route-confirmation-panel .cm-modal__actions .cm-button[data-variant=quiet]:hover,.route-confirmation-panel .cm-modal__actions .cm-button[data-variant=quiet]:focus-visible{color:#fff;background:#9ae4dc1f}@keyframes setup-lane-sweep{0%{transform:translate(0)skew(-18deg)}to{transform:translate(620%)skew(-18deg)}}@media (width<=620px){.game-lobby-redesign .lobby-logo .compact-game-mark{padding-left:8px}.game-lobby-redesign .lobby-logo .compact-game-mark:before{inset-block:7px}.solo-setup-screen .journey-type-grid button{min-height:164px}.solo-setup-screen .journey-type-grid button:before,.solo-setup-screen .journey-type-grid button:after{top:52px}}@media (prefers-reduced-motion:reduce){.solo-setup-screen .journey-type-grid button:hover:after,.solo-setup-screen .journey-type-grid button:focus-visible:after{animation:none}}:where(.learning-system-screen,.learning-practice-screen){--game-cyan:#9ae4dc;--game-amber:#ffd166;--game-berry:#f19aad;--learning-panel:#071b22f0;--learning-panel-soft:#0a262ddb;isolation:isolate;color:#eaf7f3;background:#e8f1ee;position:relative;overflow-x:hidden}.learning-system-screen>*,.full-line-screen>:not(.direction-list){flex:none;min-width:0}.full-line-screen>.direction-list{flex:auto;min-width:0;min-height:0}:where(.learning-system-screen,.learning-practice-screen):before{content:"";z-index:-3;pointer-events:none;filter:saturate(.72)contrast(.98);background:linear-gradient(#ecf7f480,#e2efecc7),url(/assets/commute-cinematic-bg.webp) 50%/cover no-repeat;animation:18s ease-in-out infinite alternate cinematic-background-drift;position:fixed;inset:-3%;transform:scale(1.04)}:where(.learning-system-screen,.learning-practice-screen):after{content:"";z-index:-2;pointer-events:none;background:radial-gradient(70% 44% at 50% 0,#ffffff42,#0000 70%),linear-gradient(#0000 0 50%,#d2e7e338);position:fixed;inset:0}html.dark :where(.learning-system-screen,.learning-practice-screen){--page:#070d12;background:#070d12}:is(html.dark:has(.learning-system-screen) body,html.dark:has(.learning-practice-screen) body){background:#070d12!important}.learning-system-screen:has(.learning-sound-lesson){width:100%!important;max-width:none!important}html.dark :where(.learning-system-screen,.learning-practice-screen):before{filter:saturate(.9)contrast(1.14);background:linear-gradient(#02050c94,#02050ceb),url(/assets/cantomore-night-platform-hero.webp) 50%/cover no-repeat}html.dark :where(.learning-system-screen,.learning-practice-screen):after{background:radial-gradient(70% 50% at 50% 0,#2c738024,#0000 70%),linear-gradient(#0000,#030a0f38)}:where(.learning-system-screen,.learning-practice-screen) .cm-page-header,.learning-practice-header{z-index:1;text-shadow:0 2px 14px #04191d52;position:relative}:where(.learning-system-screen,.learning-practice-screen) .compact-game-mark{filter:drop-shadow(0 7px 15px #0e2a2d29);padding-left:10px;position:relative}:where(.learning-system-screen,.learning-practice-screen) .compact-game-mark span{text-shadow:0 1px #f6fcf9d6,0 3px 10px #0c252933}html.dark :where(.learning-system-screen,.learning-practice-screen) .compact-game-mark span{text-shadow:0 2px 10px #0000008f}:where(.learning-system-screen,.learning-practice-screen) .compact-game-mark:before{content:"";background:linear-gradient(180deg, var(--game-cyan), var(--game-berry));border-radius:999px;width:3px;position:absolute;inset:8px auto 8px 0}:where(.learning-system-screen,.learning-practice-screen) .compact-game-mark small{color:#244c4d;text-shadow:0 1px #f6fcf9d6,0 3px 10px #0c252933}html.dark :where(.learning-system-screen,.learning-practice-screen) .compact-game-mark small{color:#cce6e1;text-shadow:0 2px 10px #0000008f}:where(.learning-system-screen,.learning-practice-screen) .setup-back{color:#eaf7f3;background:#071b22e0;border-color:#9ae4dc47;box-shadow:0 10px 24px #03121733,inset 0 1px #ecfff91a}:where(.learning-system-screen,.learning-practice-screen) .setup-back:hover,:where(.learning-system-screen,.learning-practice-screen) .setup-back:focus-visible{border-color:var(--game-cyan);color:#fff;background:#123a40f5}.learning-system-screen .cm-page-title{z-index:1;text-shadow:0 1px #f5fcf9ad,0 6px 18px #09242733;position:relative}.learning-system-screen .cm-page-title:before{content:"";z-index:-1;pointer-events:none;filter:blur(10px);background:linear-gradient(90deg,#edf8f494,#edf8f429 72%,#0000);position:absolute;inset:-10px -18px}html.dark .learning-system-screen .cm-page-title:before{background:linear-gradient(90deg,#040f14b8,#040f1429 72%,#0000)}.learning-system-screen :where(.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel),.learning-practice-main,.learning-complete-card{background:linear-gradient(145deg, var(--learning-panel-soft), var(--learning-panel));border-color:#9ae4dc3d;border-radius:20px 8px;box-shadow:0 20px 44px #0312173d,inset 0 1px #ecfff914}.learning-system-screen .learning-model-card,.learning-system-screen .learning-example-card{position:relative;overflow:hidden}.learning-system-screen .learning-model-card:after,.learning-system-screen .learning-example-card:after,.learning-practice-main:after,.learning-complete-card:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(115deg,#0000 0 44%,#9ae4dc12 50%,#0000 56% 100%);animation:9s ease-in-out infinite learning-panel-sweep;position:absolute;inset:0;transform:translate(-105%)}.learning-system-screen .learning-model-card>*,.learning-system-screen .learning-example-card>*,.learning-practice-main>*,.learning-complete-card>*{z-index:1;position:relative}.learning-complete-card>.learning-complete-fireworks{z-index:1;position:fixed;inset:0}.learning-complete-card>:not(.learning-complete-fireworks){z-index:2;position:relative}.learning-system-screen .learning-section-kicker,.learning-practice-screen .learning-section-kicker{color:var(--game-amber)}.learning-system-screen :where(.learning-model-card h2,.learning-system-heading h2,.learning-example-card h2,.learning-reference-heading h2),.learning-practice-screen :where(.learning-complete-card h1){color:#f1faf6}.learning-system-screen .learning-model-card{background:linear-gradient(120deg,#0f3c40f0,#06181ef5 68%)}.learning-system-screen .learning-model-examples span,.learning-system-screen .learning-initial-category,.learning-system-screen .learning-reference-initial-group,.learning-system-screen .learning-final-map-scroll,.learning-practice-screen .learning-reference-panel--compact{background:#031218a8;border-color:#9ae4dc2e}.learning-system-screen .learning-model-examples strong,.learning-system-screen .learning-example-card>div>strong,.learning-system-screen .learning-reference-heading>strong,.learning-practice-screen .learning-practice-progress>span strong,.learning-practice-screen .learning-complete-stats strong{color:var(--game-cyan)}.learning-system-screen :where(.learning-model-examples small,.learning-system-heading p,.learning-example-card p,.learning-reference-note,.learning-system-note),.learning-practice-screen :where(.learning-practice-progress>span,.learning-target-card p,.learning-input-card>p,.learning-complete-card>p){color:#d6f1ebb8}.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action,.learning-practice-screen .learning-listen-button,.learning-practice-screen .learning-secondary-action{color:#eaf7f3;background:#071b22e0;border-color:#9ae4dc3d;border-radius:12px 5px;box-shadow:inset 0 1px #ecfff912}.learning-system-screen .learning-sound-tile:hover,.learning-system-screen .learning-sound-tile:focus-visible,.learning-system-screen .learning-sound-tile.is-selected,.learning-system-screen .learning-example-audio:hover:not(:disabled),.learning-system-screen .learning-example-audio:focus-visible:not(:disabled),.learning-system-screen .learning-secondary-action:hover,.learning-system-screen .learning-secondary-action:focus-visible,.learning-practice-screen .learning-listen-button:hover,.learning-practice-screen .learning-listen-button:focus-visible,.learning-practice-screen .learning-secondary-action:hover,.learning-practice-screen .learning-secondary-action:focus-visible{border-color:var(--game-cyan);color:#fff;background:#123a40f5;transform:translateY(-2px);box-shadow:0 0 0 3px #9ae4dc1a,0 10px 22px #0312173d}.learning-system-screen .learning-sound-tile strong{color:inherit}.learning-system-screen .learning-primary-action,.learning-practice-screen .learning-primary-action{color:#17201d;background:linear-gradient(110deg,#f4c75e,#d7913c);border-color:#ffd1668f;border-radius:14px 5px;box-shadow:0 7px #815d2e,0 17px 30px #ab6f283d}.learning-system-screen .learning-primary-action:hover,.learning-system-screen .learning-primary-action:focus-visible,.learning-practice-screen .learning-primary-action:hover,.learning-practice-screen .learning-primary-action:focus-visible{color:#17201d;background:linear-gradient(110deg,#ffdc7c,#e5a551);transform:translateY(-2px);box-shadow:0 9px #815d2e,0 22px 38px #ab6f284d}.learning-system-screen .learning-example-card{border-left:3px solid var(--game-amber);background:linear-gradient(120deg,#38371ee6,#071b22f5)}.learning-system-screen .learning-reference-heading>strong{background:#9ae4dc1a;border:1px solid #9ae4dc3d;border-radius:8px 4px}.learning-system-screen .learning-reference-section-title span,.learning-system-screen .learning-initial-category strong,.learning-system-screen .learning-reference-section-title small,.learning-system-screen .learning-initial-category>div:first-child span,.learning-system-screen .learning-final-map th,.learning-system-screen .learning-final-map td{color:#eaf7f3}.learning-system-screen .learning-reference-section-title small,.learning-system-screen .learning-initial-category>div:first-child span{color:#d6f1eb8f}.learning-system-screen .learning-final-map th,.learning-system-screen .learning-final-map td{border-color:#9ae4dc29}.learning-system-screen .learning-final-map thead th,.learning-system-screen .learning-final-map tbody th{background:#9ae4dc14}.learning-system-screen .learning-reference-tile,.learning-system-screen .learning-final-cell,.learning-practice-screen .learning-compact-tile{color:#eaf7f3b8;background:#071b22db;border-color:#9ae4dc33}.learning-system-screen .learning-reference-tile.level-learning,.learning-system-screen .learning-final-cell.state-available,.learning-system-screen .learning-final-cell.state-learning,.learning-practice-screen .learning-compact-tile.level-learning{border-color:var(--game-amber);color:var(--game-amber)}.learning-system-screen .learning-reference-tile.level-mastered,.learning-system-screen .learning-final-cell.state-mastered,.learning-practice-screen .learning-compact-tile.level-mastered{border-color:var(--game-cyan);color:var(--game-cyan);background:#9ae4dc24}.learning-practice-screen{overflow-y:auto}.learning-practice-screen .learning-practice-layout{z-index:1;position:relative}.learning-practice-screen .learning-practice-main{position:relative}.learning-practice-screen .learning-target-card{border:1px solid #9ae4dc52;border-radius:18px 7px;box-shadow:0 18px 42px #020b0f52,inset 0 1px #ecfff91a}.learning-practice-screen .learning-input-card label{color:#eaf7f3}.learning-practice-screen .learning-input-wrap{background:#031218d6;border-color:#9ae4dc6b;border-radius:15px 6px;box-shadow:inset 0 1px #ecfff914}.learning-practice-screen .learning-input-wrap:focus-within{border-color:var(--game-amber);box-shadow:0 0 0 4px #ffd16624,0 12px 26px #0312173d}.learning-practice-screen .learning-input-wrap input{color:#f4fbf8;caret-color:var(--game-amber)}.learning-practice-screen .learning-practice-progress>div{background:#d6f1eb29}.learning-practice-screen .learning-practice-progress i.is-done{background:linear-gradient(90deg, var(--game-cyan), var(--game-amber))}.learning-practice-screen .learning-complete-card{margin-top:clamp(30px,10vh,90px);position:relative;overflow:hidden}.learning-practice-screen .learning-complete-stats span{background:#031218a8;border:1px solid #9ae4dc2e;border-radius:11px 5px}.learning-arcade-console{min-width:0;padding:clamp(10px, 1.6vw, 18px) clamp(10px, 1.6vw, 18px) max(18px, env(safe-area-inset-bottom));background:linear-gradient(145deg,#0c2a31fa,#031017fa),repeating-linear-gradient(135deg,#0000 0 24px,#9ae4dc0a 24px 25px);border:1px solid #9ae4dc57;border-radius:18px 7px;gap:10px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 36px #03121747,inset 0 1px #ecfff91f,inset 0 -3px #0003}.gameplay-arcade-keyboard{width:100%;margin-top:8px;display:grid}@media (width<=620px) and (height<=620px){.game-shell.has-arcade-keyboard .game-stage{padding-block:3px max(6px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr)}.game-shell.has-arcade-keyboard .commute-mission-strip,.game-shell.has-arcade-keyboard .scene-frame{display:none}.game-shell.has-arcade-keyboard .station-console{max-height:none;align-self:end!important;height:max-content!important;min-height:0!important}.game-shell.has-arcade-keyboard .typing-console-wrapper{min-height:92px}.game-shell.has-arcade-keyboard .typing-word{padding-block:7px}.game-shell.has-arcade-keyboard .learning-arcade-console{padding:6px 6px max(11px, env(safe-area-inset-bottom));gap:5px}.game-shell.has-arcade-keyboard .learning-arcade-console__topline,.game-shell.has-arcade-keyboard .learning-arcade-console__meters{display:none}.game-shell.has-arcade-keyboard .learning-arcade-key{min-height:30px}.game-shell.has-arcade-keyboard .learning-arcade-action{min-height:34px}}@media (width<=620px) and (height>=621px) and (height<=880px){.game-shell.has-arcade-keyboard .game-stage{padding-block:4px max(8px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(180px,1fr) auto 0}.game-shell.has-arcade-keyboard .scene-frame{min-height:180px}.game-shell.has-arcade-keyboard .station-console{min-height:0}.game-shell.has-arcade-keyboard .commute-mission-strip{display:none}}.learning-arcade-console:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0 42%,#9ae4dc14 50%,#0000 58% 100%);animation:8s ease-in-out infinite learning-console-sweep;position:absolute;inset:0;transform:translate(-105%)}.learning-arcade-console>*{z-index:1;position:relative}.learning-arcade-console__topline,.learning-arcade-console__meters{justify-content:space-between;align-items:center;gap:10px;display:flex}.learning-arcade-console__topline:has(.learning-arcade-console__signal:only-child){justify-content:flex-start}.learning-arcade-console__signal,.learning-arcade-console__meters small{color:#d6f1eb94;font:700 9px/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.learning-arcade-console__signal{color:var(--game-cyan);align-items:center;gap:6px;display:inline-flex}.learning-arcade-console__top-actions{align-items:center;gap:8px;display:inline-flex}.learning-arcade-replay{width:26px;height:24px;color:var(--game-cyan);background:#9ae4dc14;border:1px solid #9ae4dc47;border-radius:6px;place-items:center;display:inline-grid}.learning-arcade-console__signal i{background:var(--game-cyan);width:7px;height:7px;box-shadow:0 0 12px var(--game-cyan);border-radius:50%;animation:1.4s ease-in-out infinite console-ready-pulse}.learning-arcade-console__meters{border-block:1px solid #9ae4dc24;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:flex-start;padding-block:8px;display:grid}.learning-arcade-console__meters:has(>span:only-child){grid-template-columns:minmax(0,1fr)}.learning-arcade-console__meters>span{border-left:2px solid #9ae4dc52;gap:4px;min-width:84px;padding-inline:10px;display:grid}.station-console:has(.gameplay-arcade-keyboard) .typing-hud{order:2}.station-console:has(.gameplay-arcade-keyboard) .gameplay-arcade-keyboard{order:3}.learning-arcade-console__meters strong{color:#f4fbf8;font:800 clamp(14px, 2vw, 20px)/1 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-combo-pop{z-index:3;pointer-events:none;color:var(--game-amber);filter:drop-shadow(0 5px #4d2714b3)drop-shadow(0 0 16px #ffd1666b);transform-origin:0;align-items:baseline;gap:7px;animation:.76s cubic-bezier(.16,1,.3,1) both combo-burst;display:inline-flex;position:absolute;top:clamp(10px,2vw,22px);left:clamp(10px,2.4vw,28px)}.station-combo-pop span{font:900 clamp(12px, 2vw, 18px)/1 var(--font-mono);letter-spacing:.12em;transform:skew(-8deg)}.station-combo-pop strong{color:#fff4c2;font:1000 clamp(28px, 6vw, 54px)/.84 var(--font-mono);letter-spacing:-.08em;transform:skew(-8deg)}.correct-pulse strong{color:#fff2bd;font:950 clamp(15px, 2vw, 22px)/1 var(--font-sans);letter-spacing:.04em;text-shadow:2px 2px #0c2326e6,0 0 14px #ffd1666b;background:linear-gradient(135deg,#051218f5,#1b4544e6);border-radius:3px 12px;transform:skew(-8deg)rotate(-2deg)}.correct-pulse.is-syllable strong{font-size:clamp(17px,2.4vw,26px)}.learning-arcade-console__keyboard{gap:6px;display:grid}.station-platform-sign{border-block:1px solid var(--station-line);place-items:center;width:100%;min-width:0;min-height:clamp(78px,13vw,120px);padding:clamp(12px,2.4vw,22px) clamp(14px,3vw,28px);display:grid;position:relative;container-type:size}@supports (color:color-mix(in lab, red, red)){.station-platform-sign{border-block:1px solid color-mix(in srgb, var(--station-line) 58%, #d6d8cf 24%)}}.station-platform-sign{background:linear-gradient(115deg, var(--station-line), var(--station-line));border-inline:0;border-radius:0}@supports (color:color-mix(in lab, red, red)){.station-platform-sign{background:linear-gradient(115deg, color-mix(in srgb, var(--station-line) 78%, #f4ead8 22%), color-mix(in srgb, var(--station-line) 58%, #142a28 42%))}}.station-platform-sign{box-shadow:0 8px 22px #0000004d, inset 0 1px var(--station-line)}@supports (color:color-mix(in lab, red, red)){.station-platform-sign{box-shadow:0 8px 22px #0000004d, inset 0 1px color-mix(in srgb, var(--station-line) 52%, #fff7e8 24%)}}.station-platform-sign{color:var(--station-ink,#f7fffc);isolation:isolate;overflow:hidden}.station-platform-sign:after{z-index:0;content:"";pointer-events:none;background:linear-gradient(90deg, transparent, var(--station-line), transparent), linear-gradient(0deg, transparent, var(--station-line), transparent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.station-platform-sign:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--station-line) 30%, #fff7e8 20%), transparent), linear-gradient(0deg, transparent, color-mix(in srgb, var(--station-line) 24%, #172c29 22%), transparent)}}.station-platform-sign:after{mix-blend-mode:soft-light;opacity:.26}.station-platform-sign__mosaic{z-index:0;opacity:.94;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.station-platform-sign__name{z-index:1;text-align:center;justify-items:center;gap:3px;min-width:0;display:grid;position:relative}.station-platform-sign__name strong{color:var(--station-ink,#fff);font:900 clamp(30px, 7vw, 54px)/.96 var(--font-serif-hk);letter-spacing:.04em;-webkit-text-stroke:1px var(--station-ink-outline,#10201d);text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d), 0 2px 0 var(--station-ink-outline,#10201d), 0 5px 12px var(--station-ink-outline,#10201d), 0 0 16px var(--station-ink,#fff);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.station-platform-sign__name strong{text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d), 0 2px 0 color-mix(in srgb, var(--station-ink-outline,#10201d) 72%, transparent), 0 5px 12px color-mix(in srgb, var(--station-ink-outline,#10201d) 58%, transparent), 0 0 16px color-mix(in srgb, var(--station-ink,#fff) 22%, transparent)}}.station-platform-sign__name strong{text-overflow:ellipsis;white-space:nowrap}.station-platform-sign__name small{color:var(--station-ink,#f7fffc);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.station-platform-sign__name small{color:color-mix(in srgb, var(--station-ink,#f7fffc) 90%, transparent)}}.station-platform-sign__name small{font:700 clamp(10px, 1.8vw, 15px)/1.1 var(--font-sans);letter-spacing:.04em;-webkit-text-stroke:.8px var(--station-ink-outline,#10201d);text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d);text-overflow:ellipsis;white-space:nowrap}.typing-console:has(.station-platform-sign) .station-character{display:none}.typing-console:has(.station-platform-sign) .syllable-group{gap:0}.typing-console:has(.station-platform-sign) .typing-word{padding-block:clamp(12px,2.4vw,22px)}.typing-console:has(.station-platform-sign) .slot-base{border-color:var(--station-line);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.typing-console:has(.station-platform-sign) .slot-base{border-color:color-mix(in srgb, var(--station-line) 42%, #d7eee9 26%)}}.typing-console:has(.station-platform-sign) .slot-base{background:repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 5px),#031319d1;box-shadow:inset 0 1px #ffffff14}.typing-console:has(.station-platform-sign) .slot-active{border-color:var(--station-line);background:var(--station-line)}@supports (color:color-mix(in lab, red, red)){.typing-console:has(.station-platform-sign) .slot-active{background:color-mix(in srgb, var(--station-line) 30%, #06141a)}}.typing-console:has(.station-platform-sign) .slot-active{box-shadow:0 0 0 2px var(--station-line), 0 0 14px var(--station-line), inset 0 1px #ffffff24}@supports (color:color-mix(in lab, red, red)){.typing-console:has(.station-platform-sign) .slot-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--station-line) 22%, transparent), 0 0 14px color-mix(in srgb, var(--station-line) 34%, transparent), inset 0 1px #ffffff24}}.typing-console:has(.station-platform-sign) .slot-done{border-color:var(--station-line);background:var(--station-line);color:var(--station-ink,#f8fffb)}.learning-arcade-console__key-row{grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(4px,.7vw,8px);display:grid}.learning-arcade-console__key-row.key-row-2{grid-template-columns:repeat(9,minmax(0,1fr));padding-inline:5%}.learning-arcade-console__key-row.key-row-3{grid-template-columns:repeat(7,minmax(0,1fr));padding-inline:14%}.learning-arcade-console__key-row.key-row-3:not(.has-backspace):before,.learning-arcade-console__key-row.key-row-3:not(.has-backspace):after{content:"";pointer-events:none;min-width:0;display:block}.learning-arcade-console__key-row.key-row-3.has-backspace{grid-template-columns:repeat(9,minmax(0,1fr));padding-inline:5%}.learning-arcade-console__key-row.key-row-3.has-backspace:not(.has-keyboard-actions):before{content:"";pointer-events:none;min-width:0;display:block}.learning-arcade-console__key-row.key-row-3.has-backspace.has-keyboard-actions{grid-template-columns:minmax(0,1.35fr) repeat(7,minmax(0,1fr)) minmax(0,1.35fr)}.learning-arcade-key,.learning-arcade-action{color:#eaf7f3;width:100%;min-width:0;min-height:clamp(40px,5.4vw,54px);font:650 clamp(17px, 2.4vw, 23px)/1 var(--font-sans);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(#143a41fa,#071c23fa);border:1px solid #9ae4dc38;border-radius:9px 4px;justify-content:center;align-items:center;gap:6px;padding:0;transition:transform .1s,border-color .16s,background .16s,box-shadow .1s;display:inline-flex;box-shadow:0 4px #020d12b8,inset 0 1px #ecfff914}.learning-arcade-key:hover,.learning-arcade-key:focus-visible,.learning-arcade-action:hover,.learning-arcade-action:focus-visible{border-color:var(--game-cyan);background:linear-gradient(#246063fa,#0b2e33fa);box-shadow:0 4px #020d12b8,0 0 18px #9ae4dc2e}.learning-arcade-key:active,.learning-arcade-action:active{box-shadow:0 1px #020d12b8,inset 0 1px #ecfff914}.learning-arcade-key:active{transform:translateY(4px)}.learning-arcade-action:active{transform:translateY(3px)scale(.98)}.learning-arcade-key--special{color:var(--game-amber);background:linear-gradient(#544b2bfa,#272118fa)}.learning-arcade-key--keyboard-action{letter-spacing:.04em;flex-direction:column;gap:2px;font-size:10px}.learning-arcade-key--keyboard-action span{font:800 9px/1 var(--font-mono)}.learning-arcade-key--special:disabled{opacity:.46}.learning-arcade-console__actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.learning-arcade-console__actions.has-submit{grid-template-columns:minmax(90px,.72fr) minmax(150px,2fr)}.learning-arcade-console__actions.has-submit:has(.learning-arcade-action--enter){grid-template-columns:minmax(90px,.86fr) minmax(130px,1.5fr) minmax(90px,.86fr);width:calc(100% + 6px);margin-inline:-3px}.learning-arcade-action{min-height:clamp(38px,5vw,56px);color:var(--game-cyan);letter-spacing:.08em;padding-inline:10px;font-size:10px}.learning-arcade-action--utility{color:#eaf7f3cc;white-space:nowrap;font-size:11px}.learning-arcade-action--space{color:#17201d;background:linear-gradient(#f3c85f,#ca8737);border-color:#ffd16694;box-shadow:0 4px #765329,0 0 20px #ffd1661f}.learning-arcade-action--space strong{font:900 clamp(13px, 2vw, 19px)/1 var(--font-mono);letter-spacing:.05em}.learning-arcade-action--space span{font:700 10px/1 var(--font-sans)}.learning-arcade-action--enter{color:#eaf7f3;background:linear-gradient(#275d5efa,#0a272dfa);border-color:#9ae4dc61}.learning-arcade-action--enter strong{font:900 clamp(13px, 2vw, 19px)/1 var(--font-mono);letter-spacing:.05em}.learning-practice-screen .learning-practice-answer-hint{color:#d6f1ebb8}.learning-practice-screen .learning-practice-answer-hint strong{color:var(--game-amber)}.learning-arcade-action--space:hover,.learning-arcade-action--space:focus-visible{color:#17201d;background:linear-gradient(#ffdc7c,#e5a551);border-color:#ffe3a0}@keyframes learning-console-sweep{0%,38%{transform:translate(-105%)}56%,to{transform:translate(105%)}}@keyframes console-ready-pulse{0%,to{opacity:.55;transform:scale(.82)}50%{opacity:1;transform:scale(1.15)}}@keyframes combo-burst{0%{opacity:0;transform:translate(18px,12px)scale(.42)rotate(7deg)}18%{opacity:1;transform:translate(-5px,-3px)scale(1.16)rotate(-3deg)}68%{opacity:1;transform:translate(0)scale(1)rotate(0)}to{opacity:0;transform:translate(-6px,-14px)scale(.96)rotate(-2deg)}}@media (width<=560px){.learning-arcade-console{padding:9px 9px max(16px, env(safe-area-inset-bottom));gap:8px}.learning-arcade-console__meters>span{flex:1 1 0;min-width:0;padding-inline:7px}.learning-arcade-console__meters small{font-size:8px}.learning-arcade-console__key-row{gap:4px}.learning-arcade-console__key-row.key-row-2{padding-inline:4%}.learning-arcade-console__key-row.key-row-3{padding-inline:10%}.learning-arcade-console__key-row.key-row-3:not(.has-backspace){padding-inline:0}.learning-arcade-console__key-row.key-row-3.has-backspace{padding-inline:1%}.learning-arcade-console__actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:5px}.learning-arcade-console__actions.has-submit{grid-template-columns:minmax(82px,.72fr) minmax(0,2fr)}.learning-arcade-console__actions.has-submit:has(.learning-arcade-action--enter){grid-template-columns:repeat(3,minmax(0,1fr))}.learning-arcade-action{min-height:42px;padding-inline:4px}.learning-arcade-action--space{flex-direction:column;gap:3px}.learning-arcade-action--space span{font-size:8px;display:block}}@media (prefers-reduced-motion:reduce){.learning-arcade-console:before,.learning-arcade-console__signal i{animation:none}}@media (hover:none) and (pointer:coarse){.game-shell.has-arcade-keyboard .learning-arcade-console:before,.game-shell.has-arcade-keyboard .learning-arcade-console__signal i,.game-shell.has-arcade-keyboard .typing-hud-event-streak>svg,.game-shell.has-arcade-keyboard .journey-window .route-activity-meter i:before,.game-shell.has-arcade-keyboard .journey-window .route-activity-meter i:after{animation:none!important}.game-shell.has-arcade-keyboard .journey-window .route-activity-indicator:before,.game-shell.has-arcade-keyboard .journey-window .route-activity-meter i:before,.game-shell.has-arcade-keyboard .typing-hud-event-streak[data-shield-ready=true]>svg{filter:none!important}}:where(.game-lobby-redesign,.solo-setup-screen,.full-line-screen,.start-screen,.learning-system-screen,.learning-practice-screen,.results-screen) :where(button,[role=button]):focus-visible{outline:3px solid var(--game-cyan,#9ae4dc);outline-offset:3px}:where(.game-lobby-redesign,.solo-setup-screen,.full-line-screen,.start-screen,.learning-system-screen,.learning-practice-screen,.results-screen) :where(button,[role=button]):disabled{cursor:not-allowed;filter:saturate(.62)}:where(.solo-setup-screen,.full-line-screen,.start-screen) .setup-back,.game-lobby-redesign .lobby-utilities .cm-icon-button{color:#eaf7f3;background:#071b22e0;border-color:#9ae4dc47;box-shadow:0 10px 24px #03121733,inset 0 1px #ecfff91a}:where(.solo-setup-screen,.full-line-screen,.start-screen) .setup-back:hover,:where(.solo-setup-screen,.full-line-screen,.start-screen) .setup-back:focus-visible,.game-lobby-redesign .lobby-utilities .cm-icon-button:hover,.game-lobby-redesign .lobby-utilities .cm-icon-button:focus-visible{border-color:var(--game-cyan);color:#fff;background:#123a40f5}@keyframes learning-panel-sweep{0%,38%{transform:translate(-105%)}56%,to{transform:translate(105%)}}@media (prefers-reduced-motion:reduce){:where(.learning-system-screen,.learning-practice-screen):before,.learning-system-screen .learning-model-card:after,.learning-system-screen .learning-example-card:after,.learning-practice-main:after,.learning-complete-card:after{animation:none}}.game-launch-countdown,.pressure-failure-curtain{isolation:isolate;overflow:hidden}.game-launch-countdown:before,.pressure-failure-curtain:before{content:"";z-index:-1;pointer-events:none;opacity:.56;background:repeating-linear-gradient(116deg,#0000 0 20px,#9ae4dc14 20px 22px,#0000 22px 48px);animation:1.6s linear infinite fight-speed-lines;position:absolute;inset:-30%}.game-launch-countdown:after,.pressure-failure-curtain:after{content:"";aspect-ratio:1;z-index:-1;pointer-events:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:1px solid #ffd1666b;width:min(58vw,430px);animation:.9s cubic-bezier(.16,1,.3,1) both fight-impact-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.55)rotate(45deg)}.game-launch-countdown>*,.pressure-failure-curtain>*{z-index:1;position:relative}.game-launch-countdown{background:radial-gradient(circle at 50% 46%,#ffd16629,#0000 22%),radial-gradient(circle,#04161b47,#02090ec7);animation:.34s cubic-bezier(.16,1,.3,1) both fight-overlay-enter}.game-launch-countdown span{background:#05161bc7;border:1px solid #ffd166b3;padding:7px 11px;transform:skew(-8deg);box-shadow:4px 4px #752c248f}.game-launch-countdown strong{color:#fff5c7;text-shadow:5px 5px #712c25c7,0 0 32px #ffd166a6;filter:drop-shadow(0 0 12px #ffd16657);position:relative}.game-launch-countdown small{border-left:3px solid var(--game-cyan);color:#effff8;letter-spacing:.06em;background:#041419b8;padding:6px 10px}.pressure-failure-curtain{animation:.46s cubic-bezier(.16,1,.3,1) both fight-failure-slam}.pressure-failure-curtain:before{background:repeating-linear-gradient(116deg,#0000 0 16px,#ff7e681a 16px 19px,#0000 19px 42px);animation-duration:1.1s}.pressure-failure-curtain:after{border-color:#ff7e6870;width:min(64vw,520px);animation-duration:.76s}.pressure-failure-curtain span,.pressure-failure-curtain strong,.pressure-failure-curtain div{animation:.52s cubic-bezier(.16,1,.3,1) both fight-content-rise}.pressure-failure-curtain strong{text-shadow:4px 4px #4f191cbd,0 0 24px #ff7e6866;animation-delay:70ms}.pressure-failure-curtain div{animation-delay:.14s}.pressure-failure-curtain button{transition:transform .16s,background-color .16s,border-color .16s;position:relative;overflow:hidden}.pressure-failure-curtain button:after{content:"";background:linear-gradient(110deg,#0000 28%,#ffffff38 48%,#0000 68%);animation:1.8s ease-out .48s both fight-button-sweep;position:absolute;inset:0;transform:translate(-120%)}.pressure-failure-curtain button:hover,.pressure-failure-curtain button:focus-visible{transform:translateY(-2px)skew(-3deg)}.fight-feedback,.game-input-feedback.is-visible{animation:.42s cubic-bezier(.16,1,.3,1) both fight-feedback-hit;position:relative;overflow:hidden}.fight-feedback:after,.game-input-feedback.is-visible:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 26%,#ffffff4d 48%,#0000 70%);animation:.7s ease-out .1s both fight-button-sweep;position:absolute;inset:0;transform:translate(-120%)}.game-input-feedback.is-visible{animation-name:fight-miss-hit}.station-combo-pop{filter:drop-shadow(4px 5px #4d2714c7)drop-shadow(0 0 20px #ffd16694)}.station-combo-pop:after{content:"";clip-path:polygon(0 50%,28% 0,100% 0,72% 100%,28% 100%);border:1px solid #ffd16699;width:86px;height:38px;animation:.76s cubic-bezier(.16,1,.3,1) both fight-combo-burst;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)scale(.72)}.correct-pulse strong{animation:.43s cubic-bezier(.16,1,.3,1) both fight-correct-stamp}.journey-event-scene{animation:.38s cubic-bezier(.16,1,.3,1) both fight-event-enter!important}.event-warning-banner{border-radius:4px 18px;overflow:hidden;box-shadow:5px 5px #572f1c8f,0 22px 64px #0000006b;animation:.46s cubic-bezier(.16,1,.3,1) both fight-event-card-in!important}.event-warning-banner:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 24%,#fff3 48%,#0000 70%);animation:1.15s ease-out .22s both fight-button-sweep;position:absolute;inset:0;transform:translate(-120%)}.event-warning-countdown{animation:1s cubic-bezier(.16,1,.3,1) infinite fight-event-countdown!important}.event-result-toast{border-radius:4px 18px;animation:.52s cubic-bezier(.16,1,.3,1) both fight-result-stamp;box-shadow:5px 5px #2e2318a8,0 0 30px #eaae3e42}.event-result-toast strong{letter-spacing:.04em;text-shadow:3px 3px #04101694}.event-result-toast[data-outcome=success]{border-color:#5fe09ec2;box-shadow:5px 5px #1b4d3d9e,0 0 42px #5fe09e47}.event-result-toast[data-outcome=miss]{border-color:#ff7e68c7;box-shadow:5px 5px #5c2127a8,0 0 42px #ff7e6838}html:not(.dark) .game-launch-countdown{color:#17363a;text-shadow:none;background:radial-gradient(circle at 50% 46%,#ffcc4933,#0000 22%),#f7fcf9e6}html:not(.dark) .game-launch-countdown span{color:#654509;background:#fffdf3;border-color:#a36b19;box-shadow:4px 4px #77431e38}html:not(.dark) .game-launch-countdown strong{color:#9f2945;text-shadow:4px 4px #fffffff0,0 0 20px #be504640}html:not(.dark) .game-launch-countdown small{color:#174b4d;background:#fff;box-shadow:2px 2px #2d6c6929}html:not(.dark) .pressure-failure-curtain:before,html:not(.dark) .game-launch-countdown:before{opacity:.22}html:not(.dark) .pressure-failure-curtain:after,html:not(.dark) .game-launch-countdown:after{border-color:#b13a495c}html:not(.dark) .pressure-failure-curtain strong{text-shadow:4px 4px #ffffffeb,0 0 22px #b52f4b33}html:not(.dark) .event-warning-banner,html:not(.dark) .event-result-toast{color:#f4fbf8;background:#0b2029;border-color:#f4bd52bd;box-shadow:5px 5px #02080da8,0 20px 58px #02080d57}html:not(.dark) .event-warning-banner .event-warning-label,html:not(.dark) .event-warning-banner .event-warning-instruction,html:not(.dark) .event-warning-countdown{color:#f4bd52}html:not(.dark) .event-warning-brief>span{color:#d1e4df}html:not(.dark) .event-result-toast strong{color:#fff4d5;text-shadow:2px 2px #02080d94}html:not(.dark) .event-result-toast span{color:#f4bd52}html:not(.dark) .event-result-toast[data-outcome=success]{border-color:#25805d;box-shadow:5px 5px #1b4d3d2e,0 0 36px #25805d2e}html:not(.dark) .event-result-toast[data-outcome=miss]{border-color:#b83e55;box-shadow:5px 5px #5c21272e,0 0 36px #b83e5529}@keyframes fight-speed-lines{0%{transform:translate(-4%,-4%)}to{transform:translate(4%,4%)}}@keyframes fight-impact-ring{0%{opacity:0;transform:translate(-50%,-50%)scale(.48)rotate(45deg)}25%{opacity:.8}to{opacity:0;transform:translate(-50%,-50%)scale(1.16)rotate(135deg)}}@keyframes fight-overlay-enter{0%{opacity:0;filter:saturate(.5)brightness(.7)}to{opacity:1;filter:saturate()brightness()}}@keyframes fight-failure-slam{0%{opacity:0;transform:scale(1.08)}58%{opacity:1;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes fight-content-rise{0%{opacity:0;transform:translateY(16px)skew(-7deg)}to{opacity:1;transform:translateY(0)skew(-7deg)}}@keyframes fight-button-sweep{to{transform:translate(120%)}}@keyframes fight-feedback-hit{0%{opacity:0;transform:translate(-18px)skew(-10deg)scale(.76)}55%{opacity:1;transform:translate(3px)skew(-6deg)scale(1.08)}to{opacity:1;transform:translate(0)skew(-6deg)scale(1)}}@keyframes fight-miss-hit{0%{opacity:0;transform:translate(18px)skew(-10deg)scale(.76)}45%{opacity:1;transform:translate(-4px)skew(-8deg)scale(1.08)}62%{transform:translate(3px)skew(-8deg)scale(1)}78%{transform:translate(-2px)skew(-8deg)scale(1)}to{opacity:1;transform:translate(0)skew(-8deg)scale(1)}}@keyframes fight-combo-burst{0%{opacity:0;transform:translate(-50%,-50%)rotate(-8deg)scale(.3)}26%{opacity:1;transform:translate(-50%,-50%)rotate(-8deg)scale(1.18)}to{opacity:0;transform:translate(-50%,-50%)rotate(-8deg)scale(1.4)}}@keyframes fight-correct-stamp{0%{opacity:0;transform:skew(-8deg)rotate(-5deg)scale(.72)}45%{opacity:1;transform:skew(-8deg)rotate(2deg)scale(1.08)}to{opacity:1;transform:skew(-8deg)rotate(-2deg)scale(1)}}@keyframes fight-event-enter{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes fight-event-card-in{0%{opacity:0;transform:translate(-50%,-50%)translateY(-24px)skew(-4deg)scale(.82)}68%{opacity:1;transform:translate(-50%,-50%)translateY(3px)skew(0deg)scale(1.03)}to{opacity:1;transform:translate(-50%,-50%)translateY(0)skew(0deg)scale(1)}}@keyframes fight-event-countdown{0%,to{opacity:.55;transform:scale(.86)rotate(-3deg)}44%{opacity:1;transform:scale(1.12)rotate(2deg)}}@keyframes fight-result-stamp{0%{opacity:0;transform:translate(-50%)translateY(26px)rotate(4deg)scale(.7)}58%{opacity:1;transform:translate(-50%)translateY(-3px)rotate(-1deg)scale(1.08)}to{opacity:1;transform:translate(-50%)translateY(0)rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.game-launch-countdown,.game-launch-countdown:before,.game-launch-countdown:after,.pressure-failure-curtain,.pressure-failure-curtain:before,.pressure-failure-curtain:after,.pressure-failure-curtain>*,.pressure-failure-curtain button:after,.fight-feedback,.fight-feedback:after,.game-input-feedback.is-visible,.game-input-feedback.is-visible:after,.station-combo-pop,.station-combo-pop:after,.correct-pulse strong,.journey-event-scene,.event-warning-banner,.event-warning-banner:after,.event-warning-countdown,.event-result-toast{animation:none!important}}@media (width<=620px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:46px minmax(0,1fr) clamp(266px,42dvh,342px) 0;gap:6px;padding-inline:8px}}@media (orientation:landscape) and (height<=620px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:42px minmax(112px,1fr) clamp(174px,52dvh,228px) 0;gap:4px;padding-inline:12px}.game-shell>.game-stage>.event-debug-panel{top:46px;top:46px!important}}.results-screen{--result-ink:#17383c;--result-muted:#557174;--result-line:#2b68683d;--result-line-strong:#2b68686b;--result-glass:#f6fbf9c7;--result-glass-strong:#f1f9f6eb;--result-glass-soft:#e0efeba8;--result-shadow:#184f4f33;--result-halo:#30898529;isolation:isolate;background:radial-gradient(circle at 50% 14%, var(--result-halo), transparent 34%), linear-gradient(180deg, #ecf7f4b8, #cde0dcdb);color:var(--result-ink);padding:clamp(14px,2.6vmin,30px);position:relative;overflow:hidden}html.dark .results-screen{--result-ink:#edf8f4;--result-muted:#9ab5b2;--result-line:#8ecdc733;--result-line-strong:#8ecdc766;--result-glass:#09141dc2;--result-glass-strong:#0f1d25e6;--result-glass-soft:#0f1e269e;--result-shadow:#00000070;--result-halo:#4ea8a724;background:radial-gradient(circle at 50% 14%, var(--result-halo), transparent 34%), linear-gradient(180deg, #09121be6, #04090ffa)}.results-screen:before{z-index:-3;opacity:.38;filter:saturate(.62)contrast(.94);background:linear-gradient(#e9f7f352,#c7ddd8d6),url(/assets/commute-cinematic-bg.webp) 50%/cover no-repeat}html.dark .results-screen:before{opacity:.58;filter:saturate(.78)contrast(1.1);background:linear-gradient(#040a127a,#03080ee6),url(/assets/cantomore-night-platform-hero.webp) 50%/cover no-repeat}.results-screen:after{z-index:-2;opacity:1;background:linear-gradient(90deg,#0000 0 10%,#4b999714 10.1%,#0000 10.2% 89.8%,#4b999714 89.9%,#0000 90%),radial-gradient(70% 55% at 50% 20%,#0000 0 54%,#081d1f24 100%)}html.dark .results-screen:after{background:linear-gradient(90deg,#0000 0 10%,#91dad314 10.1%,#0000 10.2% 89.8%,#91dad314 89.9%,#0000 90%),radial-gradient(70% 55% at 50% 20%,#0000 0 50%,#00000061 100%)}.results-three-part{grid-template-rows:minmax(0,1.24fr) minmax(72px,.4fr) minmax(0,.9fr);gap:clamp(10px,1.8vmin,16px);width:min(1120px,100%);height:min(100%,760px);padding-inline:0}.results-three-part:before{z-index:-1;background:radial-gradient(ellipse at 50% 28%, var(--result-halo), transparent 62%);filter:blur(22px);inset:-18% 10% 4%}.results-zone{border:1px solid var(--result-line);background:var(--result-glass);box-shadow:0 22px 54px var(--result-shadow), inset 0 1px 0 #ffffff47;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1)}.results-zone-top{background:linear-gradient(120deg, #ffffff2e, transparent 42%), var(--result-glass-strong);border-radius:26px 26px 9px;grid-template-rows:1fr;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}.results-zone-top:before{background:linear-gradient(90deg, var(--brand-expression), var(--action-primary) 48%, transparent 88%);height:2px;box-shadow:0 0 20px var(--action-primary);inset:0 24px auto}@supports (color:color-mix(in lab, red, red)){.results-zone-top:before{box-shadow:0 0 20px color-mix(in srgb, var(--action-primary) 38%, transparent)}}.results-top-route,.results-top-outcome{padding:clamp(20px,3.6vmin,42px)}.results-top-route{border-right:1px solid var(--result-line);justify-content:space-between;align-items:flex-start;gap:20px}.results-top-route .results-eyebrow{color:var(--action-secondary-text);letter-spacing:.24em;font-size:10px}.results-top-route .results-route-title{gap:14px;margin-top:clamp(14px,2.2vmin,24px)}.results-top-route .results-route-title strong{color:var(--result-ink);letter-spacing:-.02em;font-size:clamp(30px,5vmin,56px)}.results-top-route .results-route-title svg{color:var(--action-primary);filter:drop-shadow(0 0 9px var(--action-primary))}@supports (color:color-mix(in lab, red, red)){.results-top-route .results-route-title svg{filter:drop-shadow(0 0 9px color-mix(in srgb, var(--action-primary) 42%, transparent))}}.results-top-route .results-line-chips{justify-content:flex-start;gap:8px}.results-top-route .results-line-chip{border:1px solid var(--chip-color);min-height:28px;padding:6px 9px}@supports (color:color-mix(in lab, red, red)){.results-top-route .results-line-chip{border:1px solid color-mix(in srgb, var(--chip-color) 48%, var(--result-line))}}.results-top-route .results-line-chip{background:var(--chip-color);border-radius:7px}@supports (color:color-mix(in lab, red, red)){.results-top-route .results-line-chip{background:color-mix(in srgb, var(--chip-color) 12%, transparent)}}.results-top-route .results-line-chip{color:var(--result-ink)}.results-top-route .results-mini-route{border-top:1px solid var(--result-line);margin-top:18px;padding-top:14px}.results-top-route .results-mini-stop,.results-top-outcome .results-grade-hint,.results-top-meta{color:var(--result-muted)}.results-top-outcome{background:radial-gradient(circle at 73% 44%, var(--brand-expression), transparent 32%), transparent;justify-content:center;gap:clamp(18px,3vmin,34px);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.results-top-outcome{background:radial-gradient(circle at 73% 44%, color-mix(in srgb, var(--brand-expression) 12%, transparent), transparent 32%), transparent}}.results-top-outcome:before{border-color:var(--brand-expression);width:min(34vmin,250px)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome:before{border-color:color-mix(in srgb, var(--brand-expression) 20%, transparent)}}.results-top-outcome:after{border-color:var(--action-primary);width:min(24vmin,178px)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome:after{border-color:color-mix(in srgb, var(--action-primary) 26%, transparent)}}.results-top-outcome .results-grade-badge{width:clamp(90px,15vmin,132px);height:clamp(90px,15vmin,132px);box-shadow:7px 7px 0 var(--action-primary);border-radius:23px 23px 7px}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-badge{box-shadow:7px 7px 0 color-mix(in srgb, var(--action-primary) 42%, transparent)}}.results-top-outcome .results-grade-letter,.results-top-outcome .results-grade-title{color:var(--result-ink)}.results-top-outcome .results-grade-letter{text-shadow:2px 3px 0 var(--result-shadow)}@supports (color:color-mix(in lab, red, red)){.results-top-outcome .results-grade-letter{text-shadow:2px 3px 0 color-mix(in srgb, var(--result-shadow) 72%, transparent)}}.results-top-outcome .results-grade-title{letter-spacing:-.025em;font-size:clamp(28px,4.3vmin,48px)}.results-brand-seal{opacity:.14;mix-blend-mode:multiply}html.dark .results-brand-seal{opacity:.16;mix-blend-mode:screen}.results-zone-mid{background:var(--result-glass-soft);border-radius:9px 24px 24px}.results-zone-mid .results-summary-stat{border-left:0;border-top:2px solid var(--action-primary);padding:clamp(13px,2.2vmin,22px) clamp(16px,2.8vmin,30px)}.results-zone-mid .results-summary-stat+.results-summary-stat{border-left:1px solid var(--result-line)}.results-zone-mid .results-summary-stat:nth-child(2){border-top-color:var(--brand-expression);box-shadow:none}.results-zone-mid .results-summary-stat:nth-child(3){border-top-color:var(--result-line-strong);box-shadow:none}.results-zone-mid .results-summary-stat span{color:var(--result-muted)}.results-zone-mid .results-summary-stat strong,.results-quick-stat strong{color:var(--result-ink)}.results-zone-mid .results-summary-stat strong{font-size:clamp(23px,4.4vmin,42px)}.results-summary-stat--accuracy{--accuracy-color:var(--positive-500)}@supports (color:color-mix(in lab, red, red)){.results-summary-stat--accuracy{--accuracy-color:color-mix(in hsl shorter hue, var(--positive-500) var(--metric-progress,50%), var(--critical-500))}}.results-summary-stat--accuracy{--accuracy-soft:var(--positive-100)}@supports (color:color-mix(in lab, red, red)){.results-summary-stat--accuracy{--accuracy-soft:color-mix(in hsl shorter hue, var(--positive-100) var(--metric-progress,50%), var(--critical-100))}}.results-zone-mid .results-summary-stat--accuracy{border-top-color:var(--accuracy-color);background:linear-gradient(135deg, var(--accuracy-soft), transparent 78%)}@supports (color:color-mix(in lab, red, red)){.results-zone-mid .results-summary-stat--accuracy{background:linear-gradient(135deg, color-mix(in srgb, var(--accuracy-soft) 70%, transparent), transparent 78%)}}.results-summary-stat--accuracy strong{color:var(--accuracy-color)!important}.shared-result-metrics .results-summary-stat--accuracy{background:linear-gradient(135deg, var(--accuracy-soft), transparent 82%)}@supports (color:color-mix(in lab, red, red)){.shared-result-metrics .results-summary-stat--accuracy{background:linear-gradient(135deg, color-mix(in srgb, var(--accuracy-soft) 62%, transparent), transparent 82%)}}.results-zone-bottom{background:var(--result-glass);border-radius:24px 9px 24px 24px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(16px,3vmin,34px);padding:clamp(18px,3vmin,30px)}.results-quick-stat{border-color:var(--result-line);background:var(--result-glass-soft);border-radius:11px 11px 4px}.results-quick-stat span,.results-breakdown-pb>span{color:var(--result-muted)}.results-breakdown-trigger{border-color:var(--result-line-strong);color:var(--action-secondary-text);background:0 0}.results-breakdown-trigger:hover,.results-breakdown-trigger:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft)}.results-zone-bottom .results-action{border-color:var(--result-line-strong);background:var(--result-glass-strong);border-radius:12px 12px 4px}@supports (color:color-mix(in lab, red, red)){.results-zone-bottom .results-action{background:color-mix(in srgb, var(--result-glass-strong) 60%, transparent)}}.results-zone-bottom .results-action{color:var(--result-ink);box-shadow:inset 0 1px #ffffff24}.results-zone-bottom .results-action:hover,.results-zone-bottom .results-action:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--action-secondary-text)}.results-zone-bottom .results-action-primary{border-color:var(--action-primary);background:linear-gradient(135deg, var(--action-primary-hover), var(--action-primary));color:var(--action-primary-text);box-shadow:0 5px 0 var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-zone-bottom .results-action-primary{box-shadow:0 5px 0 color-mix(in srgb, var(--action-primary) 42%, var(--result-shadow))}}.results-victory-overlay{background:radial-gradient(circle at 50% 43%, var(--brand-expression), transparent 25%), radial-gradient(circle at 50% 45%, var(--action-primary), transparent 52%), var(--scrim-strong);padding:clamp(18px,4vmin,44px)}@supports (color:color-mix(in lab, red, red)){.results-victory-overlay{background:radial-gradient(circle at 50% 43%, color-mix(in srgb, var(--brand-expression) 18%, transparent), transparent 25%), radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--action-primary) 18%, transparent), transparent 52%), color-mix(in srgb, var(--scrim-strong) 88%, transparent)}}.results-victory-overlay{-webkit-backdrop-filter:blur(17px)saturate(.72);backdrop-filter:blur(17px)saturate(.72)}.results-victory-overlay:before{aspect-ratio:1;border:1px solid var(--action-primary);width:min(76vw,760px);position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.results-victory-overlay:before{border:1px solid color-mix(in srgb, var(--action-primary) 22%, transparent)}}.results-victory-overlay:before{box-shadow:0 0 0 22px var(--action-primary), 0 0 90px var(--action-primary);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.results-victory-overlay:before{box-shadow:0 0 0 22px color-mix(in srgb, var(--action-primary) 4%, transparent), 0 0 90px color-mix(in srgb, var(--action-primary) 12%, transparent)}}.results-victory-overlay:before{content:"";pointer-events:none;transform:translate(-50%,-50%)}.results-victory-overlay:after{background:linear-gradient(90deg, transparent 0 17%, var(--action-primary) 17.05% 17.12%, transparent 17.2% 82.8%, var(--action-primary) 82.88% 82.95%, transparent 83%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.results-victory-overlay:after{background:linear-gradient(90deg, transparent 0 17%, color-mix(in srgb, var(--action-primary) 10%, transparent) 17.05% 17.12%, transparent 17.2% 82.8%, color-mix(in srgb, var(--action-primary) 10%, transparent) 82.88% 82.95%, transparent 83%)}}.results-victory-overlay:after{content:"";pointer-events:none}.results-victory-content{text-align:center;width:min(620px,100%);padding:clamp(20px,4vmin,42px)}.results-victory-mark{border:1px solid var(--action-primary);width:clamp(74px,13vmin,104px);height:clamp(74px,13vmin,104px);margin-bottom:clamp(18px,3vmin,28px)}@supports (color:color-mix(in lab, red, red)){.results-victory-mark{border:1px solid color-mix(in srgb, var(--action-primary) 72%, white 10%)}}.results-victory-mark{background:linear-gradient(135deg, var(--action-primary-hover), var(--action-primary));color:var(--action-primary-text);box-shadow:8px 8px 0 var(--brand-expression);border-radius:22px 22px 7px}@supports (color:color-mix(in lab, red, red)){.results-victory-mark{box-shadow:8px 8px 0 color-mix(in srgb, var(--brand-expression) 62%, transparent)}}.results-victory-mark{transform:rotate(-4deg)}.results-victory-kicker{color:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-victory-kicker{color:color-mix(in srgb, var(--action-primary) 72%, white 28%)}}.results-victory-kicker{letter-spacing:.3em;font-size:10px}.results-victory-content h1{color:#f3fbf8;letter-spacing:-.055em;text-shadow:0 10px 42px #00000057;margin-top:13px;font-size:clamp(58px,14vmin,112px);line-height:.9}.results-victory-route{border-block:1px solid var(--action-primary);width:min(380px,100%);margin:clamp(20px,3.4vmin,32px) auto 0;padding:14px 0 13px}@supports (color:color-mix(in lab, red, red)){.results-victory-route{border-block:1px solid color-mix(in srgb, var(--action-primary) 22%, transparent)}}.results-victory-route{color:#e8f5f1}.results-victory-route svg{color:var(--action-primary)}.results-victory-content p{color:#e2f1edbd;margin-top:14px}.results-victory-content>button{background:linear-gradient(135deg, var(--action-primary-hover), var(--action-primary));min-width:min(296px,86vw);min-height:56px;color:var(--action-primary-text);box-shadow:0 6px 0 var(--action-primary);border-radius:12px 12px 5px;margin-top:clamp(26px,4vmin,40px)}@supports (color:color-mix(in lab, red, red)){.results-victory-content>button{box-shadow:0 6px 0 color-mix(in srgb, var(--action-primary) 42%, #071014)}}.results-breakdown-modal,.results-detail-modal,.share-card,.shared-result-card{border-color:var(--result-line-strong);background:linear-gradient(135deg, var(--action-primary), transparent 42%), var(--result-glass-strong);border-radius:24px 24px 8px}@supports (color:color-mix(in lab, red, red)){.results-breakdown-modal,.results-detail-modal,.share-card,.shared-result-card{background:linear-gradient(135deg, color-mix(in srgb, var(--action-primary) 8%, transparent), transparent 42%), var(--result-glass-strong)}}.results-breakdown-modal,.results-detail-modal,.share-card,.shared-result-card{box-shadow:0 28px 80px var(--result-shadow), inset 0 1px 0 #ffffff2e;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1)}.results-breakdown-modal h2,.results-detail-modal .results-detail-hanzi,.shared-result-route strong,.shared-result-score h1{color:var(--result-ink)}.results-station-tile,.results-detail-row{border-color:var(--result-line);background:var(--result-glass-soft);border-radius:10px 10px 4px}.results-station-tile:hover,.results-station-tile[data-active=true]{border-color:var(--action-primary);background:var(--action-primary-soft)}.shared-result-card{background:radial-gradient(circle at 88% 10%, var(--brand-expression), transparent 28%), var(--result-glass-strong)}@supports (color:color-mix(in lab, red, red)){.shared-result-card{background:radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--brand-expression) 14%, transparent), transparent 28%), var(--result-glass-strong)}}.shared-result-score .results-grade-badge{box-shadow:7px 7px 0 var(--action-primary);border-radius:22px 22px 7px}@supports (color:color-mix(in lab, red, red)){.shared-result-score .results-grade-badge{box-shadow:7px 7px 0 color-mix(in srgb, var(--action-primary) 42%, transparent)}}@media (width<=700px){.results-screen{padding:10px}.results-three-part{grid-template-rows:auto auto auto;gap:10px;height:auto;min-height:calc(100% - 4px)}.results-zone-top{grid-template-rows:auto minmax(220px,1fr);grid-template-columns:1fr}.results-top-route{border-right:0;border-bottom:1px solid var(--result-line);flex-direction:row;align-items:flex-end;min-height:108px;padding:17px 18px 14px}.results-top-route .results-route-title strong{font-size:clamp(26px,9vw,42px)}.results-top-route .results-mini-route{display:none}.results-top-route .results-line-chips{justify-content:flex-end}.results-top-outcome{min-height:230px;padding:22px 18px}.results-zone-mid{min-height:84px}.results-zone-mid .results-summary-stat{padding-inline:12px}.results-zone-bottom{grid-template-columns:1fr;gap:12px;padding:16px}.results-zone-bottom .results-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.results-zone-bottom .results-action-primary{grid-column:1/-1}.results-victory-content h1{font-size:clamp(56px,18vw,88px)}.results-victory-content{padding-inline:10px}}@media (width<=420px){.results-top-route{min-height:94px;padding-inline:13px}.results-top-route .results-line-chip{padding-inline:6px;font-size:8px}.results-top-outcome{min-height:210px}.results-top-outcome .results-grade-badge{width:76px;height:76px}.results-top-outcome .results-grade-letter{font-size:42px}.results-top-outcome .results-grade-title{font-size:25px}.results-zone-bottom .results-actions{gap:6px}.results-zone-bottom .results-action{min-height:42px;padding-inline:8px}.results-zone-bottom .results-action strong{font-size:11px}}html:not(.dark) .results-victory-overlay{background:radial-gradient(circle at 50% 43%, var(--brand-expression), transparent 25%), radial-gradient(circle at 50% 45%, var(--action-primary), transparent 52%), #dceae6d1}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .results-victory-overlay{background:radial-gradient(circle at 50% 43%, color-mix(in srgb, var(--brand-expression) 12%, transparent), transparent 25%), radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--action-primary) 14%, transparent), transparent 52%), #dceae6d1}}html:not(.dark) .results-victory-content h1{color:var(--result-ink);text-shadow:0 10px 42px #ffffff57}html:not(.dark) .results-victory-route{color:var(--result-ink)}html:not(.dark) .results-victory-content p{color:var(--result-muted)}@media (prefers-reduced-motion:reduce){.results-screen:before,.results-victory-content,.results-victory-confetti i,.shared-result-card{animation:none}}html:not(.dark) .game-shell .interchange-challenge .interchange-typing{border-block-color:var(--transfer-line-color)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .interchange-challenge .interchange-typing{border-block-color:color-mix(in srgb, var(--transfer-line-color) 62%, #b7e4df)}}html:not(.dark) .game-shell .interchange-challenge .interchange-typing{color:#f4fbf8;background:linear-gradient(#12363dfa,#07191ffc),repeating-linear-gradient(135deg,#0000 0 22px,#9ae4dc0b 22px 23px);box-shadow:inset 0 1px #f4fbf814,0 10px 26px #061c2033}html:not(.dark) .game-shell .interchange-challenge .interchange-typing .typing-word{color:#f4fbf8!important;background:0 0!important;border-color:#0000!important}html:not(.dark) .game-shell .interchange-challenge .interchange-typing .station-character{text-shadow:0 2px 12px #0000007a;color:#f4fbf8!important}html:not(.dark) .game-shell .interchange-challenge .interchange-typing .slot-base{box-shadow:inset 0 1px #f4fbf80f,0 2px 8px #0000002e;color:#f4fbf8!important;background:#04181dd1!important;border-color:#b5d7d76b!important}html:not(.dark) .game-shell .interchange-challenge .interchange-typing .slot-active{border-color:var(--transfer-line-color)!important;background:var(--transfer-line-color)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .interchange-challenge .interchange-typing .slot-active{background:color-mix(in srgb, var(--transfer-line-color) 22%, #0a262c)!important}}html:not(.dark) .game-shell .interchange-challenge .interchange-typing .slot-active{box-shadow:0 0 0 3px var(--transfer-line-color), 0 0 16px var(--transfer-line-color)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .interchange-challenge .interchange-typing .slot-active{box-shadow:0 0 0 3px color-mix(in srgb, var(--transfer-line-color) 30%, transparent), 0 0 16px color-mix(in srgb, var(--transfer-line-color) 26%, transparent)}}html:not(.dark) .game-shell .interchange-challenge .interchange-typing .slot-done{border-color:var(--action-primary)!important;background:var(--action-primary)!important;color:var(--action-primary-text)!important}@media (prefers-reduced-motion:reduce){html:not(.dark) .game-shell .interchange-challenge .interchange-typing{box-shadow:inset 0 1px #f4fbf814}}:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen){background:radial-gradient(90% 52% at 100% 0%, var(--action-primary), transparent 68%), radial-gradient(72% 48% at 0% 100%, var(--brand-expression), transparent 70%), var(--page);padding-inline-start:max(clamp(14px, 4vw, 32px), env(safe-area-inset-left));padding-inline-end:max(clamp(14px, 4vw, 32px), env(safe-area-inset-right))}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen){background:radial-gradient(90% 52% at 100% 0%, color-mix(in srgb, var(--action-primary) 9%, transparent), transparent 68%), radial-gradient(72% 48% at 0% 100%, color-mix(in srgb, var(--brand-expression) 7%, transparent), transparent 70%), var(--page)}}html.dark :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen){background:radial-gradient(90% 52% at 100% 0%, var(--action-primary), transparent 68%), radial-gradient(72% 48% at 0% 100%, var(--brand-expression), transparent 70%), var(--page)}@supports (color:color-mix(in lab, red, red)){html.dark :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen){background:radial-gradient(90% 52% at 100% 0%, color-mix(in srgb, var(--action-primary) 13%, transparent), transparent 68%), radial-gradient(72% 48% at 0% 100%, color-mix(in srgb, var(--brand-expression) 10%, transparent), transparent 70%), var(--page)}}:where(.cm-page-header,.learning-practice-header,.shared-result-header){padding-inline-start:max(0px, env(safe-area-inset-left));padding-inline-end:max(0px, env(safe-area-inset-right))}:where(.cm-button,.cm-icon-button,.setup-back,.journey-type-grid button,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.depart-button,.learning-example-audio,.learning-listen-button,.learning-primary-action,.learning-secondary-action,.learning-sound-tile,.results-action,.scene-ride){will-change:transform;transition-duration:var(--duration-base);transition-timing-function:var(--ease-out)}@media (hover:hover) and (pointer:fine){:where(.cm-button,.cm-icon-button,.setup-back,.journey-type-grid button,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.depart-button,.learning-example-audio,.learning-listen-button,.learning-primary-action,.learning-secondary-action,.learning-sound-tile,.results-action,.scene-ride):hover:not(:disabled){transform:translateY(-2px)}}:where(.cm-button,.cm-icon-button,.setup-back,.journey-type-grid button,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.depart-button,.learning-example-audio,.learning-listen-button,.learning-primary-action,.learning-secondary-action,.learning-sound-tile,.results-action,.scene-ride):active:not(:disabled){transform:translateY(1px)scale(.99)}:where(.cm-button,.cm-icon-button,.setup-back,.journey-type-grid button,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.depart-button,.learning-example-audio,.learning-listen-button,.learning-primary-action,.learning-secondary-action,.learning-sound-tile,.results-action,.scene-ride):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;box-shadow:var(--focus-ring-shadow), var(--shadow-2)}:where(.line-selector button[aria-selected=true],.direction-list button[aria-selected=true],.learning-sound-tile.is-selected,.planner-field.is-selecting){box-shadow:0 0 0 2px var(--action-primary), var(--shadow-2)}@supports (color:color-mix(in lab, red, red)){:where(.line-selector button[aria-selected=true],.direction-list button[aria-selected=true],.learning-sound-tile.is-selected,.planner-field.is-selecting){box-shadow:0 0 0 2px color-mix(in srgb, var(--action-primary) 24%, transparent), var(--shadow-2)}}.cm-button{isolation:isolate;overflow:hidden}.cm-button:before{content:"";pointer-events:none;width:24%;transition:transform .42s var(--ease-out);background:linear-gradient(90deg,#0000,#ffffff47,#0000);position:absolute;inset:0 auto 0 -34%;transform:skew(-18deg)}.cm-button>*{z-index:1;position:relative}@media (hover:hover) and (pointer:fine){.cm-button:hover:not(:disabled):before{transform:translate(540%)skew(-18deg)}}:where(.cm-button,.depart-button,.learning-primary-action,.results-action){font-size:clamp(14px,.9vw,18px)}:where(.journey-type-grid button strong,.results-action strong){font-size:clamp(18px,1.45vw,28px)}@media (width>=1600px){:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen){padding-block-start:clamp(24px,3vh,48px)}.journey-type-grid button{min-height:clamp(190px,13vw,260px);padding:clamp(24px,2.2vw,36px)}.line-selector button,.direction-list button,.results-action{min-height:clamp(56px,4vw,72px)}}@media (width<=620px){:where(.cm-button,.cm-icon-button,.setup-back,.line-selector button,.direction-list button,.planner-swap,.route-menu-trigger,.random-route-button,.depart-button,.learning-example-audio,.learning-listen-button,.learning-primary-action,.learning-secondary-action){min-height:48px}.results-action{min-height:56px}}@media (prefers-reduced-motion:reduce){:where(.cm-button,.cm-icon-button,.setup-back,.journey-type-grid button,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.depart-button,.learning-example-audio,.learning-listen-button,.learning-primary-action,.learning-secondary-action,.learning-sound-tile,.results-action,.scene-ride){will-change:auto;transform:none!important}.cm-button:before{display:none}}:root{--cm-page-max:1240px;--cm-page-gutter:clamp(16px, 4vw, 48px);--cm-page-top:clamp(18px, 3.2vw, 42px);--cm-panel-radius:18px 28px 18px 28px;--cm-control-radius:11px 17px 11px 17px;--cm-badge-radius:10px 18px 10px 18px;--cm-panel-fill:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){:root{--cm-panel-fill:color-mix(in srgb, var(--surface-raised) 94%, var(--page-accent))}}:root{--cm-panel-border:var(--border-strong)}@supports (color:color-mix(in lab, red, red)){:root{--cm-panel-border:color-mix(in srgb, var(--border-strong) 62%, transparent)}}:root{--cm-grid-line:var(--action-primary)}@supports (color:color-mix(in lab, red, red)){:root{--cm-grid-line:color-mix(in srgb, var(--action-primary) 10%, transparent)}}:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen){isolation:isolate;width:100%;max-width:var(--cm-page-max);min-height:var(--app-height,100dvh);padding-block:var(--cm-page-top) max(var(--cm-page-top), env(safe-area-inset-bottom));padding-inline:max(var(--cm-page-gutter), env(safe-area-inset-left)) max(var(--cm-page-gutter), env(safe-area-inset-right));color:var(--text-primary);margin-inline:auto;position:relative;overflow-x:clip;background:var(--page)!important}:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(90% 58% at 100% -8%, var(--action-primary), transparent 68%), radial-gradient(72% 50% at -8% 108%, var(--brand-expression), transparent 72%), repeating-linear-gradient(135deg, transparent 0 34px, var(--cm-grid-line) 34px 35px), linear-gradient(145deg, #f4faf8 0%, #dcece9 52%, #f7eee8 100%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{background:radial-gradient(90% 58% at 100% -8%, color-mix(in srgb, var(--action-primary) 16%, transparent), transparent 68%), radial-gradient(72% 50% at -8% 108%, color-mix(in srgb, var(--brand-expression) 12%, transparent), transparent 72%), repeating-linear-gradient(135deg, transparent 0 34px, var(--cm-grid-line) 34px 35px), linear-gradient(145deg, #f4faf8 0%, #dcece9 52%, #f7eee8 100%)}}:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(180deg, var(--surface), transparent 36%), radial-gradient(42% 25% at 50% 100%, var(--brand-expression), transparent 72%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):after{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 10%, transparent), transparent 36%), radial-gradient(42% 25% at 50% 100%, color-mix(in srgb, var(--brand-expression) 8%, transparent), transparent 72%)}}:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):after{opacity:1!important;animation:none!important}@supports (color:color-mix(in lab, red, red)){html.dark :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{background:radial-gradient(90% 58% at 100% -8%, color-mix(in srgb, var(--action-primary) 18%, transparent), transparent 68%), radial-gradient(72% 50% at -8% 108%, color-mix(in srgb, var(--brand-expression) 13%, transparent), transparent 72%), repeating-linear-gradient(135deg, transparent 0 34px, #89bdbd11 34px 35px), linear-gradient(145deg, #101e21 0%, #0b1518 52%, #17131a 100%)}}:where(.solo-setup-screen,.full-line-screen,.start-screen,.learning-system-screen,.learning-practice-screen)>.cm-page-header,:where(.results-screen)>.results-three-part,:where(.results-screen)>.shared-result-shell{width:100%;max-width:var(--cm-page-max);margin-inline:auto}:where(.cm-page-title,.start-screen__title){gap:8px;width:min(100%,900px);margin-block:0 clamp(18px,3vw,34px)}:where(.cm-page-title h1,.start-screen__title h1){letter-spacing:-.045em;font-size:clamp(30px,4.2vw,58px);line-height:1.04}:where(.cm-page-title p,.start-screen__title p){max-width:58ch;font-size:clamp(14px,1.35vw,18px);line-height:1.55}@supports (color:color-mix(in lab, red, red)){:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){border:1px solid color-mix(in srgb, var(--brand-expression) 58%, var(--border-strong))}}:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){border-radius:var(--cm-badge-radius);background:var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:color-mix(in srgb, var(--surface-raised) 92%, var(--brand-expression-soft))}}:where(.cm-page-header__trail>.compact-game-mark strong,.learning-practice-header>.compact-game-mark strong,.shared-result-header>.compact-game-mark strong){font-size:clamp(15px,1.4vw,20px)}.game-lobby-redesign .lobby-topbar,.game-lobby-redesign .lobby-footer-redesign{width:min(100%, var(--cm-page-max));margin-inline:auto}.game-lobby-redesign .lobby-topbar{padding-inline:max(var(--cm-page-gutter), env(safe-area-inset-left)) max(var(--cm-page-gutter), env(safe-area-inset-right))}:where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){border:1px solid var(--cm-panel-border)!important;border-radius:var(--cm-panel-radius)!important;box-shadow:var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) :where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){background:color-mix(in srgb, var(--surface-raised) 88%, var(--action-primary-soft))!important}html.dark :where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){background:color-mix(in srgb, var(--surface-raised) 92%, var(--action-primary-soft))!important}}.solo-setup-screen .journey-type-grid{gap:clamp(12px,1.6vw,20px)}.solo-setup-screen .journey-type-grid button{--mode-accent:var(--brand-expression);min-height:clamp(176px,24vh,238px);border-inline-start:4px solid var(--mode-accent)!important;background:linear-gradient(135deg, var(--mode-accent), var(--surface-raised) 70%)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid button{background:linear-gradient(135deg, color-mix(in srgb, var(--mode-accent) 10%, var(--surface-raised)), var(--surface-raised) 70%)!important}}.solo-setup-screen .journey-type-grid button:before{opacity:.5;background:repeating-linear-gradient(90deg, var(--mode-accent) 0 7px, transparent 7px 15px)!important}.solo-setup-screen .journey-type-grid .mode-card-icon{border-color:var(--mode-accent)}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid .mode-card-icon{border-color:color-mix(in srgb, var(--mode-accent) 46%, var(--border-subtle))}}.solo-setup-screen .journey-type-grid .mode-card-icon{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid .mode-card-icon{background:color-mix(in srgb, var(--surface) 86%, var(--mode-accent-soft,transparent))}}.solo-setup-screen .journey-type-grid button strong{color:var(--text-primary)}.solo-setup-screen .journey-type-grid button small,.solo-setup-screen .journey-type-grid .mode-card-number em,.solo-setup-screen .journey-type-grid .mode-card-flag{color:var(--text-secondary)}.solo-setup-screen .journey-type-grid .mode-card-flag{border-inline-start-color:var(--mode-accent)}.solo-setup-screen .journey-type-grid button>svg:last-child{background:var(--mode-accent);color:var(--surface-inverse)}:where(.setup-back,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.learning-example-audio,.learning-listen-button,.learning-secondary-action,.results-action){min-height:var(--tap-target);color:var(--text-primary);box-shadow:var(--shadow-1);border:1px solid var(--cm-panel-border)!important;border-radius:var(--cm-control-radius)!important;background:var(--surface-raised)!important}:where(.setup-back,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.learning-example-audio,.learning-listen-button,.learning-secondary-action,.results-action):hover:not(:disabled),:where(.setup-back,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.learning-example-audio,.learning-listen-button,.learning-secondary-action,.results-action):focus-visible{color:var(--action-secondary-text);border-color:var(--action-primary)!important;background:var(--action-primary-soft)!important}:where(.line-selector button[aria-selected=true],.planner-field.is-selecting){color:var(--action-secondary-text);box-shadow:0 0 0 2px var(--action-primary), var(--shadow-2);border-color:var(--action-primary)!important;background:var(--action-primary-soft)!important}@supports (color:color-mix(in lab, red, red)){:where(.line-selector button[aria-selected=true],.planner-field.is-selecting){box-shadow:0 0 0 2px color-mix(in srgb, var(--action-primary) 18%, transparent), var(--shadow-2)}}:where(.learning-primary-action,.depart-button,.cm-button[data-variant=primary]){border-radius:var(--cm-control-radius);min-height:clamp(48px,4vw,58px);box-shadow:var(--shadow-2)}.start-screen .route-planner{gap:clamp(14px,2vw,24px)}.start-screen .planner-controls,.start-screen .planner-map{border-radius:var(--cm-panel-radius)}.start-screen .planner-map{border:1px solid var(--cm-panel-border);box-shadow:var(--shadow-2);overflow:hidden}.results-actions,.shared-result-actions{align-items:stretch;gap:clamp(10px,1.4vw,16px)}.cm-brand-footer{width:min(100%, var(--cm-page-max));padding-inline:max(var(--cm-page-gutter), env(safe-area-inset-left)) max(var(--cm-page-gutter), env(safe-area-inset-right));text-align:center;justify-content:center;margin-inline:auto;font-size:clamp(10px,.9vw,13px)}@keyframes cm-page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:where(.solo-setup-screen>.cm-page-header,.full-line-screen>.cm-page-header,.start-screen>.cm-page-header,.learning-system-screen>.cm-page-header,.learning-practice-screen>.learning-practice-header){animation:cm-page-enter .36s var(--ease-out) both}@media (width<=760px){:where(.cm-page-header,.learning-practice-header,.shared-result-header){min-height:48px;margin-bottom:18px}:where(.cm-page-header__center,.lobby-destination-board){display:none}:where(.cm-page-header__lead,.cm-page-header__trail){min-width:0}.solo-setup-screen .journey-type-grid{grid-template-columns:1fr}.solo-setup-screen .journey-type-grid button{min-height:164px}.results-actions,.shared-result-actions{grid-template-columns:1fr}.results-action{flex-basis:100%}}@media (width>=1400px){:root{--cm-page-gutter:clamp(48px, 5vw, 96px)}.solo-setup-screen .journey-type-grid button{min-height:clamp(210px,18vw,280px)}}@media (prefers-reduced-motion:reduce){:where(.solo-setup-screen>.cm-page-header,.full-line-screen>.cm-page-header,.start-screen>.cm-page-header,.learning-system-screen>.cm-page-header,.learning-practice-screen>.learning-practice-header){animation:none}}:where(.solo-setup-screen[data-product-mode=learn],.learning-system-screen,.learning-practice-screen){--mode-accent:var(--action-primary);--mode-accent-hover:var(--action-primary-hover);--mode-accent-soft:var(--action-primary-soft);--mode-accent-border:var(--action-primary-soft-border);--mode-accent-text:var(--action-primary-text);--mode-accent-ink:var(--action-secondary-text)}:where(.solo-setup-screen[data-product-mode=challenge],.start-screen[data-product-mode=challenge]){--mode-accent:var(--arcade-yellow);--mode-accent-hover:var(--arcade-yellow-hot);--mode-accent-soft:var(--arcade-yellow)}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=challenge],.start-screen[data-product-mode=challenge]){--mode-accent-soft:color-mix(in srgb, var(--arcade-yellow) 16%, var(--surface))}}:where(.solo-setup-screen[data-product-mode=challenge],.start-screen[data-product-mode=challenge]){--mode-accent-border:var(--arcade-yellow)}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=challenge],.start-screen[data-product-mode=challenge]){--mode-accent-border:color-mix(in srgb, var(--arcade-yellow) 54%, var(--border-strong))}}:where(.solo-setup-screen[data-product-mode=challenge],.start-screen[data-product-mode=challenge]){--mode-accent-text:#2b1414;--mode-accent-ink:var(--brand-expression-text);--focus-ring:var(--arcade-yellow);--game-cyan:var(--arcade-yellow);--text-secondary:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=challenge],.start-screen[data-product-mode=challenge]){--text-secondary:color-mix(in srgb, var(--text-primary) 72%, var(--neutral-500))}}:where(.solo-setup-screen[data-product-mode=challenge],.start-screen[data-product-mode=challenge]){--text-tertiary:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=challenge],.start-screen[data-product-mode=challenge]){--text-tertiary:color-mix(in srgb, var(--text-primary) 56%, var(--neutral-600))}}.solo-setup-screen[data-product-mode=challenge]{--focus-ring:var(--arcade-yellow);--game-cyan:var(--arcade-yellow)}.solo-setup-screen[data-product-mode=learn]:after,.learning-system-screen:before,.learning-practice-screen:before{background:radial-gradient(70% 52% at 8% 4%, var(--mode-accent), transparent 72%), radial-gradient(58% 70% at 96% 96%, var(--mode-accent), transparent 74%)}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=learn]:after,.learning-system-screen:before,.learning-practice-screen:before{background:radial-gradient(70% 52% at 8% 4%, color-mix(in srgb, var(--mode-accent) 24%, transparent), transparent 72%), radial-gradient(58% 70% at 96% 96%, color-mix(in srgb, var(--mode-accent) 12%, transparent), transparent 74%)}}.solo-setup-screen[data-product-mode=challenge]:after,.start-screen[data-product-mode=challenge]:after{background:radial-gradient(70% 52% at 8% 4%, var(--mode-accent), transparent 72%), radial-gradient(58% 70% at 96% 96%, var(--mode-accent), transparent 74%)}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=challenge]:after,.start-screen[data-product-mode=challenge]:after{background:radial-gradient(70% 52% at 8% 4%, color-mix(in srgb, var(--mode-accent) 22%, transparent), transparent 72%), radial-gradient(58% 70% at 96% 96%, color-mix(in srgb, var(--mode-accent) 12%, transparent), transparent 74%)}}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button{--lane-accent:var(--mode-accent);border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button{border-color:color-mix(in srgb, var(--mode-accent) 58%, var(--border-strong))!important}}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button{border-inline-start-color:var(--mode-accent)!important;background:linear-gradient(135deg, var(--mode-accent), var(--mode-accent) 70%)!important}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button{background:linear-gradient(135deg, color-mix(in srgb, var(--mode-accent) 18%, var(--surface-raised)), color-mix(in srgb, var(--mode-accent) 5%, var(--surface-raised)) 70%)!important}}.solo-setup-screen[data-product-mode=learn] .journey-type-grid button{--mode-accent:var(--action-primary)!important}.solo-setup-screen[data-product-mode=learn] .journey-type-grid button:nth-child(2){--mode-accent:var(--game-red)!important;--lane-accent:var(--game-red)!important}.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button{--mode-accent:var(--arcade-yellow)!important}.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:nth-child(2){--mode-accent:var(--brand-expression)!important;--lane-accent:var(--brand-expression)!important}:where(.solo-setup-screen,.start-screen) .cm-page-header__trail>.compact-game-mark{justify-content:center!important;width:clamp(132px,38vw,144px)!important}.solo-setup-screen[data-product-mode=challenge] .cm-page-header__trail>.compact-game-mark{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=challenge] .cm-page-header__trail>.compact-game-mark{border-color:color-mix(in srgb, var(--mode-accent) 64%, var(--brand-expression))!important}}.solo-setup-screen[data-product-mode=challenge] .cm-page-header__trail>.compact-game-mark{background:var(--surface-sunken)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=challenge] .cm-page-header__trail>.compact-game-mark{background:color-mix(in srgb, var(--surface-sunken) 92%, var(--mode-accent))!important}}.solo-setup-screen[data-product-mode=challenge] .cm-page-header__trail>.compact-game-mark:before{background:linear-gradient(180deg, var(--mode-accent), var(--brand-expression))!important}.solo-setup-screen[data-product-mode=challenge] .cm-page-header__trail>.compact-game-mark strong em{color:var(--brand-expression)!important}.solo-setup-screen[data-product-mode=learn] .journey-type-grid button,.solo-setup-screen[data-product-mode=learn] .journey-type-grid button.is-recommended{background:linear-gradient(135deg, var(--surface-sunken), var(--neutral-950) 70%)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=learn] .journey-type-grid button,.solo-setup-screen[data-product-mode=learn] .journey-type-grid button.is-recommended{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-sunken) 94%, var(--mode-accent)), color-mix(in srgb, var(--neutral-950) 92%, var(--mode-accent)) 70%)!important}}.solo-setup-screen[data-product-mode=learn] .journey-type-grid button:hover,.solo-setup-screen[data-product-mode=learn] .journey-type-grid button:focus-visible{background:linear-gradient(135deg, var(--surface-sunken), var(--neutral-950) 70%)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=learn] .journey-type-grid button:hover,.solo-setup-screen[data-product-mode=learn] .journey-type-grid button:focus-visible{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-sunken) 88%, var(--mode-accent)), color-mix(in srgb, var(--neutral-950) 86%, var(--mode-accent)) 70%)!important}}.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button,.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button.is-recommended{background:linear-gradient(135deg, var(--surface-sunken), var(--neutral-950) 70%)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button,.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button.is-recommended{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-sunken) 94%, var(--mode-accent)), color-mix(in srgb, var(--neutral-950) 92%, var(--mode-accent)) 70%)!important}}.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:hover,.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:focus-visible{background:linear-gradient(135deg, var(--surface-sunken), var(--neutral-950) 70%)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:hover,.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:focus-visible{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-sunken) 88%, var(--mode-accent)), color-mix(in srgb, var(--neutral-950) 86%, var(--mode-accent)) 70%)!important}}.solo-setup-screen[data-product-mode=challenge] .cm-kicker[data-tone=action],.solo-setup-screen[data-product-mode=challenge] .cm-kicker[data-tone=action] .cm-kicker__en{color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen[data-product-mode=challenge] .cm-kicker[data-tone=action] .cm-kicker__en{color:color-mix(in srgb, var(--mode-accent) 74%, var(--text-primary))!important}}.solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:focus-visible{outline-offset:3px;outline:3px solid var(--mode-accent)!important}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button:hover,:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button:focus-visible{border-color:var(--mode-accent)!important;background:linear-gradient(135deg, var(--mode-accent), var(--mode-accent) 70%)!important}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button:hover,:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button:focus-visible{background:linear-gradient(135deg, color-mix(in srgb, var(--mode-accent) 26%, var(--surface-raised)), color-mix(in srgb, var(--mode-accent) 9%, var(--surface-raised)) 70%)!important}}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button.is-recommended{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button.is-recommended{border-color:color-mix(in srgb, var(--mode-accent) 72%, var(--border-strong))!important}}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button.is-recommended{background:linear-gradient(135deg, var(--mode-accent), var(--mode-accent) 70%)!important}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button.is-recommended{background:linear-gradient(135deg, color-mix(in srgb, var(--mode-accent) 24%, var(--surface-raised)), color-mix(in srgb, var(--mode-accent) 8%, var(--surface-raised)) 70%)!important}}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid :where(.mode-card-number,.mode-card-icon,.mode-card-flag),:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button>svg:last-child{color:var(--mode-accent)!important}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button>svg:last-child{background:var(--mode-accent)!important;color:var(--mode-accent-text)!important;box-shadow:0 0 0 5px var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button>svg:last-child{box-shadow:0 0 0 5px color-mix(in srgb, var(--mode-accent) 14%, transparent)!important}}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .setup-back{border-color:var(--mode-accent-border)!important;background:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .setup-back{background:color-mix(in srgb, var(--mode-accent) 12%, var(--surface-raised))!important}}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .setup-back{color:var(--mode-accent-ink)!important}:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .setup-back:hover,:where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .setup-back:focus-visible{border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important}:where(.learning-system-screen,.learning-practice-screen) :where(.learning-sound-tile,.learning-example-audio,.learning-listen-button,.learning-secondary-action){border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen,.learning-practice-screen) :where(.learning-sound-tile,.learning-example-audio,.learning-listen-button,.learning-secondary-action){border-color:color-mix(in srgb, var(--mode-accent) 54%, var(--border-strong))!important}}:where(.learning-system-screen,.learning-practice-screen) :where(.learning-sound-tile,.learning-example-audio,.learning-listen-button,.learning-secondary-action){background:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen,.learning-practice-screen) :where(.learning-sound-tile,.learning-example-audio,.learning-listen-button,.learning-secondary-action){background:color-mix(in srgb, var(--mode-accent) 12%, var(--surface-raised))!important}}:where(.learning-system-screen,.learning-practice-screen) :where(.learning-sound-tile,.learning-example-audio,.learning-listen-button,.learning-secondary-action){color:var(--text-primary)!important}:where(.learning-system-screen,.learning-practice-screen) :where(.learning-sound-tile:hover,.learning-sound-tile:focus-visible,.learning-example-audio:hover:not(:disabled),.learning-example-audio:focus-visible:not(:disabled),.learning-listen-button:hover,.learning-listen-button:focus-visible,.learning-secondary-action:hover,.learning-secondary-action:focus-visible){border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important}:where(.learning-system-screen,.learning-practice-screen) .learning-primary-action{border-color:var(--mode-accent)!important;background:linear-gradient(135deg, var(--mode-accent), var(--mode-accent-hover))!important;color:var(--mode-accent-text)!important;box-shadow:var(--shadow-2)!important}:where(.learning-system-screen,.learning-practice-screen) .learning-primary-action:hover,:where(.learning-system-screen,.learning-practice-screen) .learning-primary-action:focus-visible{background:linear-gradient(135deg, var(--mode-accent-hover), var(--mode-accent))!important;color:var(--mode-accent-text)!important}.start-screen[data-product-mode=challenge] .depart-button{border-color:var(--mode-accent)!important;background:linear-gradient(135deg, var(--mode-accent), var(--mode-accent-hover))!important;color:var(--mode-accent-text)!important}.start-screen[data-product-mode=challenge] .depart-button:hover:not(:disabled),.start-screen[data-product-mode=challenge] .depart-button:focus-visible{background:linear-gradient(135deg, var(--mode-accent-hover), var(--mode-accent))!important;color:var(--mode-accent-text)!important}.learning-system-screen[data-mode-card=sound-system]{--mode-accent:var(--berry-700);--mode-accent-hover:var(--brand-expression-text);--mode-accent-soft:var(--brand-expression-soft);--mode-accent-border:var(--brand-expression-border);--mode-accent-text:var(--action-primary-text);--mode-accent-ink:var(--brand-expression-text);--focus-ring:var(--berry-700);--game-cyan:var(--berry-700)}html.dark .learning-system-screen[data-mode-card=sound-system]{--mode-accent:var(--brand-expression);--mode-accent-hover:var(--brand-expression-strong);--mode-accent-text:var(--neutral-950);--focus-ring:var(--brand-expression);--game-cyan:var(--brand-expression)}.learning-system-screen[data-mode-card=sound-system] .setup-back{border-color:var(--mode-accent-border)!important;background:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.learning-system-screen[data-mode-card=sound-system] .setup-back{background:color-mix(in srgb, var(--mode-accent) 14%, var(--page))!important}}.learning-system-screen[data-mode-card=sound-system] .setup-back:hover,.learning-system-screen[data-mode-card=sound-system] .setup-back:focus-visible{border-color:var(--mode-accent)!important;background:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.learning-system-screen[data-mode-card=sound-system] .setup-back:hover,.learning-system-screen[data-mode-card=sound-system] .setup-back:focus-visible{background:color-mix(in srgb, var(--mode-accent) 24%, var(--page))!important}}.learning-system-screen[data-mode-card=sound-system] .setup-back:hover,.learning-system-screen[data-mode-card=sound-system] .setup-back:focus-visible{color:var(--text-primary)!important}.full-line-screen[data-mode-card=line-attack]{--mode-accent:var(--arcade-yellow);--mode-accent-hover:var(--arcade-yellow-hot);--mode-accent-soft:var(--arcade-yellow)}@supports (color:color-mix(in lab, red, red)){.full-line-screen[data-mode-card=line-attack]{--mode-accent-soft:color-mix(in srgb, var(--arcade-yellow) 16%, var(--surface))}}.full-line-screen[data-mode-card=line-attack]{--mode-accent-border:var(--arcade-yellow)}@supports (color:color-mix(in lab, red, red)){.full-line-screen[data-mode-card=line-attack]{--mode-accent-border:color-mix(in srgb, var(--arcade-yellow) 54%, var(--border-strong))}}.full-line-screen[data-mode-card=line-attack]{--mode-accent-text:#2b1414;--mode-accent-ink:var(--brand-expression-text);--focus-ring:var(--arcade-yellow);--game-cyan:var(--arcade-yellow)}.learning-practice-screen[data-mode-card=typing-practice],.start-screen[data-mode-card=free-ride]{--mode-accent:var(--game-red);--mode-accent-hover:var(--game-red)}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice],.start-screen[data-mode-card=free-ride]{--mode-accent-hover:color-mix(in srgb, var(--game-red) 76%, white)}}.learning-practice-screen[data-mode-card=typing-practice],.start-screen[data-mode-card=free-ride]{--mode-accent-soft:var(--game-red)}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice],.start-screen[data-mode-card=free-ride]{--mode-accent-soft:color-mix(in srgb, var(--game-red) 16%, var(--surface))}}.learning-practice-screen[data-mode-card=typing-practice],.start-screen[data-mode-card=free-ride]{--mode-accent-border:var(--game-red)}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice],.start-screen[data-mode-card=free-ride]{--mode-accent-border:color-mix(in srgb, var(--game-red) 58%, var(--border-strong))}}.learning-practice-screen[data-mode-card=typing-practice],.start-screen[data-mode-card=free-ride]{--mode-accent-text:#2b1414;--mode-accent-ink:var(--game-red);--focus-ring:var(--game-red);--game-cyan:var(--game-red)}.start-screen[data-mode-card=free-ride]{--mode-accent:var(--brand-expression);--mode-accent-hover:var(--brand-expression)}@supports (color:color-mix(in lab, red, red)){.start-screen[data-mode-card=free-ride]{--mode-accent-hover:color-mix(in srgb, var(--brand-expression) 76%, white)}}.start-screen[data-mode-card=free-ride]{--mode-accent-soft:var(--brand-expression)}@supports (color:color-mix(in lab, red, red)){.start-screen[data-mode-card=free-ride]{--mode-accent-soft:color-mix(in srgb, var(--brand-expression) 16%, var(--surface))}}.start-screen[data-mode-card=free-ride]{--mode-accent-border:var(--brand-expression)}@supports (color:color-mix(in lab, red, red)){.start-screen[data-mode-card=free-ride]{--mode-accent-border:color-mix(in srgb, var(--brand-expression) 58%, var(--border-strong))}}.start-screen[data-mode-card=free-ride]{--mode-accent-text:#2b1414;--mode-accent-ink:var(--brand-expression);--focus-ring:var(--brand-expression);--game-cyan:var(--brand-expression)}:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]):after{background:radial-gradient(70% 52% at 8% 4%, var(--mode-accent), transparent 72%), radial-gradient(58% 70% at 96% 96%, var(--mode-accent), transparent 74%)}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]):after{background:radial-gradient(70% 52% at 8% 4%, color-mix(in srgb, var(--mode-accent) 20%, transparent), transparent 72%), radial-gradient(58% 70% at 96% 96%, color-mix(in srgb, var(--mode-accent) 10%, transparent), transparent 74%)}}:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) :where(.cm-kicker[data-tone=action],.learning-section-kicker),:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) .cm-kicker[data-tone=action] .cm-kicker__en{color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) .cm-kicker[data-tone=action] .cm-kicker__en{color:color-mix(in srgb, var(--mode-accent) 74%, var(--text-primary))!important}}:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) .compact-game-mark{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) .compact-game-mark{border-color:color-mix(in srgb, var(--mode-accent) 64%, var(--brand-expression))!important}}:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) .compact-game-mark{background:var(--surface-sunken)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) .compact-game-mark{background:color-mix(in srgb, var(--surface-sunken) 92%, var(--mode-accent))!important}}:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) .compact-game-mark:before{background:linear-gradient(180deg, var(--mode-accent), var(--brand-expression))!important}:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice],.full-line-screen[data-mode-card=line-attack],.start-screen[data-mode-card=free-ride]) .compact-game-mark strong em{color:var(--mode-accent)!important}.full-line-screen[data-mode-card=line-attack] .line-selector,.full-line-screen[data-mode-card=line-attack] .setup-back{border-color:var(--mode-accent-border)!important}.full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true]{border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important}.start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap,.planner-map-tools){border-color:var(--mode-accent-border)!important}.start-screen[data-mode-card=free-ride] .planner-map{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.start-screen[data-mode-card=free-ride] .planner-map{border-color:color-mix(in srgb, var(--mode-accent) 48%, var(--border-strong))!important}}html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button,html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button.is-recommended{background:linear-gradient(135deg, var(--surface-raised), var(--surface-sunken) 70%)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button,html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button.is-recommended{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-raised) 92%, var(--mode-accent)), color-mix(in srgb, var(--surface-sunken) 94%, var(--mode-accent)) 70%)!important}}html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button,html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button.is-recommended{box-shadow:var(--shadow-3)!important}html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button:hover,html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button:focus-visible{background:linear-gradient(135deg, var(--surface-raised), var(--surface-sunken) 70%)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button:hover,html:not(.dark) :where(.solo-setup-screen[data-product-mode=learn],.solo-setup-screen[data-product-mode=challenge]) .journey-type-grid button:focus-visible{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-raised) 84%, var(--mode-accent)), color-mix(in srgb, var(--surface-sunken) 88%, var(--mode-accent)) 70%)!important}}html:not(.dark) .solo-setup-screen[data-product-mode=learn] .journey-type-grid button,html:not(.dark) .solo-setup-screen[data-product-mode=challenge] .journey-type-grid button,html:not(.dark) .solo-setup-screen[data-product-mode=learn] .journey-type-grid button.is-recommended,html:not(.dark) .solo-setup-screen[data-product-mode=challenge] .journey-type-grid button.is-recommended{background:linear-gradient(135deg, var(--surface-raised), var(--surface-sunken) 70%)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .solo-setup-screen[data-product-mode=learn] .journey-type-grid button,html:not(.dark) .solo-setup-screen[data-product-mode=challenge] .journey-type-grid button,html:not(.dark) .solo-setup-screen[data-product-mode=learn] .journey-type-grid button.is-recommended,html:not(.dark) .solo-setup-screen[data-product-mode=challenge] .journey-type-grid button.is-recommended{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-raised) 92%, var(--mode-accent)), color-mix(in srgb, var(--surface-sunken) 94%, var(--mode-accent)) 70%)!important}}html:not(.dark) .solo-setup-screen[data-product-mode=learn] .journey-type-grid button:hover,html:not(.dark) .solo-setup-screen[data-product-mode=learn] .journey-type-grid button:focus-visible,html:not(.dark) .solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:hover,html:not(.dark) .solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:focus-visible{background:linear-gradient(135deg, var(--surface-raised), var(--surface-sunken) 70%)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .solo-setup-screen[data-product-mode=learn] .journey-type-grid button:hover,html:not(.dark) .solo-setup-screen[data-product-mode=learn] .journey-type-grid button:focus-visible,html:not(.dark) .solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:hover,html:not(.dark) .solo-setup-screen[data-product-mode=challenge] .journey-type-grid button:focus-visible{background:linear-gradient(135deg, color-mix(in srgb, var(--surface-raised) 84%, var(--mode-accent)), color-mix(in srgb, var(--surface-sunken) 88%, var(--mode-accent)) 70%)!important}}html:not(.dark) .pressure-failure-curtain{color:#f4fbf8;text-shadow:0 4px 18px #000000ad;background:radial-gradient(circle at 50% 44%,#751e1ff0,#02080dfa),repeating-linear-gradient(135deg,#0000 0 22px,#ff926214 22px 24px)}html:not(.dark) .pressure-failure-curtain span{color:#ffd166}html:not(.dark) .pressure-failure-curtain strong{color:#ffd0c5;text-shadow:4px 4px #4f191cbd,0 0 24px #ff7e6866}html:not(.dark) .game-shell{--light-game-ink:#17343a;--light-game-ink-soft:#49686b;--light-game-surface:#f4f9f7;--light-game-surface-strong:#e6f0ee;--light-game-surface-sunken:#d4e5e3;--light-game-border:#7ea9a6;--light-game-border-soft:#3070713d;--light-game-teal:#287777;--light-game-teal-deep:#16545a;--light-game-amber:#b86e16;--light-game-shadow:#1e4c4f33;color:var(--light-game-ink);background:radial-gradient(circle at 8% 4%,#ffffffe0,#0000 30%),linear-gradient(145deg,#e8f1ef,#cbdedc)}html:not(.dark) .game-shell .game-stage{background:linear-gradient(#f6fbf980,#0000 18%),0 0}html:not(.dark) .game-shell .game-header,html:not(.dark) .game-shell .game-brand-title{color:var(--light-game-ink)}html:not(.dark) .game-shell .scene-controls button,html:not(.dark) .game-shell .sound-status{border-color:var(--light-game-border-soft);color:var(--light-game-ink-soft);background:#f4f9f7db;box-shadow:0 3px 10px #1e4c4f1a,inset 0 1px #fffc}html:not(.dark) .game-shell .scene-controls button:hover,html:not(.dark) .game-shell .scene-controls button:focus-visible,html:not(.dark) .game-shell .sound-status:hover,html:not(.dark) .game-shell .sound-status:focus-visible{border-color:var(--light-game-teal);color:var(--light-game-teal-deep);background:#d8ece9}html:not(.dark) .game-shell .scene-frame>.journey-window{box-shadow:0 14px 34px var(--light-game-shadow), inset 0 1px #ffffffad;background:#b9d3d2;border-color:#3275778a}html:not(.dark) .game-shell .journey-route-map{background:radial-gradient(circle at 12% 82%,#36979938,#0000 30%),radial-gradient(circle at 88% 12%,#e37b402b,#0000 32%),#b9d3d2}html:not(.dark) .game-shell .journey-route-map:after{background:linear-gradient(112deg,#ffffff6b,#0000 30% 72%,#fff3),repeating-linear-gradient(118deg,#0000 0 28px,#205b5e14 28px 30px,#0000 30px 64px)}html:not(.dark) .game-shell .journey-route-map__head,html:not(.dark) .game-shell .journey-route-map__footer{color:var(--light-game-ink-soft);background:linear-gradient(90deg,#e4f1eff0,#cde1dfdb);border-color:#3170713d}html:not(.dark) .game-shell .journey-route-map__head span,html:not(.dark) .game-shell .journey-route-map__pace,html:not(.dark) .game-shell .journey-route-map__footer{color:var(--light-game-teal-deep)}html:not(.dark) .game-shell .journey-route-map__head strong,html:not(.dark) .game-shell .journey-route-map__footer strong{color:var(--light-game-ink);text-shadow:none}html:not(.dark) .game-shell .journey-route-map__head strong i,html:not(.dark) .game-shell .journey-route-map__pace b{color:var(--light-game-amber)}html:not(.dark) .game-shell .journey-route-map__pace small,html:not(.dark) .game-shell .journey-route-map__station-en{color:#567678}html:not(.dark) .game-shell .journey-route-map__station-zh{fill:var(--light-game-ink);stroke:#f1f9f7e6}html:not(.dark) .game-shell .journey-route-map__station-en{stroke:#f1f9f7c7}html:not(.dark) .game-shell .journey-route-map__station-dot{fill:#eaf5f2;stroke:#397f80}html:not(.dark) .game-shell .journey-route-map__station.is-complete .journey-route-map__station-dot{fill:#43aaa0;stroke:#effffc}html:not(.dark) .game-shell .journey-route-map__station.is-current .journey-route-map__station-dot{fill:#fff0ba;stroke:#bd771c}html:not(.dark) .game-shell .journey-route-map__footer i{background:linear-gradient(90deg,#2d8f8b,#2d8f8b14)}html:not(.dark) .game-shell .typing-console-wrapper,html:not(.dark) .game-shell .typing-console{background:var(--light-game-surface-strong);border-color:var(--light-game-border-soft)}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-base{color:var(--light-game-ink);background:repeating-linear-gradient(0deg,#ffffff70 0 1px,#0000 1px 5px),#ebf6f3db;border-color:#2e74757a;box-shadow:inset 0 1px #ffffffe0,0 2px 5px #1e4c4f14}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-done{border-color:var(--light-game-teal);color:#f8fffc;background:#55aaa4}html:not(.dark) .game-shell .typing-hud-metric-label,html:not(.dark) .game-shell .typing-hud-metric strong,html:not(.dark) .game-shell .typing-hud-metric em{color:var(--light-game-ink-soft)}html:not(.dark) .game-shell .typing-hud-metric strong{color:var(--light-game-ink)}html:not(.dark) .game-shell .typing-hud-time,html:not(.dark) .game-shell .typing-hud-event-streak,html:not(.dark) .game-shell .typing-hud-accuracy,html:not(.dark) .game-shell .speed-meter{background:var(--light-game-surface-sunken)}html:not(.dark) .game-shell .speed-meter{border-color:var(--light-game-border-soft)}html:not(.dark) .game-shell .speed-readout strong,html:not(.dark) .game-shell .speed-readout em,html:not(.dark) .game-shell .speed-readout small{color:var(--light-game-ink)}html:not(.dark) .game-shell .typing-hud-luckiness{color:var(--light-game-ink)!important;background:#e4f1ed!important;border-color:#2f777766!important}:root{--teal-50:#fff1f7;--teal-100:#ffdce9;--teal-200:#ffb7d0;--teal-300:#ff83ad;--teal-400:#f45187;--teal-500:#d92f68;--teal-600:#bd2455;--teal-700:#9d2049;--teal-800:#781c3c;--teal-900:#5b1831;--teal-950:#24111b;--berry-50:#fff4df;--berry-100:#ffe6b1;--berry-200:#ffd27a;--berry-300:#ffc14b;--berry-400:#f5a51e;--berry-500:#e47d1a;--berry-600:#c45b16;--berry-700:#984216;--berry-800:#713018;--berry-900:#4f2418;--berry-950:#2b1414;--page:#fff8ed;--page-accent:#fff0c7;--surface:#fffdf8;--surface-raised:#fff;--surface-sunken:#fff0d4;--text-primary:#24111b;--text-secondary:#63414b;--text-tertiary:#8f6870;--border-subtle:#f0cbd1;--border-strong:#e79aaa;--action-primary:#d92f68;--action-primary-hover:#bd2455;--action-primary-active:#9d2049;--action-primary-text:#fff;--action-primary-soft:#fff1f7;--action-primary-soft-border:#ffb7d0;--action-secondary-bg:#fffdf8;--action-secondary-text:#9d2049;--action-secondary-border:#ffb7d0;--action-quiet-text:#63414b;--focus-ring:#f45187;--focus-ring-offset:#fff8ed;--brand-expression:#e47d1a;--brand-expression-strong:#c45b16;--brand-expression-soft:#fff4df;--brand-expression-border:#ffd27a;--brand-expression-text:#713018;--link:#bd2455;--progress-fill:#e47d1a;--arcade-yellow:#ffd23f;--arcade-yellow-hot:#ffb514;--game-yellow:#ffd23f;--game-yellow-hot:#ffb514;--game-red:#ff684d;--event-amber:#ffd23f;--shadow-color:#6b2437;--shadow-1:0 1px 2px #6b243714;--shadow-2:0 5px 12px #6b24371f, 0 1px 2px #6b243714;--shadow-3:0 12px 28px #6b243729, 0 3px 8px #6b243714;--shadow-4:0 24px 52px #6b243733, 0 5px 14px #6b24371a}.dark{--page:#171019;--page-accent:#2b1422;--surface:#241521;--surface-raised:#301b29;--surface-sunken:#1d121c;--text-primary:#fff4e6;--text-secondary:#e0b7bd;--text-tertiary:#b98793;--border-subtle:#563042;--border-strong:#774054;--action-primary:#ff5f99;--action-primary-hover:#ff83ad;--action-primary-active:#ffb7d0;--action-primary-text:#2b111d;--action-primary-soft:#ff5f9929;--action-primary-soft-border:#ff83ad7a;--action-secondary-bg:#301b29;--action-secondary-text:#ffb7d0;--action-secondary-border:#ff83ad70;--action-quiet-text:#e0b7bd;--focus-ring:#ffc14b;--focus-ring-offset:#171019;--brand-expression:#ff9a57;--brand-expression-strong:#ffc14b;--brand-expression-soft:#ff9a5729;--brand-expression-border:#ffc14b7a;--brand-expression-text:#ffd27a;--link:#ffb7d0;--progress-fill:#ffc14b;--arcade-yellow:#ffd23f;--arcade-yellow-hot:#ffcf2e;--game-yellow:#ffd23f;--game-yellow-hot:#ffcf2e;--game-red:#ff785c;--event-amber:#ffd23f;--shadow-color:#000;--shadow-1:0 1px 2px #00000047;--shadow-2:0 6px 14px #00000052, 0 1px 2px #0000003d;--shadow-3:0 14px 32px #0000006b, 0 3px 8px #00000047;--shadow-4:0 26px 58px #00000085, 0 5px 14px #0000004d}:where(.game-lobby-redesign,.solo-setup-screen,.full-line-screen,.start-screen){--game-cyan:#ff5f99;--game-amber:#ffd23f;--game-berry:#ff785c}.lobby-title-art{object-fit:contain;object-position:center;filter:drop-shadow(0 14px #621f341f)drop-shadow(0 18px 24px #621f342e);-webkit-user-select:none;user-select:none;width:min(100%,760px);max-height:min(31vh,320px)}html.dark .lobby-title-art{filter:drop-shadow(0 14px #0006)drop-shadow(0 18px 24px #00000061)}.lobby-title-lockup{gap:clamp(6px,1.2vh,12px)}.lobby-title-lockup:before{background:radial-gradient(at 50% 46%,#ffffffd6,#ffe0b147 54%,#0000 78%)!important}html.dark .lobby-title-lockup:before{background:radial-gradient(at 50% 46%,#ff5f9933,#ffc14b14 54%,#0000 78%)!important}.lobby-subtitle{color:var(--text-primary);letter-spacing:.1em;text-shadow:0 2px #ffffff9e,0 5px 14px #621f3429;font-weight:800}html.dark .lobby-subtitle{color:var(--text-primary);text-shadow:0 2px 12px #0000009e}.cm-button[data-variant=primary],.cm-button[data-variant=expressive]{letter-spacing:.02em;font-weight:900}.cm-button[data-variant=expressive]{background:var(--brand-expression);color:#2b1414}.dark .cm-button[data-variant=expressive]{color:#2b1414}html:not(.dark) .game-shell{--light-game-ink:#24111b;--light-game-ink-soft:#704650;--light-game-surface:#fff8ed;--light-game-surface-strong:#fff0d4;--light-game-surface-sunken:#f6d6d2;--light-game-border:#dc7791;--light-game-border-soft:#d92f6847;--light-game-teal:#d92f68;--light-game-teal-deep:#9d2049;--light-game-amber:#d96f16;--light-game-shadow:#6b243733}html:not(.dark) .game-shell .scene-controls button,html:not(.dark) .game-shell .sound-status{color:#704650;background:#fffdf8e0}html:not(.dark) .game-shell .scene-controls button:hover,html:not(.dark) .game-shell .scene-controls button:focus-visible,html:not(.dark) .game-shell .sound-status:hover,html:not(.dark) .game-shell .sound-status:focus-visible{color:#9d2049;background:#fff1f7}html:not(.dark) .game-shell .journey-window{box-shadow:0 14px 34px #6b243733,inset 0 1px #ffffffad}@media (width<=640px){.lobby-title-art{width:min(100%,520px);max-height:25vh}}.game-lobby-redesign .lobby-title-lockup,html.dark .game-lobby-redesign .lobby-title-lockup{pointer-events:none;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.game-lobby-redesign .lobby-title-lockup:before{display:none}.cm-button[data-variant=primary],.depart-button{color:#fff;background:linear-gradient(135deg,#e23a71,#bd2455);border-color:#0000;box-shadow:0 6px 16px #9d204938}.cm-button[data-variant=primary]:hover:not(:disabled),.depart-button:hover:not(:disabled){background:linear-gradient(135deg,#f45187,#d92f68);box-shadow:0 9px 20px #9d204947}.cm-button[data-variant=expressive]{color:#2b1414;background:linear-gradient(135deg,#ffd23f,#f5a51e);border-color:#0000;box-shadow:0 6px 16px #c45b1633}.cm-button[data-variant=expressive]:hover:not(:disabled){background:linear-gradient(135deg,#ffe27a,#ffb514)}.cm-button[data-variant=secondary],.cm-icon-button,.random-route-button,.map-reset-button,:where(.solo-setup-screen,.full-line-screen,.start-screen) .setup-back,.game-lobby-redesign .lobby-utilities .cm-icon-button{border-color:var(--action-primary-soft-border);background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-1)}.cm-button[data-variant=secondary]:hover:not(:disabled),.cm-icon-button:hover:not(:disabled),.random-route-button:hover,.map-reset-button:hover:not(:disabled),:where(.solo-setup-screen,.full-line-screen,.start-screen) .setup-back:hover,:where(.solo-setup-screen,.full-line-screen,.start-screen) .setup-back:focus-visible,.game-lobby-redesign .lobby-utilities .cm-icon-button:hover,.game-lobby-redesign .lobby-utilities .cm-icon-button:focus-visible{border-color:var(--action-primary);background:var(--action-primary-soft);color:var(--action-secondary-text)}.cm-button,.cm-icon-button,.random-route-button,.depart-button,.map-reset-button,:where(.solo-setup-screen,.full-line-screen,.start-screen) .setup-back{transition:background-color var(--duration-fast) var(--ease-out), background-image var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform .1s var(--ease-out)}.commuter-scene{contain:layout paint}@media (width<=640px){.game-lobby-redesign:before,.game-lobby-redesign:after,.game-lobby-redesign .lobby-title-lockup{animation:none!important}.commuter-scene-canvas{contain:strict}}html:not(.dark) .game-shell .learning-arcade-console__meters{border-color:var(--light-game-border-soft)}html:not(.dark) .game-shell .learning-arcade-console__meters>span{border-color:#2d77774d}html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{color:var(--light-game-ink);background:linear-gradient(#f6fbf9,#c8dedb);border-color:#377c7b7a;box-shadow:0 4px #416f6f47,inset 0 1px #ffffffeb}html:not(.dark) .game-shell .learning-arcade-key--special{color:#754510;background:linear-gradient(#fff3c9,#e9c57d);border-color:#c78c42}html:not(.dark) .game-shell .learning-arcade-action--space{color:#6d4114;background:linear-gradient(#fff3c9,#e4b966);border-color:#c78c42}.session-recovery-notice{top:max(58px, calc(env(safe-area-inset-top) + 10px));color:#eaf7f3;width:min(440px,100% - 24px);min-height:0;font:650 12px/1.35 var(--font-sans);background:linear-gradient(105deg,#071c22f5,#103639f0),repeating-linear-gradient(115deg,#0000 0 20px,#ffd1660f 20px 22px);border:1px solid #82cec76b;border-radius:4px 14px;padding:10px 10px 10px 14px;animation:.26s cubic-bezier(.16,1,.3,1) both session-recovery-cinematic-in;overflow:hidden;box-shadow:0 14px 34px #03111647,inset 0 1px #ecfff91f}.session-recovery-notice:before{content:"";background:linear-gradient(#ffd166,#52c9c0);border-radius:0 3px 3px 0;width:3px;position:absolute;inset:6px auto 6px 0}.session-recovery-notice__copy{gap:4px;min-width:0;display:grid}.session-recovery-notice__kicker{color:#ffd166;font:800 8px/1 var(--font-mono);letter-spacing:.16em}.session-recovery-notice__message{gap:2px;display:grid}.session-recovery-notice__english{color:#b9e3dd;display:block}.game-shell .game-header.is-suppressed-during-overlay{visibility:hidden;opacity:0;pointer-events:none}.event-warning-label{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 8px;display:inline-flex}.event-warning-label small{color:#ffd166b8;font:800 9px/1 var(--font-mono);letter-spacing:.12em;flex-basis:100%}.event-warning-brief{justify-items:center;gap:5px;display:grid}.event-warning-brief>span,.event-warning-english,.event-warning-instruction-english{text-align:center}.event-warning-english,.event-warning-instruction-english{color:#eaf7f3bd;font:800 11px/1.1 var(--font-mono);letter-spacing:.06em}.event-warning-instruction-english-desktop,.event-warning-instruction-english-touch{display:none}.event-warning-instruction-english-desktop{display:block}@media (hover:none) and (pointer:coarse){.event-warning-instruction-english-desktop{display:none}.event-warning-instruction-english-touch{display:block}}.event-result-toast>span{white-space:normal;text-align:center;max-width:min(34ch,100vw - 32px)}.results-screen .results-summary-stat>span,.results-screen .results-quick-stat>span{flex-wrap:wrap;align-items:baseline;gap:5px;display:flex}.results-screen .results-summary-stat>span small,.results-screen .results-quick-stat>span small{color:currentColor;font:800 .62em/1 var(--font-mono);letter-spacing:.1em;opacity:.68}.results-screen .results-zone-bottom .results-action-primary .results-action-label{text-align:center;align-items:center;min-width:0;max-width:100%}.results-screen .results-zone-bottom .results-action-primary .results-action-label strong,.results-screen .results-zone-bottom .results-action-primary .results-action-label small{overflow-wrap:anywhere;white-space:normal;text-align:center;max-width:100%}.results-screen .results-zone-bottom .results-action-primary .results-action-label small{letter-spacing:.08em;font-size:7px}html.dark .game-shell .scene-frame>.pressure-failure-curtain button:first-child{color:#16252b!important;text-shadow:none!important;background:#ffd166!important}html.dark .game-shell .scene-frame>.pressure-failure-curtain button:first-child small{opacity:.82;color:inherit!important}.session-recovery-notice button{color:#b9e3dd;background:#daf7f114;border:1px solid #82cec752;border-radius:4px 9px;width:32px;height:32px;font-size:18px}.session-recovery-notice button:hover,.session-recovery-notice button:focus-visible{color:#fff3c9;background:#ffd16624;border-color:#ffd166}@keyframes session-recovery-cinematic-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell:before{background:radial-gradient(60% 52% at 50% 10%, color-mix(in srgb, var(--game-light-signal) 18%, transparent), transparent 70%), linear-gradient(180deg, var(--game-light-shell-top), var(--game-light-shell))}}html:not(.dark) .game-shell:after{background:linear-gradient(180deg, var(--game-light-shell-top), transparent 30%), radial-gradient(50% 70% at 100% 100%, var(--game-light-teal), transparent 72%)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell:after{background:linear-gradient(180deg, color-mix(in srgb, var(--game-light-shell-top) 22%, transparent), transparent 30%), radial-gradient(50% 70% at 100% 100%, color-mix(in srgb, var(--game-light-teal) 12%, transparent), transparent 72%)}html:not(.dark) .game-shell>.game-stage{background:linear-gradient(180deg, color-mix(in srgb, var(--game-light-shell-top) 86%, transparent), transparent 18%)}}html:not(.dark) .game-shell .game-header{border-bottom:1px solid var(--game-light-border-soft);background:var(--game-light-shell-top)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-header{background:color-mix(in srgb, var(--game-light-shell-top) 92%, transparent);box-shadow:0 5px 18px color-mix(in srgb, var(--game-light-shadow) 52%, transparent)}}html:not(.dark) .game-shell .game-brand-kicker,html:not(.dark) .game-shell .game-brand-title{color:var(--game-light-ink)}html:not(.dark) .game-shell .game-brand-kicker{color:var(--game-light-ink-muted)}html:not(.dark) .game-shell .scene-controls button,html:not(.dark) .game-shell .sound-status{border-color:var(--game-light-border-soft);background:var(--game-light-surface);box-shadow:0 3px 10px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .scene-controls button,html:not(.dark) .game-shell .sound-status{box-shadow:0 3px 10px color-mix(in srgb, var(--game-light-shadow) 55%, transparent), inset 0 1px var(--game-light-line-casing)}}html:not(.dark) .game-shell .scene-controls button,html:not(.dark) .game-shell .sound-status{color:var(--game-light-teal-deep)}html:not(.dark) .game-shell .scene-controls button:hover,html:not(.dark) .game-shell .scene-controls button:focus-visible,html:not(.dark) .game-shell .sound-status:hover,html:not(.dark) .game-shell .sound-status:focus-visible{border-color:var(--game-light-teal);background:var(--game-light-surface-raised);color:var(--game-light-teal-deep)}html:not(.dark) .game-shell .scene-frame>.journey-window{border-color:var(--game-light-border);background:var(--game-light-stage-deep);box-shadow:0 14px 34px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)}html:not(.dark) .game-shell .journey-window{border-color:var(--game-light-border);background:radial-gradient(70% 70% at 50% 16%, var(--game-light-signal), transparent 72%), linear-gradient(180deg, var(--game-light-stage), var(--game-light-stage-deep))}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .journey-window{background:radial-gradient(70% 70% at 50% 16%, color-mix(in srgb, var(--game-light-signal) 26%, transparent), transparent 72%), linear-gradient(180deg, var(--game-light-stage), var(--game-light-stage-deep))}html:not(.dark) .game-shell .journey-window:before{background:linear-gradient(90deg, color-mix(in srgb, var(--game-light-ink) 28%, transparent), transparent 20%, transparent 80%, color-mix(in srgb, var(--game-light-ink) 28%, transparent)), linear-gradient(90deg, var(--game-light-map-grid) 1px, transparent 1px), linear-gradient(0deg, var(--game-light-map-grid) 1px, transparent 1px), radial-gradient(45% 80% at 50% 44%, transparent 0 48%, color-mix(in srgb, var(--game-light-ink) 18%, transparent) 100%)}}html:not(.dark) .game-shell .journey-window:before{background-size:auto,44px 44px,44px 44px,auto}html:not(.dark) .game-shell .scene-label{color:var(--game-light-ink-muted);text-shadow:0 1px 0 var(--game-light-line-casing)}html:not(.dark) .game-shell .scene-label-current{color:var(--game-light-ink)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .route-activity-indicator{background:color-mix(in srgb, var(--game-light-surface) 84%, transparent);box-shadow:0 4px 12px color-mix(in srgb, var(--game-light-shadow) 55%, transparent), inset 0 1px var(--game-light-line-casing)}}html:not(.dark) .game-shell .route-activity-indicator strong,html:not(.dark) .game-shell .route-activity-indicator small{color:var(--game-light-ink)}html:not(.dark) .game-shell .station-console{border-color:var(--game-light-border);background:var(--game-light-surface);box-shadow:0 12px 30px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)}html:not(.dark) .game-shell .typing-console-wrapper,html:not(.dark) .game-shell .typing-console{border-color:var(--game-light-border-soft);background:var(--game-light-surface-raised)}html:not(.dark) .game-shell .neighbour-station,html:not(.dark) .game-shell .neighbour-main strong,html:not(.dark) .game-shell .neighbour-label{color:var(--game-light-ink-muted)}html:not(.dark) .game-shell .neighbour-main svg{color:var(--game-light-teal)}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-base{border-color:var(--game-light-border);background:var(--game-light-surface);box-shadow:inset 0 1px var(--game-light-line-casing), 0 2px 5px var(--game-light-shadow)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-base{box-shadow:inset 0 1px var(--game-light-line-casing), 0 2px 5px color-mix(in srgb, var(--game-light-shadow) 48%, transparent)}}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-active{border-color:var(--game-light-signal);background:var(--game-light-signal-soft);box-shadow:0 0 0 2px var(--game-light-signal), 0 0 13px var(--game-light-signal), inset 0 1px var(--game-light-line-casing)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--game-light-signal) 24%, transparent), 0 0 13px color-mix(in srgb, var(--game-light-signal) 20%, transparent), inset 0 1px var(--game-light-line-casing)}}html:not(.dark) .game-shell .station-platform-sign{box-shadow:0 8px 20px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)}html:not(.dark) .game-shell .station-platform-sign__name strong,html:not(.dark) .game-shell .station-platform-sign__name small{text-shadow:0 2px 8px var(--game-light-ink)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .station-platform-sign__name strong,html:not(.dark) .game-shell .station-platform-sign__name small{text-shadow:0 2px 8px color-mix(in srgb, var(--game-light-ink) 34%, transparent)}}html:not(.dark) .game-shell .typing-hud{border-top-color:var(--game-light-border);background:var(--game-light-surface-sunken)}html:not(.dark) .game-shell .typing-hud-metric{border:1px solid var(--game-light-border-soft);background:var(--game-light-surface);box-shadow:inset 0 1px var(--game-light-line-casing)}html:not(.dark) .game-shell .typing-hud-metric-label,html:not(.dark) .game-shell .typing-hud-metric strong,html:not(.dark) .game-shell .typing-hud-metric em,html:not(.dark) .game-shell .speed-readout strong,html:not(.dark) .game-shell .speed-readout em,html:not(.dark) .game-shell .speed-readout small{color:var(--game-light-ink)}html:not(.dark) .game-shell .typing-hud-event-streak strong{color:var(--game-light-teal-deep)}html:not(.dark) .game-shell .speed-meter{border-color:var(--game-light-border-soft);background:var(--game-light-surface)}html:not(.dark) .game-shell .typing-hud-luckiness{border-color:var(--game-light-border)!important;background:var(--game-light-surface)!important;color:var(--game-light-ink)!important}html:not(.dark) .game-shell .typing-hud-luckiness .typing-hud-metric-label,html:not(.dark) .game-shell .typing-hud-luckiness strong,html:not(.dark) .game-shell .typing-hud-luckiness em{color:var(--game-light-ink)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-console{box-shadow:0 15px 30px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing), inset 0 -3px color-mix(in srgb, var(--game-light-teal) 14%, transparent)}}html:not(.dark) .game-shell .learning-arcade-console:before{background:linear-gradient(115deg, transparent 0 42%, var(--game-light-line-casing) 50%, transparent 58% 100%)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-console:before{background:linear-gradient(115deg, transparent 0 42%, color-mix(in srgb, var(--game-light-line-casing) 70%, transparent) 50%, transparent 58% 100%)}html:not(.dark) .game-shell .learning-arcade-console__signal i{box-shadow:0 0 10px color-mix(in srgb, var(--game-light-teal) 46%, transparent)}}html:not(.dark) .game-shell .learning-arcade-console__meters,html:not(.dark) .game-shell .learning-arcade-console__meters>span{border-color:var(--game-light-border-soft)}html:not(.dark) .game-shell .learning-arcade-console__meters strong{color:var(--game-light-ink)}html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{border-color:var(--game-light-border);background:linear-gradient(180deg, var(--game-light-key-top), var(--game-light-key-bottom));box-shadow:0 4px 0 var(--game-light-key-shadow), inset 0 1px var(--game-light-line-casing);color:var(--game-light-ink)}html:not(.dark) .game-shell .learning-arcade-key:hover,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:hover,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{border-color:var(--game-light-teal);background:linear-gradient(180deg, var(--game-light-line-casing), var(--game-light-surface-sunken));box-shadow:0 4px 0 var(--game-light-key-shadow), 0 0 15px var(--game-light-teal)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key:hover,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:hover,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{box-shadow:0 4px 0 var(--game-light-key-shadow), 0 0 15px color-mix(in srgb, var(--game-light-teal) 16%, transparent)}}html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{outline:3px solid var(--game-light-signal);outline-offset:2px}html:not(.dark) .game-shell .learning-arcade-key--special,html:not(.dark) .game-shell .learning-arcade-action--space{border-color:var(--game-light-signal);background:linear-gradient(180deg, var(--game-light-special-top), var(--game-light-special-bottom));color:var(--game-light-special-ink)}html:not(.dark) .game-shell .learning-arcade-action--utility{color:var(--game-light-teal-deep)}html:not(.dark) .game-shell .scene-frame>.game-focus-scrim{background:var(--game-light-scrim);-webkit-backdrop-filter:brightness(.62)saturate(.82)blur(1.5px);backdrop-filter:brightness(.62)saturate(.82)blur(1.5px)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-launch-countdown{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--game-light-signal) 26%, transparent), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--game-light-teal-deep) 92%, black), color-mix(in srgb, var(--game-light-teal) 82%, var(--game-light-stage-deep)))}}html:not(.dark) .game-shell .game-launch-countdown{color:var(--game-light-line-casing);text-shadow:0 3px 14px var(--game-light-ink)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-launch-countdown{text-shadow:0 3px 14px color-mix(in srgb, var(--game-light-ink) 55%, transparent)}}html:not(.dark) .game-shell .game-launch-countdown span{border-color:var(--game-light-signal);background:var(--game-light-ink)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-launch-countdown span{background:color-mix(in srgb, var(--game-light-ink) 76%, transparent)}}html:not(.dark) .game-shell .game-launch-countdown span{box-shadow:4px 4px 0 var(--game-light-signal)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-launch-countdown span{box-shadow:4px 4px 0 color-mix(in srgb, var(--game-light-signal) 38%, transparent)}}html:not(.dark) .game-shell .game-launch-countdown span{color:var(--game-light-signal-soft)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-launch-countdown strong{text-shadow:5px 5px 0 color-mix(in srgb, var(--game-light-ink) 72%, transparent), 0 0 28px color-mix(in srgb, var(--game-light-signal) 48%, transparent)}}html:not(.dark) .game-shell .game-launch-countdown small{border-left-color:var(--game-light-signal);background:var(--game-light-ink)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-launch-countdown small{background:color-mix(in srgb, var(--game-light-ink) 72%, transparent)}}html:not(.dark) .game-shell .game-launch-countdown small{color:var(--game-light-line-casing)}html:not(.dark) .game-shell .pressure-failure-curtain{background:radial-gradient(circle at 50% 44%, var(--berry-700), var(--game-light-ink)), repeating-linear-gradient(135deg, transparent 0 22px, var(--game-light-signal) 22px 24px)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .pressure-failure-curtain{background:radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--berry-700) 90%, transparent), color-mix(in srgb, var(--game-light-ink) 96%, black)), repeating-linear-gradient(135deg, transparent 0 22px, color-mix(in srgb, var(--game-light-signal) 10%, transparent) 22px 24px)}}html:not(.dark) .game-shell .pressure-failure-curtain{color:var(--game-light-line-casing)}html:not(.dark) .game-shell .pressure-failure-curtain span{color:var(--game-light-signal-soft)}html:not(.dark) .game-shell .pressure-failure-curtain strong{color:var(--game-light-failure);text-shadow:4px 4px 0 var(--berry-950), 0 0 24px var(--game-light-signal)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .pressure-failure-curtain strong{text-shadow:4px 4px 0 color-mix(in srgb, var(--berry-950) 78%, transparent), 0 0 24px color-mix(in srgb, var(--game-light-signal) 40%, transparent)}}.session-recovery-notice{border-color:var(--game-light-teal)}@supports (color:color-mix(in lab, red, red)){.session-recovery-notice{border-color:color-mix(in srgb, var(--game-light-teal) 52%, transparent);background:linear-gradient(105deg, color-mix(in srgb, var(--game-light-ink) 96%, black), color-mix(in srgb, var(--game-light-teal-deep) 92%, var(--game-light-ink)))}}.session-recovery-notice{box-shadow:0 14px 34px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)}@supports (color:color-mix(in lab, red, red)){.session-recovery-notice{box-shadow:0 14px 34px color-mix(in srgb, var(--game-light-shadow) 88%, transparent), inset 0 1px var(--game-light-line-casing)}}.session-recovery-notice{color:var(--game-light-line-casing)}.session-recovery-notice__kicker{color:var(--game-light-signal-soft)}.session-recovery-notice__copy>span:last-child{color:var(--game-light-line-casing)}.session-recovery-notice button{border-color:var(--game-light-teal)}@supports (color:color-mix(in lab, red, red)){.session-recovery-notice button{border-color:color-mix(in srgb, var(--game-light-teal) 46%, transparent)}}.session-recovery-notice button{background:var(--game-light-line-casing)}@supports (color:color-mix(in lab, red, red)){.session-recovery-notice button{background:color-mix(in srgb, var(--game-light-line-casing) 10%, transparent)}}.session-recovery-notice button{color:var(--game-light-surface-raised)}.session-recovery-notice button:hover,.session-recovery-notice button:focus-visible{border-color:var(--game-light-signal);background:var(--game-light-signal)}@supports (color:color-mix(in lab, red, red)){.session-recovery-notice button:hover,.session-recovery-notice button:focus-visible{background:color-mix(in srgb, var(--game-light-signal) 18%, transparent)}}.session-recovery-notice button:hover,.session-recovery-notice button:focus-visible{color:var(--game-light-line-casing)}.gate-transit{z-index:180;isolation:isolate;color:#f4fbf8;background:radial-gradient(circle at 50% 48%,#ffd1661f,#0000 26%),linear-gradient(135deg,#031117f5,#072328fa);place-items:center;animation:.9s cubic-bezier(.16,1,.3,1) both gate-transit-in;display:grid;position:fixed;inset:0;overflow:hidden}.gate-transit:before{content:"";z-index:-2;opacity:.42;background:linear-gradient(90deg,#0000 0 49.8%,#9ae4dc38 50%,#0000 50.2%),repeating-linear-gradient(116deg,#0000 0 26px,#9ae4dc12 26px 28px,#0000 28px 62px);animation:1.2s linear infinite gate-transit-lines;position:absolute;inset:0}.gate-transit__world,.gate-transit__copy{z-index:1;position:relative}.gate-transit__world{pointer-events:none;position:absolute;inset:0}.gate-transit__speed-lines{opacity:.34;background:repeating-linear-gradient(104deg,#0000 0 42px,#ffd1661f 42px 44px,#0000 44px 96px);animation:.9s cubic-bezier(.16,1,.3,1) both gate-transit-speed;position:absolute;inset:-20%}.gate-transit__rail{background:linear-gradient(90deg,#0000,#9ae4dca8 22%,#ffd166d1 50%,#9ae4dca8 78%,#0000);width:100%;height:2px;animation:.76s cubic-bezier(.16,1,.3,1) both gate-transit-rail;position:absolute;left:0;box-shadow:0 0 18px #9ae4dc47}.gate-transit__rail--top{top:35%}.gate-transit__rail--bottom{animation-delay:60ms;top:65%}.gate-transit__gate{width:min(270px,72vw);height:min(320px,58vh);animation:.76s cubic-bezier(.16,1,.3,1) both gate-frame-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gate-transit__gate-post,.gate-transit__gate-beam{background:linear-gradient(#124349f5,#04171dfa);border:1px solid #9ae4dc8f;display:block;position:absolute;box-shadow:inset 0 1px #ecfff91f,0 0 24px #9ae4dc1f}.gate-transit__gate-post{width:42px;height:100%;bottom:0}.gate-transit__gate-post--left{border-radius:12px 3px 3px 12px;left:0}.gate-transit__gate-post--right{border-radius:3px 12px 12px 3px;right:0}.gate-transit__gate-beam{border-radius:12px 12px 3px 3px;width:100%;height:42px;top:0;left:0}.gate-transit__scan-field{clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);background:linear-gradient(#ffd1661f,#9ae4dc0a 46%,#0000);border-inline:1px solid #ffd1662e;animation:.68s cubic-bezier(.16,1,.3,1) .12s both gate-scan-field;display:block;position:absolute;inset:42px 42px 0}.gate-transit__card{color:#17201d;background:linear-gradient(145deg,#f5c85c,#c77c32);border:1px solid #ffd166c2;border-radius:8px 3px;place-items:center;gap:4px;width:78px;height:54px;animation:.76s cubic-bezier(.16,1,.3,1) .18s both gate-card-tap;display:grid;position:absolute;top:17%;left:50%;transform:translate(-50%,-30%)rotate(-8deg);box-shadow:3px 4px #452e1bb8,0 0 30px #ffd16652}.gate-transit__card small{font:900 8px/1 var(--font-mono);letter-spacing:.12em}.gate-transit__copy{text-align:center;text-shadow:0 4px 18px #000000a3;justify-items:center;gap:10px;margin-top:4px;animation:.56s cubic-bezier(.16,1,.3,1) .16s both gate-copy-in;display:grid}.gate-transit__kicker{color:var(--game-amber,#ffd166);font:800 10px/1 var(--font-mono);letter-spacing:.12em;background:#05161bc7;border:1px solid #ffd166ad;padding:6px 10px}.gate-transit__route{border-inline:2px solid var(--game-cyan,#9ae4dc);font:800 clamp(16px, 3vw, 22px)/1 var(--font-sans);background:#041419b8;align-items:center;gap:12px;padding:8px 14px;display:flex}.gate-transit__route i{background:linear-gradient(90deg, var(--game-cyan,#9ae4dc), var(--game-amber,#ffd166));width:clamp(34px,10vw,74px);height:2px;display:block;box-shadow:0 0 12px #9ae4dc6b}.game-shell.has-arcade-keyboard>.game-stage{animation:.76s cubic-bezier(.16,1,.3,1) both gameplay-stage-deck-in}.game-launch-countdown{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.game-launch-countdown strong{min-width:1.2em}@keyframes gate-transit-in{0%{opacity:0}22%{opacity:1}to{opacity:1}}@keyframes gate-transit-lines{0%{transform:translate(-4%)}to{transform:translate(4%)}}@keyframes gate-transit-speed{0%{opacity:0;transform:translate(18%)skew(-10deg)}28%{opacity:1}to{opacity:.34;transform:translate(-18%)skew(-10deg)}}@keyframes gate-transit-rail{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes gate-frame-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.72)}68%{opacity:1;transform:translate(-50%,-50%)scale(1.03)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes gate-scan-field{0%{opacity:0;transform-origin:top;transform:scaleY(.2)}to{opacity:1;transform-origin:top;transform:scaleY(1)}}@keyframes gate-card-tap{0%{opacity:0;transform:translate(-50%,-30%)translate(-120px)rotate(-18deg)scale(.78)}48%{opacity:1;transform:translate(-50%,-30%)translate(0)rotate(-8deg)scale(1.06)}to{opacity:1;transform:translate(-50%,-30%)rotate(-8deg)scale(1)}}@keyframes gate-copy-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gameplay-stage-deck-in{0%{opacity:0;filter:blur(5px);transform:scale(1.025)}55%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:scale(1)}}@media (prefers-reduced-motion:reduce){.gate-transit,.gate-transit:before,.gate-transit__speed-lines,.gate-transit__rail,.gate-transit__gate,.gate-transit__scan-field,.gate-transit__card,.gate-transit__copy,.game-shell.has-arcade-keyboard>.game-stage{animation:none!important}}:where(.learning-system-screen .learning-model-card,.learning-system-screen .learning-system-section,.learning-system-screen .learning-example-card,.learning-system-screen .learning-reference-panel,.learning-practice-screen .learning-practice-main,.learning-practice-screen .learning-complete-card,.start-screen .planner-controls,.start-screen .planner-map,.results-screen .results-card,.results-screen .results-header){border-color:var(--border-strong)!important;border-radius:18px 28px!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen .learning-model-card,.learning-system-screen .learning-system-section,.learning-system-screen .learning-example-card,.learning-system-screen .learning-reference-panel,.learning-practice-screen .learning-practice-main,.learning-practice-screen .learning-complete-card,.start-screen .planner-controls,.start-screen .planner-map,.results-screen .results-card,.results-screen .results-header){border-color:color-mix(in srgb, var(--border-strong) 68%, transparent)!important}}:where(.learning-system-screen .learning-model-card,.learning-system-screen .learning-system-section,.learning-system-screen .learning-example-card,.learning-system-screen .learning-reference-panel,.learning-practice-screen .learning-practice-main,.learning-practice-screen .learning-complete-card,.start-screen .planner-controls,.start-screen .planner-map,.results-screen .results-card,.results-screen .results-header){box-shadow:var(--shadow-3)!important}html:not(.dark) :where(.learning-system-screen .learning-model-card,.learning-system-screen .learning-system-section,.learning-system-screen .learning-example-card,.learning-system-screen .learning-reference-panel,.learning-practice-screen .learning-practice-main,.learning-practice-screen .learning-complete-card,.start-screen .planner-controls,.results-screen .results-card,.results-screen .results-header){color:var(--text-primary)!important;background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) :where(.learning-system-screen .learning-model-card,.learning-system-screen .learning-system-section,.learning-system-screen .learning-example-card,.learning-system-screen .learning-reference-panel,.learning-practice-screen .learning-practice-main,.learning-practice-screen .learning-complete-card,.start-screen .planner-controls,.results-screen .results-card,.results-screen .results-header){background:color-mix(in srgb, var(--surface-raised) 94%, var(--brand-expression-soft))!important}}html.dark :where(.learning-system-screen .learning-model-card,.learning-system-screen .learning-system-section,.learning-system-screen .learning-example-card,.learning-system-screen .learning-reference-panel,.learning-practice-screen .learning-practice-main,.learning-practice-screen .learning-complete-card,.start-screen .planner-controls,.results-screen .results-card,.results-screen .results-header){color:var(--text-primary)!important;background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html.dark :where(.learning-system-screen .learning-model-card,.learning-system-screen .learning-system-section,.learning-system-screen .learning-example-card,.learning-system-screen .learning-reference-panel,.learning-practice-screen .learning-practice-main,.learning-practice-screen .learning-complete-card,.start-screen .planner-controls,.results-screen .results-card,.results-screen .results-header){background:color-mix(in srgb, var(--surface-raised) 94%, var(--brand-expression-soft))!important}}:where(.learning-system-screen .learning-model-card h2,.learning-system-screen .learning-system-heading h2,.learning-system-screen .learning-example-card h2,.learning-system-screen .learning-reference-heading h2,.learning-system-screen .learning-model-examples small,.learning-system-screen .learning-system-heading p,.learning-system-screen .learning-example-card p,.learning-system-screen .learning-reference-note,.learning-system-screen .learning-system-note){color:var(--text-primary)!important}:where(.learning-system-screen .learning-model-examples span,.learning-system-screen .learning-initial-category,.learning-system-screen .learning-reference-initial-group,.learning-system-screen .learning-final-map-scroll){border-color:var(--border-strong)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen .learning-model-examples span,.learning-system-screen .learning-initial-category,.learning-system-screen .learning-reference-initial-group,.learning-system-screen .learning-final-map-scroll){border-color:color-mix(in srgb, var(--border-strong) 58%, transparent)!important}}:where(.learning-system-screen .learning-model-examples span,.learning-system-screen .learning-initial-category,.learning-system-screen .learning-reference-initial-group,.learning-system-screen .learning-final-map-scroll){background:var(--surface-sunken)!important;border-radius:11px 17px!important}:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action){border:1px solid var(--border-strong)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action){border:1px solid color-mix(in srgb, var(--border-strong) 72%, transparent)!important}}:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action){background:var(--surface-raised)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-1)!important;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)!important;border-radius:9px 15px!important}:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action):hover:not(:disabled),:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action):focus-visible,.learning-system-screen .learning-sound-tile.is-selected{border-color:var(--action-primary)!important;background:var(--action-primary-soft)!important;color:var(--action-secondary-text)!important;box-shadow:0 0 0 3px var(--action-primary), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action):hover:not(:disabled),:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action):focus-visible,.learning-system-screen .learning-sound-tile.is-selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--action-primary) 14%, transparent), var(--shadow-2)!important}}:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action):hover:not(:disabled),:where(.learning-system-screen .learning-sound-tile,.learning-system-screen .learning-example-audio,.learning-system-screen .learning-secondary-action):focus-visible,.learning-system-screen .learning-sound-tile.is-selected{transform:translateY(-2px)!important}.learning-system-screen .learning-section-kicker{color:var(--brand-expression)!important}html.dark .learning-system-screen .learning-section-kicker{color:var(--game-amber,var(--brand-expression))!important}html:not(.dark) .learning-system-screen :where(.learning-model-examples strong,.learning-initial-category strong,.learning-initial-category>div:first-child span,.learning-reference-section-title span,.learning-reference-section-title small,.learning-final-map th,.learning-final-map td,.learning-sound-tile strong){color:var(--text-primary)!important}html:not(.dark) .learning-system-screen :where(.learning-model-examples strong,.learning-example-card>div>strong){color:var(--action-secondary-text)!important}html:not(.dark) .learning-system-screen :where(.learning-initial-category,.learning-model-examples span,.learning-reference-initial-group,.learning-final-map-scroll){background:var(--surface-sunken)!important}.session-recovery-notice{top:max(84px, calc(env(safe-area-inset-top) + 12px))!important;border-color:var(--brand-expression)!important;border-radius:10px 18px!important}@supports (color:color-mix(in lab, red, red)){.session-recovery-notice{border-color:color-mix(in srgb, var(--brand-expression) 54%, var(--border-strong))!important}}.session-recovery-notice{background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){.session-recovery-notice{background:color-mix(in srgb, var(--surface-raised) 94%, var(--brand-expression-soft))!important}}.session-recovery-notice{color:var(--text-primary)!important;box-shadow:var(--shadow-3)!important}.session-recovery-notice:before{background:linear-gradient(180deg, var(--action-primary), var(--brand-expression))!important}:where(.start-screen .planner-field,.start-screen .route-menu-trigger,.start-screen .random-route-button,.start-screen .planner-swap,.start-screen .planner-map-tools){border-color:var(--border-strong)!important}@supports (color:color-mix(in lab, red, red)){:where(.start-screen .planner-field,.start-screen .route-menu-trigger,.start-screen .random-route-button,.start-screen .planner-swap,.start-screen .planner-map-tools){border-color:color-mix(in srgb, var(--border-strong) 72%, transparent)!important}}:where(.start-screen .planner-field,.start-screen .route-menu-trigger,.start-screen .random-route-button,.start-screen .planner-swap,.start-screen .planner-map-tools){box-shadow:var(--shadow-1)!important;border-radius:10px 16px!important}html:not(.dark) :where(.start-screen .planner-field,.start-screen .route-menu-trigger,.start-screen .random-route-button){background:var(--surface-sunken)!important;color:var(--text-primary)!important}html:not(.dark) :where(.start-screen .planner-field strong,.start-screen .route-menu-copy strong){color:var(--text-primary)!important}html:not(.dark) :where(.start-screen .planner-field small,.start-screen .route-menu-copy small,.start-screen .route-menu-copy>span,.start-screen .planner-hint){color:var(--text-secondary)!important}html:not(.dark) .start-screen .planner-swap{background:var(--surface-raised)!important;color:var(--action-secondary-text)!important}:where(.start-screen .planner-field:hover:not(:disabled),.start-screen .planner-field:focus-visible,.start-screen .planner-field.is-selecting,.start-screen .route-menu-trigger:hover:not(:disabled),.start-screen .route-menu-trigger:focus-visible,.start-screen .random-route-button:hover:not(:disabled),.start-screen .random-route-button:focus-visible,.start-screen .planner-swap:hover:not(:disabled),.start-screen .planner-swap:focus-visible){border-color:var(--action-primary)!important;background:var(--action-primary-soft)!important;color:var(--action-secondary-text)!important;box-shadow:0 0 0 3px var(--action-primary), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){:where(.start-screen .planner-field:hover:not(:disabled),.start-screen .planner-field:focus-visible,.start-screen .planner-field.is-selecting,.start-screen .route-menu-trigger:hover:not(:disabled),.start-screen .route-menu-trigger:focus-visible,.start-screen .random-route-button:hover:not(:disabled),.start-screen .random-route-button:focus-visible,.start-screen .planner-swap:hover:not(:disabled),.start-screen .planner-swap:focus-visible){box-shadow:0 0 0 3px color-mix(in srgb, var(--action-primary) 13%, transparent), var(--shadow-2)!important}}:where(.start-screen .planner-field:hover:not(:disabled),.start-screen .planner-field:focus-visible,.start-screen .planner-field.is-selecting,.start-screen .route-menu-trigger:hover:not(:disabled),.start-screen .route-menu-trigger:focus-visible,.start-screen .random-route-button:hover:not(:disabled),.start-screen .random-route-button:focus-visible,.start-screen .planner-swap:hover:not(:disabled),.start-screen .planner-swap:focus-visible){transform:translateY(-1px)}.start-screen .planner-map{border-color:var(--action-primary)!important;border-radius:18px 28px!important}@supports (color:color-mix(in lab, red, red)){.start-screen .planner-map{border-color:color-mix(in srgb, var(--action-primary) 34%, var(--border-strong))!important}}.start-screen .planner-map{box-shadow:var(--shadow-3)!important}.start-screen .planner-map-tools{background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){.start-screen .planner-map-tools{background:color-mix(in srgb, var(--surface-raised) 92%, var(--action-primary-soft))!important}}.start-screen .planner-map-tools{color:var(--text-primary)!important}html:not(.dark) .start-screen .depart-button:disabled{border-color:var(--border-strong)!important;background:var(--surface-sunken)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .start-screen .depart-button:disabled{background:color-mix(in srgb, var(--surface-sunken) 88%, var(--border-subtle))!important}}html:not(.dark) .start-screen .depart-button:disabled{color:var(--text-secondary)!important;opacity:1!important;box-shadow:none!important}:where(.learning-system-screen button,.learning-practice-screen button,.start-screen button,.results-screen button):focus-visible{outline:3px solid var(--focus-ring)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen button,.learning-practice-screen button,.start-screen button,.results-screen button):focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 76%, transparent)!important}}:where(.learning-system-screen button,.learning-practice-screen button,.start-screen button,.results-screen button):focus-visible{outline-offset:3px!important}:where(.learning-system-screen .learning-primary-action,.learning-practice-screen .learning-primary-action,.start-screen .depart-button,.results-screen .results-action-primary){box-shadow:var(--shadow-3)!important;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)!important;border-radius:11px 17px!important}:where(.learning-system-screen .learning-primary-action,.learning-practice-screen .learning-primary-action,.start-screen .depart-button,.results-screen .results-action-primary):hover:not(:disabled),:where(.learning-system-screen .learning-primary-action,.learning-practice-screen .learning-primary-action,.start-screen .depart-button,.results-screen .results-action-primary):focus-visible{box-shadow:var(--shadow-4)!important;transform:translateY(-2px)!important}@media (width<=760px){.learning-system-screen,.learning-practice-screen,.start-screen,.results-screen{padding-inline:max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right))!important}.learning-model-examples{gap:7px!important}.learning-model-examples span{padding:10px!important}.start-screen .planner-controls{max-height:none!important}}:where(.game-lobby-redesign .lobby-logo,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){box-sizing:border-box!important;min-height:48px!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:0!important;border-radius:0!important;align-items:center!important;padding:0!important;text-decoration:none!important;display:inline-flex!important;transform:none!important}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){box-sizing:border-box!important;border:1px solid var(--brand-expression)!important;align-items:center!important;min-height:48px!important;padding:9px 14px 8px!important;display:inline-flex!important;position:relative!important}@supports (color:color-mix(in lab, red, red)){:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){border:1px solid color-mix(in srgb, var(--brand-expression) 58%, var(--border-strong))!important}}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:var(--surface-raised)!important;border-radius:10px 18px!important}@supports (color:color-mix(in lab, red, red)){:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:color-mix(in srgb, var(--surface-raised) 92%, var(--brand-expression-soft))!important}}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff8c!important;filter:none!important;transform:none!important}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark):before{content:""!important;background:linear-gradient(180deg, var(--game-cyan,var(--action-primary)), var(--brand-expression))!important;border-radius:999px!important;width:3px!important;position:absolute!important;inset:9px auto 9px 0!important}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark)>span{min-width:0!important;padding-left:8px!important}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) strong{color:var(--text-primary)!important;letter-spacing:.01em!important;text-shadow:none!important;font-size:clamp(13px,1.2vw,17px)!important;line-height:1!important}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) strong em{color:var(--brand-expression)!important}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) small{color:var(--text-secondary)!important;letter-spacing:.12em!important;text-shadow:none!important;font-size:clamp(8px,.75vw,10px)!important;line-height:1.1!important;display:block!important}html.dark :where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){border-color:var(--brand-expression)!important}@supports (color:color-mix(in lab, red, red)){html.dark :where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){border-color:color-mix(in srgb, var(--brand-expression) 72%, var(--border-strong))!important}}html.dark :where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html.dark :where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:color-mix(in srgb, var(--surface-raised) 92%, var(--brand-expression-soft))!important}}html.dark :where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff14!important}@media (width<=620px){:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){border-radius:9px 15px!important;min-height:44px!important;padding:8px 11px 7px!important}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) strong{font-size:13px!important}:where(.game-lobby-redesign .lobby-logo .compact-game-mark,.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) small{font-size:8px!important}}html:not(.dark) .pressure-failure-curtain button{color:#fff1bb;background:#18353b;border-color:#ffd166ad;box-shadow:3px 3px #0000004d}html:not(.dark) .pressure-failure-curtain button:last-child{color:#c9fff0;border-color:#9ae4dc8a}html:not(.dark) .game-stage.has-active-event .journey-event-scene{color:#f4fbf8;background:radial-gradient(circle at 50% 36%,#13454eeb,#030b12fa),repeating-linear-gradient(135deg,#0000 0 24px,#9ae4dc0f 24px 25px)}html:not(.dark) .game-stage.has-active-event .event-warning-banner,html:not(.dark) .game-stage.has-active-event .event-result-toast,html:not(.dark) .game-stage.has-active-event .event-rapid-card{color:#f4fbf8;background:#0b2029;border-color:#f4bd52bd}html:not(.dark) .game-stage.has-active-event .event-rapid-phrase button{color:#f4fbf8;background:#12313a;border-color:#beded866}html:not(.dark) .game-stage.has-active-event .event-warning-banner{z-index:40;width:min(620px,100% - 28px)!important;top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important}.game-stage.has-active-event .event-result-toast{z-index:40;top:50%;bottom:auto;transform:translate(-50%,-50%)}.game-shell,.game-shell>.game-stage{box-shadow:none;border:0;border-radius:0}.game-shell>.game-stage{padding-block:0 max(4px, env(safe-area-inset-bottom));grid-template-rows:52px minmax(0,1fr) clamp(250px,40dvh,360px) 0;gap:8px}.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:52px minmax(0,1fr) clamp(250px,40dvh,360px) 0}.game-shell.has-mobile-keyboard .scene-frame,.game-shell.has-arcade-keyboard .scene-frame{min-height:0;display:block!important}.game-shell>.game-stage>.event-debug-panel{inset:56px auto auto 12px!important}@media (width<=620px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:46px minmax(0,1fr) max-content 0;gap:6px;padding-inline:8px}}@media (orientation:landscape) and (height<=620px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:42px minmax(112px,1fr) clamp(220px,58dvh,236px) 0;gap:4px;padding-inline:12px}.game-shell>.game-stage>.event-debug-panel{top:46px!important}.game-shell .station-console .typing-console-wrapper{overflow:hidden}.game-shell .typing-console:has(.station-platform-sign){flex-direction:column;min-height:0;display:flex}.game-shell .typing-console:has(.station-platform-sign) .station-platform-sign{flex:0 0 50px;min-height:50px}.game-shell .typing-console:has(.station-platform-sign) .typing-word{flex:auto;min-height:0;padding-block:4px}.game-shell .gameplay-arcade-keyboard .learning-arcade-key{font-size:15px;min-height:24px!important}.game-shell .gameplay-arcade-keyboard .learning-arcade-action{min-height:24px!important}}.game-shell{width:100vw;max-width:none;margin:0}.game-shell>.game-stage{width:100vw;max-width:none;margin-inline:0;padding-inline:0!important}.game-shell .station-console>.game-input-feedback{z-index:40;pointer-events:none;position:absolute;top:8px;left:50%;translate:-50%;margin:0!important}.game-shell .station-console>.game-input-feedback.is-visible{min-height:34px;max-height:42px}@media (height<=520px){.game-shell .game-header{min-height:40px;padding-block:2px}.game-shell .game-brand-kicker,.game-shell .game-brand-title{display:none}.game-shell .game-brand-icon{width:30px;height:30px}}@media (width>=621px){.game-shell .gameplay-arcade-keyboard{box-sizing:border-box;width:min(100%,720px);margin-inline:auto;padding-inline:clamp(8px,2vw,18px)}.game-shell .gameplay-arcade-keyboard .learning-arcade-console{padding:8px 10px max(10px, env(safe-area-inset-bottom));gap:6px}.game-shell .gameplay-arcade-keyboard .learning-arcade-console__keyboard{gap:4px}.game-shell .gameplay-arcade-keyboard .learning-arcade-console__key-row{gap:clamp(3px,.45vw,6px)}.game-shell .gameplay-arcade-keyboard .learning-arcade-key{aspect-ratio:auto;height:clamp(36px,5.5vw,46px);min-height:0}.game-shell .gameplay-arcade-keyboard .learning-arcade-action{height:clamp(36px,5.5vw,46px);min-height:0}}@media (width<=620px){.game-shell .gameplay-arcade-keyboard{padding-inline:10px}}.game-shell .typing-console:has(.station-platform-sign){flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex}.game-shell .typing-console:has(.station-platform-sign) .station-platform-sign{flex:none;min-height:clamp(72px,10dvh,92px)}.game-shell .typing-console:has(.station-platform-sign) .typing-word{--slot-size:clamp(18px, calc(42cqw / var(--total-letter-count)), 24px);flex:0 0 clamp(52px,7dvh,64px);align-items:center;min-height:clamp(52px,7dvh,64px);margin-top:auto;padding-block:clamp(3px,.6dvh,6px)}.game-shell .typing-console:has(.station-platform-sign) .station-character{font-size:clamp(22px,4.5cqw,32px)}.game-shell .station-console:has(.station-platform-sign) .typing-console-wrapper{flex:none;min-height:0!important}.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:clamp(46px,7dvh,58px) minmax(0,1fr) max-content 0}.game-shell .station-console,.game-shell .gameplay-arcade-keyboard{flex:none;height:max-content}@media (width>=621px) and (width<=1100px) and (height>=621px){.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{grid-template-rows:clamp(46px,7dvh,58px) minmax(220px,1fr) max-content 0;gap:clamp(6px,1dvh,8px)}.game-shell .station-console .typing-console-wrapper{flex:none;min-height:0!important}.game-shell .station-platform-sign{min-height:clamp(72px,10dvh,86px);padding-block:clamp(7px,1dvh,10px)}.game-shell .station-platform-sign__name strong{font-size:clamp(28px,4.6vw,40px)}.game-shell .typing-console:has(.station-platform-sign) .typing-word{flex:0 0 56px;min-height:56px;padding-block:3px}.game-shell .gameplay-arcade-keyboard .learning-arcade-key,.game-shell .gameplay-arcade-keyboard .learning-arcade-action{height:clamp(32px,4.8vw,40px)}}@media (width<=620px) and (height>=621px){.game-shell .game-header{align-items:flex-start;padding-top:2px}.game-shell .game-brand-kicker{display:none}.game-shell .game-brand-title{font-size:15px;line-height:1;display:block!important}.game-shell .station-console .typing-console-wrapper{flex:none;min-height:0!important}.game-shell .typing-console:has(.station-platform-sign) .station-platform-sign{min-height:62px;padding-block:5px}.game-shell .typing-console:has(.station-platform-sign) .typing-word{flex:0 0 52px;min-height:52px;padding-block:3px}.game-shell .gameplay-arcade-keyboard{padding-block:4px max(4px, env(safe-area-inset-bottom));gap:4px}.game-shell .gameplay-arcade-keyboard .learning-arcade-console__keyboard{gap:4px}.game-shell .gameplay-arcade-keyboard .learning-arcade-key,.game-shell .gameplay-arcade-keyboard .learning-arcade-action{height:34px;min-height:0}}.gate-transit{background:#061014;display:block}.gate-transit:before{z-index:1;opacity:1;background:linear-gradient(90deg,#020c10c7 0%,#020c1057 42%,#020c100f 78%),linear-gradient(#020c100a 46%,#020c10c2 100%);animation:none}.gate-transit__backdrop{z-index:0;pointer-events:none;filter:saturate(.88)contrast(1.04);background:radial-gradient(circle at 58% 63%,#ffc0522e,#0000 12%),url(/assets/gate-transit-cinematic.jpg) 50%/cover no-repeat;animation:.9s cubic-bezier(.16,1,.3,1) both gate-cinematic-focus;position:absolute;inset:0}.gate-transit__backdrop:after{content:"";opacity:0;background:linear-gradient(#0000,#ffd280b8,#0000);width:1px;animation:.9s cubic-bezier(.16,1,.3,1) .15s both gate-reading-sweep;position:absolute;top:0;bottom:0;left:54%;transform:translate(-18vw);box-shadow:0 0 24px 6px #ffb44c29}.gate-transit__copy{z-index:2;text-align:left;text-shadow:0 3px 24px #000000b3;justify-items:start;gap:12px;max-width:min(420px,100% - 48px);margin:0;animation:.68s cubic-bezier(.16,1,.3,1) .12s both gate-cinematic-copy-in;display:grid;position:absolute;bottom:clamp(34px,12vh,112px);left:clamp(24px,8vw,112px)}.gate-transit__kicker{color:#ddf2ebb8;font:800 10px/1 var(--font-mono);letter-spacing:.16em;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.gate-transit__kicker i{background:#ffd166;border-radius:50%;width:7px;height:7px;animation:.9s ease-in-out infinite gate-reader-pulse;box-shadow:0 0 0 4px #ffd1661f,0 0 16px #ffd166b8}.gate-transit__copy strong{color:#fff7d6;font:950 clamp(54px, 11vw, 92px)/.84 var(--font-display);letter-spacing:-.08em}.gate-transit__route{color:#f1faf5;width:min(310px,76vw);font:800 clamp(17px, 3vw, 23px)/1 var(--font-sans);background:0 0;border:0;border-top:1px solid #daf0e857;align-items:center;gap:12px;padding:12px 0 0;display:flex}.gate-transit__route i{background:linear-gradient(90deg,#9ae4dc,#ffd166);width:clamp(36px,10vw,76px);height:1px;position:relative;box-shadow:0 0 12px #9ae4dc61}.gate-transit__route i:after{content:"";background:#ffd166;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.gate-transit__copy>small{color:#e8f8f3ad;font:600 12px/1.3 var(--font-sans)}@keyframes gate-cinematic-focus{0%{opacity:0;filter:saturate(.7)contrast();transform:scale(1.035)}to{opacity:1;filter:saturate(.88)contrast(1.04);transform:scale(1)}}@keyframes gate-reading-sweep{0%{opacity:0;transform:translate(-18vw)}32%{opacity:1}to{opacity:0;transform:translate(30vw)}}@keyframes gate-cinematic-copy-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes gate-reader-pulse{0%,to{opacity:.52;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}@media (width<=620px){.gate-transit__copy{right:24px;bottom:max(42px, env(safe-area-inset-bottom));max-width:none;left:24px}.gate-transit__backdrop{background-position:58%}}@media (prefers-reduced-motion:reduce){.gate-transit__backdrop,.gate-transit__backdrop:after,.gate-transit__copy,.gate-transit__kicker i{animation:none!important}}.game-shell>.game-stage,.game-shell.has-mobile-keyboard>.game-stage,.game-shell.has-arcade-keyboard>.game-stage{padding-top:0!important}.game-shell .scene-frame>.map-miss-feedback{z-index:40;pointer-events:none;min-height:32px;max-height:42px;position:absolute;top:clamp(18px,12%,58px);left:50%;translate:-50%;margin:0!important}.game-shell .scene-frame>.pressure-failure-curtain{z-index:42;pointer-events:none;color:#f4fbf8;text-align:center;text-shadow:0 3px 18px #000000d1;background:0 0;align-content:center;justify-items:center;gap:5px;padding:0 18px;display:grid;position:absolute;inset:0}.game-shell .scene-frame>.pressure-failure-curtain:before{z-index:-1;opacity:.9;background:linear-gradient(90deg,#0000,#f8715f24,#0000),repeating-linear-gradient(116deg,#0000 0 18px,#ff7e681a 18px 20px,#0000 20px 46px);animation:1.1s linear infinite map-miss-lines;inset:12% 16%}.game-shell .scene-frame>.pressure-failure-curtain:after{border-color:#ff7e6880;width:min(48vw,260px);animation:.76s cubic-bezier(.16,1,.3,1) both map-miss-ring;box-shadow:0 0 34px #ff5b5029}.pressure-failure-curtain__signal{align-items:center;gap:5px;height:8px;display:flex}.pressure-failure-curtain__signal i{background:#ff806f;width:18px;height:2px;display:block;transform:skew(-24deg);box-shadow:0 0 12px #ff806fb8}.pressure-failure-curtain__signal i:nth-child(2){background:#ffd166;width:32px}.pressure-failure-curtain__kicker{color:#ffb4a8;font:800 9px/1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase}.game-shell .scene-frame>.pressure-failure-curtain strong{color:#fff0d3;font:950 clamp(34px, 10vw, 66px)/.9 var(--font-display);letter-spacing:-.08em;text-shadow:3px 4px #5a1b1dd1,0 0 28px #ff7e687a;transform:skew(-7deg)rotate(-2deg)}.game-shell .scene-frame>.pressure-failure-curtain small{color:#f5dfccc2;font:600 11px/1.2 var(--font-sans);letter-spacing:.08em}.game-shell .scene-frame>.pressure-failure-curtain>div:last-child{pointer-events:auto;justify-content:center;gap:8px;margin-top:6px;display:flex}.game-shell .scene-frame>.pressure-failure-curtain button{color:#fff1bb;min-height:36px;font:800 11px/1 var(--font-sans);background:#081d22eb;border:1px solid #ffd166a8;border-radius:3px 10px;padding:0 13px;box-shadow:3px 3px #2f0f1794}.game-shell .scene-frame>.pressure-failure-curtain button:last-child{color:#d6fff4;border-color:#9ae4dc85}.game-shell .scene-frame>.pressure-failure-curtain button:hover,.game-shell .scene-frame>.pressure-failure-curtain button:focus-visible{transform:translateY(-2px)skew(-3deg)}@keyframes map-miss-lines{0%{transform:translate(-5%)}to{transform:translate(5%)}}@keyframes map-miss-ring{0%{opacity:0;transform:translate(-50%,-50%)scale(.46)rotate(45deg)}55%{opacity:1}to{opacity:.34;transform:translate(-50%,-50%)scale(1)rotate(45deg)}}@media (width<=620px){.game-shell .scene-frame>.pressure-failure-curtain{align-content:center;padding-inline:12px}.game-shell .scene-frame>.pressure-failure-curtain strong{font-size:clamp(32px,10vw,48px)}.game-shell .scene-frame>.pressure-failure-curtain button{min-height:34px;padding-inline:11px}}@media (prefers-reduced-motion:reduce){.game-shell .scene-frame>.pressure-failure-curtain:before,.game-shell .scene-frame>.pressure-failure-curtain:after,.game-shell .scene-frame>.pressure-failure-curtain>*,.game-shell .scene-frame>.map-miss-feedback{animation:none!important}}.game-shell .typing-hud-event-streak[data-streak="0"] strong{color:var(--game-amber)!important}html:not(.dark) .game-shell{background:radial-gradient(circle at 8% 9%, var(--game-light-teal), transparent 28%), linear-gradient(180deg, #f5fbf9 0%, #e3efec 58%, #d4e6e2 100%)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell{background:radial-gradient(circle at 8% 9%, color-mix(in srgb, var(--game-light-teal) 9%, transparent), transparent 28%), linear-gradient(180deg, #f5fbf9 0%, #e3efec 58%, #d4e6e2 100%)!important}}html:not(.dark) .game-shell .game-header{border-bottom:1px solid var(--game-light-teal)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-header{border-bottom:1px solid color-mix(in srgb, var(--game-light-teal) 16%, transparent)}}html:not(.dark) .game-shell .game-header{background:linear-gradient(#ffffffb3,#ebf6f35c);box-shadow:0 8px 22px #1743460f}html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){border-color:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){border-color:color-mix(in srgb, var(--station-line) 26%, var(--game-light-border-soft))!important}}html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){border-top-color:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){border-top-color:color-mix(in srgb, var(--station-line) 52%, transparent)!important}}html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){background:radial-gradient(circle at 92% 0%, var(--station-line), transparent 28%), linear-gradient(135deg, #ffffffdb, #e0efebf0)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){background:radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--station-line) 12%, transparent), transparent 28%), linear-gradient(135deg, #ffffffdb, #e0efebf0)!important}}html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){box-shadow:0 16px 34px #17434624, inset 0 1px #ffffffdb, inset 0 -2px var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){box-shadow:0 16px 34px #17434624, inset 0 1px #ffffffdb, inset 0 -2px color-mix(in srgb, var(--station-line) 8%, transparent)!important}}html:not(.dark) .game-shell .station-console:not(.is-transfer-hud){transition:background .36s var(--ease-out), border-color .36s var(--ease-out), box-shadow .36s var(--ease-out)}html:not(.dark) .game-shell .typing-console-wrapper{background:linear-gradient(#fff3,#d3e7e32e)}html:not(.dark) .game-shell .typing-console{border-color:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console{border-color:color-mix(in srgb, var(--station-line) 22%, var(--game-light-border-soft))!important}}html:not(.dark) .game-shell .typing-console{background:radial-gradient(circle at 50% 0%, var(--station-line), transparent 36%), linear-gradient(145deg, #ffffffb8, #e2f0ede6)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--station-line) 10%, transparent), transparent 36%), linear-gradient(145deg, #ffffffb8, #e2f0ede6)!important}}html:not(.dark) .game-shell .typing-console{box-shadow:inset 0 1px #fffc, inset 0 -1px var(--station-line)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console{box-shadow:inset 0 1px #fffc, inset 0 -1px color-mix(in srgb, var(--station-line) 10%, transparent)}}html:not(.dark) .game-shell .typing-console{transition:background .36s var(--ease-out), border-color .36s var(--ease-out), box-shadow .36s var(--ease-out)}html:not(.dark) .game-shell .typing-hud{border-top-color:var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud{border-top-color:color-mix(in srgb, var(--game-light-teal) 24%, transparent)!important}}html:not(.dark) .game-shell .typing-hud{transition:background .36s var(--ease-out), border-color .36s var(--ease-out), box-shadow .36s var(--ease-out);background:linear-gradient(90deg,#ffffffc7,#daebe7d1 52%,#ffffffad),linear-gradient(#176d730f,#0000);box-shadow:inset 0 1px #ffffffc7}html:not(.dark) .game-shell .gameplay-arcade-keyboard{border-color:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .gameplay-arcade-keyboard{border-color:color-mix(in srgb, var(--station-line) 22%, var(--game-light-border-soft))!important}}html:not(.dark) .game-shell .gameplay-arcade-keyboard{background:radial-gradient(circle at 6% 0%, var(--station-line), transparent 26%), linear-gradient(145deg, #ffffffd1, #d3e7e3e6)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .gameplay-arcade-keyboard{background:radial-gradient(circle at 6% 0%, color-mix(in srgb, var(--station-line) 14%, transparent), transparent 26%), linear-gradient(145deg, #ffffffd1, #d3e7e3e6)!important}}html:not(.dark) .game-shell .gameplay-arcade-keyboard{box-shadow:0 14px 28px #17434621, inset 0 1px #ffffffe6, inset 0 -3px var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .gameplay-arcade-keyboard{box-shadow:0 14px 28px #17434621, inset 0 1px #ffffffe6, inset 0 -3px color-mix(in srgb, var(--station-line) 10%, transparent)!important}}html:not(.dark) .game-shell .gameplay-arcade-keyboard{transition:background .36s var(--ease-out), border-color .36s var(--ease-out), box-shadow .36s var(--ease-out)}.game-shell .game-header{z-index:242;border-bottom:0!important}.game-shell .scene-frame>.game-launch-countdown{z-index:231;top:clamp(-18px,-2.5vh,-12px)}@media (prefers-reduced-motion:reduce){html:not(.dark) .game-shell .station-console:not(.is-transfer-hud),html:not(.dark) .game-shell .typing-console,html:not(.dark) .game-shell .typing-hud,html:not(.dark) .game-shell .gameplay-arcade-keyboard{transition:none!important}}.interchange-route-change{position:relative}.interchange-walker{z-index:3;border:1px solid var(--transfer-line-color);place-items:center;width:30px;height:30px;display:grid;position:absolute;top:50%;left:39%}@supports (color:color-mix(in lab, red, red)){.interchange-walker{border:1px solid color-mix(in srgb, var(--transfer-line-color) 68%, white 10%)}}.interchange-walker{background:var(--stage-deep);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.interchange-walker{background:color-mix(in srgb, var(--stage-deep) 88%, transparent)}}.interchange-walker{color:#fff1bd;box-shadow:0 0 0 3px var(--transfer-line-color), 0 0 16px var(--transfer-line-color)}@supports (color:color-mix(in lab, red, red)){.interchange-walker{box-shadow:0 0 0 3px color-mix(in srgb, var(--transfer-line-color) 16%, transparent), 0 0 16px color-mix(in srgb, var(--transfer-line-color) 42%, transparent)}}.interchange-walker{pointer-events:none;animation:2.2s cubic-bezier(.45,.05,.55,.95) infinite interchange-walk-to-target;transform:translate(-50%,-50%)}.interchange-walker:after{background:var(--source-line-color);width:3px;height:3px;box-shadow:7px 3px 0 var(--source-line-color);border-radius:50%;position:absolute;top:calc(100% + 5px);left:50%}@supports (color:color-mix(in lab, red, red)){.interchange-walker:after{box-shadow:7px 3px 0 color-mix(in srgb, var(--source-line-color) 64%, transparent)}}.interchange-walker:after{content:"";opacity:0;animation:2.2s ease-in-out infinite interchange-walk-trail;transform:translate(-50%)}@keyframes interchange-walk-to-target{0%,8%{left:38%;transform:translate(-50%,-50%)rotate(-8deg)}42%{left:48%;transform:translate(-50%,-50%)rotate(7deg)}50%{left:52%;transform:translate(-50%,-50%)rotate(-7deg)}92%,to{left:62%;transform:translate(-50%,-50%)rotate(8deg)}}@keyframes interchange-walk-trail{0%,12%{opacity:0;transform:translate(-50%)scale(.6)}32%,72%{opacity:.7;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(.4)}}.game-shell .scene-frame>.map-miss-feedback{color:#ffd0c5;min-height:24px;max-height:none;box-shadow:none;font:950 11px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;text-shadow:2px 2px #3e1419d1,0 0 16px #ff7e688a;background:0 0;border:0;border-bottom:1px solid #ff7e68d1;border-radius:0;padding:0 9px 7px;animation:.56s cubic-bezier(.16,1,.3,1) both map-miss-signal;display:inline-flex;transform:translate(-50%,-50%)skew(-9deg)scale(.86)}.game-shell .scene-frame>.map-miss-feedback:before{color:#ff806f;content:"//";margin-right:8px}.game-shell .scene-frame>.map-miss-feedback:after{background:#ffd166;width:18px;height:1px;animation:.56s ease-out .1s both map-miss-sweep;inset:auto -24px -1px auto;transform:none;box-shadow:7px 0 #ffd16657}@keyframes map-miss-signal{0%{opacity:0;transform:translate(-50%,-50%)skew(-9deg)scale(.62)}64%{opacity:1;transform:translate(-50%,-50%)skew(-9deg)scale(1.04)}to{opacity:1;transform:translate(-50%,-50%)skew(-9deg)scale(1)}}@keyframes map-miss-sweep{0%{opacity:0;transform:translate(-30px)}45%{opacity:1}to{opacity:.3;transform:translate(0)}}@media (width<=620px){.interchange-walker{width:26px;height:26px}.interchange-walker svg{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){.interchange-walker,.interchange-walker:after,.game-shell .scene-frame>.map-miss-feedback,.game-shell .scene-frame>.map-miss-feedback:after{animation:none!important}}.game-shell .scene-frame>.game-focus-scrim{z-index:230;-webkit-backdrop-filter:brightness(.52)saturate(.7)blur(1.5px);backdrop-filter:brightness(.52)saturate(.7)blur(1.5px);pointer-events:auto;background:#02080db3;animation:.3s ease-out both game-focus-scrim-in;position:fixed;inset:0}@keyframes game-focus-scrim-in{0%{opacity:0}to{opacity:1}}.game-shell .scene-frame>.map-miss-feedback{color:#fff0d3;letter-spacing:.2em;background:#250810f0;border:2px solid #ff806fe6;border-radius:2px 9px;min-height:0;padding:8px 13px 9px;font-size:12px;animation:.42s cubic-bezier(.16,1,.3,1) both map-miss-stamp;transform:translate(-50%,-50%)skew(-8deg)scale(.8);box-shadow:4px 4px #310c16b8,0 0 28px #ff605657}.game-shell .scene-frame>.map-miss-feedback:before{color:#ff806f;content:"!"}.game-shell .scene-frame>.map-miss-feedback:after{background:#ff806f;width:25px;height:2px;right:-33px;box-shadow:8px 0 #ffd166b3}@keyframes map-miss-stamp{0%{opacity:0;transform:translate(-50%,-50%)skew(-8deg)scale(1.18)}58%{opacity:1;transform:translate(-50%,-50%)skew(-8deg)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)skew(-8deg)scale(1)}}.game-shell .scene-frame>.pressure-failure-curtain{background:radial-gradient(circle at 50% 43%,#6f161fd1,#0000 31%),linear-gradient(#1208122e,#05080e2e);align-content:center;gap:11px;padding:0 20px}.game-shell .scene-frame>.pressure-failure-curtain__kicker,.game-shell .scene-frame>.pressure-failure-curtain .pressure-failure-curtain__kicker{color:#ffd166;letter-spacing:.28em;background:#29101b;border:2px solid #ffd166;padding:8px 16px 7px;font-size:15px;transform:skew(-9deg);box-shadow:4px 4px #ff7e686b}.game-shell .scene-frame>.pressure-failure-curtain strong{color:#fff0d3;letter-spacing:-.1em;text-shadow:5px 6px #5a1b1de0,0 0 36px #ff7e689e;font-size:clamp(48px,12vw,82px)}.game-shell .scene-frame>.pressure-failure-curtain small{display:none}.game-shell .scene-frame>.pressure-failure-curtain>div:last-child{gap:12px;margin-top:8px}.game-shell .scene-frame>.pressure-failure-curtain button{color:#132a30;cursor:pointer;letter-spacing:.04em;background:#ffd166;border:2px solid #ffd166;border-radius:2px 11px;min-width:132px;min-height:50px;padding:0 17px;font-size:14px;transition:transform .14s,filter .14s,box-shadow .14s;box-shadow:5px 5px #320e16e0}.game-shell .scene-frame>.pressure-failure-curtain button:last-child{color:#e9fff8;background:#0d3940;border-color:#9ae4dc}.game-shell .scene-frame>.pressure-failure-curtain button:hover,.game-shell .scene-frame>.pressure-failure-curtain button:focus-visible{filter:brightness(1.13);transform:translateY(-3px)skew(-3deg);box-shadow:7px 8px #320e16e0}.game-shell .scene-frame>.pressure-failure-curtain button:focus-visible{outline-offset:4px;outline:3px solid #fff0d3}.interchange-walker{z-index:3;width:auto;height:auto;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;animation:none;display:block;position:absolute;inset:0;transform:none}.interchange-walker__body{color:#fff1bd;filter:drop-shadow(0 0 8px #ffd16680);width:80%;height:32px;transform:translate3d(var(--walker-progress,0%), -50%, 0);will-change:transform;align-items:center;transition:transform .38s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;left:10%}.interchange-walker__person{transform-origin:bottom;animation:.42s ease-in-out infinite commuter-pace}.interchange-walker[data-moving=false] .interchange-walker__person,.interchange-walker[data-complete=true] .interchange-walker__person{animation:none}.interchange-walker[data-wrong=true] .interchange-walker__person{animation:.26s ease-out both commuter-flinch}.interchange-walker__sweat{color:#83ecff;opacity:0;transform-origin:bottom;display:grid;position:absolute;top:-7px;left:9px}.interchange-walker[data-moving=true] .interchange-walker__sweat{opacity:.96}.interchange-walker[data-complete=true] .interchange-walker__sweat{opacity:0}.interchange-walker__sweat--one{animation:.52s ease-in-out infinite sweat-flicker}.interchange-walker__sweat--two{animation:.52s ease-in-out .17s infinite sweat-flicker;top:-2px;left:20px}@keyframes commuter-pace{0%,to{transform:translateY(1px)rotate(-7deg)}50%{transform:translateY(-2px)rotate(7deg)}}@keyframes commuter-flinch{0%{transform:translate(0)rotate(0)}35%{transform:translate(-4px)rotate(-14deg)}to{transform:translate(0)rotate(0)}}@keyframes sweat-flicker{0%,to{opacity:.34;transform:translateY(1px)rotate(10deg)scale(.8)}48%{opacity:1;transform:translateY(-4px)rotate(-12deg)scale(1.08)}}@media (width<=620px){.game-shell .scene-frame>.pressure-failure-curtain button{min-width:124px;min-height:48px;padding-inline:13px}.interchange-walker__body{width:78%;left:11%}}@media (prefers-reduced-motion:reduce){.game-shell .scene-frame>.game-focus-scrim,.interchange-walker__person,.interchange-walker__sweat{animation:none!important}.interchange-walker__body{transition:none}}.interchange-route-change{grid-template-columns:minmax(96px,.7fr) minmax(300px,2fr) minmax(96px,.7fr);justify-self:start;width:min(760px,100%)}.interchange-walker__body{width:68%;left:16%}.interchange-miss-notice{z-index:4;color:#ffd0c5;min-width:58px;min-height:28px;font:900 11px/1 var(--font-mono);letter-spacing:.16em;pointer-events:none;background:#2d0911f5;border:2px solid #ff806f;border-radius:3px 8px;justify-content:center;align-items:center;padding:0 8px;animation:.36s cubic-bezier(.16,1,.3,1) both interchange-miss-pop;display:inline-flex;position:absolute;top:50%;left:2%;transform:translateY(-50%)skew(-9deg)scale(.76);box-shadow:3px 3px #3d0a13d6,0 0 18px #ff605652}.interchange-miss-notice:before{content:"";background:#ff806f;width:6px;height:2px;position:absolute;right:-10px}@keyframes interchange-miss-pop{0%{opacity:0;transform:translateY(-50%)skew(-9deg)scale(.58)}52%{opacity:1;transform:translateY(-50%)skew(-9deg)scale(1.06)}to{opacity:1;transform:translateY(-50%)skew(-9deg)scale(1)}}@media (width<=620px){.interchange-route-change{grid-template-columns:minmax(72px,.7fr) minmax(190px,2fr) minmax(72px,.7fr)}.interchange-walker__body{width:72%;left:14%}.interchange-miss-notice{min-width:50px;min-height:25px;padding-inline:6px;font-size:10px;transform:translateY(-50%)skew(-9deg)scale(.76)}@keyframes interchange-miss-pop{0%{transform:translateY(-50%)skew(-9deg)scale(.58)}52%{transform:translateY(-50%)skew(-9deg)scale(1.06)}to{transform:translateY(-50%)skew(-9deg)scale(1)}}}@media (prefers-reduced-motion:reduce){.interchange-miss-notice{opacity:1;animation:none;transform:translateY(-50%)skew(-9deg)scale(1)}}html:not(.dark) .game-shell{color:var(--game-light-ink)!important;background:linear-gradient(180deg, var(--game-light-shell-top), var(--game-light-shell))!important}html:not(.dark) .game-shell:before{background:radial-gradient(60% 52% at 50% 10%, var(--game-light-signal), transparent 70%), linear-gradient(180deg, var(--game-light-shell-top), var(--game-light-shell))!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell:before{background:radial-gradient(60% 52% at 50% 10%, color-mix(in srgb, var(--game-light-signal) 18%, transparent), transparent 70%), linear-gradient(180deg, var(--game-light-shell-top), var(--game-light-shell))!important}}html:not(.dark) .game-shell>.game-stage{background:linear-gradient(180deg, var(--game-light-shell-top), transparent 30%), radial-gradient(50% 70% at 100% 100%, var(--game-light-teal), transparent 72%)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell>.game-stage{background:linear-gradient(180deg, color-mix(in srgb, var(--game-light-shell-top) 22%, transparent), transparent 30%), radial-gradient(50% 70% at 100% 100%, color-mix(in srgb, var(--game-light-teal) 12%, transparent), transparent 72%)!important}}html:not(.dark) .game-shell .game-header{border-bottom-color:var(--game-light-border-soft)!important;background:var(--game-light-shell-top)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-header{background:color-mix(in srgb, var(--game-light-shell-top) 92%, transparent)!important}}html:not(.dark) .game-shell .game-header{box-shadow:0 5px 18px var(--game-light-shadow)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-header{box-shadow:0 5px 18px color-mix(in srgb, var(--game-light-shadow) 52%, transparent)!important}}html:not(.dark) .game-shell .game-brand-kicker,html:not(.dark) .game-shell .game-brand-title,html:not(.dark) .game-shell .scene-controls button{color:var(--game-light-ink)!important}html:not(.dark) .game-shell .scene-controls button{border-color:var(--game-light-border-soft)!important;background:var(--game-light-surface)!important;box-shadow:0 3px 10px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .scene-controls button{box-shadow:0 3px 10px color-mix(in srgb, var(--game-light-shadow) 55%, transparent), inset 0 1px var(--game-light-line-casing)!important}}html:not(.dark) .game-shell .game-header .scene-controls{border-color:var(--game-light-border-soft)!important;background:var(--game-light-surface)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-header .scene-controls{background:color-mix(in srgb, var(--game-light-surface) 94%, transparent)!important}}html:not(.dark) .game-shell .game-header .scene-controls{box-shadow:0 4px 12px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-header .scene-controls{box-shadow:0 4px 12px color-mix(in srgb, var(--game-light-shadow) 55%, transparent), inset 0 1px var(--game-light-line-casing)!important}}html:not(.dark) .game-shell .game-header .scene-controls button{border-left-color:var(--game-light-border-soft)!important;background:0 0!important}html:not(.dark) .game-shell .scene-controls button:hover,html:not(.dark) .game-shell .scene-controls button:focus-visible{border-color:var(--game-light-teal)!important;background:var(--game-light-surface-raised)!important;color:var(--game-light-teal-deep)!important}html:not(.dark) .game-shell .journey-window,html:not(.dark) .game-shell .scene-frame>.journey-window{border-color:var(--game-light-border)!important;background:radial-gradient(70% 70% at 50% 16%, var(--game-light-signal), transparent 72%), linear-gradient(180deg, var(--game-light-stage), var(--game-light-stage-deep))!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .journey-window,html:not(.dark) .game-shell .scene-frame>.journey-window{background:radial-gradient(70% 70% at 50% 16%, color-mix(in srgb, var(--game-light-signal) 26%, transparent), transparent 72%), linear-gradient(180deg, var(--game-light-stage), var(--game-light-stage-deep))!important}}html:not(.dark) .game-shell .journey-window,html:not(.dark) .game-shell .scene-frame>.journey-window{box-shadow:0 14px 34px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)!important}html:not(.dark) .game-shell .journey-window:before{background:linear-gradient(90deg, var(--game-light-ink), transparent 20%, transparent 80%, var(--game-light-ink)), linear-gradient(90deg, var(--game-light-map-grid) 1px, transparent 1px), linear-gradient(0deg, var(--game-light-map-grid) 1px, transparent 1px), radial-gradient(45% 80% at 50% 44%, transparent 0 48%, var(--game-light-ink) 100%)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .journey-window:before{background:linear-gradient(90deg, color-mix(in srgb, var(--game-light-ink) 28%, transparent), transparent 20%, transparent 80%, color-mix(in srgb, var(--game-light-ink) 28%, transparent)), linear-gradient(90deg, var(--game-light-map-grid) 1px, transparent 1px), linear-gradient(0deg, var(--game-light-map-grid) 1px, transparent 1px), radial-gradient(45% 80% at 50% 44%, transparent 0 48%, color-mix(in srgb, var(--game-light-ink) 18%, transparent) 100%)!important}}html:not(.dark) .game-shell .scene-label,html:not(.dark) .game-shell .journey-window__label,html:not(.dark) .game-shell .scene-label-current{letter-spacing:.03em;border-color:var(--game-light-teal)!important;background:var(--game-light-ink)!important;color:var(--game-light-line-casing)!important;text-shadow:0 1px 0 var(--game-light-ink)!important;font-weight:800!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .scene-label,html:not(.dark) .game-shell .journey-window__label,html:not(.dark) .game-shell .scene-label-current{text-shadow:0 1px 0 color-mix(in srgb, var(--game-light-ink) 72%, black)!important}}html:not(.dark) .game-shell .scene-label,html:not(.dark) .game-shell .journey-window__label,html:not(.dark) .game-shell .scene-label-current{box-shadow:0 4px 12px var(--game-light-shadow), 0 0 0 1px var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .scene-label,html:not(.dark) .game-shell .journey-window__label,html:not(.dark) .game-shell .scene-label-current{box-shadow:0 4px 12px color-mix(in srgb, var(--game-light-shadow) 80%, transparent), 0 0 0 1px color-mix(in srgb, var(--game-light-teal) 26%, transparent)!important}}html:not(.dark) .game-shell .scene-label-current{border-color:var(--game-light-signal)!important;background:var(--game-light-teal-deep)!important}html:not(.dark) .game-shell .route-activity-indicator{border-color:var(--game-light-border-soft)!important;background:var(--game-light-surface)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .route-activity-indicator{background:color-mix(in srgb, var(--game-light-surface) 84%, transparent)!important}}html:not(.dark) .game-shell .route-activity-indicator{color:var(--game-light-ink)!important;box-shadow:0 4px 12px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .route-activity-indicator{box-shadow:0 4px 12px color-mix(in srgb, var(--game-light-shadow) 55%, transparent), inset 0 1px var(--game-light-line-casing)!important}}html:not(.dark) .game-shell .station-console,html:not(.dark) .game-shell .typing-console,html:not(.dark) .game-shell .typing-console-wrapper,html:not(.dark) .game-shell .neighbour-station{border-color:var(--game-light-border-soft)!important;background:var(--game-light-surface)!important;color:var(--game-light-ink)!important;box-shadow:0 12px 30px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)!important}html:not(.dark) .game-shell .typing-word,html:not(.dark) .game-shell .typing-slot,html:not(.dark) .game-shell .typing-slot-empty{border-color:var(--game-light-border-soft)!important;background:var(--game-light-surface-raised)!important;color:var(--game-light-ink)!important}html:not(.dark) .game-shell .typing-slot.is-current,html:not(.dark) .game-shell .typing-slot.is-error,html:not(.dark) .game-shell .game-input-feedback.is-visible{border-color:var(--game-light-signal)!important;background:var(--game-light-signal-soft)!important;color:var(--game-light-special-ink)!important;box-shadow:0 0 0 2px var(--game-light-signal), 0 0 13px var(--game-light-signal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-slot.is-current,html:not(.dark) .game-shell .typing-slot.is-error,html:not(.dark) .game-shell .game-input-feedback.is-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--game-light-signal) 24%, transparent), 0 0 13px color-mix(in srgb, var(--game-light-signal) 20%, transparent)!important}}html:not(.dark) .game-shell .station-platform-sign{border-color:var(--game-light-border)!important;background:linear-gradient(115deg, var(--station-line), var(--station-line))!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .station-platform-sign{background:linear-gradient(115deg, color-mix(in srgb, var(--station-line) 78%, #f4ead8 22%), color-mix(in srgb, var(--station-line) 58%, #142a28 42%))!important}}html:not(.dark) .game-shell .station-platform-sign{color:var(--station-ink,#f7fffc)!important;box-shadow:0 8px 20px var(--game-light-shadow), inset 0 1px var(--game-light-line-casing)!important}html:not(.dark) .game-shell .hud-metric,html:not(.dark) .game-shell .hud-metric strong,html:not(.dark) .game-shell .hud-metric small{color:var(--game-light-ink)!important}html:not(.dark) .game-shell .station-platform-sign__name strong,html:not(.dark) .game-shell .station-platform-sign__name small{color:var(--station-ink,#f7fffc)!important;text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d), 0 2px 0 var(--station-ink-outline,#10201d), 0 5px 12px var(--station-ink-outline,#10201d)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .station-platform-sign__name strong,html:not(.dark) .game-shell .station-platform-sign__name small{text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d), 0 2px 0 color-mix(in srgb, var(--station-ink-outline,#10201d) 72%, transparent), 0 5px 12px color-mix(in srgb, var(--station-ink-outline,#10201d) 58%, transparent)!important}}html:not(.dark) .game-shell .hud-metric,html:not(.dark) .game-shell .hud-speed,html:not(.dark) .game-shell .hud-luckiness{border-color:var(--game-light-border-soft)!important;background:var(--game-light-surface)!important;box-shadow:inset 0 1px var(--game-light-line-casing)!important}html:not(.dark) .game-shell .hud-speed strong,html:not(.dark) .game-shell .hud-luckiness strong{color:var(--game-light-teal-deep)!important}html:not(.dark) .game-shell .learning-arcade-console{border-color:var(--game-light-border)!important;background:linear-gradient(145deg, var(--game-light-surface), var(--game-light-surface-raised))!important;box-shadow:0 15px 30px var(--game-light-shadow), 0 0 0 1px var(--game-light-teal-deep), inset 0 1px var(--game-light-key-highlight), inset 0 -3px var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-console{box-shadow:0 15px 30px var(--game-light-shadow), 0 0 0 1px color-mix(in srgb, var(--game-light-teal-deep) 22%, transparent), inset 0 1px var(--game-light-key-highlight), inset 0 -3px color-mix(in srgb, var(--game-light-teal) 14%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-console__signal,html:not(.dark) .game-shell .learning-arcade-console__meters small{color:var(--game-light-teal-deep)!important}html:not(.dark) .game-shell .learning-arcade-console__signal i{background:var(--game-light-teal)!important;box-shadow:0 0 10px var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-console__signal i{box-shadow:0 0 10px color-mix(in srgb, var(--game-light-teal) 46%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{border-color:var(--game-light-key-edge)!important;background:linear-gradient(180deg, var(--game-light-key-top), var(--game-light-key-bottom))!important;box-shadow:0 4px 0 var(--game-light-key-shadow), 0 0 0 1px var(--game-light-key-edge-soft), inset 0 1px var(--game-light-key-highlight), inset 0 -1px var(--game-light-teal-deep)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{box-shadow:0 4px 0 var(--game-light-key-shadow), 0 0 0 1px var(--game-light-key-edge-soft), inset 0 1px var(--game-light-key-highlight), inset 0 -1px color-mix(in srgb, var(--game-light-teal-deep) 22%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{color:var(--game-light-ink)!important}html:not(.dark) .game-shell .learning-arcade-key.is-active,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{border-color:var(--game-light-teal)!important;background:linear-gradient(180deg, var(--game-light-line-casing), var(--game-light-surface-sunken))!important;box-shadow:0 4px 0 var(--game-light-key-shadow), 0 0 0 1px var(--game-light-teal), 0 0 15px var(--game-light-teal), inset 0 1px var(--game-light-key-highlight)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key.is-active,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{box-shadow:0 4px 0 var(--game-light-key-shadow), 0 0 0 1px color-mix(in srgb, var(--game-light-teal) 38%, transparent), 0 0 15px color-mix(in srgb, var(--game-light-teal) 16%, transparent), inset 0 1px var(--game-light-key-highlight)!important}}html:not(.dark) .game-shell .learning-arcade-action--special{border-color:var(--game-light-signal)!important;background:linear-gradient(180deg, var(--game-light-special-top), var(--game-light-special-bottom))!important;color:var(--game-light-special-ink)!important}html:not(.dark) .game-shell .scene-frame>.game-focus-scrim{background:var(--game-light-scrim)!important}html:not(.dark) .game-shell .game-launch-countdown{background:radial-gradient(circle at 50% 42%, var(--game-light-signal), transparent 28%), linear-gradient(145deg, var(--game-light-teal-deep), var(--game-light-teal))!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-launch-countdown{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--game-light-signal) 26%, transparent), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--game-light-teal-deep) 92%, black), color-mix(in srgb, var(--game-light-teal) 82%, var(--game-light-stage-deep)))!important}}html:not(.dark) .game-shell .game-launch-countdown{color:var(--game-light-line-casing)!important}html:not(.dark) .game-shell .game-launch-countdown strong{color:var(--game-light-line-casing)!important;text-shadow:5px 5px 0 var(--game-light-ink), 0 0 28px var(--game-light-signal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .game-launch-countdown strong{text-shadow:5px 5px 0 color-mix(in srgb, var(--game-light-ink) 72%, transparent), 0 0 28px color-mix(in srgb, var(--game-light-signal) 48%, transparent)!important}}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain{background:var(--game-light-ink)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain{background:color-mix(in srgb, var(--game-light-ink) 72%, transparent)!important}}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain{color:var(--game-light-line-casing)!important}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain strong{color:var(--game-light-failure)!important;text-shadow:4px 4px 0 var(--game-light-ink), 0 0 24px var(--game-light-signal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain strong{text-shadow:4px 4px 0 color-mix(in srgb, var(--game-light-ink) 82%, transparent), 0 0 24px color-mix(in srgb, var(--game-light-signal) 40%, transparent)!important}}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain button{border-color:var(--game-light-signal)!important;background:var(--game-light-failure-primary-bg)!important;color:var(--game-light-failure-primary-ink)!important;box-shadow:5px 5px 0 var(--game-light-failure-button-shadow)!important}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain button:last-child{border-color:var(--game-light-failure-secondary-border)!important;background:var(--game-light-failure-secondary-bg)!important;color:var(--game-light-failure-secondary-ink)!important}html:not(.dark) .session-recovery-notice{border-color:var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .session-recovery-notice{border-color:color-mix(in srgb, var(--game-light-teal) 52%, transparent)!important}}html:not(.dark) .session-recovery-notice{background:linear-gradient(105deg, var(--game-light-ink), var(--game-light-teal-deep))!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .session-recovery-notice{background:linear-gradient(105deg, color-mix(in srgb, var(--game-light-ink) 96%, black), color-mix(in srgb, var(--game-light-teal-deep) 92%, var(--game-light-ink)))!important}}html:not(.dark) .session-recovery-notice{color:var(--game-light-line-casing)!important}html:not(.dark) .game-shell .typing-hud-metric>svg{color:var(--game-light-teal-deep)!important}.game-shell .scene-frame>.pressure-failure-curtain:before{opacity:1;background:radial-gradient(at 50% 38%,#ff3a3a3d,#0000 68%),repeating-linear-gradient(116deg,#0000 0 16px,#ff7e681f 16px 19px,#0000 19px 42px),linear-gradient(#8c142147,#4c0c1824);border:1px solid #ff675b80;border-radius:28px 10px;animation:1.1s ease-out both failure-danger-field;inset:5% 7%;box-shadow:inset 0 0 0 1px #ffbe971f,0 0 64px #ff323238}.game-shell .scene-frame>.pressure-failure-curtain:after{aspect-ratio:1;clip-path:none;background:radial-gradient(circle,#ff303038 0 28%,#ff30301a 52%,#0000 72%);border:2px solid #ff50466b;border-radius:50%;width:min(76vw,520px);animation:1.5s cubic-bezier(.16,1,.3,1) both failure-alert-circle;top:62%;box-shadow:0 0 30px #ff403847,inset 0 0 34px #ff403824}@keyframes failure-danger-field{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes failure-alert-circle{0%{opacity:0;transform:translate(-50%,-50%)scale(.42)}58%{opacity:.95}to{opacity:.68;transform:translate(-50%,-50%)scale(1)}}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain:before{background:radial-gradient(at 50% 38%,#d630404d,#0000 68%),repeating-linear-gradient(116deg,#0000 0 16px,#d2364524 16px 19px,#0000 19px 42px),linear-gradient(#a01f3052,#5e12232e);border-color:#b13a498f;box-shadow:inset 0 0 0 1px #ffcdc32e,0 0 64px #be273e47}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain:after{background:radial-gradient(circle,#d3303e3d 0 28%,#d3303e1f 52%,#0000 72%);border-color:#cf304385;box-shadow:0 0 30px #be273e57,inset 0 0 34px #be273e29}.game-shell .scene-frame>.pressure-failure-curtain:before{animation:1.6s linear infinite fight-speed-lines}.game-shell .scene-frame>.pressure-failure-curtain:after{border:0;box-shadow:0 0 46px #ff403852}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain:after{border:0;box-shadow:0 0 46px #be273e61}html:not(.dark) .game-shell .speed-meter{border-color:var(--game-light-border-soft)!important;background:var(--game-light-surface)!important;color:var(--game-light-teal-deep)!important}html:not(.dark) .game-shell .speed-dial:before{border-color:var(--game-light-teal-deep)}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .speed-dial:before{border-color:color-mix(in srgb, var(--game-light-teal-deep) 24%, var(--game-light-line-casing))}}html:not(.dark) .game-shell .speed-dial:before{border-top-color:var(--game-light-teal);border-right-color:var(--game-light-teal)}html:not(.dark) .game-shell .speed-needle{background:var(--game-light-teal-deep)}html:not(.dark) .game-shell .speed-hub{border-color:var(--game-light-teal-deep);background:var(--game-light-surface)}html:not(.dark) .game-shell .speed-readout strong{color:var(--game-light-teal-deep)!important}html:not(.dark) .game-shell .speed-readout strong small,html:not(.dark) .game-shell .speed-readout em{color:var(--game-light-ink-muted)!important}.game-shell .scene-frame>.pressure-failure-curtain:before{border-radius:var(--radius-stage);background-position:0 0,0 0,0 0;border-width:2px;animation:1.6s linear infinite failure-danger-field-drift;inset:0}html:not(.dark) .game-shell .scene-frame>.pressure-failure-curtain:before{border-width:2px}@keyframes failure-danger-field-drift{0%{background-position:0 0,0 0,0 0}to{background-position:0 0,48px 48px,0 0}}html:not(.dark) .game-shell .typing-hud-event-streak{border-color:var(--game-light-amber)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-event-streak{border-color:color-mix(in srgb, var(--game-light-amber) 54%, transparent)!important}}html:not(.dark) .game-shell .typing-hud-event-streak{background:var(--game-light-amber)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-event-streak{background:color-mix(in srgb, var(--game-light-amber) 15%, var(--game-light-surface))!important}}html:not(.dark) .game-shell .typing-hud-event-streak>svg,html:not(.dark) .game-shell .typing-hud-event-streak strong{color:var(--game-light-amber)!important}html:not(.dark) .game-shell .typing-hud-event-streak em{color:var(--game-light-ink-muted)!important}html:not(.dark) .game-shell .typing-hud-time{border-color:var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-time{border-color:color-mix(in srgb, var(--game-light-teal) 42%, transparent)!important}}html:not(.dark) .game-shell .typing-hud-time{background:var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-time{background:color-mix(in srgb, var(--game-light-teal) 10%, var(--game-light-surface))!important}}html:not(.dark) .game-shell .typing-hud-time>svg,html:not(.dark) .game-shell .typing-hud-time strong{color:var(--game-light-teal-deep)!important}html:not(.dark) .game-shell .typing-hud-time .typing-hud-metric-label,html:not(.dark) .game-shell .typing-hud-accuracy .typing-hud-metric-label{color:var(--game-light-teal)!important}html:not(.dark) .game-shell .typing-hud-accuracy{border-color:var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-accuracy{border-color:color-mix(in srgb, var(--game-light-teal) 42%, transparent)!important}}html:not(.dark) .game-shell .typing-hud-accuracy{background:var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-accuracy{background:color-mix(in srgb, var(--game-light-teal) 10%, var(--game-light-surface))!important}}html:not(.dark) .game-shell .typing-hud-accuracy strong{color:var(--game-light-teal-deep)!important}html:not(.dark) .game-shell .speed-readout strong small{color:var(--game-light-teal)!important}html:not(.dark) .game-shell .typing-hud-luckiness{border-color:var(--game-light-border-soft)!important;background:var(--game-light-surface)!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=hot]{border-color:var(--berry-400)!important;background:var(--berry-50)!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=warm]{border-color:var(--positive-500)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=warm]{border-color:color-mix(in srgb, var(--positive-500) 46%, transparent)!important}}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=warm]{background:var(--positive-100)!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cool]{border-color:var(--caution-500)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cool]{border-color:color-mix(in srgb, var(--caution-500) 46%, transparent)!important}}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cool]{background:var(--caution-100)!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cold]{border-color:var(--critical-500)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cold]{border-color:color-mix(in srgb, var(--critical-500) 46%, transparent)!important}}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cold]{background:var(--critical-100)!important}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .typing-word{border-block-color:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .typing-word{border-block-color:color-mix(in srgb, var(--station-line) 36%, var(--game-light-border-soft))!important}}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .typing-word{background:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .typing-word{background:color-mix(in srgb, var(--station-line) 5%, var(--game-light-surface-raised))!important}}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-base{border-color:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-base{border-color:color-mix(in srgb, var(--station-line) 60%, var(--game-light-border))!important}}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-base{background:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-base{background:color-mix(in srgb, var(--station-line) 12%, var(--game-light-surface))!important}}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-base{color:var(--game-light-ink)!important}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-active{border-color:var(--station-line)!important;background:var(--station-line)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-active{background:color-mix(in srgb, var(--station-line) 24%, var(--game-light-surface))!important}}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-active{box-shadow:0 0 0 2px var(--station-line), 0 0 14px var(--station-line), inset 0 1px var(--game-light-line-casing)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--station-line) 28%, transparent), 0 0 14px color-mix(in srgb, var(--station-line) 24%, transparent), inset 0 1px var(--game-light-line-casing)!important}}html:not(.dark) .game-shell .typing-console:has(.station-platform-sign) .slot-done{border-color:var(--station-line)!important;background:var(--station-line)!important;color:var(--station-ink,#fff)!important}html:not(.dark) .game-shell .typing-hud-luckiness{isolation:isolate;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd6,0 3px 10px #1e4c4f14!important}html:not(.dark) .game-shell .typing-hud-luckiness:after{z-index:-1;content:"";pointer-events:none;background:linear-gradient(118deg,#ffffff85,#0000 42% 68%,#ffffff29);position:absolute;inset:0}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=hot]{background:linear-gradient(135deg,#fff1f4,#ffd5df 54%,#f2a1b7)!important;border-color:#db6d89!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=hot] strong,html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=hot] em{color:#8b2c45!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=warm]{background:linear-gradient(135deg,#effbf7,#c9eee5 54%,#98d8ca)!important;border-color:#4caaa0!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=warm] strong,html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=warm] em{color:#176d73!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cool]{background:linear-gradient(135deg,#effaff,#c8e9f2 54%,#91c7dc)!important;border-color:#5b9fba!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cool] strong,html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cool] em{color:#21627a!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cold]{background:linear-gradient(135deg,#fff0f0,#f4c1c7 54%,#dc7f8d)!important;border-color:#c24b5f!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cold] strong,html:not(.dark) .game-shell .typing-hud-luckiness[data-tier=cold] em{color:#8f263b!important}.game-shell .typing-hud-luckiness{--luckiness-color:var(--positive-500)}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-luckiness{--luckiness-color:color-mix(in hsl shorter hue, var(--positive-500) var(--luckiness-progress,50%), var(--critical-500))}}.game-shell .typing-hud-luckiness{--luckiness-soft:var(--positive-100)}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-luckiness{--luckiness-soft:color-mix(in hsl shorter hue, var(--positive-100) var(--luckiness-progress,50%), var(--critical-100))}}.game-shell .typing-hud-luckiness{border-color:var(--luckiness-color)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-luckiness{border-color:color-mix(in srgb, var(--luckiness-color) 72%, transparent)!important}}.game-shell .typing-hud-luckiness{background:var(--luckiness-soft)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-luckiness{background:color-mix(in srgb, var(--luckiness-soft) 84%, var(--surface-sunken))!important}}.game-shell .typing-hud-luckiness strong,.game-shell .typing-hud-luckiness em{color:var(--luckiness-color)!important}html:not(.dark) .game-shell .typing-hud-luckiness{background:linear-gradient(135deg, var(--luckiness-soft), var(--luckiness-soft))!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-luckiness{background:linear-gradient(135deg, color-mix(in srgb, var(--luckiness-soft) 62%, #fff), var(--luckiness-soft))!important}}.game-shell .typing-hud-luckiness[data-tier]{border-color:var(--luckiness-color)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-luckiness[data-tier]{border-color:color-mix(in srgb, var(--luckiness-color) 72%, transparent)!important}}.game-shell .typing-hud-luckiness[data-tier]{background:var(--luckiness-soft)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-luckiness[data-tier]{background:color-mix(in srgb, var(--luckiness-soft) 84%, var(--surface-sunken))!important}}.game-shell .typing-hud-luckiness[data-tier] .typing-hud-metric-label,.game-shell .typing-hud-luckiness[data-tier] strong,.game-shell .typing-hud-luckiness[data-tier] em{color:var(--luckiness-color)!important}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier]{border-color:var(--luckiness-color)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-luckiness[data-tier]{border-color:color-mix(in srgb, var(--luckiness-color) 72%, transparent)!important}}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier]{background:linear-gradient(135deg, var(--luckiness-soft), var(--luckiness-soft))!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .typing-hud-luckiness[data-tier]{background:linear-gradient(135deg, color-mix(in srgb, var(--luckiness-soft) 62%, #fff), var(--luckiness-soft))!important}}html:not(.dark) .game-shell .typing-hud-luckiness[data-tier] .typing-hud-metric-label,html:not(.dark) .game-shell .typing-hud-luckiness[data-tier] strong,html:not(.dark) .game-shell .typing-hud-luckiness[data-tier] em{color:var(--luckiness-color)!important}.game-shell .typing-hud-event-streak{isolation:isolate;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);position:relative;overflow:hidden}.game-shell .typing-hud-event-streak:before{z-index:0;content:"";animation:streak-sheen 4.8s var(--ease-in-out) infinite;pointer-events:none;background:linear-gradient(112deg,#0000 18%,#ffffff57 46%,#0000 72%);position:absolute;inset:0;transform:translate(-135%)}.game-shell .typing-hud-event-streak>*{z-index:1;position:relative}.game-shell .typing-hud-event-streak[data-streak]:not([data-streak="0"]){border-color:var(--positive-500)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-event-streak[data-streak]:not([data-streak="0"]){border-color:color-mix(in srgb, var(--positive-500) 62%, var(--border-subtle))!important}}.game-shell .typing-hud-event-streak[data-streak]:not([data-streak="0"]){box-shadow:0 0 0 2px var(--positive-500), 0 5px 16px var(--positive-500)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-event-streak[data-streak]:not([data-streak="0"]){box-shadow:0 0 0 2px color-mix(in srgb, var(--positive-500) 13%, transparent), 0 5px 16px color-mix(in srgb, var(--positive-500) 18%, transparent)!important}}.game-shell .typing-hud-event-streak[data-streak]:not([data-streak="0"])>svg{animation:streak-signal-pulse 1.8s var(--ease-in-out) infinite;color:var(--positive-500)!important}.game-shell .typing-hud-event-streak[data-shield-ready=true]{border-color:var(--action-primary)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-event-streak[data-shield-ready=true]{border-color:color-mix(in srgb, var(--action-primary) 72%, var(--positive-500))!important}}.game-shell .typing-hud-event-streak[data-shield-ready=true]{box-shadow:0 0 0 2px var(--action-primary), 0 0 20px var(--action-primary)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-event-streak[data-shield-ready=true]{box-shadow:0 0 0 2px color-mix(in srgb, var(--action-primary) 18%, transparent), 0 0 20px color-mix(in srgb, var(--action-primary) 24%, transparent)!important}}.game-shell .typing-hud-event-streak[data-shield-ready=true]>svg{filter:drop-shadow(0 0 7px var(--action-primary));color:var(--action-primary)!important}@supports (color:color-mix(in lab, red, red)){.game-shell .typing-hud-event-streak[data-shield-ready=true]>svg{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--action-primary) 46%, transparent))}}.game-shell .journey-window .route-activity-indicator{isolation:isolate;width:100%;max-width:100%;transition:color .36s var(--ease-out), background .36s var(--ease-out), box-shadow .36s var(--ease-out);border-radius:999px;left:0;overflow:hidden;background:0 0!important;border-color:#0000!important}.game-shell .journey-window .route-activity-indicator:before{z-index:0;content:"";filter:blur(5px);opacity:.9;pointer-events:none;background:radial-gradient(at 52%,#ff9d5724,#0000 68%),linear-gradient(90deg,#0000 0%,#04121814 14%,#0412182e 50%,#ff694a1a 86%,#0000 100%);position:absolute;inset:-10px 0}.game-shell .journey-window .route-activity-indicator>*{z-index:1;position:relative}.game-shell .journey-window .route-activity-meter i{position:relative;overflow:visible}.game-shell .journey-window .route-activity-meter i:before,.game-shell .journey-window .route-activity-meter i:after{content:"";pointer-events:none;transform-origin:50% 100%;animation:.62s ease-in-out infinite alternate route-fire-flicker;position:absolute;bottom:50%;right:-1px}.game-shell .journey-window .route-activity-meter i:before{filter:drop-shadow(0 0 5px #ff7d52cc);background:radial-gradient(at 50% 78%,#fff6b3 0 16%,#ffd166 17% 38%,#ff9d57 39% 65%,#0000 66%);width:15px;height:21px;transform:translate(50%,4px)rotate(8deg)}.game-shell .journey-window .route-activity-meter i:after{background:radial-gradient(at 50% 78%,#fffde0 0 28%,#ffe08a 29% 62%,#0000 63%);width:7px;height:13px;animation-delay:-180ms;transform:translate(50%,2px)rotate(-7deg)}.game-shell .journey-window.is-event-frozen .route-activity-meter i,.game-shell .journey-window.is-event-frozen .route-activity-meter i:before,.game-shell .journey-window.is-event-frozen .route-activity-meter i:after{animation-play-state:paused}.game-shell .journey-window.is-event-frozen .route-activity-meter i:before,.game-shell .journey-window.is-event-frozen .route-activity-meter i:after{opacity:.72}.game-shell .learning-arcade-key,.game-shell .learning-arcade-action{transition:border-color .22s var(--ease-out), background .22s var(--ease-out), box-shadow .22s var(--ease-out), color .18s var(--ease-out), outline-color .22s var(--ease-out), transform .18s var(--ease-out)!important}html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{border-color:var(--game-light-key-edge)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{border-color:color-mix(in srgb, var(--game-light-key-edge) 52%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{box-shadow:0 4px 0 var(--game-light-key-shadow), 0 0 0 1px var(--game-light-key-edge), inset 0 1px var(--game-light-key-highlight), inset 0 -1px var(--game-light-teal-deep)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key,html:not(.dark) .game-shell .learning-arcade-action{box-shadow:0 4px 0 color-mix(in srgb, var(--game-light-key-shadow) 78%, transparent), 0 0 0 1px color-mix(in srgb, var(--game-light-key-edge) 18%, transparent), inset 0 1px color-mix(in srgb, var(--game-light-key-highlight) 82%, transparent), inset 0 -1px color-mix(in srgb, var(--game-light-teal-deep) 16%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-key:hover,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:hover,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{border-color:var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key:hover,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:hover,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{border-color:color-mix(in srgb, var(--game-light-teal) 68%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-key:hover,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:hover,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{box-shadow:0 4px 0 var(--game-light-key-shadow), 0 0 0 2px var(--game-light-teal), 0 0 16px var(--game-light-teal), inset 0 1px var(--game-light-key-highlight)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key:hover,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:hover,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{box-shadow:0 4px 0 color-mix(in srgb, var(--game-light-key-shadow) 78%, transparent), 0 0 0 2px color-mix(in srgb, var(--game-light-teal) 18%, transparent), 0 0 16px color-mix(in srgb, var(--game-light-teal) 14%, transparent), inset 0 1px color-mix(in srgb, var(--game-light-key-highlight) 88%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-key.is-active,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{border-color:var(--game-light-teal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key.is-active,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{border-color:color-mix(in srgb, var(--game-light-teal) 74%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-key.is-active,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{outline:2px solid var(--game-light-signal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-key.is-active,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{outline:2px solid color-mix(in srgb, var(--game-light-signal) 38%, transparent)!important}}html:not(.dark) .game-shell .learning-arcade-key.is-active,html:not(.dark) .game-shell .learning-arcade-key:focus-visible,html:not(.dark) .game-shell .learning-arcade-action:focus-visible{outline-offset:0}html:not(.dark) .game-shell .learning-arcade-action--special{border-color:var(--game-light-signal)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .game-shell .learning-arcade-action--special{border-color:color-mix(in srgb, var(--game-light-signal) 64%, transparent)!important}}@keyframes streak-sheen{0%,54%{transform:translate(-135%)}76%,to{transform:translate(135%)}}@keyframes streak-signal-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@keyframes route-fire-flicker{0%{transform:translate(50%,4px)rotate(-5deg)scaleX(.9)}to{transform:translate(50%,2px)rotate(8deg)scale(1.08,1.12)}}@media (prefers-reduced-motion:reduce){.game-shell .scene-frame>.pressure-failure-curtain:before,.game-shell .scene-frame>.pressure-failure-curtain:after,.game-shell .typing-hud-event-streak:before,.game-shell .typing-hud-event-streak[data-streak]:not([data-streak="0"])>svg,.game-shell .journey-window .route-activity-meter i:before,.game-shell .journey-window .route-activity-meter i:after{animation:none!important}}.game-shell .scene-frame>.pressure-failure-curtain{z-index:241!important;top:0!important}.game-shell>.game-stage{row-gap:0!important}.game-shell .scene-frame>.game-focus-scrim{z-index:243!important}.game-shell .scene-frame>.game-launch-countdown,.game-shell .scene-frame>.pressure-failure-curtain{z-index:244!important}.game-stage.has-active-event .event-fight-mark{font-family:var(--font-display);letter-spacing:.02em;-webkit-text-stroke:.9px currentColor;font-style:italic;font-weight:1000;text-shadow:none!important}.game-stage.has-active-event .event-scene-callout{gap:8px;position:relative}.game-stage.has-active-event .event-mode-chip{border:1px solid var(--arcade-yellow);padding:4px 7px}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-mode-chip{border:1px solid color-mix(in srgb, var(--arcade-yellow) 62%, transparent);background:color-mix(in srgb, var(--surface-sunken) 78%, transparent)}}.game-stage.has-active-event .event-mode-chip{color:var(--arcade-yellow);font:850 8px/1 var(--font-mono);letter-spacing:.11em}.game-stage.has-active-event .event-phrase-hanzi,.game-stage.has-active-event .event-rapid-hanzi{justify-content:center;align-items:baseline;gap:clamp(7px,1.2vw,14px);display:flex}.game-stage.has-active-event .event-phrase-hanzi>span,.game-stage.has-active-event .event-rapid-hanzi>span{color:var(--text-tertiary);display:inline-block}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-phrase-hanzi>span,.game-stage.has-active-event .event-rapid-hanzi>span{color:color-mix(in srgb, var(--text-tertiary) 72%, transparent)}}.game-stage.has-active-event .event-phrase-hanzi>span,.game-stage.has-active-event .event-rapid-hanzi>span{transition:color .18s,transform .18s,filter .18s}.game-stage.has-active-event .event-phrase-hanzi>span[data-state=active],.game-stage.has-active-event .event-rapid-hanzi>span[data-state=active]{color:var(--arcade-yellow);filter:drop-shadow(0 0 12px var(--arcade-yellow))}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-phrase-hanzi>span[data-state=active],.game-stage.has-active-event .event-rapid-hanzi>span[data-state=active]{filter:drop-shadow(0 0 12px color-mix(in srgb, var(--arcade-yellow) 58%, transparent))}}.game-stage.has-active-event .event-phrase-hanzi>span[data-state=active],.game-stage.has-active-event .event-rapid-hanzi>span[data-state=active]{transform:translateY(-3px)scale(1.08)}.game-stage.has-active-event .event-phrase-hanzi>span[data-state=done],.game-stage.has-active-event .event-rapid-hanzi>span[data-state=done]{color:#70e6a4}.game-stage.has-active-event .event-syllable-row button,.game-stage.has-active-event .event-rapid-phrase button{grid-template-columns:auto minmax(0,1fr);place-items:center;gap:4px 8px;transition:transform .16s cubic-bezier(.16,1,.3,1),border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative;overflow:visible}.game-stage.has-active-event .event-word-index{color:var(--text-tertiary);align-self:start}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-word-index{color:color-mix(in srgb, var(--text-tertiary) 70%, transparent)}}.game-stage.has-active-event .event-word-index{font:800 8px/1 var(--font-mono)}.game-stage.has-active-event .event-jyutping-word{min-width:0;font:inherit;letter-spacing:.08em;justify-content:center;gap:.08em;display:inline-flex}.game-stage.has-active-event .event-jyutping-word>span{min-width:.72em;min-height:1.05em;color:var(--text-tertiary);border-radius:4px;place-items:center;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-jyutping-word>span{color:color-mix(in srgb, var(--text-tertiary) 68%, transparent)}}.game-stage.has-active-event .event-jyutping-word>span{transition:color .12s,background .12s,transform .12s}.game-stage.has-active-event .event-jyutping-word>span[data-state=next]{background:var(--arcade-yellow);color:#14252a;box-shadow:0 0 0 3px var(--arcade-yellow)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-jyutping-word>span[data-state=next]{box-shadow:0 0 0 3px color-mix(in srgb, var(--arcade-yellow) 18%, transparent)}}.game-stage.has-active-event .event-jyutping-word>span[data-state=next]{animation:.7s cubic-bezier(.16,1,.3,1) infinite alternate accident-letter-lock;transform:translateY(-2px)scale(1.06)}.game-stage.has-active-event .event-syllable-row button[data-state=active],.game-stage.has-active-event .event-rapid-phrase button[data-state=active]{border-color:var(--arcade-yellow);background:var(--arcade-yellow)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-syllable-row button[data-state=active],.game-stage.has-active-event .event-rapid-phrase button[data-state=active]{background:color-mix(in srgb, var(--arcade-yellow) 15%, var(--surface-sunken))}}.game-stage.has-active-event .event-syllable-row button[data-state=active],.game-stage.has-active-event .event-rapid-phrase button[data-state=active]{box-shadow:0 0 0 3px var(--arcade-yellow), 0 12px 26px var(--shadow-color)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-syllable-row button[data-state=active],.game-stage.has-active-event .event-rapid-phrase button[data-state=active]{box-shadow:0 0 0 3px color-mix(in srgb, var(--arcade-yellow) 14%, transparent), 0 12px 26px color-mix(in srgb, var(--shadow-color) 34%, transparent)}}.game-stage.has-active-event .event-syllable-row button[data-state=active],.game-stage.has-active-event .event-rapid-phrase button[data-state=active]{transform:translateY(-3px)}.game-stage.has-active-event .event-syllable-row button[data-state=active]:after,.game-stage.has-active-event .event-rapid-phrase button[data-state=active]:after{border:1px solid var(--arcade-yellow);position:absolute;inset:-7px}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-syllable-row button[data-state=active]:after,.game-stage.has-active-event .event-rapid-phrase button[data-state=active]:after{border:1px solid color-mix(in srgb, var(--arcade-yellow) 56%, transparent)}}.game-stage.has-active-event .event-syllable-row button[data-state=active]:after,.game-stage.has-active-event .event-rapid-phrase button[data-state=active]:after{border-radius:inherit;content:"";pointer-events:none;animation:.9s cubic-bezier(.16,1,.3,1) infinite accident-target-ring}.game-stage.has-active-event .event-syllable-row button[data-state=done],.game-stage.has-active-event .event-rapid-phrase button[data-state=done]{background:#70e6a4;border-color:#70e6a4b3}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-syllable-row button[data-state=done],.game-stage.has-active-event .event-rapid-phrase button[data-state=done]{background:color-mix(in srgb, #70e6a4 16%, var(--surface-sunken))}}@keyframes accident-letter-lock{0%{box-shadow:0 0 0 2px color-mix(in srgb, var(--arcade-yellow) 12%, transparent)}to{box-shadow:0 0 0 5px color-mix(in srgb, var(--arcade-yellow) 24%, transparent)}}@keyframes accident-target-ring{0%{opacity:.72;transform:scale(.96)}70%,to{opacity:0;transform:scale(1.06)}}@media (width<=620px){.game-stage.has-active-event .event-mode-chip{letter-spacing:.08em;font-size:7px}.game-stage.has-active-event .event-syllable-row button,.game-stage.has-active-event .event-rapid-phrase button{gap:3px;padding-inline:6px}.game-stage.has-active-event .event-word-index{display:none}}@media (prefers-reduced-motion:reduce){.game-stage.has-active-event .event-phrase-hanzi>span,.game-stage.has-active-event .event-rapid-hanzi>span,.game-stage.has-active-event .event-jyutping-word>span,.game-stage.has-active-event .event-syllable-row button,.game-stage.has-active-event .event-rapid-phrase button{transition:none}.game-stage.has-active-event .event-jyutping-word>span[data-state=next],.game-stage.has-active-event .event-syllable-row button[data-state=active]:after,.game-stage.has-active-event .event-rapid-phrase button[data-state=active]:after{animation:none}}.game-stage.has-active-event .event-mode-chip{border:0;border-left:1px solid var(--arcade-yellow);padding:0 0 0 8px}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-mode-chip{border-left:1px solid color-mix(in srgb, var(--arcade-yellow) 64%, transparent)}}.game-stage.has-active-event .event-mode-chip{background:0 0;border-radius:0}.game-stage.has-active-event .event-door-content,.game-stage.has-active-event .event-rapid-world{isolation:isolate}.game-stage.has-active-event .event-rapid-world>*{z-index:1;position:relative}.game-stage.has-active-event .event-closing-door-world{background:repeating-linear-gradient(135deg, transparent 0 24px, var(--arcade-yellow) 25px 27px, transparent 28px 52px), radial-gradient(circle at 50% 44%, var(--arcade-yellow), transparent 32%), linear-gradient(145deg, #102d38, #071720 72%, #061017)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-closing-door-world{background:repeating-linear-gradient(135deg, transparent 0 24px, color-mix(in srgb, var(--arcade-yellow) 11%, transparent) 25px 27px, transparent 28px 52px), radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--arcade-yellow) 18%, transparent), transparent 32%), linear-gradient(145deg, #102d38, #071720 72%, #061017)}}.game-stage.has-active-event .event-closing-door-world:before{z-index:0;border:1px solid var(--arcade-yellow);position:absolute;inset:9% 7%}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-closing-door-world:before{border:1px solid color-mix(in srgb, var(--arcade-yellow) 42%, transparent)}}.game-stage.has-active-event .event-closing-door-world:before{box-shadow:inset 0 0 48px var(--arcade-yellow), 0 0 34px var(--arcade-yellow);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-closing-door-world:before{box-shadow:inset 0 0 48px color-mix(in srgb, var(--arcade-yellow) 10%, transparent), 0 0 34px color-mix(in srgb, var(--arcade-yellow) 12%, transparent)}}.game-stage.has-active-event .event-closing-door-world:before{content:"";pointer-events:none;animation:1.8s ease-in-out infinite accident-door-frame-pulse}.game-stage.has-active-event .event-closing-door-world:after{z-index:0;background:linear-gradient(180deg, transparent, var(--arcade-yellow), transparent);width:2px;position:absolute;top:4%;bottom:4%;left:50%}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-closing-door-world:after{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--arcade-yellow) 60%, transparent), transparent)}}.game-stage.has-active-event .event-closing-door-world:after{box-shadow:0 0 18px var(--arcade-yellow)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-closing-door-world:after{box-shadow:0 0 18px color-mix(in srgb, var(--arcade-yellow) 34%, transparent)}}.game-stage.has-active-event .event-closing-door-world:after{content:"";opacity:.42;pointer-events:none;animation:2.4s cubic-bezier(.16,1,.3,1) infinite accident-door-scan;transform:translate(-50%)scaleY(.3)}@keyframes accident-door-frame-pulse{0%,to{opacity:.42;transform:scale(.985)}50%{opacity:.82;transform:scale(1)}}@keyframes accident-door-scan{0%,to{opacity:0;transform:translate(-50%)scaleY(.2)}22%,74%{opacity:.68}88%{opacity:0;transform:translate(-50%)scaleY(1)}}.game-stage.has-active-event .event-combat-counter{border:0;border-left:1px solid var(--arcade-yellow)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-combat-counter{border-left:1px solid color-mix(in srgb, var(--arcade-yellow) 60%, transparent)}}.game-stage.has-active-event .event-combat-counter{box-shadow:none;text-align:left;background:0 0;padding:0 0 0 9px;transform:none}.game-stage.has-active-event .event-combat-counter>*{transform:none}.game-stage.has-active-event .event-combat-counter strong{font-size:clamp(17px,2.5vw,23px)}.game-stage.has-active-event .event-combat-counter em{margin:0;left:calc(100% + 9px);right:auto}.game-stage.has-active-event .event-syllable-row,.game-stage.has-active-event .event-rapid-phrase{flex-wrap:wrap;place-content:center;gap:clamp(12px,2.4vw,24px) clamp(10px,2.8vw,26px);width:100%;max-width:min(92vw,760px);padding:16px 4px 11px;display:flex;position:relative}.game-stage.has-active-event .event-syllable-row:before,.game-stage.has-active-event .event-rapid-phrase:before{content:"";background:linear-gradient(90deg, transparent, var(--arcade-yellow) 18%, var(--arcade-yellow) 82%, transparent);height:1px;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-syllable-row:before,.game-stage.has-active-event .event-rapid-phrase:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--arcade-yellow) 62%, transparent) 18%, color-mix(in srgb, var(--arcade-yellow) 62%, transparent) 82%, transparent)}}.game-stage.has-active-event .event-syllable-row:before,.game-stage.has-active-event .event-rapid-phrase:before{opacity:.72}.game-stage.has-active-event .event-syllable-row button,.game-stage.has-active-event .event-rapid-phrase button{min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;transform:none}.game-stage.has-active-event .event-syllable-row button[data-state=active],.game-stage.has-active-event .event-rapid-phrase button[data-state=active]{box-shadow:none;background:0 0;transform:translateY(-2px)}.game-stage.has-active-event .event-syllable-row button[data-state=active]:after,.game-stage.has-active-event .event-rapid-phrase button[data-state=active]:after{border:1px solid var(--arcade-yellow);inset:-10px -14px}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-syllable-row button[data-state=active]:after,.game-stage.has-active-event .event-rapid-phrase button[data-state=active]:after{border:1px solid color-mix(in srgb, var(--arcade-yellow) 54%, transparent)}}.game-stage.has-active-event .event-syllable-row button[data-state=active]:after,.game-stage.has-active-event .event-rapid-phrase button[data-state=active]:after{border-radius:50%}.game-stage.has-active-event .event-syllable-row button[data-state=done],.game-stage.has-active-event .event-rapid-phrase button[data-state=done]{background:0 0}.game-stage.has-active-event .event-word-index{display:none}.game-stage.has-active-event .event-jyutping-word{gap:.14em;font-size:clamp(22px,6.2vw,54px);font-weight:950;line-height:.94}.game-stage.has-active-event .event-jyutping-word>span{min-width:.82em;min-height:1.2em;color:var(--text-tertiary);background:0 0;border-radius:0}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-jyutping-word>span{color:color-mix(in srgb, var(--text-tertiary) 76%, transparent)}}.game-stage.has-active-event .event-jyutping-word>span[data-state=done]{color:#70e6a4}.game-stage.has-active-event .event-jyutping-word>span[data-state=next]{border-bottom:2px solid var(--arcade-yellow);color:var(--arcade-yellow);box-shadow:0 8px 0 -6px var(--arcade-yellow);background:0 0;transform:translateY(-2px)scale(1.08)}.game-stage.has-active-event .event-rapid-card{width:min(660px,100%);box-shadow:none;background:0 0;border:0;padding:0}.game-stage.has-active-event .event-rapid-card>svg{width:38px;height:38px;filter:drop-shadow(0 0 14px var(--arcade-yellow))}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-rapid-card>svg{filter:drop-shadow(0 0 14px color-mix(in srgb, var(--arcade-yellow) 46%, transparent))}}.game-stage.has-active-event .event-warning-label span{letter-spacing:.08em;font-size:clamp(13px,2.4vw,21px);font-weight:950}.game-stage.has-active-event .event-warning-brief>span{letter-spacing:.02em;text-overflow:ellipsis;max-width:100%;text-shadow:0 5px 0 #06141bad, 0 0 24px var(--arcade-yellow);font-size:clamp(18px,4.8vw,42px);font-weight:950;line-height:.92;display:block;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-warning-brief>span{text-shadow:0 5px 0 #06141bad, 0 0 24px color-mix(in srgb, var(--arcade-yellow) 18%, transparent)}}.game-stage.has-active-event .event-warning-brief>span{white-space:nowrap;animation:.72s cubic-bezier(.16,1,.3,1) both accident-copy-punch}.game-stage.has-active-event .event-scene-callout strong{letter-spacing:.01em;text-overflow:ellipsis;max-width:100%;text-shadow:0 5px 0 #06141bb8, 0 0 22px var(--arcade-yellow);font-size:clamp(28px,6.4vw,58px);font-weight:1000;line-height:.9;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-scene-callout strong{text-shadow:0 5px 0 #06141bb8, 0 0 22px color-mix(in srgb, var(--arcade-yellow) 20%, transparent)}}.game-stage.has-active-event .event-scene-callout strong{white-space:nowrap}.game-stage.has-active-event .event-rapid-card{align-items:center;gap:clamp(10px,2vw,22px)}.game-stage.has-active-event .event-rapid-card>svg{width:clamp(34px,5vw,56px);height:clamp(34px,5vw,56px)}.game-stage.has-active-event .event-rapid-card strong{letter-spacing:.02em;text-overflow:ellipsis;max-width:100%;text-shadow:0 5px 0 #06141bb8, 0 0 26px var(--arcade-yellow);font-size:clamp(30px,7.4vw,58px);font-weight:1000;line-height:.88;display:block;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-rapid-card strong{text-shadow:0 5px 0 #06141bb8, 0 0 26px color-mix(in srgb, var(--arcade-yellow) 24%, transparent)}}.game-stage.has-active-event .event-rapid-card strong{white-space:nowrap;animation:.76s cubic-bezier(.16,1,.3,1) both accident-copy-punch}.game-stage.has-active-event .event-backpack-copy>span{max-width:100%;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(24px,6.4vw,58px);font-weight:1000;line-height:.92;overflow:hidden}.game-stage.has-active-event .event-scene-callout strong,.game-stage.has-active-event .event-backpack-copy>span,.game-stage.has-active-event .event-rapid-card strong{color:#fff4df;font-family:var(--font-display);letter-spacing:.01em;text-shadow:0 5px 0 #06141bb8, 0 0 24px var(--arcade-yellow);font-size:clamp(28px,6.4vw,58px);font-weight:1000;line-height:.92}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-scene-callout strong,.game-stage.has-active-event .event-backpack-copy>span,.game-stage.has-active-event .event-rapid-card strong{text-shadow:0 5px 0 #06141bb8, 0 0 24px color-mix(in srgb, var(--arcade-yellow) 22%, transparent)}}.game-stage.has-active-event .event-backpack-copy>span,.game-stage.has-active-event .event-door-title,.results-events-card .results-event-row strong,.event-debug-actions button{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-stage.has-active-event .event-rapid-phrase{row-gap:clamp(14px,3vw,28px)}.game-stage.has-active-event .event-rapid-phrase .event-jyutping-word{font-size:clamp(24px,7.2vw,52px)}.game-stage.has-active-event .event-jyutping-word>span[data-state=next]{text-shadow:0 0 18px var(--arcade-yellow);font-weight:1000}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-jyutping-word>span[data-state=next]{text-shadow:0 0 18px color-mix(in srgb, var(--arcade-yellow) 54%, transparent)}}@keyframes accident-copy-punch{0%{opacity:0;transform:translateY(12px)scale(.82)}68%{opacity:1;transform:translateY(-2px)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=620px){.game-stage.has-active-event .event-warning-brief>span{font-size:clamp(18px,5.2vw,28px)}.game-stage.has-active-event .event-rapid-card strong{font-size:clamp(30px,9vw,42px)}.game-stage.has-active-event .event-jyutping-word{font-size:clamp(26px,8.8vw,42px)}.game-stage.has-active-event .event-rapid-phrase .event-jyutping-word{font-size:clamp(24px,7.2vw,34px)}.game-stage.has-active-event .event-syllable-row,.game-stage.has-active-event .event-rapid-phrase{gap:16px clamp(9px,3vw,16px);max-width:calc(100vw - 28px)}}@media (prefers-reduced-motion:reduce){.game-stage.has-active-event .event-warning-brief>span,.game-stage.has-active-event .event-rapid-card strong{animation:none}}.game-stage.has-active-event .event-choice-hint{color:var(--text-tertiary)}@supports (color:color-mix(in lab, red, red)){.game-stage.has-active-event .event-choice-hint{color:color-mix(in srgb, var(--text-tertiary) 82%, transparent)}}.game-stage.has-active-event .event-lost-octopus-world{background:radial-gradient(circle at 50% 42%,#f4bd522e,#0000 23%),linear-gradient(145deg,#102c37,#07141f 68%,#061018)}.game-stage.has-active-event .event-lost-octopus-world:before,.game-stage.has-active-event .event-lost-octopus-world:after,.game-stage.has-active-event .event-fare-surprise-world:before,.game-stage.has-active-event .event-fare-surprise-world:after{z-index:-1;content:"";pointer-events:none;position:absolute}.game-stage.has-active-event .event-lost-octopus-world:before{border:1px solid #f4bd523d;border-radius:38% 62% 45% 55%;inset:9% 13%;transform:rotate(-7deg);box-shadow:0 0 0 18px #f4bd520a,inset 0 0 50px #102d3ae0}.game-stage.has-active-event .event-lost-octopus-world:after{filter:blur(10px);background:linear-gradient(90deg,#0000,#f4bd5238,#0000);width:32%;height:124%;animation:2.7s cubic-bezier(.16,1,.3,1) infinite accident-pocket-scan;top:-12%;left:-12%;transform:rotate(18deg)}.game-stage.has-active-event .event-fare-surprise-world{background:radial-gradient(circle at 50% 38%,#70e6a436,#0000 25%),linear-gradient(145deg,#082d32,#071822 72%,#061217)}.game-stage.has-active-event .event-fare-surprise-world:before{border:1px solid #70e6a447;border-radius:18px;inset:10% 8%;transform:rotate(-3deg);box-shadow:0 0 45px #70e6a421}.game-stage.has-active-event .event-fare-surprise-world:after{background:linear-gradient(90deg,#0000,#70e6a44d,#0000);width:16%;animation:2.2s ease-in-out infinite accident-ticket-scan;top:-15%;bottom:-15%;left:42%;transform:rotate(18deg)}.game-stage.has-active-event .event-memo-drop-world{background:radial-gradient(at 50% 46%,#0000 0 16%,#ff8a6542 17% 18%,#0000 19% 29%,#ffb05f2e 30% 31%,#0000 32%),conic-gradient(from 210deg at 50% 46%,#0000,#ff765f2e,#0000 28% 58%,#ffb05f29,#0000),linear-gradient(145deg,#3a2526,#120f18 72%,#080b12)}.game-stage.has-active-event .event-memo-drop-world:before{z-index:0;content:"";border:1px solid #ffb05f8f;border-radius:50%;animation:1.15s cubic-bezier(.16,1,.3,1) infinite accident-cramp-pulse;position:absolute;inset:9% 14%;transform:scale(.84);box-shadow:0 0 0 14px #ff765f0d,0 0 0 32px #ffb05f0a,inset 0 0 46px #ff765f2e}.game-stage.has-active-event .event-memo-drop-world:after{z-index:0;content:"";border:2px solid #ffcf7a80;border-radius:46% 54% 58% 42%;animation:2.1s ease-in-out infinite accident-cramp-swirl;position:absolute;inset:20% 31%;transform:rotate(-12deg)scale(.78)}.game-stage.has-active-event .event-express-train-world{background:repeating-linear-gradient(145deg,#0000 0 20px,#ff765f24 21px 24px,#0000 25px 48px),radial-gradient(circle at 50% 42%,#ff765f38,#0000 30%),linear-gradient(145deg,#3b252b,#171421 70%,#090d17)}.game-stage.has-active-event .event-express-train-world:after{z-index:0;content:"";border-block:2px solid #ffb05f70;animation:.95s linear infinite accident-speed-lines;position:absolute;inset:12% -20%;transform:skewY(-10deg)}.game-stage.has-active-event .event-empty-seat-world{background:radial-gradient(at 50% 43%,#70e6a433,#0000 26%),linear-gradient(145deg,#08343a,#071b24 70%,#061117)}.game-stage.has-active-event .event-empty-seat-world:before{z-index:0;content:"";border:1px solid #70e6a457;border-radius:48% 48% 24% 24%;animation:1.8s ease-in-out infinite accident-seat-pulse;position:absolute;inset:15% 24%;box-shadow:0 0 42px #70e6a42e,inset 0 0 32px #70e6a41f}.game-stage.has-active-event .event-cold-carriage-world{background:radial-gradient(circle at 50% 45%,#a9e8ff3d,#0000 28%),linear-gradient(145deg,#123d54,#081a2b 70%,#07111e)}.game-stage.has-active-event .event-cold-carriage-world:before{z-index:0;content:"";border:2px solid #a9e8ff57;border-radius:20px;animation:1.5s ease-in-out infinite alternate accident-frost-breathe;position:absolute;inset:6%;box-shadow:inset 0 0 52px #a9e8ff2e,0 0 20px #a9e8ff24}.game-stage.has-active-event .event-noise-interference-world{background:repeating-linear-gradient(0deg,#0000 0 8px,#f4bd521c 9px 10px),radial-gradient(circle at 50% 45%,#f4bd5233,#0000 32%),linear-gradient(145deg,#33223a,#151525 72%,#0b101b)}.game-stage.has-active-event .event-noise-interference-world:after{z-index:0;content:"";border-block:1px solid #f4bd5270;animation:.26s steps(2,end) infinite accident-noise-shake;position:absolute;inset:24% -10%;transform:rotate(-4deg)}.game-stage.has-active-event .event-weak-signal-world{background:repeating-linear-gradient(0deg,#7fb6ff14 0 2px,#0000 3px 7px),radial-gradient(circle at 50% 42%,#7fb6ff2e,#0000 28%),linear-gradient(145deg,#17284f,#0a152d 72%,#07101f)}.game-stage.has-active-event .event-weak-signal-world:after{z-index:0;content:"";border-block:1px solid #7fb6ff59;width:80%;animation:1.3s steps(3,end) infinite accident-signal-scan;position:absolute;top:18%;bottom:18%;left:10%}@keyframes accident-pocket-scan{0%,to{opacity:0;transform:translate(-60%)rotate(18deg)}18%,72%{opacity:1}88%{opacity:0;transform:translate(420%)rotate(18deg)}}@keyframes accident-ticket-scan{0%,to{opacity:0;transform:translate(-180%)rotate(18deg)}18%,78%{opacity:.8}92%{opacity:0;transform:translate(500%)rotate(18deg)}}@keyframes accident-speed-lines{0%{opacity:0;transform:translate(-10%)skewY(-10deg)}22%,78%{opacity:1}to{opacity:0;transform:translate(16%)skewY(-10deg)}}@keyframes accident-seat-pulse{0%,to{opacity:.42;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes accident-frost-breathe{0%{opacity:.4;filter:blur()}to{opacity:.9;filter:blur(1px)}}@keyframes accident-noise-shake{0%,to{transform:translate(-2%)rotate(-4deg)}50%{transform:translate(2%)rotate(-4deg)}}@keyframes accident-signal-scan{0%,to{opacity:.15;transform:translateY(-16%)}50%{opacity:.78;transform:translateY(16%)}}@keyframes accident-cramp-pulse{0%,to{opacity:.38;transform:scale(.82)}46%{opacity:.9;transform:scale(1.04)}72%{opacity:.56;transform:scale(.94)}}@keyframes accident-cramp-swirl{0%,to{opacity:.22;transform:rotate(-12deg)scale(.78)}50%{opacity:.78;transform:rotate(18deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){.game-stage.has-active-event .event-lost-octopus-world:after,.game-stage.has-active-event .event-fare-surprise-world:after{opacity:.4;animation:none}.game-stage.has-active-event .event-express-train-world:after,.game-stage.has-active-event .event-empty-seat-world:before,.game-stage.has-active-event .event-cold-carriage-world:before,.game-stage.has-active-event .event-noise-interference-world:after,.game-stage.has-active-event .event-weak-signal-world:after,.game-stage.has-active-event .event-memo-drop-world:before,.game-stage.has-active-event .event-memo-drop-world:after{animation:none}}:is(html:has(.pause-curtain--global),body:has(.pause-curtain--global)){overscroll-behavior:none;overflow:hidden}.pause-curtain--global{z-index:9998;background:radial-gradient(circle at 50% 42%, var(--action-primary), transparent 34%), #030b10c7;border:0;border-radius:0;place-content:center;justify-items:center;gap:14px;width:100vw;height:100dvh;min-height:100%;padding:24px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.pause-curtain--global{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--action-primary) 13%, transparent), transparent 34%), #030b10c7}}.pause-curtain--global{-webkit-backdrop-filter:blur(8px)brightness(.72)saturate(.7);color:#f4fbf8;text-align:center;pointer-events:auto;touch-action:none}.game-shell .game-global-feedback.fight-feedback{z-index:240;pointer-events:none;position:fixed}.pause-curtain--global>svg{color:var(--arcade-yellow);filter:drop-shadow(0 0 16px var(--arcade-yellow))}@supports (color:color-mix(in lab, red, red)){.pause-curtain--global>svg{filter:drop-shadow(0 0 16px color-mix(in srgb, var(--arcade-yellow) 42%, transparent))}}.pause-curtain--global strong{color:#f4fbf8;font:800 clamp(24px, 4vw, 34px)/1.15 var(--font-sans);letter-spacing:.08em;text-shadow:0 4px 20px #00000073}.pause-curtain--global button{min-width:132px;min-height:var(--tap-target);border:1px solid var(--arcade-yellow);padding:0 24px}@supports (color:color-mix(in lab, red, red)){.pause-curtain--global button{border:1px solid color-mix(in srgb, var(--arcade-yellow) 74%, transparent)}}.pause-curtain--global button{background:var(--arcade-yellow);box-shadow:0 0 0 4px var(--arcade-yellow), 0 12px 28px #0000004d;border-radius:999px}@supports (color:color-mix(in lab, red, red)){.pause-curtain--global button{box-shadow:0 0 0 4px color-mix(in srgb, var(--arcade-yellow) 14%, transparent), 0 12px 28px #0000004d}}.pause-curtain--global button{color:#14252a;cursor:pointer;font:800 15px/1 var(--font-sans);transition:transform .16s,filter .16s,box-shadow .16s}.pause-curtain--global button:hover,.pause-curtain--global button:focus-visible{filter:brightness(1.08);box-shadow:0 0 0 5px var(--arcade-yellow), 0 14px 32px #0000005c}@supports (color:color-mix(in lab, red, red)){.pause-curtain--global button:hover,.pause-curtain--global button:focus-visible{box-shadow:0 0 0 5px color-mix(in srgb, var(--arcade-yellow) 22%, transparent), 0 14px 32px #0000005c}}.pause-curtain--global button:hover,.pause-curtain--global button:focus-visible{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.pause-curtain--global button{transition:none}}.game-lobby-redesign .lobby-hero{align-content:start;justify-items:initial;max-width:980px;padding:0 clamp(16px,4vw,32px);display:block}.game-lobby-redesign .lobby-title-lockup{z-index:6;width:min(100%,760px);margin-inline:auto;padding-top:clamp(12px,2vh,24px);position:relative}html.dark .game-lobby-redesign .lobby-title-lockup{padding-top:clamp(12px,2vh,24px)}.game-lobby-redesign .commuter-scene{z-index:1;width:auto;height:auto;min-height:0;position:absolute;inset:0 clamp(16px,4vw,32px)}html:not(.dark) .game-lobby-redesign .commuter-scene{background:#fff4e9;border-color:#d92f6847;box-shadow:0 24px 60px #6b243729,inset 0 1px #ffffffd1}html:not(.dark) .game-lobby-redesign .commuter-scene:before{background:linear-gradient(90deg,#fff8ef24,#0000 32% 70%,#fff8ef14),linear-gradient(#ffffff1a,#0000 58%,#70314914)}html:not(.dark) .game-lobby-redesign .commuter-scene:after{background:linear-gradient(#0000,#70314924)}.game-lobby-redesign .commuter-scene-rides{z-index:5;-webkit-backdrop-filter:blur(12px);background:#0d0b18bd;border:1px solid #ffb7d057;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100% - 32px,560px);padding:6px;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 12px 26px #030a0f52,0 0 0 3px #ffd23f0d}.game-lobby-redesign .scene-ride{min-height:68px;box-shadow:none;border:1px solid #0000;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;padding:0 15px}.game-lobby-redesign .scene-ride--learn{color:#fff;background:linear-gradient(135deg,#ef477d,#c4265a);border-color:#ffffff57;box-shadow:0 8px 18px #9d20493d}.game-lobby-redesign .scene-ride--challenge{color:#2b1414;background:linear-gradient(135deg,#f5a51e,#c45b16);border-color:#ffffff57;box-shadow:0 8px 18px #c45b163d}.game-lobby-redesign .scene-ride strong{letter-spacing:.02em;font-size:clamp(17px,2vw,20px)}.game-lobby-redesign .scene-ride small{color:#ffffffc7;letter-spacing:.02em;font-size:10px}.game-lobby-redesign .scene-ride--challenge small{color:#2b1414c2}.game-lobby-redesign .commuter-scene{border-radius:clamp(24px,3vw,36px);box-shadow:0 26px 58px #030a0f38,0 0 0 6px #ffffff1a,inset 0 1px #ffffff2e,inset 0 -24px 42px #030a0f2e}.game-lobby-redesign .commuter-scene:before{box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 12px 28px #ffffff0a}html:not(.dark) .game-lobby-redesign .commuter-scene{box-shadow:0 26px 58px #6b243724,0 0 0 6px #ffffff4d,inset 0 1px #ffffffdb,inset 0 -24px 42px #70314914}html:not(.dark) .game-lobby-redesign .commuter-scene:before{box-shadow:inset 0 0 0 1px #ffffff9e,inset 0 12px 28px #ffffff4d}.game-lobby-redesign .commuter-scene-rides{border-radius:20px;box-shadow:0 14px 28px #030a0f4d,inset 0 1px #ffffff29,inset 0 -1px #00000047}html:not(.dark) .game-lobby-redesign .commuter-scene-rides{-webkit-backdrop-filter:blur(14px)saturate(115%);background:#fffdf8b8;border-color:#7031493d;box-shadow:0 14px 28px #6b243729,inset 0 1px #ffffffdb,inset 0 -1px #7031491f}.game-lobby-redesign .scene-ride:active{transform:translateY(1px)scale(.985)}@media (width<=620px){.game-lobby-redesign .lobby-hero{padding:0 14px}.game-lobby-redesign .lobby-title-lockup,html.dark .game-lobby-redesign .lobby-title-lockup{padding-top:18px}.game-lobby-redesign .commuter-scene{border-radius:24px;inset:0 14px}.game-lobby-redesign .commuter-scene-rides{border-radius:17px;grid-template-columns:1fr;gap:6px;width:calc(100% - 28px);padding:7px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.game-lobby-redesign .scene-ride{min-height:59px}}.game-lobby-redesign .lobby-subtitle{z-index:7;color:#24111b;text-shadow:0 1px #ffffffb3;-webkit-backdrop-filter:blur(8px)saturate(112%);background:#fffdf8c7;border:1px solid #70314933;border-radius:999px;justify-content:center;align-items:center;max-width:100%;margin-top:clamp(2px,.6vh,6px);padding:clamp(3px,.55vw,6px) clamp(8px,1.3vw,14px);font-size:clamp(12px,1.45vw,17px);line-height:1.25;display:inline-flex;position:relative;transform:translateY(-2px);box-shadow:0 5px 16px #6b24371a}html.dark .game-lobby-redesign .lobby-subtitle{color:#fff4e6;text-shadow:0 2px 10px #0000008f;background:#0d0b18c7;border-color:#ffb7d042;box-shadow:0 5px 16px #00000038}.game-lobby-redesign .lobby-logo{z-index:7;-webkit-backdrop-filter:blur(9px)saturate(112%);background:#fffdf8b8;border:1px solid #70314933;border-radius:14px;padding:clamp(6px,.8vw,10px) clamp(8px,1.2vw,12px);position:relative;box-shadow:0 8px 20px #6b24371a}html.dark .game-lobby-redesign .lobby-logo{background:#070e13ad;border-color:#ffb7d038;box-shadow:0 8px 20px #0000003d}.game-lobby-redesign .compact-game-mark strong{font-size:clamp(13px,1.35vw,17px)}.game-lobby-redesign .compact-game-mark small{font-size:clamp(9px,.9vw,11px)}.game-lobby-redesign .lobby-destination-board{padding:clamp(7px,.8vw,10px) clamp(12px,1.8vw,18px)}.game-lobby-redesign .lobby-destination-board small{font-size:clamp(10px,1vw,12px);line-height:1.15}.game-lobby-redesign .lobby-destination-board strong{font-size:clamp(14px,1.35vw,16px)}.game-lobby-redesign .lobby-footer-redesign{z-index:7;width:fit-content;max-width:calc(100% - 2*clamp(16px,4vw,32px));padding:clamp(5px, .7vw, 8px) clamp(8px, 1.2vw, 12px) max(8px, env(safe-area-inset-bottom));color:#704650;text-shadow:0 1px #ffffffb8;-webkit-backdrop-filter:blur(8px)saturate(110%);background:#fffdf8a8;border:1px solid #70314929;border-radius:12px 12px 0 0;margin-inline:clamp(16px,4vw,32px);font-size:clamp(10px,1.1vw,12px);line-height:1.3;position:relative;box-shadow:0 -5px 16px #6b24370f}html.dark .game-lobby-redesign .lobby-footer-redesign{color:#a9c3c0;text-shadow:0 2px 8px #0009;background:#070e139e;border-color:#ffb7d02e;box-shadow:0 -5px 16px #0000002e}.game-lobby-redesign .scene-ride strong{font-size:clamp(16px,1.8vw,20px);line-height:1.15}.game-lobby-redesign .scene-ride small{font-size:clamp(10px,1.05vw,12px);line-height:1.2}@media (width<=620px){.game-lobby-redesign .lobby-logo{border-radius:12px;padding:5px 7px}.game-lobby-redesign .compact-game-mark strong{font-size:13px}.game-lobby-redesign .lobby-subtitle{letter-spacing:.06em;max-width:calc(100% - 8px);padding-inline:8px;font-size:clamp(12px,3.5vw,15px)}.game-lobby-redesign .scene-ride strong{font-size:clamp(16px,4.6vw,19px)}.game-lobby-redesign .scene-ride small{font-size:clamp(10px,2.8vw,12px)}.game-lobby-redesign .lobby-footer-redesign{max-width:calc(100% - 28px);margin-inline:14px;padding-inline:8px}}@media (width<=360px){.game-lobby-redesign .scene-ride{padding-inline:11px}.game-lobby-redesign .scene-ride small{max-width:22ch}}.game-lobby-redesign .commuter-scene{box-shadow:none;contain:layout;background:0 0;border:0;border-radius:0;inset:-10px 0 -24px;overflow:visible}.game-lobby-redesign .commuter-scene:before,.game-lobby-redesign .commuter-scene:after{display:none}html:not(.dark) .game-lobby-redesign .commuter-scene,html.dark .game-lobby-redesign .commuter-scene{box-shadow:none;background:0 0;border:0;border-radius:0}html:not(.dark) .game-lobby-redesign .commuter-scene:before,html:not(.dark) .game-lobby-redesign .commuter-scene:after,html.dark .game-lobby-redesign .commuter-scene:before,html.dark .game-lobby-redesign .commuter-scene:after{display:none}.game-lobby-redesign .commuter-scene-canvas{opacity:.84;width:100vw;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#0000 0%,#000 10% 84%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 10% 84%,#0000 100%)}.game-lobby-redesign .commuter-scene-rides{width:min(100% - 32px,560px);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.game-lobby-redesign .scene-ride{border-radius:16px;box-shadow:0 12px 24px #030a0f3d,inset 0 1px #ffffff38}@media (width<=620px){.game-lobby-redesign .commuter-scene{border-radius:0;inset:-8px -14px -20px}.game-lobby-redesign .commuter-scene-rides{width:calc(100% - 28px)}}.game-lobby-redesign .lobby-logo{background:linear-gradient(135deg,#24111b,#4b1737);border:2px solid #ff5f99;border-radius:7px 16px;padding:8px 12px 7px 14px;transform:skew(-3deg);box-shadow:0 0 0 3px #ffd23f24,0 10px 22px #25111b3d,inset 0 1px #fff3}.game-lobby-redesign .lobby-logo .compact-game-mark{transform:skew(3deg)}.game-lobby-redesign .lobby-logo .compact-game-mark strong{color:#fff4e6;letter-spacing:.01em;text-shadow:0 2px 10px #ff5f996b;font-size:clamp(13px,1.45vw,18px)}.game-lobby-redesign .lobby-logo .compact-game-mark strong em{color:#ffd23f}.game-lobby-redesign .lobby-logo .compact-game-mark small{color:#ffb7d0;letter-spacing:.14em;font-size:clamp(8px,.8vw,10px);display:block}.game-lobby-redesign .lobby-footer-redesign{width:min(100%, max-content);max-width:calc(100% - 28px);padding:8px 12px max(8px, env(safe-area-inset-bottom));color:var(--text-secondary);text-align:center;text-shadow:0 2px 8px #0000002e;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;justify-content:center;margin-inline:auto;display:flex}html.dark .game-lobby-redesign .lobby-footer-redesign{color:#a9c3c0;box-shadow:none;background:0 0}.game-lobby-redesign .commuter-scene-rides{gap:clamp(10px,1.5vw,16px);width:min(100% - 48px,620px);top:46%;bottom:auto}@media (width>=901px) and (height>=521px){.game-lobby-redesign .commuter-scene-rides{top:52%}}html:not(.dark) .game-lobby-redesign .commuter-scene-rides,html.dark .game-lobby-redesign .commuter-scene-rides{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0}@media (width>=461px) and (width<=620px){.game-lobby-redesign .commuter-scene-rides{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=460px){.game-lobby-redesign .commuter-scene-rides{width:calc(100% - 28px)}}@media (height<=520px) and (orientation:landscape){.game-lobby-redesign .lobby-title-lockup{gap:4px;padding-top:4px}.game-lobby-redesign .lobby-title-art{width:min(80vw,680px);max-height:24vh}.game-lobby-redesign .lobby-subtitle{margin-top:0;padding-block:2px;font-size:clamp(11px,1.8vw,14px)}.game-lobby-redesign .commuter-scene-rides{width:min(100% - 48px,620px);top:60%}.game-lobby-redesign .scene-ride{min-height:58px}.game-lobby-redesign .lobby-footer-redesign{display:none}}@media (height<=720px) and (orientation:portrait){.game-lobby-redesign .commuter-scene-rides{top:58%}}@media (width>=700px) and (height>=700px){.game-lobby-redesign .commuter-scene-rides{gap:clamp(12px,1.8vw,18px);width:min(100% - 96px,760px)}.game-lobby-redesign .scene-ride{min-height:clamp(76px,8vw,86px);padding-inline:clamp(18px,2.2vw,28px)}.game-lobby-redesign .scene-ride strong{font-size:clamp(18px,2.2vw,24px)}.game-lobby-redesign .scene-ride small{font-size:clamp(11px,1.2vw,13px)}}@media (width<=620px){.game-lobby-redesign .commuter-scene-rides{width:calc(100% - 60px)}}@media (width>=1440px) and (height>=700px){.game-lobby-redesign .lobby-hero{max-width:min(100%,1480px);padding-inline:clamp(32px,4vw,64px)}.game-lobby-redesign .lobby-title-lockup{width:min(100%,1400px);padding-top:clamp(18px,2vh,32px)}.game-lobby-redesign .lobby-title-art{width:min(100%,1400px);max-height:min(38vh,620px)}.game-lobby-redesign .lobby-subtitle{font-size:clamp(16px,1.2vw,22px)}.game-lobby-redesign .commuter-scene-rides{gap:clamp(16px,1.5vw,24px);width:min(100% - 96px,1400px);top:59%}.game-lobby-redesign .scene-ride{gap:clamp(14px,1.2vw,22px);min-height:clamp(92px,5vw,124px);padding-inline:clamp(24px,2.2vw,40px)}.game-lobby-redesign .scene-ride strong{font-size:clamp(24px,1.7vw,34px)}.game-lobby-redesign .scene-ride small{font-size:clamp(13px,1vw,16px)}.game-lobby-redesign .scene-ride svg{width:clamp(22px,1.8vw,30px);height:clamp(22px,1.8vw,30px)}}html:not(.dark) .game-lobby-redesign .lobby-logo{background:linear-gradient(135deg,#fff9e9,#ffd8df);border-color:#d92f68;box-shadow:0 0 0 3px #ffd23f33,0 10px 22px #6b243729,inset 0 1px #ffffffdb}html:not(.dark) .game-lobby-redesign .lobby-logo .compact-game-mark strong{color:#3d1c2c;text-shadow:0 1px #ffffffb8}html:not(.dark) .game-lobby-redesign .lobby-logo .compact-game-mark strong em{color:#d92f68}html:not(.dark) .game-lobby-redesign .lobby-logo .compact-game-mark small{color:#8a3556}:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:linear-gradient(135deg,#24111b,#4b1737);border:2px solid #ff5f99;border-radius:7px 16px;padding:8px 12px 7px 14px;box-shadow:0 0 0 3px #ffd23f24,0 10px 22px #25111b3d,inset 0 1px #fff3}:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) strong{color:#fff4e6;text-shadow:0 2px 10px #ff5f996b}:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) small{color:#ffb7d0}html:not(.dark) :where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:linear-gradient(135deg,#fff9e9,#ffd8df);border-color:#d92f68;box-shadow:0 0 0 3px #ffd23f33,0 10px 22px #6b243729,inset 0 1px #ffffffdb}html:not(.dark) :where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) strong{color:#3d1c2c;text-shadow:0 1px #ffffffb8}html:not(.dark) :where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark) small{color:#8a3556}.game-lobby-redesign .scene-ride{border-width:2px;border-radius:7px 16px;box-shadow:0 0 0 3px #ffd23f1f,0 12px 24px #030a0f3d,inset 0 1px #ffffff38}html:not(.dark) .game-lobby-redesign .scene-ride{box-shadow:0 0 0 3px #ffd23f2e,0 12px 24px #6b24372e,inset 0 1px #ffffffa3}.game-lobby-redesign .scene-ride--learn{color:#fff9e9;background:linear-gradient(135deg,#ff5f99,#d92f68);border-color:#d92f68}.game-lobby-redesign .scene-ride--challenge{color:#3d1c2c;background:linear-gradient(135deg,#ffd23f,#e47d1a);border-color:#e47d1a}.game-lobby-redesign .scene-ride--challenge strong{color:#3d1c2c}.game-lobby-redesign .scene-ride--learn:hover,.game-lobby-redesign .scene-ride--learn:focus-visible{background:linear-gradient(135deg,#ff83ad,#d92f68)}.game-lobby-redesign .scene-ride--challenge:hover,.game-lobby-redesign .scene-ride--challenge:focus-visible{background:linear-gradient(135deg,#ffe27a,#e47d1a)}:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen){background:var(--page)!important;color:var(--text-primary)!important}html:not(.dark) :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{background:radial-gradient(90% 58% at 100% -8%, var(--action-primary), transparent 68%), radial-gradient(72% 50% at -8% 108%, var(--brand-expression), transparent 72%), repeating-linear-gradient(135deg, transparent 0 34px, var(--action-primary) 34px 35px), linear-gradient(145deg, #f4faf8 0%, #dcece9 52%, #f7eee8 100%)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{background:radial-gradient(90% 58% at 100% -8%, color-mix(in srgb, var(--action-primary) 16%, transparent), transparent 68%), radial-gradient(72% 50% at -8% 108%, color-mix(in srgb, var(--brand-expression) 12%, transparent), transparent 72%), repeating-linear-gradient(135deg, transparent 0 34px, color-mix(in srgb, var(--action-primary) 10%, transparent) 34px 35px), linear-gradient(145deg, #f4faf8 0%, #dcece9 52%, #f7eee8 100%)!important}}html:not(.dark) :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{filter:none!important;opacity:1!important;animation:none!important;transform:none!important}html.dark :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{background:radial-gradient(90% 58% at 100% -8%, var(--action-primary), transparent 68%), radial-gradient(72% 50% at -8% 108%, var(--brand-expression), transparent 72%), repeating-linear-gradient(135deg, transparent 0 34px, #89bdbd11 34px 35px), linear-gradient(145deg, #101e21 0%, #0b1518 52%, #17131a 100%)!important}@supports (color:color-mix(in lab, red, red)){html.dark :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{background:radial-gradient(90% 58% at 100% -8%, color-mix(in srgb, var(--action-primary) 18%, transparent), transparent 68%), radial-gradient(72% 50% at -8% 108%, color-mix(in srgb, var(--brand-expression) 13%, transparent), transparent 72%), repeating-linear-gradient(135deg, transparent 0 34px, #89bdbd11 34px 35px), linear-gradient(145deg, #101e21 0%, #0b1518 52%, #17131a 100%)!important}}html.dark :where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen):before{filter:none!important;opacity:1!important;animation:none!important;transform:none!important}:where(.solo-setup-screen,.full-line-screen,.start-screen,.results-screen,.learning-system-screen,.learning-practice-screen){width:100%!important;max-width:1240px!important;padding-block:clamp(18px, 3.2vw, 42px) max(clamp(18px, 3.2vw, 42px), env(safe-area-inset-bottom))!important;padding-inline:max(clamp(16px, 4vw, 48px), env(safe-area-inset-left)) max(clamp(16px, 4vw, 48px), env(safe-area-inset-right))!important;margin-inline:auto!important}:where(.cm-page-header,.learning-practice-header,.shared-result-header){min-height:clamp(48px,5vw,68px)!important;margin-bottom:clamp(14px,2.8vw,30px)!important}:where(.cm-page-title,.start-screen__title){width:min(100%,900px)!important;margin-block:0 clamp(18px,3vw,34px)!important}:where(.cm-page-title h1,.start-screen__title h1){font-size:clamp(30px,4.2vw,58px)!important;line-height:1.04!important}:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){border:1px solid var(--brand-expression)!important;min-height:48px!important;padding:9px 14px!important}@supports (color:color-mix(in lab, red, red)){:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){border:1px solid color-mix(in srgb, var(--brand-expression) 58%, var(--border-strong))!important}}:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:var(--surface-raised)!important;border-radius:10px 18px!important}@supports (color:color-mix(in lab, red, red)){:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){background:color-mix(in srgb, var(--surface-raised) 92%, var(--brand-expression-soft))!important}}:where(.cm-page-header__trail>.compact-game-mark,.learning-practice-header>.compact-game-mark,.shared-result-header>.compact-game-mark){box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff8c!important}:where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){border-color:var(--border-strong)!important}@supports (color:color-mix(in lab, red, red)){:where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){border-color:color-mix(in srgb, var(--border-strong) 62%, transparent)!important}}:where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){box-shadow:var(--shadow-2)!important;border-radius:18px 28px!important}html:not(.dark) :where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) :where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){background:color-mix(in srgb, var(--surface-raised) 88%, var(--action-primary-soft))!important}}html:not(.dark) :where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){color:var(--text-primary)!important}html.dark :where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html.dark :where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){background:color-mix(in srgb, var(--surface-raised) 92%, var(--action-primary-soft))!important}}html.dark :where(.journey-type-grid button,.planner-controls,.route-confirmation-card,.results-card,.results-header,.learning-model-card,.learning-system-section,.learning-example-card,.learning-reference-panel,.learning-practice-main,.learning-complete-card,.shared-result-card){color:var(--text-primary)!important}.solo-setup-screen .journey-type-grid button{--mode-accent:var(--brand-expression);border-inline-start:4px solid var(--mode-accent)!important;background:linear-gradient(135deg, var(--mode-accent), var(--surface-raised) 70%)!important;min-height:clamp(176px,24vh,238px)!important}@supports (color:color-mix(in lab, red, red)){.solo-setup-screen .journey-type-grid button{background:linear-gradient(135deg, color-mix(in srgb, var(--mode-accent) 10%, var(--surface-raised)), var(--surface-raised) 70%)!important}}.solo-setup-screen .journey-type-grid button:nth-child(2){--mode-accent:var(--action-primary)}.solo-setup-screen .journey-type-grid .mode-card-number,.solo-setup-screen .journey-type-grid .mode-card-icon{color:var(--mode-accent)!important}.solo-setup-screen .journey-type-grid button strong,.solo-setup-screen .journey-type-grid button small,.solo-setup-screen .journey-type-grid .mode-card-flag{color:var(--text-primary)!important}:where(.setup-back,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.learning-example-audio,.learning-listen-button,.learning-secondary-action,.results-action){border:1px solid var(--border-strong)!important;min-height:44px!important}@supports (color:color-mix(in lab, red, red)){:where(.setup-back,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.learning-example-audio,.learning-listen-button,.learning-secondary-action,.results-action){border:1px solid color-mix(in srgb, var(--border-strong) 62%, transparent)!important}}:where(.setup-back,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.learning-example-audio,.learning-listen-button,.learning-secondary-action,.results-action){background:var(--surface-raised)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-1)!important;border-radius:11px 17px!important}.full-line-screen .direction-list button{min-height:72px!important}:where(.setup-back,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.learning-example-audio,.learning-listen-button,.learning-secondary-action,.results-action):hover:not(:disabled),:where(.setup-back,.line-selector button,.direction-list button,.planner-swap,.planner-field,.route-menu-trigger,.random-route-button,.learning-example-audio,.learning-listen-button,.learning-secondary-action,.results-action):focus-visible{border-color:var(--action-primary)!important;background:var(--action-primary-soft)!important;color:var(--action-secondary-text)!important}:where(.line-selector button[aria-selected=true],.planner-field.is-selecting){border-color:var(--action-primary)!important;background:var(--action-primary-soft)!important;color:var(--action-secondary-text)!important;box-shadow:0 0 0 2px var(--action-primary), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){:where(.line-selector button[aria-selected=true],.planner-field.is-selecting){box-shadow:0 0 0 2px color-mix(in srgb, var(--action-primary) 18%, transparent), var(--shadow-2)!important}}:where(.learning-primary-action,.depart-button,.cm-button[data-variant=primary]){min-height:clamp(48px,4vw,58px)!important;box-shadow:var(--shadow-2)!important;border-radius:11px 17px!important}.start-screen .planner-map{border:1px solid var(--border-strong)!important}@supports (color:color-mix(in lab, red, red)){.start-screen .planner-map{border:1px solid color-mix(in srgb, var(--border-strong) 62%, transparent)!important}}.start-screen .planner-map{overflow:hidden;box-shadow:var(--shadow-2)!important;border-radius:18px 28px!important}:where(.results-actions,.shared-result-actions){align-items:stretch;gap:clamp(10px,1.4vw,16px)!important}.results-action{min-height:clamp(54px,5vw,72px)!important}.results-action-primary{border-color:var(--action-primary)!important;background:linear-gradient(135deg, var(--action-primary), var(--action-primary-hover))!important;color:var(--action-primary-text)!important}.cm-brand-footer{text-align:center!important;justify-content:center!important;width:min(100%,1240px)!important;margin-inline:auto!important;font-size:clamp(10px,.9vw,13px)!important}@media (width<=760px){:where(.cm-page-header,.learning-practice-header,.shared-result-header){min-height:48px!important;margin-bottom:18px!important}:where(.cm-page-header__center,.lobby-destination-board){display:none}.solo-setup-screen .journey-type-grid{grid-template-columns:1fr!important}.solo-setup-screen:not([data-product-mode=learn]) .journey-type-grid button{min-height:164px!important}:where(.results-action,.shared-result-actions .results-action){flex-basis:100%}}@media (prefers-reduced-motion:reduce){:where(.solo-setup-screen>.cm-page-header,.full-line-screen>.cm-page-header,.start-screen>.cm-page-header,.learning-system-screen>.cm-page-header,.learning-practice-screen>.learning-practice-header){animation:none!important}}html:not(.dark) .learning-practice-screen .learning-practice-progress-heading>span{color:var(--text-secondary)!important}html:not(.dark) .learning-practice-screen .learning-practice-progress-heading>span strong{color:var(--action-secondary-text)!important;font-weight:900!important}html:not(.dark) .learning-practice-screen .learning-practice-progress>div{background:var(--action-primary)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .learning-practice-screen .learning-practice-progress>div{background:color-mix(in srgb, var(--action-primary) 16%, var(--surface-sunken))!important}}html:not(.dark) .learning-practice-screen .learning-practice-progress-bar{background:var(--action-primary)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .learning-practice-screen .learning-practice-progress-bar{background:color-mix(in srgb, var(--action-primary) 16%, var(--surface-sunken))!important}}html:not(.dark) .learning-practice-screen .learning-practice-progress i.is-done,html:not(.dark) .learning-practice-screen .learning-practice-progress-bar i.is-done{background:linear-gradient(90deg, var(--action-primary), var(--brand-expression))!important}.learning-practice-screen .learning-input-wrap input::placeholder{letter-spacing:.02em;font-size:clamp(13px,2.5vw,18px);color:var(--text-secondary)!important;-webkit-text-fill-color:var(--text-secondary)!important;opacity:1!important}html:not(.dark) .learning-practice-screen .learning-input-wrap input{color:#fff4f7!important;-webkit-text-fill-color:#fff4f7!important}html:not(.dark) .learning-practice-screen .learning-input-wrap input::placeholder{text-shadow:0 1px #31142138;color:#fff0f5!important;-webkit-text-fill-color:#fff0f5!important}@media (width<=680px){.learning-practice-screen .learning-reference-panel--compact{min-width:0;overflow:hidden}.learning-practice-screen .learning-compact-row{grid-template-columns:18px minmax(0,1fr);gap:5px}.learning-practice-screen .learning-compact-values{grid-template-columns:repeat(auto-fit,minmax(28px,1fr));gap:3px;width:100%;min-width:0;display:grid;overflow:visible}.learning-practice-screen .learning-compact-tile{border-right:1px solid var(--border-strong);border-radius:5px;width:100%;min-width:0;height:24px;font-size:10px}.learning-practice-screen .learning-compact-tile.has-group-break{margin-left:0}}@media (height<=760px),(width<=700px) and (height>=701px) and (height<=900px){.learning-practice-screen{height:100dvh!important;min-height:0!important;padding-block:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-bottom))!important;overflow:hidden!important}.learning-practice-screen .learning-practice-header{min-height:44px!important;margin-bottom:6px!important}.learning-practice-screen .learning-practice-layout{height:calc(100dvh - 62px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0!important;margin-top:0!important;overflow:hidden!important}.learning-practice-screen .learning-practice-main{grid-template-rows:auto auto minmax(130px,1fr) auto minmax(170px,auto);gap:5px!important;height:100%!important;min-height:0!important;padding:8px!important;overflow:hidden!important}.learning-practice-screen .learning-reference-panel--compact{min-height:0;gap:4px!important;padding:6px 8px!important}.learning-practice-screen .learning-compact-heading{font-size:9px!important}.learning-practice-screen .learning-practice-progress{gap:4px;min-height:18px}.learning-practice-screen .learning-practice-progress-heading>span{white-space:nowrap;font-size:10px!important;line-height:1!important}.learning-practice-screen .learning-practice-progress>div,.learning-practice-screen .learning-practice-progress-bar{height:4px}.learning-practice-screen .learning-target-card{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;place-items:center stretch;gap:2px 8px;border-radius:12px 20px!important;min-height:0!important;padding:8px 10px!important}.learning-practice-screen .learning-target-card h1{grid-area:1/1;justify-self:center;font-size:clamp(38px,8vw,56px)!important}.learning-practice-screen .learning-target-card p{grid-area:2/1;align-self:start;font-size:10px!important}.learning-practice-screen .learning-listen-button{grid-area:1/2/span 2;min-height:32px!important;margin:0!important;padding:6px 9px!important;font-size:11px!important}.learning-practice-screen .learning-listen-button svg{width:15px;height:15px}.learning-practice-screen .learning-shortcut-key{padding:2px 3px;font-size:7px}.learning-practice-screen .learning-input-card{gap:3px;min-height:0}.learning-practice-screen .learning-input-wrap{border-radius:10px 16px!important;min-height:52px!important}.learning-practice-screen .learning-input-wrap input,.learning-practice-screen .learning-input-live-preview{padding:8px 10px!important;font-size:clamp(18px,5vw,28px)!important}.learning-practice-screen .learning-input-wrap input::placeholder{font-size:clamp(11px,2.8vw,16px)!important}.learning-practice-screen .learning-arcade-console{border-radius:12px 20px!important;gap:4px!important;min-height:0!important;padding:6px!important}.learning-practice-screen .learning-arcade-console__topline{min-height:12px}.learning-practice-screen .learning-arcade-console__keyboard,.learning-practice-screen .learning-arcade-console__key-row{gap:3px!important}.learning-practice-screen .learning-arcade-key{border-radius:6px 3px!important;min-height:clamp(28px,4.4vh,38px)!important;font-size:clamp(14px,4vw,20px)!important}.learning-practice-screen .learning-arcade-console__actions{gap:3px}.learning-practice-screen .learning-arcade-action{min-height:30px!important;font-size:9px!important}.learning-practice-screen .learning-arcade-action--space strong{font-size:13px!important}.learning-practice-screen .learning-arcade-action--space span{font-size:8px!important}}@media (width<=430px) and (height>=560px){.learning-practice-screen .learning-practice-main{gap:4px!important;padding:6px!important}.learning-practice-screen .learning-compact-tile{height:22px;font-size:9px}.learning-practice-screen .learning-arcade-key{min-height:26px!important}}.learning-practice-screen .learning-target-card{grid-template-rows:auto auto!important;grid-template-columns:minmax(0,1fr)!important}.learning-practice-screen .learning-target-card h1{grid-area:1/1!important;justify-self:center!important}.learning-practice-screen .learning-target-card p{grid-area:2/1!important;justify-self:center!important}.learning-practice-screen .learning-arcade-console__actions.has-submit{grid-template-columns:repeat(3,minmax(0,1fr))!important}.learning-practice-screen .learning-arcade-console__key-row.key-row-2,.learning-practice-screen .learning-arcade-console__key-row.key-row-3.has-backspace{grid-template-columns:repeat(9,minmax(0,1fr))!important;padding-inline:5%!important}.learning-practice-screen .learning-arcade-console__key-row.key-row-3.has-backspace .learning-arcade-key--special{grid-column:span 2}@media (width<=680px){.learning-practice-screen{height:100dvh!important;min-height:0!important;padding-block:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-bottom))!important;overflow:hidden!important}.learning-practice-screen .learning-practice-header{min-height:44px!important;margin-bottom:6px!important}.learning-practice-screen .learning-practice-layout{height:calc(100dvh - 62px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0!important;margin-top:0!important;overflow:hidden!important}.learning-practice-screen .learning-practice-main{grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:clamp(4px,.8vh,8px)!important;height:100%!important;min-height:0!important;padding:clamp(6px,1.6vw,12px)!important;overflow:hidden!important}.learning-practice-screen .learning-target-card,.learning-practice-screen .learning-input-card,.learning-practice-screen .learning-arcade-console{min-height:0!important}.learning-practice-screen .learning-target-card{overflow:hidden}.learning-practice-screen .learning-arcade-console{align-self:end}}.learning-arcade-console__key-row.key-row-3:not(.has-backspace){grid-template-columns:repeat(9,minmax(0,1fr))!important;padding-inline:5%!important}.learning-arcade-console__key-row.key-row-3:not(.has-backspace):before,.learning-arcade-console__key-row.key-row-3:not(.has-backspace):after{min-width:0;display:block}.learning-practice-screen .learning-arcade-console__actions.has-submit .learning-arcade-action--space{grid-area:1/2}.learning-practice-screen .learning-arcade-console__actions.has-submit .learning-arcade-action--utility:nth-child(2){grid-area:1/3}.learning-practice-screen .learning-target-sign{border-block:1px solid var(--station-line);align-self:center;height:clamp(136px,18vh,190px);min-height:0;padding:clamp(14px,3vw,28px) clamp(14px,3vw,28px) clamp(16px,3.4vw,30px)}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen .learning-target-sign{border-block:1px solid color-mix(in srgb, var(--station-line) 58%, #d6d8cf 24%)}}.learning-practice-screen .learning-target-sign{border-radius:0;background:linear-gradient(115deg, var(--station-line), var(--station-line))!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen .learning-target-sign{background:linear-gradient(115deg, color-mix(in srgb, var(--station-line) 78%, #f4ead8 22%), color-mix(in srgb, var(--station-line) 58%, #142a28 42%))!important}}.learning-practice-screen .learning-practice-main{grid-template-rows:auto auto minmax(180px,1fr) auto auto!important}@media (width<=520px){.learning-practice-screen .learning-target-sign{aspect-ratio:auto;align-self:center;height:min(38vh,350px)}}@media (width<=520px) and (height<=800px){.learning-practice-screen .learning-target-sign{height:min(34vh,240px)}}@media (width<=340px) and (height<=620px){.learning-practice-screen .learning-target-sign{height:min(33vh,205px)}}@media (width>=521px) and (width<=900px){.learning-practice-screen .learning-target-sign{aspect-ratio:24/8;height:auto}}.learning-practice-screen .learning-arcade-console__topline{display:none}.learning-practice-screen .learning-practice-main{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.learning-practice-screen .learning-practice-main:after{display:none}.learning-practice-screen .learning-arcade-console{background:radial-gradient(circle at 12% 8%,#ff499a2e,#0000 30%),radial-gradient(circle at 88% 92%,#ffd1661f,#0000 28%),linear-gradient(145deg,#123d4a,#061820 78%);border-color:#ffd1666b;border-radius:18px 7px;box-shadow:0 18px 36px #03121747,inset 0 1px #ecfff924,inset 0 -3px #0000003d}.learning-practice-screen .learning-arcade-key{background:linear-gradient(160deg,#1a5960,#0a2d38 82%);border-color:#9ae4dc57;box-shadow:0 4px #04171e,inset 0 1px #ecfff924,inset 0 -1px #ff499a33}.learning-practice-screen .learning-arcade-key:hover,.learning-practice-screen .learning-arcade-key:focus-visible{border-color:var(--game-amber);background:linear-gradient(160deg,#2a7880,#11444d 82%);box-shadow:0 4px #04171e,0 0 18px #ffd16633,inset 0 1px #ffffff2e}.learning-practice-screen .learning-arcade-action--utility{color:#eaf7f3;background:linear-gradient(160deg,#124650,#092933 82%);border-color:#9ae4dc57}html:not(.dark) .learning-practice-screen .learning-arcade-console{background:radial-gradient(circle at 12% 8%,#f0448529,#0000 30%),radial-gradient(circle at 88% 92%,#efac302e,#0000 28%),linear-gradient(145deg,#fff7ef,#dff2ef 78%);border-color:#d0457761;box-shadow:0 18px 36px #5632402e,inset 0 1px #ffffffe6,inset 0 -3px #6841461f}html:not(.dark) .learning-practice-screen .learning-arcade-key{color:#173c43;background:linear-gradient(160deg,#fff,#c7e5e1 82%);border-color:#307c8175;box-shadow:0 4px #87a8a6,inset 0 1px #fffffff2,inset 0 -1px #d0457733}html:not(.dark) .learning-practice-screen .learning-arcade-key:hover,html:not(.dark) .learning-practice-screen .learning-arcade-key:focus-visible{color:#4e1730;background:linear-gradient(160deg,#fffdfb,#f6b7ca 82%);border-color:#d44578;box-shadow:0 4px #a96b7d,0 0 18px #d4457833,inset 0 1px #fffffff2}html:not(.dark) .learning-practice-screen .learning-arcade-action--utility{color:#173c43;background:linear-gradient(160deg,#fff,#d4ebe7 82%);border-color:#307c816b;box-shadow:0 4px #87a8a6,inset 0 1px #ffffffe6}.learning-practice-screen .learning-target-sign .station-platform-sign__name{gap:5px;width:100%}.learning-practice-screen .learning-target-sign .learning-station-word{letter-spacing:.04em;justify-content:center;align-items:baseline;gap:.08em;max-width:100%;margin:0;font-size:clamp(36px,8vw,72px);font-weight:900;line-height:.96;display:inline-flex;font-family:var(--font-serif-hk)!important}.learning-practice-screen .learning-target-sign .learning-station-word>span{font:inherit;paint-order:stroke fill;text-shadow:0 2px 0 var(--station-ink), 0 0 16px var(--station-ink);overflow:visible}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen .learning-target-sign .learning-station-word>span{text-shadow:0 2px 0 color-mix(in srgb, var(--station-ink) 32%, transparent), 0 0 16px color-mix(in srgb, var(--station-ink) 22%, transparent)}}.learning-practice-screen .learning-target-sign .learning-station-word>span{white-space:nowrap}.learning-practice-screen .learning-target-sign .learning-station-word>span.is-current{color:var(--station-ink);-webkit-text-decoration-color:var(--action-primary);-webkit-text-decoration-color:var(--action-primary);-webkit-text-decoration-color:var(--action-primary);-webkit-text-decoration-color:var(--action-primary);text-decoration-color:var(--action-primary)}.learning-practice-screen .learning-target-sign .learning-station-word>span.is-upcoming{color:var(--station-ink)}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen .learning-target-sign .learning-station-word>span.is-upcoming{color:color-mix(in srgb, var(--station-ink) 48%, transparent)}}.learning-practice-screen .learning-target-sign p{color:var(--station-ink);margin:0}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen .learning-target-sign p{color:color-mix(in srgb, var(--station-ink) 90%, transparent)}}.learning-practice-screen .learning-target-sign p{font:700 clamp(11px, 1.8vw, 15px)/1.1 var(--font-sans);letter-spacing:.04em}@media (width<=430px){.learning-practice-screen .learning-arcade-console{box-sizing:border-box;border-inline:1px solid #d0457761;border-radius:18px 7px;width:100%;max-width:100%;margin-inline:0;padding-inline:0!important}.learning-practice-screen .learning-arcade-console__keyboard,.learning-practice-screen .learning-arcade-console__actions{width:100%;min-width:0;max-width:100%}}@media (width>=681px) and (height<=820px){.learning-practice-screen{height:100dvh!important;min-height:0!important;padding-block:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-bottom))!important;overflow:hidden!important}.learning-practice-screen .learning-practice-header{min-height:50px!important;margin-bottom:4px!important}.learning-practice-screen .learning-practice-layout{height:calc(100dvh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0!important;margin-top:0!important;overflow:hidden!important}.learning-practice-screen .learning-practice-main{grid-template-rows:auto auto minmax(120px,1fr) auto auto!important;gap:6px!important;height:100%!important;min-height:0!important;overflow:hidden!important}.learning-practice-screen .learning-input-wrap{min-height:48px!important}.learning-practice-screen .learning-arcade-console{padding:6px 8px max(6px, env(safe-area-inset-bottom))!important;gap:4px!important}.learning-practice-screen .learning-arcade-console__keyboard,.learning-practice-screen .learning-arcade-console__key-row{gap:3px!important}.learning-practice-screen .learning-arcade-key{min-height:clamp(28px,4.2vh,34px)!important;font-size:clamp(14px,2vw,20px)!important}.learning-practice-screen .learning-arcade-action{min-height:clamp(30px,4.4vh,38px)!important;font-size:9px!important}.learning-practice-screen .learning-arcade-action--space strong{font-size:clamp(12px,1.8vw,17px)!important}.learning-practice-screen .learning-arcade-action--space span{font-size:8px!important}}@media (width<=340px) and (height<=620px){.learning-practice-screen .learning-input-wrap{min-height:44px!important}.learning-practice-screen .learning-arcade-console{padding:4px 0 max(4px, env(safe-area-inset-bottom))!important;gap:2px!important}.learning-practice-screen .learning-arcade-console__keyboard,.learning-practice-screen .learning-arcade-console__key-row{gap:2px!important}.learning-practice-screen .learning-arcade-key{min-height:24px!important;font-size:13px!important}.learning-practice-screen .learning-arcade-action{min-height:26px!important;font-size:8px!important}.learning-practice-screen .learning-arcade-action--space strong{font-size:12px!important}.learning-practice-screen .learning-arcade-action--space span{font-size:7px!important}}.learning-practice-screen .learning-input-wrap.is-hint-visible input::placeholder{letter-spacing:.01em;font-size:clamp(12px,2.2vw,16px);opacity:.62!important}.learning-practice-screen .learning-input-wrap.has-live-preview input::placeholder{opacity:0!important}html:not(.dark) .learning-practice-screen .learning-compact-tile{color:#28545b!important;background:linear-gradient(160deg,#fffdf8,#d8eeea)!important;border-color:#307c8152!important;box-shadow:inset 0 1px #ffffffeb,inset 0 -1px #d0457729!important}.learning-practice-screen .learning-compact-tile.level-mastered{font-weight:900;color:#e8fff6!important;background:linear-gradient(160deg,#1d776d,#0f4b4c)!important;border-color:#34e2bd!important;box-shadow:inset 0 -3px #34e2bd,0 0 0 1px #34e2bd3d,0 0 12px #34e2bd33!important}html:not(.dark) .learning-practice-screen .learning-compact-tile.level-learning{color:#8b5700!important;background:#fff1c8!important;border-color:#e6a52d!important}html:not(.dark) .learning-practice-screen .learning-compact-tile.level-mastered{text-shadow:0 1px #ffffffb8;font-weight:900;color:#075b4e!important;background:linear-gradient(160deg,#c6f6e6,#73d6bb)!important;border-color:#1ca183!important;box-shadow:inset 0 -3px #1ca183,0 0 0 1px #1ca1833d,0 0 10px #1ca18333!important}html:not(.dark) .learning-practice-screen .learning-compact-tile.level-recent-error{color:#ad2354!important;background:#ffe0e8!important;border-color:#d94778!important}html:not(.dark) .learning-practice-screen .learning-input-wrap{color:#3b2430!important;background:linear-gradient(145deg,#fffaf4,#e2f3ef)!important;border-color:#d045776b!important;box-shadow:inset 0 1px #fffffff0,0 8px 20px #5632401f!important}html:not(.dark) .learning-practice-screen .learning-input-wrap:focus-within{border-color:#d44578!important;box-shadow:0 0 0 4px #d4457824,0 10px 24px #56324029!important}html:not(.dark) .learning-practice-screen .learning-input-wrap input{color:#3b2430!important;-webkit-text-fill-color:#3b2430!important;caret-color:#d44578!important}html:not(.dark) .learning-practice-screen .learning-input-wrap.has-live-preview input{color:#0000!important;-webkit-text-fill-color:transparent!important;caret-color:#0000!important}html:not(.dark) .learning-practice-screen .learning-input-wrap input::placeholder{color:#6f5260!important;-webkit-text-fill-color:#6f5260!important;text-shadow:none!important}html:not(.dark) .learning-practice-screen .learning-target-sign{background:linear-gradient(115deg, var(--station-line), var(--station-line))!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .learning-practice-screen .learning-target-sign{background:linear-gradient(115deg, color-mix(in srgb, var(--station-line) 78%, #f4ead8 22%), color-mix(in srgb, var(--station-line) 58%, #142a28 42%))!important}}html:not(.dark) .learning-practice-screen .learning-target-sign{box-shadow:0 10px 24px #56324024,inset 0 1px #ffffffe6!important}html:not(.dark) .learning-practice-screen .learning-target-sign .station-platform-sign__mosaic{opacity:.94}html:not(.dark) .learning-practice-screen .learning-target-sign .learning-station-word>span{color:var(--station-ink)!important;-webkit-text-stroke:1px var(--station-ink-outline,#10201d)!important;text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d), 0 2px 0 var(--station-ink-outline,#10201d), 0 5px 12px var(--station-ink-outline,#10201d)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .learning-practice-screen .learning-target-sign .learning-station-word>span{text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d), 0 2px 0 color-mix(in srgb, var(--station-ink-outline,#10201d) 72%, transparent), 0 5px 12px color-mix(in srgb, var(--station-ink-outline,#10201d) 58%, transparent)!important}}html:not(.dark) .learning-practice-screen .learning-target-sign .learning-station-word>span.is-upcoming{color:var(--station-ink)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .learning-practice-screen .learning-target-sign .learning-station-word>span.is-upcoming{color:color-mix(in srgb, var(--station-ink) 48%, transparent)!important}}html:not(.dark) .learning-practice-screen .learning-target-sign p{color:var(--station-ink)!important}@supports (color:color-mix(in lab, red, red)){html:not(.dark) .learning-practice-screen .learning-target-sign p{color:color-mix(in srgb, var(--station-ink) 90%, transparent)!important}}html:not(.dark) .learning-practice-screen .learning-target-sign p{text-shadow:none!important}.learning-practice-screen .learning-practice-progress{align-items:stretch;gap:4px;grid-template-columns:minmax(0,1fr)!important}.learning-practice-progress-heading{justify-content:flex-start;align-items:center;gap:8px;min-width:0;min-height:12px;display:flex;background:0 0!important;border-radius:0!important;height:auto!important;overflow:visible!important}html:not(.dark) .learning-practice-screen .learning-practice-progress>.learning-practice-progress-heading,html:not(.dark) .learning-practice-screen .learning-practice-progress>.learning-practice-progress-survival-row{background:0 0!important}.learning-practice-progress-heading>span{min-width:0}.learning-practice-progress-all{color:var(--text-tertiary);white-space:nowrap;font-size:.78em}.learning-practice-progress-bar{border-radius:var(--radius-pill);background:var(--progress-track);flex:auto;gap:5px;min-width:56px;height:5px;overflow:hidden;display:flex!important}.learning-practice-progress-bar i{border-radius:var(--radius-pill);height:100%;display:block}html.dark .learning-practice-screen .learning-practice-progress-bar{background:#d6f1eb29}html.dark .learning-practice-screen .learning-practice-progress-bar i.is-done{background:linear-gradient(90deg, var(--game-cyan), var(--game-amber))}.learning-practice-progress-survival-row{justify-content:flex-start;align-items:center;min-height:24px;background:0 0!important;border-radius:0!important;height:auto!important;display:flex!important;overflow:visible!important}.learning-survival-hearts{color:var(--brand-expression);align-items:center;gap:3px;display:flex}.learning-survival-hearts .is-empty{opacity:.24}@keyframes learning-heart-row-hit{0%,to{transform:translate(0)}35%{transform:translate(-2px)rotate(-2deg)}70%{transform:translate(2px)rotate(2deg)}}@keyframes learning-heart-break{0%{opacity:.35;transform:scale(.65)rotate(-12deg)translateY(2px)}45%{opacity:1;transform:scale(1.3)rotate(8deg)translateY(-2px)}to{opacity:.72;transform:scale(1)rotate(0)translateY(0)}}.learning-survival-hearts.is-damaged{animation:.26s ease-out learning-heart-row-hit}.learning-survival-hearts.is-damaged .is-lost{color:var(--brand-expression);animation:.42s cubic-bezier(.2,.85,.35,1.1) learning-heart-break}html:not(.dark) .learning-survival-hearts{color:#d44578}@media (prefers-reduced-motion:reduce){.learning-survival-hearts.is-damaged,.learning-survival-hearts.is-damaged .is-lost{animation:none!important}}@media (width<=520px){.learning-practice-progress-heading{gap:4px}.learning-survival-hearts{gap:2px}.learning-survival-hearts svg{width:18px;height:18px}}html:not(.dark) .start-screen .planner-map-tools{background:#fffaf4fa!important;border-color:#70314942!important;box-shadow:0 5px 14px #4b233229!important}html:not(.dark) .start-screen .planner-map-tools button{color:#7d2446!important}html:not(.dark) .start-screen .planner-map-tools .map-reset-button span{color:inherit!important}html:not(.dark) .start-screen .planner-map-tools button:hover:not(:disabled),html:not(.dark) .start-screen .planner-map-tools button:focus-visible{color:#fffaf4!important;background:#d93670!important}html.dark .start-screen .planner-map-tools{background:#05141bf5!important;border-color:#9ae4dc57!important;box-shadow:0 7px 18px #00000057!important}html.dark .start-screen .planner-map-tools button{color:#bff8ed!important}html.dark .start-screen .planner-map-tools .map-reset-button span{color:inherit!important}html.dark .start-screen .planner-map-tools button:hover:not(:disabled),html.dark .start-screen .planner-map-tools button:focus-visible{color:#fff8d8!important;background:#1c6668!important}.game-lobby-redesign .commuter-scene-rides{top:calc(50% + clamp(48px,8vh,84px))!important}html:not(.dark) .learning-practice-screen--complete .learning-complete-card h1{text-shadow:0 2px #ffffffe0,0 0 16px #c43d6829;color:#7d2446!important}html:not(.dark) .learning-practice-screen--complete .learning-complete-card h1.is-survival-over{text-shadow:0 2px #ffffffeb,0 0 18px #df4b5c38;color:#bf3d5b!important}html:not(.dark) .learning-practice-screen--complete .learning-complete-stats span{background:linear-gradient(160deg,#fff7ef,#ffd8c8)!important;border-color:#c2486f6b!important;box-shadow:0 5px #9c445029,inset 0 1px #ffffffeb!important}html:not(.dark) .learning-practice-screen--complete .learning-complete-stats strong{color:#a52b59!important}html:not(.dark) .learning-practice-screen--complete .learning-complete-stats small{color:#704451!important}html:not(.dark) .full-line-screen .line-selector button>span small,html:not(.dark) .full-line-screen .direction-list button>span small{color:#6f5260!important;opacity:1!important;text-shadow:none!important}html:not(.dark) .full-line-screen .line-selector button:not([aria-selected=true]),html:not(.dark) .full-line-screen .direction-list button{color:#3b2430!important;background:linear-gradient(160deg,#fffdf8,#f5e5e0)!important}html:not(.dark) .full-line-screen .line-selector button[aria-selected=true]{color:#5d1639!important;border-color:var(--action-primary)!important;background:linear-gradient(160deg,#ffe5ef,#f7b6cf)!important;box-shadow:0 0 0 2px #d445782e,0 5px #91405b29!important}html:not(.dark) .full-line-screen .line-selector button[aria-selected=true]>span small,html:not(.dark) .full-line-screen .direction-list button>span small{font-weight:700!important}html:not(.dark) .full-line-screen .line-selector button[aria-selected=true]>span small{color:#7d2446!important}html:not(.dark) .full-line-screen .direction-list button:hover:not(:disabled),html:not(.dark) .full-line-screen .direction-list button:focus-visible{color:#5d1639!important;background:linear-gradient(160deg,#ffe5ef,#f7b6cf)!important}html.dark .learning-practice-screen .learning-compact-tile.level-unknown{color:#eaf7f3b8!important;background:#071b22db!important;border-color:#9ae4dc3d!important}html.dark .learning-practice-screen .learning-compact-tile.level-learning{color:#ffd166!important;background:#f2b84b33!important;border-color:#f2b84b!important;box-shadow:inset 0 -3px #f2b84b,0 0 0 1px #f2b84b33!important}html.dark .learning-practice-screen .learning-compact-tile.level-mastered{color:#d9fff2!important;background:linear-gradient(160deg,#1f8979d1,#0d494cf0)!important;border-color:#34e2bd!important;font-weight:900!important;box-shadow:inset 0 -3px #34e2bd,0 0 0 1px #34e2bd4d,0 0 12px #34e2bd33!important}html.dark .learning-practice-screen .learning-compact-tile.level-recent-error{color:#ffb0c7!important;background:linear-gradient(160deg,#7e1f46e6,#4a1836f5)!important;border-color:#ff5d91!important;font-weight:900!important;box-shadow:inset 0 -3px #ff5d91,0 0 0 1px #ff5d914d,0 0 12px #ff5d912e!important}:where(.game-shell .station-platform-sign__name strong,.game-shell .station-platform-sign__name small){-webkit-text-stroke:1px var(--station-ink-outline,#10201d)!important;text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d), 0 2px 0 var(--station-ink-outline,#10201d), 0 5px 12px var(--station-ink-outline,#10201d)!important}@supports (color:color-mix(in lab, red, red)){:where(.game-shell .station-platform-sign__name strong,.game-shell .station-platform-sign__name small){text-shadow:-1px -1px 0 var(--station-ink-outline,#10201d), 1px -1px 0 var(--station-ink-outline,#10201d), -1px 1px 0 var(--station-ink-outline,#10201d), 1px 1px 0 var(--station-ink-outline,#10201d), 0 2px 0 color-mix(in srgb, var(--station-ink-outline,#10201d) 72%, transparent), 0 5px 12px color-mix(in srgb, var(--station-ink-outline,#10201d) 58%, transparent)!important}}:where(.learning-practice-screen .learning-target-sign .learning-station-word>span,.learning-practice-screen .learning-target-sign p){text-shadow:0 1px #ffffff7a,0 3px 7px #0616135c!important}:where(.game-shell .station-platform-sign__name small,.learning-practice-screen .learning-target-sign p){letter-spacing:.05em;font-weight:700!important}.learning-practice-screen .learning-target-sign .learning-station-word>span.is-complete,.learning-practice-screen .learning-target-sign .learning-station-word>span.is-upcoming{color:var(--station-ink)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen .learning-target-sign .learning-station-word>span.is-upcoming{color:color-mix(in srgb, var(--station-ink) 48%, transparent)!important}}@media (width<=560px){.learning-practice-screen .learning-arcade-console__actions{width:min(100% - 24px,360px);margin-inline:auto}}.learning-practice-screen .learning-arcade-console{isolation:isolate;box-shadow:none;background:0 0;border-color:#0000;overflow:visible}.learning-practice-screen .learning-arcade-console:after{z-index:0;content:"";pointer-events:none;inset-block:0;background:linear-gradient(145deg,#0c2a31fa,#031017fa),repeating-linear-gradient(135deg,#0000 0 24px,#9ae4dc0a 24px 25px);border:1px solid #9ae4dc57;border-radius:0;width:100vw;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 18px 36px #03121747,inset 0 1px #ecfff91f,inset 0 -3px #0003}.learning-practice-screen .learning-arcade-console:before{z-index:1}.learning-practice-screen .learning-arcade-console>*{z-index:2}.game-lobby-redesign .lobby-hero{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-content:stretch;justify-items:stretch;row-gap:clamp(8px,1.6vh,16px);min-height:0;display:grid}.game-lobby-redesign .lobby-title-lockup{grid-area:1/1;align-self:start}.game-lobby-redesign .commuter-scene{z-index:1;grid-area:1/1/-1;width:100%;height:100%;min-height:0;position:relative;inset:auto}.game-lobby-redesign .commuter-scene-action-stack{z-index:5;pointer-events:none;grid-area:2/1;place-self:start center;gap:clamp(8px,1.3vw,14px);width:min(100% - 48px,620px);display:grid;position:relative;top:auto;left:auto;transform:none}.game-lobby-redesign .commuter-scene-action-stack>*{pointer-events:auto}.game-lobby-redesign .commuter-scene-rides{width:100%;position:relative;transform:none;inset:auto!important}.game-lobby-redesign .daily-streak-banner{color:#fff4e6;text-align:left;cursor:pointer;width:min(100%,390px);transition:border-color .16s var(--ease-out,ease-out), box-shadow .16s var(--ease-out,ease-out), transform .14s var(--ease-out,ease-out);animation:daily-streak-banner-in .48s var(--ease-out,ease-out) both;background:linear-gradient(105deg,#27121ff5,#4c1837eb);border:1px solid #ffd23fa8;border-radius:14px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;margin-inline:auto;padding:7px 10px 7px 8px;display:grid;box-shadow:0 10px 22px #030a0f4d,0 0 0 3px #ff5f991a,inset 0 1px #ffffff29}.game-lobby-redesign .daily-streak-banner:hover,.game-lobby-redesign .daily-streak-banner:focus-visible{border-color:#ffd23f;outline:none;transform:translateY(-2px);box-shadow:0 13px 26px #030a0f5c,0 0 0 4px #ffd23f24,inset 0 1px #fff3}.game-lobby-redesign .daily-streak-banner:active{transform:translateY(1px)scale(.985)}.daily-streak-banner__icon{color:#ffd23f;filter:drop-shadow(0 0 7px #ff5f9952);background:#ffd23f26;border:1px solid #ffd23f85;border-radius:11px 13px;place-items:center;width:33px;height:33px;display:grid}.daily-streak-banner__copy{gap:2px;min-width:0;line-height:1.1;display:grid}.daily-streak-banner__copy strong{color:#fff4e6;font:850 clamp(14px, 1.5vw, 17px)/1.12 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.daily-streak-banner__copy em{color:#fff4e6b8;font:650 9px/1.15 var(--font-sans);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.daily-streak-banner__count{border-right:1px solid #ffb7d03d;justify-items:center;min-width:43px;padding-right:8px;line-height:1;display:grid}.daily-streak-banner__count b{color:#ffd23f;font:900 22px/1 var(--font-mono);font-variant-numeric:tabular-nums}.daily-streak-banner__count small{color:#ffb7d0;font:750 9px/1 var(--font-sans)}.game-lobby-redesign .daily-streak-banner[data-streak="0"]{background:linear-gradient(105deg,#08232af5,#16363deb);border-color:#9ae4dc80}.daily-streak-banner[data-streak="0"] .daily-streak-banner__icon{color:#9ae4dc;filter:none;background:#9ae4dc1a;border-color:#9ae4dc6b}.daily-streak-banner[data-streak="0"] .daily-streak-banner__count small,.daily-streak-banner[data-streak="0"] .daily-streak-banner__count b{color:#9ae4dc}.game-lobby-redesign .daily-streak-banner[data-complete=true]{border-color:#ffb7d0;box-shadow:0 10px 22px #030a0f4d,0 0 0 4px #ff5f9929,0 0 20px #ffd23f1f,inset 0 1px #ffffff29}@keyframes daily-streak-banner-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=620px){.game-lobby-redesign .commuter-scene-action-stack{gap:8px;width:calc(100% - 28px)}.game-lobby-redesign .daily-streak-banner{gap:8px;padding:8px 10px 8px 8px}.daily-streak-banner__copy strong{font-size:clamp(13px,4vw,16px)}.daily-streak-banner__copy em{font-size:9px}.daily-streak-banner__count{min-width:37px;padding-right:7px}.daily-streak-banner__count b{font-size:19px}}@media (prefers-reduced-motion:reduce){.game-lobby-redesign .daily-streak-banner{transition:none;animation:none}}.game-lobby-redesign .commuter-scene-action-stack{width:min(100% - 56px,620px)}html:not(.dark) .game-lobby-redesign .daily-streak-banner{color:#23434a;background:linear-gradient(105deg,#fffaf4f0,#e2f4f0e6);border-color:#4d818457;box-shadow:0 7px 16px #54374424,inset 0 1px #ffffffe6}html:not(.dark) .game-lobby-redesign .daily-streak-banner__icon{color:#1f7b7c;background:#9ae4dc2e;border-color:#2f848766}html:not(.dark) .game-lobby-redesign .daily-streak-banner__count{border-right-color:#4d81843d}html:not(.dark) .game-lobby-redesign .daily-streak-banner__count b,html:not(.dark) .game-lobby-redesign .daily-streak-banner__count small{color:#2e8586}html:not(.dark) .game-lobby-redesign .daily-streak-banner__copy strong{color:#23434a}html:not(.dark) .game-lobby-redesign .daily-streak-banner__copy em{color:#23434aad}@media (width<=620px){.game-lobby-redesign .commuter-scene-action-stack{width:min(100% - 56px,360px)}}html:not(.dark) .route-confirmation-panel{color:#3d1c2c;background:linear-gradient(145deg,#fffaf4fa,#e7f5f1fa);border-color:#d92f6857;box-shadow:0 22px 56px #4c2e3d33,inset 0 1px #ffffffeb}html:not(.dark) .route-confirmation-panel:before{opacity:.78;background:linear-gradient(90deg,#d92f680f 1px,#0000 1px) 0 0/32px 32px,linear-gradient(0deg,#2f84870d 1px,#0000 1px) 0 0/32px 32px,radial-gradient(60% 70% at 100% 0,#ffd23f1f,#0000 72%)}html:not(.dark) .route-confirmation-panel .cm-kicker{color:#b35f14}html:not(.dark) .route-confirmation-panel .cm-kicker__en{color:#3d1c2c99}html:not(.dark) .route-confirmation-panel .cm-modal__title{color:#24151d;text-shadow:0 1px #ffffffc2}html:not(.dark) .route-confirmation-panel .confirmation-facts,html:not(.dark) .route-confirmation-panel .confirmation-route{background:#ffffff94;border-color:#4d81843d}html:not(.dark) .route-confirmation-panel .cm-metric__label,html:not(.dark) .route-confirmation-panel .cm-metric__label em{color:#3d1c2c9e}html:not(.dark) .route-confirmation-panel .cm-metric__value{color:#3d1c2c}html:not(.dark) .route-confirmation-panel .cm-chip{color:#23434a;background:#9ae4dc2e;border-color:#4d818447}html:not(.dark) .route-confirmation-panel .confirmation-route li{color:#3d1c2c}html:not(.dark) .route-confirmation-panel .cm-switch-row{color:#3d1c2c;background:#ffffff9e;border-color:#d92f6833}html:not(.dark) .route-confirmation-panel .cm-switch-row:hover{background:#ffd8dfb3;border-color:#d92f68}html:not(.dark) .route-confirmation-panel .cm-switch-row__copy small{color:#3d1c2c9e}html:not(.dark) .route-confirmation-panel .cm-modal__actions .cm-button[data-variant=quiet]{color:#6c3a51}.route-confirmation-panel .cm-modal__actions .cm-button{white-space:normal}html:not(.dark) .route-confirmation-panel .cm-modal__actions .cm-button[data-variant=quiet]:hover,html:not(.dark) .route-confirmation-panel .cm-modal__actions .cm-button[data-variant=quiet]:focus-visible{color:#3d1c2c;background:#d92f681a}.results-screen .results-brand-seal{display:none}.results-screen .results-zone-top{border:1px solid var(--result-line);background:var(--result-glass-strong);box-shadow:0 18px 40px var(--result-shadow), inset 0 1px #ffffff4d;border-radius:26px 26px 9px}.results-screen .results-top-route{border-right:1px solid var(--result-line)}.results-screen .results-top-outcome:after{display:none}.results-screen .results-top-outcome .results-grade-badge{box-shadow:4px 5px 0 var(--action-primary);border-radius:18px 18px 6px}@supports (color:color-mix(in lab, red, red)){.results-screen .results-top-outcome .results-grade-badge{box-shadow:4px 5px 0 color-mix(in srgb, var(--action-primary) 34%, transparent)}}.results-screen .results-top-outcome .results-grade-badge{animation:results-grade-pop .48s var(--ease-out) both}.results-screen .results-top-outcome .results-grade-title{font-size:clamp(26px,4vmin,44px)}.results-screen .results-top-meta{flex-wrap:wrap;gap:6px 12px;display:flex}.results-screen .results-top-meta span,.results-screen .results-top-meta strong{align-items:center;min-height:20px;display:inline-flex}.results-screen .results-top-meta strong{border:1px solid var(--brand-expression);padding-inline:7px}@supports (color:color-mix(in lab, red, red)){.results-screen .results-top-meta strong{border:1px solid color-mix(in srgb, var(--brand-expression) 45%, transparent)}}.results-screen .results-top-meta strong{background:var(--brand-expression);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.results-screen .results-top-meta strong{background:color-mix(in srgb, var(--brand-expression) 12%, transparent)}}.results-screen .results-zone-mid{border:0;border-block:1px solid var(--result-line);min-height:72px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.results-screen .results-zone-mid .results-summary-stat{padding-block:10px}.results-screen .results-zone-bottom{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:clamp(14px,2.4vw,28px);padding:8px 0 0}.results-screen .results-bottom-summary{gap:9px}.results-screen .results-quick-grid{border-block:1px solid var(--result-line);grid-area:auto;padding:8px 0}.results-screen .results-quick-stat{padding-block:4px}.results-screen .results-zone-bottom .results-actions{align-content:start;gap:8px}.results-screen .results-zone-bottom .results-action{min-height:48px;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out), background .16s ease;border-radius:12px 12px 5px}.results-screen .results-zone-bottom .results-action:hover,.results-screen .results-zone-bottom .results-action:focus-visible{box-shadow:0 5px 0 var(--action-primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.results-screen .results-zone-bottom .results-action:hover,.results-screen .results-zone-bottom .results-action:focus-visible{box-shadow:0 5px 0 color-mix(in srgb, var(--action-primary) 28%, transparent)}}@keyframes results-grade-pop{0%{opacity:0;transform:rotate(-4deg)scale(.82)}72%{opacity:1;transform:rotate(-1deg)scale(1.05)}to{opacity:1;transform:rotate(-2deg)scale(1)}}@media (width<=700px){.results-screen .results-three-part{grid-template-rows:auto auto auto}.results-screen .results-zone-top{border-radius:20px 20px 8px}.results-screen .results-top-route{border-right:0}.results-screen .results-zone-bottom{gap:12px;padding-top:4px}}@media (width<=440px){.results-screen .results-top-outcome .results-grade-badge{box-shadow:3px 4px 0 var(--action-primary)}@supports (color:color-mix(in lab, red, red)){.results-screen .results-top-outcome .results-grade-badge{box-shadow:3px 4px 0 color-mix(in srgb, var(--action-primary) 34%, transparent)}}.results-screen .results-zone-bottom .results-action{min-height:44px}}@media (prefers-reduced-motion:reduce){.results-screen .results-top-outcome .results-grade-badge{animation:none}}.results-screen .results-three-part{grid-template-rows:auto auto auto;gap:clamp(10px,1.8vmin,18px)}.results-screen .results-zone-top{border:1px solid var(--result-line);grid-template-columns:minmax(0,1fr) minmax(280px,1fr);min-height:0;padding:0 0 12px}@supports (color:color-mix(in lab, red, red)){.results-screen .results-zone-top{border:1px solid color-mix(in srgb, var(--result-line) 82%, var(--action-primary) 18%)}}.results-screen .results-zone-top{background:linear-gradient(135deg, var(--action-primary), transparent 42%), repeating-linear-gradient(135deg, transparent 0 18px, var(--result-line) 19px 20px), var(--surface-raised);border-radius:24px 8px}@supports (color:color-mix(in lab, red, red)){.results-screen .results-zone-top{background:linear-gradient(135deg, color-mix(in srgb, var(--action-primary) 9%, transparent), transparent 42%), repeating-linear-gradient(135deg, transparent 0 18px, color-mix(in srgb, var(--result-line) 26%, transparent) 19px 20px), color-mix(in srgb, var(--surface-raised) 80%, transparent)}}.results-screen .results-zone-top{box-shadow:0 16px 34px var(--result-shadow), inset 0 1px #ffffff42;overflow:visible}.results-screen .results-zone-top:after{background:linear-gradient(90deg, var(--brand-expression), var(--action-primary), transparent 86%);content:"";opacity:.74;pointer-events:none;height:2px;position:absolute;bottom:20px;left:8%;right:8%}.results-screen .results-zone-top{animation:results-board-in .42s var(--ease-out) both}.results-screen .results-zone-mid{animation:results-score-in .36s 90ms var(--ease-out) both}.results-screen .results-zone-bottom{animation:results-score-in .36s .16s var(--ease-out) both}.results-screen .results-top-route{border-right:1px solid var(--result-line);min-height:128px;padding-inline:0 clamp(16px,2.4vw,30px)}.results-screen .results-route-title strong,.results-screen .results-station-name{font-family:var(--font-sans);font-weight:900}.results-screen .results-top-outcome{background:0 0;min-height:220px;padding-inline:clamp(18px,3vw,42px) 0}.results-screen .results-top-outcome .results-grade-body{max-width:30rem}.results-screen .results-top-outcome:before{opacity:.3}.results-screen .results-zone-mid{min-height:66px}.results-screen .results-zone-bottom{grid-template-columns:minmax(0,1fr) minmax(250px,.52fr);align-items:center;gap:clamp(14px,2.6vw,34px);padding:4px 0 0}.results-screen .results-bottom-summary{min-width:0;display:block}.results-screen .results-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:8px 0;display:grid}.results-screen .results-quick-stat{border-right:1px solid var(--result-line);min-width:0;padding-inline:clamp(8px,1vw,14px)}.results-screen .results-quick-stat:first-child{padding-left:0}.results-screen .results-quick-stat:last-child{border-right:0;padding-right:0}.results-screen .results-quick-stat span,.results-screen .results-quick-stat strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.results-screen .results-zone-bottom .results-actions{grid-template-rows:52px;grid-template-columns:minmax(0,1fr) repeat(4,48px);grid-auto-flow:row;align-items:stretch;gap:8px;display:grid}.results-screen .results-zone-bottom .results-action{border-radius:12px 16px 8px;min-width:0;min-height:48px;padding-inline:0;grid-area:auto!important}.results-screen .results-zone-bottom .results-action:not(.results-action-primary) strong{display:none}.results-screen .results-zone-bottom .results-action--breakdown{flex-direction:column;gap:2px}.results-screen .results-zone-bottom .results-action--breakdown strong{font:700 9px/1 var(--font-sans);display:block}.results-screen .results-zone-bottom .results-action:not(.results-action-primary) svg{flex:none}.results-screen .results-summary-stat-note{color:var(--text-secondary);font:700 clamp(9px, 1vw, 11px)/1 var(--font-mono);letter-spacing:.05em;margin-top:4px;display:block}@media (width<=700px){.results-screen .results-zone-top{grid-template-columns:1fr;padding-bottom:8px}.results-screen .results-top-route{border-right:0;border-bottom:1px solid var(--result-line);min-height:94px;padding:0 0 12px}.results-screen .results-top-outcome{min-height:194px;padding:20px 0 8px}.results-screen .results-zone-bottom{grid-template-columns:1fr;gap:10px}.results-screen .results-zone-bottom .results-actions{grid-template-rows:50px;grid-template-columns:minmax(0,1fr) repeat(4,46px)}.results-screen .results-zone-bottom .results-actions[data-shared]{grid-template-columns:minmax(0,1fr) repeat(2,46px)}}@media (width<=360px){.results-screen .results-zone-bottom .results-actions,.results-screen .results-zone-bottom .results-actions[data-shared]{grid-template-rows:50px 46px;grid-template-columns:repeat(4,minmax(0,1fr))}.results-screen .results-zone-bottom .results-action-primary{grid-column:1/-1}}@keyframes results-board-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes results-score-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.results-screen .results-zone-top,.results-screen .results-zone-mid,.results-screen .results-zone-bottom{animation:none}}@media (width>=1100px){.results-screen{padding:clamp(18px,3vw,52px)}.results-screen .results-three-part{gap:clamp(14px,1.6vw,24px);width:min(1240px,100vw - clamp(56px,8vw,160px));height:min(100%,820px)}.results-screen .results-eyebrow{font-size:clamp(11px,.9vw,15px)}.results-screen .results-top-route{min-height:clamp(150px,17vw,220px);padding-inline:clamp(24px,3vw,48px)}.results-screen .results-top-route .results-route-title{gap:clamp(12px,1.4vw,22px)}.results-screen .results-top-route .results-route-title strong{font-size:clamp(38px,4vw,68px)}.results-screen .results-top-route .results-route-title svg{width:clamp(24px,1.8vw,32px);height:auto}.results-screen .results-top-route .results-line-chip{min-height:32px;padding-inline:10px;font-size:clamp(10px,.75vw,13px)}.results-screen .results-top-outcome{gap:clamp(18px,2vw,32px);min-height:clamp(250px,22vw,330px);padding-inline:clamp(28px,3.5vw,58px)}.results-screen .results-top-outcome .results-grade-badge{width:clamp(102px,10vw,150px);height:clamp(102px,10vw,150px)}.results-screen .results-top-outcome .results-grade-letter{font-size:clamp(56px,5.8vw,88px)}.results-screen .results-top-outcome .results-grade-title{font-size:clamp(34px,3.2vw,58px)}.results-screen .results-top-outcome .results-grade-hint{margin-top:12px;font-size:clamp(13px,1.05vw,18px)}.results-screen .results-top-meta{margin-top:18px;font-size:clamp(11px,.9vw,14px)}.results-screen .results-zone-mid{min-height:clamp(82px,7vw,112px)}.results-screen .results-zone-mid .results-summary-stat{padding-block:clamp(14px,1.4vw,22px)}.results-screen .results-zone-mid .results-summary-stat>span{font-size:clamp(12px,.95vw,16px)}.results-screen .results-zone-mid .results-summary-stat>strong{margin-top:7px;font-size:clamp(25px,2.4vw,40px)}.results-screen .results-zone-mid .results-summary-stat>strong small{font-size:clamp(10px,.8vw,14px)}.results-screen .results-summary-stat-note{margin-top:6px;font-size:clamp(10px,.75vw,13px)}.results-screen .results-zone-bottom{gap:clamp(22px,3vw,46px)}.results-screen .results-quick-grid{padding-block:clamp(12px,1.2vw,18px)}.results-screen .results-quick-stat span{font-size:clamp(11px,.85vw,14px)}.results-screen .results-quick-stat strong{margin-top:7px;font-size:clamp(20px,1.7vw,30px)}.results-screen .results-zone-bottom .results-actions{grid-template-rows:clamp(58px,5vw,72px);grid-template-columns:minmax(190px,1fr) repeat(4,clamp(52px,4vw,64px));gap:clamp(9px,.8vw,14px)}.results-screen .results-zone-bottom .results-actions[data-shared]{grid-template-columns:minmax(210px,1fr) repeat(2,clamp(52px,4vw,64px))}.results-screen .results-zone-bottom .results-action{min-height:clamp(52px,4vw,66px);font-size:clamp(13px,1vw,17px)}.results-screen .results-zone-bottom .results-action svg{width:clamp(19px,1.35vw,25px);height:auto}.results-screen .results-zone-bottom .results-action--breakdown strong{font-size:clamp(10px,.75vw,13px)}}.results-screen .results-zone-top{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);min-height:clamp(250px,34vh,390px);padding-bottom:0}.results-screen .results-top-route{justify-content:center;min-height:0;padding:clamp(18px,3vw,44px)}.results-screen .results-top-route .results-route-title strong{font-size:clamp(30px,4.7vw,68px)}.results-screen .results-top-outcome{grid-template-columns:clamp(62px,8vw,112px) minmax(0,1fr);align-content:center;align-items:center;gap:clamp(14px,2.2vw,32px);min-height:0;padding:clamp(22px,3.5vw,52px);display:grid}.results-screen .results-top-outcome .results-grade-badge{grid-area:1/1;align-self:start;width:clamp(62px,8vw,112px);height:clamp(62px,8vw,112px);margin-top:clamp(14px,1.5vw,24px)}.results-screen .results-top-outcome .results-grade-body{grid-area:1/2;min-width:0;max-width:none}.results-screen .results-completion-kicker{color:var(--brand-expression);font:800 clamp(10px, .8vw, 14px)/1 var(--font-mono);letter-spacing:.16em;align-items:center;gap:9px;display:flex}.results-screen .results-completion-kicker i{background:linear-gradient(90deg, var(--brand-expression), var(--action-secondary));width:clamp(28px,3.2vw,52px);height:3px;box-shadow:0 0 14px var(--brand-expression);border-radius:999px;display:block}@supports (color:color-mix(in lab, red, red)){.results-screen .results-completion-kicker i{box-shadow:0 0 14px color-mix(in srgb, var(--brand-expression) 48%, transparent)}}.results-screen .results-top-outcome .results-grade-title{letter-spacing:-.04em;margin-top:clamp(8px,1vw,14px);font-size:clamp(34px,4.8vw,76px);line-height:.96}.results-screen .results-grade-result{color:var(--text-secondary);font:800 clamp(13px, 1.35vw, 21px)/1.1 var(--font-serif-hk);margin:8px 0 0}.results-screen .results-score-lockup{color:var(--text-primary);grid-template-columns:auto auto;justify-content:start;align-items:end;column-gap:clamp(6px,.7vw,11px);margin-top:clamp(10px,1.4vw,18px);display:grid}.results-screen .results-score-lockup>span{color:var(--text-secondary);font:800 clamp(9px, .7vw, 12px)/1 var(--font-mono);letter-spacing:.15em;grid-column:1/-1;margin-bottom:5px}.results-screen .results-score-lockup strong{color:var(--action-secondary-text);font:900 clamp(72px, 9vw, 148px)/.78 var(--font-display);letter-spacing:-.08em;text-shadow:3px 4px 0 var(--action-primary);display:block}@supports (color:color-mix(in lab, red, red)){.results-screen .results-score-lockup strong{text-shadow:3px 4px 0 color-mix(in srgb, var(--action-primary) 20%, transparent)}}.results-screen .results-score-lockup strong{transform-origin:0 100%;animation:results-score-pop .56s .11s var(--ease-out) both}.results-screen .results-score-lockup small{color:var(--text-secondary);font:900 clamp(11px, 1vw, 16px)/1 var(--font-mono);letter-spacing:.1em;padding-bottom:3px}.results-screen .results-top-outcome .results-grade-hint{max-width:34rem;margin-top:clamp(10px,1.2vw,16px);font-size:clamp(11px,.95vw,16px)}.results-screen .results-top-meta{margin-top:clamp(10px,1.1vw,16px)}.results-screen .results-zone-mid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:clamp(66px,7vw,104px)}.results-screen .results-zone-mid .results-summary-stat>strong{font-size:clamp(27px,3.2vw,48px)}@keyframes results-score-pop{0%{opacity:0;transform:translateY(12px)scale(.72)}72%{opacity:1;transform:translateY(-2px)scale(1.06)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=700px){.results-screen .results-zone-top{min-height:clamp(260px,38vh,350px)}.results-screen .results-top-route{min-height:90px;padding:16px clamp(16px,5vw,26px) 12px}.results-screen .results-top-route .results-route-title strong{font-size:clamp(27px,8vw,42px)}.results-screen .results-top-outcome{grid-template-columns:clamp(54px,16vw,74px) minmax(0,1fr);gap:clamp(12px,4vw,20px);padding:18px clamp(16px,5vw,26px) 20px}.results-screen .results-top-outcome .results-grade-badge{width:clamp(54px,16vw,74px);height:clamp(54px,16vw,74px);margin-top:12px}.results-screen .results-top-outcome .results-grade-title{font-size:clamp(32px,9.2vw,48px)}.results-screen .results-score-lockup{margin-top:9px}.results-screen .results-score-lockup strong{font-size:clamp(66px,21vw,96px)}.results-screen .results-top-meta{margin-top:8px}.results-screen .results-zone-mid{min-height:70px}}@media (prefers-reduced-motion:reduce){.results-screen .results-score-lockup strong{animation:none}}.results-screen{padding:clamp(12px, 2.4vw, 34px) max(clamp(12px, 4vw, 52px), env(safe-area-inset-left)) max(clamp(12px, 2.4vw, 34px), env(safe-area-inset-bottom)) max(clamp(12px, 4vw, 52px), env(safe-area-inset-right));align-items:start;overflow:hidden}.results-screen .results-three-part{grid-template-rows:auto auto auto auto;gap:clamp(8px,1.2vw,16px);width:min(100%,980px);height:auto;min-height:0;margin:0 auto;overflow:visible}.results-screen .results-zone-top{background:radial-gradient(circle at 50% 58%, var(--action-primary), transparent 40%), radial-gradient(circle at 50% 45%, var(--surface-raised), transparent 70%);border:0;border-radius:0;flex-direction:column;align-items:center;min-height:0;padding:clamp(16px,2.3vw,30px) clamp(16px,4.5vw,64px) clamp(18px,2.6vw,34px);display:flex}@supports (color:color-mix(in lab, red, red)){.results-screen .results-zone-top{background:radial-gradient(circle at 50% 58%, color-mix(in srgb, var(--action-primary) 14%, transparent), transparent 40%), radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--surface-raised) 54%, transparent), transparent 70%)}}.results-screen .results-zone-top{box-shadow:none;isolation:isolate}.results-screen .results-zone-top:before{z-index:-1;border-radius:inherit;background:linear-gradient(90deg, transparent, var(--brand-expression), transparent) top / 42% 3px no-repeat, repeating-linear-gradient(135deg, transparent 0 20px, var(--result-line) 21px 22px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.results-screen .results-zone-top:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand-expression) 75%, transparent), transparent) top / 42% 3px no-repeat, repeating-linear-gradient(135deg, transparent 0 20px, color-mix(in srgb, var(--result-line) 28%, transparent) 21px 22px)}}.results-screen .results-zone-top:before{content:"";opacity:.56;pointer-events:none}.results-screen .results-zone-top:after{opacity:.82;display:none;bottom:clamp(12px,1.6vw,20px);left:clamp(20px,8vw,110px);right:clamp(20px,8vw,110px)}.results-screen .results-top-route{border-right:0;border-bottom:1px solid var(--result-line);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;width:100%;min-height:0;padding:0 0 clamp(10px,1.4vw,16px);display:flex}.results-screen .results-top-route>div:first-child{min-width:0}.results-screen .results-top-route .results-eyebrow{color:var(--brand-expression);margin-bottom:5px;font-size:clamp(9px,.75vw,13px)}.results-screen .results-top-route .results-route-title{white-space:nowrap;justify-content:center;align-items:center;gap:clamp(8px,1.2vw,16px);display:flex}.results-screen .results-top-route .results-route-title strong{font-size:clamp(22px,3.2vw,52px);line-height:1}.results-screen .results-top-route .results-route-title svg{width:clamp(16px,1.8vw,28px);color:var(--brand-expression)}.results-screen .results-line-chips,.results-screen .results-learning-focus{flex:none;max-width:42%}.results-screen .results-top-outcome{text-align:center;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;min-height:0;padding:clamp(18px,2.6vw,32px) 0 0;display:flex;overflow:visible}.results-screen .results-top-outcome .results-grade-badge{width:clamp(58px,7vw,94px);height:clamp(58px,7vw,94px);box-shadow:5px 6px 0 var(--action-primary), 0 0 28px var(--action-secondary);border-radius:20px 20px 7px;align-self:center;margin:0 0 clamp(8px,1.2vw,14px)}@supports (color:color-mix(in lab, red, red)){.results-screen .results-top-outcome .results-grade-badge{box-shadow:5px 6px 0 color-mix(in srgb, var(--action-primary) 34%, transparent), 0 0 28px color-mix(in srgb, var(--action-secondary) 22%, transparent)}}.results-screen .results-top-outcome .results-grade-letter{font-size:clamp(34px,4vw,62px)}.results-screen .results-top-outcome .results-grade-body{flex-direction:column;align-items:center;width:100%;min-width:0;max-width:760px;display:flex}.results-screen .results-completion-kicker{justify-content:center;font-size:clamp(10px,.8vw,14px)}.results-screen .results-top-outcome .results-grade-title{text-wrap:balance;margin-top:clamp(6px,.8vw,12px);font-size:clamp(30px,4.6vw,70px);line-height:.98}.results-screen .results-grade-result{margin-top:6px;font-size:clamp(13px,1.25vw,20px)}.results-screen .results-score-lockup{justify-content:center;align-items:baseline;gap:clamp(6px,.7vw,11px);margin-top:clamp(9px,1.2vw,16px);display:flex}.results-screen .results-score-lockup>span{width:auto;color:var(--text-secondary);letter-spacing:.13em;order:3;margin:0;font-size:clamp(9px,.7vw,12px)}.results-screen .results-score-lockup strong{font-size:clamp(64px,8.2vw,132px);line-height:.78}.results-screen .results-score-lockup small{padding-bottom:2px;font-size:clamp(10px,.9vw,15px)}.results-screen .results-top-outcome .results-grade-hint{max-width:46rem;margin-top:clamp(9px,1vw,14px);font-size:clamp(11px,.95vw,16px);line-height:1.2}.results-screen .results-events-empty small{color:var(--text-tertiary);opacity:.78;font-size:.78em}.results-screen .results-detail-modal .results-detail-hanzi{font-family:var(--font-serif-hk)!important}.results-screen .results-top-meta{justify-content:center;margin-top:clamp(8px,1vw,14px);font-size:clamp(9px,.78vw,13px)}.results-screen .results-zone-mid{border-block:1px solid var(--result-line);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-height:0}.results-screen .results-zone-mid .results-summary-stat{min-width:0;padding:clamp(8px,1.1vw,14px) clamp(10px,2vw,24px)}.results-screen .results-zone-mid .results-summary-stat>span{font-size:clamp(10px,.82vw,14px)}.results-screen .results-zone-mid .results-summary-stat>strong{margin-top:3px;font-size:clamp(27px,3vw,48px)}.results-screen .results-zone-bottom{grid-template-columns:minmax(0,1fr);gap:clamp(8px,1.2vw,14px);width:100%;padding:0}.results-screen .results-bottom-summary{width:100%}.results-screen .results-quick-grid{padding-block:clamp(5px,.8vw,10px)}.results-screen .results-quick-stat{padding-inline:clamp(7px,1.2vw,16px)}.results-screen .results-quick-stat span{font-size:clamp(9px,.75vw,13px)}.results-screen .results-quick-stat strong{margin-top:3px;font-size:clamp(18px,1.7vw,29px)}.results-screen .results-zone-bottom .results-actions,.results-screen .results-zone-bottom .results-actions[data-shared]{grid-template-rows:clamp(44px,4vw,58px);grid-template-columns:minmax(0,1fr) repeat(4,clamp(42px,4vw,56px));gap:clamp(6px,.8vw,10px);width:min(100%,760px);margin-inline:auto}.results-screen .results-zone-bottom .results-action{border-radius:14px 18px 7px;min-height:0}.results-screen .results-footer{text-align:center;width:100%;margin-top:clamp(2px,.5vw,6px);position:static}@media (width<=560px){.results-screen{padding-top:10px}.results-screen .results-three-part{gap:7px}.results-screen .results-zone-top{border-radius:22px 8px;padding-inline:clamp(12px,4vw,20px)}.results-screen .results-top-route{flex-direction:column;align-items:flex-start;gap:8px}.results-screen .results-line-chips,.results-screen .results-learning-focus{max-width:100%}.results-screen .results-top-outcome{padding-top:14px}.results-screen .results-top-outcome .results-grade-badge{margin-bottom:7px}.results-screen .results-top-outcome .results-grade-title{font-size:clamp(28px,9vw,42px)}.results-screen .results-score-lockup strong{font-size:clamp(62px,20vw,88px)}.results-screen .results-top-outcome .results-grade-hint{max-width:100%}.results-screen .results-zone-bottom .results-actions,.results-screen .results-zone-bottom .results-actions[data-shared]{grid-template-rows:46px;grid-template-columns:minmax(0,1fr) repeat(4,42px)}.results-screen .results-zone-bottom .results-action-primary strong{font-size:13px}}@media (width<=360px){.results-screen .results-top-route .results-route-title strong{font-size:20px}.results-screen .results-zone-bottom .results-actions,.results-screen .results-zone-bottom .results-actions[data-shared]{grid-template-columns:minmax(0,1fr) repeat(4,38px);gap:5px}.results-screen .results-zone-bottom .results-action svg{width:16px}}@media (width>=900px){.results-screen .results-zone-top{padding-block:18px 22px}.results-screen .results-top-route{padding-bottom:10px}.results-screen .results-top-outcome{padding-top:16px}.results-screen .results-top-outcome .results-grade-badge{width:clamp(68px,6vw,82px);height:clamp(68px,6vw,82px);margin-bottom:9px}.results-screen .results-top-outcome .results-grade-letter{font-size:clamp(40px,4vw,56px)}.results-screen .results-top-outcome .results-grade-title{font-size:clamp(30px,3.7vw,58px)}.results-screen .results-score-lockup{margin-top:10px}.results-screen .results-score-lockup strong{font-size:clamp(54px,6vw,104px)}.results-screen .results-top-outcome .results-grade-hint,.results-screen .results-top-meta{margin-top:8px}.results-screen .results-zone-mid{max-width:760px;margin-inline:auto}.results-screen .results-zone-mid .results-summary-stat{padding-block:8px}.results-screen .results-zone-mid .results-summary-stat>strong{font-size:clamp(27px,2.8vw,38px)}.results-screen .results-zone-bottom{gap:7px}.results-screen .results-quick-grid{padding-block:6px}.results-screen .results-zone-bottom .results-actions,.results-screen .results-zone-bottom .results-actions[data-shared]{grid-template-rows:clamp(46px,3.8vw,54px)}.results-screen .results-footer{margin-top:2px}}.results-screen .results-zone-bottom .results-actions,.results-screen .results-zone-bottom .results-actions[data-shared]{--result-action-size:clamp(48px, 4vw, 56px);height:var(--result-action-size);grid-template-columns:minmax(0, 1fr) repeat(4, var(--result-action-size));grid-template-rows:var(--result-action-size);align-self:center}.results-screen .results-zone-bottom .results-actions[data-shared]{grid-template-columns:minmax(0, 1fr) repeat(2, var(--result-action-size))}.results-screen .results-zone-bottom{overflow:visible}.results-screen .results-zone-bottom .results-actions:not([data-shared]){grid-template-columns:repeat(2, var(--result-action-size)) minmax(0, 1fr) repeat(2, var(--result-action-size))}.results-screen .results-zone-bottom .results-action{width:100%;max-height:var(--result-action-size);aspect-ratio:auto;box-sizing:border-box;height:var(--result-action-size)!important;min-height:var(--result-action-size)!important}.results-screen .results-zone-bottom .results-action:not(.results-action-primary){min-width:var(--result-action-size);aspect-ratio:1}.results-screen .results-zone-bottom .results-action-primary{min-width:0;padding-inline:clamp(8px,1vw,16px)}.results-screen .results-zone-bottom .results-action-primary .results-action-label{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:inline-flex}.results-screen .results-zone-bottom .results-action-primary .results-action-label small{color:currentColor;font:800 7px/1 var(--font-mono);letter-spacing:.08em;opacity:.8}.results-screen .results-top-route{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;display:grid}.results-screen .results-top-route>div:first-child{justify-items:center;width:100%;display:grid}.results-screen .results-top-route .results-line-chips,.results-screen .results-top-route .results-learning-focus{grid-column:1;justify-content:center}.results-screen .results-top-route .results-line-chips{flex-basis:auto;align-self:stretch;width:100%;max-width:none}.results-screen .results-zone-mid .results-summary-stat{box-shadow:none!important;background:0 0!important}.results-screen .results-summary-stat-note:first-letter{color:inherit}@media (width<=560px){.results-screen .results-zone-bottom .results-actions,.results-screen .results-zone-bottom .results-actions[data-shared]{--result-action-size:48px}.results-screen .results-zone-bottom .results-action-primary .results-action-label small{font-size:6px}.results-screen .results-top-route{text-align:center;align-items:center}.results-screen .results-top-route .results-route-title{white-space:normal;flex-wrap:wrap}}@media (width>=561px){.results-screen .results-top-route .results-line-chips{flex-basis:100%}}:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice]) :where(.learning-model-examples span,.learning-initial-category,.learning-reference-initial-group,.learning-final-map-scroll){border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice]) :where(.learning-model-examples span,.learning-initial-category,.learning-reference-initial-group,.learning-final-map-scroll){border-color:color-mix(in srgb, var(--mode-accent) 42%, var(--border-strong))!important}}:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice]) :where(.learning-model-examples span,.learning-initial-category,.learning-reference-initial-group,.learning-final-map-scroll){background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){:where(.learning-system-screen[data-mode-card=sound-system],.learning-practice-screen[data-mode-card=typing-practice]) :where(.learning-model-examples span,.learning-initial-category,.learning-reference-initial-group,.learning-final-map-scroll){background:color-mix(in srgb, var(--surface-raised) 92%, var(--mode-accent))!important}}.learning-system-screen[data-mode-card=sound-system] .learning-section-kicker,.learning-system-screen[data-mode-card=sound-system] .learning-sound-tile.is-selected{color:var(--mode-accent)!important}.learning-system-screen[data-mode-card=sound-system] :where(.learning-sound-tile:hover:not(:disabled),.learning-sound-tile:focus-visible,.learning-sound-tile.is-selected,.learning-example-audio:hover:not(:disabled),.learning-example-audio:focus-visible,.learning-secondary-action:hover:not(:disabled),.learning-secondary-action:focus-visible){border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important;box-shadow:0 0 0 3px var(--mode-accent), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){.learning-system-screen[data-mode-card=sound-system] :where(.learning-sound-tile:hover:not(:disabled),.learning-sound-tile:focus-visible,.learning-sound-tile.is-selected,.learning-example-audio:hover:not(:disabled),.learning-example-audio:focus-visible,.learning-secondary-action:hover:not(:disabled),.learning-secondary-action:focus-visible){box-shadow:0 0 0 3px color-mix(in srgb, var(--mode-accent) 16%, transparent), var(--shadow-2)!important}}.learning-practice-screen[data-mode-card=typing-practice] .learning-input-wrap,.learning-practice-screen[data-mode-card=typing-practice] .learning-target-sign{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice] .learning-input-wrap,.learning-practice-screen[data-mode-card=typing-practice] .learning-target-sign{border-color:color-mix(in srgb, var(--mode-accent) 62%, var(--border-strong))!important}}.learning-practice-screen[data-mode-card=typing-practice] .learning-input-wrap,.learning-practice-screen[data-mode-card=typing-practice] .learning-target-sign{box-shadow:0 0 0 2px var(--mode-accent), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice] .learning-input-wrap,.learning-practice-screen[data-mode-card=typing-practice] .learning-target-sign{box-shadow:0 0 0 2px color-mix(in srgb, var(--mode-accent) 12%, transparent), var(--shadow-2)!important}}.learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console{border-color:color-mix(in srgb, var(--mode-accent) 58%, var(--border-strong))!important}}.learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console{background:radial-gradient(circle at 12% 8%, var(--mode-accent), transparent 32%), radial-gradient(circle at 88% 92%, var(--mode-accent), transparent 30%), linear-gradient(145deg, var(--surface-raised), var(--surface-sunken) 78%)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console{background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--mode-accent) 22%, transparent), transparent 32%), radial-gradient(circle at 88% 92%, color-mix(in srgb, var(--mode-accent) 12%, transparent), transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 80%, var(--mode-accent) 20%), color-mix(in srgb, var(--surface-sunken) 90%, var(--mode-accent) 10%) 78%)!important}}.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){border-color:color-mix(in srgb, var(--mode-accent) 50%, var(--border-strong))!important}}.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){background:linear-gradient(160deg, var(--surface-raised), var(--surface-sunken) 82%)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){background:linear-gradient(160deg, color-mix(in srgb, var(--surface-raised) 84%, var(--mode-accent) 16%), color-mix(in srgb, var(--surface-sunken) 92%, var(--mode-accent) 8%) 82%)!important}}.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){color:var(--text-primary)!important;box-shadow:0 4px 0 var(--border-strong)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){box-shadow:0 4px 0 color-mix(in srgb, var(--border-strong) 72%, var(--mode-accent))!important}}.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key:hover,.learning-arcade-key:focus-visible,.learning-arcade-action:hover:not(:disabled),.learning-arcade-action:focus-visible){border-color:var(--mode-accent)!important;background:linear-gradient(160deg, var(--mode-accent), var(--mode-accent) 82%)!important}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key:hover,.learning-arcade-key:focus-visible,.learning-arcade-action:hover:not(:disabled),.learning-arcade-action:focus-visible){background:linear-gradient(160deg, color-mix(in srgb, var(--mode-accent) 28%, var(--surface-raised)), color-mix(in srgb, var(--mode-accent) 16%, var(--surface-sunken)) 82%)!important}}.learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key:hover,.learning-arcade-key:focus-visible,.learning-arcade-action:hover:not(:disabled),.learning-arcade-action:focus-visible){color:var(--mode-accent-ink)!important}.full-line-screen[data-mode-card=line-attack] :where(.line-selector button:not([aria-selected=true]),.direction-list button){color:var(--text-primary)!important;background:linear-gradient(160deg, var(--surface-raised), var(--surface-sunken))!important}@supports (color:color-mix(in lab, red, red)){.full-line-screen[data-mode-card=line-attack] :where(.line-selector button:not([aria-selected=true]),.direction-list button){background:linear-gradient(160deg, color-mix(in srgb, var(--surface-raised) 94%, var(--mode-accent)), color-mix(in srgb, var(--surface-sunken) 92%, var(--mode-accent)))!important}}.full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true],.full-line-screen[data-mode-card=line-attack] :where(.direction-list button:hover:not(:disabled),.direction-list button:focus-visible){border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important;box-shadow:0 0 0 2px var(--mode-accent), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){.full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true],.full-line-screen[data-mode-card=line-attack] :where(.direction-list button:hover:not(:disabled),.direction-list button:focus-visible){box-shadow:0 0 0 2px color-mix(in srgb, var(--mode-accent) 18%, transparent), var(--shadow-2)!important}}.full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true]>span small,.full-line-screen[data-mode-card=line-attack] .direction-list button:hover>span small,.full-line-screen[data-mode-card=line-attack] .direction-list button:focus-visible>span small{color:var(--mode-accent-ink)!important}.start-screen[data-mode-card=free-ride]{--mode-accent-ink:var(--brand-expression-text)}.start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap){border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap){border-color:color-mix(in srgb, var(--mode-accent) 46%, var(--border-strong))!important}}.start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap){background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){.start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap){background:color-mix(in srgb, var(--surface-raised) 94%, var(--mode-accent))!important}}.start-screen[data-mode-card=free-ride] :where(.planner-field:hover:not(:disabled),.planner-field:focus-visible,.planner-field.is-selecting,.route-menu-trigger:hover:not(:disabled),.route-menu-trigger:focus-visible,.random-route-button:hover:not(:disabled),.random-route-button:focus-visible,.planner-swap:hover:not(:disabled),.planner-swap:focus-visible){border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important}.start-screen[data-mode-card=free-ride] .planner-map-tools{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){.start-screen[data-mode-card=free-ride] .planner-map-tools{border-color:color-mix(in srgb, var(--mode-accent) 48%, var(--border-strong))!important}}.start-screen[data-mode-card=free-ride] .planner-map-tools{background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){.start-screen[data-mode-card=free-ride] .planner-map-tools{background:color-mix(in srgb, var(--surface-raised) 94%, var(--mode-accent))!important}}.start-screen[data-mode-card=free-ride] .planner-map-tools button{color:var(--mode-accent-ink)!important}.start-screen[data-mode-card=free-ride] .planner-map-tools button:hover:not(:disabled),.start-screen[data-mode-card=free-ride] .planner-map-tools button:focus-visible{background:var(--mode-accent)!important;color:var(--mode-accent-text)!important}.start-screen[data-mode-card=free-ride] .depart-button{border-color:var(--mode-accent)!important;background:linear-gradient(135deg, var(--mode-accent), var(--mode-accent-hover))!important;color:var(--mode-accent-text)!important}html body .learning-system-screen[data-mode-card=sound-system] :where(.learning-sound-tile:hover:not(:disabled),.learning-sound-tile:focus-visible,.learning-sound-tile.is-selected,.learning-example-audio:hover:not(:disabled),.learning-example-audio:focus-visible,.learning-secondary-action:hover:not(:disabled),.learning-secondary-action:focus-visible){border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important}html body .full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true],html body .full-line-screen[data-mode-card=line-attack] :where(.direction-list button:hover:not(:disabled),.direction-list button:focus-visible){border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important;box-shadow:0 0 0 2px var(--mode-accent), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){html body .full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true],html body .full-line-screen[data-mode-card=line-attack] :where(.direction-list button:hover:not(:disabled),.direction-list button:focus-visible){box-shadow:0 0 0 2px color-mix(in srgb, var(--mode-accent) 18%, transparent), var(--shadow-2)!important}}html body .start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap,.planner-map-tools){border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){html body .start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap,.planner-map-tools){border-color:color-mix(in srgb, var(--mode-accent) 48%, var(--border-strong))!important}}html body .start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap,.planner-map-tools){background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html body .start-screen[data-mode-card=free-ride] :where(.planner-field,.route-menu-trigger,.random-route-button,.planner-swap,.planner-map-tools){background:color-mix(in srgb, var(--surface-raised) 94%, var(--mode-accent))!important}}html body .start-screen[data-mode-card=free-ride] .planner-map-tools button{color:var(--mode-accent-ink)!important}html body .start-screen[data-mode-card=free-ride] .planner-map-tools button:hover:not(:disabled),html body .start-screen[data-mode-card=free-ride] .planner-map-tools button:focus-visible{background:var(--mode-accent)!important;color:var(--mode-accent-text)!important}html.dark body .learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console,html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console,html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console{border-color:color-mix(in srgb, var(--mode-accent) 58%, var(--border-strong))!important}}html.dark body .learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console,html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console{background:radial-gradient(circle at 12% 8%, var(--mode-accent), transparent 32%), radial-gradient(circle at 88% 92%, var(--mode-accent), transparent 30%), linear-gradient(145deg, var(--surface-raised), var(--surface-sunken) 78%)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console,html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] .learning-arcade-console{background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--mode-accent) 22%, transparent), transparent 32%), radial-gradient(circle at 88% 92%, color-mix(in srgb, var(--mode-accent) 12%, transparent), transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 80%, var(--mode-accent) 20%), color-mix(in srgb, var(--surface-sunken) 90%, var(--mode-accent) 10%) 78%)!important}}html.dark body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){border-color:color-mix(in srgb, var(--mode-accent) 50%, var(--border-strong))!important}}html.dark body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){background:linear-gradient(160deg, var(--surface-raised), var(--surface-sunken) 82%)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){background:linear-gradient(160deg, color-mix(in srgb, var(--surface-raised) 84%, var(--mode-accent) 16%), color-mix(in srgb, var(--surface-sunken) 92%, var(--mode-accent) 8%) 82%)!important}}html.dark body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){color:var(--text-primary)!important;box-shadow:0 4px 0 var(--border-strong)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :where(.learning-arcade-key,.learning-arcade-action){box-shadow:0 4px 0 color-mix(in srgb, var(--border-strong) 72%, var(--mode-accent))!important}}html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-tile.is-selected,html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-tile:hover:not(:disabled),html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-tile:focus-visible{border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important}html body .full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true],html body .full-line-screen[data-mode-card=line-attack] .direction-list button:hover:not(:disabled),html body .full-line-screen[data-mode-card=line-attack] .direction-list button:focus-visible{border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important;box-shadow:0 0 0 2px var(--mode-accent), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){html body .full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true],html body .full-line-screen[data-mode-card=line-attack] .direction-list button:hover:not(:disabled),html body .full-line-screen[data-mode-card=line-attack] .direction-list button:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--mode-accent) 18%, transparent), var(--shadow-2)!important}}html body .full-line-screen[data-mode-card=line-attack] .line-selector button:not([aria-selected=true]),html body .full-line-screen[data-mode-card=line-attack] .direction-list button{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){html body .full-line-screen[data-mode-card=line-attack] .line-selector button:not([aria-selected=true]),html body .full-line-screen[data-mode-card=line-attack] .direction-list button{border-color:color-mix(in srgb, var(--mode-accent) 38%, var(--border-strong))!important}}html body .full-line-screen[data-mode-card=line-attack] .line-selector button:not([aria-selected=true]),html body .full-line-screen[data-mode-card=line-attack] .direction-list button{background:linear-gradient(160deg, var(--surface-raised), var(--surface-sunken))!important}@supports (color:color-mix(in lab, red, red)){html body .full-line-screen[data-mode-card=line-attack] .line-selector button:not([aria-selected=true]),html body .full-line-screen[data-mode-card=line-attack] .direction-list button{background:linear-gradient(160deg, color-mix(in srgb, var(--surface-raised) 94%, var(--mode-accent)), color-mix(in srgb, var(--surface-sunken) 92%, var(--mode-accent)))!important}}html body .full-line-screen[data-mode-card=line-attack] .line-selector button:not([aria-selected=true]),html body .full-line-screen[data-mode-card=line-attack] .direction-list button{color:var(--text-primary)!important}html body .full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true]{border-color:var(--mode-accent-hover)!important;background:var(--mode-accent)!important;color:var(--mode-accent-text)!important;box-shadow:0 0 0 2px var(--mode-accent), var(--shadow-2)!important}@supports (color:color-mix(in lab, red, red)){html body .full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true]{box-shadow:0 0 0 2px color-mix(in srgb, var(--mode-accent) 22%, transparent), var(--shadow-2)!important}}html body .full-line-screen[data-mode-card=line-attack] .line-selector button[aria-selected=true]>span small{opacity:.78;color:var(--mode-accent-text)!important}html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-part,html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-station-match{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-part,html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-station-match{border-color:color-mix(in srgb, var(--mode-accent) 46%, var(--border-strong))!important}}html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-part.is-active,html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-part.is-selected,html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-station-match:hover,html body .learning-system-screen[data-mode-card=sound-system] .learning-sound-station-match:focus-visible{border-color:var(--mode-accent)!important;background:var(--mode-accent-soft)!important;color:var(--mode-accent-ink)!important}html body .start-screen[data-mode-card=free-ride] .planner-map-tools{border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){html body .start-screen[data-mode-card=free-ride] .planner-map-tools{border-color:color-mix(in srgb, var(--mode-accent) 48%, var(--border-strong))!important}}html body .start-screen[data-mode-card=free-ride] .planner-map-tools{background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html body .start-screen[data-mode-card=free-ride] .planner-map-tools{background:color-mix(in srgb, var(--surface-raised) 94%, var(--mode-accent))!important}}html.dark body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action){border-color:var(--mode-accent)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action){border-color:color-mix(in srgb, var(--mode-accent) 50%, var(--border-strong))!important}}html.dark body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action){background:linear-gradient(160deg, var(--surface-raised), var(--surface-sunken) 82%)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action){background:linear-gradient(160deg, color-mix(in srgb, var(--surface-raised) 84%, var(--mode-accent) 16%), color-mix(in srgb, var(--surface-sunken) 92%, var(--mode-accent) 8%) 82%)!important}}html.dark body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action){color:var(--text-primary)!important;box-shadow:0 4px 0 var(--border-strong)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action),html:not(.dark) body .learning-practice-screen[data-mode-card=typing-practice] :is(.learning-arcade-key,.learning-arcade-action){box-shadow:0 4px 0 color-mix(in srgb, var(--border-strong) 72%, var(--mode-accent))!important}}.learning-practice-screen .learning-station-word>span.is-wrong{z-index:0;position:relative;transform:translateY(-1px);color:var(--stage-text)!important;text-decoration:none!important}.learning-practice-screen .learning-station-word>span.is-wrong:after{z-index:-1;content:"";pointer-events:none;border:3px solid var(--status-critical,#ff5964);background:var(--status-critical,#ff5964);border-radius:999px;position:absolute;inset:-.12em -.22em}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen .learning-station-word>span.is-wrong:after{background:color-mix(in srgb, var(--status-critical,#ff5964) 10%, transparent)}}.learning-practice-screen .learning-station-word>span.is-wrong:after{box-shadow:0 0 0 2px var(--stage-text), 0 0 16px var(--status-critical,#ff5964)}@supports (color:color-mix(in lab, red, red)){.learning-practice-screen .learning-station-word>span.is-wrong:after{box-shadow:0 0 0 2px color-mix(in srgb, var(--stage-text) 22%, transparent), 0 0 16px color-mix(in srgb, var(--status-critical,#ff5964) 28%, transparent)}}.learning-practice-screen .learning-station-word>span.is-wrong:after{animation:wrong-word-mark .22s var(--ease-out,ease-out)}@keyframes wrong-word-mark{0%{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.learning-practice-screen .learning-station-word>span.is-wrong:after{animation:none}}html body .compact-game-mark{--cm-badge-accent:var(--mode-accent,var(--action-primary));--cm-badge-accent-strong:var(--mode-accent-hover,var(--action-primary-hover));box-sizing:border-box!important;border:1px solid var(--cm-badge-accent)!important;flex:none!important;align-items:center!important;min-width:max-content!important;min-height:48px!important;padding:8px 14px 8px 15px!important;display:inline-flex!important}@supports (color:color-mix(in lab, red, red)){html body .compact-game-mark{border:1px solid color-mix(in srgb, var(--cm-badge-accent) 64%, var(--border-strong))!important}}html body .compact-game-mark{border-radius:var(--cm-badge-radius)!important;background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html body .compact-game-mark{background:color-mix(in srgb, var(--surface-raised) 91%, var(--cm-badge-accent) 9%)!important}}html body .compact-game-mark{box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff94!important;filter:none!important;text-shadow:none!important;white-space:nowrap!important;transform:none!important}html body .compact-game-mark:before{content:""!important;background:linear-gradient(180deg, var(--cm-badge-accent), var(--cm-badge-accent-strong))!important;border-radius:999px!important;width:3px!important;position:absolute!important;inset:8px auto 8px 0!important}html body .compact-game-mark>span{min-width:0!important;text-shadow:none!important;padding-left:8px!important}html body .compact-game-mark strong{color:var(--text-primary)!important;letter-spacing:.01em!important;text-shadow:none!important;font-size:clamp(14px,1.2vw,17px)!important;line-height:1!important}html body .compact-game-mark strong em{color:var(--cm-badge-accent)!important}html body .compact-game-mark small{max-width:none!important;color:var(--cm-badge-accent)!important;display:block!important;overflow:visible!important}@supports (color:color-mix(in lab, red, red)){html body .compact-game-mark small{color:color-mix(in srgb, var(--cm-badge-accent) 72%, var(--text-primary))!important}}html body .compact-game-mark small{letter-spacing:.12em!important;text-overflow:clip!important;text-shadow:none!important;white-space:nowrap!important;font-size:clamp(8px,.75vw,10px)!important;line-height:1.1!important}html body .game-lobby-redesign .compact-game-mark,html body .results-screen .compact-game-mark{--cm-badge-accent:var(--brand-expression);--cm-badge-accent-strong:var(--brand-expression-strong)}html body .game-shell[data-product-mode=challenge] .compact-game-mark{--cm-badge-accent:var(--game-cyan,var(--action-primary));--cm-badge-accent-strong:var(--action-primary-hover)}html.dark body .compact-game-mark{background:var(--surface-raised)!important}@supports (color:color-mix(in lab, red, red)){html.dark body .compact-game-mark{background:color-mix(in srgb, var(--surface-raised) 88%, var(--cm-badge-accent) 12%)!important}}html.dark body .compact-game-mark{box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff1a!important}html body .shared-result-header{align-items:center!important}html body .shared-result-header .shared-result-invite{order:1;margin-inline-end:auto}html body .shared-result-header>.compact-game-mark{order:2}@media (width<=760px){html body .compact-game-mark{min-height:44px!important;padding:7px 11px 7px 12px!important}html body .compact-game-mark strong{font-size:13px!important}html body .compact-game-mark small{letter-spacing:.08em!important;font-size:8px!important}}html body .shared-result-shell{width:min(760px,100%)!important;height:auto!important;min-height:100%!important;padding:clamp(14px,3vw,30px) 0 38px!important}html body .shared-result-card{border:1px solid var(--brand-expression)!important;width:min(700px,100%)!important;padding:clamp(24px,4.5vmin,42px)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-card{border:1px solid color-mix(in srgb, var(--brand-expression) 34%, var(--border-strong))!important}}html body .shared-result-card{background:radial-gradient(circle at 92% 0%, var(--brand-expression), transparent 30%), linear-gradient(145deg, var(--surface-raised), var(--surface-sunken))!important;border-radius:26px 10px 26px 26px!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-card{background:radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--brand-expression) 18%, transparent), transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 96%, var(--action-primary) 4%), color-mix(in srgb, var(--surface-sunken) 96%, var(--brand-expression) 4%))!important}}html body .shared-result-card{box-shadow:0 24px 60px var(--shadow-color), inset 0 1px 0 #fff9!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-card{box-shadow:0 24px 60px color-mix(in srgb, var(--shadow-color) 30%, transparent), inset 0 1px 0 #fff9!important}}html.dark body .shared-result-card{background:radial-gradient(circle at 92% 0%, var(--brand-expression), transparent 32%), linear-gradient(145deg, var(--surface-raised), var(--surface-sunken))!important}@supports (color:color-mix(in lab, red, red)){html.dark body .shared-result-card{background:radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--brand-expression) 20%, transparent), transparent 32%), linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 94%, var(--action-primary) 6%), color-mix(in srgb, var(--surface-sunken) 94%, var(--brand-expression) 6%))!important}}html.dark body .shared-result-card{box-shadow:0 24px 60px #0000007a,inset 0 1px #ffffff1a!important}html body .shared-result-header{border-bottom:1px solid var(--brand-expression);padding-bottom:18px;min-height:48px!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-header{border-bottom:1px solid color-mix(in srgb, var(--brand-expression) 20%, var(--border-subtle))}}html body .shared-result-invite{border:1px solid var(--brand-expression);padding:7px 10px}@supports (color:color-mix(in lab, red, red)){html body .shared-result-invite{border:1px solid color-mix(in srgb, var(--brand-expression) 30%, var(--border-subtle))}}html body .shared-result-invite{background:var(--brand-expression);border-radius:999px}@supports (color:color-mix(in lab, red, red)){html body .shared-result-invite{background:color-mix(in srgb, var(--brand-expression) 9%, var(--surface-raised))}}html body .shared-result-invite{color:var(--brand-expression)}@supports (color:color-mix(in lab, red, red)){html body .shared-result-invite{color:color-mix(in srgb, var(--brand-expression) 78%, var(--text-primary))}}html body .shared-result-invite{letter-spacing:.02em;font-size:11px}html body .shared-result-route{margin-top:clamp(24px,4.5vmin,38px)!important;padding:0!important}html body .shared-result-route-kicker,html body .shared-result-score-kicker{color:var(--text-secondary);font:700 10px/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:baseline;gap:8px;display:flex}html body .shared-result-route-kicker em,html body .shared-result-score-kicker{color:var(--brand-expression)}@supports (color:color-mix(in lab, red, red)){html body .shared-result-route-kicker em,html body .shared-result-score-kicker{color:color-mix(in srgb, var(--brand-expression) 72%, var(--text-primary))}}html body .shared-result-route-kicker em,html body .shared-result-score-kicker{font-style:normal}html body .shared-result-route-stops{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(12px,3vw,24px);margin-top:13px;display:grid;position:relative}html body .shared-result-route-stops:before{z-index:0;background:linear-gradient(90deg, var(--brand-expression), var(--action-primary));height:2px;position:absolute;top:50%;left:35%;right:35%}@supports (color:color-mix(in lab, red, red)){html body .shared-result-route-stops:before{background:linear-gradient(90deg, color-mix(in srgb, var(--brand-expression) 70%, transparent), color-mix(in srgb, var(--action-primary) 70%, transparent))}}html body .shared-result-route-stops:before{content:"";opacity:.58}html body .shared-result-route-stops strong{z-index:1;background:var(--surface-raised);min-width:0;padding:0 9px;position:relative;font-size:clamp(30px,6.4vmin,52px)!important;line-height:1!important}html body .shared-result-route-stops strong:last-child{text-align:right}html body .shared-result-route-stops svg{z-index:1;border:1px solid var(--action-primary);padding:5px;position:relative}@supports (color:color-mix(in lab, red, red)){html body .shared-result-route-stops svg{border:1px solid color-mix(in srgb, var(--action-primary) 34%, var(--border-subtle))}}html body .shared-result-route-stops svg{background:var(--surface-raised);box-sizing:content-box;border-radius:999px;color:var(--action-primary)!important}html body .shared-result-score{border:1px solid var(--action-primary);padding:clamp(16px,3vmin,24px);margin-top:clamp(22px,4vmin,34px)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-score{border:1px solid color-mix(in srgb, var(--action-primary) 24%, var(--border-subtle))}}html body .shared-result-score{background:var(--action-primary);border-radius:18px 8px 18px 18px}@supports (color:color-mix(in lab, red, red)){html body .shared-result-score{background:color-mix(in srgb, var(--action-primary) 7%, var(--surface-raised))}}html body .shared-result-score .results-grade-badge{width:clamp(92px,17vmin,124px)!important;height:clamp(92px,17vmin,124px)!important;box-shadow:7px 7px 0 var(--action-primary)!important;border-radius:24px 24px 8px!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-score .results-grade-badge{box-shadow:7px 7px 0 color-mix(in srgb, var(--action-primary) 42%, transparent)!important}}html body .shared-result-score-copy{min-width:0}html body .shared-result-score-kicker{color:var(--text-secondary);margin-bottom:9px}html body .shared-result-score-copy h1{font-size:clamp(28px,5.4vmin,46px)!important}html body .shared-result-score-copy p{max-width:34ch;margin-top:10px}html body .shared-result-metrics{border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:16px;overflow:hidden;margin-top:clamp(22px,4vmin,32px)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-metrics{background:color-mix(in srgb, var(--surface-raised) 76%, var(--action-primary) 24%)}}html body .shared-result-metrics .results-summary-stat{position:relative;overflow:hidden;background:linear-gradient(145deg, var(--surface-raised), var(--surface-raised))!important;padding:clamp(15px,2.8vmin,23px) 12px!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-metrics .results-summary-stat{background:linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 84%, var(--brand-expression) 16%), color-mix(in srgb, var(--surface-raised) 72%, var(--action-primary) 28%))!important}}html body .shared-result-metrics .results-summary-stat:after{border:1px solid var(--brand-expression);width:70px;height:70px;position:absolute;bottom:-22px;right:-14px}@supports (color:color-mix(in lab, red, red)){html body .shared-result-metrics .results-summary-stat:after{border:1px solid color-mix(in srgb, var(--brand-expression) 26%, transparent)}}html body .shared-result-metrics .results-summary-stat:after{content:"";opacity:.7;border-radius:50%}html body .shared-result-metrics .results-summary-stat:nth-child(2){background:linear-gradient(145deg, var(--surface-raised), var(--surface-raised))!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-metrics .results-summary-stat:nth-child(2){background:linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 76%, var(--status-positive) 24%), color-mix(in srgb, var(--surface-raised) 80%, var(--action-primary) 20%))!important}}html body .shared-result-metrics .results-summary-stat:nth-child(3){background:linear-gradient(145deg, var(--surface-raised), var(--surface-raised))!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-metrics .results-summary-stat:nth-child(3){background:linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 72%, var(--brand-expression) 28%), color-mix(in srgb, var(--surface-raised) 80%, var(--action-primary) 20%))!important}}html body .shared-result-metrics .results-summary-stat span{color:var(--text-secondary)}html body .shared-result-metrics .results-summary-stat strong{color:var(--text-primary);font-size:clamp(24px,4.5vmin,36px)!important}html body .shared-result-meta{gap:7px;margin-top:15px}html body .shared-result-meta span{border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:999px;padding:5px 9px}@supports (color:color-mix(in lab, red, red)){html body .shared-result-meta span{background:color-mix(in srgb, var(--surface-raised) 78%, var(--brand-expression) 22%)}}html body .shared-result-meta span{color:var(--text-secondary);font-size:10px}html body .shared-result-actions{gap:11px;margin-top:clamp(22px,4vmin,32px)!important}html body .shared-result-actions .results-action{border-radius:var(--cm-control-radius)!important;min-height:56px!important}html body .shared-result-actions .results-action-primary{background:linear-gradient(135deg, var(--action-primary), var(--action-primary-hover))!important;box-shadow:0 4px 0 var(--action-primary)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action-primary{box-shadow:0 4px 0 color-mix(in srgb, var(--action-primary) 42%, var(--surface-sunken))!important}}@media (width<=560px){html body .shared-result-card{border-radius:20px 8px 20px 20px!important;padding:20px 16px!important}html body .shared-result-header{gap:10px;padding-bottom:14px}html body .shared-result-invite{font-size:10px}html body .shared-result-route-stops{gap:8px}html body .shared-result-route-stops strong{padding-inline:5px;font-size:clamp(27px,8.5vw,38px)!important}html body .shared-result-score{grid-template-columns:78px minmax(0,1fr);gap:15px;padding:14px}html body .shared-result-score .results-grade-badge{width:78px!important;height:78px!important}html body .shared-result-score-copy h1{font-size:27px!important}html body .shared-result-score-copy p{font-size:12px}html body .shared-result-metrics .results-summary-stat{padding-inline:7px!important}html body .shared-result-metrics .results-summary-stat strong{font-size:22px!important}html body .shared-result-actions .results-action{min-height:50px!important}}@media (width<=700px) and (height>=700px){html body .results-screen{align-items:center!important}html body .results-screen>.results-three-part{align-self:center;height:min(100%,760px)!important;min-height:0!important}}html body .shared-result-header{justify-content:flex-end!important}html body .results-screen .results-top-route .results-route-title strong{flex-direction:column;align-items:center;gap:4px;display:flex}html body .results-screen .results-top-route .results-route-title strong small{color:var(--result-muted,var(--text-secondary));font:600 clamp(8px, .8vw, 11px)/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}@media (width>=701px){html body .results-screen:has(>.results-three-part:not([data-shared])){align-items:center!important}}html body .shared-result-invite,html body .shared-result-route-kicker,html body .shared-result-score-kicker,html body .shared-result-meta{display:none!important}html body .shared-result-route{margin-top:clamp(18px,3.5vmin,28px)!important}html body .shared-result-lines{gap:7px;margin-top:9px!important}html body .shared-result-lines span{letter-spacing:.03em;font-size:10px}html body .shared-result-lines{justify-content:center!important}html body .shared-result-score-copy h1{white-space:nowrap;font-size:clamp(24px,5vw,38px)!important}html body .shared-result-score-copy .shared-result-score-english{color:var(--brand-expression);margin-top:7px}@supports (color:color-mix(in lab, red, red)){html body .shared-result-score-copy .shared-result-score-english{color:color-mix(in srgb, var(--brand-expression) 78%, var(--text-secondary))}}html body .shared-result-score-copy .shared-result-score-english{font:700 clamp(12px, 2vw, 15px)/1.1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}html body .shared-result-score-copy p{letter-spacing:.02em;margin-top:6px;font-size:12px}html body .shared-result-metrics .results-summary-stat--accuracy{filter:none!important;mix-blend-mode:normal!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}html body .shared-result-actions .results-action{letter-spacing:.01em;font-size:15px;min-height:54px!important}html body .shared-result-actions .results-action-primary{border-width:2px;min-height:58px!important;box-shadow:0 5px 0 var(--action-primary)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action-primary{box-shadow:0 5px 0 color-mix(in srgb, var(--action-primary) 46%, var(--surface-sunken))!important}}@media (width<=390px){html body .shared-result-shell{padding:8px 0 20px!important}html body .shared-result-card{border-radius:18px 7px 18px 18px!important;padding:16px 13px!important}html body .shared-result-header{padding-bottom:12px;min-height:36px!important}html body .shared-result-header .compact-game-mark strong{font-size:15px!important}html body .shared-result-header .compact-game-mark small{font-size:9px!important}html body .shared-result-route{margin-top:18px!important}html body .shared-result-route-stops{gap:5px;margin-top:0}html body .shared-result-route-stops strong{padding-inline:3px;font-size:clamp(28px,9.5vw,36px)!important}html body .shared-result-route-stops svg{padding:4px}html body .shared-result-lines{margin-top:7px!important}html body .shared-result-lines span{font-size:9px}html body .shared-result-score{grid-template-columns:68px minmax(0,1fr);gap:12px;padding:11px;margin-top:17px!important}html body .shared-result-score .results-grade-badge{width:68px!important;height:68px!important;box-shadow:5px 5px 0 var(--action-primary)!important;border-radius:18px 18px 6px!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-score .results-grade-badge{box-shadow:5px 5px 0 color-mix(in srgb, var(--action-primary) 42%, transparent)!important}}html body .shared-result-score-copy h1{font-size:22px!important}html body .shared-result-score-copy p{font-size:11px}html body .shared-result-metrics{margin-top:16px!important}html body .shared-result-metrics .results-summary-stat{padding:11px 6px!important}html body .shared-result-metrics .results-summary-stat span{font-size:9px}html body .shared-result-metrics .results-summary-stat strong{margin-top:4px;font-size:20px!important}html body .shared-result-metrics .results-summary-stat strong small{font-size:9px}html body .shared-result-actions{gap:8px;margin-top:17px!important}html body .shared-result-actions .results-action{font-size:13px;min-height:46px!important}html body .shared-result-actions .results-action-primary{min-height:50px!important}}html body .shared-result-shell .results-footer{bottom:clamp(14px,3vh,28px)!important}html body .shared-result-route-stops strong{letter-spacing:.04em;text-shadow:0 2px,0 0 16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex;text-align:center!important;font-family:var(--font-serif-hk)!important;background:0 0!important;padding-inline:0!important;font-size:clamp(30px,7vw,54px)!important;font-weight:900!important;line-height:.96!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-route-stops strong{text-shadow:0 2px 0 color-mix(in srgb, currentColor 32%, transparent), 0 0 16px color-mix(in srgb, currentColor 22%, transparent)}}html body .shared-result-route-stops{gap:clamp(16px,4vw,30px);width:min(100%,520px);margin-inline:auto}html body .shared-result-route-stops .shared-result-station-zh{display:block}html body .shared-result-route-stops strong small{color:var(--text-secondary);font:600 9px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-shadow:none;display:block}html body .shared-result-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body .shared-result-actions .results-action,html body .shared-result-actions .results-action-primary{letter-spacing:.01em;border-radius:var(--cm-control-radius)!important;min-height:56px!important;font:800 15px/1 var(--font-sans)!important;box-shadow:0 5px 0 var(--action-primary)!important;border-style:solid!important;border-width:2px!important;padding:0 18px!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action,html body .shared-result-actions .results-action-primary{box-shadow:0 5px 0 color-mix(in srgb, var(--action-primary) 42%, var(--surface-sunken))!important}}html body .shared-result-actions .results-action-primary{border-color:var(--action-primary)!important}html body .shared-result-actions .results-action:not(.results-action-primary){border-color:var(--brand-expression)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action:not(.results-action-primary){border-color:color-mix(in srgb, var(--brand-expression) 70%, var(--border-strong))!important}}html body .shared-result-actions .results-action:not(.results-action-primary){background:linear-gradient(135deg, var(--brand-expression), var(--brand-expression))!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action:not(.results-action-primary){background:linear-gradient(135deg, color-mix(in srgb, var(--brand-expression) 82%, var(--surface-raised)), color-mix(in srgb, var(--brand-expression) 54%, var(--surface-sunken)))!important}}html body .shared-result-actions .results-action:not(.results-action-primary){color:var(--action-primary-text)!important;box-shadow:0 5px 0 var(--brand-expression)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action:not(.results-action-primary){box-shadow:0 5px 0 color-mix(in srgb, var(--brand-expression) 48%, var(--surface-sunken))!important}}html body .shared-result-actions .results-action:hover,html body .shared-result-actions .results-action:focus-visible{filter:brightness(1.08);color:var(--action-primary-text)!important;transform:translateY(-2px)!important}html body .shared-result-actions .results-action-primary:hover,html body .shared-result-actions .results-action-primary:focus-visible{background:linear-gradient(135deg, var(--action-primary-hover), var(--action-primary))!important;box-shadow:0 7px 0 var(--action-primary)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action-primary:hover,html body .shared-result-actions .results-action-primary:focus-visible{box-shadow:0 7px 0 color-mix(in srgb, var(--action-primary) 48%, var(--surface-sunken))!important}}html body .shared-result-actions .results-action:not(.results-action-primary):hover,html body .shared-result-actions .results-action:not(.results-action-primary):focus-visible{background:linear-gradient(135deg, var(--brand-expression), var(--brand-expression))!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action:not(.results-action-primary):hover,html body .shared-result-actions .results-action:not(.results-action-primary):focus-visible{background:linear-gradient(135deg, color-mix(in srgb, var(--brand-expression) 92%, var(--surface-raised)), color-mix(in srgb, var(--brand-expression) 66%, var(--surface-sunken)))!important}}html body .shared-result-actions .results-action:not(.results-action-primary):hover,html body .shared-result-actions .results-action:not(.results-action-primary):focus-visible{box-shadow:0 7px 0 var(--brand-expression)!important}@supports (color:color-mix(in lab, red, red)){html body .shared-result-actions .results-action:not(.results-action-primary):hover,html body .shared-result-actions .results-action:not(.results-action-primary):focus-visible{box-shadow:0 7px 0 color-mix(in srgb, var(--brand-expression) 56%, var(--surface-sunken))!important}}html body .shared-result-actions .results-action:active{filter:none;transform:translateY(1px)scale(.99)!important}@media (width<=390px){html body .shared-result-score-copy h1{text-wrap:balance;white-space:normal!important;line-height:1.06!important}html body .shared-result-route-stops strong{gap:4px}html body .shared-result-route-stops strong small{font-size:8px}html body .shared-result-actions .results-action,html body .shared-result-actions .results-action-primary{min-height:50px!important}}@media (width>=701px){html body .shared-result-shell{transform:translateY(-24px)}}html:not(.dark) :where(.game-shell .station-platform-sign__name strong,.game-shell .station-platform-sign__name small,.learning-practice-screen .learning-target-sign .learning-station-word>span),:where(.game-shell .station-platform-sign__name strong,.game-shell .station-platform-sign__name small,.learning-practice-screen .learning-target-sign .learning-station-word>span){-webkit-text-stroke:0!important;text-shadow:0 3px 8px #10201d3d!important}.station-platform-sign.station-platform-sign--choi-hung,html:not(.dark) .game-shell .station-platform-sign.station-platform-sign--choi-hung,html:not(.dark) .learning-practice-screen .learning-target-sign.station-platform-sign--choi-hung{background:#252525!important}.learning-practice-screen .learning-target-sign{aspect-ratio:16/9!important;height:auto!important;min-height:0!important}html body .game-shell .station-platform-sign__name strong,html body .game-shell .station-platform-sign__name small,html body .learning-practice-screen .learning-target-sign .learning-station-word>span,html body .learning-practice-screen .learning-target-sign p,html:not(.dark) body .game-shell .station-platform-sign__name strong,html:not(.dark) body .game-shell .station-platform-sign__name small,html:not(.dark) body .learning-practice-screen .learning-target-sign .learning-station-word>span,html:not(.dark) body .learning-practice-screen .learning-target-sign p,html.dark body .game-shell .station-platform-sign__name strong,html.dark body .game-shell .station-platform-sign__name small,html.dark body .learning-practice-screen .learning-target-sign .learning-station-word>span,html.dark body .learning-practice-screen .learning-target-sign p{-webkit-text-stroke:0!important;-webkit-text-stroke-width:0!important;paint-order:normal!important;text-shadow:none!important;filter:none!important}.game-shell .scene-frame>.pressure-failure-curtain strong{justify-items:center;gap:8px;line-height:.94;display:grid}.game-shell .scene-frame>.pressure-failure-curtain strong>span{color:inherit;font:inherit;letter-spacing:-.06em;text-transform:none;display:block;transform:none}.game-shell .scene-frame>.pressure-failure-curtain strong>small{color:#fff0d3;font:800 clamp(18px, 5vw, 32px)/1 var(--font-display);letter-spacing:.04em;display:block;transform:none}.game-shell .scene-frame>.pressure-failure-curtain>div:last-child{width:min(100%,360px)}.game-shell .scene-frame>.pressure-failure-curtain button{white-space:normal;flex:1 1 0;align-content:center;justify-items:center;gap:4px;min-width:0;min-height:58px;padding:8px 10px;line-height:1.05;display:grid}.game-shell .scene-frame>.pressure-failure-curtain button small{color:currentColor;font:800 11px/1 var(--font-mono);letter-spacing:.1em;display:block}.game-shell .scene-frame>.pressure-failure-curtain button>span{letter-spacing:.02em;text-transform:none;display:block;color:inherit!important;font:950 clamp(16px, 4.4vw, 24px)/1 var(--font-display)!important}@media (width<=380px){.game-shell .scene-frame>.pressure-failure-curtain{padding-inline:12px}.game-shell .scene-frame>.pressure-failure-curtain>div:last-child{gap:8px}.game-shell .scene-frame>.pressure-failure-curtain button{min-height:56px;padding-inline:7px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes pulse{50%{opacity:.5}}@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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,0))}}
