/*! 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)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:var(--font-ui);--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--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-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-code)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-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}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.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}.inset-s-1\/2{inset-inline-start:50%}.top-0{top:0}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:0}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-\[100\]{z-index:100}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.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}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.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-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-auto{height:auto}.h-max{height:max-content}.h-px{height:1px}.max-h-\(--available-height\){max-height:var(--available-height)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-full{min-height:100%}.w-\(--anchor-width\){width:var(--anchor-width)}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[80\%\]{max-width:80%}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-3\/4{--tw-translate-y:calc(calc(3 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-3\/4{--tw-translate-y:calc(3 / 4 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.scroll-px-1{scroll-padding-inline:var(--spacing)}.scrollbar-gutter-stable{scrollbar-gutter:stable}.auto-rows-min{grid-auto-rows:min-content}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.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-6{gap:calc(var(--spacing) * 6)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-transparent{background-color:#0000}.fill-foreground{fill:var(--foreground)}.p-\(--card-spacing\){padding:var(--card-spacing)}.p-0{padding:0}.px-\(--card-spacing\){padding-inline:var(--card-spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-left{text-align:left}.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-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/relaxed{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.wrap-break-word{overflow-wrap:break-word}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.overline{text-decoration-line:overline}.opacity-60{opacity:.6}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.ring-1{--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)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-card{--tw-ring-color:var(--card)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,scale\,opacity\]{transition-property:translate,scale,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.contain-content{contain:content}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[contain-intrinsic-size\:auto_10rem\]{contain-intrinsic-size:auto 10rem}.\[content-visibility\:auto\]{content-visibility:auto}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-has-disabled\/field\:opacity-50:is(:where(.group\/field):has(:disabled) *){opacity:.5}.group-has-data-\[slot\=message-footer\]\/message\:-translate-y-8:is(:where(.group\/message):has([data-slot=message-footer]) *){--tw-translate-y:calc(var(--spacing) * -8);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-has-data-\[variant\=ghost\]\/message\:px-0:is(:where(.group\/message):has([data-variant=ghost]) *){padding-inline:0}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.group-data-\[align\=end\]\/bubble\:self-end:is(:where(.group\/bubble)[data-align=end] *){align-self:flex-end}.group-data-\[align\=end\]\/message\:justify-end:is(:where(.group\/message)[data-align=end] *){justify-content:flex-end}.group-data-\[align\=end\]\/message\:self-end:is(:where(.group\/message)[data-align=end] *){align-self:flex-end}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=vertical\]\/attachment\:absolute:is(:where(.group\/attachment)[data-orientation=vertical] *){position:absolute}.group-data-\[orientation\=vertical\]\/attachment\:top-3:is(:where(.group\/attachment)[data-orientation=vertical] *){top:calc(var(--spacing) * 3)}.group-data-\[orientation\=vertical\]\/attachment\:right-3:is(:where(.group\/attachment)[data-orientation=vertical] *){right:calc(var(--spacing) * 3)}.group-data-\[orientation\=vertical\]\/attachment\:w-full:is(:where(.group\/attachment)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/attachment\:gap-1:is(:where(.group\/attachment)[data-orientation=vertical] *){gap:var(--spacing)}.group-data-\[orientation\=vertical\]\/attachment\:px-1:is(:where(.group\/attachment)[data-orientation=vertical] *){padding-inline:var(--spacing)}.group-data-\[size\=sm\]\/attachment\:w-8:is(:where(.group\/attachment)[data-size=sm] *){width:calc(var(--spacing) * 8)}.group-data-\[size\=xs\]\/attachment\:w-7:is(:where(.group\/attachment)[data-size=xs] *){width:calc(var(--spacing) * 7)}.group-data-\[size\=xs\]\/attachment\:rounded-none:is(:where(.group\/attachment)[data-size=xs] *){border-radius:0}.group-data-\[state\=done\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=done] *){opacity:1}.group-data-\[state\=error\]\/attachment\:bg-destructive\/10:is(:where(.group\/attachment)[data-state=error] *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=error\]\/attachment\:bg-destructive\/10:is(:where(.group\/attachment)[data-state=error] *){background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.group-data-\[state\=error\]\/attachment\:text-destructive:is(:where(.group\/attachment)[data-state=error] *),.group-data-\[state\=error\]\/attachment\:text-destructive\/80:is(:where(.group\/attachment)[data-state=error] *){color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=error\]\/attachment\:text-destructive\/80:is(:where(.group\/attachment)[data-state=error] *){color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.group-data-\[state\=idle\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=idle] *){opacity:1}.group-data-\[variant\=separator\]\/marker\:flex-none:is(:where(.group\/marker)[data-variant=separator] *){flex:none}.group-data-\[variant\=separator\]\/marker\:text-center:is(:where(.group\/marker)[data-variant=separator] *){text-align:center}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:mr-1:before{content:var(--tw-content);margin-right:var(--spacing)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:min-w-0:before{content:var(--tw-content);min-width:0}.before\:flex-1:before{content:var(--tw-content);flex:1}.before\:bg-border:before{content:var(--tw-content);background-color:var(--border)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -3)}.after\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -2)}.after\:ml-1:after{content:var(--tw-content);margin-left:var(--spacing)}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:min-w-0:after{content:var(--tw-content);min-width:0}.after\:flex-1:after{content:var(--tw-content);flex:1}.after\:bg-border:after{content:var(--tw-content);background-color:var(--border)}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}@media (hover:hover){.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-foreground:hover{color:var(--foreground)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus,:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring\/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)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=attachment-content\]\:w-30:has([data-slot=attachment-content]){width:calc(var(--spacing) * 30)}.has-data-\[slot\=attachment-content\]\:px-1\.5:has([data-slot=attachment-content]){padding-inline:calc(var(--spacing) * 1.5)}.has-data-\[slot\=attachment-content\]\:px-2:has([data-slot=attachment-content]){padding-inline:calc(var(--spacing) * 2)}.has-data-\[slot\=attachment-content\]\:py-1:has([data-slot=attachment-content]){padding-block:var(--spacing)}.has-data-\[slot\=attachment-content\]\:py-1\.5:has([data-slot=attachment-content]){padding-block:calc(var(--spacing) * 1.5)}.has-data-\[slot\=attachment-media\]\:p-1:has([data-slot=attachment-media]){padding:var(--spacing)}.has-data-\[slot\=attachment-media\]\:p-1\.5:has([data-slot=attachment-media]){padding:calc(var(--spacing) * 1.5)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-1:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-1:has([data-slot][aria-invalid=true]){--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)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[button\]\:p-0:has(:is(button)){padding:0}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}@media (hover:hover){.has-\[\>a\,\>button\]\:hover\:bg-muted\/50:has(>a,>button):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-\[\>a\,\>button\]\:hover\:bg-muted\/50:has(>a,>button):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){margin-right:-.3rem}.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){margin-left:-.3rem}.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){margin-right:-.15rem}.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){margin-left:-.15rem}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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-1[aria-invalid=true]{--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)}.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)}}.aria-invalid\:aria-checked\:border-primary[aria-invalid=true][aria-checked=true],.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\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:overflow-hidden[data-closed]{overflow:hidden}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.data-open\:animate-in[data-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:bg-accent[data-open]{background-color:var(--accent)}.data-open\:text-accent-foreground[data-open]{color:var(--accent-foreground)}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.data-popup-open\:bg-accent[data-popup-open]{background-color:var(--accent)}.data-popup-open\:text-accent-foreground[data-popup-open]{color:var(--accent-foreground)}:is(.group-data-\[align\=end\]\/message\:\*\:data-slot\:self-end:is(:where(.group\/message)[data-align=end] *)>*)[data-slot]{align-self:flex-end}.data-\[active\=false\]\:pointer-events-none[data-active=false]{pointer-events:none}.data-\[active\=false\]\:scale-95[data-active=false]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[active\=false\]\:opacity-0[data-active=false]{opacity:0}.data-\[active\=false\]\:duration-400[data-active=false]{--tw-duration:.4s;transition-duration:.4s}.data-\[active\=false\]\:ease-\[cubic-bezier\(0\.7\,0\,0\.84\,0\)\][data-active=false]{--tw-ease:cubic-bezier(.7,0,.84,0);transition-timing-function:cubic-bezier(.7,0,.84,0)}.data-\[active\=true\]\:translate-y-0[data-active=true]{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[active\=true\]\:scale-100[data-active=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[active\=true\]\:opacity-100[data-active=true]{opacity:1}.data-\[active\=true\]\:ease-\[cubic-bezier\(0\.23\,1\,0\.32\,1\)\][data-active=true]{--tw-ease:cubic-bezier(.23,1,.32,1);transition-timing-function:cubic-bezier(.23,1,.32,1)}.data-\[align\=end\]\:flex-row-reverse[data-align=end]{flex-direction:row-reverse}.data-\[align\=end\]\:self-end[data-align=end]{align-self:flex-end}.data-\[direction\=end\]\:bottom-4[data-direction=end]{bottom:calc(var(--spacing) * 4)}.data-\[direction\=end\]\:data-\[active\=false\]\:translate-y-full[data-direction=end][data-active=false]{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[direction\=start\]\:top-4[data-direction=start]{top:calc(var(--spacing) * 4)}.data-\[direction\=start\]\:data-\[active\=false\]\:-translate-y-full[data-direction=start][data-active=false]{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:var(--spacing)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=inline-end\]\:top-1\/2\![data-side=inline-end]{top:50%!important}.data-\[side\=inline-end\]\:-left-1[data-side=inline-end]{left:calc(var(--spacing) * -1)}.data-\[side\=inline-end\]\:-translate-y-1\/2[data-side=inline-end]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:top-1\/2\![data-side=inline-start]{top:50%!important}.data-\[side\=inline-start\]\:-right-1[data-side=inline-start]{right:calc(var(--spacing) * -1)}.data-\[side\=inline-start\]\:-translate-y-1\/2[data-side=inline-start]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing) * -1)}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing) * -1)}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}:is(.\*\:data-\[slot\=attachment\]\:flex-none>*)[data-slot=attachment]{flex:none}:is(.\*\:data-\[slot\=attachment\]\:snap-start>*)[data-slot=attachment]{scroll-snap-align:start}:is(.\*\:data-\[slot\=bubble-content\]\:rounded-none>*)[data-slot=bubble-content]{border-radius:0}:is(.\*\:data-\[slot\=bubble-content\]\:border-border>*)[data-slot=bubble-content]{border-color:var(--border)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.93_calc\(c\*0\.4\)_h\)\]>*)[data-slot=bubble-content]{background-color:oklch(from var(--primary) .93 calc(c * .4) h)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-background>*)[data-slot=bubble-content]{background-color:var(--background)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-destructive\/10>*)[data-slot=bubble-content]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=bubble-content\]\:bg-destructive\/10>*)[data-slot=bubble-content]{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}:is(.\*\:data-\[slot\=bubble-content\]\:bg-muted>*)[data-slot=bubble-content]{background-color:var(--muted)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-primary>*)[data-slot=bubble-content]{background-color:var(--primary)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-secondary>*)[data-slot=bubble-content]{background-color:var(--secondary)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-transparent>*)[data-slot=bubble-content]{background-color:#0000}:is(.\*\:data-\[slot\=bubble-content\]\:p-0>*)[data-slot=bubble-content]{padding:0}:is(.\*\:data-\[slot\=bubble-content\]\:text-destructive>*)[data-slot=bubble-content]{color:var(--destructive)}:is(.\*\:data-\[slot\=bubble-content\]\:text-foreground>*)[data-slot=bubble-content]{color:var(--foreground)}:is(.\*\:data-\[slot\=bubble-content\]\:text-primary-foreground>*)[data-slot=bubble-content]{color:var(--primary-foreground)}:is(.\*\:data-\[slot\=bubble-content\]\:text-secondary-foreground>*)[data-slot=bubble-content]{color:var(--secondary-foreground)}:is(.group-data-\[orientation\=vertical\]\/attachment\:\*\:data-\[slot\=spinner\]\:size-6\!:is(:where(.group\/attachment)[data-orientation=vertical] *)>*)[data-slot=spinner]{width:calc(var(--spacing) * 6)!important;height:calc(var(--spacing) * 6)!important}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[state\=error\]\:border-destructive\/30[data-state=error]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=error\]\:border-destructive\/30[data-state=error]{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.data-\[state\=idle\]\:border-dashed[data-state=idle]{--tw-border-style:dashed;border-style:dashed}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=ghost\]\:max-w-full[data-variant=ghost]{max-width:100%}@media (width>=48rem){.md\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}.rtl\:translate-x-1\/2:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:disabled\:bg-transparent:is(.dark *):disabled{background-color:#0000}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-checked\:bg-primary:is(.dark *)[data-checked]{background-color:var(--primary)}:is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.3_calc\(c\*0\.4\)_h\)\]:is(.dark *)>*)[data-slot=bubble-content]{background-color:oklch(from var(--primary) .3 calc(c * .4) h)}:is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-destructive\/20:is(.dark *)>*)[data-slot=bubble-content]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-destructive\/20:is(.dark *)>*)[data-slot=bubble-content]{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.data-\[direction\=start\]\:\[\&_svg\]\:rotate-180[data-direction=start] svg{rotate:180deg}.\[\&_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)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-5 svg:not([class*=size-]){width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-data-\[orientation\=vertical\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6:is(:where(.group\/attachment)[data-orientation=vertical] *) svg:not([class*=size-]){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[size\=xs\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5:is(:where(.group\/attachment)[data-size=xs] *) svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\.border-b\]\:pb-\(--card-spacing\).border-b{padding-bottom:var(--card-spacing)}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}.\[a\]\:underline:is(a){text-decoration-line:underline}.\[a\]\:underline-offset-3:is(a){text-underline-offset:3px}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:text-foreground:is(a):hover,:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}.\[button\]\:text-left:is(button){text-align:left}.\[button\,a\]\:transition-colors:is(button,a){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))}.\[button\,a\]\:outline-none:is(button,a){--tw-outline-style:none;outline-style:none}.\[button\,a\]\:focus-visible\:border-ring:is(button,a):focus-visible{border-color:var(--ring)}.\[button\,a\]\:focus-visible\:ring-1:is(button,a):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[button\,a\]\:focus-visible\:ring-ring\/50:is(button,a):focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.\[button\,a\]\:focus-visible\:ring-ring\/50:is(button,a):focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}:is(.\*\:\[img\]\:aspect-square>*):is(img){aspect-ratio:1}:is(.\*\:\[img\]\:w-full>*):is(img){width:100%}:is(.\*\:\[img\]\:object-cover>*):is(img){object-fit:cover}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklch,var(--muted),var(--foreground) 5%)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.88_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:oklch(from var(--primary) .88 calc(c * .5) h)}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/20>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/20>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--muted)}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:text-foreground>[data-slot=bubble-content]:is(button,a):hover{color:var(--foreground)}.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\]:is(.dark *)>[data-slot=bubble-content]:is(button,a):hover{background-color:oklch(from var(--primary) .35 calc(c * .5) h)}.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/30:is(.dark *)>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/30:is(.dark *)>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-input\/30:is(.dark *)>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-input\/30:is(.dark *)>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted\/50:is(.dark *)>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted\/50:is(.dark *)>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 2)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 2)}.\[\&\>kbd\]\:rounded-none>kbd{border-radius:0}.\[\&\>svg\]\:size-3\.5>svg,.\[\&\>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)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root,.dark{--font-code:"SFMono-Regular", "JetBrains Mono", Consolas, monospace;--background:#0b0d12;--surface:#1d2028;--surface-hover:#2c3039;--surface-active:#373b45;--text-primary:#f5f5f7;--text-secondary:#b9bac3;--text-muted:#a0a2ae;--scrollbar-thumb:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){:root,.dark{--scrollbar-thumb:color-mix(in oklch, var(--text-muted) 60%, transparent)}}:root,.dark{--scrollbar-thumb-hover:var(--text-muted);--border:oklch(100% 0 0/.13);--border-hover:oklch(100% 0 0/.25);--primary:oklch(75% .16 65);--primary-hover:oklch(80% .15 68);--primary-soft:oklch(75% .16 65/.15);--primary-foreground:#241708;--success:#6fda91;--warning:#ffd17a;--danger:#ff8b89;--accent-warm:oklch(82% .14 68);--glass:oklch(100% 0 0/.065);--glass-raised:oklch(100% 0 0/.095);--glass-hover:oklch(100% 0 0/.12);--glass-edge:inset 0 1px 0 oklch(100% 0 0/.16);--glass-blur:28px;--control-fill:oklch(100% 0 0/.07);--control-selected:#f5f5f7;--control-selected-foreground:#202127;--scrim:oklch(8% .01 260/.7);--ambient-warm:oklch(60% .14 60/.24);--ambient-cool:oklch(50% .12 255/.22);--ambient-green:oklch(50% .1 160/.14);--sidebar:oklch(25% .012 260/.64);--sidebar-foreground:var(--text-primary);--sidebar-muted:var(--text-secondary);--sidebar-accent:var(--glass-hover);--sidebar-border:var(--border);--sidebar-accent-foreground:var(--text-primary);--sidebar-primary:var(--primary);--sidebar-primary-foreground:var(--primary-foreground);--sidebar-ring:var(--ring);--foreground:var(--text-primary);--card:var(--glass);--card-foreground:var(--text-primary);--popover:oklch(25% .012 260/.96);--popover-foreground:var(--text-primary);--secondary:var(--surface-hover);--secondary-foreground:var(--text-primary);--muted:var(--surface-hover);--muted-foreground:var(--text-secondary);--accent:var(--primary-soft);--accent-foreground:var(--primary);--destructive:var(--danger);--input:var(--border);--ring:#a7caff;--radius:16px;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:40px;--space-7:32px;--space-9:48px;--shadow-sm:var(--glass-edge), 0 12px 32px #00000014;--shadow-popover:var(--glass-edge), 0 16px 48px #00000040;--shadow-dialog:var(--glass-edge), 0 32px 80px #00000060;--duration-fast:.16s;--duration-normal:.26s;--ease-out:cubic-bezier(.22, 1, .36, 1);--type-display:clamp(40px, 4.1vw, 60px);--type-heading-xl:clamp(28px, 2.5vw, 36px);--type-heading-lg:28px;--type-heading-md:24px;--type-heading-sm:17px;--type-body:15px;--type-body-small:14px;--type-label:15px;--type-caption:12px;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter Variable", "Inter Fallback", "Segoe UI", sans-serif;--line:var(--border);--navy:var(--sidebar);--gold:var(--accent-warm);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;scrollbar-color:var(--scrollbar-thumb) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-button{display:none}@media (forced-colors:active){*{scrollbar-color:auto}}html{font-family:var(--font-ui);font-synthesis:none;color:var(--text-primary);background:var(--background);scroll-padding-top:24px}body{font-size:var(--type-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}html:has(dialog:modal){overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button svg,a svg{flex-shrink:0}.lucide{stroke-width:1.75px}h1,h2,h3,h4{font-family:var(--font-ui);color:var(--text-primary);text-wrap:balance;margin:0}h1{font-size:var(--type-heading-xl);letter-spacing:-.035em;font-weight:700;line-height:1.25}h2{font-size:var(--type-heading-md);letter-spacing:-.025em;font-weight:650;line-height:1.35}h3,h4{font-size:var(--type-heading-sm);font-weight:600;line-height:1.5}p{margin:0}strong{font-weight:600}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:3px}.ui-button{gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-5);font-size:var(--type-label);text-align:center;border-radius:var(--radius-pill);transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast);border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;line-height:1.35;display:inline-flex}.ui-button:disabled,.ui-button[data-disabled]{pointer-events:none;opacity:.48}.ui-button-primary{color:var(--primary-foreground);background:var(--primary);box-shadow:inset 0 1px oklch(100% 0 0/.36)}.ui-button-primary:hover{background:var(--primary-hover)}.ui-button-secondary{color:var(--text-primary);background:var(--glass-raised);border-color:var(--border);box-shadow:var(--glass-edge)}.ui-button-secondary:hover{background:var(--surface-active)}.ui-button-outline{color:var(--text-primary);background:var(--control-fill);border-color:var(--border)}.ui-button-outline:hover{background:var(--surface-hover);border-color:var(--border-hover)}.ui-button-ghost,.ui-button-link{color:var(--text-secondary);background:0 0}.ui-button-ghost:hover{color:var(--text-primary);background:var(--surface-hover)}.ui-button-link{padding-inline:var(--space-2);color:var(--primary)}.ui-button-link:hover{text-underline-offset:4px;text-decoration:underline}.ui-button-danger{color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.ui-button-danger{background:color-mix(in srgb, var(--danger) 8%, var(--surface))}}.ui-button-danger:hover{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.ui-button-danger:hover{background:color-mix(in srgb, var(--danger) 14%, var(--surface))}}.ui-button-icon{width:44px;height:44px;padding:var(--space-3)}.ui-button-lg{min-height:50px;padding-inline:var(--space-6)}.ui-button-sm{padding-inline:var(--space-3)}.button-full{width:100%}.ui-input{width:100%;min-width:0;min-height:44px;padding:var(--space-3) var(--space-4);font-size:var(--type-body-small);color:var(--text-primary);background:var(--control-fill);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--duration-fast), background var(--duration-fast);line-height:1.4;box-shadow:inset 0 1px 2px #0000000d}.ui-input::placeholder{color:var(--text-muted)}.ui-input:hover{border-color:var(--border-hover)}.ui-input:disabled{cursor:not-allowed;opacity:.6}.ui-input[aria-invalid=true]{border-color:var(--danger)}.ui-input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;padding:0}.ui-input[type=range]{width:160px;height:44px;accent-color:var(--primary);background:0 0;border:0;padding:0}.ui-card{min-width:0;padding:var(--space-6);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ui-empty{gap:var(--space-4);min-width:0;padding:var(--space-9) var(--space-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.ui-empty>svg{color:var(--primary)}.ui-empty p{max-width:48ch;color:var(--text-secondary)}.ui-empty h2{max-width:32ch}.ui-avatar{width:40px;height:40px;color:var(--primary);background:var(--primary-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:inline-flex;overflow:hidden}.ui-avatar img{object-fit:cover;width:100%;height:100%}.ui-dialog{width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text-primary);background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-dialog);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);backdrop-filter:blur(var(--glass-blur)) saturate(150%);margin:auto;padding:0;position:fixed;inset:0;overflow:auto}.ui-dialog::backdrop,dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ui-dialog[open]{animation:dialog-in var(--duration-fast) ease-out}.dialog-body{padding:var(--space-7)}.dialog-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;justify-content:flex-end;display:flex}[data-slot=dropdown-menu-content]{width:224px;max-width:calc(100vw - 24px);padding:var(--space-2);background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}[data-slot=dropdown-menu-item],[data-slot=dropdown-menu-radio-item]{gap:var(--space-3);min-height:44px;font-size:var(--type-body-small);cursor:pointer;border-radius:var(--radius-sm)}[data-slot=dropdown-menu-item][data-highlighted],[data-slot=dropdown-menu-radio-item][data-highlighted]{background:var(--primary-soft)}.ui-skeleton{background:var(--surface-active);border-radius:var(--radius-sm);height:16px;animation:1.6s ease-in-out infinite skeleton-pulse}.ui-skeleton-heading{width:40%;height:32px}.ui-skeleton-line{width:65%;margin-top:var(--space-3)}.ui-skeleton-art{aspect-ratio:1.6;height:auto;margin-bottom:var(--space-4)}.ui-skeleton-board{aspect-ratio:1;width:100%;height:auto}.ui-loading-label{margin-bottom:var(--space-6);color:var(--text-secondary)}.inline-error{padding:var(--space-4);margin-block:var(--space-4);color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.inline-error{background:color-mix(in srgb, var(--danger) 6%, var(--surface))}}.inline-error{border:1px solid var(--danger)}@supports (color:color-mix(in lab, red, red)){.inline-error{border:1px solid color-mix(in srgb, var(--danger) 20%, var(--surface))}}.inline-error{border-radius:var(--radius-md)}.text-link{gap:var(--space-2);min-height:44px;font-size:var(--type-body-small);color:var(--primary);align-items:center;font-weight:550;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.small-muted{font-size:var(--type-caption);color:var(--text-muted)}@keyframes skeleton-pulse{50%{opacity:.45}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}fieldset{border:0;min-inline-size:0;margin:0;padding:0}@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-vietnamese-variable.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Fallback;src:local(Arial);size-adjust:107.4%;ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-regular.woff2)format("woff2")}.board-frame{background:#5c624b;border-radius:7px;max-width:630px;padding:8px;position:relative;box-shadow:0 5px 18px #23322218}.board{isolation:isolate;width:100%;display:grid;position:relative;overflow:hidden}.board-cell{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.board-piece{z-index:2;pointer-events:none;transform-origin:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.board-cell[data-piece-moving=true]{z-index:6}.board-piece[data-motion-phase]{will-change:transform}.chess-piece{z-index:2;pointer-events:none;filter:drop-shadow(0 3px 1px #0002);font-family:Arial Unicode MS,Segoe UI Symbol,Apple Symbols,DejaVu Sans,serif;font-size:clamp(26px,4.2vw,69px);line-height:1;position:relative;transform:translateY(-1px)}.chess-piece-outline{color:#25302c;-webkit-text-stroke:0;text-align:center;text-shadow:none;position:absolute;inset:0}.chess-piece-w{color:#fffcf3;-webkit-text-stroke:1px #52584c;text-shadow:0 1px #394032}.chess-piece-b{color:#25302c;-webkit-text-stroke:.7px #171f1b;text-shadow:0 1px #969e8f}.rank-label,.file-label{z-index:5;color:#687460;pointer-events:none;font-size:8px;font-weight:600;line-height:1;position:absolute}.rank-label{top:4px;left:3px}.file-label{bottom:2px;right:4px}.legal-marker{z-index:4;pointer-events:none;background:#38483038;border-radius:50%;width:25%;height:25%;position:absolute}.capture-marker{z-index:4;pointer-events:none;border:5px solid #dcc065af;border-radius:50%;position:absolute;inset:4%}.xiangqi-frame{background:#96703f;max-width:555px;margin:0 auto}.xiangqi-board{background-color:#e6c58d;background-image:repeating-linear-gradient(1deg,#cda46410 0 1px,#0000 2px 6px)}.gomoku-board{background:#ead2a8}.grid-line{z-index:-1;position:absolute;inset:0}.grid-line:before,.grid-line:after{content:"";background:#8a704b;position:absolute}.grid-line:before{height:1px;top:50%;left:0;right:0}.grid-line:after{width:1px;top:0;bottom:0;left:50%}.xiangqi-piece{z-index:2;pointer-events:none;background:radial-gradient(circle at 40% 30%,#ffebbc,#e0b76f);border:2px solid #ad8145;border-radius:50%;place-items:center;width:83%;height:83%;font-family:Songti SC,Noto Serif CJK SC,Times New Roman,serif;font-size:clamp(15px,2.7vw,37px);font-weight:600;display:grid;box-shadow:0 3px #99713c,0 5px 5px #4f310c4d,inset 0 0 0 3px #f2d7a0,inset 0 0 0 4px}.piece-w{color:#a03122}.piece-b{color:#333d34}.piece-hidden{color:#d9bd85;background:radial-gradient(circle at 40% 30%,#8e6540,#67482c);border-color:#654629;box-shadow:0 3px #533923,0 5px 6px #4f310c4d,inset 0 0 0 3px #7e5834,inset 0 0 0 4px #d9bd855a}.river-lines{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stone{z-index:2;pointer-events:none;border-radius:50%;width:80%;height:80%;box-shadow:1px 2px 3px #5a432562}.stone-w{background:radial-gradient(circle at 36% 30%,#586260 1%,#172620 72%)}.stone-b{background:radial-gradient(circle at 36% 30%,#fff 1%,#e4e4df 72%);border:1px solid #fff8}.promotion-options{gap:8px;display:flex}.check-square:after{z-index:1;content:"";background:radial-gradient(#dc706b,#0000 75%);position:absolute;inset:0}.river-lines path{stroke:#8a704b;stroke-width:1.5px}.river-lines rect{fill:#e6c58d;stroke:#8a704b;stroke-width:1.5px}.river-lines text{letter-spacing:8px;fill:#947346;font-family:serif;font-size:30px}.promotion-options button{background:#f1ebd8;border:1px solid #dcc897;border-radius:7px;padding:5px 12px;font-size:40px}.chess-board .light-square{background:#ece9d8}.chess-board .dark-square{background:#86977a}.chess-board .selected-square{background:#e0c568}.dark-square .rank-label,.dark-square .file-label{color:#efedda}.xiangqi-board .rank-label,.xiangqi-board .file-label,.gomoku-board .rank-label,.gomoku-board .file-label{color:#886d45;font-size:7px}.grid-line.edge-left:before{left:50%}.grid-line.edge-right:before{right:50%}.grid-line.edge-top:after{top:50%}.grid-line.edge-bottom:after{bottom:50%}.kv-go-hoshi{z-index:1;pointer-events:none;background:#614928;border-radius:50%;width:5px;height:5px;position:absolute}.xiangqi-board .selected-square:after,.xiangqi-board .last-square:after{z-index:3;pointer-events:none;content:"";border:2px solid #9b65296b;border-radius:3px;position:absolute;inset:5%}.xiangqi-board .selected-square:after{border-width:3px;border-color:#5b7235}.chess-board .last-square.light-square{background:#efdc94}.chess-board .last-square.dark-square{background:#b8ad65}.gomoku-board .board-cell:hover{background:#fff2}.board{border:0;min-width:0;margin:0;padding:0}.play-heading{gap:var(--space-6);margin-bottom:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.back-link{gap:var(--space-2);min-height:44px;color:var(--text-secondary);align-items:center;font-size:14px;display:inline-flex}.play-breadcrumb{gap:var(--space-2);align-items:center;font-size:13px;display:flex}.play-breadcrumb>span{color:var(--text-secondary)}.play-security{gap:var(--space-2);color:var(--text-muted);align-items:center;margin-left:auto;font-size:12px;display:inline-flex}.play-layout{gap:var(--space-6);grid-template-columns:minmax(0,630px) minmax(260px,320px);justify-content:center;align-items:start;display:grid}.board-column{min-width:0}.board-heading{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.board-heading h1{font-size:26px}.board-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.mode-badge{gap:var(--space-1);padding:var(--space-1) var(--space-2);color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-sm);align-items:center;font-size:11px;display:inline-flex}.player-strip{gap:var(--space-3);min-height:76px;padding-block:var(--space-3);align-items:center;display:flex}.player-avatar{width:40px;height:40px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--border);border-radius:var(--radius-md);flex-shrink:0;place-items:center;display:grid}.avatar-dark{color:#d5e5d4;background:var(--sidebar);border-color:var(--sidebar)}.player-name{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.player-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;overflow:hidden}.player-name>span{color:var(--text-secondary);font-size:12px}.player-clock{gap:var(--space-2);min-width:120px;padding:var(--space-2) var(--space-3);color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.clock-readout{flex-direction:column;align-items:center;display:flex}.clock-value{font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:24px;font-weight:600;line-height:1.2}.clock-caption{font-size:11px}.player-clock.clock-active{color:var(--primary);background:var(--primary-soft);border-color:#aec6b4}.player-clock.clock-warning{color:var(--danger);background:#fff1ec;border-color:#e5ac98}.board-frame{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);container-type:inline-size}.chess-piece{font-size:clamp(24px,9.7cqw,69px)}.xiangqi-piece{font-size:clamp(18px,5.7cqw,39px)}.captured-pieces{min-height:20px;margin-top:var(--space-2);color:var(--text-secondary);flex-wrap:wrap;font-size:12px;display:flex}.under-board{gap:var(--space-3);margin-top:var(--space-2);color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.under-board>span,.under-board>div{gap:var(--space-2);align-items:center;display:inline-flex}.match-panel{min-width:0;padding-top:0}.match-card{padding:0;overflow:hidden}.match-status{padding:var(--space-6);border-bottom:1px solid var(--border)}.match-status h2{margin-block:var(--space-3);font-size:22px}.match-status>p{color:var(--text-secondary);font-size:14px}.match-status .section-kicker{font-size:11px}.invite-button{width:100%;margin-top:var(--space-5);color:var(--primary);background:var(--primary-soft)}.difficulty-label{margin-top:var(--space-5);color:var(--text-secondary);display:block}.difficulty-label select{margin-top:var(--space-2)}.move-panel{background:var(--surface)}.moves-title{gap:var(--space-2);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.moves-title h3{font-size:14px}.moves-title>span{color:var(--text-muted);font-size:12px}.move-list{height:220px;padding:var(--space-2) var(--space-3);overflow:auto}.moves-empty{text-align:center;place-content:center;height:100%;display:grid}.moves-empty>span{color:var(--primary);font-size:36px}.moves-empty p{color:var(--text-secondary);font-size:13px;line-height:1.75}.move-row{padding:var(--space-2);font-variant-numeric:tabular-nums;color:var(--text-secondary);border-radius:var(--radius-sm);grid-template-columns:32px 1fr 1fr;font-size:14px;display:grid}.move-row:nth-child(2n){background:var(--surface-hover)}.move-row>span:first-child{color:var(--text-muted)}.match-controls{padding:var(--space-2);border-top:1px solid var(--border);display:flex}.match-controls .ui-button{padding-inline:var(--space-2);flex:1;font-size:13px}.new-game-button{margin-block:var(--space-4) var(--space-3)}.rules-help{gap:var(--space-3);padding:var(--space-4);margin-top:var(--space-4);color:var(--text-secondary);background:var(--primary-soft);border-radius:var(--radius-md);align-items:center;display:flex}.rules-help>span{gap:var(--space-1);flex-direction:column;flex:1;font-size:12px;display:flex}.rules-help strong{color:var(--primary);font-size:13px}.match-motto{margin-top:var(--space-5);color:var(--text-muted);text-align:center;font-size:12px}.replay-controls{gap:var(--space-1);margin-top:var(--space-5);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.replay-controls .ui-button{width:44px;padding:var(--space-2)}.replay-range{margin-top:var(--space-3)}.page-container{width:100%;max-width:1520px;padding:var(--space-7) var(--space-8) var(--space-9);margin-inline:auto}.page-header{margin-bottom:var(--space-7)}.page-header-row{gap:var(--space-6);justify-content:space-between;align-items:center;display:flex}.page-header-row>div:first-child{min-width:0}.page-header p{max-width:68ch;margin-top:var(--space-3);font-size:var(--type-body);color:var(--text-secondary);line-height:1.7}.page-header-actions{flex-shrink:0}.page-header-tools{margin-top:var(--space-6)}.section-kicker{margin-bottom:var(--space-3);color:var(--primary);text-transform:uppercase;letter-spacing:.075em;font-size:11px;font-weight:550;line-height:1.5;display:block}.section-header{gap:var(--space-4);margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.section-header h2{font-size:21px}.section-header .text-link{flex-shrink:0}:where(.page-container>.ui-card)+.ui-card{margin-top:var(--space-6)}.page-container>.text-link{margin-top:var(--space-5)}.tabs,.filter-bar,.rules-game-nav{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-bar .ui-button,.tabs .ui-button,.rules-game-nav a{min-height:44px;padding:var(--space-3) var(--space-4);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-weight:500}.filter-bar .ui-button:hover,.tabs .ui-button:hover,.rules-game-nav a:hover{background:var(--surface-hover)}.filter-bar .active,.tabs .active,.rules-game-nav a.active{color:var(--primary);background:var(--primary-soft);border-color:#aec6b4}.lobby-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lobby-room h3{gap:var(--space-3);align-items:center;display:flex}.lobby-room p{margin-block:var(--space-4);color:var(--text-secondary)}.lobby-room .ui-button{width:100%}.room-icon{background:var(--primary-soft);border-radius:var(--radius-md);place-items:center;width:40px;height:40px;display:grid}.data-table{font-variant-numeric:tabular-nums;text-align:left;border-collapse:collapse;width:100%;min-width:500px;font-size:14px}.data-table th{padding:var(--space-3) var(--space-4);color:var(--text-secondary);background:var(--surface-hover);border-bottom:1px solid var(--border);font-size:12px;font-weight:550}.data-table td{padding:var(--space-4);border-bottom:1px solid var(--border)}.data-table tr:last-child td{border:0}.ui-card:has(>.data-table){overflow-x:auto}.rules-page>.ui-card{max-width:880px}.rules-page .ui-card h2{margin-block:var(--space-7) var(--space-3)}.rules-page .ui-card h2:first-child{margin-top:0}.rules-page :where(.ui-card) p{max-width:72ch;color:var(--text-secondary);font-size:15px;line-height:1.9}.rules-page :where(.ui-card) .ui-button{margin-top:var(--space-5)}.auth-card{width:100%;max-width:440px;padding:var(--space-7);margin:var(--space-8) auto}.auth-card>.brand{gap:var(--space-3);margin-bottom:var(--space-6);color:var(--primary);justify-content:center;align-items:center;font-size:22px;font-weight:650;display:flex}.auth-card h1{text-align:center;font-size:27px}.auth-card>p{margin-block:var(--space-3) var(--space-6);color:var(--text-secondary);text-align:center}.auth-footer{gap:var(--space-3);margin-top:var(--space-3);justify-items:center;display:grid}.auth-mode-switch{width:100%;height:auto;min-height:44px;padding:var(--space-2) 0;text-align:center;white-space:normal}.auth-offline-link{gap:var(--space-3);width:100%;min-height:64px;padding-top:var(--space-4);color:var(--text-secondary);border-top:1px solid var(--border);transition:color var(--duration-fast);justify-content:center;align-items:center;display:flex}.auth-offline-link>svg{flex-shrink:0}.auth-offline-link>span{text-align:left;gap:2px;display:grid}.auth-offline-link strong{font-size:14px;font-weight:600}.auth-offline-link small{color:var(--text-secondary);font-size:12px}.auth-offline-link:hover{color:var(--accent-warm)}.auth-offline-link:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:var(--radius-sm)}.field{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.field label{color:var(--text-secondary);font-size:14px;font-weight:500}.auth-fields{border:0;min-inline-size:0;padding:0}.auth-field-hint{color:var(--text-secondary);font-size:13px;line-height:1.5}.auth-password-field{position:relative}.auth-password-field .ui-input{width:100%;padding-right:50px}.auth-password-field .auth-password-toggle{width:44px;height:100%;color:var(--text-secondary);position:absolute;top:0;right:2px}.form-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.profile-stats{gap:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.profile-stats .ui-card{gap:var(--space-3);flex-direction:column;display:flex}.profile-stats strong{font-variant-numeric:tabular-nums;font-size:32px;font-weight:600;line-height:1.3}.profile-stats span{color:var(--text-secondary)}.small-section-title{margin-bottom:var(--space-5)}.friend-search{gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.friend-search .ui-input{max-width:520px}.friend-row{gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;display:flex}.friend-row>div{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.friend-row>div>span{color:var(--text-secondary);font-size:12px}.friend-row:last-child{border:0}.invite-notice{margin-bottom:var(--space-4);color:var(--primary);justify-content:space-between;display:flex}.setting-row{gap:var(--space-6);min-height:80px;padding-block:var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.setting-row:first-child{padding-top:0}.setting-row:last-child{border:0;padding-bottom:0}.setting-row h3{margin-bottom:var(--space-1)}.setting-row p{color:var(--text-secondary)}.setting-row .ui-input[type=checkbox]{margin:var(--space-3)}.setting-toggle{cursor:pointer;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.page-loading{width:100%;padding-block:var(--space-4)}.loading-card-grid{gap:var(--space-5);margin-top:var(--space-7);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.loading-table{gap:var(--space-5);margin-top:var(--space-7);display:grid}.loading-card{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.loading-board-layout{gap:var(--space-6);grid-template-columns:minmax(0,630px) minmax(220px,320px);justify-content:center;display:grid}.loading-board-layout>div:last-child{gap:var(--space-6);align-content:start;display:grid}.auth-signup-card{max-width:860px}.profile-display-name{align-items:center;gap:14px;display:flex}.profile-display-name .ui-avatar{flex:0 0 56px;width:56px;height:56px}.profile-country{align-items:center;gap:6px;margin-left:12px;font-size:14px;display:inline-flex}.auth-signup-layout{margin-bottom:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;display:grid}.signup-profile-fields{border-left:1px solid var(--border);min-width:0;padding-left:28px}.signup-avatars{border:0;min-inline-size:0;margin:0 0 24px;padding:0}.signup-avatars legend{color:var(--text-secondary);margin-bottom:12px;padding:0;font-size:14px;font-weight:600}.signup-avatar-preview{align-items:center;gap:14px;margin-bottom:16px;display:flex}.signup-avatar-preview>img{object-fit:cover;border:2px solid var(--accent-warm);border-radius:50%;flex:0 0 72px;width:72px;height:72px}.signup-avatar-preview strong{margin-bottom:4px;font-size:15px;display:block}.signup-avatar-preview p{color:var(--text-secondary);font-size:13px;line-height:1.5}.signup-avatar-grid{scrollbar-gutter:stable;overscroll-behavior-y:contain;background:var(--control-fill);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:8px;max-height:232px;padding:8px;scroll-padding-block:8px;display:grid;overflow-y:auto}.signup-avatar-option{cursor:pointer;justify-content:center;display:flex;position:relative}.signup-avatar-input{z-index:1;width:100%;height:100%;cursor:inherit;opacity:0;margin:0;position:absolute;inset:0}.signup-avatar-image{aspect-ratio:1;background:var(--glass);width:100%;max-width:70px;transition:border-color var(--duration-fast), background var(--duration-fast);border:2px solid #0000;border-radius:50%;padding:3px;display:block;position:relative;overflow:visible}.signup-avatar-image>img{object-fit:cover;border-radius:50%;width:100%;height:100%}.signup-avatar-option input:checked+.signup-avatar-image{background:var(--primary-soft);border-color:var(--accent-warm)}.signup-avatar-option input:focus-visible+.signup-avatar-image{outline:2px solid var(--accent-warm);outline-offset:3px}.signup-avatar-check{width:19px;height:19px;color:var(--background);background:var(--accent-warm);border:2px solid var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:0;right:-1px}.signup-country{margin-bottom:0}.signup-country-label{color:var(--text-secondary);align-items:center;gap:7px;font-size:14px;font-weight:500;display:flex}.signup-country-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.signup-country-trigger>svg{color:var(--text-secondary);flex-shrink:0}.signup-country-trigger[data-placeholder]{color:var(--text-muted)}.signup-country-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.signup-country-positioner{z-index:100}.signup-country-popup{width:var(--anchor-width);max-width:var(--available-width);max-height:min(360px, var(--available-height));color:var(--text-primary);background:var(--popover);border:1px solid var(--border-hover);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));flex-direction:column;padding:6px;display:flex;overflow:hidden}.signup-country-search{flex-shrink:0;margin:2px 2px 6px;position:relative}.signup-country-search>svg{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.signup-country-search .ui-input{border-radius:var(--radius-sm);padding-left:38px}.signup-country-list{overscroll-behavior-y:contain;min-height:0;max-height:248px;padding:2px;scroll-padding-block:2px;overflow-y:auto}.signup-country-list:empty{padding:0}.signup-country-option{cursor:pointer;border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:8px;min-height:44px;padding:10px;font-size:14px;line-height:1.4;display:grid}.signup-country-option[data-highlighted]{background:var(--glass-hover)}.signup-country-option[data-selected]{color:var(--accent-warm)}.signup-country-code{color:var(--text-muted);font-size:12px}.signup-country-indicator{width:16px;color:var(--accent-warm);display:flex}.signup-country-empty{color:var(--text-secondary);text-align:center;padding:24px 12px;font-size:14px}.signup-country-clear{min-height:44px;color:var(--text-secondary);cursor:pointer;border:0;border-top:1px solid var(--border);background:0 0;flex-shrink:0;align-items:center;gap:8px;padding:10px;font-size:13px;display:flex}.signup-country-trigger:focus-visible,.signup-country-search .ui-input:focus-visible,.signup-country-clear:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.auth-fields:disabled .signup-avatar-option{cursor:default;opacity:.55}@media (hover:hover){.signup-avatar-option:has(input:enabled):hover .signup-avatar-image{background:var(--glass-hover);border-color:var(--accent-warm)}.signup-country-clear:hover:not(:disabled){color:var(--text-primary);background:var(--glass-hover)}}@media (width<=1000px){.auth-signup-layout{grid-template-columns:minmax(0,1fr);gap:8px}.auth-signup-card{max-width:480px}.signup-profile-fields{border-top:1px solid var(--border);border-left:0;padding:20px 0 0}}@media (prefers-reduced-motion:reduce){.signup-avatar-image,.auth-offline-link{transition:none}}.mobile-match-toggle{width:100%;margin-top:var(--space-4)}.mobile-match-sheet{width:min(100%,640px);max-width:100%;max-height:90dvh;padding:var(--space-6) var(--space-4);overscroll-behavior:contain;color:var(--text-primary);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin:auto auto 0;position:fixed;inset:auto 0 0;overflow:auto}.mobile-sheet-close{margin:0 0 var(--space-3) auto;display:flex}.mobile-match-sheet .match-panel{width:100%}.game-picker{width:860px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);font-family:var(--font-ui);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-dialog);overflow:hidden}.game-picker[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.picker-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:24px;display:flex}.picker-thumbnail{object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-lg);flex-shrink:0;width:64px;height:64px}.picker-heading{min-width:0}.picker-eyebrow{font-size:var(--type-caption);color:var(--primary);letter-spacing:1.8px;font-weight:600;line-height:1.4;display:block}.picker-heading h2{font-size:var(--type-heading-lg);color:var(--text-primary);letter-spacing:-.8px;margin:2px 0 3px;font-weight:600;line-height:1.35}.picker-heading p{font-size:var(--type-caption);color:var(--text-secondary);line-height:1.6}.picker-close{width:44px;height:44px;color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md);flex-shrink:0;place-items:center;margin-left:auto;display:grid}.picker-close:hover{color:var(--text-secondary);background:var(--surface-hover)}.picker-content{overscroll-behavior:contain;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:0;display:grid;overflow-y:auto}.picker-modes{min-width:0;padding:24px}.picker-settings{background:var(--surface-hover);border-left:1px solid var(--border);min-width:0;padding:24px}.picker-section-title{font-size:var(--type-body-small);color:var(--text-primary);margin:0 0 20px;font-weight:600;line-height:1.6}.picker-mode-list{gap:8px;display:grid}.picker-mode{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:12px;min-width:0;min-height:72px;padding:12px;display:flex}.picker-mode:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-hover)}.picker-mode[aria-pressed=true]{background:var(--primary-soft);border-color:var(--ring);box-shadow:none}.picker-mode:disabled{cursor:not-allowed;background:var(--surface-hover)}.picker-mode-icon{width:39px;height:39px;color:var(--primary);background:var(--surface-hover);border-radius:var(--radius-md);flex-shrink:0;place-items:center;display:grid}.picker-mode-copy{gap:4px;min-width:0;display:grid}.picker-mode-copy strong{font-size:var(--type-body-small);color:var(--text-primary);font-weight:600;line-height:1.4}.picker-mode-copy>span{font-size:var(--type-caption);color:var(--text-secondary);line-height:1.5}.picker-mode:disabled .picker-mode-copy,.picker-mode:disabled .picker-mode-icon{opacity:.55}.picker-mode-indicator{width:17px;height:17px;color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.picker-mode[aria-pressed=true] .picker-mode-indicator{color:var(--primary-foreground);background:var(--primary);border-color:var(--primary)}.picker-time{border:0;min-width:0;margin:0;padding:0}.picker-time legend,.picker-variant{font-size:var(--type-caption);color:var(--text-secondary);font-weight:500}.picker-time legend{margin-bottom:12px}.picker-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.picker-preset{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-items:center;gap:4px;min-height:64px;padding:12px 4px;display:grid}.picker-preset:hover{border-color:var(--border-hover)}.picker-preset strong{font-size:var(--type-heading-sm);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.picker-preset>span{font-size:var(--type-caption);color:var(--text-secondary)}.picker-custom-time{margin-top:12px}.picker-custom-time summary{min-height:44px;font-size:var(--type-caption);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:4px 0;list-style:none;display:flex}.picker-custom-time summary::-webkit-details-marker{display:none}.picker-details-chevron{margin-left:auto;transition:transform .18s}.picker-custom-time[open] .picker-details-chevron{transform:rotate(180deg)}.picker-time-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:4px;display:grid}.picker-field{min-width:0;font-size:var(--type-caption);color:var(--text-secondary);gap:8px;display:grid}.picker-number{background:var(--surface);position:relative}.picker-number input{width:100%;min-height:43px;font-size:var(--type-body-small);font-variant-numeric:tabular-nums;appearance:textfield;border-color:var(--border-hover);border-radius:var(--radius-sm);padding:12px 34px 12px 12px}.picker-number input::-webkit-inner-spin-button{appearance:none;margin:0}.picker-number input::-webkit-outer-spin-button{appearance:none;margin:0}.picker-number input[aria-invalid=true]{border-color:var(--border-hover)}.picker-number>span{font-size:var(--type-caption);color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.picker-field-help{font-size:var(--type-caption);color:var(--text-secondary);margin:8px 0;line-height:1.7}.picker-clock-note{font-size:var(--type-caption);color:var(--text-secondary);align-items:flex-start;gap:8px;margin:4px 0 16px;line-height:1.7;display:flex}.picker-clock-note>svg{flex-shrink:0;margin-top:2px}.picker-error{font-size:var(--type-caption);color:var(--danger);background:var(--danger);margin-bottom:12px;padding:12px;line-height:1.6}@supports (color:color-mix(in lab, red, red)){.picker-error{background:color-mix(in srgb, var(--danger) 10%, var(--surface))}}.picker-error{border:1px solid var(--border);border-radius:var(--radius-sm)}.picker-options{padding-inline:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.picker-option{cursor:pointer;align-items:center;gap:12px;min-height:64px;display:flex}.picker-option+.picker-option{border-top:1px solid var(--border)}.picker-option>svg{color:var(--text-secondary);flex-shrink:0}.picker-option-copy{gap:4px;display:grid}.picker-option-copy strong{font-size:var(--type-caption);font-weight:500;line-height:1.4}.picker-option-copy>span{font-size:var(--type-caption);color:var(--text-secondary);line-height:1.5}.picker-option>.ui-input{appearance:none;cursor:pointer;background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-md);flex-shrink:0;width:40px;height:24px;min-height:24px;margin:0 0 0 auto;padding:0;position:relative}.picker-option>.ui-input:after{content:"";background:var(--surface);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .18s;position:absolute;top:2px;left:2px}.picker-option>.ui-input:checked{background:var(--primary);border-color:var(--primary)}.picker-option>.ui-input:checked:after{transform:translate(16px)}.picker-option>.ui-input:disabled{cursor:not-allowed;opacity:.5}.picker-variant{gap:8px;margin-bottom:20px;display:grid}.picker-variant select{width:100%;font-size:var(--type-caption);color:var(--text-secondary);border-color:var(--border-hover)}.picker-offline{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:306px;padding:24px 12px;display:flex}.picker-offline-icon{width:72px;height:72px;color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-xl);place-items:center;margin-bottom:20px;display:grid}.picker-offline h4{font-size:var(--type-heading-sm);letter-spacing:-.3px;font-weight:600}.picker-offline p{max-width:285px;font-size:var(--type-caption);color:var(--text-secondary);margin-top:12px;line-height:1.85}.picker-offline-note{font-size:var(--type-caption);color:var(--text-secondary);align-items:center;gap:8px;margin-top:24px;display:flex}.picker-footer{background:var(--surface-hover);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.picker-selection{min-width:0}.picker-selection>span{font-size:var(--type-caption);align-items:center;gap:8px;font-weight:500;display:flex}.picker-selection p{font-size:var(--type-caption);color:var(--text-secondary);margin-top:4px;line-height:1.65}.picker-preset strong>span{font-size:var(--type-caption);font-weight:400}.picker-preset[aria-pressed=true]>span{color:var(--primary-foreground)}.picker-start{gap:var(--space-4);min-width:207px;min-height:48px;padding:var(--space-3) var(--space-5);font-size:var(--type-body-small);color:var(--primary-foreground);background:var(--primary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:none;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.picker-start:hover:not(:disabled){color:var(--primary-foreground);background:var(--primary-hover);box-shadow:none}.picker-start:disabled{cursor:not-allowed;opacity:.5}.game-picker :is(button,input,select,summary):focus-visible{outline:2px solid var(--ring);outline-offset:3px}.picker-preset[aria-pressed=true] strong{color:var(--primary-foreground)}@media (width<=700px){.game-picker{border-radius:var(--radius-lg);width:440px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.picker-header{gap:12px;padding:16px 20px}.picker-thumbnail{border-radius:var(--radius-md);width:48px;height:48px}.picker-eyebrow{font-size:var(--type-caption);letter-spacing:1.3px}.picker-heading h2{font-size:var(--type-heading-lg);margin-top:1px}.picker-heading p{font-size:var(--type-caption)}.picker-content{grid-template-columns:minmax(0,1fr)}.picker-modes{padding:20px}.picker-section-title{font-size:var(--type-body-small);margin-bottom:12px}.picker-mode-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.picker-mode{flex-direction:column;align-items:flex-start;gap:8px;min-height:96px;padding:12px;position:relative}.picker-mode-icon{border-radius:var(--radius-sm);width:27px;height:27px}.picker-mode-icon svg{width:17px;height:17px}.picker-mode-copy{gap:4px}.picker-mode-copy strong,.picker-mode-copy>span{font-size:var(--type-caption)}.picker-mode-indicator{width:15px;height:15px;position:absolute;top:16px;right:12px}.picker-settings{border-top:1px solid var(--border);border-left:0;padding:20px 20px 12px}.picker-number input,.picker-variant select{font-size:var(--type-heading-sm)}.picker-offline{min-height:0;padding:16px 4px 24px}.picker-offline-icon{border-radius:var(--radius-lg);width:55px;height:55px;margin-bottom:16px}.picker-offline h4{font-size:var(--type-heading-sm)}.picker-offline p{font-size:var(--type-caption)}.picker-offline-note{margin-top:16px}.picker-footer{padding:12px 20px max(16px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:12px}.picker-selection>span{display:none}.picker-selection p{text-align:center;margin:0}.picker-start{justify-content:space-between;width:100%;min-height:46px;padding:12px 16px}}@media (prefers-reduced-motion:reduce){.game-picker *,.game-picker :after{transition:none}}@media (width<=1280px){.page-container{padding-inline:var(--space-7)}}@media (width<=1024px){.page-container{padding-inline:var(--space-6)}.lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play-security{display:none}.catalogue-toolbar{flex-direction:column;align-items:stretch}.game-search{max-width:none}}@media (width<=900px){.play-layout{grid-template-columns:minmax(0,630px)}.game-overview{grid-template-columns:minmax(0,1fr)}.game-overview-art{max-height:320px}.loading-board-layout{grid-template-columns:minmax(0,630px)}.loading-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.page-container{padding:var(--space-6) var(--space-5) 96px}.page-header-row{align-items:flex-start}.page-header-actions{flex-shrink:1}.section-header h2{font-size:20px}.section-header .text-link{font-size:13px}.lobby-grid{grid-template-columns:minmax(0,1fr)}.loading-card-grid{gap:var(--space-3)}.auth-card{margin-block:var(--space-4)}.ui-input{font-size:16px}.profile-stats{gap:var(--space-3)}.profile-stats .ui-card{padding:var(--space-4)}.profile-stats strong{font-size:28px}.profile-stats span{font-size:12px}.setting-row{gap:var(--space-4)}.setting-row .ui-input[type=range]{width:100px}}@media (width<=540px){.friend-row{grid-template-columns:40px minmax(0,1fr) 44px;display:grid}.friend-row>.ui-avatar{grid-area:1/1}.friend-row>div{grid-area:1/2}.friend-row>.ui-button:not(.ui-button-icon){grid-area:2/2/auto/4;justify-self:start}.friend-row>.ui-button-icon{grid-area:1/3}.page-header-row{gap:var(--space-4);flex-direction:column}.page-header{margin-bottom:var(--space-6)}.page-header p{font-size:14px}.section-header{gap:var(--space-2);align-items:flex-start}.section-header h2{max-width:65%}.section-header .text-link{min-height:44px;margin-top:-8px;font-size:12px}.play-heading{gap:var(--space-2);margin-bottom:var(--space-4)}.play-breadcrumb{margin-left:auto;font-size:12px}.play-breadcrumb>span{display:none}.board-heading{align-items:flex-start}.board-frame{padding:var(--space-1);border-radius:var(--radius-sm)}.player-avatar{width:36px;height:36px}.player-clock{min-width:104px;padding-inline:var(--space-2)}.player-name>span{font-size:11px}.under-board{align-items:flex-start;font-size:11px}.under-board>span{padding-top:var(--space-3)}.captured-pieces{font-size:11px}.friend-search{flex-wrap:wrap}.friend-search .ui-input{flex-basis:100%}.form-grid{grid-template-columns:1fr}.ui-card{padding:var(--space-5)}.auth-card{padding:var(--space-6)}.profile-stats .ui-card{padding:var(--space-3)}}.board-settings h2{font-size:18px}.game-result h2{margin-block:var(--space-2) var(--space-5);text-align:center;font-size:28px}.chat-message p{white-space:pre-wrap}.matchmaking h1{margin-bottom:var(--space-3);font-size:26px}.matchmaking p{color:var(--text-secondary);font-size:14px;line-height:1.7}.xiangqi-play{padding-top:var(--space-4)}.xiangqi-play .play-heading{margin-bottom:var(--space-2)}.xiangqi-play .play-security{display:none}.xiangqi-play .play-layout{gap:var(--space-7);grid-template-columns:minmax(0,min(540px,max(360px,90dvh - 243px))) minmax(260px,300px)}.xiangqi-play .board-heading{align-items:center;margin-bottom:0}.xiangqi-play .board-heading h1{font-size:20px}.xiangqi-play .player-strip{min-height:60px;padding-block:var(--space-2)}.xiangqi-play .xiangqi-frame{width:100%;max-width:none}.xiangqi-play .captured-pieces:empty{display:none}.xiangqi-play .captured-pieces{margin-top:0}.board-surface{position:relative}.player-avatar{overflow:hidden}.player-avatar img{object-fit:cover;width:100%;height:100%}.player-rating{margin-left:var(--space-2);color:var(--text-secondary);font-size:12px;font-weight:400}.status-dot.is-disconnected{background:var(--text-muted)}.xiangqi-tools{gap:var(--space-1);border:0;border-top:1px solid var(--border);align-items:center;min-width:0;min-height:48px;margin:0;padding:0;display:flex}.xiangqi-tools>.ui-button{padding-inline:var(--space-3);font-size:13px}.xiangqi-tool-spacer{flex:1}.check-notice{z-index:8;pointer-events:none;position:absolute;top:22%;left:50%;transform:translate(-50%)}.check-notice:not(:empty){padding:var(--space-2) var(--space-5);color:#fff;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#9c362b;font-size:16px;font-weight:650}.xiangqi-panel{padding-top:36px}.xiangqi-panel .match-card{padding:0}.xiangqi-panel .match-status{padding:var(--space-4) var(--space-5)}.xiangqi-panel .match-status h2{margin:0 0 var(--space-2);font-size:17px;line-height:1.4}.xiangqi-panel .match-status p{font-size:13px}.match-tabs{border-bottom:1px solid var(--border);display:flex}.match-tabs>button{gap:var(--space-2);min-height:46px;color:var(--text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.match-tabs>button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary);font-weight:550}.match-tabs small{font-variant-numeric:tabular-nums;color:var(--text-muted)}.xiangqi-panel .move-list{height:300px}.move-columns{z-index:2;color:var(--text-muted);background:var(--surface);border-radius:0;font-size:11px;font-weight:550;position:sticky;top:-8px}.move-row:last-child{color:var(--text-secondary);background:0 0}.move-row.move-current{color:var(--primary);background:var(--primary-soft)}.move-seek{min-height:36px;padding:0 var(--space-2);font:inherit;color:inherit;text-align:left;border-radius:var(--radius-sm);background:0 0;border:0}.move-seek:hover,.move-seek[aria-current=step]{color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--border)}.move-row:has(.move-seek){padding-block:var(--space-1);align-items:center}.match-viewers{gap:var(--space-2);padding:var(--space-3) var(--space-5);color:var(--text-muted);border-top:1px solid var(--border);align-items:center;font-size:12px;display:flex}.xiangqi-rules{gap:var(--space-2);min-height:44px;margin-top:var(--space-3);color:var(--text-secondary);justify-content:center;align-items:center;font-size:12px;display:flex}.match-notice{gap:var(--space-2);padding:var(--space-3);margin-block:var(--space-2);color:var(--primary);background:var(--primary-soft);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:13px;line-height:1.5;display:flex}.match-notice>div{gap:var(--space-2);display:flex}.match-inline-error{margin-block:var(--space-2);color:var(--danger);font-size:13px}.board-settings{width:min(360px,100vw - 24px);padding:var(--space-5)}.board-settings header{gap:var(--space-3);justify-content:space-between;align-items:center;display:flex}.board-settings>.ui-button{justify-content:flex-start;width:100%}.board-settings .setting-row{padding-block:var(--space-4)}.game-result{width:min(352px,100vw - 24px);max-height:calc(100dvh - 32px);padding:var(--space-6);margin:0;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}.game-result[open]{animation:none}.game-result::backdrop{background:#12291c24}.result-close{top:var(--space-1);right:var(--space-1);position:absolute}.result-reason{margin-top:var(--space-3);color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:550}.result-ratings{margin:0 0 var(--space-5);padding:0;list-style:none}.result-ratings li{gap:var(--space-4);padding-block:var(--space-3);border-top:1px solid var(--border);justify-content:space-between;align-items:center;font-size:14px;display:flex}.result-ratings li>span{overflow-wrap:anywhere;min-width:0}.result-ratings small{margin-top:var(--space-1);color:var(--text-muted);font-size:12px;display:block}.rating-gain{color:var(--primary)}.rating-loss{color:var(--danger)}.result-note{margin-bottom:var(--space-3);color:var(--text-muted);text-align:center;font-size:13px}.result-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.result-actions .ui-button{padding-inline:var(--space-2);font-size:13px}.chat-toolbar{gap:var(--space-1);padding:var(--space-2) var(--space-3);color:var(--text-muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.chat-log{height:200px;padding:var(--space-3) var(--space-4);overscroll-behavior:contain;overflow:auto}.chat-earlier{margin:0 auto;display:flex}.chat-history-error{margin:var(--space-2) var(--space-4);color:var(--text-muted);text-align:center;font-size:12px}.chat-message{margin-bottom:var(--space-4);overflow-wrap:anywhere;font-size:13px}.chat-message strong{margin-bottom:var(--space-1);color:var(--text-secondary);font-size:11px;font-weight:550;display:block}.chat-message small{font-weight:400}.chat-mine strong{color:var(--primary)}.chat-welcome{padding-block:var(--space-6);color:var(--text-muted);text-align:center;font-size:13px;line-height:1.6}.chat-empty{gap:var(--space-3);min-height:300px;padding:var(--space-5);color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;font-size:13px;display:flex}.chat-quick{gap:var(--space-1);padding-inline:var(--space-3);display:flex;overflow-x:auto}.chat-quick button{min-height:36px;padding-inline:var(--space-2);color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;font-size:11px}.chat-quick button:disabled{opacity:.5}.chat-compose{gap:var(--space-2);padding:var(--space-3);display:flex}.chat-compose .ui-input{flex:1;min-width:0;font-size:14px}.chat-compose .ui-button{flex-shrink:0}.picker-computer-fields{gap:var(--space-4);width:100%;margin-block:var(--space-4);text-align:left;display:grid}.picker-computer-fields label{gap:var(--space-2);color:var(--text-secondary);font-size:13px;display:grid}.matchmaking-page{place-items:center;min-height:85dvh;display:grid}.matchmaking{width:min(100%,480px);padding-block:var(--space-6);text-align:center}.matchmaking-piece{width:64px;height:64px;margin:0 auto var(--space-6);color:#973327;background:#f0dfbc;border:2px solid #bb975e;border-radius:50%;place-items:center;font-family:serif;font-size:36px;display:grid}.matchmaking-summary{gap:var(--space-2);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.matchmaking-spinner{margin:var(--space-6) auto;color:var(--primary);animation:1.4s linear infinite match-search}.matchmaking>.ui-button{min-width:120px;margin-top:var(--space-6)}.room-invitation{margin-top:var(--space-4)}.room-invitation label{gap:var(--space-2);max-width:220px;margin:0 auto var(--space-4);color:var(--text-muted);font-size:12px;display:grid}.room-invitation .ui-input{text-align:center;font-size:20px;font-weight:600}.room-invitation>div{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.matchup{gap:var(--space-6);margin-block:var(--space-7);grid-template-columns:1fr 1fr;display:grid}.matchup-player{gap:var(--space-3);flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.matchup-player strong{overflow-wrap:anywhere;max-width:100%;font-size:16px}.matchup-player>span:last-child{color:var(--text-secondary);font-size:12px}.matchup-player .player-avatar{width:52px;height:52px}.matchup-versus{top:18px;left:calc(var(--space-3) * -1);color:var(--text-muted);font-size:11px;font-weight:550;position:absolute;transform:translate(-50%)}:is(.play-layout:fullscreen,.play-layout.match-focus-mode){width:100%;height:100dvh;padding:var(--space-5);background:var(--background);overflow:auto}.play-layout.match-focus-mode{z-index:100;position:fixed;inset:0}:is(.xiangqi-play .play-layout:fullscreen,.xiangqi-play .play-layout.match-focus-mode){grid-template-columns:minmax(0,min(650px,90dvh - 198px)) minmax(260px,320px)}@keyframes match-search{to{transform:rotate(360deg)}}@media (width<=900px){.xiangqi-play .play-layout{grid-template-columns:minmax(0,540px);gap:0}.xiangqi-play .play-heading{max-width:540px;margin-inline:auto}.xiangqi-panel{padding-top:0}.xiangqi-play .mobile-match-toggle{margin-top:var(--space-2)}:is(.xiangqi-play .play-layout:fullscreen,.xiangqi-play .play-layout.match-focus-mode){grid-template-columns:minmax(0,min(540px,90dvh - 171px))}}@media (width<=640px){.matchmaking h1{font-size:23px}.xiangqi-play{padding:var(--space-2) var(--space-2) 88px}.xiangqi-play .play-heading{min-height:32px;margin-bottom:var(--space-1)}.xiangqi-play .play-breadcrumb{display:none}.xiangqi-play .back-link{min-height:36px;padding-inline:var(--space-2);font-size:12px}.xiangqi-play .board-heading{padding-inline:var(--space-2)}.xiangqi-play .board-heading h1{font-size:18px}.xiangqi-play .board-badges{gap:var(--space-1)}.xiangqi-play .mode-badge{font-size:10px}.xiangqi-play .player-strip{min-height:56px;padding-inline:var(--space-2)}.xiangqi-play .player-clock{min-width:92px}.xiangqi-play .clock-caption{display:none}.xiangqi-play .player-clock .clock-value{font-size:24px}.xiangqi-play .captured-pieces{padding-inline:var(--space-2)}.xiangqi-tools .tool-secondary{display:none}.xiangqi-tools>.ui-button{font-size:12px}.xiangqi-panel .move-list{height:240px}.board-settings{width:100%;max-width:100%;padding-bottom:max(24px, env(safe-area-inset-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-bottom:0;inset:auto 0 0}.game-result:not(.xq-result-sheet){top:50%!important;left:50%!important}}@media (prefers-reduced-motion:reduce){.matchmaking-spinner{animation:none}}.kv-arena .play-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;max-width:1240px;margin:auto;display:grid}.kv-arena .board-column{width:100%;min-width:0;max-width:800px;margin:auto}.kv-arena .board-frame{background:#252c31;max-width:680px;margin:auto;box-shadow:0 16px 40px #0003}.kv-arena .xiangqi-frame,.kv-arena .janggi-frame{max-width:590px}.kv-arena .board-heading{margin-bottom:12px}.kv-arena .board-heading h1{font-size:20px}.kv-arena .player-strip{min-height:62px;padding:8px 0}.kv-arena .player-clock{color:var(--text-secondary);border:1px solid var(--border);background:#191e23;border-radius:4px}.kv-arena .clock-value{font-family:var(--font-code)}.kv-arena .avatar-light,.kv-arena .avatar-dark{color:var(--text-secondary);background:var(--surface-hover)}.kv-arena .match-card{border-radius:6px;padding:0;overflow:hidden}.kv-arena .match-status{padding:20px}.kv-arena .match-status h2{font-size:17px}.kv-arena .match-status p{font-size:12px}.kv-arena .move-list{min-height:180px;max-height:360px}.kv-arena .match-tabs{padding:0}.kv-arena .match-tabs button{gap:5px;min-width:0;padding:12px 8px;font-size:11px}.kv-replay-controls{font-family:var(--font-code);border-top:1px solid var(--border);justify-content:center;align-items:center;gap:4px;padding:8px;font-size:12px;display:flex}.kv-player-list{padding:16px}.kv-player-list>div{align-items:center;gap:10px;padding:10px 0;display:flex}.kv-player-list>div>span:nth-child(2){flex:1}.kv-player-list strong,.kv-player-list small{display:block}.kv-player-list small{color:var(--text-muted)}.kv-multiplayer-strips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.kv-multiplayer-strips .player-strip{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px}.kv-multiplayer-strips .player-avatar{width:30px;height:30px}.kv-multiplayer-strips .player-clock{padding:6px}.kv-multiplayer-strips .clock-caption,.kv-multiplayer-strips .player-clock>svg{display:none}.kv-multiplayer-strips .clock-value{font-size:17px}.kv-game-actions{padding:12px 0}.kv-action-buttons{flex-wrap:wrap;gap:8px;display:flex}.kv-dice-result{justify-content:center;gap:10px;margin-bottom:12px;display:flex}.kv-dice-result>span{color:#172027;background:#e9edf1;border-radius:8px;place-items:center;width:48px;height:48px;font-size:42px;line-height:1;display:grid;box-shadow:0 3px #86918f}.kv-scoring{color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:12px;padding:14px}.kv-scoring p{color:var(--text-secondary);font-size:12px}.kv-dead-stone .stone{opacity:.35}.kv-dead-stone:after{z-index:6;color:#f87171;content:"×";font-size:20px;position:absolute}.chess-board .light-square,.checkers-board .light-square{background:#a0a69c}.chess-board .dark-square,.checkers-board .dark-square{background:#556257}.chess-board .last-square,.checkers-board .last-square{background:#729e59}.chess-board .selected-square,.checkers-board .selected-square{background:#7baa58}.go-board,.math-board,.janggi-board,.shogi-board{background:#d6b77f}.reversi-board{background:#245844;border:1px solid #112f23;gap:1px}.reversi-board .board-cell{border:1px solid #173d2d}.go-frame .stone{width:90%;height:90%}.shogi-board .board-cell{border-bottom:1px solid #7b6240;border-right:1px solid #7b6240}.kv-shogi-hand{background:var(--surface);flex-wrap:wrap;gap:6px;padding:8px;display:flex}.kv-shogi-piece{color:#25190c;filter:drop-shadow(0 2px 1px #392d1a);clip-path:polygon(50% 0,88% 14%,100% 100%,0 100%,12% 14%);background:linear-gradient(130deg,#f7dfab,#d6b171);place-items:center;width:79%;height:88%;padding-top:8%;font-family:Songti SC,serif;font-size:clamp(18px,3.5vw,42px);font-weight:700;display:grid}.kv-shogi-opponent{transform:rotate(180deg)}.kv-shogi-promoted{color:#a02720}.kv-draught{border:3px double #28352c;border-radius:50%;place-items:center;width:78%;height:78%;font-size:clamp(17px,3vw,32px);display:grid;box-shadow:0 3px #101713,0 5px 4px #0004}.kv-draught-w{color:#405547;background:#eeeee3}.kv-draught-b{color:#e1e8d8;background:#263c2e;border-color:#809a84}.kv-math-piece{width:82%;height:82%;font-family:var(--font-code);color:#fff;border:2px solid #fff8;border-radius:50%;place-items:center;font-size:clamp(13px,2.5vw,25px);font-weight:700;display:grid;box-shadow:0 2px 4px #0005}.kv-janggi-piece{clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);background:#eaf0d2;border:2px solid;place-items:center;width:80%;height:80%;font-family:serif;font-size:clamp(16px,3vw,30px);font-weight:700;display:grid}.kv-janggi-w{color:#16704b}.kv-janggi-b{color:#bd3f35}.kv-seat-w{--seat-color:#24b46b;background-color:var(--seat-color)}.kv-seat-b{--seat-color:#dc5a59;background-color:var(--seat-color)}.kv-seat-p3{--seat-color:#e7ba45;background-color:var(--seat-color)}.kv-seat-p4{--seat-color:#4a8dde;background-color:var(--seat-color)}.kv-seat-p5{--seat-color:#ba72dd;background-color:var(--seat-color)}.kv-seat-p6{--seat-color:#44c5bd;background-color:var(--seat-color)}.kv-seat-dot{border:1px solid #ffffff50;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.kv-special-board{border:1px solid var(--border);background:#1b232a;border-radius:8px;width:100%;overflow:hidden}.kv-star-surface{aspect-ratio:1.12;background:radial-gradient(#202d32,#151b20);width:100%;position:relative}.kv-star-lines{fill:#32434c66;stroke:#6c7d8266;stroke-width:.3px;width:100%;height:100%;position:absolute;inset:0}.kv-star-hole{aspect-ratio:1;color:#fff;border:1px solid #85909670;border-radius:50%;place-items:center;width:4.4%;padding:0;font-size:11px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 2px 3px #0009,0 1px #ffffff10}.kv-star-hole:not([class*=kv-seat-]){background:#0c151c}.kv-star-hole[class*=kv-seat-]{border-color:#ffffff80;box-shadow:inset 2px 2px 4px #ffffff70,1px 3px 4px #0008}.kv-point-available{outline-offset:-2px;outline:2px solid #22c55e!important}.kv-star-hole[aria-pressed=true]{outline-offset:2px;outline:2px solid #fff}.kv-board-confirm{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.kv-board-confirm>span{color:var(--text-secondary);flex:1}.kv-backgammon-score{font-family:var(--font-code);justify-content:space-between;padding:12px 16px;display:flex}.kv-backgammon-table{aspect-ratio:1.6;background:#b49369;border:10px solid #6c5139;flex-direction:column;display:flex;position:relative}.kv-backgammon-row{grid-template-columns:repeat(6,1fr) 12px repeat(6,1fr);height:50%;display:grid}.kv-backgammon-point{background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:relative}.kv-backgammon-point:nth-child(7){grid-column:8}.kv-backgammon-point:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);background:#3d5049;position:absolute;inset:0 2% 4%}.kv-backgammon-point:nth-child(2n):before{background:#86574b}.kv-point-number{z-index:1;color:#eee3d4;font-size:9px;position:relative}.kv-checker-stack{z-index:1;flex-direction:column;align-items:center;width:90%;display:flex}.kv-checker{aspect-ratio:1;border:2px solid #ffffff60;border-radius:50%;place-items:center;width:100%;margin-bottom:-8%;font-size:11px;display:grid;box-shadow:0 2px 3px #0007}.kv-checker-white{color:#222;background:radial-gradient(#f5f1dd,#cac6b9)}.kv-checker-black{color:#fff;background:radial-gradient(#48615a,#1c3028)}.kv-backgammon-point[aria-pressed=true]{outline:2px solid #22c55e}.kv-backgammon-bar{color:#fff;background:#6c5139;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:16px;font-size:8px;display:flex;position:absolute;top:0;bottom:0;left:calc(50% - 8px)}.kv-backgammon-bar .ui-button{color:#fff;background:#283f32;border-radius:50%;width:26px;height:26px;min-height:26px;padding:0;font-size:10px}.kv-ludo-board{aspect-ratio:1;background:#d5d9ce;position:relative}.kv-ludo-yard{background:var(--seat-color);width:39%;height:39%;padding:5%;position:absolute}@supports (color:color-mix(in lab, red, red)){.kv-ludo-yard{background:color-mix(in srgb, var(--seat-color) 25%, white)}}.kv-ludo-yard{border:10px solid var(--seat-color);border-radius:6%}.kv-ludo-yard-0{top:0;left:0}.kv-ludo-yard-1{top:0;right:0}.kv-ludo-yard-2{bottom:0;right:0}.kv-ludo-yard-3{bottom:0;left:0}.kv-ludo-yard>strong{color:#19261b;font-size:10px}.kv-ludo-yard>div{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.kv-horse{aspect-ratio:1;color:#111c15;text-shadow:0 1px #fff;place-items:center;font-size:clamp(16px,3.5vw,36px);display:inline-grid;position:relative}.kv-horse small{font-size:10px;position:absolute;bottom:0;right:0}.kv-ludo-center{color:#fff;background:conic-gradient(#e7ba45 0 25%, #4a8dde 25% 50%, #24b46b 50% 75%, #dc5a59 75%);place-items:center;font-size:32px;display:grid;position:absolute;inset:40%}.kv-ludo-cell{color:#7c8475;background:#f0f1e7;border:1px solid #727f7080;place-items:center;width:6.666%;height:6.666%;font-size:8px;display:grid;position:absolute}.kv-ludo-token{z-index:2;border-radius:50%;width:6.666%;height:6.666%;font-size:clamp(14px,3vw,28px);position:absolute}.kv-monopoly-board{aspect-ratio:1;background:#101920;grid-template-rows:repeat(11,minmax(0,1fr));grid-template-columns:repeat(11,minmax(0,1fr));gap:2px;padding:4px;display:grid}.kv-monopoly-center{color:var(--primary);background:radial-gradient(#264236,#172c27);flex-direction:column;grid-area:2/2/11/11;justify-content:center;align-items:center;gap:8px;display:flex}.kv-monopoly-center strong{letter-spacing:.08em;font-size:clamp(18px,3vw,36px)}.kv-monopoly-center>span{color:#b4c4bc;font-size:11px}.kv-property-space{color:#dfe8e2;text-align:center;background:#293c33;border:1px solid #5a776760;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.kv-property-space strong{font-size:clamp(5px,.65vw,9px);font-weight:500;line-height:1.2}.kv-property-space>span{font-size:7px}.kv-property-space>small{color:#a6b8ab;font-size:7px;position:absolute;bottom:0;right:2px}.kv-property-group{background:#449a6d;height:12%;position:absolute;top:0;left:0;right:0}.kv-property-owner{width:5px;height:5px;position:absolute;bottom:0;left:0}.kv-property-tokens{justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.kv-property-tokens .kv-seat-dot{width:10px;height:10px}.kv-mortgaged{opacity:.5}.kv-property-players{flex-wrap:wrap;gap:12px;padding:12px;display:flex}.kv-property-players>div{font-family:var(--font-code);align-items:center;gap:6px;font-size:11px;display:flex}.kv-bankrupt{opacity:.4;text-decoration:line-through}@media (width<=1100px){.kv-arena .play-layout{grid-template-columns:minmax(0,1fr) 300px;gap:16px}}@media (width<=900px){.kv-arena .play-layout{flex-direction:column;display:flex}.kv-arena .board-column{width:100%}}@media (width<=560px){.kv-arena .play-heading{display:none}.kv-arena .player-name strong{font-size:12px}.kv-multiplayer-strips .player-name>span{font-size:9px}.kv-multiplayer-strips .player-rating{display:none}.kv-arena .board-frame{padding:4px}.kv-arena .xiangqi-tools{flex-wrap:wrap}.kv-property-space strong{font-size:6px}.kv-backgammon-table{border-width:5px}}.kv-article-toolbar{margin-bottom:24px}.kv-article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.kv-article-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .15s;display:block;overflow:hidden}.kv-article-card:hover{border-color:var(--primary)}.kv-article-card>.kv-game-art{border-radius:0;height:220px;margin:0}.kv-article-card>div{padding:24px}.kv-article-card h2{margin-bottom:12px;font-size:20px}.kv-article-card p{color:var(--text-secondary);font-size:13px}.kv-article-card .kv-article-meta{margin-top:20px;font-size:11px}.kv-article-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;display:flex}.kv-article-meta>span{align-items:center;gap:6px;display:flex}.kv-article-page{max-width:1200px}.kv-article-page>.text-link{margin-bottom:24px}.kv-article-page>.page-header{max-width:840px}.kv-article-layout{grid-template-columns:minmax(0,760px) 220px;gap:64px;margin-top:40px;display:grid}.kv-prose{min-width:0;color:var(--text-secondary);font-size:16px;line-height:1.9}.kv-prose h2{color:var(--text-primary);margin:40px 0 20px;scroll-margin-top:24px;font-size:25px;line-height:1.4}.kv-prose h2:first-child{margin-top:0}.kv-prose p{margin:0 0 24px}.kv-prose strong{color:var(--text-primary)}.kv-prose a{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.kv-prose code{background:var(--surface-hover);border-radius:4px;padding:2px 6px}.kv-prose blockquote{background:var(--surface);border-left:3px solid var(--primary);margin:24px 0;padding:16px 24px}.kv-toc{border-left:1px solid var(--border);align-self:start;padding-left:24px;position:sticky;top:24px}.kv-mobile-toc{display:none}.kv-toc strong{margin-bottom:16px;font-size:13px;display:block}.kv-toc a,.kv-mobile-toc a{min-height:44px;color:var(--text-secondary);font-size:12px;display:block}.kv-toc a:hover,.kv-mobile-toc a:hover{color:var(--primary)}.kv-reading-progress{z-index:100;pointer-events:none;background:var(--primary);transform-origin:0;height:3px;position:fixed;top:0;left:0;right:0}.kv-article-replay{max-width:520px;margin:28px auto}.kv-related{margin-top:64px}.kv-related>h2{margin-bottom:24px}.kv-leaderboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.kv-leaderboard-toolbar .filter-bar{margin:0}.kv-cycle-bar{font-family:var(--font-code);color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:24px;font-size:12px;display:flex}.kv-cycle-bar>small{margin-left:auto}.kv-rank-card{padding:0;overflow:hidden}.kv-table-scroll{overflow:auto}.kv-rank-player{align-items:center;gap:10px;display:flex}.kv-rank-player .ui-avatar{width:32px;height:32px;font-size:12px}.kv-rank-player strong{font-size:13px}.kv-rank{align-items:center;gap:8px;display:inline-flex}.kv-rank-1{color:#e9be5a}.kv-rank-2{color:#b8c7d5}.kv-rank-3{color:#c89268}.kv-numeric{font-family:var(--font-code);font-weight:600}.kv-win{color:var(--primary);align-items:center;display:inline-flex}.kv-loss{color:var(--danger);align-items:center;display:inline-flex}.kv-personal-rank{color:var(--primary);background:var(--primary-soft);border:1px solid #2d603f;border-radius:6px;align-items:center;gap:16px;margin-bottom:20px;padding:18px 24px;display:flex}.kv-personal-rank>span:last-child{margin-left:auto}.kv-pagination{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 20px;display:flex}.kv-pagination>span{color:var(--text-secondary);margin-right:auto;font-size:12px}.picker-mode[aria-pressed=true],.picker-preset[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary)}@media (width<=1100px){.kv-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kv-article-layout{grid-template-columns:minmax(0,1fr) 180px;gap:32px}}@media (width<=760px){.kv-article-layout{display:block}.kv-toc{display:none}.kv-mobile-toc{border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:16px;display:block}.kv-mobile-toc summary{cursor:pointer;min-height:24px;font-weight:600}.kv-mobile-toc nav{padding-top:16px}.kv-article-grid{grid-template-columns:1fr}.kv-cycle-bar{flex-wrap:wrap}.kv-cycle-bar>small{flex-basis:100%;margin-left:0}.kv-personal-rank{gap:10px;padding:14px;font-size:12px}}.kv-lobby-toolbar{margin-bottom:20px}.kv-lobby-toolbar .filter-bar{margin-bottom:0}.kv-live-room{padding:16px}.kv-room-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.kv-room-status{color:var(--primary);align-items:center;gap:6px;font-size:10px;display:flex}.kv-room-preview{background:#0c1115;border-radius:4px;justify-content:center;align-items:center;height:180px;display:flex;overflow:hidden}.kv-room-preview .kv-game-art{width:100%;height:100%;margin:0}.kv-room-preview .board-frame,.kv-room-preview .kv-special-board{pointer-events:none;width:172px;max-width:172px}.kv-room-preview .chess-piece{font-size:18px}.kv-room-preview .xiangqi-piece{border-width:1px;font-size:9px}.kv-room-players{color:var(--text-primary);justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;display:flex}.kv-room-details{font-family:var(--font-code);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 14px;font-size:10px;display:flex}.kv-live-room>.ui-button{width:100%}.kv-trade-properties{margin:16px 0}.kv-trade-properties legend{color:var(--text-secondary);margin-bottom:8px;font-size:12px}.kv-trade-properties small{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.kv-trade-properties label{align-items:center;gap:8px;min-height:36px;display:flex}.kv-action-log{margin:0;padding:0;list-style:none}.kv-action-log li{min-height:38px;font-family:var(--font-code);align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:flex}.kv-action-log li:nth-child(2n){background:#ffffff04}.kv-action-log li>span:nth-child(2){color:var(--text-muted)}.kv-action-log button{color:var(--text-primary);text-align:left;background:0 0;border:0}.kv-action-log button[aria-current]{color:var(--primary)}.kv-rule-warning{color:#efc97b;background:#44361d;border:1px solid #80632e;border-radius:6px;gap:10px;margin:10px 0;padding:12px;font-size:13px;line-height:1.6;display:flex}.kv-rule-warning svg{flex-shrink:0;margin-top:3px}.kv-game-score{font-family:var(--font-code);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 0;font-size:13px;display:flex}.kv-game-score small{font-family:var(--font-sans);font-size:11px}.kv-palace-lines{z-index:1}.kv-board-zoom{min-width:0}.kv-board-zoom-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kv-board-zoom-toolbar small{color:var(--text-secondary);font-size:11px}.kv-board-scroll{overscroll-behavior:contain;max-width:100%;overflow:auto}.kv-board-zoomed .kv-board-zoom-content{min-width:640px}.kv-board-zoomed .board-cell,.kv-board-zoomed .kv-star-hole{touch-action:pan-x pan-y}.kv-room-preview .kv-board-zoom-toolbar{display:none}.kv-ludo-yard-0{inset:auto auto 0 0}.kv-ludo-yard-1{inset:0 auto auto 0}.kv-ludo-yard-2{inset:0 0 auto auto}.kv-ludo-yard-3{inset:auto 0 0 auto}.kv-ludo-home{color:#183021;background:var(--seat-color);font-weight:700}@supports (color:color-mix(in lab, red, red)){.kv-ludo-home{background:color-mix(in srgb, var(--seat-color) 38%, white)}}.kv-multiplayer-strips .player-strip{grid-template-columns:30px minmax(0,1fr);gap:6px 8px;display:grid}.kv-multiplayer-strips .player-name{min-width:0}.kv-multiplayer-strips .player-name strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.kv-multiplayer-strips .player-clock{grid-column:1/-1;justify-content:center;width:100%;min-width:0;min-height:30px;padding:4px}.kv-multiplayer-strips .player-name>span{display:none}.kv-backgammon-table{grid-template-rows:repeat(2,minmax(0,1fr));display:grid}.kv-backgammon-row{height:auto;min-height:0}.kv-backgammon-row-1,.kv-backgammon-row-1 .kv-point-number,.kv-backgammon-row-1 .kv-checker{transform:none}.kv-backgammon-row-1 .kv-backgammon-point{flex-direction:column-reverse}.kv-backgammon-row-1 .kv-backgammon-point:before{clip-path:polygon(50% 0,100% 100%,0 100%);inset:4% 2% 0}.kv-backgammon-row-1 .kv-checker-stack{flex-direction:column-reverse}.kv-checker{margin-bottom:-24%}@media (width>=1101px){.kv-arena .board-frame{max-width:min(680px,max(420px,100svh - 380px))}.kv-arena .xiangqi-frame,.kv-arena .janggi-frame{max-width:min(590px,max(400px,90svh - 342px))}.kv-arena .kv-board-zoomed .board-frame{max-width:680px}}.kv-multiplayer-strips{margin-bottom:12px}.kv-game-context{color:var(--text-secondary);gap:8px;font-size:13px;line-height:1.65;display:grid}.kv-game-context p{margin:0}.kv-game-context strong{color:var(--text-primary)}.kv-trade-summary{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px}@media (width>=1101px){.kv-arena .math-frame{max-width:min(590px,max(360px,81.8svh - 311px))}}.kv-property-brown .kv-property-group{background:#94654a}.kv-property-light-blue .kv-property-group{background:#8ecbe8}.kv-property-pink .kv-property-group{background:#ce6da6}.kv-property-orange .kv-property-group{background:#df964b}.kv-property-red .kv-property-group{background:#d75859}.kv-property-yellow .kv-property-group{background:#e4c74c}.kv-property-green .kv-property-group{background:#449a6d}.kv-property-dark-blue .kv-property-group{background:#4676c2}@media (width>=1101px){.kv-multiplayer-strips[data-players="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}.kv-arena .kv-special-board:not(.kv-backgammon-board){max-width:min(640px,max(400px,100svh - 480px));margin-inline:auto}.kv-arena .kv-board-zoomed .kv-special-board{max-width:none}}.kv-rating-pool{width:auto;min-width:130px}.ai-badge{font:600 11px / 1.5 var(--font-ui);vertical-align:middle;color:var(--accent-warm);white-space:nowrap;background:var(--primary-soft);border:1px solid var(--primary);align-items:center;gap:4px;padding:1px 5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.ai-badge{border:1px solid color-mix(in oklch, var(--primary) 35%, transparent)}}.ai-badge{border-radius:var(--radius-pill)}.ai-directory{margin-block:24px}.ai-disclosure{color:var(--muted-foreground);background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;font-size:13px;line-height:1.65}.ai-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block:20px;display:grid}.ai-profile-card{flex-direction:column;align-items:flex-start;gap:14px;padding:24px;display:flex}.ai-profile-card h2{align-items:center;gap:10px;margin:0;font-size:22px;display:flex}.ai-profile-card p{min-height:46px;color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.65}.ai-card-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:auto;display:flex}.ai-capacity{color:var(--warning);flex-direction:column;gap:5px;font-size:13px;display:flex}.ai-capacity-available{color:var(--success)}.ai-capacity-unavailable{color:var(--muted-foreground)}.ai-capacity small{color:var(--muted-foreground);font-size:12px;line-height:1.5}.ai-picker-options{gap:14px;margin-block:10px 20px;display:grid}.ai-picker-options p{margin:0;font-size:13px;line-height:1.6}.ai-picker-options .picker-computer-fields{margin:0}.ai-profile-heading{align-items:center;gap:18px;margin-bottom:20px;display:flex}.ai-profile-heading h2{margin:0 0 8px}.ai-profile-games{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.ai-results-title{margin-top:28px}.ai-match-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-match-notice{color:var(--muted-foreground);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:12px;display:flex}.ai-next-options{text-align:center;gap:12px;max-width:460px;margin:30px auto;padding:28px;display:grid}.ai-next-options h2{font-size:22px}.ai-next-options p{color:var(--muted-foreground);font-size:14px;line-height:1.6}.chat-toolbar{flex-wrap:wrap;gap:6px}.chat-ai-muted{color:var(--muted-foreground);padding:8px 12px;font-size:12px}.history-participants{color:var(--muted-foreground);flex-direction:column;gap:4px;font-size:12px;display:flex}.history-participants span{align-items:center;gap:5px;display:flex}.history-cell-label{display:none}.ai-wait-choice{flex-direction:column;align-items:center;gap:10px;margin-top:20px;display:flex}.ai-wait-choice p{max-width:340px;font-size:12px}.ai-picker-options .picker-option{width:100%}@media (width<=900px){.ai-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-profile-card{padding:20px}}@media (width<=600px){.ai-match-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.history-table{min-width:0}.history-table thead{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.history-table tbody{display:block}.history-table tr{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding-block:20px;display:grid}.history-table tr:first-child{padding-top:0}.history-table tr:last-child{border-bottom:0;padding-bottom:0}.history-table td{overflow-wrap:anywhere;white-space:normal;border-bottom:0;min-width:0;padding:0}.history-table td:last-child{place-self:end}.history-cell-label{color:var(--muted-foreground);margin-bottom:5px;font-size:11px;display:block}.ai-profile-grid{grid-template-columns:1fr}.ai-profile-card p{min-height:0}.ai-next-options{margin-inline:12px}.ai-disclosure{padding:12px}.ai-profile-heading{align-items:flex-start}.ai-profile-heading img{width:64px;height:64px}}@media (width>=640px) and (height<=540px) and (orientation:landscape){.kv-arena{flex-direction:column;gap:6px;height:calc(100dvh - 52px);min-height:0;padding:8px 16px;display:flex}.kv-arena .play-heading{flex-shrink:0;gap:8px;min-height:22px;margin:0;font-size:11px;display:flex}.kv-arena .play-heading .back-link{min-height:22px;font-size:11px}.kv-arena .play-security{display:none}.kv-arena .ai-match-notice{flex-shrink:0;margin:0;padding:0;font-size:11px}.kv-arena .play-layout,.kv-arena .play-layout.match-focus-mode{flex:1;grid-template-rows:auto minmax(0,1fr) 38px;grid-template-columns:minmax(0,1fr) clamp(224px,29vw,288px);gap:6px 16px;width:100%;max-width:1280px;min-height:0;margin:0 auto;display:grid}.kv-arena .play-layout:fullscreen{flex:1;grid-template-rows:auto minmax(0,1fr) 38px;grid-template-columns:minmax(0,1fr) clamp(224px,29vw,288px);gap:6px 16px;width:100%;max-width:1280px;min-height:0;margin:0 auto;display:grid}:is(.kv-arena .play-layout:fullscreen,.kv-arena .play-layout.match-focus-mode){max-width:none;height:100dvh;padding:8px 16px}.kv-arena .board-column{display:contents}.kv-arena .board-surface{grid-area:1/1/-1;align-self:stretch;place-items:center;width:100%;min-width:0;min-height:0;display:grid;container-type:size}.kv-arena .arena-overview{grid-area:1/2;min-width:0}.kv-arena .arena-controls{overscroll-behavior:contain;grid-area:2/2;align-self:stretch;min-width:0;min-height:0;overflow:auto}.kv-arena .board-heading{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px}.kv-arena .board-heading h1{font-size:16px}.kv-arena .board-badges{flex-wrap:wrap;gap:4px}.kv-arena .mode-badge{padding:3px 5px;font-size:10px}.kv-arena .player-strip{gap:6px;min-height:40px;padding:4px 0}.kv-arena .player-avatar{width:24px;height:24px}.kv-arena .player-avatar>svg{width:20px;height:20px}.kv-arena .player-name{min-width:0}.kv-arena .player-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.kv-arena .player-name>span,.kv-arena .player-rating{font-size:10px}.kv-arena .player-clock{min-width:64px;min-height:32px;padding:4px 6px}.kv-arena .clock-caption,.kv-arena .player-clock>svg{display:none}.kv-arena .clock-value{font-size:17px}.kv-arena .kv-multiplayer-strips{gap:4px;margin-bottom:0}.kv-arena .kv-multiplayer-strips .player-strip{grid-template-columns:20px minmax(0,1fr);gap:3px;padding:4px}.kv-arena .kv-multiplayer-strips .player-avatar{width:20px;height:20px}.kv-arena .kv-multiplayer-strips .player-name strong{font-size:11px}.kv-arena .kv-multiplayer-strips .player-clock{min-height:24px;padding:1px 4px}.kv-arena .kv-multiplayer-strips .clock-value{font-size:14px}.kv-arena .kv-game-actions{padding-block:6px}.kv-arena .kv-action-buttons{gap:4px}.kv-arena .kv-action-buttons .ui-button{min-height:36px;padding:6px 8px;font-size:12px}.kv-arena .kv-dice-result{gap:6px;margin-bottom:8px}.kv-arena .kv-dice-result>span{width:32px;height:32px;font-size:28px}.kv-arena .xiangqi-tools{flex-wrap:wrap;min-height:38px}.kv-arena .xiangqi-tools .ui-button{min-height:36px;padding:6px;font-size:12px}.kv-arena .mobile-match-toggle{grid-area:3/2;align-self:stretch;min-height:38px;margin:0;padding:6px;font-size:12px}.kv-arena .mobile-match-sheet{border-radius:8px;width:min(420px,100vw - 16px);max-height:calc(100dvh - 16px);margin:0;inset:8px 8px 8px auto}}@media (width>=640px) and (width<=767px) and (height<=540px) and (orientation:landscape){.kv-arena{height:calc(100dvh - 48px)}}@media (width>=640px) and (height<=540px) and (orientation:landscape){.kv-arena .board-surface{--arena-board-room:100cqh;--arena-board-extra:0px}.kv-arena .board-surface .board-frame{width:min(100%, calc((var(--arena-board-room) - var(--arena-board-extra) - 8px) * var(--board-ratio,1) + 8px));place-self:start center;max-width:none;margin-inline:auto;padding:4px}.kv-arena .board-surface .chess-piece{font-size:9.7cqw}.kv-arena .board-surface .xiangqi-piece{border-width:1px;font-size:5.7cqw;line-height:1}.kv-arena .board-surface .kv-shogi-piece{font-size:7cqw;line-height:1}.kv-arena .board-surface .kv-janggi-piece,.kv-arena .board-surface .kv-math-piece{border-width:1px;font-size:5.8cqw;line-height:1}.kv-arena .board-surface .kv-draught{border-width:2px;font-size:6cqw;line-height:1}.kv-arena .board-surface .shogi-frame:has(.kv-shogi-hand>button){--arena-board-extra:40px}.kv-arena .board-surface .kv-shogi-hand{flex-wrap:nowrap;gap:4px;height:40px;padding:4px;overflow:auto hidden}.kv-arena .board-surface .kv-shogi-hand:empty{display:none}.kv-arena .board-surface .kv-shogi-hand .ui-button{white-space:nowrap;height:32px;min-height:32px;padding:4px 8px;font-size:11px}.kv-arena .board-surface .kv-board-zoom{--arena-board-room:calc(100cqh - 36px);grid-template-rows:36px minmax(0,1fr);width:100%;min-width:0;height:100%;min-height:0;display:grid}.kv-arena .board-surface .kv-board-zoom-toolbar{flex-wrap:nowrap;justify-content:center;min-width:0;height:36px}.kv-arena .board-surface .kv-board-zoom-toolbar .ui-button{white-space:nowrap;height:32px;min-height:32px;padding:4px 8px;font-size:12px}.kv-arena .board-surface .kv-board-zoom-toolbar small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.kv-arena .board-surface .kv-board-scroll{min-height:0;max-height:100%;overflow:auto}.kv-arena .board-surface .kv-board-zoom-content{min-width:0}.kv-arena .board-surface .kv-special-board{place-self:start center;max-width:none;margin-inline:auto;container-type:inline-size}.kv-arena .board-surface .kv-star-board{width:min(100%, calc((var(--arena-board-room) - 52px) * 1.12 + 2px));padding-bottom:50px;position:relative}.kv-arena .board-surface .kv-star-board .kv-board-confirm{grid-template-columns:minmax(0,1fr) auto auto;gap:4px;height:50px;padding:4px;display:grid;position:absolute;bottom:0;left:0;right:0}.kv-arena .board-surface .kv-star-board .kv-board-confirm>span{min-width:0;font-size:10px;line-height:1.3}.kv-arena .board-surface .kv-board-confirm .ui-button{white-space:nowrap;height:32px;min-height:32px;padding:4px 8px;font-size:11px}.kv-arena .board-surface .kv-backgammon-board{width:min(100%, calc((var(--arena-board-room) - 74px) * 1.6 + 2px))}.kv-arena .board-surface .kv-backgammon-score{align-items:center;height:32px;padding:4px 8px;font-size:11px;line-height:1.4}.kv-arena .board-surface .kv-backgammon-table{border-width:5px}.kv-arena .board-surface .kv-backgammon-board .kv-board-confirm{white-space:nowrap;flex-wrap:nowrap;gap:4px;height:40px;padding:4px;font-size:11px;overflow:auto hidden}.kv-arena .board-surface .kv-backgammon-board .kv-board-confirm>span{flex-shrink:0}.kv-arena .board-surface .kv-point-number{font-size:8px;line-height:1.1}.kv-arena .board-surface .kv-checker{border-width:1px;font-size:9px;line-height:1}.kv-arena .board-surface .kv-ludo-board{width:min(100%, var(--arena-board-room))}.kv-arena .board-surface .kv-ludo-yard{border-width:5px;padding:12px 6px 4px}.kv-arena .board-surface .kv-ludo-yard>strong{font-size:8px;line-height:1;position:absolute;top:3px;left:6px}.kv-arena .board-surface .kv-ludo-yard>div{grid-template-rows:repeat(2,minmax(0,1fr));height:100%}.kv-arena .board-surface .kv-ludo-yard .kv-horse{aspect-ratio:auto;height:100%}.kv-arena .board-surface .kv-horse{font-size:5.6cqw;line-height:1}.kv-arena .board-surface .kv-horse small{font-size:2.6cqw}.kv-arena .board-surface .kv-ludo-token{font-size:5cqw}.kv-arena .board-surface .kv-ludo-center{font-size:8cqw}.kv-arena .board-surface .kv-monopoly-wrap{width:min(100%, calc(var(--arena-board-room) - 32px))}.kv-arena .board-surface .kv-property-players{flex-wrap:nowrap;align-items:center;gap:8px;height:32px;padding:4px 8px;overflow:auto hidden}.kv-arena .board-surface .kv-property-players>div{flex-shrink:0;gap:4px;font-size:10px;line-height:1.4}.kv-arena .board-surface .kv-monopoly-center strong{font-size:7cqw}.kv-arena .board-surface .kv-monopoly-center>span{font-size:3cqw}.kv-arena .board-surface .kv-property-space strong{font-size:1.9cqw;line-height:1.05}.kv-arena .board-surface .kv-property-space>span{font-size:2.1cqw;line-height:1}.kv-arena .board-surface .kv-property-tokens .kv-seat-dot{width:2.8cqw;height:2.8cqw}.kv-arena .board-surface .kv-board-zoomed .kv-board-zoom-content{min-width:640px}.kv-arena .board-surface .kv-board-zoomed .board-frame,.kv-arena .board-surface .kv-board-zoomed .kv-special-board{width:100%;max-width:none}}.ia-dialog-header,.ia-section-heading{gap:var(--space-4);justify-content:space-between;align-items:center;display:flex}.ia-dialog-header h2{margin:0}.ui-dialog.ia-launcher{width:min(420px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));box-shadow:var(--glass-edge), -20px 0 64px oklch(0% 0 0/.3);border-block:0;border-right:0;border-radius:28px 0 0 28px;flex-direction:column;gap:16px;margin:0;inset:0 0 0 auto;overflow:hidden;transform:none}.ui-dialog.ia-launcher[open]{animation:game-selection-in var(--duration-normal) var(--ease-out);display:flex}.ia-launcher>.ia-dialog-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:0 0 16px 4px}.ia-launcher .ia-dialog-header h2{letter-spacing:-.025em;font-size:22px;font-weight:650}.ia-launcher>.text-link{border-top:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;min-height:44px;padding-top:8px;font-size:14px;display:flex}.game-selection-icon{width:40px;height:40px;color:oklch(.88 .1 var(--game-hue));background:oklch(.42 .09 var(--game-hue) / .55);box-shadow:var(--glass-edge);border-radius:50%;flex:0 0 40px;place-items:center;font-family:Georgia,Songti SC,serif;font-size:20px;font-weight:600;line-height:1;display:grid}.game-selection-icon.is-all{color:var(--text-secondary);background:var(--glass-hover)}.game-selector.ui-button{max-width:min(240px,45vw);min-height:44px;color:var(--text-primary);background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-pill);gap:8px;padding:0 14px;font-size:14px;font-weight:600}.game-selector:is(:hover,[aria-expanded=true]){background:var(--glass-hover);border-color:var(--border-hover)}.game-selector-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-selector .game-selection-icon{flex-basis:22px;width:22px;height:22px;font-size:11px}.game-selector .game-selection-icon svg{width:14px;height:14px}.ia-launcher .game-search{flex:none;width:100%;max-width:none}.ia-launcher .game-search .ui-input{font-size:16px}.ia-launcher-results{overscroll-behavior:contain;flex-direction:column;flex:1;gap:4px;min-height:0;padding:6px;scroll-padding-block:6px;display:flex;overflow-y:auto}.ui-dialog.ia-launcher .ia-game-option{min-height:64px;color:var(--text-primary);text-align:left;white-space:normal;border-radius:var(--radius-md);flex-shrink:0;justify-content:flex-start;align-items:center;gap:12px;padding:10px;font-size:15px;font-weight:500;display:flex}.ui-dialog.ia-launcher .ia-game-option:active{transform:none}.ia-game-copy{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ia-game-check{color:var(--accent-warm)}.ia-launcher-results>:is(a,button):hover{background:var(--glass-hover)}.ia-launcher-results>button[aria-pressed=true]{background:var(--primary-soft);border-color:var(--border-hover);box-shadow:var(--glass-edge);font-weight:600}.ia-launcher-results small{color:var(--text-secondary);font-size:12px;font-weight:400;line-height:1.5}.ia-game-empty{color:var(--text-secondary);text-align:center;padding:32px 16px;font-size:14px;line-height:1.6}.ia-learn-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ia-learn-grid h3,.ia-learn-articles h3{margin:0}.ia-learn-grid p,.ia-learn-articles p{color:var(--muted-foreground)}.ia-learn-articles,.ia-resume{margin-block:var(--space-6)}.ia-section-heading{margin-bottom:var(--space-4);flex-wrap:wrap}.ia-card-actions,.ia-subnav{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.ia-card-actions a,.ia-subnav a{gap:var(--space-2);align-items:center;min-height:44px;display:inline-flex}.ia-subnav{margin-block:var(--space-4)}.ia-resume-list{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ia-resume-list>a{gap:var(--space-2);padding:var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.ia-resume-list small{color:var(--muted-foreground)}.ia-resume-list>a:hover{border-color:var(--primary)}.ia-resume-action{gap:var(--space-2);color:var(--primary);align-items:center;display:inline-flex}.ia-game-context{margin-bottom:var(--space-6)}@media (width<=1100px){.ia-learn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.ia-learn-grid,.ia-resume-list{grid-template-columns:minmax(0,1fr)}.ia-section-heading .game-search{width:100%;max-width:none}}@media (width<=479px){.ui-dialog.ia-launcher{border-left:0;border-radius:0}}@keyframes game-selection-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.ui-dialog.ia-launcher[open]{animation:none}}.history-table td:last-child .text-link{min-height:44px;margin-inline-end:var(--space-3)}.pb-shell{--pb-sidebar:278px;background:var(--background);isolation:isolate;min-height:100svh;position:relative}.pb-shell:before{z-index:0;pointer-events:none;content:"";background:radial-gradient(ellipse 640px 560px at 8% 0%, var(--ambient-warm), transparent 75%), radial-gradient(ellipse 660px 700px at 100% 42%, var(--ambient-cool), transparent 78%), radial-gradient(ellipse 720px 440px at 50% 110%, var(--ambient-green), transparent 80%);position:fixed;inset:0}.pb-collapsed{--pb-sidebar:90px}.pb-body{z-index:1;min-width:0;min-height:100svh;margin-left:var(--pb-sidebar);transition:margin-left var(--duration-normal) var(--ease-out);outline:none;position:relative}.pb-sidebar{z-index:60;width:calc(var(--pb-sidebar) - 14px);-webkit-font-smoothing:antialiased;color:oklch(98% 0 0);-webkit-backdrop-filter:blur(32px)saturate(180%);backdrop-filter:blur(32px)saturate(180%);transition:width var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out), visibility var(--duration-normal);background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.12);border-radius:30px;flex-direction:column;gap:2px;padding:14px 10px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Be Vietnam Pro,system-ui,sans-serif;font-size:15px;display:flex;position:fixed;inset:14px auto 14px 14px;overflow:hidden;box-shadow:inset 0 1px oklch(100% 0 0/.16),0 20px 50px oklch(0% 0 0/.3)}.pb-brand-row{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:54px;margin:0;padding:5px 4px 17px;display:flex}.pb-brand{border-radius:var(--radius-sm);align-items:center;gap:10px;min-width:0;min-height:38px;padding:0;display:inline-flex}.pb-brand-mark{width:38px;height:38px;color:var(--primary-foreground);background:oklch(72% .17 60);border-radius:13px;flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.4)}.pb-brand-mark svg{width:20px;height:20px}.pb-brand-name{text-overflow:ellipsis;letter-spacing:-.02em;white-space:nowrap;min-width:0;font-size:17px;font-weight:700;line-height:1.5;overflow:hidden}.pb-brand-subtitle{text-overflow:ellipsis;color:oklch(100% 0 0/.55);letter-spacing:0;margin-top:0;font-size:12px;font-weight:400;display:block;overflow:hidden}.pb-collapse{color:oklch(100% 0 0/.6);border-radius:11px;flex-shrink:0;width:38px;height:38px;padding:0}.pb-collapse:hover{color:oklch(98% 0 0);background:oklch(100% 0 0/.1)}.pb-nav{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:auto}.pb-nav-item{color:oklch(100% 0 0/.6);border-radius:var(--radius-pill);height:42px;min-height:42px;transition:color var(--duration-fast), background var(--duration-fast);border:0;flex-shrink:0;align-items:center;gap:12px;padding:0 13px;font-size:15px;font-weight:500;display:flex}.pb-nav-item>svg{flex-shrink:0;width:19px;height:19px}.pb-nav-item:hover{color:oklch(98% 0 0);background:oklch(100% 0 0/.1)}.pb-nav-item.is-active{color:oklch(98% 0 0);background:oklch(100% 0 0/.12);font-weight:600;box-shadow:inset 0 1px oklch(100% 0 0/.14)}.pb-nav-item.is-active>svg{color:oklch(80% .16 65)}.pb-live-indicator{background:oklch(65% .22 25);border-radius:99px;flex:0 0 7px;width:7px;height:7px;margin-left:auto}.pb-nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pb-nav-games{border:0;flex-direction:column;gap:2px;margin:0;padding:0;display:flex}.pb-nav-caption{color:oklch(100% 0 0/.45);text-transform:none;letter-spacing:0;margin:0;padding:20px 13px 6px;font-size:12px;font-weight:600;display:block}.pb-nav-game{color:oklch(98% 0 0);padding:0 9px}.pb-game-glyph{width:26px;height:26px;color:oklch(.88 .1 var(--game-hue));background:oklch(.42 .09 var(--game-hue) / .55);box-shadow:var(--glass-edge);border-radius:50%;flex-shrink:0;place-items:center;font-family:Georgia,Songti SC,serif;font-size:12px;font-weight:700;display:grid}.pb-all-games{color:oklch(80% .16 65);align-items:center;gap:6px;min-height:0;padding:8px 13px;font-size:14px;display:flex}.pb-all-games:hover{color:var(--primary-hover)}.pb-sidebar-bottom{flex-direction:column;flex-shrink:0;gap:2px;margin-top:8px;padding:0;display:flex}.pb-sidebar-control{color:oklch(100% 0 0/.6);border-radius:var(--radius-pill);justify-content:flex-start;align-items:center;gap:12px;width:100%;height:44px;min-height:44px;padding:0 13px;font-size:15px;font-weight:400;display:flex}.pb-control-chevron{color:var(--text-muted);flex-shrink:0;margin-left:auto}.pb-user-area{min-width:0;margin-top:6px}.pb-user-trigger{width:100%;min-height:50px;color:var(--text-primary);text-align:left;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-pill);justify-content:flex-start;gap:10px;padding:6px}.pb-user-trigger .ui-avatar{color:#b5eacb;width:36px;height:36px;box-shadow:var(--glass-edge);background:#285043}.pb-user-trigger.is-guest .ui-avatar{color:var(--text-secondary);background:var(--glass-hover)}.pb-user-trigger:is(:hover,[data-popup-open]){background:var(--glass-hover)}.pb-user-language{text-align:center;background:var(--glass-raised);border-radius:var(--radius-pill);flex-shrink:0;min-width:38px;height:30px;padding:0 10px;font-size:12px;font-weight:600;line-height:30px}.pb-user-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pb-user-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.pb-user-copy>span{text-overflow:ellipsis;color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.pb-menu-toggle,.pb-drawer-close,.pb-mobile-brand,.pb-mobile-header,.pb-bottom-nav{display:none}.pb-skip-link{z-index:120;color:var(--primary-foreground);background:var(--primary);border-radius:var(--radius-pill);padding:12px 20px;position:fixed;top:8px;left:50%;transform:translate(-50%,-180%)}.pb-skip-link:focus{transform:translate(-50%)}@media (width>=1100px){.pb-collapsed .pb-brand{display:none}}@media (width>=768px){.pb-collapsed .pb-brand-row{justify-content:center}.pb-collapsed :is(.pb-brand-name,.pb-nav-label,.pb-nav-caption,.pb-control-chevron,.pb-user-copy,.pb-all-games,.pb-live-indicator){display:none}.pb-collapsed :is(.pb-nav-item,.pb-sidebar-control,.pb-user-trigger){justify-content:center;padding-inline:0}.pb-collapsed .pb-nav-games{border-top:1px solid oklch(100% 0 0/.1);margin-top:12px;padding-top:12px}}@media (width>=768px) and (width<=1099px){.pb-shell,.pb-shell.pb-collapsed{--pb-sidebar:90px}.pb-sidebar .pb-brand-row{justify-content:center}.pb-sidebar .pb-brand-name,.pb-sidebar .pb-nav-label,.pb-sidebar .pb-nav-caption,.pb-sidebar .pb-control-chevron,.pb-sidebar .pb-user-copy,.pb-sidebar .pb-collapse,.pb-sidebar .pb-all-games,.pb-sidebar .pb-live-indicator{display:none}.pb-sidebar .pb-nav-item,.pb-sidebar .pb-sidebar-control,.pb-sidebar .pb-user-trigger{justify-content:center;padding-inline:0}.pb-sidebar .pb-nav-games{border-top:1px solid oklch(100% 0 0/.1);margin-top:12px;padding-top:12px}}@media (width<=767px){.pb-shell,.pb-shell.pb-collapsed{--pb-sidebar:0px}.pb-body{margin-left:0;transition:none}.pb-shell:not(.pb-in-game) .pb-body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.pb-sidebar{z-index:80;visibility:hidden;width:min(320px,100vw - 32px);padding-top:max(14px, env(safe-area-inset-top));padding-bottom:max(14px, env(safe-area-inset-bottom));background:oklch(23% .015 260/.94);transform:translate(calc(-100% - 20px))}.pb-sidebar.is-open{visibility:visible;transition-property:width,transform;transform:translate(0)}.pb-sidebar .pb-collapse{display:none}.pb-sidebar :is(.pb-nav-item,.pb-all-games){min-height:44px}.pb-menu-toggle,.pb-drawer-close{display:inline-flex}.pb-menu-toggle{width:44px;height:44px;color:var(--text-primary);background:var(--glass);border-color:var(--border);order:2;padding:0}.pb-mobile-brand{letter-spacing:-.02em;flex:1;align-items:center;gap:10px;min-height:44px;font-size:17px;font-weight:700;display:inline-flex}.pb-mobile-header{min-height:52px;margin:max(12px, env(safe-area-inset-top)) 16px 0;color:var(--text-secondary);flex-shrink:0;align-items:center;gap:8px;display:flex}.pb-scrim{z-index:70;background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;position:fixed;inset:0}.pb-bottom-nav{right:max(12px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:60;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(36px)saturate(180%);backdrop-filter:blur(36px)saturate(180%);background:oklch(20% .01 260/.55);border:1px solid oklch(100% 0 0/.14);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;height:66px;padding:6px;display:grid;position:fixed;box-shadow:inset 0 1px oklch(100% 0 0/.18),0 16px 40px oklch(0% 0 0/.45)}.pb-bottom-nav a{color:oklch(100% 0 0/.6);border-radius:var(--radius-pill);min-width:0;min-height:0;transition:background var(--duration-fast), color var(--duration-fast);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.pb-bottom-nav a>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pb-bottom-nav [aria-current=page]{color:oklch(80% .16 65);box-shadow:none;background:oklch(100% 0 0/.12);font-weight:600}.pb-bottom-nav a:hover{background:var(--glass-hover)}}@media (prefers-reduced-motion:reduce){.pb-sidebar,.pb-body{transition:none}}.pb-utility-trigger{border-radius:var(--radius-pill);font-size:15px}.pb-utility-trigger:is(.is-active,[data-popup-open]){color:var(--text-primary);background:var(--glass-hover);box-shadow:var(--glass-edge)}.pb-utility-trigger.is-active>svg{color:var(--accent-warm)}.pb-sidebar-menu[data-slot=dropdown-menu-content]{width:280px;min-width:0;max-width:calc(100vw - 24px);color:var(--text-primary);background:var(--popover);border:1px solid var(--border);box-shadow:var(--glass-edge), 0 24px 60px oklch(0% 0 0/.5);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);border-radius:26px;flex-direction:column;gap:2px;padding:8px;display:flex}.pb-account-menu[data-slot=dropdown-menu-content]{width:300px}.pb-sidebar-menu :is([data-slot=dropdown-menu-group],[data-slot=dropdown-menu-radio-group]){flex-direction:column;gap:2px;display:flex}.pb-sidebar-menu :is([data-slot=dropdown-menu-item],[data-slot=dropdown-menu-radio-item]){min-height:46px;color:var(--text-primary);transition:background var(--duration-fast);border-radius:16px;flex-shrink:0;gap:14px;padding:8px 14px;font-size:15px;font-weight:400;line-height:1.35}.pb-sidebar-menu :is([data-slot=dropdown-menu-item],[data-slot=dropdown-menu-radio-item]):is(:hover,[data-highlighted],[aria-current=page]){color:var(--text-primary);background:var(--glass-hover)}.pb-sidebar-menu :is([data-slot=dropdown-menu-item],[data-slot=dropdown-menu-radio-item]):focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.pb-sidebar-menu [data-slot=dropdown-menu-item]>svg{width:19px;height:19px;color:var(--text-secondary)}.pb-sidebar-menu [aria-current=page]{font-weight:600}.pb-sidebar-menu [aria-current=page]>svg{color:var(--accent-warm)}.pb-sidebar-menu [data-slot=dropdown-menu-separator]{flex-shrink:0;margin:6px 8px}.pb-account-menu .pb-account-identity{align-items:center;gap:12px;padding:8px 8px 10px;display:flex}.pb-account-identity .ui-avatar{color:#b5eacb;width:46px;height:46px;box-shadow:var(--glass-edge);background:#285043;flex-shrink:0;font-size:17px}.pb-account-identity-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.pb-account-identity-copy strong{color:var(--text-primary);font-size:16px;font-weight:700}.pb-account-identity-copy :is(strong,span){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pb-account-identity-copy>span{color:var(--text-secondary);font-size:12px}.pb-account-menu .pb-account-welcome{flex-direction:column;gap:4px;padding:12px 10px 6px;line-height:1.45;display:flex}.pb-account-welcome strong{color:var(--text-primary);letter-spacing:-.01em;font-size:17px;font-weight:700}.pb-account-welcome>span{color:var(--text-secondary);text-wrap:pretty;font-size:13px}.pb-account-auth-actions{gap:8px;padding:8px 6px 6px;display:grid}.pb-account-menu :is(.pb-account-login,.pb-account-signup){border-radius:var(--radius-pill);justify-content:center;min-height:44px;font-weight:600}.pb-account-menu .pb-account-login{color:var(--primary-foreground);background:var(--primary);box-shadow:inset 0 1px oklch(100% 0 0/.4)}.pb-account-menu .pb-account-login:is(:hover,[data-highlighted]){color:var(--primary-foreground);background:var(--primary-hover)}.pb-account-menu .pb-account-signup{background:var(--glass);border:1px solid var(--border)}.pb-menu-value{text-overflow:ellipsis;min-width:0;color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-size:13px;overflow:hidden}.pb-account-menu .pb-account-language{gap:10px}.pb-account-menu .pb-account-language>svg:last-child{width:15px;height:15px;color:var(--text-muted)}.pb-account-menu .pb-account-back{min-height:44px;margin-bottom:4px;font-size:16px;font-weight:700}.pb-account-menu .pb-language-option{padding-right:44px}.pb-account-menu .pb-language-option[data-checked]{background:var(--glass-hover);font-weight:600}.pb-language-copy{flex-direction:column;gap:2px;display:flex}.pb-language-copy small{color:var(--text-secondary);font-size:12px;font-weight:400}.pb-language-option [data-slot=dropdown-menu-radio-item-indicator]{color:var(--accent-warm);right:14px}.pb-account-menu [data-variant=destructive],.pb-account-menu [data-variant=destructive]>svg{color:var(--danger)}.pb-account-menu [data-variant=destructive]:is(:hover,[data-highlighted]){color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.pb-account-menu [data-variant=destructive]:is(:hover,[data-highlighted]){background:color-mix(in oklch, var(--danger) 14%, transparent)}}@media (prefers-reduced-transparency:reduce){.pb-sidebar-menu[data-slot=dropdown-menu-content]{-webkit-backdrop-filter:none;backdrop-filter:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.pb-sidebar-menu[data-slot=dropdown-menu-content]{background:var(--surface)}}.page-container.pb-home{flex-direction:column;gap:44px;max-width:1240px;padding:54px 36px 32px;display:flex}.kv-lobby-hero{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;gap:40px;padding:2px 4px 8px;display:grid}.kv-hero-copy{flex-direction:column;gap:20px;min-width:0;display:flex}.kv-hero-badges{flex-wrap:wrap;gap:8px;display:flex}.kv-status-pill{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:8px;min-height:30px;padding:4px 13px;font-size:12px;font-weight:500;display:inline-flex}.pb-status-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.pb-status-dot.is-live{background:var(--success)}.kv-hero-copy h1{max-width:560px;font-size:var(--type-display);letter-spacing:-.045em;font-weight:700;line-height:1.06}.kv-heading-accent{color:var(--accent-warm)}.kv-hero-copy>p{max-width:450px;color:var(--text-secondary);text-wrap:pretty;font-size:17px;line-height:1.6}.kv-quick-match{background:var(--glass-raised);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;min-width:0;box-shadow:var(--glass-edge), 0 24px 60px #00000035;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);flex-direction:column;gap:18px;padding:22px;display:flex}.kv-quick-match h2{letter-spacing:-.015em;align-items:center;gap:10px;font-size:17px;font-weight:600;display:flex}.kv-quick-icon{width:32px;height:32px;color:var(--accent-warm);background:var(--primary-soft);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.kv-quick-field legend{color:var(--text-secondary);margin-bottom:8px;padding:0;font-size:13px}.kv-game-options{flex-wrap:wrap;gap:6px;display:flex}.kv-choice{cursor:pointer;min-width:0;display:flex;position:relative}.kv-choice input{z-index:1;cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.kv-choice>span{min-width:44px;min-height:44px;color:var(--text-primary);background:var(--control-fill);border:1px solid var(--border);border-radius:var(--radius-pill);transition:color var(--duration-fast), background var(--duration-fast);flex:1;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:500;display:flex}.kv-time-options{border-radius:var(--radius-pill);background:oklch(0% 0 0/.22);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;display:grid}.kv-time-options .kv-choice>span{font-variant-numeric:tabular-nums;background:0 0;border:0;padding-inline:4px;font-weight:600}.kv-choice:hover>span{background:var(--glass-hover)}.kv-choice input:checked+span{color:var(--control-selected-foreground);background:var(--control-selected);border-color:#0000;box-shadow:0 2px 8px #00000025}.kv-choice input:focus-visible+span{outline:2px solid var(--ring);outline-offset:3px}.kv-quick-actions{gap:8px;display:flex}.kv-quick-actions>.ui-button:first-child{box-shadow:inset 0 1px 0 #fff5, 0 6px 24px var(--primary);flex:1}@supports (color:color-mix(in lab, red, red)){.kv-quick-actions>.ui-button:first-child{box-shadow:inset 0 1px 0 #fff5, 0 6px 24px color-mix(in oklch, var(--primary) 20%, transparent)}}.kv-quick-actions>.ui-button-icon{width:50px;height:50px}.kv-quick-summary{color:var(--text-secondary);text-align:center;font-size:12px;line-height:1.5}.kv-home-section{flex-direction:column;gap:18px;min-width:0;scroll-margin-top:28px;display:flex}.kv-section-heading{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.kv-section-heading h2,.kv-catalogue-heading h2{letter-spacing:-.03em;font-size:26px;font-weight:700}.kv-section-heading p{color:var(--text-muted);font-size:14px}.pb-game-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px;display:grid}.pb-game-card{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-xl);min-width:0;box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-out), background var(--duration-normal), border-color var(--duration-normal);flex-direction:column;gap:14px;margin:0;padding:10px;display:flex}.pb-game-primary{border-radius:22px;flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.pb-game-info{flex-direction:column;gap:4px;padding:0 10px;display:flex}.pb-game-name{letter-spacing:-.025em;font-size:22px;font-weight:700;line-height:1.3}.pb-game-description{min-height:42px;color:var(--text-secondary);text-wrap:pretty;font-size:14px;line-height:1.5}.kv-card-actions{gap:8px;display:flex}.kv-card-actions .ui-button{flex:1;min-height:46px;padding:10px 8px;font-size:14px}.pb-game-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 8px;min-height:36px;padding:0 10px 2px;display:flex}.pb-game-status{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.pb-game-footer .text-link{min-height:44px;color:var(--accent-warm);gap:2px;font-size:12px;font-weight:500}.kv-game-art{--game-hue:70;--game-ink:oklch(.88 .1 var(--game-hue));--game-line:oklch(.85 .08 var(--game-hue) / .3);--board-rotation:0deg;aspect-ratio:16/10;background:oklch(.42 .09 var(--game-hue) / .55);width:100%;box-shadow:var(--glass-edge);border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;container-type:inline-size}.kv-mini-board{aspect-ratio:1;width:56%;color:var(--game-ink);box-shadow:0 0 0 1px var(--game-line), 0 18px 30px #00000040;transform:rotate(var(--board-rotation));background-color:oklch(0% 0 0/.12);border-radius:12px;position:relative}.kv-mini-grid{background-image:linear-gradient(var(--game-line) 1px, transparent 1px), linear-gradient(90deg, var(--game-line) 1px, transparent 1px);background-size:12.5% 12.5%}.kv-mini-checker{background-image:conic-gradient(#ffffff24 25%, #0000001f 0 50%, #ffffff24 0 75%, #0000001f 0);background-size:25% 25%}.kv-mini-star{background-image:radial-gradient(circle, var(--game-line) 2px, transparent 3px);background-size:16.66% 16.66%}.kv-mini-points{background-image:conic-gradient(from 165deg at 50% 48%, var(--game-line) 30deg, transparent 30deg), conic-gradient(from -15deg at 50% 52%, var(--game-line) 30deg, transparent 30deg);background-size:20% 100%}.kv-mini-property{background-image:linear-gradient(45deg, transparent 45%, var(--game-line) 45% 55%, transparent 55%);border:12px double var(--game-line)}.kv-mini-race{background-image:conic-gradient(var(--game-line) 25%, #ffffff0d 0 50%, var(--game-line) 0 75%, #ffffff0d 0);background-size:50% 50%}.kv-art-piece{width:26%;height:26%;color:var(--game-ink);background:oklch(.3 .055 var(--game-hue));transform:translate(-50%, -50%) rotate(calc(-1 * var(--board-rotation)));border:2px solid;border-radius:50%;place-items:center;font-family:Songti SC,Noto Serif CJK SC,Georgia,serif;font-size:clamp(12px,7cqi,26px);font-weight:700;line-height:1;display:grid;position:absolute;box-shadow:0 4px 8px #00000025}.kv-piece-light{color:#f3f0e8;background:#f3f0e8;border-color:#fff8}.kv-piece-dark{color:#111921;background:#111921;border-color:#e6e7dfaa}.kv-piece-red{color:#f4aba1;background:#663b3b}.kv-piece-glyph.kv-piece-light,.kv-piece-shogi.kv-piece-light{color:#f3f0e8;background:oklch(.3 .035 var(--game-hue))}.kv-piece-stone{border-width:1.5px;width:17%;height:17%;box-shadow:inset 0 2px 3px #ffffff12,0 3px 6px #00000040}.kv-piece-chess{text-shadow:0 4px 10px #00000030;width:34%;height:34%;box-shadow:none;background:0 0;border:0;border-radius:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,17cqi,64px);font-weight:400}.kv-piece-shogi{clip-path:polygon(50% 0,87% 18%,100% 100%,0 100%,13% 18%);border-radius:5px 5px 2px 2px;padding-top:3%}.kv-art-label{min-height:26px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-pill);background:#ffffff17;border:1px solid #ffffff24;align-items:center;padding:3px 10px;font-size:10px;font-weight:600;display:flex;position:absolute;top:12px;left:12px}.kv-catalogue-heading{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.kv-catalogue-heading h2{margin-right:auto}.game-search{flex:1;align-items:center;min-width:160px;max-width:320px;display:flex;position:relative}.game-search>svg{color:var(--text-muted);pointer-events:none;position:absolute;left:16px}.game-search .ui-input{border-radius:var(--radius-pill);min-height:44px;padding:10px 44px;font-size:15px}.game-search input::-webkit-search-cancel-button{appearance:none}@media (width>=768px),(hover:hover) and (pointer:fine){.kv-catalogue-heading .game-search{display:none}}.kv-search-clear{width:44px;height:44px;min-height:44px;position:absolute;top:0;right:0}.kv-catalogue-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.kv-catalogue-filters,.kv-view-switch{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-pill);gap:2px;width:fit-content;max-width:100%;padding:4px;display:flex}.kv-catalogue-filters{overflow-x:auto}.kv-catalogue-filters .ui-button{white-space:nowrap;flex-shrink:0;gap:6px;min-height:44px;padding:8px 14px;font-size:14px;font-weight:500}.kv-filter-count{font-variant-numeric:tabular-nums;opacity:.65;font-size:12px}.kv-catalogue-filters [aria-pressed=true],.kv-view-switch [aria-pressed=true]{color:var(--control-selected-foreground);background:var(--control-selected);box-shadow:0 2px 8px #00000025}.kv-view-switch{margin-left:auto}.kv-catalogue-grid{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:14px;display:grid}.kv-catalogue-card{background:var(--glass);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-out), background var(--duration-normal), border-color var(--duration-normal);border-radius:28px;flex-direction:column;gap:10px;padding:8px;display:flex}.kv-catalogue-art-link{border-radius:20px;min-width:0;display:block;position:relative}.kv-catalogue-card .kv-game-art{aspect-ratio:4/3;border-radius:20px}.kv-catalogue-card .kv-mini-board{border-radius:10px;width:54%}.kv-ai-indicator{background:#ffffff24;border:1px solid #ffffff2b;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:8px;right:8px}.kv-catalogue-info{flex:1;align-items:center;gap:8px;min-width:0;padding:0 4px 4px 8px;display:flex}.kv-catalogue-copy{flex:1;min-width:0}.kv-catalogue-copy h3{letter-spacing:-.015em;font-size:16px;font-weight:600;line-height:1.4}.kv-catalogue-copy p{text-overflow:ellipsis;color:var(--text-muted);white-space:nowrap;margin-top:3px;font-size:13px;line-height:1.5;overflow:hidden}.kv-catalogue-play{flex-shrink:0}.kv-catalogue-play:hover{color:var(--primary-foreground);background:var(--primary)}.kv-catalogue-empty{background:var(--glass);border:1px solid var(--border);border-radius:28px;padding:44px 24px}.kv-catalogue-grid.is-list{background:var(--glass);border:1px solid var(--border);border-radius:28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:6px}.kv-catalogue-grid.is-list .kv-catalogue-card{box-shadow:none;background:0 0;border-color:#0000;border-radius:20px;flex-direction:row;align-items:center}.kv-catalogue-grid.is-list .kv-catalogue-art-link{flex-shrink:0;width:56px}.kv-catalogue-grid.is-list .kv-game-art{aspect-ratio:1;border-radius:16px}.kv-catalogue-grid.is-list .kv-mini-board{border-radius:4px;width:72%}.kv-catalogue-grid.is-list .kv-art-piece{border-width:1px;font-size:10px}.kv-catalogue-grid.is-list .kv-piece-chess{font-size:22px}.kv-catalogue-grid.is-list .kv-ai-indicator{display:none}.kv-catalogue-grid.is-list .kv-catalogue-info{padding:0}.pb-home .ia-resume{margin:0}.pb-home .ia-resume .ia-section-heading{margin-bottom:14px}.pb-home .ia-resume h2{font-size:20px}.kv-home-footer{color:var(--text-muted);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:12px;font-size:12px;display:flex}.kv-home-footer nav{flex-wrap:wrap;gap:20px;display:flex}.kv-home-footer a{align-items:center;min-height:44px;display:inline-flex}.kv-home-footer a:hover{color:var(--accent-warm)}.game-overview{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.game-overview-art{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:auto;min-height:280px}.game-overview .ui-card{flex-direction:column;align-items:stretch;gap:16px;display:flex}.game-overview .ui-card>p{color:var(--text-secondary);margin-bottom:8px}@media (hover:hover){.pb-game-card:hover,.kv-catalogue-card:hover{background:var(--glass-raised);border-color:var(--border-hover);transform:translateY(-3px)}.kv-catalogue-grid.is-list .kv-catalogue-card:hover{transform:none}}@media (width<=1100px){.page-container.pb-home{padding:36px 24px 28px}.kv-lobby-hero{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:28px;padding-inline:0}}@media (width<=900px){.kv-lobby-hero{grid-template-columns:minmax(0,1fr)}.kv-hero-copy h1{max-width:620px;font-size:48px}.kv-quick-match{max-width:480px}.game-overview{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.page-container.pb-home{padding:28px max(16px, env(safe-area-inset-right)) 20px max(16px, env(safe-area-inset-left));gap:36px}.kv-lobby-hero{gap:28px;padding:0}.kv-hero-copy{gap:16px}.kv-hero-copy h1{max-width:540px;font-size:clamp(38px,9vw,48px);line-height:1.08}.kv-hero-copy>p{font-size:16px}.kv-quick-match{max-width:none;padding:20px}.kv-section-heading h2,.kv-catalogue-heading h2{font-size:24px}.kv-catalogue-heading{gap:14px}.kv-catalogue-heading .game-search{flex-basis:100%;max-width:none}.game-search .ui-input{font-size:16px}.kv-catalogue-grid.is-list{grid-template-columns:minmax(0,1fr)}.kv-home-footer{align-items:flex-start}}@media (width<=360px){.kv-quick-match{padding:16px}.kv-game-options{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.kv-choice>span{padding-inline:13px}.kv-game-options .kv-choice>span{padding-inline:5px;font-size:13px}.kv-catalogue-filters .ui-button{padding-inline:12px}}.page-container{max-width:1440px}.page-header p{line-height:1.6}.section-kicker{color:var(--accent-warm);font-size:12px;font-weight:600}.ui-button:active:not(:disabled){transform:scale(.98)}.ui-input:focus-visible{outline-offset:3px}select.ui-input{background-color:var(--surface)}.ui-empty h2{font-size:var(--type-heading-md)}.filter-bar,.tabs,.rules-game-nav{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-lg);gap:4px;width:fit-content;max-width:100%;padding:4px}.filter-bar .ui-button,.tabs .ui-button,.rules-game-nav a{border-radius:var(--radius-pill);background:0 0;border-color:#0000}.filter-bar .active,.tabs .active,.rules-game-nav a.active{color:var(--control-selected-foreground);background:var(--control-selected);border-color:#0000;box-shadow:0 2px 8px #00000025}.data-table th{background:var(--control-fill)}.data-table tbody tr:hover{background:var(--glass)}.ia-resume-list>a{background:var(--glass);box-shadow:var(--glass-edge);border-radius:20px}.ia-subnav{gap:8px}.ia-subnav a{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-pill);padding:8px 16px}.ia-subnav a:hover{color:var(--accent-warm);background:var(--glass-hover)}.game-picker{background:var(--popover)}.game-picker::backdrop{background:var(--scrim)}.picker-content{background:0 0}.picker-settings{background:var(--glass)}.picker-mode,.picker-mode-icon,.picker-close{background:var(--control-fill)}.picker-mode[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary)}.picker-preset[aria-pressed=true]{color:var(--control-selected-foreground);background:var(--control-selected);border-color:#0000}.picker-preset[aria-pressed=true]>span,.picker-preset[aria-pressed=true] strong{color:var(--control-selected-foreground)}.picker-start{border-radius:var(--radius-pill);box-shadow:var(--glass-edge)}.picker-mode[aria-pressed=true] .picker-mode-icon{color:var(--accent-warm);background:var(--primary-soft)}.picker-footer{background:var(--glass)}.picker-close{border-radius:50%}.picker-heading p{font-size:13px}.picker-eyebrow{letter-spacing:.07em}.picker-custom-time summary{min-height:44px}.kv-arena .board-frame{background:var(--surface)}.kv-arena .player-clock{background:var(--glass);border-radius:var(--radius-md)}.kv-arena .clock-active{color:var(--accent-warm);background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.kv-arena .clock-active{border-color:color-mix(in oklch, var(--primary) 50%, transparent)}}.kv-arena .match-card{background:var(--glass);border-radius:var(--radius-lg)}.kv-room-preview{background:var(--surface);border-radius:18px}.kv-personal-rank{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.kv-personal-rank{border-color:color-mix(in oklch, var(--primary) 35%, transparent)}}.kv-personal-rank{border-radius:20px}.kv-multiplayer-strips .player-strip,.kv-scoring,.kv-trade-summary{background:var(--glass);border-radius:var(--radius-md)}.kv-rule-warning{color:var(--warning);background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.kv-rule-warning{background:color-mix(in oklch, var(--warning) 10%, var(--surface))}}.kv-rule-warning{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.kv-rule-warning{border-color:color-mix(in oklch, var(--warning) 25%, transparent)}}.kv-rule-warning{border-radius:var(--radius-md)}.kv-win{color:var(--success)}.kv-loss{color:var(--danger)}.kv-replay-controls .ui-button{width:44px;height:44px;min-height:44px}[data-sonner-toaster]{--normal-bg:var(--popover);--normal-text:var(--text-primary);--normal-border:var(--border);font-family:var(--font-ui)}[data-sonner-toast]{border-radius:var(--radius-md);box-shadow:var(--shadow-popover)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.pb-sidebar,.pb-bottom-nav{background:var(--surface)}}@media (prefers-reduced-transparency:reduce){:root{--glass:#1b1e27;--glass-raised:#252832;--glass-hover:#30333d;--sidebar:#1c1f28;--popover:#242732;--control-fill:#292c35}.pb-shell:before{background:0 0}.pb-sidebar,.pb-bottom-nav,.kv-quick-match,.ui-dialog,.ui-dialog::backdrop,.pb-scrim,[data-slot=dropdown-menu-content]{-webkit-backdrop-filter:none;backdrop-filter:none}.pb-sidebar,.pb-bottom-nav{background:var(--surface)}}@media (prefers-contrast:more){:root{--text-secondary:#e3e3e9;--text-muted:#cacbd4;--border:#ffffff65;--border-hover:#ffffffa0}}@media (prefers-reduced-motion:reduce){.pb-game-card:hover,.kv-catalogue-card:hover,.ui-button:active:not(:disabled){transform:none}}html[data-reduced-motion=true] .pb-game-card:hover,html[data-reduced-motion=true] .kv-catalogue-card:hover,html[data-reduced-motion=true] .ui-button:active:not(:disabled){transform:none}@media (forced-colors:active){.kv-choice>span{border:1px solid buttontext}.kv-choice input:checked+span,.kv-catalogue-filters [aria-pressed=true],.kv-view-switch [aria-pressed=true]{color:highlighttext;forced-color-adjust:none;background:highlight}}.pb-xiangqi-shell:before{background:radial-gradient(780px 760px at 4% 0,oklch(52% .13 150/.24),#0000 76%),radial-gradient(650px 740px at 100% 26%,oklch(58% .13 65/.2),#0000 78%),radial-gradient(700px 440px at 45% 110%,oklch(46% .12 25/.15),#0000 80%)}.xq-detail-page{flex-direction:column;gap:32px;width:100%;max-width:1240px;margin:0 auto;padding:28px 36px 48px;display:flex}.xq-detail-page :where(fieldset,ul,ol,dl,dd){margin:0}.xq-detail-page fieldset{border:0;min-inline-size:0;padding:0}.xq-glass{background:var(--glass);border:1px solid var(--border);min-width:0;box-shadow:var(--glass-edge);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(170%);backdrop-filter:blur(var(--glass-blur)) saturate(170%);border-radius:30px}.xq-breadcrumb{justify-content:space-between;align-items:center;gap:12px;display:flex}.xq-back{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-pill);min-height:44px;box-shadow:var(--glass-edge);align-items:center;gap:4px;padding:0 16px 0 10px;font-size:14px;font-weight:500;display:inline-flex}.xq-back:hover{background:var(--glass-hover)}.xq-rules-link,.xq-text-link{min-height:44px;color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.xq-rules-link:hover,.xq-text-link:hover{color:var(--accent-warm)}.xq-hero{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:stretch;gap:28px;display:grid}.xq-preview{box-shadow:var(--glass-edge), 0 30px 60px #00000040;border-radius:36px;padding:10px}.xq-preview-surface{height:100%;min-height:380px;box-shadow:var(--glass-edge);background:oklch(42% .08 150/.5);border-radius:28px;justify-content:center;align-items:center;padding:30px;display:flex}.xq-preview-board{aspect-ratio:9/10;width:100%;position:relative;container-type:inline-size}.xq-preview-lines{stroke:oklch(92% .06 150/.45);stroke-width:1.25px;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.xq-preview-border{stroke:oklch(92% .06 150/.6);stroke-width:2px}.xq-preview-river{color:oklch(92% .06 150/.68);letter-spacing:.32em;justify-content:space-around;align-items:center;height:10%;font-family:Songti SC,Noto Serif SC,serif;font-size:clamp(14px,6cqw,26px);display:flex;position:absolute;inset:45% 0 auto}.xq-piece{--piece-ink:oklch(25% .01 250);--piece-ring:oklch(25% .01 250/.3);aspect-ratio:1;width:36px;color:var(--piece-ink);box-shadow:inset 0 0 0 1.5px var(--piece-ink), inset 0 0 0 3.5px oklch(95% .025 85), inset 0 0 0 4.5px var(--piece-ring), inset 0 -3px 0 #00000014, 0 4px 10px #00000045;background:oklch(95% .025 85);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Songti SC,Noto Serif SC,STSong,serif;font-size:18px;font-weight:700;line-height:1;display:inline-flex}.xq-piece-red{--piece-ink:oklch(55% .2 25);--piece-ring:oklch(55% .2 25/.35)}.xq-piece-random{--piece-ink:oklch(44% 0 0)}.xq-piece-covered,:where(.xq-covered-pair) .xq-piece{color:#deceb1;background:#465448;box-shadow:inset 0 0 0 1px #c9b991,inset 0 0 0 3px #465448,inset 0 0 0 4px #c9b99180,0 2px 5px #00000040}.xq-piece-covered.xq-piece-red,.xq-covered-pair .xq-piece-red{background:#67433c;box-shadow:inset 0 0 0 1px #c9b991,inset 0 0 0 3px #67433c,inset 0 0 0 4px #c9b99180,0 2px 5px #00000040}.xq-preview-piece{top:var(--piece-y);left:var(--piece-x);width:9.4%;font-size:clamp(12px,5.2cqw,26px);position:absolute;transform:translate(-50%,-50%)}.xq-hero-content{flex-direction:column;gap:22px;min-width:0;display:flex}.xq-introduction{flex-direction:column;gap:12px;padding:8px 4px 0;display:flex}.xq-game-badge{color:oklch(90% .1 150);letter-spacing:.08em;background:var(--glass-raised);border:1px solid var(--border);border-radius:var(--radius-pill);align-self:flex-start;align-items:center;min-height:28px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.xq-introduction h1{letter-spacing:-.045em;margin:0;font-size:clamp(44px,4.8vw,64px);line-height:1.05}.xq-introduction>p{max-width:460px;color:var(--text-secondary);text-wrap:pretty;font-size:17px;line-height:1.5}.xq-activity{flex-wrap:wrap;gap:8px;display:flex}.xq-activity-pill{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:8px;min-height:30px;padding:4px 12px;font-size:12px;display:inline-flex}.xq-status-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.xq-status-dot.is-live{background:var(--success)}.xq-setup{background:var(--glass-raised);box-shadow:var(--glass-edge), 0 24px 56px #00000030;border-radius:32px;padding:8px;scroll-margin-block:24px}.xq-setup .xq-mode-picker{border-radius:var(--radius-pill);background:#00000040;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;display:grid}.xq-mode,.xq-level{min-width:0;min-height:44px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-pill);transition:background var(--duration-fast), color var(--duration-fast);justify-content:center;align-items:center;gap:6px;padding:0 6px;font-size:14px;font-weight:600;display:flex;position:relative}.xq-mode:has(input:checked){color:var(--text-primary);box-shadow:var(--glass-edge), 0 2px 6px #00000040;background:oklch(100% 0 0/.18)}.xq-mode:hover,.xq-level:hover{color:var(--text-primary);background:var(--glass)}.xq-mode svg{flex-shrink:0}.xq-mode{white-space:nowrap}.xq-setup-body{flex-direction:column;gap:18px;padding:18px 12px 12px;display:flex}.xq-fieldset legend{width:100%;color:var(--text-secondary);margin-bottom:8px;font-size:13px}.xq-time-grid,.xq-side-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.xq-choice{cursor:pointer;background:var(--control-fill);border:1px solid var(--border);min-width:0;transition:background var(--duration-fast), color var(--duration-fast);justify-content:center;align-items:center;display:flex;position:relative}.xq-choice:hover{background:var(--glass-hover)}.xq-choice:has(input:checked){color:var(--control-selected-foreground);background:var(--control-selected);border-color:#0000;box-shadow:0 4px 14px #0003}.xq-time-choice{border-radius:20px;flex-direction:column;gap:1px;min-height:58px}.xq-time-choice strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:17px}.xq-time-choice>span{color:var(--text-secondary);font-size:11px}.xq-time-choice:has(input:checked)>span{color:#585960}.xq-time-help{color:var(--text-muted);margin-top:8px;font-size:11px}.xq-rated{cursor:pointer;background:var(--control-fill);border-radius:20px;align-items:center;gap:12px;padding:12px 14px;display:flex;position:relative}.xq-rated>span:first-child{flex:1;min-width:0}.xq-rated strong{font-size:15px;font-weight:500;display:block}.xq-rated>span:first-child>span{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.xq-switch-track{border-radius:var(--radius-pill);width:52px;height:30px;transition:background var(--duration-fast);background:oklch(100% 0 0/.16);flex-shrink:0;position:relative}.xq-switch-thumb{width:26px;height:26px;transition:transform var(--duration-normal) var(--ease-out);background:#fdfdfd;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0000004d}.xq-rated:has(input:checked) .xq-switch-track{background:#34c759}.xq-rated:has(input:checked) .xq-switch-thumb{transform:translate(22px)}.xq-cta{border-radius:var(--radius-pill);width:100%;min-height:52px;font-size:16px;font-weight:600;box-shadow:inset 0 1px oklch(100% 0 0/.4),0 8px 24px oklch(72% .17 60/.2)}.xq-setup-footer{justify-content:center;padding:0 12px 2px;display:flex}.xq-setup-footer a{min-height:44px;color:var(--text-secondary);border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:7px;font-size:12px;display:inline-flex}.xq-setup-footer a:hover{color:var(--text-primary)}.xq-level-legend strong{float:right;color:var(--text-primary);font-weight:600}.xq-levels{border-radius:var(--radius-pill);background:#00000040;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:3px;display:grid}.xq-level{font-variant-numeric:tabular-nums;font-size:15px}.xq-level:has(input:checked){color:var(--primary-foreground);background:var(--primary);box-shadow:var(--glass-edge)}.xq-side-choice{border-radius:var(--radius-pill);gap:8px;min-height:52px;padding:4px 6px;font-size:13px;font-weight:500}.xq-side-choice .xq-piece{width:24px;box-shadow:inset 0 0 0 1.5px var(--piece-ink);font-size:12px}.xq-setup-note{color:var(--text-secondary);text-align:center;font-size:12px;line-height:1.5}.xq-friend-heading{align-items:center;gap:12px;display:flex}.xq-friend-heading strong{font-size:15px}.xq-friend-heading p{color:var(--text-secondary);margin-top:4px;font-size:13px}.xq-friend-icon{width:44px;height:44px;color:var(--accent-warm);background:var(--primary-soft);border-radius:16px;flex-shrink:0;place-items:center;display:grid}.xq-private-time{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.xq-private-time select{min-width:0;min-height:44px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:0 12px;font-size:14px}.xq-join-section{flex-direction:column;gap:12px;padding:0 12px 12px;display:flex}.xq-divider{color:var(--text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.xq-divider:before,.xq-divider:after{content:"";background:var(--border);flex:1;height:1px}.xq-join-form{align-items:stretch;gap:8px;display:flex}.xq-join-form input{min-width:0;min-height:52px;color:var(--text-primary);background:var(--control-fill);border:1px solid var(--border);border-radius:var(--radius-pill);flex:1;padding:0 16px}.xq-join-form input::placeholder{color:var(--text-muted);font-size:13px}.xq-join-form button{min-height:52px;padding-inline:22px}.xq-error{color:var(--danger);font-size:13px}:is(.xq-mode:has(input:focus-visible),.xq-choice:has(input:focus-visible),.xq-level:has(input:focus-visible),.xq-rated:has(input:focus-visible)){outline:2px solid var(--ring);outline-offset:3px}.xq-detail-bottom{grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.xq-community{flex-direction:column;gap:16px;min-width:0;display:flex}.xq-tabs{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-pill);align-self:flex-start;gap:2px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.xq-tabs button{min-height:44px;color:var(--text-primary);white-space:nowrap;border-radius:var(--radius-pill);transition:background var(--duration-fast);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.xq-tabs button:hover{background:var(--glass-hover)}.xq-tabs button[aria-selected=true]{color:var(--control-selected-foreground);background:var(--control-selected);box-shadow:0 3px 8px #0003}.xq-tab-count{font-variant-numeric:tabular-nums;opacity:.68;font-size:12px}.xq-tab-panel{border-radius:30px;min-width:0}.xq-tab-panel[hidden]{display:none}.xq-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 24px;display:flex}.xq-empty-icon{width:54px;height:54px;color:var(--text-secondary);background:var(--glass);border-radius:20px;place-items:center;margin-bottom:6px;display:grid}.xq-empty h2{font-size:17px;font-weight:600}.xq-empty p{max-width:360px;color:var(--text-secondary);text-wrap:pretty;font-size:14px;line-height:1.6}.xq-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.xq-rooms{flex-direction:column;gap:2px;padding:6px;list-style:none;display:flex}.xq-room{border-radius:24px;align-items:center;gap:12px;min-width:0;padding:8px;display:flex}.xq-room:hover{background:var(--glass)}.xq-room-avatar{color:oklch(90% .08 150);background:oklch(44% .08 150/.7);border:0;flex-shrink:0;width:44px;height:44px}.xq-room-copy{flex:1;min-width:0}.xq-room-copy>div{align-items:center;gap:8px;display:flex}.xq-room-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.xq-room-copy :where(span,p){color:var(--text-secondary);font-size:12px}.xq-room-copy p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.xq-room-time{font-variant-numeric:tabular-nums;background:var(--glass);border-radius:var(--radius-pill);flex-shrink:0;align-items:center;min-height:30px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.xq-join-button,.xq-watch-button{min-height:44px;color:var(--control-selected-foreground);background:var(--control-selected);border-radius:var(--radius-pill);flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.xq-join-button:hover{background:var(--primary)}.xq-live-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;display:grid}.xq-live-card{border-radius:28px;flex-direction:column;gap:12px;padding:18px;display:flex}.xq-live-player{align-items:center;gap:10px;min-width:0;display:flex}.xq-live-player strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.xq-live-player>span:last-child{color:var(--text-secondary);font-size:13px}.xq-player-dot{background:#ecece8;border-radius:50%;flex-shrink:0;width:12px;height:12px}.xq-player-dot.is-red{background:#df635f}.xq-live-card footer{color:var(--text-secondary);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-top:10px;font-size:12px;display:flex}.xq-watch-button{color:var(--text-primary);background:var(--glass-hover);padding:0 14px;font-size:13px}.xq-watch-button:hover{background:var(--surface-hover)}.xq-rules{flex-direction:column;gap:14px;display:flex}.xq-rules-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:2px;padding:6px;display:grid}.xq-rule{border-radius:24px;align-items:flex-start;gap:12px;padding:12px;display:flex}.xq-rule:hover{background:var(--glass)}.xq-piece-pair{flex-shrink:0;display:flex}.xq-piece-pair .xq-piece{width:36px;height:36px;box-shadow:inset 0 0 0 2px var(--piece-ink);font-size:16px}.xq-piece-pair .xq-piece+.xq-piece{box-shadow:inset 0 0 0 2px var(--piece-ink), 0 0 0 2px var(--surface);margin-left:-10px}.xq-rule h3{font-size:15px}.xq-rule p{color:var(--text-secondary);text-wrap:pretty;font-size:13px;line-height:1.55}.xq-rules>p{color:var(--text-secondary);padding-inline:6px;font-size:14px;line-height:1.6}.xq-rules>a{align-self:flex-start;margin-left:6px}.xq-aside{flex-direction:column;gap:14px;min-width:0;display:flex}.xq-stats-card{flex-direction:column;gap:16px;padding:20px;display:flex}.xq-aside header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 8px;display:flex}.xq-aside h2{letter-spacing:-.015em;font-size:17px;font-weight:600;line-height:1.3}.xq-aside header a{min-height:44px;color:var(--text-secondary);align-items:center;font-size:12px;display:inline-flex}.xq-aside a:hover{color:var(--accent-warm)}.xq-rating>strong{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:44px;font-weight:700;line-height:1}.xq-rating p,.xq-caption{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.5}.xq-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.xq-stats-grid>div{background:var(--glass);border-radius:20px;flex-direction:column;gap:2px;padding:12px;display:flex}.xq-stats-grid dd{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.xq-stats-grid dt{color:var(--text-secondary);font-size:12px}.xq-stats-login{min-height:44px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.xq-ranking-card{padding:14px}.xq-ranking-card header{padding:0 6px 6px}.xq-ranking-note{color:var(--text-secondary);padding:4px 6px 8px;font-size:14px;line-height:1.6}.xq-ranking-label{color:var(--text-muted);padding:0 6px 8px;font-size:11px}.xq-ranking-list{padding:0;list-style:none}.xq-ranked-link{border-radius:16px;align-items:center;gap:10px;min-height:44px;padding:0 6px;display:flex}.xq-ranked-link:hover{color:var(--text-primary);background:var(--glass)}.xq-rank{background:var(--glass-hover);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.xq-rank[data-first=true]{color:var(--primary-foreground);background:var(--primary)}.xq-ranked-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.xq-ranked-points{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:14px}.xq-ranked-points small{font-size:11px}@media (width<=1200px){.xq-detail-page{padding-inline:28px}.xq-hero{gap:22px}.xq-preview-surface{padding:22px}.xq-tabs button{gap:6px;padding-inline:12px;font-size:13px}}@media (width<=959px){.xq-hero{grid-template-columns:1fr}.xq-preview-surface{min-height:0}.xq-preview-board{max-width:480px}.xq-detail-bottom{grid-template-columns:1fr}.xq-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.xq-introduction h1{font-size:52px}.xq-introduction>p{max-width:560px}}@media (width<=767px){.xq-detail-page{gap:24px;padding:6px 14px 32px}.xq-hero{gap:24px}.xq-preview{border-radius:30px;padding:8px}.xq-preview-surface{border-radius:23px;padding:16px}.xq-preview-board{max-width:410px}.xq-introduction{padding:0 4px}.xq-introduction h1{font-size:44px}.xq-introduction>p{font-size:16px}.xq-setup{border-radius:28px}.xq-mode{gap:5px;font-size:12px}.xq-setup-body{padding-inline:8px}.xq-side-choice{gap:5px;font-size:12px}.xq-side-choice .xq-piece{width:21px;font-size:11px}.xq-tabs{width:100%}.xq-tabs button{flex:1 0 auto;gap:5px;padding-inline:12px;font-size:12px}.xq-aside{grid-template-columns:1fr}.xq-empty{padding:30px 18px}.xq-room{gap:8px}.xq-room-avatar{width:36px;height:36px}.xq-room-copy strong{font-size:14px}.xq-room-time{padding-inline:8px;font-size:12px}.xq-join-button{min-width:44px;padding-inline:12px;font-size:13px}.xq-private-time{flex-direction:column;align-items:flex-start;gap:8px}.xq-private-time select{width:100%}.xq-private-time select,.xq-join-form input{font-size:16px}}@media (width<=360px){.xq-mode{gap:4px;padding-inline:3px;font-size:11px}.xq-mode svg{width:14px;height:14px}}@media (prefers-reduced-transparency:reduce){.xq-glass,.xq-tabs{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.xq-preview-surface{background:#284734}}@media (prefers-contrast:more){.xq-glass,.xq-choice,.xq-tabs{border-color:var(--text-secondary)}.xq-preview-lines{stroke:#cee8d1}}@media (forced-colors:active){.xq-tabs [aria-selected=true]{outline:2px solid highlight}.xq-mode:has(input:checked){outline:2px solid highlight}.xq-choice:has(input:checked){outline:2px solid highlight}.xq-level:has(input:checked){outline:2px solid highlight}.xq-switch-track{border:1px solid buttontext}.xq-switch-thumb{background:buttontext}.xq-piece{border:2px solid canvastext}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.xq-glass{background:var(--surface)}}.xq-local-setup{flex-direction:column;align-items:flex-start;gap:14px;padding-block:12px;display:flex}.xq-local-setup h2{font-size:19px;font-weight:600}.xq-local-setup p{color:var(--text-secondary);font-size:14px;line-height:1.6}.xq-local-setup>span:last-child{color:var(--text-muted);font-size:12px}.chess-detail-page{--background:oklch(13% .01 260);--foreground:oklch(98% 0 0);--text-primary:oklch(98% 0 0);--text-secondary:oklch(100% 0 0/.62);--text-muted:oklch(100% 0 0/.45);--primary:oklch(72% .17 60);--primary-hover:oklch(77% .16 65);--primary-foreground:oklch(18% .03 60);--accent-warm:oklch(80% .16 65);--border:oklch(100% 0 0/.12);--glass:oklch(100% 0 0/.07);--glass-hover:oklch(100% 0 0/.12);--glass-raised:oklch(100% 0 0/.1);--glass-edge:inset 0 1px 0 oklch(100% 0 0/.16);--glass-blur:32px;--control-fill:oklch(100% 0 0/.06);--control-selected:oklch(97% 0 0);--control-selected-foreground:oklch(18% .01 260);--chess-light:oklch(86% .045 85);--chess-dark:oklch(60% .075 60);--chess-white:oklch(98% .012 90);--chess-ink:oklch(22% .012 260);--chess-symbol-font:"Segoe UI Symbol", "Noto Sans Symbols 2", "Noto Sans Symbols", "DejaVu Sans", "Apple Symbols", serif;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Be Vietnam Pro,system-ui,sans-serif}.chess-detail-page .xq-game-badge{color:oklch(90% .1 75)}.chess-detail-page .xq-back{min-height:38px}.chess-detail-page .xq-hero{flex-wrap:wrap;display:flex}.chess-detail-page .chess-preview{flex:380px;max-width:580px}.chess-detail-page .xq-hero-content{flex:360px}.chess-detail-page .xq-introduction h1{font-size:64px;font-weight:700;line-height:1}.chess-detail-page .xq-mode{min-height:40px}.chess-detail-page .xq-cta{background:var(--primary);height:52px;min-height:52px;box-shadow:inset 0 1px oklch(100% 0 0/.4),0 8px 24px oklch(72% .17 60/.35)}.chess-detail-page .xq-cta:hover{background:var(--primary-hover)}.chess-detail-page .xq-detail-bottom{grid-template-columns:minmax(0,1fr) 280px}.chess-detail-page .xq-tabs [aria-selected=true] .xq-tab-count{color:inherit;background:0 0}.chess-preview-surface{background:oklch(62% .07 60/.28)}.chess-preview-board{aspect-ratio:1;border-radius:18px;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;overflow:hidden;box-shadow:0 12px 30px oklch(0% 0 0/.35);container-type:inline-size}.chess-detail-page .chess-preview-surface{background:oklch(62% .07 60/.28);min-height:0}.chess-detail-page .chess-preview-board{max-width:none}.chess-preview-square{min-width:0;min-height:0;color:var(--chess-light);background:var(--chess-dark);place-items:center;display:grid;position:relative}.chess-preview-square.is-light{color:var(--chess-dark);background:var(--chess-light)}.chess-preview-rank,.chess-preview-file{font-size:max(9px,1.9cqw);font-weight:700;line-height:1;position:absolute}.chess-preview-rank{top:.3cqw;left:.5cqw}.chess-preview-file{bottom:.3cqw;right:.6cqw}.chess-preview-piece{font-family:var(--chess-symbol-font);color:var(--chess-ink);-webkit-text-stroke:.2cqw var(--chess-ink);-webkit-user-select:none;user-select:none;filter:drop-shadow(0 .5cqw .6cqw oklch(0% 0 0/.4));font-size:9.4cqw;font-weight:400;line-height:1;position:relative}.chess-preview-piece.is-white{color:var(--chess-white);-webkit-text-stroke:0}.chess-preview-outline{color:var(--chess-ink);text-align:center;position:absolute;inset:0}.chess-detail-page .chess-piece-token{--piece-ink:var(--chess-ink);font-family:var(--chess-symbol-font);color:var(--chess-ink);background:var(--chess-light)}.chess-detail-page .chess-piece-token.is-black{--piece-ink:var(--chess-light);color:var(--chess-light);background:var(--chess-ink)}.chess-detail-page .xq-player-dot.is-white{background:var(--chess-white)}.chess-detail-page .xq-player-dot.is-black{background:var(--chess-ink);box-shadow:inset 0 0 0 1px oklch(100% 0 0/.45)}@media (width<=959px){.chess-detail-page .xq-detail-bottom{grid-template-columns:1fr}.chess-preview-board{max-width:520px}}@media (width<=767px){.chess-preview-board{border-radius:14px;max-width:410px}}@media (width<=719px){.chess-detail-page{padding:14px 14px 0}.chess-detail-page .chess-preview{flex-basis:100%;max-width:none}.chess-detail-page .chess-preview-surface{padding:16px}.chess-detail-page .xq-introduction h1{font-size:44px}}@media (forced-colors:active){.chess-preview-board{forced-color-adjust:none}}.pb-shell:has(.xq-game):before{background:radial-gradient(680px 600px at 12% 0,#24523b70,#0000 80%),radial-gradient(600px 720px at 100% 48%,#74502340,#0000 80%),radial-gradient(520px 460px at 0 100%,#682b2530,#0000 80%)}.xq-game{--xq-felt:#294633;--xq-line:#c5d5b880;--xq-ivory:#f4f0dc;--xq-red:#ae4036;width:100%;min-width:0;padding:18px 20px;position:relative}.xq-game-layout{grid-template:"board heading"44px"board opponent""board panel"minmax(320px,1fr)"board player"/minmax(0,1fr) minmax(320px,360px);gap:10px 20px;min-width:0;height:max(680px,100dvh - 36px);display:grid}:is(.xq-game-layout:fullscreen,.xq-game-layout.match-focus-mode){z-index:100;background:var(--background);width:100%;height:100dvh;padding:18px;position:fixed;inset:0;overflow:auto}.xq-arena-heading{grid-area:heading;align-items:center;gap:8px;min-width:0;padding-inline:6px;display:flex}.xq-arena-heading>div{flex:1;min-width:0}.xq-arena-heading h1{letter-spacing:-.025em;font-size:17px;font-weight:650}.xq-arena-heading :where(h1) span{color:var(--text-secondary);white-space:nowrap;font-size:15px;font-weight:500}.xq-arena-heading p{color:var(--text-muted);align-items:center;gap:6px;margin-top:3px;font-size:12px;display:flex}.xq-connection{color:#a2dcb8;white-space:nowrap;background:#377d4426;border:1px solid #85b68c25;border-radius:99px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:600;display:inline-flex}.xq-game-card,.xq-arena-opponent .player-strip{background:var(--glass);border:1px solid var(--border);min-width:0;box-shadow:var(--glass-edge);-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);border-radius:26px}.xq-arena-opponent{grid-area:opponent;min-width:0}.xq-arena-player{grid-area:player;min-width:0;padding:10px}.xq-game .player-strip{align-items:center;gap:10px;min-height:64px;padding:10px;display:flex}.xq-arena-player .player-strip{box-shadow:none;background:0 0;border:0;padding:0}.xq-game .player-avatar{color:#c9e5d2;background:#3f65524d;border:1px solid #b5d0b522;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:17px;font-weight:700;display:grid;position:relative;overflow:visible}:where(.xq-game) .player-avatar img{border-radius:50%}.xq-game .avatar-light{color:#203629;background:#8abd95}.xq-seat-badge{color:#29302d;background:var(--xq-ivory,#f4f0dc);border:1px solid;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:12px;line-height:1;display:grid;box-shadow:0 0 0 2px #252b2a}.xq-seat-w{color:#ae4036}.xq-game .player-avatar .xq-seat-badge{position:absolute;bottom:-3px;right:-4px}.xq-game .player-name{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}:where(.xq-game) .player-name>strong{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:5px;min-width:0;font-size:15px;font-weight:600;display:flex;overflow:hidden}.xq-game .player-rating{flex-shrink:0;margin:0;font-size:12px}:where(.xq-game) .player-name>span{text-overflow:ellipsis;min-width:0;color:var(--text-secondary);white-space:nowrap;font-size:12px;overflow:hidden}.xq-game .player-name .status-dot{display:none}.xq-game .player-clock{min-width:96px;min-height:48px;color:var(--text-primary);box-shadow:var(--glass-edge);background:#ffffff12;border:0;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;padding:6px 12px;display:flex}:where(.xq-game) .player-clock>svg,.xq-game .clock-caption:first-child{display:none}.xq-game .clock-readout{flex-direction:column;align-items:center;line-height:1.1;display:flex}.xq-game .clock-value{font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:25px;font-weight:650}.xq-game .clock-active{color:#202126;background:#f5f5f7}.xq-game .clock-warning{color:#fff6ef;background:#b33430;box-shadow:0 0 0 1px #f8796970,0 3px 18px #b3343040}.xq-game .clock-caption{color:inherit;margin-top:3px;font-size:10px}.xq-game .xq-player-captures{flex-wrap:wrap;align-items:center;gap:2px;display:flex;overflow:visible}.xq-capture-piece{width:16px;height:16px;display:inline-flex}.xq-capture-piece .xiangqi-piece{width:16px;height:16px;box-shadow:none;border-width:1px;font-size:10px}.xq-game-board{grid-area:board;justify-content:center;align-items:center;gap:12px;min-width:0;min-height:0;display:flex;container-type:size}.xq-board-rail{background:var(--glass);border:1px solid var(--border);box-shadow:var(--glass-edge);border-radius:99px;flex-direction:column;flex:0 0 54px;gap:3px;padding:4px;display:flex}.xq-board-rail .ui-button{width:44px;height:44px;color:var(--text-secondary);border-radius:50%;padding:0}.xq-game .board-surface{width:min(100cqw - 70px,90cqh - 59.4px);box-shadow:var(--glass-edge), 0 26px 65px #00000040;background:#ffffff12;border:1px solid #ffffff26;border-radius:32px;flex-shrink:0;padding:7px;position:relative}.xq-game .board-frame{background:var(--xq-felt);border:0;border-radius:26px;width:100%;max-width:none;margin:0;padding:8px 10px;box-shadow:inset 0 1px #ffffff18;container-type:inline-size}.xq-game .xiangqi-board{color:var(--xq-line);background:var(--xq-felt);background-image:none;border:0;border-radius:0;overflow:hidden}.xq-game .board-cell{outline-offset:-3px}.xq-game .grid-line:before,.xq-game .grid-line:after{background:var(--xq-line)}.xq-game .river-lines path{stroke:var(--xq-line);stroke-width:2px}.xq-game .river-lines rect{fill:var(--xq-felt);stroke:var(--xq-line);stroke-width:2px}.xq-game .river-lines text{letter-spacing:8px;fill:#c5d5b898;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:35px}.xq-game .xiangqi-piece{color:#303933;background:var(--xq-ivory);width:85%;height:85%;box-shadow:inset 0 0 0 2px var(--xq-ivory), inset 0 0 0 3px currentColor, 0 2px 5px #00000040;border:1px solid #8a947f;font-size:5.4cqw;font-weight:650;line-height:1;transition:transform .16s,box-shadow .16s}.xq-game .piece-w{color:var(--xq-red)}.xq-game .piece-hidden{color:#deceb1;background:#465448;border-color:#c9b991;font-size:4cqw;box-shadow:inset 0 0 0 3px #465448,inset 0 0 0 4px #c9b99180,0 2px 5px #00000040}.xq-game .piece-hidden.piece-w{background:#67433c;box-shadow:inset 0 0 0 3px #67433c,inset 0 0 0 4px #c9b99180,0 2px 5px #00000040}.xq-game .xq-capture-piece .xiangqi-piece{width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--xq-ivory);font-size:10px}.xq-game .selected-square .xiangqi-piece{box-shadow:inset 0 0 0 2px var(--xq-ivory), inset 0 0 0 3px currentColor, 0 0 0 3px var(--accent-warm), 0 6px 12px #0005;transform:scale(1.07)}.xq-game .xiangqi-board .last-square:after{border:2px solid var(--accent-warm);opacity:.75;border-radius:8px;inset:2%}.xq-game .xiangqi-board .selected-square:after{border:2px dashed var(--accent-warm);border-radius:50%;inset:0}.xq-game .check-square:after{background:#da473545;border-radius:50%}.xq-game .legal-marker{background:var(--accent-warm);width:24%;height:24%;box-shadow:0 0 0 3px #e4b06b40}.xq-game .capture-marker{border:2px dashed var(--accent-warm);inset:1%}.xq-file-coordinates{font-variant-numeric:tabular-nums;color:#c5d5b8a8;text-align:center;grid-template-columns:repeat(9,1fr);padding-block:3px;font-size:11px;line-height:1.1;display:grid}.xq-check-label{z-index:7;color:#fff;white-space:nowrap;pointer-events:none;background:#b72f2b;border-radius:99px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2;position:absolute;bottom:-5%;box-shadow:0 3px 9px #00000035}.xq-game .check-notice:not(:empty){letter-spacing:0;background:#b72f2b;border-radius:99px;padding:8px 18px;font-size:15px}.xq-desktop-panel{flex-direction:column;grid-area:panel;gap:5px;min-width:0;min-height:0;display:flex}.xq-arena-moves{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.xq-arena-moves .move-list{background:0 0;border:0;flex:1;height:auto;min-height:0;margin:0;padding:0 8px 8px;overflow:auto}.xq-moves-empty{height:100%;color:var(--text-muted);text-align:center;place-content:center;padding:4px;font-size:13px;line-height:1.4;display:grid}.xq-arena-moves .move-row{font-variant-numeric:tabular-nums;background:0 0;grid-template-columns:30px 1fr 1fr;align-items:center;gap:4px;min-height:38px;padding:0 4px;font-size:14px;display:grid}.xq-arena-moves .move-row>span:first-child{color:var(--text-muted);font-size:12px}.xq-arena-moves .move-columns{min-height:30px;color:var(--text-muted);background:0 0;position:static}.xq-arena-moves .move-seek{border-radius:10px;min-height:36px;padding:6px 8px}.xq-arena-moves .move-current{color:var(--text-primary);background:0 0}.xq-arena-moves .move-seek[aria-current=step]{color:var(--text-primary);background:var(--glass-hover);box-shadow:var(--glass-edge)}.xq-moves-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;display:flex}.xq-replay-bar{border:0;flex:1 0;justify-content:space-between;align-items:center;margin:0;padding:0 8px;display:flex}.xq-replay-bar>span{font-variant-numeric:tabular-nums;min-width:50px;color:var(--text-muted);text-align:center;font-size:12px}.xq-arena-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.xq-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:8px;display:flex}.xq-game-tabs{background:#0000002b;border-radius:99px;flex:1;gap:2px;margin:0;padding:3px;display:flex}.xq-game-tabs button{min-height:44px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:99px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.xq-game-tabs [aria-selected=true]{color:var(--text-primary);background:var(--glass-hover);box-shadow:var(--glass-edge)}.xq-tab-count{font-variant-numeric:tabular-nums;min-width:20px;color:var(--text-secondary);background:var(--glass);border-radius:99px;padding:1px 5px;font-size:11px}.xq-arena-panel>[role=tabpanel]{flex:1;min-height:0;overflow:hidden}.xq-arena-panel>[role=tabpanel][hidden]{display:none}.xq-chat-panel{flex-direction:column;display:flex}.xq-arena-panel .chat-empty{text-align:center;flex:1;place-content:center;justify-items:center;gap:12px;padding:24px;display:grid}.xq-turn-status{min-height:24px;color:var(--text-secondary);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:500;display:flex}.xq-turn-status button{min-height:32px;color:var(--accent-warm);background:var(--primary-soft);border:0;border-radius:99px;padding:4px 10px}.xq-desktop-actions{gap:6px;margin-top:8px;display:flex}.xq-desktop-actions .ui-button:not(.ui-button-icon){flex:1;min-width:0;min-height:42px;padding:8px 10px;font-size:13px}.xq-arena-rules{width:100%;min-height:44px;color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;font-size:13px;display:inline-flex}.xq-arena-result{border-bottom:1px solid var(--border);margin-bottom:8px;padding:4px 4px 12px}.xq-arena-result>div:first-child{align-items:center;gap:10px;display:flex}.xq-result-icon{width:40px;height:40px;color:var(--primary-foreground);background:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.xq-arena-result h2{font-size:19px;font-weight:650}.xq-arena-result p{color:var(--text-secondary);margin-top:2px;font-size:12px}.xq-result-rating{text-align:right;flex-direction:column;gap:3px;margin-left:auto;display:flex}.xq-result-rating strong{color:var(--accent-warm);font-size:18px}.xq-result-rating small{color:var(--text-muted);font-size:11px}.xq-result-buttons{gap:6px;margin-top:12px;display:flex}.xq-result-buttons .ui-button{flex:1;min-height:42px;padding:8px 10px;font-size:13px}.xq-mobile-back,.xq-mobile-options,.xq-mobile-time,.xq-game-ribbon,.xq-mobile-bar{display:none}.ui-dialog.xq-arena-sheet{border-radius:28px;flex-direction:column;gap:14px;width:min(440px,100vw - 24px);max-height:calc(100dvh - 40px);padding:18px;display:flex;overflow:auto}.xq-sheet-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.xq-sheet-heading h2{letter-spacing:-.02em;font-size:20px;font-weight:650}.game-result.xq-result-sheet{width:min(580px,100%);max-width:none;max-height:calc(100dvh - 28px);padding:30px 20px max(24px, env(safe-area-inset-bottom));border-radius:30px 30px 0 0;margin:0 auto;inset:auto 0 0;overflow:auto;transform:none}.xq-arena-sheet .xq-arena-panel{flex:1;min-height:0}.ui-dialog.xq-arena-slideover{width:min(420px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) 16px;box-shadow:var(--glass-edge), -20px 0 64px #00000040;border-block:0;border-right:0;border-radius:28px 0 0 28px;flex-direction:column;margin:0;display:flex;inset:0 0 0 auto;overflow:hidden;transform:none}.ui-dialog.xq-arena-slideover[open]{animation:xq-slideover-in var(--duration-normal) var(--ease-out)}.ui-dialog.xq-arena-slideover::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.xq-arena-slideover .xq-sheet-heading{border-bottom:1px solid var(--border);padding:0 4px 16px}.xq-settings-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:4px;min-height:0;padding:12px 4px 4px;display:flex;overflow-y:auto}.xq-settings-body>*{flex-shrink:0}.xq-arena-settings .setting-row{justify-content:space-between;gap:12px;min-height:52px;padding:10px 8px;display:flex}.xq-arena-settings .setting-row span{align-items:center;gap:10px;display:flex}.xq-setting-toggle{cursor:pointer;align-items:center}.xq-setting-toggle:has(input:checked) .xq-switch-track{background:#34c759}.xq-setting-toggle:has(input:checked) .xq-switch-thumb{transform:translate(22px)}.xq-setting-toggle:has(input:focus-visible){outline:2px solid var(--ring);outline-offset:2px;border-radius:12px}.xq-settings-body>.ui-button,.xq-setting-link{min-height:48px;color:var(--text-primary);border-radius:16px;justify-content:flex-start;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.xq-arena-settings .xq-danger-action{color:#ff9a91}.xq-arena-settings .difficulty-label{justify-content:space-between;align-items:center;gap:12px;padding:10px 8px;display:flex}.xq-arena-settings .difficulty-label select{max-width:180px;min-height:44px;font-size:16px}.xq-setting-link:hover{background:var(--glass-hover)}.xq-arena-panel .match-chat{background:0 0;flex-direction:column;height:100%;min-height:0;display:flex}.xq-arena-panel .chat-toolbar{flex-shrink:0;gap:6px;padding:8px 12px 0}.chat-toolbar .chat-room-label{flex-direction:column;flex:1;gap:3px;min-width:0;font-size:12px;font-weight:500;display:flex}.chat-room-label small{color:var(--text-muted);font-size:11px;font-weight:400}.xq-arena-panel .chat-toolbar .ui-button{min-width:44px;min-height:44px;padding:6px;font-size:11px}.chat-connection-status{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.xq-arena-panel .chat-connection-status>span{flex:1}.xq-arena-panel .chat-log{overscroll-behavior:contain;flex:1;height:auto;min-height:0;max-height:none;padding:12px}.xq-arena-panel .chat-welcome{min-height:100%;color:var(--text-muted);text-align:center;text-wrap:balance;place-content:center;margin:0;padding:20px;font-size:13px;line-height:1.4;display:grid}.xq-arena-panel .chat-message{background:var(--glass);border:0;border-radius:16px;width:fit-content;max-width:90%;margin-bottom:8px;padding:8px 12px}.xq-arena-panel .chat-message strong{flex-wrap:wrap;gap:5px;margin-bottom:3px;font-size:12px;display:flex}.xq-arena-panel .chat-mine strong{color:inherit}.xq-arena-panel .chat-message p{overflow-wrap:anywhere;font-size:14px}.xq-arena-panel .chat-mine{color:var(--primary-foreground);background:var(--primary);margin-left:auto}.xq-arena-panel .chat-quick{flex-wrap:nowrap;flex-shrink:0;padding:4px 8px;overflow-x:auto}.xq-arena-panel .chat-quick button{border-radius:99px;flex-shrink:0;min-height:44px;padding:4px 8px;font-size:11px}.xq-arena-panel .chat-compose{flex-shrink:0;padding:8px}.xq-arena-panel .chat-compose .ui-input{border-radius:99px;min-height:44px;font-size:14px}@keyframes xq-slideover-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=480px){.ui-dialog.xq-arena-slideover{border-left:0;border-radius:0}}@media (width<=1100px) and (width>=901px){.xq-game{padding:14px}.xq-game-layout{grid-template-columns:minmax(0,1fr) 310px;gap:10px 12px}.xq-board-rail{flex-basis:46px;padding:2px}.xq-board-rail .ui-button{width:40px}.xq-game .board-surface{width:min(100cqw - 58px,90cqh - 59.4px)}}@media (width<=900px){.xq-game{min-height:100dvh;padding:max(4px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) 0 max(6px, env(safe-area-inset-left))}.xq-game-layout{grid-template:"heading""ribbon""opponent""board""player""."1fr"bar"/minmax(0,1fr);gap:4px;width:100%;max-width:580px;height:auto;min-height:calc(100dvh - 4px);margin-inline:auto}.xq-arena-heading{gap:6px;min-height:58px;padding:0}.xq-arena-heading>div{text-align:center}.xq-arena-heading h1{font-size:17px}.xq-arena-heading :where(h1) span{display:none}.xq-arena-heading p{justify-content:center;font-size:11px}.xq-arena-heading .xq-mobile-time{display:inline}.xq-connection{padding:6px;font-size:10px}.xq-connection svg{display:none}.xq-mobile-back,.xq-mobile-options{background:var(--glass);border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:44px;height:44px;display:inline-flex}.xq-game-ribbon{grid-area:ribbon;align-items:center;gap:4px;min-width:0;min-height:44px;padding:0 6px;display:flex;position:relative;overflow:auto}.xq-game-ribbon button{min-height:44px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:99px;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-size:13px;display:flex}.xq-game-ribbon small{color:var(--text-muted);font-size:11px}.xq-game-ribbon [aria-current=step]{color:var(--text-primary);background:var(--glass-hover);box-shadow:var(--glass-edge)}.xq-game-ribbon p{color:var(--text-muted);padding-inline:6px;font-size:12px}.xq-arena-opponent .player-strip{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:8px 6px}.xq-game .player-strip{min-height:56px}.xq-game .player-avatar{flex-basis:36px;width:36px;height:36px;font-size:16px}:where(.xq-game) .player-name>strong{font-size:14px}:where(.xq-game) .player-name>span{font-size:11px}.xq-game .player-clock{border-radius:14px;min-width:84px;min-height:42px;padding-inline:12px}.xq-game .clock-value{font-size:23px}.xq-game-board{container-type:normal}.xq-game .board-surface{width:100%;box-shadow:none;border:0;border-radius:22px;padding:0}.xq-game .board-frame{border-radius:22px;padding:5px 4px}.xq-game .xq-file-coordinates{padding-block:3px;font-size:10px}.xq-arena-player{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:18px;padding:6px}.xq-arena-player .player-strip{padding:0}.xq-turn-status{margin-top:0;font-size:12px}.xq-board-rail,.xq-desktop-panel,.xq-desktop-actions{display:none}.xq-mobile-bar{z-index:10;min-height:66px;padding:5px 2px max(8px, env(safe-area-inset-bottom));border:1px solid var(--border);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#191e20e8;border-radius:24px 24px 0 0;grid-area:bar;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:4px -2px 0;display:grid;position:sticky;bottom:0}.xq-mobile-bar button,.xq-mobile-bar a{min-width:0;min-height:48px;color:var(--text-secondary);background:0 0;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 1px;font-size:11px;font-weight:500;line-height:1.2;display:flex}.xq-mobile-bar button:disabled{opacity:.35}.xq-mobile-bar button:hover:not(:disabled),.xq-mobile-bar a:hover{color:var(--text-primary);background:var(--glass-hover)}.xq-draw-symbol{height:23px;font-size:23px;font-weight:600;line-height:23px}.ui-dialog.xq-arena-sheet{width:100%;max-width:580px;height:min(720px,100dvh - 28px);max-height:calc(100dvh - 28px);padding:18px 16px max(22px, env(safe-area-inset-bottom));border-radius:30px 30px 0 0;margin:0 auto;inset:auto 0 0;transform:none}.xq-arena-sheet .move-seek,.xq-arena-sheet .xq-game-tabs button,.xq-arena-sheet .chat-quick button,.xq-arena-sheet .chat-toolbar .ui-button,.xq-turn-status :is(button,a){min-height:44px}.xq-arena-sheet .chat-compose .ui-input{font-size:16px}:is(.xq-game-layout:fullscreen,.xq-game-layout.match-focus-mode){max-width:none;margin:0;padding:6px}}@media (width<=360px){.xq-connection{display:none}.xq-arena-heading h1{font-size:16px}.xq-game .player-strip{gap:8px}.xq-game .player-clock{min-width:76px;padding-inline:10px}.xq-game .clock-value{font-size:22px}.xq-game .player-name .player-rating{font-size:10px}.xq-game .xq-capture-piece .xiangqi-piece{width:13px;height:13px;font-size:9px}.xq-capture-piece{width:13px;height:13px}}@media (height<=540px) and (orientation:landscape) and (width<=900px){.ui-dialog.xq-arena-sheet{padding-top:8px;padding-bottom:max(12px, env(safe-area-inset-bottom));gap:8px}.xq-arena-sheet .chat-quick{display:none}.xq-arena-sheet .chat-welcome,.xq-game{padding:8px}.xq-game-layout{grid-template:"board heading""board opponent""board player"minmax(0,1fr)"board bar"/minmax(0,1fr) minmax(250px,.9fr);gap:4px 12px;max-width:none;min-height:calc(100dvh - 16px)}.xq-game-ribbon{display:none}.xq-game-board{container-type:size}.xq-game .board-surface{width:min(100cqw,90dvh - 46.8px)}.xq-arena-heading{min-height:48px}.xq-mobile-bar{border-radius:20px;position:static}}@media (prefers-reduced-motion:reduce){.xq-game .xiangqi-piece{transition:none}}@media (prefers-reduced-transparency:reduce){.xq-game-card,.xq-arena-opponent .player-strip,.xq-board-rail,.xq-mobile-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#24282b}}@media (prefers-contrast:more){.xq-game{--xq-line:#dfebd4}.xq-game-card{border-color:#919790}}@media (forced-colors:active){.xq-game .board-frame{forced-color-adjust:none}.xq-game .board-cell:focus-visible{outline:3px solid #ffdb83}.xq-mobile-bar button:disabled{opacity:.5}}.xq-waiting-layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:32px;min-height:calc(100dvh - 36px);display:grid}.xq-waiting-board{opacity:.7;grid-area:auto}.xq-waiting .board-surface{width:min(100cqw,90cqh - 59.4px)}.xq-waiting-info{align-self:center;min-width:0}.xq-waiting-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 12px 16px;font-size:15px;font-weight:600;display:flex}.xq-waiting-heading>span:last-child{font-variant-numeric:tabular-nums;color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.xq-waiting .matchmaking{background:var(--glass-raised);border:1px solid var(--border);width:100%;box-shadow:var(--glass-edge), 0 22px 55px #00000030;-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);border-radius:30px;padding:28px 20px}.xq-waiting .matchmaking h1{letter-spacing:-.025em;font-size:24px;line-height:1.25}.xq-waiting .matchmaking p{font-size:13px;line-height:1.6}.xq-waiting .matchmaking-piece{width:56px;height:56px;color:var(--xq-red);background:var(--xq-ivory);box-shadow:inset 0 0 0 3px var(--xq-ivory), inset 0 0 0 4px currentColor;border:1px solid #8a947f;margin-bottom:20px;font-size:30px}.xq-waiting .matchmaking-summary{color:var(--text-secondary);margin-top:10px}.xq-waiting .matchmaking-spinner{margin-block:20px}.xq-waiting .matchmaking>.ui-button{background:var(--glass-hover);width:100%}.xq-waiting .ai-wait-choice{margin-top:20px}.xq-waiting .ai-wait-choice .ui-button{width:100%;margin-top:10px;font-size:13px}.xq-waiting-footnote{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;gap:8px;margin-top:18px;font-size:12px;display:flex}.xq-waiting .room-invitation label{max-width:none}.xq-waiting .room-invitation .ui-input{font-size:18px}@media (width<=900px){.xq-waiting-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"waiting";gap:0;max-width:560px;min-height:calc(100dvh - 8px);margin-inline:auto}.xq-waiting-board{opacity:.4;grid-area:waiting;align-self:start;margin-top:20px}.xq-waiting .board-surface{width:100%}.xq-waiting-info{z-index:1;padding:120px 4px max(14px, env(safe-area-inset-bottom));grid-area:waiting;align-self:end}.xq-waiting-heading{border:1px solid var(--border);background:#191e20eb;border-radius:18px;margin-inline:4px;padding:12px}.xq-waiting .matchmaking{background:#23292ae8;border-radius:30px;padding:22px 18px}.xq-waiting .matchmaking-piece{display:none}.xq-waiting .matchmaking h1{font-size:22px}.xq-waiting-footnote{padding-inline:14px}}@media (prefers-reduced-motion:reduce){.xq-waiting .matchmaking-spinner{animation:none}}@media (prefers-reduced-transparency:reduce){.xq-waiting .matchmaking{-webkit-backdrop-filter:none;backdrop-filter:none;background:#24282b}}.pb-records-shell .live-ambient i:first-child{background:oklch(55% .14 250/.3);top:-240px;left:20%}.pb-records-shell .live-ambient i:nth-child(2){background:oklch(58% .14 155/.3)}.pb-records-shell .live-ambient i:nth-child(3){background:oklch(62% .16 60/.24)}.kp-page{--text-primary:oklch(98% 0 0);--text-secondary:oklch(100% 0 0/.55);--glass:oklch(100% 0 0/.07);--glass-hover:oklch(100% 0 0/.12);--glass-edge:inset 0 1px 0 oklch(100% 0 0/.16);--border:oklch(100% 0 0/.12);--primary:oklch(72% .17 60);--primary-foreground:oklch(18% .03 60);--primary-soft:oklch(72% .17 60/.12);--accent-warm:oklch(85% .15 65);--control-selected:oklch(97% 0 0);--control-selected-foreground:oklch(18% .01 260);height:100%;min-height:0;color:var(--text-primary);flex-direction:column;gap:16px;padding:20px 20px 14px 18px;display:flex}.kp-page :where(h1,h2,p,ol,fieldset){margin:0}.kp-page .ui-button{border-radius:99px;flex-shrink:0;min-height:44px}.kp-page .ui-button:active:not(:disabled){transform:none}.kp-page :where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent-warm);outline-offset:3px}.kp-page :where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}.kp-header{flex-shrink:0;align-items:center;gap:12px;min-height:44px;display:flex}.kp-heading{flex:1;min-width:0}.kp-heading h1{letter-spacing:-.035em;font-size:30px;font-weight:700;line-height:1.1}.kp-heading p{color:var(--text-secondary);font-size:14px;line-height:1.5}.kp-page .kp-back{background:oklch(100% 0 0/.1);width:44px;height:44px;padding:0;display:none}.kp-page .kp-replay-back{display:inline-flex}.kp-layout{flex:1;gap:14px;min-height:0;display:flex}.kp-glass{background:var(--glass);border:1px solid var(--border);min-width:0;box-shadow:var(--glass-edge);-webkit-backdrop-filter:blur(28px)saturate(170%);backdrop-filter:blur(28px)saturate(170%);border-radius:26px}.kp-list{-webkit-backdrop-filter:blur(32px)saturate(170%);backdrop-filter:blur(32px)saturate(170%);border-radius:30px;outline:none;flex-direction:column;flex-shrink:0;width:360px;min-height:0;display:flex;overflow:hidden}.kp-list-tools{flex-direction:column;flex-shrink:0;gap:10px;padding:10px 10px 0;display:flex}.kp-segments{background:oklch(0% 0 0/.25);border:0;border-radius:99px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;min-inline-size:0;padding:3px;display:grid}.kp-segments .ui-button{color:oklch(100% 0 0/.6);border:0;min-width:0;height:34px;min-height:0;padding:0 5px;font-size:13px;font-weight:600}.kp-segments .ui-button[aria-pressed=true]{color:var(--text-primary);background:oklch(100% 0 0/.18);box-shadow:inset 0 1px oklch(100% 0 0/.2)}.kp-search{color:oklch(100% 0 0/.5);background:oklch(0% 0 0/.2);border:1px solid oklch(100% 0 0/.08);border-radius:99px;align-items:center;gap:8px;height:40px;padding:0 14px;display:flex}.kp-search:has(>input:focus-visible){outline:2px solid var(--accent-warm);outline-offset:3px}.kp-search>svg{flex-shrink:0}.kp-search .ui-input{min-width:0;height:38px;min-height:0;color:var(--text-primary);box-shadow:none;background:0 0;border:0;border-radius:99px;flex:1;padding:0;font-size:14px}.kp-search .ui-input::placeholder{color:oklch(100% 0 0/.45)}.kp-search .ui-input:focus-visible{outline:none}.kp-result-filters{border:0;gap:6px;min-inline-size:0;padding:0;display:flex;overflow-x:auto}.kp-result-filters .ui-button{border:1px solid var(--border);gap:6px;height:32px;min-height:0;padding:0 13px;font-size:13px;font-weight:500}.kp-result-filters :where(.ui-button) span{font-variant-numeric:tabular-nums;opacity:.6;font-size:11px}.kp-result-filters .ui-button[aria-pressed=true]{color:var(--control-selected-foreground);background:var(--control-selected);border-color:#0000}.kp-records{flex-direction:column;flex:1;gap:2px;min-height:0;padding:10px 6px 6px;display:flex;overflow:auto}.kp-record{border-radius:22px;flex-shrink:0;transition:background .16s}.kp-record:hover,.kp-record:focus-within{background:oklch(100% 0 0/.06)}.kp-record.is-selected{background:var(--glass-hover);box-shadow:inset 0 1px oklch(100% 0 0/.14)}.kp-record-select{width:100%;min-height:62px;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:22px;align-items:center;gap:12px;padding:10px;display:flex}.kp-record-badge{text-align:center;border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;padding:2px;font-size:12px;font-weight:700;line-height:1.4;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.15)}.kp-record-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.kp-record-copy>span{text-overflow:ellipsis;color:var(--text-secondary);white-space:nowrap;font-size:12px;overflow:hidden}.kp-record-copy .kp-record-title{align-items:baseline;gap:6px;display:flex}.kp-record-title strong{text-overflow:ellipsis;min-width:0;color:var(--text-primary);font-size:15px;font-weight:600;overflow:hidden}.kp-record-title>span{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.5);flex-shrink:0;font-size:12px}.kp-record-date{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.5);text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;max-width:74px;font-size:12px;display:flex}.kp-list-status{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 12px;font-size:14px;line-height:1.6;display:flex}.kp-list-status h2{color:var(--text-primary);font-size:16px}.kp-load-more{margin:10px}.kp-viewer-region{outline:none;flex:1;min-width:0;min-height:0}.kp-viewer{gap:14px;width:100%;min-width:0;height:100%;min-height:0;display:flex}.kp-board-column{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:0;display:flex;container-type:size}.kp-board-surface{flex-shrink:0;width:min(100cqw,100cqh - 84px)}.kp-river-viewer .kp-board-surface{width:min(100cqw,90cqh - 84.4px)}.kp-board-surface .board-frame{width:100%;max-width:none;margin:0}.kp-board-surface .board-cell{touch-action:pan-y;cursor:default}.kp-playback{border:1px solid var(--border);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);min-inline-size:0;background:oklch(100% 0 0/.08);border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;max-width:100%;height:52px;padding:5px;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.14)}.kp-playback .ui-button{color:oklch(100% 0 0/.8);border:0;width:42px;height:42px;min-height:0;padding:0}.kp-playback .ui-button:disabled{opacity:.4}.kp-playback .kp-play{width:52px;color:var(--primary-foreground);background:var(--primary);box-shadow:inset 0 1px oklch(100% 0 0/.4)}.kp-play svg{fill:currentColor;stroke-width:0;width:16px;height:16px}.kp-playback output{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.75);border-left:1px solid var(--border);justify-content:center;align-items:center;min-width:67px;height:22px;margin-left:4px;padding:0 6px 0 8px;font-size:13px;font-weight:600;display:flex}.kp-details{flex-direction:column;flex-shrink:0;gap:10px;width:320px;min-height:0;display:flex}.kp-meta{flex-direction:column;flex-shrink:0;gap:10px;padding:14px 16px;display:flex}.kp-meta-top{min-width:0;min-height:22px;color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.kp-meta-top>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kp-result-pill{border-radius:99px;flex-shrink:0;align-items:center;height:22px;padding:0 9px;font-size:11px;font-weight:700;display:flex}.kp-result-win{color:oklch(85% .14 150);background:oklch(72% .17 150/.22)}.kp-result-loss{color:oklch(80% .14 25);background:oklch(60% .22 25/.22)}.kp-result-draw,.kp-result-finished,.kp-result-cancelled{color:oklch(90% 0 0);background:var(--glass-hover)}.kp-result-active{color:var(--accent-warm);background:var(--primary-soft)}.kp-result-opening{color:oklch(90% .1 150);background:oklch(42% .09 150/.6);font-family:Songti SC,Noto Serif CJK SC,serif;font-size:22px}.kp-players{flex-direction:column;gap:6px;display:flex}.kp-player{align-items:center;gap:10px;min-width:0;display:flex}.kp-player strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.kp-player>span:last-child{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.5);font-size:13px}.kp-player strong a{color:inherit}.kp-player strong a:hover{text-decoration:underline}.kp-player .ai-badge{vertical-align:middle;min-height:0;margin-left:6px}.kp-player-dot{background:var(--accent-warm);border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.kp-side-w{background:oklch(62% .2 25)}.kp-side-b{background:oklch(95% 0 0)}.kp-meta p{color:oklch(100% 0 0/.6);font-size:13px;line-height:1.5}.kp-notes{background:oklch(100% 0 0/.05);border:1px solid oklch(100% 0 0/.08);border-radius:26px;flex-direction:column;flex-shrink:0;gap:6px;min-height:96px;max-height:36%;padding:14px 16px;display:flex;overflow:auto}.kp-notes-highlight{background:var(--primary-soft);border-color:oklch(72% .17 60/.3)}.kp-notes-heading{justify-content:space-between;align-items:center;gap:8px;min-height:18px;display:flex;position:relative}.kp-notes h2{color:var(--text-secondary);letter-spacing:.02em;font-size:12px;font-weight:700}.kp-notes-highlight h2{color:oklch(85% .14 70)}.kp-notes-heading .ui-button{height:26px;min-height:0;color:var(--text-primary);background:oklch(100% 0 0/.1);padding:0 10px;font-size:12px;font-weight:600}.kp-notes-heading .kp-note-edit{opacity:0;width:26px;padding:0;position:absolute;top:-4px;right:-4px}.kp-notes:hover .kp-note-edit,.kp-notes:focus-within .kp-note-edit{opacity:1}.kp-notes p{text-wrap:pretty;overflow-wrap:anywhere;font-size:14px;line-height:1.5}.kp-note-placeholder{color:var(--text-secondary)}.kp-personal-note{white-space:pre-wrap}.kp-notes form{flex-direction:column;gap:8px;padding-top:8px;display:flex}.kp-notes textarea{width:100%;min-height:84px;font:inherit;color:inherit;resize:vertical;border:1px solid var(--border);background:oklch(0% 0 0/.25);border-radius:12px;padding:10px;font-size:14px}.kp-notes form>div{justify-content:flex-end;gap:8px;display:flex}.kp-note-help{color:var(--text-secondary);font-size:12px;line-height:1.5}.kp-moves{background:oklch(100% 0 0/.06);border-color:oklch(100% 0 0/.1);flex-direction:column;flex:1;min-height:60px;display:flex;overflow:hidden;box-shadow:inset 0 1px oklch(100% 0 0/.12)}.kp-move-head,.kp-move-row{grid-template-columns:30px minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.kp-move-head{color:oklch(100% 0 0/.45);flex-shrink:0;padding:12px 16px 6px;font-size:12px}.kp-move-head>span{align-items:center;gap:6px;display:flex}.kp-move-head .kp-player-dot{width:8px;height:8px}.kp-moves-scroll{flex:1;min-height:0;padding:0 8px 8px;position:relative;overflow:auto}.kp-moves ol{padding:0;list-style:none}.kp-move-row{min-height:34px;padding-left:8px;font-size:14px}.kp-move-row>span:first-child{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.4);font-size:12px}.kp-move-row button{min-width:0;min-height:31px;font:inherit;color:oklch(100% 0 0/.45);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:5px;padding:5px 8px;font-size:14px;line-height:1.5;transition:background .16s,color .16s;display:flex}.kp-move-row button>span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.kp-move-row .is-played{color:var(--text-primary)}.kp-move-row button:hover{background:var(--glass-hover)}.kp-move-row button[aria-current=step]{color:var(--control-selected-foreground);background:var(--control-selected);font-weight:600}.kp-move-event>button,.kp-viewer:not(.kp-river-viewer) .kp-move-head>span:last-child{grid-column:2/-1}.kp-note-dot{background:var(--accent-warm);border-radius:50%;flex-shrink:0;width:5px;height:5px}.kp-viewer-actions{flex-shrink:0;grid-template-columns:1fr 1fr;gap:8px;display:grid}.kp-viewer-actions .ui-button,.kp-open-replay{white-space:nowrap;gap:8px;min-width:0;height:44px;padding:0 8px;font-size:14px;font-weight:600;line-height:1.5}.kp-viewer-actions .ui-button:first-child{color:var(--text-primary);border:1px solid var(--border);background:oklch(100% 0 0/.08)}.kp-viewer-actions .ui-button:last-child{color:var(--primary-foreground);background:var(--primary);box-shadow:inset 0 1px oklch(100% 0 0/.4)}.kp-viewer-actions .ui-button svg{width:15px;height:15px}.kp-open-replay{min-height:44px;color:var(--primary-foreground);background:var(--primary);border-radius:99px;justify-content:center;align-items:center;display:flex}.kp-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px;display:flex}.kp-viewer-empty{justify-content:center;align-items:center;height:100%;display:flex}.kp-empty-icon{width:88px;height:88px;color:var(--accent-warm);background:var(--primary-soft);border:1px solid var(--border);box-shadow:var(--glass-edge);border-radius:30px;place-items:center;margin-bottom:8px;display:grid}.kp-empty h2{letter-spacing:-.025em;font-size:24px;font-weight:600}.kp-empty p{max-width:350px;color:var(--text-secondary);font-size:15px;line-height:1.7}.kp-text-link{min-height:44px;color:var(--text-secondary);align-items:center;font-size:14px;display:inline-flex}.kp-text-link:hover{color:var(--accent-warm)}.kp-share-dialog{flex-direction:column;gap:16px;display:flex}.kp-share-dialog>button{align-self:flex-end}@media (width<=1279px){.kp-list{width:min(100%,560px);margin-inline:auto}.kp-viewer-region,.kp-viewing .kp-list{display:none}.kp-viewing .kp-viewer-region{display:block}.kp-viewing .kp-back{display:inline-flex}.kp-details{width:280px}.kp-playback{gap:2px}.kp-playback .ui-button{width:38px}.kp-playback .kp-play{width:46px}.kp-playback output{min-width:56px}}@media (width>=1280px) and (width<=1380px){.kp-playback{gap:1px;padding-inline:3px}.kp-playback .ui-button{width:29px}.kp-playback .kp-play{width:36px}.kp-playback output{min-width:48px;margin-left:0;padding-inline:4px;font-size:12px}}@media (width<=899px){.kp-page{padding:14px}.kp-heading h1{font-size:26px}.kp-heading p{display:none}.kp-viewer-region{overflow-y:auto}.kp-viewer{flex-direction:column;height:auto;min-height:100%}.kp-board-column{flex:none;container-type:normal}.kp-viewer .kp-board-surface,.kp-details{width:100%}.kp-notes{max-height:none}.kp-moves{flex:none;height:260px;min-height:240px}}@media (width<=719px){.kp-page{padding:14px 14px calc(92px + env(safe-area-inset-bottom))}.kp-header{gap:8px}.kp-heading h1{font-size:clamp(22px,6vw,26px)}.kp-replay-back{flex-basis:36px}}@media (width<=374px){.kp-playback{gap:1px;padding:4px}.kp-playback .ui-button{width:34px}.kp-playback .kp-play{width:40px}.kp-playback output{min-width:50px}.kp-result-filters .ui-button{padding-inline:10px}}@media (hover:none){.kp-notes-heading .kp-note-edit{opacity:1}.kp-move-row,.kp-move-row button{min-height:44px}}@media (prefers-reduced-motion:reduce){.kp-page *,.kp-page :before,.kp-page :after{scroll-behavior:auto;transition:none}}.friends-page.page-container{padding:22px 24px 48px}.friends-page .page-header{margin-bottom:22px}.friends-page .page-header-row{flex-direction:row;align-items:center;gap:16px}.friends-page .page-header h1{letter-spacing:-.035em;font-size:30px;font-weight:700}:where(.friends-page) .page-header p{margin-top:3px;font-size:13px}.friends-page .ui-button,.friends-dialog .ui-button{border-radius:var(--radius-pill)}.friends-add-button{gap:8px;padding-inline:18px;font-size:14px}.friends-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.friends-panel{background:var(--glass);border:1px solid var(--border);min-width:0;box-shadow:var(--glass-edge);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border-radius:28px;padding:16px 12px 12px}.friends-list{border-radius:30px;padding:0;overflow:hidden}.friends-aside{flex-direction:column;gap:20px;min-width:0;display:flex}.friends-panel-heading{align-items:center;gap:8px;min-height:30px;margin-bottom:10px;padding:0 6px;display:flex}.friends-panel-heading h2{letter-spacing:-.025em;flex:1;min-width:0;font-size:17px;font-weight:700}.friends-panel-heading>span{color:var(--text-secondary);font-size:12px}.friends-panel-heading>.ui-button{margin:-7px -5px -7px 0}.friends-panel-heading .friends-count{min-width:24px;height:24px;color:var(--accent-warm);background:var(--primary-soft);border-radius:var(--radius-pill);place-items:center;padding-inline:7px;font-size:12px;font-weight:700;display:grid}.friends-toolbar{flex-direction:column;gap:10px;padding:14px 14px 4px;display:flex}.friends-search{min-width:0;min-height:44px;color:var(--text-muted);background:var(--background);align-items:center;gap:9px;padding:0 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.friends-search{background:color-mix(in oklch, var(--background) 45%, transparent)}}.friends-search{border:1px solid var(--border);border-radius:var(--radius-pill);transition:border-color var(--duration-fast) ease}.friends-search:focus-within{outline:3px solid var(--primary-soft);border-color:var(--primary)}.friends-search>svg{flex-shrink:0}.friends-search input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;padding-block:11px;font-size:14px}.friends-search input::placeholder{color:var(--text-muted)}.friends-search input::-webkit-search-cancel-button{display:none}.friends-search .ui-button{flex-shrink:0;margin-right:-10px}.friends-filters{border:0;flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;display:flex}.friends-filters .ui-button{white-space:nowrap;border:1px solid var(--border);gap:6px;min-height:44px;padding:8px 12px;font-size:13px;font-weight:500}:where(.friends-filters) .ui-button>span{font-variant-numeric:tabular-nums;opacity:.7;font-size:11px}.friends-filters .ui-button[aria-pressed=true]{color:var(--control-selected-foreground);background:var(--control-selected);border-color:#0000}.friends-groups{padding:4px 8px 6px}.friends-group h2,.friends-recent>h3,.friends-dialog-section{color:var(--text-secondary);gap:8px;padding:15px 10px 7px;font-size:12px;font-weight:600;display:flex}.friends-group h2 span{font-variant-numeric:tabular-nums;color:var(--text-muted)}.friends-group ul,.friends-candidates,.friends-ranking{margin:0;padding:0;list-style:none}.friends-page .friend-row{min-height:70px;transition:background var(--duration-fast) ease;border:0;border-radius:20px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.friends-row:hover,.friends-candidate:hover{background:var(--control-fill)}.friends-avatar{border-radius:50%;flex-shrink:0;width:44px;height:44px;display:inline-flex;position:relative}.friends-avatar .ui-avatar{width:100%;height:100%;color:oklch(.2 .035 var(--friend-hue));background:oklch(.73 .105 var(--friend-hue));font-size:16px;font-weight:700;overflow:hidden}.friends-avatar:where([data-status=idle]) .ui-avatar{opacity:.65}.friends-presence{background:var(--text-muted);width:12px;height:12px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;position:absolute;bottom:-1px;right:-1px}[data-status=playing]>.friends-presence{background:var(--primary)}[data-status=online]>.friends-presence{background:var(--success)}[data-status=unknown]>.friends-presence{display:none}.friends-person-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.friends-row>.friends-person-copy{grid-area:auto}.friends-name{align-items:baseline;gap:8px;min-width:0;display:flex}.friends-name>a{text-overflow:ellipsis;white-space:nowrap;border-radius:4px;min-width:0;font-size:15px;overflow:hidden}.friends-name strong{font-weight:600}.friends-name>a:hover{color:var(--accent-warm)}.friends-rating{font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0;font-size:12px}.friends-person-copy p{text-overflow:ellipsis;min-width:0;color:var(--text-secondary);white-space:nowrap;font-size:12px;line-height:1.5;overflow:hidden}.friends-person-copy .friends-activity{gap:6px;display:flex}.friends-activity>span:first-child{flex-shrink:0}.friends-activity>span:last-child{text-overflow:ellipsis;overflow:hidden}.friends-activity[data-status=playing]>span:first-child{color:var(--accent-warm)}.friends-activity[data-status=online]>span:first-child{color:var(--success)}.friends-row-actions,.friends-request-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.friends-play-action{gap:6px;min-height:44px;padding-inline:13px;font-size:12px}.friends-icon-link{width:44px;height:44px;color:var(--text-secondary);background:var(--control-fill);transition:background var(--duration-fast) ease;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.friends-icon-link:hover{color:var(--text-primary);background:var(--glass-hover)}.friends-presence-note,.friends-panel-note{color:var(--text-muted);padding:8px 8px 2px;font-size:12px;line-height:1.55}.friends-presence-note{padding:8px 18px 16px}.friends-candidate{min-height:64px;transition:background var(--duration-fast) ease;border-radius:18px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 6px;display:grid}.friends-candidate .friends-avatar{width:40px;height:40px}.friends-connect{min-width:84px;min-height:44px;padding-inline:12px;font-size:12px}.friends-connect:disabled{opacity:.7}.friends-request[data-outgoing=true]{border-top:1px solid var(--border);border-radius:0;margin-top:4px}.friends-request .friends-name{flex-wrap:wrap;gap:0 6px}.friends-rank-tabs{background:var(--background);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;min-width:0;margin:0 6px 10px;padding:3px;display:grid}@supports (color:color-mix(in lab, red, red)){.friends-rank-tabs{background:color-mix(in oklch, var(--background) 50%, transparent)}}.friends-rank-tabs{border-radius:var(--radius-pill);border:0}.friends-rank-tabs .ui-button{min-height:44px;color:var(--text-secondary);padding:6px 12px;font-size:13px}.friends-rank-tabs .ui-button[aria-pressed=true]{color:var(--text-primary);background:var(--glass-hover);box-shadow:var(--glass-edge)}.friends-ranking>li{border-radius:16px;grid-template-columns:20px 32px minmax(0,1fr) auto 38px;align-items:center;gap:9px;min-height:48px;padding:6px 8px;display:grid}.friends-ranking .friends-avatar{width:32px;height:32px}.friends-ranking .ui-avatar{font-size:12px}.friends-ranking>li>a{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.friends-ranking>li>strong{font-variant-numeric:tabular-nums;text-align:right;font-size:14px;font-weight:600}.friends-rank-number,.friends-rank-delta{font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:center;font-size:12px;font-weight:600}.friends-rank-delta{text-align:right}.friends-rank-number[data-rank="1"]{color:var(--warning)}.friends-rank-number[data-rank="2"]{color:var(--text-primary)}.friends-rank-number[data-rank="3"]{color:var(--accent-warm)}.friends-rank-delta[data-direction="1"]{color:var(--success)}.friends-rank-delta[data-direction="-1"]{color:var(--danger)}.friends-ranking .is-me{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary);font-weight:700}@supports (color:color-mix(in lab, red, red)){.friends-ranking .is-me{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--primary) 35%, transparent)}}.friends-empty{text-align:center;flex-direction:column;align-items:center;padding:48px 24px 32px;display:flex}.friends-empty-icon{width:76px;height:76px;color:var(--accent-warm);background:var(--glass);border:1px solid var(--border);box-shadow:var(--glass-edge);border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.friends-empty h2{letter-spacing:-.025em;margin-bottom:8px;font-size:21px;font-weight:700}.friends-empty>p{max-width:380px;color:var(--text-secondary);text-wrap:pretty;font-size:14px;line-height:1.65}.friends-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.friends-empty-actions .ui-button{gap:8px;font-size:13px}.friends-recent{padding:0 10px 14px}.friends-recent>h3{border-top:1px solid var(--border);margin-inline:6px;padding-top:14px}.friends-recent .friends-candidate{padding-inline:10px}.friends-recent-empty{color:var(--text-secondary);padding:12px 16px 16px;font-size:13px}.friends-text-link{min-height:44px;color:var(--accent-warm);border-radius:8px;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.friends-panel-empty{color:var(--text-secondary);flex-direction:column;align-items:flex-start;gap:12px;padding:18px 8px;font-size:13px;display:flex}.friends-list-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.friends-list-empty>svg{color:var(--text-muted)}.friends-list-empty h2{font-size:18px}.friends-list-empty p{color:var(--text-secondary);font-size:14px}.friends-pagination{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.friends-room-context{color:var(--accent-warm);background:var(--primary-soft);border:1px solid var(--border);border-radius:20px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:14px 18px;font-size:14px;display:flex}.friends-room-context>span:first-of-type{flex:1;min-width:150px}.friends-room-context>:last-child{align-items:center;gap:6px;display:flex}.friends-dialog.ui-dialog{width:min(540px,100vw - 48px);max-width:none;max-height:min(680px,100dvh - 48px);color:var(--text-primary);background:var(--popover);border:1px solid var(--border-hover);box-shadow:var(--shadow-dialog);border-radius:28px;margin:auto;padding:0;overflow:hidden}.friends-dialog[open]{flex-direction:column;display:flex}.friends-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.friends-dialog-heading{flex-shrink:0;align-items:flex-start;gap:12px;padding:22px 18px 16px 22px;display:flex}.friends-dialog-heading>div{flex:1;min-width:0}.friends-dialog-heading h2{letter-spacing:-.025em;font-size:21px;font-weight:700}.friends-dialog-heading p{color:var(--text-secondary);margin-top:3px;font-size:13px}.friends-dialog-heading>.ui-button{flex-shrink:0}.friends-dialog-search{flex-shrink:0;padding:0 18px 12px}.friends-dialog-search input{font-size:15px}.friends-dialog-body{overscroll-behavior:contain;flex:1;min-height:0;padding:0 10px 16px;overflow-y:auto}.friends-share-card{background:var(--control-fill);border:1px solid var(--border);border-radius:20px;margin:2px 8px 6px}.friends-share-card>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.friends-share-card>div+div{border-top:1px solid var(--border)}.friends-share-card label{min-width:0;color:var(--text-secondary);flex-direction:column;gap:3px;font-size:12px;display:flex}.friends-share-card input{text-overflow:ellipsis;width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;padding:0;font-size:13px}.friends-share-card>div:first-child input{font-family:var(--font-code)}.friends-share-card .ui-button{gap:6px;font-size:12px}.friends-dialog .friends-candidate{padding-inline:8px}.friends-dialog-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:30px 24px;display:flex}.friends-dialog-empty>svg{color:var(--accent-warm)}.friends-dialog-empty h3{overflow-wrap:anywhere;max-width:100%;font-size:16px}.friends-dialog-empty p{max-width:340px;color:var(--text-secondary);font-size:13px;line-height:1.65}.friends-dialog-empty .ui-button{margin-top:8px;font-size:13px}@media (width<=1199px){.friends-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=719px){.friends-page.page-container{padding:16px 14px 24px}.friends-page .page-header h1{font-size:27px}.friends-layout,.friends-aside{gap:16px}.friends-filters .ui-button,.friends-rank-tabs .ui-button{min-height:44px}}@media (width<=599px){.friends-page .friend-row{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding-inline:6px}.friends-row .friends-avatar{width:38px;height:38px}.friends-row-actions{gap:2px}.friends-row-actions .friends-icon-link{display:none}.friends-play-action{width:44px;min-width:44px;padding:0}.friends-play-action>span{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.friends-activity>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;overflow:hidden}.friends-activity>span:not(:first-child){display:none}.friends-empty{padding:36px 18px 28px}.friends-empty-actions .ui-button{padding-inline:14px}.friends-dialog.ui-dialog{width:100%;max-height:min(88dvh,720px);padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:28px 28px 0 0;margin-top:auto;margin-bottom:0}.friends-share-card>div{gap:8px}.friends-search input{font-size:16px}}@media (prefers-reduced-motion:reduce){.friends-page *,.friends-dialog *{transition:none}}.pb-shell.pb-live-shell{--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Be Vietnam Pro", system-ui, sans-serif;-webkit-font-smoothing:antialiased;color:oklch(98% 0 0);background:oklch(13% .01 260);height:100dvh;min-height:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Be Vietnam Pro,system-ui,sans-serif;font-size:15px;overflow:hidden}.pb-live-shell:before{display:none}.pb-shell.pb-live-shell .pb-body{height:100%;min-height:0;margin-left:var(--pb-sidebar);padding:0}.live-ambient{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.live-ambient i{filter:blur(120px);border-radius:50%;position:absolute}.live-ambient i:first-child{background:oklch(55% .18 25/.26);width:640px;height:640px;top:-260px;left:24%}.live-ambient i:nth-child(2){background:oklch(55% .14 250/.3);width:560px;height:560px;bottom:-160px;right:-140px}.live-ambient i:nth-child(3){background:oklch(62% .16 60/.22);width:480px;height:480px;bottom:10%;left:-160px}@media (width<=767px){.pb-shell.pb-live-shell .pb-body{flex-direction:column;display:flex}.pb-live-shell .pb-body>main{flex:1;height:auto;min-height:0}.pb-live-shell:not(.pb-in-game) .pb-body>main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.pb-shell.pb-live-shell.pb-in-game{height:auto;min-height:100svh;overflow:visible}}.live-board-column{flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;container-type:size}.live-board-stack{flex-direction:column;gap:10px;width:min(100cqw,90cqh - 136.8px);max-width:100%;display:flex}.live-player{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.12);border-radius:99px;flex-shrink:0;align-items:center;gap:10px;height:56px;padding:6px 6px 6px 8px;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.14)}.live-player-avatar,.live-player-avatar .ui-avatar{width:40px;height:40px;color:oklch(.16 .03 var(--player-hue));background:oklch(.55 .13 var(--player-hue));border:0;border-radius:99px;flex:0 0 40px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.live-player-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.live-player-name{align-items:center;gap:6px;min-width:0;display:flex}.live-player-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.live-player-name>span{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.5);flex-shrink:0;font-size:12px}.live-player-status{color:oklch(100% 0 0/.55);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex;overflow:hidden}.live-clock{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.7);letter-spacing:-.01em;background:oklch(0% 0 0/.25);border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;min-width:86px;height:44px;padding:0 16px;font-size:19px;font-weight:700;display:flex}.live-clock.is-active{color:oklch(18% .03 60);background:oklch(72% .17 60);box-shadow:inset 0 1px oklch(100% 0 0/.4),0 0 24px oklch(72% .17 60/.35)}.live-board-frame{-webkit-backdrop-filter:blur(32px)saturate(170%);backdrop-filter:blur(32px)saturate(170%);background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.12);border-radius:32px;width:100%;padding:7px;position:relative;box-shadow:inset 0 1px oklch(100% 0 0/.16),0 30px 60px oklch(0% 0 0/.3)}.live-board-felt{background:oklch(42% .08 150/.55);border-radius:26px;flex-direction:column;gap:3px;padding:8px 11px;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.14)}.live-board-files{font-variant-numeric:tabular-nums;color:oklch(92% .06 150/.6);text-align:center;grid-template-columns:repeat(9,1fr);font-size:11px;line-height:1.2;display:grid}.live-river-board{aspect-ratio:9/10;width:100%;position:relative;container-type:inline-size}.live-board-grid{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.live-board-grid rect{stroke:oklch(92% .06 150/.55)}.live-board-grid line{stroke:oklch(92% .06 150/.45)}.live-board-river{color:oklch(92% .06 150/.55);letter-spacing:.3em;white-space:nowrap;pointer-events:none;justify-content:space-around;align-items:center;height:10%;font-size:4.2cqw;display:flex;position:absolute;top:45%;left:0;right:0}.live-piece{aspect-ratio:1;justify-content:center;align-items:center;width:9.4%;transition:left .3s,top .3s;display:flex;position:absolute;transform:translate(-50%,-50%)}.live-piece .xiangqi-piece{color:oklch(25% .01 250);width:100%;height:100%;text-shadow:none;background:oklch(95% .025 85);border:0;border-radius:99px;justify-content:center;align-items:center;font-family:Noto Serif SC,Songti SC,serif;font-size:5.4cqw;font-weight:700;line-height:1;display:flex;box-shadow:inset 0 0 0 2px,inset 0 0 0 4px oklch(95% .025 85),inset 0 0 0 5px oklch(25% .01 250/.3),inset 0 -3px oklch(0% 0 0/.08),0 3px 8px oklch(0% 0 0/.35)}.live-piece .piece-w{color:oklch(55% .2 25);box-shadow:inset 0 0 0 2px,inset 0 0 0 4px oklch(95% .025 85),inset 0 0 0 5px oklch(55% .2 25/.35),inset 0 -3px oklch(0% 0 0/.08),0 3px 8px oklch(0% 0 0/.35)}.live-last-square{aspect-ratio:1;pointer-events:none;background:linear-gradient(oklch(85% .15 65),oklch(85% .15 65)) 0 0/28% 3px no-repeat,linear-gradient(oklch(85% .15 65),oklch(85% .15 65)) 0 0/3px 28% no-repeat,linear-gradient(oklch(85% .15 65),oklch(85% .15 65)) 100% 0/28% 3px no-repeat,linear-gradient(oklch(85% .15 65),oklch(85% .15 65)) 100% 0/3px 28% no-repeat,linear-gradient(oklch(85% .15 65),oklch(85% .15 65)) 0 100%/28% 3px no-repeat,linear-gradient(oklch(85% .15 65),oklch(85% .15 65)) 0 100%/3px 28% no-repeat,linear-gradient(oklch(85% .15 65),oklch(85% .15 65)) 100% 100%/28% 3px no-repeat,linear-gradient(oklch(85% .15 65),oklch(85% .15 65)) 100% 100%/3px 28% no-repeat;width:10.4%;position:absolute;transform:translate(-50%,-50%)}.live-review-return{color:oklch(98% 0 0);white-space:nowrap;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:oklch(18% .01 260/.78);border:1px solid oklch(100% 0 0/.18);border-radius:99px;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:13px;font-weight:600;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px oklch(0% 0 0/.35)}.live-review-return span{color:oklch(80% .16 65)}.live-other-board .board-zoom,.live-other-board .board-frame{max-width:100%}@media (width>=900px) and (width<=1099px){.live-player-avatar,.live-player-avatar .ui-avatar{flex-basis:34px;width:34px;height:34px}.live-clock{min-width:70px;padding-inline:10px}}@media (width<=899px){.live-board-column{flex:none;container-type:normal}.live-board-stack{width:100%}}.pb-shell:has(.live-page) .pb-body{height:100%;min-height:0;margin-left:var(--pb-sidebar);padding:0;display:block}.pb-shell:has(.live-page) .pb-body>.live-page{flex:initial;height:100%;padding-bottom:14px}.pb-shell:has(.live-page) .pb-mobile-header{display:none}@media (width<=767px){.pb-shell:has(.live-page) .pb-body>.live-page{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}.live-page{z-index:1;flex-direction:column;gap:16px;width:100%;min-width:0;height:100%;min-height:0;padding:20px 20px 14px 18px;display:flex;position:relative}.live-page :is(h1,h2,p){margin:0}.live-page button{cursor:pointer;flex-shrink:0;font-family:inherit;transition:background .15s,color .15s,opacity .15s}.live-page button:disabled{cursor:default;opacity:.4}.live-page :is(button,input):focus-visible{outline-offset:3px;outline:2px solid oklch(80% .16 65)}.live-search:has(>input:focus-visible){outline-offset:3px;outline:2px solid oklch(80% .16 65)}.live-chat-form>div:has(>input:focus-visible){outline-offset:3px;outline:2px solid oklch(80% .16 65)}.live-page :is(.live-search,.live-chat-form) input:focus-visible{outline:none}.live-page input{font-family:inherit}.live-page input::placeholder{color:oklch(100% 0 0/.45);opacity:1}.live-page [hidden]{display:none}.live-page-header{flex-shrink:0;align-items:center;gap:12px;min-height:44px;display:flex}.live-heading{flex:1;min-width:0}.live-heading h1{letter-spacing:-.035em;text-wrap:wrap;font-size:30px;font-weight:700;line-height:1.1}.live-heading p{color:oklch(100% 0 0/.55);font-size:14px}.live-game-picker{color:oklch(98% 0 0);background:oklch(100% 0 0/.08);border:1px solid oklch(100% 0 0/.12);border-radius:99px;align-items:center;gap:8px;height:40px;padding:0 14px 0 16px;font-size:14px;font-weight:600;display:flex}.live-game-picker>span{color:oklch(88% .1 150);background:oklch(42% .09 150/.7);border-radius:99px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.live-back{color:oklch(98% 0 0);background:oklch(100% 0 0/.1);border:0;border-radius:99px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:none}.live-page-content{flex:1;gap:14px;min-height:0;display:flex}.live-game-list{-webkit-backdrop-filter:blur(32px)saturate(170%);backdrop-filter:blur(32px)saturate(170%);background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.12);border-radius:30px;flex-direction:column;flex-shrink:0;width:360px;min-height:0;display:flex;overflow:hidden;box-shadow:inset 0 1px oklch(100% 0 0/.16)}.live-list-controls{flex-direction:column;flex-shrink:0;gap:10px;padding:10px 10px 0;display:flex}.live-search{color:oklch(100% 0 0/.5);background:oklch(0% 0 0/.2);border:1px solid oklch(100% 0 0/.08);border-radius:99px;align-items:center;gap:8px;height:40px;padding:0 14px;display:flex}.live-search input{color:oklch(98% 0 0);background:0 0;border:0;outline:0;flex:1;width:100%;min-width:0;font-size:14px}.live-filters{border:0;gap:6px;min-width:0;margin:0;padding:0;display:flex;overflow-x:auto}.live-filters button{color:oklch(98% 0 0);white-space:nowrap;background:0 0;border:1px solid oklch(100% 0 0/.12);border-radius:99px;align-items:center;gap:6px;height:32px;padding:0 13px;font-size:13px;font-weight:500;display:flex}.live-filters button[aria-pressed=true]{color:oklch(18% .01 260);background:oklch(97% 0 0);border-color:#0000}.live-filter-count{font-variant-numeric:tabular-nums;opacity:.6;font-size:11px}.live-room-scroll{flex-direction:column;flex:1;gap:4px;min-height:0;padding:10px 8px 8px;display:flex;overflow-y:auto}.live-room{color:oklch(98% 0 0);text-align:left;background:0 0;border:0;border-radius:20px;grid-template-columns:8px minmax(0,1fr) 34px minmax(66px,auto);align-items:center;gap:2px 10px;width:100%;padding:12px 14px;display:grid}.live-room:hover{background:oklch(100% 0 0/.06)}.live-room[aria-pressed=true]{background:oklch(100% 0 0/.12);box-shadow:inset 0 1px oklch(100% 0 0/.14)}.live-seat-dot{border-radius:99px;flex-shrink:0;width:8px;height:8px;display:inline-block}.live-seat-red{background:oklch(62% .2 25)}.live-seat-black{background:oklch(95% 0 0)}.live-room-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;line-height:20px;overflow:hidden}.live-room-rating{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.5);text-align:right;font-size:12px;line-height:20px}.live-room-stat,.live-room-ply{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.55);white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;font-size:12px;line-height:20px;display:flex}.live-room-event{text-overflow:ellipsis;color:oklch(100% 0 0/.5);white-space:nowrap;grid-column:2/4;margin-top:4px;font-size:12px;line-height:16px;overflow:hidden}.live-room-ply{gap:5px;margin-top:4px;line-height:16px}.live-dot{background:oklch(65% .22 25);border-radius:99px;flex:0 0 6px;width:6px;height:6px}.live-list-empty{color:oklch(100% 0 0/.55);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:36px 16px;font-size:14px;display:flex}.live-secondary-button{color:oklch(98% 0 0);background:oklch(100% 0 0/.08);border:1px solid oklch(100% 0 0/.12);border-radius:99px;min-height:40px;padding:8px 16px}.live-unavailable{color:oklch(100% 0 0/.6);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;min-width:0;padding:24px;display:flex}.live-unavailable h2{color:oklch(98% 0 0);font-size:18px}.live-spinner{animation:1s linear infinite live-spin}@keyframes live-spin{to{transform:rotate(360deg)}}.live-viewer{flex:1;gap:14px;min-width:0;min-height:0;display:flex}.live-side-column{flex-direction:column;flex-shrink:0;gap:10px;width:330px;min-height:0;display:flex}.live-match-meta{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.12);border-radius:26px;flex-direction:column;flex-shrink:0;gap:10px;padding:14px 16px;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.14)}.live-meta-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.live-badge{color:oklch(99% 0 0);letter-spacing:.04em;white-space:nowrap;background:oklch(60% .22 25);border-radius:99px;flex-shrink:0;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:11px;font-weight:700;display:flex}.live-badge i{background:oklch(99% 0 0);border-radius:99px;width:6px;height:6px;animation:1.6s ease-in-out infinite live-pulse}.live-badge.is-finished{background:oklch(100% 0 0/.14)}.live-badge:where(.is-finished) i{animation:none}@keyframes live-pulse{50%{opacity:.35}}.live-viewer-count{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.65);white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:13px;display:flex;overflow:hidden}.live-viewer-count>span{margin-left:-2px}.live-meta-control{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.5);white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:12px}.live-event-info{flex-direction:column;gap:2px;display:flex}.live-event-info h2{letter-spacing:normal;text-wrap:pretty;font-size:15px;font-weight:600;line-height:1.5}.live-event-info p{color:oklch(100% 0 0/.6);font-size:13px}.live-source-link{color:var(--pb-accent,var(--primary));text-underline-offset:3px;align-self:flex-start;padding:6px 0;font-size:12px}.live-broadcast-status{background:var(--pb-surface,var(--card));border:1px solid var(--pb-border,var(--border));border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;padding:14px 16px;font-size:13px;display:flex}.live-broadcast-status span{font-variant-numeric:tabular-nums;color:var(--pb-muted,var(--muted-foreground))}.live-action-row{grid-template-columns:32px minmax(60px,.7fr) minmax(0,2fr);align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:12px;display:grid}.live-action-row button{text-align:left;min-height:38px}.live-action-row button[aria-current=step]{color:var(--pb-accent,var(--primary));font-weight:600}.live-evaluation{align-items:center;gap:10px;display:flex}.live-evaluation>span{color:oklch(100% 0 0/.55);flex-shrink:0;font-size:12px}.live-evaluation-bar{background:oklch(93% 0 0);border-radius:99px;flex:1;height:8px;display:flex;overflow:hidden}.live-evaluation-bar i{background:oklch(62% .2 25);transition:width .4s}.live-evaluation strong{font-variant-numeric:tabular-nums;text-align:right;min-width:62px;font-size:13px;font-weight:600}.live-evaluation strong.is-red{color:oklch(78% .14 25)}.live-panel{-webkit-backdrop-filter:blur(28px)saturate(170%);backdrop-filter:blur(28px)saturate(170%);background:oklch(100% 0 0/.06);border:1px solid oklch(100% 0 0/.1);border-radius:26px;flex-direction:column;flex:1;min-height:120px;display:flex;overflow:hidden;box-shadow:inset 0 1px oklch(100% 0 0/.12)}.live-panel-tabs{flex-shrink:0;padding:8px 8px 0}.live-panel-tabs [role=tablist]{background:oklch(0% 0 0/.25);border-radius:99px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:3px;display:grid}.live-panel-tabs button{color:oklch(100% 0 0/.6);white-space:nowrap;background:0 0;border:0;border-radius:99px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0;font-size:13px;font-weight:600;display:flex}.live-panel-tabs button[aria-selected=true]{color:oklch(98% 0 0);background:oklch(100% 0 0/.18);box-shadow:inset 0 1px oklch(100% 0 0/.2)}.live-panel-count{font-variant-numeric:tabular-nums;opacity:.6;font-size:11px}.live-moves-panel,.live-chat-panel{flex-direction:column;flex:1;min-height:0;display:flex}.live-move-toolbar{flex-shrink:0;align-items:center;gap:2px;padding:8px 8px 2px 16px;display:flex}.live-move-columns{color:oklch(100% 0 0/.45);flex:1;grid-template-columns:30px 1fr 1fr;font-size:12px;display:grid}.live-move-columns>span{align-items:center;gap:6px;display:flex}.live-icon-button{color:oklch(100% 0 0/.8);background:0 0;border:0;border-radius:99px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.live-icon-button:hover:not(:disabled){background:oklch(100% 0 0/.1)}.live-moves{flex:1;min-height:0;padding:0 8px 8px;position:relative;overflow-y:auto}.live-move-row{grid-template-columns:30px 1fr 1fr;align-items:center;min-height:34px;padding-left:8px;font-size:14px;display:grid}.live-move-row>span{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.4);font-size:12px}.live-move-row button{color:oklch(98% 0 0);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:10px;min-width:0;padding:5px 8px;font-size:14px}.live-move-row button.live-future-move{color:oklch(100% 0 0/.45)}.live-move-row button[aria-current=step]{color:oklch(18% .01 260);background:oklch(97% 0 0);font-weight:600}.live-move-row button:hover:not([aria-current=step]){background:oklch(100% 0 0/.08)}.live-thinking{color:oklch(100% 0 0/.55);align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.live-thinking .live-dot{animation:1.6s ease-in-out infinite live-pulse}.live-chat-feed{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 16px 8px;display:flex;overflow-y:auto}.live-chat-feed p{text-wrap:pretty;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.live-chat-feed strong{color:oklch(.8 .12 var(--chat-hue));margin-right:6px;font-weight:600}.live-chat-feed p>span{color:oklch(100% 0 0/.85)}.live-chat-empty{color:oklch(100% 0 0/.55)}.live-chat-feedback{color:oklch(80% .16 65);padding:0 16px 8px;font-size:13px}.live-quick-chat{border:0;flex-shrink:0;gap:6px;min-width:0;margin:0;padding:0 8px 8px;display:flex;overflow-x:auto}.live-quick-chat button{color:oklch(98% 0 0);background:oklch(100% 0 0/.05);border:1px solid oklch(100% 0 0/.12);border-radius:99px;height:30px;padding:0 12px;font-size:12px}.live-quick-chat button:hover:not(:disabled){background:oklch(100% 0 0/.12)}.live-chat-form{flex-shrink:0;padding:0 8px 8px}.live-chat-form>div{background:oklch(0% 0 0/.25);border:1px solid oklch(100% 0 0/.08);border-radius:99px;align-items:center;gap:6px;height:44px;padding:0 5px 0 16px;display:flex}.live-chat-form input{color:oklch(98% 0 0);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.live-chat-form button{color:oklch(18% .03 60);background:oklch(72% .17 60);border:0;border-radius:99px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex}.live-match-actions{flex-shrink:0;grid-template-columns:1fr 1fr;gap:8px;display:grid}.live-match-actions button{white-space:nowrap;border-radius:99px;justify-content:center;align-items:center;gap:8px;min-width:0;height:44px;padding:0 8px;font-size:14px;font-weight:600;display:flex}.live-share{color:oklch(98% 0 0);background:oklch(100% 0 0/.08);border:1px solid oklch(100% 0 0/.12)}.live-share:hover{background:oklch(100% 0 0/.14)}.live-follow{color:oklch(18% .03 60);background:oklch(72% .17 60);border:0;box-shadow:inset 0 1px oklch(100% 0 0/.35)}.live-follow[aria-pressed=true]{color:oklch(98% 0 0);background:oklch(100% 0 0/.14)}.live-connection-notice{color:oklch(80% .16 65);background:oklch(0% 0 0/.2);border:1px solid oklch(100% 0 0/.12);border-radius:18px;flex-shrink:0;padding:10px 14px;font-size:13px}.live-connection-notice button{color:inherit;background:oklch(100% 0 0/.08);border:0;border-radius:99px;margin-left:6px;padding:3px 10px}@media (width<=1439px){.live-game-list{width:min(100%,560px)}.live-page[data-view=viewer][data-has-selection=true] .live-game-list,.live-page[data-view=list] :is(.live-viewer,.live-unavailable){display:none}.live-page[data-view=viewer] .live-back{display:flex}}@media (width>=900px) and (width<=1099px){.live-side-column{width:280px}.live-viewer-count>span{display:none}}@media (width<=899px){.live-page{padding:14px}.live-heading h1{font-size:26px}.live-heading p{display:none}.live-viewer{flex-direction:column;overflow-y:auto}.live-side-column{width:100%}.live-panel{flex:none;height:380px;min-height:380px}}@media (width<=719px){.live-page{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}}@media (prefers-reduced-motion:reduce){.live-page *{transition:none;animation:none}}.pb-leaderboard-shell .live-ambient i:first-child{background:oklch(70% .15 80/.24);width:680px;height:680px;top:-300px;left:30%}.pb-leaderboard-shell .live-ambient i:nth-child(2){background:oklch(55% .14 250/.28);bottom:-140px;right:-160px}.pb-leaderboard-shell .live-ambient i:nth-child(3){background:oklch(55% .16 25/.2);width:460px;height:460px;top:40%;bottom:auto}.lb-page,.lb-profile-dialog,.lb-country-menu{--lb-ink:oklch(98% 0 0);--lb-dim:oklch(100% 0 0/.6);--lb-muted:oklch(100% 0 0/.55);--lb-border:oklch(100% 0 0/.12);--lb-glass:oklch(100% 0 0/.07);--lb-orange:oklch(72% .17 60);color:var(--lb-ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Be Vietnam Pro,system-ui,sans-serif}.lb-page.page-container{flex-direction:column;gap:18px;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:20px 20px 20px 18px;display:flex;overflow-y:auto}.lb-page button,.lb-profile-dialog button{cursor:pointer}.lb-page button:disabled,.lb-profile-dialog button:disabled{cursor:default}.lb-heading{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;min-height:44px;display:flex}.lb-heading>div{flex:1;min-width:200px}.lb-heading h1{letter-spacing:-.035em;margin:0;font-size:30px;font-weight:700;line-height:1.1}.lb-heading p{color:var(--lb-muted);margin:2px 0 0;font-size:14px}.lb-heading .lb-game-trigger,.lb-country-trigger{min-height:40px;color:var(--lb-ink);white-space:nowrap;border:1px solid var(--lb-border);box-shadow:none;background:oklch(100% 0 0/.08);border-radius:99px;flex-shrink:0;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.lb-game-glyph{color:oklch(88% .1 150);background:oklch(42% .09 150/.7);border-radius:99px;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.lb-filters{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.lb-scopes{background:oklch(0% 0 0/.25);border:1px solid oklch(100% 0 0/.08);border-radius:99px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;min-width:0;margin:0;padding:3px;display:grid}.lb-scopes button,.lb-modes button{height:34px;font:inherit;color:var(--lb-dim);white-space:nowrap;background:0 0;border:none;border-radius:99px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.lb-scopes [aria-pressed=true]{color:var(--lb-ink);background:oklch(100% 0 0/.18);box-shadow:inset 0 1px oklch(100% 0 0/.2)}.lb-scopes button:hover,.lb-modes button:hover{background:oklch(100% 0 0/.12)}.lb-modes{border:0;gap:6px;min-width:0;max-width:100%;margin:0;padding:0;display:flex;overflow-x:auto}.lb-modes button{color:var(--lb-ink);border:1px solid var(--lb-border);flex-shrink:0;align-items:center;gap:6px;font-weight:500;display:flex}.lb-modes [aria-pressed=true]{color:oklch(18% .01 260);background:oklch(97% 0 0);border-color:#0000}.lb-modes small{opacity:.7;font-size:11px}.lb-country-trigger{padding:0 12px 0 8px}.lb-country-trigger small{color:var(--lb-muted);font-size:12px;font-weight:400}.lb-country-badge{color:oklch(100% 0 0/.75);letter-spacing:.04em;background:oklch(100% 0 0/.1);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.lb-country-menu{width:280px;max-height:min(380px, var(--available-height));-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:oklch(22% .012 260/.96);border:1px solid oklch(100% 0 0/.14);border-radius:22px;padding:6px;box-shadow:inset 0 1px oklch(100% 0 0/.16),0 24px 60px oklch(0% 0 0/.5)}.lb-country-menu [role=menuitemradio]{border-radius:14px;gap:10px;min-height:40px}.lb-country-menu [aria-checked=true]{background:oklch(100% 0 0/.12)}.lb-country-menu small{color:var(--lb-dim);margin-left:auto;font-size:11px}.lb-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.lb-main,.lb-aside,.lb-loading{flex-direction:column;gap:16px;min-width:0;display:flex}.lb-aside{position:sticky;top:0}.lb-panel,.lb-podium-card{background:var(--lb-glass);border:1px solid var(--lb-border);-webkit-backdrop-filter:blur(32px)saturate(170%);backdrop-filter:blur(32px)saturate(170%);border-radius:28px;box-shadow:inset 0 1px oklch(100% 0 0/.16)}.lb-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;display:grid}.lb-podium-card{--lb-medal:oklch(86% .02 250);min-width:0;font:inherit;color:var(--lb-ink);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:26px 16px 18px;transition:border-color .15s,background .15s;display:flex;position:relative;box-shadow:inset 0 1px oklch(100% 0 0/.18),0 16px 40px oklch(0% 0 0/.2)}.lb-podium-card[data-place="1"]{--lb-medal:oklch(86% .15 85);background:oklch(86% .15 85/.1);border-color:oklch(86% .15 85/.35);padding:34px 16px 22px;box-shadow:inset 0 1px oklch(100% 0 0/.18),0 20px 60px oklch(86% .15 85/.14)}.lb-podium-card[data-place="3"]{--lb-medal:oklch(74% .1 55)}.lb-podium-card:hover{border-color:var(--lb-medal)}.lb-avatar{flex:0 0 36px;width:36px;height:36px;font-size:13px;display:inline-flex}.lb-avatar .ui-avatar{width:100%;height:100%;font-size:inherit;color:oklch(.16 .03 var(--lb-avatar-hue));background:oklch(.55 .13 var(--lb-avatar-hue));border:0;border-radius:99px;font-weight:700}.lb-avatar img{object-fit:cover;width:100%;height:100%}.lb-medal-avatar{width:64px;height:64px;box-shadow:0 0 0 3px oklch(20% .012 260), 0 0 0 5px var(--lb-medal);border-radius:99px;display:flex;position:relative}.lb-medal-avatar .lb-avatar{flex:1;width:100%;height:100%;font-size:20px}[data-place="1"] .lb-medal-avatar{width:80px;height:80px}[data-place="1"] .lb-avatar{font-size:24px}.lb-medal{color:oklch(20% .03 70);background:var(--lb-medal);border-radius:99px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:13px;font-weight:800;display:grid;position:absolute;bottom:-9px;left:50%;transform:translate(-50%);box-shadow:0 0 0 3px oklch(20% .012 260)}.lb-podium-person{flex-direction:column;gap:2px;width:100%;min-width:0;margin-top:6px;display:flex}.lb-podium-name{text-overflow:ellipsis;letter-spacing:-.01em;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}[data-place="1"] .lb-podium-name{font-size:17px}.lb-podium-person>span{justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.lb-tier{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lb-podium-score{justify-content:center;align-items:baseline;gap:6px;display:flex}.lb-podium-rating{letter-spacing:-.02em;font-size:21px;font-weight:700}[data-place="1"] .lb-podium-rating{font-size:26px}.lb-delta{color:var(--lb-dim);font-weight:600}.lb-podium-score .lb-delta,.lb-podium-record{font-size:12px}.lb-podium-record{color:var(--lb-muted)}.lb-delta[data-direction=up]{color:oklch(80% .15 150)}.lb-delta[data-direction=down]{color:oklch(75% .15 25)}.lb-rankings{border-radius:30px;padding-bottom:10px;overflow:clip}.lb-search{height:42px;color:var(--lb-muted);background:oklch(0% 0 0/.2);border:1px solid oklch(100% 0 0/.08);border-radius:99px;align-items:center;gap:8px;margin:12px 12px 6px;padding:0 14px;display:flex}.lb-search:focus-within{outline:2px solid var(--lb-orange);outline-offset:2px}.lb-search input{width:100%;min-width:0;font:inherit;color:var(--lb-ink);background:0 0;border:0;outline:0;flex:1;padding:0;font-size:14px}.lb-search input::placeholder{color:var(--lb-muted)}.lb-table{border-spacing:0;border-collapse:separate;width:100%}.lb-table tr{grid-template-columns:40px minmax(0,1fr) 64px 60px 60px 56px;align-items:center;column-gap:12px;display:grid}.lb-table thead{display:block}.lb-table thead tr{padding:8px 22px}.lb-table th{color:var(--lb-muted);text-align:right;padding:0;font-size:12px;font-weight:500}.lb-table th:first-child{text-align:center}.lb-table th:nth-child(2){text-align:left}.lb-table tbody{gap:2px;padding:0 10px;display:grid}.lb-table .lb-own-row{border-bottom:1px solid oklch(100% 0 0/.08);margin-bottom:6px;padding-bottom:6px}.lb-row{border-radius:18px;min-height:56px;padding:7px 12px;position:relative}.lb-row:hover{background:oklch(100% 0 0/.05)}.lb-row[data-me]{background:oklch(72% .17 60/.14);box-shadow:inset 0 0 0 1px oklch(72% .17 60/.35)}.lb-row[data-me]:hover{background:oklch(72% .17 60/.18)}.lb-row td{color:oklch(100% 0 0/.7);text-align:right;min-width:0;padding:0;font-size:13px}.lb-row .lb-rank{text-align:center;font-size:14px;font-weight:600}.lb-row[data-me] .lb-rank{color:oklch(85% .14 70);font-weight:700}.lb-row .lb-rating{color:var(--lb-ink);font-size:15px;font-weight:600}.lb-player-button{width:100%;min-width:0;font:inherit;color:var(--lb-ink);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.lb-player-button:after{content:"";border-radius:18px;position:absolute;inset:0}.lb-player-button:focus-visible{outline:0}.lb-player-button:focus-visible:after{outline:2px solid var(--lb-orange);outline-offset:-2px}.lb-player-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.lb-player-name{align-items:center;gap:8px;min-width:0;display:flex}.lb-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.lb-row[data-me] .lb-row-name{font-weight:700}.lb-load-more{justify-content:center;padding-top:8px;display:flex}.lb-load-more .ui-button{min-height:38px;color:var(--lb-ink);border:1px solid var(--lb-border);background:oklch(100% 0 0/.06);border-radius:99px;padding:0 18px;font-size:13px}.lb-update-note{color:var(--lb-muted);text-align:right;margin:0;font-size:12px}.lb-personal{flex-direction:column;gap:16px;padding:20px;display:flex}.lb-personal-heading{align-items:center;gap:14px;display:flex}.lb-personal-heading>div{flex:1;min-width:0}.lb-personal-heading .lb-avatar{flex-basis:56px;width:56px;height:56px;font-size:20px}.lb-profile-link{text-overflow:ellipsis;max-width:100%;font:inherit;color:var(--lb-ink);letter-spacing:-.01em;white-space:nowrap;background:0 0;border:0;padding:0;font-size:17px;font-weight:700;overflow:hidden}.lb-personal-heading p{color:var(--lb-dim);margin:2px 0 0;font-size:13px}.lb-progress-section{flex-direction:column;gap:8px;display:flex}.lb-personal-score{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.lb-personal-rating{letter-spacing:-.03em;font-size:32px;font-weight:700;line-height:1}.lb-personal-score>span{color:var(--lb-dim);font-size:13px}.lb-personal progress{appearance:none;background:oklch(100% 0 0/.1);border:0;border-radius:99px;width:100%;height:8px;overflow:hidden}.lb-personal progress::-webkit-progress-bar{background:oklch(100% 0 0/.1);border-radius:99px}.lb-personal progress::-webkit-progress-value{background:var(--lb-orange);border-radius:99px}.lb-personal progress::-moz-progress-bar{background:var(--lb-orange);border-radius:99px}.lb-progress-label{color:var(--lb-muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.lb-progress-label>span:last-child{text-align:right}.lb-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.lb-stat-grid>div{text-align:center;background:oklch(0% 0 0/.2);border:1px solid oklch(100% 0 0/.06);border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;display:flex}.lb-stat-value{font-size:18px;font-weight:700}.lb-stat-grid>div>span{color:var(--lb-muted);font-size:12px}.lb-primary-button{color:oklch(18% .03 60);text-align:center;background:var(--lb-orange);border-radius:99px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px oklch(100% 0 0/.4)}.lb-primary-button:hover{color:oklch(18% .03 60);background:oklch(77% .16 65)}.lb-player-country{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lb-player-country .lb-country-trigger{min-height:32px;font-size:12px}.lb-player-country small,.lb-unranked-note{color:var(--lb-dim);margin:0;font-size:13px}.lb-tiers{flex-direction:column;gap:4px;padding:16px 12px 10px;display:flex}.lb-tiers h2{letter-spacing:-.02em;margin:0;padding:0 8px 8px;font-size:17px;font-weight:700}.lb-tier-row{border-radius:14px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:42px;padding:0 10px;font-size:14px;font-weight:500;display:grid}.lb-tier-row[data-active]{background:oklch(100% 0 0/.1);font-weight:700;box-shadow:inset 0 1px oklch(100% 0 0/.12)}.lb-tier-row>span:last-child{color:var(--lb-muted);font-size:13px;font-weight:400}.lb-tier-dot{border-radius:99px;width:10px;height:10px}.lb-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:36px 16px;display:flex}.lb-empty h2{margin:0;font-size:18px}.lb-empty p{max-width:420px;color:var(--lb-dim);margin:0;font-size:14px}.lb-sign-in{padding:12px 0}.lb-panel>.lb-sign-in{padding:36px 20px}.lb-personal>.lb-sign-in{padding:12px 0}.lb-inline-error{color:oklch(82% .12 25);margin:0;padding:8px 16px;font-size:13px}.lb-podium-skeleton .lb-podium-card{min-height:236px}.lb-podium-skeleton [data-place="1"]{min-height:276px}.lb-podium-skeleton .ui-skeleton:not(.lb-skeleton-avatar){width:75%;height:20px}.lb-skeleton-avatar{border-radius:99px;flex-shrink:0;width:40px;height:40px}.lb-podium-skeleton .lb-skeleton-avatar{width:64px;height:64px;margin-bottom:12px}.lb-table-skeleton{gap:18px;padding:24px;display:grid}.lb-skeleton-row{grid-template-columns:40px minmax(0,1fr) 60px;align-items:center;gap:16px;display:grid}.lb-personal-skeleton{border-radius:18px;width:100%;height:270px}.ui-dialog.lb-profile-dialog{-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:oklch(20% .012 260/.94);border:1px solid oklch(100% 0 0/.14);border-radius:28px;width:min(560px,100% - 48px);max-width:none;max-height:min(720px,100dvh - 48px);margin:auto;padding:20px;font-size:15px;position:fixed;inset:0;overflow-y:auto;box-shadow:inset 0 1px oklch(100% 0 0/.18),0 40px 80px oklch(0% 0 0/.5)}.lb-profile-dialog[open]{flex-direction:column;gap:18px;display:flex}.lb-profile-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:oklch(0% 0 0/.5)}.lb-profile-heading{align-items:flex-start;gap:14px;display:flex}.lb-profile-heading>div{flex:1;min-width:0}.lb-profile-heading .lb-avatar{flex-basis:64px;width:64px;height:64px;font-size:22px}.lb-profile-heading h2{text-overflow:ellipsis;letter-spacing:-.02em;white-space:nowrap;margin:2px 0 4px;font-size:21px;font-weight:700;overflow:hidden}.lb-profile-heading p{color:var(--lb-dim);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.lb-profile-heading .lb-close{width:36px;min-width:36px;height:36px;min-height:36px;color:var(--lb-ink);background:oklch(100% 0 0/.1);border-radius:99px;flex-shrink:0}.lb-profile-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.lb-recent>header{align-items:baseline;gap:8px;padding:0 4px 6px;display:flex}.lb-recent h3{flex:1;margin:0;font-size:16px;font-weight:700}.lb-recent>header>span,.lb-recent small{color:var(--lb-muted);font-size:12px}.lb-recent-game{min-height:56px;color:var(--lb-ink);border-radius:18px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px;display:grid}.lb-recent-game:hover{color:var(--lb-ink);background:oklch(100% 0 0/.07)}.lb-result-badge{color:oklch(90% 0 0);background:oklch(100% 0 0/.12);border-radius:13px;place-items:center;width:40px;height:40px;font-size:12px;font-weight:700;display:grid}.lb-result-badge[data-result=win]{color:oklch(85% .14 150);background:oklch(72% .17 150/.22)}.lb-result-badge[data-result=loss]{color:oklch(80% .14 25);background:oklch(60% .22 25/.22)}.lb-recent-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.lb-recent-opponent-line{align-items:center;gap:8px;min-width:0;display:flex}.lb-recent-opponent,.lb-recent-copy>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-recent-opponent{font-size:14px;font-weight:600}.lb-replay{white-space:nowrap;background:oklch(100% 0 0/.1);border-radius:99px;align-items:center;gap:6px;height:34px;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex}.lb-profile-empty{color:var(--lb-dim);margin:0;padding:20px 8px;font-size:14px}.lb-profile-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lb-profile-actions .ui-button{min-height:46px;color:var(--lb-ink);border:1px solid var(--lb-border);background:oklch(100% 0 0/.08);border-radius:99px;font-size:14px;font-weight:600}.lb-profile-actions>:only-child{grid-column:1/-1}.lb-profile-actions .lb-primary-button{min-height:46px}.lb-page,.lb-profile-dialog{font-variant-numeric:tabular-nums}.lb-conversation>header{align-items:center;gap:8px;display:flex}.lb-conversation h2{flex:1;margin:0;font-size:19px}.lb-messages{flex-direction:column;gap:12px;min-height:150px;max-height:380px;display:flex;overflow-y:auto}.lb-message{overflow-wrap:anywhere;background:var(--lb-glass);border-radius:14px;align-self:flex-start;max-width:90%;padding:8px 12px}.lb-message[data-own]{background:oklch(72% .17 60/.2);align-self:flex-end}.lb-message p{white-space:pre-wrap;margin:0}.lb-message time{color:var(--lb-dim);font-size:11px}.lb-conversation form{align-items:flex-end;gap:8px;display:flex}.lb-conversation textarea{min-width:0;font:inherit;color:var(--lb-ink);resize:vertical;border:1px solid var(--lb-border);background:oklch(0% 0 0/.2);border-radius:14px;flex:1;padding:10px}@media (width<=1279px){.lb-layout{grid-template-columns:minmax(0,1fr)}.lb-aside{position:static}}@media (width<=899px){.lb-page.page-container{padding:14px}.lb-heading h1{font-size:26px}}@media (width<=767px){.pb-leaderboard-shell .pb-mobile-header{display:none}}@media (width<=719px){.lb-page.page-container{padding:14px 14px calc(92px + env(safe-area-inset-bottom,0px))}}@media (width<=639px){.lb-heading>div{min-width:190px}.lb-scopes{width:100%}.lb-podium{gap:8px}.lb-podium-card{padding:20px 10px 14px}.lb-podium-card[data-place="1"]{padding:26px 10px 16px}.lb-medal-avatar{width:46px;height:46px}[data-place="1"] .lb-medal-avatar{width:56px;height:56px}.lb-medal-avatar .lb-avatar,[data-place="1"] .lb-avatar{font-size:16px}.lb-podium-name,[data-place="1"] .lb-podium-name{font-size:14px}.lb-podium-rating,[data-place="1"] .lb-podium-rating{font-size:18px}.lb-podium-record{display:none}.lb-table tr{grid-template-columns:40px minmax(0,1fr) 52px 44px;column-gap:10px}.lb-table .lb-wide-stat{display:none}.lb-table .lb-rank{font-size:12px}.lb-podium-skeleton .lb-podium-card{min-height:175px}.lb-podium-skeleton [data-place="1"]{min-height:194px}.ui-dialog.lb-profile-dialog{width:100%;max-height:88dvh;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;margin:0;inset:auto 0 0}.lb-profile-heading{gap:10px}.lb-profile-heading h2{font-size:19px}.lb-profile-heading .lb-avatar{flex-basis:56px;width:56px;height:56px}.lb-recent-game{gap:8px;padding:8px 0}.lb-recent-opponent-line{flex-wrap:wrap;gap:4px}.lb-recent-opponent{flex-basis:100%}.lb-replay{gap:4px;padding:0 10px;font-size:12px}.lb-search input{font-size:16px}}@media (width<=379px){.lb-heading>div{min-width:0}.lb-heading h1{font-size:24px}.lb-heading p{font-size:12px}.lb-heading .lb-game-trigger{padding:0 9px;font-size:12px}.lb-table tr{grid-template-columns:32px minmax(0,1fr) 46px 40px;column-gap:8px}.lb-player-button{gap:8px}.lb-player-name .lb-country-badge{display:none}.lb-podium-card,.lb-podium-card[data-place="1"]{padding-left:7px;padding-right:7px}}@media (prefers-reduced-motion:reduce){.lb-page *,.lb-profile-dialog *{transition:none;animation:none}}@media (prefers-reduced-transparency:reduce){.lb-panel,.lb-podium-card,.ui-dialog.lb-profile-dialog,.lb-country-menu{-webkit-backdrop-filter:none;backdrop-filter:none;background:oklch(22% .012 260)}}:root{--font-ui:"Inter Variable", "Inter Fallback", "Noto Sans", "Noto Sans CJK SC", "Noto Sans CJK JP", "Noto Sans CJK KR", "PingFang SC", "Hiragino Sans", "Malgun Gothic", "Microsoft YaHei", sans-serif}:root:lang(ja){--font-ui:"Inter Variable", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans CJK JP", sans-serif}:root:lang(ko){--font-ui:"Inter Variable", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", sans-serif}:root:lang(zh-CN){--font-ui:"Inter Variable", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}.pb-account-menu[data-slot=dropdown-menu-content]{overscroll-behavior:contain;max-height:min(640px,100dvh - 32px);overflow-y:auto}.pb-language-copy,.pb-nav-label,.setting-row>div,.page-header-row>div{min-width:0}.pb-language-copy>span,.pb-nav-label,.setting-row h3,.setting-row p,.page-header h1{overflow-wrap:anywhere;white-space:normal}.pb-user-language{flex-shrink:0;font-size:10px}.page-header-row,.kv-card-actions,.kv-replay-controls{flex-wrap:wrap}.kv-card-actions>button,.kv-card-actions>a,.dialog-body [data-slot=button]{text-align:center;overflow-wrap:anywhere;white-space:normal;min-width:0;max-width:100%;height:auto;min-height:44px}.chess-game,.chess-sheet{--background:oklch(13% .01 260);--foreground:oklch(98% 0 0);--text-primary:oklch(98% 0 0);--text-secondary:oklch(100% 0 0/.6);--text-muted:oklch(100% 0 0/.45);--primary:oklch(72% .17 60);--primary-hover:oklch(77% .16 65);--primary-foreground:oklch(18% .03 60);--border:oklch(100% 0 0/.12);--glass:oklch(100% 0 0/.07);--glass-hover:oklch(100% 0 0/.12);--glass-raised:oklch(100% 0 0/.1);--surface:oklch(22% .015 260);--chess-light:oklch(86% .045 85);--chess-dark:oklch(60% .075 60);--chess-white:oklch(98% .012 90);--chess-ink:oklch(22% .012 260);--chess-symbol-font:"Segoe UI Symbol", "Noto Sans Symbols 2", "Noto Sans Symbols", "DejaVu Sans", "Apple Symbols", serif;color:var(--foreground);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Be Vietnam Pro,system-ui,sans-serif}.pb-shell:has(.chess-game){height:100dvh;min-height:0;overflow:hidden}.pb-shell:has(.chess-game) .pb-body{flex-direction:column;height:100dvh;min-height:0;padding:0;display:flex;overflow:hidden}.chess-game{flex:1;height:100dvh;min-height:0;padding:0 14px 14px;overflow:hidden}.chess-game :is(h1,h2,p,fieldset){margin:0}.chess-game :is(button,a),.chess-sheet :is(button,a){-webkit-tap-highlight-color:transparent}.chess-game .ui-button,.chess-sheet .ui-button{border-radius:99px;height:42px;min-height:0;font-weight:600}.chess-game .ui-button-primary,.chess-sheet .ui-button-primary{box-shadow:inset 0 1px oklch(100% 0 0/.4)}.chess-stage{grid-template:"board heading"40px"board opponent""board panels"minmax(0,1fr)"board player"/minmax(0,1fr) 360px;gap:10px 14px;min-width:0;height:100%;min-height:0;display:grid;container-type:size}:is(.chess-stage:fullscreen,.chess-stage.match-focus-mode){background:var(--background);width:100%;height:100dvh;padding:0 14px 14px}.chess-arena-heading{grid-area:heading;align-items:center;gap:8px;min-width:0;padding:0 4px 0 8px;display:flex}.chess-arena-title{white-space:nowrap;flex:1;align-items:baseline;gap:4px;min-width:0;display:flex;overflow:hidden}.chess-arena-title h1{letter-spacing:-.01em;flex-shrink:0;font-size:17px;font-weight:600;line-height:1.3}.chess-arena-title p{text-overflow:ellipsis;color:var(--text-muted);font-size:13px;overflow:hidden}.chess-arena-title p:before{content:"· "}.chess-connection{color:oklch(80% .15 150);white-space:nowrap;background:oklch(72% .17 150/.18);border-radius:99px;flex-shrink:0;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.chess-connection i{background:currentColor;border-radius:50%;width:6px;height:6px}.chess-connection.is-offline{color:oklch(88% .13 70);background:oklch(72% .17 60/.2)}.chess-connection.is-waiting{color:var(--text-secondary);background:oklch(100% 0 0/.08)}.chess-spinner{flex-shrink:0;animation:.9s linear infinite chess-spin}@keyframes chess-spin{to{transform:rotate(360deg)}}.chess-glass-card{-webkit-backdrop-filter:blur(28px)saturate(170%);backdrop-filter:blur(28px)saturate(170%);background:oklch(100% 0 0/.06);border:1px solid oklch(100% 0 0/.1);border-radius:26px;min-width:0;box-shadow:inset 0 1px oklch(100% 0 0/.12)}.chess-board-area{grid-area:board;justify-content:center;align-items:center;gap:12px;min-width:0;min-height:0;display:flex;position:relative;container-type:size}.chess-board-rail{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.1);border-radius:99px;flex-direction:column;flex-shrink:0;gap:4px;padding:6px;display:flex}.chess-board-rail .ui-button{color:oklch(100% 0 0/.7);width:40px;height:40px;padding:0}.chess-board-rail .ui-button:hover{color:var(--foreground);background:oklch(100% 0 0/.12)}.chess-return-live{z-index:8;font-size:13px;position:absolute;bottom:12px;right:16px;box-shadow:0 8px 24px oklch(0% 0 0/.3)}.chess-player{background:oklch(100% 0 0/.07);flex-direction:column;gap:10px;padding:10px;display:flex}.chess-player-top{grid-area:opponent}.chess-player-bottom{grid-area:player}.chess-player-bottom.is-active{border-color:oklch(100% 0 0/.22)}.chess-player-main{align-items:center;gap:12px;min-width:0;display:flex}.chess-player-avatar{color:oklch(95% .05 150);background:oklch(50% .1 150/.7);border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;font-weight:700;display:grid;position:relative}.chess-player-avatar.is-mine{color:oklch(16% .03 160);background:oklch(62% .14 160)}.chess-player-avatar.is-searching{color:oklch(85% .15 65);background:0 0;border:1px dashed oklch(100% 0 0/.25)}.chess-player-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.chess-player-side{width:19px;height:19px;font-family:var(--chess-symbol-font);color:var(--chess-ink);box-shadow:inset 0 0 0 1.5px var(--chess-ink), 0 0 0 2px oklch(20% .01 260);background:oklch(95% .025 85);border-radius:50%;place-items:center;font-size:10px;display:grid;position:absolute;bottom:-3px;right:-3px}.chess-player-copy{flex:1;min-width:0;overflow:hidden}.chess-player-name{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.chess-player-name strong{text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.chess-player-name>span{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.5);font-size:13px}.chess-player-name>small{color:oklch(88% .13 70);background:oklch(72% .17 60/.18);border-radius:99px;padding:1px 5px;font-size:10px}.chess-turn-status{text-overflow:ellipsis;color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.chess-turn-status.is-check{color:oklch(75% .17 25)}.chess-turn-status.is-finished{color:oklch(80% .16 150)}.chess-captures{align-items:center;gap:2px;height:18px;display:flex;overflow:hidden}.chess-seat-caption{color:var(--text-secondary);font-size:12px}.chess-captured{background:var(--chess-light);width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--chess-ink);border-radius:50%;flex:0 0 16px;place-items:center;display:grid}.chess-captured .chess-piece{font-family:var(--chess-symbol-font);-webkit-text-stroke:0;text-shadow:none;filter:none;font-size:11px;line-height:1;transform:none}.chess-offer-badge{color:oklch(88% .13 70);background:oklch(72% .17 60/.22);border-radius:99px;flex-shrink:0;height:18px;padding:0 7px;font-size:10px;font-weight:700}.chess-clock{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.55);letter-spacing:-.01em;background:oklch(0% 0 0/.28);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:100px;height:48px;padding:0 16px;font-size:24px;font-weight:600;line-height:1;display:flex}.chess-clock.is-active{color:oklch(18% .01 260);background:oklch(97% 0 0);box-shadow:0 6px 18px oklch(0% 0 0/.3)}.chess-clock.is-low{color:var(--foreground);background:oklch(60% .22 25);box-shadow:0 6px 18px oklch(60% .22 25/.45)}.chess-clock>small{font-size:11px}.chess-desktop-actions{align-items:center;gap:8px;display:flex}.chess-desktop-actions:empty{display:none}.chess-desktop-actions>.ui-button{flex:1;padding-inline:8px;font-size:14px}.chess-game .chess-resign-action,.chess-sheet .chess-resign-action{color:oklch(75% .17 25)}.chess-desktop-actions>.chess-resign-action{flex:none;padding-inline:14px}.chess-desktop-actions>.chess-resign-action:before{content:"";background:var(--border);width:1px;height:22px;margin-right:10px}.chess-resign-action:hover{background:oklch(60% .22 25/.15)}.chess-panel-stack{flex-direction:column;grid-area:panels;gap:10px;min-width:0;min-height:0;display:flex}.chess-moves{flex-direction:column;flex:1.3 1 0;min-height:104px;display:flex;overflow:hidden}.chess-moves-columns,.chess-move-row{font-variant-numeric:tabular-nums;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.chess-moves-columns{color:oklch(100% 0 0/.5);flex-shrink:0;min-height:36px;padding:0 12px 0 22px;font-size:12px}.chess-moves-columns>span{align-items:center;gap:6px;display:flex}.chess-side-dot{border-radius:50%;width:7px;height:7px}.chess-side-dot.is-white{background:var(--chess-white)}.chess-side-dot.is-black{background:var(--chess-ink);box-shadow:inset 0 0 0 1px oklch(100% 0 0/.45)}.chess-moves-scroll{flex:1;min-height:0;padding:0 8px 8px;overflow:auto}.chess-move-row{min-height:34px;padding:0 4px 0 10px;font-size:14px}.chess-move-row>span:first-child{color:oklch(100% 0 0/.4);font-size:12px}.chess-move{min-width:0;min-height:34px;color:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:5px;padding:5px 8px;font-family:inherit;font-size:14px;display:flex}.chess-move>span{text-overflow:ellipsis;overflow:hidden}.chess-move:hover{background:oklch(100% 0 0/.08)}.chess-move[aria-current=step]{background:oklch(100% 0 0/.14);font-weight:600}.chess-move-check{color:oklch(99% 0 0);background:oklch(60% .22 25);border-radius:99px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4}.chess-move-pending{color:oklch(100% 0 0/.35);padding-inline:8px}.chess-moves-empty{color:var(--text-muted);text-align:center;padding:20px 10px;font-size:13px}.chess-review-controls{border-top:1px solid oklch(100% 0 0/.07);flex-shrink:0;justify-content:center;align-items:center;gap:2px;padding:3px 8px;display:flex}.chess-review-controls .ui-button{width:32px;height:30px;padding:0}.chess-review-controls>span{color:var(--text-muted);text-align:center;flex:1;font-size:11px}.chess-community{flex-direction:column;flex:1 1 0;min-height:170px;display:flex;overflow:hidden}.chess-community-tabs{background:oklch(0% 0 0/.25);border-radius:99px;flex-shrink:0;grid-template-columns:1fr 1fr;gap:2px;margin:8px 8px 4px;padding:3px;display:grid}.chess-community-tabs button{height:30px;min-height:0;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:99px;font-size:13px;font-weight:600}.chess-community-tabs [aria-selected=true]{color:var(--foreground);background:oklch(100% 0 0/.18);box-shadow:inset 0 1px oklch(100% 0 0/.2)}.chess-community-panel{flex:1;min-height:0;display:flex;position:relative}.chess-community :is(.chess-community-panel,.chess-viewers)[hidden]{display:none}.chess-community .match-chat{border:0;flex-direction:column;flex:1;gap:0;min-height:0;padding:0;display:flex}.chess-community .chat-log{flex:1;min-height:0;max-height:none;padding:4px 12px;overflow:auto}.chess-community .chat-message{background:oklch(100% 0 0/.1);border-radius:16px;width:fit-content;max-width:85%;margin:0 0 6px;padding:7px 12px}.chess-community .chat-message strong{color:oklch(100% 0 0/.6);font-size:10px;display:block}.chess-community .chat-message p{overflow-wrap:anywhere;font-size:13px;line-height:1.4}.chess-community .chat-mine{color:var(--primary-foreground);background:var(--primary);margin-left:auto}.chess-community .chat-mine strong{color:oklch(18% .03 60/.75)}.chess-community :is(.chat-quick,.chat-room-label){display:none}.chess-community .chat-compose{border:0;flex-shrink:0;gap:6px;margin:0;padding:6px 92px 8px 8px;display:flex}.chess-community .chat-compose input{min-width:0;height:38px;min-height:0;color:var(--foreground);background:oklch(0% 0 0/.2);border:1px solid oklch(100% 0 0/.1);border-radius:99px;flex:1;padding:0 14px;font-size:13px}.chess-community .chat-compose .ui-button{flex-shrink:0;width:38px;height:38px;padding:0}.chess-community .chat-toolbar{border:0;padding:0;display:flex;position:absolute;bottom:8px;right:48px}.chess-community .chat-toolbar .ui-button{width:38px;height:38px;padding:0}.chess-community .chess-report-button{width:38px;height:38px;padding:0;position:absolute;bottom:8px;right:8px}.chess-community .chat-empty{min-height:0;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.chess-community .chat-empty p,.chess-community .chat-welcome{text-align:center;font-size:13px;line-height:1.5}.chess-viewers{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:0;padding:14px 24px;display:flex;overflow:auto}.chess-viewers>svg{color:var(--text-muted)}.chess-viewers strong{font-size:14px;font-weight:500}.chess-viewers p{color:var(--text-secondary);font-size:12px}.chess-community-shortcuts{flex-shrink:0;gap:6px;display:flex}.chess-community-shortcuts .ui-button{background:oklch(100% 0 0/.06);border:1px solid oklch(100% 0 0/.1);flex:1;gap:8px;height:40px;padding-inline:8px;font-size:13px;position:relative}.chess-unread{color:oklch(99% 0 0);background:oklch(65% .22 25);border-radius:99px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;display:inline-flex}.chess-draw-banner{background:oklch(72% .17 60/.14);border:1px solid oklch(72% .17 60/.35);border-radius:24px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:12px;display:flex}.chess-draw-symbol{font-size:20px;font-weight:700;line-height:1}.chess-draw-banner>div:first-of-type{flex:1;min-width:0}.chess-draw-banner strong{font-size:13px;font-weight:600;display:block}.chess-draw-banner small{color:var(--text-secondary);margin-top:2px;font-size:11px;display:block}.chess-draw-buttons{gap:6px;width:100%;display:flex}.chess-draw-buttons .ui-button{flex:1;height:34px;padding:0 12px;font-size:13px}.chess-draw-buttons .ui-button:last-child{color:oklch(18% .01 260);background:oklch(97% 0 0)}.chess-result-card{background:oklch(100% 0 0/.1);border-color:oklch(100% 0 0/.16);flex-direction:column;flex-shrink:0;gap:12px;padding:16px;display:flex}.chess-result-summary{align-items:center;gap:12px;display:flex}.chess-result-summary>div:first-of-type{flex:1;min-width:0}.chess-result-icon{width:40px;height:40px;color:var(--primary-foreground);background:var(--primary);border-radius:50%;flex:0 0 40px;place-items:center;display:grid}.chess-result-summary h2{letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1.3}.chess-result-summary p{color:var(--text-secondary);font-size:13px;line-height:1.4}.chess-rating-change{text-align:right;white-space:nowrap}.chess-rating-change strong{color:oklch(80% .16 150);font-size:17px;display:block}.chess-rating-change.is-loss strong{color:oklch(75% .17 25)}.chess-rating-change small{color:var(--text-muted);font-size:11px;display:block}.chess-result-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.chess-result-actions>:is(.ui-button,a){height:42px;padding:0 6px;font-size:14px}.chess-result-card .rematch-notice{margin:0;padding:8px;font-size:12px}.chess-resign-confirm{background:oklch(60% .22 25/.12);border:1px solid oklch(60% .22 25/.3);border-radius:18px;flex-direction:column;flex:1;gap:8px;padding:10px;display:flex}.chess-resign-confirm h2{font-size:14px;font-weight:600}.chess-resign-confirm p{color:var(--text-secondary);margin-top:2px;font-size:12px}.chess-resign-buttons{grid-template-columns:1fr 1fr;gap:6px;display:grid}.chess-resign-buttons .ui-button{height:40px;padding-inline:8px;font-size:13px}.chess-game .chess-confirm-danger,.chess-sheet .chess-confirm-danger{color:oklch(99% 0 0);background:oklch(60% .22 25)}.chess-queue-content{flex-direction:column;flex-shrink:0;gap:12px;padding:16px;display:flex}.chess-queue-summary{align-items:center;gap:14px;display:flex}.chess-queue-summary>svg{color:oklch(85% .15 65)}.chess-queue-summary h2{letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.3}.chess-queue-summary p{color:var(--text-secondary);margin-top:3px;font-size:12px}.chess-room-invitation{background:0 0;border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.chess-room-invitation label{color:var(--text-secondary);font-size:12px}.chess-room-invitation input{width:100%;height:42px;color:inherit;border:1px solid var(--border);background:oklch(0% 0 0/.2);border-radius:99px;padding-inline:16px}.chess-sheet.ui-dialog{width:min(440px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--foreground);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:oklch(22% .015 260/.88);border:1px solid oklch(100% 0 0/.14);border-radius:30px;margin:0;padding:16px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:inset 0 1px oklch(100% 0 0/.18),0 20px 60px oklch(0% 0 0/.4)}.chess-sheet::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:oklch(0% 0 0/.45)}.chess-sheet-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.chess-sheet-heading h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.chess-sheet-heading .ui-button{width:36px;height:36px;padding:0}.chess-sheet-grabber{display:none}.chess-options{flex-direction:column;gap:14px;display:flex}.chess-options-group{background:oklch(100% 0 0/.06);border-radius:24px;overflow:hidden}.chess-options-group>:is(.ui-button,a),.chess-option-switch{width:100%;height:54px;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid oklch(100% 0 0/.07);border-radius:0;justify-content:flex-start;align-items:center;gap:14px;padding:0 16px;font-size:16px;font-weight:400;display:flex}.chess-options-group>:last-child{border-bottom:0}.chess-options-group>:is(.ui-button,a)>span,.chess-option-switch>span:first-of-type{flex:1}.chess-option-switch:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:-3px}.chess-switch{background:oklch(100% 0 0/.16);border-radius:99px;flex:0 0 50px;width:50px;height:30px;transition:background .15s;position:relative}.chess-switch i{background:oklch(99% 0 0);border-radius:50%;width:26px;height:26px;transition:left .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px oklch(0% 0 0/.3)}.chess-option-switch input:checked+.chess-switch{background:oklch(72% .17 150)}.chess-option-switch input:checked+.chess-switch i{left:22px}.chess-options>.chess-resign-action{background:oklch(60% .22 25/.14);border-radius:24px;height:54px;font-size:16px}.chess-options .difficulty-label{margin-top:0}.chess-options .difficulty-label select{width:100%;height:48px;color:inherit;border-color:var(--border);background:oklch(0% 0 0/.2)}.chess-sheet-chat .chess-community{height:min(480px,65dvh);box-shadow:none;background:0 0;border:0}.chess-sheet :is(.chess-result-card,.chess-queue-content){box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}.chess-leave-confirm{gap:10px;display:grid}.chess-leave-confirm p{color:var(--text-secondary);font-size:14px;line-height:1.5}.chess-report-form{flex-direction:column;gap:12px;display:flex}.chess-report-form textarea{width:100%;min-height:100px;font:inherit;color:inherit;resize:vertical;border:1px solid var(--border);background:oklch(0% 0 0/.2);border-radius:18px;padding:14px}.chess-report-form [role=alert]{color:oklch(75% .17 25)}.chess-text-link{color:oklch(80% .16 65)}.chess-ribbon,.chess-mobile-bar,.chess-game .chess-mobile-back,.chess-game .chess-mobile-options,.chess-mobile-time,.chess-game .chess-mobile-status{display:none}@media (width>=720px) and (width<=1179px){.chess-stage{grid-template-columns:minmax(0,1fr) 320px}.chess-arena-title{flex-wrap:wrap;gap:0}.chess-arena-title h1{font-size:15px}.chess-arena-title p{font-size:11px}.chess-player-main{gap:9px}.chess-clock{min-width:88px;padding-inline:12px}}@media (width>=720px) and (height<=559px){.chess-stage{grid-template-rows:34px auto minmax(0,1fr) auto;row-gap:6px}.chess-player{border-radius:22px;gap:6px;padding:7px 10px}.chess-player-main{gap:9px}.chess-player-avatar{flex-basis:36px;width:36px;height:36px}.chess-clock{height:40px;font-size:21px}.chess-panel-stack{gap:6px}.chess-desktop-actions .ui-button{height:36px}.chess-moves{min-height:52px}.chess-moves-columns{min-height:26px}.chess-moves-empty{padding:6px;font-size:12px}.chess-review-controls{padding-block:0}.chess-review-controls .ui-button{height:24px}.chess-community-shortcuts .ui-button{height:32px}.chess-result-card{border-radius:20px;gap:6px;padding:8px 10px}.chess-result-summary{gap:8px}.chess-result-summary h2{font-size:17px}.chess-result-summary p{font-size:11px}.chess-result-icon{flex-basis:32px;width:32px;height:32px}.chess-result-actions>:is(.ui-button,a){height:32px;font-size:12px}.chess-resign-confirm{gap:6px;padding:7px}.chess-resign-confirm p{font-size:11px}.chess-resign-buttons .ui-button{height:32px}.chess-draw-banner{gap:5px;padding:7px 10px}.chess-draw-buttons .ui-button{height:30px}.chess-queue-content{gap:8px;padding:10px}.chess-queue-content .ui-button{height:32px}.chess-queue-summary>svg{width:30px;height:30px}.chess-queue-summary h2{font-size:15px}.chess-room-invitation{grid-template-columns:1fr 1fr;gap:5px;display:grid}.chess-room-invitation label{grid-column:1/-1}.chess-room-invitation input{min-width:0;height:32px}.chess-room-invitation .ui-button{font-size:10px}}@media (width<=719px){.chess-game{padding:env(safe-area-inset-top) 0 0}.chess-stage{grid-template:"heading" 50px "ribbon" 44px "opponent" 58px "board" auto "player" auto "status" minmax(0, 1fr) "actions" calc(62px + env(safe-area-inset-bottom)) / minmax(0, 1fr);gap:0;position:relative}:is(.chess-stage:fullscreen,.chess-stage.match-focus-mode){padding:0}.chess-arena-heading{gap:10px;padding:0 12px}.chess-arena-title{text-align:center;display:block}.chess-arena-title h1{font-size:16px}.chess-arena-title h1>span,.chess-arena-title p:before,.chess-connection{display:none}.chess-arena-title p{font-size:12px}.chess-mobile-time{display:inline}.chess-game .chess-mobile-back,.chess-game .chess-mobile-options{flex:0 0 44px;width:44px;height:44px;padding:0;display:inline-flex}.chess-game .chess-mobile-options{background:oklch(100% 0 0/.08)}.chess-ribbon{grid-area:ribbon;align-items:center;min-width:0;padding:0 10px;display:flex}.chess-ribbon-scroll{flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow:auto}.chess-ribbon-scroll>p{color:var(--text-muted);padding:0 6px;font-size:13px}.chess-ribbon .chess-move{border-radius:99px;flex-shrink:0;height:30px;min-height:30px;padding:0 10px;font-size:13px;font-weight:500}.chess-ribbon .chess-move small{color:oklch(100% 0 0/.4)}.chess-ribbon .chess-move[aria-current=step]{color:oklch(18% .01 260);background:oklch(97% 0 0);font-weight:600}.chess-ribbon .chess-move[aria-current=step] small{color:oklch(18% .01 260/.55)}.chess-offline-ribbon{color:oklch(88% .13 70);background:oklch(72% .17 60/.18);border:1px solid oklch(72% .17 60/.4);border-radius:99px;flex:1;align-items:center;gap:8px;height:36px;padding:0 12px;font-size:12px;display:flex;overflow:hidden}.chess-offline-ribbon strong{flex-shrink:0}.chess-offline-ribbon>span{text-overflow:ellipsis;color:var(--text-secondary);white-space:nowrap;overflow:hidden}.chess-player{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;gap:0;padding:0 12px}.chess-player-main{gap:10px;height:58px}.chess-player-avatar{flex-basis:38px;width:38px;height:38px}.chess-player-side{width:17px;height:17px;font-size:9px}.chess-player-name{gap:6px}.chess-player-name strong{font-size:15px}.chess-clock{border-radius:14px;min-width:88px;height:40px;padding-inline:14px;font-size:21px}.chess-board-area{height:auto;padding:8px 6px;container-type:normal}.chess-board-rail,.chess-desktop-actions,.chess-panel-stack>.chess-moves,.chess-community-shortcuts{display:none}.chess-panel-stack{display:contents}.chess-return-live{background:oklch(22% .015 260/.92);height:34px;bottom:12px;right:10px}.chess-mobile-bar{padding:4px 8px max(0px, env(safe-area-inset-bottom));grid-area:actions;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.chess-mobile-bar>button{min-width:0;min-height:44px;font:inherit;color:oklch(100% 0 0/.75);cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;font-size:11px;font-weight:600;display:flex;position:relative}.chess-mobile-bar>button:disabled{color:oklch(100% 0 0/.35);cursor:default}.chess-mobile-bar .chess-draw-symbol{height:22px;font-size:19px;line-height:22px}.chess-mobile-bar .chess-unread{position:absolute;top:7px;left:calc(50% + 6px)}.chess-game .chess-mobile-status{grid-area:status;place-self:start center;height:36px;margin:8px;font-size:13px;display:flex}.chess-draw-banner{z-index:12;-webkit-backdrop-filter:blur(36px)saturate(180%);backdrop-filter:blur(36px)saturate(180%);background:oklch(26% .02 260/.9);border-color:oklch(100% 0 0/.16);flex-wrap:nowrap;gap:8px;padding:10px;position:absolute;top:104px;left:10px;right:10px;box-shadow:inset 0 1px oklch(100% 0 0/.2),0 16px 40px oklch(0% 0 0/.5)}.chess-draw-banner>.chess-draw-symbol{color:oklch(88% .13 70);background:oklch(72% .17 60/.25);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.chess-draw-banner strong{font-size:13px;line-height:1.25}.chess-draw-banner small{display:none}.chess-draw-buttons{flex-shrink:0;width:auto}.chess-draw-buttons .ui-button{height:38px;padding-inline:10px;font-size:12px}.chess-sheet.ui-dialog{inset:auto 8px max(8px, env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 24px - env(safe-area-inset-top));border-radius:38px;padding:8px 16px 26px;transform:none;box-shadow:inset 0 1px oklch(100% 0 0/.18),0 -10px 40px oklch(0% 0 0/.4)}.chess-sheet-grabber{background:oklch(100% 0 0/.3);border-radius:99px;width:36px;height:5px;margin:2px auto 14px;display:block}.chess-sheet-heading{margin-bottom:14px}.chess-sheet-resign .chess-sheet-heading>h2,.chess-sheet-result .chess-sheet-heading>h2,.chess-sheet-queue .chess-sheet-heading>h2{visibility:hidden}.chess-sheet:is(.chess-sheet-resign,.chess-sheet-result,.chess-sheet-queue) .chess-sheet-heading{margin:0;position:absolute;top:18px;right:16px}.chess-sheet .chess-resign-confirm{text-align:center;background:0 0;border:0;gap:18px;padding:6px 0 0}.chess-sheet .chess-resign-confirm h2{font-size:19px}.chess-sheet .chess-resign-confirm p{margin-top:4px;font-size:14px}.chess-sheet .chess-resign-buttons{flex-direction:column-reverse;gap:8px;display:flex}.chess-sheet .chess-resign-buttons .ui-button{height:52px;font-size:16px}.chess-sheet .chess-result-summary{text-align:center;flex-wrap:wrap;justify-content:center}.chess-sheet .chess-result-icon{flex-basis:56px;width:56px;height:56px}.chess-sheet .chess-result-icon svg{width:26px;height:26px}.chess-sheet .chess-result-summary>div:first-of-type{flex:0 0 100%}.chess-sheet .chess-result-summary h2{font-size:26px}.chess-sheet .chess-result-summary p{font-size:14px}.chess-sheet .chess-rating-change{align-items:baseline;gap:8px;display:flex}.chess-sheet .chess-result-actions{grid-template-columns:1fr 1fr;gap:8px}.chess-sheet .chess-result-actions>:is(.ui-button,a){height:50px;font-size:16px}.chess-sheet .chess-result-actions>a:last-child{color:oklch(80% .16 65);background:0 0;grid-column:1/-1;height:44px}.chess-sheet .chess-queue-content{gap:14px;padding-top:12px}.chess-sheet .chess-queue-content .ui-button{height:50px;font-size:16px}.chess-sheet-chat .chess-community{height:min(440px,60dvh)}.chess-sheet .chat-compose input{height:46px;font-size:16px}.chess-sheet .chat-compose .ui-button,.chess-sheet .chat-toolbar .ui-button,.chess-sheet .chess-report-button{height:46px}.chess-sheet .chat-message p{font-size:15px}}@media (width<=359px){.chess-player{padding-inline:10px}.chess-player-main{gap:8px}.chess-clock{min-width:80px;padding-inline:10px;font-size:20px}.chess-player-name strong{font-size:14px}.chess-draw-banner{gap:6px}.chess-draw-banner>.chess-draw-symbol{display:none}}@media (prefers-reduced-motion:reduce){.chess-spinner{animation-duration:2s}.chess-switch,.chess-switch i{transition:none}}.chess-game .board-surface{aspect-ratio:1;width:min(100cqw - 70px,100cqh - 16px);max-width:none;height:auto;box-shadow:none;background:0 0;border:0;border-radius:30px;flex-shrink:0;margin:0;padding:0;position:relative;overflow:visible}.chess-game .chess-frame{-webkit-backdrop-filter:blur(32px)saturate(170%);backdrop-filter:blur(32px)saturate(170%);background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.12);border-radius:30px;width:100%;max-width:none;padding:7px;box-shadow:inset 0 1px oklch(100% 0 0/.16),0 30px 60px oklch(0% 0 0/.3)}.chess-game .chess-board{border-radius:24px;overflow:hidden;container-type:inline-size}.chess-game .board-cell{cursor:default;transition:none}.chess-game .chess-board[data-interactive=true] .board-cell{cursor:pointer}.chess-game .chess-board .light-square{background:var(--chess-light)}.chess-game .chess-board .dark-square{background:var(--chess-dark)}.chess-game .chess-board .last-square{background-image:linear-gradient(oklch(85% .15 85/.5),oklch(85% .15 85/.5))}.chess-game .chess-board .check-square:after{z-index:1;pointer-events:none;background:radial-gradient(circle,oklch(62% .24 25/.95) 0%,oklch(62% .24 25/.55) 40%,#0000 72%)}.chess-game .chess-board .chess-piece{font-family:var(--chess-symbol-font);color:var(--chess-ink);-webkit-text-stroke:.2cqw var(--chess-ink);text-shadow:none;filter:drop-shadow(0 .5cqw .6cqw oklch(0% 0 0/.4));font-size:9.4cqw;font-weight:400;line-height:1;transition:transform .15s;position:relative;transform:none}.chess-game .chess-board .chess-piece-w{color:var(--chess-white);-webkit-text-stroke:0}.chess-game .chess-piece-outline{color:var(--chess-ink);-webkit-text-stroke:0}.chess-game .chess-board .selected-square .chess-piece{transform:scale(1.08)}.chess-game .board-cell:focus-visible{z-index:7;outline-offset:-3px;outline:3px solid oklch(72% .17 60)}.chess-game .chess-board .legal-marker{z-index:4;background:oklch(20% .02 60/.3);width:30%;height:30%}.chess-game .chess-board .capture-marker{z-index:4;border:max(3px,.7cqw) solid oklch(20% .02 60/.4);inset:4%}.chess-game .chess-board :is(.rank-label,.file-label){z-index:5;color:var(--chess-dark);font-size:max(9px,1.9cqw);font-weight:700;line-height:1}.chess-game .chess-board .dark-square :is(.rank-label,.file-label){color:var(--chess-light)}.chess-game .chess-board .rank-label{top:.3cqw;left:.5cqw}.chess-game .chess-board .file-label{bottom:.3cqw;right:.6cqw}.chess-game .chess-check-label{z-index:8;color:oklch(99% 0 0);white-space:nowrap;pointer-events:none;background:oklch(60% .22 25);border-radius:99px;align-items:center;gap:4px;padding:.6cqw 1.5cqw;font-size:max(10px,2cqw);font-weight:700;line-height:1;display:flex;position:absolute;top:-10%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px oklch(60% .22 25/.5)}.chess-game .board-cell:nth-child(-n+32) .chess-check-label{top:auto;bottom:-10%}.chess-game .check-notice{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.chess-game .board-move-choice{color:var(--foreground);border:1px solid var(--border);background:oklch(22% .015 260/.95);border-radius:30px}.chess-game .board-move-choice .dialog-body{padding:20px}.chess-game .promotion-options{gap:8px;margin-top:16px}.chess-game .promotion-options .ui-button{width:54px;height:60px;font-family:var(--chess-symbol-font);color:var(--chess-ink);background:var(--chess-light);border:0;border-radius:16px;padding:0;font-size:38px}@media (width<=719px){.chess-game .board-surface{width:min(calc(100vw - 12px), calc(100cqh - 286px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));border-radius:14px;max-width:100%}.chess-game .chess-frame{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:14px;padding:0}.chess-game .chess-board{border-radius:14px}}@media (prefers-reduced-motion:reduce){.chess-game .chess-board .chess-piece{transition:none}}@media (forced-colors:active){.chess-game .chess-board{forced-color-adjust:none}}.caro-detail-page{--foreground:oklch(98% 0 0);--text-primary:oklch(98% 0 0);--text-secondary:oklch(100% 0 0/.62);--text-muted:oklch(100% 0 0/.45);--primary:oklch(72% .17 60);--primary-hover:oklch(77% .16 65);--primary-foreground:oklch(18% .03 60);--accent-warm:oklch(80% .16 65);--border:oklch(100% 0 0/.12);--glass:oklch(100% 0 0/.07);--glass-hover:oklch(100% 0 0/.12);--glass-raised:oklch(100% 0 0/.1);--glass-edge:inset 0 1px 0 oklch(100% 0 0/.16);--glass-blur:32px;--control-fill:oklch(100% 0 0/.06);--control-selected:oklch(97% 0 0);--control-selected-foreground:oklch(18% .01 260);color:var(--foreground);isolation:isolate;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Be Vietnam Pro,system-ui,sans-serif;position:relative}.caro-detail-page:before{z-index:-1;pointer-events:none;content:"";background:radial-gradient(560px 600px at 100% 24%,oklch(62% .16 60/.16),#0000 80%),radial-gradient(580px 500px at 36% 65%,oklch(55% .16 25/.1),#0000 80%);position:absolute;inset:0}.caro-detail-page .xq-hero{flex-wrap:wrap;display:flex}.caro-preview{flex:380px;max-width:580px}.caro-detail-page .xq-hero-content{flex:360px}.caro-detail-page .xq-introduction h1{font-size:64px;font-weight:700;line-height:1}.caro-detail-page .xq-game-badge{color:oklch(90% .1 75)}.caro-detail-page .xq-back{min-height:38px}.caro-detail-page .xq-mode{min-height:40px}.caro-detail-page .xq-cta{background:var(--primary);height:52px;min-height:52px;box-shadow:inset 0 1px oklch(100% 0 0/.4),0 8px 24px oklch(72% .17 60/.35)}.caro-detail-page .xq-cta:hover{background:var(--primary-hover)}.caro-detail-page .xq-detail-bottom{grid-template-columns:minmax(0,1fr) 280px}.caro-detail-page .xq-tabs [aria-selected=true] .xq-tab-count{color:inherit;background:0 0}.caro-detail-page .caro-preview-surface{background:oklch(55% .08 250/.26);min-height:0}.caro-preview-board{aspect-ratio:1;background:oklch(95% .014 85);border-radius:18px;grid-template:repeat(15,minmax(0,1fr))/repeat(15,minmax(0,1fr));width:100%;display:grid;overflow:hidden;box-shadow:0 12px 30px oklch(0% 0 0/.35);container-type:inline-size}.caro-preview-cell{place-items:center;min-width:0;min-height:0;display:grid;box-shadow:inset -1px -1px oklch(50% .03 250/.22)}.caro-preview-cell.is-winning{background:oklch(85% .15 85/.7)}.caro-detail-page .caro-side-token{--piece-ink:oklch(60% .21 25);background:oklch(95% .014 85);font-family:inherit;font-weight:800}.caro-detail-page .caro-side-token.is-black{--piece-ink:oklch(55% .17 250)}.caro-detail-page .caro-side-token.is-random{--piece-ink:oklch(50% 0 0)}.caro-detail-page .xq-player-dot.is-red{background:oklch(60% .21 25)}.caro-detail-page .xq-player-dot.is-black{background:oklch(55% .17 250)}.caro-rule-icon{color:oklch(75% .17 25);background:oklch(100% 0 0/.08);border-radius:12px;flex:0 0 36px;place-items:center;height:36px;display:grid}.caro-detail-page .xq-rule:nth-child(2n) .caro-rule-icon{color:oklch(75% .12 250)}@media (width<=959px){.caro-detail-page .xq-detail-bottom{grid-template-columns:1fr}}@media (width<=719px){.caro-detail-page{padding:14px 14px 0}.caro-detail-page .caro-preview{flex-basis:100%;max-width:none}.caro-detail-page .caro-preview-surface{padding:16px}.caro-detail-page .xq-introduction h1{font-size:44px}.caro-preview-board{border-radius:14px}}.caro-mark{pointer-events:none;filter:drop-shadow(0 1px 1px oklch(40% .1 250/.25));stroke:currentColor;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;width:76%;height:76%;display:block}.caro-game{background:radial-gradient(550px 600px at 100% 55%,oklch(62% .16 60/.15),#0000 80%),radial-gradient(700px 500px at 20% 0,oklch(58% .14 155/.1),#0000 80%)}.caro-mark.is-x,.caro-side-x{color:oklch(60% .21 25)}.caro-mark.is-o,.caro-side-o{color:oklch(55% .17 250)}.caro-frame{background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.12);border-radius:30px;width:100%;padding:7px;box-shadow:inset 0 1px oklch(100% 0 0/.16),0 30px 60px oklch(0% 0 0/.3)}.caro-board{min-inline-size:0;background:oklch(95% .014 85);border:0;border-radius:24px;grid-auto-rows:minmax(0,1fr);width:100%;margin:0;padding:0;display:grid;overflow:hidden;container-type:inline-size}.caro-board .caro-cell{color:oklch(40% .03 250);appearance:none;cursor:default;background:0 0;border:0;border-radius:0;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:grid;position:relative;box-shadow:inset -1px -1px oklch(50% .03 250/.22)}.caro-board .caro-cell[data-legal=true]{cursor:pointer}.caro-board .caro-cell.is-threat{background:oklch(62% .24 25/.16)}.caro-board .caro-cell.last-square{background:oklch(85% .15 85/.5)}.caro-board .caro-cell.is-winning{background:oklch(85% .15 85/.7)}.caro-board .caro-cell:focus-visible{z-index:2;outline-offset:-3px;outline:3px solid oklch(55% .17 250)}.caro-ghost{pointer-events:none;opacity:0;place-items:center;display:grid;position:absolute;inset:0}@media (hover:hover){.caro-cell[data-legal=true]:hover .caro-ghost{opacity:.25}}.caro-rank,.caro-file{color:oklch(45% .03 250);pointer-events:none;font-size:max(7px,1.25cqw);font-weight:500;line-height:1;position:absolute}.caro-rank{top:2px;left:2px}.caro-file{bottom:2px;right:3px}.caro-block-marker{pointer-events:none;background:oklch(55% .17 250/.45);border-radius:50%;width:26%;height:26%;position:absolute}.caro-threat-label{z-index:3;color:#fff;white-space:nowrap;pointer-events:none;background:oklch(60% .22 25);border-radius:99px;padding:.7cqw 1.6cqw;font-family:inherit;font-size:max(9px,1.8cqw);font-weight:700;line-height:1.4;position:absolute;bottom:95%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px oklch(60% .22 25/.35)}.caro-threat-label.is-below{top:95%;bottom:auto}.caro-game .board-surface{width:min(100cqw - 70px,100cqh - 72px)}.caro-game .kv-board-zoom{height:100%}.caro-game .kv-board-scroll{border-radius:30px;height:100%}.caro-game .kv-board-zoom-toolbar{justify-content:flex-end;position:absolute;bottom:-32px;left:0;right:0}.caro-game .kv-board-zoom-toolbar .ui-button{height:28px;padding:0 12px;font-size:11px}.caro-game .kv-board-zoomed .kv-board-zoom-content{min-width:max(640px,150%)}.caro-game .caro-player-mark{background:oklch(95% .014 85)}.caro-game .caro-player-mark .caro-mark{width:88%;height:88%}.caro-game .chess-move{font-family:inherit}.caro-game .chess-moves-columns .caro-side-x{color:oklch(72% .18 25)}.caro-game .chess-moves-columns .caro-side-o{color:oklch(75% .12 250)}@media (width<=719px){.caro-game .board-surface{width:min(calc(100vw - 12px), calc(100cqh - 316px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-width:100%}.caro-game .chess-board-area{padding-bottom:36px}.caro-frame{box-shadow:none;background:0 0;border:0;border-radius:14px;padding:0}.caro-board,.caro-game .kv-board-scroll{border-radius:14px}.caro-game .kv-board-zoom-toolbar small{max-width:65%;font-size:10px}}@media (forced-colors:active){.caro-board,.caro-preview-board,.caro-mark{forced-color-adjust:none}}.pb-shell.pb-ai-shell{color:oklch(98% 0 0);background:oklch(13% .01 260)}.pb-ai-shell:before{display:none}.pb-ai-shell .live-ambient{position:fixed}.pb-ai-shell .live-ambient i:first-child{background:oklch(55% .15 280/.32);width:640px;height:640px;top:-240px;left:-180px}.pb-ai-shell .live-ambient i:nth-child(2){background:oklch(62% .16 60/.3);width:560px;height:560px;top:12%;bottom:auto;right:-160px}.pb-ai-shell .live-ambient i:nth-child(3){background:oklch(55% .13 190/.24);width:520px;height:520px;bottom:-260px;left:30%}.pb-ai-shell .pb-body>main,.pb-shell.pb-ai-shell .pb-body{padding:0}.ao-page,.ao-profile,.ao-game-menu{--ao-ink:oklch(98% 0 0);--ao-dim:oklch(100% 0 0/.62);--ao-muted:oklch(100% 0 0/.55);--ao-border:oklch(100% 0 0/.12);--ao-orange:oklch(72% .17 60);--ao-orange-ink:oklch(18% .03 60);-webkit-font-smoothing:antialiased;color:var(--ao-ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Be Vietnam Pro,system-ui,sans-serif;font-size:15px;line-height:1.5}.ao-page{z-index:1;flex-direction:column;gap:28px;width:100%;max-width:1240px;margin:0 auto;padding:28px 36px 48px;display:flex;position:relative}.ao-page :is(h1,p),.ao-profile :is(h2,h3,p,blockquote){margin:0;padding:0;font-family:inherit}.ao-page button,.ao-profile button{cursor:pointer;font-family:inherit;transition:background .15s,color .15s,opacity .15s}.ao-page :is(button,a):focus-visible,.ao-profile button:focus-visible{outline:2px solid var(--ao-orange);outline-offset:4px}.ao-page button:disabled,.ao-profile button:disabled{cursor:default}.ao-back{min-height:38px;color:var(--ao-ink);border:1px solid var(--ao-border);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:oklch(100% 0 0/.08);border-radius:99px;align-items:center;gap:4px;padding:0 14px 0 10px;font-size:14px;font-weight:500;display:inline-flex;box-shadow:inset 0 1px oklch(100% 0 0/.12)}.ao-back:hover{color:var(--ao-ink);background:oklch(100% 0 0/.14)}.ao-heading{flex-direction:column;gap:10px;display:flex}.ao-heading-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ao-heading h1{letter-spacing:-.045em;flex:1;min-width:0;font-size:56px;font-weight:700;line-height:1}.ao-heading>p{max-width:520px;color:var(--ao-dim);text-wrap:pretty;font-size:17px;line-height:1.5}.ao-game-trigger{min-height:40px;color:var(--ao-ink);border:1px solid var(--ao-border);background:oklch(100% 0 0/.08);border-radius:99px;flex-shrink:0;align-items:center;gap:8px;padding:0 14px 0 16px;font-size:14px;font-weight:600;display:flex}.ao-game-trigger:hover{background:oklch(100% 0 0/.14)}.ao-game-mark{width:22px;height:22px;color:oklch(.88 .1 var(--ao-game-hue));background:oklch(.42 .09 var(--ao-game-hue) / .7);border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.ao-game-menu[data-slot=dropdown-menu-content]{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:oklch(22% .01 260/.92);border:1px solid oklch(100% 0 0/.14);border-radius:20px;min-width:190px;padding:6px;box-shadow:0 20px 40px oklch(0% 0 0/.45)}.ao-game-menu [data-slot=dropdown-menu-radio-item]{min-height:40px;color:var(--ao-ink);border-radius:14px;gap:10px;padding-block:0;font-size:14px}.ao-game-menu [data-slot=dropdown-menu-radio-item][data-checked]{background:oklch(100% 0 0/.08)}.ao-game-menu [data-slot=dropdown-menu-radio-item][data-highlighted]{background:oklch(100% 0 0/.1)}.ao-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:12px;display:grid}.ao-card{-webkit-backdrop-filter:blur(28px)saturate(170%);backdrop-filter:blur(28px)saturate(170%);background:oklch(100% 0 0/.06);border:1px solid oklch(100% 0 0/.1);border-radius:28px;flex-direction:column;gap:14px;min-width:0;padding:16px;transition:background .15s;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.12)}.ao-card:hover{background:oklch(100% 0 0/.1)}.ao-card-overview{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:16px;flex-direction:column;flex:1;gap:14px;padding:0;display:flex}.ao-card[data-locked=true] .ao-card-overview{opacity:.5}.ao-card-identity{align-items:center;gap:12px;width:100%;display:flex}.ao-avatar{width:52px;height:52px;color:oklch(.95 .06 var(--ao-hue));background:oklch(.5 .12 var(--ao-hue) / .75);border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.22)}.ao-card-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ao-card-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.ao-card-name>span{font-variant-numeric:tabular-nums;color:var(--ao-muted);font-size:13px}.ao-badge{border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.ao-beaten{color:oklch(85% .15 150);background:oklch(72% .17 150/.25)}.ao-locked{color:oklch(100% 0 0/.7);background:oklch(100% 0 0/.1)}.ao-card-description{min-height:39px;color:var(--ao-dim);text-wrap:pretty;flex:1;font-size:13px;line-height:1.5}.ao-strength{grid-template-columns:repeat(6,1fr);gap:3px;width:100%;display:grid}.ao-strength>span{background:oklch(100% 0 0/.12);border-radius:99px;height:4px}.ao-strength>.is-filled{background:var(--ao-orange)}.ao-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.ao-button{white-space:nowrap;border:0;border-radius:99px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 10px;font-size:14px;font-weight:500;line-height:1.4;display:flex}.ao-secondary{color:var(--ao-ink);background:oklch(100% 0 0/.1)}.ao-secondary:hover{background:oklch(100% 0 0/.18)}.ao-primary{color:var(--ao-orange-ink);background:var(--ao-orange);font-weight:600;box-shadow:inset 0 1px oklch(100% 0 0/.4)}.ao-primary:hover:not(:disabled){background:oklch(77% .16 65)}.ao-primary:disabled{opacity:.5}.ao-disabled{color:oklch(100% 0 0/.45);background:oklch(100% 0 0/.05)}.ui-dialog.ao-profile{-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:oklch(20% .01 260/.9);border:1px solid oklch(100% 0 0/.14);border-radius:32px;width:min(420px,100% - 48px);max-height:calc(100dvh - 48px);padding:24px 20px 20px;box-shadow:inset 0 1px oklch(100% 0 0/.18),0 30px 80px oklch(0% 0 0/.5)}.ao-profile[open]{flex-direction:column;gap:18px;display:flex}.ao-profile::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:oklch(0% 0 0/.55)}.ao-close{width:34px;height:34px;color:var(--ao-ink);background:oklch(100% 0 0/.1);border:0;border-radius:99px;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.ao-close:hover{background:oklch(100% 0 0/.18)}.ao-profile-heading{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.ao-profile-heading .ao-avatar{width:88px;height:88px;box-shadow:inset 0 1px 0 oklch(100% 0 0/.24), 0 12px 30px oklch(.5 .14 var(--ao-hue) / .45);font-size:34px}.ao-profile-heading h2{letter-spacing:-.02em;font-size:22px;font-weight:700}.ao-profile-heading p{font-variant-numeric:tabular-nums;color:var(--ao-muted);margin-top:2px;font-size:14px}.ao-profile-heading blockquote{color:oklch(100% 0 0/.75);text-wrap:pretty;max-width:300px;font-size:14px;font-style:italic;line-height:1.5}.ao-profile-section{flex-direction:column;gap:8px;display:flex}.ao-profile-section h3{color:var(--ao-muted);font-size:13px;font-weight:400}.ao-records{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ao-record{background:oklch(100% 0 0/.06);border-radius:18px;flex-direction:column;gap:1px;padding:10px 12px;display:flex}.ao-record strong{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.ao-record-wins strong{color:oklch(85% .15 150)}.ao-record-losses strong{color:oklch(75% .15 25)}.ao-record>span{color:oklch(100% 0 0/.5);font-size:12px}.ao-skills{gap:10px}.ao-skill{align-items:center;gap:12px;display:flex}.ao-skill>span:first-child{flex-shrink:0;width:92px;font-size:14px}.ao-skill>span:last-child{font-variant-numeric:tabular-nums;color:oklch(100% 0 0/.6);text-align:right;width:28px;font-size:13px}.ao-skill-track{appearance:none;background:oklch(100% 0 0/.1);border:0;border-radius:99px;flex:1;height:6px;overflow:hidden}.ao-skill-track::-webkit-meter-bar{height:100%;box-shadow:none;background:oklch(100% 0 0/.1);border:0;border-radius:99px}.ao-skill-track::-webkit-meter-optimum-value{background:var(--ao-orange);border-radius:99px}.ao-skill-track::-moz-meter-bar{background:var(--ao-orange);border-radius:99px}.ao-opening{background:oklch(100% 0 0/.05);border-radius:18px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.ao-opening>span{color:oklch(100% 0 0/.5);font-size:12px}.ao-opening strong{font-size:15px;font-weight:500}.ao-profile .ao-unlock{color:oklch(100% 0 0/.7);text-align:center;background:oklch(100% 0 0/.05);border:1px solid oklch(100% 0 0/.1);border-radius:20px;padding:14px;font-size:14px;line-height:1.5}.ao-unlock strong{color:var(--ao-ink)}.ao-profile .ao-play{flex-shrink:0;min-height:52px;font-size:16px;box-shadow:inset 0 1px oklch(100% 0 0/.4),0 8px 24px oklch(72% .17 60/.35)}.ao-elo-control{background:oklch(0% 0 0/.25);border-radius:99px;align-items:center;gap:8px;padding:6px;display:flex}.ao-elo-control button{width:40px;height:40px;color:var(--ao-ink);background:oklch(100% 0 0/.12);border:0;border-radius:99px;flex-shrink:0;place-items:center;padding:0;display:grid}.ao-elo-control button:hover:not(:disabled){background:oklch(100% 0 0/.2)}.ao-elo-control button:disabled{opacity:.35}.ao-elo-control output{font-variant-numeric:tabular-nums;text-align:center;flex:1;font-size:20px;font-weight:600}.ao-notice{color:var(--ao-dim);border:1px solid var(--ao-border);background:oklch(100% 0 0/.05);border-radius:20px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.ao-notice p{flex:1;min-width:min(100%,220px)}.ao-profile-unavailable{color:var(--ao-dim);text-align:center;gap:10px;font-size:13px;display:grid}@media (width<=767px){.pb-ai-shell .pb-mobile-header{display:none}.ao-page{padding:max(14px, env(safe-area-inset-top)) 14px calc(110px + env(safe-area-inset-bottom))}.ao-heading h1{font-size:40px}.ao-button,.ao-back,.ao-game-trigger{min-height:44px}.ui-dialog.ao-profile{width:100%;max-width:420px;max-height:calc(100dvh - env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom));border-radius:32px 32px 0 0;margin:0 auto;top:auto;bottom:0}.ao-close,.ao-elo-control button{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.ao-page *,.ao-profile[open]{transition:none;animation:none}}.board-frame[data-board-artwork=true],.live-board-felt[data-board-artwork=true]{width:100%;aspect-ratio:var(--xq-artwork-ratio);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:block;position:relative}.xiangqi-board-artwork{pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.board-frame[data-board-artwork=true] .xiangqi-board,[data-board-artwork=true] .live-river-board{top:var(--xq-grid-top);left:var(--xq-grid-left);width:var(--xq-grid-width);height:var(--xq-grid-height);background:0 0;border:0;border-radius:0;position:absolute;overflow:visible}.board-frame[data-board-artwork=true] .xq-file-coordinates,[data-board-artwork=true] .live-board-files{left:var(--xq-grid-left);width:var(--xq-grid-width);color:var(--xq-coordinate-color,#3b220d);text-shadow:var(--xq-coordinate-shadow,0 1px 0 #f9db9e80);padding:0;font-size:clamp(8px,2cqw,11px);font-weight:600;position:absolute}[data-board-artwork=true] .xq-file-coordinates-top,[data-board-artwork=true] .live-board-files:first-of-type{top:2%}[data-board-artwork=true] .xq-file-coordinates-bottom,[data-board-artwork=true] .live-board-files:last-child{bottom:2%}.xiangqi-piece-artwork{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain;filter:drop-shadow(0 1px 1px #32170140);width:98%;height:98%;display:block}.live-piece .xiangqi-piece-artwork{width:116%;max-width:none;height:116%;box-shadow:none;flex-shrink:0}.xq-capture-piece .xiangqi-piece-artwork{width:19px;height:19px}.board-frame[data-board-artwork=true] .selected-square:after{border-color:#316a36}.board-frame[data-board-artwork=true] .last-square:after{border-color:#735024}[data-board-artwork=true] .legal-marker{background:#34572b;box-shadow:0 0 0 3px #34572b30}[data-board-artwork=true] .capture-marker{border-color:#34572b}[data-board-artwork=true] .check-square:after{background:#c128284d}.xq-board-set-picker{border:0;border-bottom:1px solid var(--border);min-width:0;margin:0;padding:8px 8px 12px}.xq-board-set-picker legend{color:var(--text-primary);padding:0;font-size:14px;font-weight:600}.xq-board-set-options{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:12px;display:grid}.xq-board-set-option{cursor:pointer;background:var(--surface-hover);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;min-height:44px;padding:8px;display:flex}.xq-board-set-option:hover{border-color:var(--text-muted)}.xq-board-set-option:has(input:checked){background:var(--primary-soft);border-color:var(--accent-warm,var(--primary))}.xq-board-set-option:has(input:focus-visible){outline:2px solid var(--ring);outline-offset:3px}.xq-board-set-preview{justify-content:center;align-items:center;height:126px;display:flex;position:relative}.xq-board-set-preview>img{object-fit:contain;width:auto;max-width:100%;height:100%;display:block}.xq-board-set-check{color:#172619;border:2px solid var(--surface);background:#c6d9ad;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:0;right:0}.xq-board-set-loading{color:#fff;background:#0007;border-radius:8px;place-items:center;display:grid;position:absolute;inset:0}.xq-board-set-loading svg{animation:1s linear infinite xq-board-set-loading}.xq-board-set-name{color:var(--text-primary);text-align:center;font-size:13px;font-weight:500;line-height:1.4}.xq-board-set-status{min-height:18px;color:var(--text-secondary);margin:10px 0 0;font-size:12px;line-height:1.5}.xq-board-set-picker>.ui-button{margin-top:8px}.ui-dialog.xq-arena-settings,.ui-dialog.xq-board-set-dialog{border:1px solid var(--border);border-radius:24px;width:min(440px,100vw - 32px);height:auto;max-height:min(85dvh,800px);margin:0;padding:20px;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}.ui-dialog.xq-arena-settings[open]{animation:none}.xq-board-set-dialog .xq-sheet-heading{margin-bottom:16px}.xq-board-set-dialog .xq-board-set-picker{border-bottom:0}@keyframes xq-board-set-loading{to{transform:rotate(360deg)}}@media (width<=600px){.ui-dialog.xq-arena-settings,.ui-dialog.xq-board-set-dialog{width:100%;max-height:90dvh;padding:20px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-bottom:0;border-radius:24px 24px 0 0;inset:auto 0 0;transform:none}}@media (prefers-reduced-motion:reduce){.xq-board-set-loading svg{animation:none}}html[data-reduced-motion=true] .xq-board-set-loading svg{animation:none}.specialty-preview,.specialty-game{--board-wood:oklch(80% .075 75);--board-ink:oklch(28% .035 60);--piece-cream:oklch(96% .025 85);--piece-dark:oklch(24% .012 260);--piece-red:oklch(57% .2 25);--piece-blue:oklch(52% .17 250)}.specialty-detail-page .specialty-preview{flex:380px;max-width:580px}.specialty-preview-surface{background:oklch(55% .1 80/.28);min-height:0}.specialty-preview[data-game=checkers] .specialty-preview-surface{background:oklch(50% .12 330/.3)}.specialty-preview[data-game=reversi] .specialty-preview-surface{background:oklch(50% .1 170/.3)}.specialty-preview[data-game=janggi] .specialty-preview-surface{background:oklch(55% .13 15/.28)}.specialty-preview[data-game=shogi] .specialty-preview-surface{background:oklch(55% .12 45/.3)}.specialty-preview[data-game=math-chess] .specialty-preview-surface{background:oklch(50% .1 250/.28)}.specialty-preview[data-game=chinese-checkers] .specialty-preview-surface{background:oklch(50% .1 130/.3)}.specialty-preview[data-game=backgammon] .specialty-preview-surface{background:oklch(50% .1 40/.3)}.specialty-preview[data-game=monopoly] .specialty-preview-surface{background:oklch(50% .1 190/.3)}.specialty-preview[data-game=ludo] .specialty-preview-surface{background:oklch(50% .12 260/.3)}.specialty-preview-board{border-radius:18px;width:100%;overflow:hidden;box-shadow:0 12px 30px oklch(0% 0 0/.35);container-type:inline-size}.specialty-preview-board>img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.specialty-preview .board-frame{max-width:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:0}.specialty-preview :is(.kv-board-zoom-toolbar,.kv-shogi-hand,.kv-board-confirm,.kv-backgammon-score){display:none}.specialty-preview .kv-special-board{border:0;border-radius:0}.specialty-preview .board-cell{cursor:default}.specialty-option-grid{gap:6px;display:grid}.specialty-option{text-align:center;border-radius:16px;justify-content:center;align-items:center;min-height:44px;padding:8px 4px;font-size:13px;font-weight:600;display:flex}.specialty-rule-token{color:oklch(90% .09 75);background:oklch(72% .17 60/.15);border:1px solid oklch(80% .12 65/.25);border-radius:14px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-family:Songti SC,Hiragino Mincho ProN,Segoe UI Symbol,serif;font-size:23px;font-weight:600;display:grid}.specialty-detail-page .xq-rated:has(input:disabled){cursor:default;opacity:.65}.specialty-game .chess-stage{grid-template:"board heading"40px"board opponent""board controls""board panels"minmax(0,1fr)"board player"/minmax(0,1fr) 360px}.specialty-game .board-surface{--board-extra:18px;width:min(calc(100cqw - 70px), calc((100cqh - var(--board-extra)) * var(--specialty-ratio,1)));aspect-ratio:auto;max-width:100%;height:auto;container-type:inline-size}.specialty-game .board-surface:has(.kv-board-zoom){--board-extra:60px}.specialty-game .board-surface:has(.kv-shogi-hand){--board-extra:90px}.specialty-game .board-surface[data-game=backgammon],.specialty-game .board-surface[data-game=chinese-checkers]{--board-extra:110px}.specialty-game .board-frame{background:oklch(100% 0 0/.07);border:1px solid oklch(100% 0 0/.12);border-radius:26px;width:100%;max-width:none;margin:0;padding:7px;box-shadow:inset 0 1px oklch(100% 0 0/.16),0 24px 60px oklch(0% 0 0/.3)}.specialty-game .board{border-radius:20px}.specialty-game :where(.board[data-interactive=true]) .board-cell{cursor:pointer}.specialty-game .kv-board-zoom-toolbar{min-height:44px;padding:0 8px}.specialty-game .kv-board-zoom-toolbar .ui-button{height:44px;color:var(--text-secondary);font-size:12px}.specialty-game .kv-board-scroll{border-radius:24px;max-height:calc(100dvh - 110px)}.specialty-game .kv-special-board{border:7px solid oklch(100% 0 0/.08);border-radius:24px;box-shadow:0 24px 60px oklch(0% 0 0/.3)}.specialty-game .kv-shogi-hand{background:oklch(100% 0 0/.08);border-radius:16px;max-height:90px;overflow:auto}.specialty-game .kv-shogi-hand .ui-button{min-width:44px;height:auto;min-height:44px;padding:6px 12px;font-size:13px}.specialty-game .promotion-options{flex-wrap:wrap}.specialty-game .promotion-options .ui-button{width:auto;height:auto;min-height:48px;padding:10px 14px;font-family:inherit;font-size:15px}.specialty-controls{grid-area:controls;min-height:0;max-height:28dvh;overflow:auto}.specialty-controls:empty{display:none}.specialty-controls>:is(.kv-game-score,.kv-game-context,p){padding:10px 14px;font-size:12px}.specialty-controls .kv-game-actions{background:0 0;border:0;margin:0;padding:10px}.specialty-controls .kv-action-buttons{gap:6px}.specialty-game[data-game=janggi] .kv-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.specialty-controls .kv-game-actions .ui-button{white-space:normal;border-radius:16px;max-width:100%;height:auto;min-height:44px;padding:9px 14px;font-size:13px}.specialty-controls .kv-game-actions .ui-button:first-child{color:var(--primary-foreground);background:var(--primary)}.specialty-controls .kv-dice-result{color:var(--foreground);justify-content:center;padding:0 0 8px}.specialty-controls .kv-scoring{font-size:12px}.specialty-controls .kv-scoring p{margin-top:5px}.specialty-review-notice{color:var(--text-secondary)}.specialty-opponents{grid-area:opponent;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;display:grid}.specialty-opponents .chess-player{border-radius:20px;grid-area:auto;padding:8px}.specialty-opponents .chess-player-main{flex-wrap:wrap;gap:6px}.specialty-opponents .chess-player-avatar{flex-basis:28px;width:28px;height:28px;font-size:12px}.specialty-opponents .chess-player-name strong{font-size:12px}.specialty-opponents .chess-clock{min-width:0;height:28px;margin-left:auto;padding:0 10px;font-size:16px}.specialty-opponents .chess-captures{display:none}.specialty-player-symbol{font-family:Songti SC,Segoe UI Symbol,serif}.specialty-player-symbol[data-game=janggi].specialty-symbol-w,.specialty-player-symbol[data-game=math-chess].specialty-symbol-w{color:var(--piece-blue)}.specialty-player-symbol[data-game=janggi].specialty-symbol-b,.specialty-player-symbol[data-game=math-chess].specialty-symbol-b{color:var(--piece-red)}.specialty-game .chess-captured>:is(.kv-janggi-piece,.kv-shogi-piece,.kv-draught,.kv-math-piece){border-width:1px;font-size:10px}.specialty-game .chess-arena-title h1{text-overflow:ellipsis;flex-shrink:1;overflow:hidden}.specialty-moves-heading,.specialty-moves-list>li{grid-template-columns:28px 80px minmax(0,1fr);align-items:center;gap:4px;display:grid}.specialty-moves-heading{min-height:34px;color:var(--text-secondary);border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 10px;font-size:11px}.specialty-moves-list{flex:1;min-height:0;margin:0;padding:4px 6px;list-style:none;position:relative;overflow:auto}.specialty-moves-list>li{min-height:42px;font-size:12px}.specialty-moves-list>li>span:first-child{color:var(--text-muted);text-align:center}.specialty-move-side{align-items:center;gap:6px;min-width:0;font-size:11px;display:flex;overflow:hidden}.specialty-move-side .kv-seat-dot{width:8px;height:8px}.specialty-moves-list button{min-height:40px;color:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:7px;font-size:12px}.specialty-moves-list button:hover{background:var(--glass-hover)}.specialty-moves-list button[aria-current=step]{background:var(--glass-raised);font-weight:600}.specialty-moves-list>.chess-moves-empty{padding:20px 10px;display:block}.specialty-sheet .specialty-moves{height:min(480px,65dvh)}:is(.specialty-preview,.specialty-game) :is(.go-board,.math-board,.janggi-board,.shogi-board){background:var(--board-wood)}:is(.specialty-preview,.specialty-game) .go-board{background:oklch(78% .1 78)}:is(.specialty-preview,.specialty-game) .grid-line:before,:is(.specialty-preview,.specialty-game) .grid-line:after{background:oklch(30% .04 60/.65)}:is(.specialty-preview,.specialty-game) .checkers-board .light-square{background:oklch(86% .045 85)}:is(.specialty-preview,.specialty-game) .checkers-board .dark-square{background:oklch(50% .07 50)}:is(.specialty-preview,.specialty-game) .checkers-board .selected-square{background:oklch(70% .15 80)}:is(.specialty-preview,.specialty-game) .kv-draught{border:4px double oklch(35% .02 65);width:76%;height:76%;font-size:4cqw;box-shadow:0 3px oklch(20% .02 60/.75),0 5px 8px oklch(0% 0 0/.25)}:is(.specialty-preview,.specialty-game) .kv-draught-w{color:var(--board-ink);background:var(--piece-cream)}:is(.specialty-preview,.specialty-game) .kv-draught-b{color:var(--piece-cream);background:var(--piece-dark);border-color:oklch(70% .025 75)}:is(.specialty-preview,.specialty-game) .reversi-board{background:oklch(48% .1 160);border:1px solid oklch(20% .05 160/.55);gap:0}:is(.specialty-preview,.specialty-game) .reversi-board .board-cell{border:1px solid oklch(20% .05 160/.35)}:is(.specialty-preview,.specialty-game) .stone-w{background:radial-gradient(circle at 35% 28%, oklch(40% .012 260), var(--piece-dark) 65%)}:is(.specialty-preview,.specialty-game) .stone-b{background:radial-gradient(circle at 35% 28%, white, var(--piece-cream) 70%)}:is(.specialty-preview,.specialty-game) .kv-janggi-piece{background:var(--piece-cream);border:0;width:84%;height:84%;font-size:4.7cqw}:is(.specialty-preview,.specialty-game) .kv-janggi-w{color:var(--piece-blue)}:is(.specialty-preview,.specialty-game) .kv-janggi-b{color:var(--piece-red)}:is(.specialty-preview,.specialty-game) .kv-shogi-piece{background:linear-gradient(130deg,oklch(94% .055 80),oklch(80% .09 75));font-size:4.7cqw}:is(.specialty-preview,.specialty-game) .kv-math-piece{background:var(--piece-cream);border:2px solid;font-family:Be Vietnam Pro,sans-serif;font-size:4cqw}:is(.specialty-preview,.specialty-game) .kv-math-piece.kv-seat-w{color:var(--piece-blue)}:is(.specialty-preview,.specialty-game) .kv-math-piece.kv-seat-b{color:var(--piece-red)}:is(.specialty-preview,.specialty-game) .kv-star-surface{background:oklch(42% .08 130)}:is(.specialty-preview,.specialty-game) .kv-star-lines{fill:oklch(68% .065 90/.3);stroke:oklch(85% .06 85/.4)}:is(.specialty-preview,.specialty-game) .kv-star-hole:not([class*=kv-seat-]){background:oklch(80% .045 85);border-color:oklch(90% .035 85);box-shadow:inset 0 2px 3px oklch(25% .04 90/.65)}:is(.specialty-preview,.specialty-game) .kv-backgammon-table{background:oklch(80% .075 75);border-color:oklch(34% .06 38)}:is(.specialty-preview,.specialty-game) .kv-backgammon-point:before{background:oklch(45% .11 25)}:is(.specialty-preview,.specialty-game) .kv-backgammon-point:nth-child(2n):before{background:oklch(45% .08 190)}:is(.specialty-preview,.specialty-game) .kv-backgammon-bar{background:oklch(34% .06 38)}:is(.specialty-preview,.specialty-game) .kv-checker-black{background:radial-gradient(oklch(36% .02 260), var(--piece-dark))}:is(.specialty-preview,.specialty-game) .kv-monopoly-board{background:oklch(38% .045 160);gap:1px;padding:6px}:is(.specialty-preview,.specialty-game) .kv-monopoly-center{color:oklch(48% .17 25);background:oklch(90% .035 150)}:is(.specialty-preview,.specialty-game) .kv-monopoly-center>span{color:oklch(32% .035 160)}:is(.specialty-preview,.specialty-game) .kv-property-space{color:oklch(26% .035 160);background:oklch(94% .02 130)}:is(.specialty-preview,.specialty-game) .kv-property-space>small{color:oklch(35% .045 160)}:is(.specialty-preview,.specialty-game) .kv-property-space strong{font-size:max(6px,1.1cqw)}:is(.specialty-preview,.specialty-game) .kv-ludo-board{background:oklch(97% .005 90)}:is(.specialty-preview,.specialty-game) .kv-ludo-yard{border-width:max(5px,1.5cqw)}:is(.specialty-preview,.specialty-game) .kv-ludo-yard-unused{--seat-color:oklch(72% .11 255);opacity:.6}:is(.specialty-preview,.specialty-game) .kv-ludo-yard-unused.kv-ludo-yard-3{--seat-color:oklch(80% .13 90)}:is(.specialty-preview,.specialty-game) .kv-horse{font-size:5cqw}@media (width>=720px) and (width<=1179px){.specialty-game .chess-stage{grid-template-columns:minmax(0,1fr) 320px}}@media (width>=720px) and (height<=559px){.specialty-game .chess-stage{grid-template-rows:32px auto auto minmax(0,1fr) auto;gap:5px 10px}.specialty-controls{max-height:25dvh}.specialty-opponents{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.specialty-opponents .chess-player{padding:4px}.specialty-opponents .chess-player-avatar{display:none}.specialty-opponents .chess-player-main{gap:2px}.specialty-opponents .chess-clock{height:22px;font-size:13px}.specialty-game .board-surface[data-game=backgammon]{--board-extra:88px}}@media (width<=719px){.pb-shell:has(.specialty-game) .pb-mobile-header{display:none}.specialty-detail-page .specialty-preview{flex-basis:100%;max-width:none}.specialty-preview-surface{padding:16px}.specialty-game .chess-stage{grid-template:"heading" 50px "ribbon" 36px "opponent" auto "board" minmax(0, 1fr) "player" auto "controls" auto "status" auto "actions" calc(62px + env(safe-area-inset-bottom)) / minmax(0, 1fr)}.specialty-game .chess-board-area{min-height:0;padding:4px 6px;container-type:size}.specialty-game .board-surface{--board-extra:10px;width:min(100cqw, calc((100cqh - var(--board-extra)) * var(--specialty-ratio,1)));border-radius:14px}.specialty-game .board-surface:has(.kv-board-zoom){--board-extra:48px}.specialty-game .board-surface:has(.kv-shogi-hand){--board-extra:70px}.specialty-game .board-surface[data-game=chinese-checkers]{--board-extra:100px}.specialty-game .board-surface[data-game=backgammon]{--board-extra:84px}.specialty-game :is(.board-frame,.kv-special-board){border-width:0;border-radius:14px;padding:0}.specialty-game .board{border-radius:14px}.specialty-game .kv-board-scroll{border-radius:14px;max-height:45dvh}.specialty-controls{border-radius:20px;max-height:min(160px,25dvh);margin:0 8px}.specialty-controls .kv-game-actions{padding:8px}.specialty-controls .kv-game-context{padding:6px 12px}.specialty-opponents{gap:0;display:flex;overflow-x:auto}.specialty-opponents .chess-player{flex:1 0 128px}.specialty-opponents .chess-player-main{height:auto;min-height:58px}.specialty-opponents .chess-player-name strong{font-size:12px}.specialty-game .chess-player-main{height:52px}.specialty-game .kv-backgammon-score{padding:6px 10px;font-size:12px}.specialty-game .kv-backgammon-table{border-width:5px}.specialty-game .kv-board-confirm{gap:4px;padding:6px;font-size:11px}.specialty-game .kv-board-confirm .ui-button{height:44px;padding:6px 10px;font-size:12px}.specialty-game .chess-mobile-status{height:36px;min-height:36px;margin:2px 12px}}@media (prefers-reduced-motion:reduce){.specialty-game *,.specialty-detail-page *{scroll-behavior:auto}}@media (forced-colors:active){:is(.specialty-preview,.specialty-game) :is(.board,.kv-special-board){forced-color-adjust: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-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
