@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_48c46e{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_48c46e{--font-fraunces:"Fraunces","Fraunces Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_c8daab{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_c8daab{--font-plex-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--paper:#f1f3ef;--ink:#1a2420;--ink-soft:#4b564f;--line:#d8ddd4;--teal:#1f6f5c;--teal-soft:#7fb5a4;--gold:#c68a2e;--gold-soft:#dfba79;--wine:#8b2635;--wine-soft:#c17c88;--surface:#ffffff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#101613;--ink:#e9eee9;--ink-soft:#a9b6ac;--line:#2a332c;--teal:#4fb89b;--teal-soft:#2f6152;--gold:#e0ae5c;--gold-soft:#8a6a3c;--wine:#c1596a;--wine-soft:#7a3e48;--surface:#161d19}}:root[data-theme=dark]{--paper:#101613;--ink:#e9eee9;--ink-soft:#a9b6ac;--line:#2a332c;--teal:#4fb89b;--teal-soft:#2f6152;--gold:#e0ae5c;--gold-soft:#8a6a3c;--wine:#c1596a;--wine-soft:#7a3e48;--surface:#161d19}body{background:var(--paper);color:var(--ink);font-family:var(--font-plex-sans),"IBM Plex Sans",system-ui,sans-serif}.dashboard{max-width:960px;margin:0 auto;padding:2rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.dashboard-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.dashboard-heading h1{margin:0}.dashboard-admin-link{font-size:.85rem;color:var(--gold);text-decoration:none;white-space:nowrap}.dashboard-admin-link:hover{text-decoration:underline}.dashboard-subtitle{color:var(--ink-soft);margin-top:-1rem}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:1rem;gap:1rem}.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.kpi-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.kpi-value{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:1.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-positive .kpi-value{color:var(--teal)}.kpi-negative .kpi-value{color:var(--wine)}.kpi-hint{font-size:.78rem;color:var(--ink-soft)}.chart-row{display:grid;grid-template-columns:2fr 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:center}.chart-row-single{grid-template-columns:1fr}.chart-row svg{width:100%;height:auto;display:block}.chart-line{fill:none;stroke-width:2}.chart-zero-line{stroke:var(--line);stroke-dasharray:4 4}.chart-dot{stroke:var(--surface);stroke-width:1.5}.evolution-chart-wrap{display:flex;flex-direction:column;gap:.7rem}.evolution-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem}.evolution-legend li{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.legend-value{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.donut-wrap{display:flex;align-items:center;gap:1rem}.donut-wrap svg{width:180px;height:180px;flex-shrink:0;display:block}.donut-track{stroke:var(--line)}.donut-total-value{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:15px;fill:var(--ink)}.donut-total-label{font-size:10px;fill:var(--ink-soft)}.donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.donut-legend li{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.legend-swatch{width:10px;height:10px;border-radius:2px;display:inline-block;flex-shrink:0}.legend-pct{margin-left:auto;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink-soft)}.table-scroll{overflow-x:auto}.games-table{width:100%;border-collapse:collapse}.games-table td,.games-table th{padding:.6rem .5rem;border-bottom:1px solid var(--line);text-align:left}.games-table td.num,.games-table th.num{text-align:right;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.game-name{display:block}.game-type{text-transform:capitalize}.game-numbers,.game-type{display:block;font-size:.75rem;color:var(--ink-soft)}.game-numbers{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;white-space:pre-line}.game-photos{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.2rem}.game-photo-link{font-size:.75rem;color:var(--teal);text-decoration:none}.game-photo-link:hover{text-decoration:underline}.status-pill{font-size:.72rem;padding:.15rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.status-abierto{background:color-mix(in srgb,var(--teal) 16%,transparent);color:var(--teal)}.status-pendiente{background:color-mix(in srgb,var(--gold) 20%,transparent);color:var(--gold)}.status-finalizado{background:color-mix(in srgb,var(--ink-soft) 20%,transparent);color:var(--ink-soft)}.profit-positive{color:var(--teal)}.profit-negative{color:var(--wine)}.muted{color:var(--ink-soft)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.75rem;display:flex;flex-direction:column;gap:1rem}.login-card h1{margin:0}.login-logo{width:56px;height:56px;border-radius:12px;object-fit:cover;align-self:center}.login-field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--ink-soft)}.login-field input{font:inherit;padding:.55rem .65rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}.login-card button{font:inherit;padding:.6rem .9rem;border:none;border-radius:6px;background:var(--teal);color:var(--surface);cursor:pointer}.login-card button:disabled{opacity:.6;cursor:default}.login-error{color:var(--wine);font-size:.85rem;margin:0}.login-back{align-self:center;font-size:.82rem;color:var(--ink-soft);text-decoration:none}.login-back:hover{color:var(--ink)}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header-inner{max-width:1080px;margin:0 auto;padding:1rem 1.25rem;justify-content:space-between;gap:1rem}.site-brand,.site-header-inner{display:flex;align-items:center}.site-brand{gap:.5rem;font-weight:700;font-size:1.1rem;color:var(--ink);text-decoration:none}.site-brand-logo{width:28px;height:28px;border-radius:6px;object-fit:cover}.site-nav{display:flex;align-items:center;gap:1.25rem}.site-nav a{color:var(--ink-soft);text-decoration:none;font-size:.9rem}.site-nav a:hover{color:var(--ink)}.site-nav-cta{background:var(--teal);color:var(--surface)!important}.site-nav-admin,.site-nav-cta{padding:.45rem .9rem;border-radius:6px}.site-nav-admin{border:1px solid var(--gold);color:var(--gold)!important}.hero{max-width:1080px;margin:0 auto;padding:4rem 1.25rem 3rem;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;grid-gap:2rem;gap:2rem}.hero-eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:600;margin:0 0 .6rem}.hero-title{font-family:var(--font-fraunces),Georgia,serif;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;line-height:1.03;margin:0 0 1.1rem}.shimmer{background:linear-gradient(100deg,var(--gold) 0,var(--wine) 32%,var(--teal) 62%,var(--gold) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s ease-in-out infinite}@keyframes shimmer{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.hero-sub{font-size:1.02rem;color:var(--ink-soft);max-width:46ch;margin:0 0 1.6rem}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem}.btn{font:inherit;font-size:.92rem;font-weight:500;padding:.75rem 1.3rem;border-radius:10px;cursor:pointer;border:1px solid transparent;text-decoration:none;display:inline-block}.btn-primary{background:var(--teal);color:var(--paper)}.btn-primary:hover{background:var(--ink)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink-soft)}.btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.hero-art{position:relative;aspect-ratio:1/1;max-width:380px;margin:0 auto}.hero-art-glow{position:absolute;inset:8%;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 30%,transparent) 0,transparent 70%);filter:blur(4px);animation:pulse 5s ease-in-out infinite}.hero-bag{position:relative;width:82%;height:auto;margin:9% auto 0;display:block;filter:drop-shadow(0 18px 26px rgba(26,36,32,.22));animation:bagBreathe 4.5s ease-in-out infinite}.hero-bill,.hero-coin{position:absolute;animation:fly-into-bag linear infinite}.hero-coin{width:40px}.hero-bill{width:54px}.c1{--sx:150px;--sy:-170px;--srot:22deg;top:32%;left:44%;width:40px;animation-duration:3.6s;animation-delay:0s}.c2{--sx:-150px;--sy:-150px;--srot:-18deg;top:28%;left:54%;width:32px;animation-duration:4s;animation-delay:1.3s}.c3{--sx:60px;--sy:-220px;--srot:-10deg;top:36%;left:40%;width:28px;animation-duration:3.2s;animation-delay:2.4s}.c4{--sx:-140px;--sy:-180px;--srot:-25deg;top:30%;left:50%;width:30px;animation-duration:3.4s;animation-delay:.7s}.bl1{--sx:170px;--sy:-140px;--srot:20deg;top:24%;left:58%;animation-duration:3.8s;animation-delay:1.9s}.bl1,.bl2{width:54px}.bl2{--sx:-180px;--sy:-110px;--srot:-15deg;top:26%;left:34%;animation-duration:4.2s;animation-delay:3.1s}@keyframes bagBreathe{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-10px) rotate(1.5deg)}}@keyframes fly-into-bag{0%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(var(--srot)) scale(1)}12%{opacity:1}80%{opacity:1;transform:translate(calc(var(--sx) * .15),calc(var(--sy) * .15)) rotate(calc(var(--srot) * .5)) scale(.75)}to{opacity:0;transform:translateY(8px) rotate(0deg) scale(.35)}}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.hero-features{max-width:1080px;margin:0 auto 3rem;padding:0 1.25rem;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem}.feature-kicker{font-family:var(--font-plex-mono),monospace;color:var(--gold);font-size:.82rem}.feature-card h2{font-size:1rem;font-weight:600;margin:.5rem 0 .4rem}.feature-card p{margin:0;font-size:.86rem;color:var(--ink-soft)}@media (prefers-reduced-motion:reduce){.hero-art-glow,.hero-bag,.hero-bill,.hero-coin,.shimmer{animation:none!important}}@media (max-width:860px){.hero{grid-template-columns:1fr}.hero-art{order:-1;max-width:280px}.hero-features{grid-template-columns:1fr}}.portfolio-section{max-width:1080px;margin:0 auto;padding:1rem 1.25rem 4rem}.portfolio-section h2{margin-bottom:.25rem}.portfolio-intro{margin-top:0;margin-bottom:1.5rem}.portfolio-empty,.portfolio-intro{color:var(--ink-soft)}.portfolio-groups{display:flex;flex-direction:column;gap:2rem}.portfolio-group-title{margin:0 0 .9rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1.25rem;gap:1.25rem}.portfolio-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit}.portfolio-image{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--paper)}.portfolio-body{padding:1rem}.portfolio-body h4{margin:0 0 .35rem;font-size:1rem}.portfolio-body p{margin:0;color:var(--ink-soft);font-size:.88rem}.site-footer{border-top:1px solid var(--line);padding:1.5rem 1.25rem;text-align:center;color:var(--ink-soft);font-size:.82rem}.site-footer p{margin:.25rem 0}.site-footer a{color:var(--ink-soft)}.site-footer a:hover{color:var(--ink)}.frase-modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--ink) 55%,transparent);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100;animation:frase-fade-in .2s ease-out}.frase-modal{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:2rem 1.75rem 1.75rem;text-align:center;display:flex;flex-direction:column;gap:1.1rem;animation:frase-pop-in .22s ease-out}.frase-modal-text{margin:0;font-family:var(--font-fraunces),Georgia,serif;font-size:1.3rem;line-height:1.4;color:var(--ink)}.frase-modal-repeat{margin:0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-weight:600}.frase-modal-close{align-self:center;font:inherit;padding:.55rem 1.4rem;border:none;border-radius:6px;background:var(--teal);color:var(--surface);cursor:pointer}@keyframes frase-fade-in{0%{opacity:0}to{opacity:1}}@keyframes frase-pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}