@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-italic-BHALq22K.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-italic-B8-t4Nou.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-italic-D2JnYqd-.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-cyrillic-ext-400-normal-CPXLWJVu.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-400-normal-Dps21hOd.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-400-normal-DvH4jPM6.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-400-normal-DPbxfigX.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-ext-400-normal-fmmi-YHE.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-400-normal-CBesnPfG.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-400-normal-BWA4DBiE.woff2) format("woff2"),url(/assets/alegreya-sans-greek-400-normal-BbD0SVwk.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-vietnamese-400-normal-DWIzZJly.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-400-normal-qHEgZbza.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-ext-400-normal-BIZyxtB3.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-400-normal-BpTFMQBJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-BxeZdXas.woff2) format("woff2"),url(/assets/alegreya-sans-latin-400-normal-BMWGAKoM.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-ext-400-italic-J-DN2ZJ6.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-400-italic-BoOPdo0O.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-400-italic-DeTpuhNy.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-400-italic-CR_QQmu6.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-ext-400-italic-CQSTq9OF.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-400-italic-DnzjXs9M.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-400-italic-B05UKKN-.woff2) format("woff2"),url(/assets/alegreya-sans-greek-400-italic-196SxiOs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-vietnamese-400-italic-C2veuWRT.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-400-italic-BNuYr-9d.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-ext-400-italic-CdDDrUgX.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-400-italic-ByX7xRhE.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-italic-BQIUBrX-.woff2) format("woff2"),url(/assets/alegreya-sans-latin-400-italic-CAm3bqQ4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-cyrillic-ext-500-normal-5mfQ52P7.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-500-normal-Cr1YSzDB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-cyrillic-500-normal-BaXjlhEE.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-500-normal-DSBj6YwZ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-greek-ext-500-normal-D0d8wCIT.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-500-normal-CaOKzfi0.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-greek-500-normal-PDFQvdAe.woff2) format("woff2"),url(/assets/alegreya-sans-greek-500-normal-CGeRoif8.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-vietnamese-500-normal-C9vz2fYT.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-500-normal-eYzINDfZ.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-ext-500-normal-CfdVzcis.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-500-normal-U7TUwnIq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-uodOEoAl.woff2) format("woff2"),url(/assets/alegreya-sans-latin-500-normal-CYgCjRAU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-cyrillic-ext-700-normal-DUiPr98-.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-700-normal-BmGACZr4.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-cyrillic-700-normal-CWFd7I4Q.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-700-normal-CFTMcC8T.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-greek-ext-700-normal-DVmj9Lnz.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-700-normal-Cq8PvhDS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-greek-700-normal-C5BasKcq.woff2) format("woff2"),url(/assets/alegreya-sans-greek-700-normal-DMT9DLNk.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-vietnamese-700-normal-DU5fqLye.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-700-normal-7ZKpdmOh.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-ext-700-normal-QTGm3lNx.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-700-normal-DkUIrHZF.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-DFYOGfC8.woff2) format("woff2"),url(/assets/alegreya-sans-latin-700-normal-FFEqzRIk.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:800;src:url(/assets/alegreya-sans-cyrillic-ext-800-normal-DTjL791J.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-800-normal-O32hKKzG.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-cyrillic-800-normal-DMJbbBPG.woff2) format("woff2"),url(/assets/alegreya-sans-cyrillic-800-normal-ZytG9nBl.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-greek-ext-800-normal-koS4j8ZU.woff2) format("woff2"),url(/assets/alegreya-sans-greek-ext-800-normal-DebIHqeI.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-greek-800-normal-D9H9Zagm.woff2) format("woff2"),url(/assets/alegreya-sans-greek-800-normal-DJOP-8Pz.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-vietnamese-800-normal-bThOOGbo.woff2) format("woff2"),url(/assets/alegreya-sans-vietnamese-800-normal-njqGOx3t.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-latin-ext-800-normal-d0k29KTZ.woff2) format("woff2"),url(/assets/alegreya-sans-latin-ext-800-normal-CghqvORL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:800;src:url(/assets/alegreya-sans-latin-800-normal-1NgrGCjx.woff2) format("woff2"),url(/assets/alegreya-sans-latin-800-normal-D6VtJ0SZ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2) format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2) format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--felt: #14432b;--felt-dark: #0e3220;--sq-light: #efe6cf;--sq-dark: #7a9b6f;--sq-light-alt: #f4eddb;--gold: #e2b84a;--red: #c0392b;--ink: #1a1a1a;--cream-piece: #f7f3e8;--dark-piece: #23282b;--last-move: rgba(226, 184, 74, .45);--dot: rgba(20, 20, 20, .35);--font-display: "Fraunces Variable", Fraunces, Georgia, "Times New Roman", serif;--font-body: "Alegreya Sans", Candara, Seravek, "Trebuchet MS", sans-serif;--font-mono: "Space Mono", "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(circle at 50% 20%,var(--felt),var(--felt-dark));color:var(--sq-light);font-family:var(--font-body);font-size:16px;min-height:100vh}:root{--board-size: max(300px, min(92vw, calc(100dvh - 250px) ))}#app{width:100%;margin:0 auto;padding:20px 16px 32px;display:flex;flex-direction:column;align-items:center;gap:14px}h1{font-family:var(--font-display);font-size:26px;font-weight:560;letter-spacing:.2px;margin:4px 0 0;color:var(--gold)}.subtitle{margin:0;font-size:13px;opacity:.7}.status{font-size:18px;font-weight:600;min-height:26px;text-align:center}.status .turn-white{color:var(--cream-piece)}.status .turn-black{color:#cbd3d8}.status .winner{color:var(--gold)}.board-wrap{background:var(--felt-dark);padding:14px;border-radius:10px;box-shadow:0 8px 30px #00000073;border:1px solid rgba(226,184,74,.25)}svg.board{display:block;width:var(--board-size);height:var(--board-size);touch-action:manipulation}.controls{display:flex;gap:12px;align-items:center}button{background:var(--gold);color:var(--ink);border:none;padding:9px 18px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:filter .12s ease}button:hover{filter:brightness(1.08)}button.secondary{background:transparent;color:var(--sq-light);border:1px solid rgba(255,255,255,.3)}text.piece{font-size:46px;text-anchor:middle;dominant-baseline:central;cursor:pointer;-webkit-user-select:none;user-select:none;paint-order:stroke}text.piece.white{fill:var(--cream-piece);stroke:#4a4030;stroke-width:1.2px}text.piece.black{fill:var(--dark-piece);stroke:#0a0c0d;stroke-width:1.2px}rect.sq{cursor:pointer}text.piece.drag-source{opacity:.28}text.piece.drag-ghost{font-size:58px;pointer-events:none;opacity:.95}circle.user-circle{fill:none;stroke:#5fbf6b;stroke-width:4px;opacity:.85;pointer-events:none}g.arrow-user line,g.arrow-user polygon{stroke:#5fbf6b;fill:#5fbf6b;opacity:.72}g.arrow-user line{stroke-width:9px;stroke-linecap:round}rect.sq.selectable{cursor:pointer}circle.dot{fill:var(--dot);pointer-events:none}circle.capture-ring{fill:none;stroke:var(--red);stroke-width:3px;opacity:.75;pointer-events:none}rect.last{fill:var(--last-move);pointer-events:none}rect.sel{fill:#e2b84a8c;pointer-events:none}.card{background:#00000047;border:1px solid rgba(226,184,74,.25);border-radius:12px;padding:28px 32px;margin-top:6vh;width:min(94vw,440px);display:flex;flex-direction:column;gap:12px;align-items:stretch;text-align:center}.card h1{margin:0}.card h2{font-size:15px;margin:10px 0 0;color:var(--gold);font-weight:600}.section{border-top:1px solid rgba(255,255,255,.12);padding-top:12px;display:flex;flex-direction:column;gap:10px}.field-label{font-size:12px;opacity:.75;text-align:left}input,select{background:#ffffff14;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:var(--sq-light);font-size:15px;padding:9px 12px}input:focus,select:focus{outline:2px solid var(--gold);border-color:transparent}select option{color:var(--ink)}.row{display:flex;gap:8px;align-items:center;justify-content:center}.row input{flex:1}.muted{opacity:.6;font-size:13px;margin:0}.warn{color:#f0a4a4;font-size:13px;min-height:16px;margin:0}.code-big{font-size:40px;font-weight:700;letter-spacing:10px;color:var(--gold);padding:4px 0 0 10px}.share-row{display:flex;gap:8px}.share-row input{flex:1;font-size:12px;opacity:.85}.seats{display:flex;flex-direction:column;gap:8px;text-align:left}.seat{display:flex;align-items:center;gap:10px;background:#ffffff0d;border-radius:8px;padding:10px 14px}.seat>span:nth-child(2){flex:1}.seat-color{font-size:12px;opacity:.7}.dot-conn{width:10px;height:10px;border-radius:50%;background:#ffffff40;flex:0 0 auto}.dot-conn.on{background:#6fd08c}.game-screen{display:flex;flex-direction:column;gap:8px;align-items:center}.player-row{display:flex;justify-content:space-between;align-items:center;width:var(--board-size);padding:0 4px}.player-name{display:flex;align-items:center;gap:8px;font-size:15px}.swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.4)}.swatch.white{background:var(--cream-piece)}.swatch.black{background:var(--dark-piece)}.clock{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;background:#00000059;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:4px 14px;min-width:84px;text-align:center;opacity:.55}.clock.active{opacity:1;border-color:var(--gold);box-shadow:0 0 12px #e2b84a59}.clock.low{color:#ff9d9d}.clock.low.active{border-color:var(--red);box-shadow:0 0 12px #c0392b80}.game-screen .board-wrap{padding:10px}.game-layout{display:flex;gap:18px;align-items:flex-start;justify-content:center;width:100%}.game-screen{flex:0 1 auto}.event-feed{width:250px;max-height:calc(var(--board-size) + 120px);background:#00000047;border:1px solid rgba(226,184,74,.2);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.feed-title{font-size:13px;font-weight:700;color:var(--gold);letter-spacing:.5px}.feed-list{overflow-y:auto;display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.35}.feed-line{display:flex;gap:6px;opacity:.88}.feed-ply{opacity:.5;min-width:18px;text-align:right;flex:0 0 auto}.feed-steal{color:#ff9d9d}.feed-ban{color:#f0a4a4}.feed-mutation{color:#b0e28f}.feed-jackpot-claim,.feed-jackpot-place{color:var(--gold)}.feed-bluff-reveal{color:#a8c8f0}.feed-vip,.feed-vip-reveal{color:#f0d0a4}.feed-game-end,.feed-forced-move{font-weight:600}@media (max-width: 980px){.game-layout{flex-direction:column;align-items:center}.event-feed{width:min(94vw,520px);max-height:180px}}rect.glow-jackpot{fill:#e2b84a73;animation:jackpot-pulse 1.2s ease-in-out infinite;pointer-events:none}@keyframes jackpot-pulse{0%,to{fill-opacity:.35}50%{fill-opacity:.75}}rect.glow-jackpot-danger{fill:#c0392b8c;animation:jackpot-danger .6s ease-in-out infinite;pointer-events:none}text.glow-icon{font-size:30px;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke}rect.glow-check{fill:#dc28288c;animation:check-pulse .9s ease-in-out infinite;pointer-events:none}@keyframes check-pulse{0%,to{fill-opacity:.3}50%{fill-opacity:.85}}@keyframes jackpot-danger{0%,to{fill-opacity:.4}50%{fill-opacity:.85}}rect.glow-remove{fill:#c0392b66;stroke:var(--red);stroke-width:2px;cursor:pointer}rect.glow-drop{fill:#e2b84a59;stroke:var(--gold);stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}rect.glow-pickable{fill:#f0d0a44d;stroke:#f0d0a4b3;stroke-width:1.5px;pointer-events:none}rect.glow-ban-source{fill:#c0392b47;pointer-events:none}rect.glow-ban-selected{fill:#c0392b80;pointer-events:none}rect.glow-morph{fill:#b0e28f80;animation:morph-flash .5s ease-in-out 2;pointer-events:none}@keyframes morph-flash{0%,to{fill-opacity:.25}50%{fill-opacity:.8}}text.badge{font-size:20px;pointer-events:none;paint-order:stroke;stroke:#0009;stroke-width:1px}g.arrow line{stroke-width:7px;stroke-linecap:round;opacity:.8}g.arrow polygon{opacity:.8}g.arrow.clickable{cursor:pointer}g.arrow.clickable:hover line,g.arrow.clickable:hover polygon{opacity:1}g.arrow-ban line,g.arrow-ban polygon{stroke:var(--red);fill:var(--red)}g.arrow-ban-option line,g.arrow-ban-option polygon{stroke:#e08070;fill:#e08070}g.arrow-cand line,g.arrow-cand polygon{stroke:#7ba7d7;fill:#7ba7d7}g.arrow-cand-own line,g.arrow-cand-own polygon{stroke:#7ba7d7;fill:#7ba7d7}g.arrow-cand-option line,g.arrow-cand-option polygon{stroke:#7ba7d773;fill:#7ba7d773}g.arrow-cand-guess line,g.arrow-cand-guess polygon{stroke:#d7b47b;fill:#d7b47b}g.arrow-cand-allowed line,g.arrow-cand-allowed polygon{stroke:#8fd79b;fill:#8fd79b}g.arrow-cand-dead line,g.arrow-cand-dead polygon{stroke:#96969680;fill:#96969680}g.arrow-plague line,g.arrow-plague polygon{stroke:#8fd79b;fill:#8fd79b;opacity:.55}text.arrow-cross{font-size:30px;fill:#fff;stroke:var(--red);stroke-width:1px;text-anchor:middle;font-weight:700;pointer-events:none}text.arrow-star{font-size:26px;fill:var(--gold);stroke:#0009;stroke-width:1px;text-anchor:middle;pointer-events:none}.hud-note,.mutation-badge,.reads-row{font-size:14px;padding:5px 14px;border-radius:20px;background:#00000059;border:1px solid rgba(226,184,74,.3);display:flex;gap:8px;align-items:center}.mutation-badge.pulse{border-color:#b0e28f;color:#b0e28f;animation:badge-pulse .9s ease-in-out infinite}@keyframes badge-pulse{0%,to{box-shadow:0 0 4px #b0e28f4d}50%{box-shadow:0 0 14px #b0e28fcc}}.pill{font-size:12px;padding:3px 10px;border-radius:12px;background:#ffffff1a}.warn-pill{background:#c0392b80}.pill-btn{font-size:12px;padding:3px 10px;border-radius:12px;background:#ffffff24;color:var(--sq-light);border:none}.card-hud{display:flex;flex-direction:column;gap:8px;align-items:center;width:var(--board-size)}.card-info{display:flex;gap:8px;align-items:center}.card-tray{display:flex;gap:10px}.play-card{width:64px;height:88px;border-radius:8px;background:linear-gradient(160deg,#f7f3e8,#dcd2b8);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;border:2px solid transparent;box-shadow:0 3px 8px #0006;transition:transform .1s ease}.play-card:hover{transform:translateY(-4px)}.play-card.selected{border-color:var(--gold);box-shadow:0 0 14px #e2b84ab3;transform:translateY(-6px)}.play-card-glyph{font-size:34px;line-height:1}.play-card-name{font-size:11px;text-transform:capitalize;opacity:.7}.discard-pile{display:flex;gap:4px;flex-wrap:wrap;max-width:var(--board-size);background:#0000004d;border-radius:8px;padding:6px 10px}.mini-card{font-size:20px;background:#ffffffd9;color:var(--ink);border-radius:4px;padding:0 4px}.dice-faces{font-size:34px;line-height:1;color:var(--sq-light);letter-spacing:4px;text-shadow:0 2px 6px rgba(0,0,0,.5)}.pending-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}.chip-btn{background:#ffffff1f;color:var(--sq-light);border:1px solid rgba(255,255,255,.25);font-variant-numeric:tabular-nums}.chip-btn.marked{border-color:var(--gold);color:var(--gold)}.slot-machine{display:flex;gap:8px;padding:8px 14px;background:linear-gradient(180deg,#3a2c14,#241a0a);border:2px solid var(--gold);border-radius:12px;box-shadow:inset 0 2px 8px #0009}.slot-window{width:46px;height:52px;display:flex;align-items:center;justify-content:center;font-size:32px;background:linear-gradient(180deg,#f7f3e8,#d8cdb2);color:var(--ink);border-radius:6px;border:1px solid rgba(0,0,0,.4);animation:slot-land .5s cubic-bezier(.2,1.6,.4,1) backwards}@keyframes slot-land{0%{transform:translateY(-26px);opacity:0;filter:blur(2px)}60%{transform:translateY(4px);opacity:1;filter:none}to{transform:translateY(0)}}.slot-machine.jackpot{border-color:#ff9d3c;animation:jackpot-shake .5s ease-in-out 2;box-shadow:0 0 24px #ff9d3c8c,inset 0 2px 8px #0009}@keyframes jackpot-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}rect.glow-slot-glow{fill:#e2b84a66;animation:jackpot-pulse 1.1s ease-in-out infinite;pointer-events:none}rect.glow-slot-fire{fill:#ff78288c;animation:slot-fire .45s ease-in-out infinite;pointer-events:none}@keyframes slot-fire{0%,to{fill:#ff782866}50%{fill:#ff3c14bf}}.game-screen{position:relative}.dice-panel{position:absolute;right:calc(100% + 20px);top:110px;display:flex;flex-direction:column;gap:14px;align-items:center}.hdie{position:relative;width:86px;height:86px;background:linear-gradient(145deg,#fdf9ee,#d9cdb0);border:2px solid rgba(40,30,12,.55);border-radius:16px;box-shadow:0 6px 16px #00000080,inset 0 -4px 8px #00000026}.hdie-pip{position:absolute;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3a3f44,#16181a);transform:translate(-50%,-50%)}.hdie.tumbling{animation:die-tumble .62s cubic-bezier(.3,1.4,.5,1) backwards}@keyframes die-tumble{0%{transform:translateY(-70px) rotate(300deg) scale(.7);filter:blur(3px);opacity:.4}60%{transform:translateY(8px) rotate(-12deg) scale(1.04);filter:blur(.5px);opacity:1}80%{transform:translateY(-4px) rotate(4deg)}to{transform:translateY(0) rotate(0) scale(1);filter:none}}.dice-total{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--gold);background:#0006;border:1px solid rgba(226,184,74,.35);border-radius:10px;padding:4px 12px}@media (max-width: 1100px){.dice-panel{position:static;flex-direction:row}.hdie{width:56px;height:56px;border-radius:10px}.hdie-pip{width:10px;height:10px}}.bluff-banner{position:fixed;top:18vh;left:50%;transform:translate(-50%);z-index:300;font-family:var(--font-display);font-size:clamp(22px,4vw,34px);font-weight:700;letter-spacing:.5px;padding:14px 30px;border-radius:14px;pointer-events:none;animation:banner-pop 1.6s ease-out forwards;box-shadow:0 10px 40px #0009}.bluff-banner.good{background:#1c4428f2;color:#b8e8c2;border:2px solid #57b87a}.bluff-banner.bad{background:#4a1616f2;color:#f0a4a4;border:2px solid #c0392b}@keyframes banner-pop{0%{transform:translate(-50%) scale(.6);opacity:0}12%{transform:translate(-50%) scale(1.08);opacity:1}20%{transform:translate(-50%) scale(1)}80%{opacity:1}to{opacity:0}}.chip-btn.chip-big{font-size:14px;padding:8px 14px}.piece-roulette{display:flex;gap:6px;overflow:hidden;background:#0006;border:1px solid rgba(226,184,74,.4);border-radius:10px;padding:6px 12px}.roulette-glyph{font-size:30px;animation:roulette-blur .25s linear infinite}.roulette-glyph:nth-child(2n){animation-delay:.08s}.roulette-glyph:nth-child(3n){animation-delay:.16s}@keyframes roulette-blur{0%,to{filter:blur(0);transform:translateY(0);opacity:1}50%{filter:blur(2px);transform:translateY(-6px);opacity:.5}}rect.glow-vanish{fill:#c0392b99;animation:vanish-flash .4s ease-in-out 4;pointer-events:none}@keyframes vanish-flash{0%,to{fill-opacity:.15}50%{fill-opacity:.8}}rect.glow-spawn{fill:#e2b84a99;animation:vanish-flash .4s ease-in-out 4;pointer-events:none}rect.glow-infect{fill:#8fd79b59;animation:infect-pulse 1.3s ease-in-out infinite;pointer-events:none}@keyframes infect-pulse{0%,to{fill-opacity:.2}50%{fill-opacity:.55}}.hud-steady{min-height:34px}.quiet-pill{opacity:.5}.steal-chip{position:fixed;z-index:50;background:var(--gold);color:var(--ink);font-weight:800;font-size:15px;padding:5px 11px;border-radius:16px;pointer-events:none;box-shadow:0 2px 12px #e2b84ab3}.clock-bleed{animation:clock-bleed .9s ease-in-out}@keyframes clock-bleed{0%,to{background:#00000059}30%,70%{background:#c0392bbf}}.home-shell{width:min(98vw,1500px);display:grid;grid-template-columns:195px minmax(0,1fr) 250px;gap:22px;align-items:start;padding-top:1vh}.side-menu{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px;background:#00000047;border:1px solid rgba(226,184,74,.18);border-radius:12px;padding:14px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--gold)}.brand-mark{width:42px;height:42px}.brand-words{display:flex;flex-direction:column;line-height:1.05}.brand-chess{font-family:var(--font-display);font-weight:640;font-size:19px;letter-spacing:.5px}.brand-lab{font-family:var(--font-display);font-size:13px;color:#8fb07c;letter-spacing:2.5px;text-transform:uppercase}.side-nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;color:var(--sq-light);text-decoration:none;font-size:15px;opacity:.85}.nav-item:hover{background:#ffffff12;opacity:1}.nav-item.active{background:#e2b84a24;color:var(--gold);opacity:1;font-weight:700}.nav-badge{font-family:var(--font-mono);font-size:11px;background:#8fd79b40;color:#b8e8c2;border-radius:10px;padding:0 7px}.side-foot{border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.kofi-link{color:#f0a4b4;font-size:13.5px;text-decoration:none;opacity:.9}.kofi-link:hover{opacity:1;text-decoration:underline}.home-main{display:flex;flex-direction:column;gap:18px;min-width:0}.view-title{font-size:clamp(24px,3vw,32px);margin:4px 0 0;text-align:left}.home-main>.muted{text-align:left}.side-rail{position:sticky;top:16px}.rail-box{background:#00000047;border:1px solid rgba(226,184,74,.18);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.rail-title{font-family:var(--font-display);font-size:16px;color:var(--gold);margin:0;font-weight:600}.rail-select{font-size:13px}.rail-list{display:flex;flex-direction:column;gap:2px}.rail-row{display:flex;align-items:baseline;gap:8px;padding:4px 6px;border-radius:6px;text-decoration:none;color:var(--sq-light)}.rail-row:hover{background:#ffffff12}.rail-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.rail-empty{font-size:13px}.rail-more{font-size:13px;color:var(--gold);opacity:.85;text-decoration:none}.rail-more:hover{text-decoration:underline}.board-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.scope-toggle{display:flex;gap:4px}.scope-btn{background:#ffffff14;color:var(--sq-light);border:1px solid rgba(255,255,255,.2);font-weight:400}.scope-btn.active{background:var(--gold);color:var(--ink);font-weight:700}.board-table,.profile-block{display:flex;flex-direction:column;gap:4px;background:#00000038;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;text-align:left}.profile-block h2{font-family:var(--font-display);color:var(--gold);font-size:16px;margin:0 0 4px}.board-row,.game-row{display:flex;align-items:baseline;gap:12px;padding:5px 4px;border-radius:6px}.board-row:hover{background:#ffffff0d}.board-rank{font-family:var(--font-mono);opacity:.55;min-width:22px;text-align:right}.board-name{flex:1;color:var(--sq-light);text-decoration:none;font-size:15px}a.board-name:hover{color:var(--gold)}.board-rating{font-family:var(--font-mono);font-weight:700;color:var(--gold)}.board-games{font-size:12px;opacity:.55;min-width:70px;text-align:right}.lobby-list{display:flex;flex-direction:column;gap:8px}.lobby-row{display:flex;align-items:center;gap:14px;background:#00000042;border:1px solid rgba(255,255,255,.1);border-left:4px solid var(--accent, var(--gold));border-radius:10px;padding:10px 14px;text-align:left}.lobby-info{flex:1;display:flex;flex-direction:column;gap:2px}.lobby-variant{font-family:var(--font-display);font-size:16px}.lobby-empty{background:#00000038;border:1px dashed rgba(255,255,255,.2);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:6px;align-items:center}.friends-add{justify-content:flex-start}.friends-add input{max-width:240px}.friends-list{display:flex;flex-direction:column;gap:6px}.friend-row{display:flex;align-items:center;gap:10px;background:#00000038;border-radius:8px;padding:8px 12px}.friend-name{color:var(--sq-light);text-decoration:none;font-size:15px}.friend-name:hover{color:var(--gold)}.friend-status{flex:1;font-size:12px}.friend-remove{font-size:12px;opacity:.6}.auth-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.auth-box{background:#00000042;border:1px solid rgba(226,184,74,.18);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px;text-align:left}.auth-box h2{font-family:var(--font-display);color:var(--gold);margin:0;font-size:18px}.admin-star{color:var(--gold);font-size:14px;font-family:var(--font-body)}.profile-meta{text-align:left}.game-result{font-family:var(--font-mono);font-weight:700;min-width:20px;text-align:center;border-radius:4px;padding:0 4px}.game-result.won{background:#8fd79b40;color:#b8e8c2}.game-result.lost{background:#c0392b4d;color:#f0a4a4}.game-result.draw{background:#ffffff1f}.game-date{margin-left:auto;font-size:12px}.signout{align-self:flex-start}.settings-row{font-size:15px;max-width:340px}.admin-bar{display:flex;gap:10px;align-items:center;justify-content:flex-start}.tile.reordering{cursor:default}.tile-reorder{display:flex;justify-content:space-between;padding:0 8px 4px}.tile-arrow{padding:2px 10px;font-size:13px;background:#ffffff26;color:var(--sq-light)}.table-card-actions{display:flex;gap:8px;align-items:center}.table-card-actions .bot-level{font-size:12px;padding:6px}.tile-live{font-family:var(--font-mono);font-size:11px;color:#8fd79b;padding:0 12px;min-height:14px}.who-name{color:var(--gold);font-weight:700;text-decoration:none;font-size:15px}.who-name:hover{text-decoration:underline}.home-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;text-align:left}.home-head h1{font-size:clamp(28px,4.5vw,40px);font-optical-sizing:auto;margin:0}.home-title .subtitle{font-style:italic;font-size:14.5px;margin-top:4px}.home-name{display:flex;flex-direction:column;gap:4px;font-size:12px;opacity:.9;text-align:left}.home-name input{width:190px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.tile{--accent: var(--gold);background:#0000004d;border:1px solid rgba(226,184,74,.18);border-top:3px solid var(--accent);border-radius:10px;padding:0 0 12px;display:flex;flex-direction:column;gap:8px;text-align:left;color:var(--sq-light);font-family:var(--font-body);font-weight:400;transform:rotate(var(--tilt, 0deg));transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tile:nth-child(2n){--tilt: .45deg}.tile:nth-child(3n){--tilt: -.5deg}.tile:nth-child(5n){--tilt: .35deg}.tile:nth-child(7n){--tilt: -.4deg}.tile:hover,.tile:focus-visible{transform:rotate(0) translateY(-4px);border-color:var(--accent);box-shadow:0 10px 26px #00000080,0 0 18px color-mix(in srgb,var(--accent) 28%,transparent);filter:none}.tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.tile-board{border-radius:7px 7px 0 0;overflow:hidden;line-height:0}svg.vignette{display:block;width:100%;height:auto}.tile-title-row{display:flex;align-items:baseline;gap:8px;padding:2px 12px 0}.tile-name{flex:1;font-family:var(--font-display);font-size:17px;font-weight:580;letter-spacing:.2px}.tile-players{font-family:var(--font-mono);font-size:11px;color:var(--accent, var(--gold));border:1px solid color-mix(in srgb,var(--accent, var(--gold)) 55%,transparent);border-radius:10px;padding:0 7px;flex:0 0 auto}.tile-liner{font-size:12.5px;line-height:1.35;opacity:.68;padding:0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sort-tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sort-tab{background:#ffffff14;color:var(--sq-light);border:1px solid rgba(255,255,255,.18);font-weight:400;font-size:13.5px;padding:7px 13px}.sort-tab.active{background:var(--gold);color:var(--ink);font-weight:700}.build-cta{margin-left:auto;background:#8fd79b29;border:1px dashed rgba(143,215,155,.6);color:#b8e8c2;border-radius:8px;padding:7px 13px;font-size:13.5px;text-decoration:none}.build-cta:hover{background:#8fd79b47}.lab-stamp{color:var(--gold);font-size:14px;flex:0 0 auto}.tile-meta{display:flex;gap:10px;align-items:baseline;padding:0 12px;min-height:16px}.tile-hearts{font-family:var(--font-mono);font-size:11.5px;color:#f0a4b4}.tile-author{font-size:11px;opacity:.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heart-row{display:flex;gap:10px;align-items:center}.heart-btn{background:#f0a4b41f;border:1px solid rgba(240,164,180,.5);color:#f0a4b4;font-weight:700;padding:5px 14px;border-radius:16px}.heart-btn.on{background:#c94f6d;border-color:#c94f6d;color:#fff}.parts-row{display:flex;gap:6px;flex-wrap:wrap}.builder{display:flex;flex-direction:column;gap:14px;text-align:left}.builder-block{background:#0000003d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.builder-block h2{font-family:var(--font-display);color:var(--gold);font-size:16px;margin:0}.base-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.base-card{display:flex;flex-direction:column;gap:4px;text-align:left;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:var(--sq-light);border-radius:8px;padding:10px;font-weight:400;font-size:13px}.base-card .muted{font-size:11.5px}.base-card.active{border-color:var(--gold);background:#e2b84a1f}.extra-row{border-top:1px solid rgba(255,255,255,.07);padding-top:8px;display:flex;flex-direction:column;gap:6px}.extra-row .option-row .muted{font-size:12px}.extra-opts{padding-left:26px}.board-opts{flex-wrap:wrap;justify-content:flex-start}.limit-input{width:70px}.builder-preview .table-card-board{width:140px;margin:0}.builder-errors{display:flex;flex-direction:column;gap:3px;font-size:13px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.skin-card{background:#0000003d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.skin-card.disabled{opacity:.5}.skin-preview{width:72px;height:72px}.skin-preview-wrap{align-self:flex-start}.page-body{max-width:640px;text-align:left;display:flex;flex-direction:column;gap:8px}.page-h1{font-family:var(--font-display);color:var(--gold);font-size:22px;margin:10px 0 0}.page-h2{font-family:var(--font-display);color:var(--gold);font-size:17px;margin:8px 0 0}.page-p{margin:0;line-height:1.5;opacity:.92}.page-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px;line-height:1.45}.feedback-box{width:min(100%,560px);min-height:140px;background:#ffffff14;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:var(--sq-light);font-family:var(--font-body);font-size:15px;padding:10px 12px}.admin-body{display:flex;flex-direction:column;gap:14px;text-align:left}.admin-list{display:flex;flex-direction:column;gap:8px}.admin-row{background:#0000003d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:8px}.admin-row-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.pill-btn.on{background:#e2b84a59;color:var(--gold)}.pill-btn.danger{background:#c0392b4d;color:#f0a4a4}.admin-editor{display:flex;flex-direction:column;gap:8px;border-top:1px dashed rgba(255,255,255,.15);padding-top:10px}.admin-json{min-height:90px;font-family:var(--font-mono);font-size:12px;background:#ffffff12;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--sq-light);padding:8px}.admin-page-editor{min-height:220px;font-family:var(--font-mono);font-size:12.5px;background:#ffffff12;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--sq-light);padding:10px}.skin-row{flex-direction:row;align-items:center;gap:12px}.skin-row .skin-preview{width:44px;height:44px}.feedback-item p{white-space:pre-wrap}.copy-row{gap:4px}.copy-input{font-family:var(--font-body);font-size:14px;background:#ffffff12;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--sq-light);padding:7px 10px;resize:vertical;min-height:34px}.side-small{display:flex;gap:10px;margin-top:8px}.side-small-link{font-size:12px;opacity:.55;color:var(--sq-light);text-decoration:none}.side-small-link:hover{opacity:.9;text-decoration:underline}.hud-stack{display:flex;flex-direction:column;gap:8px;align-items:center}@media (max-width: 1180px){.home-shell{grid-template-columns:180px minmax(0,1fr)}.side-rail{display:none}}@media (max-width: 760px){.home-shell{grid-template-columns:1fr}.side-menu{position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.side-nav{flex-direction:row;flex-wrap:wrap;flex:1}.nav-item{padding:6px 9px;font-size:13.5px}.brand-words{display:none}.side-foot{border-top:none;padding-top:0}}@media (max-width: 480px){.tile-grid{grid-template-columns:repeat(2,1fr);gap:10px}.tile-name{font-size:15px}.tile-liner{font-size:12px}}.home-foot{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.join-inline{display:flex;gap:8px;align-items:center;font-size:14px}.join-inline input{width:118px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px}.dot-sep{opacity:.4}button.linklike{background:none;border:none;color:var(--sq-light);opacity:.75;font-size:14px;font-weight:400;padding:4px;text-decoration:underline dotted}button.linklike:hover{opacity:1;filter:none}.home-err{text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#05120bad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px}.card.table-card{margin-top:0;width:min(94vw,420px);max-height:92dvh;overflow-y:auto;text-align:left;border-top:3px solid var(--accent, var(--gold));outline:none}.table-card-board{width:128px;margin:0 auto;border-radius:8px;overflow:hidden;line-height:0;box-shadow:0 4px 14px #00000073}.table-card-title{display:flex;align-items:baseline;gap:10px}.table-card-title h2{flex:1;font-family:var(--font-display);font-size:22px;font-weight:580;color:var(--sq-light);margin:4px 0 0}.table-card-liner{text-align:left}.modal-name{margin-top:2px}.modal-name input{width:100%}.vignette .t-light{fill:var(--sq-light)}.vignette .t-dark{fill:var(--sq-dark)}.vignette text{text-anchor:middle;dominant-baseline:central;paint-order:stroke;pointer-events:none;-webkit-user-select:none;user-select:none}.vignette text.t-piece{font-size:15px}.vignette .t-piece.w{fill:var(--cream-piece);stroke:#4a4030;stroke-width:.8px}.vignette .t-piece.b{fill:var(--dark-piece);stroke:#0a0c0d;stroke-width:.8px}.vignette .t-piece.gold{fill:var(--gold);stroke:#4a4030;stroke-width:.8px}.vignette .t-piece.a0{fill:var(--cream-piece);stroke:#4a4030;stroke-width:.8px}.vignette .t-piece.a1{fill:#d9534f;stroke:#5b1513;stroke-width:.8px}.vignette .t-piece.a2{fill:#23282b;stroke:#0a0c0d;stroke-width:.8px}.vignette .t-piece.a3{fill:#5b9bd5;stroke:#16324a;stroke-width:.8px}.vignette .t-glow-red{fill:#c0392b8c}.vignette .t-glow-blue{fill:#7ba7d780}.vignette .t-glow-green{fill:#b0e28f80}.vignette .t-glow-gold{fill:#e2b84a8c;animation:jackpot-pulse 1.2s ease-in-out infinite}.vignette .t-burn{fill:#1c1512;stroke:#3a221a;stroke-width:1px}.vignette .t-arrow line{stroke-width:3.5px;stroke-linecap:round;opacity:.85}.vignette .t-arrow polygon{opacity:.85}.vignette .t-arrow-ban line{stroke:var(--red)}.vignette .t-arrow-ban polygon{fill:var(--red)}.vignette .t-arrow-cand line{stroke:#7ba7d7}.vignette .t-arrow-cand polygon{fill:#7ba7d7}.vignette .t-arrow-gold line{stroke:var(--gold)}.vignette .t-arrow-gold polygon{fill:var(--gold)}.vignette text.t-cross{font-size:12px;font-weight:700;fill:#fff;stroke:var(--red);stroke-width:.8px}.vignette text.t-fx{font-family:var(--font-mono);font-weight:700;stroke:#0000008c}.vignette .t-chip-red{font-size:9px;fill:#ff9d9d;stroke-width:1.6px}.vignette .t-chip-blue{font-size:9px;fill:#a8c8f0;stroke-width:1.6px}.vignette .t-star{font-size:11px;fill:var(--gold);stroke:#00000080;stroke-width:.8px}.vignette .t-spark{font-size:11px;fill:#b0e28f;stroke:#00000080;stroke-width:.8px}.vignette .t-swap{font-size:14px;fill:var(--gold);stroke:#0009;stroke-width:.8px}.vignette .t-die-body{fill:#f7f3e8;stroke:#1e180e99;stroke-width:.9px}.vignette .t-die-pip{fill:#23282b}.vignette .t-bubble{fill:#8fd79bd9;stroke:#143c1e80;stroke-width:.6px}.vignette .t-slot-window{fill:#f7f3e8;stroke:#b8862e;stroke-width:1.2px}.vignette text.t-slot-glyph{font-size:12px;fill:#23282b}.vignette .t-glow-fire{fill:#ff6e288c}.vignette .t-flame{fill:#ff9632d9;stroke:#78280066;stroke-width:.5px}.vignette .t-flame-hot{fill:#ffdc5af2}.vignette .t-card{fill:#f2e8cf;stroke:#0006;stroke-width:.7px}.vignette text.t-card-glyph{font-size:13px;fill:var(--ink)}@media (prefers-reduced-motion: reduce){.tile{transition:none;transform:none}.tile:hover,.tile:focus-visible{transform:none}.vignette .t-glow-gold{animation:none}}.variant-blurb{min-height:16px;text-align:left}.option-box{display:flex;flex-direction:column;gap:6px}.option-row{display:flex;gap:8px;align-items:center;font-size:13px;text-align:left}.option-row input[type=checkbox]{width:16px;height:16px}.option-row .option-label{flex:1;opacity:.85}.option-row select{font-size:13px;padding:5px 8px}text.piece.army-0{fill:var(--cream-piece);stroke:#4a4030;stroke-width:1.2px}text.piece.army-1{fill:#d9534f;stroke:#5b1513;stroke-width:1.2px}text.piece.army-2{fill:#23282b;stroke:#0a0c0d;stroke-width:1.2px}text.piece.army-3{fill:#5b9bd5;stroke:#16324a;stroke-width:1.2px}text.piece.neutral{fill:#77c877;stroke:#1d4a1d;stroke-width:1.4px}.swatch.army-0{background:var(--cream-piece)}.swatch.army-1{background:#d9534f}.swatch.army-2{background:#23282b}.swatch.army-3{background:#5b9bd5}.swatch.neutral{background:#77c877}rect.sq.burned{fill:#1c1512;stroke:#3a221a;stroke-width:1px;cursor:default}rect.glow-doom{fill:#c0392b66;animation:doom-shimmer 1s ease-in-out infinite;pointer-events:none}@keyframes doom-shimmer{0%,to{fill-opacity:.22}50%{fill-opacity:.55}}.storm-badge{font-size:14px;padding:5px 14px;border-radius:20px;background:#00000059;border:1px solid rgba(226,184,74,.3)}.storm-badge.pulse{border-color:var(--red);color:#ff9d9d;animation:badge-pulse .9s ease-in-out infinite}.feed-storm{color:#ff9d9d;font-weight:600}.feed-zombie{color:#8fd79b}.feed-zombie-move{color:#8fd79b;opacity:.55}.feed-elimination{color:#f0a4a4;font-weight:600}.feed-skip{opacity:.6}.board-middle{display:flex;align-items:center;gap:10px}.player-row.vertical{flex-direction:column;gap:6px;width:auto;padding:10px 6px}.player-row.vertical .player-name{flex-direction:column;text-align:center;font-size:13px}.player-row.vertical .clock{font-size:18px;min-width:70px;padding:3px 8px}.player-row.dead{opacity:.45}.player-row.dead .clock{text-decoration:line-through}.game-layout:has(.board-middle) .board-wrap svg.board{width:min(78vw,calc(100dvh - 300px));height:min(78vw,calc(100dvh - 300px))}g.arrow text.arrow-check{font-size:30px;fill:#8fd79b;stroke:#000000a6;stroke-width:1px;text-anchor:middle;font-weight:700;pointer-events:none}.confetti{position:fixed;top:0;z-index:200;border-radius:2px;pointer-events:none}
