@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.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{--color-bg: #0f172a;--color-bg-felt: #0b1220;--color-surface: #192134;--color-surface-raised: #1f2940;--color-surface-muted: #0f1f2b;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .16);--color-fg: #f8fafc;--color-fg-muted: #94a3b8;--color-fg-subtle: #64748b;--color-on-primary: #ffffff;--color-on-accent: #0f172a;--color-primary: #15803d;--color-primary-hover: #16974a;--color-secondary: #166534;--color-accent: #d97706;--color-accent-hover: #f59e0b;--color-ring: #22c55e;--color-suit-black: #e2e8f0;--color-suit-red: #f87171;--color-verdict-best: #4ade80;--color-verdict-correct: #a3e635;--color-verdict-inaccuracy: #facc15;--color-verdict-wrong: #fb923c;--color-verdict-blunder: #f87171;--color-success: #22c55e;--color-danger: #ef4444;--color-warning: #f59e0b;--color-info: #38bdf8;--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.5rem;--font-size-xl: 2rem;--font-size-2xl: 2.5rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.7;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 3px rgba(34, 197, 94, .45);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--content-max-width: 1120px;--touch-target-min: 44px;--z-base: 0;--z-sticky: 10;--z-dropdown: 20;--z-overlay: 40;--z-modal: 50;--z-toast: 100}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100dvh}h1,h2,h3,h4{margin:0 0 var(--space-3);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}p{margin:0 0 var(--space-4)}button,input,select{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.tabular-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.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}.verdict-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em;text-transform:uppercase;color:var(--color-bg);white-space:nowrap}.verdict-badge--Best{background:var(--color-verdict-best)}.verdict-badge--Correct{background:var(--color-verdict-correct)}.verdict-badge--Inaccuracy{background:var(--color-verdict-inaccuracy)}.verdict-badge--Wrong{background:var(--color-verdict-wrong);color:var(--color-fg)}.verdict-badge--Blunder{background:var(--color-verdict-blunder);color:var(--color-fg)}.honesty-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface-muted);color:var(--color-fg-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.honesty-tag__confidence{color:var(--color-fg-subtle);font-style:italic}.dashboard{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.dashboard__empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--color-fg-muted);margin:0}.dashboard__empty--inline{padding:var(--space-4)}.dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.dashboard__stat-card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.dashboard__stat-label{color:var(--color-fg-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dashboard__stat-label.honesty-tag{align-self:flex-start}.dashboard__stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-fg)}.dashboard__section{display:flex;flex-direction:column;gap:var(--space-3)}.dashboard__section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.dashboard__verdict-bar{display:flex;width:100%;height:var(--space-5);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.dashboard__verdict-segment{min-width:2px;transition:flex-basis var(--duration-base) var(--ease-out)}.dashboard__verdict-legend{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-4);margin:0;padding:0;font-size:var(--font-size-sm);color:var(--color-fg-muted)}.dashboard__verdict-legend-item{display:inline-flex;align-items:center;gap:var(--space-1)}.dashboard__verdict-label{color:var(--color-fg);font-weight:var(--font-weight-medium)}.dashboard__verdict-swatch{width:10px;height:10px;border-radius:var(--radius-sm);display:inline-block}.dashboard__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.dashboard__table th,.dashboard__table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.dashboard__table th{color:var(--color-fg-muted);font-weight:var(--font-weight-medium)}.dashboard__danger-zone{display:flex;justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.dashboard__reset-btn{min-height:var(--touch-target-min);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-danger);background:transparent;color:var(--color-danger);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.dashboard__reset-btn:hover{background:var(--color-danger);color:var(--color-fg)}.card-view{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:56px;min-height:76px;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);box-shadow:var(--shadow-sm)}.card-view--sm{min-width:40px;min-height:56px}.card-view--lg{min-width:72px;min-height:96px}.card-view__rank{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-fg);line-height:1}.card-view--sm .card-view__rank{font-size:var(--font-size-md)}.card-view__suit{font-size:var(--font-size-md);line-height:1}.card-view__suit--red{color:var(--color-suit-red)}.card-view__suit--black{color:var(--color-suit-black)}.equity-widget{display:flex;flex-direction:column;gap:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.equity-widget__hands{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.equity-widget__hand,.equity-widget__board{display:flex;flex-direction:column;gap:var(--space-2)}.equity-widget__hand-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-fg-muted)}.equity-widget__cards{display:flex;gap:var(--space-2);min-height:56px;align-items:center}.equity-widget__board-empty{color:var(--color-fg-subtle);font-size:var(--font-size-sm)}.equity-widget__selects{display:flex;gap:var(--space-2)}.equity-widget__card-select select{min-height:var(--touch-target-min);min-width:72px;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-fg);font-size:var(--font-size-base)}.equity-widget__street-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.equity-widget__street-btn{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-fg-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.equity-widget__street-btn:hover{color:var(--color-fg);border-color:var(--color-fg-muted)}.equity-widget__street-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.equity-widget__readout{text-align:center;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted)}.equity-widget__equity{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-fg)}.equity-widget__note{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--color-fg-subtle)}.equity-widget__note code{font-family:var(--font-mono)}.equity-widget__pot-odds{display:flex;flex-direction:column;gap:var(--space-3)}.equity-widget__slider-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-fg-muted)}.equity-widget__slider-label input[type=range]{width:100%}.equity-widget__math{color:var(--color-fg-muted);font-size:var(--font-size-sm);margin:0}.equity-widget__verdict{margin:0;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.equity-widget__verdict--good{background:color-mix(in srgb,var(--color-verdict-best) 18%,var(--color-surface-muted));color:var(--color-verdict-best)}.equity-widget__verdict--bad{background:color-mix(in srgb,var(--color-verdict-blunder) 18%,var(--color-surface-muted));color:var(--color-verdict-blunder)}.mdf-widget{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.mdf-widget__slider-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-fg-muted)}.mdf-widget__slider-label input[type=range]{width:100%}.mdf-widget__readouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.mdf-widget__stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);text-align:center}.mdf-widget__stat-label{font-size:var(--font-size-xs);color:var(--color-fg-muted)}.mdf-widget__stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-fg)}.mdf-widget__math{color:var(--color-fg-muted);font-size:var(--font-size-sm);margin:0}.mdf-widget__explainer{color:var(--color-fg-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.range-grid-block{width:100%}.range-grid-wrapper{overflow-x:auto}.range-grid{display:grid;grid-template-columns:repeat(13,minmax(26px,1fr));gap:1px;min-width:420px;max-width:560px;margin:0 auto;background:var(--color-border-strong);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden}.range-grid__cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;font-weight:var(--font-weight-semibold);color:var(--color-bg);cursor:default}.range-grid__cell--hero{outline:2px solid var(--color-ring);outline-offset:-2px;position:relative;z-index:1;font-size:10px}.range-grid__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);margin-top:var(--space-3);font-size:var(--font-size-xs);color:var(--color-fg-muted)}.range-grid__legend-item{display:flex;align-items:center;gap:var(--space-1)}.range-grid__legend-swatch{width:12px;height:12px;border-radius:var(--radius-sm);display:inline-block}.range-grid__legend-swatch--hero{background:transparent;border:2px solid var(--color-ring)}.position-widget{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.position-widget__seats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.position-widget__seat-btn{min-height:var(--touch-target-min);min-width:56px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-fg-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.position-widget__seat-btn:hover{color:var(--color-fg);border-color:var(--color-primary)}.position-widget__seat-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.position-widget__readout{text-align:center;color:var(--color-fg-muted);font-size:var(--font-size-base);margin:0}.position-widget__readout strong{color:var(--color-fg)}.topic{display:flex;flex-direction:column;gap:var(--space-4);color:var(--color-fg);line-height:var(--line-height-relaxed)}.topic p{margin:0;color:var(--color-fg)}.topic code{font-family:var(--font-mono);font-size:.9em;background:var(--color-surface-muted);padding:1px 4px;border-radius:var(--radius-sm)}.topic__exhibit{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.topic__exhibit-title{font-size:var(--font-size-md);margin:0}.topic__exhibit-blurb{color:var(--color-fg-muted);font-size:var(--font-size-sm);margin:0}.topic__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.topic__table th,.topic__table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.topic__table th{color:var(--color-fg-muted);font-weight:var(--font-weight-medium)}.topic__table td:first-child{font-weight:var(--font-weight-semibold)}.rps-widget{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.rps-widget__sliders{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.rps-widget__slider-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-fg-muted)}.rps-widget__slider-label input[type=range]{width:100%}.rps-widget__opponent{color:var(--color-fg-muted);font-size:var(--font-size-sm);margin:0;text-align:center}.rps-widget__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.rps-widget__table th,.rps-widget__table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.rps-widget__row--best{background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.rps-widget__verdict{margin:0;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.rps-widget__verdict--neutral{background:color-mix(in srgb,var(--color-verdict-best) 18%,var(--color-surface-muted));color:var(--color-verdict-best)}.rps-widget__verdict--exploit{background:color-mix(in srgb,var(--color-accent) 18%,var(--color-surface-muted));color:var(--color-accent-hover)}.learn{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-6);align-items:start}.learn__nav{position:sticky;top:calc(var(--space-6) + 56px);display:flex;flex-direction:column;gap:var(--space-1)}.learn__nav-item{text-align:left;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-fg-muted);font-size:var(--font-size-sm);line-height:var(--line-height-tight);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.learn__nav-item:hover{background:var(--color-surface);color:var(--color-fg)}.learn__nav-item--active{background:var(--color-surface-raised);color:var(--color-fg);font-weight:var(--font-weight-semibold);border-left:3px solid var(--color-primary);padding-left:calc(var(--space-3) - 3px)}.learn__article{max-width:720px;display:flex;flex-direction:column;gap:var(--space-5)}.learn__title{font-size:var(--font-size-xl);margin:0}.learn__drill{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.learn__drill-btn{min-height:var(--touch-target-min);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:none;background:var(--color-accent);color:var(--color-on-accent);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-out)}.learn__drill-btn:hover{background:var(--color-accent-hover)}.learn__drill-note{margin:0;color:var(--color-fg-subtle);font-size:var(--font-size-xs)}@media(max-width:720px){.learn{grid-template-columns:1fr}.learn__nav{position:static;flex-direction:row;flex-wrap:wrap}}.action-bar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md)}.action-bar__buttons{display:flex;gap:var(--space-3)}.action-bar__btn{flex:1;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-fg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.action-bar__btn:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-raised)}.action-bar__btn:disabled{opacity:.4;cursor:not-allowed}.action-bar__btn--fold{color:var(--color-fg-muted)}.action-bar__btn--check,.action-bar__btn--call{background:var(--color-info);border-color:var(--color-info);color:var(--color-bg)}.action-bar__btn--check:hover:not(:disabled),.action-bar__btn--call:hover:not(:disabled){filter:brightness(1.08)}.action-bar__btn--raise{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.action-bar__btn--raise:hover:not(:disabled){background:var(--color-accent-hover)}.action-bar__raise{display:flex;flex-direction:column;gap:var(--space-2)}.action-bar__raise-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-fg-muted)}.action-bar__slider{width:100%;height:var(--touch-target-min);accent-color:var(--color-accent);cursor:pointer}.action-bar__raise-range{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-fg-subtle)}.seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:108px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.seat--hero{border-color:var(--color-accent)}.seat--to-act{border-color:var(--color-ring);box-shadow:var(--shadow-focus)}.seat--folded{opacity:.5}.seat--winner{border-color:var(--color-verdict-best);box-shadow:0 0 0 2px var(--color-verdict-best)}.seat__button{position:absolute;top:-10px;right:-10px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-sm)}.seat__hole{display:flex;gap:2px;min-height:56px;align-items:center}.seat__card-back{display:inline-block;width:32px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:repeating-linear-gradient(135deg,var(--color-secondary),var(--color-secondary) 4px,var(--color-surface-raised) 4px,var(--color-surface-raised) 8px)}.seat__empty{display:inline-block;width:32px;height:44px}.seat__info{display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center}.seat__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-fg-muted);letter-spacing:.04em;text-transform:uppercase}.seat__stack{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-fg)}.seat__committed{font-size:var(--font-size-xs);color:var(--color-accent)}.seat__status{font-size:var(--font-size-xs);color:var(--color-fg-subtle)}.seat__status--allin{color:var(--color-warning);font-weight:var(--font-weight-semibold)}.seat__last-action{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-info);background:var(--color-surface-muted);border-radius:var(--radius-sm);padding:1px var(--space-2)}.seat__thinking{display:inline-flex;align-items:center;gap:3px;padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-muted)}.seat__thinking-dot{width:5px;height:5px;border-radius:var(--radius-pill);background:var(--color-fg-muted);animation:seat-thinking-pulse 1.1s ease-in-out infinite}.seat__thinking-dot:nth-child(2){animation-delay:.15s}.seat__thinking-dot:nth-child(3){animation-delay:.3s}@keyframes seat-thinking-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.15)}}.table{position:relative;width:100%;max-width:920px;aspect-ratio:16 / 10;margin:0 auto}.table__felt{position:absolute;inset:8%;border-radius:50%/45%;background:radial-gradient(ellipse at center,var(--color-primary) 0%,var(--color-secondary) 65%,var(--color-bg-felt) 100%);border:10px solid var(--color-surface-raised);box-shadow:var(--shadow-lg),inset 0 0 60px #00000059;display:flex;align-items:center;justify-content:center}.table__center{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.table__board{display:flex;gap:var(--space-2);min-height:64px;align-items:center}.table__board-empty{color:var(--color-on-primary);opacity:.7;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.table__pot{color:var(--color-on-primary);background:#0f172a8c;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.table__seat-slot{position:absolute;transform:translate(-50%,-50%)}@media(max-width:768px){.table{aspect-ratio:3 / 4}.table__felt{border-radius:40%/25%}}.verdict-reveal{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);animation:verdict-reveal-in var(--duration-base) var(--ease-out)}@keyframes verdict-reveal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hand-review{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);animation:hand-review-in var(--duration-slow) var(--ease-out)}@keyframes hand-review-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.hand-review{animation:none}}.hand-review__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.hand-review__title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-fg)}.hand-review__toggle{min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-fg-muted);font-size:var(--font-size-sm);transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.hand-review__toggle:hover{color:var(--color-fg);border-color:var(--color-fg-muted)}.hand-review__loading,.hand-review__empty{margin:0;padding:var(--space-3) 0;color:var(--color-fg-subtle);font-size:var(--font-size-sm)}.hand-review__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.hand-review__row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);border-left:3px solid var(--color-border-strong)}.hand-review__row--Best{border-left-color:var(--color-verdict-best)}.hand-review__row--Correct{border-left-color:var(--color-verdict-correct)}.hand-review__row--Inaccuracy{border-left-color:var(--color-verdict-inaccuracy)}.hand-review__row--Wrong{border-left-color:var(--color-verdict-wrong)}.hand-review__row--Blunder{border-left-color:var(--color-verdict-blunder)}.hand-review__row--ungraded{border-left-style:dashed;border-left-color:var(--color-border-strong);opacity:.75}.hand-review__row--ungraded .hand-review__reasoning{font-style:italic}.hand-review__row--biggest-leak{border-left-color:var(--color-accent);border-left-width:4px;background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface-muted))}.hand-review__leak-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.hand-review__row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.hand-review__meta{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.hand-review__street{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-fg-subtle)}.hand-review__position{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-fg-muted)}.hand-review__action{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-fg)}.hand-review__grade{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.hand-review__delta-ev{font-size:var(--font-size-sm);color:var(--color-fg-muted)}.hand-review__reasoning{margin:0;font-size:var(--font-size-sm);line-height:1.5;color:var(--color-fg-muted)}.play-setup{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.play-setup__blurb{color:var(--color-fg-muted)}.play-setup__field{display:flex;flex-direction:column;gap:var(--space-1)}.play-setup__field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-fg-muted)}.play-setup__field select{min-height:var(--touch-target-min);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-fg);font-size:var(--font-size-base)}.play-setup__bots{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface)}.play-setup__start{align-self:flex-start;min-height:var(--touch-target-min);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:none;background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-out)}.play-setup__start:hover{background:var(--color-primary-hover)}.play-table-view{display:flex;flex-direction:column;gap:var(--space-5);max-width:960px;margin:0 auto}.play-table-view__header{display:flex;align-items:center;gap:var(--space-5)}.play-table-view__stat{font-size:var(--font-size-sm);color:var(--color-fg-muted);display:flex;gap:var(--space-2)}.play-table-view__stat--up .tabular-nums{color:var(--color-verdict-best)}.play-table-view__stat--down .tabular-nums{color:var(--color-verdict-blunder)}.play-table-view__change-lineup{margin-left:auto;min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-fg-muted)}.play-table-view__change-lineup:hover:not(:disabled){color:var(--color-fg);border-color:var(--color-fg-muted)}.play-table-view__waiting{text-align:center;color:var(--color-fg-subtle);font-size:var(--font-size-sm);padding:var(--space-4)}.play-showdown{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md)}.play-showdown__results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-fg)}.play-showdown__next{align-self:flex-start;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-6);border-radius:var(--radius-md);border:none;background:var(--color-accent);color:var(--color-on-accent);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.play-showdown__next:hover:not(:disabled){background:var(--color-accent-hover)}.trainer{display:flex;flex-direction:column;gap:var(--space-6)}.trainer__filters{display:flex;flex-wrap:wrap;gap:var(--space-4)}.trainer__filter-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-fg-muted)}.trainer__filter-label select{min-height:var(--touch-target-min);min-width:160px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-fg);font-size:var(--font-size-base)}.trainer__spot-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.trainer__spot-meta{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);text-align:center}.trainer__position{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-fg)}.trainer__facing{color:var(--color-fg-muted);font-size:var(--font-size-sm)}.trainer__hero-cards{display:flex;gap:var(--space-2)}.trainer__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);width:100%}.trainer__action-btn{flex:1 1 140px;min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-fg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.trainer__action-btn:hover:not(:disabled){background:var(--color-surface-raised);border-color:var(--color-primary)}.trainer__action-btn:disabled{opacity:.5;cursor:not-allowed}.trainer__result{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.trainer__freq-readout{color:var(--color-fg-muted);font-size:var(--font-size-sm);margin:0;text-align:center}.trainer__next-btn{min-height:var(--touch-target-min);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:none;background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-out)}.trainer__next-btn:hover{background:var(--color-primary-hover)}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-shell__header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.app-shell__header-inner{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-4);display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}.app-shell__brand{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-3) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-fg)}.app-shell__brand-suit{color:var(--color-suit-red);font-size:var(--font-size-lg);line-height:1}.app-shell__tabs{display:flex;gap:var(--space-2)}.app-shell__tab{appearance:none;background:none;border:none;border-bottom:3px solid transparent;min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-fg-muted);transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.app-shell__tab:hover{color:var(--color-fg)}.app-shell__tab[aria-selected=true]{color:var(--color-fg);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.app-shell__main{flex:1;width:100%;max-width:var(--content-max-width);margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-8)}
