@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/orbitron-latin-500-normal-DQ2gt4P1.woff2) format("woff2"),url(/assets/orbitron-latin-500-normal-BCCupJ8c.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:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2) format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.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:Orbitron;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/orbitron-latin-800-normal-CQafOXEd.woff2) format("woff2"),url(/assets/orbitron-latin-800-normal-P4cBi4I7.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:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-thai-600-normal-C620THcd.woff2) format("woff2"),url(/assets/chakra-petch-thai-600-normal-BiM5MXH8.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAA5oAA4AAAAAJ6QAAA4PAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEKG41yHC4GYACCfBEICqQQnx4LghgAATYCJAOECgQgBYQyB4o+Gx8jMwO2g7O6EoL/OoHOIUBs530xoSMqjSK03Gt9PUnRxTuEMTxWNNayfNTTvUy/qbSc7Knx/PNH/1t7nz8PTbNQVhbJBw70oUQBpmFC4XvXh+e3+efe9wgf6JyyNY4yCwsFCxMT2oQ2kmWn/syUh+/3a+f+RT1Rd2imeUND0/7puGSGSIhUmK5RPHRC3oq8Qb1yXpyGpPUYnoBK+S8AMGzb2ESqYHS5OTveO10MqkxQmMwG2NHv/7fWp+3q13enZxEcBPH4VJgkkEt8d73p6qlfU7vdy7PMvcQVnAmSi4wlAA8oVISN+0JGyAjjI6zI8bFVal3DpqAxQqiN8VirTeF14eu6/+wCvgDOEHNxKCgKKIoiqHA8EQiJaQipGQi5ZESqHEQeDaJIDcLAiLCwIRx8iIBBxLBZiDnmIOaaizHfAozFlmEQcKLOAUxJX2tE1vIi2AfV9r4zAAkWWGMGxSPUKxIsgQFeiC9kyTPUh8pz9QidEbq4u1fK3QgUU9pY/08JAftVXSzFDl3E+BkQQoSeHpFEjG8qSbNxGAJNSg9P/QIf9jrOVhF8c5+OPRZbYil+dBky3XQx8RsTLAIrH4F5RBDLsBLHKIzOVLSwbbm3IGSoLqb/9nerkUe+X++Pb/11P+37fbMv99k+rqws4kFxL4mrN3qpZ3pMdj7QXd3SdV1hGeyLRWKOErcCdkWkIIZMj2d7rBbnjWhFtYPaqZHWtbZS2yVUgznqpkEjj3xfJLy1auYxQRrVyY2oWFlZBF9gezH5e07k13yPnb/Mx3k3r+dFZbCKp8WjSsyLYKiIUb0/d3ItF1qF1il/asURnRp7pHyyL9UeaBUk4pbKWX3XNkzRUTE2UwVe3/xcX/k2OrbRQSLhaCbhgRhiy9mEYw1l1iorSElKUpIyVE4OKUhqpZSQKhOOssxSz1MIV/UFVqvOWU9MLbYlsHaxdtbaKWePQ28MxFayCZ/qC32zUU5YXRHpSEdlpAvLylhIpVoHrDZHWqvVJLBeDVdtBEr85UWgMJpIUyiGUimTiqmKasnW4fzQjVYnqk61ihDjv5zi6TCev+aE4PZVbW/CGwQQSAUh+BL4Gy5DCVE/4lANWPDbIiwhrN+db3DvdcV9rJ+c4sRN2LkEilTDio8ZyqHTBC4xfUUXucHGKte9uwrF4Rn/ZU8MCSwta7Nq1PIqLU+JR/xVfBSft6QfUaLEECMY27HasX9swuPVNL89L/1uH8jvDaatj1feHZICzZTrVNO8ec6r994KQ+RiRbyQ7pxGIUMO1QonJggJiBA9NZi2QERjaVciRIkSQ4xjf/hMkjRAkyER0D9u7L1BllkreNBzOxx+vHXKyIgE4BAGV3wHh/6gb6UamQfh3dV8uHsW9r6rfkfIdiCVjoJ3GFAw4A6D4Jdnww/4QIZFwTmZI8GQ8YlPgBzNlSEMy4Qwyjd/yc6vMdhtKAlPXPzkdv7lAaNGKHTkeZN+84k3woLt0XaB2SOHf18IfPIL00WRUVABPlz+bxz7ikSoMYNNjkFxnNJ1m2upcFXGqyZSJpRemArjVBIrx6clVCxECU4pAZ0pmkzVbBojCYOJ6k3SYLJGE9SJYiVlEaNDrE5yDkqtVNpEa6fQIp5LIo8kXsl8ErilCkjTJUOPLH2y9VMbkKlXvqA8wwrMpDELQdKYS8AGSA/4Cs2BKcL+GUwvoACacFWKJB34ee37rFfhuTen84nTu7vnT4ZBkYZ7+PiiVayQ5TgxKxSOE4olJ5GHkqPwAyHrLw8/Cpv4cJY66nqGOHyvCcQiPGaFIrxoD/ULF09+mm5RK2cWGzmfnbPOpkYxwxERE2pqEkOEEzrTHgqxdv1cxHIWxkIV1Fhx9GamiWugjfORao95epFIG+NZRdRs4YnYzfQkYfRcPWXAfy+HXWQTOURWylmIJZQUnWhwYRGZKEeM2NFCuDjxe6+sW5qZOCCliBSUi+bErMJGy+GUEI9trI0Ixibfrj6rPbSnhTQNRhHlHCJ60JMt2nll4RaAHpzaotJAW4joZnrCh6FoSxegp1WmHGYnFhIR4vP5nJu81DUdoRCXF+Ystk/bYUQmrl1krJs57mASb1Kv4CSoRLOoUTTJDxpUXdtCJk6H3AoYcUcVncasmaee7+eCWj/DM/I+HsP11rw05dVMXe21UxvEN1aZ4XMJ2PbE3if3dmQ74h0QjPT9OzKr4CRv+IfO2s/3xlJ3LPbpXw4GryZ73d7Eq9i/mvfEYffhp3iF8pEvXcEnLU7Ls0HXl6geCY4GUTDw9sCAfeCyInWtXrH647O9kXbs8R67I2fjnI39/vEew/GTl4m8AcqDFUHZ6udXy+zKYBHSS7Yra9Z6E4NEEZAmt8U/+vf9i6+k0mFz8UgS/YmQbp1ltZDqsoNlsv58j/cvj3e9z1Bfe/eitak+4Zn/C9+DK6kpubupsXHE6Upwuh4tyZu5vXl79WB108MZtaXL9r67d5bVBrUz0eka53bd8zaYzmdFDeg6OiKZmHLfaV85ClryVxeubneYUjL48yCqfzrvUe+0kLgQuCrvt83+dPZZ3Q63/+lxOKpfjJyT24gn9RhubDlL9MuhwL1xsMtrCQRiB38OtLQ4DuP8Pw/YZo12uJXX/MUEP+29nv8t5pJB+ZwDvnPNxqMe73ryhR2+7mi0pRnSH957zD3YfFA/qDfcp/71wZpft9i34Fy9WqGJzIrUXFVuGMVoFSV1uZlFme222P3U3JoTHky+FO3/wKn3dyzZ26ur5+vqe3EwqG9Pfr/k/eR2fV39ISQ4Jd/NaIb2f8MvE96TGYvGDA5v0Nl1SLM2l01/N/E9hVXz7oJ3a6s00S6QSG+vcYOt17WrQsiEgU4e6l0k/F2ZN3FE9cx0Q5q5x6wdm2IZ6pz5IXR55KTvpYbs9/QfTX4vyt77Rjeen1uu6zWut+3iVlHQR6JAJ13plQX3KvInjSifkRoyTd2mko+mWi7Eb/uE5ZJJ30X1u6deMe8zoACLAQEW0eJp94TbxTJtBrJ58ow43Vfl112lJ71Q/nLXfNsjD7rIjqRDJHRUhsicZeQuI4efZ/EBtKYn+mFlND11a08DTrZQskMGO9kh0yzD15pvG3mQ4joTOqGZWtyIAkihlu4UoXSknO7SO3V44Ksnnutyy0iNXFIj1wMgCo/KYBEpIDZglQz38Nnuo/KVX3eVnvRC+ctd843kQVfbkZSohVKHDN+VW7YsmUDLlOiL5f1h9gE4+0IpGnZE65Dhq9yyZYHklFOWHDIB5887FRoJUlB3d4KRY3gQ5Y3lgW4/xNAsAfR7JwWvDEMeCD+GABP4TwnGXvhj8cIH5o998dcHH1jv1xkZcALdYlbamE27V6ryM6ADKsfxWAsOylY015+OjmHepjdzMPrYpOSFXvQrmBmwn4K5FIwMY/tnIUrKnoyDkDgRr0/q6TMajNtnOWgeMYdZ67M4JVrRXH862pd5e+E0MDsksdPo45pBc3bhstAXrZbTxRt9XkhyPwbNKYkhtQfnpap9dDSGFA3g7eMvRAbkpyPxeJOc52eCXaF9SYdHx+MBoTsAHRxby8ENyM9DwuWYSTRz4uKwPPuiRYkZF5YUzKVgZBjbQq/T1HtmuQCsOF4fxSky3HQ9ItCBSXQgAh2zbvo0HnEn//ox5Bz3L+er0IgaZc01hEZc0D6L5pTGoGThf2+FNUVSIVVGfyY84X6QdZ+qStNTERD4flkZZ+M0/4UC5kvg72nHa/jmN23If0/b16oO7L0DDlFA4PcvzTcq3n0TI/7gLX9mBtiB1OLysu8JuOvrDeMyM/RjgkONKAlCrvOxT75Bc3L+GXmD/iwLbMY9dg94uPRzZFxLN3Iy3ZgQQONqbCB42sc+ugo5ODm7RlVAc5J7M72dKvDL+kVz5MAyuY/fc+o5temwwnfOJqr/KyJgo4yAFs/gmw0KjngxSFUI4FdIvAOIBF8fQIV59wBGkUOdLHsAT4mWA/jiZG0fJgs8Ceq4AflSq8NchgR8E9QhKYZNj/0j+w3xSVVPr1Ypv07dhnRq4BHk4pesmUevgBL9eriZeQxVJbpzH5l0KdKacQVkgiu8Os3Udj8/PaRPcFacWYlHq8UnXz2lytSQKViGaGr7zPQe3Wko3Sk7P3GZKbWzBsx9QoxP1eKGZEhbkUvGGAjPTaytNhjSrwvWVWGL12r9T6YdvtFPvhs+n+UTINszOaXq0q9XamuydIVLOo/raWeyuJSSefHo3wSQ4Q/+VdtAMlAMVTCEXcswLdvhdLk9Xp+/GAAhGEExvJwgGbVMFkWzOVweXyAUiZslUplcoVSpNe1and7QTzOZLVab3eF0uWHEbZUohhNy8gqK1faGGmWVmlTV1DU0tbR1dPX0DQyzGhmbmJqZW1ha1WJtY2tn7+Do5OziymJzuDy+QCgSS6TAsodqp1wGeOluws1TcD0gjrkdQDRASJHSB4NCgwEMuJsE2Mq1Fv7uIj6VagCEFCkDiAEc0QEU72KAgn84rzcQjAEDEhS9Xy2b88fa3nKvVIQn8DSo47GDFsos7bFT0tDImCBoYEfxSA46h/x4oYDBkSTqcafZRxlg8bxAQAeCDFUDDDpMECBdE4mpVAcQ5EgdQEyQiA2g5FEmOLwcQDAhQ4UOdn7xaIFABoMAgnp+/TGACQQCdgEBgguoIIHOZTtDiOHD2rruRufI0NDJ+su2/hEprnpZrAL/NmOcpJO0l24esavysbes02JpFSx6X1v+v7uoS/v27NvZTjOP99X6gt6BZngf3d/HuqD/pxgWf4JLOv+hl+DTfKgAAA==) format("woff2"),url(/assets/chakra-petch-vietnamese-600-normal-Pvj4qcw_.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:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-latin-ext-600-normal-CdGvbdDU.woff2) format("woff2"),url(/assets/chakra-petch-latin-ext-600-normal-nL80L4xU.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:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2) format("woff2"),url(/assets/chakra-petch-latin-600-normal-DQKfcdKo.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:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-thai-700-normal-B7WL5pBr.woff2) format("woff2"),url(/assets/chakra-petch-thai-700-normal-vZLZ_5L8.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/chakra-petch-vietnamese-700-normal-gQuUA8Wu.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:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-ext-700-normal-DAkvJhej.woff2) format("woff2"),url(/assets/chakra-petch-latin-ext-700-normal-BeviJPUl.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:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2) format("woff2"),url(/assets/chakra-petch-latin-700-normal-D1s_c2du.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{--bg: #080a12;--panel: #111827;--panel-border: rgba(148, 163, 184, .14);--cell: #0b1120;--cell-hover: #172138;--cell-border: rgba(148, 163, 184, .12);--text: #e5e7eb;--text-strong: #f8fafc;--muted: #8b95a7;--x: #22e4ff;--x-glow: rgba(34, 228, 255, .55);--x-soft: rgba(34, 228, 255, .12);--o: #ff3ad8;--o-glow: rgba(255, 58, 216, .55);--o-soft: rgba(255, 58, 216, .12);--draw: #cbd5e1;--warn: #ffb020;--warn-glow: rgba(255, 176, 32, .5);--font-display: "Orbitron", "Segoe UI", system-ui, sans-serif;--font-numeric: "Chakra Petch", "Segoe UI", system-ui, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 14px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{width:100%;max-width:1120px;margin:0 auto;padding:min(clamp(20px,4vw,40px),max(12px,3.5vh)) 16px min(clamp(16px,3vw,28px),max(10px,2.5vh));display:flex;flex-direction:column;align-items:center;gap:min(clamp(16px,3vw,28px),max(10px,2.5vh));overflow-x:clip}.main{width:100%;display:flex;flex-direction:column;align-items:center;gap:min(clamp(12px,2vw,18px),max(10px,1.6vh))}@media(min-width:700px)and (min-height:560px){.app--board{height:100vh;height:100dvh;min-height:640px}.app--board .main{flex:1}.app--board .play{flex:1 1 0;min-height:calc(320px + var(--board-extra));max-height:calc(620px + var(--board-extra));justify-content:center;container-type:size}.app--board .board{width:min(100cqw,100cqh - var(--board-extra),620px)}}.header{--title-size: clamp(2rem, min(7vw, 5vh), 3.4rem);width:min(100%,560px);display:grid;grid-template-columns:1fr auto 1fr;text-align:center}.title{grid-column:2;margin:0;font-family:var(--font-display);font-weight:800;font-size:var(--title-size);letter-spacing:.16em;line-height:1.1;padding-left:.16em;color:var(--o);text-shadow:0 0 6px var(--o-glow),0 0 24px rgba(255,58,216,.25)}.subtitle{grid-column:1 / -1;margin:min(8px,.8vh) 0 0;color:var(--muted);font-size:clamp(.9rem,2.4vw,1.05rem);letter-spacing:.04em}.header-avatar{grid-column:3;grid-row:1;justify-self:end;align-self:center;position:relative;width:min(var(--title-size),42px);height:min(var(--title-size),42px);padding:0;color:var(--x);background:none;border:none;border-radius:50%;cursor:pointer;touch-action:manipulation}.header-avatar:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.header-avatar__face{width:100%;height:100%;filter:drop-shadow(0 0 3px var(--x-glow));transition:filter .15s ease}.header-avatar:focus-visible{outline:2px solid var(--text-strong);outline-offset:4px}@media(hover:hover){.header-avatar:hover .header-avatar__face{filter:drop-shadow(0 0 4px var(--x-glow)) drop-shadow(0 0 12px var(--x-glow))}}.header--home .title{font-size:clamp(1.4rem,min(5.4vw,3.6vh),2rem)}.home{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;gap:min(20px,2.4vh)}.home__tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.home__tab{--tab-pad: 10px;position:relative;min-height:40px;padding:0 var(--tab-pad) 0 calc(var(--tab-pad) + .14em);font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.14em;color:var(--muted);background:none;border:none;border-radius:10px;cursor:pointer;touch-action:manipulation;transition:color .15s ease,text-shadow .15s ease}.home__tab:after{content:"";position:absolute;left:calc(var(--tab-pad) + .14em);right:calc(var(--tab-pad) + .14em);bottom:6px;height:2px;border-radius:999px;background:var(--x);box-shadow:0 0 8px var(--x-glow);transform:scaleX(0);transition:transform .2s ease}.home__tab[aria-current=true]{color:var(--x);text-shadow:0 0 8px var(--x-glow)}.home__tab[aria-current=true]:after{transform:none}@media(hover:hover){.home__tab:not([aria-current=true]):hover{color:var(--text-strong)}}.home__tab:focus-visible{outline:2px solid var(--text-strong);outline-offset:-2px}.home__slides{width:100%;display:grid;touch-action:pan-y;clip-path:inset(-32px -12px)}.home__slide{grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;text-align:center}.home__name{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,min(7vw,4.6vh),2.6rem);letter-spacing:.16em;line-height:1.1;padding-left:.16em;color:var(--o);text-shadow:0 0 6px var(--o-glow),0 0 24px rgba(255,58,216,.25)}.home__line{margin:min(8px,.8vh) 0 min(18px,2.2vh);font-size:1rem;line-height:1.5;color:var(--text);text-wrap:balance}.home__figure{width:100%;margin:0;display:flex;justify-content:center;cursor:pointer}.home .home__figure>*{width:min(100%,400px,44vh);transition:transform .2s ease,filter .2s ease}@media(hover:hover){.home__figure:hover>*{transform:scale(1.02);filter:drop-shadow(0 0 18px rgba(34,228,255,.25))}}.home__controls{width:100%;display:flex;align-items:center;justify-content:center;gap:14px}.home__play{flex:0 1 260px;min-height:60px;font-size:1.1rem;letter-spacing:.32em;padding-left:calc(28px + .32em);box-shadow:0 0 28px -8px var(--x-glow)}.home__arrow{flex:none;width:52px;height:52px;padding:0;display:grid;place-items:center;color:var(--x);background:transparent;border:1px solid rgba(34,228,255,.45);border-radius:999px;cursor:pointer;touch-action:manipulation;transition:opacity .15s ease,box-shadow .15s ease,background-color .15s ease,transform .1s ease}.home__arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.home__arrow:hover{background:var(--x-soft);box-shadow:0 0 18px -4px var(--x-glow)}.home__arrow:active{transform:scale(.94)}.home__arrow[aria-disabled=true]{opacity:.3;cursor:default;background:transparent;box-shadow:none;transform:none}.home__arrow:focus-visible{outline:2px solid var(--text-strong);outline-offset:3px}@media(max-width:399px){.home__tab{--tab-pad: 6px;font-size:.64rem;letter-spacing:.1em}.home__line{font-size:.95rem}.home__controls{gap:10px}}.setup{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px}.segmented{margin:0;padding:0;min-width:0;border:0;text-align:center}.segmented__legend{margin:0 auto 6px;padding:0;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.2em;color:var(--muted)}.segmented__choices{display:inline-flex;gap:3px;padding:3px;background:var(--panel);border:1px solid var(--panel-border);border-radius:999px}.segmented__choice{position:relative}.segmented__choice>span{display:block;padding:9px 14px;font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.12em;white-space:nowrap;color:var(--muted);border-radius:999px;cursor:pointer;touch-action:manipulation;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease}.segmented__choice input:checked+span{color:var(--bg);background:var(--x);box-shadow:0 0 12px -2px var(--x-glow)}.segmented__choice input:focus-visible+span{outline:2px solid var(--text-strong);outline-offset:2px}@media(hover:hover){.segmented__choice input:enabled:not(:checked)+span:hover{color:var(--text-strong)}}.scoreboard{width:min(100%,560px);display:grid;grid-template-columns:1fr 1fr;gap:12px}.player-panel{--accent: var(--x);--accent-glow: var(--x-glow);--avatar-size: 40px;--pad-block: 10px;--pad-inline: 16px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--pad-block) var(--pad-inline);background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);transition:border-color .2s ease,box-shadow .2s ease}.player-panel--o{--accent: var(--o);--accent-glow: var(--o-glow)}.player-panel--active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,0 0 18px -2px var(--accent-glow)}.player-panel__id{display:flex;flex-direction:column;gap:6px;min-width:0}.player-panel__label,.player-panel__score-label{font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.18em;color:var(--muted);white-space:nowrap}.player-panel--active .player-panel__label{color:var(--text-strong)}.player-panel__mark{width:30px;height:30px}.player-panel__face{display:flex;align-items:center;gap:10px}.player-panel__avatar{flex:none;width:var(--avatar-size);height:var(--avatar-size);color:var(--accent)}.player-panel__avatar .avatar{width:100%;height:100%;opacity:.7;transition:opacity .2s ease,filter .2s ease}.player-panel--active .player-panel__avatar .avatar{opacity:1;filter:drop-shadow(0 0 3px var(--accent-glow)) drop-shadow(0 0 10px var(--accent-glow));animation:avatar-glow 1.6s ease-in-out infinite alternate}.player-panel .player-panel__avatar--away .avatar{opacity:.25;filter:grayscale(.7);animation:none}.bubble{position:absolute;z-index:2;top:calc(var(--pad-block) - 6px);left:calc(var(--pad-inline) - 8px);right:calc(var(--pad-inline) - 8px);display:flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.12em;line-height:1.2;white-space:nowrap;color:var(--text-strong);background:var(--panel);border:1px solid var(--accent);border-radius:10px;box-shadow:0 0 14px -3px var(--accent-glow),0 8px 18px -10px #000c;transform-origin:calc(var(--avatar-size) / 2 + 8px) 100%;pointer-events:none;animation:bubble-pop .26s ease-out}.bubble:after{content:"";position:absolute;top:100%;left:calc(var(--avatar-size) / 2 + 4px);width:8px;height:8px;margin-top:-4px;background:var(--panel);border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(45deg)}.bubble__emoji{font-size:.95rem;letter-spacing:0;line-height:1}.player-panel__score{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.player-panel__score-value{font-family:var(--font-numeric);font-weight:700;font-size:clamp(1.8rem,5.5vw,2.5rem);line-height:1;color:var(--accent);text-shadow:0 0 10px var(--accent-glow);font-variant-numeric:tabular-nums;animation:score-pop .36s ease-out}.turn{--accent: var(--x);--accent-glow: var(--x-glow);margin:0;display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:clamp(.85rem,2.6vw,1.05rem);letter-spacing:.14em;color:var(--accent);text-shadow:0 0 8px var(--accent-glow);transition:color .2s ease}.turn--o{--accent: var(--o);--accent-glow: var(--o-glow)}.turn--draw{--accent: var(--draw);--accent-glow: rgba(203, 213, 225, .35)}.turn__mark{width:1.4em;height:1.4em;flex:none}.event{position:absolute;z-index:3;top:0;left:50%;display:flex;justify-content:center;height:var(--tab-height);max-width:calc(100% - 24px);text-align:center;white-space:nowrap;transform:translate(-50%,-50%);pointer-events:none}.event__text{display:inline-flex;align-items:center;height:100%;font-family:var(--font-display);font-weight:700;font-size:clamp(.78rem,2.3vw,.95rem);letter-spacing:.16em;line-height:1;padding:0 14px;border-radius:999px;border:1px solid currentColor;animation:event-in .26s ease-out}.event__text--x{color:var(--x);background:linear-gradient(var(--x-soft),var(--x-soft)) var(--panel);text-shadow:0 0 8px var(--x-glow)}.event__text--o{color:var(--o);background:linear-gradient(var(--o-soft),var(--o-soft)) var(--panel);text-shadow:0 0 8px var(--o-glow)}.event__text--draw{color:var(--draw);background:linear-gradient(#cbd5e114,#cbd5e114) var(--panel)}.event__text--count{font-family:var(--font-numeric);color:var(--muted);border-color:#94a3b847;background:var(--panel);animation:none}.board-frame{position:relative;width:100%;margin-top:calc(var(--tab-height) / 2);display:flex;justify-content:center}.board{width:min(100%,620px,max(320px,100vh - 400px));width:min(100%,620px,max(320px,100dvh - 400px));padding:var(--board-pad);padding-top:var(--board-pad-top);background:var(--panel);border:1px solid rgba(34,228,255,.13);border-radius:var(--radius);box-shadow:0 0 14px -6px #22e4ff40,0 12px 30px -12px #0009;transition:border-color .22s ease,box-shadow .22s ease}.board--over{border-color:#cbd5e173}.board__cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(4px,1vw,8px)}.cell{position:relative;aspect-ratio:1;width:100%;padding:0;display:grid;place-items:center;background:var(--cell);border:1px solid var(--cell-border);border-radius:clamp(6px,1.2vw,10px);color:inherit;cursor:default;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .22s ease,transform .1s ease}.cell--playable{cursor:pointer}.cell--playable:active{transform:scale(.95)}.cell:focus{outline:none}.cell:focus-visible{outline:2px solid var(--text-strong);outline-offset:2px;z-index:1}.board--waiting .cell{cursor:progress}.cell--opponent-move{border-color:#f8fafc99;box-shadow:inset 0 0 0 1px #f8fafc59,0 0 12px -4px #f8fafc80}.cell--scored-x{background:var(--x-soft);border-color:var(--x);box-shadow:0 0 14px -2px var(--x-glow),inset 0 0 12px #22e4ff33;animation:win-pulse .52s ease-in-out 2 alternate}.cell--scored-o{background:var(--o-soft);border-color:var(--o);box-shadow:0 0 14px -2px var(--o-glow),inset 0 0 12px #ff3ad833;animation:win-pulse .52s ease-in-out 2 alternate}@media(hover:hover){.cell--playable:hover{background:var(--cell-hover);border-color:#94a3b84d}.cell--playable:hover .cell__ghost{opacity:.2}}.mark{display:block;fill:none;stroke:currentColor;stroke-width:11;stroke-linecap:round;overflow:visible}.mark--x{color:var(--x);filter:drop-shadow(0 0 3px var(--x-glow)) drop-shadow(0 0 9px rgba(34,228,255,.28))}.mark--o{color:var(--o);filter:drop-shadow(0 0 3px var(--o-glow)) drop-shadow(0 0 9px rgba(255,58,216,.28))}.cell .mark{width:70%;height:70%}.mark--placed path,.mark--placed circle{stroke-dasharray:100;animation:draw-stroke .22s ease-out both}.mark--placed path:nth-child(2){animation-delay:90ms}.mark--placed{animation:mark-glow-in .32s ease-out}.cell__ghost{opacity:0;filter:none;transition:opacity .15s ease}.avatar{display:block;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.avatar__ring{stroke-width:5}.avatar--x{color:var(--x)}.avatar--o{color:var(--o)}.play{--chat-width: 184px;--chat-gap: 20px;--tab-height: 26px;--board-pad: clamp(8px, 1.6vw, 14px);--board-pad-top: calc(var(--tab-height) / 2 + 6px);--board-extra: calc(var(--tab-height) / 2 + var(--board-pad-top) - var(--board-pad));position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2vw,18px)}.chat{width:min(100%,420px);display:grid;grid-template-columns:1fr auto;grid-template-areas:"title mute" "messages messages";align-items:center;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius)}.chat__title{grid-area:title;margin:0;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.2em;color:var(--muted)}.chat__messages{grid-area:messages;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.chat__message{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.08em;white-space:nowrap;color:var(--text);background:transparent;border:1px solid rgba(148,163,184,.3);border-radius:10px;cursor:pointer;touch-action:manipulation;transition:color .15s ease,border-color .15s ease,box-shadow .15s ease,background-color .15s ease,opacity .15s ease,transform .1s ease}.chat__emoji{font-size:1rem;letter-spacing:0;line-height:1}@media(hover:hover){.chat__message:hover{color:var(--x);border-color:var(--x);box-shadow:0 0 14px -4px var(--x-glow)}}.chat__message:active{transform:translateY(1px) scale(.97);background:var(--x-soft)}.chat__message:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.chat__mute{grid-area:mute;padding:6px 12px;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.18em;color:var(--muted);background:none;border:1px solid rgba(148,163,184,.25);border-radius:999px;cursor:pointer;touch-action:manipulation;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.chat__mute[aria-pressed=true]{color:var(--o);background:var(--o-soft);border-color:var(--o)}.chat__message:focus-visible,.chat__mute:focus-visible{outline:2px solid var(--text-strong);outline-offset:2px}.chat__hint{grid-column:1 / -1;margin:0;font-size:.75rem;line-height:1.4;color:var(--muted)}@media(max-width:899px){.chat{position:absolute;z-index:5;left:0;right:0;bottom:0;margin-inline:auto;border-color:#22e4ff59;box-shadow:0 0 30px -10px var(--x-glow),0 18px 40px -12px #000000d9;animation:tray-in .18s ease-out}.chat:not(.chat--open){display:none}}@media(min-width:900px){.play--chat{display:grid;grid-template-columns:minmax(0,1fr) min(100% - 2 * (var(--chat-width) + var(--chat-gap)),620px,max(320px,100vh - 400px)) minmax(0,1fr);grid-template-columns:minmax(0,1fr) min(100% - 2 * (var(--chat-width) + var(--chat-gap)),620px,max(320px,100dvh - 400px)) minmax(0,1fr);column-gap:var(--chat-gap);align-items:start}.play--chat .board-frame{grid-column:2}.play--chat .chat{grid-column:3;width:var(--chat-width);margin-top:calc(var(--tab-height) / 2);gap:8px;padding:10px}.play--chat .chat__messages{grid-template-columns:1fr;gap:5px}.play--chat .chat__message{min-height:32px;justify-content:flex-start;padding:5px 10px}.control--chat{display:none}}@media(min-width:900px)and (min-height:560px){.app--board .play--chat{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-content:center}.app--board .play--chat .board{width:min(100cqw - 2 * (var(--chat-width) + var(--chat-gap)),100cqh - var(--board-extra),620px)}.app--board .play--chat .chat{max-height:calc(100cqh - var(--tab-height) / 2);overflow-y:auto}}.controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}.controls__utility{display:flex;gap:10px}.control{padding:12px 28px;font-family:var(--font-display);font-size:.86rem;font-weight:700;letter-spacing:.22em;color:var(--text-strong);background:transparent;border:1px solid rgba(248,250,252,.35);border-radius:12px;cursor:pointer;touch-action:manipulation;transition:color .15s ease,border-color .15s ease,box-shadow .15s ease,background-color .15s ease,transform .1s ease}.control:hover{color:var(--x);border-color:var(--x);box-shadow:0 0 18px -4px var(--x-glow)}.control:active{transform:translateY(1px) scale(.98);background:var(--x-soft)}.control:focus-visible{outline:2px solid var(--text-strong);outline-offset:3px}.control--secondary{color:var(--muted);border-color:#94a3b840}.control--secondary:hover{color:var(--o);border-color:var(--o);box-shadow:0 0 18px -4px var(--o-glow)}.control--secondary:active{background:var(--o-soft)}.control--primary{color:var(--x);background:var(--x-soft);border-color:var(--x);text-shadow:0 0 8px var(--x-glow);box-shadow:0 0 16px -6px var(--x-glow)}.control--small{padding:10px 18px;font-size:.68rem;letter-spacing:.18em;border-radius:10px}.control--icon{padding-block:0;padding-inline:12px;display:grid;place-items:center}.control--icon[aria-pressed=true]{color:var(--x)}.sound-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.control--chat[aria-expanded=true]{color:var(--x);background:var(--x-soft);border-color:var(--x)}.control--danger,.control--danger:hover{color:var(--o);background:var(--o-soft);border-color:var(--o);box-shadow:0 0 18px -4px var(--o-glow)}.control:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.lobby{width:min(100%,420px);display:flex;flex-direction:column;gap:14px;padding:clamp(18px,4vw,26px);text-align:center;background:var(--panel);border:1px solid rgba(34,228,255,.3);border-radius:18px;box-shadow:0 0 40px -14px var(--x-glow),0 18px 40px -20px #000000b3;animation:dialog-in .24s ease-out}.lobby__game{margin:0 0 -6px;font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.22em;color:var(--o);text-shadow:0 0 8px var(--o-glow)}.lobby__title{margin:0;font-family:var(--font-display);font-size:clamp(1.05rem,4.6vw,1.3rem);font-weight:800;letter-spacing:.12em;color:var(--text-strong)}.lobby__dots{display:inline-block;width:1.2em;text-align:left}.lobby__dots:after{content:"...";display:inline-block;width:1.2em;overflow:hidden;vertical-align:bottom;animation:dots 1.2s steps(4) infinite}.lobby__text{margin:0;font-size:.95rem;line-height:1.55;color:var(--text)}.lobby__actions{display:flex;flex-direction:column;gap:10px}.lobby .control{width:100%;padding-inline:16px}.lobby__join{margin-top:4px;display:flex;flex-direction:column;gap:10px}.lobby__divider{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.2em;color:var(--muted)}.lobby__divider:before,.lobby__divider:after{content:"";flex:1;height:1px;background:var(--panel-border)}.lobby__join-row{display:flex;gap:10px}.lobby__join-row .control{width:auto;flex:none}.lobby__input{flex:1;min-width:0;padding:12px 14px;font-family:var(--font-numeric);font-size:1.1rem;font-weight:700;letter-spacing:.24em;text-align:center;color:var(--text-strong);background:var(--cell);border:1px solid rgba(148,163,184,.3);border-radius:12px;transition:border-color .15s ease,box-shadow .15s ease}.lobby__input::placeholder{font-family:var(--font-display);font-size:.72rem;letter-spacing:.18em;color:var(--muted);opacity:.7}.lobby__input:focus{outline:none;border-color:var(--x);box-shadow:inset 0 0 0 1px var(--x),0 0 14px -4px var(--x-glow)}.lobby__code{margin:0;padding-left:.18em;font-family:var(--font-numeric);font-size:clamp(2rem,9vw,2.6rem);font-weight:700;letter-spacing:.18em;color:var(--x);text-shadow:0 0 10px var(--x-glow)}.lobby__hint{margin:0;font-size:.8rem;line-height:1.5;color:var(--muted)}.lobby__message{margin:0;font-size:.85rem;line-height:1.4;color:var(--muted)}.lobby__message:empty{margin-top:-14px}.lobby__message--notice{color:var(--o)}.avatar-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.avatar-picker__choice{position:relative}.avatar-picker__face{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;color:var(--muted);border:1px solid transparent;border-radius:12px;cursor:pointer;touch-action:manipulation;transition:color .15s ease,border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.avatar-picker__avatar{width:44px;height:44px}.avatar-picker__name{font-family:var(--font-display);font-size:.55rem;font-weight:700;letter-spacing:.14em}.avatar-picker__choice input:checked+.avatar-picker__face{color:var(--x);background:var(--x-soft);border-color:var(--x);box-shadow:0 0 14px -4px var(--x-glow)}.avatar-picker__choice input:checked+.avatar-picker__face .avatar{filter:drop-shadow(0 0 3px var(--x-glow))}.avatar-picker__choice input:focus-visible+.avatar-picker__face{outline:2px solid var(--text-strong);outline-offset:2px}@media(hover:hover){.avatar-picker__choice input:not(:checked)+.avatar-picker__face:hover{color:var(--text-strong);border-color:#94a3b84d}}.clock{--accent: var(--x);--accent-glow: var(--x-glow);width:min(100%,360px);display:flex;align-items:center;gap:12px}.clock--o{--accent: var(--o);--accent-glow: var(--o-glow)}.clock--low{--accent: var(--warn);--accent-glow: var(--warn-glow)}.clock__track{flex:1;height:6px;overflow:hidden;background:#94a3b824;border-radius:999px}.clock__fill{height:100%;background:var(--accent);border-radius:inherit;transform-origin:left;transition:transform .25s linear,background-color .2s ease}.clock__time{min-width:3em;text-align:right;font-family:var(--font-numeric);font-size:.95rem;font-weight:700;letter-spacing:.06em;color:var(--accent);text-shadow:0 0 8px var(--accent-glow);font-variant-numeric:tabular-nums}.note{margin:0;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.14em;line-height:1.5;text-align:center;text-transform:uppercase;color:var(--muted)}.note:empty{display:none}.time-left{font-family:var(--font-numeric);color:var(--text-strong);font-variant-numeric:tabular-nums}.modal{margin:auto;width:min(100%,400px);display:flex;flex-direction:column;gap:14px;padding:clamp(18px,4vw,24px);text-align:center;background:var(--panel);border:1px solid rgba(34,228,255,.3);border-radius:18px;box-shadow:0 0 40px -12px var(--x-glow),0 24px 60px -20px #000c;animation:dialog-in .24s ease-out}.modal__title{margin:0;font-family:var(--font-display);font-size:clamp(1.05rem,4.6vw,1.3rem);font-weight:800;letter-spacing:.12em;color:var(--text-strong)}.modal__text{margin:-4px 0 0;font-size:.9rem;line-height:1.5;color:var(--muted)}.modal .control{width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;padding:16px;overflow-y:auto;background:#04060ccc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .2s ease-out}.rules{margin:auto;width:min(100%,440px);display:flex;flex-direction:column;gap:14px;padding:clamp(16px,4vw,24px);background:var(--panel);border:1px solid rgba(34,228,255,.3);border-radius:18px;box-shadow:0 0 40px -12px var(--x-glow),0 24px 60px -20px #000c;animation:dialog-in .24s ease-out}.rules__top{display:flex;align-items:center;justify-content:space-between}.rules__step{font-family:var(--font-numeric);font-size:.72rem;font-weight:700;letter-spacing:.22em;color:var(--muted)}.rules__skip{padding:6px 10px;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.18em;color:var(--muted);background:none;border:none;border-radius:8px;cursor:pointer;transition:color .15s ease}.rules__skip:hover{color:var(--text-strong)}.rules__slide{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;animation:slide-in .26s ease-out}.rules__figure{width:100%;min-height:228px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.rules__title{margin:0;font-family:var(--font-display);font-size:clamp(1.05rem,4.6vw,1.3rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-strong)}.rules__body{margin:0;max-width:36ch;min-height:6.2em;font-size:.95rem;line-height:1.55;color:var(--text)}.rules__caption{padding:4px 12px;font-family:var(--font-display);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px}.rules__caption--x{color:var(--x);background:var(--x-soft);text-shadow:0 0 8px var(--x-glow)}.rules__caption--o{color:var(--o);background:var(--o-soft);text-shadow:0 0 8px var(--o-glow)}.rules__caption--draw{color:var(--draw);background:#cbd5e114}.rules-grid{width:min(100%,192px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.rules-grid--row{width:min(100%,288px)}.rules-grid__cell{aspect-ratio:1;display:grid;place-items:center;background:var(--cell);border:1px solid var(--cell-border);border-radius:6px}.rules-grid__cell .mark{width:74%;height:74%}.rules-grid__cell--hit-x{background:var(--x-soft);border-color:var(--x);box-shadow:0 0 10px -3px var(--x-glow)}.rules-grid__cell--hit-o{background:var(--o-soft);border-color:var(--o);box-shadow:0 0 10px -3px var(--o-glow)}.rules-grid__cell--new{border-color:#f8fafc99;box-shadow:inset 0 0 0 1px #f8fafc59}.rules-final{display:flex;align-items:center;gap:14px;font-family:var(--font-numeric);font-size:2.6rem;font-weight:700;line-height:1}.rules-final__score{display:inline-flex;align-items:center;gap:10px}.rules-final__score .mark{width:40px;height:40px}.rules-final__score--x{color:var(--x);text-shadow:0 0 10px var(--x-glow)}.rules-final__score--o{color:var(--o);text-shadow:0 0 10px var(--o-glow)}.rules-final__divider{font-size:1.6rem;color:var(--muted)}.rules__dots{display:flex;justify-content:center;gap:2px}.rules__dot{width:24px;height:24px;padding:0;display:grid;place-items:center;background:none;border:none;border-radius:999px;cursor:pointer}.rules__dot:before{content:"";width:8px;height:8px;border-radius:999px;background:#94a3b859;transition:width .2s ease,background-color .2s ease}.rules__dot[aria-current=step]:before{width:20px;background:var(--x);box-shadow:0 0 8px var(--x-glow)}.rules__nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rules__button{padding:12px 16px;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.16em;color:var(--text);background:transparent;border:1px solid rgba(148,163,184,.3);border-radius:12px;cursor:pointer;touch-action:manipulation;transition:color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .1s ease}.rules__button[aria-disabled=true]{opacity:.35;cursor:default}.rules__button--primary{color:var(--x);background:var(--x-soft);border-color:var(--x);text-shadow:0 0 8px var(--x-glow);box-shadow:0 0 16px -6px var(--x-glow)}.rules__button:not([aria-disabled=true]):active{transform:translateY(1px) scale(.98)}@media(hover:hover){.rules__button:not([aria-disabled=true]):not(.rules__button--primary):hover{color:var(--text-strong);border-color:#f8fafc8c}.rules__button--primary:hover{box-shadow:0 0 22px -4px var(--x-glow)}}.rules__skip:focus-visible,.rules__dot:focus-visible,.rules__button:focus-visible{outline:2px solid var(--text-strong);outline-offset:2px}.footer{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;text-align:center;color:var(--muted);font-size:.75rem}.footer__hint{display:none;margin:0;letter-spacing:.02em;opacity:.75}@media(hover:hover)and (pointer:fine){.footer__hint{display:block}}.footer__credit{margin:0}.footer__credit a{padding:4px 2px;color:var(--text);text-decoration-color:#94a3b873;text-underline-offset:3px;transition:color .15s ease}@media(hover:hover){.footer__credit a:hover{color:var(--x);text-decoration-color:currentColor}}.footer__credit a:focus-visible{outline:2px solid var(--text-strong);outline-offset:2px;border-radius:2px}@keyframes draw-stroke{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes mark-glow-in{0%{transform:scale(.82);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes win-pulse{0%{filter:brightness(1)}to{filter:brightness(1.45)}}@keyframes score-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes slide-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes dots{0%{width:0}to{width:1.2em}}@keyframes event-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes avatar-glow{0%{filter:drop-shadow(0 0 2px var(--accent-glow))}to{filter:drop-shadow(0 0 3px var(--accent-glow)) drop-shadow(0 0 10px var(--accent-glow))}}@keyframes tray-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.home__slide--in-next{animation:slide-in-next .3s cubic-bezier(.22,.61,.36,1) both}.home__slide--in-previous{animation:slide-in-previous .3s cubic-bezier(.22,.61,.36,1) both}.home__slide--out-next{animation:slide-out-next .3s cubic-bezier(.22,.61,.36,1) both}.home__slide--out-previous{animation:slide-out-previous .3s cubic-bezier(.22,.61,.36,1) both}@keyframes slide-in-next{0%{opacity:0;transform:translate(calc(100% + 32px))}to{opacity:1;transform:none}}@keyframes slide-in-previous{0%{opacity:0;transform:translate(calc(-100% - 32px))}to{opacity:1;transform:none}}@keyframes slide-out-next{0%{opacity:1;transform:none}to{opacity:0;transform:translate(calc(-100% - 32px))}}@keyframes slide-out-previous{0%{opacity:1;transform:none}to{opacity:0;transform:translate(calc(100% + 32px))}}@keyframes bubble-pop{0%{opacity:0;transform:translateY(6px) scale(.7)}to{opacity:1;transform:none}}@media(max-width:560px){.app{padding-top:20px}.player-panel{--pad-inline: 12px}.player-panel__label,.player-panel__score-label{font-size:.6rem;letter-spacing:.14em}.player-panel__mark{width:24px;height:24px}.player-panel__face{gap:8px}.player-panel{--avatar-size: 32px}.board{border-radius:12px}.controls{width:min(100%,420px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.control{padding:13px 8px;font-size:.78rem;letter-spacing:.14em}.controls>.control:last-of-type:nth-of-type(odd){grid-column:1 / -1}.controls__utility{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr auto}.controls__utility>.control{white-space:nowrap}.controls__utility:has(>:nth-child(2):last-child){grid-template-columns:1fr auto}.control--small{padding:10px 8px;font-size:.66rem;letter-spacing:.12em}.control--icon{padding:0 14px}}@media(max-width:420px){.segmented__choice>span{padding:9px 10px;font-size:.62rem;letter-spacing:.08em}.chat__messages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.segmented__choice>span{padding:8px 7px;letter-spacing:.04em}.play{--board-pad: 6px}.board__cells{gap:3px}.player-panel{--avatar-size: 28px;--pad-block: 8px;--pad-inline: 10px}.controls>.control{font-size:.7rem;letter-spacing:.08em}.avatar-picker__avatar{width:38px;height:38px}.player-panel__score-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.footer{letter-spacing:.06em}}@media(min-width:700px)and (max-height:799px){.subtitle{display:none}}@media(max-height:640px){.header--home .subtitle{display:none}.home .home__figure>*{width:min(100%,400px,40vh)}.rules__figure{min-height:176px}.rules-grid{width:min(100%,148px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.drop{--accent: var(--x);--accent-glow: var(--x-glow);--accent-soft: var(--x-soft);--row-step: calc(100% + clamp(4px, 1vw, 8px)) ;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3px,.6vw,4px)}.drop--o{--accent: var(--o);--accent-glow: var(--o-glow);--accent-soft: var(--o-soft)}.drop__block{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(4px,1vw,8px);padding:clamp(2px,.4vw,3px);background:#080a1299;border:1px solid var(--panel-border);border-radius:clamp(7px,1.3vw,11px);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.drop__block:nth-child(2),.drop__block:nth-child(3){--cell: #111a2f}.drop__block--aimed{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 16px -4px var(--accent-glow)}.drop__cell--aimed{border-color:#94a3b84d}@media(hover:hover){.drop__cell--aimed{background:var(--cell-hover)}}.drop__ghost{opacity:.22}.drop__disc{width:100%;height:100%;display:grid;place-items:center}.drop__disc--dropping{animation:drop-in .2s cubic-bezier(.5,0,.9,.5) both}.drop__disc--falling{animation:drop-settle .18s cubic-bezier(.5,0,.9,.5) both}.drop__block--moving{z-index:1;border-color:var(--accent);background:var(--panel);box-shadow:inset 0 0 0 1px var(--accent),0 0 16px -4px var(--accent-glow);will-change:transform}.drop__block--turning{animation:drop-rotate .4s cubic-bezier(.65,0,.35,1) both,drop-dip .4s ease-in-out both}.drop__block--turned{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 18px -2px var(--accent-glow)}@keyframes drop-in{0%{translate:0 calc(var(--rows) * -1 * var(--row-step));opacity:.2}30%{opacity:1}to{translate:0 0}}@keyframes drop-settle{0%{translate:0 calc(var(--rows) * -1 * var(--row-step))}to{translate:0 0}}@keyframes drop-rotate{0%{rotate:0deg}to{rotate:90deg}}@keyframes drop-dip{50%{scale:.92}}.cell--four-x{background:var(--x-soft);border-color:var(--x);box-shadow:0 0 14px -2px var(--x-glow),inset 0 0 12px #22e4ff33;animation:win-pulse .52s ease-in-out 4 alternate}.cell--four-o{background:var(--o-soft);border-color:var(--o);box-shadow:0 0 14px -2px var(--o-glow),inset 0 0 12px #ff3ad833;animation:win-pulse .52s ease-in-out 4 alternate}.rules-drop{width:min(100%,200px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.rules-drop__block{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.rules-step{display:flex;align-items:center;gap:14px}.rules-drop__block--alone{width:96px;gap:4px}.rules-step__arrow{width:40px;height:40px;flex:none;fill:none;stroke:var(--x);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px var(--x-glow))}@media(max-width:360px){.drop__block{gap:3px}}.cell__piece,.cell__legal{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.cell__piece>*,.cell__legal>*{grid-area:1 / 1}.cell__dot{width:16%;height:16%;border-radius:50%;opacity:.6;transition:opacity .15s ease}.cell__legal--x .cell__dot{background:var(--x);box-shadow:0 0 8px var(--x-glow)}.cell__legal--o .cell__dot{background:var(--o);box-shadow:0 0 8px var(--o-glow)}@media(hover:hover){.cell--playable:hover .cell__dot{opacity:0}}.cell__piece--flipping{animation:flip-over .24s ease-in-out both;animation-delay:var(--flip-delay)}.cell__piece--flipping .cell__was{animation:flip-was .24s linear both;animation-delay:var(--flip-delay)}.cell__piece--flipping .mark:not(.cell__was){animation:flip-now .24s linear both;animation-delay:var(--flip-delay)}@keyframes flip-over{0%{transform:scaleX(1)}50%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes flip-was{0%,49.9%{opacity:1}50%,to{opacity:0}}@keyframes flip-now{0%,49.9%{opacity:0}50%,to{opacity:1}}.rush{--accent: var(--x);--accent-glow: var(--x-glow);--accent-soft: var(--x-soft);--goal-top: var(--x);--goal-top-glow: var(--x-glow);--goal-bottom: var(--o);--goal-bottom-glow: var(--o-glow);position:relative}.rush--o{--accent: var(--o);--accent-glow: var(--o-glow);--accent-soft: var(--o-soft)}.rush--turned{--goal-top: var(--o);--goal-top-glow: var(--o-glow);--goal-bottom: var(--x);--goal-bottom-glow: var(--x-glow)}.rush:before,.rush:after{content:"";position:absolute;left:2px;right:2px;height:2px;border-radius:1px;opacity:.7;pointer-events:none}.rush:before{top:-4px;background:var(--goal-top);box-shadow:0 0 6px var(--goal-top-glow)}.rush:after{bottom:-4px;background:var(--goal-bottom);box-shadow:0 0 6px var(--goal-bottom-glow)}.rush__cell--selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 14px -4px var(--accent-glow)}.rush__target{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.rush__target>*{grid-area:1 / 1}.rush__dot{width:16%;height:16%;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);opacity:.7;transition:opacity .15s ease}@media(hover:hover){.cell--playable:hover .rush__dot{opacity:0}}.rush__cell--capture{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent),0 0 12px -3px var(--accent-glow)}.rush__cell--left:after{content:"";position:absolute;top:32%;right:32%;bottom:32%;left:32%;border:1px dashed rgba(248,250,252,.45);border-radius:50%;pointer-events:none}.rush__cell--moving{z-index:2}.rush__move{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.rush__move>*{grid-area:1 / 1}.rush__pawn{--step: calc(100% + clamp(4px, 1vw, 8px)) ;width:100%;height:100%;display:grid;place-items:center;animation:rush-slide .22s cubic-bezier(.3,0,.2,1) both}.rush__taken{animation:rush-taken .22s ease-in both}.rush__cell--moved-x{background:var(--x-soft);border-color:var(--x)}.rush__cell--moved-o{background:var(--o-soft);border-color:var(--o)}@keyframes rush-slide{0%{translate:calc(var(--dx) * var(--step)) calc(var(--dy) * var(--step))}to{translate:0 0}}@keyframes rush-taken{to{opacity:0;scale:.6}}.rush__cell--through-x{background:var(--x-soft);border-color:var(--x);box-shadow:0 0 14px -2px var(--x-glow),inset 0 0 12px #22e4ff33;animation:win-pulse .52s ease-in-out 4 alternate}.rush__cell--through-o{background:var(--o-soft);border-color:var(--o);box-shadow:0 0 14px -2px var(--o-glow),inset 0 0 12px #ff3ad833;animation:win-pulse .52s ease-in-out 4 alternate}.rules-rush{width:min(100%,108px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.rules-rush .rules-grid__cell>*{grid-area:1 / 1}.rules-rush__dot{width:18%;height:18%;border-radius:50%;background:var(--x);box-shadow:0 0 8px var(--x-glow)}.rules-rush__take{border-color:var(--x);box-shadow:inset 0 0 0 2px var(--x),0 0 10px -3px var(--x-glow)}.twist{--accent: var(--x);--accent-glow: var(--x-glow);--accent-soft: var(--x-soft);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3px,.6vw,4px)}.twist--o{--accent: var(--o);--accent-glow: var(--o-glow);--accent-soft: var(--o-soft)}.twist__block{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(4px,1vw,8px);padding:clamp(2px,.4vw,3px);background:#080a1299;border:1px solid var(--panel-border);border-radius:clamp(7px,1.3vw,11px);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.twist__block:nth-child(2),.twist__block:nth-child(3){--cell: #111a2f}.twist__block--aimed,.twist__block--moving{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 16px -4px var(--accent-glow)}.twist__block--moving{z-index:1;background:var(--panel);will-change:transform}.twist__block--turning{animation:twist-rotate .4s cubic-bezier(.65,0,.35,1) both,twist-dip .4s ease-in-out both}.twist__block--turned{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 18px -2px var(--accent-glow)}.cell--five-x{background:var(--x-soft);border-color:var(--x);box-shadow:0 0 14px -2px var(--x-glow),inset 0 0 12px #22e4ff33;animation:win-pulse .52s ease-in-out 4 alternate}.cell--five-o{background:var(--o-soft);border-color:var(--o);box-shadow:0 0 14px -2px var(--o-glow),inset 0 0 12px #ff3ad833;animation:win-pulse .52s ease-in-out 4 alternate}.twist .mark--placed path,.twist .mark--placed circle{animation-duration:.14s}.twist .mark--placed path:nth-child(2){animation-delay:40ms}.twist .mark--placed{animation-duration:.18s}.rules-twist{width:min(100%,200px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.rules-twist__block{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.rules-turn{display:flex;align-items:center;gap:14px}.rules-twist__block--alone{width:96px;gap:4px}.rules-turn__arrow{width:40px;height:40px;flex:none;fill:none;stroke:var(--x);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px var(--x-glow))}@keyframes twist-rotate{0%{rotate:0deg}to{rotate:90deg}}@keyframes twist-dip{50%{scale:.92}}@media(max-width:360px){.twist__block{gap:3px}}
