@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-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:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_7ff2d9{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_7ff2d9{--font-montserrat:"Montserrat","Montserrat Fallback"}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aa1b27f9e325731f-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:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c126d80dc21dff90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/e850464f9dfbb75b-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:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/357067f10075d686-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/68180864d7f93f02-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:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aa1b27f9e325731f-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:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c126d80dc21dff90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/e850464f9dfbb75b-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:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/357067f10075d686-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/68180864d7f93f02-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:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aa1b27f9e325731f-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:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c126d80dc21dff90-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/e850464f9dfbb75b-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:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/357067f10075d686-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/68180864d7f93f02-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:Nunito Sans Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_ac2536{font-family:Nunito Sans,Nunito Sans Fallback;font-style:normal}.__variable_ac2536{--font-nunito:"Nunito Sans","Nunito Sans Fallback"}@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-20c4,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 Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_0b1302{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-weight:500;font-style:normal}.__variable_0b1302{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--bg:#f3ece0;--sidebar:#e8dfcd;--surface:#fdfaf4;--surface-alt:#efe8da;--sunken:#f7f2e8;--text:#2b2724;--text-soft:#4b443d;--muted:#8a8076;--muted-strong:#7b7268;--muted-weak:#a09789;--border:#e0d6c4;--green:#6f9f3f;--green-hover:#7cb342;--green-shadow:#567f2e;--green-tint:#eaf3dd;--green-tint-2:#e2edd2;--green-tint-3:#d3e5bd;--green-border:#c3dc9f;--green-text:#4d7a26;--green-link:#5d8a33;--red:#c0503a;--red-text:#a8402c;--red-tint:#f7e3dd;--red-tint-2:#f4dcd6;--amber:#b8862b;--blue:#3d7ea6;--blue-tint:#e4eef6;--blue-border:#9dc3dd;--chip:#e7dfd0;--chip-hover:#ded4c2;--chip-alt:#eae1d0;--chip-dark:#dfd5c1;--board-light:#eeeed2;--board-dark:#7d9c56;--board-last-light:#f6f682;--board-last-dark:#b9ca43;--board-sel-light:#e8ec6f;--board-sel-dark:#a3bb3a;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 2px rgba(60,48,30,0.08);--shadow:0 1px 3px rgba(60,48,30,0.09);--shadow-md:0 2px 4px rgba(60,48,30,0.14);--shadow-board:0 8px 24px rgba(60,48,30,0.18);--shadow-modal:0 20px 60px rgba(43,39,36,0.28);--font-display:var(--font-montserrat),system-ui,sans-serif;--font-body:var(--font-nunito),system-ui,sans-serif;--font-mono:var(--font-plex-mono),ui-monospace,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:var(--green-link);text-decoration:none}a:hover{color:var(--green-hover)}button,input,textarea{font:inherit;color:inherit}button:focus,input:focus{outline:none}:focus-visible{outline:2px solid var(--green);outline-offset:2px}::placeholder{color:var(--muted-weak)}@keyframes g-sweep{to{transform:rotate(1turn)}}@keyframes g-rise{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes g-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.app{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:236px;flex:none;background:var(--sidebar);display:flex;flex-direction:column;padding:20px 14px 16px;gap:18px}.brand{gap:10px;padding:4px 8px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:36px;height:36px;flex:none;border-radius:10px;background:var(--green);color:#fff;justify-content:center;font-size:24px;line-height:1;padding-bottom:3px;box-shadow:0 3px 0 var(--green-shadow)}.brand-name{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.01em;color:var(--text)}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;cursor:pointer;color:var(--muted-strong);font-size:14.5px;border:none;background:transparent;text-align:left;width:100%}.nav-item:hover{background:var(--surface-alt);color:var(--text)}.nav-item.active{background:var(--surface);font-weight:700;color:var(--text);box-shadow:var(--shadow-sm)}.nav-icon{font-size:19px;width:20px;text-align:center}.nav-item.active .nav-icon{color:var(--green)}.nav-item.promo{margin-top:8px;background:linear-gradient(135deg,#5f9135,#79a947);color:#fff;font-weight:800;box-shadow:0 3px 0 #426d24,0 8px 20px rgba(66,109,36,.16)}.nav-item.promo.active,.nav-item.promo:hover{background:linear-gradient(135deg,#527f2d,#6f9e3e);color:#fff}.nav-item.promo .nav-icon,.nav-item.promo.active .nav-icon{color:#fff4ad}.nav-price{padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.2);font-size:10px;letter-spacing:-.02em}.nav-badge,.nav-price{margin-left:auto;font-family:var(--font-mono)}.nav-badge{font-size:11px;background:var(--red);color:#fff;border-radius:20px;padding:2px 8px}.kicker{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.calib-card{padding:15px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.calib-value{font-family:var(--font-mono);font-size:26px;color:var(--green-link)}.progress{background:var(--chip-alt);margin-top:10px;overflow:hidden}.progress,.progress-fill{height:7px;border-radius:20px}.progress-fill{background:var(--green);transition:width .3s ease}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.lang-switch{display:flex;gap:4px;padding:4px;border-radius:10px;background:var(--chip-dark)}.lang-opt{flex:1 1;text-align:center;padding:7px;border-radius:7px;font-family:var(--font-mono);font-size:11.5px;cursor:pointer;border:none;background:transparent;color:var(--muted)}.lang-opt.active{background:var(--surface);color:var(--text)}.user-chip{display:flex;align-items:center;gap:11px;padding:9px;border-radius:var(--radius);cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.user-chip:hover{background:var(--surface-alt)}.avatar{width:36px;height:36px;flex:none;border-radius:10px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:14px}.avatar.dark{background:#3f3a34;color:var(--bg)}.avatar.neutral{background:var(--chip);color:var(--green-text)}.avatar.lg{width:78px;height:78px;border-radius:18px;font-size:28px;font-weight:800}.avatar.md{width:42px;height:42px;border-radius:11px;font-size:15px}.avatar.sm{width:38px;height:38px;border-radius:11px;font-size:14px}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1 1;min-width:0;position:relative}.screen{max-width:1160px;margin:0 auto;padding:40px 40px 60px}.screen.tight{padding-top:28px}.screen.narrow{max-width:1020px}.subscription-screen{max-width:760px}.subscription-heading{display:grid;grid-gap:10px;gap:10px}.subscription-eyebrow{width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;background:var(--green-tint-2);color:var(--green-text);font-size:11px;font-weight:900;letter-spacing:.11em}.subscription-subtitle{max-width:610px;font-size:16px;line-height:1.6}.subscription-card{position:relative;overflow:hidden;border:2px solid var(--green);box-shadow:0 14px 38px rgba(73,112,39,.14)}.subscription-card:after{content:"♞";position:absolute;right:-12px;top:-34px;color:var(--green-tint-2);font-size:150px;line-height:1;pointer-events:none}.subscription-card>*{position:relative;z-index:1}.subscription-kicker{color:var(--green-text);font-weight:900;letter-spacing:.09em;text-transform:uppercase}.subscription-price-row{display:flex;align-items:baseline;gap:12px;margin-top:8px}.subscription-price{font-family:var(--font-display);font-weight:900;font-size:58px;line-height:1;color:var(--green-text)}.subscription-period{color:var(--text-soft);font-size:16px;font-weight:750}.subscription-tax-detail{width:-moz-fit-content;width:fit-content;margin-top:10px;padding:7px 10px;border-radius:8px;background:var(--surface-alt);color:var(--muted-strong);font-size:13px;font-weight:700}.subscription-cta{min-height:54px;font-size:16px}.h1{font-family:var(--font-display);font-weight:800;font-size:34px;line-height:1.1;margin:0;color:var(--text)}.h1.xl{font-size:36px}.subtitle{font-size:14.5px;color:var(--muted-strong);margin-top:8px}.section-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.mono{font-family:var(--font-mono)}.card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.card.pad{padding:24px}.card.pad-sm{padding:20px}.online-pill{display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.dot{width:9px;height:9px;border-radius:50%;background:var(--green);flex:none}.dot.sm{width:8px;height:8px}.dot.off{background:#c9bfae}.btn{border:none;border-radius:9px;padding:12px 20px;font-size:14px;font-weight:700;cursor:pointer;background:var(--chip);color:var(--text-soft);transition:background .12s ease;white-space:nowrap;max-width:100%}.btn-block,.btn-lg{white-space:normal;text-wrap:balance;line-height:1.3;overflow-wrap:anywhere}.btn:hover{background:var(--chip-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-shadow)}.btn-primary:hover{background:var(--green-hover)}.btn-soft{background:var(--green-tint-2);color:var(--green-text)}.btn-soft:hover{background:var(--green-tint-3)}.btn-danger{background:var(--red-tint-2);color:var(--red-text)}.btn-danger:hover{background:var(--red);color:#fff}.btn-block{width:100%}.btn-lg{border-radius:11px;padding:15px;font-size:15px;font-weight:800;box-shadow:0 4px 0 var(--green-shadow)}.btn-quiet{background:var(--surface);color:var(--muted-strong);box-shadow:var(--shadow-sm)}.btn-quiet:hover{background:#fff;color:var(--text)}.input{border:1px solid var(--border);border-radius:10px;background:#fff;padding:13px 14px;font-size:14.5px;width:100%}.input:focus{border-color:var(--green)}.input.mono-sm{width:56px;text-align:center;padding:10px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.field-label{display:block;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.field-label,.tag{font-size:11.5px;font-weight:700}.tag{padding:4px 10px;border-radius:20px;background:var(--green-tint);color:var(--green-text)}.tc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.tc-card{min-width:0;padding:18px 8px;overflow-wrap:anywhere;border-radius:var(--radius);background:var(--bg);cursor:pointer;text-align:center;border:1px solid transparent;transition:transform .12s ease,background .12s ease}.tc-card:hover{background:var(--chip-alt);transform:translateY(-2px)}.tc-card.selected{background:var(--green-tint);border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.tc-card.selected:hover{background:#dfeecd}.tc-value{font-family:var(--font-mono);font-size:21px;color:var(--text);white-space:nowrap}@media (max-width:1300px){.tc-value{font-size:18px}}.tc-card.selected .tc-value{color:var(--green-text)}.tc-label{font-size:12px;color:var(--muted);margin-top:4px}.tc-card.selected .tc-label{color:var(--green-link)}.rated-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:13px 16px;border:1px solid #cfe2b7;border-radius:var(--radius);background:var(--green-tint);color:var(--green-text)}.rated-notice>div{display:flex;flex-direction:column;gap:3px}.rated-notice strong{font-size:14px}.rated-notice span:not(.tag){font-size:12.5px;line-height:1.45}.rated-notice .tag{flex:0 0 auto;background:var(--surface)}.quick-card{padding:24px;border-radius:var(--radius-lg);background:var(--green);box-shadow:var(--shadow-md);color:#fff}.quick-card .kicker{color:#dcefc4}.quick-card h2{font-family:var(--font-display);font-weight:800;font-size:24px;margin:8px 0 0;line-height:1.15}.quick-card p{font-size:13px;line-height:1.55;color:#e7f3d8;margin:8px 0 0}.quick-card .btn{margin-top:18px;background:var(--surface);color:#3f6b1c;box-shadow:0 4px 0 #4e7a24}.quick-card .btn:hover{background:#fff}.invite-link-box{display:flex;flex-direction:column;gap:9px;margin-top:18px}.invite-link-box .input{min-width:0;background:rgba(255,255,255,.96);color:var(--text);font-size:12px}.public-invite{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.invite-card{width:min(100%,480px);display:flex;flex-direction:column;align-items:flex-start;gap:16px}.invite-card h1{margin:0;font-family:var(--font-display);font-size:30px}.invite-card p{margin:0;color:var(--muted-strong);line-height:1.6}.row{display:flex;align-items:center;gap:11px;padding:9px;border-radius:10px}.row:hover{background:var(--bg)}.ladder{display:flex;flex-direction:column;gap:2px;margin-top:12px;max-height:288px;overflow:auto;padding-right:4px}.pick-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;width:100%}.pick-row:hover{background:var(--bg)}.pick-row.active{background:var(--green-tint);border-color:var(--green)}.pick-name{display:block;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-tier{display:block;font-size:11px;color:var(--muted-weak);margin-top:1px}.pick-row.active .pick-tier{color:var(--green-text)}.list-row{display:flex;align-items:center;gap:13px;padding:14px 16px}.list-row:hover{background:var(--sunken)}.banner{display:flex;align-items:center;gap:15px;padding:16px 18px;border-radius:14px;background:var(--green-tint);border:1px solid var(--green-border)}.banner .avatar{animation:g-bob 2.4s ease-in-out infinite}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:100%;aspect-ratio:1;border-radius:var(--radius-sm);box-shadow:var(--shadow-board)}.board,.square{overflow:hidden;position:relative}.square{display:flex;align-items:center;justify-content:center;min-width:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;padding:0}.square-coord{left:4px;top:2px;font-family:var(--font-mono);font-size:10.5px}.square-coord,.square-hint{position:absolute;pointer-events:none}.square-hint{width:30%;height:30%;border-radius:50%;background:rgba(40,44,28,.24)}.square-piece{position:relative;width:90%;height:90%;background-size:contain;background-repeat:no-repeat;background-position:50%;filter:drop-shadow(0 2px 2px rgba(30,26,20,.25));pointer-events:none}.board.draggable{touch-action:none}.board.dragging,.board.dragging .square{cursor:-webkit-grabbing!important;cursor:grabbing!important}.square.drop-over:after{content:"";inset:0;box-shadow:inset 0 0 0 4px rgba(255,255,255,.75)}.drag-ghost,.square.drop-over:after{position:absolute;pointer-events:none}.drag-ghost{width:12.5%;height:12.5%;transform:translate(-50%,-50%) scale(1.08);background-size:contain;background-repeat:no-repeat;background-position:50%;filter:drop-shadow(0 6px 6px rgba(30,26,20,.35));z-index:5}.board-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.move-badge{display:inline-flex;flex:none;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;line-height:1;box-shadow:inset 0 -2px 0 rgba(0,0,0,.14)}.board-badge{position:absolute;margin:-15px 0 0 -15px;pointer-events:none;z-index:2;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 3px 8px rgba(30,26,20,.35);animation:g-badge-pop .22s ease-out}@keyframes g-badge-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.board-badge{animation:none}}.lobby-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:24px;gap:24px;align-items:start}.game-board-column,.lobby-board{width:100%;max-width:calc(100vh - 150px);max-width:calc(100dvh - 150px);min-width:0;justify-self:center}.lobby-panel{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden}.lobby-panel-head{gap:10px;padding:16px 18px 10px;font-family:var(--font-display);font-weight:800}.lobby-panel-head,.lobby-panel-icon{display:flex;align-items:center;font-size:20px}.lobby-panel-icon{width:34px;height:34px;border-radius:10px;background:var(--green);color:#fff;justify-content:center;box-shadow:0 3px 0 var(--green-shadow)}.review-tabs.lobby-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 14px;border-radius:12px}.lobby-tabs .review-tab{font-size:13px;padding:9px 6px}.lobby-body{display:flex;flex-direction:column;gap:12px;padding:14px}.lobby-note{font-size:13px;line-height:1.5;color:var(--muted)}.tc-picker{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--sunken);cursor:pointer;text-align:left}.tc-picker.open,.tc-picker:hover{border-color:var(--green-border);background:var(--green-tint)}.tc-picker-icon{font-size:20px}.tc-picker-value{font-family:var(--font-mono);font-size:20px;color:var(--text)}.tc-picker-sub{flex:1 1;font-size:13px}.tc-picker-caret,.tc-picker-sub{color:var(--muted)}.tc-menu{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:12px;background:var(--bg)}.tc-group-title{margin-bottom:6px;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted-strong)}.tc-menu .tc-card{padding:10px 4px;background:var(--surface)}.tc-menu .tc-value{font-size:15px}.tc-menu .custom-time{display:flex;align-items:center;gap:8px}.lobby-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.lobby-mode{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:12.5px;font-weight:700;color:var(--muted-strong);cursor:pointer}.lobby-mode span{font-size:20px}.lobby-mode.active{border-color:var(--green);background:var(--green-tint);color:var(--green-text);box-shadow:0 0 0 1px var(--green)}.lobby-mode:disabled{opacity:.45;cursor:not-allowed}.lobby-ladder{max-height:270px;overflow:auto;margin:0}.lobby-play{font-size:20px!important;padding:18px!important}.lobby-list{display:flex;flex-direction:column;gap:2px}.lobby-list-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px;border:none;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.lobby-list-row:hover{background:var(--sunken)}.lobby-list-row.static{cursor:default}.result-square{flex:none;width:26px;height:26px;border-radius:7px;justify-content:center;font-size:15px;font-weight:700}.player-bar,.result-square{display:flex;align-items:center}.player-bar{gap:12px;padding:8px 0}.player-bar-info{flex:1 1;min-width:0}.player-bar-name{display:flex;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:700}.player-bar-rating{font-size:12.5px;font-weight:500;color:var(--muted);white-space:nowrap}.material-lead{margin-left:6px;font-style:normal;font-size:12px;color:var(--muted-strong)}.captured{display:flex;align-items:center;min-height:18px;margin-top:3px}.captured span{width:18px;height:18px;background-size:contain;background-repeat:no-repeat;background-position:50%;opacity:.8}.clock{flex:none;min-width:118px;text-align:right;font-family:var(--font-mono);font-size:26px;padding:9px 16px;border-radius:10px;background:var(--chip);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.clock.active{background:var(--surface);color:var(--text)}.clock.active.dark{background:var(--text);color:var(--surface)}.clock.low{color:var(--red-text)}.clock.active.low{background:var(--red);color:#fff}.panel{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:var(--bg)}.move-rows{flex:1 1;overflow:auto;padding:8px 0}.move-row{display:grid;grid-template-columns:44px 1fr 1fr;align-items:center;padding:2px 14px}.move-row.alt{background:var(--sunken)}.move-row .num{font-size:12px;color:var(--muted-weak)}.move-cell,.move-row .num{font-family:var(--font-mono)}.move-cell{justify-self:start;border:none;background:transparent;border-radius:6px;padding:5px 8px;font-size:14px;color:var(--text);cursor:pointer}.move-cell:hover{background:var(--surface-alt)}.move-cell.current{background:var(--green-tint-3);font-weight:700}.game-panel{height:min(720px,calc(100vh - 80px));min-height:460px}.game-status{font-size:12.5px;font-weight:600;color:var(--muted-strong)}.game-status.mine{color:var(--green-text)}.game-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:6px;gap:6px;padding:10px 14px;border-top:1px solid var(--surface-alt)}.game-controls .btn{padding:9px 0;font-size:14px}.game-actions{display:flex;flex-direction:column;gap:8px;padding:0 14px 14px}.draw-offer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border-radius:10px;background:var(--green-tint);font-size:13px}.draw-offer span{flex:1 1 140px}.draw-offer .btn{padding:6px 12px;font-size:12.5px}.draw-offer.absence{background:#fbf1d5;color:#6b4d05}.conn-lost{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:7;display:flex;align-items:center;gap:8px;border-radius:999px;padding:8px 14px;background:rgba(43,39,36,.9);color:#fff;font-weight:700;font-size:13px;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none}.conn-lost-dot{width:8px;height:8px;border-radius:50%;background:#f0b429;animation:conn-pulse 1.1s ease-in-out infinite}@keyframes conn-pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.conn-lost-dot{animation:none}}.account-card{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding:20px}.account-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.account-form>div{flex:1 1 220px;min-width:0}.account-form .btn{height:46px}.account-note{font-size:12.5px;line-height:1.5;color:var(--muted)}.account-note.ok{color:var(--green-text);font-weight:700}.account-mobile-only{display:none}@media (max-width:900px){.account-card{padding:16px}.account-form .btn{flex:1 1 100%}.account-mobile-only{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--surface-alt)}.account-mobile-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.account-mobile-only .lang-switch{display:flex;width:132px}}.game-missing{max-width:480px;display:flex;flex-direction:column;gap:12px}.game-missing .h1{font-size:24px}.game-missing p{margin:0;font-size:14px;line-height:1.6;color:var(--muted-strong)}.btn-danger-solid{background:var(--red);color:#fff}.btn-danger-solid:hover{background:var(--red-text);color:#fff}.back-to-live{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:6;border:none;border-radius:999px;padding:9px 16px;background:rgba(43,39,36,.88);color:#fff;font-weight:700;font-size:13px;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-md)}.game-over{position:relative}.modal-close{position:absolute;top:10px;right:12px;z-index:1;width:32px;height:32px;border:none;border-radius:50%;background:rgba(255,255,255,.6);font-size:20px;line-height:1;cursor:pointer}.game-over-head{padding:28px 26px 22px;text-align:center}.game-over-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.game-over-title{font-family:var(--font-display);font-weight:800;font-size:32px;margin-top:6px}.game-over-players{display:flex;justify-content:center;gap:28px;margin-top:16px}.game-over-player{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:130px;font-size:13px;font-weight:700}.game-over-stats{align-items:center;justify-content:space-between;padding:16px 26px}.chat-box,.game-over-stats{display:flex;background:var(--bg)}.chat-box{padding:14px 18px;gap:10px}.chat-box,.chat-log{flex-direction:column}.chat-log{display:flex;gap:7px;overflow:auto;max-height:96px;font-size:13.5px;line-height:1.45}.chat-log b{font-weight:700}.chat-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.chat-title{margin-right:auto;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.chat-tool{border:none;border-radius:999px;padding:6px 11px;background:var(--chip);color:var(--text-soft);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .12s ease}.chat-tool:hover{background:var(--chip-hover)}.chat-tool:disabled{opacity:.55;cursor:not-allowed}.chat-tool[aria-pressed=true]{background:var(--green-tint-2);color:var(--green-text)}.chat-tool.armed,.chat-tool.danger{background:var(--red-tint-2);color:var(--red-text)}.chat-tool.armed:hover:not(:disabled),.chat-tool.danger:hover:not(:disabled){background:var(--red);color:#fff}.chat-note{margin:0;font-size:12.5px;line-height:1.5;color:var(--muted)}.report-modal{position:relative;display:flex;flex-direction:column;gap:14px;width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px}.report-title{margin:-8px 0 0;font-size:20px;font-weight:800;overflow-wrap:anywhere}.report-reasons{display:flex;flex-direction:column;gap:8px}.report-reason{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:#fff;cursor:pointer}.report-reason.active{border-color:var(--green);background:var(--green-tint-2)}.report-reason input{margin-top:3px;accent-color:var(--green)}.report-reason b{display:block;font-size:14px;font-weight:700}.report-reason small{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--muted)}.report-modal textarea.input{resize:vertical;min-height:74px;font-family:inherit}.report-check{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;cursor:pointer}.report-check input{accent-color:var(--green)}.report-actions{flex-wrap:wrap;gap:8px}.eval-column,.report-actions{display:flex;justify-content:flex-end}.eval-column{width:34px;flex:none;border-radius:6px;background:#25231f;overflow:hidden;flex-direction:column;position:relative}.eval-column-fill{width:100%;flex:none;background:#fbfaf7;transition:height .25s ease}.eval-column-label{position:absolute;left:0;right:0;bottom:4px;text-align:center;font-family:var(--font-mono);font-size:10px}.eval-strip{display:flex;height:8px;border-radius:20px;overflow:hidden;background:#25231f}.eval-strip div{height:8px;background:#fbfaf7;transition:width .25s ease}.rev-rows{overflow:auto;padding:6px 0}.rev-row{display:grid;grid-template-columns:40px 1fr 1fr;align-items:center;padding:3px 14px}.rev-move{display:inline-flex;align-items:center;gap:6px;justify-self:start;font-family:var(--font-mono);font-size:14px;padding:5px 8px;border-radius:7px;cursor:pointer;border:none;background:transparent;text-align:left}.rev-move:hover{background:var(--surface-alt)}.rev-move.current{background:var(--green-tint)}.review-head{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.side-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid #8a8076}.side-dot.white{background:#fbfaf7}.side-dot.black{background:#25231f;border-color:#25231f}.coach-card{padding:16px 18px;border-radius:var(--radius-lg);border:1.5px solid var(--border);transition:background .2s ease,border-color .2s ease}.coach-best{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.7)}.eval-pill{flex:none;padding:4px 9px;border-radius:8px;background:#25231f;color:#fbfaf7;font-size:12.5px}.eval-graph{position:relative;height:84px;margin-top:14px;border-radius:10px;overflow:hidden;background:#403b35;cursor:pointer}.eval-graph svg{display:block;width:100%;height:100%}.eval-graph-dot{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;box-shadow:0 0 0 1.5px #fff;pointer-events:none}.review-panel{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden}.review-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);padding:5px;grid-gap:5px;gap:5px}.review-tab{border:none;border-radius:10px;padding:10px;background:transparent;font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--muted-strong);cursor:pointer}.review-tab:hover{color:var(--text)}.review-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.review-panel-body{display:flex;flex-direction:column;gap:14px;padding:14px}.review-panel-body .panel{box-shadow:none;border:1px solid var(--surface-alt)}.coach-bubble{display:flex;gap:12px;align-items:flex-start}.coach-avatar{flex:none;width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 3px 0 var(--green-shadow)}.coach-bubble p{position:relative;margin:0;flex:1 1;padding:12px 14px;border-radius:4px 14px 14px 14px;background:var(--sunken);border:1px solid var(--surface-alt);font-size:14px;line-height:1.55;color:var(--text-soft)}.players-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.player-col{min-width:0;padding:12px;border-radius:12px;background:var(--sunken);text-align:center}.player-col.mine{background:var(--green-tint)}.player-col-name{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--text-soft)}.player-col-accuracy{margin-top:6px;font-size:28px;color:var(--text)}.player-col-perf{margin-top:6px;font-size:18px;color:var(--text-soft)}.player-col-caption{font-size:11px;color:var(--muted)}.summary-table{display:flex;flex-direction:column}.summary-grid{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;grid-gap:4px;gap:4px}.summary-head{padding-bottom:4px}.summary-row{padding:3px 0;border-top:1px solid var(--surface-alt)}.summary-label{gap:8px;font-size:13.5px;font-weight:600;color:var(--text-soft);text-align:center}.summary-count-cell,.summary-label{display:flex;align-items:center;justify-content:center}.summary-count{display:flex;justify-content:center;min-width:36px;font-size:15px;font-weight:700;border:none;background:transparent;border-radius:7px;padding:5px 0}button.summary-count:not(:disabled){cursor:pointer}button.summary-count:not(:disabled):hover{background:var(--surface-alt)}.key-moments{display:flex;flex-wrap:wrap;gap:6px}.key-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px 5px 5px;border-radius:999px;border:1px solid var(--surface-alt);background:var(--surface);font-size:12.5px;color:var(--text-soft);cursor:pointer}.key-chip:hover{background:var(--sunken)}.coach-head{display:flex;align-items:center;gap:12px}.coach-title{font-size:16px;font-weight:800}.coach-text{margin-top:10px;font-size:13.5px;line-height:1.6;color:var(--text-soft)}.coach-context{color:var(--text);font-weight:600}.coach-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.coach-actions .btn{padding:9px 14px;font-size:13px}.key-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.key-nav .btn{padding:9px 10px;font-size:12.5px}.engine-lines{display:flex;flex-direction:column;gap:6px}.engine-lines-head{display:flex;align-items:center;justify-content:space-between;border:none;background:transparent;padding:0 2px;cursor:pointer}.engine-line{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border-radius:9px;background:var(--sunken)}.eval-chip{flex:none;min-width:52px;text-align:center;padding:2px 6px;border-radius:6px;background:#25231f;color:#fbfaf7;font-size:12px}.eval-chip.light{background:#fbfaf7;color:#25231f;box-shadow:inset 0 0 0 1px var(--border)}.engine-line-pv{min-width:0;font-size:12.5px;line-height:1.5;color:var(--text-soft);overflow-wrap:anywhere}.board-hint{margin-top:12px;font-size:13px;color:var(--muted)}.review-nav{display:flex;align-items:center;gap:8px;margin-top:14px}@media (max-width:520px){.review-nav{gap:6px}.review-nav .btn{padding:11px 10px}.review-nav-label{display:none}}.review-panel-body .coach-card{display:flex;flex-direction:column;height:300px}.review-panel-body .coach-text{flex:1 1 auto;min-height:0;overflow-y:auto}.review-panel-body .coach-actions{flex:none;margin-top:auto;padding-top:12px}.summary-graph{display:none}@media (max-width:900px){.board-graph,.board-hint{display:none}.summary-graph{display:block;margin-top:0}.game-screen,.review-screen{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}.game-controls,.review-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;padding:10px max(12px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(60,48,30,.12)}.game-controls .btn,.review-nav .btn{flex:1 1;padding:12px 0;font-size:16px}.review-panel-body .coach-card{height:244px;padding:12px 14px}.review-panel-body .coach-title{font-size:15px}.review-panel-body .coach-best{margin-top:8px;padding:7px 10px}.review-panel-body .coach-text{margin-top:8px;font-size:13px;line-height:1.5}.review-panel-body{padding:10px;gap:10px}.review-head .section-label{display:none}.review-head .h1{font-size:20px!important;margin-top:0!important}.review-screen{padding-top:14px!important}.coach-next{display:none}.review-panel-body .coach-actions{flex-wrap:nowrap}.review-panel-body .coach-actions .btn{flex:1 1;min-width:0}.review-layout{gap:14px!important;margin-top:14px!important}.game-panel .move-rows{display:flex;flex:none;gap:2px;overflow-x:auto;overflow-y:hidden;max-height:none;padding:6px 10px;white-space:nowrap;scrollbar-width:none}.game-panel .move-row{display:inline-flex;align-items:center;padding:0;background:none}.game-panel .panel-head{padding:10px 14px}.game-actions{padding-top:10px}}@media (min-width:901px){.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto}.review-main{width:100%;max-width:calc(100dvh - 190px + 46px);justify-self:center}.review-panel{position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100dvh - 150px)}.review-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto}.lobby-panel{position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100dvh - 32px)}.lobby-body{flex:1 1 auto;min-height:0;overflow-y:auto}.lobby-cta{position:-webkit-sticky;position:sticky;bottom:-14px;margin:0 -14px -14px;padding:10px 14px 14px;background:var(--surface);box-shadow:0 -8px 12px -8px rgba(60,48,30,.12)}}.review-board-row{display:flex;gap:12px;align-items:stretch}@media (min-width:901px) and (max-height:860px){.screen.tight{padding-top:16px;padding-bottom:24px}.review-head .section-label{display:none}.review-head .h1{font-size:22px!important;margin-top:0!important}.review-layout{margin-top:12px!important}.review-main{max-width:calc(100dvh - 150px + 46px)}.review-panel-body .coach-card{height:250px}.review-panel{max-height:calc(100dvh - 92px)}.lobby-panel{max-height:calc(100dvh - 48px)}.game-board-column,.lobby-board{max-width:calc(100dvh - 128px)}.player-bar{padding:5px 0}.player-bar .avatar.md{width:34px;height:34px}.clock{font-size:22px;padding:6px 14px}.game-panel{height:calc(100dvh - 40px);min-height:0}.lobby-ladder{max-height:200px}.sidebar .calib-card{display:none}.sidebar{gap:12px}.sidebar .nav-item{padding:9px 12px}}.review-footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.variation-bar{display:flex;align-items:center;gap:14px;margin-top:12px;padding:14px 16px;border-radius:var(--radius);background:var(--blue-tint);border:1px solid var(--blue-border)}.table-head{padding:13px 18px;background:var(--bg);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.table-head,.table-row{display:grid;grid-gap:14px;gap:14px}.table-row{align-items:center;padding:15px 18px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.table-row:hover{background:var(--sunken)}.result-chip{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700}.stat-card{padding:20px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.stat-card.highlight{background:var(--green-tint);border:1px solid var(--green-border);box-shadow:none}.stat-value{font-family:var(--font-mono);font-size:27px;margin-top:8px;color:var(--text)}.stat-value.empty{color:#b8ad9b}.modal-backdrop{position:fixed;inset:0;background:rgba(43,39,36,.55);display:flex;align-items:center;justify-content:center;z-index:40}.modal{border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-modal);overflow:hidden;animation:g-rise .22s ease both}.spinner{width:56px;height:56px;margin:0 auto;border:3px solid var(--chip-alt);border-top-color:var(--green);border-radius:50%;animation:g-sweep 1s linear infinite}.auth{position:fixed;inset:0;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg)}.auth-left{position:relative;flex-direction:column;justify-content:space-between;background:var(--sidebar);overflow:hidden}.auth-left,.auth-right{display:flex;padding:52px}.auth-right{align-items:center;justify-content:center}.auth-legal{display:flex;justify-content:center;gap:8px;margin-top:22px;color:var(--muted);font-size:12px}.auth-legal a:hover{color:var(--green-link)}.legal-page{min-height:100vh;padding:32px 20px 64px;background:var(--bg)}.legal-brand{width:max-content;margin:0 auto 28px}.legal-card{max-width:760px;margin:0 auto;padding:36px}.legal-updated{margin:8px 0 28px;color:var(--muted);font-size:13px}.legal-card h2{margin:26px 0 8px;font-family:var(--font-display);font-size:18px}.legal-card p{color:var(--muted-strong);line-height:1.7}.legal-card a{color:var(--green-link);font-weight:700}.auth-deco{position:absolute;right:-80px;bottom:-60px;z-index:1;display:grid;grid-template-columns:repeat(6,64px);border-radius:var(--radius-sm);overflow:hidden;opacity:.9}@media (max-width:1180px){.review-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:18px!important}.play-layout{grid-template-columns:minmax(0,1fr) 290px!important;gap:18px!important}}@media (max-width:1040px){.play-layout{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:700px){.lobby-board{display:none}}@media (max-width:1280px){.auth-deco{display:none}}.auth-deco span{height:64px}.divider{display:flex;align-items:center;gap:14px;margin:20px 0}.divider span:first-child,.divider span:last-child{flex:1 1;height:1px;background:var(--border)}.error-text{font-size:13px;color:var(--red-text);margin-top:12px}@media (max-width:900px){.app{flex-direction:column}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;width:100%;min-height:0;flex-direction:row;align-items:center;padding:10px 12px;gap:10px;box-shadow:var(--shadow-md)}.sidebar .brand-name,.sidebar .calib-card,.sidebar .lang-switch,.sidebar .user-chip{display:none}.sidebar .brand{padding:0}.sidebar .brand-mark{width:34px;height:34px}.sidebar .nav{flex:1 1;min-width:0;flex-direction:row;justify-content:center}.sidebar .nav-item{width:auto;padding:8px 10px;gap:6px}.sidebar .nav-item.promo{margin-top:0}.nav-price{display:none}.sidebar-foot{margin:0}.sidebar-foot .btn{width:auto;padding:9px 10px;font-size:12px}.screen,.screen.tight{padding:24px 16px 44px}.h1,.h1.xl{font-size:29px}.friends-layout,.game-layout,.play-layout,.review-layout{grid-template-columns:minmax(0,1fr)!important}.custom-time{flex-wrap:wrap}.game-panel{height:auto;min-height:0}.game-panel .move-rows{max-height:220px}.custom-time>div:first-child{flex-basis:100%}.rated-notice{align-items:flex-start;flex-direction:column}.game-panel{height:auto!important;max-height:560px}.history-table{overflow-x:auto!important}.history-table .table-head,.history-table .table-row{min-width:720px}.modal{max-width:calc(100vw - 28px)}.auth{grid-template-columns:1fr}.auth-left{display:none}.auth-right{padding:28px 20px;overflow-y:auto}}@media (max-width:520px){.sidebar .brand{display:none}.sidebar .nav-label{display:block;font-size:10.5px;line-height:1.1;white-space:nowrap}.sidebar{gap:6px;padding:6px 8px}.sidebar-foot{display:none}.clock{min-width:92px;font-size:21px;padding:8px 12px}.sidebar .nav{gap:2px;justify-content:space-between}.sidebar .nav-item{position:relative;flex:1 1;min-width:0;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;text-align:center}.sidebar .nav-item .nav-icon{width:auto}.sidebar .nav-item .nav-badge{position:absolute;margin:-4px 0 0 26px}.tc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-page{padding:20px 14px 40px}.legal-card{padding:24px 20px}}