.app-container{background-color:#f8f9fa;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:100vh;padding:16px 20px;font-family:sans-serif;display:grid;overflow:hidden}.build-footer{box-sizing:border-box;color:#8a9590;text-align:right;width:100%;max-width:1760px;margin:0 auto;font-size:9px;line-height:1}.app-header{border-bottom:2px solid #bdc3c7;justify-content:space-between;align-items:center;width:100%;max-width:1760px;margin:0 auto;padding-bottom:8px;display:flex}.workspace-top{flex-direction:column;gap:10px;width:100%;min-width:0;max-width:1760px;margin:0 auto;display:flex}.workspace-error{box-sizing:border-box;color:#8f2f25;background:#fff2f0;border-left:4px solid #c0392b;border-radius:7px;justify-content:space-between;align-items:flex-start;gap:12px;width:min(620px,100vw - 32px);margin:0 auto;padding:11px 13px;font-size:13px;line-height:1.4;display:flex;box-shadow:0 5px 20px #3228232e}.workspace-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1}.mode-switch{background:#e8edf1;border-radius:8px;gap:4px;padding:4px;display:flex}.mode-switch button{color:#52616b;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 16px;font-weight:700}.mode-switch button.active{color:#2471a3;background:#fff;box-shadow:0 1px 4px #00000024}.header-actions{align-items:center;gap:10px;display:flex}.user-menu{border-left:1px solid #d7dee1;align-items:center;gap:5px;padding-left:10px;display:flex;position:relative}.user-menu>.user-account-trigger{background:0 0;border-color:#0000;align-items:center;gap:7px;min-width:0;padding:3px 7px 3px 3px;display:flex}.user-menu>.user-account-trigger:hover{background:#f5f7f8;border-color:#d8e0e3}.user-identity{text-align:left;flex-direction:column;min-width:0;max-width:210px;display:flex}.user-identity strong,.user-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-identity strong{color:#34495e;font-size:12px}.user-identity small{color:#7f8c8d;font-size:10px}.user-avatar{color:#47642d;background:#dfead5;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.user-menu-chevron{color:#7a878d;margin-left:2px;font-size:13px;transform:translateY(-2px)}.user-menu>button{color:#52616b;cursor:pointer;background:#fff;border:1px solid #bdc3c7;border-radius:6px;padding:7px 9px;font-size:11px;font-weight:700}.user-menu>button:disabled{cursor:wait;opacity:.65}.user-menu>.user-plan-pill{color:#607078;letter-spacing:.04em;background:#e9eef0;border:0;border-radius:9px;padding:4px 7px;font-size:9px;font-weight:900}.user-plan-pill.premium{color:#755700;background:#fff0bd}.user-menu>.premium-upgrade-cta{color:#765d0b;background:#fff8df;border:1px solid #d8bd69;align-items:center;gap:4px;padding:6px 9px;font-size:10px;display:flex}.user-menu>.premium-upgrade-cta:hover{background:#fff2c5;border-color:#b69636}.user-menu>.premium-upgrade-cta span{font-size:12px;line-height:1}.user-menu>.support-icon-button{color:#62727a;background:0 0;border-color:#0000;place-items:center;width:34px;height:30px;padding:0;display:grid;position:relative}.user-menu>.support-icon-button:hover{color:#416326;background:#f3f7f8;border-color:#cad5d9}.support-icon-button svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:19px;height:19px}.notification-badge{box-sizing:border-box;color:#fff;background:#c0392b;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-style:normal;font-weight:900;line-height:1;display:inline-grid}.support-icon-button>.notification-badge{position:absolute;top:-7px;right:-7px;box-shadow:0 0 0 2px #fff}.user-account-popover .menu-badge{color:#fff;width:auto;margin-left:auto}.user-account-popover{z-index:40;background:#fff;border:1px solid #d8dfd2;border-radius:9px;width:220px;padding:7px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 7px 24px #22302a2e}.user-account-popover-heading{border-bottom:1px solid #edf0eb;flex-direction:column;gap:2px;min-width:0;padding:7px 9px 10px;display:flex}.user-account-popover-heading strong,.user-account-popover-heading small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-account-popover-heading strong{color:#34495e;font-size:12px}.user-account-popover-heading small{color:#7f8c8d;font-size:10px}.user-account-popover>button{color:#52616b;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:9px;width:100%;padding:9px;font-size:11px;font-weight:700;display:flex}.user-account-popover>button:hover{color:#416326;background:#f1f5ee}.user-account-popover>button>span{color:#7b8a91;text-align:center;width:15px}.user-account-popover>.logout-action{color:#8f4037}.user-account-menu-separator{background:#edf0eb;height:1px;margin:4px 6px}.user-menu-error{z-index:5;color:#a93226;background:#fff0ee;border-radius:5px;width:max-content;max-width:280px;padding:7px 9px;font-size:11px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 2px 8px #0000001f}.plan-usage-popover{z-index:30;color:#52616b;background:#fff;border:1px solid #d8dfd2;border-radius:9px;width:290px;padding:13px;font-size:11px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 7px 24px #22302a2e}.plan-usage-popover>strong{color:#34495e;margin-bottom:8px;font-size:12px;display:block}.plan-usage-popover>div{border-bottom:1px solid #edf0eb;justify-content:space-between;gap:12px;padding:5px 0;display:flex}.plan-usage-popover>div b{white-space:nowrap;color:#416326}.plan-usage-popover>small{color:#7a6800;margin-top:8px;display:block}.plan-usage-popover>.plan-buy-button{color:#fff;cursor:pointer;background:#587d36;border:0;border-radius:6px;width:100%;margin-top:10px;padding:8px 10px;font-weight:800}.payment-overlay{z-index:70;background:#19262eb3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.payment-card{box-sizing:border-box;background:#f8faf8;border-radius:16px;width:min(610px,100%);max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 22px 70px #0000004d}.payment-card>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.payment-card h2{color:#263844;margin:0;font-size:24px}.payment-card>header>button{color:#52616b;cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1}.payment-lead{color:#738087;margin:5px 0 0;font-size:12px}.payment-offer,.payment-instructions,.payment-history{background:#fff;border:1px solid #d8e1d2;border-radius:11px;margin-top:20px;padding:19px}.payment-offer{border-top:4px solid #6f9449}.payment-offer-heading{color:#34495e;justify-content:space-between;align-items:center;gap:20px;display:flex}.payment-offer-heading>div:first-child{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.payment-offer-heading>div:first-child>strong{color:#2f4554;margin-top:5px;font-size:20px}.payment-offer-heading small{color:#738087;font-size:11px}.payment-offer-tag{color:#547833;letter-spacing:.04em;text-transform:uppercase;background:#edf4e7;border-radius:10px;padding:4px 7px;font-size:9px;font-weight:900}.payment-price{color:#416326;flex-direction:column;flex:none;align-items:flex-end;display:flex}.payment-price strong{font-size:28px;line-height:1}.payment-price span{color:#78868d;margin-top:4px;font-size:10px;font-weight:700}.payment-benefits{color:#52616b;background:#f6f8f4;border-radius:8px;gap:8px;margin:18px 0;padding:14px 16px;font-size:12px;list-style:none;display:grid}.payment-benefits li:before{color:#668d42;content:"✓";margin-right:8px;font-weight:900}.payment-offer p,.payment-instructions p{color:#68777f;font-size:12px;line-height:1.45}.payment-offer>button{color:#fff;cursor:pointer;background:#587d36;border:0;border-radius:7px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px 14px;font-weight:800;display:flex}.payment-offer>button span{font-size:17px;line-height:1}.payment-offer button:disabled{cursor:wait;opacity:.65}.payment-offer>.payment-offer-note{color:#7b878d;text-align:center;margin:9px 0 0;font-size:10px}.payment-instructions h3,.payment-history h3{color:#34495e;margin:0 0 10px;font-size:15px}.payment-instructions-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.payment-instructions-heading>div>span{color:#6f8f4f;letter-spacing:.08em;margin-bottom:4px;font-size:9px;font-weight:900;display:block}.payment-instructions-heading h3{margin-bottom:0;font-size:18px}.payment-instructions dl{margin:14px 0}.payment-instructions dl>div{border-bottom:1px solid #edf1ee;grid-template-columns:125px minmax(0,1fr);align-items:center;gap:12px;padding:9px 0;display:grid}.payment-instructions dt{color:#78868d;font-size:11px;font-weight:800}.payment-instructions dd{color:#34495e;justify-content:space-between;align-items:center;gap:8px;min-width:0;margin:0;font-size:13px;font-weight:800;display:flex}.payment-instructions code{overflow-wrap:anywhere}.payment-instructions dd button{color:#52616b;cursor:pointer;background:#fff;border:1px solid #9ba8af;border-radius:5px;flex:none;padding:5px 8px;font-size:10px;font-weight:700}.payment-instructions>small,.payment-unavailable{color:#7a6800;font-size:11px;line-height:1.45}.payment-instructions>.payment-refresh{color:#52616b;cursor:pointer;background:#fff;border:1px solid #9ba8af;border-radius:5px;margin-top:12px;padding:7px 10px;font-size:11px;font-weight:700;display:block}.payment-instructions>.payment-refresh:disabled{cursor:wait;opacity:.6}.payment-table-wrap{overflow-x:auto}.payment-table-wrap table{border-collapse:collapse;color:#52616b;width:100%;font-size:11px}.payment-table-wrap th,.payment-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5ebe6;padding:9px 8px}.payment-table-wrap th{color:#68777f;text-transform:uppercase;font-size:10px}.payment-status{background:#edf1f2;border-radius:10px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-block}.payment-status.pending{color:#795b00;background:#fff1c8}.payment-status.paid{color:#416326;background:#e8f2df}.payment-status.cancelled{color:#8b4037;background:#f3e9e7}.account-settings-overlay{z-index:60;background:#19262eb3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-settings-card{background:#fff;border-radius:14px;width:min(520px,100%);padding:24px;box-shadow:0 18px 60px #00000047}.account-settings-card>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.account-settings-card h2{color:#263844;margin:0 0 6px}.account-settings-card header p{color:#6d7b83;margin:0;font-size:12px;line-height:1.45}.account-settings-card header>button{color:#52616b;cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1}.account-settings-form{flex-direction:column;gap:14px;margin-top:22px;display:flex}.account-settings-form label{color:#34495e;flex-direction:column;gap:6px;font-size:13px;font-weight:800;display:flex}.account-settings-form input{box-sizing:border-box;color:#263844;width:100%;font:inherit;border:1px solid #bdc8cc;border-radius:7px;padding:10px 11px}.account-settings-form input:focus{border-color:#7fa650;outline:3px solid #7fa65029}.account-settings-form small{color:#78868d;font-size:10px;font-weight:500}.account-settings-error,.account-settings-success{border-radius:5px;margin:0;padding:9px 10px;font-size:12px}.account-settings-error{color:#9f3025;background:#fff2f0}.account-settings-success{color:#416326;background:#f1f8eb}.account-settings-actions{justify-content:flex-end;gap:8px;display:flex}.account-settings-actions button{color:#52616b;cursor:pointer;background:#fff;border:1px solid #9ba8af;border-radius:6px;padding:9px 13px;font-weight:700}.account-settings-actions button[type=submit]{color:#fff;background:#587d36;border-color:#587d36}.account-settings-actions button:disabled{cursor:wait;opacity:.65}.auth-page{background:radial-gradient(circle at 50% 10%,#eef4e8 0,#f8f9fa 42%,#edf1f3 100%);place-items:center;min-height:100dvh;padding:24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid}.auth-card{background:#fffffff5;border:1px solid #dde4d7;border-radius:16px;width:min(430px,100%);padding:34px;box-shadow:0 16px 50px #2b3c3224}.auth-brand{color:#fff;background:#2f4554;border-radius:14px;place-items:center;width:54px;height:54px;margin-bottom:16px;font-size:31px;display:grid}.auth-eyebrow{color:#6f8f4f;letter-spacing:.16em;margin-bottom:6px;font-size:11px;font-weight:800}.auth-card h1{color:#263844;margin:0 0 8px;font-size:28px}.auth-intro{color:#6d7b83;margin:0 0 22px;font-size:14px;line-height:1.5}.auth-tabs{background:#edf1f2;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;padding:4px;display:grid}.auth-tabs button{color:#69777f;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px;font-weight:700}.auth-tabs button.active{color:#416326;background:#fff;box-shadow:0 1px 4px #0000001f}.auth-google{box-sizing:border-box;color:#34495e;cursor:pointer;background:#fff;border:1px solid #bdc8cc;border-radius:7px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px 14px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.auth-google:hover{background:#fafbfb;border-color:#8c9aa1}.auth-google span{background:conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 40%, #fbbc05 0 65%, #ea4335 0 85%, #4285f4 0);color:#fff;border-radius:50%;place-items:center;width:21px;height:21px;font-size:12px;display:grid}.auth-divider{color:#8a969d;align-items:center;gap:10px;margin:14px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e1e6e8;flex:1;height:1px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:#34495e;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.auth-form label span{color:#8a969d;font-size:11px;font-weight:500}.auth-form input{color:#263844;width:100%;font:inherit;background:#fff;border:1px solid #bdc8cc;border-radius:7px;padding:11px 12px}.auth-form input:focus{border-color:#7fa650;outline:3px solid #7fa65029}.auth-hint{color:#77858c;margin:-3px 0 0;font-size:11px;line-height:1.4}.auth-error{color:#9f3025;background:#fff2f0;border-left:3px solid #c0392b;border-radius:4px;padding:9px 10px;font-size:12px;line-height:1.4}.auth-submit{color:#fff;cursor:pointer;background:#587d36;border:0;border-radius:7px;margin-top:3px;padding:12px 16px;font-size:14px;font-weight:800}.auth-submit:hover{background:#48692b}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-loading{color:#52616b;align-items:center;gap:12px;font-size:28px;display:flex}.auth-loading span{font-size:14px;font-weight:700}.auth-result{text-align:center}.auth-result .auth-brand{margin-left:auto;margin-right:auto}.auth-success{color:#416326;text-align:left;background:#f1f8eb;border-left:3px solid #587d36;border-radius:4px;padding:9px 10px;font-size:12px;line-height:1.4}.auth-link{box-sizing:border-box;text-decoration:none;display:inline-block}.auth-secondary{color:#587d36;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:9px 12px;font-weight:700}.account-google-row{background:#f8faf8;border:1px solid #dce4dd;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:13px;display:flex}.account-google-row div{color:#34495e;flex-direction:column;gap:3px;min-width:0;font-size:13px;display:flex}.account-google-row small{color:#78868d;font-size:10px;font-weight:500}.account-google-row button{color:#52616b;cursor:pointer;background:#fff;border:1px solid #9ba8af;border-radius:6px;flex:none;padding:9px 12px;font-weight:700}.account-google-row button:disabled{cursor:default;opacity:.65}.user-menu-notice{color:#416326;font-size:11px;font-weight:700}.admin-overlay{z-index:50;background:#19262eb3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-panel{background:#f8faf8;border-radius:14px;width:min(1040px,100%);max-height:90vh;padding:24px;overflow:auto;box-shadow:0 18px 60px #00000047}.admin-panel>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-panel h2{color:#263844;margin:0}.admin-panel>header>button{color:#52616b;cursor:pointer;background:0 0;border:0;font-size:30px}.admin-note{color:#68777f;font-size:13px}.admin-tabs{background:#e8eeea;border-radius:9px;gap:5px;margin:18px 0;padding:4px;display:flex}.admin-tabs button{color:#607078;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 14px;font-weight:800}.admin-tabs button .notification-badge{vertical-align:middle;margin-left:6px}.admin-tabs button.active{color:#416326;background:#fff;box-shadow:0 1px 4px #0000001f}.admin-tabs .admin-refresh{margin-left:auto;font-weight:700}.admin-tabs button:disabled{cursor:wait;opacity:.55}.admin-dashboard{flex-direction:column;gap:16px;display:flex}.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.admin-metric-grid article{background:#fff;border:1px solid #dce4dd;border-radius:9px;flex-direction:column;gap:4px;min-width:0;padding:15px;display:flex}.admin-metric-grid span{color:#6d7b83;text-transform:uppercase;font-size:11px;font-weight:800}.admin-metric-grid strong{color:#2f4554;font-size:26px}.admin-metric-grid small{color:#7a878d;font-size:10px}.admin-stat-section{background:#fff;border:1px solid #dce4dd;border-radius:9px;padding:15px}.admin-stat-section h3{color:#34495e;margin:0 0 13px;font-size:14px}.admin-stat-columns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-stat-row{color:#52616b;border-bottom:1px solid #edf1ee;justify-content:space-between;align-items:center;gap:14px;padding:8px 0;font-size:12px;display:flex}.admin-stat-row:last-child{border-bottom:0}.admin-stat-row span{flex-direction:column;gap:2px;display:flex}.admin-stat-row small{color:#879299;font-size:9px}.admin-stat-row strong{color:#416326}.admin-chart-legend{color:#6d7b83;justify-content:flex-end;gap:14px;margin:-27px 0 10px;font-size:9px;display:flex}.admin-chart-legend span:before{content:"";background:currentColor;border-radius:2px;width:7px;height:7px;margin-right:4px;display:inline-block}.admin-chart-legend .registrations{color:#2980b9}.admin-chart-legend .games{color:#7fa650}.admin-chart-legend .ai{color:#8e44ad}.admin-mini-chart{grid-template-columns:repeat(14,minmax(18px,1fr));gap:5px;height:150px;display:grid}.admin-chart-day{grid-template-rows:minmax(0,1fr) auto;gap:5px;min-width:0;display:grid}.admin-chart-bars{border-bottom:1px solid #dce4dd;justify-content:center;align-items:flex-end;gap:2px;display:flex}.admin-chart-bars i{border-radius:3px 3px 0 0;width:min(7px,30%);min-height:2px}.admin-chart-bars .registrations{background:#2980b9}.admin-chart-bars .games{background:#7fa650}.admin-chart-bars .ai{background:#8e44ad}.admin-chart-day time{color:#89949a;text-align:center;text-overflow:clip;font-size:8px;overflow:hidden}.admin-empty,.admin-data-note{color:#7a878d;font-size:11px}.admin-data-note{margin:0;line-height:1.45}.admin-settings-card{background:#fff;border:1px solid #d8e1d2;border-radius:9px;grid-template-columns:minmax(260px,1fr) 130px auto;align-items:end;gap:14px;margin:16px 0;padding:15px;display:grid}.admin-settings-card h3,.admin-settings-card p{margin:0 0 5px}.admin-settings-card p,.admin-settings-card small{color:#68777f;font-size:12px}.admin-settings-card label{color:#43535c;flex-direction:column;gap:4px;font-size:12px;font-weight:700;display:flex}.admin-settings-card input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #b9c5bb;border-radius:6px;padding:8px}.admin-settings-card button{color:#fff;cursor:pointer;background:#587d36;border:0;border-radius:6px;padding:9px 14px;font-weight:800}.admin-settings-card button:disabled{cursor:wait;opacity:.65}.admin-user-list{flex-direction:column;gap:8px;margin-top:18px;display:flex}.admin-user-row{background:#fff;border:1px solid #dce4dd;border-radius:9px;grid-template-columns:minmax(180px,1fr) 130px auto;align-items:center;gap:14px;padding:13px 15px;display:grid}.admin-user-row>div:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-user-row strong,.admin-user-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-user-row small{color:#76858c}.plan-badge{color:#52616b;background:#edf1f2;border-radius:8px;flex-direction:column;align-items:center;padding:6px 9px;font-size:11px;font-weight:800;display:flex}.plan-badge.premium{color:#795b00;background:#fff1c8}.plan-badge small{margin-top:2px;font-size:9px;font-weight:600}.admin-user-actions{justify-content:flex-end;gap:7px;display:flex}.admin-user-actions button{color:#4c6a2e;cursor:pointer;background:#fff;border:1px solid #789358;border-radius:6px;padding:7px 10px;font-weight:700}.admin-user-actions .danger-action{color:#a93226;border-color:#c97970}.admin-orders{flex-direction:column;gap:10px;display:flex}.admin-orders .payment-table-wrap{background:#fff;border:1px solid #dce4dd;border-radius:9px;padding:4px 12px}.admin-order-actions{gap:6px;display:flex}.admin-order-actions button{color:#4c6a2e;cursor:pointer;background:#fff;border:1px solid #789358;border-radius:5px;padding:6px 8px;font-size:10px;font-weight:800}.admin-order-actions .danger-action{color:#a93226;border-color:#c97970}.admin-order-actions button:disabled{cursor:wait;opacity:.55}@media (width<=700px){.admin-settings-card{grid-template-columns:1fr}.admin-metric-grid{grid-template-columns:1fr 1fr}.admin-stat-columns{grid-template-columns:1fr}.admin-mini-chart{gap:2px}.admin-chart-day time{font-size:7px}.admin-user-row{grid-template-columns:1fr auto}.admin-user-actions{grid-column:1/-1}}@media (width<=440px){.admin-metric-grid{grid-template-columns:1fr}.admin-chart-day time{writing-mode:vertical-rl}}@media (width<=560px){.payment-card{padding:21px}.payment-offer-heading{align-items:flex-start}.payment-price strong{font-size:24px}.payment-instructions dl>div{grid-template-columns:1fr;gap:4px}.payment-instructions dd{align-items:flex-start}}.game-mode-container{overflow-y:auto}.bot-lobby,.bot-game-layout{width:100%;max-width:1320px;min-height:0;margin:0 auto}.lobby-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.lobby-heading h2{margin-bottom:4px}.lobby-heading p{color:#667;margin-top:0}.create-bot-btn,.start-game-panel button,.primary-action,.creator-actions button{color:#fff;cursor:pointer;background:#2980b9;border:0;border-radius:6px;padding:11px 18px;font-weight:700}.bot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.bot-card{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:10px;grid-template-columns:auto 1fr;gap:8px 12px;padding:16px;display:grid;position:relative;box-shadow:0 2px 8px #0000001a}.bot-card.selected{border-color:#3498db}.bot-avatar{background:#edf4f8;border-radius:50%;place-items:center;width:54px;height:54px;font-size:30px;display:grid}.bot-avatar.small{width:42px;height:42px;font-size:23px}.bot-card-title h3{margin:4px 0}.bot-card-title strong{color:#2980b9;font-size:13px}.bot-card>p,.bot-style-summary,.bot-card-actions{grid-column:1/-1}.bot-card>p{color:#566;min-height:42px}.bot-style-summary{flex-wrap:wrap;gap:6px;display:flex}.bot-style-summary span{background:#eef3f5;border-radius:10px;padding:4px 7px;font-size:11px}.bot-card-actions{justify-content:flex-end;gap:6px;display:flex}.bot-card-actions button{color:#667;cursor:pointer;background:0 0;border:0}.bot-visibility{vertical-align:middle;text-transform:uppercase;border-radius:9px;margin-left:4px;padding:3px 6px;font-size:9px;font-weight:800;display:inline-block}.bot-visibility.public,.bot-visibility-note.public{color:#4f762e;background:#e8f2df}.bot-visibility.private,.bot-visibility-note.private{color:#536979;background:#edf1f5}.bot-visibility-note{text-transform:uppercase;border-radius:10px;align-self:flex-start;margin:0;padding:5px 8px;font-size:11px;font-weight:800}.start-game-panel{background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:16px;display:flex;box-shadow:0 2px 8px #0000001a}.start-game-panel div{flex-direction:column;gap:3px;display:flex}.start-game-panel span{color:#778;font-size:12px}.start-game-panel label{align-items:center;gap:8px;display:flex}.start-game-panel select{padding:8px}.commentary-toggle{cursor:pointer}.commentary-toggle input{accent-color:#8e44ad;width:18px;height:18px}.commentary-toggle span{flex-direction:column;gap:2px;display:flex}.commentary-toggle strong{color:#432755;font-size:13px}.commentary-toggle small{color:#778;font-size:11px}.bot-game-layout{grid-template-columns:minmax(360px,560px) minmax(280px,1fr);justify-content:center;gap:24px;display:grid;overflow-y:auto}.bot-board-column{min-width:0}.bot-game-status{box-sizing:border-box;background:#fff;border-radius:8px;grid-template-columns:auto minmax(125px,auto) minmax(0,1fr);align-items:center;gap:10px;height:96px;margin-bottom:10px;padding:10px;transition:box-shadow .2s;display:grid}.bot-game-status.has-speech{box-shadow:0 4px 14px #34495e1a}.bot-game-identity{flex-direction:column;min-width:0;display:flex}.bot-game-identity strong{overflow-wrap:anywhere}.bot-game-identity span{color:#667;font-size:13px}.bot-speech-slot{align-items:center;min-width:0;height:72px;display:flex}.bot-inline-speech{box-sizing:border-box;color:#6d5700;overflow-wrap:anywhere;background:#fff8dc;border-radius:4px 9px 9px;align-items:flex-start;width:100%;max-height:66px;padding:8px 10px;font-size:13px;line-height:1.35;animation:.2s ease-out bot-speech-in;display:flex;position:relative}.bot-inline-speech:before{content:"";border-top:8px solid #fff8dc;border-left:8px solid #0000;width:0;height:0;position:absolute;top:0;left:-7px}.bot-inline-speech.llm{color:#432755;background:#f7effb}.bot-inline-speech.llm:before{border-top-color:#f7effb}.bot-speech-copy{scrollbar-width:thin;flex:1;min-width:0;max-height:50px;overflow-y:auto}.bot-speech-spark{color:#8e44ad;flex:none;margin-right:6px;font-size:12px;font-weight:800}.game-action-row{gap:10px;margin-top:12px;display:flex}.game-action-row button{cursor:pointer;background:#fff;border:1px solid #9ba8af;border-radius:6px;flex:1;padding:10px;font-weight:700}.game-action-row .danger-action{color:#c0392b;border-color:#c0392b}.game-action-row .primary-action{color:#fff;background:#2980b9;border-color:#2980b9}@keyframes bot-speech-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.commentary-active{color:#704080;background:#f7effb;border-radius:6px;padding:8px 10px;font-size:12px}.game-side-card{background:#fff;border-radius:10px;padding:18px;overflow-y:auto}.captured-pieces{gap:7px;display:grid}.captured-pieces>div{background:#f4f6f7;border-radius:6px;grid-template-columns:minmax(110px,auto) 1fr;align-items:center;gap:10px;min-height:32px;padding:5px 8px;display:grid}.captured-pieces>div>span{color:#5d6d7e;font-size:12px;font-weight:700}.captured-pieces strong{flex-wrap:wrap;align-items:center;gap:1px;min-width:0;display:flex}.captured-pieces strong i{color:#20252a;text-shadow:0 1px 1px #ffffffe6;font-family:serif;font-size:25px;font-style:normal;line-height:1}.captured-pieces strong small{color:#99a3a4;font-size:16px}.style-meter{text-transform:capitalize;grid-template-columns:100px 1fr;align-items:center;gap:8px;margin:8px 0;font-size:12px;display:grid}.style-meter i{background:#e4e8ea;border-radius:5px;height:7px;overflow:hidden}.style-meter b{background:#3498db;height:100%;display:block}.move-history{flex-wrap:wrap;gap:5px 10px;font-family:monospace;display:flex}.creator-overlay{z-index:20;background:#141e28a6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.bot-creator{background:#fff;border-radius:12px;width:min(760px,100%);max-height:90vh;padding:22px;overflow-y:auto}.creator-heading{justify-content:space-between;align-items:center;display:flex}.creator-heading h2{margin-top:0}.creator-heading>button{cursor:pointer;background:0 0;border:0;font-size:28px}.bot-creator label{flex-direction:column;gap:5px;font-size:13px;font-weight:700;display:flex}.bot-creator input,.bot-creator textarea,.bot-creator select{box-sizing:border-box;width:100%;font:inherit;border:1px solid #bdc3c7;border-radius:5px;padding:9px}.creator-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.creator-actions .secondary-action{color:#34495e;background:#fff;border:1px solid #9ba8af}.creator-form{flex-direction:column;gap:13px;display:flex}.profile-row{grid-template-columns:60px 1fr 150px;align-items:end;gap:10px;display:grid}.profile-row .avatar-input{text-align:center;font-size:25px}.style-grid{grid-template-columns:1fr 1fr;gap:8px 18px;display:grid}.opening-search{grid-template-columns:120px 1fr;gap:8px;display:grid}.opening-results{border:1px solid #ccd3d7;flex-direction:column;display:flex}.opening-results button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eee;padding:7px}.opening-chips{flex-wrap:wrap;gap:6px;display:flex}.opening-chips span{background:#edf4f8;border-radius:12px;padding:6px 8px;font-size:12px}.opening-chips button{cursor:pointer;background:0 0;border:0;margin-left:6px}.form-error,.global-error{color:#b03a2e}.form-warning{color:#9a6700;font-size:13px}.bot-creator .bot-strength-toggle{cursor:pointer;background:#faf7fc;border:1px solid #d8cce0;border-radius:7px;flex-direction:row;align-items:flex-start;padding:10px}.bot-creator .bot-strength-toggle input{accent-color:#8e44ad;width:18px;height:18px;padding:0}.bot-strength-toggle span{flex-direction:column;gap:3px;display:flex}.bot-strength-toggle small{color:#667;font-weight:400;line-height:1.35}.app-header h1{color:#2c3e50;margin:0;font-size:26px}.app-layout{grid-template-columns:minmax(0,450px) minmax(0,350px) minmax(450px,1fr);align-items:stretch;gap:16px;width:100%;max-width:1760px;height:100%;min-height:0;margin:0 auto;display:grid;overflow:hidden}.board-col{scrollbar-gutter:stable;flex-direction:column;gap:16px;width:100%;height:100%;min-height:0;display:flex;overflow-y:auto}.stats-col{scrollbar-gutter:stable;flex-direction:column;gap:16px;min-width:0;height:100%;min-height:0;display:flex;overflow-y:auto}.chat-col{min-width:0;height:100%;min-height:0}.side-panel{background-color:#fff;border-radius:8px;width:100%;min-width:0;padding:15px;box-shadow:0 2px 8px #0000001a}.panel-title{color:#2c3e50;border-bottom:2px solid #3498db;margin-top:0;margin-bottom:12px;padding-bottom:8px;font-size:16px}.loading-text{color:#7f8c8d;font-size:14px}.explorer-error{color:#9a3b2f;flex-direction:column;gap:8px;font-size:12px;line-height:1.4;display:flex}.explorer-error button{color:#9a3b2f;cursor:pointer;background:#fff;border:1px solid #c96d61;border-radius:5px;align-self:flex-start;padding:6px 9px;font-weight:700}.game-history-panel .chesscom-header .panel-title{border-color:#8e44ad}.game-history-panel .chesscom-open{background:#8e44ad}.game-history-panel .chesscom-open:hover{background:#763a91}.manual-import-panel .chesscom-header{align-items:center}.manual-import-panel .chesscom-header>div{min-width:0}.manual-import-panel .panel-title{border-color:#d68910;margin-bottom:4px}.manual-import-panel small{color:#7f8c8d;font-size:10px;line-height:1.35}.manual-import-panel .chesscom-open{background:#d68910}.manual-import-panel .chesscom-open:hover{background:#b9770e}.manual-import-modal{width:min(720px,100vw - 32px)}.manual-import-form{flex-direction:column;gap:12px;display:flex}.manual-import-form label{color:#34495e;flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.manual-import-form textarea{box-sizing:border-box;resize:vertical;color:#263844;border:1px solid #bdc3c7;border-radius:6px;width:100%;padding:10px;font:12px/1.45 monospace}.manual-import-form textarea:focus{border-color:#d68910;outline:3px solid #d6891024}.manual-import-form p{color:#6f7d84;margin:0;font-size:11px;line-height:1.4}.manual-import-form>.chesscom-user-submit{align-self:flex-end}.game-history-modal .game-history-list{max-height:min(620px,100dvh - 120px)}.game-history-list{flex-direction:column;gap:6px;max-height:210px;display:flex;overflow-y:auto}.game-history-list button{color:#34495e;cursor:pointer;text-align:left;background:#fbf9fc;border:1px solid #e2d8e8;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.game-history-list button:hover,.game-history-list button.active{background:#f5ecf8;border-color:#9b59b6}.game-history-list button:disabled{cursor:wait;opacity:.65}.game-history-list button>span{flex-direction:column;min-width:0;display:flex}.game-history-list strong,.game-history-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-history-list small,.game-history-list time{color:#7f8c8d;font-size:10px}.analysis-badge{color:#7d3c98;white-space:nowrap;background:#f3e8f8;border-radius:9px;align-items:center;width:fit-content;margin-top:3px;padding:2px 6px;font-size:9px;font-style:normal;font-weight:800;display:inline-flex}.analysis-source-panel{padding:12px 14px}.analysis-source-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.analysis-source-summary>div{flex-direction:column;gap:2px;min-width:0;display:flex}.analysis-source-summary h3{color:#2c3e50;margin:0 0 3px;font-size:15px}.analysis-source-summary strong{color:#58783a;font-size:11px}.analysis-source-summary span{color:#7f8c8d;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.analysis-source-summary>button,.online-username-form button,.unified-import-footer button{color:#fff;cursor:pointer;background:#7fa650;border:1px solid #7fa650;border-radius:5px;flex:none;padding:7px 10px;font-size:12px;font-weight:800}.analysis-source-summary>button:hover,.online-username-form button:hover,.unified-import-footer button:hover{background:#6d9142}.analysis-source-backdrop{z-index:1000;background:#18232cad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.analysis-source-modal{box-sizing:border-box;background:#fff;border-radius:12px;flex-direction:column;width:min(820px,100%);max-height:min(780px,100dvh - 40px);display:flex;overflow:hidden;box-shadow:0 18px 56px #00000052}.analysis-source-modal>header{justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px 14px;display:flex}.analysis-source-modal>header h2,.analysis-source-modal>header p{margin:0}.analysis-source-modal>header h2{color:#2c3e50;font-size:20px}.analysis-source-modal>header p{color:#7f8c8d;margin-top:4px;font-size:12px}.analysis-source-modal>header button{color:#34495e;cursor:pointer;background:#edf1f2;border:0;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:0;font-size:24px;line-height:1;display:grid}.analysis-source-tabs{border-bottom:1px solid #e4e8e9;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 20px;display:grid}.analysis-source-tabs button{color:#718078;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 8px;font-size:12px;font-weight:800}.analysis-source-tabs button:hover,.analysis-source-tabs button.active{color:#47642e;border-bottom-color:#7fa650}.analysis-source-content{min-height:280px;padding:18px 20px 20px;overflow-y:auto}.online-source-view,.library-source-view,.unified-import-form{flex-direction:column;gap:16px;display:flex}.online-provider-row{align-items:end;gap:12px;display:flex}.online-provider-row label,.online-username-form label,.unified-import-form>label{color:#53625a;flex-direction:column;gap:5px;min-width:0;font-size:11px;font-weight:800;display:flex}.online-provider-row select,.online-username-form input,.unified-import-form textarea{box-sizing:border-box;color:#263844;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #bdc9c1;border-radius:6px;padding:9px 10px}.online-provider-row small{color:#86918b;padding-bottom:9px;font-size:10px}.online-username-form{grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:8px;display:grid}.online-username-form button.secondary{color:#53625a;background:#fff;border-color:#aebbb3}.online-username-form button:disabled,.unified-import-footer button:disabled{cursor:not-allowed;opacity:.55}.source-empty{color:#718078;text-align:center;background:#f5f7f6;border-radius:8px;margin:18px 0;padding:22px;font-size:12px;line-height:1.5}.analysis-game-list{flex-direction:column;gap:6px;display:flex}.analysis-game-list>button{color:#34495e;cursor:pointer;text-align:left;background:#fafbfa;border:1px solid #dfe6e1;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 12px;display:grid}.analysis-game-list>button:has(.game-source-icon){grid-template-columns:auto minmax(0,1fr) auto}.analysis-game-list>button:hover,.analysis-game-list>button.active{background:#f0f5eb;border-color:#7fa650}.analysis-game-list>button:disabled{cursor:wait;opacity:.6}.game-source-icon{background:#eaf0e5;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.game-list-main,.game-list-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.game-list-main strong,.game-list-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-list-main strong{font-size:12px}.game-list-main small,.game-list-meta time{color:#7f8c8d;font-size:10px}.game-list-meta{align-items:flex-end}.library-filters,.import-format-tabs{flex-wrap:wrap;gap:6px;display:flex}.library-filters button,.import-format-tabs button{color:#65746c;cursor:pointer;background:#fff;border:1px solid #d3dcd6;border-radius:16px;padding:7px 11px;font-size:11px;font-weight:800}.library-filters button:hover,.library-filters button.active,.import-format-tabs button:hover,.import-format-tabs button.active{color:#4f6c33;background:#edf4e6;border-color:#7fa650}.unified-import-form textarea{resize:vertical;font:12px/1.5 monospace}.online-provider-row select:focus,.online-username-form input:focus,.unified-import-form textarea:focus{border-color:#7fa650;outline:3px solid #7fa65026}.unified-import-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.unified-import-footer p{color:#718078;margin:0;font-size:11px;line-height:1.45}.game-history-list time{flex:none}.board-wrapper{border-radius:4px;width:100%;max-width:100%;overflow:hidden;box-shadow:0 4px 12px #00000026}.flip-board-btn{color:#34495e;cursor:pointer;background:#fff;border:1px solid #95a5a6;border-radius:5px;width:100%;margin-top:10px;padding:7px 12px;font-size:12px;font-weight:700}.flip-board-btn:hover{background:#edf1f2}.position-export{justify-content:flex-end;align-items:center;gap:5px;min-height:25px;margin-top:5px;display:flex}.position-export button{color:#4b5b63;cursor:pointer;background:#fff;border:1px solid #aeb8bc;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:700;line-height:1.3}.position-export button:hover:not(:disabled){color:#1f618d;background:#eaf4fb;border-color:#2980b9}.position-export button:disabled{cursor:not-allowed;opacity:.48}.position-export span{color:#287c4b;margin-right:auto;font-size:10px}.promotion-overlay{z-index:30;background:#141e289e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.promotion-picker{text-align:center;background:#fff;border-radius:12px;width:min(420px,100%);padding:18px;box-shadow:0 15px 45px #0000004d}.promotion-picker>div{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.promotion-picker>div button{cursor:pointer;background:#f8fafb;border:1px solid #bdc3c7;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:36px;display:flex}.promotion-picker>div span{color:#34495e;font-size:11px;font-weight:700}.promotion-picker>div button:hover{background:#eaf4fb;border-color:#2980b9}.promotion-cancel{color:#59666d;cursor:pointer;background:0 0;border:0}.favorite-openings{flex-direction:column;gap:6px;display:flex}.favorite-openings>div{background:#f4f7f8;border-radius:6px;grid-template-columns:58px 1fr auto;align-items:center;gap:7px;padding:7px 8px;display:grid}.favorite-openings span{color:#66757c;text-transform:uppercase;font-size:10px;font-weight:700}.favorite-openings strong{color:#34495e;font-size:12px}.favorite-openings small{color:#52656e;background:#dfe9ed;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700}.empty-side-section{color:#7f8c8d;font-size:12px;font-style:italic}.controls-container{justify-content:center;gap:10px;margin-top:15px;display:flex}.control-btn{color:#fff;cursor:pointer;background-color:#3498db;border:none;border-radius:5px;flex:1;padding:10px 20px;font-weight:700;transition:background-color .2s}.control-btn:hover{background-color:#2980b9}.reset-btn{background-color:#e74c3c}.reset-btn:hover{background-color:#c0392b}.game-navigation{grid-template-columns:.75fr .75fr minmax(150px,1.4fr) .75fr;gap:10px;display:grid}.review-controls{flex-direction:column;gap:8px;margin-top:15px;display:flex}.variation-banner{color:#6f4a00;background:#fff7e6;border:1px solid #d4a64f;border-radius:5px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;font-size:12px;display:grid}.variation-banner div{flex-direction:column;gap:2px;min-width:0;display:flex}.variation-banner span{color:#8a6a25;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.return-game-btn{color:#6f4a00;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d4a64f;border-radius:5px;padding:8px 10px;font-size:12px;font-weight:700}.return-game-btn:hover{background:#fff0cc}.return-game-btn.secondary{color:#34495e;border-color:#bdc3c7}.return-game-btn.secondary:hover{background:#edf1f2}.navigation-btn{color:#fff;cursor:pointer;background:#3498db;border:0;border-radius:5px;font-size:20px;font-weight:700}.navigation-btn:hover:not(:disabled){background:#2980b9}.navigation-btn:disabled{cursor:not-allowed;opacity:.4}.navigation-jump-btn{background:#2c3e50}.navigation-jump-btn:hover:not(:disabled){background:#1f2d3a}.move-counter{color:#2c3e50;background:#fff;border:1px solid #bdc3c7;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-height:42px;font-size:13px;display:flex}.move-counter span{color:#7f8c8d;font-size:11px}.end-review-btn{color:#c0392b;cursor:pointer;background:#fff;border:1px solid #e74c3c;border-radius:5px;padding:8px 12px;font-weight:700}.end-review-btn:hover{background:#fdf0ee}.evaluation-chart{background:#fff;border:1px solid #d7dde1;border-radius:5px;padding:8px 8px 2px}.evaluation-chart-header{color:#2c3e50;justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;display:flex}.evaluation-chart-header span{color:#7f8c8d;font-size:9px}.evaluation-chart svg{width:100%;height:104px;display:block}.evaluation-area.positive{fill:#ecf0f1f2}.evaluation-area.negative{fill:#34495e80}.evaluation-zero{stroke:#95a5a6;stroke-dasharray:3 3;stroke-width:1px}.evaluation-line{fill:none;stroke:#e67e22;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.evaluation-active-line{stroke:#3498db;stroke-width:1px}.evaluation-active-point{fill:#3498db;stroke:#fff;stroke-width:2px}.evaluation-hit-area{fill:#0000;cursor:pointer}.evaluation-axis-label{fill:#7f8c8d;pointer-events:none;font-size:8px}.opening-box{background-color:#e8f4f8;border-radius:6px;margin-bottom:15px;padding:10px}.opening-fallback-label{color:#7f8c8d;text-transform:uppercase;vertical-align:middle;background:#edf1f2;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:9px;font-weight:400;display:inline-block}.lichess-rating-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.lichess-rating-filter label{color:#7f8c8d;text-transform:uppercase;flex-direction:column;gap:3px;min-width:0;font-size:10px;font-weight:700;display:flex}.lichess-rating-filter select{color:#2c3e50;background:#fff;border:1px solid #bdc3c7;border-radius:5px;width:100%;padding:7px 9px;font-size:12px}.opening-name{color:#2980b9;font-size:14px;font-weight:700}.opening-stats{color:#7f8c8d;margin-top:4px;font-size:12px}.moves-table{border-collapse:collapse;width:100%;font-size:13px}.moves-table th,.moves-table td{padding:6px 4px}.moves-table th{text-align:left;border-bottom:1px solid #bdc3c7}.moves-table tr{border-bottom:1px solid #ecf0f1}.move-san{color:#2c3e50;font-weight:700}.winrate-labels{color:#7f8c8d;justify-content:space-between;font-size:10px;display:flex}.empty-table{text-align:center;color:#95a5a6;padding:20px 4px}.winrate-bar-container{border-radius:3px;width:100%;height:6px;margin-top:2px;display:flex;overflow:hidden}.winrate-white{background-color:#e0e0e0}.winrate-draw{background-color:#a0a0a0}.winrate-black{background-color:#3b3b3b}.engine-panel .panel-title{border-color:#e67e22}.engine-loading{text-align:center;color:#e67e22;padding:20px;font-size:14px;font-weight:700}.evaluation-box{text-align:center;background-color:#fcf3cf;border-radius:6px;margin-bottom:15px;padding:10px}.evaluation-label{color:#7f8c8d;text-transform:uppercase;font-size:11px}.evaluation-score{color:#d35400;margin:2px 0;font-size:18px;font-weight:700}.variations-container{font-size:13px}.variations-title{color:#2c3e50;margin-bottom:8px;font-weight:700}.variation-card{background-color:#f8f9fa;border-left:4px solid #e67e22;border-radius:0 4px 4px 0;margin-bottom:8px;padding:8px}.variation-header{justify-content:space-between;margin-bottom:4px;display:flex}.variation-score{color:#d35400;font-weight:700}.variation-depth{color:#7f8c8d;font-size:11px}.variation-line{color:#34495e;word-break:break-word;font-family:monospace;font-size:12px}.chat-messages{background:#f4f6f7;border-radius:6px;flex-direction:column;flex:auto;min-height:0;margin-bottom:10px;padding:10px;font-size:14px;display:flex;overflow-y:auto}.chat-message{overflow-wrap:anywhere;width:fit-content;max-width:88%;margin-top:10px}.chat-message:first-child{margin-top:0}.chat-message.bot{color:#2c3e50;background:#e8f4f8;border-left:4px solid #9b59b6;border-radius:6px;align-self:flex-start;padding:10px 14px;line-height:1.4}.chat-message.user{color:#2c3e50;text-align:right;background:#e1f0fa;border-right:4px solid #3498db;border-radius:6px;align-self:flex-end;padding:10px 14px;line-height:1.4}.chat-message.user strong{margin-bottom:4px;display:block}.chat-message p{margin:0 0 8px}.chat-message p:last-child{margin:0}.chat-message.bot ul,.chat-message.bot ol{margin:8px 0;padding-left:24px}.chat-message.bot li{padding-left:2px}.chat-message.bot table{border-collapse:collapse;width:100%;margin:8px 0;font-size:12px;display:block;overflow-x:auto}.chat-message.bot th,.chat-message.bot td{text-align:left;white-space:nowrap;border:1px solid #b8c8d1;padding:6px 8px}.chat-message.bot th{background:#d5eaf3}.chat-message.bot tr:nth-child(2n){background:#ffffff73}.chat-panel-header{border-bottom:2px solid #9b59b6;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.chat-panel-header .panel-title{border-bottom:0;flex-direction:column;flex:1;gap:3px;margin-bottom:0;display:flex}.chat-quota{color:#6f7b73;font-size:11px;font-weight:600}.chat-header-controls{align-items:flex-end;gap:8px;padding-bottom:6px;display:flex}.chat-clear{color:#7d3c98;cursor:pointer;background:#fff;border:1px solid #c9a3d8;border-radius:5px;padding:5px 9px;font-size:12px;font-weight:700}.chat-clear:hover:not(:disabled){background:#f4eaf8}.chat-clear:disabled{cursor:not-allowed;opacity:.5}.chat-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.chat-container{flex-direction:column;flex:1;min-height:0;padding-bottom:6px;display:flex}.chat-input-wrapper{flex:none;gap:8px;padding-bottom:22px;display:flex;position:relative}.chat-position-picker{color:#65436f;background:#faf6fc;border:1px solid #d8c6df;border-radius:6px;flex:none;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:8px 10px;font-size:12px;font-weight:700;display:flex}.chat-position-picker>div{grid-template-columns:34px minmax(120px,1fr) 34px auto;gap:5px;min-width:0;display:grid}.chat-position-picker button,.chat-position-picker select{color:#623277;min-height:34px;font:inherit;background:#fff;border:1px solid #c9a3d8;border-radius:5px}.chat-position-picker button{cursor:pointer;font-size:18px;font-weight:800}.chat-position-picker button:disabled,.chat-position-picker select:disabled{cursor:not-allowed;opacity:.5}.chat-position-picker .show-chat-position{padding:0 9px;font-size:11px}.chat-position-badge{color:#6d3384;cursor:pointer;vertical-align:middle;background:#ffffff9e;border:1px solid #7d3c9859;border-radius:10px;margin-left:7px;padding:2px 6px;font-size:10px;font-weight:700}.chat-move-link{color:#71368a;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:1px dashed;padding:0;font-weight:700;display:inline}.chat-move-link:hover,.chat-position-badge:hover{color:#4d1d61;border-color:currentColor}.chat-character-count{color:#69756d;font-size:.72rem;position:absolute;bottom:2px;right:0}.chat-input{min-width:0;font:inherit;border:1px solid #bdc3c7;border-radius:5px;flex:1;padding:10px 12px}.chat-input:focus{border-color:#9b59b6;outline:2px solid #9b59b626}.chat-send{color:#fff;background:#9b59b6;border:0;border-radius:5px;padding:10px 18px;font-weight:700}.chesscom-panel{min-height:0;overflow:hidden}.chesscom-header{align-items:flex-start;gap:8px;min-width:0;display:flex}.chesscom-header .panel-title{overflow-wrap:anywhere;border-color:#7fa650;flex:1;min-width:0}.chesscom-open{color:#fff;cursor:pointer;background:#7fa650;border:0;border-radius:5px;flex:none;padding:7px 10px;font-size:12px;font-weight:700}.chesscom-open:hover{background:#6d9142}.chesscom-current-game{color:#61705a;overflow-wrap:anywhere;margin:0;font-size:12px}.chesscom-modal-backdrop{z-index:1000;background:#18232ca6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.chesscom-modal{box-sizing:border-box;background:#fff;border-radius:10px;flex-direction:column;width:min(560px,100%);max-height:min(760px,100dvh - 40px);padding:18px;display:flex;box-shadow:0 16px 48px #0000004d}.chesscom-modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.chesscom-modal-header h2{color:#2c3e50;margin:0;font-size:20px}.chesscom-modal-close{color:#34495e;cursor:pointer;background:#edf1f2;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;font-size:25px;line-height:1;display:grid}.chesscom-user-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;margin-bottom:12px;display:grid}.chesscom-user-field{color:#7f8c8d;text-transform:uppercase;flex-direction:column;gap:3px;min-width:0;font-size:10px;font-weight:700;display:flex}.chesscom-user-field input{box-sizing:border-box;color:#2c3e50;text-transform:none;background:#fff;border:1px solid #b6c9a4;border-radius:5px;width:100%;min-width:0;padding:7px 9px;font-size:13px}.chesscom-user-field input:focus{border-color:#7fa650;outline:2px solid #7fa6502e}.chesscom-refresh,.chesscom-user-submit,.game-analysis-btn{color:#567536;cursor:pointer;background:#fff;border:1px solid #7fa650;border-radius:5px;flex:none;padding:6px 9px;font-size:12px;font-weight:700}.chesscom-refresh:disabled,.chesscom-user-submit:disabled,.game-analysis-btn:disabled{cursor:not-allowed;opacity:.5}.chesscom-games{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex;overflow-y:auto}.chesscom-game{color:#61705a;cursor:pointer;text-align:left;overflow-wrap:anywhere;background:#f7f9f4;border:1px solid #dfe6d7;border-radius:5px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;font-size:11px;display:flex}.chesscom-game span{min-width:0}.chesscom-game-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.chesscom-game-heading .analysis-badge{flex:none;margin-top:0}.chesscom-game:hover,.chesscom-game.selected{background:#edf4e6;border-color:#7fa650}.chesscom-opponent{color:#2c3e50;font-size:13px;font-weight:700}.game-analysis-btn{color:#7d3c98;white-space:nowrap;border-color:#9b59b6}.game-review-focus-overlay{z-index:50;background:#18222a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.game-review-focus-dialog{background:#f8faf8;border-radius:14px;width:min(440px,100%);overflow:hidden;box-shadow:0 18px 60px #0000004d}.game-review-focus-dialog header{background:#fff;border-bottom:1px solid #dce4dd;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex}.game-review-focus-dialog h2,.game-review-focus-dialog p{margin:0}.game-review-focus-dialog header p:last-child{color:#52616b;margin-top:5px}.game-review-focus-dialog header>button{color:#52616b;cursor:pointer;background:0 0;border:0;font-size:30px;line-height:1}.game-review-focus-dialog fieldset{border:0;gap:8px;margin:0;padding:18px 22px 8px;display:grid}.game-review-focus-dialog legend{color:#52616b;margin-bottom:8px;font-size:13px;font-weight:700}.game-review-focus-dialog label{cursor:pointer;border:1px solid #dce4dd;border-radius:8px;align-items:flex-start;gap:10px;padding:11px;display:flex}.game-review-focus-dialog label.selected{background:#f7effa;border-color:#9b59b6}.game-review-focus-dialog label span{gap:2px;display:grid}.game-review-focus-dialog label small,.game-review-focus-note{color:#52616b}.game-review-focus-note{padding:4px 22px 0;font-size:13px}.game-review-focus-dialog footer{justify-content:flex-end;gap:10px;padding:18px 22px 22px;display:flex}.game-review-focus-dialog footer button{color:#354552;cursor:pointer;background:#fff;border:1px solid #b7c4b8;border-radius:7px;padding:9px 13px;font-weight:700}.game-review-focus-dialog footer button:last-child{color:#fff;background:#7d3c98;border-color:#7d3c98}.game-review-focus-dialog footer button:disabled{cursor:not-allowed;opacity:.5}.cancel-analysis-btn{color:#c0392b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e74c3c;border-radius:5px;padding:6px 9px;font-size:12px;font-weight:700}.cancel-analysis-btn:hover{background:#fdf0ee}@media (width<=1380px){.app-container{height:auto;min-height:100vh;overflow:visible}.app-layout{grid-template-columns:minmax(0,450px) minmax(320px,1fr);height:auto;overflow:visible}.board-col,.stats-col{height:auto;overflow:visible}.chat-col{grid-column:1/-1;height:auto}.chat-panel{height:auto}.chat-container{height:600px;min-height:0;max-height:none}html,body,#root{height:auto;min-height:100%;overflow:visible}}@media (width<=850px){.app-container{min-height:100dvh;padding:10px}.app-layout{grid-template-columns:minmax(0,1fr);gap:12px}.board-col{grid-row:1;justify-self:center;width:100%;max-width:min(600px,100%)}.board-section,.board-wrapper{width:100%;max-width:min(600px,100vw - 20px)}.chat-col{grid-area:2}.stats-col{grid-row:3}.chat-container{height:min(70dvh,620px);min-height:360px}.chat-panel-header,.chat-header-controls,.chat-position-picker{flex-direction:column;align-items:stretch}.chat-position-picker>div{grid-template-columns:38px minmax(0,1fr) 38px auto}.variation-banner{grid-template-columns:1fr;align-items:stretch}.variation-banner span{white-space:normal}.app-header{flex-direction:column;align-items:stretch;gap:8px}.header-actions{flex-direction:column;align-items:stretch}.mode-switch button{flex:1}.user-menu{border-left:0;justify-content:space-between;padding-left:0}.user-menu>.user-account-trigger{flex:1}.bot-grid{grid-template-columns:1fr}.lobby-heading,.start-game-panel{flex-direction:column;align-items:stretch}.bot-game-layout{grid-template-columns:1fr}.bot-game-status{grid-template-columns:auto 1fr;align-items:start;height:134px}.bot-speech-slot{grid-column:1/-1;height:62px}.bot-inline-speech{max-height:58px}.bot-speech-copy{max-height:42px}.style-grid{grid-template-columns:1fr}.profile-row{grid-template-columns:55px 1fr}.profile-row label:last-child{grid-column:1/-1}.chesscom-modal-backdrop,.analysis-source-backdrop{align-items:end;padding:0}.chesscom-modal,.analysis-source-modal{border-radius:14px 14px 0 0;width:100%;max-height:88dvh;padding:14px}.analysis-source-modal{padding:0}.analysis-source-modal>header,.analysis-source-content{padding-left:14px;padding-right:14px}.analysis-source-tabs{padding:0 8px}.online-username-form{grid-template-columns:minmax(0,1fr) auto}.online-username-form button.secondary{grid-column:1/-1}.chesscom-user-form{grid-template-columns:minmax(0,1fr) auto}.chesscom-refresh{grid-column:1/-1}}@media (width<=480px){.auth-page{padding:12px}.auth-card{padding:24px 20px}.analysis-source-summary{align-items:flex-start}.analysis-source-summary span{white-space:normal}.analysis-source-tabs button{padding:10px 4px;font-size:10px}.online-provider-row,.unified-import-footer{flex-direction:column;align-items:stretch}.online-provider-row small{padding-bottom:0}.online-username-form{grid-template-columns:1fr}.online-username-form button.secondary{grid-column:auto}:is(.analysis-game-list>button,.analysis-game-list>button:has(.game-source-icon)){grid-template-columns:minmax(0,1fr) auto}.game-source-icon{display:none}}.support-overlay{z-index:70;background:#19262eb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.support-dialog{background:#f8faf8;border-radius:14px;flex-direction:column;width:min(940px,100%);height:min(720px,90dvh);display:flex;overflow:hidden;box-shadow:0 18px 60px #0000004d}.support-dialog>header{background:#fff;border-bottom:1px solid #dce4dd;flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 17px;display:flex}.support-dialog>header h2{color:#263844;margin:0}.support-dialog>header>button{color:#52616b;cursor:pointer;background:0 0;border:0;font-size:30px;line-height:1}.support-layout{flex:1;grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid}.support-ticket-list{background:#f1f5f1;border-right:1px solid #dce4dd;flex-direction:column;gap:6px;min-height:0;padding:14px;display:flex;overflow-y:auto}.support-ticket-list>button,.admin-support-list>button{color:#52616b;cursor:pointer;text-align:left;background:#fff;border:1px solid #d9e1da;border-radius:7px;flex-direction:column;gap:5px;width:100%;padding:10px 11px;display:flex}.support-ticket-list>button.active,.admin-support-list>button.active{background:#edf4e6;border-color:#7fa650}.support-ticket-list>button>span,.admin-support-list>button>span{justify-content:space-between;align-items:center;gap:7px;width:100%;display:flex}.support-ticket-list strong,.admin-support-list strong{color:#34495e;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.support-ticket-list small,.admin-support-list small{color:#7a878d;font-size:9px}.support-ticket-list>.support-new-button{color:#fff;text-align:center;background:#587d36;border-color:#587d36;padding:10px;font-weight:800;display:block}.support-ticket-list>p{color:#7a878d;text-align:center;padding:16px 6px;font-size:11px;line-height:1.45}.support-ticket-list>.support-list-label,.admin-support-list>.support-list-label{color:#7a878d;letter-spacing:.08em;text-align:left;margin:8px 4px 1px;padding:0;font-size:9px;font-weight:900}.support-content{background:#fff;min-width:0;min-height:0;padding:18px;overflow-y:auto}.support-form{flex-direction:column;gap:13px;max-width:620px;margin:0 auto;display:flex}.support-form h3{color:#34495e;margin:0 0 4px}.support-form label,.support-reply-form label{color:#43535c;flex-direction:column;gap:5px;font-size:12px;font-weight:800;display:flex}.support-form input,.support-form select,.support-form textarea,.support-reply-form textarea,.admin-support-toolbar select,.support-thread-heading select{box-sizing:border-box;color:#34495e;width:100%;font:inherit;background:#fff;border:1px solid #b9c5bb;border-radius:6px;padding:9px 10px}.support-form textarea,.support-reply-form textarea{resize:vertical;line-height:1.45}.support-form input:focus,.support-form select:focus,.support-form textarea:focus,.support-reply-form textarea:focus{border-color:#7fa650;outline:3px solid #7fa65029}.support-form>small{color:#879299;text-align:right;margin-top:-9px;font-size:9px}.support-form>button,.support-reply-form button{color:#fff;cursor:pointer;background:#587d36;border:0;border-radius:6px;align-self:flex-end;padding:9px 14px;font-weight:800}.support-form button:disabled,.support-reply-form button:disabled{cursor:wait;opacity:.55}.support-thread-view,.admin-support-thread{flex-direction:column;height:100%;min-height:0;display:flex}.support-thread-heading{border-bottom:1px solid #e3e8e3;flex:none;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.support-thread-heading>div{min-width:0}.support-thread-heading h3{color:#34495e;overflow-wrap:anywhere;margin:5px 0 0}.support-thread-heading small{color:#7a878d;margin-top:4px;display:block}.support-category,.support-status{text-transform:uppercase;border-radius:9px;padding:3px 7px;font-size:9px;font-weight:900;display:inline-block}.support-category.problem{color:#a93226;background:#fff0ee}.support-category.idea{color:#7d3c98;background:#f2eafa}.support-category.question{color:#2471a3;background:#e8f4f8}.support-category.message{color:#587d36;background:#edf4e6}.support-status{color:#607078;background:#edf1f2;flex:none}.support-status.waiting_user{color:#80650d;background:#fff4d6}.support-status.closed{color:#69777d;background:#e7ecee}.support-messages{flex-direction:column;flex:1;gap:10px;min-height:180px;padding:15px 4px;display:flex;overflow-y:auto}.support-messages article{color:#34495e;overflow-wrap:anywhere;border-radius:9px;width:fit-content;max-width:82%;padding:10px 12px}.support-messages article.user{text-align:right;background:#eaf5fc;border-right:3px solid #3498db;align-self:flex-end}.support-messages article.admin{background:#eef5e8;border-left:3px solid #7fa650;align-self:flex-start}.support-messages article strong{margin-bottom:5px;font-size:10px;display:block}.support-messages article p{white-space:pre-wrap;margin:0;font-size:12px;line-height:1.5}.support-messages article time{color:#7f8c8d;margin-top:6px;font-size:8px;display:block}.support-reply-form{border-top:1px solid #e3e8e3;flex:none;padding-top:12px}.support-reply-form>div{justify-content:space-between;align-items:center;gap:10px;margin-top:7px;display:flex}.support-reply-form small{color:#879299;font-size:9px}.support-placeholder{color:#7a878d;text-align:center;place-content:center;justify-items:center;height:100%;display:grid}.support-placeholder>span{font-size:36px}.support-placeholder h3{color:#52616b;margin:10px 0 4px}.support-placeholder p{max-width:370px;margin:0;font-size:12px;line-height:1.5}.admin-support-view{flex-direction:column;gap:10px;display:flex}.admin-support-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-support-toolbar p{margin:0}.admin-support-toolbar label{color:#52616b;flex:0 0 190px;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.admin-message-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-message-actions button{color:#587d36;cursor:pointer;background:#fff;border:1px solid #587d36;border-radius:6px;padding:8px 11px;font-weight:800}.admin-support-layout{background:#fff;border:1px solid #dce4dd;border-radius:9px;grid-template-columns:300px minmax(0,1fr);min-height:570px;display:grid;overflow:hidden}.admin-support-list{background:#f1f5f1;border-right:1px solid #dce4dd;flex-direction:column;gap:6px;min-height:0;padding:12px;display:flex;overflow-y:auto}.admin-support-list>button>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-support-thread{padding:15px;overflow:hidden}.announcement-content{color:#34495e;overflow-wrap:anywhere;white-space:pre-wrap;background:#f3f7ef;border-left:3px solid #7fa650;border-radius:6px;margin:16px 0;padding:15px;font-size:12px;line-height:1.6}.admin-announcement-detail{min-height:0;overflow-y:auto}.admin-compose-form{width:100%}.support-thread-heading select{width:auto;min-width:190px;font-size:11px}@media (width<=850px){.support-overlay{align-items:end;padding:0}.support-dialog{border-radius:14px 14px 0 0;width:100%;height:94dvh}.support-layout{grid-template-columns:220px minmax(0,1fr)}.admin-support-layout{grid-template-columns:240px minmax(0,1fr)}.admin-tabs{overflow-x:auto}}@media (width<=480px){.support-dialog>header{padding:16px}.support-layout,.admin-support-layout{grid-template-columns:1fr}.support-ticket-list,.admin-support-list{border-bottom:1px solid #dce4dd;border-right:0;max-height:190px}.support-content,.admin-support-thread{min-height:430px;padding:12px}.support-thread-heading{flex-direction:column;align-items:stretch}.support-thread-heading select{width:100%}.admin-support-toolbar{flex-direction:column;align-items:stretch}.admin-support-toolbar label{flex-basis:auto}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html,body,#root{width:100%;min-height:100%}html{overflow:hidden auto}body,#root{overflow-x:hidden}
