@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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@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-black:#000;--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);--font-weight-medium:500;--font-weight-semibold:600;--radius-xs:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--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%;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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-4{right:calc(var(--spacing)*4)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(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}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-transparent{border-color:#0000}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-transparent{background-color:#0000}.p-6{padding:calc(var(--spacing)*6)}.p-\[3px\]{padding:3px}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.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-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)}.whitespace-nowrap{white-space:nowrap}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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-opacity{transition-property:opacity;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-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing)*9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing)*.5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing)*-1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing)*.5)}@media(hover:hover){.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing)*1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing)*8)}.data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing)*3.5)}.data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing)*6)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[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)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}}:root{color-scheme:light;--bg-primary:#f4f7f2;--bg-secondary:#ebf0e8;--bg-tertiary:#dce5d8;--bg-surface:#5a8a6a14;--text-primary:#1a2a1e;--text-secondary:#2a3a2e;--text-muted:#4a5a4e;--text-on-gold:#2a3a2e;--accent-primary:#5a8a6a;--accent-hover:#4a7a5a;--accent-gold:#d4a855;--accent-danger:#c45a5a;--accent-success:#5a9a60;--accent-streak:#e08a50;--border:100 15% 50%;--border-accent:#5a7a5a;--border-frame:#3a5a3a;--outline-dark:#2a3a2e;--outline-soft:#4a5a4e;--shadow-sm:0 1px 2px #2a3a2e1a;--shadow-md:0 4px 12px #2a3a2e26;--shadow-lg:0 8px 24px #2a3a2e33;--shadow-xl:0 12px 32px #2a3a2e40;--shadow-inset:inset 0 1px 2px #2a3a2e1a;--shadow-outline:2px 2px 0 var(--outline-dark);--shadow-outline-lg:3px 3px 0 var(--outline-dark);--overlay-bg:#2a3a2e99;--overlay-light:#ffffff26;--overlay-parchment:#b8cca826;--glass-bg:#f8faf6eb;--glass-border:#5a8a6a40;--highlight-inset:inset 0 1px 0 #fff6;--vignette-light:#2a3a2e26;--vignette-dark:#2a3a2e59;--panel-bg:#f8faf6;--panel-border:#6a8a62;--panel-shadow:#3a4a3e40;--focus-ring:#5a8a6a80;--hover-overlay:#5a8a6a14;--board-bg:#b8cca8;--board-gradient-start:#c8d8bc;--board-gradient-mid:#b8cca8;--board-gradient-end:#a8bc98;--valid-slot:#ffe4a0;--topo-base:#8a9f8a;--topo-line-color:#5a8a6a;--topo-line-opacity:.12;--topo-highlight:#ffffff26;--glow-gold:#d4a85599;--glow-gold-soft:#d4a8554d;--btn-shadow:#3a4a3e33;--btn-shadow-hover:#3a4a3e59;--spinner-track:#2a3a2e26;--touch-target-min:44px;--tile-size-mobile:100px;--tile-size-tablet:150px;--tile-size-desktop:180px;--drawer-width:240px;--tab-bar-height:64px;--background:100 20% 96%;--foreground:140 22% 14%;--card:100 25% 97%;--card-foreground:140 22% 14%;--popover:100 25% 97%;--popover-foreground:140 22% 14%;--primary:145 22% 40%;--primary-foreground:100 20% 97%;--secondary:100 18% 90%;--secondary-foreground:140 22% 14%;--muted:100 12% 85%;--muted-foreground:140 12% 33%;--accent:40 60% 58%;--accent-foreground:140 22% 14%;--destructive:0 50% 50%;--destructive-foreground:100 20% 97%;--input:100 15% 50%;--ring:145 22% 40%;--radius:.5rem}[data-theme=dark]{color-scheme:dark;--bg-primary:#1a2420;--bg-secondary:#243028;--bg-tertiary:#2e3a32;--bg-surface:#7aaa800f;--text-primary:#f0f4ee;--text-secondary:#d4dcd0;--text-muted:#9aaa98;--text-on-gold:#1a2420;--accent-primary:#7aaa80;--accent-hover:#8aba90;--accent-gold:#e8c060;--accent-danger:#d87070;--accent-success:#7aaa80;--accent-streak:#e8a060;--border:150 12% 26%;--border-accent:#5a7a5a;--border-frame:#7a9a7a;--outline-dark:#1a2a20;--outline-soft:#2a3a30;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-xl:0 12px 32px #00000080;--shadow-inset:inset 0 1px 2px #0003;--shadow-outline:2px 2px 0 var(--outline-dark);--shadow-outline-lg:3px 3px 0 var(--outline-dark);--overlay-bg:#000000b3;--overlay-light:#ffffff14;--overlay-parchment:#a8c0a01a;--glass-bg:#1a2420e6;--glass-border:#a8c0a01f;--highlight-inset:inset 0 1px 0 #ffffff1a;--vignette-light:#00000040;--vignette-dark:#00000080;--panel-bg:#1e2a24;--panel-border:#3a4a3e;--panel-shadow:#00000080;--focus-ring:#7aaa8066;--hover-overlay:#7aaa801a;--board-bg:#2a3a30;--board-gradient-start:#3a4a3e;--board-gradient-mid:#2a3a30;--board-gradient-end:#1a2a20;--valid-slot:#ffd54f;--topo-base:#3a4a3e;--topo-line-color:#7aaa80;--topo-line-opacity:.08;--topo-highlight:#ffffff14;--glow-gold:#e8c0608c;--glow-gold-soft:#e8c06047;--btn-shadow:#0000004d;--btn-shadow-hover:#7aaa8059;--spinner-track:#f0f4ee26;--background:150 15% 12%;--foreground:100 15% 94%;--card:150 18% 14%;--card-foreground:100 15% 94%;--popover:150 18% 14%;--popover-foreground:100 15% 94%;--primary:130 18% 58%;--primary-foreground:100 15% 97%;--secondary:150 15% 18%;--secondary-foreground:100 15% 94%;--muted:150 12% 22%;--muted-foreground:100 10% 65%;--accent:45 65% 62%;--accent-foreground:150 15% 12%;--destructive:0 50% 60%;--destructive-foreground:100 15% 97%;--input:150 12% 26%;--ring:130 18% 58%}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--bg-primary:#1a2420;--bg-secondary:#243028;--bg-tertiary:#2e3a32;--bg-surface:#7aaa800f;--text-primary:#f0f4ee;--text-secondary:#d4dcd0;--text-muted:#9aaa98;--text-on-gold:#1a2420;--accent-primary:#7aaa80;--accent-hover:#8aba90;--accent-gold:#e8c060;--accent-danger:#d87070;--accent-success:#7aaa80;--accent-streak:#e8a060;--border:150 12% 26%;--border-accent:#5a7a5a;--border-frame:#7a9a7a;--outline-dark:#1a2a20;--outline-soft:#2a3a30;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-xl:0 12px 32px #00000080;--shadow-inset:inset 0 1px 2px #0003;--shadow-outline:2px 2px 0 var(--outline-dark);--shadow-outline-lg:3px 3px 0 var(--outline-dark);--overlay-bg:#000000b3;--overlay-light:#ffffff14;--overlay-parchment:#a8c0a01a;--glass-bg:#1a2420e6;--glass-border:#a8c0a01f;--highlight-inset:inset 0 1px 0 #ffffff1a;--vignette-light:#00000040;--vignette-dark:#00000080;--panel-bg:#1e2a24;--panel-border:#3a4a3e;--panel-shadow:#00000080;--focus-ring:#7aaa8066;--hover-overlay:#7aaa801a;--board-bg:#2a3a30;--board-gradient-start:#3a4a3e;--board-gradient-mid:#2a3a30;--board-gradient-end:#1a2a20;--valid-slot:#ffd54f;--topo-base:#3a4a3e;--topo-line-color:#7aaa80;--topo-line-opacity:.08;--topo-highlight:#ffffff14;--glow-gold:#e8c0608c;--glow-gold-soft:#e8c06047;--btn-shadow:#0000004d;--btn-shadow-hover:#7aaa8059;--spinner-track:#f0f4ee26;--background:150 15% 12%;--foreground:100 15% 94%;--card:150 18% 14%;--card-foreground:100 15% 94%;--popover:150 18% 14%;--popover-foreground:100 15% 94%;--primary:130 18% 58%;--primary-foreground:100 15% 97%;--secondary:150 15% 18%;--secondary-foreground:100 15% 94%;--muted:150 12% 22%;--muted-foreground:100 10% 65%;--accent:45 65% 62%;--accent-foreground:150 15% 12%;--destructive:0 50% 60%;--destructive-foreground:100 15% 97%;--input:150 12% 26%;--ring:130 18% 58%}}:root{--font-display:"Cinzel",serif;--font-body:"Crimson Pro",serif;--font-ui:system-ui,-apple-system,sans-serif;--font-mono:"Fira Code","SF Mono","Consolas",monospace;--touch-target-min:44px;--tile-size-desktop:180px;--tile-size-tablet:150px;--tile-size-mobile:100px;--drawer-width:240px;--hud-bar-height:52px;--tab-bar-height:56px;font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5;transition:background-color .2s,color .2s}a{color:var(--accent-primary);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--accent-hover)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}h1{font-family:var(--font-display);font-size:3.2em;line-height:1.1}h2,h3{font-family:var(--font-display)}button{font-size:1em;font-weight:500;font-family:var(--font-ui);background-color:var(--bg-tertiary);color:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;transition:border-color .25s}button:hover{border-color:var(--accent-primary)}button:focus,button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}.landing-signup-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.8rem;font-size:.95em;font-weight:500;font-family:var(--font-ui);background:transparent;color:var(--accent-gold);border:1.5px solid var(--accent-gold);border-radius:10px;cursor:pointer;transition:background .2s,box-shadow .2s}.landing-signup-btn:hover{background:color-mix(in srgb,var(--accent-gold) 10%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--accent-gold) 15%,transparent)}.landing-logout-btn{color:var(--text-muted);border-color:var(--text-muted)}.landing-logout-btn:hover{background:var(--overlay-light);box-shadow:0 0 16px var(--overlay-light)}.signup-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.signup-modal{position:relative;max-width:380px;width:100%;padding:2rem;text-align:center}.signup-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:6px;transition:color .15s}.signup-close:hover{color:var(--text-primary)}.signup-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem}.signup-header h2{margin:0;font-family:var(--font-display);font-size:1.4em;color:var(--text-primary)}.signup-desc{margin:0;font-size:.85em;color:var(--text-muted);line-height:1.4}.signup-form{display:flex;flex-direction:column;gap:.75rem}.signup-input{width:100%;padding:.7rem 1rem;font-size:1.05em;font-family:var(--font-body);background:var(--bg-secondary);border:2px solid var(--border);border-radius:10px;color:var(--text-primary);text-align:center;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.signup-input:focus{border-color:var(--accent-gold);box-shadow:0 0 12px color-mix(in srgb,var(--accent-gold) 20%,transparent)}.signup-error{color:var(--accent-danger);font-size:.85em;margin:0}.signup-submit{width:100%}.signup-nudge-btn{display:flex!important;align-items:center;gap:.35rem;color:var(--accent-gold)!important;border:1px solid var(--accent-gold)!important;border-radius:8px!important;padding:.3rem .6rem!important;font-size:.75em;transition:background .2s}.signup-nudge-btn:hover{background:color-mix(in srgb,var(--accent-gold) 10%,transparent)}.signup-nudge-label{font-family:var(--font-ui);font-weight:500}.lobby-player-name{font-family:var(--font-display);font-size:1.2em;color:var(--accent-gold);text-align:center;display:block}.connection-lost-overlay{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:1000}.connection-lost-overlay h2{font-family:var(--font-display);font-weight:600;color:var(--text-primary);margin:0}.connection-lost-overlay p{color:var(--text-muted);font-family:var(--font-body);margin:0}.tutorial-overlay{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:900;padding:1rem}.tutorial-modal{background:var(--panel-bg);border:3px solid var(--border-frame);border-radius:10px;max-width:420px;width:100%;padding:2rem;position:relative;box-shadow:0 8px 32px var(--panel-shadow),inset 0 1px #ffffff80,inset 0 -2px 4px #00000014;animation:modalUnfurl .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalUnfurl{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.tutorial-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;transition:color .15s}.tutorial-close:hover{color:var(--text-primary)}.tutorial-step{text-align:center}.tutorial-step h3{font-family:var(--font-display);font-weight:700;font-size:1.3em;margin:1rem 0 .5rem;color:var(--text-primary)}.tutorial-step p{color:var(--text-secondary);font-family:var(--font-body);font-size:1em;line-height:1.6;margin:0}.tutorial-illustration{display:flex;justify-content:center;align-items:center;min-height:100px;margin-bottom:.5rem}.tutorial-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;gap:1rem}.tutorial-dots{display:flex;gap:.4rem}.tutorial-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .2s}.tutorial-dot.active{background:var(--accent-primary)}.shortcuts-overlay{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:800;padding:1rem}.shortcuts-modal{background:var(--panel-bg);border:3px solid var(--border-frame);border-radius:10px;max-width:320px;width:100%;padding:1.5rem;box-shadow:0 8px 32px var(--panel-shadow),inset 0 1px #ffffff80,inset 0 -2px 4px #00000014;animation:modalUnfurl .3s cubic-bezier(.34,1.56,.64,1)}.shortcuts-modal h3{font-family:var(--font-display);font-weight:600;margin:0 0 1rem;text-align:center;color:var(--text-primary)}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--bg-surface);font-family:var(--font-ui);font-size:.85em}.shortcut-key{display:inline-block;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid var(--border);border-radius:5px;padding:.2em .6em;font-family:var(--font-mono);font-size:.85em;font-weight:600;color:var(--text-primary);box-shadow:0 2px 4px #0000001a,inset 0 1px #ffffff4d}.shortcut-label{color:var(--text-secondary)}.landing-page{display:grid;grid-template-columns:1fr 1fr;width:100vw;height:100vh;overflow:hidden;background:var(--contour-bg, none),radial-gradient(ellipse 120% 80% at 35% 40%,var(--topo-highlight) 0%,transparent 50%),var(--topo-base);background-attachment:fixed,fixed,fixed}.landing-board{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at center,rgba(255,255,255,.08) 0%,transparent 60%)}.landing-board:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 40%,var(--topo-base) 100%);opacity:.5}.landing-board-inner{--tile-size: min(11vh, 11vw);display:grid;grid-template-columns:repeat(7,var(--tile-size));grid-template-rows:repeat(7,var(--tile-size));gap:2px;position:relative;z-index:1}.landing-board-tile{width:var(--tile-size);height:var(--tile-size);border-radius:3px;overflow:hidden;box-shadow:0 2px 6px #00000040}.landing-board-tile canvas{width:100%!important;height:100%!important}.landing-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;padding:2rem;background:radial-gradient(ellipse at center,rgba(255,255,255,.06) 0%,transparent 70%)}.landing-title{font-family:var(--font-display);font-size:3.5em;font-weight:700;letter-spacing:.15em;color:var(--text-primary);margin:0;text-shadow:0 0 40px var(--glow-gold-soft),0 0 80px var(--glow-gold-soft)}.landing-subtitle{font-family:var(--font-body);font-size:1.3em;color:var(--text-secondary);margin:0 0 .25rem;letter-spacing:.05em}.landing-tagline{font-family:var(--font-body);font-size:.95em;color:var(--text-muted);max-width:280px;line-height:1.4;margin:0 0 1.25rem}.landing-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1rem}.landing-stat-value{font-family:var(--font-display);font-size:2em;font-weight:700;color:var(--accent-gold);text-shadow:0 0 20px var(--glow-gold-soft)}.landing-stat-label{font-family:var(--font-ui);font-size:.85em;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.landing-form{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.landing-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 3rem;font-size:1.25em;font-weight:600;font-family:var(--font-display);letter-spacing:.05em;background:linear-gradient(135deg,var(--accent-gold),color-mix(in srgb,var(--accent-gold) 75%,#000));color:var(--bg-primary);border:none;border-radius:12px;cursor:pointer;transition:box-shadow .2s,opacity .2s;animation:cta-pulse 2s ease-in-out infinite}@keyframes cta-pulse{0%,to{box-shadow:0 0 20px var(--glow-gold-soft)}50%{box-shadow:0 0 35px var(--glow-gold)}}.landing-cta:hover{animation:none;box-shadow:0 0 40px var(--glow-gold)}.landing-cta:disabled{opacity:.4;cursor:not-allowed}.landing-cta:focus-visible{outline:3px solid var(--accent-gold);outline-offset:3px;animation:none}.landing-discord-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem 1rem;font-family:var(--font-ui);font-size:.9em;font-weight:500;color:var(--text-secondary);text-decoration:none;background:var(--bg-secondary);border:2px solid var(--outline-soft);border-radius:8px;transition:border-color .2s,color .2s,background .2s}.landing-discord-link:hover{color:var(--text-primary);border-color:var(--outline-dark);background:var(--bg-tertiary)}.landing-signup-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.5rem;font-size:.95em;font-weight:500;font-family:var(--font-ui);background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--outline-soft);border-radius:10px;cursor:pointer;transition:color .15s,border-color .15s,background .15s,transform .15s,box-shadow .15s;box-shadow:2px 2px 0 var(--outline-soft)}.landing-signup-btn:hover{color:var(--text-primary);border-color:var(--accent-gold);background:var(--bg-tertiary);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.landing-signup-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-soft)}.landing-logout-btn{border-color:var(--outline-soft)}.landing-logout-btn:hover{border-color:var(--accent-danger);color:var(--accent-danger);background:color-mix(in srgb,var(--accent-danger) 10%,var(--bg-secondary));box-shadow:3px 3px color-mix(in srgb,var(--accent-danger) 50%,var(--outline-dark))}.landing-signup-btn:focus-visible,.landing-discord-link:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.landing-user-greeting{font-family:var(--font-ui);font-size:.85em;color:var(--text-secondary);margin-bottom:.5rem}@media(max-width:768px){.landing-page{grid-template-columns:1fr;grid-template-rows:45vh 1fr}.landing-board-inner{--tile-size: min(12vw, 8vh);gap:1px}.landing-title{font-size:2.5em}.landing-subtitle{font-size:1.1em}.landing-tagline{font-size:.85em;max-width:240px}.landing-stat-value{font-size:1.75em}.landing-content{padding:1.5rem 1.5rem 1rem;justify-content:flex-start}.landing-cta{padding:.85rem 2rem;font-size:1.1em}}@media(max-width:480px){.landing-page{grid-template-rows:40vh 1fr}.landing-board-inner{--tile-size: min(13vw, 7vh)}.landing-title{font-size:2em}.landing-tagline{font-size:.8em;margin-bottom:1rem}.landing-content{gap:.35rem}}.lobby-layout{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--contour-bg, none),radial-gradient(ellipse 120% 80% at 35% 40%,var(--topo-highlight) 0%,transparent 50%),var(--topo-base);background-attachment:fixed,fixed,fixed;box-sizing:border-box}.lobby-card{display:flex;width:100%;max-width:900px;height:calc(100vh - 4rem);max-height:700px;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--outline-dark);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0000004d,3px 4px 0 var(--outline-dark)}.lobby-tab-bar{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-right:1px solid var(--overlay-parchment);background:color-mix(in srgb,var(--bg-primary) 30%,transparent);flex-shrink:0}.lobby-tab-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:80px;height:80px;background:var(--bg-secondary);border:2px solid var(--outline-soft);border-radius:12px;color:var(--text-muted);cursor:pointer;transition:all .15s ease;position:relative;box-shadow:2px 2px 0 var(--outline-soft)}.lobby-tab-btn:hover:not(.active){color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--outline-dark);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.lobby-tab-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-soft)}.lobby-tab-btn.active{color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 15%,var(--bg-secondary));border-color:var(--accent-gold);box-shadow:2px 2px 0 var(--outline-dark)}.lobby-tab-btn-label{font-size:.7rem;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.lobby-tab-badge{position:absolute;top:6px;right:6px;background:var(--accent-gold);color:var(--bg-primary);font-size:.6rem;font-weight:700;font-family:var(--font-mono);min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.lobby-sidebar{width:200px;display:flex;flex-direction:column;padding:1.5rem .75rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--overlay-parchment);flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.sidebar-spacer{flex:1}.sidebar-bottom{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--overlay-parchment)}.sidebar-player{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem}.sidebar-player-name{flex:1;font-family:var(--font-display);font-weight:600;font-size:.85em;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-auth-btn{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .15s;padding:0;flex-shrink:0}.sidebar-auth-btn:hover{color:var(--accent-gold);border-color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 8%,transparent)}.sidebar-logo{padding:.5rem .75rem}.sidebar-logo-text{font-family:var(--font-display);font-weight:700;font-size:1.1em;letter-spacing:.08em;color:var(--accent-gold);text-transform:uppercase}.lobby-content{flex:1;position:relative;display:flex;flex-direction:column;overflow:hidden}.lobby-tab-content{flex:1;overflow-y:auto;padding:1.5rem;box-sizing:border-box}.lobby-floating-controls{position:fixed;top:1rem;right:1.5rem;display:flex;align-items:center;gap:.75rem;z-index:50}.floating-player-name{font-family:var(--font-display);font-weight:600;font-size:.9em;color:var(--text-secondary);padding:.5rem .75rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--overlay-parchment);border-radius:8px}.floating-control-btn{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--overlay-parchment);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all .15s;padding:0}.floating-control-btn:hover{color:var(--accent-gold);border-color:color-mix(in srgb,var(--accent-gold) 30%,transparent);background:color-mix(in srgb,var(--accent-gold) 8%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--accent-gold) 15%,transparent)}.sidebar-tab{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;border-left:3px solid transparent;color:var(--text-muted);font-family:var(--font-display);font-weight:600;font-size:.9em;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease;width:100%;text-align:left;position:relative}.sidebar-tab:hover:not(.active){color:var(--text-secondary);background:var(--hover-overlay)}.sidebar-tab.active{color:var(--accent-gold);border-left-color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 8%,transparent)}.sidebar-tab-icon{flex-shrink:0}.sidebar-tab-label{flex:1}.sidebar-tab-badge{background:var(--accent-gold);color:var(--bg-primary);font-size:.65em;font-weight:700;font-family:var(--font-mono);min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}@media(max-width:768px){.lobby-layout{padding:4rem 1rem 1rem}.lobby-card{flex-direction:column;max-height:calc(100vh - 5rem);height:auto}.lobby-tab-bar{flex-direction:row;border-right:none;border-bottom:1px solid var(--overlay-parchment);padding:.75rem;gap:.25rem;overflow-x:auto}.lobby-tab-btn{width:60px;height:60px;gap:.25rem}.lobby-tab-btn-label{font-size:.6rem}.lobby-tab-content{padding:1rem}.floating-player-name{display:none}.lobby-floating-controls{top:.75rem;right:.75rem;gap:.5rem}.lobby-sidebar{width:60px;padding:1rem .5rem}.sidebar-tab{justify-content:center;padding:.75rem;border-left:none;border-bottom:2px solid transparent}.sidebar-tab.active{border-left-color:transparent;border-bottom-color:var(--accent-gold)}.sidebar-tab-label,.sidebar-logo-text,.sidebar-player-name{display:none}.sidebar-bottom{padding-top:.5rem}.sidebar-player{justify-content:center;padding:.25rem}.lobby-tab-content{padding:4rem 1rem 1rem}.lobby-floating-controls{top:.75rem;right:.75rem}.floating-control-btn{width:36px;height:36px}}.lobby-landing,.lobby-header,.lobby-dashboard,.lobby-col-left,.lobby-col-right,.lobby-toolbar{display:none}.header-icon-btn{background:var(--panel-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border-accent);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;padding:0;transition:color .15s,border-color .15s,background .15s}.header-icon-btn:hover{color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg-surface)}.lobby-connecting{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);font-family:var(--font-body)}.lobby-cards{flex:1;overflow-y:auto;padding:2rem 1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;max-width:600px;width:100%;margin:0 auto;box-sizing:border-box}.lobby-name-row{display:flex;justify-content:center;margin-bottom:.25rem}.lobby-name-row .name-input{text-align:center;max-width:240px;font-size:1.05em;background:transparent;border:none;border-bottom:1px solid var(--border-accent);border-radius:0;padding:.4rem .75rem;color:var(--text-primary);font-family:var(--font-body);outline:none;transition:border-color .2s}.lobby-name-row .name-input:focus{border-color:var(--accent-gold)}.lobby-name-row .name-input::placeholder{color:var(--text-muted)}.lobby-card-quickplay{padding:0}.btn-quickplay-hero{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.5rem;font-size:1.2em;font-family:var(--font-display);font-weight:700;letter-spacing:.04em;background:linear-gradient(135deg,var(--accent-gold),color-mix(in srgb,var(--accent-gold) 80%,black));color:var(--text-on-gold);border:2px solid var(--outline-dark);border-radius:12px;cursor:pointer;transition:box-shadow .15s,transform .15s;box-shadow:3px 3px 0 var(--outline-dark)}.btn-quickplay-hero:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--outline-dark)}.btn-quickplay-hero:active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--outline-dark)}.btn-quickplay-hero:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:2px 2px 0 var(--outline-soft)}.lobby-play-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:stretch}.lobby-card-zen,.lobby-card-zen-full{padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.btn-zen-hero{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.2rem;font-size:1em;font-family:var(--font-display);font-weight:600;letter-spacing:.03em;background:linear-gradient(135deg,var(--accent-primary),color-mix(in srgb,var(--accent-primary) 70%,black));color:#fff;border:2px solid var(--outline-dark);border-radius:12px;cursor:pointer;transition:box-shadow .15s,transform .15s;box-shadow:3px 3px 0 var(--outline-dark)}.btn-zen-hero:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--outline-dark)}.btn-zen-hero:active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--outline-dark)}.lobby-card-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.lobby-card-action{display:flex;flex-direction:column;gap:.5rem}.btn-action-card{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:1em;font-family:var(--font-display);font-weight:600;letter-spacing:.03em;background:var(--accent-primary);color:#fff;border:2px solid var(--outline-dark);border-radius:8px;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:2px 2px 0 var(--outline-dark)}.btn-action-card:hover{background:var(--accent-hover);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.btn-action-card:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-dark)}.btn-action-card:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:1px 1px 0 var(--outline-soft)}.join-card-label{display:flex;align-items:center;gap:.4rem;font-size:.85em;font-family:var(--font-display);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.join-card-form{display:flex;gap:.4rem}.join-card-input{flex:1;min-width:0;padding:.55rem .75rem;border-radius:6px;border:2px solid var(--outline-soft);background:var(--bg-primary);color:var(--text-primary);font-size:.95em;font-family:var(--font-body);transition:border-color .15s,box-shadow .15s;box-shadow:inset 1px 1px 0 var(--outline-soft)}.join-card-input:focus{outline:none;border-color:var(--outline-dark);box-shadow:inset 1px 1px 0 var(--outline-dark)}.join-card-input::placeholder{color:var(--text-muted)}.lobby-card-games{min-height:0}.open-games-grid{display:flex;flex-direction:column;gap:.4rem}.open-game-card{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:var(--bg-surface);border:1px solid var(--panel-border);border-radius:8px;transition:background .15s}.open-game-card:hover{background:var(--hover-overlay)}.open-game-info{display:flex;flex-direction:column;gap:.1rem}.open-game-name{font-family:var(--font-body);font-size:.95em;color:var(--text-primary)}.game-mode-badge{display:inline-block;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.1em .45em;border-radius:4px;margin-right:.4em;vertical-align:middle}.mode-zen{background:color-mix(in srgb,var(--accent-primary) 25%,transparent);color:var(--accent-primary)}.mode-standard{background:color-mix(in srgb,var(--accent-gold) 25%,transparent);color:var(--accent-gold)}.open-game-count{font-size:.8em;color:var(--text-muted);font-family:var(--font-ui)}.open-game-meta{display:flex;align-items:center;gap:.5rem}.open-game-slots{display:flex;align-items:center;gap:3px}.slot-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.slot-dot.slot-filled{box-shadow:0 0 4px var(--btn-shadow)}.slot-dot.slot-empty{background:var(--bg-surface);border:1px dashed var(--border)}.empty-state-cta{font-size:.8em!important;color:var(--accent-primary)!important}.lobby-stats-bar{display:flex;align-items:center;justify-content:center;gap:0;padding:.6rem 1rem}.lobby-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1rem}.lobby-stat-value{font-size:1.15em;font-family:var(--font-display);font-weight:700;color:var(--text-primary);display:flex;align-items:center}.lobby-stat-label{font-size:.7em;font-family:var(--font-ui);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.lobby-stat-divider{width:1px;height:28px;background:var(--border);flex-shrink:0}.lobby-card-leaderboard{display:flex;flex-direction:column}.mini-leaderboard{display:flex;flex-direction:column;gap:.15rem}.mini-lb-row{display:flex;align-items:center;padding:.35rem .4rem;border-radius:4px;font-family:var(--font-ui);font-size:.85em;transition:background .15s}.mini-lb-row:hover{background:var(--bg-surface)}.mini-lb-row-me{background:color-mix(in srgb,var(--accent-primary) 10%,transparent)}.mini-lb-rank{width:1.5rem;flex-shrink:0;text-align:center;color:var(--text-muted);font-family:var(--font-mono);font-size:.85em;display:flex;align-items:center;justify-content:center}.mini-lb-name{flex:1;color:var(--text-primary);display:flex;align-items:center;gap:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-lb-wins{font-family:var(--font-mono);font-size:.85em;color:var(--text-secondary);flex-shrink:0}.empty-state-text{color:var(--text-muted);font-family:var(--font-body);font-size:.85em;text-align:center;padding:.75rem 0;margin:0}.lobby-card-achievements{display:flex;flex-direction:column}.achievements-showcase{display:flex;flex-direction:column;gap:.25rem}.showcase-achievement{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:4px;transition:background .15s}.showcase-achievement.unlocked{background:color-mix(in srgb,var(--accent-gold) 6%,transparent)}.showcase-achievement.locked{opacity:.45}.showcase-icon{font-size:1.1em;width:1.5rem;text-align:center;flex-shrink:0}.showcase-label{flex:1;font-family:var(--font-ui);font-size:.8em;color:var(--text-primary)}.showcase-lock{font-size:.75em;flex-shrink:0}.drawer-overlay{position:fixed;inset:0;background:var(--overlay-bg);z-index:200;display:flex;justify-content:flex-end}.drawer-panel{width:380px;max-width:90vw;height:100vh;background:var(--bg-secondary);border-left:1px solid var(--border);padding:1.5rem;overflow-y:auto;position:relative}.drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.drawer-title{font-family:var(--font-display);font-weight:700;font-size:1.3em;color:var(--text-primary);margin:0}.drawer-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;transition:color .15s}.drawer-close:hover{color:var(--text-primary)}.lobby-section{margin-bottom:1.5rem;padding:1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.lobby-section h2{font-size:1.1em;font-family:var(--font-display);font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.lobby-section label{display:flex;flex-direction:column;gap:.4rem;font-size:.85em;font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.lobby-section input{padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-accent);background:var(--bg-tertiary);color:var(--text-primary);font-size:1.1em;font-family:var(--font-body);transition:border-color .15s,box-shadow .15s}.lobby-section input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--focus-ring)}.join-form{display:flex;gap:.5rem}.join-form input{flex:1;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-accent);background:var(--bg-tertiary);color:var(--text-primary);font-size:1.1em;font-family:var(--font-body);transition:border-color .15s,box-shadow .15s}.join-form input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--focus-ring)}.game-id{display:flex;align-items:center;gap:.5rem}.game-id code{background:var(--bg-surface);padding:.2em .6em;border-radius:12px;font-size:1.05em;font-family:var(--font-mono);border:1px solid var(--border)}.copy-btn{background:none;border:1px solid var(--border-accent);border-radius:50%;color:var(--text-secondary);cursor:pointer;padding:.35em;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s}.copy-btn:hover{color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg-surface)}.lobby-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.game-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.game-list li{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.empty-state{text-align:center;padding:1.5rem 1rem;color:var(--text-muted)}.empty-state-icon{opacity:.3;margin-bottom:.5rem}.empty-state p{margin:.25rem 0;font-family:var(--font-body)}.empty-state p:first-of-type{font-size:.95em}.empty-state p:last-of-type{font-size:.8em}.how-to-play-link{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.9em;cursor:pointer;padding:.3rem 0;transition:color .15s}.how-to-play-link:hover{color:var(--accent-primary)}.name-input{width:100%;padding:.65rem 1rem;border-radius:8px;border:1px solid var(--border-accent);background:var(--bg-tertiary);color:var(--text-primary);font-size:1em;font-family:var(--font-body);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.name-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--focus-ring)}.section-title{font-size:.95em;font-family:var(--font-display);font-weight:600;margin:0 0 .75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:.5rem}.play-hero-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.btn-quick-play{background:var(--accent-gold)!important;color:var(--bg-primary)!important}.btn-quick-play:hover{background:color-mix(in srgb,var(--accent-gold) 90%,white)!important}.btn-create{background:var(--accent-primary)!important}.join-toggle{background:none;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.9em;cursor:pointer;padding:.3rem 0;display:inline-flex;align-items:center;gap:.3rem;transition:color .15s}.join-chevron{transition:transform .2s}.game-list-info{display:flex;flex-direction:column;gap:.15rem}.game-list-name{font-family:var(--font-body);font-size:.95em;color:var(--text-primary)}.game-list-count{font-size:.8em;color:var(--text-muted);font-family:var(--font-ui)}.waiting-room-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:radial-gradient(ellipse at center,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.waiting-room-card{max-width:540px;width:100%;padding:2rem;text-align:center}.waiting-room{text-align:center}.player-seats{display:flex;gap:.75rem;justify-content:center;margin:1.5rem 0;flex-wrap:wrap}.player-seat{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:90px;padding:.75rem .5rem;border-radius:10px;transition:background .2s,border-color .2s}.player-seat-filled{background:var(--bg-surface);border:1px solid var(--panel-border)}.player-seat-empty{border:1px dashed var(--border)}.player-seat-name{font-size:.78em;font-family:var(--font-ui);color:var(--text-primary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-seat-badge{font-size:.65em;font-family:var(--font-ui);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 12%,transparent);padding:.1em .4em;border-radius:3px}.player-seat-label{font-size:.72em;font-family:var(--font-ui);color:var(--text-muted)}.waiting-progress{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-bottom:1rem}.waiting-count{font-size:.9em;color:var(--text-secondary);font-family:var(--font-ui)}.waiting-progress-bar{width:200px;height:4px;background:var(--bg-surface);border-radius:2px;overflow:hidden}.waiting-progress-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .5s ease}.waiting-hint{font-size:.8em;color:var(--text-muted);font-family:var(--font-body);font-style:italic}.waiting-game-info{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.25rem;font-size:.85em;color:var(--text-muted)}.waiting-tile-count{font-family:var(--font-mono);font-size:.9em}.waiting-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem}.waiting-leave{font-size:.85em}.invite-section{margin-bottom:1rem}.invite-label{font-size:.85em;color:var(--text-secondary);font-family:var(--font-body);margin:0 0 .4rem}.invite-code-row{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.invite-code{background:var(--bg-surface);padding:.3em .8em;border-radius:12px;font-size:1.2em;font-family:var(--font-mono);border:1px solid var(--border);letter-spacing:.05em}.btn-invite-link{font-size:.8em!important;padding:.35em .8em!important}.meeple-slots{display:flex;gap:.75rem;justify-content:center;margin:1rem 0}.meeple-slot{display:flex;flex-direction:column;align-items:center;gap:.25rem}.meeple-slot-name{font-size:.7em;font-family:var(--font-ui);color:var(--text-secondary);max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.profile-stat{display:flex;flex-direction:column;padding:.5rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px}.profile-stat-value{font-size:1.3em;font-family:var(--font-display);font-weight:700;color:var(--text-primary);display:flex;align-items:center}.profile-stat-label{font-size:.75em;font-family:var(--font-ui);color:var(--text-muted);margin-top:.15rem}.profile-empty{color:var(--text-muted);font-family:var(--font-body);font-size:.9em;text-align:center;padding:1rem}.achievement-count{font-size:.8em;font-family:var(--font-mono);color:var(--text-muted);font-weight:400;margin-left:auto}.achievement-list{display:flex;flex-direction:column;gap:.25rem}.achievement-row{display:flex;align-items:center;gap:.6rem;padding:.5rem;border-radius:6px;transition:background .15s}.achievement-row.unlocked{background:color-mix(in srgb,var(--accent-gold) 5%,transparent)}.achievement-row.locked{opacity:.5}.achievement-icon{font-size:1.3em;width:2rem;text-align:center;flex-shrink:0}.achievement-info{flex:1;display:flex;flex-direction:column}.achievement-name{font-family:var(--font-ui);font-weight:600;font-size:.9em;color:var(--text-primary)}.achievement-desc{font-family:var(--font-body);font-size:.8em;color:var(--text-muted)}.achievement-status{font-size:.85em;flex-shrink:0}.recent-games-list{display:flex;flex-direction:column;gap:.25rem}.recent-game-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:4px;font-size:.85em;font-family:var(--font-ui)}.recent-game-result{width:1.2rem;display:flex;align-items:center;justify-content:center}.result-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.recent-game-score{font-family:var(--font-mono);font-size:.9em;color:var(--text-primary);min-width:3rem}.recent-game-players{display:flex;gap:2px}.recent-game-winner{color:var(--text-muted);font-size:.85em;margin-left:auto}.leaderboard-sort{display:flex;gap:.4rem;margin-bottom:1rem}.sort-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:.35em .75em;font-size:.85em;font-family:var(--font-ui);color:var(--text-muted);cursor:pointer;transition:all .15s}.sort-btn:hover{color:var(--text-secondary);border-color:var(--border-accent)}.sort-btn-active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.leaderboard-table{display:flex;flex-direction:column}.leaderboard-header{display:flex;align-items:center;padding:.4rem .5rem;font-size:.75em;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border)}.leaderboard-row{display:flex;align-items:center;padding:.5rem;border-bottom:1px solid var(--bg-surface);font-family:var(--font-ui);font-size:.9em;transition:background .15s}.leaderboard-row:hover{background:var(--bg-surface)}.leaderboard-row-me{background:color-mix(in srgb,var(--accent-primary) 10%,transparent);border-left:2px solid var(--accent-primary)}.lb-rank{width:2rem;flex-shrink:0;text-align:center;color:var(--text-muted);font-family:var(--font-mono);font-size:.9em}.lb-name{flex:1;color:var(--text-primary);display:flex;align-items:center;gap:.3rem}.lb-stat{width:3.5rem;text-align:right;color:var(--text-secondary);font-family:var(--font-mono);font-size:.85em;display:flex;align-items:center;justify-content:flex-end;gap:.2rem}.you-tag{font-size:.8em;color:var(--accent-primary);font-weight:400}.leaderboard-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-family:var(--font-body)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--bg-surface)}.setting-row:last-child{border-bottom:none}.setting-info{display:flex;flex-direction:column;gap:.15rem}.setting-label{font-family:var(--font-ui);font-size:.9em;color:var(--text-primary)}.setting-desc{font-family:var(--font-body);font-size:.8em;color:var(--text-muted)}.toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.toggle-on{background:var(--accent-primary);box-shadow:0 0 8px var(--focus-ring)}.toggle-off{background:var(--bg-tertiary);border:1px solid var(--border-accent)}.toggle-knob{position:absolute;top:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px var(--btn-shadow)}.toggle-on .toggle-knob{left:22px}.toggle-off .toggle-knob{left:2px}.settings-about{text-align:center;border:none!important;background:none!important}.settings-version{font-family:var(--font-mono);font-size:.8em;color:var(--text-muted);margin:0}.settings-link{font-family:var(--font-body);font-size:.85em;color:var(--accent-primary);margin:.25rem 0 0}.player-list{list-style:none;padding:0;margin:0}.player-list li{display:flex;align-items:center;gap:.5rem;padding:.35rem 0}.player-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.play-tab{display:flex;flex-direction:column;gap:.75rem}.play-card-quickplay{padding:0}.play-card-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.play-card-action{padding:0}.play-card-join{display:flex;flex-direction:column;gap:.5rem}.active-game-banner{margin-bottom:.5rem}.active-game-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:1em;font-family:var(--font-display);font-weight:600;background:color-mix(in srgb,var(--accent-gold) 15%,var(--bg-secondary));color:var(--accent-gold);border:2px solid var(--accent-gold);border-radius:10px;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:2px 2px 0 var(--outline-dark)}.active-game-btn:hover{background:color-mix(in srgb,var(--accent-gold) 25%,var(--bg-secondary));transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.active-game-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-dark)}.active-game-label{flex:1;text-align:center}.join-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-display);font-weight:600;font-size:.9em;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:color .15s}.join-toggle:hover{color:var(--text-primary)}.join-chevron{margin-left:auto;transition:transform .2s}.join-chevron.open{transform:rotate(90deg)}.play-tab{display:flex;flex-direction:column;gap:1rem;max-width:480px;margin:0 auto}.play-active-game-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-gold) 15%,var(--panel-bg)),color-mix(in srgb,var(--accent-gold) 8%,var(--panel-bg)));border:2px solid var(--accent-gold);border-radius:12px;box-shadow:3px 3px 0 var(--outline-dark);animation:play-pulse-glow 2s ease-in-out infinite}@keyframes play-pulse-glow{0%,to{box-shadow:3px 3px 0 var(--outline-dark),0 0 0 0 var(--glow-gold-soft)}50%{box-shadow:3px 3px 0 var(--outline-dark),0 0 12px 2px var(--glow-gold-soft)}}.play-active-game-content{display:flex;align-items:center;gap:.75rem}.play-active-game-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accent-gold);color:var(--text-on-gold);border-radius:10px;border:2px solid var(--outline-dark)}.play-active-game-info{display:flex;flex-direction:column;gap:.15rem}.play-active-game-title{font-family:var(--font-display);font-weight:700;font-size:.95em;color:var(--text-primary)}.play-active-game-code{font-family:var(--font-mono);font-size:.8em;color:var(--text-muted)}.play-active-game-btn{background:var(--accent-gold)!important;color:var(--text-on-gold)!important;border:2px solid var(--outline-dark)!important;box-shadow:2px 2px 0 var(--outline-dark);font-family:var(--font-display);font-weight:600;display:flex;align-items:center;gap:.25rem;transition:transform .15s,box-shadow .15s}.play-active-game-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.play-active-game-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-dark)}.play-mode-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:var(--panel-bg);border:2px solid var(--outline-soft);border-radius:12px;cursor:pointer;transition:all .15s ease;box-shadow:2px 2px 0 var(--outline-soft);position:relative;text-align:left}.play-mode-card:hover{border-color:var(--outline-dark);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--outline-dark)}.play-mode-card:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-dark)}.play-mode-card--hero{background:linear-gradient(135deg,var(--accent-gold),color-mix(in srgb,var(--accent-gold) 80%,black));border-color:var(--outline-dark);box-shadow:3px 3px 0 var(--outline-dark);padding:1.5rem}.play-mode-card--hero .play-mode-title{color:var(--text-on-gold);font-size:1.3em}.play-mode-card--hero .play-mode-desc{color:color-mix(in srgb,var(--text-on-gold) 85%,transparent)}.play-mode-card--hero:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--outline-dark)}.play-mode-card--zen{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-primary) 12%,var(--panel-bg)),var(--panel-bg))}.play-mode-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;border:2px solid var(--outline-dark);flex-shrink:0}.play-mode-icon--green{background:var(--accent-primary);color:#fff}.play-mode-icon--teal{background:color-mix(in srgb,var(--accent-primary) 20%,var(--panel-bg));color:var(--accent-primary);border-color:var(--accent-primary)}.play-mode-icon--purple{background:color-mix(in srgb,#8B5CF6 20%,var(--panel-bg));color:#8b5cf6;border-color:#8b5cf6}.play-mode-card--hero .play-mode-icon{width:56px;height:56px;background:color-mix(in srgb,var(--text-on-gold) 20%,transparent);color:var(--text-on-gold);border-color:color-mix(in srgb,var(--text-on-gold) 30%,transparent)}.play-mode-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.play-mode-title{font-family:var(--font-display);font-weight:700;font-size:1.1em;color:var(--text-primary);margin:0}.play-mode-desc{font-family:var(--font-body);font-size:.85em;color:var(--text-muted);margin:0;line-height:1.4}.play-mode-badge{position:absolute;top:.75rem;right:.75rem;font-family:var(--font-ui);font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:6px;background:color-mix(in srgb,var(--accent-gold) 20%,transparent);color:var(--accent-gold)}.play-mode-card--hero .play-mode-badge{background:color-mix(in srgb,var(--text-on-gold) 20%,transparent);color:var(--text-on-gold)}.play-mode-badge--subtle{background:var(--bg-surface);color:var(--text-muted)}.play-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.play-join-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;background:var(--panel-bg);border:2px dashed var(--border);border-radius:12px}.play-join-header{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.play-join-header span{font-family:var(--font-body);font-size:.9em}.play-join-form{display:flex;gap:.5rem}.play-join-input{flex:1;min-width:0;padding:.6rem .85rem;border:2px solid var(--outline-soft)!important;border-radius:8px!important;background:var(--bg-primary)!important;color:var(--text-primary);font-family:var(--font-mono);font-size:.95em;box-shadow:inset 1px 1px 0 var(--outline-soft)}.play-join-input:focus{outline:none;border-color:var(--accent-primary)!important;box-shadow:inset 1px 1px 0 var(--accent-primary)}.play-join-input::placeholder{color:var(--text-muted);font-family:var(--font-body)}.play-global-stat{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-family:var(--font-ui);font-size:.85em}.play-global-stat-value{font-family:var(--font-display);font-weight:700;color:var(--accent-gold)}.play-global-stat-label{color:var(--text-secondary)}@media(max-width:480px){.play-mode-grid{grid-template-columns:1fr}.play-mode-card{flex-direction:row;align-items:center;padding:1rem}.play-mode-card--hero{flex-direction:column;align-items:flex-start}.play-mode-icon{width:44px;height:44px}.play-active-game-card{flex-direction:column;align-items:stretch;text-align:center}.play-active-game-content{justify-content:center}.play-active-game-btn{width:100%;justify-content:center}}.games-tab{display:flex;flex-direction:column;gap:1rem}.games-section{padding:1rem}.profile-tab{display:flex;flex-direction:column;gap:1rem}.profile-header-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border:2px solid var(--outline-dark);border-radius:12px;box-shadow:var(--shadow-outline)}.profile-avatar{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--bg-tertiary);border:2px solid var(--outline-soft);border-radius:50%;flex-shrink:0}.profile-identity{display:flex;flex-direction:column;gap:.35rem;min-width:0}.profile-display-name{font-family:var(--font-display);font-weight:700;font-size:1.35em;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-rank-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:6px;font-family:var(--font-ui);font-weight:600;font-size:.75em;text-transform:uppercase;letter-spacing:.04em;width:fit-content}.rank-icon{font-size:1.1em}.profile-rank--apprentice{background:color-mix(in srgb,var(--accent-primary) 15%,transparent);color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 30%,transparent)}.profile-rank--journeyman{background:color-mix(in srgb,#6B8E9B 15%,transparent);color:#6b8e9b;border:1px solid color-mix(in srgb,#6B8E9B 30%,transparent)}.profile-rank--master{background:color-mix(in srgb,var(--accent-gold) 15%,transparent);color:var(--accent-gold);border:1px solid color-mix(in srgb,var(--accent-gold) 30%,transparent)}.profile-rank--grandmaster{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-gold) 20%,transparent),color-mix(in srgb,#E8A030 20%,transparent));color:var(--accent-gold);border:1px solid var(--accent-gold)}.profile-stats-enhanced{display:flex;flex-direction:column;gap:1rem}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem;background:var(--bg-surface);border:2px solid var(--outline-soft);border-radius:10px;box-shadow:2px 2px 0 var(--outline-soft);transition:all .15s ease}.stat-card:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark);border-color:var(--outline-dark)}.stat-card--featured{grid-column:1 / -1;padding:1.25rem;background:var(--bg-secondary);border-color:var(--outline-dark);box-shadow:var(--shadow-outline)}.stat-card--gold{background:color-mix(in srgb,var(--accent-gold) 8%,var(--bg-surface));border-color:color-mix(in srgb,var(--accent-gold) 40%,var(--outline-soft))}.stat-card--streak{background:color-mix(in srgb,var(--accent-streak) 12%,var(--bg-surface));border-color:var(--accent-streak)}.stat-card-icon{color:var(--text-muted);margin-bottom:.15rem}.stat-card--gold .stat-card-icon{color:var(--accent-gold)}.stat-card--streak .stat-card-icon{color:var(--accent-streak)}.stat-card-value{font-size:1.6em;font-family:var(--font-display);font-weight:700;color:var(--text-primary);line-height:1}.stat-card-label{font-size:.7em;font-family:var(--font-ui);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:center}.stat-card-sublabel{font-size:.7em;font-family:var(--font-mono);color:var(--text-muted);margin-top:.15rem}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:600px){.profile-stats-grid{grid-template-columns:repeat(2,1fr)}}.win-rate-ring{position:relative;width:88px;height:88px}.win-rate-ring svg{transform:rotate(-90deg)}.win-rate-ring-track{stroke:var(--bg-tertiary)}.win-rate-ring-fill{stroke:var(--accent-primary)}.win-rate-ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px}.win-rate-value{font-family:var(--font-display);font-weight:700;font-size:1.5em;color:var(--text-primary);line-height:1}.win-rate-percent{font-family:var(--font-ui);font-weight:600;font-size:.8em;color:var(--text-muted);margin-top:.2em}.streak-fire-pulse{animation:firePulse 1s ease-in-out infinite;color:var(--accent-streak)!important}@keyframes firePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.achievement-badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}@media(max-width:600px){.achievement-badge-grid{grid-template-columns:repeat(3,1fr)}}.achievement-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.75rem .5rem;background:var(--bg-surface);border:2px solid var(--outline-soft);border-radius:10px;min-height:80px;cursor:default;transition:all .15s ease}.achievement-badge--unlocked{background:color-mix(in srgb,var(--accent-gold) 10%,var(--bg-surface));border-color:var(--accent-gold);box-shadow:2px 2px 0 var(--outline-soft),0 0 8px color-mix(in srgb,var(--accent-gold) 20%,transparent)}.achievement-badge--locked{opacity:.45;filter:grayscale(.8);border-style:dashed}.achievement-badge-icon{font-size:1.6em;line-height:1}.achievement-badge-name{font-family:var(--font-ui);font-weight:600;font-size:.65em;color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.02em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.recent-games-list{display:flex;flex-direction:column;gap:.5rem}.game-card{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;transition:all .15s ease}.game-card:hover{background:var(--hover-overlay)}.game-card--win{border-color:color-mix(in srgb,var(--accent-gold) 40%,var(--border));background:color-mix(in srgb,var(--accent-gold) 5%,var(--bg-surface))}.game-card--win:hover{background:color-mix(in srgb,var(--accent-gold) 10%,var(--bg-surface))}.game-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.game-card-result{display:flex;align-items:center;gap:.4rem}.game-card-trophy{color:var(--accent-gold)}.game-card-result-text{font-family:var(--font-display);font-weight:600;font-size:.9em;color:var(--text-primary)}.game-card--win .game-card-result-text{color:var(--accent-gold)}.result-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.game-card-mode{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .4rem;border-radius:4px;font-family:var(--font-ui);font-weight:600;font-size:.65em;text-transform:uppercase;letter-spacing:.03em}.game-card-mode.mode-zen{background:color-mix(in srgb,var(--accent-primary) 15%,transparent);color:var(--accent-primary)}.game-card-mode.mode-standard{background:color-mix(in srgb,var(--accent-gold) 15%,transparent);color:var(--accent-gold)}.game-card-scores{display:flex;align-items:baseline;gap:.35rem}.game-card-my-score{font-family:var(--font-mono);font-weight:600;font-size:.95em;color:var(--text-primary)}.game-card-vs-score{font-family:var(--font-mono);font-size:.8em;color:var(--text-muted)}.game-card-footer{display:flex;align-items:center;justify-content:space-between}.game-card-players{display:flex;gap:3px}.game-card-timestamp{font-family:var(--font-ui);font-size:.75em;color:var(--text-muted)}.profile-empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;text-align:center}.profile-empty-state--compact{padding:1.5rem 1rem}.profile-empty-icon{opacity:.4;margin-bottom:.5rem}.profile-empty-title{font-family:var(--font-display);font-weight:600;font-size:1em;color:var(--text-secondary);margin:0}.profile-empty-subtitle{font-family:var(--font-body);font-size:.85em;color:var(--text-muted);margin:0;max-width:240px}.leaderboard-tab{display:flex;flex-direction:column;gap:.75rem}.leaderboard-my-rank{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:color-mix(in srgb,var(--accent-primary) 12%,var(--bg-secondary));border:2px solid var(--accent-primary);border-radius:10px;box-shadow:2px 2px 0 var(--outline-dark)}.my-rank-position{display:flex;flex-direction:column;align-items:center;min-width:3rem}.my-rank-label{font-family:var(--font-display);font-size:.65em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-primary)}.my-rank-number{font-family:var(--font-mono);font-size:1.5em;font-weight:700;color:var(--text-primary);line-height:1}.my-rank-stats{flex:1;display:flex;gap:1rem;font-size:.85em;color:var(--text-secondary)}.my-rank-stat{display:flex;align-items:center;gap:.25rem}.my-rank-stat-value{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.leaderboard-sort{display:flex;gap:.5rem;padding:.5rem;background:color-mix(in srgb,var(--bg-primary) 50%,transparent);border-radius:8px;position:relative}.sort-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);font-family:var(--font-display);font-weight:600;font-size:.8em;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}.sort-btn:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,var(--accent-gold) 0%,transparent 70%);opacity:0;transition:opacity .2s}.sort-btn:active:after{opacity:.15}.sort-btn:hover{color:var(--text-secondary);background:var(--bg-surface)}.sort-btn-active{color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 10%,transparent);border-color:color-mix(in srgb,var(--accent-gold) 20%,transparent);box-shadow:inset 0 1px 0 var(--highlight-inset)}.sort-btn-icon{flex-shrink:0}.leaderboard-podium{display:flex;align-items:flex-end;justify-content:center;gap:.5rem;padding:1rem .5rem 0;margin-bottom:.25rem;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-gold) 6%,transparent) 0%,transparent 100%);border-radius:12px 12px 0 0}.podium-mini-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.6rem .5rem 0;background:var(--bg-secondary);border:2px solid var(--outline-soft);border-bottom:none;border-radius:8px 8px 0 0;width:85px;position:relative;box-shadow:2px 0 0 var(--outline-soft);transition:transform .2s}.podium-mini-card:hover{transform:translateY(-2px)}.podium-mini-card-first{width:95px;border-color:var(--accent-gold);box-shadow:0 0 16px color-mix(in srgb,var(--accent-gold) 20%,transparent);z-index:1}.podium-mini-medal{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.podium-mini-name{font-family:var(--font-body);font-size:.75em;color:var(--text-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.podium-mini-card-first .podium-mini-name{font-weight:600;color:var(--accent-gold)}.podium-mini-stat{font-family:var(--font-mono);font-size:.7em;color:var(--text-muted)}.podium-mini-bar{width:100%;margin-top:auto;border-radius:4px 4px 0 0;background:var(--bg-tertiary)}.podium-mini-bar-1{height:40px;background:linear-gradient(180deg,var(--accent-gold) 0%,color-mix(in srgb,var(--accent-gold) 70%,var(--bg-tertiary)) 100%)}.podium-mini-bar-2{height:28px;background:linear-gradient(180deg,#a8b0a0,color-mix(in srgb,#A8B0A0 60%,var(--bg-tertiary)))}.podium-mini-bar-3{height:18px;background:linear-gradient(180deg,#cd7f32,color-mix(in srgb,#CD7F32 60%,var(--bg-tertiary)))}.leaderboard-table{display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg-primary) 30%,transparent);border-radius:10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.leaderboard-header{display:flex;align-items:center;padding:.75rem 1rem;background:color-mix(in srgb,var(--bg-primary) 50%,transparent);font-family:var(--font-display);font-weight:600;font-size:.75em;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid color-mix(in srgb,var(--border) 20%,transparent)}.leaderboard-row{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 8%,transparent);transition:background .15s,transform .15s;position:relative}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row:hover{background:var(--bg-surface);transform:translate(2px)}.leaderboard-row:hover .lb-rank{color:var(--accent-gold)}.leaderboard-row-me{background:color-mix(in srgb,var(--accent-primary) 12%,transparent);border-left:3px solid var(--accent-primary);margin-left:-3px;padding-left:calc(1rem + 3px)}.leaderboard-row-me:hover{background:color-mix(in srgb,var(--accent-primary) 18%,transparent)}.lb-rank{width:2.5rem;flex-shrink:0;text-align:center;font-family:var(--font-mono);font-size:.9em;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .15s}.lb-rank-gold{color:var(--accent-gold)}.lb-rank-silver{color:#a8b0a0}.lb-rank-bronze{color:#cd7f32}.lb-rank .trophy-icon{transition:transform .2s}.leaderboard-row:hover .trophy-icon{transform:scale(1.15) rotate(-5deg)}.lb-name{flex:1;font-family:var(--font-body);color:var(--text-primary);display:flex;align-items:center;gap:.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-stat{width:4rem;text-align:right;font-family:var(--font-mono);font-size:.9em;color:var(--text-secondary);display:flex;align-items:center;justify-content:flex-end;gap:.25rem;transition:color .15s}.leaderboard-row:hover .lb-stat{color:var(--text-primary)}.flame-icon{animation:flameFlicker .8s ease-in-out infinite alternate}@keyframes flameFlicker{0%{transform:scale(1) translateY(0);filter:brightness(1)}to{transform:scale(1.1) translateY(-1px);filter:brightness(1.15)}}.leaderboard-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 2rem;text-align:center}.empty-trophy-icon{color:var(--text-muted);opacity:.35}.empty-title{font-family:var(--font-display);font-size:1.1em;font-weight:600;color:var(--text-secondary);margin:0}.empty-subtitle{font-family:var(--font-body);font-size:.9em;color:var(--text-muted);margin:0;max-width:240px}.empty-cta{margin-top:.5rem;padding:.6rem 1.2rem;background:var(--accent-primary);color:#fff;border:2px solid var(--outline-dark);border-radius:8px;font-family:var(--font-ui);font-weight:600;font-size:.9em;cursor:pointer;box-shadow:2px 2px 0 var(--outline-dark);transition:transform .15s,box-shadow .15s}.empty-cta:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.empty-cta:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-dark)}.you-tag{font-size:.75em;color:var(--accent-primary);font-family:var(--font-ui)}@media(max-width:640px){.leaderboard-my-rank{flex-wrap:wrap;padding:.6rem .75rem;gap:.5rem}.my-rank-stats{width:100%;gap:.75rem;font-size:.8em}.leaderboard-podium{padding:.75rem .25rem 0;gap:.35rem}.podium-mini-card{width:70px;padding:.5rem .35rem 0}.podium-mini-card-first{width:78px}.podium-mini-name{font-size:.7em}.podium-mini-bar-1{height:32px}.podium-mini-bar-2{height:22px}.podium-mini-bar-3{height:14px}}@media(max-width:480px){.leaderboard-sort{flex-wrap:wrap;gap:.35rem}.sort-btn{font-size:.7em;padding:.4rem .5rem}.sort-btn-icon{display:none}.leaderboard-row{padding:.6rem .75rem}.lb-rank{width:2rem}.lb-stat{width:3rem;font-size:.8em}.lb-stat-streak{display:none}.leaderboard-header .lb-stat:last-child{display:none}}.stats-tab{display:flex;flex-direction:column;gap:.75rem}.stats-section{padding:.75rem}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.achievement-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-surface);border:1px solid var(--overlay-parchment);border-radius:10px;transition:all .15s;position:relative}.achievement-card.unlocked{background:color-mix(in srgb,var(--accent-gold) 8%,transparent);border-color:color-mix(in srgb,var(--accent-gold) 20%,transparent)}.achievement-card.locked{opacity:.5}.achievement-card .achievement-icon{font-size:1.5em}.achievement-card .achievement-label{font-family:var(--font-display);font-weight:600;font-size:.8em;text-align:center;color:var(--text-primary)}.achievement-card .achievement-lock{position:absolute;top:.5rem;right:.5rem;font-size:.75em}.game-screen{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--contour-bg, none),radial-gradient(ellipse 120% 80% at 35% 40%,var(--topo-highlight) 0%,transparent 50%),var(--topo-base);background-attachment:fixed,fixed,fixed}.board-container{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E"),radial-gradient(ellipse at center,var(--board-gradient-start) 0%,var(--board-gradient-mid) 50%,var(--board-gradient-end) 100%)}.board-surface{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(ellipse at 25% 30%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(ellipse at 75% 70%,rgba(255,255,255,.05) 0%,transparent 50%);z-index:1}.board-container:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 70% at center,transparent 15%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.45) 100%);z-index:2}[data-theme=dark] .board-container:after{background:radial-gradient(ellipse 70% 70% at center,transparent 10%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.6) 100%)}@keyframes boardShake{0%{transform:translate(0) rotate(0)}15%{transform:translate(-2px,1px) rotate(-.3deg)}30%{transform:translate(2px,-1px) rotate(.3deg)}45%{transform:translate(-1px,1px) rotate(-.15deg)}60%{transform:translate(1px,-1px) rotate(.15deg)}75%{transform:translate(-1px) rotate(0)}to{transform:translate(0) rotate(0)}}.board-shake{animation:boardShake .25s ease-out}@media(prefers-reduced-motion:reduce){.board-shake{animation:none}}.placed-tile{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.placed-tile.completion-glow{animation:completionGlow 1.5s ease-out;z-index:10}@keyframes completionGlow{0%{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}10%{filter:drop-shadow(0 0 20px var(--glow-gold)) drop-shadow(0 0 40px var(--glow-gold-soft))}30%{filter:drop-shadow(0 0 16px var(--glow-gold)) drop-shadow(0 0 32px var(--glow-gold-soft))}to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}}.valid-slot{position:relative;cursor:pointer}.valid-slot-border{position:absolute;top:0;left:0;border:3px solid var(--valid-slot);border-radius:6px;box-sizing:border-box;pointer-events:none;animation:treasureGlow 2s ease-in-out infinite}@keyframes treasureGlow{0%,to{border-color:color-mix(in srgb,var(--valid-slot) 60%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--valid-slot) 30%,transparent),inset 0 0 8px color-mix(in srgb,var(--valid-slot) 15%,transparent)}50%{border-color:var(--valid-slot);box-shadow:0 0 20px color-mix(in srgb,var(--valid-slot) 50%,transparent),0 0 40px color-mix(in srgb,var(--valid-slot) 25%,transparent),inset 0 0 12px color-mix(in srgb,var(--valid-slot) 20%,transparent)}}.valid-slot:hover .valid-slot-border{border-color:var(--valid-slot);box-shadow:0 0 24px color-mix(in srgb,var(--valid-slot) 60%,transparent),0 0 48px color-mix(in srgb,var(--valid-slot) 30%,transparent),inset 0 0 16px color-mix(in srgb,var(--valid-slot) 25%,transparent);animation:none}.valid-slot.drag-active .valid-slot-border{animation:treasureGlowIntense 1s ease-in-out infinite}@keyframes treasureGlowIntense{0%,to{border-color:color-mix(in srgb,var(--valid-slot) 80%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--valid-slot) 50%,transparent),0 0 28px color-mix(in srgb,var(--valid-slot) 25%,transparent)}50%{border-color:var(--valid-slot);box-shadow:0 0 28px color-mix(in srgb,var(--valid-slot) 70%,transparent),0 0 56px color-mix(in srgb,var(--valid-slot) 35%,transparent),0 0 84px color-mix(in srgb,var(--valid-slot) 15%,transparent)}}.valid-slot.snap-target .valid-slot-border{border-color:var(--valid-slot);border-width:4px;box-shadow:0 0 32px color-mix(in srgb,var(--valid-slot) 90%,transparent),0 0 64px color-mix(in srgb,var(--valid-slot) 50%,transparent),0 0 96px color-mix(in srgb,var(--valid-slot) 25%,transparent),inset 0 0 20px color-mix(in srgb,var(--valid-slot) 30%,transparent);animation:none}.valid-slot.snap-target canvas{opacity:.85!important}.tile-stack{position:relative;width:100px;height:100px;margin:0 auto}.tile-stack-layer{position:absolute;inset:0;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid var(--border);border-radius:8px;box-shadow:0 2px 4px #0000001a,inset 0 1px #ffffff4d}.tile-stack-count{text-align:center;font-size:.8em;font-family:var(--font-mono);font-weight:600;color:var(--text-secondary);margin-top:.25rem;margin-bottom:.35rem}.bottom-panel{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;width:auto;min-width:min-content;max-width:90vw;--tile-display-size: 100px;background:var(--bg-secondary);border:2px solid var(--outline-soft);border-radius:10px;box-shadow:2px 2px 0 var(--outline-soft);transition:background .3s,border-color .3s,box-shadow .3s}.bottom-panel.my-turn{border-color:var(--accent-primary);box-shadow:3px 3px 0 var(--outline-dark),0 0 16px color-mix(in srgb,var(--accent-primary) 25%,transparent)}.bottom-panel.place-tile-phase.my-turn{border-color:var(--accent-primary)}.bottom-panel.place-follower-phase.my-turn{border-color:var(--accent-gold);box-shadow:3px 3px 0 var(--outline-dark),0 0 16px var(--glow-gold-soft)}@media(max-width:1024px){.bottom-panel{--tile-display-size: 90px}}@media(max-width:768px){.bottom-panel{--tile-display-size: 80px;padding:.4rem .6rem}}.bottom-panel-header{display:flex;align-items:center;justify-content:center;padding-bottom:.25rem;gap:.5rem}.bottom-panel-status{display:flex;align-items:center;gap:.35rem;font-size:.8em;font-family:var(--font-ui);white-space:nowrap}.bottom-panel-status strong{color:var(--text-primary)}.my-turn .bottom-panel-status strong{color:var(--accent-primary)}.place-follower-phase.my-turn .bottom-panel-status strong{color:var(--accent-gold)}.turn-number{font-family:var(--font-mono);font-size:.85em;color:var(--text-muted);padding:.2em .5em;background:var(--bg-tertiary);border-radius:4px}.zen-badge{font-size:.6em;font-family:var(--font-ui);font-weight:600;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 15%,transparent);padding:.1rem .35rem;border-radius:3px;text-transform:uppercase;letter-spacing:.08em}.bottom-panel-tile-row{display:flex;align-items:center;justify-content:center;gap:.5rem}.bottom-panel-tile{position:relative;display:flex;justify-content:center;align-items:center}.bottom-panel-tile .tile-stack{position:absolute;width:var(--tile-display-size, 200px);height:var(--tile-display-size, 200px);margin:0}.rotate-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--bg-secondary);border:2px solid var(--outline-soft);border-radius:8px;color:var(--text-secondary);cursor:pointer;box-shadow:2px 2px 0 var(--outline-soft);transition:all .15s ease}.rotate-btn:hover{color:var(--text-primary);border-color:var(--outline-dark);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.rotate-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-soft)}@media(max-width:768px){.rotate-btn{width:28px;height:28px}}.bottom-panel-info{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:100px;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--outline-soft);border-radius:8px}.bottom-panel-side-progress{width:80px}.tiles-left-badge{color:var(--text-secondary);font-family:var(--font-mono);font-size:.85em;font-weight:600}.tiles-progress-bar{height:5px;background:var(--bg-surface);border-radius:3px;overflow:hidden;border:1px solid var(--outline-soft)}.tiles-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-hover));border-radius:3px;transition:width .5s ease}.bottom-panel-footer{display:flex;align-items:center;justify-content:center;padding-top:.25rem;gap:1rem;min-height:1.4em}.bottom-hint{font-size:.7em;color:var(--text-muted);font-family:var(--font-ui);padding:.15em .5em;background:var(--bg-tertiary);border-radius:8px}.bottom-panel-tile.draggable{cursor:grab}.bottom-panel-tile.draggable:active,.bottom-panel-tile.is-dragging{cursor:grabbing}.bottom-panel-meeple{display:flex;align-items:center;justify-content:center;cursor:grab;padding:.25rem;background:var(--bg-secondary);border:2px dashed var(--outline-soft);border-radius:6px;box-shadow:2px 2px 0 var(--outline-soft);transition:all .15s}.bottom-panel-meeple:hover{border-color:var(--accent-gold);border-style:solid;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.bottom-panel-meeple.is-dragging{cursor:grabbing;border-color:var(--accent-gold);border-style:solid;box-shadow:0 0 12px var(--glow-gold-soft)}.drag-ghost-tile{filter:drop-shadow(var(--shadow-lg));border-radius:4px;overflow:hidden;transition:transform .15s cubic-bezier(.34,1.56,.64,1),opacity .1s ease-out}.drag-ghost-meeple{filter:drop-shadow(var(--shadow-md))}.segmented-toggle{display:flex;border-radius:8px;overflow:hidden;border:2px solid var(--outline-soft);flex-shrink:0}.segmented-option{padding:.35rem .75rem;font-size:.8em;font-family:var(--font-ui);background:var(--bg-tertiary);color:var(--text-muted);border:none;cursor:pointer;transition:background .15s,color .15s}.segmented-option:not(:last-child){border-right:1px solid var(--outline-soft)}.segmented-option:hover{background:var(--bg-secondary);color:var(--text-secondary)}.segmented-active{background:var(--accent-primary);color:#fff;font-weight:600}.segmented-active:hover{background:var(--accent-primary)}.turn-announcement{position:fixed;bottom:220px;left:50%;transform:translate(-50%);z-index:100;font-family:var(--font-display);font-size:2em;font-weight:700;letter-spacing:.12em;color:var(--accent-gold);text-shadow:0 0 24px var(--glow-gold),0 0 48px var(--glow-gold-soft),3px 3px 0 var(--outline-dark);pointer-events:none}@media(max-width:768px){.turn-announcement{bottom:180px;font-size:1.5em}}.score-panel{position:fixed;left:12px;top:12px;width:240px;display:flex;flex-direction:column;gap:.5rem;z-index:51;padding:.5rem;background:var(--bg-secondary);border:2px solid var(--outline-soft);border-radius:12px;box-shadow:3px 3px 0 var(--outline-soft)}.score-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.score-card{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .75rem;background:var(--bg-tertiary);border:1px solid var(--outline-soft);border-radius:8px;transition:border-color .2s,box-shadow .2s,background .2s}.score-card.active-turn{border-color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 12%,var(--bg-tertiary));box-shadow:inset 0 0 8px var(--glow-gold-soft)}.score-card-header{display:flex;align-items:center;gap:.5rem}.score-card .player-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid var(--outline-dark);box-shadow:1px 1px 0 var(--outline-dark)}.score-card .player-name{font-size:.85em;font-weight:600;font-family:var(--font-ui);flex:1;min-width:0;color:var(--text-primary);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.score-card .you-badge{font-size:.65em;font-family:var(--font-ui);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 15%,transparent);padding:.15em .4em;border-radius:4px;flex-shrink:0}.score-card-body{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.score-value{font-weight:800;font-family:var(--font-display);font-size:1.8em;line-height:1;position:relative;color:var(--text-primary);transition:transform .2s ease-out}.score-value.score-bumped{animation:scoreBump .4s ease-out}@keyframes scoreBump{0%{transform:scale(1)}30%{transform:scale(1.2)}60%{transform:scale(.95)}to{transform:scale(1)}}.score-popup{position:absolute;left:100%;top:0;margin-left:.4rem;font-weight:700;font-size:.6em;pointer-events:none;white-space:nowrap;text-shadow:0 0 8px currentColor}.follower-row{display:flex;gap:2px;align-items:center;flex-wrap:nowrap}.follower-row .mini-meeple{width:16px;height:16px;flex-shrink:0}.turn-label{font-size:.7em;font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-gold);text-align:center;padding:.25em .5em;background:color-mix(in srgb,var(--accent-gold) 12%,transparent);border-radius:4px;margin-top:.25rem}.score-progress-card{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--outline-soft);border-radius:8px}.score-progress-bar{position:relative;width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;border:1px solid var(--outline-soft)}.score-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-hover));border-radius:3px;transition:width .5s ease}.score-progress-label{font-size:.75em;font-family:var(--font-mono);color:var(--text-muted);text-align:center}@media(max-width:900px){.score-panel{position:fixed;left:50%;top:0;transform:translate(-50%);width:auto;max-width:calc(100vw - 24px);flex-direction:row;gap:.4rem;padding:.5rem;background:var(--bg-surface);border:2px solid var(--outline-dark);border-top:none;border-radius:0 0 12px 12px;box-shadow:0 3px 0 var(--outline-dark)}.score-list{flex-direction:row;gap:.4rem;overflow-x:auto}.score-card{min-width:100px;padding:.5rem .6rem;gap:.3rem}.score-card-header{gap:.3rem}.score-card .player-dot{width:10px;height:10px}.score-card .player-name{font-size:.75em;max-width:60px}.score-card .you-badge{display:none}.score-value{font-size:1.2em}.follower-row{display:none}.turn-label{font-size:.6em;padding:.15em .3em;margin-top:.15rem}.score-progress-card{min-width:80px;padding:.4rem .5rem;gap:.2rem}.score-progress-label{font-size:.65em}}@media(max-width:600px){.score-panel{max-width:calc(100vw - 16px);padding:.4rem;gap:.3rem}.score-card{min-width:70px;padding:.4rem .5rem}.score-card .player-name{max-width:40px;font-size:.7em}.score-value{font-size:1em}.score-progress-card{display:none}}.game-log{display:flex;flex-direction:column;min-height:0;background:var(--bg-surface);border:2px solid var(--outline-soft);border-radius:10px;box-shadow:2px 2px 0 var(--outline-soft)}.game-log-collapsed{padding:.5rem}.game-log-expanded{max-width:280px;min-width:240px;padding:.5rem}.game-log-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.3rem;display:flex;align-items:center;justify-content:center;position:relative;transition:color .15s;border-radius:6px}.game-log-toggle:hover{color:var(--text-primary);background:var(--bg-tertiary)}.game-log-badge{position:absolute;top:-4px;right:-6px;background:var(--accent-gold);color:var(--text-on-gold);font-size:.65em;font-weight:700;font-family:var(--font-mono);min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;border:1px solid var(--outline-dark)}.game-log-expanded .game-log-toggle{margin-bottom:.4rem}.log-entries{max-height:250px;overflow-y:auto;font-size:.8em;line-height:1.4;font-family:var(--font-body);background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--outline-soft)}.log-entry{padding:.35rem .5rem;border-bottom:1px solid var(--outline-soft);border-left:2px solid transparent;display:flex;align-items:baseline;gap:.3rem}.log-entry:last-child{border-bottom:none}.log-turn{display:inline-block;background:var(--bg-surface);border-radius:4px;padding:.1em .4em;font-size:.8em;font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0}.log-icon{font-size:.9em;flex-shrink:0;line-height:1}.log-message{color:var(--text-secondary)}.reactions-container{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.reactions-toggle{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:var(--bg-surface);border:2px solid var(--outline-soft);border-radius:10px;color:var(--text-secondary);cursor:pointer;box-shadow:2px 2px 0 var(--outline-soft);transition:all .15s}.reactions-toggle:hover{color:var(--text-primary);border-color:var(--outline-dark);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.reactions-toggle:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-soft)}.reactions-chevron{transition:transform .2s}.reactions-chevron.open{transform:rotate(180deg)}.reaction-buttons{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end;padding:.5rem;background:var(--bg-surface);border:2px solid var(--outline-soft);border-radius:10px;box-shadow:2px 2px 0 var(--outline-soft);max-width:180px}.reaction-btn{background:var(--bg-secondary);border:1px solid var(--outline-soft);border-radius:8px;width:40px;height:40px;padding:0;font-size:1.2em;cursor:pointer;transition:all .15s;line-height:1;display:flex;align-items:center;justify-content:center}.reaction-btn:hover{background:var(--bg-tertiary);border-color:var(--outline-dark);transform:scale(1.1)}.reaction-btn:active{transform:scale(.95)}.reaction-floaters{position:fixed;bottom:200px;right:12px;width:120px;height:100px;pointer-events:none;overflow:visible}.reaction-float{position:absolute;bottom:0;font-size:1.5em;pointer-events:none;transform:translate(-50%)}@keyframes followerBtnPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes followerDrop{0%{transform:translateY(-8px) scale(.6);opacity:0}60%{transform:translateY(1px) scale(1.1);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.follower-meeple-g{animation:followerDrop .3s ease-out both}@media(prefers-reduced-motion:reduce){.follower-meeple-g{animation:none}}.follower-segment-btn{position:relative;transition:transform .1s}.follower-segment-btn:hover{transform:scale(1.15)}.follower-segment-btn:active{transform:scale(.9)}.follower-segment-label{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:.6em;font-family:var(--font-ui);font-weight:600;color:var(--text-primary);background:var(--overlay-bg);padding:1px 5px;border-radius:3px;white-space:nowrap;opacity:0;transition:opacity .15s;pointer-events:none}.follower-segment-btn:hover .follower-segment-label{opacity:1}.skip-follower-btn{display:inline-flex;align-items:center;gap:.3rem;padding:4px 14px;font-size:.85em;font-family:var(--font-ui);border:1px solid var(--accent-gold);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:background .15s,border-color .15s}.skip-follower-btn:hover{background:var(--border);border-color:var(--accent-gold)}.end-screen{max-width:720px;margin:0 auto;padding:2rem 1.5rem;text-align:center}.end-screen-podium{max-width:720px}@media(min-width:640px){.end-screen{padding:2.5rem 2rem}}@media(max-width:639px){.end-screen{padding:1.5rem 1rem}.end-screen h1{font-size:2em;margin-bottom:1rem}.winner-banner{font-size:1.1em;padding:.75rem;gap:.5rem}.podium-cards{gap:.5rem;padding:1rem 0}.podium-card{width:100px;padding:.75rem .5rem 0}.podium-card-first{width:120px;padding:.85rem .75rem 0}.podium-bar{height:40px!important}.podium-bar-1{height:60px!important}.podium-bar-2{height:35px!important}.podium-bar-3{height:25px!important}.podium-name{font-size:.75em}.podium-card-first .podium-name{font-size:.85em}.podium-score{font-size:1em}.podium-card-first .podium-score{font-size:1.15em}.score-breakdown{max-width:100%;padding:.6rem .75rem}.end-actions{flex-direction:column;width:100%}.btn-rematch{width:100%;max-width:none}}.end-screen h1{font-size:2.5em;font-family:var(--font-display);font-weight:700;margin-bottom:1.5rem;letter-spacing:.04em}.winner-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.3em;font-family:var(--font-display);font-weight:600;margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border:2px solid var(--outline-dark);border-radius:8px;box-shadow:3px 3px 0 var(--outline-dark),0 0 30px color-mix(in srgb,var(--accent-gold) 12%,transparent)}.win-margin{color:var(--text-muted);margin-bottom:.5rem;font-size:.9em}.game-stats-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem;font-size:.85em;color:var(--text-muted);font-family:var(--font-mono)}.game-stat-sep{color:var(--text-muted);opacity:.5}.score-breakdown{margin-bottom:1.5rem;padding:.75rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;max-width:420px;width:100%}.breakdown-title{font-size:.8em;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .6rem;font-weight:600}.breakdown-grid{display:flex;flex-direction:column;gap:.5rem}.breakdown-player{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.breakdown-player-name{display:flex;align-items:center;gap:4px;font-size:.85em;font-weight:600;min-width:80px}.breakdown-categories{display:flex;gap:.5rem;flex-wrap:wrap}.breakdown-category{font-size:.78em;color:var(--text-muted);background:var(--bg-surface);padding:2px 6px;border-radius:4px}.breakdown-category strong{color:var(--accent-gold)}.breakdown-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:0;margin-bottom:0}.score-breakdown.expanded .breakdown-toggle{margin-bottom:.6rem}.breakdown-toggle .breakdown-title{margin:0}.breakdown-chevron{color:var(--text-muted);transition:transform .2s}.breakdown-chevron.open{transform:rotate(180deg)}.breakdown-grid{overflow:hidden}.completion-popup-container{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1000;pointer-events:none}.completion-popup{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--glass-bg);border:1px solid var(--accent-gold);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);font-size:.9em;white-space:nowrap;box-shadow:0 4px 16px #0006}.completion-popup-icon{color:var(--accent-gold);display:flex;align-items:center}.completion-popup-kind{font-weight:600}.completion-popup-detail{color:var(--text-muted);font-size:.9em}.podium-section{margin-bottom:1.5rem}.podium-cards{display:flex;align-items:flex-end;justify-content:center;gap:1rem;padding:1.25rem 0}.podium-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1.5rem 0;background:var(--bg-secondary);border:2px solid var(--outline-dark);border-bottom:none;border-radius:10px 10px 0 0;width:150px;position:relative;overflow:hidden;box-shadow:2px 0 0 var(--outline-dark)}.podium-card-first{border-color:var(--accent-gold);border-width:2px;box-shadow:0 0 24px color-mix(in srgb,var(--accent-gold) 25%,transparent),0 0 48px color-mix(in srgb,var(--accent-gold) 10%,transparent);width:170px;padding:1.5rem 1.75rem 0;z-index:1}.podium-medal{display:flex;align-items:center;justify-content:center;margin-bottom:.2rem}.podium-rank-number{font-family:var(--font-display);font-weight:700;font-size:1.3em;color:var(--text-muted)}.podium-name{font-family:var(--font-body);font-size:.9em;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.podium-card-first .podium-name{font-size:1em;font-weight:600}.podium-score{font-family:var(--font-display);font-weight:700;font-size:1.2em;color:var(--text-primary);margin-bottom:.5rem}.podium-card-first .podium-score{font-size:1.4em;color:var(--accent-gold)}.podium-bar{width:100%;border-radius:4px 4px 0 0;opacity:.7;margin-top:auto}.podium-bar-1{opacity:.85}.podium-remaining{margin-top:1rem;display:flex;flex-direction:column;gap:.25rem}.podium-remaining-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px}.podium-remaining-rank{width:1.5rem;color:var(--text-muted);font-family:var(--font-mono);font-size:.9em}.podium-remaining-name{flex:1;font-family:var(--font-body);font-size:.9em;color:var(--text-secondary);text-align:left}.podium-remaining-score{font-family:var(--font-display);font-weight:600;font-size:.9em;color:var(--text-secondary)}.final-scores{text-align:left;margin-bottom:2rem}.final-scores h2{font-size:1.1em;font-family:var(--font-display);font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.scores-list{list-style:none;padding:0;margin:0}.score-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--overlay-parchment)}.score-row-winner{background:color-mix(in srgb,var(--accent-gold) 6%,transparent)}.score-rank{width:1.5rem;color:var(--text-muted);font-family:var(--font-mono)}.score-name{flex:1;font-family:var(--font-body)}.score-points{font-weight:700;font-family:var(--font-display)}.end-actions{display:flex;flex-direction:column;gap:.75rem;align-items:center;margin-top:1rem}.btn-rematch{max-width:320px;animation:rematchPulse 2s ease-in-out 3.5s infinite}@keyframes rematchPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent-success) 40%,transparent)}50%{box-shadow:0 0 0 8px transparent}}.end-actions-secondary{display:flex;gap:.75rem;align-items:center}.btn-text{background:none;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.85em;cursor:pointer;padding:.3em 0;transition:color .15s;text-decoration:underline;text-decoration-color:transparent}.btn-text:hover{color:var(--text-secondary);text-decoration-color:var(--text-muted)}.streak-banner{display:inline-flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--accent-streak) 15%,var(--bg-secondary));border:2px solid var(--accent-streak);border-radius:20px;padding:.4rem 1rem;font-size:.95em;font-weight:600;font-family:var(--font-ui);color:var(--accent-streak);margin-bottom:1.5rem;box-shadow:2px 2px 0 var(--outline-dark)}.player-stats-card{margin-top:.6rem;padding:.5rem .75rem;background:color-mix(in srgb,var(--border) 4%,transparent);border:1px solid color-mix(in srgb,var(--border) 8%,transparent);border-top:2px solid var(--accent-gold);border-radius:6px}.stats-row{display:flex;gap:.75rem;align-items:center;font-size:.8em;font-family:var(--font-ui);color:var(--text-secondary);flex-wrap:wrap}.stat{display:inline-flex;align-items:center;gap:.3rem}.stat.streak{color:var(--accent-streak);font-weight:600}.achievement-gallery{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}.achievement-badge{font-size:1.3em;cursor:default;transition:transform .15s}.achievement-badge.unlocked:hover{transform:scale(1.3)}.achievement-badge.locked{opacity:.2;filter:grayscale(1)}.guide-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body)}.guide-nav{position:sticky;top:0;z-index:100;background:var(--bg-surface);border-bottom:1px solid var(--border);padding:1rem 2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.guide-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-primary);text-decoration:none;font-family:var(--font-ui);font-weight:500;transition:color .2s ease}.guide-back-link:hover{color:var(--accent-secondary)}.guide-content{max-width:800px;margin:0 auto;padding:2rem}.guide-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.guide-header h1{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;letter-spacing:.02em}.guide-subtitle{font-size:1.1rem;color:var(--text-secondary);margin:0}.guide-article{line-height:1.7}.guide-section{margin-bottom:2.5rem}.guide-section h2{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.guide-section h3{font-family:var(--font-ui);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:1.5rem 0 .75rem}.guide-section p{margin:0 0 1rem;color:var(--text-secondary)}.guide-section ul,.guide-section ol{margin:0 0 1rem;padding-left:1.5rem;color:var(--text-secondary)}.guide-section li{margin-bottom:.5rem}.guide-section li strong{color:var(--text-primary)}.guide-icon{color:var(--accent-primary);flex-shrink:0}.faq-list{display:flex;flex-direction:column;gap:.5rem}.faq-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .2s ease}.faq-item:hover{border-color:var(--border-accent)}.faq-item-open{border-color:var(--accent-primary)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:none;border:none;color:var(--text-primary);font-family:var(--font-ui);font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:background-color .2s ease}.faq-question:hover{background:var(--bg-secondary)}.faq-question svg{color:var(--text-muted);flex-shrink:0}.faq-answer{padding:0 1.25rem 1rem;border-top:1px solid var(--border);background:var(--bg-secondary)}.faq-answer p{margin:1rem 0 0;color:var(--text-secondary);line-height:1.6}.guide-cta{margin-top:3rem;padding:2rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;text-align:center}.guide-cta h2{font-family:var(--font-display);font-size:1.5rem;color:var(--text-primary);margin:0 0 .5rem}.guide-cta p{color:var(--text-secondary);margin:0 0 1.5rem}.guide-cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.guide-play-button{display:inline-block;padding:.875rem 2rem;background:var(--accent-primary);color:var(--bg-primary);font-family:var(--font-ui);font-weight:600;font-size:1rem;text-decoration:none;border-radius:8px;border:2px solid var(--outline-dark);box-shadow:var(--shadow-outline);transition:all .2s ease}.guide-play-button:hover{background:var(--accent-secondary);transform:translateY(-2px);box-shadow:var(--shadow-outline-lg)}.guide-discord-button{display:inline-block;padding:.875rem 2rem;background:#5865f2;color:#fff;font-family:var(--font-ui);font-weight:600;font-size:1rem;text-decoration:none;border-radius:8px;border:2px solid var(--outline-dark);box-shadow:var(--shadow-outline);transition:all .2s ease}.guide-discord-button:hover{background:#4752c4;transform:translateY(-2px);box-shadow:var(--shadow-outline-lg)}.guide-footer{margin-top:4rem;padding:2rem;border-top:1px solid var(--border);text-align:center}.guide-footer p{margin:0;color:var(--text-muted);font-size:.9rem}.guide-footer a{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.guide-footer a:hover{color:var(--accent-primary)}@media(max-width:768px){.guide-nav{padding:.75rem 1rem}.guide-content{padding:1.5rem 1rem}.guide-header h1{font-size:2rem}.guide-section h2{font-size:1.25rem}.guide-cta{padding:1.5rem}.guide-cta-buttons{flex-direction:column}.guide-play-button,.guide-discord-button{width:100%;text-align:center}}#root{width:100vw;height:100vh;display:flex;flex-direction:column}.connecting{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.connecting h1{font-family:var(--font-display);font-size:2.4em;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);margin:0}.connecting-spinner{width:32px;height:32px;border:3px solid var(--spinner-track);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.connecting-text{color:var(--text-muted);font-family:var(--font-body)}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background:var(--accent-primary);color:#fff;border:none;padding:.6em 1.2em;border-radius:6px;font-size:1em;font-family:var(--font-ui);cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 8px #0000004d}.btn-primary:hover{background:var(--accent-hover);transform:scale(1.03);box-shadow:0 4px 16px var(--btn-shadow-hover)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary.btn-hero{width:100%;padding:.85em 1.4em;font-size:1.1em;font-family:var(--font-display);font-weight:600;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-accent);padding:.5em 1em;border-radius:6px;font-size:.9em;font-family:var(--font-ui);cursor:pointer;transition:background .15s,transform .1s}.btn-secondary:hover{background:var(--border);transform:scale(1.03)}.btn-secondary:active{transform:scale(.97)}.btn-small{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-accent);padding:.3em .7em;border-radius:4px;font-size:.85em;font-family:var(--font-ui);cursor:pointer;transition:background .15s,transform .1s}.btn-small:hover{background:var(--border);transform:scale(1.03)}.btn-small:active{transform:scale(.97)}.hint{color:var(--text-muted);font-size:.85em;font-style:italic;font-family:var(--font-body);margin:.5rem 0}.game-hud{position:absolute;inset:0;pointer-events:none;z-index:50}.game-hud>*{pointer-events:auto}.hud-top-center{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:52}.turn-counter{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-secondary);border:2px solid var(--outline-soft);border-radius:10px;box-shadow:2px 2px 0 var(--outline-soft)}.turn-counter-label{font-family:var(--font-ui);font-size:.8em;font-weight:600;color:var(--text-secondary)}.turn-counter-number{font-family:var(--font-display);font-weight:700;font-size:1.4em;line-height:1;color:var(--accent-gold);text-shadow:1px 1px 0 var(--outline-dark);min-width:1.5ch;text-align:center}.turn-counter-divider{width:1px;height:1.2em;background:var(--outline-soft);margin:0 .25rem}.turn-counter-progress{display:flex;align-items:center;gap:.4rem}.turn-counter-progress-bar{width:50px;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;border:1px solid var(--outline-soft)}.turn-counter-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-hover));border-radius:3px}.turn-counter-tiles{font-family:var(--font-mono);font-size:.75em;color:var(--text-muted);white-space:nowrap;min-width:2ch}@media(max-width:600px){.turn-counter{padding:.35rem .6rem;gap:.4rem}.turn-counter-number{font-size:1.2em}.turn-counter-progress-bar{width:40px}}.hud-top-right{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:8px;z-index:52}.hud-bottom-left{position:absolute;bottom:100px;left:12px}.hud-bottom-right{position:absolute;bottom:100px;right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}@media(max-width:900px){.hud-top-right{top:8px;right:8px;gap:6px}.hud-bottom-right{bottom:90px;right:8px}}.hud-icon-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--bg-secondary);border:2px solid var(--outline-soft);border-radius:10px;color:var(--text-secondary);cursor:pointer;box-shadow:2px 2px 0 var(--outline-soft);transition:all .15s ease}.hud-icon-btn:hover{color:var(--text-primary);border-color:var(--outline-dark);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.hud-icon-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-soft)}.hud-signup-btn{display:flex;align-items:center;gap:.35rem;padding:.45rem .75rem;background:var(--accent-gold);border:2px solid var(--outline-dark);border-radius:10px;color:var(--bg-primary);font-family:var(--font-ui);font-size:.85em;font-weight:600;white-space:nowrap;cursor:pointer;box-shadow:2px 2px 0 var(--outline-dark);transition:all .15s ease}.hud-signup-btn:hover{background:color-mix(in srgb,var(--accent-gold) 85%,white);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--outline-dark)}.hud-signup-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--outline-soft)}@media(max-width:600px){.hud-signup-btn span{display:none}.hud-signup-btn{padding:.5rem;width:44px;height:44px;justify-content:center}}.leave-confirm-modal{text-align:center}.leave-confirm-text{color:var(--text-secondary);font-size:.9em;margin:.75rem 0 1.25rem;line-height:1.4}.leave-confirm-actions{display:flex;flex-direction:column;gap:.5rem}.btn-leave-confirm{display:flex;align-items:center;justify-content:center;gap:.4rem;background:var(--accent-danger);border-color:var(--accent-danger)}.btn-leave-confirm:hover{background:color-mix(in srgb,var(--accent-danger) 85%,white)}.hud-bottom-center{position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hud-panel{background:var(--bg-secondary);border:2px solid var(--outline-soft);border-radius:10px;padding:.75rem;box-shadow:2px 2px 0 var(--outline-soft)}@media(max-width:1024px)and (min-width:769px){.lobby-dashboard{grid-template-columns:320px 1fr;gap:1rem;padding:1rem}}@media(max-width:768px){:root{--touch-target-min: 44px}.hud-top-left,.hud-top-right,.hud-bottom-left,.hud-bottom-right{position:absolute}.hud-top-left{top:52px;left:8px}.hud-top-right{top:8px;right:8px;z-index:53}.hud-bottom-left{bottom:auto;top:52px;left:8px}.hud-bottom-right{bottom:auto;top:52px;right:8px}.hud-bottom-center{bottom:8px}.hud-panel{padding:.5rem}.hud-icon-btn{width:var(--touch-target-min);height:var(--touch-target-min)}.tile-preview .tile-preview-tile svg{width:72px!important;height:72px!important}.score-panel{height:44px;font-size:.8em;padding:0 .5rem}.score-item{gap:.25rem;padding:.2rem .35rem}.score-item .player-name{max-width:60px;font-size:.8em}.follower-count,.turn-label{display:none}.score-divider{height:20px;margin-right:.25rem}.score-progress-wrapper{padding-left:.5rem}.score-progress-bar{width:50px}.score-progress-label{font-size:.65em}.bottom-panel-tile .tile-stack{width:var(--tile-display-size, 100px);height:var(--tile-display-size, 100px)}.bottom-panel-side-progress{width:40px}.rotate-btn{width:var(--touch-target-min);height:var(--touch-target-min)}.reactions-container{padding:.3rem}.reaction-btn{font-size:.9em;padding:.2rem .3rem;min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.game-log{max-width:200px;min-width:160px}.game-log-collapsed{padding:.3rem}.game-log-toggle{width:var(--touch-target-min);height:var(--touch-target-min)}.game-log-expanded{max-width:220px;min-width:180px}.turn-status{font-size:.8em;padding:.4rem .75rem;max-width:90vw}.turn-phase-badge{display:none}.reaction-btn{font-size:.9em;padding:.15rem .25rem}.lobby-dashboard{grid-template-columns:1fr;padding:1rem;gap:.75rem}.lobby-header{padding:.5rem 1rem}.lobby-logo{font-size:1.2em}.lobby-card-row.lobby-bottom-row{grid-template-columns:1fr}.drawer-panel{width:100vw}.waiting-room-wrapper{padding:1rem}.waiting-room-card{padding:1.25rem}.player-seat{width:72px;padding:.5rem .3rem}.player-seat svg{width:36px;height:36px}.player-seat-name{font-size:.7em;max-width:64px}.invite-code{font-size:1em}.end-screen{padding:1.5rem 1rem}.end-screen h1{font-size:1.8em}.winner-banner{font-size:1em;padding:.75rem;gap:.5rem}.end-actions{flex-direction:column}.podium-cards{gap:.5rem}.podium-card{width:105px;padding:.75rem .5rem 0}.podium-card-first{width:125px;padding:.85rem .75rem 0}.podium-name{font-size:.75em}.podium-card-first .podium-name{font-size:.85em}.podium-score{font-size:1em}.podium-card-first .podium-score{font-size:1.15em}.score-breakdown{max-width:100%;padding:.6rem .75rem}.game-screen{-webkit-user-select:none;user-select:none;touch-action:none}}.achievement-notification-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column-reverse;gap:12px;z-index:900;pointer-events:none;max-width:320px}.achievement-notification{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px solid var(--accent-gold);border-radius:12px;box-shadow:var(--shadow-outline),0 0 16px var(--glow-gold-soft);pointer-events:auto;cursor:pointer;overflow:hidden}.achievement-notification:hover{box-shadow:var(--shadow-outline-lg),0 0 24px var(--glow-gold)}.achievement-notification-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:1.5rem;line-height:1;flex-shrink:0;background:color-mix(in srgb,var(--accent-gold) 15%,var(--bg-surface));border:1px solid var(--outline-soft);border-radius:10px}.achievement-notification-content{display:flex;flex-direction:column;gap:2px;min-width:0}.achievement-notification-header{font-family:var(--font-ui);font-size:.7rem;font-weight:600;color:var(--accent-gold);text-transform:uppercase;letter-spacing:.1em}.achievement-notification-label{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--text-primary);letter-spacing:.01em}.achievement-notification-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--accent-gold);border-radius:0 0 10px 10px;transform-origin:left}@keyframes achievementShimmer{0%{box-shadow:var(--shadow-outline),0 0 0 transparent}40%{box-shadow:var(--shadow-outline),0 0 24px var(--glow-gold)}to{box-shadow:var(--shadow-outline),0 0 16px var(--glow-gold-soft)}}.achievement-notification--entering{animation:achievementShimmer .6s ease-out forwards}@media(max-width:480px){.achievement-notification-container{bottom:16px;right:16px;left:16px;max-width:none}.achievement-notification{padding:12px 14px}.achievement-notification-icon{width:38px;height:38px;font-size:1.3rem}}
