/*! tailwindcss v4.3.3 | 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)))){:root,:host{--drawer-open:0;--notice-open:0;--wing-open:0;--wing-width:0px;--notice-inset:180px;--notice-height:28px;--bar-inset:0px;--shoulder:8px}*,:before,:after{--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-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;--picker-left:0;--picker-right:0}::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-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;--picker-left:0;--picker-right:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xl:36rem;--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);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-md:calc(var(--radius) - 2px);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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}*,:before,:after{border-color:var(--border)}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif}body{background:var(--background);color:var(--foreground);margin:0;overflow:hidden}[hidden]{display:none!important}button,[role=button]{cursor:pointer}input,select,textarea,button{font:inherit}option{background:var(--popover);color:var(--foreground)}#player0.active,#player1.active{color:var(--foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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}.inset-0{inset:0}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.left-1\/2{left:50%}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-dvh{height:100dvh}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-0{min-height:0}.w-24{width:calc(var(--spacing) * 24)}.w-72{width:calc(var(--spacing) * 72)}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-\[min\(24rem\,calc\(100vw-2rem\)\)\]{width:min(24rem,100vw - 2rem)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);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,)}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[minmax\(0\,1fr\)_7rem\]{grid-template-columns:minmax(0,1fr) 7rem}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-input\/20{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.bg-input\/20{background-color:color-mix(in oklab, var(--input) 20%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-clip-padding{background-clip:padding-box}.stroke-input{stroke:var(--input)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.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)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-8{padding-right:calc(var(--spacing) * 8)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[11px\]{font-size:11px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.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-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-warning{color:var(--warning)}.underline-offset-4{text-underline-offset:4px}.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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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{--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)}.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-all{transition-property:all;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))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.empty\:hidden:empty{display:none}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 40%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-checked\:border-primary[data-checked]{border-color:var(--primary)}.data-checked\:bg-primary[data-checked]{background-color:var(--primary)}.data-checked\:text-primary-foreground[data-checked]{color:var(--primary-foreground)}.data-closed\:hidden[data-closed]{display:none}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.dark\:border-input:where(.dark,.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:where(.dark,.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:where(.dark,.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:where(.dark,.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:where(.dark,.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:where(.dark,.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}:root{--radius:.625rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#43b2f6;--primary-foreground:#07131c;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#262626;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:var(--primary);--online:#3ac175;--warning:#e1a447;--promoted:#e6c77c;--chart-series-1:#78bdff;--chart-series-2:#bda7ff;--chart-series-3:#f292d3}@supports (color:lab(0% 0 0)){:root{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(68.5493% -15.5095 -43.8411);--primary-foreground:lab(5.26484% -2.32528 -7.24241);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(15.204% 0 -.00000596046);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--online:lab(69.5817% -50.6611 27.5063);--warning:lab(72.0771% 16.696 55.9188);--promoted:lab(81.7344% 4.05324 41.4426);--chart-series-1:lab(74.0406% -7.7624 -44.2626);--chart-series-2:lab(72.8287% 23.1208 -42.7063);--chart-series-3:lab(72.5158% 43.5586 -17.4795)}}.pocket-targets{pointer-events:none;z-index:12;justify-content:space-between;gap:1rem;display:flex;position:absolute;inset:auto 1rem 6.5rem}.pocket-targets span{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.pocket-targets span{border:1px solid color-mix(in oklch, var(--primary) 55%, transparent)}}.pocket-targets span{background:var(--background);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.pocket-targets span{background:color-mix(in oklch, var(--background) 78%, transparent)}}.pocket-targets span{color:var(--foreground);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.3rem .65rem;font-size:.72rem}.contact-ball{-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 36% 27%,#fffff7,#e8e3d6 65%,#9fada5);border-radius:50%;outline:none;flex-shrink:0;width:40px;height:40px;position:relative}.contact-ball:after{content:"";left:calc((100% - var(--spin-safe,51.4%)) / 2);top:calc((100% - var(--spin-safe,51.4%)) / 2);width:var(--spin-safe,51.4%);height:var(--spin-safe,51.4%);border:1px solid #65766b50;border-radius:50%;position:absolute}.contact-ball i{z-index:1;background:#dc5445;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.transient{z-index:30;pointer-events:none;width:120px;height:120px;position:fixed;transform:translate(-50%,-50%)}#contact{touch-action:none;cursor:crosshair;outline-offset:4px}#contact>*{pointer-events:none}.target-ball{border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.target-ball>.ball-number{pointer-events:none;flex:none;width:11px;min-width:0;height:11px;min-height:0;display:block;overflow:visible}.ball-number-badge{fill:#f3f0e4}.ball-number-digit{fill:none;stroke:#16191b;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}#menu{max-width:1120px;padding:16px 24px 24px}.play-layout,.catalog-setup{gap:20px;min-width:0;display:grid}.setup-section{border:0;min-width:0;margin:0;padding:0}.setup-step{align-items:center;gap:10px;margin-bottom:12px;font-size:13px;font-weight:600;line-height:24px;display:flex}.step-number{border:1px solid var(--primary);flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.step-number{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border))}}.step-number{background:var(--primary);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.step-number{background:color-mix(in srgb, var(--primary) 10%, var(--popover))}}.step-number{color:var(--primary);font-size:11px;line-height:1}.play-mode-tiles,.game-tiles,.rule-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.game-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}.choice-tile{border:1px solid var(--border);background:var(--background);border-radius:10px;flex-direction:column;min-width:0;padding:15px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.choice-tile{background:color-mix(in srgb, var(--background) 28%, var(--popover))}}.choice-tile{cursor:pointer;transition:border-color .15s,background .15s}.choice-tile:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.choice-tile:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border))}}.continue-practice{text-align:left}.continue-practice:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.choice-tile:has(input:checked){border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.choice-tile:has(input:checked){background:color-mix(in srgb, var(--primary) 10%, var(--popover))}}.choice-tile:has(input:focus-visible){outline:2px solid var(--ring);outline-offset:3px}.choice-tile:has(input:disabled){cursor:default;opacity:.55}.choice-tile>input{width:13px;height:13px;accent-color:var(--primary);position:absolute;top:10px;right:10px}.choice-tile-heading{align-items:center;gap:12px;padding-right:12px;display:flex}.choice-tile strong{color:var(--foreground);font-size:13px;font-weight:600;display:block}.choice-tile small{color:var(--muted-foreground);margin-top:4px;font-size:11px;line-height:1.4;display:block}.choice-tile-icon{color:var(--primary);flex-shrink:0;place-items:center;display:grid}.choice-tile-icon>svg{width:26px;height:26px}.game-choice{min-width:0;position:relative}.game-choice>.choice-tile{height:100%}.game-help{width:22px;height:22px;color:var(--muted-foreground);padding:2px;position:absolute;top:5px;left:5px}.game-help svg{width:15px;height:15px}.game-tile{text-align:center;padding:13px 9px}.game-tile .choice-tile-heading{flex-direction:column;gap:8px;padding:0}.choice-tile-icon>.game-icon{width:44px;height:33px}.rule-tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.rule-tile{padding:0;overflow:hidden}.rule-tile .choice-tile-heading{border-bottom:1px solid var(--border);padding:12px 28px 12px 14px}.rule-tile .choice-tile-heading>span{flex-wrap:wrap;align-items:baseline;gap:3px 8px;display:flex}.rule-tile .choice-tile-heading strong,.rule-tile .choice-tile-heading small{white-space:nowrap;margin:0}.rule-tile ul{gap:5px;margin:0;padding:13px 14px 15px 27px;list-style:outside;display:grid}.rule-tile li{color:var(--muted-foreground);font-size:11px;line-height:1.35}.rule-tile li::marker{color:var(--primary)}.setup-note{color:var(--muted-foreground);margin:0;font-size:12px;line-height:1.5}.setup-preferences,.setup-control-tiles{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.catalog-format-fields,.catalog-skill-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.catalog-skill-fields{grid-column:1/-1;grid-template-columns:1fr 1fr}.setup-rule-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:14px;display:grid}.setup-toggles{align-content:center;align-self:stretch;gap:14px;display:grid}.setup-customize-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.setup-customize-heading .setup-step{flex-shrink:0;margin:0}.setup-tabs.settings-tabs{border:0;gap:16px;margin:0;overflow:visible}.setup-tabs .settings-tab{padding:2px 0 6px;font-size:12px;line-height:18px}.setup-panels{display:grid}.setup-panels>.setup-tab-panel{grid-area:1/1;align-self:start}.setup-panels>.setup-tab-panel[aria-hidden=true]{visibility:hidden;pointer-events:none}.setup-tab-panel,.setup-rule-details{outline:none;gap:16px;display:grid}.configuration-summary{border:1px solid var(--border);color:var(--muted-foreground);overflow-wrap:anywhere;border-radius:9px;gap:4px;padding:11px 12px;font-size:11px;line-height:1.45;display:grid}.configuration-summary strong{color:var(--foreground);font-size:12px}.setup-control-tiles .view-mode-field+.view-mode-field{margin-top:0}.setup-footer,.setup-help,.setup-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.setup-actions>button:not([hidden]){min-width:160px}.invite-tile{cursor:default;background:0 0;border-style:dashed;gap:12px}.invite-entry{border:1px solid var(--input);background:var(--input);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;display:grid}@supports (color:color-mix(in lab, red, red)){.invite-entry{background:color-mix(in srgb, var(--input) 20%, transparent)}}.invite-entry:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring)}@supports (color:color-mix(in lab, red, red)){.invite-entry:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 20%, transparent)}}.invite-tile:has(input:focus-visible){outline:none}.invite-entry input{box-shadow:none;background:0 0;border:0;border-radius:7px 0 0 7px;padding-inline:9px;font-size:12px}.invite-entry button{border:0;border-left:1px solid var(--input);background:var(--muted);height:36px;color:var(--primary);border-radius:0 7px 7px 0;padding-inline:12px;transform:none}.invite-entry button:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.invite-entry button:hover{background:color-mix(in srgb, var(--primary) 12%, var(--muted))}}@media (min-width:1024px){#menu{max-width:1480px}.play-layout{grid-template-columns:minmax(180px,.9fr) minmax(220px,1.1fr) minmax(360px,2fr);align-items:stretch;gap:24px}.setup-catalog-wrap,.catalog-setup{display:contents}.catalog-setup>.setup-section{border-left:1px solid var(--border);padding-left:24px}.play-mode-tiles{grid-template-columns:1fr}.game-tiles,.rule-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-preferences,.setup-control-tiles{grid-template-columns:1fr}.setup-control-tiles{gap:16px}.setup-step{margin-bottom:20px}}@media (max-width:900px){.game-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.rule-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.play-mode-tiles .choice-tile-heading{flex-direction:column;align-items:flex-start}}@media (max-width:600px){#menu{padding:16px}.play-mode-tiles{grid-template-columns:1fr}.play-mode-tiles .choice-tile-heading{flex-direction:row;align-items:center}.game-tiles,.rule-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-preferences,.setup-control-tiles{grid-template-columns:1fr}.setup-footer{flex-wrap:wrap}.setup-help,.setup-actions{width:100%}.setup-actions{flex-wrap:wrap}.setup-actions>button:not([hidden]){flex:1}}.session-card{border:1px solid var(--primary);align-items:center;gap:14px;display:flex}@supports (color:color-mix(in lab, red, red)){.session-card{border:1px solid color-mix(in oklch, var(--primary) 22%, var(--border))}}.session-card{background:linear-gradient(115deg, var(--primary), transparent);border-radius:12px;padding:18px}@supports (color:color-mix(in lab, red, red)){.session-card{background:linear-gradient(115deg, color-mix(in oklch, var(--primary) 9%, transparent), transparent)}}.session-icon{background:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.session-icon{background:color-mix(in oklch, var(--primary) 12%, transparent)}}.session-icon{color:var(--primary)}.session-icon svg{width:24px;height:24px}.session-badge{border:1px solid var(--border);white-space:nowrap;color:var(--muted-foreground);border-radius:999px;padding:4px 9px;font-size:10px}.game-option{background:var(--background);flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:20px;padding:16px;font-size:14px;display:flex}@supports (color:color-mix(in lab, red, red)){.game-option{background:color-mix(in oklch, var(--background) 25%, transparent)}}.game-option label{flex:1}#rulesAvailability:empty{display:none}:root{--scene-gutter:24px;--hud-surface:#080c0e;--hud-outline:#283033;--tool-offset:72px}.game-navigation{justify-content:flex-end;align-items:center;gap:4px;display:flex}.ball-rail{right:var(--scene-gutter);top:calc(var(--scene-gutter) + 2 * var(--tool-offset));bottom:var(--scene-gutter);pointer-events:none;justify-content:center;align-items:center;width:34px;display:flex;position:absolute}.rack-tracker{scrollbar-width:none;pointer-events:auto;flex-direction:column;align-items:center;min-height:0;max-height:100%;margin-right:-14px;padding:6px 20px 6px 6px;display:flex;overflow-y:auto}.rack-arrangement,.match-targets{flex-direction:column;align-items:center;gap:20px;display:flex}.match-score{right:var(--scene-gutter);max-width:42%;color:var(--muted-foreground);align-items:center;gap:20px;font-size:12px;display:flex;position:absolute;top:32px}.match-score #player0,.match-score #player1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cue-ball-slot{justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.cue-ball-slot kbd{font-family:inherit;position:absolute;left:calc(100% + 6px)}#placeCue{cursor:grab;outline:none;padding:0}#placeCue[aria-pressed=true],#placeCue:focus-visible{box-shadow:0 0 0 2px var(--primary)}.ball-slots{flex-flow:column;justify-content:center;gap:20px;display:flex}.ball-group{flex-direction:column;align-items:center;gap:5px;display:flex}.ball-slots .target-ball,#placeCue{width:22px;height:22px;box-shadow:inset 0 -2px 3px #0005}.ball-slots .target-ball>.ball-number{width:13px;height:13px}.target-ball[data-status=captured],.target-ball[data-status=offTable]{filter:grayscale();opacity:.38}#rackArrangement,#rackArrangement *{-webkit-user-select:none;user-select:none}#rackArrangement [role=button]{cursor:grab;touch-action:none}#rackArrangement [role=button]:hover,#rackArrangement [role=button]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 3px 8px #0008}#rackArrangement [role=button]:active{cursor:grabbing}.dragging-ball,.dragging-ball *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}#ballDragPreview{z-index:35;pointer-events:none;position:fixed;top:0;left:0;box-shadow:0 5px 12px #0008}#ballDragPreview>.ball-number{width:13px;height:13px}#arrangeTools{display:none!important}.camera-controls{border:1px solid #0000;grid-area:views;place-self:end center;align-items:center;gap:6px;margin-bottom:4px;padding:6px;display:flex;position:relative}.camera-controls:before{content:"";inset:0 var(--surface-right,38px) 0 var(--surface-left,38px);background:var(--hud-surface);pointer-events:none;border:1px solid #ffffff1c;border-radius:15px;transition:left .24s cubic-bezier(.22,1,.36,1),right .24s cubic-bezier(.22,1,.36,1);position:absolute;box-shadow:inset 0 1px #ffffff08,0 4px 12px #0005}.camera-controls:has(#perspectiveActions[data-active=true]){--surface-left:0px}.camera-controls:has(#overheadActions[data-active=true]){--surface-right:0px}@property --picker-left{syntax:"<number>";inherits:false;initial-value:0}@property --picker-right{syntax:"<number>";inherits:false;initial-value:0}@supports (clip-path:shape(from 0px 0px, line to 100% 0px, close)){.camera-controls:before,.camera-controls:after{--left-edge:calc(38px * (1 - var(--picker-left)));--right-edge:calc(38px * (1 - var(--picker-right)));--left-step:calc(5px * var(--picker-left));--right-step:calc(5px * var(--picker-right));--left-shoulder:calc(50px - 14px * var(--picker-left));--right-shoulder:calc(50px - 14px * var(--picker-right));--left-bend:calc(50px - 8px * var(--picker-left));--right-bend:calc(50px - 8px * var(--picker-right));content:"";box-shadow:none;pointer-events:none;clip-path:shape(from 50px 0px, line to calc(100% - 50px) 0px, curve to calc(100% - var(--right-shoulder)) var(--right-step) with calc(100% - var(--right-bend)) 0px / calc(100% - var(--right-bend)) var(--right-step), line to calc(100% - var(--right-edge) - 12px) var(--right-step), curve to calc(100% - var(--right-edge)) calc(var(--right-step) + 12px) with calc(100% - var(--right-edge)) var(--right-step), line to calc(100% - var(--right-edge)) calc(100% - var(--right-step) - 12px), curve to calc(100% - var(--right-edge) - 12px) calc(100% - var(--right-step)) with calc(100% - var(--right-edge)) calc(100% - var(--right-step)), line to calc(100% - var(--right-shoulder)) calc(100% - var(--right-step)), curve to calc(100% - 50px) 100% with calc(100% - var(--right-bend)) calc(100% - var(--right-step)) / calc(100% - var(--right-bend)) 100%, line to 50px 100%, curve to var(--left-shoulder) calc(100% - var(--left-step)) with var(--left-bend) 100% / var(--left-bend) calc(100% - var(--left-step)), line to calc(var(--left-edge) + 12px) calc(100% - var(--left-step)), curve to var(--left-edge) calc(100% - var(--left-step) - 12px) with var(--left-edge) calc(100% - var(--left-step)), line to var(--left-edge) calc(var(--left-step) + 12px), curve to calc(var(--left-edge) + 12px) var(--left-step) with var(--left-edge) var(--left-step), line to var(--left-shoulder) var(--left-step), curve to 50px 0px with var(--left-bend) var(--left-step) / var(--left-bend) 0px, close);border:0;border-radius:0;transition:--picker-left .24s cubic-bezier(.22,1,.36,1),--picker-right .24s cubic-bezier(.22,1,.36,1);position:absolute}.camera-controls:before{background:var(--hud-outline);inset:-1px}.camera-controls:after{background:var(--hud-surface);inset:0}.camera-controls:has(#perspectiveActions[data-active=true]):before{--picker-left:1}.camera-controls:has(#perspectiveActions[data-active=true]):after{--picker-left:1}.camera-controls:has(#overheadActions[data-active=true]):before{--picker-right:1}.camera-controls:has(#overheadActions[data-active=true]):after{--picker-right:1}}.camera-modes{z-index:1;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:6px;width:max-content;display:grid;position:relative}.camera-modes .shortcut-button{border-radius:8px;grid-template-rows:20px 12px;grid-template-columns:auto auto;place-content:center;gap:2px 4px;min-width:60px;height:40px;padding:2px 9px;font-size:11px;display:grid}.camera-modes .shortcut-icon{grid-area:1/1/2/-1;justify-self:center;width:27px;height:20px;transform:none}.camera-modes .shortcut-button .shortcut-icon svg{width:100%;height:100%}.camera-modes .shortcut-label{grid-area:2/1}.camera-modes .key-hint{grid-area:2/2;font-size:9px}.camera-modes button[aria-pressed=true]{color:#f5fbff;background:linear-gradient(#284252,#1a2b36);border-color:#68cafa50;box-shadow:inset 0 1px #ffffff15,0 1px 3px #0009}.camera-modes button[aria-pressed=false]{color:#9aa5ad}.camera-context{z-index:1;opacity:0;visibility:hidden;pointer-events:none;flex-shrink:0;align-items:center;width:32px;height:32px;transition:opacity .1s,transform .24s cubic-bezier(.22,1,.36,1),visibility 0s .24s;display:flex;position:relative}.camera-context-left{transform:translate(14px)}.camera-context-right{transform:translate(-14px)}.camera-context[data-active=true]{opacity:1;visibility:visible;pointer-events:auto;transition-delay:60ms,0s,0s;transform:translate(0)}@media (max-width:960px){.camera-modes .shortcut-button{padding-inline:6px}}.camera-context .shortcut-button{color:#b7c9d4;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;gap:1px;width:32px;height:32px;padding:3px}.camera-context .shortcut-icon{width:16px;height:16px}.camera-context .shortcut-label{display:none}.camera-context .key-hint{font-size:9px}.camera-context button[aria-pressed=true]{color:var(--primary);background:#193240}@media (prefers-reduced-motion:reduce){.camera-controls:before,.camera-controls:after,.camera-context{transition:none}}.walk-hint{left:50%;bottom:calc(var(--dock-height) + 28px);width:max-content;color:var(--primary);text-shadow:0 1px 3px #000;align-items:center;gap:12px;font-size:12px;display:flex;position:fixed;transform:translate(-50%)}.walk-hint span{color:var(--muted-foreground)}.status-stack{left:calc(var(--scene-gutter) + 144px);pointer-events:none;max-width:min(350px,34vw);position:absolute;top:36px}.table-status{color:#f0f3f6;text-shadow:1px 1px #000,2px 2px #000,-1px -1px #000,1px -1px #000,-1px 1px #000;width:-moz-fit-content;width:fit-content;max-width:100%;padding:2px 0;font-size:12px;font-weight:600;line-height:1.5}#guideStatus{color:var(--primary)}#guideStatus:after{content:"";opacity:0;background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}#guideStatus[data-pending=true]:after{opacity:.55}.pause-indicator{color:var(--warning);white-space:nowrap;pointer-events:none;align-items:center;gap:6px;font-size:14px;display:flex;position:absolute;top:36px;left:50%;transform:translate(-50%)}.pause-indicator svg{filter:drop-shadow(2px 2px #000);width:18px;height:18px}.preview-trigger{pointer-events:auto;cursor:pointer;text-align:left}.preview-trigger:hover{text-underline-offset:4px;text-decoration:underline}.table-dock{z-index:20;--dock-height:42px;height:var(--dock-height);border-top:1px solid var(--border);background:var(--popover);padding:0 var(--scene-gutter);flex-shrink:0;position:relative;overflow:visible}.dock-content{grid-template:"chat views reactions"minmax(0,1fr)/minmax(0,1fr) max-content minmax(0,1fr);align-items:center;gap:8px;height:100%;display:grid}.table-actions{grid-area:actions;justify-self:end}.table-dock .game-navigation{grid-area:navigation;justify-self:start;gap:8px}.shortcut-button{align-items:center;gap:6px;line-height:1}.shortcut-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.shortcut-icon svg{width:100%;height:100%;display:block}.shortcut-label{align-items:center;line-height:1;display:inline-flex;transform:translateY(1px)}.shortcut-button>.key-hint{transform:translateY(1px)}.key-hint{opacity:.5;flex-shrink:0;align-items:center;font-family:inherit;font-size:10px;font-weight:400;line-height:1;display:inline-flex}.menu-disclosure{border:1px solid var(--border);border-radius:10px;padding:14px 16px}.menu-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:500;list-style:none;display:flex}.menu-disclosure>summary::-webkit-details-marker{display:none}.menu-disclosure>summary svg{width:16px;height:16px;color:var(--muted-foreground)}.menu-disclosure[open]>summary>svg{transform:rotate(180deg)}.menu-disclosure>summary:focus-visible{outline:2px solid var(--ring);outline-offset:5px;border-radius:3px}.menu-destinations{gap:4px;display:grid}.menu-destination{text-align:left;justify-content:flex-start;gap:14px;width:100%;height:auto;padding:12px}.menu-destination>svg:first-child{color:var(--muted-foreground);width:20px;height:20px}.menu-destination>svg:last-child{color:var(--muted-foreground);margin-left:auto}.menu-destination span{white-space:normal;gap:4px;display:grid}.menu-destination strong{font-size:14px;font-weight:500}.menu-destination small{color:var(--muted-foreground);font-size:12px;font-weight:400}.menu-sound{justify-content:space-between;align-items:center;gap:12px;display:flex}.menu-sound>span{color:var(--muted-foreground);font-size:11px}#mute[aria-pressed=false] .sound-off,#mute[aria-pressed=true] .sound-on{display:none}#mute[aria-pressed=true]{color:var(--warning)}.lesson-steps{counter-reset:shot-step;gap:20px;display:grid}.lesson-steps li{counter-increment:shot-step;gap:14px;display:flex}.lesson-steps li:before{content:counter(shot-step);width:28px;height:28px;color:var(--primary);background:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.lesson-steps li:before{background:color-mix(in oklch, var(--primary) 12%, transparent)}}.lesson-steps li:before{font-size:12px}.lesson-steps strong{font-size:14px;font-weight:500}.lesson-steps p{color:var(--muted-foreground);margin-top:5px;font-size:13px;line-height:1.6}.table-dock button{padding-inline:8px;font-size:12px}.quick-actions,.idle-actions{align-items:center;gap:8px;min-width:max-content;display:flex}.idle-actions>span{display:none}.practice-actions{align-items:center;gap:8px;display:flex}.shot-controls{pointer-events:none;position:absolute;inset:0}.shot-controls>*{pointer-events:auto}.spin-control{top:32px;left:var(--scene-gutter);text-align:center;justify-items:center;gap:12px;width:96px;display:grid;position:absolute}.spin-control .contact-ball{width:96px;height:96px;box-shadow:4px 5px #000a,0 5px 10px #0005}.spin-control .contact-ball:focus-visible{box-shadow:4px 5px #000a,0 5px 10px #0005,0 0 8px #38bdf866}.spin-caption{-webkit-user-select:none;user-select:none;min-height:32px;font-size:12px;line-height:16px}.spin-caption span{display:block}#spinSide{color:var(--muted-foreground);text-shadow:1px 1px #000;font-size:11px}#spinLabel{text-shadow:1px 1px #000,2px 2px #000}.spin-control:has([data-risky=true]) #spinLabel{color:var(--warning);white-space:nowrap;font-size:10px}.contact-ball[data-risky=true] i{background:#ff952d;box-shadow:0 0 0 1px #0007}#cueElevation{top:184px;left:var(--scene-gutter);background:0 0;justify-items:center;gap:2px;width:96px;padding:0;display:grid;position:absolute}.elevation-dial{filter:drop-shadow(1px 2px #000);width:96px;height:96px;overflow:hidden}.shot-reading,.stroke-mode-name,#spinLabel{color:var(--foreground);text-shadow:1px 1px #000,2px 2px #000;font-family:inherit;font-size:12px;font-weight:500;line-height:16px}#cueElevation:hover .elevation-dial,#cueElevation:focus-visible .elevation-dial{filter:drop-shadow(0 0 3px #38bdf899)}.cue-tools{left:var(--scene-gutter);top:calc(50% + var(--tool-offset));position:absolute;transform:translateY(-50%)}.tip-picker{flex-direction:column;gap:12px;display:flex}.tip-picker button{background:0 0;border:0;width:34px;height:38px;padding:0;overflow:visible}.tip-face{color:#b7c6ce;background:repeating-radial-gradient(#242c32 0 1px,#171c21 2px 3px);border:1px solid #9aa6ad88;border-radius:50%;place-items:center;width:33px;height:30px;font:600 13px/1 ui-sans-serif,sans-serif;display:grid;position:relative;box-shadow:0 2px #454c50,0 4px #202b32,0 5px #57636b,1px 7px 2px #000a}.tip-face:before{content:"";border:1px solid #9abacb66;border-radius:50%;position:absolute;inset:3px}.tip-face span{position:relative}.tip-picker button[aria-pressed=true] .tip-face{color:#82d8ff;border-color:var(--primary);box-shadow:0 2px #315a6c,0 4px #203540,0 5px #58839a,0 0 0 2px #38bdf844}.tip-picker button:hover .tip-face{color:#fff;border-color:#b2dff3}#tip-phenolic .tip-face{background:radial-gradient(at 30% 20%,#45342e,#171311 70%)}.stroke-control{--stroke-track-height:76px;right:calc(var(--scene-gutter) + 8px);width:140px;height:88px;position:absolute;top:32px}.stroke-input{justify-items:end;gap:8px;height:100px;display:grid;position:relative}#strokePad{-webkit-user-select:none;user-select:none;cursor:grab;background:0 0;border:0;border-radius:24px;outline:none;width:46px;height:88px;padding:0;position:relative}#strokePad[data-remote=true]:disabled{opacity:1;cursor:default}#strokePad[data-drawing=true]{cursor:grabbing}.stroke-cue{filter:drop-shadow(2px 2px #000);width:34px;height:84px;position:absolute;top:0;right:12px;overflow:visible;transform:scaleX(-1)}#strokePad:hover .stroke-cue,#strokePad:focus-visible .stroke-cue{filter:drop-shadow(2px 2px #000)drop-shadow(0 0 2px #38bdf8)}.stroke-track{width:8px;height:var(--stroke-track-height);filter:drop-shadow(2px 2px #000);pointer-events:none;background:linear-gradient(#ef44443d,#fbbf2433 35%,#38bdf83d);border:1px solid #52616a;border-radius:3px;position:absolute;top:2px;right:0;overflow:hidden}.stroke-track:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 calc(25% - 1px),#07111688 calc(25% - 1px) 25%);position:absolute;inset:0}.stroke-travel{background:linear-gradient(#ef4444,#fb923c 18%,#fbbf24 35%,#60d5ea 65%,#38bdf8);background-size:100% var(--stroke-track-height);background-position:bottom;border-radius:3px;width:100%;height:0;position:absolute;bottom:0;left:0;box-shadow:inset 1px 0 #ffffff30}#strokeControl[data-mode=push] .stroke-track{background:linear-gradient(#7dd3fc3d,#38bdf826 40%,#38bdf83d)}#strokeControl[data-mode=push] .stroke-travel{background:linear-gradient(#7dd3fc,#38bdf8 55%,#0284c7)}.stroke-mode-toggle{width:18px;height:26px;color:var(--foreground);cursor:pointer;filter:drop-shadow(2px 2px #000);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:46px}.stroke-mode-toggle:hover:not(:disabled),.stroke-mode-toggle:focus-visible{filter:drop-shadow(2px 2px #000)drop-shadow(0 0 2px #38bdf8)}.stroke-mode-toggle:focus-visible{outline:1px solid var(--ring);outline-offset:3px;border-radius:4px}.stroke-mode-toggle:disabled{opacity:.35;cursor:default}.stroke-mode-arrow-mark{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:20px;transform:rotate(-18deg)}#strokeMode[data-mode=pull] .stroke-mode-arrow-mark{transform:rotate(162deg)}.stroke-mode-caption{white-space:nowrap;pointer-events:none;align-items:center;gap:6px;display:inline-flex;position:absolute;top:90px;right:0}.stroke-mode-caption .key-hint{text-shadow:1px 1px #000,2px 2px #000;position:absolute;left:calc(100% + 6px)}.stroke-mode-icon{fill:none;stroke-linecap:round;stroke-linejoin:round}.stroke-mode-ball{fill:#e9eff3;stroke:none}.stroke-mode-shaft{stroke:#c9a271;stroke-width:2.2px}.stroke-mode-tip{stroke:#6fd0ec;stroke-width:2.2px}.stroke-mode-arrow{stroke:currentColor;stroke-width:1.7px}#guideStatus[data-live=true]:before{content:none}.shot-result{min-height:16px;position:absolute;top:59px;right:36px}.shot-result output{text-align:right;text-shadow:1px 1px #000,2px 2px #000;color:var(--foreground);white-space:nowrap;display:block}.start-prompt{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.start-card{pointer-events:auto;text-align:center;border:1px solid var(--primary);gap:10px;width:350px;max-width:calc(100% - 32px);padding:26px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.start-card{border:1px solid color-mix(in oklch, var(--primary) 22%, var(--border))}}.start-card{background:radial-gradient(at 50% 0,#38bdf812,#0000 75%),#11191bf5;border-radius:16px;box-shadow:0 16px 60px #0008,inset 0 1px #ffffff08}.start-card:before{content:"";background:linear-gradient(90deg, transparent, var(--primary), transparent);width:50%;height:2px;position:absolute;top:0;left:25%}.start-card h1{letter-spacing:-.035em;font-size:22px;font-weight:600}.start-card p{color:var(--muted-foreground);font-size:13px;line-height:1.5}.start-card button{gap:8px;width:100%;height:38px;margin-top:10px;box-shadow:0 3px #06141c66}.shot-declarations{flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:112px;left:50%;transform:translate(-50%)}.called-shot-controls{border:1px solid var(--border);background:var(--popover);border-radius:12px;flex-wrap:wrap;align-items:end;gap:16px;max-width:100%;padding:16px;display:flex}@media (max-width:960px){.table-dock[data-active=true]{--dock-height:102px}.dock-content{grid-template:"chat reactions"42px"views views"60px/1fr 1fr;gap:0 8px}.game-chat{width:min(280px,44vw)}.table-dock[data-active=false] .dock-content{display:block}}@media (max-width:760px){:root{--scene-gutter:16px}.camera-controls button{padding-inline:6px;font-size:11px}}@media (max-height:760px){.spin-control{width:70px;top:18px}.spin-control .contact-ball{width:70px;height:70px}#cueElevation{width:70px;top:144px}.elevation-dial{width:70px;height:70px}:root{--tool-offset:64px}.ball-rail{top:var(--scene-gutter)}.ball-group{gap:3px}.ball-slots .target-ball,#placeCue{width:19px;height:19px}.tip-picker{gap:6px}.tip-picker button{height:30px}.tip-face{width:28px;height:25px;font-size:11px}.status-stack,.pause-indicator{top:22px}.status-stack{left:calc(var(--scene-gutter) + 118px)}.match-score{top:18px}.stroke-control,#strokePad{height:64px}.stroke-control{--stroke-track-height:58px;top:18px}.stroke-cue{width:26px;height:64px;right:13px}.stroke-track{top:1px}.shot-result{top:39px}}.table-options{border:1px solid var(--border);background:var(--background);border-radius:10px;gap:12px;padding:14px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.table-options{background:color-mix(in oklch, var(--background) 18%, transparent)}}.table-options .game-option{background:0 0;padding:9px 0;font-size:13px}.table-options .game-option label>span+span{margin-top:3px}#game .session-card{padding:12px}#game .menu-destination{padding-block:10px}.spin-caption .spin-caption-heading{justify-content:center;align-items:center;gap:6px;display:inline-flex}.dialog-heading{align-items:flex-start;gap:8px;min-height:24px;margin:0 0 8px;display:flex}.dialog-heading>button{flex-shrink:0;width:24px;height:24px;min-height:24px;transform:translateY(-2px)}.settings-tabs{scrollbar-width:thin;border-bottom:1px solid var(--border);gap:20px;min-width:0;margin-bottom:20px;display:flex;overflow-x:auto}.settings-tab{color:var(--muted-foreground);white-space:nowrap;border-bottom:2px solid #0000;outline:none;flex-shrink:0;padding:8px 0 10px;font-size:13px}.settings-tab[data-active]{border-bottom-color:var(--primary);color:var(--foreground)}.settings-tab:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:3px}.settings-tab-panel{outline:none;gap:20px;display:grid}.settings-note{color:var(--muted-foreground);font-size:12px;line-height:1.5}.settings-sensitivity{gap:14px;display:grid}.settings-preferences{gap:12px;padding-top:4px;display:grid}.shortcut-fields{gap:6px;display:grid}.shortcut-field{justify-content:space-between;align-items:center;gap:20px;font-size:13px;display:flex}.shortcut-field input{text-align:center;text-transform:uppercase;width:44px;height:30px}@media (max-width:520px){.settings-tabs{gap:12px}.settings-tab{font-size:12px}}.settings-preview{border-top:1px solid var(--border);gap:12px;padding-top:16px;display:grid}.studio-toolbar{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:20px 32px;padding:16px;display:flex}.studio-strength{gap:8px;display:grid}.studio-label{color:var(--muted-foreground);font-size:12px}.studio-segments{background:var(--background);border-radius:7px;gap:2px;padding:3px;display:flex}.studio-segments button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.studio-volume{flex:1;min-width:150px}.studio-banks{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.studio-bank header{align-items:center;gap:8px;margin-bottom:14px;display:flex}.studio-bank h3{font-size:13px;font-weight:500}.studio-bank header>span:last-child{color:var(--muted-foreground);margin-left:auto;font-size:10px}.studio-bank-index{color:var(--primary);font-size:10px}.studio-pads{gap:8px;display:grid}.sound-pad{background:linear-gradient(145deg,#ffffff05,#0000);justify-content:flex-start;gap:10px;height:48px;padding:10px;font-size:12px}.sound-pad-play{border:1px solid var(--border);width:24px;height:24px;color:var(--muted-foreground);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.sound-pad[data-selected=true]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.sound-pad[data-selected=true]{border-color:color-mix(in oklch, var(--primary) 65%, var(--border))}}.sound-pad[data-selected=true]{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.sound-pad[data-selected=true]{background:color-mix(in oklch, var(--primary) 7%, transparent)}}.sound-pad[data-selected=true] .sound-pad-play{color:var(--primary);border-color:var(--primary)}@media (max-width:700px){.studio-banks{grid-template-columns:1fr}.studio-pads{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-bank header>span:last-child{margin-left:0}}.studio-reflections{gap:10px;min-width:180px;display:grid}.sound-pad:not([data-selected=true]) .sound-playing-icon,.sound-pad[data-selected=true] .sound-play-icon{display:none}.cue-tools,.ball-rail{z-index:24;pointer-events:none;width:auto;position:absolute;top:calc(50% + 32px);bottom:auto;transform:translateY(-50%)}.cue-tools{left:0}.ball-rail{right:0}.equipment-drawer{--drawer-width:112px;filter:drop-shadow(0 3px 5px #0005);flex-direction:row-reverse;align-items:center;display:flex}.equipment-drawer-right{--drawer-width:82px;flex-direction:row}.drawer-toggle{z-index:2;border:1px solid var(--hud-outline);background:var(--hud-surface);pointer-events:auto;cursor:pointer;border-left:0;border-radius:0 12px 12px 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:84px;padding:7px 3px 5px;transition:background .16s,border-color .16s;display:flex;position:relative}.equipment-drawer-right .drawer-toggle{border:1px solid var(--hud-outline);border-right:0;border-radius:12px 0 0 12px;height:466px;min-height:84px;transition:height .3s cubic-bezier(.22,1,.36,1) 90ms,background .16s}.drawer-toggle:hover{background:#172127;border-color:#5c737d}.drawer-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.drawer-summary-label,#selectedTipName{display:none}.drawer-toggle strong{font-size:10px;font-weight:500;line-height:12px}.drawer-chevron{color:#85969e;transition:transform .28s}.equipment-drawer-right .drawer-chevron,.equipment-drawer[data-open=true] .drawer-chevron{transform:rotate(180deg)}.equipment-drawer-right[data-open=true] .drawer-chevron{transform:rotate(0)}.drawer-reveal{opacity:0;visibility:hidden;width:0;transition:width .3s cubic-bezier(.22,1,.36,1) 90ms,opacity .16s .16s,visibility .3s;overflow:hidden}.equipment-drawer[data-open=true] .drawer-reveal{width:var(--drawer-width);opacity:1;visibility:visible}.drawer-content{width:var(--drawer-width);overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--hud-outline);background:var(--hud-surface);pointer-events:auto;border-left:0;border-radius:0 14px 14px 0;max-height:calc(100vh - 176px);padding:12px;overflow-y:auto}.equipment-drawer-right .drawer-content{border:1px solid var(--hud-outline);border-right:0;border-radius:14px 0 0 14px}.drawer-toggle:before{content:"";background:var(--hud-surface);opacity:0;width:3px;transition:opacity .18s;position:absolute;top:0;bottom:0;left:-2px}.equipment-drawer-right .drawer-toggle:before{left:auto;right:-2px}.equipment-drawer[data-open=true] .drawer-toggle:before{opacity:1}.drawer-heading{justify-content:space-between;align-items:baseline;gap:4px;margin-bottom:12px;display:flex}.drawer-heading h2{justify-content:center;align-items:baseline;gap:6px;font-size:12px;font-weight:600;line-height:16px;display:flex}.drawer-heading>span,.drawer-note{display:none}.tip-picker{gap:6px}.tip-picker button{padding-inline:8px;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;height:68px;padding:8px 4px;display:flex}.tip-picker button:hover{background:#ffffff08}.tip-picker button[aria-pressed=true]{background:#1b303b;border-color:#4382a1}.tip-copy{white-space:nowrap;text-align:center;display:flex}.tip-copy strong{font-size:10px;font-weight:500}.tip-copy>span{display:none}.tip-face{flex-shrink:0;width:22px;height:20px;font-size:10px}#selectedTipFace{color:#82d8ff;margin-bottom:4px}#selectedTipFace[data-tip=phenolic]{background:radial-gradient(at 30% 20%,#45342e,#171311 70%)}.rack-tracker{max-height:none;margin:0;padding:0;display:block;overflow:visible}.rack-arrangement,.match-targets{align-items:stretch;gap:14px}.cue-ball-slot{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;padding:0;display:flex}.cue-slot-label{text-align:left;color:var(--foreground);flex:1;font-size:11px}.cue-ball-slot kbd{position:static}.ball-slots{gap:14px}.ball-group{align-items:stretch;gap:5px}.ball-group-heading{justify-content:space-between;font-size:10px;font-weight:400;line-height:14px;display:flex}.ball-group-heading>span:last-child{color:#73848d;font-variant-numeric:tabular-nums;font-size:9px}.ball-group-items{flex-wrap:wrap;grid-template-columns:repeat(2,22px);gap:7px;padding:3px;display:grid}.ball-slots .target-ball,#placeCue{flex-shrink:0;width:22px;height:22px}.ball-slots [aria-pressed=true]{outline:2px solid var(--primary);outline-offset:2px}.ball-slots [aria-disabled=true]{cursor:default!important}.match-targets>h3{color:var(--foreground);margin-bottom:-6px;font-size:10px}.match-targets>h3:not(:first-child){margin-top:6px}.drawer-placement{color:var(--primary);flex-direction:column;align-items:stretch;gap:6px;margin-top:12px;font-size:10px;display:flex}.drawer-placement button{font-size:10px}.drawer-mini-rack{opacity:1;flex-direction:column;gap:9px;padding-block:3px;transition:opacity .12s .28s;display:flex;position:absolute;top:calc(50% - 224px)}.drawer-mini-group{flex-direction:column;gap:3px;display:flex}.drawer-mini-rack .target-ball{width:22px;height:22px}.drawer-mini-rack .target-ball>.ball-number{width:13px;height:13px}.equipment-drawer[data-open=true] .drawer-mini-rack{opacity:0;visibility:hidden;transition:opacity 80ms,visibility 0s 80ms;display:flex}.equipment-drawer-right[data-open=true] .drawer-toggle{height:84px;margin-right:-5px}.equipment-drawer-right:not([data-open=true]) .drawer-chevron{margin-top:auto}.equipment-drawer-left{--drawer-width:88px}.equipment-drawer-left .drawer-toggle{transition:width .3s cubic-bezier(.22,1,.36,1) 90ms,height .3s cubic-bezier(.22,1,.36,1) 90ms}.equipment-drawer-left[data-open=true] .drawer-toggle{width:22px;height:48px;margin-left:-5px}.equipment-drawer-left[data-open=true] #selectedTipFace{display:none}.equipment-drawer-left .drawer-heading,.equipment-drawer-right .drawer-heading{justify-content:center}#ballsSummaryCount{color:var(--muted-foreground);font-size:10px;font-weight:400}.cue-group-heading{justify-content:space-between;align-items:center;font-size:10px;line-height:14px;display:flex}.cue-ball-slot #placeCue{margin:3px}.equipment-drawer[data-open=true] .drawer-toggle{width:20px;height:40px;min-height:40px}@media (prefers-reduced-motion:reduce){.drawer-reveal,.drawer-toggle,.drawer-chevron,.drawer-toggle:before,.equipment-drawer-right .drawer-toggle,.drawer-mini-rack,.equipment-drawer-left .drawer-toggle{transition:none}}@media (max-height:760px){.ball-group-items{grid-template-columns:repeat(2,20px);gap:4px}.ball-slots .target-ball,#placeCue{width:20px;height:20px}}@property --drawer-open{syntax:"<number>";inherits:true;initial-value:0}@supports (clip-path:shape(from 0 0, line to 100% 0, line to 100% 100%, close)){.equipment-drawer{--drawer-open:0;--drawer-closed-half:42px;transition:--drawer-open .3s cubic-bezier(.22,1,.36,1) 90ms;position:relative}.equipment-drawer-right{--drawer-closed-half:233px}.equipment-drawer[data-open=true]{--drawer-open:1}.equipment-drawer:before,.equipment-drawer:after{content:"";pointer-events:none;--edge:calc(100% - 15px * var(--drawer-open));--top:calc((100% - 2 * var(--drawer-closed-half)) * (1 - var(--drawer-open)));--bottom:100%;--arrow-y:calc(100% - 20px);--shoulder:calc(4px + 24px * var(--drawer-open));--neck:calc(4px + 13px * var(--drawer-open));--bend:calc(var(--edge) + 5px * var(--drawer-open));--inner-control:calc(var(--edge) + 1px * var(--drawer-open));clip-path:shape(from 0 var(--top), line to calc(var(--edge) - 16px) var(--top), curve to var(--edge) calc(var(--top) + 16px) with calc(var(--edge) - 7px) var(--top) / var(--edge) calc(var(--top) + 7px), line to var(--edge) calc(var(--arrow-y) - var(--shoulder)), curve to var(--bend) calc(var(--arrow-y) - var(--neck)) with var(--edge) calc(var(--arrow-y) - var(--neck) - 5px * var(--drawer-open)) / var(--inner-control) calc(var(--arrow-y) - var(--neck) - 1px * var(--drawer-open)), curve to 100% var(--arrow-y) with 100% calc(var(--arrow-y) - var(--neck) + 3px * var(--drawer-open)) / 100% calc(var(--arrow-y) - 8px * var(--drawer-open)), curve to calc(var(--edge) - 20px) 100% with 100% calc(100% - 5px) / calc(var(--edge) - 5px) 100%, line to 0 100%, close);position:absolute}.equipment-drawer:before{background:var(--hud-outline);inset:-1px}.equipment-drawer:after{background:var(--hud-surface);inset:0}.equipment-drawer-right:before,.equipment-drawer-right:after{transform:scaleX(-1)}.equipment-drawer .drawer-reveal{z-index:1;position:relative}.equipment-drawer .drawer-content,.equipment-drawer .drawer-toggle{background:0 0;border-color:#0000}.equipment-drawer .drawer-toggle:before{display:none}.equipment-drawer .drawer-toggle:hover{color:var(--primary)}@media (prefers-reduced-motion:reduce){.equipment-drawer{transition:none}}}.equipment-drawer-left:not([data-open=true]) .drawer-toggle{gap:12px}@media (max-height:760px){.equipment-drawer-right{--drawer-width:75px;--drawer-closed-half:217px}.equipment-drawer-right:not([data-open=true]) .drawer-toggle{height:434px}.drawer-mini-rack .target-ball{width:20px;height:20px}}.drawer-chevron{transition:color .16s,translate .16s,transform .28s}.drawer-toggle:is(:hover,:focus-visible) .drawer-chevron{color:#d7effb}.equipment-drawer-left .drawer-toggle:is(:hover,:focus-visible) .drawer-chevron,.equipment-drawer-right[data-open=true] .drawer-toggle:is(:hover,:focus-visible) .drawer-chevron{translate:2px}.equipment-drawer-right .drawer-toggle:is(:hover,:focus-visible) .drawer-chevron,.equipment-drawer-left[data-open=true] .drawer-toggle:is(:hover,:focus-visible) .drawer-chevron{translate:-2px}@supports (clip-path:shape(from 0 0, line to 100% 0, line to 100% 100%, close)){.equipment-drawer:before,.equipment-drawer:after{transition:background-color 80ms}.equipment-drawer:not([data-open=true]):not([data-transitioning=true]):is([data-hover=true],:has(.drawer-toggle:focus-visible)):before{background:#536974}.equipment-drawer:not([data-open=true]):not([data-transitioning=true]):is([data-hover=true],:has(.drawer-toggle:focus-visible)):after{background:#18232a}.equipment-drawer[data-open=true]:not([data-transitioning=true]):is([data-hover=true],:has(.drawer-toggle:focus-visible)):before{background-image:radial-gradient(circle at 100% calc(100% - 20px),#40515b 6px,#0000 28px)}.equipment-drawer[data-open=true]:not([data-transitioning=true]):is([data-hover=true],:has(.drawer-toggle:focus-visible)):after{background-image:radial-gradient(circle at 100% calc(100% - 20px),#18232a 0,#0000 22px)}}@media (prefers-reduced-motion:reduce){.drawer-chevron,.equipment-drawer:before,.equipment-drawer:after{transition:none}.drawer-toggle .drawer-chevron{translate:none!important}}.equipment-drawer:not([data-open=true]) .drawer-reveal{transition:width .3s cubic-bezier(.22,1,.36,1) 90ms,opacity 80ms,visibility 0s 80ms}.placement-prompt{z-index:25;border:1px solid var(--hud-outline);background:var(--hud-surface);color:var(--primary);white-space:nowrap;border-radius:12px;align-items:center;gap:12px;padding:5px 6px 5px 12px;font-size:12px;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.placement-prompt button{font-size:12px}@media (max-height:760px){.drawer-mini-rack{top:calc(50% - 208px)}}@media (prefers-reduced-motion:reduce){.equipment-drawer:not([data-open=true]) .drawer-reveal{transition:none}}@supports (clip-path:shape(from 0 0, line to 100% 0, line to 100% 100%, close)){.equipment-drawer[data-transitioning=true]:before,.equipment-drawer[data-transitioning=true]:after{transition:none}}.drawer-flight>.ball-number{width:13px;height:13px}.equipment-drawer-right[data-transitioning=true] .target-ball{pointer-events:none;opacity:0!important}.equipment-drawer-right:not([data-open=true]):not([data-transitioning=true]) .drawer-mini-rack{opacity:1;transition:none}.equipment-drawer-right:not([data-open=true]) .drawer-chevron{margin-top:0;position:absolute;bottom:12px;left:calc(50% - 7px)}.equipment-drawer{align-items:flex-end}.equipment-drawer-right{min-height:466px}.drawer-chevron{position:absolute;bottom:13px;left:calc(50% - 7px)}.equipment-drawer-right:not([data-open=true]) .drawer-chevron{bottom:13px}#selectedTipFace{margin-bottom:0;position:absolute;top:12px}@media (max-height:760px){.equipment-drawer-right{min-height:434px}}.cue-tools,.ball-rail{--drawer-zone-height:466px;top:max(16px, min(calc(50% - 140px), calc(100% - var(--drawer-zone-height) - 16px)));transform:none}.equipment-drawer .drawer-reveal{align-self:flex-start}.drawer-mini-rack{top:auto;bottom:35px}@media (max-height:760px){.cue-tools,.ball-rail{--drawer-zone-height:434px}.drawer-mini-rack{top:auto}}.equipment-drawer .drawer-toggle{transition:width .3s cubic-bezier(.22,1,.36,1) 90ms,height .3s cubic-bezier(.22,1,.36,1) 90ms,margin-left .3s cubic-bezier(.22,1,.36,1) 90ms,margin-right .3s cubic-bezier(.22,1,.36,1) 90ms,background-color 80ms,border-color 80ms}@media (prefers-reduced-motion:reduce){.equipment-drawer .drawer-toggle{transition:none}}.stance-prompt{z-index:2;border:1px solid var(--hud-outline);background:var(--hud-surface);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;border-bottom:0;border-radius:10px 10px 0 0;padding:5px 5px 0;transition:opacity .1s,transform .24s cubic-bezier(.22,1,.36,1),visibility 0s .24s;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%,7px)}.stance-prompt[data-active=true]{opacity:1;visibility:visible;pointer-events:auto;transition-delay:60ms,0s,0s;transform:translate(-50%)}.stance-prompt .shortcut-button{height:25px;min-height:25px;color:var(--foreground);background:0 0;padding:2px 7px;font-size:12px}.stance-prompt .shortcut-button:hover{background:var(--accent)}.stance-prompt{gap:2px}#fineControl[aria-pressed=true]{color:var(--primary);background:#193240}.stance-prompt .shortcut-icon{width:15px;height:15px}@media (prefers-reduced-motion:reduce){.stance-prompt{transition:none}}.game-chat{z-index:25;pointer-events:none;text-shadow:0 1px 2px #000;grid-area:chat;align-self:end;width:min(280px,24vw);margin-bottom:4px;font-size:13px;line-height:1.55;position:relative}.game-chat[data-open=true]{pointer-events:auto}.chat-history{z-index:-1;isolation:isolate;position:absolute;bottom:calc(100% - 8px);left:0;right:0}.chat-log{scrollbar-width:thin;scrollbar-gutter:stable;border-radius:12px 12px 0 0;flex-direction:column-reverse;max-height:min(210px,30vh);padding:14px 0 12px;display:flex;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0005 0%,#000b 20%,#000 70%);mask-image:linear-gradient(#0005 0%,#000b 20%,#000 70%)}.game-chat[data-open=false] .chat-log{pointer-events:none}.chat-line{color:#edf3f5;overflow-wrap:anywhere;white-space:normal;grid-template-columns:fit-content(40%) minmax(0,1fr);align-items:baseline;column-gap:8px;margin:0;padding:2px 16px;animation:.18s ease-out chat-line-arrive;display:grid}.chat-line strong{text-overflow:ellipsis;white-space:nowrap;color:#8dcee3;min-width:0;margin-right:0;font-weight:500;overflow:hidden}.chat-line[data-system=true] strong{color:#c5b38b}.chat-system-hint{color:inherit;cursor:pointer;pointer-events:auto;text-align:left;background:0 0}.chat-composer{pointer-events:auto;position:relative}.chat-input-row{border-radius:8px;align-items:center;gap:8px;height:40px;padding:5px 0 5px 8px;display:flex}.chat-input-row>span{color:#d6e7ec}.chat-input-row input{color:#edf3f5;caret-color:#edf3f5;background:0 0;outline:none;flex:1;min-width:0}.chat-input-row input::placeholder{color:#899ba36b}.chat-error{z-index:4;color:var(--warning);background:#05090bf5;padding:3px 8px;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.chat-emoji{vertical-align:-.25em;width:1.3em;height:1.3em;margin:0 .06em;display:inline-block}.chat-actions{pointer-events:auto;flex-shrink:0;justify-content:flex-end;gap:5px;display:flex}.chat-actions button{color:#a6b8c1;cursor:pointer;border-radius:6px;place-items:center;width:32px;height:32px;padding:0;display:grid}.chat-actions button:hover,.chat-actions button[aria-expanded=true]{background:var(--muted);color:var(--foreground)}.chat-picker{width:min(430px, calc(100vw - 2 * var(--scene-gutter)));z-index:2;border:1px solid var(--hud-outline);pointer-events:auto;background:#0c1216fa;border-radius:9px;position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 8px 24px #0005}.chat-picker-heading{color:#b8c7ce;align-items:center;gap:10px;padding:12px;display:flex}.chat-picker-heading strong{font-size:12px;font-weight:500}.chat-picker-heading input{border:1px solid var(--hud-outline);color:#edf3f5;outline-offset:2px;background:#ffffff08;border-radius:6px;flex:1;width:0;min-width:0;padding:7px 9px}.chat-picker-heading button{padding:4px}.chat-picker-body{height:min(330px,100vh - 220px);display:flex}.chat-categories{scrollbar-width:none;border-right:1px solid var(--hud-outline);flex-direction:column;flex:0 0 43px;align-items:center;gap:2px;padding:0 4px 5px;display:flex;overflow-y:auto}.chat-categories button{color:#8297a2;border-radius:6px;flex-shrink:0;place-items:center;width:32px;height:30px;display:grid}.chat-categories button[aria-selected=true],.chat-categories button:hover{background:var(--muted);color:var(--foreground)}.chat-category{scrollbar-width:thin;flex:1;min-width:0;padding:0 8px 8px;overflow-y:auto}.chat-category-label{z-index:1;color:#b8c7ce;background:#0c1216;padding:4px 0 8px;font-size:12px;position:sticky;top:0}.chat-emoji-grid{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.chat-emoji-grid button{aspect-ratio:1;cursor:pointer;border-radius:5px;place-items:center;min-width:0;padding:3px;display:grid}.chat-emoji-grid button:hover,.chat-emoji-grid button:focus-visible{background:var(--muted)}.chat-emoji-grid .chat-emoji{width:29px;height:29px;margin:0}.chat-picker-empty{color:#a6b8c1;padding:10px 0 0}.chat-emoji-preview{border-top:1px solid var(--hud-outline);color:#d7e3e9;align-items:center;gap:10px;min-height:43px;padding:7px 12px;display:flex}.chat-emoji-preview .chat-emoji{width:27px;height:27px}.chat-emoji-preview span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-suggestions{z-index:3;background:#05090bf5;flex-direction:column;margin-top:4px;padding:3px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.chat-suggestions button{text-align:left;cursor:pointer;align-items:center;gap:8px;padding:4px 6px;display:flex}.chat-suggestions button[aria-selected=true]{background:var(--muted)}.chat-suggestions .chat-emoji{width:20px;height:20px}.chat-reactions{right:var(--scene-gutter);pointer-events:none;width:80px;position:fixed;bottom:8px}.chat-flight{left:calc(clamp(48px, var(--reaction-center), calc(100% - 80px)) + var(--spread));flex-direction:column;align-items:center;width:32px;animation:4.2s ease-out forwards chat-reaction-rise;display:flex;position:absolute;bottom:0}.chat-flight .chat-emoji{width:32px;height:32px;filter:drop-shadow(0 2px 3px #0006) drop-shadow(0 0 3px var(--reaction-color))}@supports (color:color-mix(in lab, red, red)){.chat-flight .chat-emoji{filter:drop-shadow(0 2px 3px #0006) drop-shadow(0 0 3px color-mix(in srgb, var(--reaction-color) 65%, transparent))}}.chat-flight span{text-overflow:ellipsis;white-space:nowrap;color:#edf3f5;max-width:90px;font-size:10px;overflow:hidden}@keyframes chat-line-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-reaction-rise{0%{opacity:0;transform:translate(0)scale(.7)}12%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(var(--drift), var(--reaction-rise)) scale(1.15)}}@media (prefers-reduced-motion:reduce){.chat-line{animation:none}.chat-flight{animation-name:chat-reaction-fade}@keyframes chat-reaction-fade{0%,70%{opacity:1}to{opacity:0}}}.chat-input-row{position:relative}.reaction-tray{pointer-events:auto;border:1px solid #0000;align-items:center;gap:5px;height:54px;padding:6px 9px 6px 6px;display:flex;position:relative}.reaction-tray>button{color:#a6b8c1;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.reaction-tray>button:hover,.reaction-tray>button[aria-expanded=true]{background:var(--muted);color:var(--foreground)}.reaction-tray>button>.chat-emoji{width:22px;height:22px}.reaction-tray .chat-picker{bottom:calc(100% + 8px);left:auto;right:0}.chat-reactions{width:140px}.chat-message{white-space:pre-wrap;min-width:0}.chat-line .chat-own-name{font:inherit;color:inherit;pointer-events:auto;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.chat-line{max-height:200px;transition:opacity .6s,max-height .6s,padding .6s}.chat-line[data-quiet=true]{opacity:0;pointer-events:none;max-height:0;padding-block:0;overflow:hidden}.profile-color{gap:14px;display:grid}.profile-swatches{justify-content:space-between;gap:9px;display:flex}.profile-swatches button{border:2px solid #0000;border-radius:50%;width:25px;height:25px}.profile-swatches button[aria-pressed=true]{outline:2px solid var(--foreground);outline-offset:3px}.profile-color .react-colorful{width:100%;height:160px}.profile-color .react-colorful__saturation{border-bottom:none;border-radius:8px}.profile-color .react-colorful__hue{border-radius:6px;height:12px;margin-top:14px}.profile-color .react-colorful__pointer{width:18px;height:18px}.profile-hex{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.profile-hex input{background:var(--input);width:100px;color:var(--foreground);border:1px solid var(--border);border-radius:6px;padding:7px 10px}.profile-preview{background:var(--background);border-radius:8px;align-items:center;gap:9px;padding:12px;font-size:13px;display:flex}.profile-preview strong{font-weight:500}.chat-flight span{white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:120px;overflow:visible}#reactionDock{grid-area:reactions;place-self:end;margin-bottom:4px}.chat-composer,.reaction-tray{isolation:isolate}.chat-composer{border:1px solid #0000;padding:6px}.chat-composer:before,.reaction-tray:before{content:"";z-index:-1;border:1px solid var(--hud-outline);background:var(--hud-surface);pointer-events:none;border-radius:15px;position:absolute;inset:-1px;box-shadow:inset 0 1px #ffffff08,0 4px 12px #0005}.chat-composer:focus-within:before{border-color:#46616d}.chat-composer{z-index:1}.stroke-input{text-align:right}.game-island{z-index:21;width:var(--commands-width,460px);height:42px;max-width:calc(100% - 2 * var(--scene-gutter) - 180px);--notice-open:0;--notice-inset:180px;--notice-height:28px;isolation:isolate;transition:width .24s cubic-bezier(.22,1,.36,1),--notice-open .24s cubic-bezier(.22,1,.36,1),--notice-inset .24s cubic-bezier(.22,1,.36,1),--notice-height .24s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:50%;translate:-50%}.game-island:before,.game-island:after{content:"";height:calc(var(--bar-height,42px) + var(--notice-height) * var(--notice-open));background:var(--hud-surface);z-index:-1;pointer-events:none;border-radius:0 0 14px 14px;position:absolute;inset:0 0 auto}.game-island:before{--outline-offset:2px;height:calc(var(--bar-height,42px) + 2px + var(--notice-height) * var(--notice-open));background:var(--hud-outline);inset:-1px -1px auto}.dock-commands{align-items:center;gap:6px;min-height:42px;padding:5px 8px;display:flex}.game-island .game-navigation{flex-shrink:0}.game-island .table-actions{min-width:0}.island-info{top:var(--bar-height,42px);opacity:0;visibility:hidden;width:100%;transition:opacity .1s,transform .24s cubic-bezier(.22,1,.36,1),visibility 0s .24s;display:grid;position:absolute;transform:translateY(-6px)}.game-island[data-notice=true] .island-info{opacity:1;visibility:visible;transition-delay:60ms,0s,0s;transform:none}.game-island .status-stack{max-width:none;min-height:0;padding-inline:24px;position:static;overflow:hidden}.game-island .status-stack:after{content:"";height:5px;display:block}.game-island .pause-indicator{margin:0;position:static;transform:none}.game-island .preview-trigger{margin-top:0}.game-island[data-active=false]{max-width:calc(100% - 48px)}@media (max-height:760px){.game-island{max-width:calc(100% - 2 * var(--scene-gutter) - 170px);top:0}}@media (max-width:760px){.dock-commands{gap:2px;padding-inline:5px}.dock-commands .shortcut-button{padding-inline:5px;font-size:11px}.dock-commands .key-hint{display:none}.game-island .status-stack{padding-inline:20px}}@media (prefers-reduced-motion:reduce){.island-info{transition:none}}.shot-result .preview-trigger{font-variant-numeric:tabular-nums;color:#79afc8;white-space:nowrap;text-shadow:1px 1px #000;border-radius:3px;width:max-content;padding:2px 0;font-size:11px;font-weight:500;line-height:16px;position:absolute;top:-17px;left:8px}.shot-result .preview-trigger:before{content:"≈";opacity:.7;margin-right:4px}.shot-result .preview-trigger[data-state=waiting]{color:#80949e}.shot-result .preview-trigger[data-state=warning]{color:var(--warning)}.shot-result .preview-trigger:hover,.shot-result .preview-trigger:focus-visible{color:#c0e7f8}.shot-result .preview-trigger:focus-visible{outline:1px solid var(--ring);outline-offset:4px}.shot-result .preview-trigger{text-align:right;left:auto;right:8px}.guide-warning{color:var(--warning)}.game-island .placement-prompt{box-shadow:none;background:0 0;border:0;padding:0;position:static;transform:none}.game-island .status-stack{gap:3px;display:grid}.game-island .table-status{text-shadow:none}.chat-log:empty{display:none}@media (max-width:960px){.game-chat{width:min(280px,44vw)}}@media (max-height:760px){.stroke-control{right:calc(var(--scene-gutter) + 48px)}}.game-island .status-stack{text-align:center;justify-self:center;justify-items:center;gap:0;width:max-content;max-width:calc(100% - 32px);padding-inline:16px}.chat-line{flex-shrink:0}@property --notice-open{syntax:"<number>";inherits:true;initial-value:0}@property --wing-open{syntax:"<number>";inherits:true;initial-value:0}@property --wing-width{syntax:"<length>";inherits:true;initial-value:0}@property --notice-inset{syntax:"<length>";inherits:true;initial-value:180px}@property --notice-height{syntax:"<length>";inherits:true;initial-value:28px}.game-island[data-notice=true]{--notice-open:1}.game-island .dock-commands{height:42px}@media (prefers-reduced-motion:reduce){.game-island,.island-info{transition:none}}.game-island .placement-prompt{pointer-events:auto}.game-island .dock-commands{width:max-content;max-width:calc(100vw - 2 * var(--scene-gutter) - 180px)}.game-island .idle-actions>span{display:none}.game-island .match-score{border-top:1px solid var(--hud-outline);grid-template-columns:minmax(0,max-content) auto minmax(0,max-content);gap:16px;width:100%;max-width:none;padding:7px 16px 10px;font-size:13px;display:grid;position:static;translate:none}.score-player{align-items:baseline;gap:7px;min-width:0;display:flex}.score-player:last-child{justify-content:flex-end}.score-player>span:last-child{color:var(--muted-foreground);white-space:nowrap;font-size:10px}.match-score #score{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.match-choices{top:calc(var(--bar-height,42px) + var(--notice-height) * var(--notice-open) + 8px);width:max-content;max-width:var(--island-limit,calc(100vw - 48px));border:1px solid var(--hud-outline);background:var(--hud-surface);pointer-events:auto;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:6px;padding:6px;transition:top .24s cubic-bezier(.22,1,.36,1);animation:.18s ease-out choice-actions-arrive;display:flex;position:absolute;left:50%;translate:-50%;box-shadow:0 4px 12px #0004}@keyframes choice-actions-arrive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.match-choices{transition:none;animation:none}}.match-choices:empty{display:none}.match-flow{pointer-events:auto;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:flex}.match-flow p{margin:0}.opponent-camera{z-index:8;color:var(--player-color);pointer-events:none;white-space:nowrap;background:#080c0eb8;border-radius:7px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex;position:absolute;translate:-50% -100%}.opponent-camera [data-name]{text-overflow:ellipsis;max-width:100px;overflow:hidden}.opponent-camera [data-mode]{color:#a9b3b8;font-size:10px}.opponent-bearing{transform:rotate(var(--bearing));display:none}.opponent-camera[data-edge=true] .opponent-bearing{display:inline-block}@media (max-width:760px){.score-player>span:last-child{display:none}.game-island .match-score{gap:8px;padding-inline:10px}}.reaction-tray>button{padding:0}.chat-log{transition:opacity .8s}.chat-log[data-faded=true]{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.chat-log{transition:none}}.practice-actions:not(:has(button:not([hidden]))){display:none}.view-mode-field{gap:7px;display:grid}.view-mode-field legend{margin-bottom:6px;font-size:12px;font-weight:600}.view-mode-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.stroke-mode-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.view-mode-field+.view-mode-field{margin-top:12px}.view-mode-tile{text-align:center;border:1px solid var(--border);cursor:pointer;border-radius:9px;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;display:flex;position:relative}.view-mode-tile input{width:13px;height:13px;accent-color:var(--primary);position:absolute;top:5px;right:5px}.view-mode-tile svg{width:30px;height:22px}.view-mode-tile strong{font-size:12px}.view-mode-tile small{color:var(--muted-foreground);font-size:10px;line-height:1.3}.lobby-heading{justify-content:space-between;align-items:center;font-size:14px;display:flex}.lobby-heading>span{color:var(--muted-foreground);font-size:12px}.lobby-roster{gap:8px;display:grid}.lobby-seat{border:1px solid var(--border);background:var(--background);border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.lobby-seat>div{flex:1;gap:3px;min-width:0;display:grid}.lobby-badges{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.lobby-seat strong{text-overflow:ellipsis;font-size:14px;overflow:hidden}.lobby-seat small{color:var(--muted-foreground);font-size:12px}.lobby-avatar{background:var(--muted);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.lobby-avatar svg{width:18px}.lobby-seat[data-connected=false]{opacity:.6;border-style:dashed}.game-chat[data-practice=false] .chat-history{padding-bottom:8px}.game-chat[data-practice=false] .chat-log{padding-bottom:2px}.chat-history:before{content:"";z-index:-1;pointer-events:none;opacity:0;background:linear-gradient(0deg,#080c0ef2,#080c0ee6 calc(100% - 24px),#080c0e00);transition:opacity .8s;position:absolute;inset:-16px 0 0}.chat-history:has(.chat-log:not(:empty)[data-faded=false]):before{opacity:1}.chat-history:has(.chat-typing[data-typing=true]):before{opacity:1}.chat-history:not(:has(.chat-log:not(:empty)[data-faded=false])):has(.chat-typing[data-typing=true]):before{opacity:.45}@media (prefers-reduced-motion:reduce){.chat-history:before{transition:none}}.chat-typing{pointer-events:none;color:#a1adb4;align-items:center;gap:6px;height:20px;margin-inline:16px;font-size:11px;display:flex}.chat-typing strong{color:#c3d0d7;font-weight:500}.typing-dots{gap:2px;display:flex}.typing-dots i{background:currentColor;border-radius:50%;width:3px;height:3px;animation:1.2s infinite typing-dot}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{opacity:.4;transform:none}30%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.typing-dots i{animation:none}}.game-menu-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}#game .game-menu-actions button{width:100%;height:36px}#game #leaveTableHint{margin-top:-14px;font-size:11px}#game:has(#roomSession:not([hidden])) .session-card{display:none}.room-secondary-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.room-secondary-actions button{font-size:11px}.room-table-settings{border:1px solid var(--border);border-radius:10px}.room-table-settings summary{cursor:pointer;align-items:center;gap:10px;padding:13px 14px;font-size:13px;font-weight:500;list-style:none;display:flex}.room-table-settings summary>span{text-align:right;color:var(--muted-foreground);flex:1;font-size:11px;font-weight:400}.room-table-settings summary svg{width:14px;height:14px;transition:rotate .18s}.room-table-settings[open] summary svg{rotate:180deg}.room-table-settings .table-options{padding:4px 14px 14px}.lobby-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content;font-size:14px;font-weight:600;overflow:hidden}.lobby-name:not(:disabled):hover{text-underline-offset:3px;text-decoration:underline}.setup-submit{border-top:1px solid var(--border);background:var(--popover);z-index:2;gap:10px;margin-top:4px;padding:16px 0;display:grid;position:sticky;bottom:-24px}@media (max-width:600px){.setup-submit{bottom:-16px}}@property --bar-inset{syntax:"<length>";inherits:true;initial-value:0}@property --shoulder{syntax:"<length>";inherits:true;initial-value:8px}@supports (clip-path:shape(from 0px 0px, line to 100% 0px, close)){.game-island:before,.game-island:after{--bar-edge:calc(var(--bar-height,42px) + var(--outline-offset,0px));--bend:calc(var(--shoulder) * var(--shoulder-direction,1));--wing-edge:calc(var(--bar-edge) - 5px * var(--wing-open));--wing-left:calc(100% - var(--bar-inset) - var(--wing-width));clip-path:shape(from var(--bar-inset) 0px, line to calc(100% - var(--bar-inset)) 0px, line to calc(100% - var(--bar-inset)) calc(var(--wing-edge) - var(--shoulder)), curve to calc(100% - var(--bar-inset) - var(--bend)) var(--wing-edge) with calc(100% - var(--bar-inset)) var(--wing-edge), line to calc(var(--wing-left) + 14px * var(--wing-open)) var(--wing-edge), curve to var(--wing-left) var(--bar-edge) with calc(var(--wing-left) + 8px * var(--wing-open)) var(--wing-edge) / calc(var(--wing-left) + 8px * var(--wing-open)) var(--bar-edge), line to calc(100% - var(--notice-inset) + var(--bend)) var(--bar-edge), curve to calc(100% - var(--notice-inset)) calc(var(--bar-edge) + var(--shoulder) * var(--notice-open)) with calc(100% - var(--notice-inset)) var(--bar-edge), line to calc(100% - var(--notice-inset)) calc(100% - 10px * var(--notice-open)), curve to calc(100% - var(--notice-inset) - 10px * var(--notice-open)) 100% with calc(100% - var(--notice-inset)) 100%, line to calc(var(--notice-inset) + 10px * var(--notice-open)) 100%, curve to var(--notice-inset) calc(100% - 10px * var(--notice-open)) with var(--notice-inset) 100%, line to var(--notice-inset) calc(var(--bar-edge) + var(--shoulder) * var(--notice-open)), curve to calc(var(--notice-inset) - var(--bend)) var(--bar-edge) with var(--notice-inset) var(--bar-edge), line to calc(var(--bar-inset) + var(--bend)) var(--bar-edge), curve to var(--bar-inset) calc(var(--bar-edge) - var(--shoulder)) with var(--bar-inset) var(--bar-edge), line to var(--bar-inset) 0px, close);border-radius:0}}#game>.grid{gap:16px}.game-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:20px;display:grid}.game-overview{gap:14px;min-width:0;display:grid}#game #leaveTableHint{background:var(--warning);margin:0;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){#game #leaveTableHint{background:color-mix(in srgb, var(--warning) 6%, transparent)}}#game #leaveTableHint{border-radius:8px;font-size:11px;line-height:1.5}#leaveTableHint:empty{display:none}.lobby-panel{gap:14px;display:grid}.lobby-actions{gap:8px;display:flex}.lobby-actions>button{flex:1;min-width:0}.lobby-invitation{gap:6px;display:grid}.lobby-invitation label{justify-content:space-between;align-items:center;font-size:12px;display:flex}.lobby-invitation label span{color:var(--muted-foreground);font-size:10px}#invitationCode{letter-spacing:.12em;font-weight:600}#game .room-table-settings .table-options{border:0;border-radius:0;padding:0 14px 14px}#game .room-table-settings summary{padding:12px 14px}#game .menu-destinations{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:12px;display:grid}#game .menu-destination{padding:8px}#game .menu-destination small,#game .menu-destination>svg:last-child{display:none}#game .menu-sound{flex-wrap:wrap}#gameStatus{grid-column:1/-1}.invite-copy .copy-success,.invite-copy[data-copied] .copy-default{display:none}.invite-copy[data-copied] .copy-success{color:var(--primary);display:block}.match-flow{gap:6px;min-height:28px;padding:3px 0}.match-flow p{line-height:26px}.match-flow button{border-radius:6px;height:26px;min-height:26px;padding:0 8px;font-size:11px}.match-flow button svg{width:14px;height:14px}@media (max-width:680px){.game-layout{grid-template-columns:minmax(0,1fr)}#game .menu-destinations{grid-template-columns:1fr}}#view[data-locked=true],#perspectiveView[data-locked=true],#walkView[data-locked=true]{pointer-events:auto;opacity:1;color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){#view[data-locked=true],#perspectiveView[data-locked=true],#walkView[data-locked=true]{color:color-mix(in srgb, var(--destructive) 65%, var(--muted-foreground))}}#view[data-locked=true],#perspectiveView[data-locked=true],#walkView[data-locked=true]{background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){#view[data-locked=true],#perspectiveView[data-locked=true],#walkView[data-locked=true]{background:color-mix(in srgb, var(--destructive) 7%, transparent)}}#view[data-locked=true],#perspectiveView[data-locked=true],#walkView[data-locked=true]{cursor:not-allowed}#game .table-settings-heading{margin:0;padding:12px 14px;font-size:13px;font-weight:600}#game .lobby-actions>button{height:36px}#game .menu-destination{border:1px solid var(--border);background:var(--background);border-radius:8px;justify-content:center;height:38px}#game .menu-destination:hover{background:var(--accent)}#game .menu-sound{justify-content:flex-start;gap:8px}#game .menu-sound>span{margin-left:auto}#opponentCamera[data-single-view=true] [data-mode]{display:none}#status{transition:opacity .3s}#status[data-fading=true]{opacity:0}.match-notice-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.game-island .match-notice-row .table-status{color:var(--muted-foreground);margin:0;font-size:12px;font-weight:400}.match-notice-row:has(#status:not([hidden])) #matchFlow:not([hidden]){border-left:1px solid var(--border);padding-left:10px}.opponent-camera{opacity:.5;background:#080c0e55}.match-notice-row{flex-wrap:nowrap;gap:8px;width:max-content;max-width:100%}.match-notice-row>#status{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.match-notice-row #matchFlow{flex-wrap:nowrap;min-width:0}.match-notice-row #matchFlow p{text-overflow:ellipsis;white-space:nowrap;line-height:22px;overflow:hidden}.match-notice-row:has(#status:not([hidden])) #matchFlow:not([hidden]){border:0;padding-left:0}.notice-eight{opacity:.65;background:radial-gradient(circle at 35% 25%,#52606a,#080c0e 70%);border-radius:50%;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;display:none}.notice-eight>span{color:#141719;background:#d4d7d5;border-radius:50%;place-items:center;width:8px;height:8px;font-size:6px;font-weight:700;display:grid}.match-notice-row:has(#status:not([hidden])):has(#matchFlow:not([hidden])) .notice-eight{display:flex}.drawer-mini-rack[data-assigned=true] .drawer-mini-group:not([data-owned=true]){opacity:.38}.drawer-mini-rack[data-assigned=true] .drawer-mini-group[data-owned=true]{outline:1px solid var(--owner-color)}@supports (color:color-mix(in lab, red, red)){.drawer-mini-rack[data-assigned=true] .drawer-mini-group[data-owned=true]{outline:1px solid color-mix(in srgb, var(--owner-color) 60%, transparent)}}.drawer-mini-rack[data-assigned=true] .drawer-mini-group[data-owned=true]{outline-offset:3px;border-radius:12px}.drawer-mini-rack[data-assigned=true] .drawer-mini-group[data-owned=true]:before{content:"You";color:var(--owner-color);text-align:center;font-size:8px;line-height:10px}.match-targets h3[data-own=true]{color:var(--primary)}.match-targets>[data-own=false]{opacity:.65}.game-island .island-body{width:max-content;max-width:calc(100vw - 2 * var(--scene-gutter) - 180px);align-items:center;display:flex}.game-island .match-score{width:auto;padding:0 12px calc(5px * var(--wing-open));border-top:0;flex:0 auto;align-self:stretch;align-items:center;gap:12px;font-size:12px}.game-island .score-player{flex-direction:column;justify-content:center;align-items:flex-start;gap:0}.game-island .score-player:last-child{align-items:flex-end}.game-island .score-player>span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.game-island .score-player>span:last-child:empty{display:none}.drawer-mini-rack[data-assigned=true] .drawer-mini-group[data-owned=true]{position:relative}.drawer-mini-rack[data-assigned=true] .drawer-mini-group[data-owned=true]:before{background:var(--hud-surface);z-index:1;padding-inline:3px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}@media (max-width:900px){.game-island .island-body,.game-island{max-width:calc(100vw - 48px)}.game-island .dock-commands{flex-shrink:1;min-width:0}.game-island .match-score{gap:8px;padding-inline:8px}.game-island .score-player>span:first-child{max-width:64px}}.drawer-mini-rack[data-assigned=true] .drawer-mini-group[data-owned=true]:before{content:none}#player0DrawerLabel,#player1DrawerLabel{display:none}.ball-group[data-owned=true] .ball-group-items{outline:1px solid var(--primary);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.ball-group[data-owned=true] .ball-group-items{outline:1px solid color-mix(in srgb, var(--primary) 65%, transparent)}}.ball-group[data-owned=true] .ball-group-items{outline-offset:2px}.ball-group[data-owned=true] .ball-group-items:after{content:"You";color:var(--primary);place-items:center;font-size:8px;line-height:22px;display:grid}#setupStatus[data-error=true],#status[data-error=true]{color:var(--destructive)}.game-chat[data-practice=true] .chat-typing{display:none}.match-result-hero{border:1px solid var(--border);background:var(--foreground);border-radius:10px;justify-items:center;gap:14px;padding:20px 32px;display:grid}@supports (color:color-mix(in lab, red, red)){.match-result-hero{background:color-mix(in srgb, var(--foreground) 4%, var(--popover))}}.match-result-hero{text-align:center}#resultEight{width:52px;height:52px;box-shadow:0 5px 12px #0005}#resultEight>.ball-number{width:25px;height:25px}#resultWinner{margin:0;font-size:22px;font-weight:600;line-height:1.3}.result-score{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;font-size:13px;display:flex}#resultScoreNumbers{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-size:14px;font-weight:600}#resultReason{color:var(--muted-foreground);margin:0;font-size:13px;line-height:1.5}.game-island .status-stack{grid-template-columns:minmax(0,1fr);min-width:0}.match-notice-row{min-width:0;overflow:hidden}.status-stack:has(#connection:not([hidden]))>:is(.match-notice-row,.guide-warning){display:none}.match-notice-row>#status{flex:0 auto}.match-notice-row #matchFlow{flex:0 auto;overflow:hidden}.match-notice-row #matchFlow p{min-width:0}.match-notice-row #matchFlow button{flex-shrink:0}.game-island{width:max(var(--commands-width,460px), var(--notice-width,0px));max-width:var(--island-limit,calc(100vw - 48px));transition:width .24s cubic-bezier(.22,1,.36,1),--bar-inset .24s cubic-bezier(.22,1,.36,1),--shoulder .24s cubic-bezier(.22,1,.36,1),--notice-open .24s cubic-bezier(.22,1,.36,1),--notice-inset .24s cubic-bezier(.22,1,.36,1),--notice-height .24s cubic-bezier(.22,1,.36,1),--wing-open .24s cubic-bezier(.22,1,.36,1)}.game-island .island-body{margin-inline:auto}.game-island .island-info{width:max-content;max-width:var(--island-limit,calc(100vw - 48px));grid-template-columns:minmax(0,1fr);left:50%;translate:-50%}.game-island .status-stack{max-width:var(--island-limit,calc(100vw - 48px))}@media (prefers-reduced-motion:reduce){.game-island{transition:none}}@supports (clip-path:shape(from 0px 0px, line to 100% 0px, close)){.stance-prompt{isolation:isolate;background:0 0;border:0}.stance-prompt:before,.stance-prompt:after{content:"";z-index:-1;pointer-events:none;background:var(--hud-surface);clip-path:shape(from 16px 0px, line to calc(100% - 16px) 0px, curve to calc(100% - 8px) 8px with calc(100% - 8px) 0px, line to calc(100% - 8px) calc(100% - 8px), curve to 100% 100% with calc(100% - 8px) 100%, line to 0px 100%, curve to 8px calc(100% - 8px) with 8px 100%, line to 8px 8px, curve to 16px 0px with 8px 0px, close);position:absolute;inset:0 -8px}.stance-prompt:before{background:var(--hud-outline);inset:-1px -9px 0}}.island-outline,.stance-outline{display:none}@supports not (clip-path:shape(from 0px 0px, line to 100% 0px, close)){.game-island:before,.game-island:after{display:none}.island-outline,.stance-outline{z-index:-1;pointer-events:none;fill:var(--hud-surface);stroke:var(--hud-outline);stroke-width:1px;display:block;position:absolute;overflow:visible}.island-outline{width:100%;height:calc(var(--bar-height,42px) + var(--notice-height) * var(--notice-open));top:0;left:0}.stance-prompt{isolation:isolate;background:0 0;border:0}.stance-outline{width:calc(100% + 16px);height:100%;top:0;left:-8px}}#locker{padding:0;max-width:940px!important}#locker>.dialog-heading{border-bottom:1px solid var(--border);margin:0;padding:16px 20px 12px}.locker-shell{grid-template-columns:300px minmax(0,1fr);display:grid}.locker-showcase{border-right:1px solid var(--border);background:radial-gradient(at 50% 45%,#27433d55,#0000 70%),#15191b;flex-direction:column;padding:26px 22px 22px;display:flex}.locker-eyebrow{letter-spacing:2px;color:#c5b988;align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.locker-showcase h2{letter-spacing:-1.1px;color:#f2f0e8;margin:17px 0 9px;font-size:33px;font-weight:600;line-height:1.12}.locker-showcase>p{color:#a7b1ad;font-size:12px}.locker-stage{margin:19px -13px 16px;padding-bottom:30px;position:relative}.locker-table-preview{filter:drop-shadow(0 20px 15px #0005);width:100%;transform:perspective(650px)rotateX(22deg)rotate(-10deg)}.locker-stage>.locker-cue{width:92%;height:8px;position:absolute;bottom:21px;left:4%;transform:rotate(-15deg)}.locker-loadout{text-align:center;gap:5px;margin-bottom:28px;display:grid}.locker-loadout strong{color:#f2f0e8;font-size:13px}.locker-loadout span{color:#a7b1ad;font-size:10px}.locker-rank{color:#dfd5ab;background:linear-gradient(120deg,#c5b9880d,#0000);border:1px solid #b8b08333;border-radius:12px;grid-template-columns:39px 1fr 20px;align-items:center;gap:10px;margin-top:auto;padding:15px;display:grid}.locker-level{background:#c5b98815;border:1px solid #c5b98860;border-radius:10px 10px 16px 16px;place-items:center;width:38px;height:42px;font-size:23px;font-weight:600;display:grid}.locker-rank>div>small{letter-spacing:1.4px;font-size:9px}.locker-rank>div>strong{color:#ebe6d4;margin-top:2px;font-size:12px;display:block}.locker-xp{background:#ffffff12;border-radius:3px;grid-column:1/-1;height:4px;overflow:hidden}.locker-xp i{background:#c5b988;height:100%;transition:width .3s;display:block}.locker-rank>small{grid-column:1/-1;justify-content:space-between;gap:8px;font-size:10px;display:flex}.locker-rank>small span{color:#a7b1ad}.locker-collection{min-width:0;padding:16px 20px 22px}.locker-tabs{border-bottom:1px solid var(--border);gap:5px;padding-bottom:10px;display:flex}.locker-tabs button{color:var(--muted-foreground);cursor:pointer;border-radius:7px;flex:1;padding:8px 7px;font-size:12px}.locker-tabs button[data-active]{color:var(--foreground);background:var(--accent)}.locker-tabs button:hover{color:var(--foreground)}.locker-tabs button:focus-visible,.locker-card:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.locker-panel{outline:none;min-height:400px}.locker-section-heading{justify-content:space-between;align-items:center;gap:12px;padding:20px 0 17px;display:flex}.locker-section-heading h3{letter-spacing:-.2px;margin:0 0 4px;font-size:15px;font-weight:600}.locker-section-heading p{color:var(--muted-foreground);margin:0;font-size:11px;line-height:1.5}.locker-section-heading>span{white-space:nowrap;letter-spacing:1.2px;color:var(--muted-foreground);font-size:9px}.locker-section-heading>svg{color:#c5b988;flex-shrink:0}.locker-cue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.locker-card{border:1px solid var(--border);text-align:left;background:var(--background);cursor:pointer;border-radius:10px;min-width:0;padding:12px;transition:border-color .15s,background .15s,transform .15s;overflow:hidden}.locker-card:hover:not(:disabled){background-color:var(--background);border-color:#b8b08380}@supports (color:color-mix(in lab, red, red)){.locker-card:hover:not(:disabled){background-color:color-mix(in srgb, var(--background) 95%, #c5b988)}}.locker-card:hover:not(:disabled){transform:translateY(-1px)}.locker-card[aria-pressed=true]{background-color:var(--background);border-color:#c5b988;box-shadow:inset 0 0 0 1px #c5b98822}@supports (color:color-mix(in lab, red, red)){.locker-card[aria-pressed=true]{background-color:color-mix(in srgb, var(--background) 95%, #c5b988)}}.locker-card:disabled,fieldset:disabled .locker-card{cursor:default}.locker-card strong{justify-content:space-between;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.locker-card strong svg{color:#d8c789;flex-shrink:0}.locker-card small{color:var(--muted-foreground);margin-top:5px;font-size:10px;line-height:1.5;display:block}.locker-cue-art{align-items:center;height:36px;margin:0 -2px 10px;display:flex}.locker-cue{filter:drop-shadow(0 6px 4px #0008);width:100%;height:7px;display:flex;transform:rotate(-8deg)}.locker-cue i{background-size:80px 24px;height:100%;display:block;box-shadow:inset 0 1px 1px #ffffff40,inset 0 -2px 1px #0005}.cue-bumper{background:#191919;border-radius:2px 0 0 2px;width:2%}.cue-sleeve{background-image:var(--cue-body);border-left:1px solid var(--cue-accent);border-right:2px solid var(--cue-accent);width:11%}.cue-wrap{background-image:var(--cue-wrap);width:21%}.cue-forearm{background-image:var(--cue-body);border-left:2px solid var(--cue-accent);border-right:2px solid var(--cue-accent);width:22%}.cue-shaft{background:var(--cue-shaft);clip-path:polygon(0 0,100% 20%,100% 80%,0 100%);width:40%}.cue-ferrule{clip-path:polygon(0 20%,100% 20%,100% 80%,0 80%);background:#efe9d7;width:3%}.cue-tip{clip-path:polygon(0 20%,100% 25%,100% 75%,0 80%);background:#5a8c88;width:1%}.locker-footnote{color:var(--muted-foreground);margin:17px 0 0;font-size:10px;line-height:1.65}.locker-panel fieldset{border:0;min-width:0;margin:0 0 19px;padding:0}.locker-panel legend{margin-bottom:10px;padding:0;font-size:11px;font-weight:600}.locker-cloth-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.locker-cloth{padding:0 0 9px}.locker-cloth>span{color:#fff;justify-content:flex-end;align-items:flex-start;height:67px;padding:8px;display:flex;box-shadow:inset 0 -20px 20px #0002}.locker-cloth strong{padding:9px 9px 0;font-size:10px}.locker-finish-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.locker-finish{justify-content:start;align-items:center;gap:7px;padding:10px 7px;font-size:10px;display:flex}.locker-finish>span{border:1px solid #ffffff25;border-radius:3px;flex-shrink:0;width:17px;height:22px}.locker-finish>svg{flex-shrink:0;margin-left:auto}.locker-ball-grid{gap:12px;display:grid}.locker-ball-card{align-items:center;gap:16px;padding:17px 13px;display:flex}.locker-ball-card>span:last-child{flex:1}.locker-ball-row{flex-shrink:0;padding-left:3px;display:flex}.locker-ball{border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;margin-left:-3px;display:inline-flex;box-shadow:inset 2px 3px 5px #ffffff65,inset -3px -4px 5px #0009,0 4px 6px #0006}.locker-ball b{border-radius:50%;place-items:center;width:15px;height:15px;font-size:10px;line-height:1;display:grid}.locker-stats{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(3,1fr);margin-bottom:14px;padding:11px 0;display:grid}.locker-stats>div{text-align:center;gap:4px;display:grid}.locker-stats>div+div{border-left:1px solid var(--border)}.locker-stats strong{font-size:21px;font-weight:600}.locker-stats span{color:var(--muted-foreground);font-size:10px}.locker-achievements{gap:7px;display:grid}.locker-achievement{border-bottom:1px solid var(--border);color:var(--muted-foreground);align-items:center;gap:11px;padding:8px 0;display:flex}.locker-achievement>div{flex:1}.locker-achievement strong{color:var(--foreground);font-size:11px;display:block}.locker-achievement small{margin-top:3px;font-size:10px;display:block}.locker-achievement>span{font-size:10px}.locker-achievement[data-unlocked=true]>svg,.locker-achievement[data-unlocked=true]>span{color:#d8c789}.locker-footer{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:15px;padding:15px 20px;display:flex}.locker-scope{align-items:center;gap:6px;font-size:11px;display:flex}.locker-footer small{color:var(--muted-foreground);margin-top:5px;font-size:10px;display:block}.locker-footer>button{flex-shrink:0}.locker-toast{z-index:35;color:#dfd5ab;background:#1c211ff5;border:1px solid #c5b98880;border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:8px 8px 8px 15px;font-size:12px;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0006}.locker-toast[hidden]{display:none}@media (max-width:760px){.locker-shell{grid-template-columns:1fr}.locker-showcase{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0 14px;padding:18px;display:grid}.locker-eyebrow{font-size:8px}.locker-showcase h2{grid-column:1;margin:9px 0 5px;font-size:26px}.locker-showcase>p{grid-column:1;font-size:11px}.locker-stage{grid-area:1/2/5;align-self:center;margin:0;padding-bottom:10px}.locker-stage>.locker-cue{height:5px;bottom:3px}.locker-loadout{display:none}.locker-rank{grid-column:1/-1;grid-template-columns:35px 1fr 20px;gap:5px 10px;margin-top:16px;padding:10px}.locker-level{grid-row:1/4;width:31px;height:36px;font-size:18px}.locker-rank>div>small{display:none}.locker-xp,.locker-rank>small{grid-column:2/-1}.locker-collection{padding:12px 15px 15px}.locker-panel{min-height:0}.locker-footer{padding:13px 15px}}@media (max-width:430px){.locker-finish-grid{grid-template-columns:1fr}.locker-cloth-grid{gap:6px}.locker-cue-grid{gap:8px}.locker-card{padding:10px}.locker-cloth{padding:0 0 7px}.locker-cloth strong{padding:8px 6px 0;font-size:9px}.locker-card small{font-size:9px}.locker-ball-card{gap:11px}.locker-ball{width:25px;height:25px}.locker-footer{flex-direction:column;align-items:stretch;gap:10px}}@media (prefers-reduced-motion:reduce){.locker-card,.locker-xp i{transition:none}}@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-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}
