:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{color:#111;background:#f5f5f0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.page{flex-direction:column;min-height:100vh;display:flex}.container{width:min(1100px,100% - 40px);margin:0 auto}.header{padding:24px 0}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo{letter-spacing:-1px;color:#111;font-size:24px;font-weight:900;text-decoration:none}.logo span{color:#1f7a4d}.header-buttons{align-items:center;gap:8px;display:flex}.hero{flex:1;justify-content:center;align-items:center;padding:80px 0;display:flex}.hero-content{text-align:center;width:100%;max-width:900px;margin:0 auto}.hero h1{color:#111;letter-spacing:-7px;margin:0 0 16px;font-size:clamp(72px,13vw,150px);font-weight:900;line-height:.9}.hero h1 span{color:#1f7a4d}.hero p{color:#666;margin:0 auto 32px;font-size:20px;line-height:1.4}.buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.btn{border:0;border-radius:10px;padding:13px 22px;font-weight:700;transition:all .15s}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{color:#fff;background:#1f7a4d}.btn-primary:hover{background:#17633e}.btn-secondary{color:#fff;background:#111}.btn-secondary:hover{background:#333}.btn-ghost{color:#111;background:0 0;border:1px solid #ccc}.btn-ghost:hover{background:#eee}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:30px 20px;display:flex}.auth-box{width:100%;max-width:420px}.auth-logo{text-align:center;margin-bottom:35px}.auth-logo a{color:#111;font-size:28px;font-weight:900;text-decoration:none}.auth-logo span{color:#1f7a4d}.auth-box h1{letter-spacing:-1px;margin:0 0 8px;font-size:34px}.auth-subtitle{color:#666;margin:0 0 28px}.form-group{margin-bottom:18px}.form-group label{margin-bottom:7px;font-size:20px;font-weight:700;display:block}.form-group input,.form-group select{color:#111;background:#fff;border:1px solid #ccc;border-radius:8px;outline:none;width:100%;padding:12px 13px}.form-group select{cursor:pointer}.form-group input:focus,.form-group select:focus{border-color:#1f7a4d;box-shadow:0 0 0 3px #1f7a4d1a}.auth-submit{width:100%;margin-top:5px}.auth-message{color:#17633e;background:#e8f5ed;border-radius:8px;margin-top:18px;padding:12px;line-height:1.4}.auth-error{color:#a33;background:#fbeaea;border-radius:8px;margin-top:18px;padding:12px;line-height:1.4}.auth-back{text-align:center;color:#555;background:0 0;border:0;width:fit-content;margin:24px auto 0;padding:0;font-size:14px;text-decoration:none;display:block}.auth-back:hover{color:#111}.dashboard{flex:1;padding:12px 0 40px}.welcome{margin-bottom:42px}.welcome h1{color:#111;letter-spacing:-2px;margin:0 0 10px;font-size:48px;line-height:1.05}.welcome p{color:#555;margin:0;font-size:18px}.apps{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.app-card{background:#fff;border:1px solid #e0e0dc;border-radius:16px;flex-direction:column;padding:28px;transition:all .2s;display:flex}.app-card-actions{justify-content:center;margin-top:auto;padding-top:28px;display:flex}.app-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000000f}.app-card h2{color:#111;letter-spacing:-.5px;margin:0 0 10px;font-size:24px;font-weight:800;line-height:1.2}.app-card p{color:#444;margin:0;line-height:1.5}.app-card .btn{align-self:center;margin-top:auto}.account-page{max-width:900px}.account-info{flex-direction:column;gap:0;margin-top:20px;margin-bottom:24px;display:flex}.account-info div{border-bottom:1px solid #eee;flex-direction:column;gap:5px;padding:14px 0;display:flex}.account-info div:first-child{padding-top:4px}.account-info div:last-child{border-bottom:none}.account-info strong{color:#777;text-transform:uppercase;letter-spacing:.6px;font-size:12px}.account-info span{color:#111;font-size:16px;line-height:1.4}.app-card form{margin-top:20px}.app-card form .form-group{margin-bottom:18px}.app-card form .form-group:last-of-type{margin-bottom:24px}.app-card form input,.app-card form select{box-sizing:border-box;width:100%}.app-card form input:disabled{color:#777;cursor:not-allowed;background:#f1f1ed}.profile-actions{gap:10px;margin-top:4px;display:flex}.auth-message{margin-bottom:20px}.roles{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.role-badge{color:#17633e;background:#e8f5ed;border-radius:999px;align-items:center;padding:7px 11px;font-size:13px;font-weight:800;display:inline-flex}@media (width<=600px){.container{width:min(100% - 28px,1100px)}.header{padding:18px 0}.hero{padding:50px 0}.hero h1{letter-spacing:-4px;font-size:clamp(56px,17vw,90px)}.hero p{font-size:18px}.dashboard{padding:8px 0 30px}.welcome{margin-bottom:32px}.welcome h1{font-size:38px}.header-buttons .btn{padding:10px 14px}.header-buttons .btn-ghost{display:none}.app-card{padding:24px}}.community-sections{padding:8px 0 88px}.community-top-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:22px;margin-bottom:22px;display:grid}.community-panel{text-align:left;background:#fff;border:1px solid #e4e5df;border-radius:18px;min-width:0;padding:28px;box-shadow:0 8px 28px #17261c09}.community-panel-heading,.events-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.community-panel h2,.events-panel h2{color:#141914;letter-spacing:-1px;margin:0;font-size:clamp(23px,2.3vw,30px);font-weight:850;line-height:1.12}.section-eyebrow{color:#1f7a4d;letter-spacing:1.4px;margin:0 0 10px;font-size:11px;font-weight:850}.section-mark,.game-piece{color:#1f7a4d;background:#edf5ef;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:27px;display:grid}.happening-item{border-top:1px solid #eeefeb;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:17px 0;display:grid}.happening-number{color:#8a9189;padding-top:2px;font-size:12px;font-weight:800}.happening-item h3,.event-card h3{color:#1a201b;margin:0 0 6px;font-size:16px;font-weight:800;line-height:1.35}.happening-item p,.game-description{color:#626b63;margin:0;font-size:13px;line-height:1.6}.text-link{color:#17633e;align-items:center;gap:8px;margin-top:20px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.text-link:hover{color:#104b2e;text-underline-offset:3px;text-decoration:underline}.game-panel{flex-direction:column;display:flex}.game-piece{font-size:30px}.game-placeholder-board{aspect-ratio:1;background:#222c25;border:7px solid #222c25;border-radius:5px;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,330px);margin:24px auto 18px;display:grid;position:relative;overflow:hidden}.game-placeholder-board span:not(.board-center-label){aspect-ratio:1}.game-placeholder-board .light-square{background:#f0e9d8}.game-placeholder-board .dark-square{background:#739477}.board-center-label{color:#fff;letter-spacing:2px;text-align:center;text-shadow:0 2px 8px #0009;background:#101d1333;place-content:center;font-size:17px;font-weight:900;line-height:1.25;display:grid;position:absolute;inset:0}.game-description{text-align:center;max-width:360px;margin:0 auto}.events-panel{padding:30px}.events-subtitle{color:#626b63;margin:10px 0 0;font-size:14px;line-height:1.5}.events-heading .text-link{flex:none;margin-top:4px}.events-state{color:#626b63;background:#f7f8f4;border-radius:12px;margin:24px 0 0;padding:22px;font-size:14px;line-height:1.5}.events-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.event-card{background:#fbfcf9;border:1px solid #e6e9e2;border-radius:13px;min-width:0;padding:18px}.event-card-link{color:inherit;flex-direction:column;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.event-card-link:hover{border-color:#1f7a4d;transform:translateY(-2px);box-shadow:0 8px 22px #17633e17}.event-card-link:focus-visible{outline-offset:3px;outline:3px solid #1f7a4d59}.event-card-cta{color:#17633e;margin-top:auto;padding-top:16px;font-size:12px;font-weight:800}.event-date{color:#1f7a4d;letter-spacing:.4px;text-transform:uppercase;margin-bottom:11px;font-size:11px;font-weight:850}.event-card h3{overflow-wrap:anywhere}.event-location,.event-sections{color:#626b63;margin:0;font-size:12px;line-height:1.5}.event-sections{border-top:1px solid #e9ece6;margin-top:10px;padding-top:10px}@media (width<=800px){.community-top-grid{grid-template-columns:1fr}.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.community-sections{padding:4px 0 58px}.community-panel{border-radius:15px;padding:22px}.events-heading{flex-direction:column}.events-heading .text-link{margin-top:0}.events-grid{grid-template-columns:1fr}}.game-feature-link{color:inherit;flex-direction:column;flex:1;margin-top:22px;text-decoration:none;display:flex}.game-feature-art{background:#f2f4ee;border-radius:13px;place-items:center;padding:16px;display:grid;position:relative;overflow:hidden}.game-feature-mini-board{aspect-ratio:1;border:5px solid #26372b;border-radius:3px;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,280px);transition:transform .2s;display:grid;position:relative;overflow:hidden}.game-feature-mini-board>span:not(.game-feature-knight){aspect-ratio:1}.game-feature-mini-board .light-square{background:#f0e9d8}.game-feature-mini-board .dark-square{background:#739477}.game-feature-knight{color:#fffffff0;text-shadow:0 4px 18px #13271959;background:#1225181f;place-items:center;font-size:clamp(80px,10vw,128px);display:grid;position:absolute;inset:0}.game-feature-play{color:#fff;background:#1f7a4d;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:850;position:absolute;bottom:25px;right:26px;box-shadow:0 4px 12px #14341f2e}.game-feature-title{justify-content:space-between;align-items:center;gap:12px;margin-top:17px;display:flex}.game-feature-title h3{color:#1a201b;margin:0 0 4px;font-size:18px;font-weight:900}.game-feature-title p{color:#626b63;margin:0;font-size:12px}.game-feature-result{color:#17633e;background:#e8f2e9;border-radius:7px;flex:none;padding:6px 9px;font-size:12px;font-weight:900}.game-feature-link .game-description{text-align:left;max-width:none;margin:12px 0 0}.game-feature-cta{color:#17633e;justify-content:space-between;align-items:center;margin-top:auto;padding-top:17px;font-size:12px;font-weight:850;display:flex}.game-feature-link:hover .game-feature-mini-board{transform:scale(1.015)}.game-feature-link:hover .game-feature-cta{text-underline-offset:3px;text-decoration:underline}.game-feature-link:focus-visible{outline-offset:4px;border-radius:12px;outline:3px solid #1f7a4d59}.happening-list{margin-top:22px}.happening-item{align-items:start}.happening-item-link{color:inherit;text-decoration:none;transition:background-color .15s,border-color .15s}.happening-item-link:hover .update-item-content h3{color:#17633e}.happening-item-link:focus-visible{outline-offset:3px;border-radius:8px;outline:3px solid #1f7a4d4d}.update-item-content{min-width:0}.update-item-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.update-item-topline time{color:#858c84;white-space:nowrap;font-size:10px;font-weight:700}.update-label{color:#17633e;letter-spacing:.65px;background:#edf5ef;border-radius:5px;align-items:center;padding:4px 7px;font-size:9px;font-weight:900;display:inline-flex}.update-label-coach{color:#435b9a;background:#edf1fb}.update-label-release{color:#80602c;background:#f4eee2}.happening-item .update-item-content h3{overflow-wrap:anywhere;margin-bottom:5px}.update-source{color:#858c84;margin-top:7px;font-size:10px;font-weight:700;display:inline-block}.updates-state,.updates-note{color:#626b63;margin:0;padding:18px 0;font-size:13px;line-height:1.6}.updates-note{color:#858c84;padding:12px 0 0;font-size:11px}@media (width<=600px){.update-item-topline{align-items:flex-start}}.update-toggle{color:#17633e;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:8px;padding:8px 0;font-size:12px;font-weight:850;display:inline-flex}.update-toggle:hover{color:#104b2e;text-underline-offset:3px;text-decoration:underline}.update-toggle:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #1f7a4d4d}.game-page{--game-green:#1f7a4d;color:#1a201b;text-align:left;background:#f5f5f0;min-height:100vh;padding:24px}.game-page-header{justify-content:space-between;align-items:center;gap:20px;max-width:1120px;margin:0 auto 48px;display:flex}.game-back-link{color:#17633e;font-size:13px;font-weight:800;text-decoration:none}.game-kicker,.game-eyebrow{color:#1f7a4d;letter-spacing:1.7px;font-size:10px;font-weight:900}.game-intro{max-width:1120px;margin:0 auto 32px}.game-eyebrow{margin:0 0 9px}.game-intro h1{color:#151a16;letter-spacing:-3px;margin:0;font-size:clamp(38px,6vw,64px);font-weight:900;line-height:1}.game-intro h1 span{color:#7e887f;font-weight:500}.game-subtitle{color:#626b63;margin:14px 0 16px;font-size:16px}.game-meta{color:#626b63;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.game-meta strong{color:#17633e;background:#e3efe5;border-radius:5px;padding:4px 8px}.game-replay-layout{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:stretch;gap:22px;max-width:1120px;margin:0 auto;display:grid}.board-column,.notation-panel{background:#fff;border:1px solid #e4e5df;border-radius:17px;min-width:0;padding:22px;box-shadow:0 8px 28px #17261c09}.board-player{align-items:center;gap:11px;padding:0 0 15px;display:flex}.board-player strong,.board-player small{display:block}.board-player strong{color:#1a201b;font-size:13px}.board-player small{color:#7b847c;margin-top:2px;font-size:11px}.player-avatar{color:#303a31;background:#f8f9f6;border:1px solid #e7e9e3;border-radius:10px;place-items:center;width:35px;height:35px;font-size:24px;display:grid}.white-player{padding:15px 0 0}.replay-board{width:100%;max-width:600px;margin:0 auto}.replay-board .white-1e1d7{background-color:#e6efe3}.replay-board .black-3c85d{background-color:#568363}.replay-board .game-last-move{background-color:#c8d875!important}.replay-controls{justify-content:center;align-items:center;gap:8px;margin:18px 0 14px;display:flex}.replay-controls button,.position-tools button{color:#26372b;cursor:pointer;background:#fbfcf9;border:1px solid #e1e5de;border-radius:8px;padding:9px 12px;font-weight:800}.replay-controls button:hover,.position-tools button:hover{background:#edf5ef;border-color:#1f7a4d}.replay-controls .play-button{color:#fff;background:#1f7a4d;border-color:#1f7a4d;min-width:105px}.position-tools{color:#7b847c;border-top:1px solid #eeefeb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;font-size:11px;display:flex}.position-tools div{gap:7px;display:flex}.position-tools button{padding:7px 9px;font-size:11px}.notation-panel{flex-direction:column;padding-bottom:15px;display:flex}.notation-heading{border-bottom:1px solid #eeefeb;justify-content:space-between;align-items:center;gap:10px;padding-bottom:18px;display:flex}.notation-heading .game-eyebrow{margin-bottom:5px}.notation-heading h2{color:#1a201b;letter-spacing:-.8px;margin:0;font-size:24px;font-weight:900}.move-count{color:#707a71;white-space:nowrap;background:#f2f4ef;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:800}.move-list{scrollbar-width:thin;max-height:620px;padding:10px 0;overflow-y:auto}.move-row{border-radius:6px;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5px;min-height:35px;padding:2px 5px;display:grid}.move-row:nth-child(2n){background:#f8f9f6}.move-number{color:#939a93;font-variant-numeric:tabular-nums;font-size:12px}.move-san,.move-start{color:#333d34;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;min-width:0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.move-san:hover,.move-start:hover{background:#edf5ef}.move-san.active,.move-start.active{color:#145b36;background:#dcecdf;font-weight:900;box-shadow:inset 3px 0 #1f7a4d}.move-start{color:#687269;width:100%;margin:2px 0 5px;font-family:inherit;font-size:12px}.notation-footer{color:#737c73;border-top:1px solid #eeefeb;flex-direction:column;gap:5px;margin-top:auto;padding:14px 5px 0;font-size:11px;display:flex}.notation-footer strong{color:#17633e;font-size:12px}.game-page-footer{color:#747d74;justify-content:space-between;gap:20px;max-width:1120px;margin:22px auto 0;font-size:12px;line-height:1.6;display:flex}.game-page-footer p{max-width:660px}.game-page-footer a{color:#17633e;flex:none;font-weight:800;text-decoration:none}@media (width<=800px){.game-page{padding:20px 16px 42px}.game-page-header{margin-bottom:34px}.game-replay-layout{grid-template-columns:1fr}.notation-panel{min-height:440px}.move-list{max-height:430px}}@media (width<=480px){.game-kicker{text-align:right;max-width:140px;line-height:1.5}.board-column,.notation-panel{border-radius:13px;padding:14px}.replay-board{border-width:3px}.chess-piece{font-size:clamp(20px,8vw,34px)}.replay-controls{gap:4px}.replay-controls button{padding:9px 8px}.replay-controls .play-button{min-width:85px}.position-tools{flex-direction:column;align-items:flex-start}.game-page-footer{flex-direction:column;gap:10px}}
