:root{--bg-page:#f4f5f7;--bg:#fff;--bg-card:#fff;--bg-soft:#f3f4f6;--bg-input:#fff;--bg-hover:#eceef1;--bg-active:#e2e5ea;--text:#1c1f24;--text-h:#0c0e12;--text-secondary:#4b5563;--text-muted:#8a94a3;--border:#e2e5ea;--border-strong:#c3c9d4;--font-display:"Sora", system-ui, sans-serif;--font-body:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--text-display:30px / 38px;--text-h1:24px / 32px;--text-h2:19px / 26px;--text-h3:16px / 24px;--text-body:15px / 24px;--text-label:13px / 18px;--text-small:13px / 20px;--text-caption:12px / 16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--e1:0 1px 2px #1018280d, 0 1px 3px #10182814;--e2:0 4px 6px -2px #1018280f, 0 10px 18px -6px #1018281a;--e3:0 12px 24px -8px #10182824, 0 6px 12px -6px #10182814;--e4:0 24px 48px -12px #10182838;--dur-fast:.12s;--dur-med:.18s;--dur-slow:.24s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--z-base:0;--z-sticky:40;--z-overlay:80;--z-modal:100;--z-toast:120}[data-theme=dark]{--bg-page:#0f1216;--bg:#14181d;--bg-card:#171b21;--bg-soft:#1d2229;--bg-input:#1a1f26;--bg-hover:#22282f;--bg-active:#2a313a;--text:#e4e7eb;--text-h:#f7f8fa;--text-secondary:#a4adb9;--text-muted:#7a8390;--border:#ffffff14;--border-strong:#ffffff29;--e1:0 1px 2px #00000059, 0 1px 3px #00000073;--e2:0 4px 6px -2px #00000059, 0 10px 18px -6px #00000073;--e3:0 12px 24px -8px #00000080, 0 6px 12px -6px #0006;--e4:0 24px 48px -12px #0009}:root{--success:#2e7d32;--success-soft:#e4f2e5;--warning:#b26a00;--warning-soft:#fdf1dc;--danger:#c62828;--danger-soft:#fbe7e7;--info:#1565c0;--info-soft:#e3eefb;--piece-a:#c62828;--piece-b:#1565c0;--tile-selected:#ffeb3b;--tile-blocked:#1a1a1a;--podium-1:#eab308;--podium-2:#9aa5b1;--podium-3:#b08a5e}[data-theme=dark]{--success:#66bb6a;--success-soft:#66bb6a24;--warning:#ffb648;--warning-soft:#ffb64824;--danger:#ef5350;--danger-soft:#ef535024;--info:#64b5f6;--info-soft:#64b5f624;--piece-a:#ef5350;--piece-b:#64b5f6;--tile-blocked:#0a0a0a}[data-board-theme=classic]{--accent:#4a7a24;--accent-hover:#3c661c;--accent-active:#315418;--accent-contrast:#fff;--accent-soft:#edf3e2;--accent-soft-hover:#e0ead0;--accent-ring:#4a7a2461;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-board-theme=ocean]{--accent:#35567e;--accent-hover:#2a4467;--accent-active:#213653;--accent-contrast:#fff;--accent-soft:#e6eef7;--accent-soft-hover:#d7e3f1;--accent-ring:#35567e61;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-board-theme=terracotta]{--accent:#9a5a2e;--accent-hover:#7d4823;--accent-active:#66391b;--accent-contrast:#fff;--accent-soft:#f7ebe0;--accent-soft-hover:#efdfcf;--accent-ring:#9a5a2e61;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-board-theme=slate]{--accent:#44536c;--accent-hover:#364256;--accent-active:#2b3546;--accent-contrast:#fff;--accent-soft:#e9edf3;--accent-soft-hover:#dbe1ea;--accent-ring:#44536c61;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-board-theme=midnight]{--accent:#27395c;--accent-hover:#1d2d49;--accent-active:#16223a;--accent-contrast:#fff;--accent-soft:#e8ecf4;--accent-soft-hover:#d9e0ec;--accent-ring:#27395c66;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-theme=dark][data-board-theme=classic]{--accent:#a5c97f;--accent-hover:#b5d690;--accent-active:#c6e1a3;--accent-contrast:#16210c;--accent-soft:#a5c97f24;--accent-soft-hover:#a5c97f38;--accent-ring:#a5c97f73;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-theme=dark][data-board-theme=ocean]{--accent:#8db4dd;--accent-hover:#a1c2e5;--accent-active:#b6d0ed;--accent-contrast:#0e1a28;--accent-soft:#8db4dd24;--accent-soft-hover:#8db4dd38;--accent-ring:#8db4dd73;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-theme=dark][data-board-theme=terracotta]{--accent:#d9a06f;--accent-hover:#e2b086;--accent-active:#eac09e;--accent-contrast:#241407;--accent-soft:#d9a06f24;--accent-soft-hover:#d9a06f38;--accent-ring:#d9a06f73;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-theme=dark][data-board-theme=slate]{--accent:#9fb0c6;--accent-hover:#b0c0d4;--accent-active:#c2d0e2;--accent-contrast:#10161f;--accent-soft:#9fb0c626;--accent-soft-hover:#9fb0c63b;--accent-ring:#9fb0c673;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-theme=dark][data-board-theme=midnight]{--accent:#8ea9d6;--accent-hover:#a2bae0;--accent-active:#b7ccea;--accent-contrast:#0d1524;--accent-soft:#8ea9d626;--accent-soft-hover:#8ea9d63b;--accent-ring:#8ea9d673;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}:root:not([data-board-theme]){--accent:#4a7a24;--accent-hover:#3c661c;--accent-active:#315418;--accent-contrast:#fff;--accent-soft:#edf3e2;--accent-soft-hover:#e0ead0;--accent-ring:#4a7a2461;--gradient-hero:linear-gradient(160deg, color-mix(in srgb, var(--accent) 16%, var(--bg-page)) 0%, var(--bg-page) 100%)}[data-theme=dark]:not([data-board-theme]){--accent:#a5c97f;--accent-hover:#b5d690;--accent-active:#c6e1a3;--accent-contrast:#16210c;--accent-soft:#a5c97f24;--accent-soft-hover:#a5c97f38;--accent-ring:#a5c97f73}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}body{background:radial-gradient(1100px 420px at 85% -10%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 70%), var(--bg-page);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background-color var(--dur-slow) var(--ease-standard);margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--text-h);letter-spacing:-.01em;font-weight:700}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2);font-weight:600}h3{font-size:var(--text-h3);font-weight:600}p{margin:0}.tabular{font-variant-numeric:tabular-nums}.page-container{box-sizing:border-box;width:100%;max-width:1200px;margin-inline:auto;padding-inline:32px}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.checkers{background-image:linear-gradient(45deg, color-mix(in srgb, var(--text) 5%, transparent) 25%, transparent 25%), linear-gradient(-45deg, color-mix(in srgb, var(--text) 5%, transparent) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--text) 5%, transparent) 75%), linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--text) 5%, transparent) 75%);background-position:0 0,0 16px,16px -16px,-16px 0;background-size:32px 32px}.list-row{transition:background var(--dur-fast) var(--ease-standard)}.list-row:hover{background:var(--bg-hover)}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stats-grid>*{min-width:0}.nav-tabs{align-items:center;gap:4px;display:flex}.nav-burger{display:none}.header-desktop-actions{display:flex}.context-header{display:none}.card{background:var(--bg-card);border-radius:var(--r-lg);box-shadow:var(--e1);box-sizing:border-box;padding:clamp(20px,3vw,32px)}[data-theme=dark] .card{border:1px solid var(--border)}.card--interactive{cursor:pointer;transition:box-shadow var(--dur-med) var(--ease-standard), transform var(--dur-med) var(--ease-standard)}.card--interactive:hover{box-shadow:var(--e2);transform:translateY(-2px)}.sub-section{background:var(--bg-soft);border-radius:var(--r-md);box-sizing:border-box;padding:16px 20px}.board-layout{grid-template-columns:minmax(0,640px) 340px;justify-content:center;align-items:start;gap:32px;display:grid}.board-panel{flex-direction:column;gap:16px;display:flex;position:sticky;top:88px}.board-solo-controls{order:0;margin-top:16px}.board-move-pad{order:2}:root{--movepad-size:48px;--movepad-gap:6px}.board-move-pad__grid{grid-template-columns:repeat(3, var(--movepad-size));grid-template-rows:repeat(3, var(--movepad-size));gap:var(--movepad-gap);justify-content:center;align-items:center;display:grid}.board-move-pad__btn{width:var(--movepad-size);height:var(--movepad-size);border:1px solid var(--border);cursor:pointer;box-shadow:var(--e1);transition:filter var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), opacity var(--dur-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.board-move-pad__btn:hover{filter:brightness(.94)}.board-move-pad__btn:active{transform:scale(.92)}.board-move-pad__btn--center{border:2px solid var(--accent)}.board-move-pad__btn--center:hover{filter:brightness(.94)}.board-move-pad__btn--dim{opacity:.35;box-shadow:none}.board-move-pad__value{pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:800;line-height:1;font-size:calc(var(--movepad-size) * .42)}.profile-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:24px;display:grid}.profile-aside{flex-direction:column;gap:16px;display:flex;position:sticky;top:88px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fade-in var(--dur-med) var(--ease-standard);background:#090c128c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border-radius:var(--r-xl);box-shadow:var(--e3);box-sizing:border-box;width:100%;max-width:480px;min-height:0;max-height:80vh;animation:modal-in var(--dur-slow) var(--ease-standard);flex-direction:column;display:flex}.modal-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 0;display:flex}.modal-body{flex:1;min-height:0;max-height:60vh;padding:16px 24px;overflow-y:auto}.modal-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:0 24px 20px;display:flex}.field-label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:500;line-height:18px;display:block}.field-error{color:var(--danger);align-items:center;gap:4px;margin-top:6px;font-size:12px;display:flex}.field-hint{color:var(--text-muted);margin-top:6px;font-size:12px}.input,.select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;height:44px;font-family:var(--font-body);color:var(--text);box-sizing:border-box;transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);outline:none;padding:0 14px;font-size:15px}.input:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input::placeholder,.select::placeholder{color:var(--text-muted)}.input:disabled,.select:disabled{background:var(--bg-soft);color:var(--text-muted);cursor:not-allowed;opacity:.7}.input--error,.select--error{border-color:var(--danger)}.select-wrap{position:relative}.select-wrap .select{appearance:none;cursor:pointer;padding-inline-end:38px}.select-wrap>svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.badge{border-radius:var(--r-pill);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.badge--neutral{background:var(--bg-soft);color:var(--text-secondary)}.badge--accent{background:var(--accent-soft);color:var(--accent)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--info{background:var(--info-soft);color:var(--info)}.toast{z-index:var(--z-toast);background:var(--text-h);color:var(--bg);border-radius:var(--r-md);box-shadow:var(--e3);animation:toast-in var(--dur-med) var(--ease-standard);align-items:center;gap:10px;padding:12px 18px;font-size:14px;font-weight:600;display:flex;position:fixed;bottom:24px;right:24px}.toast--success svg{color:var(--success)}.toast--error svg{color:var(--danger)}.toast--info svg{color:var(--info)}.toast>svg{flex-shrink:0}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;display:flex}.page-header h1{font-family:var(--font-display);font-size:var(--text-h1);text-transform:none;letter-spacing:-.01em;margin:0 0 4px;font-weight:700}.page-header__subtitle{color:var(--text-secondary);margin:0;font-size:14px}.page-header__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.avatar{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-family:var(--font-display);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.tooltip{position:relative}.tooltip__tip{background:var(--text-h);color:var(--bg);border-radius:var(--r-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-standard), visibility var(--dur-fast);z-index:var(--z-toast);pointer-events:none;padding:6px 10px;font-size:12px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip__tip:after{content:"";border:6px solid #0000;border-top-color:var(--text-h);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip:hover .tooltip__tip,.tooltip:focus-within .tooltip__tip{opacity:1;visibility:visible}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.app-footer{flex-wrap:wrap}.footer-cycle{justify-content:center;align-items:center;min-width:96px;display:inline-flex}.footer-cycle-meta{min-width:70px;color:var(--text-muted);justify-content:center;align-items:center;font-size:12px;display:inline-flex}@media (width<=640px){:root{--movepad-size:clamp(44px, 13vw, 64px);--movepad-gap:6px}.nav-tabs{display:none}.nav-burger{display:flex}.page-container{padding-inline:16px}.col-optional{display:none}.board-solo-controls{order:-1;margin-top:0;margin-bottom:40px}.header-desktop-actions,.feedback-label,.selector-label,.selector-badge{display:none}.context-header{display:flex}.modal-overlay{align-items:flex-end;padding:0}.modal-card{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:100%;max-height:88vh;animation:sheet-in var(--dur-slow) var(--ease-standard)}.toast{justify-content:center;inset:16px 16px auto}.app-footer{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.app-footer::-webkit-scrollbar{display:none}.app-footer>*{flex-shrink:0}.footer-copyright{display:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}.modding-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:32px;display:grid}.modding-board{position:sticky;top:88px}.games-context-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.games-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=640px){.games-grid-2{grid-template-columns:1fr}}@media (width<=1024px){.nav-label{display:none}.auth-grid{grid-template-columns:1fr!important}.auth-brand{display:none!important}.auth-brand-compact{display:flex!important}.board-layout{grid-template-columns:minmax(0,1fr);justify-content:stretch}.board-panel{position:static}.modding-layout{grid-template-columns:minmax(0,1fr);gap:24px}.modding-board{position:static}.profile-layout{grid-template-columns:1fr}.profile-aside{position:static}}@media (width<=420px){.stats-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.profile-edit-themed button{--edit-btn:var(--accent);background:var(--edit-btn)!important;color:var(--accent-contrast)!important}[data-board-theme=classic] .profile-edit-themed button{--edit-btn:#5b8c38}[data-board-theme=ocean] .profile-edit-themed button{--edit-btn:#3a668f}[data-board-theme=terracotta] .profile-edit-themed button{--edit-btn:#a3663d}[data-board-theme=slate] .profile-edit-themed button{--edit-btn:#4e6080}[data-board-theme=midnight] .profile-edit-themed button{--edit-btn:#33508a}.profile-edit-themed button:hover{background:color-mix(in srgb, var(--edit-btn) 86%, #000)!important}@keyframes profile-stats-blink{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent)!important}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--accent) 0%, transparent);background:color-mix(in srgb, var(--accent) 45%, var(--accent-soft))!important}}.profile-stats-blink button{animation:1.1s steps(2,jump-none) infinite profile-stats-blink}@media (prefers-reduced-motion:reduce){.profile-stats-blink button{animation:none}}@keyframes invite-header-pulse{0%,to{background-color:var(--warning-soft)}50%{background-color:color-mix(in srgb, var(--warning) 28%, var(--bg))}}
