@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.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:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-normal-p18AlW_x.woff2)format("woff2"),url(/assets/dm-serif-display-latin-ext-400-normal-B1toqZab.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2)format("woff2"),url(/assets/dm-serif-display-latin-400-normal-_kVFYEpx.woff)format("woff");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{--color-canvas:#091422;--color-canvas-deep:#060e19;--color-surface-1:#132338;--color-surface-2:#0e1b2c;--color-surface-3:#1b2e47;--color-border-subtle:#afbecd24;--color-border-strong:#afbecd4d;--color-text-primary:#f8f4e9;--color-text-secondary:#afbecd;--color-text-faint:#7d8b9c;--color-brand:#edc574;--color-brand-hover:#f7d38c;--color-brand-deep:#d9a94e;--color-brand-contrast:#1b1406;--color-brand-soft:#edc5741a;--color-brand-line:#edc574b8;--color-success:#8fd19e;--color-success-soft:#8fd19e24;--color-warning:#f2c76e;--color-danger:#f2a5a5;--color-danger-soft:#f2a5a521;--color-info:#9abff0;--color-scrim:#03080fb8;--gradient-gold:linear-gradient(180deg, #f5d592, #e3b65f);--gradient-gold-hover:linear-gradient(180deg, #f8dca2, #e8bd6b);--gradient-card:linear-gradient(180deg, #152740, #122236);--bg:var(--color-canvas);--surface:var(--color-surface-1);--surface-subtle:var(--color-surface-2);--border:var(--color-border-subtle);--text:var(--color-text-primary);--text-muted:var(--color-text-secondary);--accent:var(--color-brand);--accent-text:var(--color-brand-contrast);--danger:var(--color-danger);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--text-field:1em;--leading-tight:1.2;--leading-normal:1.5;--font-sans:"Plus Jakarta Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"DM Serif Display", Georgia, "Times New Roman", serif;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.125rem;--radius-xl:1.25rem;--radius-full:999px;--shadow-1:0 1px 0 #ffffff0a inset, 0 14px 34px #02060e52;--shadow-2:0 16px 40px #02060e6b;--shadow-3:0 28px 80px #0000008c;--shadow-gold:0 1px 0 #ffffff73 inset, 0 10px 24px #e3b65f38;--focus-ring:0 0 0 3px #edc57452;--control-height:2.75rem;--sidebar-width:15rem;--square-light:#edd9b8;--square-dark:#b28963;--square-last-move:#cdd26a8c;--square-selected:#82aa78a6;--square-target:#28282347;--square-check:#d6483ee6;--square-mate:#be2c24eb;--square-mate-ring:#ffe096d9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}a{color:var(--color-brand)}a:hover{color:var(--color-brand-hover)}a.button{color:var(--color-text-primary);text-decoration:none}body{background:var(--color-canvas);color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-image:radial-gradient(56rem 32rem at 82% -10%,#edc57414,#0000 62%),radial-gradient(44rem 30rem at 8% 110%,#547cbe17,#0000 60%);background-attachment:fixed;margin:0}h1,h2{margin:0;font-weight:600}h1{letter-spacing:-.01em;font-size:1.35rem}h2{letter-spacing:-.005em;color:var(--text);font-size:1.0625rem;font-weight:750}.display{font-family:var(--font-display);letter-spacing:0;font-weight:400}.eyebrow{color:var(--color-brand);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:800}.app{max-width:1360px;margin:0 auto;padding:0 1rem 3rem}.navbar{z-index:3;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;padding:.7rem 0;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.5rem;display:flex}.brand-mark{color:var(--accent);font-size:1.5rem;line-height:1}.navbar-actions{align-items:center;gap:.4rem;display:flex}.nav-button{background:0 0;border-color:#0000;align-items:center;gap:.45rem;min-height:40px;padding:.35rem .6rem;display:flex}.nav-button:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--border)}@media (width<=560px){.nav-label{display:none}}.layout{grid-template-columns:260px minmax(0,1fr) 320px;align-items:start;gap:1.25rem;display:grid}.home{flex-direction:column;gap:1.25rem;width:min(64rem,100%);margin:0 auto;display:flex}.home-resume{border-radius:var(--radius-lg);background:linear-gradient(90deg,#edc57424,#edc5740a);border:1px solid #edc57459;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;display:flex}.home-resume-action{border-color:var(--color-brand-line);color:var(--color-brand-hover);background:#0914228c}.invite{flex-direction:column;gap:1rem;display:flex}.invite-create{flex-direction:column;gap:.75rem;display:flex}.invite-note{margin:0;font-size:.85rem}.invite-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.invite-list li{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .85rem;display:flex}.invite-row{flex-direction:column;gap:.2rem;min-width:0;display:flex}.invite-code{letter-spacing:.08em;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem}.invite-actions{flex-wrap:wrap;gap:.5rem;display:flex}.invite-join{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;padding-top:.5rem;display:flex}.invite-join-row{gap:.5rem;display:flex}.invite-join-row input{letter-spacing:.08em;text-transform:uppercase;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.invite-error{color:var(--danger);margin:0;font-size:.9rem}.invite-incoming{margin-bottom:.25rem}.home-welcome{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.home-welcome-text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.home-welcome-text p{font-size:var(--text-md);margin:0}.home-greeting{font-size:var(--text-3xl);line-height:1.1}.home-ratings{gap:var(--space-2);text-align:left;background:0 0;border:0;flex-wrap:wrap;padding:0;display:flex}.home-ratings:hover:not(:disabled) .home-rating{border-color:var(--color-border-strong)}.home-rating{min-width:6rem;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:#09142280;flex-direction:column;gap:.1rem;transition:border-color .12s;display:flex}.home-rating.main{border-color:#edc57461}.home-rating-label{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700}.home-rating.main .home-rating-label{color:var(--color-brand)}.home-rating-value{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.home-rating-value.none{color:var(--color-text-faint)}.home-rating-value abbr,.home-ladder-rating abbr{color:var(--color-text-secondary);text-decoration:none}.home-hero{gap:var(--space-6);grid-template-columns:minmax(0,1.7fr) minmax(19rem,1fr);align-items:stretch;display:grid}.home-play{min-width:0}.home-lower{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(24rem,100%),1fr));align-items:start;display:grid}@media (width<=1023px){.home-hero{grid-template-columns:minmax(0,1fr)}}.adventure-card{border-radius:var(--radius-xl);min-height:28rem;box-shadow:var(--shadow-2);color:var(--color-text-primary);isolation:isolate;border:1px solid #edc57461;flex-direction:column;justify-content:flex-end;text-decoration:none;display:flex;position:relative;overflow:hidden}.adventure-card:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.adventure-art{z-index:-2;object-fit:cover;object-position:70% 50%;width:100%;height:100%;transition:transform .6s;position:absolute;inset:0}.adventure-shade{z-index:-1;background:linear-gradient(#060e190d 0%,#060e1940 40%,#060e19eb 78%);position:absolute;inset:0}.adventure-asude{filter:drop-shadow(0 12px 24px #00000073);align-self:flex-end;width:13rem;height:auto;margin:0 -.75rem -2.5rem 0}.adventure-copy{gap:var(--space-3);padding:var(--space-6);flex-direction:column;display:flex;position:relative}.adventure-title{font-size:2.125rem;line-height:1.05}.adventure-body{color:#d7e0e9;max-width:30ch;font-size:var(--text-md)}.adventure-progress{gap:var(--space-1);flex-direction:column;max-width:34ch;display:flex}.adventure-stars{align-items:center;gap:0 var(--space-1);color:var(--color-text-primary);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-weight:700;display:inline-flex}.adventure-stars svg{color:var(--color-brand)}.adventure-cta{align-self:flex-start;align-items:center;gap:var(--space-2);min-height:var(--control-height);margin-top:var(--space-1);padding:0 var(--space-4);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0914228c;border:1px solid #f8f4e94d;font-weight:700;transition:background-color .12s,border-color .12s;display:inline-flex}.adventure-card:hover .adventure-cta{background:#091422c7;border-color:#f8f4e980}@media (prefers-reduced-motion:no-preference){.adventure-card:hover .adventure-art{transform:scale(1.03)}}@media (width<=1023px){.adventure-card{min-height:19rem}.adventure-asude{width:9.5rem}}.learn-invite{isolation:isolate;justify-content:center;align-items:flex-start;gap:var(--space-3);min-height:12rem;padding:var(--space-6);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);color:var(--color-text-primary);background:#010e28;flex-direction:column;text-decoration:none;transition:border-color .16s;display:flex;position:relative;overflow:hidden}.learn-invite:hover{color:var(--color-text-primary);border-color:var(--color-brand-line)}.learn-invite:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.learn-invite-art{z-index:-1;object-fit:cover;object-position:100% 20%;transform-origin:70%;width:min(62%,40rem);height:100%;transition:transform .6s;position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18%);mask-image:linear-gradient(90deg,#0000,#000 18%)}@media (prefers-reduced-motion:no-preference){.learn-invite:hover .learn-invite-art{transform:scale(1.03)}}.learn-invite-copy{flex-direction:column;gap:.15rem;max-width:min(38%,24rem);display:flex}.learn-invite-copy strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.15}.learn-invite-copy span{color:var(--color-text-secondary);font-size:var(--text-sm)}.learn-invite-action{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-brand-line);border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-brand);white-space:nowrap;font-weight:800;display:inline-flex}.learn-invite-count{padding-right:var(--space-2);border-right:1px solid var(--color-brand-line);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-weight:700}@media (width<=767px){.learn-invite{min-height:0;padding:0 0 var(--space-4)}.learn-invite-art{object-position:85% 20%;width:100%;height:10.5rem;position:static;-webkit-mask-image:none;mask-image:none}.learn-invite-copy,.learn-invite-action{margin:0 var(--space-4)}.learn-invite-copy{max-width:none}}.home-ladder-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-ladder-row{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;display:flex}.home-ladder-row:hover{background:#afbecd0f}.home-ladder-row.me{background:var(--color-brand-soft)}.home-ladder-rank{border-radius:var(--radius-sm);width:1.65rem;height:1.65rem;color:var(--color-text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;background:#afbecd1f;flex:none;place-items:center;font-weight:800;display:grid}.home-ladder-rank.rank-1{color:var(--color-brand-contrast);background:#edc574}.home-ladder-rank.rank-2{color:var(--color-brand-contrast);background:#c9d4df}.home-ladder-rank.rank-3{color:var(--color-brand-contrast);background:#c98f5a}.home-ladder-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.home-ladder-rating{font-variant-numeric:tabular-nums}.alerts{z-index:22;top:calc(var(--space-3) + env(safe-area-inset-top));pointer-events:none;flex-direction:column;gap:.5rem;width:min(32rem,100vw - 1.5rem);display:flex;position:fixed;left:50%;transform:translate(-50%)}.alerts>*{pointer-events:auto;box-shadow:0 8px 24px #00000047}.confirm{background:color-mix(in srgb, var(--danger) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:8px;align-items:center;gap:.4rem;padding:.1rem .35rem;display:inline-flex}.confirm-question{color:var(--text)}.confirm-yes{border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger);font-weight:600}.brand-link{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;padding:0}.brand-link:hover h1{color:var(--accent)}.rail{flex-direction:column;gap:.75rem;min-width:0;display:flex}@media (width<=1180px){.layout{grid-template-columns:minmax(0,1fr) 320px}.rail-left{flex-flow:wrap;grid-column:1/-1}.rail-left>.panel{flex:260px}}@media (width<=860px){.layout{grid-template-columns:minmax(0,1fr)}.board-column{order:1}.rail-right{order:2}.rail-left{flex-direction:column;order:3}}.board-column{flex-direction:column;gap:.5rem;min-width:0;display:flex}.board{border-radius:6px;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000001f}.board-keys{pointer-events:none;grid-template-rows:repeat(8,1fr);display:grid;position:absolute;inset:0}.board-keys-row{grid-template-columns:repeat(8,1fr);display:grid}.board-key:focus{outline:3px solid var(--accent);outline-offset:-3px}.board-key-selected{box-shadow:inset 0 0 0 2px var(--accent)}.board-idle{position:relative}.board-idle .board{pointer-events:none}.board-empty{pointer-events:none;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.board-empty-card{background:var(--surface);border:1px solid var(--border);text-align:center;pointer-events:auto;border-radius:14px;flex-direction:column;align-items:center;gap:.6rem;width:min(22rem,100%);max-height:100%;padding:1.4rem 1.5rem;display:flex;overflow-y:auto;box-shadow:0 18px 50px #0000004d}.board-empty-online{text-align:left;width:100%}.board-empty-card h2{text-transform:none;letter-spacing:-.015em;color:var(--text);font-size:1.35rem;font-weight:650}.board-empty-actions{flex-direction:column;gap:.45rem;width:100%;margin-top:.2rem;display:flex}.board-empty-actions button{min-height:44px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.7rem;padding:.9rem;display:flex}.panel.grow{min-height:180px}.player-bar{justify-content:space-between;align-items:baseline;gap:.5rem;padding:.35rem .1rem;display:flex}.player-identity{align-items:center;gap:.4rem;min-width:0;display:flex}.player-bot-strength{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.85rem}.player-bot-avatar{object-fit:contain;object-position:center bottom;border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);background:var(--color-surface-3);flex:none;width:2rem;height:2rem}.player-name{font-weight:600}.player-rating{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.muted{color:var(--text-muted);font-size:.85rem}.status{margin:0;font-size:.95rem}.status-finished:first-letter{text-transform:uppercase}.status-finished{font-weight:600}.player-clock{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;padding:.1rem .45rem;font-size:1.05rem;font-weight:600}.player-clock.running{background:var(--surface-subtle)}.player-clock.low{color:var(--danger)}.player-clock.stopped{opacity:.55}.move-list{font-variant-numeric:tabular-nums;max-height:260px;margin:0;padding:0;font-size:.9rem;list-style:none;overflow-y:auto}.move-list li{border-radius:4px;grid-template-columns:2.2rem 1fr 1fr;gap:.4rem;padding:.12rem .2rem;display:grid}.move-list li:nth-child(odd){background:var(--surface-subtle)}.move-number{color:var(--text-muted)}.move-san{font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 .25rem}button.move-san:hover:not(:disabled){border-color:var(--border)}.move-san-current{background:var(--square-last-move,var(--surface-subtle));border-color:var(--border);font-weight:600}.move-verdict{vertical-align:middle;margin-left:.3rem;font-size:.58rem}.analysis-panel{border:1px solid var(--border);background:var(--surface-subtle);border-radius:7px;flex-direction:column;gap:.5rem;padding:.65rem;display:flex}.analysis-panel p{margin:0}.analysis-progress{grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;font-size:.76rem;display:grid}.analysis-progress progress{width:100%;accent-color:var(--accent)}.analysis-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;margin:0;display:grid}.analysis-details div{min-width:0}.analysis-details dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.analysis-details dd{text-overflow:ellipsis;white-space:nowrap;margin:.1rem 0 0;font-size:.82rem;font-weight:600;overflow:hidden}.analysis-graph{margin:0}.analysis-graph svg{cursor:pointer;width:100%;height:96px;display:block}.analysis-graph-axis{stroke:var(--color-border-strong);stroke-dasharray:4 4}.analysis-graph-line{fill:none;stroke:var(--color-brand);stroke-width:2.5px;stroke-linejoin:round}.analysis-graph-cursor{stroke:var(--color-text-primary);stroke-width:1.5px}.analysis-graph figcaption{margin-top:.15rem;font-size:.7rem}.analysis-summary{border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:.4rem;padding-top:.5rem;display:flex}.analysis-summary h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:.2rem 0 0;font-size:.78rem}.analysis-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.analysis-counts li{flex-direction:column;min-width:0;display:flex}.analysis-counts strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.analysis-counts span{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.analysis-moments{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.analysis-moments button{text-align:left;justify-content:space-between;gap:.5rem;width:100%;min-height:2.25rem;padding:.3rem .6rem;font-size:.82rem;display:flex}.analysis-moments button.current{border-color:var(--color-brand-line);background:var(--color-brand-soft)}.analysis-best,.analysis-excellent{color:var(--accent)}.analysis-good{color:var(--text)}.analysis-inaccuracy{color:var(--color-warning)}.analysis-mistake{color:color-mix(in srgb, var(--color-warning) 55%, var(--color-danger))}.analysis-blunder{color:var(--danger)}.draw-offer{border:1px solid var(--accent);background:var(--surface-subtle);border-left-width:3px;border-radius:6px;margin:.5rem 0;padding:.6rem}.draw-offer-text{margin:0 0 .5rem;font-weight:600}.draw-offer .button-row{margin-bottom:.35rem}.draw-offer-banner{z-index:21;bottom:var(--space-4);border:1px solid var(--accent);background:var(--color-surface-1);border-radius:10px;align-items:center;gap:.75rem;width:min(26rem,100vw - 2rem);padding:.7rem 2.25rem .7rem .9rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000047}.draw-offer-banner-text{flex:1;min-width:0;margin:0;font-size:.9rem;font-weight:600}.draw-offer-banner-actions{flex-shrink:0;gap:.4rem;display:flex}.draw-offer-banner-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.15rem .35rem;font-size:1.1rem;line-height:1;position:absolute;top:.15rem;right:.3rem}@media (width<=767px){.draw-offer-banner{bottom:calc(4.25rem + env(safe-area-inset-bottom) + var(--space-2))}}.direct-invite-banner{flex-wrap:wrap;width:min(34rem,100vw - 2rem);padding-right:.9rem}.direct-invite-banner .draw-offer-banner-text{flex-basis:15rem;font-weight:400}.direct-invite-banner .invite-error{flex-basis:100%;margin:0}@media (prefers-reduced-motion:no-preference){.draw-offer-banner{animation:.18s ease-out both scrim-in}}.review{flex-direction:column;gap:.35rem;margin-bottom:.5rem;display:flex}.review-buttons{gap:.25rem;display:flex}.review-button{flex:1;padding:.25rem 0;line-height:1.2}.review-where{margin:0}.review-badge{background:var(--surface-subtle);border:1px solid var(--border);border-radius:4px;padding:0 .35rem;font-weight:600;display:inline-block}button{font:inherit;color:var(--text);background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:.4rem .7rem}button:hover:not(:disabled){border-color:var(--color-border-strong)}button:disabled{opacity:.55;cursor:default}button:focus-visible,.promotion-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--gradient-gold);color:var(--accent-text);box-shadow:var(--shadow-gold);border-color:#0000;font-weight:750}.link-button{color:var(--text-muted);background:0 0;border:none;padding:0;text-decoration:underline}.button-row{flex-wrap:wrap;gap:.5rem;display:flex}.alert{background:color-mix(in srgb, var(--danger) 14%, var(--surface));border:1px solid var(--danger);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;font-size:.88rem;display:flex}.new-game{flex-direction:column;gap:.85rem;display:flex}.new-game fieldset{border:none;flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}.new-game legend{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0;font-size:.75rem}.segmented{flex-wrap:wrap;gap:.35rem;display:flex}.segmented button{background:#09142273;flex:auto;padding:.35rem .5rem;font-size:.9rem;font-weight:650}.segmented button.active,.clock.active{background:var(--color-brand-soft);border-color:var(--color-brand-line);color:var(--color-brand-hover);box-shadow:0 0 0 3px #edc57414}.clock-choices{flex-wrap:wrap;align-items:flex-start;gap:.6rem .75rem;display:flex}.clock-group{flex:0 auto;min-width:0}.clock-group-label{min-height:1.1rem;color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.3rem;margin-bottom:.3rem;font-size:.72rem;font-weight:750;display:flex}.clock-row{gap:.35rem;display:flex}.clock{font-variant-numeric:tabular-nums;background:#09142273;flex:none;min-width:4.25rem;padding:.35rem .5rem;font-size:.9rem;font-weight:650}.levels{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.level{align-items:center;gap:var(--space-3);text-align:left;min-width:0;min-height:5rem;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2);transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative;overflow:hidden}.level:hover:not(:disabled){border-color:var(--color-border-strong);box-shadow:var(--shadow-1);transform:translateY(-2px)}.level.active{border-color:var(--color-brand-line);background:var(--color-brand-soft);color:var(--color-text-primary);box-shadow:0 0 0 3px #edc5741a}.level.active:after{content:"✓";top:var(--space-2);right:var(--space-2);border:2px solid var(--color-surface-1);border-radius:var(--radius-full);background:var(--color-brand);width:1.25rem;height:1.25rem;color:var(--color-brand-contrast);font-size:var(--text-xs);box-shadow:var(--shadow-1);place-items:center;font-weight:800;line-height:1;display:grid;position:absolute}.level-portrait{border-radius:var(--radius-full);background:var(--color-surface-3);border:2px solid #f8f4e91f;flex:0 0 3.5rem;width:3.5rem;height:3.5rem;display:block;overflow:hidden}.level.active .level-portrait{border-color:var(--color-brand)}.level-portrait img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.level-copy{flex-direction:column;flex:1;align-items:flex-start;gap:.08rem;min-width:0;padding:0;display:flex}.level-copy strong{font-size:var(--text-md);line-height:var(--leading-tight)}.level-role{color:var(--color-brand);font-size:var(--text-xs);font-weight:650}.level small{-webkit-line-clamp:2;margin-top:var(--space-1);color:var(--color-text-secondary);-webkit-box-orient:vertical;font-size:.7rem;line-height:1.3;display:-webkit-box;overflow:hidden}.level.active small{color:var(--color-text-secondary)}@container (width<=34rem){.levels{grid-template-columns:repeat(2,minmax(0,1fr))}.level{min-height:4.5rem}.level-portrait{flex-basis:3.25rem;width:3.25rem;height:3.25rem}}.board-mate:after{content:"";pointer-events:none;border-radius:inherit;animation:.9s ease-out both mate-flash;position:absolute;inset:0}@keyframes mate-flash{0%{box-shadow:inset 0 0 0 0 var(--danger), inset 0 0 0 100vmax #a81e1842}55%{box-shadow:inset 0 0 0 6px var(--danger), inset 0 0 40px 0 #a81e184d}to{box-shadow:inset 0 0 0 3px var(--danger), inset 0 0 0 0 #a81e1800}}.dialog-scrim{z-index:2;background:color-mix(in srgb, var(--surface) 35%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:1rem;animation:.18s ease-out both scrim-in;display:grid;position:absolute;inset:0}@keyframes scrim-in{0%{opacity:0}}.result-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:.55rem;width:min(22rem,100%);padding:1.4rem 1.5rem 1.1rem;animation:.26s cubic-bezier(.2,.9,.3,1) both result-in;display:flex;box-shadow:0 18px 50px #00000057}.result-card:focus{outline:none}.result-won{--result-colour:var(--accent)}.result-lost{--result-colour:var(--danger)}.result-draw,.result-decisive,.result-abandoned{--result-colour:var(--text-muted)}.result-badge{width:3.1rem;height:3.1rem;color:var(--result-colour);background:color-mix(in srgb, var(--result-colour) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--result-colour) 35%, transparent);border-radius:50%;place-items:center;font-size:2rem;line-height:1;display:grid}.result-badge.has-icon{background:0 0;border:0;border-radius:13px;width:3rem;height:3rem}.result-badge.has-icon .chesspin-icon{display:block}.result-headline{text-transform:none;letter-spacing:-.015em;color:var(--result-colour);margin:0;font-size:1.55rem;font-weight:650}.result-reason{color:var(--text-muted);margin:0;font-size:.88rem}.result-score-caption{align-self:flex-end;margin:.35rem 0 -.2rem}.result-players{flex-direction:column;gap:2px;width:100%;margin:.35rem 0 .15rem;padding:0;list-style:none;display:flex}.result-player{background:var(--surface-subtle);text-align:left;border-radius:8px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.55rem;padding:.45rem .6rem;font-size:.92rem;display:grid}.result-player.is-winner{box-shadow:inset 3px 0 0 var(--text-muted);font-weight:600}.result-chip{border:1px solid var(--border);border-radius:3px;width:.85rem;height:.85rem}.chip-white{background:var(--square-light)}.chip-black{background:var(--square-dark)}.result-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result-you{color:var(--text-muted);font-weight:400}.result-rating{color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:baseline;gap:.3rem;font-size:.82rem;display:flex}.rating-change{font-weight:600}.rating-change.up{color:var(--accent)}.rating-change.down{color:var(--danger)}.rating-change.level{color:var(--text-muted)}.result-points{text-align:right;font-variant-numeric:tabular-nums;min-width:1.1rem;font-weight:600}.result-actions{flex-wrap:wrap;gap:.5rem;width:100%;margin-top:.4rem;display:flex}.result-actions button{flex:8rem;min-height:44px;padding:.55rem .7rem}.result-quiet{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.promotion-scrim{z-index:3;background:#00000061;animation:.14s ease-out both scrim-in;position:absolute;inset:0}.promotion-column{background:var(--square-light);flex-direction:column;width:12.5%;animation:.16s cubic-bezier(.2,.9,.3,1) both promotion-in;display:flex;position:absolute;box-shadow:0 10px 30px #00000073}.promotion-column:focus{outline:none}.promotion-column.from-top{transform-origin:top;border-radius:0 0 8px 8px;top:0}.promotion-column.from-bottom{transform-origin:bottom;border-radius:8px 8px 0 0;flex-direction:column-reverse;bottom:0}@keyframes promotion-in{0%{opacity:0;transform:scaleY(.6)}}.promotion-choice{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--square-dark) 30%, var(--square-light)) 58%, transparent 60%);border:0;border-radius:0;place-items:center;width:100%;padding:0;transition:background-color .12s;display:grid;position:relative}.promotion-choice:hover:not(:disabled){background:radial-gradient(circle, color-mix(in srgb, var(--accent) 35%, transparent) 58%, transparent 60%)}.promotion-piece{width:92%;height:92%;transition:transform .12s;display:block}.promotion-choice:hover:not(:disabled) .promotion-piece{transform:scale(1.06)}.promotion-choice kbd{display:none}@media (hover:hover) and (pointer:fine){.promotion-choice kbd{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:3px;padding:.1rem .25rem;font-size:.6rem;line-height:1;display:block;position:absolute;bottom:3px;right:3px}}.promotion-cancel{aspect-ratio:2;border-radius:inherit;background:color-mix(in srgb, var(--square-dark) 45%, var(--square-light));color:#0000009e;border:0;place-items:center;width:100%;min-height:2rem;padding:0;font-size:1.3rem;line-height:1;display:grid}.promotion-cancel:hover{color:#000000e0}.promotion-column .promotion-choice:focus-visible,.promotion-column .promotion-cancel:focus-visible{outline-offset:-3px}.thinking{margin:0;animation:1.4s ease-in-out infinite pulse}.thinking-idle{visibility:hidden;animation:none}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.thinking{animation:none}.board-mate:after{box-shadow:inset 0 0 0 3px var(--danger);animation:none}.result-card,.promotion-column,.promotion-scrim,.dialog-scrim{animation:none}.promotion-choice,.promotion-piece{transition:none}.promotion-choice:hover:not(:disabled) .promotion-piece{transform:none}}.captured{flex:auto;align-items:center;gap:.3rem;min-width:0;display:flex}.captured-pieces{letter-spacing:-.1em;color:var(--text-muted);padding-right:.1em;font-size:1.05rem;line-height:1;display:flex;overflow:hidden}.captured-lead{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.78rem}.settings{flex-direction:column;gap:.7rem;display:flex}.settings fieldset{border:none;flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}.settings legend{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0;font-size:.75rem}.swatches{flex-wrap:wrap;gap:.4rem;display:flex}.swatch{border-radius:6px;padding:3px;line-height:0}.swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.swatch-preview{border-radius:3px;grid-template-rows:repeat(2,11px);grid-template-columns:repeat(2,11px);display:grid;overflow:hidden}.piece-sets{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.4rem;display:grid}.piece-set{border-radius:6px;flex-direction:column;align-items:center;gap:.2rem;min-width:0;padding:.3rem .2rem;display:flex}.piece-set.active{border-color:var(--color-brand-line);background:var(--color-brand-soft)}.piece-set-preview{background:linear-gradient(135deg, var(--square-light) 50%, var(--square-dark) 50%);border-radius:4px;width:2.5rem;height:2.5rem;display:block}.piece-set-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.7rem;overflow:hidden}.history{flex-direction:column;gap:.25rem;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.history-entry{text-align:left;background:0 0;border-color:#0000;grid-template-columns:1fr auto auto;align-items:baseline;gap:.5rem;width:100%;padding:.3rem .5rem;font-size:.85rem;display:grid}.history-entry:hover{background:var(--surface-subtle)}.history-entry.current{border-color:var(--color-brand-line)}.history-opponent{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-result{color:var(--text-muted);font-size:.78rem}.history-result.won{color:var(--color-success);font-weight:600}.history-result.lost{color:var(--danger)}.history-entry.rich{align-items:center;gap:var(--space-3);min-height:3.5rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr) auto auto}.history-avatar{border-radius:var(--radius-full);background:var(--color-surface-3);border:1px solid #f8f4e91a;place-items:center;width:2.375rem;height:2.375rem;font-weight:800;display:grid;overflow:hidden}.history-avatar img{object-fit:cover;object-position:center top;width:100%;height:100%}.history-main{flex-direction:column;gap:.1rem;min-width:0;display:flex}.history-entry.rich .history-opponent{font-size:var(--text-md);font-weight:700}.history-meta{color:var(--color-text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-change{color:var(--color-text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:800}.history-change.up{color:var(--color-success)}.history-change.down{color:var(--color-danger)}.history-entry.rich .history-result{border-radius:var(--radius-full);color:#c9d4df;font-size:var(--text-xs);white-space:nowrap;background:#afbecd24;padding:.2rem .6rem;font-weight:800}.history-entry.rich .history-result.won{background:var(--color-success-soft);color:var(--color-success)}.history-entry.rich .history-result.lost{background:var(--color-danger-soft);color:var(--color-danger)}.history-entry.rich .history-result.unfinished{background:var(--color-brand-soft);color:var(--color-brand)}.history{container-type:inline-size}@container (width<=22rem){.history-entry.rich{column-gap:var(--space-2);padding-inline:var(--space-2);grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"avatar name name change""avatar result meta meta";row-gap:.2rem}.history-entry.rich .history-avatar{grid-area:avatar}.history-entry.rich .history-main{display:contents}.history-entry.rich .history-opponent{grid-area:name;min-width:0}.history-entry.rich .history-meta{grid-area:meta;min-width:0}.history-entry.rich .history-change{font-size:var(--text-xs);grid-area:change;justify-self:end}.history-entry.rich .history-result{grid-area:result;justify-self:start;padding:.05rem .45rem}}.history-moves{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem}.history-opening{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:.72rem;overflow:hidden}.opening-name{color:var(--text-muted);margin:0;font-size:.82rem}.opening-name span{color:var(--accent);letter-spacing:.04em;margin-right:.25rem;font-size:.72rem;font-weight:700}.leaderboard,.profile{flex-direction:column;gap:.75rem;max-width:44rem;display:flex}.linklike{color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.panel-head .linklike{font-size:var(--text-sm);font-weight:700}.linklike:hover{text-decoration:underline}.ladder{border-collapse:collapse;width:100%;font-size:.9rem}.ladder th,.ladder td{border-bottom:1px solid var(--border);text-align:left;padding:.35rem .5rem}.ladder th{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:600}.ladder .numeric{text-align:right;font-variant-numeric:tabular-nums}.ladder .rank{width:2.5rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.ladder tr.is-me{background:var(--surface-subtle)}.ladder .band{font-size:.72rem}.ladder-pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;margin-top:.8rem;display:flex}.ladder-pages span{text-align:center;min-width:7rem}.ladder abbr{color:var(--text-muted);cursor:help;margin-left:.15rem;text-decoration:none}.profile-header h2{text-transform:none;letter-spacing:normal;color:var(--text);margin-bottom:.15rem;font-size:1.35rem}.profile-xp{gap:var(--space-2);margin-block:var(--space-4);display:grid}.profile-xp p{margin:0}.profile-xp-total{gap:var(--space-1);flex-direction:column;display:flex}.profile-xp-total strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.profile-xp-rank{color:var(--color-brand);font-weight:700}.profile-link{word-break:break-all;font-variant-numeric:tabular-nums}.profile .history,.games-page .history{max-height:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.account-form{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.account-form label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.75rem}.account-form input{font:inherit;font-size:var(--text-field);color:var(--text);background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;padding:.45rem .55rem}.account-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.account-form button{margin-top:.5rem}.account{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.account-name{margin:0}.notice{background:color-mix(in srgb, var(--accent) 14%, var(--surface));border:1px solid var(--accent);border-radius:8px;margin:0;padding:.5rem .7rem}.ratings{flex-direction:column;gap:.3rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.ratings li{grid-template-columns:1fr auto auto;align-items:baseline;gap:.6rem;display:grid}.ratings abbr{color:var(--text-muted);text-decoration:none}.queue{flex-direction:column;gap:.6rem;display:flex}.pool-list{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.pool{text-align:left;background:var(--color-surface-2);border-color:#0000;flex-direction:column;justify-content:center;align-items:flex-start;gap:.1rem;width:100%;height:100%;padding:.4rem .6rem;font-size:.9rem;display:flex}.pool:hover:not(:disabled){background:var(--color-surface-3)}.pool-name{font-weight:600}.queue-searching{margin:0;font-weight:600}.queue-dots:after{content:"";animation:1.5s steps(4,end) infinite queue-dots}@keyframes queue-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media (prefers-reduced-motion:reduce){.queue-dots:after{content:"...";animation:none}}.queue-error{color:var(--danger);margin:0;font-size:.85rem}.queue-offer{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.7rem;display:flex}.queue-offer p{margin:0}.player-card{flex-direction:column;gap:.7rem;display:flex}.player-card-head{align-items:center;gap:.6rem;display:flex}.player-avatar{background:color-mix(in srgb, var(--accent) 18%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);width:2.4rem;height:2.4rem;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:1rem;font-weight:650;display:grid}.player-avatar.small{width:1.7rem;height:1.7rem;font-size:.72rem}.player-card .player-identity{flex-direction:column;min-width:0;display:flex}.player-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;overflow:hidden}.record{flex-direction:column;gap:.3rem;display:flex}.record-bar{background:var(--surface-subtle);border-radius:3px;height:6px;display:flex;overflow:hidden}.record-bar>span{flex-basis:0}.record-won{background:var(--accent)}.record-drawn{background:var(--text-muted)}.record-lost{background:var(--danger)}.record-scope{opacity:.75}.page-scrim{z-index:10;background:#00000073;place-items:center;padding:1rem;animation:.18s ease-out both scrim-in;display:grid;position:fixed;inset:0}.panel-dialog{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(24rem,100%);max-height:min(80vh,44rem);animation:.2s cubic-bezier(.2,.9,.3,1) both result-in;display:flex;box-shadow:0 18px 50px #0006}.panel-dialog:focus{outline:none}.panel-dialog-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem .6rem 1.1rem;display:flex}.panel-dialog-body{flex-direction:column;gap:.7rem;padding:1.1rem;display:flex;overflow-y:auto}@media (prefers-reduced-motion:reduce){.page-scrim,.panel-dialog{animation:none}}.move-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem;display:grid}.move-input input{font:inherit;font-size:var(--text-field);font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;min-height:44px;padding:.5rem .7rem}.move-input input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.move-input input[aria-invalid=true]{border-color:var(--danger)}.move-input button{min-height:44px;padding-inline:1rem}.move-input-problem{color:var(--danger);grid-column:1/-1;margin:0}html{background:var(--color-canvas);min-height:100%}body,#root{min-height:100dvh}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);width:100%;max-width:none;min-height:100dvh;padding:0;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);margin:0;display:grid}.app-content{width:100%;min-width:0;max-width:94rem;padding:var(--space-6) var(--space-6) var(--space-12);margin:0 auto}.navbar{z-index:4;width:var(--sidebar-width);justify-content:flex-start;align-items:stretch;gap:var(--space-6);height:100dvh;padding:var(--space-6) var(--space-3);border-right:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#060e199e;border-bottom:0;flex-direction:column;margin:0;display:flex;position:sticky;top:0}.brand,.brand-link{min-height:var(--control-height);padding-inline:var(--space-2)}.brand-mark{border-radius:var(--radius-md);background:var(--color-brand-soft);width:2rem;height:2rem;font-size:var(--text-xl);place-items:center;display:grid}.brand h1{font-size:var(--text-lg);letter-spacing:-.02em}.navbar-actions{align-items:stretch;gap:var(--space-1);flex-direction:column;flex:1;display:flex}.nav-spacer{flex:1}.nav-button{width:100%;min-height:var(--control-height);justify-content:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:650;text-decoration:none}.nav-button:hover:not(:disabled),.nav-button:active{color:var(--color-text-primary);background:#afbecd12;border-color:#0000}.nav-button[aria-current=page]{box-shadow:inset 0 0 0 1px #edc5743d}.nav-icon{width:1.5rem;height:1.5rem;font-size:var(--text-lg);flex:none;place-items:center;display:grid}.nav-loading{padding:var(--space-3)}h1,h2,h3,p{text-wrap:pretty}h3{font-size:var(--text-lg);line-height:var(--leading-tight);margin:0}.small{font-size:var(--text-sm)}.surface-card,.panel{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:var(--gradient-card);box-shadow:var(--shadow-1)}.surface-card-flat{border-color:var(--color-border-subtle);background:var(--color-surface-2);box-shadow:none}.surface-card-raised{box-shadow:var(--shadow-2)}button,.button{-webkit-tap-highlight-color:transparent;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s,transform 80ms}button:not(.move-san,.link-button,.linklike,.brand-link),.button{min-height:var(--control-height)}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:650;line-height:1;display:inline-flex}.button-sm{min-height:var(--control-height);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.button-md{padding:var(--space-3) var(--space-4)}.button-lg{min-height:3rem;padding:var(--space-3) var(--space-6);font-size:var(--text-lg)}.button-primary,button.primary{background:var(--gradient-gold);color:var(--color-brand-contrast);box-shadow:var(--shadow-gold);border-color:#0000;font-weight:750}.button-primary:hover:not(:disabled),button.primary:hover:not(:disabled){background:var(--gradient-gold-hover);border-color:#0000}.button-secondary{border-color:var(--color-border-strong);background:var(--color-surface-2)}.button-ghost{background:0 0;border-color:#0000}.button-danger{border-color:color-mix(in srgb, var(--color-danger) 55%, transparent);background:var(--color-danger-soft);color:var(--color-danger)}button:active:not(:disabled),.button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.promotion-choice:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;box-shadow:var(--focus-ring)}.switch{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-2);text-align:left;display:flex}.switch:hover:not(:disabled){border-color:var(--color-border-strong)}.switch-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.switch-label{color:var(--color-text-primary);font-weight:600}.switch-hint{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-normal)}.switch-track{border-radius:var(--radius-full);background:var(--color-border-strong);flex:none;width:2.75rem;height:1.5rem;transition:background-color .14s;position:relative}.switch-thumb{border-radius:var(--radius-full);background:#fff;width:1.125rem;height:1.125rem;transition:transform .14s;position:absolute;top:.1875rem;left:.1875rem;box-shadow:0 1px 3px #12141259}.switch[aria-checked=true] .switch-track{background:var(--color-brand)}.switch[aria-checked=true] .switch-thumb{transform:translate(1.25rem)}@media (prefers-reduced-motion:reduce){.switch-track,.switch-thumb{transition:none}}.settings-switches{gap:var(--space-2);flex-direction:column;display:flex}input,select,textarea{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-primary);font:inherit;font-size:var(--text-field)}textarea{resize:vertical;min-height:6rem}input::placeholder,textarea::placeholder{color:var(--color-text-secondary);opacity:.8}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}.account-form,.new-game,.invite-create{gap:var(--space-3)}.account-form label,.new-game legend,.invite-create legend{color:var(--color-text-secondary);font-size:var(--text-sm);letter-spacing:0;text-transform:none;font-weight:600}.state-message{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-secondary);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.state-compact{gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.state-icon{border-radius:var(--radius-full);background:var(--color-surface-3);width:1.5rem;height:1.5rem;color:var(--color-text-secondary);font-size:var(--text-sm);place-items:center;font-weight:750;display:grid}.state-copy{min-width:0}.state-copy strong{margin-bottom:var(--space-1);color:var(--color-text-primary);display:block}.state-copy p{margin:0}.state-error{border-color:color-mix(in srgb, var(--color-danger) 42%, var(--color-border-subtle));background:var(--color-danger-soft)}.state-error .state-icon{background:var(--color-danger);color:#fff}.state-loading .state-icon{color:var(--color-brand);animation:1s linear infinite state-spin}@keyframes state-spin{to{transform:rotate(360deg)}}.page-scrim{padding:var(--space-4);background:var(--color-scrim)}.panel-dialog,.result-card{border-color:var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-1);box-shadow:var(--shadow-3)}.panel-dialog-head{gap:var(--space-4);min-height:3.5rem;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4)}.panel-dialog-body{gap:var(--space-3);padding:var(--space-4)}.modal-close{width:var(--control-height);flex:none;padding:0}.home{gap:var(--space-6);width:min(74rem,100%);margin:0 auto}.layout{gap:var(--space-4)}.board-column{--board-chrome:14rem;width:100%;max-width:min(48rem, max(16rem, calc(100vh - var(--board-chrome))));max-width:min(48rem, max(16rem, calc(100dvh - var(--board-chrome))));justify-self:center;gap:var(--space-2)}.board{border-radius:var(--radius-md);box-shadow:var(--shadow-2);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (width>=1440px){.layout{grid-template-columns:minmax(12rem,15rem) minmax(30rem,1fr) minmax(18rem,20rem)}}@media (width>=1100px) and (width<=1439px){.layout{grid-template-columns:minmax(0,1fr) 20rem}.rail-left{flex-flow:wrap;grid-column:1/-1}.rail-left>.panel{flex:16rem}}@media (width<=1099px) and (width>=768px){:root{--sidebar-width:5rem}.navbar{padding-inline:var(--space-2);align-items:center}.navbar .brand-wordmark,.navbar .nav-label{display:none}.navbar .brand-logo{display:block}.navbar .brand,.navbar .brand-link{justify-content:center;padding-inline:0}.navbar-actions{width:100%}.nav-button{padding-inline:var(--space-2);justify-content:center}.nav-button[aria-current=page]{box-shadow:inset 3px 0 0 var(--color-brand)}}@media (width<=1099px){.layout{grid-template-columns:minmax(0,1fr)}.board-column{order:1}.rail-right{order:2}.rail-left{flex-direction:column;order:3}}@media (width<=767px){.app{padding-bottom:calc(4.25rem + env(safe-area-inset-bottom));display:block}.app-content{padding:var(--space-3) var(--space-3) var(--space-8)}.board-column{--board-chrome:calc(16.5rem + env(safe-area-inset-bottom))}.navbar{z-index:20;width:100%;height:calc(4.25rem + env(safe-area-inset-bottom));padding:var(--space-1) calc(var(--space-2) + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(var(--space-2) + env(safe-area-inset-left));border-top:1px solid var(--color-border-subtle);background:#060e19f0;border-right:0;display:block;position:fixed;inset:auto 0 0}.navbar>.brand{display:none}.navbar-actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;height:4rem;display:grid}.nav-spacer{display:none}.nav-button{min-width:0;min-height:3.75rem;padding:var(--space-1) 1px;border-radius:var(--radius-md);flex-direction:column;justify-content:center;gap:.1rem;font-size:.625rem}.navbar .nav-label{-webkit-line-clamp:2;text-align:center;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;line-height:1.15;display:-webkit-box;overflow:hidden}.nav-button[aria-current=page]{box-shadow:inset 0 -2px 0 var(--color-brand);background:0 0}.nav-account{gap:.1rem}.nav-account .player-avatar.small{width:1.5rem;height:1.5rem}.nav-loading{padding:var(--space-1);text-align:center;place-items:center;display:grid}.home,.layout{gap:var(--space-4)}.home-greeting{font-size:var(--text-2xl)}.home-hero,.home-lower{gap:var(--space-4)}.home-ratings{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.home-rating{min-width:0;padding:var(--space-2)}.panel{padding:var(--space-3)}.board-column{max-width:calc(100vw - (2 * var(--space-3)))}.player-bar{min-height:var(--control-height)}.button-row>button,.button-row>.button{flex:8rem}.move-san,.link-button,.linklike{min-height:var(--control-height);align-items:center;display:inline-flex}.panel-dialog{width:100%;max-height:calc(100dvh - (2 * var(--space-4)))}.ladder{font-size:var(--text-sm)}.ladder .band,.ladder th:nth-child(4),.ladder td:nth-child(4){display:none}}@media (prefers-reduced-motion:reduce){button,.button{transition:none}.state-loading .state-icon{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chesspin-icon{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;display:block}.brand-lockup{align-items:center;gap:.65rem;display:inline-flex}.brand-logo{width:2.25rem;height:2.25rem;display:none}.brand-wordmark{width:auto;height:2.25rem;display:block}.brand-lockup.compact .brand-logo{display:block}.brand-lockup.compact .brand-wordmark{display:none}.nav-icon .chesspin-icon{width:1.65rem;height:1.65rem}.nav-button[aria-current=page]{background:var(--color-brand-soft);color:var(--color-brand-hover)}.panel-title-with-icon{align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:0;text-transform:none;font-weight:400;display:flex}.panel-title-with-icon:focus-visible{text-decoration:underline;-webkit-text-decoration-color:var(--color-brand);text-decoration-color:var(--color-brand);text-underline-offset:.25rem;outline:none}.move-verdict{vertical-align:-.2rem;place-items:center;width:1.125rem;height:1.125rem;margin-left:.3rem;display:inline-grid}.game-toolbar>button,.game-toolbar>.confirm>button:first-of-type,.game-toolbar>.confirm+button,.game-toolbar .confirm>button:first-child{align-items:center;gap:var(--space-2);display:inline-flex}.play-panel{box-shadow:var(--shadow-1);gap:0;padding:0;overflow:hidden}.play-panel>h2{padding:var(--space-4) var(--space-4) var(--space-3)}.play-panel{container-type:inline-size}.play-tabs{gap:var(--space-1);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-subtle);background:#09142259;flex-wrap:wrap;display:flex}.play-tab{justify-content:center;align-items:center;gap:var(--space-1);min-width:5.5rem;padding:var(--space-3) var(--space-2);min-height:44px;color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex-direction:column;flex:1 1 0;margin-bottom:-1px;font-weight:650;line-height:1.25;display:inline-flex}.play-tab .chesspin-icon{width:1.6rem;height:1.6rem}.play-tab:hover:not(.active){color:var(--color-text-primary);background:#afbecd0d}.play-tab.active{border-bottom-color:var(--color-brand);color:var(--color-text-primary);background:0 0;font-weight:800}.play-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.play-body{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.play-submit{width:100%;min-height:var(--control-height,44px);margin-top:var(--space-1);font-size:var(--text-md);font-weight:650}.play-note{margin:var(--space-2) 0 0;line-height:1.4}.play-locked{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.online-options,.local-options,.play-body>.invite,.play-body>.new-game{gap:var(--space-4);flex-direction:column;margin:0;display:flex}.play-body fieldset{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.play-body legend{margin-bottom:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm);letter-spacing:.02em;text-transform:none;padding:0;font-weight:600}.panel-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.queue-screen{place-items:center;min-height:min(32rem,70dvh);display:grid}.queue-card{align-items:center;gap:var(--space-3);width:min(28rem,100%);padding:var(--space-8) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1);text-align:center;flex-direction:column;display:flex}.queue-heading{color:var(--color-text-primary);font-size:var(--text-xl);letter-spacing:-.02em;text-transform:none;margin:0;font-weight:700}.queue-terms{font-variant-numeric:tabular-nums;margin:0}.queue-spinner{border:3px solid var(--color-border-subtle);border-top-color:var(--color-brand);border-radius:50%;width:2.5rem;height:2.5rem;animation:.9s linear infinite queue-spin}@keyframes queue-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.queue-spinner{animation:1.6s ease-in-out infinite queue-pulse}@keyframes queue-pulse{50%{opacity:.35}}}.queue-offer-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.queue-offer{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-2);flex-direction:column;display:flex}.queue-bot-portrait{object-fit:contain;object-position:center bottom;border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);background:var(--color-surface-3);width:4rem;height:4rem}.queue-bot-name{color:var(--color-text-primary);font-size:var(--text-lg);margin:0;font-weight:700}.queue-offer>.small{max-width:24rem;color:var(--color-text-secondary);line-height:var(--leading-normal);margin:0}@media (prefers-reduced-motion:reduce){.level{transition:none}.level:hover:not(:disabled){transform:none}}.page-head{align-items:center;gap:var(--space-3);display:flex}.page-head h2{color:var(--color-text-primary);font-size:var(--text-xl);letter-spacing:-.02em;text-transform:none;margin:0;font-weight:700}.games-filter{max-width:40rem}.games-filter button{min-height:38px}@container (width<=26rem){.play-tab>span{display:none}.play-tab{min-width:0;padding:var(--space-3) var(--space-2);flex:1 1 0}}@media (width<=767px){.play-panel>h2{padding:var(--space-3) var(--space-3) var(--space-2)}.play-tabs{padding:0 var(--space-3)}.play-tab{padding:var(--space-3) var(--space-2)}.play-body{padding:var(--space-3)}.queue-card{padding:var(--space-6) var(--space-4)}.games-filter button{min-height:44px}}@media (pointer:coarse){:root{--text-field:max(16px, 1em)}}.account-page{gap:var(--space-4);width:min(58rem,100%);container-type:inline-size}.account-page-title{font-size:var(--text-xl);letter-spacing:-.015em;overflow-wrap:anywhere;margin:0}.account-hero{align-items:center;gap:var(--space-4);padding:var(--space-6);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.account-avatar{border-radius:var(--radius-full);background:var(--color-brand-soft);border:1px solid color-mix(in srgb, var(--color-brand) 35%, transparent);width:4rem;height:4rem;color:var(--color-brand);font-size:var(--text-2xl);place-items:center;font-weight:700;display:grid}.account-identity{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.account-identity p{margin:0}.account-email{color:var(--color-text-secondary);overflow-wrap:anywhere}.account-sections{gap:var(--space-4);align-items:start;display:grid}@container (width>=44rem){.account-sections{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}.account-side{gap:var(--space-4);flex-direction:column;display:flex}@container (width<=32rem){.account-hero{padding:var(--space-4);grid-template-columns:auto minmax(0,1fr)}.account-hero-action{grid-column:1/-1}}.account-section{gap:var(--space-3);flex-direction:column;display:flex}.account-section-head{gap:var(--space-1);flex-direction:column;display:flex}.account-section-head p{margin:0}.account-password-form{max-width:28rem;margin-top:0}.account-password-form label:not(:first-of-type){margin-top:var(--space-2)}.account-password-form p{margin:0}.account-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.field-error{color:var(--color-danger)}.account-signed-out{gap:var(--space-2);flex-direction:column;max-width:28rem;display:flex}.account-signed-out p{margin:0}.profile-owner-action{margin:var(--space-2) 0 0}.account-form-title{font-size:var(--text-lg);color:var(--color-text-primary);text-transform:none;letter-spacing:normal;margin:0}.account-forgot-link{margin-top:var(--space-2);font-size:var(--text-sm);align-self:flex-start}.legal-page{width:min(46rem,100%)}.legal-article{padding:var(--space-6);overflow-wrap:anywhere;line-height:1.6;display:block}.legal-article h1{margin:0 0 var(--space-1);font-size:var(--text-xl);letter-spacing:-.015em}.legal-article h2{margin:var(--space-8) 0 var(--space-2);font-size:var(--text-lg);color:var(--color-text-primary);text-transform:none;letter-spacing:normal}.legal-article p,.legal-article ul,.legal-article ol{margin:0 0 var(--space-3)}.legal-article li+li{margin-top:var(--space-1)}.legal-article a{color:var(--color-brand)}.legal-translation-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.legal-categories dt{margin-top:var(--space-3);font-weight:650}.legal-categories dd{margin:var(--space-1) 0 0}.legal-providers{gap:var(--space-2);padding:0;list-style:none;display:grid}.legal-providers li{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-2)}.legal-providers dl{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0 0;font-size:var(--text-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.legal-providers dt{color:var(--color-text-secondary)}.legal-providers dd{margin:0}.legal-guest{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.legal-guest h2{margin-top:0}.legal-guest-id{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:var(--text-sm);-webkit-user-select:all;user-select:all;display:inline-block}.account-legal,.settings-legal{margin:var(--space-2) 0 0}.crash-screen{place-items:center;min-height:70vh;display:grid}.crash-card{gap:var(--space-3);max-width:28rem;padding:var(--space-6);text-align:center;flex-direction:column;display:flex}.crash-card h1{font-size:var(--text-xl);margin:0}.crash-card p{margin:0}a.nav-button{text-decoration:none}.seo-content{max-width:960px;color:var(--color-text-primary,#f8f4e9);background:var(--color-surface-1,#132338);border:1px solid var(--color-border-subtle,#afbecd24);overflow-wrap:anywhere;border-radius:20px;margin:3rem auto;padding:2rem clamp(1rem,4vw,2.5rem);font:1rem/1.8 Plus Jakarta Sans Variable,system-ui,sans-serif}.seo-content h1{letter-spacing:0;font:400 clamp(1.8rem,4vw,2.5rem)/1.15 DM Serif Display,Georgia,serif}.seo-content h2{color:inherit;text-transform:none;letter-spacing:0;margin-top:1.8rem;font-size:1.2rem;line-height:1.4}.seo-content p{max-width:75ch}.seo-content a{color:var(--color-brand,#edc574);text-underline-offset:.2em}.seo-content nav{flex-wrap:wrap;gap:.7rem 1.5rem;margin:1.5rem 0;display:flex}.seo-content summary{cursor:pointer;padding:.7rem 0;font-weight:600}.seo-content a:focus-visible,.seo-content summary:focus-visible{outline-offset:4px;outline:3px solid}.seo-page{color:#f8f4e9;background:#091422;margin:0}.seo-page .seo-content{margin:2rem auto}.seo-brand{align-items:center;gap:.7rem;font-size:1.3rem;font-weight:750;display:flex}@media (width<=640px){.seo-content{margin:1rem .5rem 6rem}.seo-page .seo-content{margin:.5rem}}.seo-home{border:0;border-top:1px solid var(--color-border-subtle,#afbecd24);max-width:74rem;color:var(--color-text-secondary,#afbecd);background:0 0;border-radius:0;margin:3rem auto 0;padding:1.5rem 0 2rem;font-size:.9rem}.seo-home .seo-about>summary{color:var(--color-text-secondary,#afbecd)}.seo-home .seo-about[open]{color:var(--color-text-primary,#f8f4e9)}.seo-home .seo-about[open]>summary{margin-bottom:.5rem}.seo-home nav{margin:.5rem 0;font-size:.875rem}.seo-home a{color:var(--color-text-secondary,#afbecd);text-decoration:none}.seo-home a:hover{color:var(--color-text-primary,#f8f4e9);text-decoration:underline}.seo-home>a{font-size:.85rem}@media (width<=640px){.seo-home{margin:2rem 0 0;padding-inline:.25rem}}
