/*! tailwindcss v4.2.1 | 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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-black:#000;--color-white:#fff;--spacing:.25rem;--radius-md:.375rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.shrink{flex-shrink:1}.grow{flex-grow:1}.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}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.to-black{--tw-gradient-to:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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)}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/unbounded-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/unbounded-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-main:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:var(--font-geist-mono), "JetBrains Mono", "Roboto Mono", Consolas, monospace;--font-pixel:var(--font-mono);--font-display:var(--font-main);--font-cyber:"Unbounded", var(--font-main);--font-brand:"Unbounded", var(--font-main);--font-menu:"Unbounded", var(--font-main);--bg:#090e17;--bg-deep:#05080f;--sidebar:#0c121e;--panel:#0f172ae0;--panel-2:#111a2e;--border:#ffffff14;--border-bright:#38bdf847;--text:#f1f5f9;--muted:#94a3b8;--blue:#38bdf8;--blue-deep:#0284c7;--violet:#818cf8;--green:#10b981;--red:#f43f5e;--yellow:#f59e0b;--choice-title-color:#f8fafc;--choice-title-font:var(--font-display);--topbar-bg:#0c121ed9;--mobile-nav-bg:#0a0f1ef5;--card-bg:#0f172aa6;--card-hover-bg:#1e293bbf;--card-active-bg:#2563eb24;--btn-primary-bg:#2563eb;--btn-primary-border:#3b82f666;--btn-primary-hover:#1d4ed8;--btn-primary-text:#fff;--btn-secondary-bg:#1e293b;--brand-heading-gradient:linear-gradient(90deg, #60a5fa, #e879f9);--brand-mark-bg:linear-gradient(135deg, #3b82f68c, #d946ef80);--nav-active-bg:#0ea5e924;--nav-active-border:#38bdf873;--nav-active-shadow:0 0 20px #38bdf81f, inset 0 0 12px #38bdf80f;--nav-active-text:#fff;--input-bg:#0f172a;--heading-text:#f8fafc;--board-light:#a3d4e8;--board-dark:#1c7094;--board-last-light:#f7ec7d;--board-last-dark:#baca44;--board-last-move:#facc1585;--board-last-move-border:#facc15;--board-last-move-glow:#facc156b;--board-coord-light:#1c7094;--board-coord-dark:#a3d4e8;--board-border:#144f69;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #38bdf82e, transparent 75%), linear-gradient(180deg, #0a1f33 0%, #061320 45%, #02070d 100%);--theme-accent-border:#38bdf840;--theme-ambient-glow:#38bdf826;--piece-white-body:#fff;--piece-white-stroke:#0f172a;--piece-white-inner:#475569;--piece-black-body:#243044;--piece-black-stroke:#cbd5e1;--piece-black-inner:#f8fafc}.friend-picker-backdrop{z-index:1200;background:var(--bg-deep,#020617);place-items:center;padding:24px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.friend-picker-backdrop{background:color-mix(in srgb, var(--bg-deep,#020617) 76%, transparent)}}.friend-picker-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:.18s ease-out friend-picker-fade}.friend-picker-dialog{box-sizing:border-box;border:1px solid var(--border-bright,var(--border));background:var(--panel,#0f172a);border-radius:18px;width:min(720px,100%);max-height:min(760px,100dvh - 48px);padding:22px;animation:.2s ease-out friend-picker-rise;overflow:auto;box-shadow:0 28px 90px #0000007a}.friend-picker-dialog .section-title{align-items:flex-start;gap:14px}.friend-picker-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@keyframes friend-picker-fade{0%{opacity:0}to{opacity:1}}@keyframes friend-picker-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.friend-picker-backdrop{align-items:end;padding:0}.friend-picker-dialog{width:100%;max-height:86dvh;padding:18px 14px calc(18px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0}.friend-picker-dialog .section-title{flex-direction:column}.friend-picker-actions{justify-content:flex-start;width:100%}}@media (prefers-reduced-motion:reduce){.friend-picker-backdrop,.friend-picker-dialog{animation:none}}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100vw;min-height:100%;margin:0;overflow-x:hidden}input,textarea,select,[contenteditable=true]{-webkit-user-select:auto!important;user-select:auto!important;-webkit-touch-callout:default!important}.selectable-code,.room-code,.room-code-highlight,.room-mobile-code-btn,.copyable-room-code,[data-selectable=true]{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important}@media (width>=861px){*{scrollbar-width:thin;scrollbar-color:#334155 #090e17}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#05080f}::-webkit-scrollbar-thumb{background:var(--btn-secondary-bg);border:1px solid var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--blue,#38bdf8);box-shadow:0 0 8px var(--theme-ambient-glow,#38bdf8b3)}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background:#05080f}html[data-theme-mode=light],html[data-theme-mode=light] *{scrollbar-color:#cbd5e1 #f1f5f9}html[data-theme-mode=light] ::-webkit-scrollbar-track{background:#f8fafc}html[data-theme-mode=light] ::-webkit-scrollbar-thumb{background:#cbd5e1;border:1px solid #e2e8f0}html[data-theme-mode=light] ::-webkit-scrollbar-thumb:hover{background:#94a3b8;box-shadow:0 0 8px #94a3b866}html[data-theme-mode=light] ::-webkit-scrollbar-corner{background:#f8fafc}}@media (width<=860px){html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}}body{background:var(--site-bg-gradient,var(--page-bg-gradient,linear-gradient(180deg, #0e1626 0%, var(--bg) 38%, var(--bg-deep) 100%)));color:var(--text);font-family:var(--font-main);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;font-size:15px;line-height:1.55;transition:background .4s}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);z-index:20;flex-direction:column;width:255px;padding:26px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 6px 30px;display:flex}.brand-mark{background:var(--brand-mark-bg,linear-gradient(135deg, #3b82f68c, #d946ef80));border:1px solid var(--border-bright,#64748b);border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:29px;display:flex}.brand b{background:var(--brand-heading-gradient,linear-gradient(90deg, #60a5fa, #e879f9));color:#0000;font-family:var(--font-brand,var(--font-menu,var(--font-display)));letter-spacing:.05em;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:800;line-height:1.25;display:block}.brand small{color:var(--muted);white-space:nowrap;margin-top:4px;font-size:8px;display:block}.sidebar nav{gap:7px;display:grid}.nav-item{color:var(--muted);cursor:pointer;font-family:var(--font-menu,var(--font-cyber));letter-spacing:.02em;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:13.5px;font-weight:600;line-height:1.4;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex}.nav-item>span{color:var(--blue,#38bdf8);text-align:center;flex-shrink:0;width:22px;font-size:18px;transition:transform .18s}.nav-item:hover:not(.active){background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.nav-item:hover:not(.active){background:color-mix(in srgb, var(--btn-secondary-bg) 60%, transparent)}}.nav-item:hover:not(.active){border-color:var(--border);color:var(--text);transform:translate(2px)}.nav-item:hover:not(.active)>span{transform:scale(1.1)}.nav-item.active{background:var(--nav-active-bg,#0ea5e924);border-color:var(--nav-active-border,#38bdf873);box-shadow:var(--nav-active-shadow,0 0 20px #38bdf81f, inset 0 0 12px #38bdf80f);color:var(--nav-active-text,#fff)}.nav-item.active>span{color:var(--blue,#38bdf8);filter:drop-shadow(0 0 8px var(--theme-ambient-glow,#38bdf899))}.sidebar-footer{border-top:1px solid var(--border);gap:10px;margin-top:auto;padding-top:15px;display:grid}.profile{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px;transition:background .18s;display:flex}.profile:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.profile:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}}.profile>span{background:var(--brand-mark-bg,linear-gradient(135deg, #0284c7, #38bdf8));color:#fff;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:800;display:flex}.profile b,.profile small{display:block}.profile b{font-family:var(--font-display);color:var(--text);font-size:14px;font-weight:700;line-height:1.3}.profile small{color:var(--muted);margin-top:2px;font-size:12px}.logout{color:var(--muted);cursor:pointer;font-family:var(--font-display);text-align:left;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;padding:7px;font-size:12px;font-weight:600;transition:color .18s}.logout:hover{color:#f43f5e}.main-area{width:calc(100% - 255px);min-width:0;max-width:100%;margin-left:255px;overflow-x:hidden}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--topbar-bg,#0c121ed9);border-bottom:1px solid var(--border,#ffffff14);z-index:10;justify-content:space-between;align-items:center;height:66px;padding:0 38px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:14px;display:flex}.topbar-right{align-items:center;gap:16px;display:flex}.topbar-breadcrumb{letter-spacing:.01em;align-items:center;gap:9px;font-size:14px;display:flex}.crumb-brand{color:var(--muted);font-family:var(--font-brand,var(--font-menu,var(--font-display)));letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.crumb-divider{color:var(--muted);-webkit-user-select:none;user-select:none;font-size:14px;font-weight:300}.crumb-current{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.crumb-current{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.crumb-current{font-size:14px;font-weight:600}.topbar-user-chip{display:none}.topbar-user-chip:hover{background:var(--card-active-bg,#38bdf81f);border-color:var(--theme-accent-border,#38bdf873);color:#fff;transform:translateY(-1px)}.topbar-user-chip .user-avatar{background:var(--brand-mark-bg,linear-gradient(135deg, #0284c7, #38bdf8));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:flex}.topbar-user-chip .user-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:13px;font-weight:600;overflow:hidden}.topbar-auth-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0284c7,#0ea5e9);border:1px solid #38bdf873;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #0284c740}.topbar-auth-btn:hover{background:linear-gradient(135deg,#0369a1,#0284c7);transform:translateY(-1px);box-shadow:0 4px 14px #0284c759}.topbar-auth-btn:active{transform:translateY(0)}.connection{color:var(--muted);text-transform:uppercase;align-items:center;gap:7px;font-size:12px;display:flex}.connection i,.online-dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #34d399cc}.mobile-brand{display:none}.content{box-sizing:border-box;max-width:1240px;margin:0 auto;padding:40px 38px 70px;overflow-x:hidden}.section-stack{box-sizing:border-box;gap:30px;width:100%;max-width:100%;display:grid}.section-stack.narrow{max-width:100%}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 38px #00000047}.eyebrow{color:var(--blue,#7dd3fc);letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px;font-size:11px;font-weight:700;display:block}h1,h2,p{margin:0}h1{background:var(--brand-heading-gradient,linear-gradient(90deg, #60a5fa, #e879f9));color:#0000;letter-spacing:-.025em;-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,3.5vw,36px);font-weight:700;line-height:1.25}.page-heading p{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.65}.player-dashboard-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:18px;padding:24px 28px;display:flex;box-shadow:0 18px 38px #00000047}.player-dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.player-identity{align-items:center;gap:14px;display:flex}.player-avatar{background:var(--brand-mark-bg,linear-gradient(135deg, #2563eb, #7c3aed));border:2px solid var(--theme-accent-border,#60a5fa66);box-shadow:0 4px 14px var(--theme-ambient-glow,#2563eb59);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex;position:relative}.player-status-dot{border:2px solid var(--border);border-radius:50%;width:13px;height:13px;position:absolute;bottom:-1px;right:-1px}.player-status-dot.online{background:#22c55e;box-shadow:0 0 8px #22c55e}.player-status-dot.guest{background:var(--muted)}.player-info{flex-direction:column;display:flex}.player-name-row{align-items:center;gap:10px;display:flex}.player-name-row h3{color:var(--text,#f8fafc);margin:0;font-size:18px;font-weight:700}.player-role-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.player-role-badge.member{background:var(--card-active-bg,#2563eb33);border:1px solid var(--theme-accent-border,#3b82f64d);color:var(--blue,#93c5fd)}.player-role-badge.guest{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.player-role-badge.guest{background:color-mix(in srgb, var(--muted) 15%, transparent)}}.player-role-badge.guest{border:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.player-role-badge.guest{border:1px solid color-mix(in srgb, var(--muted) 35%, transparent)}}.player-role-badge.guest{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.player-role-badge.guest{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.player-subtitle{color:var(--muted,#94a3b8);margin:3px 0 0;font-size:13px}.btn-auth-cta{white-space:nowrap;min-height:auto;padding:8px 16px;font-size:13px;font-weight:600}.player-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}@media (width<=860px){.player-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.player-stats-grid{grid-template-columns:1fr}}.stat-tile{background:var(--card-bg,#111827bf);border:1px solid var(--border,#ffffff14);border-radius:12px;flex-direction:column;justify-content:space-between;gap:8px;padding:18px 20px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 18px #00000038}.stat-tile:hover{border-color:var(--border-bright,#ffffff29);transform:translateY(-2px);box-shadow:0 8px 26px #00000052}.stat-header{align-items:center;gap:10px;display:flex}.stat-icon-badge{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.stat-icon-badge.trophy{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b38}.stat-icon-badge.bolt{color:#34d399;background:#34d3991f;border:1px solid #34d39938}.stat-icon-badge.shield{background:var(--card-active-bg,#38bdf81f);border:1px solid var(--theme-accent-border,#38bdf838);color:var(--blue,#38bdf8)}.stat-icon-badge.flame{color:#f97316;background:#f973161f;border:1px solid #f9731638}.stat-title{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11.5px;font-weight:600}.stat-number{color:var(--text);font-variant-numeric:tabular-nums;margin:2px 0;font-size:26px;font-weight:700;line-height:1.15}.stat-number.stat-color-text{color:var(--text);align-items:center;gap:6px;font-size:20px;line-height:1.25;display:inline-flex}.stat-number.stat-streak-number{color:var(--text)}.color-indicator-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.color-indicator-dot.white{background:#f8fafc;box-shadow:0 0 0 1.5px #64748b}.color-indicator-dot.black{background:#0f172a;box-shadow:0 0 0 1.5px #64748b}.stat-sub{color:var(--muted);font-size:12.5px;line-height:1.4}.stat-empty-note{color:var(--muted);font-size:12px}.stat-breakdown{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.stat-pill{letter-spacing:.02em;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:600}.stat-pill.win{color:#34d399;background:#34d3991f;border:1px solid #34d39938}.stat-pill.draw{color:#facc15;background:#eab3081f;border:1px solid #eab30838}.stat-pill.loss{color:#fb7185;background:#f43f5e1f;border:1px solid #f43f5e38}.win-count,.draw-count,.loss-count{font-weight:600}.mini-winrate-bar{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.mini-winrate-bar{background:color-mix(in srgb, var(--text) 8%, transparent)}}.mini-winrate-bar{border-radius:4px;width:100%;height:6px;margin-top:6px;display:flex;overflow:hidden}.mini-winrate-fill{height:100%;transition:width .3s}.mini-winrate-fill.win{background:#10b981}.mini-winrate-fill.draw{background:#eab308}.mini-winrate-fill.loss{background:#ef4444}.last-game-banner{background:var(--btn-secondary-bg);align-items:center}@supports (color:color-mix(in lab, red, red)){.last-game-banner{background:color-mix(in srgb, var(--btn-secondary-bg) 45%, transparent)}}.last-game-banner{border:1px solid #3b82f633;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:14px;padding:12px 18px;display:flex}.last-game-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.last-game-tag{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.last-game-opponent{color:var(--text);font-size:14px;font-weight:600}.last-game-outcome{letter-spacing:.03em;text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.last-game-outcome.win{color:#4ade80;background:#22c55e26;border:1px solid #22c55e59}.last-game-outcome.loss{color:#f87171;background:#ef444426;border:1px solid #ef444459}.last-game-outcome.draw{color:#facc15;background:#eab30826;border:1px solid #eab30859}.last-game-date{color:var(--muted);font-size:12px}.btn-review-game{background:var(--card-active-bg,#2563eb26);border:1px solid var(--theme-accent-border,#3b82f659);color:var(--blue,#93c5fd);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-review-game:hover{background:var(--btn-primary-bg,#2563eb4d);border-color:var(--btn-primary-border,#60a5fa);box-shadow:0 0 12px var(--theme-ambient-glow,#2563eb40);color:#fff}.setup-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.setup-aside{flex-direction:column;gap:16px;display:flex}.join-box-card,.lobby-feature-card,.lobby-status-card{background:var(--panel);border:1px solid var(--border);text-align:left;border-radius:12px;flex-direction:column;padding:20px;display:flex;box-shadow:0 18px 38px #00000047}.lobby-card-header{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.lobby-card-icon-badge{background:var(--card-active-bg,#38bdf81a);border:1px solid var(--theme-accent-border,#38bdf838);color:var(--blue,#38bdf8);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.lobby-card-icon-badge.accent-purple{color:#c084fc;background:#a855f71a;border-color:#a855f740}.lobby-card-icon-badge.accent-green{color:#4ade80;background:#22c55e1a;border-color:#22c55e40}.lobby-card-header-text h3{color:var(--text);margin:0;font-size:15.5px;font-weight:700}.lobby-card-header-text p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.4}.join-form-fields{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.join-form-fields label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:5px;font-size:11.5px;font-weight:600;display:flex}.join-form-fields input{padding:10px 12px;font-size:14px}.join-code-input{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-weight:700!important}.lobby-aside-btn{background:var(--btn-primary-bg,#2563eb);border:1px solid var(--btn-primary-border,#3b82f666);color:var(--btn-primary-text,#fff);cursor:pointer;text-transform:none;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;padding:9px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.lobby-aside-btn:hover:not(:disabled){background:var(--btn-primary-hover,#1d4ed8);border-color:var(--blue,#60a5fa);box-shadow:0 0 16px var(--theme-ambient-glow,#2563eb4d)}.lobby-aside-btn:active:not(:disabled){transform:translateY(1px)}.lobby-aside-btn:disabled{opacity:.45;cursor:not-allowed}.lobby-aside-btn.secondary{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.lobby-aside-btn.secondary{background:color-mix(in srgb, var(--btn-secondary-bg) 70%, transparent)}}.lobby-aside-btn.secondary{border:1px solid var(--border);color:var(--text)}@supports (color:color-mix(in lab, red, red)){.lobby-aside-btn.secondary{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.lobby-aside-btn.secondary:hover:not(:disabled){background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.lobby-aside-btn.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--muted) 42%, transparent)}}.lobby-aside-btn.secondary:hover:not(:disabled){border-color:var(--border);color:var(--text)}.lobby-feature-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.lobby-feature-item{background:var(--card-bg,#0f172a8c);border:1px solid var(--border,#ffffff0d);border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.lobby-feature-dot{background:#c084fc;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.lobby-feature-text{flex-direction:column;gap:1px;display:flex}.lobby-feature-text strong{color:var(--heading-text,#f1f5f9);font-size:12.5px;font-weight:600}.lobby-feature-text small{color:var(--muted,#94a3b8);font-size:11.5px;line-height:1.35}.lobby-aside-actions{flex-direction:column;gap:8px;display:flex}.lobby-status-content{flex-direction:column;gap:10px;display:flex}.lobby-status-badge{background:var(--card-bg,#0f172a8c);border:1px solid var(--border,#ffffff0f);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex}@supports (color:color-mix(in lab, red, red)){.lobby-status-badge{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.lobby-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.lobby-status-dot.online{background:#22c55e;box-shadow:0 0 8px #22c55e80}.lobby-status-dot.offline{background:var(--muted)}.lobby-status-desc{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.lobby-user-pill{background:var(--card-active-bg,#38bdf814);border:1px solid var(--theme-accent-border,#38bdf833);color:var(--blue,#38bdf8);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.setup-preferences-group{flex-direction:column;gap:20px;display:flex}.guest-name-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.guest-name-label input{padding:10px 12px;font-size:14px}.pref-subgroup{flex-direction:column;gap:10px;display:flex}.pref-heading{color:var(--text,#f8fafc);letter-spacing:.02em;font-size:13px;font-weight:600}.time-presets-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (width<=520px){.time-presets-grid{grid-template-columns:repeat(2,1fr)}}.time-preset-card{background:var(--card-bg,#0f172aa6);border:1px solid var(--border,#ffffff14);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;transition:all .15s;display:flex}.time-preset-card:hover{background:var(--card-hover-bg,#1e293bbf);border-color:var(--theme-accent-border,#fff3);transform:translateY(-1px)}.time-preset-card:active{transform:translateY(1px)}.time-preset-card.active{background:var(--card-active-bg,#2563eb26);border-color:var(--blue,#3b82f6);box-shadow:0 0 0 1.5px var(--blue,#3b82f6), 0 0 16px var(--theme-ambient-glow,#3b82f640)}.preset-icon{color:var(--muted,#94a3b8);justify-content:center;align-items:center;transition:color .15s;display:flex}.time-preset-card:hover .preset-icon{color:var(--blue,#38bdf8)}.time-preset-card.active .preset-icon{color:var(--blue,#38bdf8);filter:drop-shadow(0 0 6px var(--theme-ambient-glow,transparent))}.preset-time{color:var(--heading-text,#f8fafc);font-size:14.5px;font-weight:700;transition:color .15s}.time-preset-card.active .preset-time{color:var(--heading-text,#fff)}.preset-desc{color:var(--muted,#94a3b8);font-size:11.5px;transition:color .15s}.time-preset-card.active .preset-desc{color:var(--blue,#38bdf8);font-weight:600}.color-picker-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.color-card{background:var(--card-bg,#0f172aa6);border:1px solid var(--border,#ffffff14);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:80px;padding:12px 10px;transition:all .15s;display:flex}.color-card:hover{background:var(--card-hover-bg,#1e293bbf);border-color:var(--theme-accent-border,#fff3);transform:translateY(-1px)}.color-card:active{transform:translateY(1px)}.color-card.active{background:var(--card-active-bg,#2563eb26);border-color:var(--blue,#3b82f6);box-shadow:0 0 0 1.5px var(--blue,#3b82f6), 0 0 16px var(--theme-ambient-glow,#3b82f640)}.color-card .color-piece-svg{filter:drop-shadow(0 2px 5px #00000073);flex-shrink:0;transition:transform .15s,filter .15s;display:block}.color-card:hover .color-piece-svg{transform:scale(1.08)}.color-card.active .color-piece-svg{filter:drop-shadow(0 0 8px var(--theme-ambient-glow,#3b82f659))}.color-card .random-color-svg circle.outer-ring{stroke:var(--theme-accent-border,#ffffff40);transition:stroke .15s}.color-card:hover .random-color-svg circle.outer-ring,.color-card.active .random-color-svg circle.outer-ring{stroke:var(--blue,#3b82f6)}.color-card-title{color:var(--text,#f8fafc);font-size:13.5px;font-weight:600;transition:color .15s}.color-card.active .color-card-title{color:var(--blue,#3b82f6);font-weight:700}.lobby-start-btn{background:var(--btn-primary-bg,#2563eb);border:1px solid var(--btn-primary-border,#3b82f666);color:var(--btn-primary-text,#fff);cursor:pointer;text-transform:none;-webkit-user-select:none;user-select:none;border-radius:9px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:24px;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:600;transition:all .15s;display:flex}.lobby-start-btn:hover:not(:disabled){background:var(--btn-primary-hover,#1d4ed8);border-color:var(--blue,#60a5fa);box-shadow:0 4px 16px var(--theme-ambient-glow,#2563eb59);transform:translateY(-1px)}.lobby-start-btn:active:not(:disabled){transform:translateY(1px)}.lobby-start-btn:disabled{opacity:.45;cursor:not-allowed}.lobby-start-btn-arrow{font-size:17px;transition:transform .15s}.lobby-start-btn:hover:not(:disabled) .lobby-start-btn-arrow{transform:translate(3px)}.recent-games-sidebar-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:14px;padding:22px;display:flex}.sidebar-card-header .eyebrow{margin-bottom:4px}.sidebar-card-header h4{color:var(--text);margin:0;font-size:16px;font-weight:600}.recent-games-sidebar-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 0;display:flex}.recent-games-sidebar-empty .empty-glyph{opacity:.4;font-size:26px}.recent-games-sidebar-empty p{margin:0;font-size:13px}.recent-games-sidebar-list{flex-direction:column;gap:10px;display:flex}.recent-sidebar-item{background:var(--card-bg,#0f172a99);border:1px solid var(--border,#3b82f624);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:border-color .2s;display:flex}.recent-sidebar-item:hover{border-color:var(--blue,#60a5fa4d)}.recent-sidebar-info{flex-direction:column;gap:3px;min-width:0;display:flex}.recent-sidebar-title-row{align-items:center;gap:8px;display:flex}.recent-sidebar-opp{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.recent-sidebar-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.recent-sidebar-badge.win{color:#4ade80;background:#22c55e26;border:1px solid #22c55e59}.recent-sidebar-badge.loss{color:#f87171;background:#ef444426;border:1px solid #ef444459}.recent-sidebar-badge.draw{color:#facc15;background:#eab30826;border:1px solid #eab30859}.recent-sidebar-sub{color:var(--muted);font-size:11px}.btn-sidebar-review{background:var(--card-active-bg,#2563eb1f);border:1px solid var(--theme-accent-border,#3b82f64d);color:var(--blue,#93c5fd);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-sidebar-review:hover{background:var(--btn-primary-bg,#2563eb40);border-color:var(--btn-primary-border,#60a5fa);box-shadow:0 0 10px var(--theme-ambient-glow,#2563eb40);color:#fff}.setup-main{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px 32px;box-shadow:0 18px 38px #00000047}.field-group+.field-group{border-top:1px solid var(--border,#ffffff14);margin-top:24px;padding-top:24px}.field-heading{align-items:center;gap:12px;margin-bottom:14px;display:flex}.field-heading>span{background:var(--btn-secondary-bg);align-items:center}@supports (color:color-mix(in lab, red, red)){.field-heading>span{background:color-mix(in srgb, var(--btn-secondary-bg) 80%, transparent)}}.field-heading>span{border:1px solid var(--border);color:var(--text);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.field-heading>span{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.field-heading>span{flex-shrink:0;justify-content:center;width:28px;height:28px;font-family:inherit;font-size:13px;font-weight:700;display:flex}.field-heading h2{color:var(--text);letter-spacing:-.015em;margin:0;font-size:17px;font-weight:700}.field-heading p{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.45}.choice-row{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.choice-row.three{grid-template-columns:repeat(3,1fr)}.choice{background:var(--card-bg,#0f172aa6);border:1px solid var(--border,#ffffff14);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-height:62px;padding:12px 16px;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex}.choice:hover:not(:disabled){background:var(--card-hover-bg,#1e293bbf);border-color:var(--theme-accent-border,#fff3);transform:translateY(-1px)}.choice:active:not(:disabled){transform:translateY(1px)}.choice.active{background:var(--card-active-bg,#2563eb24);border-color:var(--blue,#3b82f6);box-shadow:0 0 0 1.5px var(--blue,#3b82f6), 0 0 16px var(--theme-ambient-glow,#3b82f640)}.choice:disabled{opacity:.45;cursor:not-allowed}.choice-header{color:var(--text,#f8fafc);align-items:center;gap:9px;display:inline-flex}.choice-header svg{color:var(--muted,#94a3b8);flex-shrink:0;transition:transform .15s,color .15s}.choice:hover:not(:disabled) .choice-header svg{color:var(--blue,#38bdf8);transform:scale(1.08)}.choice.active .choice-header svg{color:var(--blue,#38bdf8);filter:drop-shadow(0 0 6px var(--theme-ambient-glow,transparent))}.choice-title{color:var(--heading-text,#f8fafc);letter-spacing:-.01em;font-size:14px;font-weight:600;transition:color .15s}.choice.active .choice-title{color:var(--heading-text,#fff)}.choice b{color:var(--heading-text,#f8fafc);font-size:14px;font-weight:600}.choice span{align-items:center;display:inline-flex}.choice small{color:var(--muted,#94a3b8);margin-top:1px;font-size:12px;line-height:1.35;transition:color .15s;display:block}.choice.active small{color:var(--blue,#38bdf8)}.choice-row.three .choice{flex-direction:column;align-items:flex-start}.ai-level-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.ai-level-card{background:var(--card-bg,#0f172aa6);border:1px solid var(--border,#ffffff14);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:12px;min-height:52px;padding:8px 12px;transition:all .15s;display:flex}.ai-level-card:hover{background:var(--card-hover-bg,#1e293bbf);border-color:var(--theme-accent-border,#fff3);transform:translateY(-1px)}.ai-level-card:active{transform:translateY(1px)}.ai-level-card.active{background:var(--card-active-bg,#2563eb26);border-color:var(--blue,#3b82f6);box-shadow:0 0 0 1.5px var(--blue,#3b82f6), 0 0 16px var(--theme-ambient-glow,#3b82f640)}.ai-level-badge{background:var(--card-active-bg,#38bdf81f);border:1px solid var(--theme-accent-border,#38bdf840);color:var(--blue,#38bdf8);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.ai-level-card.active .ai-level-badge{background:var(--btn-primary-bg,#2563eb);border-color:var(--btn-primary-border,#60a5fa);color:var(--btn-primary-text,#fff)}.ai-level-info{flex-direction:column;gap:2px;min-width:0;display:flex}.ai-level-title{color:var(--heading-text,#f8fafc);font-size:13px;font-weight:600;line-height:1.2;display:block}.ai-level-card.active .ai-level-title{color:var(--heading-text,#fff)}.ai-level-elo{color:var(--muted);margin-top:1px;font-size:11px;display:block}.ai-level-card.active .ai-level-elo{color:var(--blue,#93c5fd)}@media (width<=768px){.ai-level-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=400px){.ai-level-grid{grid-template-columns:1fr}}.compact-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.compact-fields.with-name{grid-template-columns:1.25fr 1fr 1fr}.compact-fields label,.settings-form label{color:var(--muted);text-transform:uppercase;gap:7px;font-size:13px;font-weight:500;display:grid}select,input,textarea{background:var(--input-bg,#0f172a);border:1px solid var(--border-bright);color:var(--text,white);border-radius:6px;outline:none;min-height:44px;padding:0 14px;font-size:15px}select:focus,input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px var(--theme-ambient-glow,#3b82f62e)}.primary-action,.primary-small,.secondary-action,.text-button{cursor:pointer;letter-spacing:.02em;border-radius:6px;font-size:14px;font-weight:600}.primary-action{background:var(--btn-primary-bg,var(--blue-deep));border:1px solid var(--btn-primary-border,var(--blue));text-transform:uppercase;letter-spacing:.04em;width:100%;min-height:48px;color:var(--btn-primary-text,#fff);justify-content:space-between;align-items:center;margin-top:26px;padding:0 18px;font-size:15px;font-weight:700;transition:all .18s;display:flex}.primary-action:hover,.primary-small:hover{background:var(--btn-primary-hover,var(--blue));border-color:var(--btn-primary-border,var(--blue));box-shadow:0 0 20px var(--theme-ambient-glow,#3b82f640);transform:translateY(-1px)}.primary-action:active,.primary-small:active{transform:translateY(1px)}.primary-action span{font-size:18px}.primary-small{background:var(--btn-primary-bg,var(--blue-deep));border:1px solid var(--btn-primary-border,var(--blue));min-height:38px;color:var(--btn-primary-text,#fff);padding:0 16px;font-size:14px;font-weight:600;transition:all .18s}.secondary-action{background:var(--btn-secondary-bg);border:1px solid var(--border-bright);color:var(--text);justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.secondary-action:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.secondary-action:hover{background:color-mix(in srgb, var(--muted) 35%, transparent)}}.secondary-action:hover{border-color:var(--theme-accent-border,#e2e8f0);color:var(--text)}.secondary-action:active{transform:translateY(1px)}.secondary-action.wide,.primary-small.wide{width:100%}.text-button{color:var(--blue,#7dd3fc);background:0 0;border:0;padding:8px 0;font-size:13px;font-weight:600;transition:color .15s}.text-button:hover{color:var(--border-bright,#fff)}.position-preview{padding:20px}.mini-title{text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:9px;font-weight:800;display:flex}.mini-title i{color:var(--green);font-size:8px;font-style:normal}.board{border:7px solid var(--board-border,#334155);box-sizing:border-box;border-radius:6px;width:100%;box-shadow:0 12px 36px #00000080;aspect-ratio:1!important;grid-template-rows:repeat(8,minmax(0,1fr))!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;display:grid!important;overflow:hidden!important}.square{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;border:0;justify-content:center;align-items:center;width:100%;height:100%;padding:0;font-family:Segoe UI Symbol,Apple Symbols,Noto Sans Symbols,DejaVu Sans,Arial Unicode MS,Helvetica Neue,Georgia,serif;font-size:clamp(23px,4.6vw,48px);transition:background .15s,filter .15s;display:flex;position:relative;aspect-ratio:1!important;opacity:1!important;min-width:0!important;min-height:0!important;overflow:hidden!important}.square.light{background:var(--board-light,#a3d4e8)}.square.dark{background:var(--board-dark,#1c7094)}.square:disabled{cursor:default;opacity:1!important}.square:not(:disabled){cursor:pointer;opacity:1}.square:not(:disabled):hover{filter:brightness(1.08)}.square.selected{z-index:10;box-shadow:inset 0 0 0 3.5px var(--board-last-light,#38bdf8), 0 0 16px var(--board-ambient-glow,#38bdf8bf)!important;background:radial-gradient(circle, var(--board-ambient-glow,#38bdf840) 0%, transparent 70%)!important}.square.last{box-shadow:inset 0 0 0 2.5px var(--board-last-light,#38bdf8cc), inset 0 0 16px var(--board-ambient-glow,#38bdf873)}.square.hint:after{content:"";z-index:10;background:#050a207a;border:2px solid #fffc;border-radius:50%;width:25%;height:25%;transition:transform .15s,background .15s;position:absolute}.square.hint.capture:after,.square.hint.proposal:after{background:0 0;border-color:#fb7185;width:75%;height:75%}.square.hint.fuse:after,.square.hint.merge:after{border-color:var(--violet);background:0 0;width:75%;height:75%;box-shadow:0 0 12px #d946efcc}.square span{line-height:1}.square .chess-piece{justify-content:center;align-items:center;max-width:90%;max-height:90%;line-height:1;display:inline-flex;transform:none}.square .chess-piece.white{color:#fff;text-shadow:none!important;filter:none!important}.square .chess-piece.black{color:#0b1120;text-shadow:none!important;filter:none!important}.square .coord-rank,.square .coord-file{font-family:var(--font-main);z-index:5;text-shadow:0 1px 2px #0009;font-size:11px;font-style:normal;font-weight:700;position:absolute}.square.light .coord-rank,.square.light .coord-file{color:var(--board-coord-light,var(--board-dark,#1c7094))}.square.dark .coord-rank,.square.dark .coord-file{color:var(--board-coord-dark,var(--board-light,#a3d4e8))}.square .coord-rank{top:1px;left:2px}.square .coord-file{bottom:0;right:2px}.preview-meta{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.preview-meta div{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:9px}.preview-meta span,.preview-meta b{display:block}.preview-meta span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.preview-meta b{margin-top:4px;font-size:14px;font-weight:600}.section-title,.page-heading.with-action{justify-content:space-between;align-items:flex-end;display:flex}.section-title h2{font-size:21px}.game-row{grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:15px;padding:16px 18px;display:grid}.opponent-avatar{background:linear-gradient(135deg, var(--muted), #7c3aed);align-items:center}@supports (color:color-mix(in lab, red, red)){.opponent-avatar{background:linear-gradient(135deg, color-mix(in srgb, var(--muted) 35%, transparent), #7c3aed)}}.opponent-avatar{border-radius:5px;justify-content:center;width:40px;height:40px;font-size:13px;font-weight:800;display:flex}.game-description strong,.game-description span{display:block}.game-description strong{font-size:15px;font-weight:600}.game-description span{color:var(--muted);margin-top:4px;font-size:13px}.game-turn{color:var(--green);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.game-turn i{background:var(--green);border-radius:50%;width:7px;height:7px}.game-time{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.game-actions{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.btn-game-remove{background:var(--text);align-items:center}@supports (color:color-mix(in lab, red, red)){.btn-game-remove{background:color-mix(in srgb, var(--text) 4%, transparent)}}.btn-game-remove{border:1px solid var(--border-bright);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;min-width:38px;height:38px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex;position:relative}.btn-game-remove:hover{color:#fca5a5;background:#ef444424;border-color:#ef444473;transform:translateY(-1px)}.btn-game-remove:active{transform:translateY(0)}.btn-game-remove.confirm{color:#fff;background:#ef4444;border-color:#f87171;padding:0 14px;box-shadow:0 0 14px #ef444473}.btn-game-remove.confirm:hover{color:#fff;background:#dc2626;border-color:#ef4444}.confirm-delete-text{letter-spacing:.3px;white-space:nowrap;font-size:13px;font-weight:800;animation:.15s ease-out fadeInDelete}@keyframes fadeInDelete{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.btn-clear-waiting{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef44444d;border-radius:9999px;align-items:center;gap:7px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.btn-clear-waiting:hover{color:#fff;background:#ef444438;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 2px 10px #ef44444d}.btn-clear-waiting:active{transform:translateY(0)}.page-heading{padding:12px 0 5px}.page-heading h1{font-size:clamp(30px,4vw,43px)}.table-panel{-webkit-overflow-scrolling:touch;overflow-x:auto}@supports (grid-template-columns:subgrid){@media (width>=721px){.table-panel{grid-template-columns:minmax(170px,1.4fr) minmax(150px,1.2fr) 95px 115px 125px auto;column-gap:14px;display:grid}.table-panel>*{grid-column:1/-1}.table-panel>.table-head,.table-panel>.table-row{grid-template-columns:subgrid;min-width:0}.table-panel>.table-row .table-actions{flex-wrap:nowrap}}@media (width>=721px) and (width<=980px){.table-panel{grid-template-columns:minmax(140px,1.4fr) minmax(130px,1.1fr) 75px 95px auto;column-gap:10px}}}.table-toolbar{background:var(--panel-2,var(--card-bg,#0f172a8c));border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.table-filters{flex-wrap:wrap;align-items:center;gap:14px;max-width:100%;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label{color:var(--muted,#94a3b8);margin-right:2px;font-size:12px;font-weight:600}.filter-chip{background:var(--card-bg,#1e293bcc);border:1px solid var(--border,#ffffff1a);color:var(--muted,#cbd5e1);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.filter-chip:hover{background:var(--card-hover-bg,#334155e6);color:var(--text,#fff);border-color:var(--theme-accent-border,#fff3)}.filter-chip.active{background:var(--card-active-bg,#38bdf833);border-color:var(--blue,#38bdf899);color:var(--blue,#38bdf8);box-shadow:0 0 10px var(--theme-ambient-glow,#38bdf833)}.filter-chip.win.active{color:#34d399;background:#10b98133;border-color:#10b98199;box-shadow:0 0 10px #10b98133}.filter-chip.loss.active{color:#fca5a5;background:#ef444433;border-color:#ef444499;box-shadow:0 0 10px #ef444433}.filter-chip.draw.active{color:#fde047;background:#eab30833;border-color:#eab30899;box-shadow:0 0 10px #eab30833}.table-stats-count{color:var(--muted);font-size:12px}.table-stats-count strong{color:var(--text)}.table-head .sortable-col{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;transition:color .15s;display:inline-flex}.table-head .sortable-col:hover{color:var(--text)}.table-head .sortable-col.is-sorted{color:var(--blue,#38bdf8)}.sort-indicator{font-size:10px;font-weight:700}.sort-indicator.active-indicator{color:var(--blue,#38bdf8)}.sort-indicator.muted-indicator{opacity:.4}.table-head,.table-row{grid-template-columns:minmax(170px,1.4fr) minmax(150px,1.2fr) 95px 115px 125px 410px;align-items:center;gap:14px;min-width:720px;padding:14px 22px;display:grid}.table-head{background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.table-head{background:color-mix(in srgb, var(--panel-2) 75%, transparent)}}.table-head{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11.5px;font-weight:600}.table-row{border-top:1px solid var(--border);font-size:14px;transition:background .15s}.table-row:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.table-row:hover{background:color-mix(in srgb, var(--text) 2%, transparent)}}.table-row strong{font-size:14px;font-weight:600}.table-col-player{align-items:center;gap:10px;min-width:0;display:flex}.player-color-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.player-color-dot.white{background:#f8fafc;box-shadow:0 0 0 1.5px #64748b}.player-color-dot.black{background:#0f172a;box-shadow:0 0 0 1.5px #64748b}.player-color-dot.dual{background:linear-gradient(135deg,#f8fafc 50%,#0f172a 50%);box-shadow:0 0 0 1.5px #64748b}.opponent-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.table-mode-col{flex-direction:column;gap:3px;min-width:0;display:flex}.table-mode-main{color:var(--text);align-items:center}@supports (color:color-mix(in lab, red, red)){.table-mode-main{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.table-mode-main{gap:5px;font-size:13px;display:flex}.ruleset-tag{color:var(--text);font-weight:600}.move-count-tag{color:var(--muted);font-size:12px}.table-col-color{font-size:13px}.player-color{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.player-color i{font-size:18px;font-style:normal;line-height:1}.player-color.white i{color:#f8fafc}.player-color.black i{color:#64748b}.table-col-result{align-items:center;display:flex}.result{letter-spacing:.02em;border-radius:6px;justify-content:center;align-items:center;width:fit-content;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.result.win{color:#34d399;background:#34d3991f;border:1px solid #34d39940}.result.loss{color:#fb7185;background:#f43f5e1f;border:1px solid #f43f5e40}.result.neutral{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.result.neutral{background:color-mix(in srgb, var(--muted) 12%, transparent)}}.result.neutral{border:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.result.neutral{border:1px solid color-mix(in srgb, var(--muted) 35%, transparent)}}.result.neutral{color:var(--muted)}.table-col-date{color:var(--muted);white-space:nowrap;font-size:12.5px}.muted-action{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}.table-time-badge{background:var(--card-active-bg,#38bdf814);border:1px solid var(--theme-accent-border,#38bdf833);color:var(--blue,#38bdf8);border-radius:6px;align-items:center;gap:4px;width:fit-content;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.table-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.table-actions button{transition:all .15s}.table-actions button:active{transform:translateY(1px)}.time-control-pill{background:var(--card-active-bg,#38bdf81f);border:1px solid var(--theme-accent-border,#38bdf84d);color:var(--blue,#38bdf8);letter-spacing:.02em;box-shadow:0 0 12px var(--theme-ambient-glow,#38bdf826);border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.boards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.board-card{grid-template-columns:45% 55%;min-height:270px;display:grid;overflow:hidden}.board-card-visual{background:var(--card-bg,#0c1431);justify-content:center;align-items:center;display:flex;position:relative}.device-board{border:8px solid var(--border);grid-template-columns:repeat(8,1fr);width:72%;display:grid;transform:rotate(-8deg)}.device-board span{aspect-ratio:1;background:#a3d4e8}.device-board span.device-dark{background:#1c7094}.board-card-visual .online-dot{position:absolute;top:18px;right:18px}.board-card-content{padding:24px}.board-name{justify-content:space-between;align-items:flex-start;display:flex}.board-name span,.board-name small{display:block}.board-name span{font-size:16px;font-weight:700}.board-name small{color:var(--muted);margin-top:5px;font-size:13px}.board-name b{color:var(--green);text-transform:uppercase;font-size:12px;font-weight:700}dl{border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin:22px 0;padding:8px 0}dl div{justify-content:space-between;padding:6px 0;font-size:13px;display:flex}dt{color:var(--muted)}dd{margin:0}.empty-board{text-align:left;border:none;flex-direction:column;align-items:stretch;padding:0;display:flex}.plus-ring{border:1px solid var(--border-bright);color:var(--blue,#7dd3fc);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:18px;font-size:28px;display:flex}.boards-section .page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.boards-header-btn{background:var(--btn-primary-bg,#2563eb);border:1px solid var(--btn-primary-border,#3b82f666);color:var(--btn-primary-text,#fff);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.boards-header-btn:hover{background:var(--btn-primary-hover,#1d4ed8);border-color:var(--blue,#60a5fa);box-shadow:0 0 16px var(--theme-ambient-glow,#2563eb4d)}.boards-header-btn:active{transform:translateY(1px)}.compact-btn{white-space:nowrap;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;display:inline-flex}.empty-boards-showcase{background:var(--panel);border:1px solid var(--border,#ffffff14);text-align:left;border-radius:14px;flex-direction:column;gap:28px;padding:32px 36px;display:flex;box-shadow:0 18px 38px #00000047}.showcase-header{align-items:flex-start;gap:18px;display:flex}.showcase-icon-badge{background:var(--card-active-bg,#38bdf81a);border:1px solid var(--theme-accent-border,#38bdf838);color:var(--blue,#38bdf8);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin-top:2px;display:flex}.showcase-header-text{flex-direction:column;gap:6px;display:flex}.showcase-header-text .eyebrow{color:var(--blue,#38bdf8);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;font-weight:600}.showcase-header-text h2{color:var(--heading-text,#f8fafc);margin:0;font-size:22px;font-weight:700;line-height:1.25}.showcase-header-text p{color:var(--muted,#94a3b8);max-width:620px;margin:0;font-size:14px;line-height:1.55}.showcase-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.showcase-btn{cursor:pointer;letter-spacing:normal;text-transform:none;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:auto;max-width:max-content;min-height:38px;padding:9px 18px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.showcase-btn.primary{background:var(--btn-primary-bg,#2563eb);border:1px solid var(--btn-primary-border,#3b82f666);color:var(--btn-primary-text,#fff)}.showcase-btn.primary:hover{background:var(--btn-primary-hover,#1d4ed8);border-color:var(--blue,#60a5fa);box-shadow:0 0 16px var(--theme-ambient-glow,#2563eb4d)}.showcase-btn.secondary{background:var(--card-bg,#1e293bcc);border:1px solid var(--border,#ffffff1a);color:var(--muted,#cbd5e1)}.showcase-btn.secondary:hover{background:var(--card-hover-bg,#334155e6);border-color:var(--theme-accent-border,#fff3);color:var(--text,#fff)}.showcase-btn:active{transform:translateY(1px)}.board-schematic-wrapper{justify-content:center;align-items:center;width:100%;display:flex}.board-schematic-svg{aspect-ratio:1;filter:drop-shadow(0 16px 32px #00000080);-webkit-user-select:none;user-select:none;width:100%;max-width:320px;height:auto}.showcase-guest-notice{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.showcase-guest-notice{background:color-mix(in srgb, var(--btn-secondary-bg) 40%, transparent)}}.showcase-guest-notice{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:12px;margin-top:6px;padding:16px 20px;display:flex}.showcase-guest-notice p{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.showcase-guest-notice p{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.showcase-guest-notice p{margin:0;font-size:14px}.claim-device-modal{width:100%;max-width:480px}.claim-modal-desc{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.5}.claim-quick-paste{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.claim-fields-split{grid-template-columns:1fr 1fr;gap:12px;display:grid}.claim-modal-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:6px;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-size:13px;display:flex}.claim-modal-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.claim-modal-actions button{border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600}.claim-modal-actions button:active{transform:translateY(1px)}.claim-modal-success{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 0;display:flex}.claim-success-icon{color:#34d399}.claim-modal-success h3{color:var(--text);margin:0;font-size:18px;font-weight:700}.claim-modal-success p{color:var(--muted);margin:0;font-size:14px}.share-pgn-modal,.import-pgn-modal{width:100%;max-width:500px}.share-link-box{margin-bottom:14px}.share-field-label{text-transform:uppercase;color:var(--muted,#94a3b8);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.share-input-row{align-items:center;gap:8px;display:flex}.share-url-input{background:var(--input-bg,#090e1a);border:1px solid var(--border-bright,#38bdf84d);min-width:0;color:var(--text,#f8fafc);border-radius:6px;outline:none;flex:1;padding:9px 12px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.share-url-input:focus{border-color:var(--blue,#38bdf8)}.copy-share-btn.success{color:#10b981;border-color:#10b981}.share-modal-actions-row{gap:10px;margin-top:10px;display:flex}.analytics-global-actions{align-items:center;gap:8px;display:flex}@media (width<=600px){.share-input-row{flex-direction:column;align-items:stretch}.share-modal-actions-row{flex-direction:column}}@media (width<=900px){.showcase-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.showcase-intro{align-items:center}.showcase-actions{justify-content:center}.empty-boards-showcase{text-align:center}}@media (width<=640px){.empty-boards-showcase{gap:24px;margin-bottom:24px;padding:24px 18px 48px}.showcase-intro h2{font-size:20px}.showcase-actions{flex-direction:column;width:100%}.showcase-actions button{justify-content:center;width:100%}.claim-fields-split{grid-template-columns:1fr}}.settings-panel{padding:28px 32px}.settings-panel h2{color:var(--heading-text,#f8fafc);margin-bottom:20px;font-size:22px;font-weight:700}.settings-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.settings-panel-header h2{margin-bottom:0}.user-role-badge{background:var(--card-active-bg,#38bdf826);color:var(--blue,#38bdf8);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.user-rating-chip,.player-rating-pill{background:var(--card-active-bg,#38bdf826);color:var(--blue,#38bdf8);border:1px solid var(--theme-accent-border,#38bdf84d);border-radius:6px;align-items:center;padding:1px 6px;font-size:11px;font-weight:700;transition:all .18s;display:inline-flex}.user-rating-chip{margin-left:4px}.profile-rating-num{color:var(--blue,#38bdf8);font-weight:700}.settings-form{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;display:grid}.settings-form label{color:var(--muted,#94a3b8);font-size:15px;font-weight:600}.settings-form input{min-height:46px;font-size:16px}.rating-overview-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px;display:grid}.rating-tier-card{background:var(--card-bg,#0f172aa6);border:1px solid var(--border,#ffffff14);border-radius:12px;flex-direction:column;justify-content:space-between;padding:18px;transition:all .2s;display:flex}.rating-tier-card:hover{background:var(--card-hover-bg,#1e293bbf);border-color:var(--theme-accent-border,#38bdf859)}.rating-tier-card.chess2-card{border-color:var(--theme-accent-border,#38bdf84d)}.rating-tier-card.classic-card{border-color:var(--border,#94a3b833)}.rating-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.rating-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--blue,#38bdf8);font-size:12px;font-weight:700}.rating-card-label.classic{color:var(--muted,#cbd5e1)}.rating-card-value{color:var(--heading-text,#f8fafc);font-size:28px;font-weight:800;font-family:var(--font-mono,monospace);margin-top:2px;line-height:1.15}.rating-card-unit{color:var(--muted,#94a3b8);font-size:14px;font-weight:600}.rating-badge{background:var(--card-active-bg,#38bdf826);color:var(--blue,#38bdf8);border:1px solid var(--theme-accent-border,#38bdf84d);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.rating-badge.classic{background:var(--card-hover-bg,#94a3b826);color:var(--muted,#cbd5e1);border-color:var(--border,#94a3b840)}.rating-prog-section{margin-top:12px;margin-bottom:14px}.rating-prog-labels{color:var(--muted,#94a3b8);justify-content:space-between;margin-bottom:4px;font-size:11px;display:flex}.rating-prog-bar-track{background:var(--border,#ffffff1a);border-radius:3px;width:100%;height:6px;overflow:hidden}.rating-prog-bar-fill{background:var(--brand-heading-gradient,linear-gradient(90deg, #0284c7, #38bdf8));border-radius:3px;height:100%;transition:width .4s}.rating-prog-next-rank{color:var(--muted,#64748b);margin-top:3px;font-size:11px}.rating-prog-next-rank strong{color:var(--heading-text,#cbd5e1)}.rating-classic-desc{height:45px;color:var(--muted,#94a3b8);align-items:center;font-size:12px;display:flex}.rating-stats-grid{border-top:1px solid var(--border,#ffffff14);text-align:center;grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:12px;display:grid}.rating-stat-lbl{color:var(--muted,#94a3b8);font-size:11px}.rating-stat-val{color:var(--heading-text,#f8fafc);font-size:15px;font-weight:700}.rating-stat-val.win{color:var(--green,#4ade80)}.rating-stat-val.winrate{color:var(--blue,#38bdf8)}.toggle-row{border-top:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;padding:17px 0;display:flex}.toggle-row:last-child{padding-bottom:0}.toggle-row b,.toggle-row small{display:block}.toggle-row b{font-size:16px;font-weight:600}.toggle-row small{color:var(--muted);margin-top:4px;font-size:14px}.toggle-row input{accent-color:var(--blue);min-height:0;transform:scale(1.15)}.danger-zone{justify-content:space-between;align-items:center;display:flex}.danger-zone h2{margin-bottom:5px}.danger-zone p{color:var(--muted);font-size:14px}.guest-note{justify-content:space-between;align-items:center;margin-bottom:25px;padding:14px 17px;display:flex}.guest-note b,.guest-note span{display:block}.guest-note b{font-size:15px;font-weight:600}.guest-note span{color:var(--muted);margin-top:3px;font-size:13px}.mobile-nav{display:none}.select-label{color:var(--muted);gap:7px;margin-top:12px;font-size:13px;font-weight:500;display:grid}.join-box{border-top:1px solid var(--border);gap:10px;margin-top:20px;padding-top:18px;display:grid}.join-box strong{font-size:14px;font-weight:600}.join-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.join-box-standalone{border-top:0;grid-template-columns:minmax(210px,.8fr) minmax(320px,1.7fr) auto;align-items:end;gap:18px;margin-top:0;padding:24px 30px}.join-box-standalone .eyebrow{margin-bottom:6px}.join-box-standalone .secondary-action{white-space:nowrap;min-height:42px}.centered{text-align:center;width:100%}.loading-screen{color:var(--muted);text-align:center;padding:35px;font-size:14px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#010514c2;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel-2);border:1px solid var(--border-bright);border-radius:8px;width:100%;max-width:520px;max-height:calc(100vh - 36px);padding:30px;position:relative;overflow-y:auto;box-shadow:0 28px 80px #00000094}.modal-card h2{margin-bottom:22px;font-size:21px}.modal-card>label{color:var(--muted);text-transform:uppercase;gap:7px;margin-top:13px;font-size:13px;font-weight:500;display:grid}.modal-card>label.remember-me{cursor:pointer;text-transform:none;align-items:center;gap:10px;font-size:13px;display:flex}.modal-card>label.remember-me input{accent-color:var(--blue);flex:none;width:18px;height:18px;min-height:0;padding:0}.auth-options-row{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.auth-forgot-link{color:var(--blue,#38bdf8);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-family:inherit;font-size:13px;font-weight:500;text-decoration:underline;transition:color .15s}.auth-forgot-link:hover{color:#7dd3fc}.auth-instructions{color:var(--muted,#94a3b8);margin:6px 0 14px;font-size:13.5px;line-height:1.5}.auth-notice-text{color:var(--text,#e2e8f0);margin:8px 0;font-size:14.5px;line-height:1.5}.auth-subnotice-text{color:var(--muted,#94a3b8);margin:0 0 20px;font-size:13px;line-height:1.5}.auth-error-banner{color:#fca5a5;background:#ef444426;border:1px solid #ef444459;border-radius:6px;margin-top:10px;padding:8px 12px;font-size:13px}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:10px;right:14px}.claim-card p,.settings-panel p{color:var(--muted);font-size:14px;line-height:1.65}.claim-card textarea{resize:vertical;min-height:130px;padding:10px 12px}.choice-card{max-width:620px}.choice-options{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.choice-options .choice{flex-direction:column}.toast{background:var(--panel-2);align-items:center}@supports (color:color-mix(in lab, red, red)){.toast{background:color-mix(in srgb, var(--panel-2) 96%, transparent)}}.toast{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;text-align:left;z-index:99999;max-width:420px;color:var(--text);border:1px solid #f59e0b99;border-radius:9999px;justify-content:space-between;gap:12px;padding:8px 16px;font-size:13px;font-weight:600;transition:transform .15s,opacity .15s;animation:.2s cubic-bezier(.16,1,.3,1) toast-fade-in;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 32px #000000a6}.toast:hover{transform:scale(1.02)}.toast.danger{color:#fca5a5;background:#1e0f14f5;border-color:#ef4444bf}.toast.success{color:#86efac;background:#0f1e14f5;border-color:#22c55ebf}.toast span{color:var(--muted);margin-left:4px;font-size:16px;line-height:1}.toast:hover span{color:var(--text)}@keyframes toast-fade-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.connection.offline i,.online-dot.offline{background:var(--red);box-shadow:0 0 12px #ef4444bf}.connection.checking i,.connection.connecting i{background:var(--yellow);box-shadow:0 0 12px #fbbf24bf}.claim-page-shell{justify-content:center;align-items:center;padding:34px 18px}.claim-page{gap:22px;width:100%;max-width:680px;display:grid}.claim-brand{justify-content:center;align-items:center;gap:13px;display:flex}.claim-brand>span:last-child{gap:3px;display:grid}.claim-brand b{background:var(--brand-heading-gradient,linear-gradient(90deg, #60a5fa, #e879f9));color:#0000;letter-spacing:.08em;-webkit-background-clip:text;background-clip:text;font-size:21px}.claim-brand small{color:var(--muted);font-size:13px}.claim-page-card{padding:clamp(25px,6vw,48px)}.claim-confirm>p,.claim-state>p,.claim-login>p{color:var(--muted);margin-top:16px;font-size:16px;line-height:1.65}.claim-confirm h1,.claim-state h1{font-size:clamp(30px,7vw,48px)}.claim-board-id{background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.claim-board-id{background:color-mix(in srgb, var(--panel-2) 70%, transparent)}}.claim-board-id{border:1px solid var(--border);border-radius:7px;gap:8px;margin:28px 0 20px;padding:18px 20px;display:grid}.claim-board-id span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:13px}.claim-board-id strong{color:var(--blue,#7dd3fc);letter-spacing:.12em;overflow-wrap:anywhere;font-size:clamp(21px,6vw,31px)}.claim-account{background:var(--btn-secondary-bg);align-items:center}@supports (color:color-mix(in lab, red, red)){.claim-account{background:color-mix(in srgb, var(--btn-secondary-bg) 70%, transparent)}}.claim-account{border:1px solid var(--border);border-radius:7px;gap:13px;padding:14px;display:flex}.claim-account>span{background:var(--brand-mark-bg,linear-gradient(135deg, #3b82f6, #a855f7));border-radius:6px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:800;display:flex}.claim-account small,.claim-account strong{display:block}.claim-account small{color:var(--muted);margin-bottom:3px;font-size:12px}.claim-account strong{font-size:16px}.claim-name{color:var(--muted);text-transform:uppercase;gap:8px;margin-top:20px;font-size:13px;display:grid}.claim-actions{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:24px;display:grid}.claim-actions .primary-action{margin:0}.claim-actions .secondary-action{min-width:110px}.claim-login{border-top:1px solid var(--border);margin-top:24px;padding-top:4px}.claim-state{text-align:center;flex-direction:column;align-items:center;display:flex}.claim-state-icon{border:1px solid var(--border-bright);border-radius:50%;justify-content:center;align-items:center;width:66px;height:66px;margin-bottom:22px;font-size:32px;display:flex}.claim-state-icon.waiting{color:var(--blue,#7dd3fc)}.claim-state-icon.success{color:var(--green);border-color:#34d399cc}.claim-state-icon.danger{color:var(--red);border-color:#ef4444cc}.claim-state .secondary-action{margin-top:24px}.claim-state .claim-actions .secondary-action{margin-top:0}.claim-security-note{color:var(--muted);text-align:center;max-width:560px;margin:0 auto;font-size:12px;line-height:1.6}@media (width<=520px){.claim-page-shell{align-items:flex-start;padding:22px 13px}.claim-page-card{padding:24px 18px}.claim-brand{justify-content:flex-start;padding-inline:4px}.claim-brand .brand-mark{width:42px;height:42px;font-size:24px}.claim-board-id strong{letter-spacing:.07em;white-space:nowrap;font-size:18px}.claim-actions{grid-template-columns:1fr}.claim-actions .primary-action{font-size:14px}.claim-actions .secondary-action{width:100%}}.room-heading{align-items:center!important}.room-heading h1{font-size:clamp(24px,3.5vw,40px)}.invite-panel{justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.invite-panel div{gap:5px;display:grid}.invite-panel span,.invite-panel small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.invite-panel strong{color:var(--blue,#7dd3fc);letter-spacing:.1em;font-size:24px}.game-layout{grid-template-columns:minmax(440px,1fr) minmax(250px,.42fr);align-items:start;gap:22px;display:grid}.game-board-panel{padding:18px}.game-board-panel .board{max-width:700px;margin:12px auto}.player-strip{align-items:center;gap:10px;max-width:700px;margin:0 auto;display:flex}.player-strip.mine{text-align:right;flex-direction:row-reverse}.player-strip b,.player-strip small{display:block}.player-strip b{font-size:15px;font-weight:600}.player-strip small{color:var(--muted);margin-top:3px;font-size:13px}.player-avatar{border:1px solid var(--border-bright);background:#273458;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.game-side{gap:14px;display:grid}.chess2-state{grid-template-columns:repeat(3,1fr);padding:15px;display:grid}.chess2-state div{text-align:center}.chess2-state span,.chess2-state b{display:block}.chess2-state span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.chess2-state b{color:var(--blue,#7dd3fc);margin-top:5px;font-size:16px;font-weight:700}.moves-panel,.game-actions,.game-log{padding:18px}.move-list{grid-template-columns:1fr 1fr;gap:6px;max-height:250px;display:grid;overflow-y:auto}.move-list p,.game-log p{color:var(--muted);font-size:13px;line-height:1.5}.move-list span,.move-list button{background:var(--panel-2);color:var(--text);text-align:left;font-size:13px;font-weight:500;font-family:var(--font-mono);border:0;border-radius:4px;padding:7px 10px}.move-list i{color:var(--muted);margin-right:6px;font-style:normal}.game-actions{gap:9px;display:grid}.danger-action{cursor:pointer;text-transform:uppercase;background:#7f1d1d6b;border:1px solid #b91c1c;border-radius:6px;min-height:38px;padding:0 14px;font-size:13px;font-weight:600}.wide{width:100%}.empty-state{color:var(--muted);text-align:center;gap:7px;padding:34px 20px;font-size:14px;display:grid}.empty-state b{color:var(--heading-text);font-size:16px;font-weight:700}.viewer-grid{grid-template-columns:minmax(560px,1.45fr) minmax(360px,1fr);align-items:start;gap:24px;width:100%;max-width:1520px;margin:0 auto;display:grid}.replay-board{--analysis-board-size:min(calc(100vh - 220px), 700px, calc(100% - 44px));box-sizing:border-box;flex-direction:column;align-items:center;padding:20px;display:flex}.replay-controls{padding:20px}.replay-range{accent-color:var(--blue);width:100%;min-height:20px;padding:0}.move-list.full{grid-template-columns:repeat(2,1fr)}.move-list button{cursor:pointer}.move-list button.active{background:var(--blue-deep)}.link-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.info-note{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.info-note{background:color-mix(in srgb, var(--btn-secondary-bg) 70%, transparent)}}.info-note{border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:14px;font-size:13px;line-height:1.6}.integration-card{justify-content:space-between;align-items:center;display:flex}.integration-card h2{margin-bottom:6px}@media (width<=980px){.setup-grid{grid-template-columns:1fr}.position-preview .board,.position-preview>.mini-title,.position-preview>.preview-meta{display:none}.boards-grid{grid-template-columns:1fr}.game-layout,.viewer-grid{margin-bottom:calc(96px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr}.replay-board{--analysis-board-size:min(calc(100vw - 64px), calc(100% - 32px), calc(100dvh - 280px), 480px);box-sizing:border-box;width:100%;padding:10px 4px 18px;overflow-x:hidden}.join-box-standalone{grid-template-columns:1fr;align-items:stretch}.table-head,.table-row{grid-template-columns:minmax(140px,1.4fr) minmax(130px,1.1fr) 75px 95px 260px;gap:10px;padding:12px 16px}.table-col-date,.table-head>:nth-child(5){display:none}}@media (width<=720px){.sidebar{display:none}.main-area{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));width:100%;max-width:100vw;margin-left:0;overflow-x:hidden}.topbar{-webkit-backdrop-filter:none;background:var(--topbar-bg,#070b19);gap:8px;height:56px;padding:0 14px}.topbar-breadcrumb{display:none}.topbar-user-chip{gap:6px;padding:3px 8px 3px 4px;font-size:12px;display:inline-flex}.topbar-user-chip .user-name{max-width:90px;font-size:12px}.topbar-user-chip .user-rating-chip{display:none}.topbar-auth-btn{padding:5px 11px;font-size:12px}.topbar>span{display:none}.topbar-left,.topbar-right{align-items:center;gap:8px;display:flex}.mobile-brand{color:var(--blue,#38bdf8);font-family:var(--font-brand,var(--font-menu,var(--font-display)));letter-spacing:.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:15px;font-weight:800;display:inline-flex}.connection{font-size:11px;font-weight:600;font-family:var(--font-main,system-ui, -apple-system, sans-serif)}.build-badge{padding:2px 7px;font-size:10.5px}.content{padding:16px 12px calc(115px + env(safe-area-inset-bottom,0px));box-sizing:border-box;max-width:100vw;overflow-x:hidden}.hero{min-height:120px;padding:18px 16px}.hero-knight{opacity:.45;margin-right:-6px;font-size:72px}.hero p{max-width:260px;font-size:13px;line-height:1.4}.setup-main{padding:16px 12px}.choice-row.three{grid-template-columns:1fr}.choice{min-height:48px;padding:10px 12px}.compact-fields,.compact-fields.with-name,.settings-form{grid-template-columns:1fr}.settings-panel{box-sizing:border-box;border-radius:8px;max-width:100%;padding:18px 14px;overflow:hidden}.settings-panel h2{margin-bottom:14px;font-size:18px}.settings-toggle-row{gap:12px;padding:14px 0}.settings-toggle-label{flex:auto;min-width:0}.settings-toggle-label strong{word-break:break-word;font-size:15px}.settings-toggle-desc{word-break:break-word;margin-top:4px;font-size:12px}.settings-switch{flex:0 0 50px}.settings-volume-control{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:12px;width:100%;padding:12px 10px}.btn-sound-test{justify-content:center;width:100%}.settings-volume-slider-wrap{flex-direction:column;align-items:stretch;gap:8px;width:100%;min-width:0}.settings-volume-label{flex:none;justify-content:space-between;width:100%}.settings-volume-slider{flex:none;width:100%;max-width:100%}.integration-card{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:14px;width:100%}.integration-card .primary-small,.integration-card .danger-action{justify-content:center;width:100%;min-height:42px}.board-themes-grid{grid-template-columns:repeat(2,1fr);gap:8px}.board-theme-card{gap:6px;padding:10px 8px}.board-theme-mini{width:44px;height:44px}.board-theme-name{font-size:13px}.btn-test-haptic{box-sizing:border-box;justify-content:center;width:100%;margin-top:8px}.page-heading h1{font-size:24px}.game-row{grid-template-columns:auto 1fr auto;padding:12px 14px}.game-turn{display:none}.game-row .game-actions{grid-column:1/-1;gap:8px;width:100%;margin-top:6px;display:flex}.game-row .game-actions .secondary-action{flex:1;min-height:40px}.game-row .game-actions .btn-game-remove{flex-shrink:0;height:40px}.table-head{display:none}.table-row{grid-template-columns:1fr auto;gap:8px;padding:14px 16px;display:grid}.table-col-player{grid-column:1/2}.table-col-result{grid-column:2/3;justify-self:end}.table-mode-col{grid-column:1/-1}.table-col-color{grid-column:1/2;font-size:12px}.table-col-date{grid-column:2/3;justify-self:end;font-size:12px;display:block}.table-actions{grid-column:1/-1;gap:8px;width:100%;margin-top:6px;display:flex}.table-actions button{flex:1;justify-content:center;min-height:40px}.board-card{grid-template-columns:1fr}.board-card-visual{min-height:180px}.page-heading.with-action{flex-direction:column;align-items:flex-start;gap:12px}.page-heading.with-action .primary-small{white-space:nowrap;width:100%;min-height:44px}.danger-zone{flex-direction:column;align-items:flex-start;gap:14px}.guest-note{flex-direction:column;align-items:flex-start;gap:12px;padding:14px}.guest-note .secondary-action{width:100%;min-height:44px}.mobile-nav{background:var(--mobile-nav-bg,#070b19);-webkit-backdrop-filter:none;border-top:1px solid var(--theme-accent-border,#38bdf840);min-height:58px;padding-bottom:max(6px, env(safe-area-inset-bottom,0px));z-index:50;grid-auto-columns:1fr;grid-auto-flow:column;padding-top:4px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000080}.mobile-nav button{color:var(--muted,#94a3b8);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 4px;transition:all .15s;display:flex}.mobile-nav button span{font-size:20px;line-height:1}.mobile-nav button small{letter-spacing:.02em;font-weight:600;font-family:var(--font-menu,"Unbounded", sans-serif)!important;font-size:10px!important}.mobile-nav button.active{color:var(--blue,#38bdf8)}.mobile-nav button.active span{filter:drop-shadow(0 0 8px var(--theme-ambient-glow,#38bdf899))}.mobile-nav:has(button:only-child){grid-template-columns:1fr}.choice-options{grid-template-columns:repeat(2,1fr)}.game-layout{display:block}.game-side{margin-top:14px}.join-fields{grid-template-columns:1fr}.toast{top:calc(10px + env(safe-area-inset-top,0px));border-radius:9999px;width:max-content;max-width:90vw;padding:7px 14px;font-size:12px;bottom:auto;left:50%;right:auto;transform:translate(-50%);box-shadow:0 8px 24px #000000b3}.toast:hover{transform:translate(-50%)scale(1.02)}.modal-card{border-radius:10px;padding:20px 16px}}@media (width<=480px){.choice-row{grid-template-columns:1fr}.section-title{align-items:flex-start}.hero-knight{opacity:.4;position:absolute;right:8px}}@media (width<=360px){.time-presets-grid{grid-template-columns:1fr}}.app-shell{font-size:17px}.app-shell .brand b{font-family:var(--font-brand,"Unbounded", sans-serif);letter-spacing:.02em;font-size:19px;font-weight:800}.app-shell .brand small{font-size:14px}.app-shell .nav-item{font-family:var(--font-menu,"Unbounded", sans-serif);min-height:46px;font-size:13.5px;font-weight:600}.app-shell .nav-item>span{width:22px;font-size:18px}.app-shell .profile b{font-size:14px}.app-shell .profile small,.app-shell .logout{font-size:12px}.app-shell .crumb-current{font-size:15px}.app-shell .topbar-user-chip .user-name,.app-shell .connection,.app-shell .eyebrow{font-size:14px}.app-shell .hero p,.app-shell .page-heading p{font-size:17px}.app-shell .field-heading>span{width:34px;height:34px;font-size:16px}.app-shell .field-heading h2{font-size:20px}.app-shell .field-heading p,.app-shell .choice .choice-title{font-size:16px}.app-shell .choice small{font-size:13px}.app-shell .compact-fields label,.app-shell .settings-form label,.app-shell .select-label,.app-shell .modal-card>label{font-size:15px}.app-shell select,.app-shell input,.app-shell textarea{font-size:16px}.app-shell .primary-action,.app-shell .primary-small,.app-shell .secondary-action,.app-shell .text-button,.app-shell .danger-action{font-size:15px}.app-shell .primary-action{min-height:58px;font-size:17px}.app-shell .mini-title{font-size:15px}.app-shell .mini-title i{font-size:14px}.app-shell .square small,.app-shell .square em{font-size:10px}.app-shell .preview-meta span{font-size:14px}.app-shell .preview-meta b{font-size:16px}.app-shell .section-title h2{font-size:28px}.app-shell .game-description strong{font-size:18px}.app-shell .game-description span,.app-shell .game-turn{font-size:15px}.app-shell .game-time{font-size:20px}.app-shell .table-head{font-size:15px}.app-shell .table-row{font-size:16px}.app-shell .table-row strong{font-size:18px}.app-shell .muted-action{font-size:15px}.app-shell .board-name span{font-size:19px}.app-shell .board-name small,.app-shell .board-name b{font-size:15px}.app-shell dl div{padding-block:8px;font-size:16px}.app-shell .empty-board h2,.app-shell .settings-panel h2{font-size:22px}.app-shell .empty-board p,.app-shell .claim-card p,.app-shell .settings-panel p{font-size:17px;line-height:1.65}.app-shell .toggle-row b,.app-shell .guest-note b,.app-shell .join-box strong{font-size:17px}.app-shell .toggle-row small,.app-shell .danger-zone p,.app-shell .guest-note span{font-size:15px}.app-shell .loading-screen{font-size:17px}.app-shell .toast{max-width:440px;font-size:13px}.app-shell .invite-panel span{font-size:14px}.app-shell .invite-panel small{font-size:15px}.app-shell .player-strip b{font-size:17px}.app-shell .player-strip small{font-size:15px}.app-shell .player-avatar{width:40px;height:40px;font-size:16px}.app-shell .chess2-state span{font-size:14px}.app-shell .chess2-state b{font-size:22px}.app-shell .move-list p,.app-shell .game-log p,.app-shell .info-note,.app-shell .move-list span,.app-shell .move-list button,.app-shell .empty-state{font-size:16px}.app-shell .empty-state b{font-size:18px}@media (width>=721px){.app-shell .sidebar{width:305px}.app-shell .main-area{width:calc(100% - 305px);margin-left:305px}}@media (width<=720px){.app-shell{font-size:16px}.app-shell .connection{font-size:12px}.app-shell .hero p{max-width:340px;font-size:16px}.app-shell .table-row>:nth-child(2),.app-shell .table-row>:nth-child(5){font-size:14px}.app-shell .mobile-nav button small{font-size:12px}}.legacy-game-page{background:var(--site-bg-gradient,var(--page-bg-gradient,linear-gradient(180deg, #0a1f33 0%, #061320 45%, #02070d 100%)));color:var(--text);font-family:var(--font-main);grid-template-columns:clamp(240px,17vw,270px) minmax(0,1fr) clamp(280px,20vw,320px);height:100dvh;max-height:100dvh;transition:background .4s;display:grid;overflow:hidden}.legacy-game-page .shell-sidebar{background:var(--sidebar);border-right:1px solid var(--border);box-sizing:border-box;align-self:start;height:100dvh;padding:16px 14px;position:sticky;top:0;overflow-y:auto}.legacy-game-page .shell-sidebar-right{background:var(--sidebar);border-left:1px solid var(--border);box-sizing:border-box;flex-direction:column;align-self:start;height:100dvh;padding:16px 14px;display:flex;position:sticky;top:0;overflow:hidden}.legacy-game-page .sidebar-inner{flex-direction:column;gap:12px;display:flex}.legacy-game-page .sidebar-inner-right{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex;overflow:hidden}.legacy-game-page .room-move-list-card{background:var(--panel-2);border:1px solid #1f2937;border-radius:8px;flex-direction:column;flex:auto;height:100%;min-height:0;padding:12px;display:flex;overflow:hidden}.legacy-game-page .room-game-sidebar{min-height:calc(100dvh - 32px)}.legacy-game-page .shell-main{flex-direction:column;min-width:0;height:100dvh;display:flex;overflow:hidden}.legacy-game-page .shell-content{padding:0}.legacy-game-page .room-shell-content{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.legacy-game-page .main-game-shell{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex}.legacy-game-page .main-board-stage{--board-extra-space:110px;--board-size:min(calc(100dvh - var(--board-extra-space)), calc(100vw - clamp(240px, 17vw, 270px) - clamp(280px, 20vw, 320px) - 36px), 820px);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;height:100%;max-height:100dvh;padding:8px 12px;display:flex;overflow:hidden}.legacy-game-page .main-board-stage.has-outcome-mini{--board-extra-space:158px}.legacy-game-page .main-board-stage.has-outcome-banner{--board-extra-space:250px}.legacy-game-page .main-board-stage:has(.game-outcome-banner){--board-extra-space:250px}.legacy-game-page .main-game-brand{border-bottom:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .main-game-brand{border-bottom:1px solid color-mix(in srgb, var(--muted) 25%, transparent)}}.legacy-game-page .main-game-brand{padding-bottom:12px}.legacy-game-page .title-font{font-family:var(--font-geist-mono), "Roboto Mono", monospace}.legacy-game-page .main-game-title{font-family:var(--font-brand);background:var(--brand-heading-gradient,linear-gradient(90deg, #60a5fa, #d946ef));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.42rem;font-weight:800;line-height:1.1}.legacy-game-page .main-game-subtitle{color:var(--muted);margin-top:6px;font-size:.82rem}.legacy-game-page .room-user-card{background:var(--btn-secondary-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.legacy-game-page .avatar{border:1px solid var(--border);background:linear-gradient(135deg,#3b82f66b,#d946ef57);border-radius:8px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;font-weight:800;display:flex}.legacy-game-page .user-name{margin-bottom:4px;font-weight:700}.legacy-game-page .muted{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.legacy-game-page .main-stat-box{background:var(--btn-secondary-bg);border:1px solid var(--border);border-radius:8px;padding:12px}.legacy-game-page .main-stat-row{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.legacy-game-page .main-stat-row+.main-stat-row{margin-top:8px}.legacy-game-page .main-stat-row span{font-size:.78rem}.legacy-game-page .main-stat-row strong{color:var(--text);text-align:right;font-weight:800}.legacy-game-page .main-stat-row.small span,.legacy-game-page .main-stat-row.small strong{letter-spacing:0;text-transform:none;font-size:.78rem}.legacy-game-page .board-missing-status{background:#78350f4d;border-color:#fbbf24b8;gap:8px;display:grid}.legacy-game-page .board-missing-status span{color:#fbbf24;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.legacy-game-page .board-missing-status strong{color:#fbbf24;overflow-wrap:anywhere;text-align:left;font-size:.78rem;line-height:1.45}.legacy-game-page .main-log{background:var(--panel-2);color:#22c55e;border:1px solid #1f2937;border-radius:8px;flex:1;min-height:160px;padding:12px;font-size:.72rem;line-height:1.55;overflow:auto}.legacy-game-page .room-sidebar-actions{gap:6px;margin-top:auto;display:grid}.legacy-game-page .btn{background:var(--btn-secondary-bg);border:1px solid var(--border);box-sizing:border-box;color:var(--text);cursor:pointer;letter-spacing:0;text-transform:none;border-radius:6px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:34px;margin:0;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:flex}.legacy-game-page .btn:hover:not(:disabled){background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .btn:hover:not(:disabled){background:color-mix(in srgb, var(--muted) 35%, transparent)}}.legacy-game-page .btn:hover:not(:disabled){border-color:var(--border-bright);box-shadow:0 0 12px var(--theme-ambient-glow,#3b82f633)}.legacy-game-page .btn:active:not(:disabled){transform:scale(.98)}.legacy-game-page .btn-primary{background:var(--btn-primary-bg,#1d4ed8);border-color:var(--btn-primary-border,#3b82f6);color:var(--btn-primary-text,#fff)}.legacy-game-page .btn-danger{background:#b91c1c;border-color:#ef4444}.legacy-game-page .btn-secondary{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .btn-secondary{background:color-mix(in srgb, var(--muted) 35%, transparent)}}.legacy-game-page .btn-secondary{border-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .btn-secondary{border-color:color-mix(in srgb, var(--muted) 55%, transparent)}}.legacy-game-page .btn-copy{background:var(--card-active-bg,#38bdf826);border-color:var(--theme-accent-border,#38bdf866);color:var(--blue,#7dd3fc)}.legacy-game-page .btn-copy.copied{color:#34d399;background:#10b98133;border-color:#10b98199}.legacy-game-page .main-board-frame{aspect-ratio:1;height:var(--board-size);max-height:var(--board-size);max-width:var(--board-size);min-width:0;width:var(--board-size);flex:none;position:relative}.legacy-game-page .board-wrapper{border:4px solid var(--board-border);box-shadow:0 0 0 2px var(--board-border), 0 0 50px #00000080;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:2px;width:100%;height:100%;position:relative;aspect-ratio:1!important;grid-template-rows:repeat(8,minmax(0,1fr))!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;display:grid!important;overflow:hidden!important}.legacy-game-page .board-wrapper.is-dragging,.legacy-game-page .board-wrapper.is-dragging .board-cell{cursor:grabbing!important}.legacy-game-page .board-wrapper.flip-anim-to-black{will-change:transform;animation:.52s cubic-bezier(.34,1.15,.64,1) both boardSpinToBlack}.legacy-game-page .board-wrapper.flip-anim-to-white{will-change:transform;animation:.52s cubic-bezier(.34,1.15,.64,1) both boardSpinToWhite}.legacy-game-page .board-wrapper.flip-anim-to-black .board-cell{will-change:transform;animation:.52s cubic-bezier(.34,1.15,.64,1) both boardCellSpinToBlack}.legacy-game-page .board-wrapper.flip-anim-to-white .board-cell{will-change:transform;animation:.52s cubic-bezier(.34,1.15,.64,1) both boardCellSpinToWhite}@keyframes boardSpinToBlack{0%{transform:perspective(900px)rotate(-180deg)scale(.95)}50%{transform:perspective(900px)rotate(-90deg)scale(.91)}to{transform:perspective(900px)rotate(0)scale(1)}}@keyframes boardSpinToWhite{0%{transform:perspective(900px)rotate(180deg)scale(.95)}50%{transform:perspective(900px)rotate(90deg)scale(.91)}to{transform:perspective(900px)rotate(0)scale(1)}}@keyframes boardCellSpinToBlack{0%{transform:rotate(180deg)}50%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes boardCellSpinToWhite{0%{transform:rotate(-180deg)}50%{transform:rotate(-90deg)}to{transform:rotate(0)}}.legacy-game-page .board-cell.is-drag-origin .board-piece{opacity:.22;transition:opacity .12s,transform .12s;transform:scale(.88)}.legacy-game-page .board-cell.drop-target-hover,.board .square.drop-target-hover{outline:3px solid var(--board-last-light,var(--blue,#38bdf8));outline-offset:-3px;box-shadow:inset 0 0 24px var(--theme-ambient-glow,#38bdf899), 0 0 12px var(--theme-ambient-glow,#38bdf873);filter:brightness(1.28);z-index:25}.floating-drag-piece{pointer-events:none;z-index:99999;-webkit-user-select:none;user-select:none;will-change:left, top;justify-content:center;align-items:center;width:0;height:0;display:flex;position:fixed;top:0;left:0;transition:none!important}.floating-drag-piece .board-piece{filter:drop-shadow(0 10px 20px #00000073);will-change:transform;cursor:grabbing;font-size:clamp(2.2rem,5.8vmin,4.4rem);line-height:1;transform:translate(-50%,-50%)scale(1.08);transition:none!important}.floating-drag-piece.is-touch-drag .board-piece{filter:drop-shadow(0 8px 16px #00000073)}.legacy-game-page .board-cell{appearance:none;color:inherit;cursor:pointer;font-size:clamp(1.6rem, calc(var(--board-size,80vmin) / 8 * .78), 4.9rem);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;contain:layout paint;border:0;justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:0;transition:none;display:flex;position:relative;aspect-ratio:1!important;box-sizing:border-box!important;min-width:0!important;min-height:0!important;overflow:hidden!important}.legacy-game-page .board-cell.has-animating-piece .board-piece,.legacy-game-page .board-cell.selected .board-piece,.board .chess-piece.animating-slide,.board-cell .board-piece.animating-slide,.board-cell .board-piece.animating-knight-leap,.board-cell .board-piece.animating-legion-leap{will-change:transform;backface-visibility:hidden;transform:translate(0)}.board-cell.has-animating-piece,.chess2-main-board .board-cell.has-animating-piece,.legacy-game-page .board-cell.has-animating-piece{z-index:80!important}.board-cell.has-animating-piece,.legacy-game-page .board-cell.has-animating-piece{contain:none!important;z-index:80!important;overflow:visible!important}.square:has(>.chess-piece:is(.animating-slide,.animating-knight-leap,.animating-legion-leap)){contain:none!important;z-index:80!important;overflow:visible!important}:is(.board-piece,.chess-piece):is(.animating-slide,.animating-knight-leap,.animating-legion-leap){pointer-events:none;will-change:translate;animation:piece-move-path var(--slide-ms,.23s) cubic-bezier(.3, 0, .15, 1) both!important;z-index:100!important;transition:none!important}.square .chess-piece:is(.animating-slide,.animating-knight-leap,.animating-legion-leap){max-width:none;max-height:none;position:relative;width:100%!important;height:100%!important;display:flex!important}@keyframes piece-move-path{0%{translate:var(--slide-x,0) var(--slide-y,0)}to{translate:0}}:is(.board-piece,.chess-piece):is(.animating-slide,.animating-knight-leap,.animating-legion-leap)>*{transform-origin:50% 82%;will-change:transform;transition:none!important}:is(.board-piece,.chess-piece).animating-slide>*{animation:piece-move-lift var(--slide-ms,.23s) linear both}:is(.board-piece,.chess-piece).animating-knight-leap>*{animation:piece-move-leap var(--slide-ms,.3s) linear both}:is(.board-piece,.chess-piece).animating-legion-leap>*{animation:piece-move-leap-heavy var(--slide-ms,.3s) linear both}@keyframes piece-move-lift{0%{animation-timing-function:cubic-bezier(.25,.6,.4,1);transform:translateY(0)scale(1)}40%{animation-timing-function:cubic-bezier(.45,0,.55,1);transform:translateY(-6%)scale(1.08)}85%{animation-timing-function:cubic-bezier(.3,0,.6,1);transform:translateY(0)scale(1)}93%{animation-timing-function:cubic-bezier(.4,0,.4,1);transform:translateY(0)scale(1.035,.955)}to{transform:translateY(0)scale(1)}}@keyframes piece-move-leap{0%{animation-timing-function:cubic-bezier(.2,.6,.35,1);transform:translateY(0)scale(1)}48%{animation-timing-function:cubic-bezier(.55,0,.8,.4);transform:translateY(-38%)scale(1.14)}84%{animation-timing-function:cubic-bezier(.3,0,.6,1);transform:translateY(0)scale(1)}92%{animation-timing-function:cubic-bezier(.4,0,.4,1);transform:translateY(0)scale(1.05,.93)}to{transform:translateY(0)scale(1)}}@keyframes piece-move-leap-heavy{0%{animation-timing-function:cubic-bezier(.2,.6,.35,1);transform:translateY(0)scale(1)}48%{animation-timing-function:cubic-bezier(.55,0,.8,.4);transform:translateY(-44%)scale(1.17)}84%{animation-timing-function:cubic-bezier(.3,0,.6,1);transform:translateY(0)scale(1)}92%{animation-timing-function:cubic-bezier(.4,0,.4,1);transform:translateY(0)scale(1.07,.9)}to{transform:translateY(0)scale(1)}}:is(.board-piece,.chess-piece):is(.animating-slide,.animating-knight-leap,.animating-legion-leap):before{content:"";pointer-events:none;z-index:-1;width:62%;height:16%;animation:piece-move-shadow var(--slide-ms,.23s) linear both;background:radial-gradient(closest-side,#0000006b,#0000002e 55%,#0000);border-radius:50%;position:absolute;bottom:7%;left:19%}:is(.board-piece,.chess-piece):is(.animating-knight-leap,.animating-legion-leap):before{animation-name:piece-move-shadow-leap}@keyframes piece-move-shadow{0%{opacity:0;transform:scale(.75)}40%{opacity:.8;transform:scale(1.05)}85%{opacity:0;transform:scale(.85)}to{opacity:0;transform:scale(.85)}}@keyframes piece-move-shadow-leap{0%{opacity:0;transform:scale(.8)}48%{opacity:.55;transform:scale(.72)}84%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.board-piece.capture-ghost{z-index:0;animation:capture-ghost-hold var(--slide-ms,.23s) linear both}@keyframes capture-ghost-hold{0%,90%{opacity:1}to{opacity:0}}html[data-motion=off] :is(.board-piece,.chess-piece):is(.animating-slide,.animating-knight-leap,.animating-legion-leap),html[data-motion=off] :is(.board-piece,.chess-piece):is(.animating-slide,.animating-knight-leap,.animating-legion-leap)>*,html[data-motion=off] :is(.board-piece,.chess-piece):is(.animating-slide,.animating-knight-leap,.animating-legion-leap):before{animation:none!important}.academy-board .chess-piece.capture-ghost{animation:capture-ghost-hold var(--slide-ms,.23s) linear both;pointer-events:none;z-index:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}html[data-motion=off] :is(.board-piece,.chess-piece).capture-ghost{display:none}.legacy-game-page .board-cell.light{background:var(--board-light,#a3d4e8)}.legacy-game-page .board-cell.dark{background:var(--board-dark,#1c7094)}.legacy-game-page .board-cell.last-move,.board-cell.last-move,.square.last{z-index:2;transition:background .2s,box-shadow .2s;background:var(--board-last-move,#facc1585)!important;box-shadow:inset 0 0 0 2.5px var(--board-last-move-border,#facc15), inset 0 0 20px var(--board-last-move-glow,#facc156b)!important}.legacy-game-page .board-cell.last-move.light,.board-cell.last-move.light,.legacy-game-page .board-cell.last-move.dark,.board-cell.last-move.dark{background:var(--board-last-move,#facc1585)!important}.legacy-game-page .board-cell.last-move.last-move-opponent,.board-cell.last-move.last-move-opponent{animation:.65s cubic-bezier(.2,.8,.2,1) opponentMovePulse;box-shadow:inset 0 0 0 3px var(--board-last-move-border,#facc15), inset 0 0 24px var(--board-last-move-glow,#facc158c), 0 0 12px var(--board-last-move-glow,#facc1559)!important}@keyframes opponentMovePulse{0%{filter:brightness(1.35);box-shadow:inset 0 0 0 4px var(--board-last-move-border,#facc15), inset 0 0 32px var(--board-last-move-glow,#facc15cc), 0 0 16px var(--board-last-move-glow,#facc158c)!important}to{filter:brightness();box-shadow:inset 0 0 0 3px var(--board-last-move-border,#facc15), inset 0 0 24px var(--board-last-move-glow,#facc158c), 0 0 12px var(--board-last-move-glow,#facc1559)!important}}.legacy-game-page .board-cell.last-move-from:after,.board-cell.last-move-from:after{content:"";background:var(--board-last-move-border,#facc15);opacity:.45;pointer-events:none;z-index:1;border-radius:50%;width:14px;height:14px;position:absolute}.legacy-game-page .board-cell.last-move .coord-rank-game,.legacy-game-page .board-cell.last-move .coord-file-game{text-shadow:0 1px 2px #00000080;font-weight:700}@media (hover:hover){.legacy-game-page .board-cell:hover{filter:brightness(1.04)}}.legacy-game-page .chess2-main-board.live-view .board-cell{cursor:default}.legacy-game-page .chess2-main-board.live-view .board-cell:hover{filter:none}.legacy-game-page .board-cell.selected{background:radial-gradient(circle, var(--board-ambient-glow,#38bdf859) 0%, transparent 75%)!important;box-shadow:inset 0 0 0 3.5px var(--board-last-light,#38bdf8), 0 0 18px var(--board-ambient-glow,#38bdf8cc)!important;z-index:12!important}.legacy-game-page .board-cell.selected .board-piece{transform:translateY(-2px)scale(1.04);filter:none!important}.legacy-game-page .board-cell.missing-piece{z-index:24;box-shadow:inset 0 0 0 5px #f97316,inset 0 0 22px #f97316e6}.legacy-game-page .board-cell.in-check,.board .square.in-check{outline-offset:-2px;will-change:opacity, box-shadow;z-index:26;outline:2px solid #f87171e0;animation:1.35s ease-in-out infinite alternate checked-monarch-siege;box-shadow:inset 0 0 20px #ef4444d9,0 0 20px #ef444499,0 0 35px #dc262659;background:radial-gradient(circle,#ef4444f2 0%,#dc2626a6 46%,#b91c1c38 74%,#0000 98%)!important}.legacy-game-page .board-cell.in-check .board-piece,.board .square.in-check .chess-piece{will-change:transform, filter;filter:drop-shadow(0 0 12px #ef4444f2)drop-shadow(0 0 24px #dc2626a6);animation:1.35s ease-in-out infinite checked-monarch-heartbeat}@keyframes checked-monarch-siege{0%{opacity:.82;box-shadow:inset 0 0 16px #ef4444bf,0 0 14px #ef444473}to{opacity:1;box-shadow:inset 0 0 26px #ef4444f2,0 0 28px #ef4444bf,0 0 45px #dc262673}}@keyframes checked-monarch-heartbeat{0%{transform:scale(1)}15%{transform:scale(1.07)}30%{transform:scale(1.02)}45%{transform:scale(1.09)}65%{transform:scale(1)}to{transform:scale(1)}}.legacy-game-page .board-cell.premove-from{z-index:22;position:relative;box-shadow:inset 0 0 0 3px #818cf8d9,0 0 14px #6366f173;background-color:#6366f159!important}.legacy-game-page .board-cell.premove-to{z-index:22;position:relative;box-shadow:inset 0 0 0 3px #a855f7f2,0 0 16px #a855f780;background-color:#a855f761!important}.legacy-game-page .board-cell.premove-to:after{content:"";border-radius:inherit;pointer-events:none;will-change:opacity;animation:1.8s ease-in-out infinite alternate premove-pulse;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #c084fc,0 0 24px #a855f7d9}.legacy-game-page .board-cell.premove-selected{z-index:22;position:relative;box-shadow:inset 0 0 0 3px #818cf8;background-color:#6366f166!important}@keyframes premove-pulse{0%{opacity:.35}to{opacity:1}}.legacy-game-page .premove-status-indicator{color:#e9d5ff;cursor:pointer;background:#a855f72e;border:1px solid #a855f773;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:500;transition:all .15s;animation:.2s fadeIn;display:flex}.legacy-game-page .premove-status-indicator:hover{background:#a855f747;border-color:#a855f7b3}.legacy-game-page .premove-status-left{align-items:center;gap:6px;display:flex}.legacy-game-page .premove-dot{color:#c084fc;will-change:opacity, transform;font-size:14px;animation:1.5s ease-in-out infinite alternate premove-dot-pulse}@keyframes premove-dot-pulse{0%{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.12)}}.legacy-game-page .premove-cancel-btn{color:var(--text);background:0 0;border:none}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .premove-cancel-btn{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.legacy-game-page .premove-cancel-btn{cursor:pointer;padding:0 4px;font-size:13px;line-height:1}.legacy-game-page .premove-cancel-btn:hover{color:#f87171}.legacy-game-page .board-cell.hint,.board-cell.hint{pointer-events:auto;position:relative}.legacy-game-page .board-cell.hint-move:after,.board-cell.hint-move:after,.square.hint-move:after{content:"";z-index:20;background:#10b981a6;border:none;border-radius:50%;width:22%;height:22%;transition:transform .16s cubic-bezier(.2,.8,.25,1),background .16s,box-shadow .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.legacy-game-page .board-cell.hint-move:hover:after,.board-cell.hint-move:hover:after,.square.hint-move:hover:after{background:#10b981f2;transform:translate(-50%,-50%)scale(1.45);box-shadow:0 0 14px #10b981e6}.legacy-game-page .board-cell.hint-attack,.board-cell.hint-attack,.square.hint-attack{transition:transform .16s cubic-bezier(.2,.8,.25,1),box-shadow .16s,background .16s;position:relative;box-shadow:inset 0 0 0 3.5px #ef4444f2,inset 0 0 14px #ef444459!important}.legacy-game-page .board-cell.hint-attack:hover,.board-cell.hint-attack:hover,.square.hint-attack:hover,.legacy-game-page .board-cell.is-tactical-attack:hover,.board-cell.is-tactical-attack:hover,.square.is-tactical-attack:hover{transform:scale(1.04);z-index:25!important;background:radial-gradient(circle,#ef444459 0%,#0000 75%)!important;box-shadow:inset 0 0 0 4px #ef4444,0 0 22px #ef4444e6!important}.legacy-game-page .board-cell.hint-attack:before,.board-cell.hint-attack:before,.square.hint-attack:before,.legacy-game-page .board-cell.hint-attack:after,.board-cell.hint-attack:after,.square.hint-attack:after{display:none!important}.legacy-game-page .board-cell.hint-merge,.board-cell.hint-merge,.square.hint-merge,.legacy-game-page .board-cell.hint-proposal,.board-cell.hint-proposal,.square.hint-proposal{transition:transform .16s cubic-bezier(.2,.8,.25,1),box-shadow .16s;box-shadow:inset 0 0 0 4px #d946ef,inset 0 0 15px #d946ef}.legacy-game-page .board-cell.hint-merge:hover,.board-cell.hint-merge:hover,.square.hint-merge:hover,.legacy-game-page .board-cell.hint-fuse:hover,.board-cell.hint-fuse:hover,.square.hint-fuse:hover{transform:scale(1.04);z-index:25!important;background:radial-gradient(circle,#d946ef59 0%,#0000 75%)!important;box-shadow:inset 0 0 0 4.5px #d946ef,0 0 22px #d946efd9!important}.legacy-game-page .board-cell.hint-castle,.board-cell.hint-castle,.square.hint-castle{box-shadow:inset 0 0 0 3px #ff9203}.legacy-game-page .board-cell.hint-fuse,.board-cell.hint-fuse,.square.hint-fuse{box-shadow:inset 0 0 0 3px #fbbf24,inset 0 0 14px #fbbf24b3}.legacy-game-page .board-cell.hint-shift,.board-cell.hint-shift,.square.hint-shift{position:relative;box-shadow:inset 0 0 0 3px #a855f7,inset 0 0 12px #a855f773!important}.legacy-game-page .board-cell.hint-shift:after,.board-cell.hint-shift:after,.square.hint-shift:after{content:"";z-index:20;background:#a855f7d9;border:none;border-radius:50%;width:24%;height:24%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #a855f7cc}.legacy-game-page .board-cell.hint-shift.is-tactical-attack,.board-cell.hint-shift.is-tactical-attack,.square.hint-shift.is-tactical-attack,.legacy-game-page .board-cell.hint-shift.hint-attack,.board-cell.hint-shift.hint-attack,.square.hint-shift.hint-attack{position:relative;box-shadow:inset 0 0 0 3.5px #c084fc,inset 0 0 16px #a855f799!important}.legacy-game-page .board-cell.hint-shift.is-tactical-attack:after,.board-cell.hint-shift.is-tactical-attack:after,.square.hint-shift.is-tactical-attack:after,.legacy-game-page .board-cell.hint-shift.hint-attack:after,.board-cell.hint-shift.hint-attack:after,.square.hint-shift.hint-attack:after{content:""!important;z-index:20!important;background:0 0!important;border:3.5px solid #c084fcf2!important;border-radius:50%!important;width:80%!important;height:80%!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:0 0 12px #a855f7cc!important}.legacy-game-page .board-piece{pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;justify-content:center;align-items:center;width:100%;height:100%;margin:auto;font-family:Segoe UI Symbol,Apple Symbols,Noto Sans Symbols,DejaVu Sans,Arial Unicode MS,Helvetica Neue,Georgia,serif;line-height:1;transition:transform .14s cubic-bezier(.2,.8,.25,1);display:flex;position:absolute;inset:0;transform:none;filter:none!important}.legacy-game-page .board-piece.white{color:#fff;text-shadow:none!important;filter:none!important}.legacy-game-page .board-piece.black{color:#0b1120;text-shadow:none!important;filter:none!important}.board-piece-svg{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:84%;max-width:84%;height:84%;max-height:84%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;margin:auto;transition:transform .12s;display:block;-webkit-filter:none!important}.board-piece-svg.piece-w,.board-piece-svg.piece-b,html[data-theme-mode=light] .board-piece-svg.piece-w,html[data-theme=ivory] .board-piece-svg.piece-w,html[data-theme-mode=light] .board-piece-svg.piece-b,html[data-theme=ivory] .board-piece-svg.piece-b{filter:none!important}.floating-drag-piece .board-piece .board-piece-svg{transform:scale(1.08);filter:none!important}.legacy-game-page .board-piece.archon,.legacy-game-page .board-piece.special.archon,.square .chess-piece.special-a,.square .chess-piece.special-c{color:#fde047;text-shadow:-1.5px 0 #713f12,1.5px 0 #713f12,0 -1.5px #713f12,0 1.5px #713f12,-1px -1px #713f12,1px -1px #713f12,-1px 1px #713f12,1px 1px #713f12,0 0 10px #facc15d9}.legacy-game-page .board-piece.legion,.legacy-game-page .board-piece.special.legion,.square .chess-piece.special-h{color:#fb923c;text-shadow:-1.5px 0 #7c2d12,1.5px 0 #7c2d12,0 -1.5px #7c2d12,0 1.5px #7c2d12,-1px -1px #7c2d12,1px -1px #7c2d12,-1px 1px #7c2d12,1px 1px #7c2d12,0 0 10px #f97316d9}.legacy-game-page .board-piece.chimera,.legacy-game-page .board-piece.special.chimera,.square .chess-piece.special-x{color:#f0abfc;text-shadow:-1.5px 0 #701a75,1.5px 0 #701a75,0 -1.5px #701a75,0 1.5px #701a75,-1px -1px #701a75,1px -1px #701a75,-1px 1px #701a75,1px 1px #701a75,0 0 12px #d946efe6}.legacy-game-page .board-piece.heavy,.legacy-game-page .board-piece.special.heavy,.square .chess-piece.special-z{color:#fda4af;text-shadow:-1.5px 0 #881337,1.5px 0 #881337,0 -1.5px #881337,0 1.5px #881337,-1px -1px #881337,1px -1px #881337,-1px 1px #881337,1px 1px #881337,0 0 12px #f43f5ee6}.legacy-game-page .board-piece.jaeger,.legacy-game-page .board-piece.special.jaeger,.square .chess-piece.special-j{color:#fde68a;text-shadow:-1.5px 0 #78350f,1.5px 0 #78350f,0 -1.5px #78350f,0 1.5px #78350f,-1px -1px #78350f,1px -1px #78350f,-1px 1px #78350f,1px 1px #78350f,0 0 10px #f59e0bd9}.square .chess-piece.special-a,.square .chess-piece.special-c,.square .chess-piece.special-h,.square .chess-piece.special-x,.square .chess-piece.special-z,.square .chess-piece.special-j{letter-spacing:-.05em;white-space:nowrap;font-size:.8em}.piece-glyph-composite{justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.piece-glyph-base{text-align:center;line-height:1;display:inline-block}.piece-glyph-badge{pointer-events:none;font-size:.44em;font-weight:800;line-height:1;font-family:var(--font-main,system-ui, -apple-system, sans-serif);opacity:.95;filter:drop-shadow(0 1px 2px #000000d9);position:absolute;top:-.1em;right:-.32em}.piece-glyph-badge.badge-j{font-size:.52em;font-weight:900;top:-.18em;right:-.28em}.legacy-game-page .modal{z-index:100;background:#000000e6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.legacy-game-page .modal-card{background:var(--panel,#0f172af5);border:1px solid var(--theme-accent-border,#38bdf859);box-shadow:0 16px 48px #000000a6, 0 0 24px var(--theme-ambient-glow,#38bdf826);border-radius:12px;width:100%;max-width:540px;padding:24px 28px}.legacy-game-page .modal-title{color:var(--text);letter-spacing:.02em;margin-bottom:20px;font-size:1.2rem;font-weight:800}.legacy-game-page .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@keyframes legacy-piece-glow{0%,to{filter:drop-shadow(0 0 4px #d946ef7a)}50%{filter:drop-shadow(0 0 12px #d946efeb)}}@keyframes legacy-line-glow{0%,to{opacity:.7}50%{opacity:1}}.legacy-game-page .moves-empty-state{color:var(--muted);text-align:center;grid-column:span 2;padding:16px 0;font-size:12px;font-style:italic}@media (width<=1200px){.legacy-game-page.three-column-game-page{grid-template-columns:clamp(200px,22vw,240px) minmax(0,1fr) clamp(220px,24vw,280px)}.legacy-game-page .room-sidebar-actions{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:12px;display:grid}.legacy-game-page .room-sidebar-actions .btn:last-child:nth-child(odd){grid-column:1/-1}}.mobile-game-action-bar{display:none}@media (width<=860px){.legacy-game-page{-webkit-overflow-scrolling:touch;height:auto;min-height:100dvh;max-height:none;padding-bottom:max(env(safe-area-inset-bottom,0px), 24px);flex-direction:column;display:flex;overflow:hidden auto}.legacy-game-page .chess2-main-board,.legacy-game-page .main-board-frame,.legacy-game-page .board-wrapper,.legacy-game-page .board-cell{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none!important}.legacy-game-page .board-wrapper{aspect-ratio:1!important;grid-template-rows:repeat(8,minmax(0,1fr))!important;grid-template-columns:repeat(8,minmax(0,1fr))!important}.legacy-game-page .board-cell{aspect-ratio:1!important;box-sizing:border-box!important;min-width:0!important;min-height:0!important;overflow:hidden!important}.legacy-game-page .shell-main{order:1;width:100%;height:auto;padding:0;overflow:visible}.legacy-game-page .shell-sidebar-right{border-left:0;border-top:1px solid var(--border);box-sizing:border-box;order:2;width:100%;max-width:520px;height:auto;margin:0 auto;padding:12px 10px;position:static;overflow:visible}.legacy-game-page .room-sidebar-actions,.legacy-game-page .main-game-brand,.legacy-game-page .room-user-card{display:none!important}.legacy-game-page .shell-sidebar{border-top:1px solid var(--border);width:100%;max-width:var(--board-size);box-sizing:border-box;background:0 0;border-bottom:0;border-left:0;border-right:0;order:3;height:auto;margin:8px auto 20px;padding:8px 12px;position:static;overflow:visible}.legacy-game-page .room-game-sidebar{min-height:0}.legacy-game-page .main-stat-box{background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .main-stat-box{background:color-mix(in srgb, var(--panel-2) 60%, transparent)}}.legacy-game-page .main-stat-box{border:1px solid var(--border);border-radius:8px;padding:8px 12px}.legacy-game-page .main-stat-box .main-stat-row:not(.small){display:none}.legacy-game-page .main-stat-box .main-stat-row.small{padding:3px 0;font-size:11px}.tactical-actions-grid{gap:6px;grid-template-columns:repeat(3,1fr)!important}.btn-tactical{height:38px;padding:0 4px;font-size:11px;font-weight:600}.legacy-game-page .room-move-list-card{max-height:260px}.legacy-game-page .room-move-list-grid{max-height:180px}.legacy-game-page .main-board-stage{--board-size:min(100vw, calc(100dvh - 135px), 540px);box-sizing:border-box;flex-direction:column;align-items:center;width:100%;height:auto;max-height:none;padding:2px 0 6px;display:flex}.legacy-game-page .main-board-stage.has-outcome-mini{--board-size:min(100vw, calc(100dvh - 180px), 540px)}.legacy-game-page .main-board-stage.has-outcome-banner{--board-size:min(100vw, calc(100dvh - 300px), 540px)}.legacy-game-page .main-board-frame,.player-bar{width:var(--board-size);max-width:var(--board-size)}.legacy-game-page .board-wrapper{border:1px solid var(--board-border);border-radius:0;box-shadow:0 4px 18px #00000073}.mobile-game-action-bar{width:100%;max-width:var(--board-size);padding:0 2px max(env(safe-area-inset-bottom,0px), 2px);box-sizing:border-box;justify-content:center;align-items:center;gap:6px;margin:8px auto 0;display:flex}.mobile-game-action-btn{min-width:0;height:34px;font-size:12px;font-weight:600;font-family:var(--font-main,system-ui, -apple-system, sans-serif);background:var(--btn-secondary-bg);flex:1 1 0;justify-content:center;align-items:center;gap:4px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mobile-game-action-btn{background:color-mix(in srgb, var(--btn-secondary-bg) 90%, transparent)}}.mobile-game-action-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:6px;padding:0 6px;transition:all .15s;overflow:hidden}.mobile-game-action-btn span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-game-action-btn:active{background:var(--muted);transform:scale(.96)}@supports (color:color-mix(in lab, red, red)){.mobile-game-action-btn:active{background:color-mix(in srgb, var(--muted) 48%, transparent)}}.mobile-game-action-btn.btn-danger{color:#fca5a5;background:#ef44442e;border-color:#ef444466}.mobile-game-action-btn.btn-copy{background:var(--card-active-bg,#38bdf826);border-color:var(--theme-accent-border,#38bdf866);color:var(--blue,#7dd3fc)}.mobile-game-action-btn.btn-copy.copied{color:#34d399;background:#10b98133;border-color:#10b98199}}.room-mobile-topbar{display:none}@media (width<=860px){.room-mobile-topbar{width:100%;max-width:var(--board-size);box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;margin:0 auto 6px;padding:0 2px;display:flex}.room-mobile-back-btn{background:var(--btn-secondary-bg);border-radius:6px;align-items:center;gap:5px;height:32px;padding:0 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.room-mobile-back-btn{background:color-mix(in srgb, var(--btn-secondary-bg) 85%, transparent)}}.room-mobile-back-btn{border:1px solid var(--border);color:var(--text)}@supports (color:color-mix(in lab, red, red)){.room-mobile-back-btn{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.room-mobile-back-btn{cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;font-size:12px;font-weight:600;transition:all .15s}.room-mobile-back-btn:active{background:var(--muted);transform:scale(.96)}@supports (color:color-mix(in lab, red, red)){.room-mobile-back-btn:active{background:color-mix(in srgb, var(--muted) 48%, transparent)}}.room-mobile-back-btn:active{color:var(--text)}.room-mobile-title-block{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.room-mobile-mode-badge{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.room-mobile-code-btn{font-size:11px;font-weight:700;font-family:var(--font-geist-mono,monospace);background:var(--card-active-bg,#38bdf81f);border:1px solid var(--theme-accent-border,#38bdf84d);color:var(--blue,#38bdf8);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 7px}.room-mobile-theme-btn{background:var(--btn-secondary-bg);border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.room-mobile-theme-btn{background:color-mix(in srgb, var(--btn-secondary-bg) 85%, transparent)}}.room-mobile-theme-btn{border:1px solid var(--border);color:var(--text)}@supports (color:color-mix(in lab, red, red)){.room-mobile-theme-btn{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.room-mobile-theme-btn{cursor:pointer;flex:none;transition:all .15s}.room-mobile-theme-btn:active{background:var(--muted);transform:scale(.96)}@supports (color:color-mix(in lab, red, red)){.room-mobile-theme-btn:active{background:color-mix(in srgb, var(--muted) 48%, transparent)}}.room-mobile-theme-btn:active{color:var(--text)}}@media (width<=640px){.player-side-label{display:none}.player-side-pill{gap:0;height:26px;padding:0 6px}.player-bar-name{max-width:90px;font-size:13px}.captured-pieces{max-width:190px}}@media (width<=520px){.player-bar{gap:6px;height:36px;min-height:36px;padding:0 6px}.player-bar-name{max-width:75px;font-size:12px}.player-bar-avatar{width:24px;height:24px;font-size:11px}.player-side-pill{height:24px;padding:0 5px}.player-clock{height:24px;padding:2px 6px;font-size:12px}.captured-pieces{max-width:160px;height:24px;padding:0 4px}.material-advantage{margin-left:2px;padding:1px 3px;font-size:10px}.opponent-disconnected-tag{padding:2px 5px;font-size:10px}}.legacy-game-page .coord-rank-game,.legacy-game-page .coord-file-game{font-family:var(--font-main);pointer-events:none;z-index:5;-webkit-user-select:none;user-select:none;margin:0;padding:0;font-size:clamp(8px,1.1vmin,12px);font-style:normal;font-weight:700;line-height:1;position:absolute}.legacy-game-page .coord-rank-game{top:2px;left:2px}.legacy-game-page .coord-file-game{bottom:2px;right:2px}.legacy-game-page .board-cell.light .coord-rank-game,.legacy-game-page .board-cell.light .coord-file-game{color:var(--board-coord-light,var(--board-dark,#1c7094))}.legacy-game-page .board-cell.dark .coord-rank-game,.legacy-game-page .board-cell.dark .coord-file-game{color:var(--board-coord-dark,var(--board-light,#a3d4e8))}.player-bar{background:var(--btn-secondary-bg);align-items:center}@supports (color:color-mix(in lab, red, red)){.player-bar{background:color-mix(in srgb, var(--btn-secondary-bg) 88%, transparent)}}.player-bar{border:1px solid var(--theme-accent-border,#334155);box-shadow:0 2px 10px #00000059, 0 0 12px var(--theme-ambient-glow,transparent);box-sizing:border-box;height:40px;max-width:var(--board-size);min-height:40px;width:var(--board-size);border-radius:6px;flex:none;gap:10px;padding:0 10px;transition:border-color .3s,box-shadow .3s;display:flex}.player-bar-avatar{background:linear-gradient(135deg, var(--muted), var(--muted));align-items:center}@supports (color:color-mix(in lab, red, red)){.player-bar-avatar{background:linear-gradient(135deg, color-mix(in srgb, var(--muted) 35%, transparent), color-mix(in srgb, var(--muted) 35%, transparent))}}.player-bar-avatar{border:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.player-bar-avatar{border:1px solid color-mix(in srgb, var(--muted) 55%, transparent)}}.player-bar-avatar{border-radius:5px;flex:none;justify-content:center;width:28px;height:28px;font-size:13px;font-weight:800;display:flex}.player-bar-avatar-me{background:var(--brand-mark-bg,linear-gradient(135deg, #3b82f6, #a855f7));border-color:var(--blue,#60a5fa)}.player-bar-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.player-bar-name{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:140px;font-size:14px;font-weight:700;display:block;overflow:hidden}.player-side-pill{box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:5px;flex:none;align-items:center;gap:5px;height:28px;padding:0 9px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex}.player-side-pill.white{color:#0f172a;background:#f8fafc;border:1px solid #0f172a2e}.player-side-pill.black{color:#f1f5f9;--piece-black-body:#243044;--piece-black-stroke:#cbd5e1;--piece-black-inner:#f8fafc;background:#1e293b;border:1px solid #94a3b866}.player-side-pill .side-piece-icon{flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.opponent-disconnected-tag{color:#fca5a5;-webkit-user-select:none;user-select:none;background:#ef444433;border:1px solid #ef444473;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1;animation:2s ease-in-out infinite pulse-disconnect;display:inline-flex}@keyframes pulse-disconnect{0%,to{opacity:1}50%{opacity:.6}}.captured-pieces{background:var(--panel-2);align-items:center}@supports (color:color-mix(in lab, red, red)){.captured-pieces{background:color-mix(in srgb, var(--panel-2) 78%, transparent)}}.captured-pieces{border:1px solid var(--theme-accent-border,#94a3b840);box-shadow:inset 0 1px 2px #0006, 0 0 8px var(--theme-ambient-glow,transparent);box-sizing:border-box;border-radius:6px;flex-wrap:nowrap;flex:auto;gap:2px;min-width:0;max-width:240px;height:28px;margin-top:0;padding:0 6px 0 5px;line-height:1;transition:border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.captured-pieces-list{scrollbar-width:none;flex-wrap:nowrap;flex:auto;align-items:center;min-width:0;line-height:1;display:flex;overflow-x:auto}.captured-pieces-list::-webkit-scrollbar{display:none}.captured-piece-glyph{vertical-align:middle;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.captured-piece-glyph.is-stacked{margin-left:-9px}.captured-piece-glyph.is-new-group{margin-left:3px}.captured-piece-glyph .chess-piece-svg{filter:drop-shadow(0 1px 2px #000000b3)}.captured-piece-glyph .chess-piece-svg.piece-white,.player-side-pill .side-piece-icon.piece-white{filter:drop-shadow(0 0 1.2px #fffffff2)drop-shadow(0 1px 2px #000000d9)}.captured-piece-glyph .chess-piece-svg.piece-black,.player-side-pill .side-piece-icon.piece-black{filter:drop-shadow(0 1px 2px #000c)}.material-advantage{background:var(--theme-accent,var(--text));align-items:center}@supports (color:color-mix(in lab, red, red)){.material-advantage{background:color-mix(in srgb, var(--theme-accent,var(--text)) 14%, transparent)}}.material-advantage{border:1px solid var(--theme-accent-border,var(--border));box-sizing:border-box;color:var(--theme-accent-text,var(--text));font-family:var(--font-geist-mono,monospace);letter-spacing:-.2px;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:4px;flex:none;margin-left:4px;padding:2px 5px;font-size:11.5px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0000004d}.player-clock{background:var(--panel-2);align-items:center}@supports (color:color-mix(in lab, red, red)){.player-clock{background:color-mix(in srgb, var(--panel-2) 85%, transparent)}}.player-clock{border:1.5px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.player-clock{border:1.5px solid color-mix(in srgb, var(--muted) 42%, transparent)}}.player-clock{box-sizing:border-box;color:var(--muted);letter-spacing:.04em;-webkit-user-select:none;user-select:none;border-radius:6px;flex:none;gap:5px;height:28px;padding:0 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;font-weight:700;line-height:1;transition:all .2s;display:inline-flex;box-shadow:inset 0 1px 3px #00000080}.player-clock.active{background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.player-clock.active{background:color-mix(in srgb, var(--panel-2) 95%, transparent)}}.player-clock.active{border-color:var(--theme-accent,var(--blue,#38bdf8));box-shadow:0 0 12px var(--theme-ambient-glow,#38bdf859), inset 0 1px 2px #00000080;color:var(--text)}.player-clock.low-time{color:#fca5a5;background:#450a0ad9;border-color:#ef4444;position:relative;box-shadow:0 0 10px #ef444480}.player-clock.low-time:after{content:"";border-radius:inherit;pointer-events:none;will-change:opacity;border:1px solid #f87171;animation:1s ease-in-out infinite alternate clock-urgent-pulse;position:absolute;inset:-1px;box-shadow:0 0 18px #ef4444d9}@keyframes clock-urgent-pulse{0%{opacity:.35}to{opacity:1}}.player-clock .clock-icon{opacity:.75;font-size:12px;font-style:normal}.player-clock.active .clock-icon{opacity:1;color:var(--theme-accent,var(--blue,#38bdf8))}.player-clock.low-time .clock-icon{color:#f87171}.turn-indicator{color:var(--muted);flex:none;font-size:18px;transition:color .3s,text-shadow .3s}.turn-indicator.active{color:var(--green);text-shadow:0 0 14px #34d399e6;will-change:opacity;animation:1.5s ease-in-out infinite alternate turn-pulse}@keyframes turn-pulse{0%{opacity:.65}to{opacity:1}}.room-move-list{background:var(--panel-2);border:1px solid #1f2937;border-radius:8px;flex-direction:column;max-height:250px;padding:10px 12px;display:flex;overflow:hidden}.room-move-list-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.room-moves-count{background:var(--btn-secondary-bg);color:var(--muted);border-radius:9999px;padding:1px 7px;font-size:11px;font-weight:600}.room-move-tabs{border-bottom:1px solid var(--border);gap:4px;width:100%;padding-bottom:6px;display:flex}.room-move-tab{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.room-move-tab:hover{background:var(--btn-secondary-bg);color:var(--text)}.room-move-tab.active{background:var(--card-active-bg,#1e293b);color:var(--blue,#38bdf8);border-color:var(--theme-accent-border,#38bdf866);box-shadow:0 0 8px var(--theme-ambient-glow,#38bdf826)}.tab-count{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tab-count{background:color-mix(in srgb, var(--muted) 35%, transparent)}}.tab-count{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.tab-count{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.tab-count{border-radius:9999px;padding:1px 5px;font-size:.65rem;font-weight:700;line-height:1.2}.tab-count-tactics{color:#fde047;background:#eab30833;border:1px solid #eab30859}.room-tactical-feed-list{scroll-behavior:smooth;flex-direction:column;flex:auto;gap:6px;min-height:0;padding-top:4px;padding-right:4px;display:flex;overflow-y:auto}.tactical-feed-empty{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 12px;display:flex}.tactical-feed-empty .empty-icon{opacity:.6;font-size:2rem}.tactical-feed-empty p{color:var(--muted);margin:0;font-size:.82rem;font-weight:600}.tactical-feed-empty small{color:var(--muted);font-size:.72rem;line-height:1.3}.tactical-feed-item{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:8px;padding:7px 9px;transition:background .12s;display:flex}.tactical-feed-item:hover{background:var(--card-hover-bg);border-color:var(--border)}.tactical-feed-item.side-white{border-left:3px solid #e2e8f0}.tactical-feed-item.side-black{border-left:3px solid #0284c7}.tactical-feed-item.side-system{border-left:3px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.tactical-feed-item.side-system{border-left:3px solid color-mix(in srgb, var(--muted) 55%, transparent)}}.tactical-item-icon{flex-shrink:0;margin-top:2px;font-size:1.15rem;line-height:1}.tactical-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tactical-item-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tactical-item-side-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:1px 4px;font-size:.62rem;font-weight:700;line-height:1.2}.tactical-item-side-pill.pill-white{color:#0f172a;background:#f1f5f9}.tactical-item-side-pill.pill-black{color:#fff;background:#0284c7}.tactical-item-side-pill.pill-system{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tactical-item-side-pill.pill-system{background:color-mix(in srgb, var(--muted) 35%, transparent)}}.tactical-item-side-pill.pill-system{color:var(--muted)}.tactical-item-title{color:var(--text);flex:1;font-size:.78rem;font-weight:600}.tactical-item-pts{border-radius:4px;padding:1px 5px;font-size:.7rem;font-weight:700;line-height:1.2}.tactical-item-pts.pts-pos{color:#4ade80;background:#22c55e33;border:1px solid #22c55e66}.tactical-item-pts.pts-neg{color:#f87171;background:#ef444433;border:1px solid #ef444466}.tactical-item-detail{color:var(--muted);font-size:.72rem;line-height:1.25}.room-move-list-title{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:0;font-size:.72rem;font-weight:700}.room-move-list-grid{flex-direction:column;flex:auto;align-content:start;gap:3px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.room-move-row{grid-template-columns:28px 1fr 1fr;align-items:center;gap:6px;height:28px;min-height:28px;display:grid}.room-move-num{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;padding-right:4px;font-size:11px;font-weight:600}.room-move-item{background:var(--btn-secondary-bg);box-sizing:border-box;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:4px;justify-content:flex-start;align-items:center;width:100%;height:28px;min-height:28px;max-height:28px;padding:0 8px;font-size:13px;font-weight:500;transition:all .12s;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.room-move-item:hover{background:color-mix(in srgb, var(--muted) 35%, transparent)}}.room-move-item:hover{border-color:var(--border);color:var(--text)}.room-move-item.active-move{background:var(--card-active-bg,#3b82f659);border-color:var(--blue,#3b82f6);box-shadow:0 0 8px var(--theme-ambient-glow,#3b82f666);color:#fff;font-weight:700}.room-move-empty{color:var(--muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:28px;font-size:12px;display:flex}.online-text{color:var(--green)}.offline-text{color:var(--yellow)}.room-code-highlight{color:var(--blue,#7dd3fc);letter-spacing:.08em}.legacy-game-page .main-stat-row.turn-active{background:#34d3991a;border-radius:4px;margin:-4px -8px;padding:4px 8px}.btn-copy{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.btn-copy{background:color-mix(in srgb, var(--btn-secondary-bg) 70%, transparent)}}.btn-copy{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-copy:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.btn-copy:hover{background:color-mix(in srgb, var(--muted) 42%, transparent)}}.btn-copy:hover{border-color:var(--blue,#38bdf866);color:var(--text);transform:translateY(-1px)}.btn-copy.copied{color:#34d399;background:#10b9812e;border-color:#10b98180;box-shadow:0 0 12px #10b98140}.promotion-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;display:grid}@media (width<=520px){.promotion-grid{grid-template-columns:repeat(2,1fr)}}.btn-promotion-card{background:linear-gradient(180deg, var(--btn-secondary-bg) 0%, var(--panel-2) 100%);align-items:center}@supports (color:color-mix(in lab, red, red)){.btn-promotion-card{background:linear-gradient(180deg, color-mix(in srgb, var(--btn-secondary-bg) 95%, transparent) 0%, color-mix(in srgb, var(--panel-2) 98%, transparent) 100%)}}.btn-promotion-card{border:1.5px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.btn-promotion-card{border:1.5px solid color-mix(in srgb, var(--muted) 39%, transparent)}}.btn-promotion-card{cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;gap:10px;padding:20px 12px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000059}.btn-promotion-card:before{content:"";background:radial-gradient(circle at 50% 35%, var(--theme-ambient-glow,#38bdf82e), transparent 70%);opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.btn-promotion-card:hover{background:linear-gradient(180deg, var(--muted) 0%, var(--btn-secondary-bg) 100%)}@supports (color:color-mix(in lab, red, red)){.btn-promotion-card:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--muted) 49%, transparent) 0%, var(--btn-secondary-bg) 100%)}}.btn-promotion-card:hover{border-color:var(--blue,#38bdf8);box-shadow:0 0 22px var(--theme-ambient-glow,#38bdf86b), 0 8px 24px #00000073;transform:translateY(-3px)}.btn-promotion-card:hover:before{opacity:1}.btn-promotion-card:active{box-shadow:0 0 12px var(--theme-ambient-glow,#38bdf84d);transform:translateY(-1px)}.promotion-glyph{font-family:Georgia,serif;font-size:48px;line-height:1;transition:transform .2s;display:block}.btn-promotion-card:hover .promotion-glyph{transform:scale(1.1)}.promotion-glyph.white{color:#fff;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000,0 0 8px #ffffff80;filter:drop-shadow(0 4px 6px #000000b3)}.promotion-glyph.black{color:#0b1120;-webkit-text-stroke:1px #fffffff2;text-shadow:-1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, 0 0 6px #fff, 0 0 14px var(--theme-ambient-glow,#38bdf8bf);filter:drop-shadow(0 4px 6px #000000d9)}.promotion-piece-name{color:var(--text);letter-spacing:.02em;font-size:15px;font-weight:700}.settings-toggle-row{border-bottom:1px solid var(--border);box-sizing:border-box;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:16px 0;display:flex}.settings-toggle-row:last-child{border-bottom:0}.settings-toggle-label{flex:auto;min-width:0}.settings-toggle-label strong{color:var(--text);letter-spacing:-.01em;word-break:break-word;font-size:17px;font-weight:600;display:block}.settings-toggle-label span{color:var(--muted);word-break:break-word;margin-top:4px;font-size:14px;line-height:1.5;display:block}.settings-switch{flex:0 0 50px;width:50px;height:28px;display:inline-block;position:relative}.settings-switch input{opacity:0;width:0;height:0}.settings-slider{cursor:pointer;background-color:var(--muted);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.settings-slider{background-color:color-mix(in srgb, var(--muted) 35%, transparent)}}.settings-slider{border-radius:28px;transition:all .2s}.settings-slider:before{content:"";background-color:#fff;border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;bottom:3px;left:3px}.settings-switch input:checked+.settings-slider{background-color:var(--green)}.settings-switch input:checked+.settings-slider:before{transform:translate(22px)}.settings-volume-control{background:var(--card-bg,#0f172aa6);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;max-width:100%;margin-top:16px;padding:14px 18px;display:flex}.btn-sound-test{background:var(--btn-secondary-bg,var(--card-hover-bg,#1e293b));border:1px solid var(--theme-accent-border,var(--border-bright));color:var(--text,#f8fafc);cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:38px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:600;transition:all .18s;display:inline-flex}.btn-sound-test:hover{background:var(--card-hover-bg,#334155);border-color:var(--blue);color:var(--heading-text,#fff);box-shadow:0 0 14px var(--theme-ambient-glow,#3b82f64d)}.settings-volume-slider-wrap{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.settings-volume-label{color:var(--muted);white-space:nowrap;flex:0 0 150px;align-items:center;gap:6px;width:150px;font-size:15px;display:inline-flex}.settings-volume-label b,.settings-volume-value{color:var(--blue,#38bdf8);text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";min-width:44px;font-size:16px;font-weight:700;display:inline-block}.settings-volume-slider{appearance:none;background:linear-gradient(to right, var(--theme-accent,var(--blue,#38bdf8)) 0%, var(--theme-accent,var(--blue,#38bdf8)) var(--fill-percent,80%), #ffffff29 var(--fill-percent,80%), #ffffff29 100%);cursor:pointer;box-sizing:border-box;border-radius:9999px;outline:none;flex:0 0 220px;width:220px;max-width:240px;height:6px;min-height:0;transition:opacity .2s;border:none!important;margin:0!important;padding:0!important}.settings-volume-slider::-webkit-slider-runnable-track{background:0 0;border:none;border-radius:9999px;height:6px;margin:0;padding:0}.settings-volume-slider::-webkit-slider-thumb{appearance:none;border:2px solid var(--theme-accent,var(--blue,#38bdf8));width:18px;height:18px;box-shadow:0 0 8px var(--theme-ambient-glow,#38bdf880);cursor:pointer;background:#fff;border-radius:50%;margin-top:-6px;transition:transform .15s,box-shadow .15s}.settings-volume-slider:hover::-webkit-slider-thumb{box-shadow:0 0 12px var(--theme-ambient-glow,#38bdf8b3);transform:scale(1.15)}.settings-volume-slider:active::-webkit-slider-thumb{box-shadow:0 0 14px var(--theme-ambient-glow,#38bdf8d9);transform:scale(1.1)}.settings-volume-slider::-moz-range-thumb{border:2px solid var(--theme-accent,var(--blue,#38bdf8));width:18px;height:18px;box-shadow:0 0 8px var(--theme-ambient-glow,#38bdf880);cursor:pointer;background:#fff;border-radius:50%;transition:transform .15s,box-shadow .15s}.settings-volume-slider:hover::-moz-range-thumb{box-shadow:0 0 12px var(--theme-ambient-glow,#38bdf8b3);transform:scale(1.15)}.settings-volume-slider:active::-moz-range-thumb{box-shadow:0 0 14px var(--theme-ambient-glow,#38bdf8d9);transform:scale(1.1)}.settings-volume-slider::-moz-range-track{background:0 0;border:none;border-radius:9999px;height:6px}.settings-volume-slider::-moz-range-progress{background:0 0;border-radius:9999px;height:6px}.board-cell:not(:disabled):hover .board-piece,.square:not(:disabled):hover .chess-piece{transform:translateY(-2px)scale(1.05)}[data-show-coords=false] .coord-rank,[data-show-coords=false] .coord-file,[data-show-coords=false] .coord-rank-game,[data-show-coords=false] .coord-file-game{display:none!important}.confirm-flash{color:#fff!important;background:#dc2626!important;font-weight:700!important;animation:.6s ease-in-out infinite alternate confirm-blink!important}@keyframes confirm-blink{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.03);box-shadow:0 0 16px #dc2626cc}}.game-outcome-banner{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-sizing:border-box;max-width:var(--board-size);width:var(--board-size);z-index:40;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:2px;padding:8px 12px;transition:all .2s;display:flex;box-shadow:0 8px 32px #000000b3}.outcome-banner-top-row{align-items:center;gap:10px;width:100%;display:flex}.game-outcome-banner.win{background:#10b98138;border:1px solid #10b981;box-shadow:0 0 24px #10b98159}.game-outcome-banner.loss{background:#ef444438;border:1px solid #ef4444;box-shadow:0 0 24px #ef444459}.game-outcome-banner.draw{background:var(--card-active-bg,#3b82f638);border:1px solid var(--theme-accent-border,#3b82f6);box-shadow:0 0 24px var(--theme-ambient-glow,#3b82f659)}.outcome-badge-icon{align-items:center;font-size:26px;line-height:1;display:flex}.outcome-badge-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.outcome-badge-title{color:var(--heading-text);font-family:var(--font-pixel);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.outcome-badge-desc{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.outcome-badge-desc{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.outcome-badge-desc{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.outcome-close-icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:inline-flex}.outcome-close-icon-btn:hover{color:var(--text);background:var(--text)}@supports (color:color-mix(in lab, red, red)){.outcome-close-icon-btn:hover{background:color-mix(in srgb, var(--text) 12%, transparent)}}.outcome-badge-actions{gap:6px;width:100%;display:flex}.btn-outcome-action{cursor:pointer;white-space:nowrap;box-sizing:border-box;border-radius:5px;flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-width:0;padding:6px 8px;font-family:inherit;font-size:11.5px;font-weight:700;transition:all .15s;display:inline-flex}.outcome-btn-text-short{display:none}.outcome-btn-text-full{display:inline}@media (width<=520px){.outcome-btn-text-short{display:inline}.outcome-btn-text-full{display:none}.btn-outcome-action{gap:4px;padding:6px 4px;font-size:11px}}.btn-outcome-action.btn-menu{background:var(--btn-primary-bg,#1d4ed8);border:1px solid var(--btn-primary-border,#3b82f6);color:var(--btn-primary-text,#fff)}.btn-outcome-action.btn-menu:hover{background:var(--btn-primary-hover,#2563eb);box-shadow:0 0 12px var(--theme-ambient-glow,#3b82f680)}.btn-outcome-action.btn-inspect{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.btn-outcome-action.btn-inspect{background:color-mix(in srgb, var(--btn-secondary-bg) 85%, transparent)}}.btn-outcome-action.btn-inspect{border:1px solid var(--border);color:var(--text)}.btn-outcome-action.btn-inspect:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.btn-outcome-action.btn-inspect:hover{background:color-mix(in srgb, var(--muted) 35%, transparent)}}.btn-outcome-action.btn-inspect:hover{color:var(--text)}.btn-outcome-action.btn-play-again{background:var(--btn-primary-bg,linear-gradient(135deg, #16a34a, #15803d));border:1px solid var(--btn-primary-border,#4ade80);color:var(--btn-primary-text,#fff)}.btn-outcome-action.btn-play-again:hover{background:var(--btn-primary-hover,linear-gradient(135deg, #22c55e, #16a34a));box-shadow:0 0 12px var(--theme-ambient-glow,#4ade8080)}.btn-outcome-action.btn-analysis{background:var(--btn-primary-bg,linear-gradient(135deg, #0284c7, #0369a1));border:1px solid var(--btn-primary-border,#38bdf8);color:var(--btn-primary-text,#fff)}.btn-outcome-action.btn-analysis:hover{background:var(--btn-primary-hover,linear-gradient(135deg, #0ea5e9, #0284c7));box-shadow:0 0 12px var(--theme-ambient-glow,#38bdf880)}.analysis-status-plaque{background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.analysis-status-plaque{background:color-mix(in srgb, var(--panel-2) 88%, transparent)}}.analysis-status-plaque{border:1px solid var(--border);box-sizing:border-box;border-radius:8px;flex-direction:column;gap:8px;width:100%;margin-bottom:8px;padding:8px 12px;display:flex;box-shadow:0 4px 16px #0006}.analysis-status-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.analysis-status-move{color:var(--text);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:700;display:inline-flex;overflow:hidden}.analysis-preview-tag{letter-spacing:.02em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:800}.analysis-preview-tag.best{color:#6ee7b7;background:#10b98133;border:1px solid #10b9818c}.analysis-preview-tag.line{color:#fca5a5;background:#ef444429;border:1px solid #ef444473}.analysis-preview-san{font-family:var(--font-mono,monospace);text-overflow:ellipsis;overflow:hidden}.analysis-preview-exit{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.analysis-preview-exit:hover{border-color:var(--blue,#38bdf8)}.continuation-step-chip.best{border-color:#10b98166}.continuation-step-chip.best.first{color:#6ee7b7;background:#10b98129}.continuation-step-chip.best.active{color:#fff;background:#10b9815c;border-color:#10b981;box-shadow:0 0 10px #10b98173}.continuation-step-chip .step-idx{color:var(--muted);font-weight:600}.analysis-status-eval-badge{background:var(--card-active-bg,#38bdf826);border:1px solid var(--theme-accent-border,#38bdf8);color:var(--blue,#38bdf8);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:800}.analysis-status-tactical-row{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.analysis-status-tactical-row{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.analysis-status-tactical-row{border-top:1px solid var(--border);padding-top:6px}.analysis-status-players-row{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.analysis-status-players-row{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.analysis-status-players-row{border-top:1px solid var(--border);padding-top:6px}.analysis-status-player-badge{align-items:center;gap:6px;min-width:0;font-weight:600;display:inline-flex}.analysis-player-name{white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.analysis-player-tag{background:var(--text);border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700}@supports (color:color-mix(in lab, red, red)){.analysis-player-tag{background:color-mix(in srgb, var(--text) 8%, transparent)}}.analysis-player-tag{color:var(--muted)}.analysis-player-tag.you{color:#6ee7b7;background:#10b98126;border:1px solid #10b98166}.analysis-status-vs{color:var(--muted);font-size:11px;font-weight:700}.analysis-tactical-pill{align-items:center;gap:5px;font-weight:600;display:inline-flex}.analysis-tactical-pill.white{color:var(--text)}.analysis-tactical-pill.black{color:var(--muted)}.analysis-tactical-pts{color:#a855f7;font-weight:700}.game-outcome-minibar{background:var(--panel-2);align-items:center}@supports (color:color-mix(in lab, red, red)){.game-outcome-minibar{background:color-mix(in srgb, var(--panel-2) 92%, transparent)}}.game-outcome-minibar{border:1px solid var(--border);z-index:40;border-radius:20px;gap:12px;margin-bottom:6px;padding:4px 14px;display:flex}.outcome-mini-text{color:var(--blue,#7dd3fc);font-size:12px;font-weight:700}.btn-outcome-minireopen,.btn-outcome-mini-exit{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:3px 6px;font-size:11px;text-decoration:underline}.btn-outcome-minireopen:hover,.btn-outcome-mini-exit:hover{color:#fff}.room-move-list-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.replay-step-badge{background:var(--btn-primary-bg,#1d4ed8);color:var(--btn-primary-text,#fff);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.room-move-item{cursor:pointer;border:1px solid #0000;border-radius:3px;transition:all .12s}.room-move-item:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.room-move-item:hover{background:color-mix(in srgb, var(--muted) 35%, transparent)}}.room-move-item:hover{color:var(--text)}.room-move-item.active-move{background:var(--btn-primary-bg,#1d4ed8);border-color:var(--btn-primary-border,#3b82f6);color:var(--btn-primary-text,#fff);box-shadow:0 0 8px var(--theme-ambient-glow,#3b82f680)}.replay-nav-toolbar{background:var(--panel-2);border:1px solid var(--muted);border-radius:6px;align-items:center}@supports (color:color-mix(in lab, red, red)){.replay-nav-toolbar{border:1px solid color-mix(in srgb, var(--muted) 25%, transparent)}}.replay-nav-toolbar{z-index:5;flex-shrink:0;gap:6px;margin-top:6px;margin-bottom:8px;padding:6px 8px;display:flex;position:relative}.replay-nav-toolbar.is-active-replay{border-color:var(--theme-accent-border,#38bdf873);box-shadow:0 0 12px var(--theme-ambient-glow,#38bdf826)}.btn-replay{background:var(--btn-secondary-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;min-width:30px;height:28px;padding:0 6px;font-size:13px;transition:all .12s;display:flex}.btn-replay:hover:not(:disabled){background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.btn-replay:hover:not(:disabled){background:color-mix(in srgb, var(--muted) 35%, transparent)}}.btn-replay:hover:not(:disabled){border-color:var(--blue,#38bdf8);color:var(--text)}.btn-replay:disabled{opacity:.3;cursor:not-allowed}.btn-replay-live{color:#34d399;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:#10b98133;border:1px solid #10b981;border-radius:4px;height:28px;margin-left:auto;padding:0 8px;font-size:10px;font-weight:700;transition:all .12s}.btn-replay-live:hover{color:#fff;background:#10b98159}.tactical-panel{background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.tactical-panel{background:color-mix(in srgb, var(--panel-2) 88%, transparent)}}.tactical-panel{border:1px solid var(--theme-accent-border,#38bdf847);border-radius:8px;margin-top:8px;margin-bottom:6px;padding:8px 10px;box-shadow:0 4px 16px #00000059}.tactical-panel-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tactical-panel-title{color:var(--blue,#38bdf8);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.tactical-points-pill{background:var(--card-active-bg,#38bdf826);border:1px solid var(--theme-accent-border,#38bdf866);color:var(--blue,#7dd3fc);border-radius:12px;padding:1px 7px;font-size:11px;font-weight:700}.tactical-energy-container{background:var(--panel-2);flex-direction:column;gap:5px;margin-bottom:8px;padding:4px 6px;display:flex}@supports (color:color-mix(in lab, red, red)){.tactical-energy-container{background:color-mix(in srgb, var(--panel-2) 45%, transparent)}}.tactical-energy-container{border:1px solid var(--border);border-radius:6px}.tactical-meter-row{border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:2px 4px;transition:background .2s,border-color .2s;display:flex}.tactical-meter-row.is-turn{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.tactical-meter-row.is-turn{background:color-mix(in srgb, var(--text) 5%, transparent)}}.tactical-meter-row.is-turn{border-color:var(--border)}[data-theme-mode=light] .tactical-meter-row.is-turn{background:#0000000a;border-color:#00000014}.tactical-turn-dot{opacity:.35;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:opacity .2s,box-shadow .2s,transform .2s;display:inline-block}.tactical-meter-row.is-turn .tactical-turn-dot{opacity:1;transform:scale(1.15)}.tactical-turn-dot.white-dot{background:#38bdf8;box-shadow:0 0 6px #38bdf8b3}.tactical-turn-dot.black-dot{background:#f43f5e;box-shadow:0 0 6px #f43f5eb3}.tactical-meter-label{color:var(--muted,#94a3b8);align-items:center;gap:5px;min-width:68px;font-size:11px;font-weight:600;display:inline-flex}.tactical-meter-row.is-turn .tactical-meter-label{color:var(--text,#f8fafc);font-weight:700}.tactical-meter-track{background:var(--panel-2);flex:1;height:6px}@supports (color:color-mix(in lab, red, red)){.tactical-meter-track{background:color-mix(in srgb, var(--panel-2) 70%, transparent)}}.tactical-meter-track{border-radius:999px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.tactical-meter-fill{will-change:width;border-radius:999px;height:100%;transition:width .35s cubic-bezier(.4,0,.2,1)}.tactical-meter-fill.my-fill{background:linear-gradient(90deg, var(--blue,#0284c7), var(--blue,#38bdf8));box-shadow:0 0 8px var(--theme-ambient-glow,#38bdf899)}.tactical-meter-fill.opp-fill{background:linear-gradient(90deg,#b91c1c,#f97316);box-shadow:0 0 8px #f9731680}.tactical-meter-fill.white-fill{background:linear-gradient(90deg,#0284c7,#38bdf8)!important;box-shadow:0 0 8px #38bdf899!important}.tactical-meter-fill.black-fill{background:linear-gradient(90deg,#b91c1c,#f43f5e)!important;box-shadow:0 0 8px #f43f5e8c!important}.tactical-meter-val{font-variant-numeric:tabular-nums;color:var(--text,#f8fafc);text-align:right;min-width:44px;font-size:11px;font-weight:700}@keyframes tactical-btn-glow{0%,to{box-shadow:0 0 4px var(--theme-ambient-glow,#38bdf84d), inset 0 0 3px var(--theme-ambient-glow,#38bdf826);border-color:var(--theme-accent-border,#38bdf880)}50%{box-shadow:0 0 10px var(--theme-ambient-glow,#38bdf8a6), inset 0 0 6px var(--theme-ambient-glow,#38bdf84d);border-color:var(--blue,#38bdf8)}}.btn-tactical.can-afford:not(:disabled):not([aria-disabled=true]):not(.is-active){border-color:var(--theme-accent-border,#38bdf880);animation:2.4s ease-in-out infinite tactical-btn-glow}.player-tactical-pill{background:var(--card-active-bg,#38bdf826);border:1px solid var(--theme-accent-border,#38bdf859);color:var(--blue,#38bdf8);font-variant-numeric:tabular-nums;border-radius:10px;align-items:center;gap:3px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.3;display:inline-flex}.offline-mode-card{background:var(--card-bg,#0f172ad9);border:1px solid var(--theme-accent-border,#38bdf84d);border-radius:8px;align-items:center;margin-bottom:12px;padding:8px 12px;display:flex;box-shadow:0 2px 8px #00000040}.offline-card-content{color:var(--text,#f1f5f9);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.offline-pulse-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 6px #f59e0b99}.tactical-actions-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;display:grid}.btn-tactical{background:linear-gradient(135deg, var(--btn-secondary-bg), var(--panel-2));align-items:center}@supports (color:color-mix(in lab, red, red)){.btn-tactical{background:linear-gradient(135deg, color-mix(in srgb, var(--btn-secondary-bg) 90%, transparent), color-mix(in srgb, var(--panel-2) 90%, transparent))}}.btn-tactical{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;flex:1;justify-content:center;gap:4px;padding:6px 4px;font-family:inherit;font-size:11px;font-weight:600;transition:all .18s;display:flex}.btn-tactical:hover:not(:disabled):not([aria-disabled=true]){background:var(--btn-primary-bg,linear-gradient(135deg, #1e3a8a, #0284c7));border-color:var(--blue,#38bdf8);color:var(--btn-primary-text,#fff);box-shadow:0 0 12px var(--theme-ambient-glow,#38bdf859)}.btn-tactical.is-active{background:var(--btn-primary-hover,linear-gradient(135deg, #2563eb, #0284c7));border-color:var(--border-bright,#7dd3fc);color:var(--btn-primary-text,#fff);box-shadow:0 0 14px var(--theme-ambient-glow,#38bdf880)}.btn-tactical:disabled,.btn-tactical[aria-disabled=true]{opacity:.4;cursor:not-allowed}.btn-tactical[aria-disabled=true]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.board-cell.tactical-target,.square.tactical-target{cursor:pointer;position:relative;box-shadow:inset 0 0 0 2.5px var(--board-last-light,#38bdf8e6), inset 0 0 16px var(--board-ambient-glow,#38bdf859)!important}.square.light.tactical-target{background:radial-gradient(circle, var(--board-ambient-glow,#38bdf866) 0%, transparent 75%), var(--board-light,#a3d4e8)!important}.square.dark.tactical-target{background:radial-gradient(circle, var(--board-ambient-glow,#38bdf866) 0%, transparent 75%), var(--board-dark,#1c7094)!important}.tactical-spawn-dot{background:var(--blue,#38bdf8);width:16px;height:16px;box-shadow:0 0 14px var(--blue,#38bdf8), 0 0 24px var(--theme-ambient-glow,#38bdf8e6);pointer-events:none;z-index:15;will-change:transform, opacity;border-radius:50%;animation:1.2s ease-in-out infinite pulse-spawn-dot;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse-spawn-dot{0%,to{opacity:1;transform:translate(-50%,-50%)scale(.95)}50%{opacity:.65;transform:translate(-50%,-50%)scale(1.22)}}.jaeger-upgrade-badge{color:#fff;z-index:25;pointer-events:none;background:linear-gradient(135deg,#b45309,#f59e0b);border:1.5px solid #fde68a;border-radius:9999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;animation:1.4s ease-in-out infinite jaeger-badge-bounce;display:flex;position:absolute;top:3px;right:3px;box-shadow:0 2px 8px #00000073,0 0 10px #f59e0bd9}.pawn-kill-badge{color:#fff;z-index:20;pointer-events:none;background:linear-gradient(135deg,#dc2626,#b91c1c);border:1px solid #fca5a5;border-radius:9999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex;position:absolute;top:3px;right:3px;box-shadow:0 1px 6px #00000073,0 0 8px #ef444499}.board-cell.tactical-jaeger-target{cursor:pointer;position:relative;background:radial-gradient(circle,#f59e0b73 0%,#b453092e 65%,#0000 100%)!important;box-shadow:inset 0 0 0 3px #f59e0b,0 0 14px #f59e0b80!important}.board-cell.tactical-jaeger-target:after{content:"";border-radius:inherit;pointer-events:none;will-change:opacity;animation:1.8s ease-in-out infinite alternate jaeger-cell-pulse;position:absolute;inset:0;box-shadow:inset 0 0 0 4px #fbbf24,0 0 22px #fbbf24bf}.board-cell.tactical-jaeger-target:hover{background:radial-gradient(circle,#f59e0ba6 0%,#b453094d 75%,#0000 100%)!important;box-shadow:inset 0 0 0 4px #fbbf24,0 0 24px #fbbf24d9!important}.board-cell.tactical-jaeger-target .board-piece{filter:drop-shadow(0 0 10px #f59e0b)drop-shadow(0 0 4px #fbbf24);transition:transform .2s,filter .2s;transform:scale(1.08)}.btn-tactical.jaeger.is-active{color:#fff;background:linear-gradient(135deg,#b45309,#f59e0b);border-color:#fde68a;box-shadow:0 0 14px #f59e0b99}.board-piece.special.jaeger,.board-piece.jaeger,.chess-piece.special-j{color:#f59e0b;filter:drop-shadow(0 0 8px #f59e0bbf)}.btn-tactical.artillery.is-active{color:#fff;background:linear-gradient(135deg,#b91c1c,#ea580c);border-color:#fca5a5;box-shadow:0 0 16px #ef4444a6}.board-cell.tactical-artillery-shooter{cursor:pointer;position:relative;box-shadow:inset 0 0 0 3px var(--board-last-light,#38bdf8), 0 0 12px var(--board-ambient-glow,#38bdf880)!important}.board-cell.tactical-artillery-shooter:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 3.5px var(--board-last-light,#7dd3fc), 0 0 20px var(--board-ambient-glow,#38bdf8d9);pointer-events:none;will-change:opacity;animation:1.6s ease-in-out infinite alternate artillery-shooter-pulse;position:absolute;inset:0}.board-cell.tactical-artillery-selected{background:radial-gradient(circle, var(--board-ambient-glow,#38bdf866) 0%, transparent 70%)!important;box-shadow:inset 0 0 0 3.5px var(--board-last-dark,#0284c7), 0 0 20px var(--board-ambient-glow,#38bdf8cc)!important}.board-cell.tactical-artillery-target{position:relative;cursor:crosshair!important;background:radial-gradient(circle,#ef444473 0%,#b91c1c33 70%)!important;box-shadow:inset 0 0 0 3.5px #ef4444,0 0 16px #ef4444b3!important}.board-cell.tactical-artillery-target:after{content:"";border-radius:inherit;pointer-events:none;will-change:opacity;animation:1.3s ease-in-out infinite alternate artillery-target-pulse;position:absolute;inset:0;box-shadow:inset 0 0 0 4.5px #f87171,0 0 26px #ef4444f2}.board-cell.tactical-artillery-target:hover{background:radial-gradient(circle,#ef4444b3 0%,#b91c1c59 75%)!important;box-shadow:inset 0 0 0 4px #f87171,0 0 28px #ef4444!important}.artillery-shooter-badge,.artillery-target-badge,.underground-castle-badge{z-index:25;pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:flex;position:absolute;top:3px;right:3px;box-shadow:0 2px 8px #00000073}.artillery-shooter-badge{background:var(--brand-mark-bg,linear-gradient(135deg, #0284c7, #38bdf8));border:1.5px solid var(--board-last-light,#bae6fd)}.artillery-target-badge{background:linear-gradient(135deg,#b91c1c,#ef4444);border:1.5px solid #fecaca;animation:1.2s ease-in-out infinite jaeger-badge-bounce}.btn-tactical.underground.is-active{color:#fff;background:linear-gradient(135deg,#78350f,#92400e,#d97706);border-color:#fde68a;box-shadow:0 0 16px #d9770699}.board-cell.tactical-underground-target{cursor:pointer;position:relative;background:radial-gradient(circle,#d9770673 0%,#92400e33 70%)!important;box-shadow:inset 0 0 0 3.5px #d97706,0 0 16px #f59e0b99!important}.board-cell.tactical-underground-target:after{content:"";border-radius:inherit;pointer-events:none;will-change:opacity;animation:1.5s ease-in-out infinite alternate jaeger-cell-pulse;position:absolute;inset:0;box-shadow:inset 0 0 0 4px #fbbf24,0 0 24px #fbbf24d9}.board-cell.tactical-underground-target:hover{background:radial-gradient(circle,#f59e0ba6 0%,#b4530959 75%)!important;box-shadow:inset 0 0 0 4px #fbbf24,0 0 26px #fbbf24e6!important}.underground-castle-badge{background:linear-gradient(135deg,#78350f,#b45309);border:1.5px solid #fde68a;animation:1.4s ease-in-out infinite jaeger-badge-bounce}.btn-tactical.bishop-shift.is-active{color:#fff;background:linear-gradient(135deg,#7e22ce,#a855f7);border-color:#e9d5ff;box-shadow:0 0 16px #a855f7a6}.btn-tactical.knight-leap.is-active{color:#fff;background:linear-gradient(135deg,#0d9488,#14b8a6);border-color:#99f6e4;box-shadow:0 0 16px #14b8a6a6}.board-cell.tactical-bishop-shooter{cursor:pointer;position:relative;box-shadow:inset 0 0 0 3px #c084fc,0 0 12px #c084fc80!important}.board-cell.tactical-bishop-shooter:after{content:"";border-radius:inherit;pointer-events:none;will-change:opacity;animation:1.6s ease-in-out infinite alternate bishop-shift-pulse;position:absolute;inset:0;box-shadow:inset 0 0 0 3.5px #e9d5ff,0 0 20px #c084fcd9}.board-cell.tactical-bishop-selected{background:radial-gradient(circle,#a855f773 0%,#7e22ce33 70%)!important;box-shadow:inset 0 0 0 3.5px #a855f7,0 0 20px #a855f7cc!important}.board-cell.tactical-bishop-target{position:relative;cursor:pointer!important;background:radial-gradient(circle,#c084fc80 0%,#9333ea40 70%)!important;box-shadow:inset 0 0 0 3.5px #c084fc,0 0 16px #c084fcb3!important}.board-cell.tactical-bishop-target:after{content:"";border-radius:inherit;pointer-events:none;will-change:opacity;animation:1.3s ease-in-out infinite alternate bishop-shift-pulse;position:absolute;inset:0;box-shadow:inset 0 0 0 4px #e9d5ff,0 0 24px #c084fcf2}.bishop-shooter-badge{z-index:25;pointer-events:none;background:linear-gradient(135deg,#7e22ce,#a855f7);border:1.5px solid #e9d5ff;border-radius:9999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;animation:1.4s ease-in-out infinite jaeger-badge-bounce;display:flex;position:absolute;top:3px;right:3px;box-shadow:0 2px 8px #00000073}@keyframes bishop-shift-pulse{0%{opacity:.35}to{opacity:1}}@keyframes artillery-shooter-pulse{0%{opacity:.35}to{opacity:1}}@keyframes artillery-target-pulse{0%{opacity:.35}to{opacity:1}}@keyframes jaeger-badge-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.15)}}@keyframes jaeger-cell-pulse{0%{opacity:.35}to{opacity:1}}@keyframes attack-target-pulse{0%,to{border-color:#ef4444d9;transform:scale(1);box-shadow:0 0 8px #ef444499}50%{border-color:#f87171;transform:scale(1.04);box-shadow:0 0 14px #ef4444f2}}.legacy-game-page .board-cell.tactical-center,.board-cell.tactical-center,.square.tactical-center{position:relative}.legacy-game-page .board-cell.tactical-center:before,.board-cell.tactical-center:before,.square.tactical-center:before{content:"";pointer-events:none;z-index:2;background:radial-gradient(circle,#f59e0b29 0%,#f59e0b08 75%,#0000 100%);border:1.5px solid #f59e0b99;border-radius:4px;transition:all .25s;position:absolute;inset:3px;box-shadow:inset 0 0 10px #f59e0b2e}.legacy-game-page .board-cell.tactical-center:hover:before,.board-cell.tactical-center:hover:before,.square.tactical-center:hover:before{background:radial-gradient(circle,#f59e0b47 0%,#f59e0b14 80%,#0000 100%);border-color:#f59e0bf2;box-shadow:inset 0 0 14px #f59e0b66,0 0 8px #f59e0b4d}.tactical-center-indicator{color:#f59e0bb3;letter-spacing:.04em;pointer-events:none;z-index:3;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:800;transition:all .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.legacy-game-page .board-cell.tactical-center:hover .tactical-center-indicator,.board-cell.tactical-center:hover .tactical-center-indicator{color:#fde047;text-shadow:0 0 8px #f59e0bcc;transform:translate(-50%,-50%)scale(1.2)}.tactical-action-hint-bar{background:var(--btn-secondary-bg);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:8px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.tactical-action-hint-bar{background:color-mix(in srgb, var(--btn-secondary-bg) 90%, transparent)}}.tactical-action-hint-bar{color:#fde047;border:1px solid #f59e0b80;border-radius:8px;font-size:.82rem;font-weight:600;animation:.18s ease-out tactical-hint-appear;box-shadow:0 4px 14px #00000059}@keyframes tactical-hint-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tactical-hint-text{align-items:center;gap:6px;line-height:1.3;display:flex}.btn-cancel-tactical{color:#fca5a5;cursor:pointer;white-space:nowrap;background:#ef444426;border:1px solid #ef444473;border-radius:6px;padding:4px 9px;font-size:.76rem;font-weight:700;transition:all .15s}.btn-cancel-tactical:hover{color:#fff;background:#ef44444d;border-color:#ef4444b3;transform:scale(1.02)}.chess2-sandbox-card{background:var(--panel-2);margin-top:10px}@supports (color:color-mix(in lab, red, red)){.chess2-sandbox-card{background:color-mix(in srgb, var(--panel-2) 95%, transparent)}}.chess2-sandbox-card{border:1px solid var(--theme-accent-border,#38bdf866);border-radius:8px;padding:10px;box-shadow:0 4px 20px #0006}.sandbox-header{border-bottom:1px solid var(--theme-accent-border,#38bdf833);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.sandbox-title{color:var(--blue,#38bdf8);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:flex}.sandbox-badge{background:var(--card-active-bg,#38bdf826);border:1px solid var(--theme-accent-border,#38bdf866);color:var(--blue,#7dd3fc);border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:600}.sandbox-section-label{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:600}.sandbox-pts-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.sandbox-pts-name{min-width:60px;font-size:.76rem;font-weight:700}.sandbox-pts-name.white{color:var(--text)}.sandbox-pts-name.black{color:var(--muted)}.sandbox-btn-sm{background:var(--btn-secondary-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:2px 7px;font-size:.72rem;font-weight:700;transition:all .15s}.sandbox-btn-sm:hover{background:var(--card-active-bg,#334155);border-color:var(--blue,#38bdf8);color:#fff}.sandbox-scenarios-grid{grid-template-columns:repeat(2,1fr);gap:5px;margin-top:6px;display:grid}.sandbox-scenario-btn{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.sandbox-scenario-btn{background:color-mix(in srgb, var(--btn-secondary-bg) 80%, transparent)}}.sandbox-scenario-btn{border:1px solid var(--border);color:var(--text)}@supports (color:color-mix(in lab, red, red)){.sandbox-scenario-btn{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.sandbox-scenario-btn{cursor:pointer;text-align:left;border-radius:5px;padding:5px 6px;font-size:.72rem;font-weight:600;line-height:1.2;transition:all .15s}.sandbox-scenario-btn:hover{background:var(--card-active-bg,#0e74904d);border-color:var(--blue,#38bdf8);color:#fff}.tactical-badges-row{flex-direction:column;gap:6px;margin-top:8px;display:flex}.tactical-badge{letter-spacing:.02em;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;font-weight:600;transition:all .2s;display:inline-flex}.tactical-badge.mobilization{color:#fde047;background:#f59e0b24;border:1px solid #f59e0b73;box-shadow:0 0 10px #f59e0b40}.tactical-badge.second-wind{color:#fca5a5;background:#ef444426;border:1px solid #ef444473;box-shadow:0 0 10px #ef444440}@keyframes fusion-cell-burst{0%{transform:scale(.96)}30%{transform:scale(1.08)}70%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes fusion-piece-pop{0%{opacity:.6;filter:brightness(2);transform:scale(.6)rotate(-10deg)}50%{opacity:1;filter:brightness(1.5);transform:scale(1.25)rotate(4deg)}to{filter:none;opacity:1;transform:scale(1)rotate(0)}}.legacy-game-page .board-cell.cell-fusion-burst,.board .square.cell-fusion-burst{will-change:transform;position:relative;z-index:95!important;animation:.38s cubic-bezier(.2,.85,.32,1.2) forwards fusion-cell-burst!important}.legacy-game-page .board-cell.cell-fusion-burst:before,.board .square.cell-fusion-burst:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;background-color:#fbbf24a6;animation:.38s cubic-bezier(.2,.85,.32,1.2) forwards vfx-flash-pulse;position:absolute;inset:0}.legacy-game-page .board-cell.cell-fusion-burst:after,.board .square.cell-fusion-burst:after{content:"";pointer-events:none;z-index:92;will-change:transform, opacity;border:3px solid #fbbf24;border-radius:50%;animation:.38s cubic-bezier(.16,.9,.3,1) forwards fusion-ring-expand;position:absolute;inset:-14%}@keyframes fusion-ring-expand{0%{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(1.5)}}.legacy-game-page .board-cell.cell-fusion-burst .board-piece:not(.animating-slide):not(.animating-knight-leap):not(.animating-legion-leap),.board .square.cell-fusion-burst .chess-piece:not(.animating-slide):not(.animating-knight-leap):not(.animating-legion-leap){will-change:transform;animation:.38s cubic-bezier(.2,.85,.32,1.2) forwards fusion-piece-pop!important}@keyframes vfx-flash-fade{0%{opacity:1}35%{opacity:.7}to{opacity:0}}@keyframes vfx-flash-pulse{0%{opacity:.5}30%{opacity:1}70%{opacity:.4}to{opacity:0}}@keyframes capture-cell-impact{0%{transform:scale(1.06)}35%{transform:scale(.97)}70%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes capture-piece-thud{0%{transform:scale(1.08)}50%{transform:scale(.96)}to{transform:scale(1)}}.legacy-game-page .board-cell.cell-capture-impact,.board .square.cell-capture-impact{will-change:transform;transform-origin:50%;position:relative;animation:capture-cell-impact .26s cubic-bezier(.2, .9, .35, 1) var(--capture-hold,0s) both!important;z-index:90!important}.legacy-game-page .board-cell.cell-capture-impact:before,.board .square.cell-capture-impact:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;animation:vfx-flash-fade .26s cubic-bezier(.25, 1, .5, 1) var(--capture-hold,0s) both;background-color:#ef444480;position:absolute;inset:0}.legacy-game-page .board-cell.cell-capture-impact:after,.board .square.cell-capture-impact:after{content:"";pointer-events:none;z-index:92;will-change:transform, opacity;animation:capture-ring-expand .26s cubic-bezier(.12, .8, .25, 1) var(--capture-hold,0s) both;border:3px solid #ef4444f2;border-radius:50%;position:absolute;inset:-14%}@keyframes capture-ring-expand{0%{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(1.4)}}.legacy-game-page .board-cell.cell-capture-impact .board-piece:not(.animating-slide):not(.animating-knight-leap):not(.animating-legion-leap),.board .square.cell-capture-impact .chess-piece:not(.animating-slide):not(.animating-knight-leap):not(.animating-legion-leap){will-change:transform;animation:capture-piece-thud .26s cubic-bezier(.25, 1, .5, 1) var(--capture-hold,0s) both!important}@keyframes summon-cell-beam{0%{transform:scale(.96)}45%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes summon-piece-rise{0%{opacity:0;filter:brightness(2);transform:translateY(14px)scale(.3)}60%{opacity:1;filter:brightness(1.3);transform:translateY(-2px)scale(1.15)}to{opacity:1;filter:none;transform:translate(0)scale(1)}}.legacy-game-page .board-cell.cell-summon-beam,.board .square.cell-summon-beam{will-change:transform;position:relative;z-index:92!important;animation:.28s cubic-bezier(.16,1,.3,1) forwards summon-cell-beam!important}.legacy-game-page .board-cell.cell-summon-beam:before,.board .square.cell-summon-beam:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;background-color:#38bdf8a6;animation:.28s cubic-bezier(.16,1,.3,1) forwards vfx-flash-fade;position:absolute;inset:0}.legacy-game-page .board-cell.cell-summon-beam .board-piece,.board .square.cell-summon-beam .chess-piece{will-change:transform;animation:.28s cubic-bezier(.16,1,.3,1) forwards summon-piece-rise!important}@keyframes blitz-trail-flash{0%{transform:scale(.98)}to{transform:scale(1)}}.legacy-game-page .board-cell.cell-blitz-trail,.board .square.cell-blitz-trail{will-change:transform;position:relative;z-index:85!important;animation:.26s ease-out forwards blitz-trail-flash!important}.legacy-game-page .board-cell.cell-blitz-trail:before,.board .square.cell-blitz-trail:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;background-color:#38bdf880;animation:.26s ease-out forwards vfx-flash-fade;position:absolute;inset:0}@keyframes artillery-blast-cell{0%{transform:scale(.92);background:radial-gradient(circle,#ef4444f2 0%,#ea580cbf 50%,#0000 80%)!important;box-shadow:inset 0 0 35px #ef4444,0 0 35px #f97316e6!important}35%{transform:scale(1.15);background:radial-gradient(circle,#fecaca 0%,#ef4444f2 45%,#b91c1ca6 80%)!important;box-shadow:inset 0 0 50px #b91c1c,0 0 55px #ef4444!important}to{box-shadow:none;background:0 0;transform:scale(1)}}.legacy-game-page .board-cell.cell-artillery-blast,.board-cell.cell-artillery-blast,.board .square.cell-artillery-blast,.square.cell-artillery-blast{will-change:transform;position:relative;transform:translateZ(0);z-index:95!important;animation:.65s cubic-bezier(.16,1,.3,1) forwards artillery-blast-cell!important}@keyframes piece-incinerate-vaporize{0%,18%{opacity:1;filter:brightness();transform:translate(0)scale(1)}24%{opacity:1;filter:brightness(6)saturate(0)drop-shadow(0 0 14px #fff);transform:translate(0)scale(1.05)}40%{opacity:1;filter:brightness(4)saturate(0)drop-shadow(0 0 10px #fff);transform:translate(2px,-1px)scale(1.04)}55%{opacity:.7;filter:brightness(5)saturate(0);transform:translate(-2px,1px)scale(1.06)}70%,to{opacity:0;filter:brightness(6)saturate(0);transform:translate(0)scale(1.08)}}.legacy-game-page .board-cell.cell-artillery-blast .board-piece.piece-vaporize-incinerate,.board-cell.cell-artillery-blast .board-piece.piece-vaporize-incinerate,.board .square.cell-artillery-blast .chess-piece.piece-vaporize-incinerate,.square.cell-artillery-blast .chess-piece.piece-vaporize-incinerate,.board-piece.piece-vaporize-incinerate,.chess-piece.piece-vaporize-incinerate{will-change:transform, opacity;pointer-events:none;transform:translateZ(0);animation:.42s linear forwards piece-incinerate-vaporize!important}.chess2-vfx-overlay{pointer-events:none;z-index:96;will-change:transform, opacity;contain:strict;width:100%;height:100%;position:absolute;inset:0;overflow:hidden;transform:translate(0)}.vfx-artillery-laser-halo,.vfx-artillery-laser-glow,.vfx-artillery-laser-mid,.vfx-artillery-laser-core{stroke-linecap:round;fill:none;animation:1s linear forwards vfx-laser-pulse}.vfx-artillery-laser-halo{stroke:#ff1744;stroke-width:15px;opacity:.4;filter:blur(4px)}.vfx-artillery-laser-glow{stroke:#ff2d55;stroke-width:7px;opacity:.85;filter:blur(1.6px)}.vfx-artillery-laser-mid{stroke:#ff8aa0;stroke-width:3.4px;filter:blur(.6px)}.vfx-artillery-laser-core{stroke:#fff;stroke-width:1.4px;filter:drop-shadow(0 0 2px #ff9fb0)}.vfx-artillery-laser-halo.is-white{stroke:#0091ff}.vfx-artillery-laser-glow.is-white{stroke:#1fa3ff}.vfx-artillery-laser-mid.is-white{stroke:#8fdcff}.vfx-artillery-laser-core.is-white{stroke:#fff;filter:drop-shadow(0 0 2px #7cd4ff)}.vfx-artillery-muzzle,.vfx-artillery-impact-flash,.vfx-artillery-shockwave{transform-box:fill-box;transform-origin:50%;will-change:transform, opacity}.vfx-artillery-muzzle{fill:#ffe4ea;filter:drop-shadow(0 0 8px #ff2d55)drop-shadow(0 0 16px #ff1744);animation:.4s ease-out forwards vfx-muzzle-flash}.vfx-artillery-muzzle.is-white{fill:#fff;filter:drop-shadow(0 0 8px #1fa3ff)drop-shadow(0 0 16px #0091ff)}.vfx-artillery-shockwave.ring-1{fill:none;stroke:#ff2d55;stroke-width:.9px;animation:.8s ease-out forwards vfx-shockwave-ring-1}.vfx-artillery-shockwave.ring-1.is-white{stroke:#1fa3ff}.vfx-artillery-shockwave.ring-2{fill:none;stroke:#ff8aa0;stroke-width:.6px;animation:.8s ease-out .1s forwards vfx-shockwave-ring-2}.vfx-artillery-shockwave.ring-2.is-white{stroke:#8fdcff}.vfx-artillery-impact-flash{fill:#fff;filter:drop-shadow(0 0 10px #ff2d55);animation:.5s ease-out forwards vfx-impact-flash}.vfx-artillery-impact-flash.is-white{fill:#fff;filter:drop-shadow(0 0 12px #1fa3ff)}@keyframes vfx-laser-pulse{0%{opacity:0;stroke-dasharray:0 100;stroke-dashoffset:0;animation-timing-function:cubic-bezier(.22,.8,.3,1)}11%{opacity:1;stroke-dasharray:100 0;stroke-dashoffset:0}38%{opacity:1;stroke-dasharray:100 0;stroke-dashoffset:0;animation-timing-function:cubic-bezier(.4,0,.8,.6)}68%{opacity:.4;stroke-dasharray:100 0;stroke-dashoffset:0;animation-timing-function:ease-out}to{opacity:0;stroke-dasharray:100 0;stroke-dashoffset:0}}@keyframes vfx-muzzle-flash{0%{r:1;opacity:1}40%{r:4.5;opacity:.95}to{r:6;opacity:0}}@keyframes vfx-shockwave-ring-1{0%{r:1.5;opacity:1;stroke-width:1.2px}60%{r:6;opacity:.85;stroke-width:.9px}to{r:8;opacity:0;stroke-width:.2px}}@keyframes vfx-shockwave-ring-2{0%{r:1;opacity:1;stroke-width:1px}60%{r:4.8;opacity:.75;stroke-width:.7px}to{r:6.4;opacity:0;stroke-width:.1px}}@keyframes vfx-impact-flash{0%{r:0;opacity:1}35%{r:5;opacity:1}to{r:6.4;opacity:0}}.vfx-fusion-spiral{fill:none;stroke:#fbbf24;stroke-width:1.4px;animation:.35s cubic-bezier(.16,.9,.3,1) forwards vfx-fusion-collapse}.vfx-fusion-spiral.ring-2{animation-delay:40ms}.vfx-fusion-spiral.is-archon{stroke:#e879f9}.vfx-fusion-nova{fill:#fff;opacity:.95;animation:.28s ease-out 80ms forwards vfx-impact-flash}.vfx-fusion-nova.is-archon{fill:#fff;stroke:#e879f9;stroke-width:.8px}@keyframes vfx-fusion-collapse{0%{r:9;opacity:.8;stroke-width:.8px}60%{r:3;opacity:1;stroke-width:1.8px}to{r:0;opacity:0;stroke-width:.2px}}.vfx-summon-column{fill:url(#summonBeamGrad);opacity:.85;will-change:transform, opacity;animation:.36s cubic-bezier(.16,1,.3,1) forwards vfx-summon-beam-descend}.vfx-summon-ground-ring{fill:none;stroke:var(--board-last-light,#38bdf8);stroke-width:1.1px;will-change:transform, opacity;animation:.36s ease-out 40ms forwards vfx-shockwave-ring-1}@keyframes vfx-summon-beam-descend{0%{opacity:0;transform-origin:top;transform:scaleY(0)translateZ(0)}35%{opacity:.95;transform:scaleY(1)translateZ(0)}to{opacity:0;transform:scaleY(1)translateZ(0)}}.vfx-leap-glow{fill:none;stroke:#14b8a6;stroke-width:2.2px;stroke-linecap:round;opacity:.7;filter:drop-shadow(0 0 5px #0d9488);animation:.45s ease-out forwards vfx-leap-path}.vfx-leap-glow.is-legion{stroke:#f59e0b;filter:drop-shadow(0 0 6px #d97706)}.vfx-leap-glow.is-white{stroke:#00f0ff;filter:drop-shadow(0 0 8px #00f0ff)drop-shadow(0 0 16px #38bdf8b3)}.vfx-leap-glow.is-black{stroke:#f43f5e;filter:drop-shadow(0 0 8px #f43f5e)drop-shadow(0 0 16px #ea580cbf)}.vfx-leap-glow.is-legion.is-white{stroke:#38bdf8;filter:drop-shadow(0 0 8px #38bdf8)drop-shadow(0 0 18px #fde047cc)}.vfx-leap-glow.is-legion.is-black{stroke:#ea580c;filter:drop-shadow(0 0 8px #f97316)drop-shadow(0 0 18px #a855f7cc)}.vfx-leap-core{fill:none;stroke:#fff;stroke-width:1.2px;stroke-linecap:round;animation:.45s ease-out forwards vfx-leap-path}.vfx-leap-core.is-black{stroke:#fef08a}.vfx-leap-landing-ring{fill:none;stroke:#14b8a6;stroke-width:1.2px;animation:.38s ease-out .12s forwards vfx-shockwave-ring-1}.vfx-leap-landing-ring.is-legion{stroke:#f59e0b}.vfx-leap-landing-ring.is-white{stroke:#00f0ff;filter:drop-shadow(0 0 6px #00f0ff)}.vfx-leap-landing-ring.is-black{stroke:#f43f5e;filter:drop-shadow(0 0 6px #f43f5e)}@keyframes vfx-leap-path{0%{stroke-dasharray:0 100;stroke-dashoffset:0;opacity:.2}35%{stroke-dasharray:70 30;stroke-dashoffset:0;opacity:1}to{stroke-dasharray:100 0;stroke-dashoffset:-100px;opacity:0}}.vfx-promo-halo-pulse{animation:.55s cubic-bezier(.16,1,.3,1) forwards vfx-promo-halo-expand}.vfx-promo-ring{fill:none;stroke-linecap:round}.vfx-promo-ring.ring-1{stroke-width:1.4px;animation:.55s ease-out forwards vfx-promo-ring-expand-1}.vfx-promo-ring.ring-2{stroke-width:.9px;animation:.6s ease-out 60ms forwards vfx-promo-ring-expand-2}.vfx-promo-ring.is-white{stroke:#00f0ff;filter:drop-shadow(0 0 6px #00f0ff)}.vfx-promo-ring.is-black{stroke:#f43f5e;filter:drop-shadow(0 0 6px #ea580c)}.vfx-promo-center-spark{fill:#fff;animation:.35s ease-out forwards vfx-promo-spark-flash}.vfx-promo-center-spark.is-black{fill:#fef08a}@keyframes vfx-promo-halo-expand{0%{r:1.5;opacity:.95}50%{r:6.5;opacity:.7}to{r:6;opacity:0}}@keyframes vfx-promo-ring-expand-1{0%{r:1;opacity:1;stroke-width:1.4px}60%{r:7.2;opacity:.85;stroke-width:.8px}to{r:10.5;opacity:0;stroke-width:.2px}}@keyframes vfx-promo-ring-expand-2{0%{r:.5;opacity:.95;stroke-width:1px}50%{r:5.5;opacity:.75;stroke-width:.5px}to{r:8.5;opacity:0;stroke-width:.15px}}@keyframes vfx-promo-spark-flash{0%{r:0;opacity:1}35%{r:4.5;opacity:.95}to{r:6;opacity:0}}.legacy-game-page .board-cell.cell-promotion,.board .square.cell-promotion{position:relative;z-index:50!important}.legacy-game-page .board-cell.cell-promotion:before,.board .square.cell-promotion:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:radial-gradient(circle, var(--theme-ambient-glow,#facc1573) 0%, #facc1526 50%, transparent 75%);will-change:opacity;animation:.55s cubic-bezier(.16,1,.3,1) forwards vfx-flash-fade;position:absolute;inset:0}.legacy-game-page .board-cell.cell-promotion .promotion-coronation-badge,.board .square.cell-promotion .promotion-coronation-badge{pointer-events:none;z-index:25;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.legacy-game-page .board-cell.cell-promotion .promotion-coronation-crown,.board .square.cell-promotion .promotion-coronation-crown{color:#facc15;filter:drop-shadow(0 0 6px #facc15f2)drop-shadow(0 0 14px #fef08acc);will-change:transform, opacity;width:58%;height:58%;animation:.65s cubic-bezier(.16,1,.3,1) forwards promo-crown-float-rise}.legacy-game-page .board-cell.cell-promotion .promotion-coronation-badge.black .promotion-coronation-crown,.board .square.cell-promotion .promotion-coronation-badge.black .promotion-coronation-crown{color:#f43f5e;filter:drop-shadow(0 0 6px #f43f5ef2)drop-shadow(0 0 14px #ea580ccc)}@keyframes promo-crown-float-rise{0%{opacity:0;transform:translateY(8px)scale(.5)}30%{opacity:1;transform:translateY(-6px)scale(1.15)}70%{opacity:.9;transform:translateY(-12px)scale(1.05)}to{opacity:0;transform:translateY(-20px)scale(.85)}}.legacy-game-page .board-cell.cell-promotion .board-piece:not(.animating-slide):not(.animating-knight-leap):not(.animating-legion-leap),.board .square.cell-promotion .chess-piece:not(.animating-slide):not(.animating-knight-leap):not(.animating-legion-leap){will-change:transform, filter;animation:.5s cubic-bezier(.16,1,.3,1) forwards promo-piece-coronation-settle!important}@keyframes promo-piece-coronation-settle{0%{filter:brightness(1.7)drop-shadow(0 0 12px #facc15d9);transform:scale(.78)}40%{filter:brightness(1.3)drop-shadow(0 0 16px #facc15b3);transform:scale(1.12)}to{filter:drop-shadow(0 0 4px #00000073);transform:scale(1)}}.vfx-underground-portal-origin{fill:none;stroke:#92400e;stroke-width:1.4px;animation:.35s cubic-bezier(.16,.9,.3,1) forwards vfx-fusion-collapse}.vfx-underground-portal-dest.ring-1{fill:none;stroke:#d97706;stroke-width:1.2px;animation:.45s ease-out .1s forwards vfx-shockwave-ring-1}.vfx-underground-portal-dest.ring-2{fill:none;stroke:#f59e0b;stroke-width:.8px;animation:.5s ease-out .15s forwards vfx-shockwave-ring-2}.vfx-jaeger-lock-ring{fill:none;stroke:#f59e0b;stroke-width:1px;stroke-dasharray:4 2;animation:.38s ease-out forwards vfx-shockwave-ring-1}.vfx-jaeger-lock-pulse{fill:#f59e0b40;animation:.3s ease-out forwards vfx-impact-flash}.vfx-jaeger-crosshair{stroke:#fde68a;stroke-width:.8px;opacity:.9;animation:.38s ease-out forwards vfx-flash-fade}.vfx-capture-clash-ring{fill:none;stroke:#e2e8f0;stroke-width:1.2px;animation:vfx-shockwave-ring-1 .32s ease-out var(--capture-hold,0s) both}.vfx-capture-clash-ring.is-white{stroke:#38bdf8}.vfx-capture-clash-flash{fill:#fff;animation:vfx-impact-flash .26s ease-out var(--capture-hold,0s) both}.chess2-battle-fx-canvas{pointer-events:none;z-index:96;width:100%;height:100%;position:absolute;inset:0}.legacy-game-page .board-cell.mate-dim{filter:brightness(.62);transition:filter .26s cubic-bezier(.22, 1, .36, 1) var(--mate-delay,0s)}.legacy-game-page .board-cell.mate-king-cell{outline:none;animation:none;box-shadow:inset 0 0 18px #ef44448c;background:#ef444459!important}.legacy-game-page .board-cell.mate-king-cell .board-piece.mate-king-piece{animation:mate-king-fall .3s ease-out var(--mate-fall-delay,0s) both}.legacy-game-page .board-cell .art-scorch{pointer-events:none;z-index:0;width:100%;height:100%;transition:opacity .3s linear;position:absolute;inset:0}.legacy-game-page .board-cell .art-scorch.is-leaving{opacity:0}.art-scorch-heat{opacity:0;animation:1.5s linear both art-scorch-heat}.art-scorch-mark{opacity:0;animation:1.5s linear both art-scorch-mark}@keyframes art-scorch-heat{0%,8%{opacity:0}8.01%{opacity:.7;animation-timing-function:cubic-bezier(.33,1,.68,1)}to{opacity:0}}@keyframes art-scorch-mark{0%,8%{opacity:0}to{opacity:.7}}.art-scorch-crack{stroke:#fb923c;stroke-width:.03px;stroke-linecap:round;fill:none;opacity:0;animation:1.5s linear both art-scorch-heat}.art-scorch-crack-dark{stroke:#0c0a09;stroke-width:.022px;stroke-linecap:round;fill:none}.legacy-game-page .board-cell .ug-hole{pointer-events:none;z-index:0;background:#451a03d9;border-radius:50%;width:68%;height:24%;position:absolute;top:78%;left:50%;transform:translate(-50%,-50%)scale(0);box-shadow:0 0 0 2px #78350f,inset 0 3px 6px #0009}.legacy-game-page .board-cell .board-piece[data-ug]{z-index:1;position:relative}@keyframes mate-king-fall{0%{filter:grayscale(0)brightness();transform:rotate(0)}to{filter:grayscale(.6)brightness(.5);transform:rotate(-10deg)}}@keyframes board-screen-shake{0%{transform:translate(0)}20%{transform:translate(-1.5px,1.2px)}40%{transform:translate(1.5px,-1px)}60%{transform:translate(-1px,.8px)}80%{transform:translate(.8px,-.4px)}to{transform:translate(0)}}.legacy-game-page .board-wrapper.board-shake{animation:.18s cubic-bezier(.36,.07,.19,.97) both board-screen-shake!important}@keyframes leap-landing-impact{0%{transform:scale(1.06)}50%{transform:scale(.97)}to{transform:scale(1)}}.legacy-game-page .board-cell.cell-leap-land,.board .square.cell-leap-land,.board-cell.cell-leap-land{will-change:transform;position:relative;z-index:85!important;animation:.26s ease-out forwards leap-landing-impact!important}.legacy-game-page .board-cell.cell-leap-land:before,.board .square.cell-leap-land:before,.board-cell.cell-leap-land:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;background-color:#14b8a673;animation:.26s ease-out forwards vfx-flash-fade;position:absolute;inset:0}@keyframes underground-cell-sink{0%{transform:scale(1)}35%{transform:scale(.94)}to{transform:scale(1)}}@keyframes underground-cell-rise{0%{transform:scale(1.04)}50%{transform:scale(.97)}to{transform:scale(1)}}@keyframes piece-underground-emerge{0%{opacity:0;filter:brightness(.6);transform:translateY(20px)scale(.65)}40%{opacity:.85}80%{opacity:1;transform:translateY(-2px)scale(1.04)}to{opacity:1;filter:none;transform:translate(0)scale(1)}}.legacy-game-page .board-cell.cell-underground-sink,.board .square.cell-underground-sink,.board-cell.cell-underground-sink{will-change:transform;position:relative;z-index:86!important;animation:.32s ease-out forwards underground-cell-sink!important}.legacy-game-page .board-cell.cell-underground-sink:before,.board .square.cell-underground-sink:before,.board-cell.cell-underground-sink:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;background-color:#451a0380;animation:.32s ease-out forwards vfx-flash-fade;position:absolute;inset:0}.legacy-game-page .board-cell.cell-underground-rise,.board .square.cell-underground-rise,.board-cell.cell-underground-rise{will-change:transform;position:relative;z-index:88!important;animation:.34s ease-out forwards underground-cell-rise!important}.legacy-game-page .board-cell.cell-underground-rise:before,.board .square.cell-underground-rise:before,.board-cell.cell-underground-rise:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;background-color:#f59e0b73;animation:.34s ease-out forwards vfx-flash-fade;position:absolute;inset:0}.legacy-game-page .board-cell.cell-underground-rise .board-piece,.board .square.cell-underground-rise .chess-piece,.board-cell.cell-underground-rise .board-piece{will-change:transform;animation:.28s cubic-bezier(.16,1,.3,1) forwards piece-underground-emerge!important}@keyframes jaeger-upgrade-cell{0%{transform:scale(1.04)}45%{transform:scale(.98)}to{transform:scale(1)}}@keyframes jaeger-piece-pop{0%{filter:brightness(1.8);opacity:.7;transform:translateY(6px)scale(.75)}50%{filter:brightness(1.4);opacity:1;transform:translateY(-2px)scale(1.2)}to{filter:none;opacity:1;transform:translate(0)scale(1)}}.legacy-game-page .board-cell.cell-jaeger-upgrade,.board .square.cell-jaeger-upgrade,.board-cell.cell-jaeger-upgrade{will-change:transform;position:relative;z-index:92!important;animation:.34s cubic-bezier(.16,1,.3,1) forwards jaeger-upgrade-cell!important}.legacy-game-page .board-cell.cell-jaeger-upgrade:before,.board .square.cell-jaeger-upgrade:before,.board-cell.cell-jaeger-upgrade:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;background-color:#34d39973;animation:.34s cubic-bezier(.16,1,.3,1) forwards vfx-flash-fade;position:absolute;inset:0}.legacy-game-page .board-cell.cell-jaeger-upgrade:after,.board .square.cell-jaeger-upgrade:after,.board-cell.cell-jaeger-upgrade:after{content:"";pointer-events:none;z-index:93;will-change:transform, opacity;border:2px solid #34d399;border-radius:50%;animation:.3s cubic-bezier(.16,1,.3,1) forwards jaeger-crest-expand;position:absolute;inset:-10%}@keyframes jaeger-crest-expand{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.35)}}.legacy-game-page .board-cell.cell-jaeger-upgrade .board-piece,.board .square.cell-jaeger-upgrade .chess-piece,.board-cell.cell-jaeger-upgrade .board-piece{will-change:transform;animation:.34s cubic-bezier(.16,1,.3,1) forwards jaeger-piece-pop!important}@keyframes bishop-shift-cell{0%{transform:scale(1.03)}50%{transform:scale(.98)}to{transform:scale(1)}}.legacy-game-page .board-cell.cell-bishop-shift,.board .square.cell-bishop-shift,.board-cell.cell-bishop-shift{will-change:transform;position:relative;z-index:87!important;animation:.28s ease-out forwards bishop-shift-cell!important}.legacy-game-page .board-cell.cell-bishop-shift:before,.board .square.cell-bishop-shift:before,.board-cell.cell-bishop-shift:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;will-change:opacity;background-color:#a855f766;animation:.28s ease-out forwards vfx-flash-fade;position:absolute;inset:0}.analysis-board-container{touch-action:pan-y;-webkit-user-select:none;user-select:none;box-sizing:border-box;justify-content:center;align-items:flex-start;gap:12px;width:100%;max-width:100%;margin:0 auto;display:flex;position:relative}.analysis-board-container .board{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;aspect-ratio:1!important;width:var(--analysis-board-size,min(calc(100% - 42px), calc(100vh - 220px), 700px))!important;height:var(--analysis-board-size,min(calc(100% - 42px), calc(100vh - 220px), 700px))!important;max-width:var(--analysis-board-size,min(calc(100% - 42px), calc(100vh - 220px), 700px))!important;max-height:var(--analysis-board-size,min(calc(100% - 42px), calc(100vh - 220px), 700px))!important;border:7px solid var(--board-border,#334155)!important;box-sizing:border-box!important;border-radius:6px!important;flex:none!important;grid-template-rows:repeat(8,1fr)!important;grid-template-columns:repeat(8,1fr)!important;min-width:0!important;min-height:0!important;display:grid!important}.analysis-board-container .square,.analysis-board-container .square:disabled,.analysis-board-container .board button:disabled{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:default;aspect-ratio:1!important;box-sizing:border-box!important;opacity:1!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;display:flex!important}.analysis-board-container .board .chess-piece{font-size:clamp(28px,4.6vw,56px)!important}.eval-bar{background:var(--panel-2);border:1px solid var(--border);-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:6px;flex-direction:column;flex:0 0 30px;align-self:flex-start;width:30px;min-width:30px;max-width:30px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #00000080;height:var(--analysis-board-size,min(calc(100% - 42px), calc(100vh - 220px), 700px))!important;min-height:0!important}.eval-bar-inner{background:var(--btn-secondary-bg);width:100%;height:100%;position:relative}.eval-bar-fill-white{background:linear-gradient(#fff 0%,#cbd5e1 100%);width:100%;transition:height .35s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0;box-shadow:0 0 10px #fff6}.eval-bar-label{text-align:center;width:100%;font-size:11px;font-weight:800;font-family:var(--font-main,system-ui, -apple-system, sans-serif);pointer-events:none;z-index:2;letter-spacing:-.01em;white-space:nowrap;position:absolute;left:0;right:0;overflow:visible}.eval-bar-label.white-label{color:#0f172a;text-shadow:0 1px 2px #fff6;bottom:6px}.eval-bar-label.black-label{color:#fff;text-shadow:0 1px 2px #000c;top:6px}.eval-bar.flipped .eval-bar-fill-white{background:linear-gradient(#cbd5e1 0%,#fff 100%);top:0;bottom:auto}.eval-bar.flipped .eval-bar-label.white-label{top:6px;bottom:auto}.eval-bar.flipped .eval-bar-label.black-label{top:auto;bottom:6px}.coach-review-card{background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.coach-review-card{background:color-mix(in srgb, var(--panel-2) 90%, transparent)}}.coach-review-card{border:1px solid var(--theme-accent-border,#38bdf859);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-bottom:12px;padding:14px 16px;box-shadow:0 8px 24px #00000040}.coach-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.coach-avatar-wrapper{align-items:center;gap:12px;display:flex}.coach-avatar-badge{width:38px;height:38px;color:var(--blue,#38bdf8);background:linear-gradient(135deg,#38bdf833,#a855f740);border:1.5px solid #38bdf880;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 0 12px #38bdf840}.coach-title-block{flex-direction:column;gap:2px;display:flex}.coach-title-row{align-items:center;gap:8px;display:flex}.coach-title-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10.5px;font-weight:700}.coach-verdict-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:1.5px 7px;font-size:10px;font-weight:700}.coach-verdict-tag.white_dominance{color:#4ade80;background:#22c55e26;border:1px solid #22c55e66}.coach-verdict-tag.black_dominance{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf866}.coach-verdict-tag.comeback_white,.coach-verdict-tag.comeback_black{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b66}.coach-verdict-tag.balanced{color:#cbd5e1;background:#94a3b826;border:1px solid #94a3b859}.coach-verdict-tag.tactical_chaos{color:#c084fc;background:#a855f726;border:1px solid #a855f766}.coach-headline-text{color:var(--text);letter-spacing:-.01em;margin:0;font-size:14.5px;font-weight:800;line-height:1.25}.coach-narrative-text{color:var(--foreground);opacity:.95;margin:6px 0 10px;font-size:12.5px;line-height:1.5}.coach-turning-point-box{background:#f59e0b14;border:1px solid #f59e0b47;border-radius:8px;margin-bottom:10px;padding:9px 12px}.coach-tp-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.coach-tp-tag{color:#fbbf24;font-size:10.5px;font-weight:700}.coach-tp-move{color:var(--text);font-family:monospace;font-size:12px;font-weight:800}.coach-tp-eval-change{color:var(--muted);background:#00000040;border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.coach-tp-desc{color:var(--foreground);margin:0 0 8px;font-size:11.5px;line-height:1.4}.coach-tp-jump-btn{color:#fbbf24;cursor:pointer;background:linear-gradient(135deg,#f59e0b2e,#d9770640);border:1px solid #f59e0b73;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .15s}.coach-tp-jump-btn:hover{background:linear-gradient(135deg,#f59e0b4d,#d9770666);border-color:#fbbf24;transform:translateY(-1px)}.coach-phases-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.coach-phase-card{background:var(--panel-1)}@supports (color:color-mix(in lab, red, red)){.coach-phase-card{background:color-mix(in srgb, var(--panel-1) 85%, transparent)}}.coach-phase-card{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.coach-phase-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.coach-phase-name{color:var(--text);font-size:11px;font-weight:700}.coach-phase-accs{align-items:center;gap:3px;font-size:11px;font-weight:800;display:flex}.coach-phase-acc.white{color:var(--foreground)}.coach-phase-sep{color:var(--muted);opacity:.6}.coach-phase-acc.black{color:var(--blue,#38bdf8)}.coach-phase-desc{color:var(--muted);margin:0;font-size:10px;line-height:1.35}html[data-theme-mode=light] .coach-review-card{background:#fff;border:1px solid #0000001f;box-shadow:0 4px 18px #0000000f}html[data-theme-mode=light] .coach-headline-text{color:#0f172a}html[data-theme-mode=light] .coach-narrative-text{color:#334155}html[data-theme-mode=light] .coach-turning-point-box{background:#fffbeb;border:1px solid #fde68a}html[data-theme-mode=light] .coach-tp-tag{color:#b45309}html[data-theme-mode=light] .coach-tp-move{color:#0f172a}html[data-theme-mode=light] .coach-tp-eval-change{color:#475569;background:#f1f5f9}html[data-theme-mode=light] .coach-tp-desc{color:#334155}html[data-theme-mode=light] .coach-tp-jump-btn{color:#92400e;background:#fef3c7;border:1px solid #d97706}html[data-theme-mode=light] .coach-tp-jump-btn:hover{background:#fde68a}html[data-theme-mode=light] .coach-phase-card{background:#f8fafc;border:1px solid #e2e8f0}html[data-theme-mode=light] .coach-phase-name{color:#0f172a}html[data-theme-mode=light] .coach-phase-desc{color:#475569}.coach-pill{align-items:center;gap:4px;font-weight:700;display:inline-flex;color:var(--blue,#38bdf8)!important;background:#38bdf826!important;border:1px solid #38bdf859!important}.coach-intro-headline{color:var(--text);font-size:13px;font-weight:700}.coach-intro-body .coach-desc{color:var(--foreground);font-size:12px;line-height:1.45}.accuracy-review-card{background:var(--panel-2);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}@supports (color:color-mix(in lab, red, red)){.accuracy-review-card{background:color-mix(in srgb, var(--panel-2) 85%, transparent)}}.accuracy-review-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-bottom:16px;padding:14px 18px;box-shadow:0 8px 24px #00000059}.accuracy-review-card.pending{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100px;display:flex}.accuracy-player-side{flex-direction:column;gap:6px;display:flex}.accuracy-player-header{align-items:center;gap:8px;display:flex}.accuracy-color-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.accuracy-color-dot.white{background:#f8fafc;border:1px solid #cbd5e1;box-shadow:0 0 6px #ffffff80}.accuracy-color-dot.black{background:#1e293b;border:1px solid #64748b;box-shadow:0 0 6px #000c}.accuracy-player-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.accuracy-score-badge{align-items:baseline;gap:6px;display:flex}.accuracy-number{font-size:28px;font-weight:800;font-family:var(--font-main,system-ui, -apple-system, sans-serif);color:var(--blue,#38bdf8);letter-spacing:-.02em}.accuracy-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.accuracy-divider-vs{font-size:11px;font-weight:800;font-family:var(--font-main,system-ui, -apple-system, sans-serif);color:var(--muted);background:var(--text);padding:4px 8px}@supports (color:color-mix(in lab, red, red)){.accuracy-divider-vs{background:color-mix(in srgb, var(--text) 5%, transparent)}}.accuracy-divider-vs{border:1px solid var(--border);border-radius:6px}.quality-breakdown-chips{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.chip{font-size:11px;font-weight:700;font-family:var(--font-main,system-ui, -apple-system, sans-serif);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.chip:hover{filter:brightness(1.2);transform:translateY(-1px)scale(1.05)}.chip.active{border-width:1.5px;font-weight:800;transform:scale(1.08);box-shadow:0 0 12px,inset 0 0 6px}.chip.good{background:var(--card-active-bg,#3b82f62e);border-color:var(--theme-accent-border,#3b82f673);color:var(--blue,#60a5fa)}.advantage-graph-card{background:var(--panel-2);margin-top:18px}@supports (color:color-mix(in lab, red, red)){.advantage-graph-card{background:color-mix(in srgb, var(--panel-2) 85%, transparent)}}.advantage-graph-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:14px 16px;box-shadow:0 8px 24px #00000059}.advantage-graph-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.graph-title{color:var(--text);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.graph-eval-pill{font-size:11.5px;font-weight:700;font-family:var(--font-main,system-ui, -apple-system, sans-serif);background:var(--text);border-radius:6px;padding:3px 8px}@supports (color:color-mix(in lab, red, red)){.graph-eval-pill{background:color-mix(in srgb, var(--text) 6%, transparent)}}.graph-eval-pill{border:1px solid var(--border)}.advantage-graph-svg{cursor:crosshair;width:100%;height:120px;display:block;overflow:visible}.analysis-nav-controls{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.nav-btn-group{gap:4px;display:flex}.nav-btn{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.nav-btn{background:color-mix(in srgb, var(--btn-secondary-bg) 80%, transparent)}}.nav-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:700;transition:all .18s}.nav-btn:hover:not(:disabled){background:var(--card-active-bg,#334155f2);border-color:var(--blue,#38bdf8);color:#fff}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-btn.flip-board-btn{justify-content:center;align-items:center;gap:4px;display:inline-flex}.nav-btn.flip-board-btn.active{border-color:var(--blue,#38bdf8);color:var(--blue,#38bdf8);background:#38bdf833}.key-moment-btn{color:#fca5a5;cursor:pointer;background:#ef444426;border:1px solid #ef444466;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .18s;display:inline-flex}.key-moment-btn:hover{color:#fff;background:#ef444447;border-color:#f87171}.analysis-board-nav-toolbar{width:100%;max-width:calc(var(--analysis-board-size,700px) + 42px);box-sizing:border-box;flex-direction:column;gap:8px;margin-top:10px;display:flex}.analysis-nav-step-text{color:var(--text);font-size:13px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.analysis-nav-step-text{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.analysis-nav-step-text{white-space:nowrap}.analysis-nav-step-text b{color:var(--blue,#38bdf8);font-weight:800}.analysis-tab-bar{scrollbar-width:none;-ms-overflow-style:none;gap:6px;width:100%;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.analysis-tab-bar::-webkit-scrollbar{display:none}.analysis-tab-btn{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.analysis-tab-btn{background:color-mix(in srgb, var(--btn-secondary-bg) 70%, transparent)}}.analysis-tab-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:7px;flex:auto;justify-content:center;align-items:center;gap:5px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.analysis-tab-btn:hover{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.analysis-tab-btn:hover{background:color-mix(in srgb, var(--muted) 42%, transparent)}}.analysis-tab-btn:hover{color:var(--text)}.analysis-tab-btn.active{background:var(--btn-primary-bg,#1d4ed8);border-color:var(--btn-primary-border,#3b82f6);color:var(--btn-primary-text,#fff);box-shadow:0 0 14px var(--theme-ambient-glow,#3b82f673)}.mobile-only-tab{display:none}.desktop-graph-container{width:100%;max-width:calc(var(--analysis-board-size,700px) + 42px);box-sizing:border-box;margin-top:10px;display:block}@media (width<=980px){.mobile-only-tab{display:inline-flex}.analysis-board-nav-toolbar{max-width:100%}.desktop-graph-container{display:none}}.analysis-explanation-slot{width:100%;max-width:calc(var(--analysis-board-size,700px) + 42px);box-sizing:border-box;height:160px;min-height:160px;max-height:160px;margin-top:8px;display:flex}.analysis-explanation-card{background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.analysis-explanation-card{background:color-mix(in srgb, var(--panel-2) 88%, transparent)}}.analysis-explanation-card{border:1px solid var(--border);justifyContent:flex-start;box-sizing:border-box;scrollbar-width:thin;border-radius:9px;flex-direction:column;gap:6px;width:100%;height:100%;padding:8px 12px;font-size:12.5px;display:flex;overflow:hidden auto;box-shadow:0 4px 16px #00000059}.analysis-explanation-card.initial-pos,.analysis-explanation-card.pending{border-color:var(--border);background:var(--panel-2)}@supports (color:color-mix(in lab, red, red)){.analysis-explanation-card.initial-pos,.analysis-explanation-card.pending{background:color-mix(in srgb, var(--panel-2) 50%, transparent)}}.analysis-explanation-card.initial-pos,.analysis-explanation-card.pending{justify-content:center}.explanation-badge.initial,.explanation-badge.pending{background:var(--muted)}@supports (color:color-mix(in lab, red, red)){.explanation-badge.initial,.explanation-badge.pending{background:color-mix(in srgb, var(--muted) 20%, transparent)}}.explanation-badge.initial,.explanation-badge.pending{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.explanation-badge.initial,.explanation-badge.pending{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.explanation-badge.initial,.explanation-badge.pending{border:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.explanation-badge.initial,.explanation-badge.pending{border:1px solid color-mix(in srgb, var(--muted) 49%, transparent)}}.best-label-dim{color:var(--muted);font-size:11.5px;font-weight:600}.empty-best-row{opacity:.9}.explanation-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.explanation-badge{border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-flex}.explanation-badge.good,.explanation-badge.best,.explanation-badge.brilliant{color:#6ee7b7;background:#10b98133;border:1px solid #10b98166}.explanation-reason{color:var(--text);font-size:12px;font-weight:600;line-height:1.35}.explanation-best-row{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.best-label{color:#10b981;font-weight:700}.best-move-san{color:#6ee7b7;font-weight:700;font-family:var(--font-mono,monospace);background:#10b98133;border:1px solid #10b98173;border-radius:4px;padding:2px 7px}.best-move-eval{color:var(--muted);font-size:11.5px}.best-move-desc{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.best-move-desc{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.best-move-desc{font-size:11.5px}.best-move-interactive-btn{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;background:#10b98124;border:1px solid #10b98166;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.best-move-interactive-btn:hover{background:#10b98140;border-color:#10b981a6}.best-move-interactive-btn.active{background:#10b98152;border-color:#10b981;box-shadow:0 0 10px #10b98173}.best-move-action-tag{color:#a7f3d0;background:#10b98147;border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:700}.explanation-continuation-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:6px;display:flex}.continuation-label{color:#f87171;white-space:nowrap;font-size:11.5px;font-weight:700}.continuation-line{scrollbar-width:thin;flex-wrap:nowrap;align-items:center;gap:5px;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.continuation-step-chip{background:var(--btn-secondary-bg)}@supports (color:color-mix(in lab, red, red)){.continuation-step-chip{background:color-mix(in srgb, var(--btn-secondary-bg) 85%, transparent)}}.continuation-step-chip{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-family:inherit;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.continuation-step-chip:hover{background:var(--card-active-bg,#334155f2);border-color:var(--blue,#38bdf8);color:#fff}.continuation-step-chip.active{background:var(--btn-primary-bg,#2563eb);border-color:var(--btn-primary-border,#60a5fa);color:var(--btn-primary-text,#fff);box-shadow:0 0 10px var(--theme-ambient-glow,#3b82f680)}.continuation-reset-btn{color:#fca5a5;cursor:pointer;background:#ef44442e;border:1px solid #ef444466;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:600;transition:all .15s}.continuation-reset-btn:hover{color:#fff;background:#ef44444d}.continuation-preview-banner{background:var(--card-active-bg,#2563eb38);border:1px solid var(--theme-accent-border,#3b82f68c);color:var(--blue,#93c5fd);max-width:var(--board-size);box-sizing:border-box;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.continuation-preview-banner button{color:#fca5a5;cursor:pointer;background:#ef444433;border:1px solid #ef444473;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.continuation-preview-banner button:hover{color:#fff;background:#ef444459}.best-move-preview-banner{color:#a7f3d0;max-width:var(--board-size);box-sizing:border-box;background:#10b98133;border:1px solid #10b9818c;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.best-move-preview-banner button{color:#fca5a5;cursor:pointer;white-space:nowrap;background:#ef444433;border:1px solid #ef444473;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.best-move-preview-banner button:hover{color:#fff;background:#ef444459}.board-arrow-svg-overlay{pointer-events:none;z-index:6;filter:drop-shadow(0 2px 5px #0000008c);width:100%;height:100%;position:absolute;inset:0}.square.best-move-target{z-index:5;position:relative;box-shadow:inset 0 0 0 3px #10b981,0 0 16px #10b981bf!important}.square.best-move-from{z-index:4;position:relative;box-shadow:inset 0 0 0 2px #10b981cc!important}.square.blunder-square{z-index:5;position:relative;box-shadow:inset 0 0 0 2px #ef4444d9,0 0 14px #ef44448c!important}@media (width<=980px){.analysis-explanation-slot{max-width:100%;height:auto;min-height:212px;max-height:none}.analysis-explanation-card{gap:6px;max-width:100%;height:auto;min-height:212px;max-height:none;padding:8px 10px;font-size:12px;overflow-y:visible}.explanation-continuation-row{margin-top:2px;padding-top:4px}.continuation-line{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.continuation-line::-webkit-scrollbar{display:none}.continuation-preview-banner,.best-move-preview-banner{max-width:100%}}.analysis-moves-table{border:1px solid var(--border);scroll-behavior:smooth;background:#0a101e66;border-radius:8px;flex-direction:column;gap:3px;max-height:420px;margin-top:8px;padding:8px 6px;display:flex;overflow-y:auto}.analysis-pair-row{grid-template-columns:32px 1fr 1fr;align-items:center;gap:6px;font-size:13px;display:grid}.analysis-pair-num{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700;font-family:var(--font-mono,monospace);padding-right:2px}.analysis-move-cell{background:var(--panel-2);justify-content:space-between;align-items:center;gap:5px;padding:5px 8px;display:flex}@supports (color:color-mix(in lab, red, red)){.analysis-move-cell{background:color-mix(in srgb, var(--panel-2) 70%, transparent)}}.analysis-move-cell{border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:6px;min-height:32px;transition:all .15s}.analysis-move-cell *,.room-move-item *{pointer-events:none}.analysis-move-cell:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.analysis-move-cell:hover{background:color-mix(in srgb, var(--text) 10%, transparent)}}.analysis-move-cell:hover{border-color:var(--border)}.analysis-move-cell.active{background:var(--card-active-bg,#2563eb66);border-color:var(--blue,#38bdf8);color:#fff;box-shadow:0 0 10px var(--theme-ambient-glow,#38bdf84d)}.analysis-move-cell.empty{border:1px dashed var(--border);cursor:default;pointer-events:none;background:0 0}.analysis-move-cell .move-san{font-weight:700;font-family:var(--font-main,system-ui, -apple-system, sans-serif);text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.move-ability-badge{color:#fbbf24;white-space:nowrap;background:#f59e0b29;border:1px solid #f59e0b73;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-flex}.ability-badge-icon{font-size:10.5px}.ability-badge-text{font-size:9.5px}.analysis-move-cell.quality-filter-highlight{border-color:var(--blue,#38bdf8bf)!important;box-shadow:0 0 10px var(--theme-ambient-glow,#38bdf866)!important;background:var(--card-active-bg,#38bdf81f)!important}.move-quality-tag{border-radius:4px;flex-shrink:0;justify-content:center;justify-self:end;align-items:center;gap:2px;min-width:36px;padding:2px 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.move-quality-icon{font-size:11px}.move-quality-glyph{font-size:10px;font-family:var(--font-main,system-ui, -apple-system, sans-serif);font-weight:800}.badge-brilliant{color:#67e8f9;background:#06b6d433;border:1px solid #06b6d480}.badge-best{color:#6ee7b7;background:#10b98133;border:1px solid #10b98180}.badge-good{color:#93c5fd;background:#3b82f633;border:1px solid #3b82f680}.badge-inaccuracy{color:#fcd34d;background:#f59e0b33;border:1px solid #f59e0b80}.badge-mistake{color:#fdba74;background:#f9731633;border:1px solid #f9731680}.badge-blunder{color:#fca5a5;background:#ef444433;border:1px solid #ef444480}.move-eval-pill{color:var(--muted);font-size:11px;font-family:var(--font-main,system-ui, -apple-system, sans-serif);text-align:right;flex-shrink:0;justify-self:end;min-width:32px;font-weight:700}.chess2-tactical-card{background:var(--card-bg,#0f172af0);border:1px solid var(--border,#f59e0b4d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-bottom:16px;padding:14px 16px;box-shadow:0 8px 24px #00000040}.chess2-tactical-card-header{margin-bottom:12px}.chess2-tactical-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.chess2-tactical-title{color:#fbbf24;letter-spacing:-.01em;align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.chess2-tactical-badge{color:var(--muted);background:var(--text);font-size:10.5px;font-weight:700}@supports (color:color-mix(in lab, red, red)){.chess2-tactical-badge{background:color-mix(in srgb, var(--text) 6%, transparent)}}.chess2-tactical-badge{border:1px solid var(--border);border-radius:6px;padding:2px 7px}.chess2-tactical-overview-row{border:1px solid var(--border);background:#00000047;border-radius:8px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:grid}.chess2-tactical-side{flex-direction:column;gap:4px;display:flex}.chess2-side-head{align-items:center;gap:6px;display:flex}.chess2-side-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.chess2-mastery-title-row{align-items:center;gap:5px;margin-top:1px;margin-bottom:2px;font-size:11px;font-weight:700;display:inline-flex}.chess2-mastery-icon{font-size:13px;line-height:1}.chess2-mastery-text{letter-spacing:-.01em}.chess2-roi-badge{align-items:baseline;gap:6px;display:flex}.chess2-roi-num{color:#fbbf24;letter-spacing:-.02em;font-size:22px;font-weight:800}.chess2-roi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.chess2-points-meta{color:var(--muted);flex-direction:column;gap:2px;font-size:10.5px;display:flex}.chess2-points-meta b{color:var(--text)}.artillery-destroyed-meta b{color:#ef4444}.chess2-tactical-vs-col{flex-direction:column;align-items:center;gap:6px;min-width:44px;display:flex}.chess2-dominance-bar{background:var(--text);width:38px;height:4px}@supports (color:color-mix(in lab, red, red)){.chess2-dominance-bar{background:color-mix(in srgb, var(--text) 15%, transparent)}}.chess2-dominance-bar{border-radius:9999px;display:flex;overflow:hidden}.chess2-dominance-fill-white{background:linear-gradient(90deg, var(--blue,#38bdf8), #fbbf24);height:100%;transition:width .3s}.chess2-tactical-vs{color:var(--muted);background:var(--text);padding:3px 6px;font-size:10.5px;font-weight:800}@supports (color:color-mix(in lab, red, red)){.chess2-tactical-vs{background:color-mix(in srgb, var(--text) 5%, transparent)}}.chess2-tactical-vs{border:1px solid var(--border);border-radius:4px}.chess2-abilities-grid{flex-wrap:wrap;gap:6px;display:flex}.chess2-ability-chip{background:var(--text);align-items:center;gap:5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.chess2-ability-chip{background:color-mix(in srgb, var(--text) 5%, transparent)}}.chess2-ability-chip{border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;transition:all .15s}.chess2-ability-chip:hover{background:#f59e0b26;border-color:#f59e0b66}.chess2-ability-chip.active{color:#fef3c7;background:#f59e0b47;border-color:#f59e0b;box-shadow:0 0 10px #f59e0b59}.ability-chip-icon{font-size:12px}.ability-chip-label{font-size:11px}.ability-chip-counts{background:#00000059;border-radius:4px;align-items:center;gap:2px;padding:1px 5px;font-size:10.5px;display:inline-flex}.white-cnt{color:#f8fafc}.black-cnt{color:#93c5fd}.cnt-sep{color:var(--muted);font-size:9px}@media (width<=640px){.accuracy-review-card{grid-template-columns:1fr;gap:10px;padding:12px}.accuracy-divider-vs{text-align:center;width:fit-content;margin:2px auto}.chess2-tactical-overview-row{grid-template-columns:1fr;gap:8px;padding:10px}.chess2-tactical-vs{text-align:center;width:fit-content;margin:2px auto}.accuracy-player-side{gap:4px}.accuracy-number{font-size:24px}.quality-breakdown-chips{gap:4px}.chip{padding:2px 6px;font-size:10.5px}.analysis-board-container{box-sizing:border-box;justify-content:center;gap:6px;width:100%;max-width:100%;overflow:hidden}.analysis-board-container .board{touch-action:pan-y!important;border-width:3.5px!important;flex-shrink:1!important;max-width:calc(100% - 32px)!important;max-height:calc(100% - 32px)!important}.eval-bar{border-radius:4px;flex:0 0 24px;width:24px;min-width:24px}.eval-bar-label{font-size:9px;font-weight:800}.analysis-nav-controls{flex-wrap:wrap;gap:6px}.nav-btn-group{flex:auto;justify-content:space-between}.nav-btn{flex:auto;justify-content:center;align-items:center;min-height:40px;padding:8px 6px;font-size:14px;display:inline-flex}.key-moment-btn{min-height:38px;padding:6px 10px;font-size:11.5px}.advantage-graph-card{margin-top:12px;padding:10px 12px;touch-action:none!important}.advantage-graph-header{flex-direction:column;align-items:flex-start;gap:4px}.graph-title,.graph-eval-pill{font-size:11px}.analysis-pair-row{grid-template-columns:26px 1fr 1fr;gap:4px;font-size:12px}.analysis-move-cell{gap:4px;min-height:30px;padding:4px 6px}.analysis-move-cell .move-san{font-size:12.5px}.move-quality-tag{padding:1px 4px;font-size:10px}.replay-board{padding:10px 4px}.replay-controls{padding:12px 10px calc(85px + env(safe-area-inset-bottom,0px));min-height:360px}.analysis-moves-table{max-height:clamp(220px,42vh,360px)}}.global-custom-tooltip{z-index:9999999;pointer-events:none;background:var(--card-bg,#0f172af5);color:var(--text,#f1f5f9);border:1px solid var(--theme-accent-border,#38bdf873);box-shadow:0 4px 20px #000000b3, 0 0 12px var(--theme-ambient-glow,#38bdf840);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:11.5px;font-family:var(--font-main,system-ui, -apple-system, sans-serif);white-space:pre-wrap;word-break:break-word;border-radius:7px;max-width:300px;padding:6px 11px;font-weight:500;line-height:1.35;animation:.12s ease-out tooltipFadeIn;position:fixed;transform:translateZ(0)}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.96)translateY(2px)}to{opacity:1;transform:scale(1)translateY(0)}}.chess2-sandbox-hint-box{background:var(--card-active-bg,linear-gradient(135deg, #1e3a8a40, #0f172ab3));border:1px solid var(--theme-accent-border,#38bdf866);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:12px 14px;display:flex;box-shadow:0 4px 16px #00000040}.chess2-sandbox-hint-box .hint-content{flex:1;min-width:0}.chess2-sandbox-hint-box .hint-badge{background:var(--card-active-bg,#38bdf826);border:1px solid var(--theme-accent-border,#38bdf866);color:var(--blue,#38bdf8);letter-spacing:.02em;border-radius:4px;margin-bottom:4px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.chess2-sandbox-hint-box .hint-content p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.35}.btn-sandbox-quick{background:var(--btn-primary-bg,linear-gradient(135deg, #0284c7, #0369a1));border:1px solid var(--btn-primary-border,#38bdf8);color:var(--btn-primary-text,#fff);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;padding:8px 14px;font-size:.82rem;font-weight:700;transition:all .2s;box-shadow:0 2px 8px #00000059}.btn-sandbox-quick:hover{background:var(--btn-primary-hover,linear-gradient(135deg, #0ea5e9, #0284c7));box-shadow:0 0 14px var(--theme-ambient-glow,#38bdf88c);transform:translateY(-1px)}.build-badge{background:var(--card-bg,#0f172ab3);border:1px solid var(--theme-accent-border,#38bdf859);color:var(--muted);-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:500;transition:all .2s;display:inline-flex}.build-badge:hover{border-color:var(--blue,#38bdf8);color:var(--text);background:var(--card-active-bg,#1e293be6)}.build-badge-dot{color:#10b981;font-size:9px;animation:2.5s infinite pulse-build-dot;display:inline-block}@keyframes pulse-build-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.sidebar-version-tag{color:var(--muted);text-align:center;font-size:11px;font-family:var(--font-pixel,ui-monospace, monospace);letter-spacing:.02em;background:var(--panel-2);border-radius:4px;margin-top:10px;padding:4px 6px}@supports (color:color-mix(in lab, red, red)){.sidebar-version-tag{background:color-mix(in srgb, var(--panel-2) 40%, transparent)}}.sidebar-version-tag{border:1px solid var(--border);cursor:help;transition:all .15s}.sidebar-version-tag:hover{color:var(--text,#94a3b8);border-color:var(--blue,#38bdf866)}.chess2-ai-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;display:grid}@media (width<=640px){.chess2-ai-grid{grid-template-columns:1fr}}.chess2-ai-card{background:var(--panel-2);flex-direction:row;align-items:center;gap:12px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.chess2-ai-card{background:color-mix(in srgb, var(--panel-2) 65%, transparent)}}.chess2-ai-card{border:1px solid var(--theme-accent-border,#38bdf833);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.chess2-ai-card:hover{background:var(--card-active-bg,#1e293bd9);border-color:var(--blue,#38bdf873);box-shadow:0 4px 14px var(--theme-ambient-glow,#38bdf826);transform:translateY(-2px)}.chess2-ai-card.active{background:var(--card-active-bg,linear-gradient(135deg, #0e749059, #38bdf840));border-color:var(--blue,#38bdf8);box-shadow:0 0 16px var(--theme-ambient-glow,#38bdf859), inset 0 0 10px #38bdf81a}.chess2-ai-card .ai-level-badge{flex-shrink:0;font-size:24px;line-height:1}.chess2-ai-card .ai-level-info{flex-direction:column;gap:2px;display:flex}.chess2-ai-card .ai-level-title{color:var(--text);font-size:14px;font-weight:700}.chess2-ai-card .ai-level-elo{color:var(--blue,#38bdf8);font-size:11px;font-weight:600}.chess2-ai-thinking-badge{background:var(--card-active-bg,linear-gradient(135deg, #0e74904d, #6366f140));border:1px solid var(--theme-accent-border,#38bdf866);color:var(--blue,#7dd3fc);box-shadow:0 0 6px var(--theme-ambient-glow,#38bdf833);border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:12px;font-weight:600;display:flex;position:relative}.chess2-ai-thinking-badge:after{content:"";border-radius:inherit;border:1px solid var(--blue,#38bdf8);box-shadow:0 0 16px var(--theme-ambient-glow,#38bdf88c);pointer-events:none;will-change:opacity;animation:1.8s ease-in-out infinite alternate ai-thinking-glow;position:absolute;inset:-1px}.chess2-ai-pulse-dot{font-size:16px;animation:2s ease-in-out infinite ai-pulse-spin;display:inline-block}@keyframes ai-thinking-glow{0%{opacity:.25}to{opacity:1}}@keyframes ai-pulse-spin{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.15)rotate(8deg)}}[data-board-theme=cyber]{--board-light:#a3d4e8;--board-dark:#1c7094;--board-last-light:#62bcdb;--board-last-dark:#2e8eb6;--board-last-move:#facc1585;--board-last-move-border:#facc15;--board-last-move-glow:#facc156b;--board-coord-light:#1c7094;--board-coord-dark:#a3d4e8;--board-border:#144f69;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #38bdf82e, transparent 75%), linear-gradient(180deg, #0a1f33 0%, #061320 45%, #02070d 100%);--theme-accent-border:#38bdf840;--theme-ambient-glow:#38bdf826}[data-board-theme=emerald]{--board-light:#eeeed2;--board-dark:#769656;--board-last-light:#f7ec7d;--board-last-dark:#baca44;--board-last-move:#f5e6539e;--board-last-move-border:#eab308;--board-last-move-glow:#eab30873;--board-coord-light:#769656;--board-coord-dark:#eeeed2;--board-border:#546e3b;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #4ade8029, transparent 75%), linear-gradient(180deg, #0e2417 0%, #08170f 45%, #030a06 100%);--theme-accent-border:#4ade8038;--theme-ambient-glow:#4ade8024}[data-board-theme=wood]{--board-light:#f0d9b5;--board-dark:#b58863;--board-last-light:#f6e499;--board-last-dark:#cbb16f;--board-last-move:#fbbf2494;--board-last-move-border:#f59e0b;--board-last-move-glow:#f59e0b6b;--board-coord-light:#b58863;--board-coord-dark:#f0d9b5;--board-border:#8c6543;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #f59e0b26, transparent 75%), linear-gradient(180deg, #24140c 0%, #150b07 45%, #090402 100%);--theme-accent-border:#d9770640;--theme-ambient-glow:#d9770624}[data-board-theme=slate]{--board-light:#cbd5e1;--board-dark:#475569;--board-last-light:#94a3b8;--board-last-dark:#64748b;--board-last-move:#38bdf88c;--board-last-move-border:#38bdf8;--board-last-move-glow:#38bdf873;--board-coord-light:#475569;--board-coord-dark:#cbd5e1;--board-border:#334155;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #94a3b829, transparent 75%), linear-gradient(180deg, #182232 0%, #0d1522 45%, #020617 100%);--theme-accent-border:#94a3b840;--theme-ambient-glow:#94a3b824}[data-board-theme=purple]{--board-light:#e9d5ff;--board-dark:#7e22ce;--board-last-light:#d8b4fe;--board-last-dark:#9333ea;--board-last-move:#facc158c;--board-last-move-border:#facc15;--board-last-move-glow:#facc156b;--board-coord-light:#7e22ce;--board-coord-dark:#e9d5ff;--board-border:#581c87;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #c084fc38, transparent 75%), linear-gradient(180deg, #361964 0%, #180e35 45%, #080f2f 100%);--theme-accent-border:#c084fc47;--theme-ambient-glow:#c084fc2e}[data-board-theme=amber]{--board-light:#fef3c7;--board-dark:#b45309;--board-last-light:#fde68a;--board-last-dark:#d97706;--board-last-move:#06b6d48c;--board-last-move-border:#06b6d4;--board-last-move-glow:#06b6d46b;--board-coord-light:#b45309;--board-coord-dark:#fef3c7;--board-border:#78350f;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #fbbf2429, transparent 75%), linear-gradient(180deg, #321805 0%, #1c0d02 45%, #0a0400 100%);--theme-accent-border:#f59e0b40;--theme-ambient-glow:#f59e0b26}[data-board-theme=neon]{--board-light:#cbf0f8;--board-dark:#15325b;--board-last-light:#22d3ee;--board-last-dark:#0891b2;--board-last-move:#facc15a6;--board-last-move-border:#fde047;--board-last-move-glow:#facc158c;--board-coord-light:#15325b;--board-coord-dark:#cbf0f8;--board-border:#06b6d4;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #06b6d438, transparent 75%), radial-gradient(circle at 80% 90%, #f43f5e26, transparent 60%), linear-gradient(180deg, #070c18 0%, #03060c 50%, #010204 100%);--theme-accent-border:#06b6d466;--theme-ambient-glow:#06b6d440}[data-board-theme=marble]{--board-light:#f5eedc;--board-dark:#785137;--board-last-light:#eab308;--board-last-dark:#a16207;--board-last-move:#f59e0b94;--board-last-move-border:#d97706;--board-last-move-glow:#d977066b;--board-coord-light:#785137;--board-coord-dark:#f5eedc;--board-border:#5c3a21;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #eab30829, transparent 75%), linear-gradient(180deg, #1c1917 0%, #0c0a09 45%, #050404 100%);--theme-accent-border:#eab3084d;--theme-ambient-glow:#eab3082e}[data-board-theme=frost]{--board-light:#e6f4fb;--board-dark:#4682b4;--board-last-light:#7dd3fc;--board-last-dark:#0284c7;--board-last-move:#fbbf2494;--board-last-move-border:#f59e0b;--board-last-move-glow:#f59e0b6b;--board-coord-light:#4682b4;--board-coord-dark:#e6f4fb;--board-border:#285880;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #38bdf838, transparent 75%), radial-gradient(circle at 20% 85%, #0ea5e924, transparent 60%), linear-gradient(180deg, #07192f 0%, #030d1a 45%, #010408 100%);--theme-accent-border:#38bdf859;--theme-ambient-glow:#38bdf833}[data-board-theme=crimson]{--board-light:#fde8e8;--board-dark:#9b1c1c;--board-last-light:#f87171;--board-last-dark:#7f1d1d;--board-last-move:#facc1594;--board-last-move-border:#facc15;--board-last-move-glow:#facc1573;--board-coord-light:#9b1c1c;--board-coord-dark:#fde8e8;--board-border:#681010;--page-bg-gradient:radial-gradient(ellipse 80% 50% at 50% -10%, #ef444433, transparent 75%), radial-gradient(circle at 80% 85%, #f9731624, transparent 60%), linear-gradient(180deg, #220707 0%, #120303 45%, #050101 100%);--theme-accent-border:#ef44444d;--theme-ambient-glow:#ef44442e}.board-themes-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:14px;display:grid}.board-theme-card{background:var(--card-bg,#0f172a99);border:1.5px solid var(--border,#ffffff14);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex}.board-theme-card:hover{background:var(--card-hover-bg,#1e293bbf);border-color:var(--theme-accent-border,#38bdf859);transform:translateY(-2px)}.board-theme-card.active{background:var(--card-active-bg,#0ea5e91f);border-color:var(--blue,#38bdf8);box-shadow:0 0 16px var(--theme-ambient-glow,#38bdf838)}.board-theme-mini{border:1px solid var(--border-bright,#ffffff26);border-radius:6px;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:52px;height:52px;display:grid;overflow:hidden;box-shadow:0 4px 10px #00000059}.board-theme-mini span{width:100%;height:100%;display:block}.board-theme-info{flex-direction:column;gap:3px;width:100%;display:flex}.board-theme-name{color:var(--heading-text,#f1f5f9);font-family:var(--font-menu,var(--font-cyber));font-size:13px;font-weight:700}.board-theme-card.active .board-theme-name{color:var(--blue,#38bdf8)}.board-theme-badge{color:var(--blue,#38bdf8);letter-spacing:.05em;text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:700}.piece-sets-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:12px;display:grid}.piece-set-card{background:var(--card-bg,#0f172a99);border:1.5px solid var(--border,#ffffff14);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:stretch;gap:12px;padding:14px;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.piece-set-card:hover{background:var(--card-hover-bg,#1e293bbf);border-color:var(--theme-accent-border,#38bdf859);transform:translateY(-2px)}.piece-set-card.active{background:var(--card-active-bg,#0ea5e91f);border-color:var(--blue,#38bdf8);box-shadow:0 0 16px var(--theme-ambient-glow,#38bdf838)}.piece-set-preview{border:1px solid var(--border,#ffffff14);background:#00000047;border-radius:8px;justify-content:space-around;align-items:center;min-height:52px;padding:8px 10px;display:flex}.piece-preview-svg{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px #00000080);width:36px;max-width:36px;height:36px;max-height:36px;transition:transform .15s}.piece-set-card:hover .piece-preview-svg{transform:scale(1.08)}.piece-set-meta{flex-direction:column;gap:4px;display:flex}.piece-set-header{justify-content:space-between;align-items:center;display:flex}.piece-set-name{color:var(--heading-text,#f1f5f9);font-family:var(--font-menu,var(--font-cyber));font-size:14px;font-weight:700}.piece-set-card.active .piece-set-name{color:var(--blue,#38bdf8)}.piece-set-selected-badge{background:var(--blue,#38bdf8);color:#030712;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700}.piece-set-tagline{color:var(--text-dim,#94a3b8);font-size:12px;line-height:1.35}.piece-set-author{color:var(--text-muted,#64748b);font-size:11px;font-weight:500}.achievements-filter-pills{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.achievement-filter-btn{border:1px solid var(--border,#ffffff1a);background:var(--card-bg,#0f172a99);color:var(--muted,#94a3b8);cursor:pointer;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;transition:all .15s}.achievement-filter-btn:hover{border-color:var(--theme-accent-border,#fff3);background:var(--card-hover-bg,#1e293bcc);color:var(--heading-text,#f1f5f9)}.achievement-filter-btn.active{background:var(--card-active-bg,#38bdf833);border-color:var(--blue,#38bdf8);color:var(--blue,#38bdf8)}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.achievement-card{border-radius:10px;flex-direction:column;justify-content:space-between;padding:14px;transition:border-color .2s,transform .15s;display:flex}.achievement-card.locked{background:var(--card-bg,#0f172a80);border:1px solid var(--border,#ffffff0f)}.achievement-card.unlocked{background:#10b98114;border:1px solid #10b98159}.achievement-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.achievement-card-title{color:var(--heading-text,#cbd5e1);font-size:14px;font-weight:700}.achievement-card.unlocked .achievement-card-title{color:var(--heading-text,#f8fafc)}.achievement-card-status{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.achievement-card-status.locked{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.achievement-card-status.locked{background:color-mix(in srgb, var(--text) 8%, transparent)}}.achievement-card-status.locked{color:var(--muted,#64748b)}.achievement-card-status.unlocked{color:#10b981;background:#10b98133}.achievement-card-desc{color:var(--muted,#94a3b8);margin:0;font-size:12px;line-height:1.4}.achievement-card-date{color:var(--muted,#64748b);margin-top:10px;font-size:10px}.leaderboard-tab-pills{gap:8px;margin-bottom:14px;display:flex}.leaderboard-tab-btn{border:1px solid var(--border,#ffffff1a);background:var(--card-bg,#0f172a99);color:var(--muted,#94a3b8);cursor:pointer;border-radius:20px;padding:6px 16px;font-size:12px;font-weight:700;transition:all .15s}.leaderboard-tab-btn:hover{border-color:var(--theme-accent-border,#fff3);background:var(--card-hover-bg,#1e293bcc);color:var(--heading-text,#f1f5f9)}.leaderboard-tab-btn.active{background:var(--card-active-bg,#38bdf833);border-color:var(--blue,#38bdf8);color:var(--blue,#38bdf8)}.leaderboard-table-wrap{overflow-x:auto}.leaderboard-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.leaderboard-table thead tr{border-bottom:1px solid var(--border,#ffffff1a);color:var(--muted,#94a3b8)}.leaderboard-table th,.leaderboard-table td{padding:8px 12px}.leaderboard-row{border-bottom:1px solid var(--border,#ffffff0d)}.leaderboard-row.is-me{background:var(--card-active-bg,#38bdf81a)}.leaderboard-place{color:var(--heading-text,#cbd5e1);font-weight:700}.leaderboard-place.top3{color:#f59e0b}.leaderboard-player{color:var(--heading-text,#f8fafc);font-weight:600}.leaderboard-me-badge{color:var(--blue,#38bdf8);margin-left:6px;font-size:10px}.leaderboard-rating{font-family:var(--font-mono,monospace);color:var(--blue,#38bdf8);font-weight:700}.leaderboard-rank{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.leaderboard-rank{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.leaderboard-stat{color:var(--muted)}.leaderboard-won{color:#4ade80;font-weight:600}.physical-board-alert-card{background:linear-gradient(135deg,#78350f73,#451a03a6);border:1.5px solid #f59e0bb3;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 10px;padding:10px 14px;display:flex;position:relative;box-shadow:0 4px 16px #00000059,inset 0 0 16px #f59e0b26}.physical-board-alert-card:after{content:"";border-radius:inherit;pointer-events:none;will-change:opacity;border:1.5px solid #fbbf24;animation:2s ease-in-out infinite alternate physical-board-pulse;position:absolute;inset:-1.5px;box-shadow:0 4px 20px #f59e0b59,inset 0 0 24px #f59e0b40}@keyframes physical-board-pulse{0%{opacity:.3}to{opacity:1}}.physical-board-alert-main{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.physical-board-alert-icon{flex-shrink:0;font-size:1.25rem;line-height:1}.physical-board-alert-content{flex-direction:column;gap:2px;min-width:0;display:flex}.physical-board-alert-title{color:#fef3c7;letter-spacing:-.01em;font-size:.85rem;font-weight:700}.physical-board-alert-desc{color:#fde68a;overflow-wrap:anywhere;margin:0;font-size:.76rem;line-height:1.3}.physical-board-alert-actions{flex-shrink:0}.btn-physical-sync{color:#fff;cursor:pointer;white-space:nowrap;background:#d97706;border:1px solid #f59e0b;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.76rem;font-weight:600;transition:all .18s;display:inline-flex}.btn-physical-sync:hover:not(:disabled){background:#b45309;box-shadow:0 0 10px #f59e0b80}.btn-physical-sync:disabled{opacity:.75;cursor:wait}.physical-board-synced-pill{color:#6ee7b7;background:#10b98133;border:1px solid #10b98180;border-radius:20px;align-items:center;gap:6px;margin:4px auto 8px;padding:4px 12px;font-size:.75rem;font-weight:600;animation:.2s ease-out fade-in;display:inline-flex}.room-mobile-board-btn{background:var(--text);align-items:center;gap:5px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.room-mobile-board-btn{background:color-mix(in srgb, var(--text) 8%, transparent)}}.room-mobile-board-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:.68rem;font-weight:600}.room-mobile-board-btn.has-errors{color:#fef3c7;background:#f59e0b40;border-color:#f59e0b99}.board-sync-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.board-sync-dot.ok{background:#10b981;box-shadow:0 0 6px #10b981}.board-sync-dot.warning{background:#f59e0b;animation:1s infinite pulse-dot;box-shadow:0 0 6px #f59e0b}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.room-mobile-wake-pill{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf2459;border-radius:6px;justify-content:center;align-items:center;padding:4px 6px;display:inline-flex}.spin-sync{animation:.8s linear infinite spin-clockwise}@keyframes spin-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-test-haptic{background:var(--text);align-items:center;gap:6px;margin-top:8px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn-test-haptic{background:color-mix(in srgb, var(--text) 8%, transparent)}}.btn-test-haptic{border:1px solid var(--border);color:var(--text)}@supports (color:color-mix(in lab, red, red)){.btn-test-haptic{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.btn-test-haptic{cursor:pointer;border-radius:6px;padding:5px 10px;font-size:.72rem;font-weight:500;transition:all .15s}.btn-test-haptic:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.btn-test-haptic:hover{background:color-mix(in srgb, var(--text) 15%, transparent)}}.btn-test-haptic:hover{color:var(--text)}.settings-toggle-desc{color:var(--muted);margin:4px 0 0;font-size:.75rem;line-height:1.35}@media (display-mode:standalone){.topbar{padding-top:max(env(safe-area-inset-top,0px), 8px);height:calc(56px + env(safe-area-inset-top,0px))}.room-mobile-topbar{padding-top:max(env(safe-area-inset-top,0px), 8px)}.mobile-nav{padding-bottom:max(env(safe-area-inset-bottom,0px), 12px);height:calc(64px + env(safe-area-inset-bottom,0px))}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.stockfish-analysis-progress-panel{background:var(--card-bg,#0f172aeb);border:1px solid var(--theme-accent-border,#38bdf859);border-radius:8px;flex-direction:column;gap:6px;margin-bottom:8px;padding:8px 12px;animation:.2s ease-out fadeIn;display:flex;box-shadow:0 4px 16px #00000073}.progress-bar-header{justify-content:space-between;align-items:center;font-size:12px;display:flex}.progress-engine-info{align-items:center;gap:6px;display:flex}.engine-pulse-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:1.2s infinite alternate pulse-dot;box-shadow:0 0 8px #10b981}.engine-name{color:var(--blue,#38bdf8);letter-spacing:-.01em;font-weight:700}.engine-ply-count{color:var(--muted);font-size:11px}.progress-percentage{color:#6ee7b7;font-weight:800;font-family:var(--font-pixel,monospace);font-size:12px}.progress-bar-track{background:var(--btn-secondary-bg);width:100%;height:6px}@supports (color:color-mix(in lab, red, red)){.progress-bar-track{background:color-mix(in srgb, var(--btn-secondary-bg) 85%, transparent)}}.progress-bar-track{border:1px solid var(--border);border-radius:3px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#0284c7,#10b981);border-radius:3px;height:100%;transition:width .25s ease-out;box-shadow:0 0 8px #10b98180}.board-cell-quality-badge{width:20px;height:20px;font-family:var(--font-main,system-ui, -apple-system, sans-serif);pointer-events:none;z-index:15;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:800;line-height:1;animation:.22s cubic-bezier(.175,.885,.32,1.275) forwards badgePop;display:flex;position:absolute;top:3px;right:3px;box-shadow:0 2px 6px #00000073}@media (width<=540px){.board-cell-quality-badge{width:17px;height:17px;font-size:9.5px;top:2px;right:2px}}.board-cell-quality-badge.quality-brilliant{color:#fff;background:linear-gradient(135deg,#06b6d4,#0891b2);border:1.5px solid #a5f3fc;box-shadow:0 0 10px #06b6d4d9}.board-cell-quality-badge.quality-best{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border:1.5px solid #a7f3d0;box-shadow:0 0 8px #10b981b3}.board-cell-quality-badge.quality-good{color:#fff;background:linear-gradient(135deg,#84cc16,#65a30d);border:1.5px solid #d9f99d;box-shadow:0 0 6px #84cc1699}.board-cell-quality-badge.quality-inaccuracy{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border:1.5px solid #fde68a;box-shadow:0 0 8px #f59e0ba6}.board-cell-quality-badge.quality-mistake{color:#fff;background:linear-gradient(135deg,#f97316,#ea580c);border:1.5px solid #fed7aa;box-shadow:0 0 8px #f97316b3}.board-cell-quality-badge.quality-blunder{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border:1.5px solid #fecaca;box-shadow:0 0 10px #ef4444d9}.board-cell-quality-badge[style]{background:var(--quality-color);color:#fff;text-shadow:0 1px 1px #00000040;border:1.5px solid #ffffffd9;box-shadow:0 1px 4px #00000073}.quality-icon{vertical-align:-.14em;flex:none;display:inline-block}.quality-icon-text{font-weight:800}@keyframes badgePop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.academy-section{width:100%;max-width:1320px;margin:0 auto}.heading-with-tag{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;width:100%;display:flex}.academy-overall-progress{flex-direction:column;gap:6px;min-width:200px;display:flex}.academy-progress-label{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.academy-progress-label b{color:var(--blue,#38bdf8);font-weight:700}.academy-progress-track{background:var(--text);width:100%;height:8px}@supports (color:color-mix(in lab, red, red)){.academy-progress-track{background:color-mix(in srgb, var(--text) 8%, transparent)}}.academy-progress-track{border:1px solid var(--border);border-radius:999px;overflow:hidden}.academy-progress-bar{background:var(--brand-heading-gradient,linear-gradient(90deg, #38bdf8, #818cf8));height:100%;box-shadow:0 0 10px var(--theme-ambient-glow,#38bdf880);border-radius:999px;transition:width .4s}.academy-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;margin-top:8px;display:grid}.academy-lesson-card{background:var(--card-bg,#0f172aa6);border:1px solid var(--border,#ffffff14);cursor:pointer;border-radius:12px;flex-direction:column;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.academy-lesson-card:hover{border-color:var(--border-bright,#38bdf866);box-shadow:0 8px 24px #00000059, 0 0 14px var(--theme-ambient-glow,#38bdf826);transform:translateY(-2px)}.academy-lesson-card.is-completed{background:var(--panel-2);border-color:#10b9814d}@supports (color:color-mix(in lab, red, red)){.academy-lesson-card.is-completed{background:color-mix(in srgb, var(--panel-2) 50%, transparent)}}.lesson-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.lesson-card-header-left{align-items:center;gap:8px;display:flex}.lesson-icon-badge{background:var(--text);border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.lesson-icon-badge{background:color-mix(in srgb, var(--text) 4%, transparent)}}.lesson-icon-badge{border:1px solid var(--border);color:var(--muted);transition:all .18s cubic-bezier(.16,1,.3,1)}.academy-lesson-card:hover .lesson-icon-badge{color:var(--blue,#38bdf8);border-color:var(--theme-accent-border,#38bdf84d);background:var(--card-active-bg,#38bdf814);transform:scale(1.05)}.lesson-category-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--card-active-bg,#38bdf81f);color:var(--blue,#38bdf8);border:1px solid var(--theme-accent-border,#38bdf840);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.lesson-badge-completed{color:#10b981;background:#10b9811f;border:1px solid #10b9814d;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.lesson-badge-todo{color:var(--muted);font-size:12px}.lesson-card-title{color:var(--text);margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.35}.lesson-card-desc{color:var(--muted);flex:1;margin:0 0 12px;font-size:13px;line-height:1.5}.lesson-card-note{background:var(--text);border-radius:6px;align-items:baseline;gap:6px;margin-bottom:14px;padding:8px 10px;display:flex}@supports (color:color-mix(in lab, red, red)){.lesson-card-note{background:color-mix(in srgb, var(--text) 3%, transparent)}}.lesson-card-note{border:1px solid var(--border);font-size:12px;line-height:1.45}.lesson-note-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-shrink:0;font-size:11px;font-weight:700}.lesson-note-text{color:var(--text)}@supports (color:color-mix(in lab, red, red)){.lesson-note-text{color:color-mix(in srgb, var(--text) 78%, var(--muted))}}.lesson-note-text{word-break:break-word}.lesson-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:12px;display:flex}.lesson-card-stage-count{color:var(--muted);font-size:12px;font-weight:500}.lesson-hint-tag{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.academy-footer-toolbar{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:16px;display:flex}.academy-workspace{flex-direction:column;gap:18px;display:flex}.academy-nav-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.academy-stage-stepper{align-items:center;gap:14px;display:flex}.stepper-title{color:var(--heading-text,#f1f5f9);font-size:15px;font-weight:700}.stepper-dots{align-items:center;gap:6px;display:flex}.stepper-dot{background:var(--text);border-radius:999px;width:10px;height:10px}@supports (color:color-mix(in lab, red, red)){.stepper-dot{background:color-mix(in srgb, var(--text) 15%, transparent)}}.stepper-dot{transition:all .2s}.stepper-dot.current{background:var(--blue,#38bdf8);box-shadow:0 0 8px var(--theme-ambient-glow,#38bdf899);transform:scale(1.3)}.stepper-dot.done{background:#10b981}.academy-interactive-layout{grid-template-columns:minmax(500px,640px) 1fr;align-items:start;gap:32px;display:grid}@media (width>=1300px){.academy-interactive-layout{grid-template-columns:640px 1fr}}@media (width>=981px){.academy-interactive-layout{grid-template-columns:minmax(360px,min(640px,100vh - 250px)) minmax(300px,1fr)}.academy-board-column .academy-hud{flex-direction:row;align-items:stretch;gap:10px}.academy-board-column .academy-hud>*{flex:1 1 0;min-width:0}}@media (width<=980px){.academy-interactive-layout{grid-template-columns:1fr;gap:20px}}.academy-board-column{flex-direction:column;gap:14px;width:100%;max-width:640px;margin:0 auto;display:flex}.academy-tp-bar{background:var(--panel-2);border-radius:8px;flex-direction:column;gap:6px;padding:10px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.academy-tp-bar{background:color-mix(in srgb, var(--panel-2) 70%, transparent)}}.academy-tp-bar{border:1px solid var(--border)}.tp-bar-label{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.tp-bar-label svg{color:#eab308}.tp-bar-label b{color:#facc15;font-weight:700}.tp-track{background:var(--text);width:100%;height:6px}@supports (color:color-mix(in lab, red, red)){.tp-track{background:color-mix(in srgb, var(--text) 8%, transparent)}}.tp-track{border-radius:999px;overflow:hidden}.tp-fill{background:linear-gradient(90deg,#eab308,#f59e0b);border-radius:999px;height:100%;transition:width .3s}.academy-tactical-buttons{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;transition:padding-top .22s;display:grid}.academy-tactical-buttons.has-hint-pointer{padding-top:36px}.tactical-btn-wrapper{flex-direction:column;width:100%;display:flex;position:relative}.tactical-btn-hint-pointer{z-index:30;pointer-events:none;flex-direction:column;align-items:center;animation:1.1s ease-in-out infinite tactical-hint-arrow-bounce;display:flex;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.tactical-btn-hint-bubble{background:var(--btn-primary-bg,linear-gradient(135deg, #0284c7 0%, #0369a1 100%));color:var(--btn-primary-text,#fff);white-space:nowrap;box-shadow:0 4px 14px #00000073, 0 0 16px var(--theme-ambient-glow,#38bdf8b3);border:1px solid var(--btn-primary-border,#ffffff59);letter-spacing:.02em;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700}.tactical-btn-hint-svg{filter:drop-shadow(0 2px 8px var(--theme-ambient-glow,#38bdf8f2));margin-top:-1px}@keyframes tactical-hint-arrow-bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.btn-tactical.tactical-hint-highlight{will-change:transform;border-color:var(--blue,#38bdf8)!important;box-shadow:0 0 0 2.5px var(--blue,#38bdf8), 0 0 20px var(--theme-ambient-glow,#38bdf8d9)!important;animation:1.2s ease-in-out infinite alternate tactical-btn-hint-pulse!important}@keyframes tactical-btn-hint-pulse{0%{transform:scale(1)}to{transform:scale(1.035)}}.academy-board{max-width:640px;overflow:hidden;aspect-ratio:1!important;border:7px solid var(--board-border,#334155)!important;box-sizing:border-box!important;border-radius:8px!important;grid-template-rows:repeat(8,minmax(0,1fr))!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;width:100%!important;display:grid!important;box-shadow:0 16px 48px #0009!important}.academy-board .square{aspect-ratio:1!important;box-sizing:border-box!important;border:0!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;padding:0!important;display:flex!important;position:relative!important}.academy-board .chess-piece{font-size:clamp(28px,4.6vw,60px)!important}.academy-info-column{flex-direction:column;gap:16px;display:flex}.academy-instruction-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:16px;padding:22px;display:flex;box-shadow:0 18px 38px #00000047}.stage-title-row{flex-direction:column;gap:4px;display:flex}.stage-badge{color:var(--blue,#38bdf8);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.stage-title-row h4{color:var(--heading-text,#f8fafc);margin:0;font-size:19px;font-weight:700}.academy-feedback-banner{border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.5}.academy-feedback-banner p{margin:0}.academy-feedback-banner.tone-info{background:var(--card-active-bg,#38bdf81f);border:1px solid var(--theme-accent-border,#38bdf840);color:var(--text,#e0f2fe)}.academy-feedback-banner.tone-success{color:#d1fae5;background:#10b98126;border:1px solid #10b98159}.academy-feedback-banner.tone-error{color:#fee2e2;background:#ef444426;border:1px solid #ef444459}.stage-explanation-box{background:var(--card-bg,#ffffff08);border:1px solid var(--border,#ffffff0f);border-radius:8px;flex-direction:column;gap:8px;padding:14px;display:flex}.explanation-title{color:var(--heading-text,#cbd5e1);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.explanation-title svg{color:var(--blue,#38bdf8)}.stage-explanation-box p{color:var(--muted,#94a3b8);margin:0;font-size:13px;line-height:1.55}.academy-controls-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding-top:8px;display:flex}.lesson-card-title{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.lesson-card-go{color:var(--blue,#38bdf8);flex:none;margin-top:1px;display:none}.stepper-title-short,.academy-next-btn .label-short,.stage-badge .label-short{display:none}.academy-instruction-card{position:relative}.academy-hud{flex-direction:column;gap:14px;display:flex}.academy-tactical-buttons:empty{display:none}summary.explanation-title{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}summary.explanation-title::-webkit-details-marker{display:none}summary.explanation-title .chevron-icon{color:var(--muted);margin-left:auto;transition:transform .18s}.stage-explanation-box[open] summary.explanation-title .chevron-icon{transform:rotate(180deg)}@media (width<=760px){.content:has(>.academy-section.is-in-lesson){padding-top:8px}.academy-section.is-in-lesson,.academy-workspace,.academy-interactive-layout{gap:10px}.academy-nav-bar{flex-wrap:nowrap;gap:10px}.academy-back-btn{flex:none;justify-content:center;width:36px;height:36px;padding:0!important}.academy-back-btn span{display:none}.academy-stage-stepper{flex:1;justify-content:space-between;gap:10px;min-width:0}.stepper-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.stepper-title-full{display:none}.stepper-title-short{display:inline}.academy-board-column{gap:8px}.academy-hud{flex-direction:row;align-items:stretch;gap:8px}.academy-tp-bar{flex-direction:row;flex:none;align-items:center;gap:8px;padding:6px 10px}.academy-hud:has(.academy-tactical-buttons:empty) .academy-tp-bar{flex:1}.academy-tp-bar .tp-bar-label{gap:6px}.academy-tp-bar .tp-bar-label>span{display:none}.academy-hud:has(.academy-tactical-buttons:empty) .tp-bar-label>span{display:inline}.academy-tp-bar .tp-of{color:var(--muted);font-weight:500}.academy-tp-bar .tp-track{width:44px}.academy-hud:has(.academy-tactical-buttons:empty) .tp-track{flex:1}.academy-tactical-buttons{flex:1;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px;min-width:0}.academy-tactical-buttons .btn-tactical{white-space:nowrap;min-height:36px}.academy-board{border-width:4px!important;box-shadow:0 8px 24px #00000073!important}.academy-instruction-card{border-radius:10px;gap:8px;padding:12px}.stage-title-row{flex-direction:row;align-items:baseline;gap:8px}.stage-badge{flex:none;font-size:11px}.stage-title-row h4{font-size:15px;line-height:1.3}.academy-feedback-banner{padding:8px 10px;font-size:13.5px;line-height:1.45}.stage-explanation-box{background:0 0;border:0;gap:6px;padding:0}.explanation-title{font-size:12.5px}.academy-controls-row{flex-wrap:nowrap;gap:8px;padding-top:8px}.academy-controls-row button{white-space:nowrap;flex-wrap:nowrap;flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:38px;display:inline-flex}.academy-controls-row .academy-next-btn{flex-grow:1.3}.academy-next-btn .label-full,.stage-badge .label-full{display:none}.academy-next-btn .label-short,.stage-badge .label-short{display:inline}.stage-title-row{padding-right:64px}.stage-explanation-box:not([open]){margin-top:-8px}summary.explanation-title{background:var(--text);align-items:center}@supports (color:color-mix(in lab, red, red)){summary.explanation-title{background:color-mix(in srgb, var(--text) 5%, transparent)}}summary.explanation-title{border:1px solid var(--border);border-radius:8px;gap:4px;height:30px;padding:0 8px;display:inline-flex;position:absolute;top:8px;right:10px}.stage-explanation-box[open] summary.explanation-title{background:var(--card-active-bg,#38bdf81f);border-color:var(--theme-accent-border,#38bdf84d)}summary.explanation-title .explanation-label{display:none}summary.explanation-title .chevron-icon{margin-left:0}.academy-interactive-layout{grid-template-columns:minmax(0,1fr)}.academy-board-column,.academy-info-column{min-width:0}}@media (width<=640px){.academy-section:not(.is-in-lesson) .page-heading p{display:none}.academy-catalog-grid{gap:10px}.academy-lesson-card{padding:12px 14px}.lesson-card-header{margin-bottom:6px}.lesson-card-title{margin-bottom:4px;font-size:15px}.lesson-card-go{display:inline-flex}.lesson-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.lesson-card-note,.lesson-card-footer{display:none}}.chess2-academy-callout{background:var(--card-active-bg,linear-gradient(135deg, #38bdf81f, #818cf814));border:1px solid var(--theme-accent-border,#38bdf847);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:12px 16px;display:flex}.chess2-academy-callout .callout-text{flex-direction:column;gap:2px;display:flex}.chess2-academy-callout .callout-text strong{color:var(--heading-text,#f8fafc);font-size:13px}.chess2-academy-callout .callout-text small{color:var(--muted,#94a3b8);font-size:12px}.chess2-academy-callout .callout-actions{align-items:center;gap:8px;display:flex}.chess2-academy-callout .callout-dismiss-btn{color:var(--muted,#94a3b8);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:16px;line-height:1;transition:all .15s;display:inline-flex}.chess2-academy-callout .callout-dismiss-btn:hover{color:var(--text,#f8fafc);border-color:var(--border,#ffffff1a);background:#ffffff14}.waiting-opponent-card{background:var(--card-bg,#0f172af0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--theme-accent-border,#38bdf859);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:10px 14px;animation:.25s ease-out fadeIn;display:flex;position:relative;box-shadow:0 4px 16px #0000004d}.waiting-card-content{align-items:center;gap:10px;display:flex}.waiting-pulse-dot{background:var(--blue,#38bdf8);box-shadow:0 0 10px var(--theme-ambient-glow,#38bdf8);border-radius:50%;flex:0 0 10px;width:10px;height:10px;animation:1.8s ease-in-out infinite pulseDot;display:inline-block}@keyframes pulseDot{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}.waiting-text-block{flex-direction:column;gap:2px;display:flex}.waiting-text-block strong{color:var(--text);font-size:13px;font-weight:600}.waiting-text-block span{color:var(--muted);font-size:12px}.waiting-card-actions{align-items:center;gap:8px;display:flex}.waiting-card-actions .btn-copy{min-height:32px;padding:6px 12px;font-size:12px}.btn-waiting-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.btn-waiting-dismiss:hover{color:var(--text)}.reconnecting-card{background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #f59e0b73;border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:10px 14px;animation:.25s ease-out fadeIn;display:flex;position:relative;box-shadow:0 4px 16px #00000059}.reconnecting-card-content{align-items:center;gap:10px;min-width:0;display:flex}.btn-reconnect-now,.server-alert-retry{background:var(--theme-accent,#f59e0b)}@supports (color:color-mix(in lab, red, red)){.btn-reconnect-now,.server-alert-retry{background:color-mix(in srgb, var(--theme-accent,#f59e0b) 14%, var(--panel))}}.btn-reconnect-now,.server-alert-retry{border:1px solid var(--theme-accent-border,#f59e0b80);color:var(--theme-accent-text,var(--text));cursor:pointer;font:inherit;border-radius:7px;flex:none;margin-left:auto;padding:6px 10px;font-size:12px;font-weight:700;transition:background .16s,border-color .16s,transform .16s}.btn-reconnect-now:hover,.server-alert-retry:hover{background:var(--theme-accent,#f59e0b)}@supports (color:color-mix(in lab, red, red)){.btn-reconnect-now:hover,.server-alert-retry:hover{background:color-mix(in srgb, var(--theme-accent,#f59e0b) 24%, var(--panel))}}.btn-reconnect-now:hover,.server-alert-retry:hover{border-color:var(--theme-accent,#f59e0b);transform:translateY(-1px)}.reconnecting-pulse-dot{background:#f59e0b;border-radius:50%;flex:0 0 10px;width:10px;height:10px;animation:1.4s ease-in-out infinite pulseDot;display:inline-block;box-shadow:0 0 10px #f59e0b}.reconnecting-text{color:#fbbf24;font-size:13px;font-weight:500}.quick-join-modal-card{max-width:440px}.quick-join-modal-card .room-code-highlight{letter-spacing:.08em;font-size:16px}.quick-join-board-toggle{margin-top:14px}.quick-join-board-toggle label{color:var(--text,#f8fafc);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.quick-join-board-toggle input[type=checkbox]{accent-color:var(--blue,#38bdf8);width:16px;height:16px}.outcome-rating-summary{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.outcome-rating-summary .rating-tag{color:var(--muted,#94a3b8);font-size:11px;font-weight:500}.rating-delta-pill{letter-spacing:.02em;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:700}.rating-delta-pill.positive{color:#4ade80;background:#4ade802e;border:1px solid #4ade8059}.rating-delta-pill.negative{color:#f87171;background:#f871712e;border:1px solid #f8717159}.rating-new-val{color:var(--text,#f1f5f9);font-size:12px;font-weight:600}.outcome-achievements-block{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.outcome-achievements-heading{color:var(--blue,#38bdf8);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.outcome-achievements-cards{flex-wrap:wrap;gap:8px;display:flex}.outcome-achievement-card{background:var(--card-active-bg,#38bdf814);border:1px solid var(--theme-accent-border,#38bdf847);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;animation:.3s ease-out fadeIn;display:flex}.outcome-ach-badge{color:#f59e0b;font-size:14px}.outcome-ach-info{flex-direction:column;display:flex}.outcome-ach-title{color:var(--text);font-size:12px;font-weight:700}.outcome-ach-desc{color:var(--muted);font-size:11px}.theme-quick-switch-wrapper{align-items:center;display:inline-flex;position:relative}.theme-quick-switch-btn{background:var(--card-bg,#ffffff0d);border:1px solid var(--border-bright,#ffffff1f);color:var(--text,#f1f5f9);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;height:34px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.theme-quick-switch-btn:hover{background:var(--card-hover-bg,#ffffff1a);border-color:var(--blue);color:var(--text,#fff)}.theme-quick-switch-btn svg{color:var(--blue);flex-shrink:0}.theme-current-name{letter-spacing:.01em;font-size:12.5px}.theme-quick-dropdown{background:var(--panel,#0f172a);border:1px solid var(--border-bright,#ffffff26);z-index:100;-webkit-backdrop-filter:blur(20px);border-radius:12px;flex-direction:column;min-width:290px;max-width:340px;animation:.15s ease-out fadeIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 40px #00000073}.theme-dropdown-header{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.theme-dropdown-header strong{color:var(--text);font-size:13px;font-weight:700}.theme-dropdown-header small{color:var(--muted);font-size:11px}.theme-dropdown-list{flex-direction:column;gap:2px;max-height:380px;padding:6px;display:flex;overflow-y:auto}.theme-dropdown-item{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:all .12s;display:flex}.theme-dropdown-item:hover{background:var(--card-hover-bg,#ffffff0f);border-color:var(--border)}.theme-dropdown-item.active{background:var(--nav-active-bg,#2563eb26);border-color:var(--nav-active-border,var(--blue))}.theme-swatch-pills{border:1px solid var(--border);background:#00000040;border-radius:6px;flex-shrink:0;align-items:center;gap:3px;padding:2px;display:flex}.theme-swatch-pills span{border-radius:3px;width:9px;height:18px;display:inline-block}.theme-dropdown-item-info{flex:1;justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.theme-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.theme-item-badge{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.theme-item-badge{background:color-mix(in srgb, var(--text) 8%, transparent)}}.theme-item-badge{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.theme-dropdown-item.active .theme-item-badge{background:var(--blue);color:#000;font-weight:700}.app-themes-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-top:14px;display:grid}.app-theme-card{background:var(--card-bg,#0f172aa6);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:stretch;gap:12px;padding:16px;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.app-theme-card:hover{background:var(--card-hover-bg,#1e293bbf);border-color:var(--border-bright);transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.app-theme-card.active{background:var(--card-active-bg,#2563eb1f);border-color:var(--blue);box-shadow:0 0 0 2px var(--theme-accent-border,#38bdf84d), 0 8px 24px #00000040}.app-theme-swatch-bar{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(4,1fr);height:28px;display:grid;overflow:hidden;box-shadow:inset 0 1px 2px #0000004d}.app-theme-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.app-theme-card-name{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:700}.app-theme-card-badge{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.app-theme-card-badge{background:color-mix(in srgb, var(--text) 8%, transparent)}}.app-theme-card-badge{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:600}.app-theme-card.active .app-theme-card-badge{background:var(--blue);color:#000;font-weight:700}.app-theme-card-desc{color:var(--muted);flex:1;margin:0;font-size:12.5px;line-height:1.45}.app-theme-card-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding-top:10px;font-size:12px;display:flex}.app-theme-card.active .app-theme-card-footer{color:var(--blue);font-weight:600}html[data-theme-mode=light] body{color:var(--text);background:var(--page-bg-gradient)}html[data-theme-mode=light] .panel{border-color:#00000014;box-shadow:0 4px 20px #0000000f}html[data-theme-mode=light] .sidebar{border-right-color:#00000014}html[data-theme-mode=light] .sidebar-footer{border-top-color:#00000014}html[data-theme-mode=light]{--piece-white-body:#fff;--piece-white-stroke:#0f172a;--piece-white-inner:#475569;--piece-black-body:#1e293b;--piece-black-stroke:#0f172a;--piece-black-inner:#cbd5e1}html[data-theme-mode=light] .topbar{border-bottom-color:#00000014}html[data-theme-mode=light] .nav-item{color:#64748b}html[data-theme-mode=light] .nav-item:hover:not(.active){color:#0f172a;background:#0000000a}html[data-theme-mode=light] .profile b,html[data-theme-mode=light] .settings-panel h2{color:#1c1917}html[data-theme-mode=light] .crumb-current{color:#0f172a}html[data-theme-mode=light] .crumb-brand{color:#94a3b8}html[data-theme-mode=light] .crumb-divider{color:#cbd5e1}html[data-theme-mode=light] .theme-dropdown-header strong{color:#1c1917}html[data-theme-mode=light] .theme-item-badge,html[data-theme-mode=light] .app-theme-card-badge{color:#64748b;background:#0000000f}html[data-theme-mode=light] .theme-dropdown-item.active .theme-item-badge,html[data-theme-mode=light] .app-theme-card.active .app-theme-card-badge{background:var(--blue);color:#fff}html[data-theme-mode=light] .theme-quick-switch-btn{color:#1c1917;background:#0000000a;border-color:#0000001a}html[data-theme-mode=light] .theme-quick-switch-btn:hover{color:#000;background:#00000014}html[data-theme-mode=light] .build-badge{color:#475569;background:#0000000d;border-color:#0000001f}html[data-theme-mode=light] .build-badge:hover{color:#0f172a;background:#00000014;border-color:#0003}html[data-theme-mode=light] .sidebar-version-tag{color:#64748b}html[data-theme-mode=light] .secondary-action{color:#1e293b;background:#f1f5f9;border-color:#0000001f}html[data-theme-mode=light] .secondary-action:hover{color:#0f172a;background:#e2e8f0;border-color:#0003}html[data-theme-mode=light] input,html[data-theme-mode=light] select,html[data-theme-mode=light] textarea{color:#0f172a;background:#fff;border-color:#00000026}html[data-theme-mode=light] input::placeholder,html[data-theme-mode=light] textarea::placeholder{color:#94a3b8}html[data-theme-mode=light] .setup-main{background:#fff;border-color:#00000014;box-shadow:0 4px 24px #0000000d}html[data-theme-mode=light] .field-group+.field-group{border-top-color:#00000014}html[data-theme-mode=light] .field-heading>span{color:#1e293b;background:#0000000d;border-color:#0000001a}html[data-theme-mode=light] .field-heading h2{color:#09090b}html[data-theme-mode=light] .field-heading p{color:#64748b}html[data-theme-mode=light] .choice{background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .choice:hover:not(:disabled){background:#f1f5f9;border-color:#00000026}html[data-theme-mode=light] .choice.active{background:var(--card-active-bg,#2563eb14);border-color:var(--blue,#2563eb);box-shadow:0 0 0 1px var(--theme-accent-border,#2563eb40)}html[data-theme-mode=light] .choice-header{color:#0f172a}html[data-theme-mode=light] .choice-header svg{color:var(--blue,#2563eb)}html[data-theme-mode=light] .choice-title,html[data-theme-mode=light] .choice b{color:#0f172a}html[data-theme-mode=light] .choice small{color:#64748b}html[data-theme-mode=light] .time-preset-card{background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .time-preset-card:hover{background:#f1f5f9;border-color:#00000026}html[data-theme-mode=light] .time-preset-card.active{background:var(--card-active-bg,#2563eb14);border-color:var(--blue,#2563eb);box-shadow:0 0 0 1.5px var(--blue,#2563eb), 0 0 12px var(--theme-ambient-glow,#2563eb33)}html[data-theme-mode=light] .preset-time{color:#0f172a}html[data-theme-mode=light] .time-preset-card.active .preset-time{color:var(--blue-deep,#1d4ed8)}html[data-theme-mode=light] .preset-desc{color:#64748b}html[data-theme-mode=light] .time-preset-card.active .preset-desc{color:var(--blue,#2563eb)}html[data-theme-mode=light] .preset-icon{color:#64748b}html[data-theme-mode=light] .time-preset-card:hover .preset-icon{color:var(--blue,#2563eb)}html[data-theme-mode=light] .time-preset-card.active .preset-icon{color:var(--blue-deep,#1d4ed8);filter:drop-shadow(0 0 4px var(--theme-ambient-glow,#2563eb33))}html[data-theme-mode=light] .pref-heading{color:#09090b}html[data-theme-mode=light] .color-card{background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .color-card:hover{border-color:var(--theme-accent-border,#00000026);background:#f1f5f9}html[data-theme-mode=light] .color-card.active{background:var(--card-active-bg,#2563eb14);border-color:var(--blue,#2563eb);box-shadow:0 0 0 1.5px var(--blue,#2563eb), 0 0 12px var(--theme-ambient-glow,#2563eb33)}html[data-theme-mode=light] .color-card-title{color:#0f172a}html[data-theme-mode=light] .color-card.active .color-card-title{color:var(--blue-deep,#1d4ed8)}html[data-theme-mode=light] .color-card .random-color-svg circle.outer-ring{stroke:#0f172a38}html[data-theme-mode=light] .color-card:hover .random-color-svg circle.outer-ring,html[data-theme-mode=light] .color-card.active .random-color-svg circle.outer-ring{stroke:var(--blue,#2563eb)}html[data-theme-mode=light] .color-card .color-piece-svg{filter:drop-shadow(0 2px 4px #00000024)}html[data-theme-mode=light] .color-card.active .color-piece-svg{filter:drop-shadow(0 0 8px var(--theme-ambient-glow,#2563eb59))}html[data-theme-mode=light] .color-card.black-card .color-piece-svg{filter:drop-shadow(0 2px 4px #0000002e)}html[data-theme-mode=light] .lobby-start-btn:disabled{color:#94a3b8;opacity:1;cursor:not-allowed;background:#e2e8f0;border-color:#0000001a}html[data-theme-mode=light] .lobby-start-btn:disabled .lobby-start-btn-arrow{color:#94a3b8}html[data-theme-mode=light] .chess2-academy-callout{background:var(--card-active-bg,#2563eb0f);border-color:var(--theme-accent-border,#2563eb33)}html[data-theme-mode=light] .join-box-card,html[data-theme-mode=light] .lobby-feature-card,html[data-theme-mode=light] .lobby-status-card{background:#fff;border-color:#00000014;box-shadow:0 4px 20px #0000000d}html[data-theme-mode=light] .lobby-card-header-text h3{color:#09090b}html[data-theme-mode=light] .lobby-card-header-text p{color:#64748b}html[data-theme-mode=light] .lobby-card-icon-badge{background:var(--card-active-bg,#2563eb14);border-color:var(--theme-accent-border,#2563eb33);color:var(--blue,#2563eb)}html[data-theme-mode=light] .join-form-fields label{color:#64748b}html[data-theme-mode=light] .recent-sidebar-item{background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .recent-sidebar-opp{color:#0f172a}html[data-theme-mode=light] .player-dashboard-panel{background:#fff;border-color:#00000014;box-shadow:0 4px 20px #0000000d}html[data-theme-mode=light] .player-name-row h3{color:#09090b}html[data-theme-mode=light] .player-subtitle{color:#64748b}html[data-theme-mode=light] .player-status-dot{border-color:#fff}html[data-theme-mode=light] .stat-tile{box-shadow:none;background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .stat-tile:hover{background:#f1f5f9;border-color:#00000024}html[data-theme-mode=light] .stat-title{color:#64748b}html[data-theme-mode=light] .stat-number{color:#09090b}html[data-theme-mode=light] .stat-empty-note{color:#94a3b8}html[data-theme-mode=light] .rating-tier-card{box-shadow:none;background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .rating-tier-card:hover{background:#f1f5f9;border-color:#00000024}html[data-theme-mode=light] .rating-prog-bar-track{background:#00000014}html[data-theme-mode=light] .rating-stats-grid{border-top-color:#00000014}html[data-theme-mode=light] .rating-card-label.classic,html[data-theme-mode=light] .rating-badge.classic{color:#64748b;border-color:#0000001f}html[data-theme-mode=light] .rating-card-value,html[data-theme-mode=light] .rating-stat-val{color:#09090b}html[data-theme-mode=light] .rating-stat-lbl,html[data-theme-mode=light] .rating-card-unit,html[data-theme-mode=light] .rating-prog-labels,html[data-theme-mode=light] .rating-prog-next-rank,html[data-theme-mode=light] .rating-classic-desc{color:#64748b}html[data-theme-mode=light] .rating-prog-next-rank strong{color:#09090b}html[data-theme-mode=light] .academy-instruction-card{background:#fff;border-color:#00000014;box-shadow:0 4px 20px #0000000f}html[data-theme-mode=light] .chess2-tactical-card{background:#f8fafc;border-color:#00000014;box-shadow:0 2px 12px #0000000a}html[data-theme-mode=light] .table-toolbar{background:#f8fafc;border-bottom:1px solid #00000014}html[data-theme-mode=light] .filter-label{color:#64748b}html[data-theme-mode=light] .filter-chip{color:#475569;background:#fff;border:1px solid #0000001a}html[data-theme-mode=light] .filter-chip:hover{color:#0f172a;background:#f1f5f9}html[data-theme-mode=light] .filter-chip.active{background:var(--card-active-bg,#2563eb1a);border-color:var(--blue,#2563eb);color:var(--blue,#2563eb);box-shadow:none}html[data-theme-mode=light] .filter-chip.win.active{color:#059669;background:#10b9811f;border-color:#10b98166}html[data-theme-mode=light] .filter-chip.loss.active{color:#dc2626;background:#ef44441f;border-color:#ef444466}html[data-theme-mode=light] .filter-chip.draw.active{color:#b45309;background:#eab30826;border-color:#eab30866}html[data-theme-mode=light] .table-stats-count{color:#64748b}html[data-theme-mode=light] .table-stats-count strong{color:#0f172a}html[data-theme-mode=light] .table-head{color:#475569;background:#f1f5f9;border-bottom-color:#00000014}html[data-theme-mode=light] .table-head .sortable-col:hover{color:#0f172a}html[data-theme-mode=light] .table-row{color:#1e293b;border-top-color:#0000000f}html[data-theme-mode=light] .table-row:hover{background:#00000005}html[data-theme-mode=light] .table-row strong{color:#09090b}html[data-theme-mode=light] .empty-state{color:#64748b}html[data-theme-mode=light] .empty-state b{color:#0f172a}html[data-theme-mode=light] .settings-volume-control{background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .btn-sound-test{color:#0f172a;background:#fff;border-color:#00000024}html[data-theme-mode=light] .btn-sound-test:hover{border-color:var(--blue,#2563eb);color:#0f172a;box-shadow:0 0 14px var(--theme-ambient-glow,#2563eb33);background:#f1f5f9}html[data-theme-mode=light] .settings-volume-label{color:#475569}html[data-theme-mode=light] .settings-volume-label b{color:var(--blue,#2563eb)}html[data-theme-mode=light] .board-theme-card{background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .board-theme-card:hover{border-color:var(--theme-accent-border,#2563eb59);background:#f1f5f9}html[data-theme-mode=light] .board-theme-card.active{background:var(--card-active-bg,#2563eb14);border-color:var(--blue,#2563eb);box-shadow:0 0 16px var(--theme-ambient-glow,#2563eb33)}html[data-theme-mode=light] .board-theme-name{color:#0f172a}html[data-theme-mode=light] .board-theme-card.active .board-theme-name{color:var(--blue-deep,#1d4ed8);font-weight:700}html[data-theme-mode=light] .board-theme-mini{border-color:#0000001f;box-shadow:0 2px 8px #00000014}html[data-theme-mode=light] .piece-set-card{background:#fff;border-color:#0f172a1a;box-shadow:0 1px 3px #0f172a0f}html[data-theme-mode=light] .piece-set-card:hover{border-color:var(--theme-accent-border,#2563eb59);background:#f8fafc}html[data-theme-mode=light] .piece-set-card.active{background:var(--card-active-bg,#2563eb14);border-color:var(--blue,#2563eb);box-shadow:0 0 16px var(--theme-ambient-glow,#2563eb2e)}html[data-theme-mode=light] .piece-set-preview{background:#f1f5f9;border-color:#e2e8f0}html[data-theme-mode=light] .piece-set-name{color:#0f172a}html[data-theme-mode=light] .piece-set-card.active .piece-set-name{color:var(--blue-deep,#1d4ed8)}html[data-theme-mode=light] .piece-set-tagline{color:#475569}html[data-theme-mode=light] .piece-set-author{color:#64748b}html[data-theme-mode=light] .piece-set-selected-badge{background:var(--blue,#2563eb);color:#fff}html[data-theme-mode=light] .settings-toggle-row{border-bottom-color:#00000014}html[data-theme-mode=light] .settings-toggle-label strong{color:#09090b}html[data-theme-mode=light] .settings-toggle-desc,html[data-theme-mode=light] .settings-toggle-label span{color:#64748b}html[data-theme-mode=light] .settings-switch .settings-slider{background-color:#cbd5e1}html[data-theme-mode=light] .btn-test-haptic{color:#1e293b;background:#f1f5f9;border-color:#0000001f}html[data-theme-mode=light] .achievement-filter-btn{color:#475569;background:#fff;border:1px solid #0000001a}html[data-theme-mode=light] .achievement-filter-btn:hover{color:#0f172a;background:#f1f5f9}html[data-theme-mode=light] .achievement-filter-btn.active{background:var(--card-active-bg,#2563eb1a);border-color:var(--blue,#2563eb);color:var(--blue,#2563eb)}html[data-theme-mode=light] .achievement-card{box-shadow:0 2px 8px #00000008}html[data-theme-mode=light] .achievement-card.locked{background:#f8fafc;border:1px solid #00000014}html[data-theme-mode=light] .achievement-card.unlocked{background:#10b9810a;border:1px solid #10b98159}html[data-theme-mode=light] .achievement-card-title{color:#0f172a}html[data-theme-mode=light] .achievement-card-desc{color:#64748b}html[data-theme-mode=light] .achievement-card-status.locked{color:#64748b;background:#0000000d}html[data-theme-mode=light] .achievement-card-status.unlocked{color:#059669;background:#10b98126}html[data-theme-mode=light] .achievement-card-date{color:#64748b}html[data-theme-mode=light] .leaderboard-tab-btn{color:#475569;background:#fff;border:1px solid #0000001a}html[data-theme-mode=light] .leaderboard-tab-btn:hover{color:#0f172a;background:#f1f5f9}html[data-theme-mode=light] .leaderboard-tab-btn.active{background:var(--card-active-bg,#2563eb1a);border-color:var(--blue,#2563eb);color:var(--blue,#2563eb)}html[data-theme-mode=light] .leaderboard-table thead tr{color:#64748b;border-bottom:1px solid #00000014}html[data-theme-mode=light] .leaderboard-row{border-bottom:1px solid #0000000d}html[data-theme-mode=light] .leaderboard-row.is-me{background:var(--card-active-bg,#2563eb14)}html[data-theme-mode=light] .leaderboard-player{color:#0f172a}html[data-theme-mode=light] .leaderboard-place{color:#475569}html[data-theme-mode=light] .leaderboard-place.top3{color:#d97706}html[data-theme-mode=light] .leaderboard-rank{color:#475569}html[data-theme-mode=light] .leaderboard-stat{color:#64748b}html[data-theme-mode=light] .academy-lesson-card{background:#fff;border-color:#00000014;box-shadow:0 2px 12px #0000000a}html[data-theme-mode=light] .academy-lesson-card:hover{border-color:var(--theme-accent-border,#2563eb66);box-shadow:0 8px 24px #00000014}html[data-theme-mode=light] .academy-lesson-card.is-completed{background:#fff;border-color:#10b98159}html[data-theme-mode=light] .lesson-card-title{color:#09090b}html[data-theme-mode=light] .lesson-card-desc{color:#64748b}html[data-theme-mode=light] .lesson-icon-badge{color:#64748b;background:#0000000a;border-color:#00000014}html[data-theme-mode=light] .lesson-card-note{background:#f8fafc;border-color:#0000000f}html[data-theme-mode=light] .lesson-note-label{color:#64748b}html[data-theme-mode=light] .lesson-note-text{color:#334155}html[data-theme-mode=light] .academy-progress-label span{color:#64748b}html[data-theme-mode=light] .academy-progress-label b{color:#09090b}html[data-theme-mode=light] .academy-progress-track{background:#0000000f}html[data-theme-mode=light] .stepper-title{color:var(--heading-text,#0f172a)!important}html[data-theme-mode=light] .stepper-dot{background:#00000026!important}html[data-theme-mode=light] .stepper-dot.current{background:#0284c7!important;box-shadow:0 0 8px #0284c766!important}html[data-theme-mode=light] .academy-tp-bar{background:var(--card-bg,#f8fafc)!important;border:1px solid var(--border,#e2e8f0)!important}html[data-theme-mode=light] .tp-bar-label{color:var(--muted,#475569)!important}html[data-theme-mode=light] .tp-bar-label b{color:#b45309!important}html[data-theme-mode=light] .tp-track{background:var(--border,#e2e8f0)!important}html[data-theme-mode=light] .academy-instruction-card{background:var(--panel,#fff)!important;border:1px solid var(--border,#e2e8f0)!important;box-shadow:0 4px 18px #0000000f!important}html[data-theme-mode=light] .stage-title-row h4{color:var(--heading-text,#0f172a)!important}html[data-theme-mode=light] .stage-badge{color:var(--blue,#0284c7)!important}html[data-theme-mode=light] .academy-feedback-banner.tone-info{background:var(--card-active-bg,#f0f9ff)!important;border:1px solid var(--theme-accent-border,#bae6fd)!important;color:#0369a1!important;font-weight:500!important}html[data-theme-mode=light] .academy-feedback-banner.tone-success{color:#15803d!important;background:#f0fdf4!important;border:1px solid #bbf7d0!important;font-weight:500!important}html[data-theme-mode=light] .academy-feedback-banner.tone-error{color:#b91c1c!important;background:#fef2f2!important;border:1px solid #fecaca!important;font-weight:500!important}html[data-theme-mode=light] .stage-explanation-box{background:var(--card-bg,#f8fafc)!important;border:1px solid var(--border,#e2e8f0)!important}html[data-theme-mode=light] .explanation-title{color:var(--heading-text,#0f172a)!important}html[data-theme-mode=light] .stage-explanation-box p{color:var(--muted,#334155)!important}html[data-theme-mode=light] .academy-controls-row{border-top:1px solid var(--border,#e2e8f0)!important}html[data-theme-mode=light] .chess2-academy-callout strong{color:var(--heading-text,#0f172a)!important}html[data-theme-mode=light] .chess2-academy-callout small{color:var(--muted,#64748b)!important}html[data-theme-mode=light] .topbar-user-chip{color:#0f172a;background:#fff;border-color:#0000001f}html[data-theme-mode=light] .topbar-user-chip:hover{color:#0284c7;background:#f8fafc;border-color:#0003}html[data-theme-mode=light] .topbar-auth-btn{color:#fff;background:linear-gradient(135deg,#0284c7,#0ea5e9);border-color:#0284c780}html[data-theme-mode=light] .auth-forgot-link{color:#0284c7}html[data-theme-mode=light] .auth-forgot-link:hover{color:#0369a1}html[data-theme-mode=light] .auth-instructions{color:#475569}html[data-theme-mode=light] .auth-notice-text{color:#0f172a}html[data-theme-mode=light] .auth-subnotice-text{color:#64748b}html[data-theme-mode=light] .empty-boards-showcase{background:#fff;border-color:#00000014;box-shadow:0 4px 24px #0000000d}html[data-theme-mode=light] .showcase-header-text h2{color:#09090b}html[data-theme-mode=light] .showcase-header-text p{color:#64748b}html[data-theme-mode=light] .showcase-guest-notice{background:#f8fafc;border-color:#00000014}html[data-theme-mode=light] .showcase-guest-notice p{color:#334155}html[data-theme-mode=light] .board-card{background:#fff;border-color:#00000014;box-shadow:0 4px 20px #0000000d}html[data-theme-mode=light] .board-name span{color:#09090b}html[data-theme-mode=light] .modal-backdrop{background:#0f172a73}html[data-theme-mode=light] .modal-card,html[data-theme-mode=light] .quick-join-modal-card{color:#1e293b;background:#fff;border-color:#0000001a;box-shadow:0 20px 60px #00000026}html[data-theme-mode=light] .modal-card h2{color:#09090b}html[data-theme-mode=light] .modal-card>label{color:#64748b}html[data-theme-mode=light] .modal-close{color:#94a3b8}html[data-theme-mode=light] .modal-close:hover{color:#0f172a}html[data-app-theme]{--site-bg-gradient:var(--page-bg-gradient)}html[data-app-theme][data-board-theme]{--page-bg-gradient:var(--site-bg-gradient)}.legacy-game-page[data-app-theme]{background:var(--site-bg-gradient,var(--page-bg-gradient,linear-gradient(180deg, #0a1f33 0%, #061320 45%, #02070d 100%)))}html[data-app-theme=monochrome] .lobby-start-btn,html[data-app-theme=monochrome] .lobby-aside-btn,html[data-app-theme=monochrome] .primary,html[data-app-theme=monochrome] .primary-action,html[data-app-theme=monochrome] .primary-small,html[data-app-theme=monochrome] .btn-primary,html[data-app-theme=monochrome] .auth-btn,html[data-app-theme=monochrome] .btn-claim,html[data-app-theme=monochrome] .btn-add-board,html[data-app-theme=monochrome] .rematch-btn,html[data-app-theme=monochrome] .action-btn.active,html[data-app-theme=monochrome] .btn-outcome-action.btn-menu,html[data-app-theme=monochrome] .btn-outcome-action.btn-play-again,html[data-app-theme=monochrome] .btn-outcome-action.btn-analysis,html[data-app-theme=monochrome] .replay-step-badge,html[data-app-theme=monochrome] .room-move-item.active-move,html[data-app-theme=monochrome] .analysis-tab-btn.active,html[data-app-theme=monochrome] .continuation-step-chip.active,html[data-app-theme=monochrome] .btn-sandbox-quick,html[data-app-theme=monochrome] .tactical-btn-hint-bubble,html[data-app-theme=monochrome] .boards-header-btn,html[data-app-theme=monochrome] .showcase-btn.primary,html[data-app-theme=monochrome] .ai-level-card.active .ai-level-badge,html[data-app-theme=monochrome] .lobby-start-btn .lobby-start-btn-arrow,html[data-app-theme=monochrome] .lobby-aside-btn span,html[data-app-theme=monochrome] .primary-action span,html[data-app-theme=monochrome] .primary-small span,html[data-app-theme=monochrome] .primary-small svg,html[data-app-theme=monochrome] .boards-header-btn span,html[data-app-theme=monochrome] .boards-header-btn svg,html[data-app-theme=monochrome] .showcase-btn.primary span,html[data-app-theme=monochrome] .showcase-btn.primary svg{color:#050505!important}html[data-app-theme=monochrome] .theme-dropdown-item.active .theme-item-badge,html[data-app-theme=monochrome] .app-theme-card.active .app-theme-card-badge{color:#050505!important;background:#fff!important}html[data-theme-mode=light] .user-rating-chip,html[data-theme-mode=light] .player-rating-pill{background:var(--card-active-bg,#0284c71a);color:var(--blue,#0284c7);border-color:var(--theme-accent-border,#0284c74d)}html[data-theme-mode=light] .profile-rating-num{color:var(--blue,#0284c7)}html[data-app-theme=monochrome] .user-rating-chip,html[data-app-theme=monochrome] .player-rating-pill{color:#fff;background:#ffffff24;border-color:#ffffff59}html[data-app-theme=monochrome] .profile-rating-num{color:#fff}.not-found-container{background:var(--bg);background-image:var(--page-bg-gradient);min-height:100vh;color:var(--text);box-sizing:border-box;justify-content:center;align-items:center;padding:24px;display:flex}.not-found-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:36px 28px;display:flex;box-shadow:0 12px 36px #0006}.not-found-icon-wrap{background:var(--card-bg);border:1px solid var(--border-bright,var(--border));width:72px;height:72px;color:var(--blue);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.not-found-title{background:var(--brand-heading-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 8px;font-size:3.5rem;font-weight:800;line-height:1}.not-found-subtitle{color:var(--heading-text);margin:0 0 12px;font-size:1.25rem;font-weight:600}.not-found-desc{color:var(--muted);margin:0 0 28px;font-size:.95rem;line-height:1.5}.not-found-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text,#fff);border:1px solid var(--btn-primary-border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:12px 28px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.not-found-btn:hover{background:var(--btn-primary-hover);transform:translateY(-1px)}.report-issue-modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:92%;max-width:460px;padding:24px}.report-modal-title-row{align-items:center;gap:10px;display:flex}.report-modal-icon{color:var(--blue);justify-content:center;align-items:center;display:flex}.report-modal-body{flex-direction:column;gap:12px;margin-top:16px;display:flex}.report-modal-context-pill{background:var(--card-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.report-modal-context-pill small{color:var(--muted)}.report-modal-hint{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.report-modal-label{color:var(--heading-text);margin-top:4px;font-size:13px;font-weight:600}.report-modal-textarea{box-sizing:border-box;background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:8px;min-height:80px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.report-modal-textarea:focus{border-color:var(--blue);outline:none}.report-modal-status{border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.report-modal-status.success{color:#10b981;background:#10b9811f;border:1px solid #10b9814d}.report-modal-status.error{color:#f43f5e;background:#f43f5e1f;border:1px solid #f43f5e4d}.report-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.settings-report-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:16px 20px;display:flex}.settings-report-info h4{color:var(--heading-text);margin:0 0 4px;font-size:15px}.settings-report-info p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.btn-report-issue{border:1px solid var(--border-bright,var(--border));background:var(--card-hover-bg,var(--panel-2));color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-report-issue:hover{border-color:var(--blue);color:var(--blue);background:var(--card-active-bg,var(--card-hover-bg))}@media (width<=640px){.settings-report-card{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.btn-report-issue{white-space:normal;text-align:center;justify-content:center;width:100%}}.what-if-banner{background:var(--card-bg,#0f172ae6);border:1px solid var(--blue,#8b5cf6);border-radius:var(--radius-md,10px);box-shadow:0 4px 20px #0006, inset 0 0 16px var(--theme-ambient-glow,#8b5cf640);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;animation:.2s fadeIn;display:flex}.what-if-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.what-if-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--blue,#8b5cf6);color:#fff;box-shadow:0 0 10px var(--theme-ambient-glow,#8b5cf680);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.what-if-moves{color:var(--text,#f8fafc);font-size:13px;font-weight:600;font-family:var(--font-mono,monospace)}.what-if-eval{color:#6ee7b7;background:#10b98133;border:1px solid #10b981;border-radius:5px;padding:2px 7px;font-size:12px;font-weight:800}.what-if-actions{align-items:center;gap:8px;display:flex}.btn-what-if-step-back,.btn-what-if-exit{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .12s}.btn-what-if-step-back{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.btn-what-if-step-back{background:color-mix(in srgb, var(--text) 8%, transparent)}}.btn-what-if-step-back{color:var(--muted,#94a3b8);border-color:var(--border)}.btn-what-if-step-back:hover{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.btn-what-if-step-back:hover{background:color-mix(in srgb, var(--text) 16%, transparent)}}.btn-what-if-step-back:hover{color:var(--text)}.btn-what-if-exit{color:#fca5a5;background:#ef444429;border-color:#ef444459}.btn-what-if-exit:hover{color:#fff;background:#ef444447}button.secondary-action.active-what-if{border-color:var(--blue,#8b5cf6);background:var(--theme-ambient-glow,#8b5cf633);color:var(--blue,#a78bfa)}.topbar-title{color:var(--heading-text,#f8fafc);letter-spacing:.01em;font-size:15px;font-weight:600}@media (width>=721px){.topbar-auth-btn{display:none}}@media (width<=720px){.topbar-title{display:none}}.server-alert{background:var(--red,#f43f5e);align-items:center}@supports (color:color-mix(in lab, red, red)){.server-alert{background:color-mix(in srgb, var(--red,#f43f5e) 12%, transparent)}}.server-alert{border:1px solid var(--red,#f43f5e)}@supports (color:color-mix(in lab, red, red)){.server-alert{border:1px solid color-mix(in srgb, var(--red,#f43f5e) 40%, transparent)}}.server-alert{color:var(--text,#f1f5f9);border-radius:10px;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.server-alert-dot{background:var(--red,#f43f5e);border-radius:50%;flex:none;width:8px;height:8px}.server-alert>span:nth-child(2){flex:auto}@media (width<=560px){.reconnecting-card,.server-alert{flex-wrap:wrap;align-items:flex-start}.btn-reconnect-now,.server-alert-retry{margin-left:18px}}.quick-start{gap:16px;display:grid}.quick-block{gap:8px;display:grid}.quick-segment{background:var(--card-bg,#0f172aa6);border:1px solid var(--border,#ffffff14);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.quick-segment-btn{color:var(--muted,#94a3b8);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:8px 10px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:flex}.quick-segment-btn.active{background:var(--card-active-bg,#2563eb24);box-shadow:inset 0 0 0 1.5px var(--blue,#3b82f6);color:var(--heading-text,#f8fafc)}.choice-row.quick-opponents{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-opponents .choice{min-height:56px;padding:10px 12px}.quick-opponents .choice small{font-size:11.5px;line-height:1.25}.quick-time{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.quick-time-chip{background:var(--card-bg,#0f172aa6);border:1px solid var(--border,#ffffff14);color:var(--text,#f1f5f9);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:48px;padding:6px 8px;transition:background .15s,border-color .15s;display:flex}.quick-time-chip .quick-time-value{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.quick-time-chip small{color:var(--muted,#94a3b8);font-size:11px}.quick-time-chip:hover{background:var(--card-hover-bg,#1e293bbf)}.quick-time-chip.active{background:var(--card-active-bg,#2563eb24);border-color:var(--blue,#3b82f6);box-shadow:0 0 0 1px var(--blue,#3b82f6)}@media (width>=721px){.quick-time{grid-template-columns:repeat(6,minmax(0,1fr))}}.quick-start .chess2-academy-callout{gap:10px;margin-top:0;padding:10px 12px}.quick-start .chess2-academy-callout .callout-text strong{font-size:13px;font-weight:600;line-height:1.3}.quick-start .chess2-academy-callout .compact-btn{white-space:nowrap;flex:none;min-height:36px;padding:6px 14px;font-size:13px}.setup-advanced{border-top:1px solid var(--border,#ffffff14);margin-top:18px}.setup-advanced>summary{color:var(--heading-text,#f8fafc);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:10px;min-height:52px;font-size:14px;font-weight:600;list-style:none;display:flex}.setup-advanced>summary::-webkit-details-marker{display:none}.setup-advanced>summary small{color:var(--muted,#94a3b8);text-align:right;flex:1;font-size:12px;font-weight:500}.setup-advanced>summary:after{content:"";opacity:.6;border-bottom:2px solid;border-right:2px solid;flex:none;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)translateY(-2px)}.setup-advanced[open]>summary:after{transform:rotate(225deg)translateY(-2px)}.setup-advanced .field-group,.setup-advanced .field-group+.field-group{border-top:0;margin-top:0;padding-top:0;padding-bottom:16px}@media (width<=720px){.mobile-nav button small{letter-spacing:0;white-space:nowrap}}@media (width<=480px){.player-dashboard-panel{padding:12px}.player-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-tile{gap:4px;padding:12px 14px}.stat-tile:hover{transform:none}.stat-icon-badge{display:none}.stat-title{letter-spacing:.03em;font-size:10.5px}.stat-number{margin:0;font-size:22px}.stat-number.stat-color-text{font-size:16px}.stat-sub,.stat-empty-note{font-size:11.5px;line-height:1.3}}@media (width<=1100px){.setup-grid{grid-template-columns:minmax(0,1fr)}}.legacy-game-page .board-cell.last-move.light,.board-cell.last-move.light,.square.last-move.light{background:var(--blue,#a855f7)!important}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .board-cell.last-move.light,.board-cell.last-move.light,.square.last-move.light{background:color-mix(in srgb, var(--blue,#a855f7) 42%, var(--board-light,#a3d4e8))!important}}.legacy-game-page .board-cell.last-move.dark,.board-cell.last-move.dark,.square.last-move.dark{background:var(--blue,#a855f7)!important}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .board-cell.last-move.dark,.board-cell.last-move.dark,.square.last-move.dark{background:color-mix(in srgb, var(--blue,#a855f7) 42%, var(--board-dark,#1c7094))!important}}.legacy-game-page .board-cell.last-move,.board-cell.last-move,.square.last-move{box-shadow:inset 0 0 0 2px var(--blue,#a855f7)!important}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .board-cell.last-move,.board-cell.last-move,.square.last-move{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--blue,#a855f7) 80%, transparent)!important}}.legacy-game-page .board-cell.last-move-from.last-move.light,.board-cell.last-move-from.last-move.light,.square.last-move-from.last-move.light{background:var(--blue,#a855f7)!important}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .board-cell.last-move-from.last-move.light,.board-cell.last-move-from.last-move.light,.square.last-move-from.last-move.light{background:color-mix(in srgb, var(--blue,#a855f7) 24%, var(--board-light,#a3d4e8))!important}}.legacy-game-page .board-cell.last-move-from.last-move.dark,.board-cell.last-move-from.last-move.dark,.square.last-move-from.last-move.dark{background:var(--blue,#a855f7)!important}@supports (color:color-mix(in lab, red, red)){.legacy-game-page .board-cell.last-move-from.last-move.dark,.board-cell.last-move-from.last-move.dark,.square.last-move-from.last-move.dark{background:color-mix(in srgb, var(--blue,#a855f7) 24%, var(--board-dark,#1c7094))!important}}.legacy-game-page .board-cell.last-move-from.last-move,.board-cell.last-move-from.last-move,.square.last-move-from.last-move{box-shadow:none!important}.legacy-game-page .board-cell.last-move-from:after,.board-cell.last-move-from:after{display:none}.legacy-game-page .board-cell.last-move.last-move-opponent,.board-cell.last-move.last-move-opponent{animation:.6s ease-out lastMoveAccentFlash}.legacy-game-page .board-cell.last-move-to.last-move-opponent,.board-cell.last-move-to.last-move-opponent{box-shadow:inset 0 0 0 2.5px var(--blue,#a855f7)!important}@keyframes lastMoveAccentFlash{0%{filter:brightness(1.3)}to{filter:brightness()}}.academy-board{position:relative}.legacy-game-page.ruleset-chess2 .chess2-main-board:after,.academy-board:after{content:"";pointer-events:none;z-index:20;border:2px solid #f59e0be6;border-radius:4px;position:absolute;inset:calc(37.5% - 1px);box-shadow:0 0 0 1px #00000040,inset 0 0 0 1px #00000026}.player-tactics-pill{background:var(--blue,#a855f7);align-items:center}@supports (color:color-mix(in lab, red, red)){.player-tactics-pill{background:color-mix(in srgb, var(--blue,#a855f7) 14%, transparent)}}.player-tactics-pill{border:1px solid var(--blue,#a855f7)}@supports (color:color-mix(in lab, red, red)){.player-tactics-pill{border:1px solid color-mix(in srgb, var(--blue,#a855f7) 40%, transparent)}}.player-tactics-pill{color:var(--text,#f1f5f9);font-variant-numeric:tabular-nums;border-radius:6px;flex:none;gap:3px;height:24px;padding:0 7px 2px 5px;font-size:12px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.player-tactics-pill svg{color:var(--blue,#a855f7)}.player-tactics-pill.is-turn{border-color:var(--blue,#a855f7)}.player-tactics-meter{background:var(--blue,#a855f7)}@supports (color:color-mix(in lab, red, red)){.player-tactics-meter{background:color-mix(in srgb, var(--blue,#a855f7) 18%, transparent)}}.player-tactics-meter{height:2px;position:absolute;bottom:0;left:0;right:0}.player-tactics-meter>span{background:var(--blue,#a855f7);height:100%;transition:width .3s;display:block}@media (width>=861px){.player-tactics-pill{display:none}}@media (width<=640px){.player-bar.has-tactics .player-side-pill{display:none}.player-bar.has-tactics .player-bar-info{gap:6px}}.move-strip{background:var(--panel-2,#111a2e);align-items:center}@supports (color:color-mix(in lab, red, red)){.move-strip{background:color-mix(in srgb, var(--panel-2,#111a2e) 82%, transparent)}}.move-strip{border:1px solid var(--border);box-sizing:border-box;border-radius:8px;gap:4px;width:calc(100% - 8px);max-width:540px;height:36px;margin:6px auto 0;padding:3px;transition:border-color .16s,box-shadow .16s;display:flex}.move-strip.is-past{border-color:var(--theme-accent-border,#38bdf873);box-shadow:0 0 0 1px var(--theme-accent,#38bdf8)}@supports (color:color-mix(in lab, red, red)){.move-strip.is-past{box-shadow:0 0 0 1px color-mix(in srgb, var(--theme-accent,#38bdf8) 25%, transparent)}}.move-strip-btn{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:30px;height:28px;padding:0;display:inline-flex}.move-strip-btn:active:not(:disabled){background:var(--text)}@supports (color:color-mix(in lab, red, red)){.move-strip-btn:active:not(:disabled){background:color-mix(in srgb, var(--text) 10%, transparent)}}.move-strip-btn:disabled{color:var(--muted);cursor:default;opacity:.45}.move-strip-scroll{overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;flex:1;align-items:center;gap:2px;min-width:0;height:100%;padding:0 8px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 10px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 10px),#0000 100%)}.move-strip-scroll::-webkit-scrollbar{display:none}.move-strip-num{color:var(--muted);font-family:var(--font-geist-mono,monospace);flex:none;margin-left:4px;font-size:12px}.move-strip-num:first-child{margin-left:0}.move-strip-ply{color:var(--text);cursor:pointer;font-family:var(--font-geist-mono,monospace);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;flex:none;height:26px;padding:0 6px;font-size:13px;font-weight:600;line-height:24px}.move-strip-ply.is-ahead{opacity:.45}.move-strip-ply.is-current{background:var(--card-active-bg,#38bdf829);border-color:var(--theme-accent-border,#38bdf873);color:var(--theme-accent-text,var(--text))}.move-strip-empty,.move-strip-start{color:var(--muted);flex:none;font-size:12px}.move-strip-start{border:1px dashed var(--theme-accent-border,var(--border));border-radius:5px;padding:3px 6px}.move-strip-live{background:var(--btn-primary-bg,var(--theme-accent,#38bdf8));border:1px solid var(--btn-primary-border,transparent);color:var(--btn-primary-text,#fff);cursor:pointer;font:inherit;white-space:nowrap;border-radius:6px;flex:none;height:28px;padding:0 9px;font-size:12px;font-weight:700}:is(.move-strip-ply,.room-move-item,.room-move-mark){--mark-color:currentColor}:is(.move-strip-ply,.room-move-item,.room-move-mark).mark-brilliant{--mark-color:#1baca6}:is(.move-strip-ply,.room-move-item,.room-move-mark).mark-great{--mark-color:#5c8bb0}:is(.move-strip-ply,.room-move-item,.room-move-mark).mark-inaccuracy{--mark-color:#e0b01f}:is(.move-strip-ply,.room-move-item,.room-move-mark).mark-mistake{--mark-color:#f08a3c}:is(.move-strip-ply,.room-move-item,.room-move-mark).mark-miss{--mark-color:#f26457}:is(.move-strip-ply,.room-move-item,.room-move-mark).mark-blunder{--mark-color:#fa412d}.move-strip-ply[class*=mark-]{background:var(--mark-color)}@supports (color:color-mix(in lab, red, red)){.move-strip-ply[class*=mark-]{background:color-mix(in srgb, var(--mark-color) 14%, transparent)}}.move-strip-ply[class*=mark-]{border-color:var(--mark-color)}@supports (color:color-mix(in lab, red, red)){.move-strip-ply[class*=mark-]{border-color:color-mix(in srgb, var(--mark-color) 45%, transparent)}}.move-strip-ply[class*=mark-].is-current{background:var(--mark-color)}@supports (color:color-mix(in lab, red, red)){.move-strip-ply[class*=mark-].is-current{background:color-mix(in srgb, var(--mark-color) 26%, transparent)}}.move-strip-ply[class*=mark-].is-current{border-color:var(--mark-color)}.move-strip-mark,.room-move-mark{color:var(--mark-color);margin-left:2px;font-weight:800}.room-move-mark{margin-left:auto;padding-left:4px;font-size:11px}.move-strip-review{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.move-strip-review{background:color-mix(in srgb, var(--text) 8%, transparent)}}.move-strip-review{border-radius:6px;flex:none;width:48px;height:22px;position:relative;overflow:hidden}.move-strip-review-bar{background:var(--theme-accent,#38bdf8)}@supports (color:color-mix(in lab, red, red)){.move-strip-review-bar{background:color-mix(in srgb, var(--theme-accent,#38bdf8) 45%, transparent)}}.move-strip-review-bar{transition:width .24s;position:absolute;inset:0 auto 0 0}.move-strip-review-text{color:var(--text);font-family:var(--font-geist-mono,monospace);text-align:center;width:100%;font-size:11px;font-weight:700;line-height:22px;display:block;position:relative}.move-strip-analysis{border:1px solid var(--theme-accent-border,var(--border));color:var(--theme-accent-text,var(--text));cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border-radius:6px;flex:none;height:28px;padding:0 8px;font-size:12px;font-weight:700}.move-strip-ply{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover:hover){.move-strip-ply:hover:not(.is-current){background:var(--text)}@supports (color:color-mix(in lab, red, red)){.move-strip-ply:hover:not(.is-current){background:color-mix(in srgb, var(--text) 8%, transparent)}}}@media (width<=860px){.legacy-game-page.ruleset-chess2 .main-board-stage{--board-size:min(100vw, calc(100dvh - 352px), 540px)}.legacy-game-page.ruleset-chess2 .main-board-stage.has-outcome-mini{--board-size:min(100vw, calc(100dvh - 397px), 540px)}.legacy-game-page.ruleset-chess2 .main-board-stage.has-outcome-banner{--board-size:min(100vw, calc(100dvh - 512px), 540px)}.legacy-game-page.ruleset-classic .main-board-stage{--board-size:min(100vw, calc(100dvh - 257px), 540px)}.legacy-game-page.ruleset-classic .main-board-stage.has-outcome-mini{--board-size:min(100vw, calc(100dvh - 302px), 540px)}.legacy-game-page.ruleset-classic .main-board-stage.has-outcome-banner{--board-size:min(100vw, calc(100dvh - 417px), 540px)}.tactical-panel[data-variant=strip]{position:relative}.tactical-panel[data-variant=strip] .tactical-action-overlay{z-index:40;position:absolute;top:100%;left:0;right:0}.tactical-panel[data-variant=strip] .tactical-action-overlay .tactical-action-hint-bar{background:var(--panel-2,#111a2e);box-sizing:border-box;min-height:36px}.tactical-panel[data-variant=strip] .tactical-action-overlay .underground-castle-choice-bar{background:var(--panel-2,#111a2e);border-radius:8px;padding:4px}}.tactical-panel[data-variant=strip]{box-shadow:none;max-width:var(--board-size,100%);background:0 0;border:0;width:100%;margin:6px auto 0;padding:0}.tactical-panel[data-variant=strip] .tactical-badges-row{margin:0 0 6px}.tactical-panel[data-variant=strip] .tactical-actions-grid{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))!important}.tactical-panel[data-variant=strip] .btn-tactical{min-width:0;height:40px;padding:0 6px;overflow:hidden}.tactical-panel[data-variant=strip] .btn-tactical>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.tactical-panel[data-variant=strip] .btn-tactical svg{flex:none}.empty-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 20px 44px;display:flex}.empty-hero h2{color:var(--heading-text);letter-spacing:-.01em;margin:6px 0 0;font-size:20px;font-weight:700}.empty-hero p{color:var(--muted);max-width:420px;margin:0;font-size:14.5px;line-height:1.55}.empty-hero-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.empty-hero-actions>button{border-radius:10px;min-height:44px;padding:0 20px}.empty-hero-art{width:120px;height:120px;position:relative}.empty-hero-board{filter:drop-shadow(0 10px 18px var(--blue,#a855f7))}@supports (color:color-mix(in lab, red, red)){.empty-hero-board{filter:drop-shadow(0 10px 18px color-mix(in srgb, var(--blue,#a855f7) 22%, transparent))}}.empty-hero-board{width:100%;height:100%}.empty-sq-light{fill:var(--blue,#a855f7)}@supports (color:color-mix(in lab, red, red)){.empty-sq-light{fill:color-mix(in srgb, var(--blue,#a855f7) 16%, var(--panel-2,#1e293b))}}.empty-sq-dark{fill:var(--blue,#a855f7)}@supports (color:color-mix(in lab, red, red)){.empty-sq-dark{fill:color-mix(in srgb, var(--blue,#a855f7) 48%, var(--panel-2,#1e293b))}}.empty-spark{fill:var(--blue,#a855f7);opacity:.7}.empty-hero-piece{filter:drop-shadow(0 6px 10px #00000059);animation:3.6s ease-in-out infinite emptyPieceFloat;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}@keyframes emptyPieceFloat{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 6px))}}html[data-motion=off] .empty-hero-piece{animation:none}.moves-empty-state{line-height:1.45}.skel{background:linear-gradient(90deg, var(--text,#f1f5f9) 25%, var(--text,#f1f5f9) 50%, var(--text,#f1f5f9) 75%);animation:1.4s ease-in-out infinite skelShimmer}@supports (color:color-mix(in lab, red, red)){.skel{background:linear-gradient(90deg, color-mix(in srgb, var(--text,#f1f5f9) 7%, transparent) 25%, color-mix(in srgb, var(--text,#f1f5f9) 13%, transparent) 50%, color-mix(in srgb, var(--text,#f1f5f9) 7%, transparent) 75%)}}.skel{background-size:200% 100%;display:block}@keyframes skelShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}html[data-motion=off] .skel{animation:none}.skel-page,.skel-analysis{gap:18px;display:grid}.skel-card{background:var(--panel,#0f172ae0);border:1px solid var(--border,#ffffff14);border-radius:14px;gap:14px;padding:22px;display:grid}.skel-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.skel-board{aspect-ratio:1;border-radius:10px;width:100%}.skel-note{color:var(--muted);margin:4px 0 0;font-size:13px}@media (width>=861px){.skel-analysis{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}}.ach-panel{--ach-battle:#f97316;--ach-tactics:var(--blue,#a855f7);--ach-mastery:#eab308;--ach-progress:#10b981}.ach-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.ach-head h2{margin-bottom:2px}.ach-progress{gap:6px;min-width:160px;display:grid}.ach-progress-text{color:var(--muted);justify-content:flex-end;align-items:baseline;gap:6px;font-size:13px;display:flex}.ach-progress-text b{color:var(--heading-text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.ach-progress-track,.ach-mini-track{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.ach-progress-track,.ach-mini-track{background:color-mix(in srgb, var(--text) 10%, transparent)}}.ach-progress-track,.ach-mini-track{border-radius:999px;height:6px;overflow:hidden}.ach-progress-track>span,.ach-mini-track>span{background:linear-gradient(90deg, var(--ach-tactics), var(--ach-tactics))}@supports (color:color-mix(in lab, red, red)){.ach-progress-track>span,.ach-mini-track>span{background:linear-gradient(90deg, var(--ach-tactics), color-mix(in srgb, var(--ach-tactics) 60%, #fff))}}.ach-progress-track>span,.ach-mini-track>span{border-radius:inherit;height:100%;transition:width .4s;display:block}.ach-empty{color:var(--muted);margin:8px 0 0;font-size:14px}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:14px;display:grid}.ach-card{--ach-color:var(--ach-tactics);background:var(--card-bg);border:1px solid var(--border);border-radius:14px;align-items:flex-start;gap:14px;padding:14px;transition:border-color .2s,transform .2s;display:flex}.ach-card.cat-battle{--ach-color:var(--ach-battle)}.ach-card.cat-mastery{--ach-color:var(--ach-mastery)}.ach-card.cat-progress{--ach-color:var(--ach-progress)}.ach-card.is-unlocked{background:linear-gradient(135deg, var(--ach-color), var(--card-bg) 70%)}@supports (color:color-mix(in lab, red, red)){.ach-card.is-unlocked{background:linear-gradient(135deg, color-mix(in srgb, var(--ach-color) 12%, var(--card-bg)), var(--card-bg) 70%)}}.ach-card.is-unlocked{border-color:var(--ach-color)}@supports (color:color-mix(in lab, red, red)){.ach-card.is-unlocked{border-color:color-mix(in srgb, var(--ach-color) 45%, transparent)}}@media (hover:hover){.ach-card.is-unlocked:hover{transform:translateY(-2px)}}.ach-medal{border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.ach-card.is-unlocked .ach-medal{background:radial-gradient(circle at 35% 30%, var(--ach-color), var(--ach-color) 60%, var(--ach-color))}@supports (color:color-mix(in lab, red, red)){.ach-card.is-unlocked .ach-medal{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--ach-color) 70%, #fff), var(--ach-color) 60%, color-mix(in srgb, var(--ach-color) 70%, #000))}}.ach-card.is-unlocked .ach-medal{box-shadow:0 0 0 3px var(--ach-color), 0 6px 14px var(--ach-color)}@supports (color:color-mix(in lab, red, red)){.ach-card.is-unlocked .ach-medal{box-shadow:0 0 0 3px color-mix(in srgb, var(--ach-color) 25%, transparent), 0 6px 14px color-mix(in srgb, var(--ach-color) 35%, transparent)}}.ach-card.is-unlocked .ach-medal{color:#fff}.ach-card.is-locked .ach-medal{background:var(--text)}@supports (color:color-mix(in lab, red, red)){.ach-card.is-locked .ach-medal{background:color-mix(in srgb, var(--text) 7%, transparent)}}.ach-card.is-locked .ach-medal{border:1.5px dashed var(--muted)}@supports (color:color-mix(in lab, red, red)){.ach-card.is-locked .ach-medal{border:1.5px dashed color-mix(in srgb, var(--muted) 55%, transparent)}}.ach-card.is-locked .ach-medal{color:var(--muted)}.ach-lock{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;bottom:-3px;right:-3px}.ach-body{gap:4px;min-width:0;display:grid}.ach-title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;display:flex}.ach-title-row strong{color:var(--heading-text);font-size:15px;font-weight:700}.ach-card.is-locked .ach-title-row strong{color:var(--text)}.ach-cat{color:var(--ach-color);letter-spacing:.02em;font-size:11px;font-weight:700}.ach-card.is-locked .ach-cat{color:var(--muted)}.ach-panel .ach-body p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.ach-date{color:var(--ach-color);font-size:12px;font-weight:600}.ach-mini-progress{grid-template-columns:1fr auto;align-items:center;gap:8px;margin-top:4px;display:grid}.ach-mini-progress>span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}.ach-mini-track>span{background:var(--ach-color)}@media (width<=520px){.ach-grid{grid-template-columns:1fr}.ach-progress{width:100%;min-width:0}.ach-progress-text{justify-content:flex-start}}.settings-guest-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;display:flex}.settings-guest-card h2{margin-bottom:2px}.settings-guest-card .primary-small{border-radius:10px;min-height:42px;padding:0 22px}.content{view-transition-name:page-content}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(page-content){animation:.15s ease-in both pageLeave}::view-transition-new(page-content){animation:.28s cubic-bezier(.2,.8,.2,1) both pageEnter}.legacy-game-page{animation:.32s cubic-bezier(.2,.8,.2,1) both roomEnter}.legacy-game-page .board-assembling .board-piece{animation:.48s cubic-bezier(.2,.9,.25,1.12) both boardAssemble;animation-delay:var(--assemble-delay,0s)}.legacy-game-page .board-assembling.flipped .board-piece{--assemble-dir:-1}@keyframes pageLeave{to{opacity:0;transform:translateY(-6px)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}}@keyframes roomEnter{0%{opacity:0;transform:scale(.985)}}@keyframes boardAssemble{0%{opacity:0;transform:translateY(calc(var(--assemble-from,1) * var(--assemble-dir,1) * 70%)) scale(.6)}to{opacity:1;transform:none}}html[data-motion=off] .content{view-transition-name:none}html[data-motion=off] .legacy-game-page,html[data-motion=off] .legacy-game-page .board-assembling .board-piece{animation:none}html.theme-reveal .content,html.theme-reveal .topbar,html.theme-reveal .mobile-nav{view-transition-name:none}html.theme-reveal::view-transition-old(root){animation:none}html.theme-reveal::view-transition-new(root){animation:.65s cubic-bezier(.4,0,.2,1) both themeReveal}@keyframes themeReveal{0%{clip-path:circle(0px at var(--reveal-x,50%) var(--reveal-y,50%))}to{clip-path:circle(var(--reveal-r,150vmax) at var(--reveal-x,50%) var(--reveal-y,50%))}}.gain-pop{color:var(--blue);font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:0 1px 3px #00000073;white-space:nowrap;z-index:5;font-size:12px;font-weight:800;animation:.95s cubic-bezier(.2,.8,.2,1) forwards gainPop;position:absolute;top:-6px;left:50%}@keyframes gainPop{0%{opacity:0;transform:translate(-50%,6px)scale(.7)}18%{opacity:1;transform:translate(-50%,-6px)scale(1.15)}to{opacity:0;transform:translate(-50%,-24px)scale(1)}}html[data-motion=off] .gain-pop{display:none}.loss-pop{color:var(--red);font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:0 1px 3px #00000073;white-space:nowrap;z-index:5;font-size:12px;font-weight:800;animation:.95s cubic-bezier(.2,.8,.2,1) forwards lossPop;position:absolute;bottom:-6px;left:50%}@keyframes lossPop{0%{opacity:0;transform:translate(-50%,-6px)scale(.7)}18%{opacity:1;transform:translate(-50%,6px)scale(1.15)}to{opacity:0;transform:translate(-50%,24px)scale(1)}}html[data-motion=off] .loss-pop{display:none}.tactical-meter-val{display:inline-block;position:relative}.player-tactics-pill{overflow:visible}.player-tactics-meter{border-radius:0 0 5px 5px;left:3px;right:3px;overflow:hidden}.topbar,.mobile-nav,.room-mobile-topbar{-webkit-backdrop-filter:blur(20px)saturate(170%)!important;backdrop-filter:blur(20px)saturate(170%)!important;background:var(--panel-2,#1e293b)!important}@supports (color:color-mix(in lab, red, red)){.topbar,.mobile-nav,.room-mobile-topbar{background:color-mix(in srgb, var(--panel-2,#1e293b) 64%, transparent)!important}}.topbar,.mobile-nav,.room-mobile-topbar{border-color:var(--text,#f1f5f9)!important}@supports (color:color-mix(in lab, red, red)){.topbar,.mobile-nav,.room-mobile-topbar{border-color:color-mix(in srgb, var(--text,#f1f5f9) 10%, transparent)!important}}.topbar,.room-mobile-topbar{box-shadow:inset 0 -1px 0 var(--text,#f1f5f9), 0 10px 30px -18px #00000073}@supports (color:color-mix(in lab, red, red)){.topbar,.room-mobile-topbar{box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--text,#f1f5f9) 6%, transparent), 0 10px 30px -18px #00000073}}.mobile-nav{box-shadow:inset 0 1px #ffffff14,0 -10px 30px -12px #00000059!important}.modal-card{-webkit-backdrop-filter:blur(26px)saturate(160%);backdrop-filter:blur(26px)saturate(160%);background:var(--panel-2,#1e293b)}@supports (color:color-mix(in lab, red, red)){.modal-card{background:color-mix(in srgb, var(--panel-2,#1e293b) 82%, transparent)}}.modal-card{box-shadow:inset 0 1px #ffffff14,0 28px 80px #00000080}.modal-backdrop{background:var(--bg-deep,#05080f)}@supports (color:color-mix(in lab, red, red)){.modal-backdrop{background:color-mix(in srgb, var(--bg-deep,#05080f) 55%, transparent)}}.toast{-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%)}.topbar{view-transition-name:app-topbar}.mobile-nav{view-transition-name:app-bottom-nav}::view-transition-group(app-topbar){z-index:10;animation:none}::view-transition-group(app-bottom-nav){z-index:10;animation:none}::view-transition-old(app-topbar){display:none}::view-transition-old(app-bottom-nav){display:none}::view-transition-new(app-topbar){animation:none}::view-transition-new(app-bottom-nav){animation:none}html[data-motion=off] .topbar,html[data-motion=off] .mobile-nav{view-transition-name:none}html{background-color:var(--bg,#090e17)}::view-transition{background-color:var(--bg,#090e17)}.confetti-canvas{pointer-events:none;z-index:300;width:100vw;height:100vh;position:fixed;inset:0}.legacy-game-page .main-board-frame{position:relative}.board-victory-flash{pointer-events:none;z-index:30;border-radius:6px;animation:1.3s ease-out forwards boardVictoryFlash;position:absolute;inset:-6px}@keyframes boardVictoryFlash{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--blue,#a855f7) 0%, transparent), inset 0 0 0 0 transparent}20%{box-shadow:0 0 0 4px color-mix(in srgb, var(--blue,#a855f7) 85%, transparent), 0 0 60px 12px color-mix(in srgb, var(--blue,#a855f7) 55%, transparent)}to{box-shadow:0 0 #0000,0 0 90px 30px #0000}}html[data-motion=off] .board-victory-flash{display:none}.ach-unlock-backdrop{--ach-battle:#f97316;--ach-tactics:var(--blue,#a855f7);--ach-mastery:#eab308;--ach-progress:#10b981;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-deep,#05080f);align-items:center;animation:.24s ease-out both achFadeIn}@supports (color:color-mix(in lab, red, red)){.ach-unlock-backdrop{background:color-mix(in srgb, var(--bg-deep,#05080f) 62%, transparent)}}.ach-unlock-backdrop{z-index:260;justify-content:center;padding:20px;display:flex;position:fixed;inset:0}.ach-unlock-card{--ach-color:var(--ach-tactics);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);background:var(--panel-2,#1e293b);align-items:center;animation:.42s cubic-bezier(.2,.9,.25,1.15) both achCardIn}@supports (color:color-mix(in lab, red, red)){.ach-unlock-card{background:color-mix(in srgb, var(--panel-2,#1e293b) 86%, transparent)}}.ach-unlock-card{border:1px solid var(--ach-color)}@supports (color:color-mix(in lab, red, red)){.ach-unlock-card{border:1px solid color-mix(in srgb, var(--ach-color) 45%, transparent)}}.ach-unlock-card{text-align:center;border-radius:22px;flex-direction:column;gap:8px;width:100%;max-width:360px;padding:34px 26px 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 90px #00000080,inset 0 0 0 1px #ffffff0f}.ach-unlock-card.cat-battle{--ach-color:var(--ach-battle)}.ach-unlock-card.cat-mastery{--ach-color:var(--ach-mastery)}.ach-unlock-card.cat-progress{--ach-color:var(--ach-progress)}.ach-unlock-rays{background:repeating-conic-gradient(from 0deg, var(--ach-color) 0deg 10deg, transparent 10deg 26deg);animation:9s linear infinite achRays}@supports (color:color-mix(in lab, red, red)){.ach-unlock-rays{background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--ach-color) 22%, transparent) 0deg 10deg, transparent 10deg 26deg)}}.ach-unlock-rays{pointer-events:none;width:420px;height:420px;position:absolute;top:-130px;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 62%);mask-image:radial-gradient(circle,#000 0%,#0000 62%)}.ach-unlock-medal{background:radial-gradient(circle at 35% 30%, var(--ach-color), var(--ach-color) 58%, var(--ach-color));align-items:center;animation:.9s cubic-bezier(.2,.8,.2,1) .12s both achMedalFlip}@supports (color:color-mix(in lab, red, red)){.ach-unlock-medal{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--ach-color) 70%, #fff), var(--ach-color) 58%, color-mix(in srgb, var(--ach-color) 65%, #000))}}.ach-unlock-medal{box-shadow:0 0 0 6px var(--ach-color), 0 14px 34px var(--ach-color);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.ach-unlock-medal{box-shadow:0 0 0 6px color-mix(in srgb, var(--ach-color) 22%, transparent), 0 14px 34px color-mix(in srgb, var(--ach-color) 45%, transparent)}}.ach-unlock-medal{color:#fff;justify-content:center;width:104px;height:104px;margin-bottom:10px;display:flex;position:relative;overflow:hidden}.ach-unlock-shine{background:linear-gradient(110deg,#0000 30%,#ffffffbf 50%,#0000 70%);animation:1.1s ease-in-out .9s both achShine;position:absolute;inset:0;transform:translate(-120%)}.ach-unlock-eyebrow{color:var(--ach-color);letter-spacing:.04em;font-size:12px;font-weight:700;position:relative}.ach-unlock-card h2{color:var(--heading-text);margin:0;font-size:22px;position:relative}.ach-unlock-card p{color:var(--muted);margin:0 0 10px;font-size:14.5px;line-height:1.5;position:relative}.ach-unlock-btn{border-radius:12px;width:100%;min-height:46px;position:relative}@keyframes achFadeIn{0%{opacity:0}}@keyframes achCardIn{0%{opacity:0;transform:translateY(24px)scale(.92)}}@keyframes achRays{to{transform:translate(-50%)rotate(360deg)}}@keyframes achMedalFlip{0%{opacity:0;transform:perspective(600px)rotateY(-540deg)scale(.4)}70%{opacity:1;transform:perspective(600px)rotateY(20deg)scale(1.08)}to{transform:perspective(600px)rotateY(0)scale(1)}}@keyframes achShine{to{transform:translate(120%)}}html[data-motion=off] .ach-unlock-backdrop,html[data-motion=off] .ach-unlock-card,html[data-motion=off] .ach-unlock-rays,html[data-motion=off] .ach-unlock-medal,html[data-motion=off] .ach-unlock-shine{animation:none}.outcome-ach-badge.cat-battle{color:#f97316}.outcome-ach-badge.cat-tactics{color:var(--blue,#a855f7)}.outcome-ach-badge.cat-mastery{color:#eab308}.outcome-ach-badge.cat-progress{color:#10b981}html.vt-board-morph .legacy-game-page .chess2-main-board,html.vt-board-morph .content .board:not(.academy-board){view-transition-name:hero-board}html.vt-board-morph::view-transition-old(root){animation:.22s ease-in both pageLeave}html.vt-board-morph::view-transition-new(root){animation:.38s cubic-bezier(.2,.8,.2,1) 80ms both pageEnter}::view-transition-group(hero-board){z-index:20;animation-duration:.56s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row){animation:.46s cubic-bezier(.2,.8,.2,1) backwards cardRise}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(2){animation-delay:45ms}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(3){animation-delay:90ms}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(4){animation-delay:.135s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(5){animation-delay:.18s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(6){animation-delay:.225s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(7){animation-delay:.27s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(8){animation-delay:.315s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(9){animation-delay:.36s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(10){animation-delay:.405s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(11){animation-delay:.45s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(12){animation-delay:.495s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(13){animation-delay:.54s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(14){animation-delay:.585s}:is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row):nth-child(n+15){animation-delay:.6s}@keyframes cardRise{0%{opacity:0;transform:translateY(14px)scale(.985)}}html[data-motion=off] :is(.academy-lesson-card,.ach-card,.table-panel .table-row,.app-theme-card,.board-theme-card,.piece-set-card,.game-row){animation:none}@media (hover:hover) and (pointer:fine){:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row){position:relative}:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):before,:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):after{border-radius:inherit;content:"";opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):after{background:radial-gradient(280px circle at var(--spot-x,50%) var(--spot-y,50%), var(--blue,#a855f7), transparent 62%)}@supports (color:color-mix(in lab, red, red)){:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):after{background:radial-gradient(280px circle at var(--spot-x,50%) var(--spot-y,50%), color-mix(in srgb, var(--blue,#a855f7) 13%, transparent), transparent 62%)}}:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):before{-webkit-mask-composite:xor;background:radial-gradient(180px circle at var(--spot-x,50%) var(--spot-y,50%), var(--blue,#a855f7), transparent 70%);-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}@supports (color:color-mix(in lab, red, red)){:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):before{background:radial-gradient(180px circle at var(--spot-x,50%) var(--spot-y,50%), color-mix(in srgb, var(--blue,#a855f7) 75%, transparent), transparent 70%)}}:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):before{padding:1px}:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):hover:before,:is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):hover:after{opacity:1}html[data-motion=off] :is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):before,html[data-motion=off] :is(.choice,.quick-time-chip,.ach-card,.app-theme-card,.board-theme-card,.piece-set-card,.academy-lesson-card,.stat-tile,.game-row):after{display:none}}.app-shell>.main-area{z-index:1;position:relative}.ambient-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.ambient-bg:before,.ambient-bg:after{content:"";opacity:.2;will-change:transform;border-radius:50%;width:70vmax;height:70vmax;position:absolute}.ambient-bg:before{background:radial-gradient(circle, var(--blue,#a855f7) 0%, transparent 62%);animation:32s ease-in-out infinite alternate ambientDriftA;top:-25vmax;left:-15vmax}.ambient-bg:after{background:radial-gradient(circle, var(--btn-primary-bg,#9333ea) 0%, transparent 62%);opacity:.14;animation:41s ease-in-out infinite alternate ambientDriftB;bottom:-35vmax;right:-20vmax}html[data-theme-mode=light] .ambient-bg:before{opacity:.12}html[data-theme-mode=light] .ambient-bg:after{opacity:.08}@keyframes ambientDriftA{0%{transform:translate(0)scale(1)}to{transform:translate(18vmax,12vmax)scale(1.15)}}@keyframes ambientDriftB{0%{transform:translate(0)scale(1.1)}to{transform:translate(-16vmax,-10vmax)scale(.95)}}html[data-motion=off] .ambient-bg:before,html[data-motion=off] .ambient-bg:after{animation:none}.academy-lesson-card button.primary-small,.academy-lesson-card button.compact-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.play-mode{grid-template-columns:1fr 1fr;gap:8px;display:grid}.play-mode-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;border-radius:14px;align-items:center;gap:12px;min-height:68px;padding:12px 14px;transition:background .15s,border-color .15s,color .15s;display:flex}.play-mode-btn svg{flex:none}.play-mode-text{gap:2px;min-width:0;display:grid}.play-mode-text strong{color:var(--text);font-size:15px;font-weight:700;line-height:1.2}.play-mode-text small{color:var(--muted);font-size:12px;line-height:1.3}.play-mode-btn.active{background:var(--card-active-bg);border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);color:var(--blue)}.play-mode-btn:hover:not(.active){background:var(--card-hover-bg)}@media (width<=520px){.play-mode-btn{gap:8px;min-height:52px;padding:8px 10px}.play-mode-btn svg{width:18px;height:18px}.play-mode-text small{display:none}.play-mode-text strong{font-size:13.5px}.board-status{padding:9px 12px}.board-status p{font-size:12.5px}.board-status.is-ready p{display:none}.quick-start{gap:12px}.quick-time-chip{min-height:42px}.quick-time-chip small{display:none}}.board-status{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.board-status>div{flex:200px;min-width:0}.board-status strong{color:var(--heading-text);font-size:14px;font-weight:700;display:block}.board-status p{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.4}.board-status.is-attention{background:var(--blue)}@supports (color:color-mix(in lab, red, red)){.board-status.is-attention{background:color-mix(in srgb, var(--blue) 9%, var(--card-bg))}}.board-status.is-attention{border-color:var(--blue)}@supports (color:color-mix(in lab, red, red)){.board-status.is-attention{border-color:color-mix(in srgb, var(--blue) 40%, transparent)}}.board-status.is-ready{background:var(--green,#10b981)}@supports (color:color-mix(in lab, red, red)){.board-status.is-ready{background:color-mix(in srgb, var(--green,#10b981) 9%, var(--card-bg))}}.board-status.is-ready{border-color:var(--green,#10b981)}@supports (color:color-mix(in lab, red, red)){.board-status.is-ready{border-color:color-mix(in srgb, var(--green,#10b981) 40%, transparent)}}.board-status.is-ready{flex-wrap:nowrap;justify-content:flex-start}.board-status-dot{background:var(--green,#10b981);box-shadow:0 0 0 4px var(--green,#10b981);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.board-status-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--green,#10b981) 25%, transparent)}}.board-status-dot{flex:none;width:10px;height:10px}.board-status-select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:8px;flex:none;max-width:45%;min-height:36px;padding:0 8px;font-size:13px}.board-status .primary-small,.board-status .secondary-action{border-radius:10px;flex:none;min-height:40px;padding:0 18px}.join-board-note{color:var(--green,#10b981);margin:12px 0 0;font-size:13px}.connection-badge{background:var(--card-bg,#0f172a);border-radius:9999px;align-items:center;gap:5px;padding:3px 8px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.connection-badge{background:color-mix(in srgb, var(--card-bg,#0f172a) 88%, transparent)}}.connection-badge{border:1px solid var(--border,#334155)}@supports (color:color-mix(in lab, red, red)){.connection-badge{border:1px solid color-mix(in srgb, var(--border,#334155) 75%, transparent)}}.connection-badge{font-size:11px;font-weight:600;font-family:var(--font-geist-mono,monospace);-webkit-user-select:none;user-select:none;line-height:1;transition:all .2s}.connection-bars{align-items:flex-end;gap:1.5px;width:9px;height:11px;display:inline-flex}.connection-bars .bar{background:var(--muted,#64748b);border-radius:1px;width:2px}@supports (color:color-mix(in lab, red, red)){.connection-bars .bar{background:color-mix(in srgb, var(--muted,#64748b) 45%, transparent)}}.connection-bars .bar{transition:background .2s,height .2s}.connection-bars .bar-1{height:4px}.connection-bars .bar-2{height:7px}.connection-bars .bar-3{height:11px}.connection-badge.status-excellent{color:var(--emerald,#10b981);border-color:var(--emerald,#10b981)}@supports (color:color-mix(in lab, red, red)){.connection-badge.status-excellent{border-color:color-mix(in srgb, var(--emerald,#10b981) 35%, transparent)}}.connection-badge.status-excellent .bar.active{background:var(--emerald,#10b981)}.connection-badge.status-good{color:var(--emerald,#10b981);border-color:var(--emerald,#10b981)}@supports (color:color-mix(in lab, red, red)){.connection-badge.status-good{border-color:color-mix(in srgb, var(--emerald,#10b981) 25%, transparent)}}.connection-badge.status-good .bar.active{background:var(--emerald,#10b981)}.connection-badge.status-fair{color:var(--amber,#f59e0b);border-color:var(--amber,#f59e0b)}@supports (color:color-mix(in lab, red, red)){.connection-badge.status-fair{border-color:color-mix(in srgb, var(--amber,#f59e0b) 35%, transparent)}}.connection-badge.status-fair .bar.active{background:var(--amber,#f59e0b)}.connection-badge.status-poor{color:var(--rose,#f43f5e);border-color:var(--rose,#f43f5e)}@supports (color:color-mix(in lab, red, red)){.connection-badge.status-poor{border-color:color-mix(in srgb, var(--rose,#f43f5e) 35%, transparent)}}.connection-badge.status-poor .bar.active{background:var(--rose,#f43f5e)}.connection-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.connection-dot.dot-offline{background:var(--rose,#f43f5e);box-shadow:0 0 6px #f43f5e99}.connection-dot.dot-connecting{background:var(--amber,#f59e0b);animation:1.2s infinite pulse-dot}.connection-badge.status-offline{color:var(--rose,#f43f5e)}.connection-badge.status-connecting{color:var(--amber,#f59e0b)}.room-mobile-topbar .room-mobile-ping{margin-left:auto;padding:3px 6px;font-size:10px}.sound-pack-section{flex-direction:column;gap:8px;margin-top:14px;display:flex}.sound-pack-header-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#94a3b8);font-size:12px;font-weight:600}.sound-pack-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.sound-pack-card{background:var(--card-bg,#0f172a);flex-direction:column;gap:6px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.sound-pack-card{background:color-mix(in srgb, var(--card-bg,#0f172a) 85%, transparent)}}.sound-pack-card{border:1.5px solid var(--border,#334155)}@supports (color:color-mix(in lab, red, red)){.sound-pack-card{border:1.5px solid color-mix(in srgb, var(--border,#334155) 75%, transparent)}}.sound-pack-card{cursor:pointer;text-align:left;color:var(--text,#f8fafc);border-radius:8px;transition:all .16s}.sound-pack-card:hover{border-color:var(--blue,#38bdf8)}@supports (color:color-mix(in lab, red, red)){.sound-pack-card:hover{border-color:color-mix(in srgb, var(--blue,#38bdf8) 60%, transparent)}}.sound-pack-card:hover{background:var(--card-bg,#0f172a)}@supports (color:color-mix(in lab, red, red)){.sound-pack-card:hover{background:color-mix(in srgb, var(--card-bg,#0f172a) 95%, transparent)}}.sound-pack-card.active{border-color:var(--blue,#38bdf8);background:var(--blue,#38bdf8)}@supports (color:color-mix(in lab, red, red)){.sound-pack-card.active{background:color-mix(in srgb, var(--blue,#38bdf8) 12%, var(--card-bg,#0f172a))}}.sound-pack-card.active{box-shadow:0 0 12px var(--blue,#38bdf8)}@supports (color:color-mix(in lab, red, red)){.sound-pack-card.active{box-shadow:0 0 12px color-mix(in srgb, var(--blue,#38bdf8) 25%, transparent)}}.sound-pack-card-top{justify-content:space-between;align-items:center;display:flex}.sound-pack-name{font-size:14px;font-weight:700}.sound-pack-badge{background:var(--text,#fff);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.sound-pack-badge{background:color-mix(in srgb, var(--text,#fff) 10%, transparent)}}.sound-pack-badge{color:var(--muted,#94a3b8)}.sound-pack-card.active .sound-pack-badge{background:var(--blue,#38bdf8)}@supports (color:color-mix(in lab, red, red)){.sound-pack-card.active .sound-pack-badge{background:color-mix(in srgb, var(--blue,#38bdf8) 25%, transparent)}}.sound-pack-card.active .sound-pack-badge{color:var(--blue,#38bdf8)}.sound-pack-desc{color:var(--muted,#94a3b8);margin:0;font-size:12px;line-height:1.35}.sound-pack-card-footer{margin-top:4px}.btn-sound-preview-pill{color:var(--blue,#38bdf8);background:var(--blue,#38bdf8);border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn-sound-preview-pill{background:color-mix(in srgb, var(--blue,#38bdf8) 12%, transparent)}}.btn-sound-preview-pill{transition:all .14s}.btn-sound-preview-pill:hover{background:var(--blue,#38bdf8)}@supports (color:color-mix(in lab, red, red)){.btn-sound-preview-pill:hover{background:color-mix(in srgb, var(--blue,#38bdf8) 22%, transparent)}}.leave-confirm-backdrop{z-index:1000}.leave-confirm-card{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:420px;padding:24px 20px;display:flex}.leave-confirm-icon-wrap{background:var(--rose,#f43f5e);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}@supports (color:color-mix(in lab, red, red)){.leave-confirm-icon-wrap{background:color-mix(in srgb, var(--rose,#f43f5e) 15%, transparent)}}.leave-confirm-icon-wrap{color:var(--rose,#f43f5e);margin-bottom:4px}.leave-confirm-title{color:var(--heading-text,#f8fafc);margin:0;font-size:18px;font-weight:700}.leave-confirm-desc{color:var(--muted,#94a3b8);margin:0;font-size:13px;line-height:1.45}.leave-confirm-actions{gap:10px;width:100%;margin-top:8px;display:flex}.leave-confirm-actions button{cursor:pointer;border-radius:6px;flex:1;padding:10px 14px;font-size:13px;font-weight:600}.leave-confirm-leave-btn{background:var(--rose,#f43f5e)!important;color:#fff!important;border:none!important}.leave-confirm-cancel-btn{background:var(--text,#fff)}@supports (color:color-mix(in lab, red, red)){.leave-confirm-cancel-btn{background:color-mix(in srgb, var(--text,#fff) 12%, transparent)}}.leave-confirm-cancel-btn{color:var(--text,#f8fafc);border:1px solid var(--border,#334155)}.haptics-test-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.haptics-test-row .btn-test-haptic{margin-top:0;padding:4px 10px;font-size:11px}html[data-theme-mode=light] .connection-badge{background:#f8fafc;border-color:#cbd5e1}html[data-theme-mode=light] .sound-pack-card{color:#0f172a;background:#f8fafc;border-color:#e2e8f0}html[data-theme-mode=light] .sound-pack-card:hover{background:#f1f5f9}html[data-theme-mode=light] .sound-pack-card.active{background:#e0f2fe;border-color:#0284c7}html[data-theme-mode=light] .leave-confirm-card{background:#fff;border-color:#e2e8f0}html[data-theme-mode=light] .leave-confirm-title{color:#0f172a}html[data-theme-mode=light] .leave-confirm-desc{color:#475569}html[data-theme-mode=light] .leave-confirm-cancel-btn{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.legacy-game-page .board-cell.hint-attack:not(.hint-shift):after,.board-cell.hint-attack:not(.hint-shift):after{opacity:1;pointer-events:none;z-index:20;background:0 0;border:0;border-radius:0;width:auto;height:auto;position:absolute;inset:0;transform:none;box-shadow:inset 0 0 0 3.5px #ef4444f2,inset 0 0 14px #ef444459;content:""!important;display:block!important}.legacy-game-page .board-cell.last-move-from.hint-move:after,.board-cell.last-move-from.hint-move:after,.legacy-game-page .board-cell.last-move-from.hint-shift:after,.board-cell.last-move-from.hint-shift:after{opacity:1;display:block}.legacy-game-page .board-cell.hint-fuse:not(.hint-shift):after,.board-cell.hint-fuse:not(.hint-shift):after,.legacy-game-page .board-cell.hint-merge:not(.hint-shift):after,.board-cell.hint-merge:not(.hint-shift):after,.legacy-game-page .board-cell.hint-proposal:not(.hint-shift):after,.board-cell.hint-proposal:not(.hint-shift):after,.legacy-game-page .board-cell.hint-castle:not(.hint-shift):after,.board-cell.hint-castle:not(.hint-shift):after{opacity:1;pointer-events:none;z-index:20;background:0 0;border:0;border-radius:0;width:auto;height:auto;position:absolute;inset:0;transform:none;content:""!important;display:block!important}.legacy-game-page .board-cell.hint-fuse:after,.board-cell.hint-fuse:after{box-shadow:inset 0 0 0 3px #fbbf24,inset 0 0 14px #fbbf24b3}.legacy-game-page .board-cell:is(.hint-merge,.hint-proposal):after,.board-cell:is(.hint-merge,.hint-proposal):after{box-shadow:inset 0 0 0 4px #d946ef,inset 0 0 15px #d946ef}.legacy-game-page .board-cell.hint-castle:after,.board-cell.hint-castle:after{box-shadow:inset 0 0 0 3px #ff9203}.legacy-game-page .board-cell.hint-attack:not(.hint-shift):after,.board-cell.hint-attack:not(.hint-shift):after{opacity:1!important;border:0!important;border-radius:0!important;animation:none!important;inset:0!important;transform:none!important}.move-quality-tag{border:0;border-radius:999px;min-width:22px;height:18px;padding:0 5px}.move-quality-tag.badge-brilliant{color:#fff;text-shadow:0 1px 1px #00000040;background:#1baca6}.chip.brilliant{color:#1baca6;background:#1baca629;border-color:#1baca673}.chip.brilliant .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.brilliant{color:#fff;background:#1baca6;border:1px solid #1baca6}.analysis-explanation-card.brilliant{background:#1baca617;border-color:#1baca68c}.move-quality-tag.badge-great{color:#fff;text-shadow:0 1px 1px #00000040;background:#5c8bb0}.chip.great{color:#5c8bb0;background:#5c8bb029;border-color:#5c8bb073}.chip.great .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.great{color:#fff;background:#5c8bb0;border:1px solid #5c8bb0}.analysis-explanation-card.great{background:#5c8bb017;border-color:#5c8bb08c}.move-quality-tag.badge-best{color:#fff;text-shadow:0 1px 1px #00000040;background:#81b64c}.chip.best{color:#81b64c;background:#81b64c29;border-color:#81b64c73}.chip.best .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.best{color:#fff;background:#81b64c;border:1px solid #81b64c}.analysis-explanation-card.best{background:#81b64c17;border-color:#81b64c8c}.move-quality-tag.badge-excellent{color:#fff;text-shadow:0 1px 1px #00000040;background:#96bc4b}.chip.excellent{color:#96bc4b;background:#96bc4b29;border-color:#96bc4b73}.chip.excellent .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.excellent{color:#fff;background:#96bc4b;border:1px solid #96bc4b}.analysis-explanation-card.excellent{background:#96bc4b17;border-color:#96bc4b8c}.move-quality-tag.badge-good{color:#fff;text-shadow:0 1px 1px #00000040;background:#95b776}.chip.good{color:#95b776;background:#95b77629;border-color:#95b77673}.chip.good .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.good{color:#fff;background:#95b776;border:1px solid #95b776}.analysis-explanation-card.good{background:#95b77617;border-color:#95b7768c}.move-quality-tag.badge-book{color:#fff;text-shadow:0 1px 1px #00000040;background:#a88865}.chip.book{color:#a88865;background:#a8886529;border-color:#a8886573}.chip.book .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.book{color:#fff;background:#a88865;border:1px solid #a88865}.analysis-explanation-card.book{background:#a8886517;border-color:#a888658c}.move-quality-tag.badge-forced{color:#fff;text-shadow:0 1px 1px #00000040;background:#97a3b6}.chip.forced{color:#97a3b6;background:#97a3b629;border-color:#97a3b673}.chip.forced .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.forced{color:#fff;background:#97a3b6;border:1px solid #97a3b6}.analysis-explanation-card.forced{background:#97a3b617;border-color:#97a3b68c}.move-quality-tag.badge-inaccuracy{color:#fff;text-shadow:0 1px 1px #00000040;background:#f7c631}.chip.inaccuracy{color:#f7c631;background:#f7c63129;border-color:#f7c63173}.chip.inaccuracy .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.inaccuracy{color:#fff;background:#f7c631;border:1px solid #f7c631}.analysis-explanation-card.inaccuracy{background:#f7c63117;border-color:#f7c6318c}.move-quality-tag.badge-mistake{color:#fff;text-shadow:0 1px 1px #00000040;background:#ffa459}.chip.mistake{color:#ffa459;background:#ffa45929;border-color:#ffa45973}.chip.mistake .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.mistake{color:#fff;background:#ffa459;border:1px solid #ffa459}.analysis-explanation-card.mistake{background:#ffa45917;border-color:#ffa4598c}.move-quality-tag.badge-miss{color:#fff;text-shadow:0 1px 1px #00000040;background:#ff7769}.chip.miss{color:#ff7769;background:#ff776929;border-color:#ff776973}.chip.miss .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.miss{color:#fff;background:#ff7769;border:1px solid #ff7769}.analysis-explanation-card.miss{background:#ff776917;border-color:#ff77698c}.move-quality-tag.badge-blunder{color:#fff;text-shadow:0 1px 1px #00000040;background:#fa412d}.chip.blunder{color:#fa412d;background:#fa412d29;border-color:#fa412d73}.chip.blunder .move-quality-tag{min-width:18px;height:16px;padding:0 4px}.explanation-badge.blunder{color:#fff;background:#fa412d;border:1px solid #fa412d}.analysis-explanation-card.blunder{background:#fa412d17;border-color:#fa412d8c}html[data-theme-mode=light] .chip.excellent,html[data-theme-mode=light] .chip.good,html[data-theme-mode=light] .chip.best,html[data-theme-mode=light] .chip.inaccuracy{filter:brightness(.82)}.game-chat-anchor{max-width:100%;width:var(--board-size);position:relative}.game-chat{z-index:30;flex-direction:column;align-items:flex-end;gap:6px;margin-bottom:4px;display:flex;position:absolute;bottom:100%;right:6px}.game-chat-button{background:var(--btn-secondary-bg);border:1px solid var(--theme-accent-border,var(--border));color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;min-height:34px;display:inline-flex;position:relative}.game-chat-button.is-open{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-text)}.game-chat-dot{background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);color:var(--btn-primary-text);border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-3px}.game-chat-bubble{background:var(--panel);border:1px solid var(--theme-accent-border,var(--border));color:var(--text);border-radius:10px;flex-direction:column;gap:1px;max-width:min(240px,70vw);padding:6px 10px;font-size:13px;animation:.16s ease-out both game-chat-pop;display:flex;box-shadow:0 6px 18px #00000059}.game-chat-bubble-name{color:var(--muted);font-size:11px}.game-chat-panel{background:var(--panel);border:1px solid var(--theme-accent-border,var(--border));color:var(--text);border-radius:12px;flex-direction:column;gap:8px;width:min(320px,100vw - 24px);padding:10px;display:flex;box-shadow:0 10px 28px #00000073}.game-chat-list{overscroll-behavior:contain;flex-direction:column;gap:4px;max-height:120px;display:flex;overflow-y:auto}.game-chat-empty{color:var(--muted);margin:0;font-size:12px}.game-chat-line{background:var(--btn-secondary-bg);overflow-wrap:anywhere;border-radius:8px;align-self:flex-start;max-width:90%;padding:4px 8px;font-size:13px}.game-chat-line.is-mine{background:var(--btn-primary-bg);align-self:flex-end}@supports (color:color-mix(in lab, red, red)){.game-chat-line.is-mine{background:color-mix(in srgb, var(--btn-primary-bg) 28%, var(--btn-secondary-bg))}}.game-chat-phrases{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.game-chat-phrase{background:var(--btn-secondary-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:center;border-radius:8px;min-height:36px;padding:4px 8px;font-size:12px}.game-chat-phrase:hover{border-color:var(--theme-accent-border,var(--border-bright))}.game-chat-form{gap:6px;display:flex}.game-chat-form input{background:var(--btn-secondary-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;min-width:0;min-height:38px;padding:0 10px;font-size:16px}.game-chat-send{background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);color:var(--btn-primary-text);cursor:pointer;border-radius:8px;min-height:38px;padding:0 10px;font-size:12px;font-weight:700}.game-chat-send:disabled{cursor:default;opacity:.45}.game-chat-mute{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 0;font-size:11px;text-decoration:underline}@keyframes game-chat-pop{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.game-chat-bubble{animation:none}}.friends-entry{background:var(--btn-secondary-bg);border:1px solid var(--theme-accent-border,var(--border));color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:48px;margin:0 0 12px;padding:0 14px;display:flex}.friends-entry-title{font-weight:700}.friends-entry-meta{color:var(--muted);flex:1;font-size:13px}.friends-entry-badge{background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);color:var(--btn-primary-text);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.friend-chat-open{align-items:center;gap:6px;display:inline-flex}.friend-chat-open:disabled{cursor:not-allowed;opacity:.5}.friend-chat{flex-direction:column;gap:10px;display:flex}.friend-chat-head{align-items:center;gap:10px;display:flex}.friend-chat-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:16px;overflow:hidden}.friend-chat-list{overscroll-behavior:contain;flex-direction:column;gap:6px;min-height:120px;max-height:min(46vh,360px);padding:4px 2px;display:flex;overflow-y:auto}.friend-chat-note{color:var(--muted);margin:0;font-size:13px}.friend-chat-line{background:var(--btn-secondary-bg);color:var(--text);overflow-wrap:anywhere;border-radius:10px;align-self:flex-start;max-width:85%;padding:6px 10px;font-size:14px}.friend-chat-line.is-mine{background:var(--btn-primary-bg);align-self:flex-end}@supports (color:color-mix(in lab, red, red)){.friend-chat-line.is-mine{background:color-mix(in srgb, var(--btn-primary-bg) 28%, var(--btn-secondary-bg))}}.friend-chat-time{color:var(--muted);margin-left:8px;font-size:10px}.friend-chat-error{color:var(--red,#f87171);margin:0;font-size:13px}.friend-chat-form{gap:8px;display:flex}.friend-chat-form input{background:var(--btn-secondary-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;min-width:0;min-height:42px;padding:0 12px;font-size:16px}.friend-chat-tools{gap:16px;display:flex}.friend-chat-link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;text-decoration:underline}.friend-chat-link:disabled{cursor:default;opacity:.6;text-decoration:none}.room-move-chat{color:var(--muted);flex-direction:column;grid-column:1/-1;gap:2px;padding:2px 8px 4px 28px;font-size:12px;display:flex}.room-move-chat-line{overflow-wrap:anywhere}.room-move-chat-line b{color:var(--text);font-weight:600}.screen-fx-canvas{pointer-events:none;z-index:900;width:100vw;height:100vh;position:fixed;inset:0}.player-tactics-pill{transition:box-shadow 80ms linear}.legacy-game-page .board-cell.has-shift-ghosts{contain:none!important;z-index:70!important;overflow:visible!important}.legacy-game-page .board-cell .board-piece.shift-ghost{animation:shift-ghost var(--ghost-ms,.32s) linear var(--ghost-delay,0s) forwards;opacity:0;pointer-events:none;translate:var(--ghost-x,0) var(--ghost-y,0);z-index:1;position:absolute;inset:0}.legacy-game-page .board-cell .board-piece.shift-ghost:before{content:"";z-index:-1;background:radial-gradient(circle,#00f0ffb3 0%,#00f0ff00 70%);border-radius:50%;position:absolute;inset:5%}.legacy-game-page .board-cell .board-piece.shift-ghost.black:before{background:radial-gradient(circle,#ef4444b3 0%,#ef444400 70%)}@keyframes shift-ghost{0%{opacity:var(--ghost-alpha,.5)}to{opacity:0}}.legacy-game-page .board-cell .board-piece.topple-king-piece{animation:mate-king-fall .3s ease-out var(--topple-delay,0s) both;filter:grayscale(.6)brightness(.5)!important;transition:filter .3s ease-out var(--topple-delay,0s)!important}.legacy-game-page .board-cell.mate-king-cell .board-piece.mate-king-piece{filter:grayscale(.6)brightness(.5)!important;transition:filter .3s ease-out var(--mate-fall-delay,0s)!important}@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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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}
