/*! tailwindcss v4.3.2 | 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-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-950:oklch(26.2% .051 172.552);--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-2xl:1rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.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-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-2{height:calc(var(--spacing) * 2)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.h-px{height:1px}.max-h-\[min\(85dvh\,46rem\)\]{max-height:min(85dvh,46rem)}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-\[min\(18rem\,calc\(100vw-1rem\)\)\]{width:min(18rem,100vw - 1rem)}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.min-w-44{min-width:calc(var(--spacing) * 44)}.min-w-52{min-width:calc(var(--spacing) * 52)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.touch-none{touch-action:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-amber-400\/20{border-color:#fcbb0033}@supports (color:color-mix(in lab,red,red)){.border-amber-400\/20{border-color:color-mix(in oklab,var(--color-amber-400) 20%,transparent)}}.border-border,.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--border) 70%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive) 30%,transparent)}}.border-emerald-400\/20{border-color:#00d29433}@supports (color:color-mix(in lab,red,red)){.border-emerald-400\/20{border-color:color-mix(in oklab,var(--color-emerald-400) 20%,transparent)}}.border-emerald-500\/25{border-color:#00bb7f40}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/25{border-color:color-mix(in oklab,var(--color-emerald-500) 25%,transparent)}}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background) 80%,transparent)}}.bg-background\/85{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/85{background-color:color-mix(in oklab,var(--background) 85%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-emerald-950\/75{background-color:#002c22bf}@supports (color:color-mix(in lab,red,red)){.bg-emerald-950\/75{background-color:color-mix(in oklab,var(--color-emerald-950) 75%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary) 20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.fill-current{fill:currentColor}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-0{padding-top:0}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-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-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-amber-800{color:var(--color-amber-800)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_60px_-28px_rgba\(0\,0\,0\,\.45\)\]{--tw-shadow:0 18px 60px -28px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:bg-accent:hover{background-color:var(--accent-ui)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:bg-white\/16:hover{background-color:#ffffff29}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/16:hover{background-color:color-mix(in oklab,var(--color-white) 16%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:bg-accent:focus{background-color:var(--accent-ui)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/30:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/25:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/25:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 25%, transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.focus-visible\:ring-ring\/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)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--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)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent-ui)}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-emerald-100:is(.dark *){color:var(--color-emerald-100)}.dark\:text-emerald-300:is(.dark *){color:var(--color-emerald-300)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\+div\]\:pl-7>svg+div{padding-left:calc(var(--spacing) * 7)}}:root{--radius:.75rem;--background:oklch(98.5% .008 85);--foreground:oklch(22% .025 155);--card:oklch(99.5% .005 85);--card-foreground:oklch(22% .025 155);--popover:oklch(99.5% .005 85);--popover-foreground:oklch(22% .025 155);--primary:oklch(43% .11 157);--primary-foreground:oklch(98.5% .008 85);--secondary:oklch(94% .025 92);--secondary-foreground:oklch(29% .04 155);--muted:oklch(95.5% .014 90);--muted-foreground:oklch(50% .025 155);--accent-ui:oklch(92% .045 92);--accent-foreground:oklch(28% .045 155);--destructive:oklch(59% .22 27);--border:oklch(86% .025 90);--input:oklch(82% .025 90);--ring:oklch(55% .12 157)}.dark,.table-page,.replay-page{--background:oklch(20% .035 158);--foreground:oklch(97% .01 90);--card:oklch(24% .04 158);--card-foreground:oklch(97% .01 90);--popover:oklch(22% .04 158);--popover-foreground:oklch(97% .01 90);--primary:oklch(75% .14 85);--primary-foreground:oklch(20% .035 158);--secondary:oklch(31% .045 158);--secondary-foreground:oklch(95% .01 90);--muted:oklch(30% .035 158);--muted-foreground:oklch(75% .025 100);--accent-ui:oklch(34% .055 158);--accent-foreground:oklch(97% .01 90);--destructive:oklch(67% .2 25);--border:oklch(100% 0 0/.14);--input:oklch(100% 0 0/.18);--ring:oklch(75% .14 85)}@keyframes ui-enter{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}[data-radix-dialog-overlay][data-state=open]{animation:.16s ease-out ui-fade}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@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}:root{--felt: #14532d;--felt-dark: #0e3c21;--tile-bg: #fdf6e3;--tile-edge: #d6c9a5;--tile-back: #2f6f4f;--ink-red: #b91c1c;--ink-green: #15803d;--ink-blue: #1d4ed8;--ink-black: #1f2937;--accent: #f59e0b;--panel: rgba(0, 0, 0, .35);--tile-scale: 1;--cjk-font: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", "WenQuanYi Zen Hei", sans-serif}.tile{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:calc(2.4rem * var(--tile-scale));height:calc(3.3rem * var(--tile-scale));padding:0;border:1px solid var(--tile-edge);border-radius:.35rem;background:var(--tile-bg);box-shadow:0 2px #00000040;font-family:var(--cjk-font);-webkit-user-select:none;user-select:none;vertical-align:bottom}.tile-sm{width:calc(1.7rem * var(--tile-scale));height:calc(2.35rem * var(--tile-scale));border-radius:.25rem}button.tile{cursor:pointer;transition:transform .08s ease-out}button.tile:hover:not(:disabled){transform:translateY(-.3rem)}button.tile:disabled{cursor:default;opacity:.8}.tile-selected{transform:translateY(-.55rem);outline:2px solid var(--accent)}button.tile.tile-selected:hover:not(:disabled){transform:translateY(-.55rem)}.tile-highlighted{outline:2px solid var(--accent);box-shadow:0 0 8px #f59e0bcc}.tile-back{background:var(--tile-back);border-color:#1d4d36}.tile-face{display:flex;flex-direction:column;align-items:center;line-height:1.05}.tile-face-corner{position:absolute;z-index:1;top:calc(.1rem * var(--tile-scale));right:calc(.1rem * var(--tile-scale));min-width:calc(.72rem * var(--tile-scale));padding:calc(.04rem * var(--tile-scale));border-radius:calc(.18rem * var(--tile-scale));background:#fdf6e3eb;box-shadow:0 0 0 calc(1px * var(--tile-scale)) #1f293733;font-family:ui-sans-serif,system-ui,sans-serif;font-size:calc(.62rem * var(--tile-scale));font-weight:800;font-variant-numeric:tabular-nums;line-height:1;text-align:center;pointer-events:none}.tile-sm .tile-face-corner{min-width:calc(.62rem * var(--tile-scale));font-size:calc(.54rem * var(--tile-scale))}.tile-face-top{font-size:calc(1.05rem * var(--tile-scale));font-weight:700}.tile-face-bottom{font-size:calc(.95rem * var(--tile-scale));font-weight:700}.tile-sm .tile-face-top{font-size:calc(.8rem * var(--tile-scale))}.tile-sm .tile-face-bottom{font-size:calc(.7rem * var(--tile-scale))}.tile-face-glyph{font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",var(--cjk-font),sans-serif;font-size:calc(2.6rem * var(--tile-scale));font-weight:400;line-height:1}.tile-sm .tile-face-glyph{font-size:calc(1.85rem * var(--tile-scale))}.tile-face-red{color:var(--ink-red)}.tile-face-green{color:var(--ink-green)}.tile-face-blue{color:var(--ink-blue)}.tile-face-black{color:var(--ink-black)}.hand{display:flex;align-items:flex-end;gap:.75rem}.hand-main{display:flex;gap:.15rem;flex-wrap:wrap}.hand-drawn{margin-left:.35rem;animation:tile-draw-in .5s cubic-bezier(.2,.8,.3,1)}.hand-main .tile,.flower-area .tile{animation:tile-pop-in .22s ease-out}@keyframes tile-pop-in{0%{transform:translateY(.45rem) scale(.85);opacity:0}}@keyframes tile-draw-in{0%{transform:translateY(-4.5rem) scale(1.15);opacity:0}35%{opacity:1}to{transform:translate(0) scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.hand-drawn,.hand-main .tile,.flower-area .tile,.seat-info-turn{animation:none}}.river{display:grid;grid-template-columns:repeat(8,calc(1.7rem * var(--tile-scale)));grid-auto-rows:calc(2.35rem * var(--tile-scale));align-content:start;gap:.12rem;min-height:calc(3 * 2.35rem * var(--tile-scale) + .24rem + .4rem);padding:.2rem;border-radius:.4rem;background:#00000024}.center-rivers{position:relative;display:grid;grid-template-areas:".     top    ." "left  mid    right" ".     bottom .";grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;gap:.5rem;width:100%;height:100%;padding:.75rem;box-sizing:border-box}.center-river{display:flex;align-items:center;justify-content:center}.center-river-top{grid-area:top;align-items:flex-start}.center-river-bottom{grid-area:bottom;align-items:flex-end}.center-river-left{grid-area:left;justify-content:flex-start}.center-river-right{grid-area:right;justify-content:flex-end}.center-river-mid{grid-area:mid}.center-river-left .river,.center-river-right .river{grid-template-columns:repeat(6,calc(1.7rem * var(--tile-scale)))}.wall-square{--wall-a: calc(.6rem * var(--tile-scale));--wall-d: calc(.8rem * var(--tile-scale));--wall-g: calc(.06rem * var(--tile-scale));--wall-len: calc( var(--wall-a) * var(--wall-stacks, 18) + var(--wall-g) * (var(--wall-stacks, 18) - 1) );position:relative;width:calc(var(--wall-len) + var(--wall-d));height:calc(var(--wall-len) + var(--wall-d))}.wall-side{position:absolute;display:flex;gap:var(--wall-g)}.wall-side-top{top:0;left:0}.wall-side-right{top:0;right:0;flex-direction:column}.wall-side-bottom{bottom:0;right:0}.wall-side-left{bottom:0;left:0;flex-direction:column}.wall-stack{position:relative;width:var(--wall-a);height:var(--wall-d)}.wall-side-left .wall-stack,.wall-side-right .wall-stack{width:var(--wall-d);height:var(--wall-a)}.wall-side-top .wall-stack-dead{translate:calc(.3rem * var(--tile-scale)) 0}.wall-side-right .wall-stack-dead{translate:0 calc(.3rem * var(--tile-scale))}.wall-side-bottom .wall-stack-dead{translate:calc(-.3rem * var(--tile-scale)) 0}.wall-side-left .wall-stack-dead{translate:0 calc(-.3rem * var(--tile-scale))}.wall-tile{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.08rem;border:1px solid rgba(0,0,0,.4)}.wall-tile-bottom{background:#26523c}.wall-tile-top{background:#3a8562;translate:0 -26%;box-shadow:0 1px 2px #00000059}.wall-tile-gone{visibility:hidden}.wall-tile-leaving{animation:wall-tile-draw .45s ease-out forwards;z-index:5}@keyframes wall-tile-draw{55%{opacity:1}to{translate:0 -160%;opacity:0}}.wall-tile-leaving-bottom{animation-name:wall-fly-bottom;animation-duration:.55s;animation-timing-function:ease-in}.wall-tile-leaving-top{animation-name:wall-fly-top;animation-duration:.55s;animation-timing-function:ease-in}.wall-tile-leaving-left{animation-name:wall-fly-left;animation-duration:.55s;animation-timing-function:ease-in}.wall-tile-leaving-right{animation-name:wall-fly-right;animation-duration:.55s;animation-timing-function:ease-in}@keyframes wall-fly-bottom{60%{opacity:1}to{translate:0 calc(11rem * var(--tile-scale));opacity:0}}@keyframes wall-fly-top{60%{opacity:1}to{translate:0 calc(-11rem * var(--tile-scale));opacity:0}}@keyframes wall-fly-left{60%{opacity:1}to{translate:calc(-14rem * var(--tile-scale)) 0;opacity:0}}@keyframes wall-fly-right{60%{opacity:1}to{translate:calc(14rem * var(--tile-scale)) 0;opacity:0}}@media (prefers-reduced-motion: reduce){.wall-tile-leaving{animation:none;visibility:hidden}}.wall-square-center{position:absolute;inset:calc(1.4rem * var(--tile-scale));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;text-align:center}.meld-area{display:flex;gap:.5rem;flex-wrap:wrap}.meld{display:flex;gap:.1rem;align-items:flex-end}.flower-area{display:flex;gap:.1rem}.seat-info{display:flex;align-items:center;gap:.45rem;padding:.25rem .6rem;border-radius:999px;background:var(--panel);color:#f3f4f6;font-size:.9rem;width:fit-content}.seat-info-turn{outline:2px solid var(--accent);background:#f59e0b47;box-shadow:0 0 0 2px #f59e0b59;animation:seat-turn-pulse 1.4s ease-in-out infinite}@keyframes seat-turn-pulse{0%,to{box-shadow:0 0 0 2px #f59e0b59}50%{box-shadow:0 0 14px 3px #f59e0bb3}}.seat-wind{font-family:var(--cjk-font);font-weight:700;color:var(--accent)}.seat-name{font-weight:600;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-badge{font-size:.7rem;padding:.05rem .4rem;border-radius:999px;background:#ffffff2e}.seat-badge-dealer{background:var(--ink-red)}.seat-badge-streak{background:var(--accent);color:#1c2b1c;font-weight:700}.seat-ledger{font-variant-numeric:tabular-nums;opacity:.9}.table-grid{display:grid;grid-template-areas:".    top    ." "left center right" ".    bottom .";grid-template-columns:minmax(10rem,1fr) minmax(0,3fr) minmax(10rem,1fr);grid-template-rows:auto 1fr auto;gap:.75rem;flex:1;min-height:0;--tile-scale: var(--table-scale, 1)}.table-slot{display:flex;flex-direction:column;gap:.4rem;min-width:0}.table-slot-top{grid-area:top;align-items:center}.table-slot-left{grid-area:left;justify-content:center}.table-slot-right{grid-area:right;justify-content:center;align-items:flex-end}.table-slot-bottom{grid-area:bottom;align-items:center}.table-center{grid-area:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border-radius:1rem;background:var(--felt-dark);color:#e5e7eb;padding:.75rem;min-height:8rem;overflow:hidden}.action-prompt{display:flex;flex-direction:column;align-items:center;gap:.4rem}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.action-button{font-family:var(--cjk-font);font-size:1rem;font-weight:700;padding:.45rem 1.1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.35);background:#00000073;color:#f9fafb;cursor:pointer}.action-button:hover{background:#000000a6}.action-button-primary{background:var(--accent);border-color:var(--accent);color:#1f2937}.action-button-primary:hover{background:#d97706}.countdown{width:14rem;height:.35rem;border-radius:999px;background:#ffffff40;overflow:hidden}.countdown-bar{height:100%;background:var(--accent);animation-name:countdown-shrink;animation-timing-function:linear;animation-fill-mode:forwards;transform-origin:left}@keyframes countdown-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;z-index:20}.dialog{background:#1f2937;color:#f9fafb;border-radius:.75rem;padding:1.25rem 1.5rem;min-width:20rem;max-width:min(34rem,92vw);max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:.9rem;box-shadow:0 12px 40px #00000080}.dialog-title{margin:0;font-size:1.2rem}.dialog-body{display:flex;flex-direction:column;gap:.6rem}.dialog-footer{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.chi-combos{display:flex;flex-direction:column;gap:.5rem}.chi-combo{display:flex;height:auto;gap:.2rem;padding:.4rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.25);background:transparent;cursor:pointer;width:fit-content}.chi-combo:hover{border-color:var(--accent)}.ledger-panel{border-collapse:collapse;width:100%}.ledger-panel td{padding:.3rem .6rem;border-bottom:1px solid rgba(255,255,255,.12)}.ledger-self .ledger-name{font-weight:700}.ledger-amount,.ledger-delta{text-align:right;font-variant-numeric:tabular-nums}.ledger-delta-positive{color:#4ade80}.ledger-delta-negative{color:#f87171}:root{--ui-sans-font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans TC", "Noto Sans SC", "PingFang TC", "PingFang SC", "Microsoft JhengHei", "Microsoft YaHei", sans-serif;--ui-serif-font: Georgia, "Times New Roman", "Songti TC", "Songti SC", "Noto Serif TC", "Noto Serif SC", serif;--cjk-display-font: "STKaiti", "Kaiti SC", "KaiTi", "BiauKai", "DFKai-SB", "Songti TC", "Noto Serif TC", serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{overflow:hidden;background:var(--felt, #14532d);color:#f3f4f6;font-family:var(--ui-sans-font)}button,input,select,textarea{font-family:inherit}.action-button{font-family:var(--ui-sans-font)}#app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-root{flex:1;display:flex;flex-direction:column;min-height:0}.page{flex:1;min-height:0;display:flex;flex-direction:column;padding:1.25rem;gap:1rem;max-width:90rem;margin:0 auto;width:100%;overflow-y:auto}.narrow-page{max-width:34rem;align-items:stretch}.home-page{position:relative;isolation:isolate;max-width:none;padding:0;gap:0;overflow-x:hidden;color:#f5f0e5;background:linear-gradient(#071d18f7,#071d18f7),repeating-linear-gradient(90deg,transparent 0,transparent 47px,rgba(255,255,255,.035) 48px),repeating-linear-gradient(0deg,transparent 0,transparent 47px,rgba(255,255,255,.035) 48px)}.home-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.home-header h1{margin:0}.home-frame{position:relative;z-index:2;width:min(100%,78rem);min-height:100%;margin:0 auto;padding:1.35rem clamp(1.25rem,4vw,3.5rem) 1.1rem}.home-glow{position:absolute;z-index:0;border-radius:50%;filter:blur(1px);pointer-events:none}.home-glow-one{top:-18rem;right:-12rem;width:42rem;height:42rem;background:radial-gradient(circle,#177a5c38,#177a5c00 68%)}.home-glow-two{bottom:-22rem;left:-18rem;width:46rem;height:46rem;background:radial-gradient(circle,#c79e5c1f,#c79e5c00 68%)}.home-nav{flex-wrap:nowrap;padding-bottom:1.2rem;border-bottom:1px solid rgba(236,225,199,.14)}.home-brand,.home-brand-copy,.home-nav-actions,.home-text-button{display:flex;align-items:center}.home-brand{gap:.75rem}.home-brand,.lobby-brand,.replay-brand{padding:0;border:0;outline-offset:.35rem;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.home-brand:focus-visible,.lobby-brand:focus-visible,.replay-brand:focus-visible{outline:2px solid #d5a95f;border-radius:.55rem}.home-brand-mark,.lobby-brand-mark,.replay-brand-mark{transition:transform .15s ease}.home-brand:hover .home-brand-mark,.lobby-brand:hover .lobby-brand-mark,.replay-brand:hover .replay-brand-mark{transform:translateY(-2px) rotate(-3deg)}.home-brand-mark{display:grid;width:2.65rem;height:3rem;place-items:center;border:1px solid rgba(64,112,94,.5);border-radius:.48rem;background:linear-gradient(145deg,#fffdf5,#ded4bd);color:#175f48;font-family:var(--cjk-display-font);font-size:1.75rem;font-weight:900;box-shadow:0 3px #a99d84,0 9px 24px #0000003d;transform:rotate(-3deg)}.home-brand-copy{align-items:flex-start;flex-direction:column;line-height:1.1}.home-brand-copy strong{font-family:var(--ui-serif-font);font-size:1.05rem;letter-spacing:-.01em}.home-brand-copy small{margin-top:.25rem;color:#ece1c78c;font-size:.67rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.home-nav-actions{gap:.55rem}.home-text-button,.home-nav-actions .settings-menu>.action-button{min-height:2.55rem;border:1px solid rgba(236,225,199,.14);border-radius:999px;background:#ffffff09;color:#faf6ecd1;transition:border-color .16s ease,background .16s ease,color .16s ease}.home-text-button{gap:.42rem;padding:.5rem .85rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.home-text-button svg{width:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.home-nav-actions .settings-menu>.action-button{display:grid;width:2.55rem;padding:0;place-items:center}.home-text-button:hover,.home-nav-actions .settings-menu>.action-button:hover{border-color:#ece1c74d;background:#ffffff14;color:#fff}.home-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(25rem,.88fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center;padding:clamp(2.5rem,7vh,5.6rem) 0 clamp(2.8rem,6vh,5rem)}.home-story{min-width:0}.home-kicker,.home-panel-heading>span,.home-section-heading>span{color:#d5a95f;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.home-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.15rem}.home-kicker>span{width:1.7rem;height:1px;background:#d5a95f}.home-copy-rotation{display:grid}.home-copy-slide{grid-area:1 / 1;align-self:start;opacity:0;visibility:hidden;filter:blur(.35rem);transform:translateY(.7rem) scale(.995);transition:opacity .5s ease,transform .65s cubic-bezier(.22,1,.36,1),filter .65s cubic-bezier(.22,1,.36,1),visibility 0s linear .65s}.home-copy-slide.is-active{opacity:1;visibility:visible;filter:none;transform:none;transition-delay:.1s,.1s,.1s,0s}.home-story h1{max-width:13ch;margin:0;color:#f5f0e5;font-family:var(--ui-serif-font);font-size:clamp(3.15rem,5.5vw,4.8rem);font-weight:500;letter-spacing:-.055em;line-height:.96;text-wrap:balance}.home-story h1:lang(zh){max-width:16ch;overflow-wrap:anywhere;word-break:keep-all}.home-intro{max-width:35rem;margin:1.35rem 0 0;color:#efe8d7ad;font-size:clamp(.97rem,1.4vw,1.1rem);line-height:1.7;text-wrap:pretty}.home-tableau{position:relative;height:17rem;margin-top:1.4rem;overflow:hidden}.tableau-orbit{position:absolute;top:50%;left:38%;border:1px solid rgba(236,225,199,.08);border-radius:50%;transform:translate(-50%,-50%)}.tableau-orbit-one{width:15rem;height:15rem}.tableau-orbit-two{width:20rem;height:20rem;border-style:dashed}.tableau-felt{position:absolute;top:50%;left:38%;width:9.8rem;height:9.8rem;border:1px solid rgba(125,205,165,.24);border-radius:1.25rem;background:radial-gradient(circle at 35% 28%,rgba(78,170,129,.2),transparent 46%),#0d4938;box-shadow:inset 0 0 0 .6rem #03221a3d,0 2rem 4rem #00000040;transform:translate(-50%,-50%) rotate(45deg)}.tableau-felt>span{position:absolute;color:#e8e0cc38;font-family:var(--ui-serif-font);transform:rotate(-45deg)}.tableau-felt>span:first-child{top:1.2rem;left:1.35rem;font-size:.82rem}.tableau-felt .tableau-center-mark{top:50%;left:50%;font-size:2.5rem;transform:translate(-50%,-50%) rotate(-45deg)}.tableau-seat{position:absolute;z-index:2;width:.55rem;height:.55rem;border:2px solid #09271f;border-radius:50%;background:#54b78d;box-shadow:0 0 0 4px #54b78d1a}.tableau-seat-north{top:1.5rem;left:calc(38% - .25rem)}.tableau-seat-east{top:calc(50% - .25rem);left:calc(38% + 7.2rem)}.tableau-seat-south{bottom:1.45rem;left:calc(38% - .25rem)}.tableau-seat-west{top:calc(50% - .25rem);left:calc(38% - 7.7rem)}.tableau-tile{position:absolute;z-index:4;display:flex;width:3.9rem;height:5.2rem;align-items:center;justify-content:center;flex-direction:column;border:1px solid #c9bfa8;border-radius:.58rem;background:linear-gradient(150deg,#fffdf5,#e3dac5);color:#1b332b;font-family:var(--cjk-display-font);box-shadow:0 4px #a79b83,0 1.25rem 2.2rem #00000052}.tableau-tile small{color:#a43f35;font-size:.82rem;font-weight:800}.tableau-tile strong{font-size:1.9rem;line-height:1.1}.tableau-tile-one{top:7.4rem;left:60%;transform:rotate(-11deg)}.tableau-tile-two{top:6.5rem;left:calc(60% + 3.05rem);color:#17654c;transform:rotate(3deg)}.tableau-tile-three{top:7.2rem;left:calc(60% + 6.2rem);color:#a43f35;transform:rotate(13deg)}.tableau-live-pill{position:absolute;z-index:5;top:2.25rem;left:57%;display:flex;align-items:center;gap:.45rem;padding:.42rem .7rem;border:1px solid rgba(236,225,199,.12);border-radius:999px;background:#061915db;color:#f5f0e5b8;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tableau-live-pill>span{width:.42rem;height:.42rem;border-radius:50%;background:#54b78d;box-shadow:0 0 0 4px #54b78d1c;animation:home-live-pulse 2.4s ease-out infinite}@keyframes home-live-pulse{50%{box-shadow:0 0 0 7px #54b78d00}}.home-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:1.2rem;border-top:1px solid rgba(236,225,199,.12)}.home-benefit{display:flex;align-items:center;gap:.6rem;min-width:0}.home-benefit-icon{display:grid;flex:none;width:1.9rem;height:1.9rem;place-items:center;border:1px solid rgba(213,169,95,.26);border-radius:50%;color:#d5a95f;font-size:.82rem}.home-benefit div{display:flex;min-width:0;flex-direction:column;gap:.1rem}.home-benefit strong{overflow:hidden;color:#faf6ece0;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.home-benefit small{overflow:hidden;color:#efe8d773;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.home-play-panel{position:relative;padding:clamp(1.5rem,3vw,2.15rem);border:1px solid rgba(255,255,255,.72);border-radius:1.35rem;background:radial-gradient(circle at 100% 0,rgba(213,169,95,.16),transparent 36%),#f2ecdf;color:#142b24;box-shadow:0 1.5rem 4rem #0000004d,0 0 0 .45rem #ffffff06}.home-play-panel:before{position:absolute;top:.65rem;right:.65rem;width:1rem;height:1rem;border-top:1px solid rgba(24,85,66,.25);border-right:1px solid rgba(24,85,66,.25);content:""}.home-panel-heading{margin-bottom:1.35rem}.home-panel-heading h2,.home-section-heading h2{margin:.35rem 0 0;font-family:var(--ui-serif-font);font-weight:500;letter-spacing:-.025em}.home-panel-heading h2{font-size:1.85rem}.home-play-panel .field{gap:.4rem;color:#28463d;font-size:.76rem;font-weight:800;letter-spacing:.025em}.home-play-panel .field input,.home-play-panel .field select{width:100%;height:3rem;padding:.7rem .85rem;border:1px solid #d3c9b6;border-radius:.65rem;outline:none;background:#ffffff9e;color:#142b24;font-family:inherit;font-size:.93rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.home-play-panel .field input::placeholder{color:#8e958d}.home-play-panel .field input:focus,.home-play-panel .field select:focus{border-color:#28785e;outline:none;background:#fffdf8;box-shadow:0 0 0 3px #28785e1f}.home-play-panel .field small{color:#7c837d;font-size:.67rem;font-weight:500;letter-spacing:0}.home-name-field{margin-bottom:1.25rem}.home-tabs{display:grid;height:auto;align-items:center;grid-template-columns:1fr 1fr;gap:.25rem;margin-bottom:1.35rem;padding:.25rem;border-radius:.7rem;background:#e2dacb}.home-tabs button{min-height:2.55rem;border:0;border-radius:.52rem;background:transparent;color:#6c746e;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.home-tabs button[aria-selected=true]{background:#fffdf8;color:#174f3f;box-shadow:0 2px 8px #2a363117}.home-action-form{display:flex;flex-direction:column;gap:1rem}.home-form-grid,.home-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.home-advanced{border-top:1px solid #d9d1c2;border-bottom:1px solid #d9d1c2}.home-advanced-trigger{display:flex;min-height:3.6rem;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;color:#28463d;width:100%;cursor:pointer}.home-advanced-trigger>span:first-child{display:flex;flex-direction:column;gap:.12rem;text-align:left}.home-advanced-trigger strong{font-size:.78rem}.home-advanced-trigger small{color:#7c837d;font-size:.65rem}.home-summary-plus{display:grid;width:1.7rem;height:1.7rem;place-items:center;border:1px solid #cac0ad;border-radius:50%;color:#2c6c57;font-size:1rem;transition:transform .18s ease}.home-advanced-trigger[data-state=open] .home-summary-plus{transform:rotate(45deg)}.home-advanced-grid{padding:.4rem 0 1rem}.home-password-field{grid-column:span 2}.home-play-panel .home-checkbox{grid-column:span 2;min-height:2.4rem;flex-direction:row;align-items:center;font-weight:700;cursor:pointer}.home-play-panel .home-checkbox input{width:1rem;height:1rem;margin:0;accent-color:#206e55}.home-primary-button{display:flex;width:100%;min-height:3.35rem;align-items:center;justify-content:space-between;padding:.75rem .85rem .75rem 1.05rem;border:1px solid #164e3d;border-radius:.72rem;background:#185b46;color:#fffaf0;font:inherit;font-size:.9rem;font-weight:800;cursor:pointer;box-shadow:0 .55rem 1.3rem #185b4633;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.home-primary-button svg{width:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65;transition:transform .15s ease}.home-primary-button:hover:not(:disabled){background:#0f4937;box-shadow:0 .75rem 1.6rem #185b4642;transform:translateY(-1px)}.home-primary-button:hover:not(:disabled) svg{transform:translate(.18rem)}.home-primary-button:disabled{cursor:wait;opacity:.65}.home-form-note{margin:-.25rem 0 0;color:#7c837d;font-size:.67rem;line-height:1.45;text-align:center}.home-code-field input{text-transform:uppercase;letter-spacing:.12em}.home-join-form{min-height:18.8rem;justify-content:flex-start}.home-play-panel .error-banner{margin:-.35rem 0 1rem;border:1px solid rgba(164,63,53,.28);background:#a43f3517;color:#8c3029;font-size:.76rem;font-weight:700}.home-saved-panel{margin-bottom:2.2rem;padding:1.25rem;border:1px solid rgba(236,225,199,.14);border-radius:1rem;background:#ffffff09;color:#f5f0e5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.home-section-heading{margin-bottom:1rem}.home-section-heading h2{color:#f5f0e5;font-size:1.45rem}.home-saved-panel .saved-room{border:1px solid rgba(236,225,199,.1);background:#00000024}.home-saved-panel .saved-room-meta{color:#efe8d7ad;opacity:1}.home-saved-panel .action-button{min-height:2.25rem;padding:.4rem .72rem;border-color:#ece1c729;background:#ffffff0d;color:#faf6ecdb;font-size:.72rem;font-weight:700}.home-saved-panel .action-button:hover{border-color:#ece1c74d;background:#ffffff1a}.home-saved-panel .action-button-primary{border-color:#d5a95f;background:#d5a95f;color:#17362c}.home-saved-panel .action-button-primary:hover{background:#e0b86f}.home-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0 .25rem;border-top:1px solid rgba(236,225,199,.1);color:#efe8d76b;font-size:.64rem;font-weight:700;letter-spacing:.04em}.card{background:#0000004d;border-radius:.9rem;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.card h2{margin:0;font-size:1.1rem}.saved-room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.saved-room{display:flex;align-items:center;gap:.6rem;padding:.45rem .7rem;border-radius:.5rem;background:#ffffff14}.saved-room-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.saved-room-name{font-size:.9rem;font-weight:700;line-height:1.35}.saved-room-meta{font-size:.74rem;line-height:1.45;opacity:.75}.saved-preview-root .overlay{z-index:100}.saved-preview-dialog{width:min(58rem,94vw);max-width:58rem;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 85% 0%,rgba(245,158,11,.12),transparent 28%),#16251e;font-family:var(--ui-sans-font)}.saved-preview-dialog .dialog-title{font-family:var(--ui-serif-font);font-size:1.45rem;font-weight:500;letter-spacing:-.025em}.saved-preview-dialog .action-button{min-height:2.4rem;padding:.45rem .85rem;font-size:.78rem}.saved-preview{--tile-scale: .82;display:flex;flex-direction:column;gap:.85rem}.saved-preview-kicker,.saved-preview-unavailable{margin:0}.saved-preview-kicker{display:flex;align-items:center;gap:.4rem;color:#bbf7d0;font-size:.76rem;letter-spacing:.02em}.saved-preview-kicker span:first-child{color:var(--accent)}.saved-preview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.saved-preview-stats>div{min-width:0;padding:.55rem .65rem;border:1px solid rgba(255,255,255,.1);border-radius:.55rem;background:#0003}.saved-preview-stats span,.saved-preview-stats strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-preview-stats span{margin-bottom:.12rem;opacity:.58;font-size:.68rem;text-transform:uppercase;letter-spacing:.055em}.saved-preview-stats strong{font-size:.8rem}.saved-preview-host,.saved-preview-opponent{border:1px solid rgba(255,255,255,.12);border-radius:.7rem}.saved-preview-host{padding:.75rem;background:linear-gradient(135deg,#15803d38,#0000002b);box-shadow:inset 3px 0 0 var(--accent)}.saved-preview-player-heading,.saved-preview-player-heading>div{display:flex;align-items:center;gap:.4rem;min-width:0}.saved-preview-player-heading{justify-content:space-between}.saved-preview-player-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.saved-preview-wind{display:grid;flex:none;width:1.55rem;height:1.55rem;place-items:center;border-radius:50%;background:#ffffff21;font-weight:800;font-size:.78rem}.saved-preview-you,.saved-preview-dealer{flex:none;padding:.12rem .35rem;border-radius:999px;font-size:.62rem;font-weight:800}.saved-preview-you{background:#f59e0b2e;color:#fcd34d}.saved-preview-dealer{background:#b91c1c;color:#fff}.saved-preview-ledger{flex:none;font-variant-numeric:tabular-nums;opacity:.78;font-size:.78rem}.saved-preview-host-table{display:flex;align-items:flex-end;gap:.7rem;min-width:0;margin-top:.65rem;overflow:hidden}.saved-preview-host-table .hand{min-width:0}.saved-preview-host-table>.meld-area,.saved-preview-host-table>.flower-area{flex:none}.saved-preview-opponents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.saved-preview-opponent{display:flex;min-width:0;flex-direction:column;gap:.55rem;padding:.65rem;background:#0000002b}.saved-preview-opponent-turn{border-color:#f59e0ba6;box-shadow:inset 0 0 0 1px #f59e0b2e}.saved-preview-hidden-hand{display:flex;align-items:center;justify-content:space-between;gap:.45rem;min-width:0}.saved-preview-hidden-hand>div{display:flex;min-width:2rem}.saved-preview-hidden-hand .tile+.tile{margin-left:calc(-1.15rem * var(--tile-scale))}.saved-preview-hidden-hand>span,.saved-preview-public-tiles>span{opacity:.6;font-size:.68rem}.saved-preview-public-tiles{display:flex;min-height:calc(2.35rem * var(--tile-scale));align-items:flex-end;gap:.45rem;overflow:hidden}.saved-preview-public-tiles>span{align-self:center;font-style:italic}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.field input,.field select{padding:.45rem .6rem;border-radius:.45rem;border:1px solid rgba(255,255,255,.3);background:#00000059;color:inherit;font-size:1rem}.field select{padding-right:2.25rem}.field input:focus,.field select:focus{outline:2px solid #f59e0b}.field select option{color:#111}.header-controls{display:flex;align-items:center;gap:.5rem}.settings-menu{position:relative}.settings-menu>button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}.settings-popover{font-family:var(--ui-sans-font)}.settings-popover-title{font-family:var(--ui-serif-font);font-size:1rem;font-weight:600}.settings-popover .field{gap:.4rem;margin-top:.8rem;color:#f5f0e5cc;font-size:.75rem;font-weight:700}.settings-popover .field select{border-color:#ffffff29;background:#ffffff14;color:#f5f0e5;font-family:var(--ui-sans-font);font-size:.875rem;font-weight:600}.settings-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:60;min-width:13rem;padding:.8rem 1rem 1rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.25);background:#14352a;box-shadow:0 8px 24px #00000073;text-align:left}.settings-panel h3{margin:0 0 .6rem;font-size:.95rem}.table-settings{position:absolute;top:.6rem;right:.6rem;z-index:50;display:flex;align-items:center;gap:.5rem}.table-room-name{padding:.2rem .6rem;border-radius:999px;background:var(--panel);font-weight:600;font-size:.85rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-banner{margin:0;padding:.6rem .9rem;border-radius:.5rem;background:#b91c1c8c}.status-message{opacity:.85}.pause-dialog{width:min(34rem,calc(100vw - 2rem));padding:0;gap:0;overflow:hidden;border:1px solid rgba(236,225,199,.16);border-radius:1.1rem;background:radial-gradient(circle at 85% 0%,rgba(213,169,95,.13),transparent 42%),linear-gradient(155deg,#183c30,#102b23 58%,#0b211b);box-shadow:0 24px 70px #0000008c,inset 0 1px #ffffff0d}.pause-dialog .dialog-title{padding:1.4rem 1.5rem .25rem;font-family:var(--ui-serif-font);font-size:clamp(1.45rem,4vw,1.75rem);font-weight:500;letter-spacing:-.025em}.pause-dialog .dialog-body{gap:1.15rem;padding:.65rem 1.5rem 1.35rem}.pause-menu-intro{display:flex;align-items:flex-start;gap:.65rem;color:#efe8d7c7;line-height:1.5}.pause-menu-intro p,.pause-menu-warning{margin:0}.pause-menu-status-dot{width:.55rem;height:.55rem;margin-top:.43rem;flex:0 0 auto;border-radius:999px;background:#d5a95f;box-shadow:0 0 0 .3rem #d5a95f1a}.pause-menu-actions{display:flex;flex-direction:column;gap:.75rem}.pause-menu-resume,.pause-menu-choice{height:auto;white-space:normal}.pause-menu-resume{min-height:4.4rem;flex-direction:column;gap:.15rem;border:1px solid #e0b86f;background:#d5a95f;color:#17362c}.pause-menu-resume:hover{background:#e0b86f}.pause-menu-resume span,.pause-menu-choice span{font-size:.95rem;font-weight:750}.pause-menu-resume small,.pause-menu-choice small{font-size:.72rem;font-weight:500;line-height:1.35;opacity:.72}.pause-menu-quit-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.pause-menu-choice{min-height:5.4rem;align-items:flex-start;flex-direction:column;gap:.35rem;padding:.9rem 1rem;text-align:left}.pause-menu-choice:last-child{background:#b91c1cc7}.pause-menu-choice:last-child:hover{background:#dc2626e6}.pause-menu-warning{color:#efe8d78c;font-size:.72rem;text-align:center}.pause-menu-waiting{padding:.8rem 1rem;border:1px solid rgba(236,225,199,.12);border-radius:.75rem;background:#ffffff0b;color:#efe8d7b8;text-align:center}.notice{margin:0;color:#fca5a5;font-size:.85rem;padding:.25rem .75rem;border-radius:999px;background:#0000008c}.share-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.share-url{background:#0006;padding:.4rem .6rem;border-radius:.4rem;word-break:break-all}.lobby-seats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.lobby-seat{display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-radius:.5rem;background:#ffffff14}.lobby-seat-empty{opacity:.6}.settings-summary{margin:0;font-size:.85rem;opacity:.8}.lobby-page{position:relative;isolation:isolate;max-width:none;padding:0;gap:0;overflow-x:hidden;color:#f5f0e5;background:linear-gradient(#071d18f9,#071d18f9),repeating-linear-gradient(90deg,transparent 0,transparent 47px,rgba(255,255,255,.035) 48px),repeating-linear-gradient(0deg,transparent 0,transparent 47px,rgba(255,255,255,.035) 48px)}.lobby-glow{position:absolute;z-index:0;border-radius:50%;pointer-events:none}.lobby-glow-one{top:-20rem;right:-14rem;width:48rem;height:48rem;background:radial-gradient(circle,#177a5c33,#177a5c00 68%)}.lobby-glow-two{bottom:-24rem;left:-20rem;width:50rem;height:50rem;background:radial-gradient(circle,#c79e5c1a,#c79e5c00 68%)}.lobby-shell{position:relative;z-index:1;width:min(100%,78rem);min-height:100%;margin:0 auto;padding:1.35rem clamp(1.25rem,4vw,3.5rem) 2rem}.lobby-nav,.lobby-brand,.lobby-brand-copy,.lobby-nav-actions{display:flex;align-items:center}.lobby-nav{justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(236,225,199,.14)}.lobby-brand{gap:.75rem}.lobby-brand-mark{display:grid;width:2.65rem;height:3rem;place-items:center;border:1px solid rgba(64,112,94,.5);border-radius:.48rem;background:linear-gradient(145deg,#fffdf5,#ded4bd);color:#175f48;font-family:var(--cjk-display-font);font-size:1.28rem;font-weight:900;box-shadow:0 3px #a99d84,0 9px 24px #0000003d;transform:rotate(-3deg)}.lobby-brand-copy{align-items:flex-start;flex-direction:column;line-height:1.1}.lobby-brand-copy strong{font-family:var(--ui-serif-font);font-size:1.05rem;letter-spacing:-.01em}.lobby-brand-copy small{margin-top:.25rem;color:#ece1c78c;font-size:.67rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.lobby-nav-actions{gap:.55rem}.lobby-leave-button,.lobby-nav-actions .settings-menu>.action-button{min-height:2.55rem;border:1px solid rgba(236,225,199,.14);border-radius:999px;background:#ffffff09;color:#faf6eccc;font-size:.75rem;transition:border-color .16s ease,background .16s ease,color .16s ease}.lobby-leave-button{padding:.45rem .85rem}.lobby-nav-actions .settings-menu>.action-button{display:grid;width:2.55rem;padding:0;place-items:center}.lobby-leave-button:hover,.lobby-nav-actions .settings-menu>.action-button:hover{border-color:#ece1c74d;background:#ffffff14;color:#fff}.lobby-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(28rem,1.05fr);gap:clamp(2.5rem,6vw,5rem);align-items:center;min-height:calc(100dvh - 7.5rem);padding:clamp(2.5rem,6vh,5rem) 0}.lobby-room-column{min-width:0}.lobby-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;color:#d5a95f;font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.lobby-kicker>span{width:1.7rem;height:1px;background:#d5a95f}.lobby-title-block{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.lobby-title-block h1,.lobby-entry-story h1{margin:0;color:#f5f0e5;font-family:var(--ui-serif-font);font-weight:500;letter-spacing:-.045em;line-height:1}.lobby-title-block h1{max-width:12ch;font-size:clamp(2.7rem,4.5vw,4rem)}.lobby-room-code,.lobby-entry-code{display:flex;flex:none;align-items:flex-start;flex-direction:column;gap:.15rem}.lobby-room-code{padding:.6rem .75rem;border:1px solid rgba(236,225,199,.14);border-radius:.65rem;background:#ffffff09}.lobby-room-code span,.lobby-entry-code span{color:#efe8d76e;font-size:.56rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.lobby-room-code strong,.lobby-entry-code strong{color:#e4bd78;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase}.lobby-room-intro{max-width:36rem;margin:1.1rem 0 1.65rem;color:#efe8d79e;font-size:.94rem;line-height:1.65}.lobby-invite-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem .9rem;padding:1.1rem;border:1px solid rgba(236,225,199,.15);border-radius:1rem;background:#ffffff0b;box-shadow:0 1.4rem 3rem #0000001f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lobby-invite-icon{display:grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid rgba(213,169,95,.25);border-radius:50%;color:#d5a95f;background:#d5a95f12}.lobby-invite-icon svg{width:1.1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.lobby-invite-copy>span,.lobby-card-heading>span,.lobby-table-heading>div>span{color:#c8994c;font-size:.59rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.lobby-invite-copy h2{margin:.18rem 0 0;color:#f5f0e5;font-family:var(--ui-serif-font);font-size:1.35rem;font-weight:500}.lobby-invite-copy p{margin:.35rem 0 0;color:#efe8d780;font-size:.7rem;line-height:1.5}.lobby-share-control{display:flex;grid-column:1 / -1;min-width:0;align-items:center;padding:.25rem;border:1px solid rgba(236,225,199,.11);border-radius:.65rem;background:#0003}.lobby-share-control code{flex:1;min-width:0;padding:.35rem .55rem;overflow:hidden;color:#f5f0e5a1;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.lobby-share-control button{display:flex;flex:none;min-height:2.35rem;align-items:center;gap:.4rem;padding:.45rem .7rem;border:1px solid rgba(213,169,95,.28);border-radius:.5rem;background:#d5a95f1a;color:#e4bd78;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer;transition:background .15s ease,border-color .15s ease}.lobby-share-control button:hover{border-color:#d5a95f80;background:#d5a95f29}.lobby-share-control button svg{width:.9rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.lobby-rules-card{margin-top:.85rem;padding:1rem 1.1rem;border:1px solid rgba(236,225,199,.11);border-radius:.9rem;background:#0000001a}.lobby-rules-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;color:#f5f0e5b8;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lobby-rules-heading>span:last-child{color:#d5a95f}.lobby-rules-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0}.lobby-rules-card dl>div{min-width:0}.lobby-rules-card dt,.lobby-rules-card dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-rules-card dt{margin-bottom:.2rem;color:#efe8d761;font-size:.57rem;font-weight:700}.lobby-rules-card dd{margin:0;color:#faf6ecc7;font-size:.7rem;font-weight:700}.lobby-connection-note{display:flex;align-items:center;gap:.5rem;margin:.9rem 0 0;color:#efe8d76b;font-size:.62rem;line-height:1.5}.lobby-connection-note>span{flex:none;width:.4rem;height:.4rem;border-radius:50%;background:#54b78d;box-shadow:0 0 0 4px #54b78d17}.lobby-table-card,.lobby-entry-card{position:relative;border:1px solid rgba(255,255,255,.72);border-radius:1.35rem;background:radial-gradient(circle at 100% 0,rgba(213,169,95,.17),transparent 34%),#f2ecdf;color:#142b24;box-shadow:0 1.5rem 4rem #0000004d,0 0 0 .45rem #ffffff06}.lobby-table-card{padding:clamp(1.4rem,3vw,2rem)}.lobby-table-card:before,.lobby-entry-card:before{position:absolute;top:.65rem;right:.65rem;width:1rem;height:1rem;border-top:1px solid rgba(24,85,66,.25);border-right:1px solid rgba(24,85,66,.25);content:""}.lobby-table-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.lobby-table-heading h2,.lobby-card-heading h2{margin:.25rem 0 0;font-family:var(--ui-serif-font);font-weight:500;letter-spacing:-.025em}.lobby-table-heading h2{font-size:1.75rem}.lobby-player-count{display:flex;align-items:baseline;gap:.2rem;color:#7c837d}.lobby-player-count strong{color:#195c47;font-family:var(--ui-serif-font);font-size:1.85rem;font-weight:500}.lobby-player-count span{font-size:.7rem;font-weight:800}.lobby-seat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none}.lobby-seat-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:center;min-width:0;min-height:6.7rem;padding:.85rem;overflow:hidden;border:1px solid #d8cdb9;border-radius:.8rem;background:#ffffff78}.lobby-seat-card:after{position:absolute;right:-1.2rem;bottom:-1.8rem;color:#185b460d;font-family:var(--ui-serif-font);font-size:5rem;font-weight:800;line-height:1;content:attr(data-wind);pointer-events:none}.lobby-seat-self{border-color:#23705685;background:#23705612;box-shadow:inset 0 0 0 1px #23705614}.lobby-seat-open{border-style:dashed;background:#fff3}.lobby-seat-pending{border-color:#b47e2c57;background:#d5a95f14}.lobby-seat-wind{position:absolute;top:.5rem;right:.55rem;z-index:1;color:#a59c8b;font-family:var(--cjk-font);font-size:.64rem;font-weight:800}.lobby-seat-avatar{display:grid;width:2.7rem;height:3rem;place-items:center;border:1px solid #c9bfa8;border-radius:.5rem;background:linear-gradient(145deg,#fffdf8,#e3dac5);color:#195c47;font-family:var(--ui-serif-font);font-size:1rem;font-weight:800;box-shadow:0 2px #ada087,0 .45rem .9rem #413e3417}.lobby-seat-open .lobby-seat-avatar{border-style:dashed;background:transparent;color:#a49b8a;box-shadow:none}.lobby-seat-copy{display:flex;min-width:0;flex-direction:column;gap:.1rem}.lobby-seat-copy>span{color:#9b958a;font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lobby-seat-copy strong{overflow:hidden;color:#18352c;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.lobby-seat-copy small{display:flex;align-items:center;gap:.35rem;overflow:hidden;color:#858c86;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.lobby-seat-copy small>span{flex:none;width:.35rem;height:.35rem;border-radius:50%;background:#b1aa9d}.lobby-seat-ready .lobby-seat-copy small>span{background:#3c9a76}.lobby-seat-pending .lobby-seat-copy small>span{background:#d5a95f}.lobby-seat-badges{position:absolute;right:.55rem;bottom:.5rem;display:flex;gap:.25rem}.lobby-seat-badges span{padding:.14rem .3rem;border-radius:999px;background:#185b461a;color:#21664f;font-size:.48rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.lobby-resume-note{margin:.8rem 0 0;padding:.75rem .85rem;border:1px solid rgba(180,126,44,.22);border-radius:.65rem;background:#d5a95f14;color:#795c30;font-size:.65rem;line-height:1.5}.lobby-launch-area{margin-top:1.1rem;padding-top:1rem;border-top:1px solid #d9d1c2}.lobby-primary-button{display:flex;width:100%;min-height:3.35rem;align-items:center;justify-content:space-between;padding:.75rem .85rem .75rem 1.05rem;border:1px solid #164e3d;border-radius:.72rem;background:#185b46;color:#fffaf0;font:inherit;font-size:.9rem;font-weight:800;cursor:pointer;box-shadow:0 .55rem 1.3rem #185b4633;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.lobby-primary-button svg{width:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65;transition:transform .15s ease}.lobby-primary-button:hover{background:#0f4937;box-shadow:0 .75rem 1.6rem #185b4642;transform:translateY(-1px)}.lobby-primary-button:hover svg{transform:translate(.18rem)}.lobby-launch-area>p,.lobby-card-note{margin:.55rem 0 0;color:#818780;font-size:.62rem;line-height:1.45;text-align:center}.lobby-waiting-host{display:flex;min-height:4rem;align-items:center;gap:.8rem;padding:.8rem;border:1px solid rgba(24,91,70,.13);border-radius:.72rem;background:#185b460e}.lobby-waiting-dots{display:flex;gap:.2rem}.lobby-waiting-dots i{width:.35rem;height:.35rem;border-radius:50%;background:#2f8468;animation:lobby-dot 1.3s ease-in-out infinite}.lobby-waiting-dots i:nth-child(2){animation-delay:.15s}.lobby-waiting-dots i:nth-child(3){animation-delay:.3s}@keyframes lobby-dot{50%{opacity:.28;transform:translateY(-.18rem)}}.lobby-waiting-host div{min-width:0}.lobby-waiting-host strong{display:block;color:#1c4d3d;font-size:.76rem}.lobby-waiting-host p{margin:.18rem 0 0;color:#818780;font-size:.62rem}.lobby-entry-shell{display:flex;flex-direction:column}.lobby-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(24rem,.72fr);gap:clamp(3rem,8vw,7rem);align-items:center;flex:1;min-height:calc(100dvh - 7rem);padding:clamp(3rem,8vh,6.5rem) 0}.lobby-entry-story h1{max-width:11ch;font-size:clamp(3.2rem,6vw,5rem)}.lobby-entry-story>p{max-width:34rem;margin:1.25rem 0 1.5rem;color:#efe8d79e;font-size:1rem;line-height:1.7}.lobby-entry-code{width:fit-content;padding:.6rem .8rem;border:1px solid rgba(236,225,199,.14);border-radius:.65rem;background:#ffffff09}.lobby-entry-card{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.5rem,3vw,2.15rem)}.lobby-card-heading{margin-bottom:.35rem}.lobby-card-heading h2{font-size:1.85rem}.lobby-entry-card .field{gap:.4rem;color:#28463d;font-size:.76rem;font-weight:800;letter-spacing:.025em}.lobby-entry-card .field input{width:100%;height:3rem;padding:.7rem .85rem;border:1px solid #d3c9b6;border-radius:.65rem;outline:none;background:#ffffff9e;color:#142b24;font-family:inherit;font-size:.93rem}.lobby-entry-card .field input:focus{border-color:#28785e;outline:none;background:#fffdf8;box-shadow:0 0 0 3px #28785e1f}.table-page{position:relative;gap:.6rem;overflow:hidden}.table-status{position:absolute;top:.6rem;left:.6rem;z-index:50;display:flex;gap:.7rem;padding:.3rem .8rem;border-radius:999px;background:var(--panel);font-size:.85rem;font-weight:600}.hidden-hand{display:flex;gap:.1rem;flex-wrap:wrap;max-width:100%}.seat-anchor{position:relative;width:fit-content;max-width:100%}.chat-bubble{position:absolute;bottom:calc(100% + .55rem);left:50%;translate:-50% 0;z-index:30;padding:.25rem .85rem;border-radius:.7rem;background:var(--tile-bg);color:#1f2937;font-family:var(--cjk-font);font-size:1.1rem;font-weight:800;white-space:nowrap;box-shadow:0 4px 12px #00000059;pointer-events:none;animation:bubble-pop 1.8s ease-out both}.chat-bubble:after{content:"";position:absolute;top:100%;left:50%;translate:-50% 0;border:.4rem solid transparent;border-top-color:var(--tile-bg)}.table-slot-top .chat-bubble{bottom:auto;top:calc(100% + .55rem)}.table-slot-top .chat-bubble:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--tile-bg)}@keyframes bubble-pop{0%{opacity:0;scale:.4}12%{opacity:1;scale:1.12}20%{scale:1}78%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.chat-bubble{animation:none}}.tutorial-library-page{min-height:100dvh;overflow-y:auto;color:#f4f8f6;font-family:var(--ui-sans-font);background:radial-gradient(circle at 15% 8%,rgb(26 122 91 / 18%),transparent 34rem),radial-gradient(circle at 90% 35%,rgb(193 146 61 / 10%),transparent 28rem),var(--page-bg, #071a16)}.tutorial-library-nav{display:flex;align-items:center;justify-content:space-between;width:min(70rem,calc(100% - 2rem));margin:0 auto;padding:1rem 0}.tutorial-library-nav button{color:#eef6f2}.tutorial-library-shell{width:min(70rem,calc(100% - 2rem));margin:0 auto;padding:3rem 0 5rem}.tutorial-library-heading{max-width:44rem;margin-bottom:2.25rem}.tutorial-library-heading>span{color:var(--gold, #d8b56d);font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.tutorial-library-heading h1{margin:.5rem 0 .75rem;font-family:var(--ui-serif-font);font-size:clamp(2rem,6vw,4rem);font-weight:500;letter-spacing:-.04em;line-height:1}.tutorial-library-heading p{max-width:40rem;color:#c7d8d1;font-size:1.05rem;line-height:1.7}.tutorial-ruleset-section{margin-bottom:3.5rem}.tutorial-ruleset-heading,.tutorial-lessons-heading{max-width:44rem;margin-bottom:1.25rem}.tutorial-ruleset-heading>span,.tutorial-lessons-heading>span{color:var(--gold, #d8b56d);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tutorial-ruleset-heading h2,.tutorial-lessons-heading h2{margin:.4rem 0 .55rem;color:#f4f8f6;font-family:var(--ui-serif-font);font-size:clamp(1.45rem,3vw,2.2rem);font-weight:500;letter-spacing:-.025em}.tutorial-ruleset-heading p,.tutorial-lessons-heading p{margin:0;color:#b7ccc3;line-height:1.6}.tutorial-ruleset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.tutorial-ruleset-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;min-height:9.5rem;padding:1.2rem;border-color:#ffffff1a;outline:none;background:#08251eb8;color:#f4f8f6;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.tutorial-ruleset-card:hover:not(:disabled),.tutorial-ruleset-card:focus-visible{border-color:#d8b56d8c;background:#0d392eeb;transform:translateY(-2px)}.tutorial-ruleset-card:focus-visible{box-shadow:0 0 0 3px #d8b56d38}.tutorial-ruleset-card-selected{border-color:#d8b56d7a;background:radial-gradient(circle at 0 0,rgb(216 181 109 / 12%),transparent 48%),#0a2f26f0}.tutorial-ruleset-card:disabled{cursor:not-allowed}.tutorial-ruleset-card:disabled .tutorial-ruleset-mark,.tutorial-ruleset-card:disabled .tutorial-ruleset-copy{opacity:.55}.tutorial-ruleset-mark{display:grid;width:3.2rem;height:3.6rem;place-items:center;border:1px solid rgb(216 181 109 / 35%);border-radius:.55rem;background:linear-gradient(145deg,#fffdf5,#ded4bd);color:#175f48;font-family:var(--cjk-display-font);font-size:1.35rem;font-weight:700;box-shadow:0 3px #9f937b,0 10px 24px #0003}.tutorial-ruleset-copy{display:flex;min-width:0;flex-direction:column;gap:.55rem}.tutorial-ruleset-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tutorial-ruleset-title-row strong{font-size:1rem}.tutorial-ruleset-copy small{color:#b7ccc3;font-size:.78rem;line-height:1.45}.tutorial-ruleset-status{border-color:#d8b56d40;color:#ead6aa;font-size:.62rem}.tutorial-lessons-section{padding-top:.25rem}.tutorial-level-grid{display:grid;gap:.9rem}.tutorial-level-card{display:grid;grid-template-columns:4rem minmax(0,1fr) auto;gap:1.25rem;align-items:center;padding:1.35rem;border-color:#ffffff1a;background:#08251ee0}.tutorial-level-number{display:grid;place-items:center;width:3.4rem;height:3.4rem;border:1px solid rgb(216 181 109 / 35%);border-radius:50%;color:var(--gold, #d8b56d);font-family:ui-monospace,monospace}.tutorial-level-title-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.tutorial-level-copy h3,.tutorial-level-copy p{margin:0}.tutorial-level-copy h3{font-size:1.15rem;font-weight:700;color:#f4f8f6}.tutorial-level-copy p{margin-top:.3rem;color:#b7ccc3;line-height:1.5}.tutorial-coach-overlay{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;pointer-events:none}.tutorial-coach-dock{display:flex;justify-content:flex-end;width:min(30rem,100%);max-width:100%}.tutorial-free-play-exit{border-color:#d8b56d6b;background:#071c17e0;color:#f4f8f6;box-shadow:0 .45rem 1.4rem #00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tutorial-free-play-exit:hover{border-color:#d8b56dad;background:#0d392ef5}.tutorial-coach{position:relative;width:min(30rem,calc(100vw - 2rem));padding:.9rem 1rem;border-color:#d8b56d73;background:#071c17c7;box-shadow:0 .75rem 2.5rem #00000052;color:#f4f8f6;opacity:.86;transition:opacity .14s ease,background-color .14s ease;pointer-events:auto}.tutorial-coach:hover,.tutorial-coach:focus-within{background:#071c17f7;opacity:1}.tutorial-coach-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tutorial-coach-heading>span{color:var(--gold, #d8b56d);font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tutorial-coach-heading button{color:#eef6f2}.tutorial-coach h1{margin:.1rem 0 .35rem;font-size:1.2rem;color:#f4f8f6}.tutorial-coach p{margin:0 0 .6rem;color:#cfddd7;line-height:1.45}.tutorial-coach-practice{width:min(30rem,100%);padding:.65rem .8rem;border-color:#47bf8b85;background:#071c17b3;box-shadow:0 .5rem 1.5rem #00000040;opacity:.78}.tutorial-coach-practice h1{display:none}.tutorial-coach-practice p:last-child{margin-bottom:0}.tutorial-practice-note{color:#9fe1c2!important;font-size:.84rem}.tutorial-feedback{margin-top:.75rem}.tutorial-step-dots{display:flex;gap:.35rem;margin:.2rem 0 .6rem}.tutorial-step-dots button{display:grid;width:2rem;height:1.35rem;padding:0;border:0;place-items:center;border-radius:.35rem;background:transparent;cursor:pointer}.tutorial-step-dots button:after{width:1.35rem;height:.2rem;border-radius:999px;background:#ffffff2e;content:""}.tutorial-step-dots button:focus-visible{outline:2px solid rgb(216 181 109 / 60%);outline-offset:.08rem}.tutorial-step-dots button:hover:after,.tutorial-step-dots button:focus-visible:after{background:#ffffff73}.tutorial-step-dots button.active:after{background:var(--gold, #d8b56d)}.tutorial-intro-actions{display:flex;justify-content:space-between;gap:.65rem}.tutorial-coach-complete{text-align:center}.tutorial-success-mark{display:grid;place-items:center;width:3rem;height:3rem;margin:.25rem auto .5rem;border-radius:50%;background:#47bf8b2e;color:#73e8b2;font-size:1.5rem}.tutorial-complete-actions{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}.tutorial-missing-page{display:grid;place-items:center}@media (max-width: 700px){.tutorial-library-shell{padding-top:1.5rem}.tutorial-level-card{grid-template-columns:3rem minmax(0,1fr)}.tutorial-level-number{width:2.7rem;height:2.7rem}.tutorial-level-card>.action-button{grid-column:1 / -1}.tutorial-ruleset-grid{grid-template-columns:minmax(0,1fr)}.tutorial-ruleset-card{min-height:0}}@media (max-width: 820px),(max-height: 600px) and (max-width: 1100px){.tutorial-coach-overlay{padding:max(.6rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.6rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left))}.tutorial-coach{width:min(28rem,100%);max-height:min(34dvh,15rem);overflow-y:auto;padding:.65rem .8rem}.tutorial-coach-dock,.tutorial-coach-practice{width:100%}.tutorial-coach h1{font-size:1.1rem}.tutorial-coach p{font-size:.9rem}.tutorial-coach-practice{max-height:min(22dvh,9rem)}}@media (prefers-reduced-motion: reduce){.tutorial-coach{transition:none}}.control-strip{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:.6rem;border-radius:.9rem;background:#00000040}.prompt-dock{position:absolute;bottom:calc(100% + .4rem);right:1rem;z-index:25;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;max-width:min(46rem,58vw);pointer-events:none}.prompt-dock>*{pointer-events:auto}.hand-row{display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:1.5rem}.ting-bar{display:flex;align-items:center;gap:.75rem;padding:.3rem .8rem;border-radius:999px;background:#0000008c}.ting-indicator{font-weight:700;color:var(--accent)}.ting-declare{border:1px solid var(--accent);color:var(--accent)}.lobby-heading{display:flex;flex-direction:column;gap:.1rem}.lobby-subtitle{font-size:.8rem;opacity:.7}.result-subtitle{margin:0;display:flex;align-items:center;gap:.4rem}.winning-hand{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem;border-radius:.5rem;background:#ffffff0f}.winning-hand-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem}.pattern-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.pattern-list li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed rgba(255,255,255,.15);padding-bottom:.2rem}.total-tai{margin:0;font-weight:700;text-align:right}.dealer-extra-note{margin:.25rem 0 0;font-size:.85rem;text-align:right;color:var(--accent)}.round-intro{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#00000059,#000000b3);animation:intro-fade .25s ease}@keyframes intro-fade{0%{opacity:0}}.round-intro-card{display:flex;flex-direction:column;align-items:center;gap:1rem}.round-intro-label{margin:0;font-weight:700;font-size:1.1rem;color:#fff;letter-spacing:.03em}.dice-tray{display:flex;gap:1rem}.die{width:3rem;height:3rem;padding:.35rem;border-radius:.6rem;background:var(--tile-bg);box-shadow:0 6px 14px #0006;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.1rem;animation:die-roll .7s ease-out both}@keyframes die-roll{0%{transform:translateY(-1.5rem) rotate(-220deg) scale(.6);opacity:0}60%{transform:translateY(0) rotate(20deg) scale(1.1);opacity:1}to{transform:translateY(0) rotate(0) scale(1)}}.die-pip{border-radius:50%;background:transparent}.die-pip-on{background:var(--ink-red);box-shadow:inset 0 0 2px #0006}.beginner-hint{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem;padding:.4rem .75rem;border-radius:.6rem;background:#1a2e22f0;border:1px solid rgba(245,158,11,.4);max-width:40rem;font-size:.9rem}.beginner-hint-title{font-weight:700;color:var(--accent)}.beginner-hint-shanten{opacity:.85;font-variant-numeric:tabular-nums}.waits-hint{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.3rem .55rem;padding:.3rem .75rem;border-radius:.6rem;background:#1a2e22f0;border:1px solid rgba(245,158,11,.4);font-size:.9rem}.waits-hint-title{font-weight:700;color:var(--accent)}.waits-hint-tile{display:inline-flex;flex-direction:column;align-items:center;gap:.05rem}.waits-hint-count{font-size:.7rem;opacity:.85;font-variant-numeric:tabular-nums}.field-checkbox{flex-direction:row;align-items:center;gap:.5rem}.field-checkbox input{width:auto}.replay-library-page{position:relative;isolation:isolate;max-width:none;padding:0;gap:0;overflow-x:hidden;color:#f5f0e5;background:linear-gradient(#071d18f9,#071d18f9),repeating-linear-gradient(90deg,transparent 0,transparent 47px,rgba(255,255,255,.035) 48px),repeating-linear-gradient(0deg,transparent 0,transparent 47px,rgba(255,255,255,.035) 48px)}.replay-glow{position:fixed;z-index:0;border-radius:50%;pointer-events:none}.replay-glow-one{top:-20rem;right:-14rem;width:48rem;height:48rem;background:radial-gradient(circle,#177a5c33,#177a5c00 68%)}.replay-glow-two{bottom:-24rem;left:-20rem;width:50rem;height:50rem;background:radial-gradient(circle,#c79e5c1a,#c79e5c00 68%)}.replay-library-shell{position:relative;z-index:1;display:flex;width:min(100%,78rem);min-height:100%;flex-direction:column;margin:0 auto;padding:1.35rem clamp(1.25rem,4vw,3.5rem) 2rem}.replay-nav,.replay-brand,.replay-brand-copy,.replay-nav-actions{display:flex;align-items:center}.replay-nav{justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(236,225,199,.14)}.replay-brand{gap:.75rem}.replay-brand-mark{display:grid;width:2.65rem;height:3rem;place-items:center;border:1px solid rgba(64,112,94,.5);border-radius:.48rem;background:linear-gradient(145deg,#fffdf5,#ded4bd);color:#175f48;font-family:var(--cjk-display-font);font-size:1.28rem;font-weight:900;box-shadow:0 3px #a99d84,0 9px 24px #0000003d;transform:rotate(-3deg)}.replay-brand-copy{align-items:flex-start;flex-direction:column;line-height:1.1}.replay-brand-copy strong{font-family:var(--ui-serif-font);font-size:1.05rem;letter-spacing:-.01em}.replay-brand-copy small{margin-top:.25rem;color:#ece1c78c;font-size:.67rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.replay-nav-actions{gap:.55rem}.replay-home-button,.replay-nav-actions .settings-menu>.action-button{min-height:2.55rem;border:1px solid rgba(236,225,199,.14);border-radius:999px;background:#ffffff09;color:#faf6eccc;font-size:.75rem}.replay-home-button{padding:.45rem .85rem}.replay-nav-actions .settings-menu>.action-button{display:grid;width:2.55rem;padding:0;place-items:center}.replay-library-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(25rem,.82fr);gap:clamp(3rem,7vw,6rem);align-items:center;flex:1;min-height:calc(100dvh - 7rem);padding:clamp(2.8rem,7vh,5.5rem) 0}.replay-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;color:#d5a95f;font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.replay-kicker>span{width:1.7rem;height:1px;background:#d5a95f}.replay-library-story h1{max-width:10ch;margin:0;color:#f5f0e5;font-family:var(--ui-serif-font);font-size:clamp(3.3rem,6vw,5rem);font-weight:500;letter-spacing:-.055em;line-height:.98}.replay-library-story>p{max-width:34rem;margin:1.2rem 0 0;color:#efe8d79e;font-size:.98rem;line-height:1.7}.replay-story-visual{position:relative;height:15rem;margin-top:1.35rem}.replay-record-card{position:absolute;border:1px solid rgba(236,225,199,.14);border-radius:.9rem}.replay-record-card-back{top:1.2rem;left:2.2rem;width:min(25rem,calc(100% - 3rem));height:11.7rem;background:#ffffff09;transform:rotate(-4deg)}.replay-record-card-back>span{position:absolute;right:1rem;bottom:.7rem;color:#ece1c714;font-family:var(--ui-serif-font);font-size:4rem}.replay-record-card-front{top:.5rem;left:.5rem;width:min(25rem,calc(100% - 2rem));height:11.7rem;padding:1rem;background:#0a2f25f5;box-shadow:0 1.5rem 3rem #00000040;transform:rotate(1.5deg)}.replay-record-topline,.replay-record-meta{display:flex;align-items:center;justify-content:space-between}.replay-record-topline{color:#efe8d76e;font-size:.58rem;font-weight:800;letter-spacing:.12em}.replay-record-topline strong{color:#d5a95f;font-family:var(--cjk-font)}.replay-record-tiles{display:flex;gap:.45rem;margin:1rem 0 .9rem}.replay-record-tiles>span{display:flex;width:3rem;height:4rem;align-items:center;justify-content:center;flex-direction:column;border:1px solid #c9bfa8;border-radius:.45rem;background:linear-gradient(145deg,#fffdf8,#e3dac5);color:#24352f;font-family:var(--cjk-font);font-size:1.15rem;font-weight:800;box-shadow:0 2px #a79b83}.replay-record-tiles>span small{font-size:.57rem}.replay-record-tiles .replay-record-green{color:#17654c}.replay-record-tiles .replay-record-red{color:#a43f35}.replay-record-track{display:grid;grid-template-columns:repeat(6,1fr);gap:.22rem}.replay-record-track i{height:.26rem;border-radius:999px;background:#ece1c71c}.replay-record-track i:nth-child(-n+4){background:#d5a95f8c}.replay-record-meta{margin-top:.65rem;color:#efe8d761;font-size:.56rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.replay-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;padding-top:1rem;border-top:1px solid rgba(236,225,199,.12)}.replay-benefits>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.1rem .55rem;min-width:0}.replay-benefits>div>span{display:grid;grid-row:span 2;width:1.8rem;height:1.8rem;place-items:center;border:1px solid rgba(213,169,95,.24);border-radius:50%;color:#d5a95f;font-size:.72rem}.replay-benefits strong,.replay-benefits small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-benefits strong{color:#faf6ecd6;font-size:.68rem}.replay-benefits small{color:#efe8d76b;font-size:.57rem}.replay-upload-card,.replay-picker-card{position:relative;padding:clamp(1.5rem,3vw,2.1rem);border:1px solid rgba(255,255,255,.72);border-radius:1.35rem;background:radial-gradient(circle at 100% 0,rgba(213,169,95,.17),transparent 34%),#f2ecdf;color:#142b24;box-shadow:0 1.5rem 4rem #0000004d,0 0 0 .45rem #ffffff06}.replay-upload-card:before,.replay-picker-card:before{position:absolute;top:.65rem;right:.65rem;width:1rem;height:1rem;border-top:1px solid rgba(24,85,66,.25);border-right:1px solid rgba(24,85,66,.25);content:""}.replay-card-heading>span{color:#c8994c;font-size:.59rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.replay-card-heading h2,.replay-card-heading h1{margin:.28rem 0 0;font-family:var(--ui-serif-font);font-size:1.85rem;font-weight:500;letter-spacing:-.03em}.replay-card-heading p{margin:.45rem 0 0;color:#767e78;font-size:.72rem;line-height:1.5}.replay-upload-card .error-banner{margin-top:1rem;border:1px solid rgba(164,63,53,.28);background:#a43f3517;color:#8c3029;font-size:.72rem;font-weight:700}.replay-dropzone{display:flex;min-height:17rem;align-items:center;justify-content:center;flex-direction:column;margin-top:1.2rem;padding:1.25rem;border:1px dashed #c8bda9;border-radius:.9rem;background:#ffffff57;text-align:center;transition:border-color .15s ease,background .15s ease,transform .15s ease}.replay-dropzone-active{border-color:#28785e;background:#28785e14;transform:translateY(-2px)}.replay-upload-icon{display:grid;width:3.5rem;height:3.5rem;place-items:center;margin-bottom:.85rem;border:1px solid rgba(24,91,70,.19);border-radius:50%;background:#185b460f;color:#236c54}.replay-upload-icon svg{width:1.4rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.replay-dropzone>strong{color:#193c31;font-family:var(--ui-serif-font);font-size:1.08rem}.replay-dropzone>span{margin-top:.25rem;color:#858c86;font-size:.68rem}.replay-choose-button{display:flex;width:min(100%,15rem);min-height:3rem;align-items:center;justify-content:space-between;margin-top:1.15rem;padding:.65rem .75rem .65rem .9rem;border:1px solid #164e3d;border-radius:.65rem;background:#185b46;color:#fffaf0;font-size:.78rem;font-weight:800;cursor:pointer;box-shadow:0 .5rem 1.15rem #185b462e}.replay-choose-button svg,.replay-seat-choice svg{width:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}.replay-dropzone>small{margin-top:.65rem;color:#9a9e98;font-size:.56rem}.replay-privacy-note{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.9rem 0 0;color:#7d857f;font-size:.6rem;text-align:center}.replay-privacy-note>span{display:grid;width:1rem;height:1rem;place-items:center;border-radius:50%;background:#185b461a;color:#20654f;font-size:.55rem;font-weight:900}.replay-picker-layout{display:grid;flex:1;min-height:calc(100dvh - 7rem);place-items:center;padding:3rem 0}.replay-picker-card{width:min(100%,33rem)}.replay-seat-picker{display:flex;flex-direction:column;gap:.65rem;margin-top:1.35rem}.replay-seat-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;min-height:4.5rem;padding:.7rem .85rem;border:1px solid #d3c8b4;border-radius:.75rem;background:#ffffff70;color:#18382e;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.replay-seat-choice:hover{border-color:#185b4673;background:#185b460f;transform:translateY(-1px)}.replay-seat-choice-wind{display:grid;width:2.5rem;height:2.8rem;place-items:center;border:1px solid #c9bfa8;border-radius:.45rem;background:linear-gradient(145deg,#fffdf8,#e3dac5);color:#195c47;font-family:var(--cjk-font);font-size:.95rem;font-weight:800;box-shadow:0 2px #ada087}.replay-seat-choice>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:.12rem}.replay-seat-choice small{color:#92958f;font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.replay-seat-choice strong{font-size:.82rem}.replay-picker-back{display:block;margin:1.1rem auto 0;border:0;background:transparent;color:#6f7771;font:inherit;font-size:.68rem;font-weight:800;text-decoration:underline;text-underline-offset:.2rem;cursor:pointer}.replay-page{position:relative;height:100dvh;display:flex;flex-direction:column;gap:.5rem;padding:.6rem;overflow:hidden}.replay-page .table-grid{flex:1;min-height:0}.replay-seat{display:flex;flex-direction:column;align-items:center;gap:.3rem}.replay-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:100%}.replay-banner{margin:0;font-weight:700;color:var(--accent);text-align:center}.replay-controls{display:flex;align-items:center;gap:.42rem;padding:.48rem .6rem;border:1px solid rgba(255,255,255,.11);border-radius:.9rem;background:#041b14c7;box-shadow:0 .7rem 1.8rem #00000029;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;justify-content:center}.replay-controls .action-button{display:grid;min-width:2.35rem;min-height:2.35rem;padding:.35rem .55rem;place-items:center;border-color:#ffffff29;border-radius:.6rem;background:#ffffff0e;font-size:.78rem}.replay-controls .action-button-primary{border-color:#d5a95f;background:#d5a95f;color:#17362c}.replay-controls .action-button:last-child{width:auto;padding-inline:.8rem;border-color:#d5a95f47;color:#e4bd78;font-size:.67rem}.replay-scrubber{flex:1;min-width:8rem;accent-color:#d5a95f}.replay-step{color:#f5f0e5ad;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;font-variant-numeric:tabular-nums;min-width:4rem;text-align:center}@media (hover: none){button.tile:hover:not(:disabled){transform:none}button.tile.tile-selected:hover:not(:disabled){transform:translateY(-.55rem)}}@media (max-width: 820px),(max-height: 600px) and (max-width: 1100px){.page{padding:max(.8rem,env(safe-area-inset-top)) max(.8rem,env(safe-area-inset-right)) max(.8rem,env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left))}.home-cards{grid-template-columns:minmax(0,1fr)}.card{padding:1rem}.saved-room{flex-wrap:wrap}.saved-room-info{flex-basis:100%}.saved-room .action-button{flex:1}.saved-preview-dialog{max-height:calc(100dvh - max(.5rem,env(safe-area-inset-top)))}.saved-preview{--tile-scale: .72}.saved-preview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-preview-host-table{flex-wrap:wrap}.saved-preview-host-table .hand-main{max-width:calc(8 * 2.55rem * var(--tile-scale))}.saved-preview-opponents{grid-template-columns:minmax(0,1fr)}.share-row{align-items:stretch}.share-url{width:100%}.action-button{min-height:2.75rem;touch-action:manipulation}.table-page{gap:.35rem;padding:calc(max(.45rem,env(safe-area-inset-top)) + 2.85rem) max(.45rem,env(safe-area-inset-right)) max(.45rem,env(safe-area-inset-bottom)) max(.45rem,env(safe-area-inset-left))}.table-status{top:max(.45rem,env(safe-area-inset-top));left:max(.45rem,env(safe-area-inset-left));gap:.4rem;min-height:2.5rem;align-items:center;padding:.3rem .65rem;font-size:.73rem}.table-settings{top:max(.45rem,env(safe-area-inset-top));right:max(.45rem,env(safe-area-inset-right));gap:.3rem}.table-settings .action-button{min-height:2.75rem;padding:.35rem .7rem;font-size:.82rem}.table-room-name{display:none}.table-settings .settings-panel{position:fixed;top:calc(max(.45rem,env(safe-area-inset-top)) + 2.8rem);right:max(.45rem,env(safe-area-inset-right));width:min(18rem,calc(100vw - .9rem));max-height:calc(100dvh - 4rem);overflow-y:auto}.mobile-game-surface{display:flex;flex:1;min-height:0;flex-direction:column;gap:.35rem}.mobile-opponents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}.mobile-seat-card{position:relative;min-width:0;min-height:4.75rem;padding:.38rem;border:1px solid rgba(255,255,255,.14);border-radius:.75rem;background:linear-gradient(155deg,#032115eb,#0000005c);color:inherit;font:inherit;text-align:left;touch-action:manipulation}.mobile-seat-card-turn{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 12px #f59e0b4d}.mobile-seat-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.25rem}.mobile-seat-wind{display:inline-flex;width:1.45rem;height:1.45rem;align-items:center;justify-content:center;border-radius:50%;background:#f59e0b29;color:var(--accent);font-family:var(--cjk-font);font-weight:800}.mobile-seat-name{overflow:hidden;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mobile-seat-ledger{font-size:.68rem;font-variant-numeric:tabular-nums;opacity:.85}.mobile-seat-badges{display:flex;height:1.15rem;align-items:center;gap:.18rem;overflow:hidden;margin:.18rem 0;white-space:nowrap}.mobile-seat-badges .seat-badge{overflow:hidden;padding:.05rem .25rem;font-size:.56rem;text-overflow:ellipsis}.mobile-seat-metrics{display:flex;flex-direction:column;gap:.04rem;font-size:.58rem;line-height:1.15;opacity:.78}.mobile-seat-card .chat-bubble{bottom:calc(100% + .25rem);font-size:.9rem}.mobile-play-stage{display:grid;grid-template-columns:minmax(6.6rem,.72fr) minmax(0,1.28fr);flex:1;min-height:0;gap:.45rem;padding:.5rem;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:radial-gradient(circle at 24% 42%,rgba(34,100,65,.55),transparent 42%),linear-gradient(160deg,#0e3c21,#0a2c19)}.mobile-last-play{display:flex;min-width:0;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;text-align:center}.mobile-turn-label,.mobile-last-label,.mobile-no-discard{margin:0}.mobile-turn-label{max-width:100%;overflow:hidden;color:var(--accent);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobile-last-label,.mobile-no-discard{max-width:100%;overflow:hidden;font-size:.68rem;opacity:.78;text-overflow:ellipsis;white-space:nowrap}.mobile-last-tile{--tile-scale: .92;min-height:calc(3.3rem * var(--tile-scale));padding:.18rem 0 .28rem}.mobile-wall-progress{width:min(6.7rem,90%);height:.28rem;overflow:hidden;border-radius:999px;background:#ffffff29}.mobile-wall-progress-indicator{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d97706,var(--accent));transition:transform .35s ease}.mobile-wall-label{font-size:.62rem;opacity:.72}.mobile-river-overview{--tile-scale: .58;display:flex;min-width:0;min-height:0;flex-direction:column;justify-content:center;gap:.25rem}.mobile-river-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.3rem;font-size:.68rem;font-weight:700}.mobile-table-details-button{min-height:1.8rem;padding:.2rem .45rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#00000040;color:inherit;font:inherit;white-space:nowrap}.mobile-river-rows{display:flex;min-height:0;flex-direction:column;gap:.2rem}.mobile-river-row{display:grid;min-width:0;min-height:2rem;grid-template-columns:minmax(2.8rem,.8fr) minmax(0,1.25fr) 1.2rem;align-items:center;gap:.2rem;padding:.16rem .25rem;overflow:hidden;border:1px solid transparent;border-radius:.5rem;background:#00000038;color:inherit;font:inherit;text-align:left}.mobile-river-row-latest{border-color:#f59e0b94;background:#f59e0b1a}.mobile-river-owner{display:flex;min-width:0;align-items:center;gap:.2rem;overflow:hidden;font-size:.59rem}.mobile-river-owner span:first-child{color:var(--accent);font-family:var(--cjk-font);font-weight:800}.mobile-river-owner span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-river-tiles{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:1px}.mobile-river-count{font-size:.58rem;text-align:right;opacity:.65}.mobile-river-empty{opacity:.35}.mobile-self-panel{display:flex;min-height:1.8rem;align-items:center;justify-content:center;gap:.35rem}.mobile-self-panel .seat-info{padding:.16rem .55rem;font-size:.74rem}.mobile-self-panel .seat-anchor{flex:0 1 auto}.mobile-self-panel>.flower-area{--tile-scale: .68}.control-strip{gap:.3rem;padding:.35rem max(.3rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(.3rem,env(safe-area-inset-left));border:1px solid rgba(255,255,255,.08);background:#031c12f0;box-shadow:0 -8px 24px #0000002e}.hand-row{width:100%;flex-direction:column;flex-wrap:nowrap;gap:.28rem}.hand-row>.meld-area{order:-1;max-width:100%;justify-content:center;gap:.25rem}.control-strip .hand{--mobile-tile-width: min( calc(11.111vw - .278rem) , calc(2.4rem * var(--tile-scale)) );--mobile-tile-height: min( calc(15.278vw - .382rem) , calc(3.3rem * var(--tile-scale)) );display:grid;width:auto;grid-template-columns:auto var(--mobile-tile-width);align-items:end;gap:.2rem}.control-strip .hand-main{display:grid;grid-template-columns:repeat(8,var(--mobile-tile-width));gap:1px}.control-strip .hand-main .tile,.control-strip .hand-drawn .tile{width:var(--mobile-tile-width);height:var(--mobile-tile-height)}.control-strip .hand-main .tile-face-glyph,.control-strip .hand-drawn .tile-face-glyph{font-size:min(calc(12.037vw - .301rem),calc(2.6rem * var(--tile-scale)))}.control-strip .hand-main .tile-face-top,.control-strip .hand-drawn .tile-face-top{font-size:min(4.2vw,calc(1.05rem * var(--tile-scale)))}.control-strip .hand-main .tile-face-bottom,.control-strip .hand-drawn .tile-face-bottom{font-size:min(3.8vw,calc(.95rem * var(--tile-scale)))}.control-strip .hand-drawn{align-self:end;margin-left:0}.prompt-dock{right:0;bottom:calc(100% + .35rem);left:0;width:100%;max-width:none;max-height:48dvh;align-items:stretch;gap:.3rem;overflow-y:auto;padding:0 .15rem;overscroll-behavior:contain}.prompt-dock>*{max-width:100%}.prompt-dock .action-prompt,.prompt-dock .action-buttons,.prompt-dock .countdown{width:100%}.prompt-dock .action-prompt{padding:.35rem;border:1px solid rgba(255,255,255,.14);border-radius:.75rem;background:#031c12f5;box-shadow:0 8px 24px #0000004d}.prompt-dock .action-buttons{flex-wrap:nowrap}.prompt-dock .action-button{min-width:0;min-height:2.9rem;flex:1;padding:.45rem .55rem}.prompt-dock>.ting-declare{align-self:flex-end;flex:none;background:#031c12f5}.ting-bar{justify-content:space-between;border-radius:.75rem}.beginner-hint,.waits-hint{width:100%;padding:.35rem .55rem;font-size:.78rem}.notice{align-self:center}.mobile-table-overlay{z-index:80}.mobile-table-dialog{inset:auto 0 0;z-index:81;transform:none;translate:none;width:100%;min-width:0;max-width:none;max-height:min(82dvh,44rem);padding:1rem max(.8rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left));border-radius:1rem 1rem 0 0;background:#102b21}.mobile-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mobile-dialog-heading .action-button{min-height:2.5rem}.mobile-detail-tabs{display:grid;width:100%;height:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem}.mobile-detail-tabs button{display:flex;min-width:0;min-height:2.8rem;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.3rem;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:.55rem;background:#0003;color:inherit;font:inherit;font-size:.7rem}.mobile-detail-tabs button span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-detail-tabs .mobile-detail-tab-active{border-color:var(--accent);background:#f59e0b24;color:var(--accent)}.mobile-detail-tabs button:focus-visible,.mobile-table-details-button:focus-visible,.mobile-river-row:focus-visible,.mobile-seat-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-detail-player{--tile-scale: .82;display:flex;flex-direction:column;gap:.55rem}.mobile-detail-counts{margin:0;font-size:.78rem;opacity:.75}.mobile-public-section{display:flex;min-height:2.4rem;flex-direction:column;gap:.35rem;padding:.55rem;border-radius:.65rem;background:#0000002e}.mobile-public-section h4,.mobile-public-section p{margin:0}.mobile-public-section h4{color:var(--accent);font-size:.78rem}.mobile-public-section p{font-size:.78rem;opacity:.65}.mobile-public-river .river{grid-template-columns:repeat(8,calc(1.7rem * var(--tile-scale)));min-height:0;align-self:center}.pause-menu-quit-grid{grid-template-columns:1fr}.pause-menu-choice{min-height:4.5rem}.dialog:not(.mobile-table-dialog){inset:auto 0 0;transform:none;translate:none;width:100%;min-width:0;max-width:none;max-height:calc(100dvh - max(.5rem,env(safe-area-inset-top)));padding:1rem max(.9rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.9rem,env(safe-area-inset-left));border-radius:1rem 1rem 0 0}.dialog-footer .action-button{flex:1}.chi-combo{width:100%;min-height:4.4rem;align-items:center;justify-content:center}.winning-hand{--tile-scale: .78}.settings-panel{max-width:calc(100vw - 1rem)}}@media (prefers-reduced-motion: reduce){.mobile-wall-progress-indicator{transition:none}}@media (max-height: 600px) and (min-width: 600px) and (max-width: 1100px){.table-page{padding-top:calc(max(.35rem,env(safe-area-inset-top)) + 2.55rem)}.table-status,.table-settings{top:max(.35rem,env(safe-area-inset-top))}.mobile-seat-card{min-height:3.7rem}.mobile-seat-metrics{flex-direction:row;gap:.35rem}.mobile-play-stage{min-height:6rem}.mobile-self-panel{display:none}.control-strip .hand{--mobile-tile-width: min( calc(5.882vw - .176rem) , calc(2.4rem * var(--tile-scale)) );--mobile-tile-height: min( calc(8.088vw - .243rem) , calc(3.3rem * var(--tile-scale)) )}.control-strip .hand-main{display:flex;flex-wrap:nowrap}.control-strip .hand-main .tile-face-glyph,.control-strip .hand-drawn .tile-face-glyph{font-size:min(calc(6.373vw - .191rem),calc(2.6rem * var(--tile-scale)))}.hand-row>.meld-area{--tile-scale: .72}.prompt-dock{right:0;left:auto;width:min(32rem,68vw)}}@media (max-width: 1050px){.home-hero{grid-template-columns:minmax(0,1fr);gap:3rem}.home-story,.home-play-panel{width:min(100%,42rem);margin-inline:auto}.home-story h1{max-width:15ch}}@media (max-width: 820px){.page.home-page{padding:0}.home-frame{padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.home-hero{gap:2.4rem;padding:2.8rem 0 3rem}.home-story h1{font-size:clamp(3rem,13vw,4.2rem)}.home-tableau{height:15.5rem}.home-benefits{gap:.65rem}.home-benefit{gap:.42rem}.home-benefit-icon{width:1.65rem;height:1.65rem}.home-play-panel{padding:1.35rem}.home-play-panel .field input,.home-play-panel .field select{height:3.15rem;font-size:1rem}.home-tabs button,.home-primary-button{min-height:3.1rem;touch-action:manipulation}.home-saved-panel{margin-bottom:1.5rem}}@media (max-width: 560px){.home-nav{padding-bottom:.9rem}.home-brand-mark{width:2.3rem;height:2.6rem}.home-brand-copy small{display:none}.home-text-button{width:2.55rem;justify-content:center;padding:0;font-size:0}.home-text-button svg{width:1.05rem}.home-hero{padding-top:2.35rem}.home-kicker{margin-bottom:.9rem}.home-story h1{max-width:12ch;font-size:clamp(2.65rem,13.5vw,3.6rem)}.home-intro{margin-top:1rem;line-height:1.6}.home-tableau{height:13rem;margin-top:1rem}.tableau-orbit,.tableau-seat,.tableau-live-pill{transform-origin:center}.tableau-orbit-one{width:12rem;height:12rem}.tableau-orbit-two{width:16rem;height:16rem}.tableau-felt{width:7.8rem;height:7.8rem}.tableau-felt .tableau-center-mark{font-size:2rem}.tableau-seat-north{top:.6rem}.tableau-seat-south{bottom:.6rem}.tableau-seat-east{left:calc(38% + 5.8rem)}.tableau-seat-west{left:calc(38% - 6.35rem)}.tableau-tile{width:3.05rem;height:4.15rem}.tableau-tile strong{font-size:1.48rem}.tableau-tile-one{top:5.7rem;left:56%}.tableau-tile-two{top:5.1rem;left:calc(56% + 2.4rem)}.tableau-tile-three{top:5.6rem;left:calc(56% + 4.85rem)}.tableau-live-pill{top:1.4rem;left:54%;font-size:.56rem}.home-benefits{grid-template-columns:minmax(0,1fr);gap:.8rem}.home-benefit strong,.home-benefit small{white-space:normal}.home-panel-heading h2{font-size:1.65rem}.home-form-grid,.home-advanced-grid{grid-template-columns:minmax(0,1fr)}.home-password-field,.home-play-panel .home-checkbox{grid-column:auto}.home-footer{align-items:flex-start;flex-direction:column}}@media (max-width: 370px){.home-brand-copy strong{font-size:.88rem}.home-play-panel{padding:1.05rem;border-radius:1rem}.home-tabs button{padding-inline:.35rem;font-size:.7rem}}@media (prefers-reduced-motion: reduce){.tableau-live-pill>span{animation:none}.home-copy-slide{transition:none}.home-primary-button,.home-primary-button svg,.home-summary-plus{transition:none}}@media (max-width: 1050px){.lobby-layout,.lobby-entry-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem}.lobby-layout{width:min(100%,46rem);min-height:0;margin-inline:auto}.lobby-entry-layout{width:min(100%,42rem);margin-inline:auto}.lobby-entry-card{width:min(100%,32rem)}}@media (max-width: 820px){.page.lobby-page{padding:0}.lobby-shell{padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.4rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.lobby-layout,.lobby-entry-layout{padding:2.8rem 0}.lobby-table-card,.lobby-entry-card{padding:1.35rem}.lobby-share-control button,.lobby-primary-button{min-height:3rem;touch-action:manipulation}.lobby-entry-card .field input{height:3.15rem;font-size:1rem}}@media (max-width: 560px){.lobby-nav{padding-bottom:.9rem}.lobby-brand-mark{width:2.3rem;height:2.6rem}.lobby-brand-copy small{display:none}.lobby-leave-button{width:2.55rem;overflow:hidden;padding:0;font-size:0}.lobby-leave-button:before{font-size:1rem;content:"←"}.lobby-layout,.lobby-entry-layout{padding-top:2.35rem}.lobby-title-block{align-items:flex-start;flex-direction:column}.lobby-title-block h1{font-size:clamp(2.6rem,13vw,3.5rem)}.lobby-room-code{flex-direction:row;gap:.6rem;align-items:center}.lobby-room-intro{margin-top:.9rem}.lobby-rules-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem .7rem}.lobby-table-heading{margin-bottom:1rem}.lobby-seat-grid{gap:.5rem}.lobby-seat-card{grid-template-columns:minmax(0,1fr);gap:.45rem;min-height:8.2rem;align-content:start;padding:.7rem}.lobby-seat-avatar{width:2.2rem;height:2.5rem}.lobby-seat-copy strong{padding-right:.5rem}.lobby-seat-badges{right:.45rem;bottom:.4rem}.lobby-entry-story h1{font-size:clamp(2.8rem,14vw,4rem)}.lobby-entry-story>p{margin-top:1rem;font-size:.9rem}}@media (max-width: 370px){.lobby-brand-copy strong{font-size:.88rem}.lobby-table-card,.lobby-entry-card{padding:1.05rem;border-radius:1rem}.lobby-share-control button{width:2.7rem;justify-content:center;overflow:hidden;padding:0;font-size:0}.lobby-share-control button svg{width:1rem}}@media (prefers-reduced-motion: reduce){.lobby-waiting-dots i{animation:none}.lobby-primary-button,.lobby-primary-button svg{transition:none}}@media (max-width: 1050px){.replay-library-layout{grid-template-columns:minmax(0,1fr);gap:2.6rem;width:min(100%,42rem);margin-inline:auto}.replay-library-story h1{max-width:12ch}.replay-upload-card{width:min(100%,32rem)}}@media (max-width: 820px){.page.replay-library-page{padding:0}.replay-library-shell{padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.4rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.replay-library-layout{padding:2.8rem 0}.replay-upload-card,.replay-picker-card{padding:1.35rem}.replay-choose-button,.replay-seat-choice{min-height:3rem;touch-action:manipulation}}@media (max-width: 560px){.replay-nav{padding-bottom:.9rem}.replay-brand-mark{width:2.3rem;height:2.6rem}.replay-brand-copy small{display:none}.replay-home-button{width:2.55rem;overflow:hidden;padding:0;font-size:0}.replay-home-button:before{font-size:1rem;content:"←"}.replay-library-layout{padding-top:2.35rem}.replay-library-story h1{max-width:9ch;font-size:clamp(2.9rem,14vw,3.8rem)}.replay-library-story>p{margin-top:1rem;font-size:.9rem}.replay-story-visual{height:13rem}.replay-record-card-front,.replay-record-card-back{height:10.6rem}.replay-record-tiles{margin-block:.75rem}.replay-record-tiles>span{width:2.55rem;height:3.45rem}.replay-benefits{grid-template-columns:minmax(0,1fr);gap:.75rem}.replay-benefits strong,.replay-benefits small{white-space:normal}.replay-dropzone{min-height:15.5rem}.replay-picker-layout{min-height:calc(100dvh - 5rem);padding:2.4rem 0}}@media (max-width: 370px){.replay-brand-copy strong{font-size:.88rem}.replay-upload-card,.replay-picker-card{padding:1.05rem;border-radius:1rem}}@media (prefers-reduced-motion: reduce){.replay-dropzone,.replay-seat-choice{transition:none}}
