/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-ease:initial}}}@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-slate-900:oklch(20.8% .042 265.755);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-bold:700;--radius-lg:.5rem;--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-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}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;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}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-8{top:calc(var(--spacing)*8)}.isolate{isolation:isolate}.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}}.m-16{margin:calc(var(--spacing)*16)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-screen{height:100vh}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.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}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.bg-slate-900{background-color:var(--color-slate-900)}.p-4{padding:calc(var(--spacing)*4)}.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))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-80{opacity:.8}.shadow,.shadow\/highlight{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(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,)}.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,)}.sepia{--tw-sepia:sepia(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))}.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)}.\[program\:star-dev\]{program:star-dev}.\[program\:star\]{program:star}}:root{--app-max-width:1024px;--game-max-width:min(min(65vh,98vmin,100vw),960px);--board-max-size:min(min(60vh,98vmin,100vw),900px)}:root,:host{--md-sys-color-background:#131317;--md-sys-color-on-background:#e4e1e7;--md-sys-color-surface:#131317;--md-sys-color-surface-dim:#131317;--md-sys-color-surface-bright:#39393d;--md-sys-color-surface-container-lowest:#0e0e12;--md-sys-color-surface-container-low:#1b1b1f;--md-sys-color-surface-container:#1f1f23;--md-sys-color-surface-container-high:#2a292e;--md-sys-color-surface-container-highest:#353439;--md-sys-color-on-surface:#e4e1e7;--md-sys-color-surface-variant:#464650;--md-sys-color-on-surface-variant:#c7c5d1;--md-sys-color-inverse-surface:#e4e1e7;--md-sys-color-inverse-on-surface:#303034;--md-sys-color-outline:#918f9b;--md-sys-color-outline-variant:#464650;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-surface-tint:#bec2ff;--md-sys-color-primary:#bec2ff;--md-sys-color-on-primary:#252a64;--md-sys-color-primary-container:#050948;--md-sys-color-on-primary-container:#7479b9;--md-sys-color-inverse-primary:#545996;--md-sys-color-secondary:#c4c4e2;--md-sys-color-on-secondary:#2d2f46;--md-sys-color-secondary-container:#454760;--md-sys-color-on-secondary-container:#b5b6d3;--md-sys-color-tertiary:#e6b5f7;--md-sys-color-on-tertiary:#452056;--md-sys-color-tertiary-container:#260038;--md-sys-color-on-tertiary-container:#9a6eab;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6}:root{color-scheme:light dark;color:#e2e8f0;background-color:#0f172a;font-family:Roboto,Segoe UI,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}:root[data-challenge-mode=true]{background-color:#1a0f12}body{background:linear-gradient(145deg,#0f172a,#1e293b);min-height:calc(100vh - 48px);margin:0;overflow-x:hidden}:root[data-challenge-mode=true] body{background:linear-gradient(#1a0f12,#2b1a1f)}:root[data-challenge-mode=true] .board-area,:root[data-challenge-mode=true] .scoreboard{background:0 0}:root[data-challenge-mode=true] .rack{background:#1a0f12cc}:root[data-challenge-mode=true] .scoreboard__player--active{background:0 0}body.modal-open,body.release-notes-open{overflow:hidden}.whats-new-modal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1100;box-sizing:border-box;background:#0f172ad9;justify-content:center;align-items:center;gap:0;padding:clamp(1rem,5vw,2.75rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.whats-new-modal__panel{color:#e2e8f0;background:linear-gradient(160deg,#0f172af5,#1e293bf0);border:1px solid #94a3b840;border-radius:28px;flex-direction:column;width:min(720px,96vw);max-height:min(92vh,880px);display:flex;position:relative;overflow:hidden;box-shadow:0 28px 80px #080f2399}#whats-new-modal-dialog{box-sizing:border-box;flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.whats-new-modal__header{padding:calc(1.75rem + env(safe-area-inset-top)) 2rem 1.75rem;color:#f8fafc;background:linear-gradient(135deg,#2563eb,#7c3aed);justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:0;display:flex;position:relative;overflow:hidden}.whats-new-modal__header-bg{opacity:.35;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48cGF0dGVybiBpZD0iZ3JpZCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiBwYXR0ZXJuVW5pdHM9InVzZXJTcGFjZU9uVXNlIj48cGF0aCBkPSJNIDQwIDAgTCAwIDAgMCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLW9wYWNpdHk9IjAuMSIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIi8+PC9zdmc+);position:absolute;top:0;right:0;bottom:0;left:0}.whats-new-modal__header-content{z-index:1;flex-direction:column;gap:.4rem;display:flex;position:relative}.whats-new-modal__header h2{letter-spacing:-.01em;margin:0;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.whats-new-modal__meta{color:#e2e8f0d9;margin:0;padding-bottom:1rem;font-size:.95rem;font-weight:500}.whats-new-modal__close{z-index:1;color:inherit;cursor:pointer;background:#f8fafc1f;border:1px solid #f8fafc40;border-radius:.75rem;margin-left:auto;padding:.5rem;transition:all .2s;position:relative}.whats-new-modal__close:hover{background:#f8fafc3d;transform:translateY(-1px)}.whats-new-modal__close:active{transform:translateY(0)}.whats-new-modal__scroll{color:#e2e8f0f2;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(#0f172a59,#0f172a1a 55%,#11182759);flex:1;min-height:0;padding:2rem;overflow-y:auto}.whats-new-modal__content{flex-direction:column;gap:1.75rem;display:flex}.whats-new-modal__state{text-align:center;color:#e2e8f0e6;background:#0f172a99;border:1px solid #3b82f640;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1.5rem;display:flex}.whats-new-modal__state--error{color:#fecaca;background:#1e0f17a6;border-color:#f8717159}.whats-new-modal__state-icon{font-size:2rem}.whats-new-modal__spinner{border:3px solid #94a3b833;border-top-color:#60a5fad9;border-radius:999px;width:2.75rem;height:2.75rem;animation:.8s linear infinite whats-new-spin}@keyframes whats-new-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.whats-new-modal__footer{padding:1.75rem 2rem calc(1.75rem + env(safe-area-inset-bottom));background:linear-gradient(#0f172ad9,#0f172aa6);border-top:1px solid #6366f140;justify-content:center;align-items:center;display:flex}.got-it-button{color:#f8fafc;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#38bdf8);border:none;border-radius:999px;padding:.9rem 2.75rem;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 18px 40px #4f46e580}.got-it-button:hover{transform:translateY(-2px);box-shadow:0 22px 50px #3b82f699}.got-it-button:active{transform:translateY(0)}.whats-new-section,.whats-new-details{background:linear-gradient(150deg,#1e293beb,#0f172ae0);border:1px solid #94a3b840;border-radius:18px;padding:1.75rem;transition:transform .2s,box-shadow .2s;box-shadow:0 20px 48px #080f2359}.whats-new-section:hover,.whats-new-details:hover{transform:translateY(-2px);box-shadow:0 26px 56px #080f2373}.whats-new-section__title{color:#f8fafcf2;align-items:center;gap:.75rem;margin:0 0 1.25rem;font-size:1.1rem;font-weight:600;display:flex}.whats-new-section__icon{font-size:1.75rem;line-height:1}.whats-new-section__list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.whats-new-section__item{color:#e2e8f0e6;padding-left:1.75rem;font-size:.98rem;line-height:1.5;position:relative}.whats-new-section__item:before{content:"";background:#94a3b899;border-radius:999px;width:.5rem;height:.5rem;position:absolute;top:.6rem;left:.3rem;box-shadow:0 0 0 4px #94a3b826}.whats-new-section__item--blue:before{background:#60a5fa;box-shadow:0 0 0 4px #3b82f640}.whats-new-section__item--green:before{background:#34d399;box-shadow:0 0 0 4px #10b98140}.whats-new-section__item--orange:before{background:#fb923c;box-shadow:0 0 0 4px #fb923c40}.whats-new-section__item--yellow:before{background:#facc15;box-shadow:0 0 0 4px #eab30840}.whats-new-section__item--technical{background:#0f172aa6;border:1px solid #94a3b833;border-radius:12px;padding:.9rem 1.1rem .9rem 2.25rem;font-family:JetBrains Mono,Fira Code,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.whats-new-section__item--technical:before{background:#a855f7;box-shadow:0 0 0 4px #a855f740}.whats-new-section__list--technical{gap:.75rem}.whats-new-details{padding:1.5rem}.whats-new-details__summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:#e2e8f0e6;align-items:center;gap:.75rem;display:flex}.whats-new-details__summary::-webkit-details-marker{display:none}.whats-new-details__hint{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8b3;margin-left:auto;font-size:.8rem}.whats-new-details__hint--open{display:none}.whats-new-details[open] .whats-new-details__hint--open{display:inline}.whats-new-details[open] .whats-new-details__hint--closed{display:none}.whats-new-details[open] .whats-new-details__summary{color:#93c5fd}.whats-new-previous{border-top:1px solid #6366f140;margin-top:2rem;padding-top:2rem}.whats-new-previous__list{gap:1rem;margin-top:1.5rem;display:grid}.whats-new-previous__item{background:#111827b3;border:1px solid #94a3b82e;border-radius:14px;gap:.75rem;padding:1.25rem 1.5rem;display:grid}.whats-new-previous__title{color:#e2e8f0f2;margin:0;font-size:1rem}.whats-new-previous__meta{color:#94a3b8cc;font-size:.85rem}.whats-new-previous__points{color:#cbd5e1e0;gap:.65rem;margin:0;padding:0 0 0 1.2rem;font-size:.9rem;list-style:outside;display:grid}@media (max-width:640px){.whats-new-modal{align-items:flex-start;padding:clamp(.75rem,4vw,1.5rem)}.whats-new-modal__panel{width:100%;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - clamp(1.5rem,8vw,3rem));border-radius:20px}.whats-new-modal__header{padding:calc(1.25rem + env(safe-area-inset-top)) 1.5rem 1.25rem}.whats-new-modal__scroll{padding:1.5rem}.whats-new-modal__footer{padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom))}}.display-name-modal{z-index:1000;background:#0f172af2;justify-content:center;align-items:center;padding:clamp(1.5rem,5vw,4rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.display-name-modal__content{background:linear-gradient(145deg,#1e293bfa,#334155f2);border:1px solid #94a3b826;border-radius:32px;flex-direction:column;gap:1.5rem;width:min(88vw,480px);max-width:480px;padding:clamp(2.5rem,4vw,4rem);display:flex;box-shadow:0 32px 80px #0f172ab3}.display-name-modal__content h1{letter-spacing:-.02em;text-align:center;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.25rem,5vw,3.25rem);font-weight:700}.display-name-modal__description{text-align:center;color:#cbd5e1e6;margin:0;font-size:.95rem;line-height:1.5}.display-name-modal__label{margin:1rem 0 .5rem;display:block}.display-name-modal__input-line{border-bottom:3px solid #94a3b866;padding-bottom:1rem;transition:all .2s;display:block}.display-name-modal__input-line:focus-within{border-color:#818cf8;box-shadow:0 8px 24px #6366f14d}.display-name-modal__input-line input{color:#f8fafc;caret-color:#cbd5f5;background:0 0;border:none;outline:none;width:100%;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600}.display-name-modal__hint{color:#94a3b8d9;text-align:center;margin:0;font-size:.9rem}.display-name-modal__error{color:#f87171;text-align:center;margin:0;font-size:.95rem}.display-name-modal__submit{letter-spacing:.05em;text-transform:uppercase;cursor:pointer;color:#fff;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:999px;margin-top:1rem;padding:1rem 2rem;font-size:1.05rem;font-weight:700;transition:all .2s;box-shadow:0 12px 32px #4f46e566}.display-name-modal__submit:hover{background:linear-gradient(135deg,#5b21b6,#7c3aed);transform:translateY(-2px);box-shadow:0 16px 40px #4f46e580}.display-name-modal__submit:active{transform:translateY(0)}.notification-status-modal{z-index:1000;background:#0f172af2;justify-content:center;align-items:center;padding:clamp(1.5rem,5vw,4rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.notification-status-modal__content{background:linear-gradient(145deg,#1e293bfa,#334155f2);border:1px solid #94a3b826;border-radius:24px;flex-direction:column;gap:1.5rem;width:min(90vw,500px);max-width:500px;padding:clamp(2rem,4vw,3rem);display:flex;box-shadow:0 32px 80px #0f172ab3}.blank-assignment-modal{z-index:1100;background:#0f172ad9;justify-content:center;align-items:center;padding:clamp(1.5rem,5vw,4rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.blank-assignment-modal__content{background:linear-gradient(152deg,#1e293bfa,#334155f5);border:1px solid #94a3b833;border-radius:28px;flex-direction:column;gap:1.5rem;width:min(560px,90vw);padding:clamp(1.5rem,4vw,3rem);display:flex;box-shadow:0 32px 64px #0f172a73}.blank-assignment-modal__content h2{text-align:center;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.75rem,4vw,2.4rem);font-weight:700}.blank-assignment-modal__description{text-align:center;color:#cbd5e1d9;margin:0;font-size:.95rem}.blank-assignment-modal__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;display:grid}.blank-assignment-modal__option{cursor:pointer;background:0 0;border:none;padding:0;display:block;container-type:inline-size}.blank-assignment-modal__option .blank-assignment-modal__tile{transition:transform .18s,box-shadow .18s}.blank-assignment-modal__option:hover .blank-assignment-modal__tile,.blank-assignment-modal__option:focus-visible .blank-assignment-modal__tile{transform:translateY(-2px);box-shadow:inset 0 1px #ffffffa6,0 14px 28px #4f46e559}.blank-assignment-modal__option:focus-visible{outline:none}.blank-assignment-modal__option--selected .blank-assignment-modal__tile{box-shadow:inset 0 0 0 2px #6366f18c,0 16px 32px #6366f159}.blank-assignment-modal__tile{aspect-ratio:1;place-items:center;width:100%;display:grid}.blank-assignment-modal__cancel{color:#e2e8f0d9;cursor:pointer;background:0 0;border:none;align-self:center;padding:.5rem 1rem;font-size:.95rem;font-weight:500;transition:color .15s}.blank-assignment-modal__cancel:hover,.blank-assignment-modal__cancel:focus-visible{color:#f8fafc;outline:none}.notification-status-modal__content h2{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.notification-status-modal__section{flex-direction:column;gap:.75rem;display:flex}.notification-status-modal__section-title{align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.notification-status-modal__section-title--success{color:#6ee7b7}.notification-status-modal__section-title--warning{color:#fbbf24}.notification-status-modal__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.notification-status-modal__item{border-radius:8px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.notification-status-modal__item--success{background:#6ee7b71a;border:1px solid #6ee7b74d}.notification-status-modal__item--warning{background:#fbbf241a;border:1px solid #fbbf244d}.notification-status-modal__player{color:#f8fafc;font-weight:600}.notification-status-modal__seat{color:#cbd5e1b3;margin-left:.5rem;font-size:.85rem}.notification-status-modal__reason{color:#cbd5e1cc;font-size:.85rem;font-style:italic}.notification-status-modal__note{color:#cbd5e1cc;background:#94a3b81a;border-left:3px solid #fbbf2480;border-radius:8px;margin:0;padding:.75rem;font-size:.9rem}.notification-status-modal__close{cursor:pointer;color:#fff;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:12px;align-self:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:transform .15s,box-shadow .2s}.notification-status-modal__close:hover{transform:translateY(-1px);box-shadow:0 10px 20px #4f46e559}.notification-status-modal__close:active{transform:translateY(0)}body,.app{padding-left:max(env(safe-area-inset-left),0px);padding-right:max(env(safe-area-inset-right),0px);padding-top:clamp(0px,env(safe-area-inset-top),24px);padding-bottom:max(env(safe-area-inset-bottom),0px)}*,:before,:after{-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}#root{min-height:calc(100vh - 48px);display:flex}.app{width:min(var(--app-max-width),100%);max-width:min(var(--app-max-width),100%);box-sizing:border-box;flex-direction:column;flex:1;gap:1.5rem;min-height:100vh;margin:0 auto;display:flex}.app__content{flex-direction:column;flex:1;gap:1.5rem;display:flex}.match-tabs{background:#1e293b80;border:1px solid #6366f133;border-radius:.75rem;flex:1;gap:.5rem;min-width:0;padding:.75rem;display:flex;box-shadow:inset 0 2px 8px #0003}.match-tabs.match-tabs--table{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:1.25rem;padding:0}.match-tab{cursor:pointer;white-space:nowrap;--match-tab-glow-base:#6366f18c;--match-tab-glow-strong:#818cf8b3;--match-tab-glow-stronger:#a5b4fcd9;--match-tab-glow-shadow:#4f46e566;--match-tab-glow-shadow-strong:#4f46e58c;background:#374151cc;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1.25rem .5rem .75rem;font-size:.875rem;transition:all .2s;display:flex;position:relative}.match-tab:hover{background:#4b5563e6;border-color:#6366f14d}.match-tab.active{color:#fff;box-shadow:0 0 0 2px var(--match-tab-glow-base),0 0 22px var(--match-tab-glow-strong),0 3px 12px var(--match-tab-glow-shadow);background:linear-gradient(135deg,#4f46e5,#6366f1);border-color:#818cf8d9}.match-tab.lobby-tab{--match-tab-glow-base:#10b9818c;--match-tab-glow-strong:#2dd4bfa6;--match-tab-glow-stronger:#6ee7b7d9;--match-tab-glow-shadow:#10b98159;--match-tab-glow-shadow-strong:#05966980;background:#4b556399}.match-tab.lobby-tab:hover{background:#6366f1b3}.match-tab.lobby-tab.active{background:linear-gradient(135deg,#059669,#10b981);border-color:#10b981d9}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 2px var(--match-tab-glow-base),0 0 22px var(--match-tab-glow-strong),0 3px 12px var(--match-tab-glow-shadow)}50%{box-shadow:0 0 0 2px var(--match-tab-glow-strong),0 0 30px var(--match-tab-glow-stronger),0 6px 18px var(--match-tab-glow-shadow-strong)}}.match-tab-label{align-items:center;gap:.25rem;display:flex}.match-tab__turn-indicator{pointer-events:none;z-index:1;background:#ef4444;border-radius:9999px;width:.7rem;height:.7rem;position:absolute;top:-.35rem;right:-.35rem}.match-tab__chat-indicator{pointer-events:none;z-index:1;background:#eab308;border-radius:9999px;width:.7rem;height:.7rem;position:absolute;top:-.35rem;right:-.35rem}.match-tab__refresh-spinner{pointer-events:none;z-index:1;width:.9rem;height:.9rem;position:absolute;top:-.35rem;right:-.35rem}.match-tab__refresh-spinner .spinner-icon{width:100%;height:100%;animation:1s linear infinite spin}.match-tab__refresh-spinner .spinner-circle{fill:none;stroke:#60a5fa;stroke-width:3px;stroke-dasharray:50;stroke-dashoffset:10px;stroke-linecap:round}@keyframes spin{to{transform:rotate(360deg)}}.match-table-wrapper{background:linear-gradient(160deg,#0f172abf,#1e293ba6);border:1px solid #6366f133;border-radius:.85rem;overflow-x:auto;box-shadow:inset 0 1px #94a3b81a,0 10px 32px #0f172a73;container-type:inline-size}.match-table{border-collapse:collapse;table-layout:fixed;color:#e2e8f0;width:100%;min-width:0}.match-table__col{width:auto}.match-table__col--status{width:clamp(1.9rem,6vw,3.2rem)}.match-table__col--metric{width:clamp(2.2rem,7vw,3.6rem)}.match-table__col--creator{width:clamp(6rem,16vw,10rem)}.match-table__col--actions{width:clamp(6.5rem,12vw,9rem)}.match-table__col--info{width:clamp(2.75rem,5vw,3.1rem)}.match-table__col--opponents{width:auto}.match-table thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0d9;background:#1e40af2e;border-bottom:1px solid #6366f140;padding:clamp(.45rem,1.3vw,.85rem) clamp(.45rem,2vw,1.1rem);font-size:clamp(.58rem,1.1vw,.7rem)}.match-table__sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.35rem;width:100%;min-width:0;display:inline-flex}.match-table__sort:hover,.match-table__sort:focus-visible{color:#bfdbfe}.match-table__row{cursor:pointer;background:#0f172a8c;transition:background .2s,box-shadow .2s}.match-table__row--invited{background:linear-gradient(155deg,#3741ac80,#1e3a8a8c);box-shadow:inset 0 0 0 1px #818cf899,0 0 18px #818cf859}.match-table__row--invited:hover{background:linear-gradient(155deg,#4f46e58c,#2563eb8c)}.match-table__row+.match-table__row{border-top:1px solid #94a3b81a}.match-table__row:hover{background:#1e293bbf;box-shadow:inset 0 1px #ffffff0a}.match-table__row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #60a5fa8c,0 0 0 1px #1e40af73}.match-table__row--active{background:linear-gradient(140deg,#3b82f647,#2563eb59);box-shadow:inset 0 0 0 1px #60a5fa99,0 12px 28px #1e40af59}.match-table__cell{vertical-align:middle;padding:clamp(.45rem,1.3vw,.85rem) clamp(.45rem,2vw,1.1rem);font-size:clamp(.85rem,1.9vw,.95rem)}.match-table__cell--opponents{width:100%;min-width:0;max-width:100%;overflow:hidden}.match-table__cell--status,.match-table__status-header{text-align:center}.match-table__creator-header{text-align:left}.match-table__cell--metric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.match-table--available .match-table__col--metric{width:clamp(7.5rem,26vw,13rem)}.match-table--available .match-table__cell--metric{text-align:left;white-space:normal}.match-table__players{flex-direction:column;gap:.35rem;display:flex}.match-table__players-count{font-variant-numeric:tabular-nums;color:#e2e8f0e6;font-weight:700}.match-table__seat-list{flex-direction:column;gap:.2rem;display:flex}.match-table__seat{color:#e2e8f0d1;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.1;overflow:hidden}.match-table__seat--open{color:#e2e8f0b8}.match-table__seat--reserved,.match-table__seat--reserved-you{color:#bfdbfeeb}.match-table__seat--reserved-you{font-weight:800}.match-table__seat--filled{color:#e2e8f0eb}.match-table__seat--bot{color:#a5b4fcd9}.match-table__cell--creator{text-align:left;color:#e2e8f0d9;white-space:nowrap;text-overflow:ellipsis;max-width:10rem;font-weight:500;overflow:hidden}.match-table__delta{color:#f8fafc;font-weight:700}.match-table__delta--positive{color:#34d399}.match-table__delta--negative{color:#f87171}.match-table__delta--zero{color:#f8fafc}.match-table__cell--info{text-align:right}.match-table__match-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:.2rem;min-width:0;display:flex;overflow:hidden}.match-table__opponent-content{align-items:center;gap:.6rem;width:100%;display:flex}.match-table__opponent-content .match-table__match-button{flex:1;min-width:0}.match-table__match-button:hover .match-table__primary-label,.match-table__match-button:focus-visible .match-table__primary-label{color:#bfdbfe}.match-table__primary-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;display:block;overflow:hidden}.match-table__secondary-label{color:#cbd5e1e6;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;display:block;overflow:hidden}.match-table__status-group{justify-content:center;align-items:center;gap:.4rem;min-height:.95rem;display:inline-flex}.match-table__status{border-radius:9999px;width:.65rem;height:.65rem;box-shadow:0 0 12px #ffffff73}.match-table__status--turn{background:#f87171}.match-table__status--chat{background:#facc15}.match-table__refresh{width:.95rem;height:.95rem;display:inline-flex}.match-table__invited-badge{color:#f8fafc;letter-spacing:.08em;text-transform:uppercase;background:radial-gradient(circle,#a5b4fcbf,#4f46e559);border:1px solid #a5b4fcbf;border-radius:9999px;justify-content:center;align-items:center;padding:.25rem .65rem;font-size:.68rem;font-weight:700;animation:2.4s ease-in-out infinite match-table__invited-pulse;display:inline-flex;box-shadow:0 0 12px #818cf8b3,0 0 24px #818cf859}@keyframes match-table__invited-pulse{0%{transform:translateY(0);box-shadow:0 0 6px #818cf899,0 0 16px #818cf840}50%{transform:translateY(-1px);box-shadow:0 0 14px #818cf8e6,0 0 28px #818cf866}to{transform:translateY(0);box-shadow:0 0 6px #818cf899,0 0 16px #818cf840}}.match-table__action-button{color:#e2e8f0d9;letter-spacing:.01em;cursor:pointer;background:0 0;border:1px solid #94a3b873;border-radius:9999px;justify-content:center;align-items:center;padding:.25rem .7rem;font-size:.75rem;font-weight:600;line-height:1.1;transition:border-color .2s,color .2s,background .2s,transform .2s;display:inline-flex}.match-table__action-button:hover,.match-table__action-button:focus-visible{color:#f8fafc;background:#818cf838;border-color:#818cf8d9;outline:none;transform:translateY(-1px)}.match-table__action-button:disabled{cursor:default;opacity:.6;color:#e2e8f099;background:#94a3b81f;border-color:#94a3b84d;transform:none}.match-table__action-button--archive{text-transform:uppercase;min-width:4.5rem}.match-table__archive-inline{flex-shrink:0;padding:.2rem .65rem}.match-table__info-button{color:#e2e8f0d9;cursor:pointer;background:0 0;border:1px solid #94a3b873;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.match-table__info-button--large{width:2.1rem;height:2.1rem}.match-table__info-button:hover,.match-table__info-button:focus-visible{color:#dbeafe;background:#818cf82e;border-color:#818cf8cc;outline:none}.match-table__join-btn{color:#86efac;letter-spacing:.01em;cursor:pointer;background:#22c55e26;border:1px solid #22c55e80;border-radius:9999px;justify-content:center;align-items:center;padding:.3rem .8rem;font-size:.75rem;font-weight:600;transition:border-color .2s,color .2s,background .2s,transform .2s;display:inline-flex}.match-table__join-btn:disabled{cursor:not-allowed;opacity:.5;color:#e2e8f080;background:#94a3b81a;border-color:#94a3b84d;transform:none}.match-table__delete-icon{color:#f87171e6;cursor:pointer;background:0 0;border:1px solid #ef444466;border-radius:9999px;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;padding:0;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.match-table__delete-icon:hover:not(:disabled),.match-table__delete-icon:focus-visible:not(:disabled){color:#fca5a5;background:#ef444426;border-color:#ef4444bf;outline:none}.match-table__delete-icon:disabled{cursor:not-allowed;opacity:.4;color:#e2e8f066;border-color:#94a3b84d}.match-table__delete-icon svg{width:1.15rem;height:1.15rem}.match-table__archive-btn{color:#e2e8f0d9;letter-spacing:.01em;cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #94a3b873;border-radius:9999px;justify-content:center;align-items:center;min-width:4rem;margin-right:.5rem;padding:.25rem .7rem;font-size:.7rem;font-weight:600;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.match-table__archive-btn:hover:not(:disabled),.match-table__archive-btn:focus-visible:not(:disabled){color:#f8fafc;background:#818cf838;border-color:#818cf8d9;outline:none}.match-table__archive-btn:disabled{cursor:default;opacity:.6;color:#e2e8f099;background:#94a3b81f;border-color:#94a3b84d}.match-table__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.match-table__join-btn{color:#e0e7ff;letter-spacing:.01em;cursor:pointer;background:#6366f147;border:1px solid #818cf899;border-radius:9999px;flex-direction:column;gap:.15rem;min-width:3.8rem;padding:.4rem .85rem;font-size:.78rem;font-weight:600;line-height:1.05;transition:border-color .2s,background .2s,color .2s,transform .2s}.match-table__join-btn-label{font-size:.8rem}.match-table__join-btn-hint{letter-spacing:.08em;text-transform:uppercase;opacity:.9;font-size:.6rem;font-weight:800}.match-table__join-btn-hint--reserved{color:#bfdbfe}.match-table__join-btn-hint--open{color:#bbf7d0}.match-table__join-btn:disabled .match-table__join-btn-hint{color:#e2e8f08c}.match-table__join-btn:hover:not(:disabled),.match-table__join-btn:focus-visible:not(:disabled){color:#f8fafc;background:#818cf866;border-color:#a5b4fce6;outline:none;transform:translateY(-1px)}.match-table__join-btn:disabled{opacity:.5;cursor:not-allowed}.match-table__game-name{flex-direction:column;gap:.2rem;min-width:0;display:flex}.match-table__info-cell{background:#0f172abf;border-top:1px solid #94a3b833;padding:1.25rem 1.1rem}.match-table__info-content{flex-direction:column;gap:.75rem;display:flex}.match-info__properties{flex-wrap:wrap;gap:.5rem;display:flex}.match-table__status-header-icon{font-size:1rem;line-height:1}.match-table__sort--status{justify-content:center;gap:.25rem}.match-table__info-header{text-align:center}.match-table__info-row td{background:#0f172abf;border-top:1px solid #94a3b833;padding:1.25rem 1.1rem}.match-table__pills-row{cursor:default}.match-table__pills-cell{border-bottom:2px solid #94a3b833;padding:.25rem 1rem .5rem}.match-table__pills-container{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.match-info-panel{flex-direction:column;gap:1rem;display:flex}.match-info-panel__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.match-info-panel__title{color:#e0f2fe;margin:0;font-size:1rem;font-weight:600}.match-info-panel__close{color:#e2e8f0e6;cursor:pointer;background:0 0;border:1px solid #818cf866;border-radius:9999px;padding:.25rem .9rem;font-size:.85rem;transition:background .2s,border-color .2s,color .2s}.match-info-panel__close:hover,.match-info-panel__close:focus-visible{color:#f8fafc;background:#818cf840;border-color:#818cf8d9;outline:none}.match-info-panel__section{flex-direction:column;gap:.5rem;display:flex}.match-info-panel__section--pills{flex-flow:wrap;gap:.5rem}.match-info-panel__list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.match-info-panel__list--bulleted{color:#e2e8f0e0;padding-left:1.5rem;list-style:outside;display:block}.match-info-panel__item{grid-template-columns:auto;gap:.25rem;display:grid}.match-info-panel__item dt{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8d9;margin:0;font-size:.75rem}.match-info-panel__item dd{color:#e2e8f0f2;margin:0;font-size:.9rem}.match-info-panel__subtitle{letter-spacing:.02em;color:#bfdbfee6;margin:0;font-size:.85rem;font-weight:600}.match-info-panel__code{white-space:pre-wrap;color:#cbd5e1f2;background:#0f172ae6;border:1px solid #6366f159;border-radius:.75rem;max-height:240px;margin:0;padding:.85rem;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;overflow:auto}.match-table__spinner{width:100%;height:100%;animation:1s linear infinite spin}.match-table__spinner-circle{fill:none;stroke:#93c5fd;stroke-width:3px;stroke-dasharray:50;stroke-dashoffset:12px;stroke-linecap:round}.match-table__empty{text-align:center;color:#e2e8f099;padding:1.5rem 1rem}.match-table__heading{letter-spacing:.1em;text-transform:uppercase;color:#bfdbfebf;margin:0;padding-left:.35rem;font-size:.85rem}.match-table-wordfeud .match-table-wrapper{margin-top:.35rem}.match-table--wordfeud .match-table__primary-label{color:#e2e8f0cc}.match-table__cell,.match-table thead th{padding:.75rem .8rem}.match-table__primary-label{max-width:200px}.spectator-badge{opacity:.8;font-size:.75rem}.close-tab{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:.125rem;padding:.125rem .25rem;font-size:1.125rem;line-height:1;transition:background-color .2s}.close-tab:hover{background:#ffffff1a}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{top:clamp(0rem,env(safe-area-inset-top),1.25rem);z-index:40;background:linear-gradient(135deg,#0f172abf,#0f172a8c);border:1px solid #94a3b82e;border-radius:0 0 18px 18px;flex-direction:row;justify-content:space-between;align-items:center;margin:0;padding:0 clamp(.75rem,2vw,1.1rem);display:flex;position:sticky;box-shadow:0 12px 30px #0f172a59}.app-header__leading,.app-header__actions{align-items:center;gap:.75rem;min-height:clamp(44px,6vw,64px);display:flex}.app-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;position:relative}.app-header__icon-button--active{box-shadow:0 0 0 1px #818cf8a6}.app-header__turn-button--active{filter:drop-shadow(0 0 6px #fbbf2480);transition:all .2s;color:#fbbf24!important}.app-header__turn-button--active:hover{filter:drop-shadow(0 0 8px #fbbf24b3);background-color:#fbbf241a!important}.app-header__player-label{text-transform:uppercase;letter-spacing:.14em;color:#94a3b8bf;font-size:.65rem}.app-header__player-name{color:#f8fafc;font-size:.95rem;font-weight:600;line-height:1.2}.app-header__menu-popover{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#0f172af2;border:1px solid #94a3b833;min-width:240px;padding:.35rem 0;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 16px 36px #0f172a73;border-radius:16px!important}.app-header__menu-navigation{flex-direction:column;gap:.65rem;padding:.2rem 0 .4rem;display:flex}.app-header__menu-section{flex-direction:column;gap:.2rem;display:flex}.app-header__menu-section-label{letter-spacing:.12em;text-transform:uppercase;color:#94a3b8a6;padding:0 .75rem;font-size:.7rem}.app-header__menu-list{flex-direction:column;gap:.35rem;padding:.3rem .35rem;display:flex}.app-header__menu-item-wrapper{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;outline:none;padding:.55rem .75rem;transition:background .15s;display:block}.app-header__menu-item-wrapper[data-disabled],.app-header__menu-item-wrapper:disabled{opacity:.6;cursor:default}.app-header__menu-item-wrapper[data-hovered],.app-header__menu-item-wrapper[data-focused],.app-header__menu-item-wrapper[data-pressed],.app-header__menu-item-wrapper:hover,.app-header__menu-item-wrapper:focus-visible,.app-header__menu-item-wrapper:active{background:#818cf81f}.app-header__menu-item-wrapper--nav{border:1px solid #0000;border-radius:12px}.app-header__menu-item-wrapper--nav-active{background:#6366f129;border-color:#818cf880}.app-header__menu-item-wrapper[data-active=true]{background:#818cf82e;box-shadow:inset 0 0 0 1px #818cf866}.app-header__menu-item-wrapper[data-active=true] .app-header__menu-item{color:#e0e7ff}.app-header__menu-item-wrapper--static{cursor:default;padding-bottom:.25rem}.app-header__menu-separator{background:#94a3b82e;border:none;height:1px;margin:.15rem 0}.app-header__menu-item{align-items:center;gap:.75rem;display:flex}.app-header__menu-item--player{gap:.4rem}.app-header__menu-inline-button{color:#e0e7ff;cursor:pointer;background:#94a3b814;border:1px solid #94a3b82e;border-radius:10px;justify-content:center;align-items:center;width:2rem;height:2rem;margin-left:.35rem;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.app-header__menu-inline-button:hover,.app-header__menu-inline-button:focus-visible{background:#818cf833;border-color:#818cf859;box-shadow:0 0 0 1px #818cf833}.app-header__menu-item--notification{align-items:center}.app-header__menu-notification-label{color:inherit;align-items:center;gap:.65rem;display:inline-flex}.app-header__menu-spacer{flex:auto}.app-header__menu-status{color:#94a3b8e6;justify-content:center;align-items:center;gap:.35rem;min-width:0;display:inline-flex}.app-header__menu-status-label{font-size:.75rem}.app-header__menu-note{color:#94a3b8cc;margin:.35rem 0 0;font-size:.75rem}.app-header__menu-item-row{align-items:center;gap:.5rem;display:flex}.app-header__menu-icon{color:#818cf8d9;justify-content:center;width:1.5rem;display:inline-flex}.app-header__menu-label{flex:auto}.server-info{opacity:.8;font-size:.875rem}.lobby-stats{grid-column:1/-1}.lobby-stats__label{flex-direction:column;flex:auto;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.lobby-stats__title{color:#f8fafc;font-size:1rem;font-weight:600}.lobby-stats__summary{color:#e2e8f0d9;flex-wrap:wrap;gap:.35rem;display:flex}.lobby-stats__summary-chip{color:#e2e8f0e6;background:#94a3b82e;border-radius:999px;padding:.25rem .65rem;font-size:.82rem}.lobby-stats__summary-text{color:#e2e8f0d9;font-size:.9rem}.lobby-stats__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.lobby-stats__identity{flex-direction:column;gap:.25rem;display:flex}.lobby-stats__name{color:#f8fafc;font-size:1rem;font-weight:600}.lobby-stats__updated{color:#94a3b8cc;font-size:.85rem}.lobby-stats__table-wrapper{background:#0f172a8c;border:1px solid #94a3b82e;border-radius:12px;overflow-x:auto}.lobby-stats__table{border-collapse:collapse;width:100%;min-width:420px;font-size:.9rem}.lobby-stats__table th,.lobby-stats__table td{text-align:left;white-space:nowrap;padding:.65rem .75rem}.lobby-stats__table th{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8d9;background:#1e293ba6;font-size:.75rem;font-weight:600}.lobby-stats__table tbody tr:nth-child(2n){background:#0c1423a6}.lobby-stats__table tbody tr:hover{background:#4f46e52e}.lobby-stats__message{color:#e2e8f0d9;margin:0;font-size:.95rem}.lobby-stats__message--error{color:#fecaca}.lobby-stats__summary{flex-direction:column;align-items:flex-start;gap:.25rem}.lobby-stats__summary-chip{white-space:normal}.lobby-stats__table{min-width:0}.lobby-stats__table th,.lobby-stats__table td{white-space:normal}.lobby__player-banner{background:#0f172ae6;border-radius:18px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 16px 32px #0f172a66}.lobby__player-summary{flex-direction:column;gap:.35rem;display:flex}.lobby__player-label{text-transform:uppercase;letter-spacing:.12em;color:#94a3b8bf;font-size:.8rem}.lobby__player-name{color:#f8fafc;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:700}.lobby__change-name{color:#a5b4fc;cursor:pointer;text-underline-offset:.2em;background:0 0;border:none;font-size:.95rem;font-weight:600;text-decoration:underline;transition:color .2s}.lobby__change-name:hover{color:#c7d2fe}.lobby__change-name:focus-visible{outline-offset:2px;border-radius:8px;outline:2px solid #818cf8}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ae6;border-radius:16px;padding:1.5rem;box-shadow:0 20px 40px #0f172a59}.panel h2{margin-top:0}.panel--collapsible{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.panel__toggle{width:100%;color:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:0;font-size:1.1rem;font-weight:600;display:flex}.panel__toggle:focus-visible{outline-offset:4px;border-radius:12px;outline:2px solid #818cf8cc}.panel__toggle-indicator{opacity:.75;font-size:1.25rem;transition:transform .2s}.panel__toggle[aria-expanded=true] .panel__toggle-indicator{transform:rotate(180deg)}.panel__collapsible{flex-direction:column;gap:.75rem;display:flex}.panel__note{color:#e2e8f0b3;margin:0 0 1.5rem;font-size:.9rem;font-weight:400;line-height:1.45}.panel__collapsible[hidden]{display:none}.panel--static .panel__collapsible{flex-direction:column;gap:.75rem;display:flex}.panel__static-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.1rem;font-weight:600;display:flex}.panel__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.panel__header h2{margin:0}.panel__refresh-button{color:#f8fafc;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#4338ca73,#0ea5e933);border:1px solid #818cf873;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.75rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;display:inline-flex;box-shadow:0 10px 28px #0f172a73,inset 0 1px #ffffff1f}.panel__refresh-button:hover:not(:disabled),.panel__refresh-button:focus-visible{color:#fff;background:linear-gradient(135deg,#6366f199,#0369a159);border-color:#a5b4fccc;transform:translateY(-1px);box-shadow:0 16px 36px #4f46e573}.panel__refresh-button:focus-visible{outline-offset:3px;outline:2px solid #a5b4fcd9}.panel__refresh-button:disabled{cursor:default;opacity:.65;background:linear-gradient(135deg,#4338ca59,#0ea5e926);border-color:#6366f159;box-shadow:0 6px 20px #0f172a4d,inset 0 1px #ffffff14}.panel__refresh-icon{background:#0f172a8c;border-radius:999px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:1rem;line-height:1;display:inline-flex;box-shadow:inset 0 1px 2px #ffffff1a}.panel__refresh-button--loading .panel__refresh-icon{animation:.8s linear infinite panel-refresh-spin}.panel__refresh-label{letter-spacing:inherit}@keyframes panel-refresh-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.panel__refresh-button{transition:none}.panel__refresh-button:hover:not(:disabled){transform:none}.panel__refresh-button--loading .panel__refresh-icon{animation:none}}.panel--matches{flex-direction:column;gap:.5rem;display:flex}.panel--actify{--md-sys-color-surface:#0f172af0;--md-sys-color-surface-container:#0f172aeb;--md-sys-color-surface-container-highest:#1e293bf5;--md-sys-color-on-surface:#e2e8f0;--md-sys-color-on-surface-variant:#94a3b8e0;--md-sys-color-outline:#5e6a8499;--md-sys-color-outline-variant:#4755698c;--md-sys-color-primary:#8b5cf6;--md-sys-color-primary-container:#8b5cf640;--md-sys-color-on-primary:#0f172a;--md-sys-color-secondary-container:#3b82f633;--md-sys-color-on-secondary-container:#dbeafe;--md-sys-color-error:#f87171;--md-sys-color-on-error-container:#fee2e2;--md-menu-container-color:#0f172af7;--md-menu-item-container-color:#4f46e529;--md-menu-item-hover-state-layer-color:#e2e8f0f2;--md-menu-item-label-text-color:var(--md-sys-color-on-surface);--md-ripple-hover-color:#e2e8f0cc;--md-ripple-pressed-color:#e2e8f0a6}.panel__collapsible--actify{gap:1.5rem}.create-match-form{flex-direction:column;gap:1.5rem;display:flex}.create-match-form__field,.create-match-form__field-select{width:100%}.create-match-form__field-label{letter-spacing:.04em;text-transform:uppercase;color:#e2e8f0d9;margin:0 0 .35rem;font-size:.78rem;font-weight:600;display:block}.create-match-form__trailing-actions{align-items:center;gap:.35rem;display:inline-flex}.create-match-form__textarea{color:#e2e8f0;resize:vertical;background:#0f172a66;border:1px solid #94a3b84d;border-radius:.5rem;width:100%;min-height:8rem;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Courier New,monospace}.create-match-form__custom-board-actions{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.create-match-form__error{color:#f87171;font-size:.9rem}.create-match-form__success{color:#4ade80;font-size:.9rem}.create-match-form__inline-actions{margin-top:.35rem}.board-editor{background:#0f172a66;border:1px solid #94a3b840;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.board-editor__header{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.board-editor__meta{flex:1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.board-editor__actions{flex-direction:column;gap:.5rem;min-width:240px;display:flex}.board-editor__size-buttons{gap:.4rem;display:flex}.board-editor__size-button{color:#e2e8f0;cursor:pointer;background:#0f172ab3;border:1px solid #94a3b873;border-radius:.4rem;padding:.35rem .6rem}.board-editor__palette{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.4rem;display:grid}.board-editor__swatch{color:#e2e8f0;cursor:pointer;background:#0f172a99;border:1px solid #94a3b873;border-radius:.5rem;padding:.5rem;font-weight:600;transition:border-color .2s,transform .1s}.board-editor__swatch--active{border-color:#fbbf24;transform:translateY(-1px)}.board-editor__save{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.board-editor__status{font-size:.9rem}.board-editor__status--error{color:#f87171}.board-editor__status--success{color:#4ade80}.board-editor__grid{background:#070c17e6;border:1px solid #94a3b840;border-radius:.5rem;width:100%;display:grid;overflow:hidden}.board-editor__cell{aspect-ratio:1;color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #0f172a80;justify-content:center;align-items:center;padding:0;font-size:.75rem;transition:background .15s,color .15s;display:flex}.board-editor__cell:hover{background:#ffffff0f}.board-editor__cell--base{box-shadow:inset 0 0 0 2px #fbbf24b3}.board-editor__cell--star{color:#fcd34d}.board-editor__footer{color:#e2e8f0;flex-wrap:wrap;align-items:center;gap:1rem;font-size:.9rem;display:flex}.tileset-editor{background:#0f172a66;border:1px solid #94a3b840;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.tileset-editor__header{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.tileset-editor__meta{flex:1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.tileset-editor__actions{flex-direction:column;gap:.5rem;min-width:240px;display:flex}.tileset-editor__summary{color:#e2e8f0;gap:.75rem;font-weight:600;display:flex}.tileset-editor__action-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.tileset-editor__rows{flex-direction:column;gap:.35rem;display:flex}.tileset-editor__row{background:#0f172a4d;border:1px solid #94a3b826;border-radius:.45rem;grid-template-columns:.9fr .45fr .45fr auto;align-items:center;gap:.3rem;padding:.3rem .4rem;display:grid}.tileset-editor__field{flex-direction:column;gap:.2rem;display:flex}.tileset-editor__field-label{color:#cbd5e1;font-size:.75rem}.tileset-editor__input{color:#e2e8f0;background:#0a101cc7;border:1px solid #94a3b859;border-radius:.35rem;min-width:0;padding:.32rem .4rem;font-size:.9rem}.tileset-editor__input:focus{outline-offset:0;outline:1px solid #38bdf8}.tileset-editor__input--number{text-align:center;max-width:64px}.tileset-editor__input--tile{max-width:72px}.tileset-editor__status{font-size:.9rem}.tileset-editor__status--error{color:#f87171}.tileset-editor__status--success{color:#4ade80}.tileset-editor__footer{color:#cbd5e1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.board-preview{background:#0f172ae6;border:1px solid #94a3b840;gap:1px;max-height:320px;display:grid;overflow:auto}.board-preview__cell{aspect-ratio:1;color:#e2e8f0;background:#1e293b99;border:1px solid #1e293b80;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.board-preview__cell--star{color:#fcd34d;background:#fbbf2466}.board-preview__meta{color:#cbd5e1;gap:1rem;margin-top:.35rem;font-size:.9rem;display:flex}.board-preview-modal{z-index:1300;justify-content:center;align-items:center;padding:clamp(1.25rem,5vw,3rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.board-preview-modal__backdrop{background:#0f172ad1;position:absolute;top:0;right:0;bottom:0;left:0}.board-preview-modal__content{z-index:1;background:linear-gradient(145deg,#1e293bfa,#334155f2);border:1px solid #94a3b840;border-radius:20px;flex-direction:column;width:100%;max-width:min(92vw,760px);max-height:min(90vh,760px);display:flex;position:relative;box-shadow:0 24px 80px #0f172a99}.board-preview-modal__header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem .75rem;display:flex}.board-preview-modal__header h2{margin:0;font-size:1.35rem}.board-preview-modal__subtitle{color:#e2e8f0cc;margin:.25rem 0 0;font-size:.9rem}.board-preview-modal__close{color:inherit;cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:999px;flex-shrink:0;padding:.4rem .85rem}.board-preview-modal__close:hover{background:#94a3b840}.board-preview-modal__body{padding:0 1.5rem 1.5rem;overflow-y:auto}.board-preview-modal__status{color:#e2e8f0d9;margin:0}.board-preview-modal__status--error{color:#f87171}.create-match-form__icon-button{color:#e2e8f0cc;cursor:pointer;background:#1e293b66;border:1px solid #64748b66;border-radius:999px;justify-content:center;align-items:center;padding:.35rem;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.create-match-form__icon-button:hover,.create-match-form__icon-button:focus-visible{color:#f8fafc;background:#4f46e559;border-color:#818cf8bf;outline:none;transform:translateY(-1px)}.create-match-form__icon-button:active{transform:translateY(0)}.create-match-form__section-label{letter-spacing:.02em;color:#e2e8f0e6;margin:0 0 .75rem;font-size:.85rem;font-weight:600}.create-match-form__seat-list{flex-direction:column;gap:1rem;display:flex}.create-match-form__seat-card{background:#0f172a66;border:1px solid #64748b73;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex;box-shadow:inset 0 1px #94a3b81f}.create-match-form__seat-card--creator{background:#1e293b73;border-style:dashed;border-color:#818cf899}.create-match-form__field-group{flex-direction:column;gap:.25rem;display:flex}.create-match-form__helper-text{color:#94a3b8e0;margin:.25rem 0 0;font-size:.75rem;line-height:1.45}.create-match-form__helper-text--tight{margin-top:.35rem}.create-match-form__alert{border:1px solid #0000;border-radius:.75rem;margin-top:.5rem;padding:.75rem;font-size:.75rem;line-height:1.4}.create-match-form__alert--warning{color:#facc15d9;background:#facc151f;border-color:#facc1559}.create-match-form__info-box{color:#e2e8f0eb;background:#1e293bb3;border:1px solid #64748b73;border-radius:.75rem;margin-top:.5rem;padding:.85rem;font-size:.75rem;line-height:1.45}.create-match-form__info-line{margin:0 0 .5rem}.create-match-form__info-line--last{margin-bottom:0}.create-match-form__checkbox-row{align-items:flex-start;gap:.75rem;display:flex}.create-match-form__checkbox-label{color:#e2e8f0e6;margin:0;font-size:.875rem;font-weight:600}.create-match-form__timer-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.create-match-form__challenge-section{flex-direction:column;gap:.75rem;display:flex}.create-match-form__preset-row{flex-wrap:wrap;gap:.5rem;display:flex}.create-match-form__preset-button{color:#e2e8f0d1;letter-spacing:.01em;cursor:pointer;background:#0f172a73;border:1px solid #64748b99;border-radius:999px;padding:.45rem .9rem;font-size:.8rem;font-weight:600;transition:background .2s,border-color .2s,transform .2s,color .2s}.create-match-form__preset-button:hover:not(:disabled),.create-match-form__preset-button:focus-visible:not(:disabled){color:#f8fafc;background:#4f46e559;border-color:#818cf8b3;outline:none;transform:translateY(-1px)}.create-match-form__preset-button:disabled{cursor:not-allowed;opacity:.45}.create-match-form__preset-button--active{color:#f8fafc;background:#4f46e573;border-color:#818cf8d9;box-shadow:0 8px 22px #4f46e559}.create-match-form__challenge-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:1.25rem;display:grid}.create-match-form__challenge-column{flex-direction:column;gap:.4rem;display:flex}.create-match-form__option-title{color:#e2e8f0eb;margin-bottom:.15rem;font-weight:600}.create-match-form__option-description{color:#94a3b8cc;font-size:.75rem;line-height:1.4}.create-match-form__challenge-summary{letter-spacing:.01em;color:#e2e8f0f2;margin:.25rem 0 0;font-size:.9rem;font-weight:600}.create-match-form__actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.create-match-form__action-button{min-width:0}.create-match-form__action-button--primary{box-shadow:0 10px 32px #4f46e573}.empty-state{color:#e2e8f0bf;margin:1rem 0 0;font-size:.95rem}.panel:not(.panel--actify) label{color:#e2e8f0f2;flex-direction:column;gap:.5rem;margin-bottom:.5rem;font-size:1rem;font-weight:500;display:flex}.panel__input-with-action{align-items:stretch;gap:.5rem;display:flex}.panel__input-with-action input{flex:auto}.panel__input-with-icons{align-items:center;gap:.25rem;display:flex;position:relative}.panel__input-with-trailing-icons{flex:1;padding-right:72px}.panel__input-icon-button{cursor:pointer;color:#cbd5e1b3;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;height:calc(100% - 4px);padding:8px;transition:all .2s;display:flex;position:absolute;top:2px;right:0}.panel__input-icon-button:hover{color:#e2e8f0;background:#818cf826}.panel__input-icon-button:active{transform:scale(.95)}.panel__input-icon-button:nth-last-child(2){right:36px}.panel__input-icon-button:last-child{right:4px}.panel__input-action{color:#e2e8f0;cursor:pointer;background:#1e293ba6;border:1px solid #94a3b899;border-radius:.75rem;justify-content:center;align-items:center;padding:.35rem .6rem;transition:border-color .2s,background .2s,color .2s,transform .2s;display:inline-flex}.panel__input-action:hover,.panel__input-action:focus-visible{color:#fff;background:#4f46e559;border-color:#818cf8d9;outline:none;transform:translateY(-1px)}.panel__input-action:active{transform:translateY(0)}.panel__input-action-icon{font-size:1rem;line-height:1}.panel__field-heading{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.panel__info-button{color:#cbd5f5;cursor:pointer;background:0 0;border:1px solid #94a3b899;border-radius:9999px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.panel__info-button:hover,.panel__info-button:focus-visible{color:#dbeafe;background:#818cf826;border-color:#818cf8e6;outline:none}.panel__info-button svg{width:1em;height:1em}.panel__tooltip{color:#e2e8f0e6;background:#1e293be6;border:1px solid #818cf866;border-radius:12px;flex-direction:column;gap:.35rem;padding:.5rem;font-size:.85rem;line-height:1.4;display:flex}.panel__tooltip strong{color:#f8fafc}.panel__checkbox{align-items:flex-start;gap:.35rem}.panel__checkbox-control{align-items:center;gap:.5rem;display:flex}.panel__checkbox-control input[type=checkbox]{width:auto;height:auto}.panel__checkbox-hint{color:#94a3b8cc;font-size:.85rem}.panel__timer-overrides{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.panel__timer-overrides-label{color:#bfdbfed9;font-size:.85rem}.panel__timer-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;display:grid}.panel__timer-grid label{flex-direction:column;gap:.35rem;display:flex}.panel__bot-assignment{flex-direction:column;gap:.5rem;display:flex}.panel__bot-assignment-label{font-size:.9rem;font-weight:600}.panel__seat-list{flex-direction:column;gap:.75rem;display:flex}.panel__seat-row{background:#0f172a4d;border:1px solid #94a3b833;border-radius:8px;align-items:center;gap:.75rem;padding:.5rem}.panel__seat-main{flex:1;align-items:center;gap:.5rem;display:flex}.panel__seat-label{min-width:80px;font-weight:500}.panel__seat-detail{flex-direction:column;flex:1;align-items:center;gap:.5rem;display:flex}.panel__seat-detail-label{color:#cbd5e1e6;min-width:70px;font-size:.85rem}.panel__seat-detail input,.panel__seat-detail select{flex:1;min-width:0}.panel__seat-detail{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.panel__reserved-player-wrapper{align-items:center;width:100%;display:flex;position:relative}.panel__reserved-player-input{flex:1;min-width:0;padding-right:36px}.panel__reserved-player-clear-btn{position:absolute;right:4px}.panel__reserved-player-input-wrapper{flex-wrap:wrap;flex:1;align-items:center;gap:.25rem;min-width:0;display:flex;position:relative}.panel__reserved-player-clear{cursor:pointer;color:#cbd5e1e6;background:#94a3b833;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;font-size:1.25rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.panel__reserved-player-clear:hover{background:#94a3b84d}.panel__reserved-player-clear:active{background:#94a3b866}.panel__seat-config{background:#0f172a4d;border:1px solid #94a3b833;border-radius:8px;flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.panel__seat-subconfig{margin-left:1rem;font-size:.85rem}.panel__seat-subconfig input{margin-top:.25rem}.panel:not(.panel--actify) input,.panel:not(.panel--actify) select{color:inherit;background:#0f172a99;border:1px solid #94a3b866;border-radius:8px;padding:.5rem .75rem}.panel:not(.panel--actify) input[aria-invalid=true],.panel:not(.panel--actify) select[aria-invalid=true]{background:#f8717114;border-color:#f87171;box-shadow:0 0 0 1px #f8717133}.panel:not(.panel--actify) input[aria-invalid=true]:focus-visible,.panel:not(.panel--actify) select[aria-invalid=true]:focus-visible{outline-offset:2px;outline:2px solid #f8717199}.panel:not(.panel--actify) button:not(.panel__toggle){cursor:pointer;color:#fff;transition:transform .15s,box-shadow .2s}.panel__form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.panel__reset-button{color:#cbd5e1e6;box-shadow:none;background:0 0;border:1px solid #94a3b880;transition:color .15s,background .15s,border-color .15s;transform:none}.panel__reset-button:hover,.panel__reset-button:focus-visible{color:#e2e8f0;box-shadow:none;background:#94a3b82e;border-color:#bfdbfeb3;outline:none;transform:none}.panel__reset-button:disabled{opacity:.6;cursor:not-allowed}.panel__submit-button{margin-left:auto}.panel:not(.panel--actify) button:not(.panel__toggle):disabled{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.panel:not(.panel--actify) button:not(.panel__toggle):not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 20px #4f46e559}.icon-button{cursor:pointer;color:#e2e8f0f2;background:0 0;border:none;border-radius:16px;justify-content:center;align-items:center;width:clamp(44px,11vw,80px);height:clamp(44px,11vw,80px);transition:transform .15s,box-shadow .2s,background .2s;display:inline-flex;position:relative}.icon-button--filled{box-shadow:0 12px 24px #080f234d;color:#0f172a!important;background:linear-gradient(135deg,#22d3ee,#6366f1)!important}.icon-button--filled-tonal{border:1px solid #94a3b840;box-shadow:0 10px 20px #080f2340;color:#e2e8f0eb!important;background:#1e293bbf!important}.icon-button--filled-tonal:hover:not(:disabled){color:#e2e8f0!important;background:#3b82f659!important}.icon-button--outlined{border:1px solid #94a3b866;color:#e2e8f0e6!important;background:0 0!important}.icon-button--outlined:hover:not(:disabled){border-color:#818cf8cc;background:#818cf81a!important}.icon-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;border-color:#0000;color:#e2e8f066!important;background:#47556933!important}.icon-button__icon{justify-content:center;align-items:center;display:flex}.icon-button--small{width:36px;height:36px;box-shadow:0 8px 16px #080f2340}.icon-button--small .icon-button__icon svg{width:1.25rem;height:1.25rem}.icon-button--with-caption{text-align:center;flex-direction:column;gap:.35rem;width:clamp(74px,18vw,108px);min-height:clamp(66px,18vw,112px);padding:.65rem .6rem .55rem}.icon-button.controls__challenge{border:1px solid #f8717159;color:#f87171d9!important}.icon-button.controls__challenge--enabled{border:none;box-shadow:0 14px 26px #f43f5e59,0 6px 14px #e11d4840;color:#fff!important;background:linear-gradient(135deg,#fb7185,#f43f5e)!important}.icon-button.controls__challenge--enabled:hover:not(:disabled){box-shadow:0 16px 30px #f43f5e73;background:linear-gradient(135deg,#fda4af,#fb7185)!important}.icon-button.controls__challenge:disabled{border-color:#f8717133;color:#f8717166!important}.icon-button__caption{letter-spacing:.16em;text-transform:uppercase;pointer-events:none;white-space:nowrap;font-size:.6rem;font-weight:600;line-height:1}.icon-button:focus-visible{outline-offset:3px;outline:2px solid #f8fafce6}.icon-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.icon-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 16px 28px #3b82f659}.icon-button__badge{color:#fde68a;background:#0f172ae0;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.icon-button--small .icon-button__badge{top:2px;right:2px}.match-list{flex-direction:column;gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.match-list li{margin:0;padding:0}.match-card{cursor:pointer;background:#0f172ab3;border:1px solid #94a3b826;border-radius:18px;flex-direction:row;gap:.75rem;padding:1rem 1.25rem;transition:transform .15s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 14px 28px #0f172a59}.match-card__header{justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.match-card__join-btn{color:#c7d2fef2;cursor:pointer;white-space:nowrap;background:#6366f159;border:1px solid #6366f180;border-radius:12px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.match-card__join-btn:hover:not(:disabled){color:#e0e7ff;background:#6366f180;border-color:#818cf8b3;transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.match-card__join-btn:disabled{opacity:.4;cursor:not-allowed}.match-card__delete-icon{color:#f87171e6;cursor:pointer;background:0 0;border:1px solid #f8717166;border-radius:12px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.match-card__delete-icon:hover:not(:disabled){color:#fca5a5;background:#dc262640;border-color:#f87171b3;transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.match-card__delete-icon:disabled{opacity:.4;cursor:not-allowed}.match-card:not(.match-card--disabled):hover,.match-card:not(.match-card--disabled):focus-visible{border-color:#818cf8b3;box-shadow:0 18px 32px #4f46e559}.match-card:focus-visible{outline-offset:2px;outline:2px solid #818cf8cc}.match-card--disabled{cursor:not-allowed;opacity:.55;box-shadow:0 12px 24px #0f172a40}.match-card--disabled:hover,.match-card--disabled:focus-visible{border-color:#94a3b833;box-shadow:0 12px 24px #0f172a40}.match-card--your-turn{background:#eab30833;border-color:#facc15e6;box-shadow:0 0 0 2px #facc1599,0 0 25px #facc1580,0 14px 28px #facc154d,0 18px 32px #0f172a59}@keyframes pulse-glow-card{0%,to{box-shadow:0 0 0 2px #facc1599,0 0 25px #facc1580,0 14px 28px #facc154d,0 18px 32px #0f172a59}50%{box-shadow:0 0 0 2px #facc15cc,0 0 35px #facc15b3,0 14px 28px #facc1566,0 20px 36px #0f172a66}}.match-card--your-turn:not(.match-card--disabled):hover{border-color:#facc15;box-shadow:0 0 0 3px #facc15b3,0 0 35px #facc1599,0 18px 32px #facc154d,0 20px 36px #0f172a66}.match-card__info{flex-direction:column;flex:auto;gap:.5rem;min-width:0;display:flex}.match-card__info strong{font-size:1rem;display:block}.match-card .match-card__delete{flex-shrink:0;align-self:center;background:#cd0b0bba!important}.match-card__delete--danger{color:#fca5a5;background:#dc262666;border-color:#dc2626b3}.match-card__delete--danger:hover:not(:disabled){color:#fecaca;background:#dc262699;border-color:#dc2626e6;box-shadow:0 4px 12px #dc262680}.match-meta{color:#e2e8f0b3;flex-wrap:wrap;gap:.5rem;font-size:.85rem;display:flex}.match-property{color:#bfdbfee6;background:#6366f126;border:1px solid #6366f140;border-radius:8px;padding:.15rem .5rem;font-size:.65rem}.games-list-page{max-width:var(--app-max-width);flex-direction:column;gap:1rem;padding:1rem;display:flex}.match-card--active{cursor:pointer;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;display:flex}.match-card--active:hover{background:#6366f11f;border-color:#6366f166;transform:translateY(-1px);box-shadow:0 4px 12px #6366f133}.match-card--active:active{transform:translateY(0)}.match-card--wordfeud{border-color:#8b5cf64d}.match-card--wordfeud:hover{background:#8b5cf61f;border-color:#8b5cf680;box-shadow:0 4px 12px #8b5cf633}.match-card__archive-btn{color:#cbd5e1;cursor:pointer;white-space:nowrap;background:#47556966;border:1px solid #47556980;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.match-card__archive-btn:hover:not(:disabled){background:#47556999;border-color:#475569b3}.match-card__archive-btn:disabled{opacity:.5;cursor:not-allowed}.match-id{background:#1e293bb3;border-radius:8px;padding:.15rem .4rem;font-family:JetBrains Mono,Fira Mono,monospace}.phantom-warning{color:#fbbf24;cursor:help;background:#fbbf2426;border:1px solid #fbbf244d;border-radius:8px;padding:.15rem .5rem;font-weight:600}.error{color:#f87171}.scoreboard h2{box-sizing:border-box;--board-max-size:min(96vw,75vh,860px);--game-max-width:var(--board-max-size);flex:1;align-items:center;width:100%;max-width:1400px;min-height:0;margin:0 auto}.spectator-mode-banner{color:#c4b5fd;text-align:center;background:linear-gradient(90deg,#8b5cf626,#3b82f626);border:1px solid #8b5cf64d;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:flex}.spectator-mode-banner svg{flex-shrink:0}.game-layout{--board-max-size:min(100vw,65vh);--game-max-width:var(--board-max-size)}.game-header{width:100%;max-width:var(--game-max-width);box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.5rem;margin:0 auto;padding:.5rem 1rem;display:flex}.game-header__name{color:#e2e8f0;font-weight:600}.game-header__details{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.game-config-pills{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.board-area{touch-action:manipulation;width:100%;min-height:0;max-width:var(--game-max-width);box-sizing:border-box;background:#0f172acc;border-radius:10px;flex-direction:column;flex:1;justify-content:space-between;align-items:center;gap:.25rem;margin:0 auto;transition:transform .2s;display:flex;position:relative;box-shadow:0 25px 55px #080f2380}.board-wrapper{width:min(100%,var(--board-max-size));max-width:var(--board-max-size);box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;gap:.25rem;margin:0 auto;display:flex;position:relative}.cheat-hint{z-index:6;pointer-events:none;color:#e2e8f0;text-align:center;background:linear-gradient(135deg,#1e40aff5,#0d3f67f0);border:1px solid #94a3b873;border-radius:14px;flex-direction:column;gap:.75rem;min-width:12rem;max-width:min(18rem,100vw - 2rem);padding:.85rem 1rem 1rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 22px 46px #080f238c,inset 0 1px #ffffff29}.cheat-hint:after,.cheat-hint:before{content:"";left:var(--cheat-arrow-percent,50%);pointer-events:none;border-style:solid;position:absolute;transform:translate(-50%)}.cheat-hint--top:after{filter:drop-shadow(0 6px 8px #080f2373);border-width:14px 12px 0;border-color:#1e40aff5 #0000 #0000;bottom:-14px}.cheat-hint--top:before,.cheat-hint--bottom:after{display:none}.cheat-hint--bottom:before{filter:drop-shadow(0 -6px 8px #080f2359);border-width:0 12px 14px;border-color:#0000 #0000 #1e40aff5;top:-14px}.cheat-hint__label{letter-spacing:.14em;text-transform:uppercase;opacity:.82;font-size:.68rem;font-weight:600}.cheat-hint__tiles{grid-template-columns:repeat(auto-fit,minmax(3.2rem,1fr));justify-items:center;gap:.65rem .75rem;margin:0;padding:0;list-style:none;display:grid}.cheat-hint__tile{flex-direction:column;align-items:center;gap:.35rem;display:flex}.cheat-hint__tile-visual{aspect-ratio:1;pointer-events:none;justify-content:center;align-items:center;width:clamp(2.8rem,9vw,3.6rem);display:flex;container-type:inline-size}.cheat-hint__tile-visual .tile{width:100%;height:100%}.cheat-hint__tile-note{letter-spacing:.14em;text-transform:uppercase;color:#e2e8f0b8;white-space:nowrap;font-size:.58rem;font-weight:600}.cheat-hint__tile--blank .cheat-hint__tile-note{color:#e2e8f0db}.cheat-hint__tile--blank .tile{opacity:.68;filter:grayscale(22%);border:2px dashed #94a3b8a6}.cheat-hint__tile--unavailable .tile{opacity:.35;filter:grayscale(45%)}.cheat-hint__tile--unavailable .cheat-hint__tile-note{color:#e2e8f073}.cheat-hint__empty{color:#e2e8f0db;font-size:.85rem}.board-zoom-container{touch-action:pan-y;isolation:isolate;will-change:transform;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;width:100%;height:100%;position:relative;overflow:hidden}.board-zoom-container--zoomed{touch-action:none}.board-zoom-container--locked{touch-action:none;overflow:hidden}.board-zoom-content{transform-origin:50%;will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;width:100%;height:100%;transform-style:preserve-3d}.game-over-overlay{pointer-events:none;z-index:3;justify-content:center;align-items:center;animation:.35s ease-out overlayFade;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.game-over-overlay:before{content:"";filter:blur(.5px);background:radial-gradient(circle,#3b82f633,#0f172aa6);position:absolute;top:0;right:0;bottom:0;left:0}.game-over-confetti{position:absolute;top:-10%;right:0;bottom:-10%;left:0;overflow:hidden}.confetti{opacity:.85;border-radius:999px;width:clamp(6px,.9vw,10px);height:clamp(14px,1.8vw,20px);position:absolute;top:-12%}.confetti--1{background:#facc15;animation-duration:3.4s;left:6%}.confetti--2{background:#38bdf8;animation-delay:-1s;left:18%}.confetti--3{background:#f97316;animation-duration:3.1s;left:34%}.confetti--4{background:#a855f7;animation-delay:-.6s;left:52%}.confetti--5{background:#22c55e;animation-duration:3.8s;left:70%}.confetti--6{background:#f43f5e;animation-delay:-1.4s;left:88%}.game-over-card{pointer-events:auto;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ae6;border:1px solid #94a3b840;border-radius:24px;max-width:min(90%,420px);padding:clamp(1.5rem,4vw,2.75rem);animation:.55s ease-out celebrationPop;position:relative;box-shadow:0 30px 70px #080f23a6}.game-over-close{color:#e2e8f0cc;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.25rem;font-size:1.35rem;line-height:1;transition:background .2s,color .2s,transform .2s;position:absolute;top:.75rem;right:.75rem}.game-over-close:hover,.game-over-close:focus{color:#f8fafc;background:#94a3b840;outline:none;transform:scale(1.05)}.game-over-close:focus-visible{box-shadow:0 0 0 3px #94a3b873}.game-over-card h3{color:#f8fafc;text-shadow:0 6px 18px #0f766e80;margin:0 0 .85rem;font-size:clamp(1.6rem,3.5vw,2.3rem)}.game-over-card p{color:#e2e8f0e6;margin:0;font-size:1rem}.game-over-standings{gap:.5rem;margin:1.35rem 0 0;padding:0;list-style:none;display:grid}.game-over-standings li{color:#e2e8f0;background:#1e293ba6;border:1px solid #94a3b82e;border-radius:14px;justify-content:space-between;align-items:center;padding:.55rem .85rem;font-weight:600;display:flex}.game-over-invalid-words{border-top:1px solid #94a3b840;margin-top:1.6rem;padding-top:1.1rem}.game-over-invalid-words h4{color:#f8fafc;letter-spacing:.01em;margin:0;font-size:1.05rem}.game-over-invalid-words ul{gap:.45rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.game-over-invalid-words li{color:#e2e8f0f2;justify-content:space-between;align-items:baseline;font-size:.95rem;display:flex}.game-over-invalid-player{font-weight:600}.game-over-invalid-list{color:#94a3b8f2;font-family:JetBrains Mono,SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem}.game-over-actions{flex-direction:column;align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.game-over-archive-button{color:#e2e8f0eb;letter-spacing:.01em;cursor:pointer;background:#0f172a8c;border:1px solid #94a3b88c;border-radius:999px;padding:.6rem 1.8rem;font-size:.9rem;font-weight:600;transition:border-color .2s,color .2s,background .2s,transform .2s}.game-over-archive-button:hover,.game-over-archive-button:focus-visible{color:#f8fafc;background:#4f46e540;border-color:#818cf8bf;outline:none;transform:translateY(-1px)}.game-over-archive-button:disabled{cursor:default;opacity:.65;color:#e2e8f0a6;background:#1e293b73;border-color:#94a3b866;transform:none}.game-over-rematch-button{color:#f8fafc;cursor:pointer;background:linear-gradient(135deg,#22d3ee,#6366f1);border:none;border-radius:999px;padding:.75rem 2.5rem;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 12px 32px #6366f159}.game-over-rematch-button:hover,.game-over-rematch-button:focus{filter:brightness(1.05);outline:none;transform:translateY(-1px);box-shadow:0 18px 40px #4f46e573}.game-over-rematch-button:focus-visible{box-shadow:0 0 0 3px #7dd3fc8c,0 18px 40px #4f46e573}.game-over-rematch-hint{color:#e2e8f0b3;margin:0;font-size:.9rem}.game-over-winner{color:#0f172a;background:linear-gradient(140deg,#4ade80b3,#10b98199);box-shadow:0 18px 34px #10b98159}.game-over-player-name{font-size:1.05rem}.game-over-player-meta{font-variant-numeric:tabular-nums;align-items:baseline;gap:.75rem;display:flex}.game-over-luck-summary{color:#e2e8f0bf;margin:.75rem 0 0;font-size:.95rem}.game-over-luck-label{color:#f8fafc;font-weight:600}.game-over-luck-description{color:#94a3b8f2}.game-over-player-luck{color:#e2e8f0bf;margin-top:.35rem;font-size:.85rem;font-weight:500;display:block}.game-over-winner .game-over-player-luck{color:#0f766ee6}.game-over-player-delta{text-align:right;color:#f8fafc;min-width:3.1rem;font-weight:700}.game-over-player-delta--positive{color:#22c55e}.game-over-player-delta--negative{color:#f87171}.game-over-winner .game-over-player-delta--positive{color:#065f46}.game-over-player-score{font-variant-numeric:tabular-nums;font-size:1rem}@keyframes celebrationPop{0%{opacity:0;transform:scale(.85)translateY(30px)}60%{opacity:1;transform:scale(1.03)translateY(-6px)}to{transform:scale(1)translateY(0)}}@keyframes confettiFall{0%{opacity:0;transform:translateY(-120%)rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(120%)rotate(360deg)}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.challenge-confirm-dialog{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out overlayFade;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.challenge-confirm-dialog__content{background:#0f172af2;border:1px solid #94a3b833;border-radius:16px;max-width:min(90%,400px);padding:2rem;animation:.3s ease-out celebrationPop;box-shadow:0 20px 60px #00000080}.challenge-confirm-dialog__content h3{color:#f8fafc;text-align:center;margin:0 0 1rem;font-size:1.5rem}.challenge-confirm-dialog__content p{color:#e2e8f0e6;text-align:center;margin:0 0 1.5rem;line-height:1.6}.challenge-confirm-dialog__buttons{justify-content:center;gap:1rem;display:flex}.challenge-confirm-dialog__button{cursor:pointer;border:none;border-radius:8px;flex:1;max-width:150px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.challenge-confirm-dialog__button--confirm{color:#fff;background:#ef4444}.challenge-confirm-dialog__button--confirm:hover,.challenge-confirm-dialog__button--confirm:focus{background:#dc2626;outline:none;transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.challenge-confirm-dialog__button--confirm:focus-visible{box-shadow:0 0 0 3px #ef444480}.challenge-confirm-dialog__button--cancel{color:#e2e8f0;background:#94a3b833}.challenge-confirm-dialog__button--cancel:hover,.challenge-confirm-dialog__button--cancel:focus{background:#94a3b84d;outline:none;transform:translateY(-1px)}.challenge-confirm-dialog__button--cancel:focus-visible{box-shadow:0 0 0 3px #94a3b880}.rematch-dialog{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1100;background:#0f172ab8;justify-content:center;align-items:center;animation:.2s ease-out overlayFade;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.rematch-dialog__content{background:#0f172af7;border:1px solid #94a3b840;border-radius:18px;flex-direction:column;gap:1rem;width:min(90%,420px);padding:2rem;animation:.3s ease-out celebrationPop;display:flex;box-shadow:0 24px 60px #0f172a99}.rematch-dialog__content h3{color:#f8fafc;text-align:center;margin:0;font-size:1.6rem}.rematch-dialog__description{color:#e2e8f0d1;text-align:center;margin:0;line-height:1.6}.rematch-dialog__field{flex-direction:column;gap:.5rem;width:100%;max-width:320px;margin:0 auto;display:flex}.rematch-dialog__label{color:#e2e8f0d9;font-size:.95rem;font-weight:600;display:block}.rematch-dialog__input-row{align-items:stretch;gap:.5rem;display:flex}.rematch-dialog__input{color:#f8fafc;background:#0f172ad9;border:1px solid #94a3b859;border-radius:10px;flex:auto;width:100%;min-width:0;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.rematch-dialog__input:focus{border-color:#38bdf8d9;outline:none;box-shadow:0 0 0 3px #38bdf840}.rematch-dialog__input:disabled{opacity:.7}.rematch-dialog__random-button{color:#e2e8f0;cursor:pointer;background:#1e293ba6;border:1px solid #94a3b899;border-radius:10px;justify-content:center;align-items:center;padding:.35rem .65rem;transition:border-color .2s,background .2s,color .2s,transform .2s;display:inline-flex}.rematch-dialog__random-button:hover,.rematch-dialog__random-button:focus-visible{color:#fff;background:#4f46e559;border-color:#818cf8d9;outline:none;transform:translateY(-1px)}.rematch-dialog__random-button:active{transform:translateY(0)}.rematch-dialog__random-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.rematch-dialog__random-button-icon{font-size:1rem;line-height:1}.rematch-dialog__error{color:#fca5a5;background:#ef444426;border:1px solid #ef444459;border-radius:8px;max-width:320px;margin:.5rem auto 0;padding:.65rem .75rem;font-size:.9rem}.rematch-dialog__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;max-width:320px;margin:.5rem auto 0;display:flex}.rematch-dialog__button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:.65rem 1.35rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s,filter .2s}.rematch-dialog__button:disabled{opacity:.7;cursor:not-allowed}.rematch-dialog__button--cancel{color:#e2e8f0;background:#94a3b833}.rematch-dialog__button--cancel:hover,.rematch-dialog__button--cancel:focus{background:#94a3b84d;outline:none;transform:translateY(-1px)}.rematch-dialog__button--cancel:focus-visible{box-shadow:0 0 0 3px #94a3b880}.rematch-dialog__button--confirm{color:#f8fafc;background:linear-gradient(135deg,#22d3ee,#6366f1)}.rematch-dialog__button--confirm:hover,.rematch-dialog__button--confirm:focus{outline:none;transform:translateY(-1px);box-shadow:0 14px 32px #4f46e56b}.rematch-dialog__button--confirm:focus-visible{box-shadow:0 0 0 3px #7dd3fc80,0 14px 32px #4f46e56b}.rematch-dialog__button--confirm:disabled{box-shadow:none;background:#6366f140}.rematch-dialog__button--confirm:disabled:hover{transform:none}.rematch-dialog__button--confirm:disabled:focus-visible{box-shadow:none}.board{aspect-ratio:1;touch-action:pan-y;background:linear-gradient(155deg,#1e293bf2,#0f172ae6);border-radius:clamp(.4rem,1vw,.75rem);width:100%;max-width:min(75vh,98vmin,100vw);margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #94a3b81f}.board--drag-over{box-shadow:inset 0 0 0 1px #94a3b833,0 0 28px #4f46e547}.board-canvas{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.board-overlay{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.board-overlay__placement{pointer-events:none;position:absolute}.board-overlay__placement--top-play{opacity:0;justify-content:center;align-items:center;display:flex}.board-overlay .placement-button{pointer-events:auto;container-type:inline-size}.board-overlay__caret{pointer-events:none;filter:drop-shadow(0 0 4px #0009)drop-shadow(0 0 1px #ffffff8c);justify-content:center;align-items:center;display:flex;position:absolute}.board-overlay__caret-icon{width:var(--caret-size,28px);height:var(--caret-size,28px);justify-content:center;align-items:center;display:flex;position:relative;transform:translateZ(0)}.board-overlay__caret-icon:before,.board-overlay__caret-icon:after{content:"";width:0;height:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.board-overlay__caret-icon:before{border-top:calc(var(--caret-size,28px)*.48)solid transparent;border-bottom:calc(var(--caret-size,28px)*.48)solid transparent;border-left:calc(var(--caret-size,28px)*.85)solid #000c}.board-overlay__caret-icon:after{border-top:calc(var(--caret-size,28px)*.42)solid transparent;border-bottom:calc(var(--caret-size,28px)*.42)solid transparent;border-left:calc(var(--caret-size,28px)*.75)solid #fbbf24}.board-overlay__caret--down .board-overlay__caret-icon{transform:translateZ(0)rotate(90deg)}.board-overlay__caret--left .board-overlay__caret-icon{transform:translateZ(0)rotate(180deg)}.board-overlay__caret--up .board-overlay__caret-icon{transform:translateZ(0)rotate(-90deg)}.board--tiles-selected{touch-action:none}.board-area{border-radius:0;padding:.5rem 0}.board-wrapper{width:100%;max-width:100%}.board-row{display:contents}.board-cell{color:#171717;text-transform:uppercase;aspect-ratio:1;box-sizing:border-box;touch-action:pan-y;backface-visibility:hidden;background:#000000f2;border:1px solid #94a3b81f;border-radius:3px;justify-content:center;align-items:center;max-width:100%;height:100%;padding:clamp(.01rem,.06vw,.04rem);transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;position:relative;container-type:inline-size}:root.starcross-no-effects .board-cell,:root.starcross-no-effects .board-cell:hover{box-shadow:none!important;transition:none!important;transform:none!important}:root.starcross-no-effects .board-cell--drop-target{transform:none!important}.board--tiles-selected .board-cell{touch-action:none}.board-cell--premium{color:#0f172ae6;font-weight:700}.board-cell--word3{background:linear-gradient(135deg,#7f3c0c75,#cb470aa1)}:root.starcross-no-effects .board-cell--word3{background:#cb470a73!important}.board-cell--word2{background:linear-gradient(135deg,#c7b91561,#d8ce0a8f)}:root.starcross-no-effects .board-cell--word2{background:#d8ce0a7a!important}.board-cell--word4{background:linear-gradient(135deg,#f871717a,#ef444499)}:root.starcross-no-effects .board-cell--word4{background:#ef444480!important}.board-cell--letter2{color:#0f172ac2;background:linear-gradient(135deg,#1b88bb6b,#07a4f399)}:root.starcross-no-effects .board-cell--letter2{background:#07a4f366!important}.board-cell--letter3{color:#0f172acc;background:linear-gradient(135deg,#18278766,#2027b08f)}:root.starcross-no-effects .board-cell--letter3{background:#2027b073!important}.board-cell--letter4{color:#0f172acc;background:linear-gradient(135deg,#5eead466,#14b8a68f)}:root.starcross-no-effects .board-cell--letter4{background:#14b8a673!important}.board-cell--occupied{box-shadow:inset 0 0 0 1px #0f172a73,0 10px 18px #0f172a73}:root.starcross-no-effects .board-cell--occupied{box-shadow:none!important}.board-cell--drop-target{border-color:#818cf8d9;transform:scale(1.05);box-shadow:inset 0 0 0 2px #818cf8a6,0 0 20px #818cf866;background:#818cf826!important}.board-cell:focus-visible{outline-offset:3px;outline:2px solid #facc15e6}.board-cell:hover{transform:translateY(-1px);box-shadow:0 10px 18px #080f2347}:root.starcross-no-effects .board-cell:hover{box-shadow:none!important;transform:none!important}.premium-label{letter-spacing:.12em;color:#ffffff8e;pointer-events:none;font-size:clamp(.5rem,1vmin,1.25rem)}.tile{aspect-ratio:1;color:#2f2a1f;box-sizing:border-box;opacity:1;will-change:transform;backface-visibility:hidden;width:100%;height:100%;text-rendering:geometricPrecision;background:linear-gradient(152deg,#fdfbf5,#f2e7d7 55%,#e8d7b8);border:1px solid #94a3b82e;border-radius:clamp(.1rem,.75vw,.4rem);place-items:center;margin:0;padding:clamp(.02rem,.16vw,.06rem);font-weight:400;display:grid;position:relative;box-shadow:inset 0 1px #ffffffa6,0 6px 14px #0f172a47}:root.starcross-no-effects .tile{box-shadow:none!important}.tile--preview{color:#102138;background:linear-gradient(150deg,#e9f2ff,#bfdcff 55%,#86baf5)}.tile--recent{background:linear-gradient(164deg,#dfd7ae,#cfe366 55%,#aa7b08)}:root.starcross-no-effects .tile--recent{background:#cfe366bf!important}.tile-letter{letter-spacing:.02em;color:currentColor;padding-top:0%;padding-right:20%;font-family:Roboto,Segoe UI,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:clamp(.5rem,75cqi,10rem);line-height:1}.tile-letter--blank{opacity:.5}.tile--preview .tile-letter{text-shadow:0 1px 3px #10213859;font-weight:500}.tile-value{letter-spacing:0;color:#30291ed9;background:#f8fafc00;padding:.1em .15em;font-size:30cqi;font-weight:500;position:absolute;top:0%;right:0%}.tile--preview .tile-value{font-weight:600}.tile-selection-index{color:#fde68a;background:#0f172ae0;border-radius:999px;justify-content:center;align-items:center;width:clamp(1.1rem,2.6vw,1.45rem);height:clamp(1.1rem,2.6vw,1.45rem);font-size:clamp(.6rem,1.2vw,.8rem);font-weight:700;display:flex;position:absolute;bottom:6px;right:6px;box-shadow:0 6px 14px #0f172a59}:root.starcross-no-effects .tile-selection-index{box-shadow:none!important}.placement-button{cursor:grab;touch-action:none;pointer-events:auto;background:0 0;border-color:#0000;justify-content:stretch;align-items:stretch;width:100%;height:100%;margin:0;padding:0;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.placement-button:focus-visible{outline-offset:2px;outline:2px solid #fbbf24}.placement-button:active{cursor:grabbing}.rack-wrapper{--rack-size:7;--rack-gap-count:6;--rack-density-scale:1;--rack-slot-base-size:calc(var(--board-max-size)/var(--rack-size)*var(--rack-gap-count)/var(--rack-size));--rack-gap-base-size:clamp(.25rem,.5vmin,.5rem);--rack-slot-size:calc(var(--rack-slot-base-size)*var(--rack-density-scale,1));--rack-gap-size:calc(var(--rack-gap-base-size)*var(--rack-density-scale,1));flex-direction:column;align-items:center;gap:1rem;width:fit-content;margin:0 auto;display:flex}.rack-droppable{transition:all .2s}:root.starcross-no-effects .rack-droppable{transition:none!important}:root.starcross-no-effects .rack{box-shadow:none!important;transition:none!important}.rack{place-content:flex-start center;align-items:stretch;gap:var(--rack-gap-size,clamp(.25rem,1.2vw,.8rem));touch-action:none;background:#111928e6;border-radius:16px;flex-wrap:wrap;margin-top:.5rem;padding:clamp(0rem,1.5vw,1rem);display:flex;box-shadow:inset 0 0 0 1px #94a3b81f,0 20px 35px #080f2373}.rack--shared{position:relative}.shared-rack-panel{justify-content:center;width:100%;margin:.25rem auto .5rem;display:flex}.shared-rack__close{color:#e2e8f0f2;cursor:pointer;background:#0f172ae0;border:1px solid #94a3b840;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background-color .2s,transform .2s;display:inline-flex;position:absolute;top:-.6rem;right:-.6rem}.shared-rack__close:hover:not(:disabled){background:#1e293be6;transform:translateY(-1px)}.shared-rack__close:active:not(:disabled){transform:translateY(0)}.shared-rack__label{color:#e2e8f0d9;pointer-events:none;background:#0f172ac7;border:1px solid #94a3b82e;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:600;position:absolute;top:-.45rem;left:.4rem}.rack-empty{color:#e2e8f0a6;margin:.5rem 0}.wordfeud-rack-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:80px;padding:2rem 1rem;display:flex}.loading-spinner{border:3px solid #94a3b833;border-top-color:#818cf8e6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.loading-text{color:#e2e8f0d9;font-size:.9rem;font-weight:500}.wordfeud-creation-panel{position:relative}.wordfeud-creation-panel__overlay{text-align:center;z-index:1;background:#ffffffd9;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.wordfeud-creation-panel__spinner{border:3px solid #00000026;border-top-color:#4caf50;border-radius:50%;width:32px;height:32px;animation:.9s linear infinite wordfeud-creation-spin}.wordfeud-creation-panel__overlay-text{color:#333;font-size:.95em}@keyframes wordfeud-creation-spin{to{transform:rotate(360deg)}}.rack-tile{aspect-ratio:1;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:20px;width:100%;padding:0;transition:transform .15s,box-shadow .15s}.rack-tile[draggable=true]{cursor:grab}.rack-tile--dragging{cursor:grabbing;opacity:.85;box-shadow:0 18px 28px #60a5fa59}.rack-tile[aria-disabled=true]{cursor:default}.rack-tile[aria-disabled=true]:hover{box-shadow:none;transform:none}.rack-tile--flick{animation:.26s ease-out forwards rack-tile-flick-glow}@keyframes rack-tile-flick-glow{0%{box-shadow:none;filter:brightness()}55%{filter:brightness(1.15);box-shadow:0 18px 28px #818cf873}to{box-shadow:none;filter:brightness()}}.rack-slot{width:var(--rack-slot-size,clamp(16px,12vmin,110px));will-change:transform;flex:none;justify-content:center;align-items:center;display:flex;position:relative;container-type:inline-size}.rack-slot--empty{visibility:hidden}.icon-button__icon svg{width:1.25rem;height:1.25rem}.icon-button--with-caption{gap:.25rem;width:100%;min-width:58px;min-height:clamp(58px,14vw,88px);padding:.5rem .4rem .45rem}.icon-button--with-caption .icon-button__icon svg{width:1.35rem;height:1.35rem}.icon-button__caption{letter-spacing:.12em;font-size:.5rem}@media (min-width:390px) and (max-width:599px){.rack{box-sizing:border-box;gap:clamp(.3rem,.9vw,.55rem);max-width:100dvw}.rack-slot{width:clamp(43px,12vmin,55px)}}.rack-slot--dragging{z-index:1000}.rack-slot-indicator{pointer-events:none;background:0 0;border-radius:999px;width:3px;transition:background .15s,transform .15s;position:absolute;top:12%;bottom:12%;left:-10px}.rack-slot--end{flex:0 0 clamp(12px,3vw,18px);width:clamp(12px,3vw,18px)}.rack-slot--end .rack-slot-indicator{left:0%;transform:translate(0)}.rack-slot--active .rack-slot-indicator{background:#818cf8d9;box-shadow:0 0 8px #818cf899}.rack-tile--selected{transform:translateY(-6px);box-shadow:0 18px 26px #818cf859}.rack-tile--backspace{background:linear-gradient(135deg,#111827,#1f2937);border:none;outline:none;box-shadow:0 8px 16px #00000059}.rack-tile--backspace .tile{box-shadow:none;background:0 0}.rack-tile--backspace .tile-letter{color:#fff;text-align:center;width:100%;font-weight:700;display:inline-block}.rack-tile:focus-visible{outline-offset:3px;outline:2px solid #818cf8d9}.controls{width:100%;max-width:var(--game-max-width);flex-direction:column;align-items:stretch;margin:0 auto;display:flex}.controls__rack-row{grid-template-columns:auto;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1rem);width:100%;display:grid}.controls__rack{justify-content:center;align-items:stretch;display:flex}.controls__rack-actions{gap:clamp(.45rem,1.8vw,.9rem);display:flex}.controls__rack-row .icon-button{flex-shrink:0}.controls__action-row{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;place-items:stretch stretch;gap:clamp(.4rem,2vw,.75rem);padding:.5rem .25rem 0;display:grid}.controls__action-row>div[style*=flexGrow]{display:none}.controls__submit{grid-area:2/1}.controls__swap{grid-area:2/2}.controls__pass{grid-area:2/3}.controls__challenge{grid-area:2/4}.controls__recall{grid-area:1/1/auto/3}.controls__shuffle{grid-area:1/3/auto/5}.controls__action-row .icon-button--with-caption{gap:.25rem;width:100%;min-width:58px;min-height:clamp(58px,14vw,88px);padding:.5rem .4rem .45rem}.controls__action-row .icon-button--with-caption .icon-button__icon svg{width:1.35rem;height:1.35rem}.controls__action-row .icon-button__caption{letter-spacing:.12em;font-size:.5rem}@media (max-width:640px){.controls__rack-row{grid-template-columns:minmax(0,1fr);justify-items:center;gap:.75rem}.controls__rack{order:2}.controls__rack-actions{order:3}.controls__rack-row>.controls__shuffle{order:1}}button.danger,.danger{background:linear-gradient(135deg,#f87171,#ef4444)}.toast{text-align:center;pointer-events:none;z-index:30;border:1px solid #0000;border-radius:18px;max-width:min(520px,90%);padding:.9rem 1.2rem;font-size:.95rem;font-weight:500;box-shadow:0 16px 28px #080f23cc}.board-wrapper>.toast{z-index:40;position:absolute;top:clamp(.35rem,1.2vw,.75rem);left:50%;transform:translate(-50%,-100%)}.board-wrapper>.chat-toast{z-index:120;pointer-events:auto;cursor:pointer;transition:transform .15s,box-shadow .2s;position:fixed;top:clamp(.75rem,2vw,1.5rem);left:50%;transform:translate(-50%)}.board-wrapper>.chat-toast:hover{transform:translate(-50%)translateY(-2px);box-shadow:0 18px 35px #080f23e6}.toast--info{color:#fffffffa;background:#3b82f6d9;border-color:#3b82f6bf}.toast--error{color:#fee2e2f2;background:#f8717138;border-color:#f8717180}.toast--success{color:#bbf7d0f2;background:#22c55e33;border-color:#22c55e73}.toast__author{font-weight:600}.toast__separator{opacity:.85;margin:0 .35rem 0 .25rem}.toast__message{font-weight:500}.scoreboard{width:100%;max-width:var(--game-max-width);box-sizing:border-box;background:#0f172ad1;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;margin:0 auto;padding:clamp(1rem,2vw,1.5rem) clamp(.5rem,1vw,1.5rem) 0;display:flex;position:relative;box-shadow:0 20px 45px #080f2373}.scoreboard h2{letter-spacing:.2em;text-transform:uppercase;color:#e2e8f0a6;margin:0;font-size:1rem}.scoreboard__header{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.scoreboard__poke-feedback{color:#dbeafef2;background:#2563eb2e;border-radius:.75rem;align-items:center;gap:.35rem;margin:.5rem 0 0;padding:.4rem .75rem;font-size:.85rem;display:inline-flex}.scoreboard__poke-feedback--success{color:#dcfce7f2;background:#16a34a33}.scoreboard__poke-feedback--info{color:#dbeafef2;background:#2563eb2e}.scoreboard__poke-feedback--error{color:#fee2e2f2;background:#ef444433}.scoreboard__replay-controls{width:100%;max-width:var(--game-max-width);justify-content:center;margin:0 auto;display:flex}.scoreboard__replay-controls .replay-controls{width:100%;max-width:100%;margin:0}.scoreboard__replay-indicator{color:#e2e8f0bf;justify-content:flex-start;align-items:center;gap:.5rem;width:100%;font-size:.85rem;display:flex}.scoreboard__replay-indicator-badge{color:#818cf8f2;text-transform:uppercase;letter-spacing:.08em;background:#6366f133;border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:600}.scoreboard__players{scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex-flow:row;justify-content:flex-start;gap:.5rem;width:100%;margin:0;padding:.25rem 0;list-style:none;display:flex;overflow-x:auto}.scoreboard__player{box-sizing:border-box;background:#1e293bb3;border:1px solid #0000;border-radius:18px;flex:1 1 0;align-items:center;gap:.75rem;min-width:80px;max-width:100%;padding:.3rem .5rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.scoreboard__player--active{background:#b91c1c33;border-color:#ef4444bf;transform:translateY(-2px);box-shadow:0 2px 6px #dc262659}.scoreboard__player--open{background:#1e293b8c;border-style:dashed;border-color:#3b82f673}.scoreboard__player--reserved{background:#fbbf241f;border-color:#fbbf2466}.scoreboard-chat{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.scoreboard-chat__trigger{color:#e2e8f0e6;cursor:pointer;background:radial-gradient(circle at 30% 30%,#3b82f64d,#0f172ae6);border:1px solid #3b82f680;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:transform .15s,box-shadow .2s,border-color .2s,background .2s;display:inline-flex;position:relative}.scoreboard-chat__trigger:hover{transform:translateY(-1px);box-shadow:0 12px 28px #2563eb40}.scoreboard-chat__trigger--unread,.scoreboard-chat__trigger[data-has-unread=true]{border-color:#f87171e6;box-shadow:0 0 0 2px #f8717159,0 18px 35px #f871714d}.scoreboard-chat__icon{color:#e2e8f0eb}.scoreboard-chat__badge{color:#f8fafc;letter-spacing:.02em;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:1.6rem;height:1.4rem;padding:0 .4rem;font-size:.75rem;font-weight:700;display:inline-flex;position:absolute;top:-.45rem;right:-.45rem;box-shadow:0 0 0 2px #0f172ae6,0 10px 20px #f8717159}.scoreboard-chat__panel{width:min(100vw,var(--game-max-width,1200px));z-index:12;box-sizing:border-box;inset-inline:0;background:#070c18f2;border:1px solid #94a3b859;border-radius:18px 18px 0 0;flex-direction:column;gap:.75rem;height:50vh;padding:1rem 1.25rem;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -6px 18px #00000059,0 -18px 38px #082f4966}.scoreboard-chat__panel[hidden]{display:none}.scoreboard-chat__panel-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.scoreboard-chat__panel-title{color:#e2e8f0;letter-spacing:.05em;text-transform:uppercase;font-weight:700}.scoreboard-chat__close{color:#e2e8f0e6;cursor:pointer;background:#0f172abf;border:1px solid #94a3b873;border-radius:12px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.2rem;line-height:1;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.scoreboard-chat__close:hover{background:#334155e6;border-color:#e2e8f08c;transform:translateY(-1px)}.scoreboard-chat__log{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding-right:.35rem;display:flex;overflow-y:auto}.scoreboard-chat__log::-webkit-scrollbar{width:.5rem}.scoreboard-chat__log::-webkit-scrollbar-thumb{background:#3b82f659;border-radius:999px}.scoreboard-chat__empty{text-align:center;color:#94a3b8d9;letter-spacing:.03em;margin:0;padding:1.5rem .5rem;font-size:.9rem}.chat-message{background:#1e293bd9;border:1px solid #0000;border-radius:16px;flex-direction:column;gap:.35rem;padding:.6rem .85rem;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.chat-message--self{background:#1e40af47;border-color:#3b82f699;align-self:flex-end;box-shadow:0 10px 24px #3b82f640}.chat-message__meta{color:#bfdbfebf;letter-spacing:.05em;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.75rem;display:flex}.chat-message__author{text-transform:uppercase;letter-spacing:.12em;font-weight:600}.chat-message__time{font-variant-numeric:tabular-nums;color:#94a3b8cc}.chat-message__text{white-space:pre-wrap;word-break:break-word;color:#e2e8f0f2;font-size:.95rem;line-height:1.4}.scoreboard-chat__composer{border-top:1px solid #94a3b833;flex-direction:row;align-items:flex-end;gap:.6rem;margin-top:auto;padding-top:.5rem;display:flex}.scoreboard-chat__input{color:#e2e8f0f2;resize:vertical;background:#0f172aa6;border:1px solid #47556999;border-radius:14px;align-content:center;width:100%;min-height:72px;padding:.65rem .85rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.scoreboard-chat__input:focus{border-color:#3b82f699;outline:none;box-shadow:0 0 0 2px #3b82f640}.scoreboard-chat__input:disabled{opacity:.55;cursor:not-allowed}.scoreboard-chat__actions{justify-content:flex-end;display:flex}.scoreboard-chat__send{color:#e2e8f0eb;letter-spacing:.06em;cursor:pointer;background:#3b82f64d;border:1px solid #3b82f673;border-radius:999px;padding:.45rem 1.1rem;font-weight:600;transition:background .2s,transform .2s,border-color .2s}.scoreboard-chat__send:hover:not(:disabled){background:#3b82f66b;border-color:#3b82f6b3;transform:translateY(-1px)}.scoreboard-chat__send:disabled{opacity:.45;cursor:not-allowed;transform:none}.scoreboard__player-info{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;min-width:0;display:flex}.scoreboard__player-main{flex-direction:row;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.scoreboard__player-label{letter-spacing:.03em;text-transform:none;flex:1;justify-content:flex-start;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.scoreboard__poke-button{color:#dbeafef2;cursor:pointer;background:#60a5fa29;border:none;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.25rem;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.scoreboard__poke-button:hover:not(:disabled){color:#eef2ff;background:#2563eb40;transform:translateY(-1px)}.scoreboard__poke-button:active:not(:disabled){transform:translateY(0)}.scoreboard__poke-button:disabled{opacity:.5;cursor:default}.scoreboard__poke-button svg{width:1.1rem;height:1.1rem}.scoreboard__score-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;transition:color .2s,transform .2s}.scoreboard__score-button:disabled{opacity:.6;cursor:default}.scoreboard__score-button:not(:disabled):hover{color:#818cf8f2;transform:translateY(-1px)}.scoreboard__score-button--active{color:#818cf8}.scoreboard__player-badge{color:#e2e8f0f2;letter-spacing:.04em;cursor:pointer;background:linear-gradient(135deg,#3b82f64d,#818cf873);border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;padding:0;font-family:inherit;font-size:.95rem;font-weight:700;transition:box-shadow .3s,transform .15s;display:inline-flex;box-shadow:0 8px 20px #3b82f633}.scoreboard__player-badge:hover:not(:disabled){transform:scale(1.08);box-shadow:0 10px 24px #3b82f659}.scoreboard__player-badge:active:not(:disabled){transform:scale(.98)}.scoreboard__player-badge:disabled{cursor:not-allowed;opacity:.6}.scoreboard__player-badge[data-connection-state=online]{--badge-glow-base:#10b98180;--badge-glow-strong:#2dd4bf99;--badge-glow-stronger:#6ee7b7bf;--badge-glow-shadow:#10b98159;--badge-glow-shadow-strong:#05966973;box-shadow:0 0 0 2px var(--badge-glow-base),0 0 16px var(--badge-glow-strong),0 3px 10px var(--badge-glow-shadow)}.scoreboard__player-badge[data-connection-state=away]{--badge-glow-base:#eab30880;--badge-glow-strong:#facc1599;--badge-glow-stronger:#fde047bf;--badge-glow-shadow:#eab30859;--badge-glow-shadow-strong:#ca8a0473;box-shadow:0 0 0 2px var(--badge-glow-base),0 0 16px var(--badge-glow-strong),0 3px 10px var(--badge-glow-shadow)}@keyframes pulse-badge-glow{0%,to{box-shadow:0 0 0 2px var(--badge-glow-base),0 0 16px var(--badge-glow-strong),0 3px 10px var(--badge-glow-shadow)}50%{box-shadow:0 0 0 2px var(--badge-glow-strong),0 0 24px var(--badge-glow-stronger),0 6px 16px var(--badge-glow-shadow-strong)}}.scoreboard__player--open .scoreboard__player-badge{color:#0f172abf;background:linear-gradient(135deg,#2dd4bf40,#3b82f640);box-shadow:0 0 0 1px #2dd4bf59,0 8px 18px #2dd4bf33}.scoreboard__player--reserved .scoreboard__player-badge{color:#431407d9;background:linear-gradient(135deg,#fbbf2447,#f973164d);box-shadow:0 0 0 1px #f9731659,0 8px 18px #fbbf2440}.scoreboard__player-name{text-transform:none;justify-content:center;align-items:center;gap:.5rem;min-width:0;font-size:.9rem;font-weight:600;display:inline-flex}.scoreboard__player-name-text{display:none}.scoreboard__players[data-player-count="3"][data-show-clock=true] .scoreboard__timer,.scoreboard__players[data-player-count="4"][data-show-clock=true] .scoreboard__timer{align-self:center}.scoreboard__winner-button,.scoreboard__winner-icon{justify-content:center;align-items:center;margin-left:.4rem;font-size:1.05rem;display:inline-flex}.scoreboard__winner-button{color:#facc15;cursor:pointer;background:#facc1526;border:1px solid #facc1573;border-radius:999px;padding:.2rem .45rem;line-height:1;transition:transform .2s,background .2s,box-shadow .2s}.scoreboard__winner-button:hover,.scoreboard__winner-button:focus{background:#facc1547;outline:none;transform:translateY(-1px);box-shadow:0 6px 14px #facc1559}.scoreboard__winner-button:focus-visible{box-shadow:0 0 0 3px #facc1573}.scoreboard__winner-icon{color:#facc15}.scoreboard__player-status{border-radius:999px;flex-shrink:0;width:.75rem;height:.75rem;transition:box-shadow .3s,transform .3s,opacity .3s;position:relative;box-shadow:0 0 0 1px #0f172aa6}.scoreboard__player-status:after{content:"";border-radius:inherit;opacity:.45;filter:blur(4px);pointer-events:none;position:absolute;top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.scoreboard__player-status--online{background:radial-gradient(circle at 30% 30%,#f0fdf4,#34d399 55%,#059669);box-shadow:0 0 0 1px #10b9818c,0 0 8px #10b981bf}.scoreboard__player-status--online:after{background:radial-gradient(circle,#10b981b3,#0000 70%)}.scoreboard__player-status--away{background:radial-gradient(circle at 30% 30%,#fffbeb,#facc15 55%,#d97706);box-shadow:0 0 0 1px #eab30899,0 0 8px #facc15bf}.scoreboard__player-status--away:after{background:radial-gradient(circle,#fbbf24a6,#0000 70%)}.scoreboard__player-status--offline{opacity:.95;background:radial-gradient(circle at 30% 30%,#fef2f2,#f87171 55%,#dc2626);box-shadow:0 0 0 1px #ef444480,0 0 8px #f87171a6}.scoreboard__player-status--offline:after{background:radial-gradient(circle,#f871718c,#0000 70%)}.scoreboard__player-status--unknown{opacity:.85;background:radial-gradient(circle at 30% 30%,#e2e8f0,#cbd5f5 55%,#94a3b8);box-shadow:0 0 0 1px #94a3b880,0 0 6px #94a3b88c}.scoreboard__player-status--unknown:after{background:radial-gradient(circle,#94a3b880,#0000 70%)}.scoreboard__timer{font-variant-numeric:tabular-nums;color:#bfdbfee6;font-weight:600}.scoreboard__timer--warning{color:#fbbf24}.scoreboard__timer--critical{color:#f87171}.scoreboard__timer--overtime{color:#fb7185}.scoreboard__timer-status{color:#bfdbfecc;text-align:center;width:100%;font-size:.85rem}.scoreboard .score{color:#bef2fff2;flex-shrink:0;font-size:1.35rem;font-weight:700}.player-last-move-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ad9;justify-content:center;align-items:center;padding:clamp(1rem,4vw,2rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.player-last-move-dialog{background:linear-gradient(145deg,#1e293bfa,#334155f2);border:1px solid #94a3b826;border-radius:24px;flex-direction:column;gap:1rem;width:min(90vw,500px);max-width:500px;padding:clamp(1.5rem,3vw,2rem);display:flex;box-shadow:0 32px 80px #0f172ab3}.player-last-move-dialog__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.player-last-move-dialog__title{color:#f8fafc;margin:0;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700}.player-last-move-dialog__close{flex-shrink:0}.player-last-move-dialog__content{min-height:4rem}.player-last-move-dialog__empty,.player-last-move-dialog__loading,.player-last-move-dialog__error{text-align:center;color:#94a3b8d9;padding:2rem 1rem;font-size:.95rem}.player-last-move-dialog__error{color:#f87171e6}.player-last-move-dialog__history{flex-direction:column;gap:.75rem;max-height:60vh;padding:.5rem;display:flex;overflow-y:auto}.player-last-move-dialog__move{background:#0f172a80;border:1px solid #94a3b81a;border-radius:12px;padding:.875rem;transition:all .2s}.player-last-move-dialog__move:hover{background:#0f172ab3;border-color:#94a3b833}.player-last-move-dialog__move-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.player-last-move-dialog__move-number{color:#94a3b8b3;min-width:2rem;font-size:.8rem;font-weight:600}.player-last-move-dialog__move-action{color:#f8fafc;flex:1;font-family:Courier New,monospace;font-size:.95rem;font-weight:500}.player-last-move-dialog__move-score{color:#22c55ee6;font-size:.9rem;font-weight:600}.player-last-move-dialog__move-total{color:#94a3b8d9;text-align:right;min-width:2.5rem;font-size:.85rem}.player-last-move-dialog__move-rack{color:#94a3b8b3;border-top:1px solid #94a3b81a;margin-top:.5rem;padding-top:.5rem;font-family:Courier New,monospace;font-size:.85rem}.player-stats-dialog{z-index:1000;background:#0f172af2;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.player-stats-dialog__content{background:linear-gradient(145deg,#1e293bfa,#334155f2);border:1px solid #94a3b826;border-radius:24px;flex-direction:column;width:min(90vw,600px);max-width:600px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 32px 80px #0f172ab3}.player-stats-dialog__header{border-bottom:1px solid #94a3b826;justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1.5rem,3vw,2rem);display:flex}.player-stats-dialog__title{color:#f8fafc;margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.player-stats-dialog__close{flex-shrink:0}.player-stats-dialog__tabs{background:#1e293b;border-bottom:2px solid #334155;gap:0;display:flex}.player-stats-dialog__tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:1rem;font-size:1rem;font-weight:500;transition:all .2s}.player-stats-dialog__tab:hover{color:#e2e8f0;background:#2d3748}.player-stats-dialog__tab--active{color:#f8fafc;background:#2d3748;border-bottom-color:#3b82f6}.player-stats-dialog__body{flex:1;padding:clamp(1.5rem,3vw,2rem);overflow-y:auto}.player-stats-dialog__loading,.player-stats-dialog__error{text-align:center;color:#94a3b8d9;padding:3rem 1rem;font-size:1rem}.player-stats-dialog__error{color:#f87171e6}.player-stats-dialog__empty{text-align:center;color:#94a3b8d9;padding:3rem 1rem}.player-stats-dialog__empty p{margin:0 0 1rem;font-size:1rem}.player-stats-dialog__hint{color:#94a3b8b3;font-size:.875rem}.player-stats-dialog__summary{background:#0f172a80;border:1px solid #94a3b81a;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.player-stats-dialog__record{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.player-stats-dialog__record-label{color:#94a3b8d9;font-size:.95rem}.player-stats-dialog__record-value{color:#f8fafc;font-size:1.25rem;font-weight:700}.player-stats-dialog__winrate{color:#94a3b8d9;font-size:.95rem}.player-stats-dialog__section-title{color:#f8fafc;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.player-stats-dialog__ratings{margin-bottom:2rem}.player-stats-dialog__rating{background:#0f172a80;border:1px solid #94a3b81a;border-radius:12px;margin-bottom:.75rem;padding:1rem}.player-stats-dialog__rating-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.player-stats-dialog__rating-name{color:#f8fafc;font-size:.95rem;font-weight:600}.player-stats-dialog__rating-games{color:#94a3b8b3;font-size:.85rem}.player-stats-dialog__rating-value{color:#818cf8;font-size:1.5rem;font-weight:700}.player-stats-dialog__match-list{flex-direction:column;gap:.75rem;display:flex}.player-stats-dialog__match{background:#0f172a80;border:1px solid #94a3b81a;border-radius:12px;padding:1rem;transition:all .2s}.player-stats-dialog__match--win{border-left:3px solid #22c55eb3}.player-stats-dialog__match--loss{border-left:3px solid #f87171b3}.player-stats-dialog__match--draw{border-left:3px solid #94a3b8b3}.player-stats-dialog__match:hover{background:#0f172ab3;border-color:#94a3b833}.player-stats-dialog__match-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.player-stats-dialog__match-result{text-align:center;width:1.5rem;font-size:1.25rem;font-weight:700}.player-stats-dialog__match--win .player-stats-dialog__match-result{color:#22c55ee6}.player-stats-dialog__match--loss .player-stats-dialog__match-result{color:#f87171e6}.player-stats-dialog__match--draw .player-stats-dialog__match-result{color:#94a3b8d9}.player-stats-dialog__match-opponents{color:#f8fafc;flex:1;font-size:.95rem}.player-stats-dialog__match-date{color:#94a3b8b3;font-size:.85rem}.player-stats-dialog__match-details{color:#94a3b8d9;flex-wrap:wrap;align-items:center;gap:1rem;padding-left:2.25rem;font-size:.875rem;display:flex}.player-stats-dialog__match-score,.player-stats-dialog__match-rating-change{color:#94a3b8d9}.player-stats-dialog__rating-up{color:#22c55ee6;font-weight:600}.player-stats-dialog__rating-down{color:#f87171e6;font-weight:600}.player-stats-dialog__current-game{border-top:2px solid #94a3b826;margin-top:2rem;padding-top:2rem}.player-stats-dialog__loading-moves,.player-stats-dialog__empty-moves{text-align:center;color:#94a3b8b3;padding:2rem 1rem;font-size:.95rem}.player-stats-dialog__move-history{flex-direction:column;gap:.75rem;display:flex}.player-stats-dialog__game-move{background:#0f172a80;border:1px solid #94a3b81a;border-radius:12px;padding:.875rem;transition:all .2s}.player-stats-dialog__game-move:hover{background:#0f172ab3;border-color:#94a3b833}.player-stats-dialog__game-move-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.player-stats-dialog__game-move-number{color:#94a3b8b3;min-width:2rem;font-size:.8rem;font-weight:600}.player-stats-dialog__game-move-action{color:#f8fafc;flex:1;font-family:Courier New,monospace;font-size:.95rem;font-weight:500}.player-stats-dialog__game-move-score{color:#22c55ee6;font-size:.9rem;font-weight:600}.player-stats-dialog__game-move-total{color:#94a3b8d9;text-align:right;min-width:2.5rem;font-size:.85rem}.player-stats-dialog__game-move-rack{color:#94a3b8b3;border-top:1px solid #94a3b81a;margin-top:.5rem;padding-top:.5rem;font-family:Courier New,monospace;font-size:.85rem}.scoreboard-footer{box-sizing:border-box;background:#0f172ab8;border:1px solid #94a3b859;border-radius:.85rem;flex-direction:row-reverse;justify-content:space-between;align-items:stretch;height:96px;padding:0 .75rem;display:flex;box-shadow:inset 0 0 20px #1e40af2e,0 12px 24px #080f2359}.scoreboard-footer__meta{text-align:right;flex-direction:column;flex:none;justify-content:space-evenly;align-items:flex-end;gap:.5rem;height:100%;display:flex}.scoreboard-footer__bag-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8e6;font-size:.75rem;font-weight:600}.scoreboard-footer__actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.scoreboard-footer__button{box-shadow:0 6px 16px #2563eb40}.scoreboard-footer__button.scoreboard-help--active{box-shadow:0 18px 36px #3b82f659}.scoreboard-footer__status{flex:1 1 0;justify-content:flex-start;align-items:stretch;width:100%;min-width:0;display:flex}.scoreboard-footer__status>*{width:100%}.move-status{color:#e2e8f0eb;text-align:left;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;width:100%;min-width:0;padding:.35rem .65rem;font-size:.95rem;display:flex;position:relative;overflow:hidden}.move-status.move-status--last{padding-left:0}@keyframes challengeSuccessPulse{0%{background:#22c55e1f;transform:scale(.95);box-shadow:0 0 #22c55e4d}22%{background:#22c55e40;transform:scale(1.06)rotate(-1deg);box-shadow:0 0 28px #22c55e59}48%{background:#22c55e2e;transform:scale(.98)rotate(1deg);box-shadow:0 0 16px #22c55e40}74%{background:#22c55e33;transform:scale(1.02);box-shadow:0 0 20px #22c55e33}to{background:#22c55e00;transform:scale(1);box-shadow:0 0 #22c55e00}}@keyframes challengeSuccessSparkles{0%{opacity:0;transform:scale(.6)rotate(-15deg)}25%{opacity:.9;transform:scale(.85)rotate(-5deg)}60%{opacity:.75;transform:scale(1)rotate(0)}to{opacity:0;transform:scale(1.25)rotate(12deg)}}@keyframes challengeFailedShake{0%,to{transform:translate(0)}10%{transform:translate(-6px)rotate(-1.5deg)}20%{transform:translate(6px)rotate(1.5deg)}30%{transform:translate(-5px)rotate(-1deg)}40%{transform:translate(5px)rotate(1deg)}55%{transform:translate(-3px)rotate(-.5deg)}70%{transform:translate(3px)rotate(.5deg)}85%{transform:translate(-1px)rotate(-.2deg)}}@keyframes challengeFailedFlash{0%{opacity:0}12%{opacity:.9}42%{opacity:.35}72%{opacity:.75}to{opacity:0}}.move-status--challenge-success{animation:2s ease-out both challengeSuccessPulse}.move-status--challenge-success:after{content:"";filter:blur(.3px);opacity:0;pointer-events:none;background:radial-gradient(circle at 20% 30%,#facc1566,#0000 55%),radial-gradient(circle at 70% 20%,#60a5fa59,#0000 50%),radial-gradient(circle at 40% 75%,#34d39966,#0000 60%);animation:2s ease-out both challengeSuccessSparkles;position:absolute;top:-45%;right:-45%;bottom:-45%;left:-45%}.move-status--challenge-failed{background:#f8717124;animation:2s ease-in-out both challengeFailedShake;box-shadow:inset 0 0 0 1px #f8717140}.move-status--challenge-failed:after{content:"";opacity:0;pointer-events:none;border:2px solid #f8717173;border-radius:.6rem;animation:2s ease-in-out both challengeFailedFlash;position:absolute;top:.35rem;right:.35rem;bottom:.35rem;left:.35rem}.move-status__header{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8e6;flex-wrap:wrap;align-items:baseline;gap:.4rem;width:100%;font-size:.75rem;display:flex}.move-status__label{font-weight:600}.move-status__player{letter-spacing:.05em;color:#e2e8f0f2;min-width:0;font-size:.85rem;font-weight:700}.move-status__meta{color:#bfdbfee6;align-items:baseline;gap:.6rem;width:100%;font-size:.9rem;display:flex}.move-status__action{text-transform:capitalize;min-width:0}.move-status__total{color:#facc15;text-shadow:0 0 10px #facc1573;white-space:nowrap;font-size:1.2rem;font-weight:700}.move-status__analysis{color:#94a3b8d9;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.85rem;font-weight:600}.move-status__words{flex-wrap:nowrap;justify-content:center;gap:.35rem .85rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.move-status__word{color:#e2e8f0f2;background:#3b82f626;border-radius:.5rem;align-items:baseline;gap:.3rem;padding:.25rem .5rem;font-weight:600;display:flex}.move-status__word-score{color:#94a3b8e6;font-size:.75rem;font-weight:500}.move-status--preview{gap:.2rem}.move-status--preview .move-status__words{flex-wrap:wrap;justify-content:center;gap:.5rem;overflow-x:visible}.move-status--preview .move-status__word{gap:.25rem;background:0 0!important;border-radius:0!important;padding:0!important}.move-status--preview .move-status__word--invalid{background:0 0!important}.move-status__word--invalid{color:#fecaca;background:#f8717126;text-decoration:line-through}.move-status__word-indicator{font-size:1rem}.move-status__bingo{color:#bef264;text-transform:uppercase;font-size:.9em;font-weight:700}.move-status__note{color:#f87171e6;font-size:.75rem}.move-status__detail{color:#bfdbfed9;font-size:.9rem}.move-status__detail--definitions{flex-wrap:wrap;align-items:baseline;gap:.25rem;display:inline-flex;position:relative}.move-status__definition-challenge{color:#e2e8f0eb;background:#0f172a99;border:1px solid #94a3b859;border-radius:.65rem;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:.75rem;display:flex}.move-status__definition-challenge-title{color:#bfdbfef2;font-size:.95rem;font-weight:600}.move-status__definition-challenge-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.move-status__definition-challenge-item{grid-template-columns:auto 1fr auto;align-items:flex-start;gap:.5rem;font-size:.85rem;display:grid}.move-status__definition-challenge-index{color:#94a3b8d9;font-weight:600}.move-status__definition-challenge-text{line-height:1.4}.move-status__definition-challenge-badges{flex-wrap:wrap;gap:.35rem;display:inline-flex}.move-status__definition-challenge-badge{text-transform:uppercase;letter-spacing:.04em;color:#e2e8f0e6;background:#94a3b833;border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-flex}.move-status__definition-challenge-badge--correct{color:#86efacf2;background:#86efac38}.move-status__definition-challenge-badge--selected{color:#a5b4fc;background:#818cf838}.move-status__definition-challenge-badge--missed{color:#f87171f2;background:#f8717138}.move-status__definition-challenge-outcome{color:#94a3b8d9;font-size:.8rem}.move-status__definition-entry{align-items:baseline;display:inline-flex}.move-status__definition-inline{color:#bfdbfed9;flex-wrap:wrap;align-items:baseline;gap:.45rem;margin-top:.25rem;font-size:.85rem;line-height:1.2;display:inline-flex}.move-status__definition-inline-status{color:inherit;font-weight:600}.move-status__definition-inline-status--success{color:#86efacf2}.move-status__definition-inline-status--failed{color:#f87171e6}.move-status__definition-inline-status--error{color:#facc15f2}.move-status__definition-inline-status--pending{color:#a5b4fcf2}.move-status__definition-inline-button{color:#a5b4fcf2;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-size:.75rem;font-weight:600;transition:color .12s;display:inline-flex}.move-status__definition-inline-button:hover,.move-status__definition-inline-button:focus-visible{color:#bfdbfefa;outline:none}.move-status__definition-inline-button:active{color:#6366f1eb}.definition-challenge-details-overlay{z-index:4050;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030712cc;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.definition-challenge-details-dialog{color:#e2e8f0;background:linear-gradient(165deg,#0f172af2,#1e293beb);border:1px solid #94a3b847;border-radius:1rem;flex-direction:column;width:min(460px,100%);max-height:min(90vh,600px);display:flex;overflow:hidden;box-shadow:0 32px 60px #02061773,0 14px 32px #0f172a66}.definition-challenge-details-header{border-bottom:1px solid #94a3b82e;justify-content:space-between;align-items:center;padding:1.1rem 1.35rem;display:flex}.definition-challenge-details-title{color:#bfdbfefa;margin:0;font-size:1.1rem;font-weight:700}.definition-challenge-details-close{color:#bfdbfed9;cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.1rem .35rem;font-size:1.6rem;line-height:1}.definition-challenge-details-close:hover,.definition-challenge-details-close:focus-visible{color:#e2e8f0f2;background:#1e293ba6;outline:none}.definition-challenge-details-body{padding:1.15rem 1.5rem 1.5rem;overflow-y:auto}.definition-challenge-overlay{z-index:4000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030712c7;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.definition-challenge-dialog{color:#e2e8f0;background:linear-gradient(165deg,#0f172af2,#1e293beb);border:1px solid #94a3b847;border-radius:1rem;flex-direction:column;width:min(480px,100%);max-height:min(90vh,640px);animation:.18s ease-out definition-challenge-pop;display:flex;overflow:hidden;box-shadow:0 30px 60px #02061773,0 10px 25px #0f172a66}.definition-challenge__header{border-bottom:1px solid #94a3b82e;flex-direction:column;gap:.6rem;padding:1.25rem 1.5rem 1rem;display:flex}.definition-challenge__title{color:#bfdbfefa;margin:0;font-size:1.25rem;font-weight:700}.definition-challenge__meta{color:#94a3b8eb;margin:0;font-size:.95rem}.definition-challenge__instructions{color:#818cf8f2;margin:0;font-size:.95rem;font-weight:500}.definition-challenge__body{flex-direction:column;gap:1rem;padding:1rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.definition-challenge__loading{color:#bfdbfeeb;background:#1e293ba6;border:1px solid #94a3b82e;border-radius:.75rem;align-items:center;gap:.75rem;padding:1rem;display:flex}.definition-challenge__hint{color:#94a3b8e0;margin:0;font-size:.85rem}.definition-challenge__options{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.definition-challenge__option{width:100%}.challenge-opponent__option{width:100%;padding:0}.challenge-opponent__option:focus-visible .definition-challenge__option-button{outline-offset:3px;outline:2px solid #f87171b3}.challenge-opponent__option .definition-challenge__option-button{width:100%}.definition-challenge__option-button{color:#e2e8f0f5;text-align:left;cursor:pointer;background:#1e293bb3;border:1px solid #0000;border-radius:.85rem;grid-template-columns:auto 1fr;align-items:center;gap:.9rem;width:100%;padding:.9rem 1rem;font-size:.95rem;font-weight:500;transition:transform .14s,border-color .14s,box-shadow .14s,background .14s;display:grid}.definition-challenge__option-button:hover:not([disabled]){background:#2e3b4fbf;border-color:#818cf873;transform:translateY(-1px);box-shadow:0 10px 18px #0f172a52}.definition-challenge__option-button:focus-visible{outline-offset:2px;outline:2px solid #a5b4fccc}.definition-challenge__option-button[disabled]{cursor:default;opacity:.75}.definition-challenge__option-button--selected{background:linear-gradient(160deg,#4f46e547,#1e293bd9);border-color:#818cf8a6;box-shadow:0 12px 22px #4f46e538}.definition-challenge__option-button--pending{background:linear-gradient(160deg,#eab30842,#1e293bd9);border-color:#facc1599;box-shadow:0 12px 22px #eab30838}.definition-challenge-confirm-overlay{z-index:4100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#030712d1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.definition-challenge-confirm{color:#e2e8f0fa;background:linear-gradient(175deg,#1e293bfa,#0f172af0);border:1px solid #818cf847;border-radius:1rem;flex-direction:column;gap:1rem;width:min(360px,100%);padding:1.5rem;animation:.16s ease-out definition-challenge-pop;display:flex;box-shadow:0 28px 60px #02061780,0 12px 30px #1e293b73}.definition-challenge-confirm__title{color:#bfdbfefa;margin:0;font-size:1.1rem;font-weight:700}.definition-challenge-confirm__word{letter-spacing:.08em;color:#94a3b8f2;margin:0;font-size:.9rem;font-weight:600}.definition-challenge-confirm__definition{color:#e2e8f0f2;white-space:pre-line;background:#1e293bc7;border:1px solid #94a3b833;border-radius:.85rem;margin:0;padding:.9rem 1rem;font-size:.95rem;line-height:1.45}.definition-challenge-confirm__actions{justify-content:flex-end;gap:.75rem;display:flex}.definition-challenge-confirm__button{color:#e2e8f0f5;cursor:pointer;background:#334155cc;border:1px solid #0000;border-radius:.75rem;min-width:0;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s}.definition-challenge-confirm__button:focus-visible{outline-offset:2px;outline:2px solid #a5b4fcd9}.definition-challenge-confirm__button:hover{transform:translateY(-1px);box-shadow:0 12px 20px #0f172a59}.definition-challenge-confirm__button--cancel{background:#1e293bb8;border-color:#94a3b82e}.definition-challenge-confirm__button--cancel:hover{background:#334155d1}.definition-challenge-confirm__button--confirm{background:linear-gradient(150deg,#4f46e5cc,#6366f1f2);border-color:#818cf8a6;box-shadow:0 14px 28px #4f46e552}.definition-challenge-confirm__button--confirm:hover{background:linear-gradient(150deg,#6366f1eb,#818cf8fa)}.definition-challenge__option-index{color:#bfdbfef5;background:#0f172acc;border:1px solid #94a3b840;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;font-weight:700;display:inline-flex}.definition-challenge__option-text{flex-direction:column;align-items:flex-start;gap:.35rem;line-height:1.45;display:flex}.challenge-opponent__name-row{align-items:center;gap:.5rem;display:flex}.challenge-opponent__name{letter-spacing:.01em;font-weight:600}.challenge-opponent__badge{letter-spacing:.08em;text-transform:uppercase;color:#bfdbfef5;background:#3b82f638;border-radius:999px;justify-content:center;align-items:center;padding:.15rem .55rem;font-size:.7rem;line-height:1;display:inline-flex}.challenge-opponent__words{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8e6;font-size:.85rem}.definition-challenge__footer{border-top:1px solid #94a3b826;justify-content:center;margin-top:1.5rem;padding-top:1.5rem;display:flex}.definition-challenge__cancel-button{color:#e2e8f0eb;cursor:pointer;background:#1e293bbf;border:1px solid #94a3b859;border-radius:.5rem;padding:.65rem 1.75rem;font-size:.95rem;font-weight:600;transition:background-color .18s,border-color .18s,transform 90ms;box-shadow:0 2px 6px #0f172a40}.definition-challenge__cancel-button:hover:not([disabled]){background:#334155d9;border-color:#94a3b873;transform:translateY(-1px);box-shadow:0 4px 10px #0f172a59}.definition-challenge__cancel-button:active:not([disabled]){transform:translateY(0);box-shadow:0 1px 3px #0f172a4d}.definition-challenge__cancel-button:focus-visible{outline-offset:2px;outline:2px solid #bfdbfebf}.definition-challenge__cancel-button[disabled]{opacity:.5;cursor:not-allowed}@keyframes definition-challenge-pop{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.move-status__word-button{font:inherit;color:inherit;cursor:pointer;text-underline-offset:.15em;background:0 0;border:0;margin:0 4px 0 0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .12s ease-in-out}.move-status__word-button:hover,.move-status__word-button:focus-visible{color:#bfdbfe}.move-status__word-button:focus-visible{outline-offset:2px;outline:2px solid #bfdbfecc}.move-status__word-score{color:#bfdbfea6;font-weight:500}.move-status__word-separator{color:#94a3b899}.word-definition-popover{color:#e2e8f0;z-index:12;background:#0f172af2;border:1px solid #94a3b859;border-radius:.65rem;min-width:220px;max-width:260px;padding:.75rem .85rem;position:fixed;box-shadow:0 12px 28px #0f172a73}.word-definition-popover--centered{top:50%;left:50%;transform:translate(-50%,-50%)}.word-definition-popover__header{color:#bfdbfe;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;display:flex}.word-definition-popover__title{font-size:1rem;line-height:1.2}.word-definition-popover__body{color:#e2e8f0f2;font-size:.85rem;line-height:1.4}.word-definition-popover__actions{flex-direction:column;align-items:center;gap:.35rem;margin-top:.65rem;display:flex}.word-definition-popover__action{color:#e2e8f0f2;cursor:pointer;background:#1e293bcc;border:1px solid #94a3b880;border-radius:999px;width:fit-content;min-height:24px;padding:.15rem .55rem;font-size:.7rem;font-weight:600;transition:background-color .12s ease-in-out,border-color .12s ease-in-out,color .12s ease-in-out}.word-definition-popover__action:hover,.word-definition-popover__action:focus-visible{color:#bfdbfe;border-color:#bfdbfee6}.word-definition-popover__action:focus-visible{outline-offset:2px;outline:2px solid #bfdbfeb3}.word-definition-popover__action[disabled]{opacity:.55;cursor:not-allowed}.word-definition-popover__status{color:#94a3b8d9;font-size:.75rem}.word-definition-popover__status--success{color:#bef264e6}.word-definition-popover__status--info{color:#93c5fdf2}.word-definition-popover__status--error{color:#fca5a5f2}.word-definition-popover__close{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9999px;place-items:center;width:2.25rem;height:2.25rem;font-size:1.35rem;line-height:1;transition:background-color .12s ease-in-out;display:grid}.word-definition-popover__close:hover,.word-definition-popover__close:focus-visible{background-color:#94a3b833}.move-status--error{color:#fecaca;font-weight:600}.move-status--info{color:#bfdbfeeb}.move-status--success{color:#bbf7d0;font-weight:600}.move-status--preview .move-status__header{color:#94a3b8f2}.move-status--preview-invalid .move-status__total{color:#f97316;text-shadow:0 0 10px #f9731666}.scoreboard{gap:.5rem}.scoreboard__header{flex-direction:column;gap:.5rem}.scoreboard h2{text-align:center}.scoreboard__players::-webkit-scrollbar{height:6px}.scoreboard__players::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:999px}@media (max-width:640px){.scoreboard-chat__toggle{padding:.55rem .85rem}.scoreboard-chat__panel{padding:.75rem}.scoreboard .move-status__words{flex-wrap:wrap;gap:.5rem;overflow-x:visible;flex-direction:row!important}.scoreboard .move-status__word{gap:.25rem;background:0 0!important;border-radius:0!important;padding:0!important}.scoreboard .move-status__word--invalid{background:0 0!important}}.scoreboard-help{color:#bfdbfef2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3b82f62e;border:1px solid #94a3b84d;border-radius:.75rem;flex-shrink:0}.scoreboard-help--active{color:#0f172a;background:linear-gradient(135deg,#3b82f6a6,#818cf8d9)}.dictionary-popover{z-index:120;background:#0f172afa;border:1px solid #94a3b847;border-radius:26px;flex-direction:column;width:min(640px,90vw);max-height:min(72vh,560px);margin-top:0;padding:1.25rem 1.5rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 48px #080f2399}.dictionary-popover__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dictionary-popover__header-buttons{align-items:center;gap:.5rem;display:flex}.dictionary-popover__title{letter-spacing:.12em;text-transform:uppercase;color:#bfdbfee6;font-size:.85rem}.dictionary-popover__subtitle{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8d9;margin-top:.4rem;font-size:.75rem}.dictionary-popover__content{flex:auto;min-height:0;margin-top:.85rem;padding-right:.35rem;overflow-y:auto}.dictionary-popover__grid{column-count:8;column-fill:balance;color:#e2e8f0f2;column-gap:1.15rem;font-size:1.25rem}.dictionary-popover__grid span{letter-spacing:.18em;text-align:left;break-inside:avoid;margin-bottom:.35rem;display:block}.dictionary-popover__status{text-align:center;color:#e2e8f0d9;margin:0;font-size:.9rem}.dictionary-popover__status--error{color:#f87171e6}.dictionary-popover__close{color:#e2e8f0f2;background:#1e293bd9}.dictionary-popover__close:hover{background:#3b82f640}.dictionary-popover__sort{color:#e2e8f0f2;background:#1e293bd9}.dictionary-popover__sort:hover{background:#3b82f640}.bag-popover{z-index:130;background:radial-gradient(circle at top,#1e293bf5,#0f172afa);border:1px solid #94a3b847;border-radius:30px;flex-direction:column;gap:.6rem;width:min(500px,90vw);padding:1.4rem 1.6rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 60px #080f23a6}.bag-popover__header{justify-content:space-between;align-items:center;display:flex}.bag-popover__title{letter-spacing:.14em;text-transform:uppercase;color:#bfdbfeeb;font-size:.9rem}.bag-popover__subtitle{letter-spacing:.12em;text-transform:uppercase;color:#94a3b8d9;font-size:.78rem}.bag-popover__content{flex:auto;min-height:0;padding-right:.15rem;overflow-y:auto}.bag-popover__grid{grid-template-columns:repeat(10,1fr);align-content:start;justify-items:center;gap:.1rem;padding-right:.1rem;display:grid}.bag-popover__tile{aspect-ratio:1;justify-content:center;align-items:center;width:100%;display:flex}.bag-popover__tile-inner{aspect-ratio:1;justify-content:center;align-items:center;width:min(72px,100%);display:flex;container-type:inline-size}.bag-popover__status{text-align:center;color:#bfdbfed9;margin:0;font-size:.9rem}.bag-popover__close{color:#e2e8f0f2;background:#1e293bd9}.bag-popover__close:hover{color:#e2e8f0fa;background:#38bdf838}.drag-overlay-wrapper{pointer-events:none;justify-content:center;align-items:center;transition:width .2s ease-out,height .2s ease-out;display:flex;position:relative;container-type:inline-size;cursor:grabbing!important}.drag-overlay-wrapper--rack{width:clamp(44px,13vw,110px);height:clamp(44px,13vw,110px)}@media (min-width:600px) and (max-width:1024px){.drag-overlay-wrapper--rack{width:clamp(70px,10vw,95px);height:clamp(70px,10vw,95px)}}.drag-overlay-wrapper--board{width:calc(min(75vh,98vmin,100vw)/15);min-width:2rem;height:calc(min(75vh,98vmin,100vw)/15);min-height:2rem}.tile--drag-overlay{opacity:.62;color:#0f172a;background:linear-gradient(150deg,#f8fafceb,#94a3b8e0);border:1px solid #94a3b873;width:100%;height:100%;transition:width .12s,height .12s;box-shadow:0 14px 42px #60a5fa73;container-type:inline-size;cursor:grabbing!important}.drag-overlay-wrapper--board .tile--drag-overlay{box-shadow:0 18px 48px #1e40af66,0 0 0 1px #3b82f659}.drag-overlay-wrapper--rack .tile--drag-overlay{box-shadow:0 12px 36px #3b82f659,0 0 0 1px #94a3b866}.notification-button-wrapper{justify-content:center;align-items:center;padding:.5rem 0;display:flex}.notification-button{cursor:pointer;color:#bfdbfef2;background:#3b82f633;border:1px solid #3b82f666;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.notification-button:not(:disabled):hover{background:#3b82f64d;transform:translateY(-1px);box-shadow:0 8px 16px #3b82f640}.notification-button:disabled{opacity:.6;cursor:not-allowed}.notification-button--enabled{color:#bbf7d0f2;background:#22c55e33;border-color:#22c55e66}.notification-button--enabled:not(:disabled):hover{background:#22c55e4d;box-shadow:0 8px 16px #22c55e40}.notification-button--denied{color:#fee2e2cc;cursor:not-allowed;background:#f8717126;border-color:#f871714d}.notification-button__icon{font-size:1.1em;line-height:1}.notification-button__text{letter-spacing:.02em;font-size:.85rem}@media (max-width:640px){.notification-button{padding:.5rem 1rem;font-size:.85rem}.notification-button__text{font-size:.8rem}}.notification-icon-button{cursor:pointer;color:#94a3b8f2;background:#47556966;border:1px solid #64748b66;border-radius:18px;justify-content:center;align-items:center;width:clamp(44px,6vw,64px);height:clamp(44px,6vw,64px);font-size:1.5rem;transition:all .2s;display:flex;box-shadow:0 8px 16px #0f172a59}.notification-icon-button:not(:disabled):hover{background:#64748b73;transform:translateY(-1px);box-shadow:0 12px 24px #47556959}.notification-icon-button:disabled{opacity:.55;cursor:not-allowed}.notification-icon-button--inactive{color:#94a3b8d9;background:#1e293ba6;border-color:#64748b59}.notification-icon-button--inactive:not(:disabled):hover{background:#3341558c}.notification-icon-button--enabled{color:#bbf7d0f2;background:#22c55e40;border-color:#22c55e66}.notification-icon-button--enabled:not(:disabled):hover{background:#22c55e59;box-shadow:0 12px 24px #22c55e59}.notification-icon-button--denied{color:#fee2e2cc;cursor:not-allowed;background:#f8717126;border-color:#f871714d}.notification-icon-button--unavailable{background:#3341558c;border-style:dashed}.header-refresh-button{cursor:pointer;color:#94a3b8f2;background:#47556966;border:1px solid #64748b66;border-radius:18px;justify-content:center;align-items:center;width:clamp(44px,6vw,64px);height:clamp(44px,6vw,64px);transition:all .2s;display:flex;box-shadow:0 8px 16px #0f172a59}.header-refresh-button:hover{background:#64748b73;transform:translateY(-1px)rotate(90deg);box-shadow:0 12px 24px #47556959}.header-refresh-button:active{transform:translateY(0)rotate(180deg)}.notification-icon{justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:opacity .2s,color .2s,transform .2s;display:inline-flex;position:relative}.notification-icon--on{color:#f8fafcf2;text-shadow:0 0 8px #22c55ea6}.notification-icon--off{color:#94a3b8cc;filter:grayscale(.4)}.notification-icon--blocked{color:#94a3b88c;filter:grayscale()}.notification-icon--blocked:after{content:"⛔";color:#f87171a6;text-shadow:0 0 4px #0f172ab3;font-size:.9em;position:absolute}.connection-status,.connection-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.connection-status__spinner{margin-bottom:1.5rem}.spinner{border:4px solid #818cf833;border-top-color:#818cf8cc;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.connection-status__text{color:#e2e8f0e6;margin-bottom:.5rem;font-size:1.1rem}.connection-status__hint{color:#e2e8f099;max-width:400px;font-size:.9rem}.game-loading-overlay{z-index:1200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at top,#1e293bd1,#0f172aeb);justify-content:center;align-items:center;padding:2rem;animation:.25s forwards fade-in-overlay;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.game-loading-overlay__content{background:#0f172abf;border:1px solid #818cf840;border-radius:28px;flex-direction:column;align-items:center;gap:1.5rem;padding:clamp(2rem,6vw,3rem);display:flex;box-shadow:0 24px 64px #0f172a73,inset 0 0 0 1px #94a3b814}.game-loading-overlay__spinner{border:5px solid #818cf826;border-top-color:#818cf8cc;border-radius:50%;width:64px;height:64px;animation:1s linear infinite spin}.game-loading-overlay__text{letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0d9;margin:0;font-size:1.1rem;font-weight:600}@keyframes fade-in-overlay{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.connection-error__content{background:#1e293bb3;border:1px solid #f871714d;border-radius:24px;max-width:500px;padding:2rem;box-shadow:0 12px 24px #080f234d}.connection-error h2{color:#fecacaf2;margin:0 0 1rem;font-size:1.5rem}.connection-error p{color:#e2e8f0d9;margin:.75rem 0;line-height:1.6}.connection-error__details{color:#e2e8f0f2;margin-top:1.5rem;font-weight:600}.connection-error ul{text-align:left;margin:.5rem 0;padding:0;list-style:none}.connection-error li{color:#e2e8f0bf;padding:.35rem 0}.connection-error li:before{content:"• ";color:#f87171b3;margin-right:.5rem;font-weight:700}.connection-error__hint{color:#bfdbfecc;margin-top:1.5rem;font-style:italic}@keyframes updateBannerGlow{0%,to{box-shadow:0 24px 60px #02061773,0 0 20px #3b82f64d,0 0 40px #3b82f626}50%{box-shadow:0 24px 60px #02061773,0 0 30px #6366f166,0 0 60px #6366f133}}.update-banner{color:#f8fafc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:950;background:#0f172aeb;border:1px solid #94a3b859;border-radius:.75rem;flex-direction:row;align-items:center;gap:.75rem;min-width:400px;max-width:90vw;padding:1rem 1.5rem;animation:3s ease-in-out infinite updateBannerGlow;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@media (max-width:640px){.update-banner{min-width:unset;width:calc(100vw - 2rem);max-width:unset}}.update-banner--busy{background:#1e293bf2;border-color:#94a3b880}.update-banner__message{letter-spacing:.01em;text-align:center;font-size:.95rem;font-weight:500}.update-banner__buttons{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.update-banner__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:#0f172a;white-space:nowrap;background:linear-gradient(135deg,#38bdf8,#6366f1);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.7rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 12px 32px #3b82f659}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-banner__icon{flex-shrink:0;width:1.1rem;height:1.1rem}.update-banner__button:disabled .update-banner__icon{animation:1s linear infinite iconSpin}.update-banner__button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 40px #4f46e573}.update-banner__button:disabled{opacity:.7;cursor:default;box-shadow:none}.update-banner__button--secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fffffff2;background:#ffffff26;border:1px solid #ffffff40;padding:.7rem 1.25rem;font-weight:500;box-shadow:0 4px 12px #0000001a}.update-banner__button--secondary:hover:not(:disabled){background:#ffffff40;transform:translateY(-1px);box-shadow:0 6px 16px #00000026}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-fade-in{animation:1s ease-out fade-in}.scoreboard-word-popover{z-index:40;background:#0f172afa;border-radius:16px;flex-direction:column;gap:.75rem;width:min(320px,90vw);max-height:min(70vh,28rem);padding:1rem;display:flex;position:absolute;top:2.5rem;right:2rem;box-shadow:0 20px 35px #080f2373}.scoreboard-word-popover__header-buttons{align-items:center;gap:.35rem;display:flex}.scoreboard-word-popover__resize-handle{cursor:ns-resize;touch-action:none;justify-content:center;align-items:center;width:100%;height:24px;margin-top:-.5rem;margin-bottom:-.25rem;display:flex}.scoreboard-word-popover__resize-bar{background:#94a3b866;border-radius:2px;width:40px;height:4px;transition:background .2s}.scoreboard-word-popover__resize-handle:hover .scoreboard-word-popover__resize-bar,.scoreboard-word-popover__resize-handle:active .scoreboard-word-popover__resize-bar{background:#94a3b8cc}.scoreboard-word-popover__content{flex:auto;min-height:0;padding-right:.2rem;overflow-y:auto}.scoreboard-word-popover__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.scoreboard-word-popover__title{color:#e2e8f0f2;font-size:.95rem;font-weight:600}.scoreboard-word-popover__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.scoreboard-word-popover__item{color:#e2e8f0e6;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;font-size:.9rem;display:grid}.scoreboard-word-popover__move{color:#94a3b8e6;font-weight:600}.scoreboard-word-popover__word-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;transition:color .12s;position:relative}.scoreboard-word-popover__word-button:hover,.scoreboard-word-popover__word-button:focus-visible{color:#f8fafcfa;outline:none;text-decoration:underline}.scoreboard-word-popover__word-button:disabled{cursor:default;color:#94a3b8b3;text-decoration:none}.scoreboard-word-popover__definition-button{color:#94a3b8e6;cursor:pointer;background:#1e293ba6;border:1px solid #94a3b866;border-radius:999px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;padding:0;transition:background .12s,border-color .12s,color .12s,transform .12s;display:inline-flex}.scoreboard-word-popover__definition-button:hover,.scoreboard-word-popover__definition-button:focus-visible{color:#e0e7fff2;background:#818cf840;border-color:#818cf899;outline:none;transform:translateY(-1px)}.scoreboard-word-popover__definition-button:active{transform:translateY(0)scale(.97)}.scoreboard-word-popover__definition-icon{width:.8rem;height:.8rem}.scoreboard-word-popover__score{color:#818cf8f2;font-weight:600}.scoreboard-word-popover__close{margin-left:auto}.flying-tile{pointer-events:none;z-index:1200;will-change:transform;position:fixed}.tile--flying{box-shadow:0 12px 24px #0f172a59}.tile--top-play{background:linear-gradient(145deg,#f8fafcfa,#e2e8f0ed);border-radius:clamp(.15rem,1vw,.28rem);box-shadow:0 0 0 2px #818cf899,0 10px 20px #0f172a59}.historical-top-moves{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:55;background:#0f172af2;border-top-left-radius:20px;border-top-right-radius:20px;flex-direction:column;max-height:min(25vh,320px);display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -24px 42px #080f2359}.historical-top-moves__header{border-bottom:1px solid #94a3b840;flex-direction:column;gap:.4rem;padding:.9rem 1.5rem .6rem;display:flex}.historical-top-moves__title-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.historical-top-moves__title{color:#e2e8f0f5;font-size:.95rem;font-weight:600}.historical-top-moves__resize-handle{cursor:ns-resize;touch-action:none;justify-content:center;align-items:center;width:100%;height:24px;margin-top:-.5rem;margin-bottom:-.25rem;display:flex}.historical-top-moves__resize-bar{background:#94a3b866;border-radius:2px;width:40px;height:4px;transition:background .2s}.historical-top-moves__resize-handle:hover .historical-top-moves__resize-bar,.historical-top-moves__resize-handle:active .historical-top-moves__resize-bar{background:#94a3b8cc}.historical-top-moves__summary{color:#94a3b8d9;margin:0;font-size:.78rem}.historical-top-moves__actions{align-items:center;gap:.5rem;display:inline-flex}.historical-top-moves__action-button{color:#e2e8f0e6;cursor:pointer;background:#0f172ad9;border:1px solid #94a3b866;border-radius:999px;padding:.35rem .95rem;font-size:.8rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s}.historical-top-moves__action-button:hover,.historical-top-moves__action-button:focus-visible{background:#6366f138;border-color:#818cf873;outline:none}.historical-top-moves__action-button:disabled{opacity:.65;cursor:not-allowed}.historical-top-moves__refresh{min-width:5.1rem}.historical-top-moves__body{flex:auto;min-height:0;padding:.5rem 1.5rem 1.2rem;overflow-y:auto}.historical-top-moves__table{border-collapse:collapse;width:100%;min-width:280px}.historical-top-moves__table th,.historical-top-moves__table td{padding:.45rem .5rem}.historical-top-moves__table th{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8d9;border-bottom:1px solid #94a3b833;font-size:.75rem}.historical-top-moves__numeric-header{text-align:right}.historical-top-moves__sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.25rem 0;display:inline-flex}.historical-top-moves__sort-button:focus-visible{outline-offset:2px;border-radius:999px;outline:2px solid #818cf8a6}.historical-top-moves__sort-indicator{opacity:.7;font-size:.8rem}.historical-top-moves__row{color:#e2e8f0e6;border-bottom:1px solid #94a3b81f;font-size:.85rem}.historical-top-moves__row--played{background-color:#eab30826;border-left:3px solid #eab308cc;font-weight:600}.historical-top-moves__played-indicator{color:#eab308f2;margin-left:.25rem;font-size:1rem}.historical-top-moves__cell{padding:.45rem .5rem}.historical-top-moves__cell--word{letter-spacing:.02em;font-weight:600}.historical-top-moves__cell--score{text-align:right;color:#818cf8f2;font-weight:600}.historical-top-moves__cell--heuristic{text-align:right;color:#10b981d9;font-weight:600}.historical-top-moves__word-button{font:inherit;color:inherit;cursor:pointer;letter-spacing:.02em;text-align:left;background:0 0;border:none;margin:0;padding:0;font-weight:600;transition:color .15s,text-shadow .15s;position:relative}.historical-top-moves__word-button:hover:not(:disabled){color:#818cf8f2;text-shadow:0 0 8px #818cf84d}.historical-top-moves__definition-button{color:#94a3b8b3;cursor:pointer;vertical-align:middle;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;margin-left:.5rem;padding:.25rem;transition:all .2s;display:inline-flex}.historical-top-moves__definition-button:hover{color:#818cf8f2;background-color:#818cf81a}.historical-top-moves__word-button:active:not(:disabled){color:#6366f1}.historical-top-moves__word-button:disabled{cursor:not-allowed;opacity:.6}.historical-top-moves__word-text{letter-spacing:.02em;font-weight:600}.historical-top-moves__definition-button{cursor:pointer;color:#94a3b8b3;vertical-align:middle;background:0 0;border:none;justify-content:center;align-items:center;width:1rem;height:1rem;margin-left:.35rem;padding:0;transition:color .15s,transform .15s;display:inline-flex}.historical-top-moves__definition-button:hover:not(:disabled){color:#818cf8f2;transform:scale(1.15)}.historical-top-moves__definition-button:active:not(:disabled){color:#6366f1;transform:scale(1.05)}.historical-top-moves__definition-button:disabled{cursor:not-allowed;opacity:.5}.historical-top-moves__empty,.historical-top-moves__loading,.historical-top-moves__error{text-align:center;color:#94a3b8e6;margin:0;padding:1rem .5rem;font-size:.85rem}.historical-top-moves__loading:before{content:"⟳ ";font-size:1.1em;animation:1s linear infinite spin;display:inline-block}.historical-top-moves__error{color:#f87171eb}.replay-controls{background:#0f172adb;border:1px solid #94a3b859;border-radius:14px;justify-content:center;align-items:center;gap:.6rem;width:min(720px,90%);margin:.75rem auto 0;padding:.45rem .9rem;display:flex;box-shadow:0 12px 28px #080f2340}.replay-controls__button{color:#e2e8f0f2;cursor:pointer;background:#0f172ad9;border:1px solid #94a3b866;border-radius:12px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:background-color .2s,border-color .2s;display:flex}.replay-controls__button--labelled{width:auto;min-width:7.5rem;padding:0 1rem;font-size:.85rem;font-weight:600}.replay-controls__button--active{color:#e2e8f0f2;background:#6366f147;border-color:#818cf873}.replay-controls__button:disabled{opacity:.5;cursor:default}.replay-controls__button:not(:disabled):hover{background:#6366f133;border-color:#818cf859}.replay-controls__label{color:#e2e8f0cc;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;min-width:140px;font-size:.9rem;display:flex}.replay-controls__badge{color:#818cf8f2;text-transform:uppercase;letter-spacing:.06em;background:#6366f12e;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:600}@media (max-width:640px){.scoreboard-word-popover{width:auto;position:fixed;inset:auto 1rem 1rem}}.archived-page{flex-direction:column;gap:1.5rem;width:100%;display:flex}.panel--archived{flex-direction:column;gap:1.25rem;display:flex}.archived-page__header{align-items:flex-start}.archived-page__title-group{flex-direction:column;gap:.35rem;max-width:min(640px,100%);display:flex}.archived-page__title{color:#e2e8f0f5;margin:0;font-size:1.35rem}.archived-page__subtitle{color:#e2e8f0b3;margin:0;font-size:.9rem;line-height:1.4}.archived-page__controls{flex-wrap:wrap;gap:1rem;display:flex}.archived-page__control{color:#e2e8f0d1;flex-direction:column;gap:.35rem;min-width:160px;font-size:.85rem;display:flex}.archived-page__control--search{flex:240px}.archived-page__control-label{letter-spacing:.02em;text-transform:uppercase;color:#e2e8f08c;font-size:.7rem;font-weight:600}.archived-page__control select,.archived-page__control input[type=search]{color:#e2e8f0eb;background:#0f172ae0;border:1px solid #94a3b873;border-radius:12px;padding:.45rem .65rem;font-size:.9rem;transition:border-color .2s}.archived-page__control select:focus,.archived-page__control input[type=search]:focus{border-color:#818cf8a6;outline:none;box-shadow:0 0 0 3px #6366f133}.archived-page__control input[type=search]::placeholder{color:#e2e8f073}.archived-page__toggle{color:#e2e8f0d1;align-items:center;gap:.55rem;padding-top:1.35rem;font-size:.85rem;display:inline-flex}.archived-page__toggle input[type=checkbox]{accent-color:#6366f1;width:1.1rem;height:1.1rem}.archived-page__helper{color:#e2e8f0a6;margin:-.5rem 0 0;font-size:.8rem}.archived-page__content{flex-direction:column;gap:.75rem;display:flex}.archived-page__status{color:#e2e8f0bf;font-size:.9rem}.archived-page__status--error{color:#fca5a5}.archived-page__list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.archived-card{text-align:left;color:#e2e8f0f5;cursor:pointer;background:#1e293be0;border:1px solid #94a3b859;border-radius:14px;flex-direction:column;gap:.35rem;width:100%;padding:.85rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.archived-card:hover,.archived-card:focus-visible{border-color:#818cf880;outline:none;transform:translateY(-2px);box-shadow:0 16px 30px #0f172a59}.archived-card__title{font-size:1rem;font-weight:600}.archived-card__players{color:#cbd5e1d1;font-size:.85rem}.archived-card__players-section{flex-direction:column;gap:.25rem;display:flex}.archived-card__player{justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.archived-card__player-name{color:#cbd5e1d1}.archived-card__luck{color:#93c5fde6;font-variant-numeric:tabular-nums;background:#3b82f626;border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem;font-weight:600}.archived-card__luck-diff{color:#eab308f2;font-variant-numeric:tabular-nums;background:#eab30826;border-radius:.25rem;margin-left:.25rem;padding:.125rem .375rem;font-size:.75rem;font-weight:700}.archived-card__meta{color:#94a3b8d9;font-size:.78rem}@media (max-width:640px){.archived-page__header{flex-direction:column;align-items:stretch;gap:1rem}.archived-page__controls{gap:.75rem}.archived-page__control,.archived-page__control--search{flex:100%}.archived-page__toggle{padding-top:0}}.finished-overlay{z-index:44;position:absolute;top:0;right:0;bottom:0;left:0}.finished-overlay__backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ab8;position:fixed;top:0;right:0;bottom:0;left:0}.finished-overlay>:not(.finished-overlay__backdrop){position:relative}.spectator-games-panel{margin-top:1.5rem;padding:0;overflow:hidden}.spectator-games__header{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #94a3b81f;justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:background-color .2s;display:flex}.spectator-games__header:hover{background:#ffffff08}.spectator-games__header:focus-visible{outline-offset:-4px;outline:2px solid #8b5cf6}.spectator-games__title{color:#e2e8f0;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.spectator-games__count{color:#c4b5fd;background:#8b5cf633;border-radius:999px;justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.spectator-games__refresh{color:#94a3b8;cursor:pointer;background:#1e293b99;border:1px solid #64748b66;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:all .2s;display:flex}.spectator-games__refresh:hover:not(:disabled){color:#c4b5fd;background:#8b5cf633;border-color:#8b5cf6}.spectator-games__refresh:disabled{opacity:.5;cursor:not-allowed}.spectator-games__refresh .spinning{animation:1s linear infinite spin}.spectator-games__content{padding:1rem 1.5rem 1.5rem}.spectator-games__loading,.spectator-games__error,.spectator-games__empty{text-align:center;color:#94a3b8;padding:2rem 1rem;font-size:.875rem}.spectator-games__error{color:#f87171}.spectator-games__list{flex-direction:column;gap:.5rem;display:flex}.spectator-game-item{cursor:pointer;background:#1e293b99;border:1px solid #64748b4d;border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem 1rem;transition:all .2s;display:flex}.spectator-game-item:hover{background:#1e293bcc;border-color:#8b5cf680;transform:translateY(-1px)}.spectator-game-item:focus-visible{outline-offset:2px;outline:2px solid #8b5cf6}.spectator-game-item__main{flex-direction:column;gap:.375rem;display:flex}.spectator-game-item__players{color:#e2e8f0;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex}.spectator-game-item__scores{color:#94a3b8;font-size:.8125rem}.spectator-game-item__meta{color:#64748b;align-items:center;gap:1rem;font-size:.75rem;display:flex}.spectator-game-item__time,.spectator-game-item__moves{align-items:center;gap:.25rem;display:flex}.finished-viewer__header{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.finished-viewer__summary{text-align:center;flex:1;min-width:240px}.finished-viewer__title{margin:0;font-size:1.4rem;font-weight:700}.finished-viewer__meta{color:#e2e8f0bf;flex-direction:column;gap:.2rem;margin-top:.35rem;font-size:.9rem;display:flex}.finished-viewer__meta-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.finished-viewer__actions{align-items:center;gap:.5rem;display:flex}.finished-viewer__actions--end{justify-content:flex-end}.finished-viewer__button{color:#e2e8f0f2;cursor:pointer;background:#0f172acc;border:1px solid #94a3b873;border-radius:999px;padding:.45rem 1rem;font-size:.9rem;font-weight:600;transition:background-color .2s,border-color .2s}.finished-viewer__button:hover{background:#6366f140;border-color:#818cf866}.finished-viewer__button--secondary{background:#2563eb38;border-color:#3b82f659}.finished-viewer__body .game-board{min-height:auto;padding-bottom:1.5rem;overflow:visible}.finished-viewer__status{color:#e2e8f0d9;font-size:.95rem}.finished-viewer__status--error{color:#fca5a5}.leaderboard-view{flex-direction:column;gap:1.5rem;padding:clamp(1rem,3vw,2.5rem);display:flex}.leaderboard-view__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.leaderboard-view__header h1{margin:.35rem 0 .25rem;font-size:clamp(1.75rem,4vw,2.5rem)}.leaderboard-view__back{color:#a5b4fc;cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem}.leaderboard-view__back:hover{text-decoration:underline}.leaderboard-view__timestamp{color:#e2e8f0b3;margin:0;font-size:.85rem}.leaderboard-view__actions{align-items:center;gap:.5rem;display:flex}.leaderboard-view__help{color:#e2e8f0;cursor:pointer;background:#1e293ba6;border:1px solid #94a3b859;border-radius:999px;width:2.25rem;height:2.25rem;font-size:1.1rem}.leaderboard-view__help:hover{background:#94a3b840}.leaderboard-view__body{background:#1e293bb3;border:1px solid #94a3b833;border-radius:16px;min-height:240px;padding:clamp(1rem,3vw,1.75rem)}.leaderboard-view__error{color:#f87171}.leaderboard-table-wrapper{background:#0f172aa6;border:1px solid #94a3b833;border-radius:12px;overflow-x:auto}.leaderboard-table-wrapper--scroll{max-height:280px;overflow-y:auto}.leaderboard-table{border-collapse:collapse;width:100%;font-size:.95rem}.leaderboard-table th,.leaderboard-table td{border-bottom:1px solid #94a3b826;padding:.75rem .25rem}.leaderboard-table thead{background:#33415599}.leaderboard-table th button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;display:inline-flex}.leaderboard-table th button:hover{color:#c7d2fe}.leaderboard-table__sort-indicator{font-size:.8rem}.leaderboard-table__player{color:#a5b4fc;cursor:pointer;font:inherit;background:0 0;border:none}.leaderboard-table__player:hover{text-decoration:underline}.leaderboard-table__row--self{background:#3b82f626}.leaderboard-modal{z-index:1200;justify-content:center;align-items:center;padding:clamp(1.5rem,5vw,3rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.leaderboard-modal__backdrop{background:#0f172acc;position:absolute;top:0;right:0;bottom:0;left:0}.leaderboard-modal__content{z-index:1;background:linear-gradient(145deg,#1e293bfa,#334155f2);border:1px solid #94a3b840;border-radius:20px;flex-direction:column;width:100%;max-width:min(90vw,780px);max-height:min(90vh,720px);display:flex;position:relative;box-shadow:0 24px 80px #0f172a99}.leaderboard-modal__header{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem .75rem;display:flex}.leaderboard-modal__header h2{margin:0;font-size:1.5rem}.leaderboard-modal__close{color:inherit;cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:999px;padding:.4rem .85rem}.leaderboard-modal__close:hover{background:#94a3b840}.leaderboard-modal__body{flex-direction:column;gap:1.5rem;padding:0 1.5rem 1.5rem;display:flex;overflow-y:auto}.leaderboard-modal__section h3{margin-top:0;margin-bottom:.75rem}.leaderboard-modal__error{color:#f87171;flex-direction:column;gap:.75rem;display:flex}.leaderboard-help__list{flex-direction:column;gap:.5rem;margin:1rem 0 1.5rem;padding-left:1.25rem;display:flex}.leaderboard-help__list li{line-height:1.4}@media (max-width:640px){.leaderboard-view{padding:1rem}.leaderboard-view__header{flex-direction:column;align-items:flex-start}.leaderboard-view__actions{align-self:flex-end}.leaderboard-modal__content{max-height:85vh}}.admin-console{box-sizing:border-box;flex-direction:column;gap:1.5rem;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:2rem clamp(1.5rem,4vw,3rem) 3rem;display:flex;overflow-x:auto}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-width:960px;display:flex}.admin-toolbar h1{margin:0;font-size:1.5rem}.admin-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-toolbar-actions button{color:#f8fafc;cursor:pointer;background:#2563eb;border:none;border-radius:.5rem;padding:.5rem .9rem;font-weight:600}.admin-toolbar-actions button[disabled]{opacity:.5;cursor:progress}.admin-toggle{cursor:pointer;align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.admin-filter{color:#cbd5f5;flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.admin-filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#f8fafc;cursor:pointer;background:#1e293bcc;border:1px solid #94a3b866;border-radius:.5rem;min-width:12rem;padding:.35rem 2.25rem .35rem .65rem;font-size:.9rem}.admin-filter select:focus{outline-offset:2px;outline:2px solid #818cf899}.admin-feedback{border-radius:.5rem;padding:.75rem 1rem;font-size:.95rem}.admin-feedback.success{color:#bbf7d0;background:#22c55e33}.admin-feedback.error{color:#fecaca;background:#ef444433}.admin-feedback.info{color:#bfdbfe;background:#3b82f626}.admin-content{gap:1rem;display:grid}.admin-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ab3;border:1px solid #94a3b81a;border-radius:.75rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.admin-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-card-header h2{margin:0 0 .25rem;font-size:1.1rem}.admin-card-header button{color:#fff;cursor:pointer;background:#ef4444cc;border:none;border-radius:.5rem;padding:.4rem .8rem}.admin-card-header button:hover{background:#ef4444e6}.admin-subtitle{color:#cbd5f5;margin:0;font-size:.9rem}.admin-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;margin:0;display:grid}.admin-card-grid div{flex-direction:column;gap:.3rem;display:flex}.admin-card-grid dt{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin:0;font-size:.75rem}.admin-card-grid dd{color:#e2e8f0;margin:0;font-size:.95rem}.admin-card-grid dd .admin-toggle{margin-bottom:.3rem;display:block}.admin-empty{text-align:center;color:#cbd5f5;border:1px dashed #94a3b84d;border-radius:.75rem;padding:2rem}.admin-table-container{background:#0f172ab3;border:1px solid #94a3b81f;border-radius:.75rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:960px;font-size:.95rem}.admin-table thead{background:#94a3b81a}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #94a3b81f;padding:.75rem 1rem}.admin-table tbody tr:hover{background:#3b82f61a}.admin-table__sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;display:inline-flex}.admin-table__sort-button[data-active=true]{color:#e0e7ff}.admin-table__sort-indicator{opacity:.75;font-size:.8em}.admin-table__id{white-space:nowrap;-webkit-user-select:text;user-select:text;cursor:text;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.admin-table__players{white-space:normal;max-width:320px;line-height:1.35}.admin-table__scores{white-space:nowrap;font-variant-numeric:tabular-nums;color:#cbd5f5}.admin-table__game-name{white-space:nowrap;text-overflow:ellipsis;max-width:240px;overflow:hidden}.admin-table__flag-cell{text-align:center}.admin-table__flag-cell input[type=checkbox]{cursor:pointer;width:1.1rem;height:1.1rem}.admin-table__delete-button{color:#fff;cursor:pointer;background:#ef4444d1;border:none;border-radius:.5rem;padding:.4rem .8rem;font-weight:600}.admin-table__delete-button:hover{background:#ef4444f2}.admin-table__action-button{color:#fff;cursor:pointer;background:#3b82f6d1;border:none;border-radius:.5rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600}.admin-table__action-button:hover:not(:disabled){background:#3b82f6f2}.admin-table__action-button:disabled{opacity:.5;cursor:not-allowed}.feedback-refresh{color:#e2e8f0;cursor:pointer;background:#0f172a99;border:1px solid #94a3b859;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;transition:background .2s,border-color .2s;display:inline-flex}.feedback-refresh:disabled{opacity:.5;cursor:not-allowed}.feedback-refresh:not(:disabled):hover{background:#1e293bbf;border-color:#94a3b88c}.feedback-updated{color:#e2e8f0bf;font-size:.85rem}.feedback-note,.feedback-loading,.feedback-error,.feedback-empty{margin:0;font-size:.9rem}.feedback-note{color:#e2e8f0d9}.feedback-loading{color:#94a3b8cc}.feedback-error{color:#fca5a5}.feedback-empty{color:#94a3b8cc}.feedback-completed{flex-direction:column;gap:.75rem;display:flex}.feedback-completed-toggle{color:#cbd5f5;cursor:pointer;background:#0f172a99;border:1px solid #94a3b859;border-radius:999px;align-self:flex-start;padding:.3rem .75rem;font-size:.85rem;transition:background .2s,border-color .2s}.feedback-completed-toggle:hover{background:#1e293bbf;border-color:#94a3b88c}.feedback-completed-toggle:focus-visible{outline-offset:2px;outline:2px solid #818cf8b3}.feedback-completed-list{color:#e2e8f0d9;flex-direction:column;gap:.3rem;margin:0 0 0 1.25rem;padding:0;font-size:.85rem;list-style:outside;display:flex}.feedback-task-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.feedback-task-card{background:#0f172a8c;border:1px solid #94a3b833;border-radius:12px;flex-direction:column;gap:.6rem;padding:.85rem 1rem;display:flex}.feedback-task-card[data-completed=true]{opacity:.7}.feedback-task-card[data-completed=true] .feedback-task-name{text-decoration:line-through}.feedback-task{flex-direction:column;gap:.45rem;display:flex}.feedback-task-name{font-size:1rem;font-weight:600}.feedback-task-name a{color:inherit;text-decoration:underline}.feedback-task-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.feedback-task-meta{color:#94a3b8d9;flex-wrap:wrap;gap:.5rem;font-size:.8rem;display:flex}.feedback-task-pill{background:#94a3b826;border-radius:999px;padding:.15rem .6rem}.feedback-task-tags{flex-wrap:wrap;gap:.4rem;display:inline-flex}.feedback-task-tag{color:#bae6fd;background:#38bdf82e;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.feedback-task-actions{color:#94a3b8cc;align-items:center;gap:.45rem;font-size:.78rem;display:inline-flex}.feedback-comment-count{align-items:center;gap:.25rem;display:inline-flex}.feedback-comment-toggle{color:#cbd5f5;cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;line-height:1;transition:background .15s,border-color .15s}.feedback-comment-toggle:not(:disabled):hover{background:#38bdf82e;border-color:#38bdf873}.feedback-comment-toggle:disabled{opacity:.5;cursor:not-allowed}.feedback-score-row{flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:.75rem;display:flex}.feedback-vote-column{flex-direction:column;flex:none;gap:.35rem;display:flex}.feedback-vote-column--negative{align-items:flex-start}.feedback-vote-column--positive{align-items:flex-end}.feedback-vote-button{color:inherit;cursor:pointer;background:#0f172a8c;border:1px solid #94a3b859;border-radius:10px;justify-content:center;align-items:center;gap:.2rem;padding:.28rem .45rem;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.feedback-vote-button:hover:not(:disabled){background:#38bdf82e;border-color:#38bdf899;transform:translateY(-1px)}.feedback-vote-button[data-active=true]{background:#38bdf840;border-color:#38bdf8bf}.feedback-vote-button:disabled{opacity:.5;cursor:not-allowed}.feedback-vote-icon{align-items:center;gap:.2rem;display:inline-flex}.feedback-score-display{background:#94a3b81f;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-width:72px;padding:.4rem .6rem;display:flex}.feedback-score-label{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8b3;font-size:.7rem}.feedback-score-total{text-align:center;min-width:2.5rem;font-size:1.1rem;font-weight:700;display:inline-block}.feedback-voter-list{color:#94a3b8bf;flex-wrap:wrap;gap:.35rem;font-size:.75rem;display:flex}.feedback-voter{background:#94a3b82e;border-radius:999px;padding:.1rem .45rem}.feedback-comments{border-top:1px solid #94a3b826;flex-direction:column;gap:.5rem;padding-top:.5rem;display:flex}.feedback-no-comments{color:#94a3b8cc;margin:0;font-size:.85rem}.feedback-comment-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.feedback-comment{background:#1e293b99;border:1px solid #94a3b82e;border-radius:8px;padding:.6rem .75rem}.feedback-comment-author{margin-right:.5rem;font-weight:600}.feedback-comment-time{color:#94a3b8b3;font-size:.75rem}.feedback-comment-message{margin:.3rem 0 0;line-height:1.4}.feedback-comment-form{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.feedback-comment-form textarea{color:#e2e8f0;resize:vertical;background:#0f172ab3;border:1px solid #94a3b833;border-radius:8px;flex:240px;min-height:56px;padding:.5rem .6rem}.feedback-comment-form button{color:#e0f2fe;cursor:pointer;background:#38bdf82e;border:1px solid #94a3b859;border-radius:8px;padding:.4rem .75rem;transition:background .2s,border-color .2s}.feedback-comment-form button:disabled{opacity:.6;cursor:not-allowed}.feedback-general-form{flex-direction:column;gap:.6rem;display:flex}.feedback-general-form label{font-size:.95rem;font-weight:600}.feedback-general-form textarea{color:#e2e8f0;resize:vertical;background:#0f172ab3;border:1px solid #94a3b840;border-radius:10px;min-height:90px;padding:.6rem .7rem}.feedback-general-form button{color:#ede9fe;cursor:pointer;background:#6366f140;border:1px solid #94a3b859;border-radius:999px;align-self:flex-start;padding:.45rem .9rem;transition:background .2s,border-color .2s}.feedback-general-form button:hover{background:#6366f159;border-color:#818cf88c}.feedback-general-form button:disabled{opacity:.6;cursor:not-allowed}.feedback-general-status{color:#94a3b8d9;margin:0;font-size:.85rem}.admin-feedback-summary{background:#0f172abf;border:1px solid #94a3b833;border-radius:12px;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.admin-feedback-summary__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-feedback-summary__header h2{margin:0;font-size:1.1rem}.admin-feedback-summary__refresh{color:#e2e8f0;cursor:pointer;background:#1e293b99;border:1px solid #94a3b859;border-radius:999px;padding:.35rem .8rem}.admin-feedback-summary__refresh:disabled{opacity:.5;cursor:not-allowed}.admin-feedback-summary__status,.admin-feedback-summary__error{margin:0;font-size:.9rem}.admin-feedback-summary__status{color:#94a3b8d9}.admin-feedback-summary__error{color:#fca5a5}.admin-feedback-summary__list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.admin-feedback-summary__item{background:#1e293ba6;border:1px solid #94a3b82e;border-radius:8px;padding:.65rem .75rem}.admin-feedback-summary__item-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.admin-feedback-summary__author{font-weight:600}.admin-feedback-summary__message{color:#e2e8f0;margin:0;line-height:1.4}.scoreboard__top-plays-button{color:#fde047f2;cursor:pointer;background:#facc1529;border:none;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.25rem;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.scoreboard__top-plays-button:hover:not(:disabled){color:#fef08a;background:#eab30840;transform:translateY(-1px)}.scoreboard__top-plays-button:active:not(:disabled){transform:translateY(0)}.scoreboard__top-plays-button svg{width:1.1rem;height:1.1rem}.scoreboard__shared-rack-button{color:#93c5fdf2;cursor:pointer;background:#3b82f629;border:none;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.25rem;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.scoreboard__shared-rack-button:hover:not(:disabled){color:#bfdbfefa;background:#3b82f640;transform:translateY(-1px)}.scoreboard__shared-rack-button:active:not(:disabled){transform:translateY(0)}.scoreboard__shared-rack-button--active{color:#dbeafe;background:#60a5fa4d}.scoreboard__shared-rack-button svg{width:1.1rem;height:1.1rem}.game-board--historical .board-area{background-color:#0003;border-radius:12px}.scoreboard__return-to-present{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #3b82f666}.scoreboard__return-to-present:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 6px 16px #3b82f680}.scoreboard__return-to-present:active{transform:translateY(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-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-ease{syntax:"*";inherits:false}
