@font-face{font-family:Grenze Gotisch Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/grenze-gotisch-latin-ext-wght-normal-HmOq8Fgg.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:Grenze Gotisch Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/grenze-gotisch-latin-wght-normal-BhUVw2FV.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:Alegreya Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/alegreya-latin-ext-wght-normal-o8axeAGu.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:Alegreya Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/alegreya-latin-wght-normal-BG9rTJo4.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:Alegreya Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/assets/alegreya-latin-ext-wght-italic-BIuo_2sR.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:Alegreya Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/assets/alegreya-latin-wght-italic-Bxkcgmge.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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-ext-400-normal-D7N6b6bd.woff2)format("woff2"),url(/assets/alegreya-sans-latin-ext-400-normal-DpBVrRWA.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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2)format("woff2"),url(/assets/alegreya-sans-latin-400-normal-DmA8jeke.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}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-ext-500-normal-TH5u60nj.woff2)format("woff2"),url(/assets/alegreya-sans-latin-ext-500-normal-CxFoZ42m.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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2"),url(/assets/alegreya-sans-latin-500-normal-vXxrTKJT.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}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-ext-700-normal-HuHd3-Mg.woff2)format("woff2"),url(/assets/alegreya-sans-latin-ext-700-normal-CkNjzB9Y.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:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2)format("woff2"),url(/assets/alegreya-sans-latin-700-normal-BnzUNlma.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{--night:#0f1618;--night-2:#141d20;--basalt:#1d2629;--basalt-2:#273235;--basalt-3:#34413f;--line:#3d4a4d;--ash:#9aa6a8;--ash-dim:#6f7c7f;--rhyolite:#ece3d2;--rhyolite-dim:#cbbfa8;--brass:#c9a45c;--brass-bright:#e2c27e;--brass-deep:#7d5f28;--moss:#a6b986;--oxblood:#a3393a;--oxblood-deep:#5e1c1f;--frost:#bfd3db;--font-display:"Grenze Gotisch Variable", "Grenze Gotisch", Georgia, serif;--font-serif:"Alegreya Variable", "Alegreya", Georgia, serif;--font-sans:"Alegreya Sans", "Segoe UI", system-ui, sans-serif;--t-xs:.75rem;--t-sm:.875rem;--t-md:1rem;--t-lg:1.333rem;--t-xl:1.777rem;--t-2xl:2.369rem;--t-3xl:3.157rem;--t-4xl:4.209rem;--t-5xl:5.61rem;--cut:14px;--ease-out:cubic-bezier(.2, .8, .2, 1);--shadow-deep:0 24px 60px -20px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--night);color:var(--rhyolite);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;touch-action:manipulation;font-size:1rem;line-height:1.55;overflow:hidden}button{font:inherit;color:inherit}a{color:var(--brass-bright);text-underline-offset:3px}:focus-visible{outline:2px solid var(--brass-bright);outline-offset:3px}::selection{background:var(--brass-deep);color:var(--rhyolite)}h1,h2,h3{margin:0;font-weight:600}p{margin:0}.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}*{scrollbar-width:thin;scrollbar-color:var(--basalt-3) transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html .btn:focus-visible,html .promo-grid button:focus-visible,html .linkbtn:focus-visible,html .segmented button:focus-visible{outline:2px solid var(--brass-bright);outline-offset:3px}.board2d:focus{outline:none}.board2d:focus-visible{outline:2px solid var(--brass-bright);outline-offset:-2px;border-radius:8px}.board-kb3d{pointer-events:none;position:fixed;inset:0}.board-kb3d:focus{outline:none}.board-kb3d:focus-visible{box-shadow:inset 0 0 0 3px #e2c27e8c}.skip-link{z-index:100;background:var(--brass-bright);color:#14110d;border-radius:6px;padding:8px 16px;font-weight:600;text-decoration:none;position:fixed;top:8px;left:50%;transform:translate(-50%,-200%)}.skip-link:focus,.skip-link:focus-visible{outline-offset:2px;outline:2px solid #14110d;transform:translate(-50%)}.scene{inset:0;position:fixed!important}.scene-vignette{z-index:1;pointer-events:none;background:radial-gradient(85% 80%,#0000 55%,#05090a8c 100%);position:fixed;inset:0}.ui-layer{pointer-events:none;z-index:2;position:fixed;inset:0}.ui-layer *{pointer-events:auto}.ui-layer [pointer-events=none],.ui-layer .passthrough,.ui-layer .passthrough *{pointer-events:none}.ui-layer .passthrough .catch,.ui-layer .passthrough .catch *{pointer-events:auto}.veil{background:radial-gradient(120% 90% at 85%,#0f161800 0%,#0f16188c 55%,#0f1618eb 100%),linear-gradient(90deg,#0f1618eb 0%,#0f16188c 45%,#0f161800 75%);position:fixed;inset:0;pointer-events:none!important}.veil.full{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d1315db}.stone{--c:var(--cut);isolation:isolate;clip-path:polygon(var(--c) 0, calc(100% - var(--c)) 0, 100% var(--c), 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, var(--c) 100%, 0 calc(100% - var(--c)), 0 var(--c));background:linear-gradient(160deg,#c9a45c73,#c9a45c1f 40%,#c9a45c52);position:relative}.stone:before{content:"";z-index:-1;clip-path:polygon(var(--c) 0, calc(100% - var(--c)) 0, 100% var(--c), 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, var(--c) 100%, 0 calc(100% - var(--c)), 0 var(--c));background:linear-gradient(#1f292cf0,#151d20f5);position:absolute;inset:1px}.stone.glass:before{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#1f292cc7,#151d20d6)}.btn{--h:46px;--tip:calc(var(--h) * .32);isolation:isolate;min-height:var(--h);padding:0 calc(var(--tip) + 16px);cursor:pointer;font-family:var(--font-sans);font-weight:700;font-size:var(--t-md);letter-spacing:.01em;color:var(--night);background:var(--brass);clip-path:polygon(var(--tip) 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, var(--tip) 100%, 0 50%);transition:background .18s var(--ease-out), transform .18s var(--ease-out), color .18s;-webkit-user-select:none;user-select:none;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:10px;display:inline-flex;position:relative}.btn:hover{background:var(--brass-bright)}.btn:active{transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.large{--h:58px;font-size:var(--t-lg)}.btn.small{--h:36px;font-size:var(--t-sm);padding:0 calc(var(--tip) + 10px)}.btn.outline{color:var(--rhyolite);background:#c9a45c8c}.btn.outline:before{content:"";z-index:-1;background:var(--basalt);clip-path:polygon(var(--tip) 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, var(--tip) 100%, 0 50%);transition:background .18s;position:absolute;inset:1px}.btn.outline:hover{background:var(--brass-bright)}.btn.outline:hover:before{background:var(--basalt-2)}.btn.danger{background:var(--oxblood);color:var(--rhyolite)}.btn.danger:hover{background:#b8494a}.btn:focus-visible{filter:drop-shadow(0 0 0 var(--brass-bright)) drop-shadow(0 0 6px #e2c27eb3);outline:none}.hexbtn{cursor:pointer;width:44px;height:40px;color:var(--rhyolite);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);isolation:isolate;background:#c9a45c73;border:0;place-items:center;transition:background .18s,color .18s;display:inline-grid;position:relative}.hexbtn:before{content:"";z-index:-1;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#1d2629eb;position:absolute;inset:1px}.hexbtn:hover{background:var(--brass-bright);color:var(--brass-bright)}.hexbtn:disabled{opacity:.35;cursor:not-allowed}.hexbtn.active{background:var(--brass);color:var(--night)}.hexbtn.active:before{background:var(--brass)}.hexbtn svg{width:20px;height:20px}.hexbtn:focus-visible{background:var(--brass-bright);outline:none}.linkbtn{cursor:pointer;color:var(--ash);font-family:var(--font-sans);font-size:var(--t-sm);text-underline-offset:4px;background:0 0;border:0;padding:4px 0;-webkit-text-decoration:underline #9aa6a866;text-decoration:underline #9aa6a866}.linkbtn:hover{color:var(--rhyolite)}.display{font-family:var(--font-display);letter-spacing:-.005em;font-weight:700;line-height:.95}.wordmark{font-family:var(--font-display);color:var(--rhyolite);text-shadow:0 2px 30px #0009;font-size:clamp(2.8rem,min(8vw,12vh),6.4rem);font-weight:800;line-height:.9}.wordmark .runes{font-family:var(--font-sans);letter-spacing:.5em;color:var(--brass);opacity:.8;text-shadow:none;margin-top:10px;font-size:1rem;display:block}.screen-title{font-family:var(--font-display);font-weight:700;font-size:var(--t-3xl);color:var(--rhyolite);line-height:1}.lead{font-size:var(--t-lg);color:var(--rhyolite-dim);max-width:34em;line-height:1.5}.muted{color:var(--ash)}.small{font-size:var(--t-sm)}.sans{font-family:var(--font-sans)}.tnum{font-variant-numeric:tabular-nums}.page{padding:clamp(20px,4vw,56px) clamp(16px,5vw,72px);position:fixed;inset:0;overflow:hidden auto}.page-inner{max-width:1120px;margin:0 auto}.page-head{align-items:center;gap:18px;margin-bottom:28px;display:flex}.page-head .hexbtn{flex:none}.page-head .screen-title{overflow-wrap:break-word;min-width:0}@media (max-width:520px){.page-head{gap:14px;margin-bottom:22px}.page-head .screen-title{font-size:clamp(var(--t-2xl), 11vw, var(--t-3xl))}}.topbar{z-index:5;align-items:center;gap:12px;padding:16px clamp(16px,3vw,32px);display:flex;position:fixed;top:0;right:0}.splash{flex-direction:column;padding:clamp(16px,4.5vh,96px) clamp(24px,6vw,96px);display:flex;position:fixed;inset:0;overflow-y:auto}.splash-col{flex-direction:column;gap:clamp(12px,2.6vh,26px);max-width:560px;margin-block:auto;display:flex}.splash .tagline{font-family:var(--font-serif);font-style:italic;font-size:clamp(var(--t-lg), 3.6vh, var(--t-xl));color:var(--rhyolite-dim);max-width:22em;line-height:1.3}.lang-choice{flex-wrap:wrap;gap:14px;display:flex}.lang-choice .label{width:100%;font-family:var(--font-sans);color:var(--ash);font-size:var(--t-sm)}.flagbtn{cursor:pointer;min-width:190px;color:var(--rhyolite);font-family:var(--font-sans);font-weight:700;font-size:var(--t-lg);transition:transform .2s var(--ease-out);border:0;align-items:center;gap:14px;padding:12px 22px 12px 14px;display:inline-flex}.flagbtn:hover{transform:translateY(-2px)}.flagbtn.selected{background:linear-gradient(160deg, var(--brass-bright), var(--brass), var(--brass-bright))}.flagbtn .flag{flex:none;width:48px;height:34px;box-shadow:0 0 0 1px #ffffff26,0 4px 12px #0006}.flagbtn.compact{min-width:0;font-size:var(--t-sm);gap:10px;padding:8px 14px 8px 10px}.flagbtn.compact .flag{width:28px;height:20px}.welcome{flex-direction:column;gap:clamp(10px,2vh,18px);display:flex}.welcome h2{font-family:var(--font-display);font-size:clamp(var(--t-xl), 4.6vh, var(--t-2xl));line-height:1}.welcome p{font-size:clamp(var(--t-md), 2.7vh, var(--t-lg));color:var(--rhyolite-dim);line-height:1.5}@media (max-height:820px){.splash .origin{display:none}}.origin{border-top:1px solid #c9a45c40;grid-template-columns:64px 1fr;align-items:start;gap:18px;padding-top:18px;display:grid}.origin p{font-size:var(--t-md);color:var(--ash)}.actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.menu{flex-direction:column;padding:clamp(16px,4vh,72px) clamp(20px,5vw,80px);display:flex;position:fixed;inset:0;overflow-y:auto}.menu-col{flex-direction:column;gap:clamp(14px,3.2vh,30px);max-width:470px;margin-block:auto;display:flex}.menu-title{font-family:var(--font-display);font-size:clamp(2.4rem,min(6vw,9vh),4.4rem);font-weight:800;line-height:.9}.menu-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.menu-item{text-align:left;cursor:pointer;width:100%;color:var(--rhyolite);transition:color .15s, transform .2s var(--ease-out);background:0 0;border:0;grid-template-columns:30px 1fr;align-items:center;column-gap:14px;padding:clamp(5px,1.1vh,10px) 12px clamp(5px,1.1vh,10px) 4px;display:grid}.menu-item .hex{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:22px;height:20px;transition:background .2s, transform .25s var(--ease-out);background:#c9a45c99;grid-row:span 2;justify-self:center;position:relative}.menu-item .hex:after{content:"";background:var(--night);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);transition:inset .25s var(--ease-out), background .2s;position:absolute;inset:2px}.menu-item .name{font-family:var(--font-display);font-weight:700;font-size:var(--t-xl);line-height:1.1}.menu-item .sub{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--ash)}.menu-item:hover,.menu-item:focus-visible{color:var(--brass-bright);outline:none;transform:translate(4px)}.menu-item:hover .hex,.menu-item:focus-visible .hex{background:var(--brass-bright);transform:rotate(30deg)}.menu-item:hover .hex:after,.menu-item:focus-visible .hex:after{background:var(--brass-bright);inset:6px}.menu-item.primary .name{font-size:var(--t-2xl)}.menu-more{border-top:1px solid #c9a45c38;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:0;padding:clamp(10px,2vh,18px) 0 0;list-style:none;display:grid}.menu-item.minor{grid-template-columns:22px 1fr;column-gap:10px;padding-block:clamp(4px,.8vh,8px)}.menu-item.minor .hex{grid-row:auto;width:15px;height:13px}.menu-item.minor .hex:after{inset:1.5px}.menu-item.minor:hover .hex:after,.menu-item.minor:focus-visible .hex:after{inset:4px}.menu-item.minor .name{font-size:var(--t-lg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:480px){.menu-item.minor .name{white-space:normal;font-size:1.15rem}}.menu-foot{flex-wrap:wrap;gap:22px;display:flex}.chip{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--rhyolite);cursor:pointer;border:0;align-items:center;gap:10px;padding:8px 16px;display:inline-flex}.chip .rating{color:var(--brass-bright);font-weight:700}.field{flex-direction:column;gap:8px;display:flex}.field>.label,.field>div>.label{font-family:var(--font-sans);font-weight:500;font-size:var(--t-sm);color:var(--ash)}.input{border:1px solid var(--line);height:46px;color:var(--rhyolite);font-family:var(--font-sans);font-size:var(--t-md);background:#0d1315b3;border-radius:2px;padding:0 14px;transition:border-color .15s}.input:focus{border-color:var(--brass);outline:none}.segmented{flex-wrap:wrap;gap:6px;display:flex}.seg{isolation:isolate;cursor:pointer;min-height:40px;color:var(--rhyolite-dim);font-family:var(--font-sans);font-weight:500;font-size:var(--t-sm);background:var(--line);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);border:0;padding:0 18px;position:relative}.seg:before{content:"";z-index:-1;background:var(--basalt);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);position:absolute;inset:1px}.seg:hover{color:var(--rhyolite);background:var(--brass-deep)}.seg[aria-pressed=true]{color:var(--night);background:var(--brass);font-weight:700}.seg[aria-pressed=true]:before{background:var(--brass)}.switch{cursor:pointer;font-family:var(--font-sans);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.switch input{appearance:none;background:var(--line);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);cursor:pointer;flex:none;width:46px;height:26px;transition:background .2s;position:relative}.switch input:after{content:"";background:var(--ash);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:18px;height:18px;transition:left .2s var(--ease-out), background .2s;position:absolute;top:4px;left:6px}.switch input:checked{background:var(--brass-deep)}.switch input:checked:after{background:var(--brass-bright);left:22px}.switch input:focus-visible{outline:2px solid var(--brass-bright)}input[type=range]{accent-color:var(--brass);width:100%}.error-text{color:#e7837f;font-family:var(--font-sans);font-size:var(--t-sm)}.setup{grid-template-columns:minmax(0,1fr);gap:28px;max-width:760px;display:grid}.levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.level{--c:12px;cursor:pointer;text-align:left;color:var(--rhyolite);min-height:150px;transition:transform .2s var(--ease-out);border:0;flex-direction:column;gap:6px;padding:18px 14px 16px;display:flex}.level:hover{transform:translateY(-3px)}.level .lvl-name{font-family:var(--font-sans);font-weight:700;font-size:var(--t-sm);color:var(--ash)}.level .persona{font-family:var(--font-display);font-weight:700;font-size:var(--t-lg);line-height:1.05}.level .desc{font-size:var(--t-sm);color:var(--ash);flex:1;line-height:1.35}.level .lvl-rating{font-family:var(--font-sans);font-size:var(--t-xs);color:var(--brass)}.level .pips{gap:3px;display:flex}.level .pip{background:var(--line);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:9px;height:8px}.level .pip.on{background:var(--brass)}.level[aria-pressed=true]{background:linear-gradient(160deg, var(--brass-bright), var(--brass) 50%, var(--brass-bright))}.level[aria-pressed=true]:before{background:linear-gradient(#3a3326,#262118)}.level[aria-pressed=true] .lvl-name{color:var(--brass-bright)}@media (max-width:820px){.levels{grid-template-columns:repeat(2,minmax(0,1fr))}.level{min-height:0}}.hud{position:fixed;inset:0;pointer-events:none!important}.hud>*{pointer-events:auto}.hud-top-left{align-items:center;gap:12px;display:flex;position:absolute;top:16px;left:16px}.hud-mode{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--ash);text-shadow:0 1px 2px #000000e6,0 0 10px #000000bf;max-width:40vw}.hud-mode strong{color:var(--rhyolite);font-weight:700}.status-pill{font-family:var(--font-sans);font-weight:700;font-size:var(--t-md);color:var(--rhyolite);white-space:nowrap;padding:9px 26px;position:absolute;top:18px;left:50%;transform:translate(-50%);pointer-events:none!important}.status-pill.check{color:#ffb3ae}.status-pill.yours{color:var(--brass-bright)}.dots:after{content:"";text-align:left;width:1.2em;animation:1.2s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.side-panel{flex-direction:column;gap:10px;width:330px;display:flex;position:absolute;top:16px;bottom:16px;right:16px}.player{--c:12px;grid-template-rows:auto auto;grid-template-columns:34px 1fr auto;align-items:center;gap:2px 12px;padding:12px 14px;display:grid}.player .swatch{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);grid-row:span 2;width:32px;height:28px}.player .swatch.white{background:linear-gradient(160deg,#fbf5e8,#d9cbb0)}.player .swatch.black{background:linear-gradient(160deg,#8a2a2d,#3d0d0f)}.player .pname{font-family:var(--font-sans);font-weight:700;font-size:var(--t-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player.no-meta .pname{grid-area:1/2/3/3}.player.no-meta .pmeta{grid-area:2/2/3/3}.player.no-meta:after{content:"​";visibility:hidden;font-family:var(--font-sans);font-weight:700;font-size:var(--t-md);grid-area:1/2/2/3}.player .pmeta{font-family:var(--font-sans);font-size:var(--t-xs);color:var(--ash);align-items:center;gap:8px;min-height:18px;display:flex}.player .clock{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ash);text-align:right;background:#0d131599;border-radius:2px;grid-row:span 2;min-width:92px;padding:2px 10px;font-size:1.6rem;font-weight:700}.player.to-move .clock{color:var(--night);background:var(--rhyolite)}.player.low .clock{color:var(--rhyolite);background:var(--oxblood)}.player.to-move .swatch{box-shadow:none;outline:2px solid var(--brass-bright)}.player.to-move{background:linear-gradient(160deg, var(--brass-bright), var(--brass-deep) 60%, var(--brass))}.captured{flex-wrap:wrap;align-items:center;gap:0;display:flex}.captured svg{width:16px;height:16px;margin-right:-3px}.captured .adv{color:var(--rhyolite-dim);margin-left:8px}.moves-panel{flex-direction:column;flex:1;min-height:0;padding:12px 6px 8px 14px;display:flex}.moves-head{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--ash);justify-content:space-between;align-items:center;margin-bottom:6px;padding-right:8px;display:flex}.opening-name{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;font-family:var(--font-serif);color:var(--brass);flex:1;margin:0 10px;font-style:italic;overflow:hidden}.moves-list{font-family:var(--font-sans);font-size:var(--t-md);flex:1;grid-template-columns:34px 1fr 1fr;align-content:start;row-gap:1px;padding-right:8px;display:grid;overflow-y:auto}.moves-list .num{color:var(--ash-dim);font-variant-numeric:tabular-nums;padding:3px 0}.moves-list .mv{text-align:left;color:var(--rhyolite);cursor:pointer;font-family:var(--font-sans);font-size:var(--t-md);background:0 0;border:0;border-radius:2px;padding:3px 8px}.moves-list .mv:hover{background:#c9a45c1f}.moves-list .mv.current{color:var(--brass-bright);background:#c9a45c47}.moves-empty{color:var(--ash);font-size:var(--t-sm);padding:8px 0}.move-input{margin-top:8px;margin-right:8px}.move-input .input{width:100%;height:36px;font-size:var(--t-sm)}.review-bar{justify-content:space-between;align-items:center;gap:6px;padding-top:8px;padding-right:8px;display:flex}.action-row{justify-content:space-between;gap:6px;padding:10px 12px;display:flex}.hover-cell{font-family:var(--font-display);font-size:var(--t-2xl);color:var(--brass-bright);text-shadow:0 2px 12px #000c;position:absolute;bottom:16px;left:18px;pointer-events:none!important}.offer{font-family:var(--font-sans);align-items:center;gap:14px;padding:12px 18px;display:flex;position:absolute;top:70px;left:50%;transform:translate(-50%)}@media (max-width:980px){.side-panel{gap:6px;width:auto;position:absolute;inset:auto 8px 8px}.side-panel .moves-panel{display:none}.side-panel.show-moves .moves-panel{max-height:38vh;display:flex}.side-panel .player.opponent{position:fixed;top:8px;left:64px;right:8px}.player{grid-template-columns:24px 1fr auto;column-gap:10px;padding:7px 10px}.player .swatch{width:22px;height:19px}.player .pname,.player.no-meta:after{font-size:var(--t-sm)}.player .pmeta{min-height:0}.player .clock{min-width:64px;font-size:1.1rem}.action-row{padding:6px 8px}.status-pill{font-size:var(--t-sm);padding:6px 18px;top:70px}.hud-mode,.hover-cell{display:none}.offer{top:112px}}.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;background:#080c0d8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{--c:18px;text-align:center;width:min(460px,100%);box-shadow:var(--shadow-deep);flex-direction:column;gap:18px;padding:30px 30px 26px;display:flex}.dialog h2{font-family:var(--font-display);font-size:var(--t-3xl);line-height:1}.dialog .reason{font-family:var(--font-sans);color:var(--ash);font-size:var(--t-md)}.dialog .actions{justify-content:center}.dialog .dialog-close{width:36px;height:36px;color:var(--ash);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .18s;display:grid;position:absolute;top:8px;right:22px}.dialog .dialog-close:hover,.dialog .dialog-close:focus-visible{color:var(--brass-bright)}.rating-change{font-family:var(--font-sans);justify-content:center;align-items:baseline;gap:12px;display:flex}.rating-change .after{font-size:var(--t-2xl);color:var(--rhyolite);font-weight:700}.rating-change .delta.up{color:var(--moss);font-weight:700}.rating-change .delta.down{color:#e7837f;font-weight:700}.promo-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.promo-grid button{aspect-ratio:1;cursor:pointer;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#c9a45c1f;border:0;place-items:center;padding:6px;transition:background .15s;display:grid}.promo-grid button:hover,.promo-grid button:focus-visible{background:#c9a45c73;outline:none}.promo-grid svg{width:100%;height:100%}.toasts{z-index:30;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast{--c:10px;font-family:var(--font-sans);font-size:var(--t-sm);color:var(--rhyolite);animation:toast-in .3s var(--ease-out);text-align:center;max-width:min(90vw,520px);padding:10px 20px}.toast.with-action{text-align:left;align-items:center;gap:14px;padding:8px 10px 8px 20px;display:flex}.toast.error{color:#ffc9c6}.toast.success{color:var(--moss)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@media (max-width:980px){.toasts{top:140px;bottom:auto}}.rules-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(20px,4vw,48px);display:grid}.piece-tabs{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.piece-tab{border:1px solid var(--line);color:var(--rhyolite-dim);cursor:pointer;font-family:var(--font-sans);font-size:var(--t-sm);background:#0d131580;border-radius:2px;align-items:center;gap:6px;padding:6px 12px 6px 6px;display:inline-flex}.piece-tab svg{width:26px;height:26px}.piece-tab[aria-pressed=true]{border-color:var(--brass);color:var(--rhyolite);background:#c9a45c29}.rule-text h3{font-family:var(--font-display);font-size:var(--t-2xl);margin-bottom:10px}.rule-text p{font-size:var(--t-lg);color:var(--rhyolite-dim);max-width:32em}.rule-text .hint{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--ash);margin-top:14px}.rules-section{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px 40px;margin-top:44px;display:grid}.rules-section h3{font-family:var(--font-display);font-size:var(--t-xl);margin-bottom:8px}.rules-section p{color:var(--rhyolite-dim)}.hexboard{filter:drop-shadow(0 18px 40px #0000008c);width:100%;height:auto;max-height:78vh;display:block}.hexboard .cell{cursor:pointer;transition:filter .15s}.hexboard .cell:hover{filter:brightness(1.25)}@media (max-width:860px){.rules-grid{grid-template-columns:1fr}}.board-table{border-collapse:collapse;width:100%;font-family:var(--font-sans)}.board-table th{text-align:left;font-weight:500;font-size:var(--t-sm);color:var(--ash);border-bottom:1px solid var(--line);padding:10px 12px}.board-table td{font-size:var(--t-md);border-bottom:1px solid #3d4a4d80;padding:11px 12px}.board-table td.rank{width:54px;font-family:var(--font-display);font-size:var(--t-lg);color:var(--brass)}.board-table tr.me td{background:#c9a45c1f}.board-table tr:first-child td.rank{color:var(--brass-bright)}.board-table .num{text-align:right;font-variant-numeric:tabular-nums}.lb-layout{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start;gap:28px;display:grid}.lb-card{--c:14px;padding:22px}.lb-card h3{font-family:var(--font-display);font-size:var(--t-xl);margin-bottom:12px}.bot-row{font-family:var(--font-sans);border-bottom:1px solid #3d4a4d80;justify-content:space-between;padding:7px 0;display:flex}@media (max-width:860px){.lb-layout{grid-template-columns:1fr}.board-table .hide-sm{display:none}}.story{max-width:760px}.story .lead{margin:18px 0 40px}.about-head{align-items:center;gap:22px;display:flex}.about-head svg{flex:none}.story .about-head .lead{margin:0}.about-link{margin-top:8px}.about-link a{margin:-10px 0;padding:10px 0;display:inline-block}@media (max-width:520px){.about-head{align-items:flex-start;gap:14px}.about-head svg{width:44px;height:44px;margin-top:4px}}.timeline{flex-direction:column;gap:38px;margin:0;padding:0;list-style:none;display:flex}.timeline li{grid-template-columns:120px 1fr;gap:24px;display:grid}.timeline .year{font-family:var(--font-display);font-weight:800;font-size:var(--t-3xl);color:var(--brass);line-height:.9}.timeline h3{font-family:var(--font-display);font-size:var(--t-xl);margin-bottom:8px}.timeline p{font-size:var(--t-lg);color:var(--rhyolite-dim);line-height:1.6}blockquote.quote{border-left:2px solid var(--brass);font-size:var(--t-xl);color:var(--rhyolite);margin:52px 0 24px;padding:0 0 0 28px;font-style:italic;line-height:1.45}blockquote.quote .intro{font-style:normal;font-size:var(--t-md);color:var(--ash);margin-bottom:8px;display:block}@media (max-width:640px){.timeline li{grid-template-columns:1fr;gap:6px}}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;max-width:900px;display:grid}.settings-card{--c:14px;flex-direction:column;gap:16px;padding:22px 24px;display:flex}.settings-card h3{font-family:var(--font-display);font-size:var(--t-xl)}.online-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;max-width:980px;display:grid}.online-card{--c:16px;flex-direction:column;gap:18px;padding:26px;display:flex}.online-card h3{font-family:var(--font-display);font-size:var(--t-2xl);line-height:1}.link-box{gap:8px;display:flex}.link-box .input{flex:1;min-width:0}.spinner-hex{background:var(--brass);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:22px;height:20px;animation:spin-hex 1.4s var(--ease-out) infinite}@keyframes spin-hex{to{transform:rotate(360deg)}}.searching{font-family:var(--font-sans);align-items:center;gap:14px;display:flex}.account-card{--c:16px;flex-direction:column;gap:16px;max-width:440px;padding:28px;display:flex}.account-screen{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.account-manage{flex-direction:column;flex:340px;gap:24px;max-width:440px;display:flex}.account-screen .account-card{padding:24px}.account-screen .btn.small{--h:40px}.account-screen .linkbtn{margin:-7px 0;padding:11px 0}@media (min-width:981px){.account-card.account-register{flex:520px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px 20px;max-width:640px;display:grid}.account-register>:not(.field){grid-column:1/-1}.account-register>ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.account-register .field>div>.linkbtn{margin:-11px 0}}@media (max-width:520px){.account-screen,.account-manage{gap:18px}.account-screen .account-card{padding:20px 18px}}.stat-row{font-family:var(--font-sans);gap:26px;display:flex}.stat-row .stat b{font-size:var(--t-2xl);color:var(--rhyolite);font-weight:700;display:block}.stat-row .stat span{color:var(--ash);font-size:var(--t-sm)}.enter{animation:enter .6s var(--ease-out) both}.enter-late{animation:enter .8s .25s var(--ease-out) both}@keyframes enter{0%{opacity:0;transform:translateY(14px)}}.mobile-only{display:none!important}@media (max-width:980px){.mobile-only{display:inline-grid!important}}.board2d-wrap{place-items:center;display:grid;position:fixed;inset:70px 362px 16px 16px}.board2d{filter:drop-shadow(0 20px 40px #0009);width:100%;height:100%}.board2d .cell2d,.board2d .piece2d{cursor:pointer}.board2d .cell2d:hover polygon:first-child{filter:brightness(1.18)}.scene-fallback{background:radial-gradient(80% 50% at 50% 0,#50c8a01f,#0000 70%),linear-gradient(#0c1416,#1a2427 60%,#121819);position:fixed;inset:0}@media (max-width:980px){.board2d-wrap{inset:104px 4px 160px}}.namebtn{vertical-align:bottom;max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;text-underline-offset:4px;background:0 0;border:0;margin:0;padding:0;-webkit-text-decoration:underline #c9a45c59;text-decoration:underline #c9a45c59;transition:color .15s,text-decoration-color .15s;display:inline-block;overflow:hidden}.namebtn:hover{color:var(--brass-bright);-webkit-text-decoration-color:var(--brass-bright);text-decoration-color:var(--brass-bright)}.namebtn:focus-visible{outline:2px solid var(--brass-bright);outline-offset:2px}.board-table tr.lb-row{cursor:pointer}.board-table tr.lb-row:hover td{background:#c9a45c12}.board-table tr.lb-row.me:hover td{background:#c9a45c2e}.profile-name{overflow-wrap:anywhere;min-width:0}.profile-account-link{margin-left:auto;margin-block:-7px;padding:11px 0}.you-tag{font-family:var(--font-sans);font-weight:700;font-size:var(--t-sm);color:var(--night);background:var(--brass);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);flex:none;padding:3px 16px}.profile-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start;gap:24px;display:grid}.profile-side{flex-direction:column;gap:18px;min-width:0;display:flex}.profile-card{--c:16px;flex-direction:column;gap:14px;padding:22px 24px;display:flex}.profile-card h2,.profile-games h2{font-family:var(--font-display);font-weight:700;font-size:var(--t-xl);line-height:1}.profile-rating{font-family:var(--font-sans);color:var(--ash);align-items:baseline;gap:12px;display:flex}.profile-rating b{font-family:var(--font-display);font-weight:800;font-size:var(--t-4xl);color:var(--brass-bright);line-height:.85}.wdl-bar{gap:2px;height:6px;display:flex}.wdl-bar span{flex:1 1 0;min-width:4px}.wdl-bar .w{background:var(--moss)}.wdl-bar .d{background:var(--ash-dim)}.wdl-bar .l{background:var(--oxblood)}.chart-empty{font-family:var(--font-sans);font-size:var(--t-md);color:var(--ash)}.rating-chart{width:100%;min-width:0;position:relative}.rating-chart svg{touch-action:pan-y;max-width:100%;display:block}.rating-chart .grid line{stroke:#c9a45c29;stroke-width:1px;shape-rendering:crispedges}.rating-chart text{font-family:var(--font-sans);fill:var(--ash);font-variant-numeric:tabular-nums;font-size:12px}.rating-chart .line{fill:none;stroke:var(--brass);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.rating-chart .dot{fill:var(--brass-bright);stroke:var(--basalt);stroke-width:2px}.rating-chart .crosshair{stroke:#e2c27e8c;stroke-width:1px}.rating-chart .hit{fill:#0000;cursor:crosshair}.rating-chart+.chart-empty,.rating-chart .chart-empty{font-size:var(--t-sm);margin-top:6px}.chart-readout{--c:6px;font-family:var(--font-sans);font-size:var(--t-sm);color:var(--ash);white-space:nowrap;align-items:baseline;gap:8px;padding:4px 12px;display:flex;position:absolute;top:-4px;transform:translate(-50%,-100%);pointer-events:none!important}.chart-readout b{color:var(--rhyolite);font-size:var(--t-md)}.profile-games{--c:16px;flex-direction:column;gap:10px;min-width:0;padding:22px 0 8px;display:flex}.profile-games h2,.profile-games>.chart-empty{padding:0 22px}.profile-games>.chart-empty{padding-bottom:14px}.game-log{margin:0;padding:0;list-style:none}.game-log li+li .game-row{border-top:1px solid #3d4a4d80}.game-row{width:100%;color:var(--rhyolite);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:"sw opp res""sw meta when";align-items:center;gap:3px 14px;padding:11px 22px;transition:background .15s;display:grid}.game-row:hover{background:#c9a45c14}.game-row:focus-visible{outline:2px solid var(--brass-bright);outline-offset:-2px;background:#c9a45c1a}.game-row .swatch{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);grid-area:sw;width:22px;height:19px}.game-row .swatch.white{background:linear-gradient(160deg,#fbf5e8,#d9cbb0)}.game-row .swatch.black{background:linear-gradient(160deg,#8a2a2d,#3d0d0f)}.game-row .opp{min-width:0;font-weight:700;font-size:var(--t-md);grid-area:opp;align-items:baseline;gap:8px;display:flex}.game-row .opp .n{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-row .opp .r{font-weight:400;font-size:var(--t-sm);color:var(--ash);flex:none}.game-row .meta{min-width:0;font-size:var(--t-sm);color:var(--ash);text-overflow:ellipsis;white-space:nowrap;grid-area:meta;overflow:hidden}.game-row .res{font-weight:700;font-size:var(--t-sm);color:var(--rhyolite-dim);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%,0 50%);white-space:nowrap;background:#9aa6a824;grid-area:res;justify-self:end;padding:1px 14px}.game-row .res.won{color:var(--moss);background:#a6b9862e}.game-row .res.lost{color:#f0a29e;background:#a3393a42}.game-row .res.aborted{color:var(--ash)}.game-row .res.live{color:var(--brass-bright);background:#c9a45c33}.game-row .when{font-size:var(--t-xs);color:var(--ash);white-space:nowrap;grid-area:when;justify-self:end}@media (max-width:860px){.profile-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.page-head .profile-name{font-size:var(--t-2xl)}.profile-head{flex-wrap:wrap;row-gap:2px}.profile-head .profile-account-link{text-align:left;flex-basis:100%;margin-left:58px}.profile-rating b{font-size:var(--t-3xl)}.profile-card{padding:18px}.profile-games h2,.profile-games>.chart-empty{padding:0 16px}.game-row{grid-template-areas:"sw opp res""sw meta meta""sw when when";column-gap:10px;padding:10px 14px}.game-row .meta{white-space:normal}.game-row .when{justify-self:start}}.hud.replay .player .score{text-align:center;min-width:48px;font-family:var(--font-display);font-weight:700;font-size:var(--t-2xl);color:var(--ash);grid-row:span 2;line-height:1}.hud.replay .player.winner .score{color:var(--brass-bright)}.hud.replay .player .pname .namebtn{font-weight:700}.status-pill.replay-result{color:var(--brass-bright)}.status-pill.replay-loading{align-items:center;gap:12px;display:flex}.replay-controls{--c:12px;flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.replay-buttons{justify-content:space-between;align-items:center;gap:4px;display:flex}.replay-buttons .hexbtn{flex:0 44px;width:auto;min-width:30px}.replay-buttons .hexbtn:focus-visible:before{inset:2px}.replay-buttons .sep{background:var(--line);flex:none;width:1px;height:24px;margin:0 2px}.replay-buttons .hexbtn.play{color:var(--night);background:var(--brass)}.replay-buttons .hexbtn.play:before{background:var(--brass)}.replay-buttons .hexbtn.play:hover{color:var(--night);background:var(--brass-bright)}.replay-buttons .hexbtn.play:hover:before{background:var(--brass-bright)}.replay-buttons .hexbtn.play:focus-visible{background:var(--rhyolite)}.replay-buttons .hexbtn.play:focus-visible:before{inset:3px}.replay-scrub{--p:0%;appearance:none;cursor:pointer;background:0 0;width:100%;height:22px;margin:0;display:block}.replay-scrub::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--brass) var(--p), var(--line) var(--p));border-radius:2px;height:4px}.replay-scrub::-webkit-slider-thumb{appearance:none;background:var(--brass-bright);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:0;width:18px;height:16px;margin-top:-6px}.replay-scrub::-moz-range-track{background:var(--line);border-radius:2px;height:4px}.replay-scrub::-moz-range-progress{background:var(--brass);border-radius:2px;height:4px}.replay-scrub::-moz-range-thumb{background:var(--brass-bright);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:0;border-radius:0;width:18px;height:16px}.replay-scrub:focus-visible{outline:2px solid var(--brass-bright);outline-offset:3px}.replay-scrub:disabled{opacity:.4;cursor:default}.replay-message{--c:18px;text-align:center;width:min(440px,100% - 32px);font-family:var(--font-sans);font-size:var(--t-lg);color:var(--rhyolite);box-shadow:var(--shadow-deep);flex-direction:column;gap:18px;padding:26px 28px;line-height:1.4;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.replay-message .actions{justify-content:center}.board2d-wrap.replay-board2d .cell2d,.board2d-wrap.replay-board2d .piece2d{cursor:default}.board2d-wrap.replay-board2d .cell2d:hover polygon:first-child{filter:none}@media (max-width:980px){.replay-controls{gap:2px;padding:6px 8px}.hud.replay .player .score{min-width:34px;font-size:var(--t-xl)}}.spot2d{animation:1s ease-in-out infinite alternate spot-pulse}@keyframes spot-pulse{0%{opacity:.45}to{opacity:1}}@media (min-width:1600px) and (min-height:900px){.side-panel,.tut-panel,.hud-top-left,.hud .status-pill,.react-bubble{--t-xs:.8125rem;--t-sm:.9375rem;--t-md:1.0625rem}.side-panel{width:360px}.board2d-wrap{right:392px}}.ladder-label{align-items:baseline;gap:10px;display:flex}.ladder-progress{font-size:var(--t-xs);letter-spacing:.04em;color:var(--brass);font-weight:700}.levels .beaten-seal{z-index:1;filter:drop-shadow(0 1px 1.5px #000000b3);grid-area:emb;place-self:end;margin:0 -6px -3px 0;line-height:0}.beaten-seal svg polygon{fill:var(--brass-bright);stroke:var(--brass-deep);stroke-width:1px}.beaten-seal svg path{fill:none;stroke:#2a2318;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}@media (max-width:820px){.levels .beaten-seal{align-self:start;margin:29px -6px 0 0}}.ladder-note{text-align:left;animation:ladder-in .6s var(--ease-out,ease-out) .25s both;background:linear-gradient(90deg,#0000,#c9a45c1a,#0000);border-top:1px solid #c9a45c59;border-bottom:1px solid #c9a45c59;flex-direction:column;gap:10px;margin:-4px 0 0;padding:12px 14px;display:flex}.ladder-note .ln-first{align-items:center;gap:12px;display:flex}.ladder-note .ln-emblem{filter:drop-shadow(0 2px 3px #0000008c);flex:none}.ladder-note p{margin:0}.ladder-note .ln-line{font-family:var(--font-display);font-weight:700;font-size:var(--t-lg);color:var(--brass-bright);line-height:1.15}.ladder-note .ln-remark{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--ash);margin-top:3px;font-style:italic;line-height:1.35}.ladder-note .ln-saga{font-family:var(--font-display);font-size:var(--t-md);text-align:center;color:var(--rhyolite);line-height:1.3}@keyframes ladder-in{0%{opacity:0;transform:translateY(4px)}}.ladder-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:14px;padding-top:12px;display:flex}.ladder-row .lr-label{font-family:var(--font-sans);font-size:var(--t-xs);color:var(--ash)}.ladder-row .lr-label .tnum{color:var(--brass);margin-left:4px;font-weight:700}.ladder-row .lr-emblems{gap:4px;margin:0;padding:0;list-style:none;display:flex}.ladder-row li{opacity:.28;filter:grayscale();line-height:0}.ladder-row li.on{opacity:1;filter:drop-shadow(0 1px 2px #00000080)}.setup:has(.levels){max-width:900px}@media (min-width:1600px) and (min-height:900px){.setup:has(.levels){max-width:none}}.levels .level{grid-template:"emb pips""emb lvl""persona persona""bio bio"1fr"rating rating"/40px minmax(0,1fr);align-items:center;gap:5px 10px;min-height:0;padding:14px 14px 12px;display:grid}.levels .lvl-emblem{filter:drop-shadow(0 2px 3px #0000008c)saturate(.7);opacity:.85;grid-area:emb;transition:opacity .2s,filter .2s}.levels .level:hover .lvl-emblem,.levels .level[aria-pressed=true] .lvl-emblem{filter:drop-shadow(0 2px 3px #0000008c);opacity:1}.levels .pips{grid-area:pips;align-self:end}.levels .lvl-name{grid-area:lvl;align-self:start;line-height:1.1}.levels .persona{grid-area:persona;margin-top:4px}.levels .bio{font-size:var(--t-sm);color:var(--ash);grid-area:bio;align-self:start;line-height:1.35}.levels .lvl-rating{grid-area:rating}.persona-style{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--rhyolite);margin:6px 0 0;line-height:1.4}.persona-style .ps-label{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-right:4px;font-weight:700}.persona-style .ps-desc{color:var(--ash)}.setup-pair{flex-wrap:wrap;gap:28px 40px;display:flex}@media (max-width:820px){.setup .levels{grid-template-columns:minmax(0,1fr);gap:8px}.levels .level{grid-template:"emb persona lvl""emb persona rating""emb bio bio"/40px minmax(0,1fr) auto;align-items:center;gap:1px 12px;padding:9px 12px 10px}.levels .level:hover{transform:none}.levels .lvl-emblem{align-self:start;margin-top:2px}.levels .pips{display:none}.levels .persona{margin-top:0}.levels .lvl-name,.levels .lvl-rating{font-size:var(--t-xs);justify-self:end;line-height:1.15}.levels .bio{margin-top:2px;font-size:.8125rem;line-height:1.3}}.react-bubble.remark{white-space:normal;width:max-content;max-width:min(260px,100vw - 48px);padding:8px 14px 9px;font-weight:600;line-height:1.3;animation-duration:4.8s}@media (prefers-reduced-motion:reduce){.react-bubble{animation:none!important}}.live-games{flex-direction:column;gap:14px;max-width:980px;margin-top:34px;display:flex}.live-games h3{font-family:var(--font-display);font-size:var(--t-2xl);line-height:1}.live-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.live-row{--c:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:12px 16px;display:grid}.live-players{flex-direction:column;gap:4px;min-width:0;display:flex}.live-player{align-items:center;gap:10px;min-width:0;display:flex}.live-swatch{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);flex:none;width:16px;height:14px}.live-swatch.white{background:linear-gradient(160deg,#fbf5e8,#d9cbb0)}.live-swatch.black{background:linear-gradient(160deg,#8a2a2d,#3d0d0f)}.live-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.live-rating{color:var(--ash);font-family:var(--font-sans);font-size:var(--t-sm)}.live-meta{color:var(--ash);font-size:var(--t-sm);flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;display:flex}.live-spectators{color:var(--brass)}.live-empty{--c:10px;flex-direction:column;gap:4px;max-width:520px;padding:18px 20px;display:flex}.watching-label{color:var(--brass-bright)}@media (max-width:560px){.live-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}.live-meta{grid-area:2/1;justify-content:flex-start}.live-row .btn{grid-area:1/2/span 2}}.react-picker{z-index:40;width:290px;animation:react-pop .16s var(--ease-out);grid-template-columns:1fr 1fr;gap:6px;padding:12px;display:grid;position:fixed}.react-chip{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--rhyolite);border:1px solid var(--line);cursor:pointer;text-align:center;background:#0d13158c;border-radius:2px;min-height:40px;padding:8px 10px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.react-chip:hover:not(:disabled),.react-chip:focus-visible{border-color:var(--brass-bright);color:var(--brass-bright);outline:none}.react-chip:disabled{opacity:.4;cursor:wait}.react-chip.emoji{font-size:1.25rem;line-height:1}.react-bubble{z-index:30;pointer-events:none;max-width:220px;font-family:var(--font-sans);font-weight:700;font-size:var(--t-md);color:var(--night);background:var(--rhyolite);white-space:nowrap;animation:react-bubble 3.2s var(--ease-out) forwards;border-radius:14px;padding:8px 14px;position:fixed;box-shadow:0 10px 30px -10px #000c}.react-bubble.emoji{padding:4px 12px;font-size:1.6rem}.react-bubble:after{content:"";background:inherit;width:12px;height:12px;position:absolute;transform:rotate(45deg)}.react-bubble.left{transform-origin:100%;transform:translateY(-50%)}.react-bubble.left:after{top:calc(50% - 6px);right:-5px}.react-bubble.above{transform-origin:0 100%}.react-bubble.above:after{bottom:-5px;left:18px}.react-bubble.below{transform-origin:0 0}.react-bubble.below:after{top:-5px;left:18px}@keyframes react-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes react-bubble{0%{opacity:0;scale:.6}8%{opacity:1;scale:1.06}14%{scale:1}85%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.react-bubble{animation:3.2s linear forwards react-fade}.react-picker{animation:none}}@keyframes react-fade{0%,85%{opacity:1}to{opacity:0}}.offer.abandon-prompt{z-index:35;flex-direction:column;align-items:stretch;gap:12px;width:min(460px,100vw - 32px)}.abandon-text{flex-direction:column;gap:2px;display:flex}.abandon-text strong{font-size:var(--t-lg);color:var(--brass-bright)}.abandon-actions{flex-wrap:wrap;gap:8px;display:flex}.seek-offer{border-top:1px solid var(--line);animation:react-pop .25s var(--ease-out);flex-direction:column;gap:10px;margin-top:16px;padding-top:14px;display:flex}.seek-offer p{font-family:var(--font-sans);margin:0}.seek-offer .actions{margin-top:0}:root{--fold-t:.35s;--fold:var(--fold-t) cubic-bezier(.32, .72, 0, 1)}.hud{--panel-w:330px}#game-panel{transition:transform var(--fold), visibility 0s}.hud.focus-mode #game-panel{visibility:hidden;transition:transform var(--fold), visibility 0s var(--fold-t);transform:translate(calc(100% + 24px))}.panel-own{display:contents}.hud-top-left>*{transition:opacity .2s,visibility}.hud.focus-mode .hud-top-left>:not(:first-child){opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}.hud.focus-mode .hud-top-left:hover>*{opacity:1;visibility:visible;transition:opacity .2s,visibility}.focus-tab{--c:7px;--shape:polygon(var(--c) 0, 100% 0, 100% 100%, var(--c) 100%, 0 calc(100% - var(--c)), 0 var(--c));width:20px;height:72px;color:var(--brass);cursor:pointer;isolation:isolate;opacity:.5;transform:translateX(calc(1px - 16px - var(--panel-w)));transition:transform var(--fold), opacity .2s, color .2s;background:0 0;border:0;place-items:center;margin-top:-36px;padding:0;display:grid;position:absolute;top:50%;right:0}.focus-tab:before,.focus-tab:after{content:"";z-index:-1;clip-path:var(--shape);position:absolute}.focus-tab:before{background:linear-gradient(160deg,#c9a45c80,#c9a45c24 50%,#c9a45c5c);transition:background .2s;inset:0}.focus-tab:after{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#1f292ccc,#151d20db);inset:1px 0 1px 1px}.focus-tab svg{transition:transform var(--fold)}.focus-tab:hover,.focus-tab:focus-visible{opacity:1;color:var(--brass-bright)}.focus-tab:hover:before,.focus-tab:focus-visible:before{background:var(--brass-bright)}.focus-tab:hover svg{transform:translate(1.5px)}.hud.focus-mode .focus-tab{opacity:.72;transform:none}.hud.focus-mode .focus-tab svg{transform:rotate(180deg)}.hud.focus-mode .focus-tab:hover svg{transform:rotate(180deg)translate(1.5px)}.hud.focus-mode .focus-tab:hover,.hud.focus-mode .focus-tab:focus-visible{opacity:1}.focus-clocks{--c:8px;opacity:0;visibility:hidden;transition:opacity .2s, transform .3s var(--ease-out), visibility 0s .3s;gap:5px;padding:8px 9px 8px 11px;display:grid;position:absolute;top:16px;right:16px;transform:translateY(-6px)}.hud.focus-mode .focus-clocks{opacity:1;visibility:visible;transition:opacity .3s .15s, transform .4s .15s var(--ease-out), visibility 0s;transform:none}.fc-row{grid-template-columns:20px auto;align-items:center;column-gap:9px;transition:opacity .2s;display:grid}.fc-row .swatch{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:20px;height:17px;transition:opacity .2s}.fc-row .swatch.white{background:linear-gradient(160deg,#fbf5e8,#d9cbb0)}.fc-row .swatch.black{background:linear-gradient(160deg,#8a2a2d,#3d0d0f)}.fc-row:not(.to-move) .swatch{opacity:.65}.fc-time{min-width:78px;font-family:var(--font-sans);font-variant-numeric:tabular-nums;text-align:right;color:var(--ash);background:#0d131599;border-radius:2px;padding:1px 9px;font-size:1.25rem;font-weight:700;transition:background .2s,color .2s}.fc-row.to-move .fc-time{color:var(--night);background:var(--rhyolite)}.fc-row.low .fc-time{color:var(--rhyolite);background:var(--oxblood)}.fc-row.away{opacity:.5}.fc-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-sans);font-weight:700;font-size:var(--t-sm);overflow:hidden}.focus-bar{display:none}.react-bubble.corner{transform-origin:100% 0}.react-bubble.corner:after{display:none}.ui-layer:has(>.hud>#game-panel) .board2d-wrap{transition:left var(--fold), right var(--fold), bottom var(--fold)}.ui-layer:has(>.hud.focus-mode) .board2d-wrap{left:40px;right:40px}@media (min-width:1600px) and (min-height:900px){.hud{--panel-w:360px}.fc-time{min-width:88px;font-size:1.4rem}}@media (max-width:980px){.hud.focus-mode #game-panel{visibility:visible;transform:none}.panel-own{transition:transform var(--fold), visibility 0s;flex-direction:column;gap:6px;display:flex}.hud.focus-mode .panel-own{visibility:hidden;transition:transform var(--fold), visibility 0s var(--fold-t);transform:translateY(calc(100% + 16px))}.hud.focus-mode #game-panel .moves-panel,.focus-clocks{display:none}.focus-bar{--c:8px;opacity:0;visibility:hidden;height:38px;transition:opacity .2s, transform .3s var(--ease-out), visibility 0s .3s;padding:5px 7px 5px 10px;display:block;position:absolute;bottom:8px;left:8px;right:8px;transform:translateY(10px)}.hud.focus-mode .focus-bar{opacity:1;visibility:visible;transition:opacity .3s .12s, transform .35s .12s var(--ease-out), visibility 0s;transform:none}.focus-bar:has(.to-move){background:linear-gradient(160deg, var(--brass-bright), var(--brass-deep) 60%, var(--brass))}.focus-bar .fc-row{grid-template-columns:18px 1fr auto;column-gap:10px;height:100%}.focus-bar .fc-row .swatch{width:18px;height:15px}.focus-bar .fc-time{min-width:62px;padding:0 8px;font-size:1.05rem}.focus-tab{--c:9px;--shape:polygon(var(--c) 0, calc(100% - var(--c)) 0, 100% 100%, 0 100%);top:auto;left:50%;right:auto;bottom:calc(8px + var(--hud-h,110px) - 1px);opacity:.7;width:64px;height:20px;transition:bottom var(--fold), opacity .2s, color .2s;margin:0 0 0 -32px;transform:none}.focus-tab:after{inset:1px 1px 0}.focus-tab svg,.focus-tab:hover svg{transform:rotate(90deg)}.hud.focus-mode .focus-tab{bottom:45px}.hud.focus-mode .focus-tab svg,.hud.focus-mode .focus-tab:hover svg{transform:rotate(-90deg)}.ui-layer:has(>.hud.focus-mode) .board2d-wrap{bottom:72px;left:4px;right:4px}}.scene-backdrop{pointer-events:none;background:#0f1618 url(/backdrop-wide.webp) 50%/cover no-repeat;transition:opacity .6s;position:fixed;inset:0}@media (orientation:portrait){.scene-backdrop{background-image:url(/backdrop-tall.webp)}}.scene-backdrop.is-drawn{opacity:0}.scene-backdrop.is-hidden{visibility:hidden}@media (prefers-reduced-motion:reduce){.scene-backdrop{transition:none}}
