.jade-seat[data-v-f9243e38]{min-width:0;display:grid;grid-template-columns:56px minmax(0,1fr) 78px;align-items:center;gap:12px;padding:4px 8px;color:var(--ui-text);border:1px solid transparent;border-radius:8px;box-sizing:border-box}.jade-seat.active[data-v-f9243e38]{background:#ffffff08;border-color:var(--ui-border)}.jade-avatar-zone[data-v-f9243e38]{width:52px;height:52px;position:relative;isolation:isolate;display:grid;place-items:center}.jade-avatar[data-v-f9243e38]{width:48px;height:48px;display:grid;place-items:center;box-sizing:border-box;border:2px solid var(--ui-border);border-radius:7px;background:var(--ui-subtle);font:27px serif;color:#433b2d}.red .jade-avatar[data-v-f9243e38]{color:#9b3929}.jade-avatar-zone[data-v-f9243e38] .online-avatar-art{width:48px;height:48px;border-radius:7px;box-shadow:none;--avatar-size:48px!important}.jade-avatar-zone[data-v-f9243e38] .online-avatar-halo{display:none}.jade-avatar-zone[data-v-f9243e38] .online-avatar-art small{right:0;top:0}.jade-seat-identity[data-v-f9243e38]{min-width:0;display:grid;gap:5px}.jade-seat-identity strong[data-v-f9243e38]{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jade-seat-identity span[data-v-f9243e38]{font-size:11px;color:var(--ui-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jade-seat-identity small[data-v-f9243e38]{font-size:inherit}.jade-seat time[data-v-f9243e38]{font:500 22px/1.2 ui-monospace,monospace;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.jade-seat.active time[data-v-f9243e38]{color:var(--ui-accent)}.jade-seat-emotion[data-v-f9243e38]{position:absolute;inset:-4px;display:grid;place-items:center;overflow:hidden;pointer-events:none;z-index:2;border-radius:9px}@media(max-width:700px){.jade-seat[data-v-f9243e38]{gap:8px;grid-template-columns:50px minmax(0,1fr) 70px;padding:0 4px}.jade-seat-identity strong[data-v-f9243e38]{font-size:14px}.jade-seat time[data-v-f9243e38]{font-size:20px}}.game-review-page[data-v-2017fdf0]{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;container-type:inline-size}.game-review-page[data-v-2017fdf0]>*{flex-shrink:0}.review-empty button[data-v-2017fdf0]{margin-top:12px}.review-summary[data-v-2017fdf0]{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 12px;padding:12px;border-bottom:1px solid var(--apk-border);background:linear-gradient(135deg,#fff,#f4f8fb)}.review-result[data-v-2017fdf0]{grid-row:span 2;display:grid;place-content:center;text-align:center;border-radius:10px;background:#e8f4ff}.review-result strong[data-v-2017fdf0]{font-size:25px;color:#176b9b}.review-result span[data-v-2017fdf0]{font-size:10px;color:var(--apk-muted)}.review-result em[data-v-2017fdf0]{margin-top:3px;font-size:9px;font-style:normal;font-weight:700;color:#285e7d}.review-winrate[data-v-2017fdf0]{height:25px;display:flex;overflow:hidden;border-radius:7px;color:#fff;font-size:10px;font-weight:700}.review-winrate span[data-v-2017fdf0]{display:flex;align-items:center;justify-content:center;min-width:37px;transition:width .25s ease}.review-winrate .red[data-v-2017fdf0]{background:#d4473e}.review-winrate .black[data-v-2017fdf0]{background:#27333c}.review-counts[data-v-2017fdf0]{display:flex;gap:5px;flex-wrap:wrap;min-width:0}.review-counts span[data-v-2017fdf0],.review-verdict[data-v-2017fdf0]{padding:4px 7px;border-radius:10px;font-size:9px;font-weight:700}.review-counts .best[data-v-2017fdf0],.review-verdict.best[data-v-2017fdf0]{background:#dff5e6;color:#188448}.review-counts .excellent[data-v-2017fdf0],.review-verdict.excellent[data-v-2017fdf0]{background:#dff1ff;color:#1773a8}.review-counts .inaccuracy[data-v-2017fdf0],.review-verdict.inaccuracy[data-v-2017fdf0]{background:#fff4c7;color:#967000}.review-counts .mistake[data-v-2017fdf0],.review-verdict.mistake[data-v-2017fdf0]{background:#ffe1c4;color:#b55a00}.review-counts .blunder[data-v-2017fdf0],.review-verdict.blunder[data-v-2017fdf0],.review-verdict.missed-win[data-v-2017fdf0]{background:#ffe0e0;color:#bd2f2f}.review-progress[data-v-2017fdf0]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--apk-border);font-size:10px}.review-progress progress[data-v-2017fdf0]{width:100%;height:5px;grid-column:1/-1}.review-progress button[data-v-2017fdf0]{border:0;background:transparent;color:var(--apk-blue)}.review-body[data-v-2017fdf0]{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;flex:0 0 auto}.review-timeline[data-v-2017fdf0]{min-height:0;max-height:320px;overflow:auto;padding:7px}.review-side-summary[data-v-2017fdf0]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.review-side-summary div[data-v-2017fdf0]{display:grid;gap:2px;padding:7px 9px;border:1px solid var(--apk-border);border-radius:7px;background:var(--apk-surface)}.review-side-summary b[data-v-2017fdf0]{font-size:11px}.review-side-summary span[data-v-2017fdf0]{font-size:9px;color:var(--apk-muted)}.review-graph[data-v-2017fdf0]{position:relative;height:58px;margin-bottom:7px;padding:5px 6px 14px;border:1px solid var(--apk-border);border-radius:7px;background:var(--apk-surface)}.review-graph svg[data-v-2017fdf0]{width:100%;height:100%;overflow:visible}.review-graph line[data-v-2017fdf0]{stroke:#ccd5dc;stroke-width:.7;stroke-dasharray:3 3}.review-graph polyline[data-v-2017fdf0]{fill:none;stroke:#287eae;stroke-width:2;vector-effect:non-scaling-stroke}.review-graph span[data-v-2017fdf0]{position:absolute;left:7px;bottom:3px;font-size:8px;color:var(--apk-muted)}.review-move[data-v-2017fdf0]{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto 46px;align-items:center;gap:5px;border:0;border-left:3px solid transparent;border-radius:5px;background:transparent;padding:7px;text-align:left;font-size:10px}.review-move[data-v-2017fdf0]:nth-child(odd){background:#f8fafb}.review-move[data-v-2017fdf0]:hover,.review-move.active[data-v-2017fdf0]{background:#eaf4fb}.review-move.best[data-v-2017fdf0]{border-left-color:#2ca968}.review-move.excellent[data-v-2017fdf0]{border-left-color:#2e98cf}.review-move.inaccuracy[data-v-2017fdf0]{border-left-color:#e0b52b}.review-move.mistake[data-v-2017fdf0]{border-left-color:#ed8b2d}.review-move.blunder[data-v-2017fdf0],.review-move.missed-win[data-v-2017fdf0]{border-left-color:#df4646}.review-move span[data-v-2017fdf0]{font-size:12px;font-weight:650}.review-move i[data-v-2017fdf0]{font-style:normal;color:var(--apk-muted)}.review-move small[data-v-2017fdf0]{text-align:right;color:#c24747}.review-detail[data-v-2017fdf0]{display:grid;min-width:0;align-content:start;gap:9px;padding:10px;border-top:1px solid var(--apk-border);background:var(--apk-surface);overflow-wrap:anywhere}.review-detail dl[data-v-2017fdf0]{display:grid;gap:7px;margin:0}.review-detail dl div[data-v-2017fdf0]{display:grid;gap:2px}.review-detail dt[data-v-2017fdf0]{font-size:9px;color:var(--apk-muted)}.review-detail dd[data-v-2017fdf0]{margin:0;font-size:11px;font-weight:650}.review-detail button[data-v-2017fdf0]{min-height:32px;border-radius:6px;border:1px solid var(--apk-border);font-size:10px}.review-detail button.primary[data-v-2017fdf0]{border-color:#297ba9;background:#297ba9;color:#fff}.review-detail button.secondary[data-v-2017fdf0]{background:var(--apk-surface);color:#285e7d}.review-scanning[data-v-2017fdf0]{padding:20px;text-align:center;color:var(--apk-muted);font-size:11px}.review-summary[data-v-2017fdf0]{background:var(--ui-surface)}.review-detail dl[data-v-2017fdf0],.review-move[data-v-2017fdf0]>*{min-width:0}.review-move[data-v-2017fdf0]{grid-template-columns:25px minmax(0,1fr) minmax(0,1fr) 42px}.review-move i[data-v-2017fdf0]{overflow-wrap:anywhere}.review-report[data-v-2017fdf0]{flex:0 0 auto}@container (min-width:560px){.review-body[data-v-2017fdf0]{grid-template-columns:minmax(0,1fr) minmax(210px,.85fr)}.review-detail[data-v-2017fdf0]{border-left:1px solid var(--apk-border);border-top:0}.review-timeline[data-v-2017fdf0]{max-height:480px}}.review-sections[data-v-2017fdf0],.review-error-filter[data-v-2017fdf0]{display:flex;gap:6px;padding:9px;background:var(--ui-subtle);border-bottom:1px solid var(--ui-border);flex-shrink:0}.review-sections button[data-v-2017fdf0],.review-error-filter button[data-v-2017fdf0]{flex:1;min-height:38px;border:1px solid transparent;background:transparent;border-radius:7px;color:var(--ui-muted);font-size:13px;cursor:pointer}.review-sections button.selected[data-v-2017fdf0],.review-error-filter button.selected[data-v-2017fdf0]{background:var(--ui-surface);border-color:#c9ae80;color:#285f48;font-weight:650}.review-error-filter[data-v-2017fdf0]{position:sticky;top:0;z-index:1;border-radius:7px;margin-bottom:8px}.review-report[data-v-2017fdf0]{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;overflow:auto;min-height:0;background:var(--ui-surface)}.review-report article[data-v-2017fdf0]{min-width:0;padding:16px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);display:grid;align-content:start;gap:7px}.review-report h3[data-v-2017fdf0]{margin:0;font-size:15px}.review-report article>strong[data-v-2017fdf0]{font-size:30px;color:#28664f}.review-report article>span[data-v-2017fdf0]{font-size:11px;color:var(--ui-muted)}.review-report dl[data-v-2017fdf0]{margin:8px 0 0}.review-report dl div[data-v-2017fdf0]{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--ui-border);font-size:12px}.review-report dd[data-v-2017fdf0]{margin:0;font-weight:600}.review-no-errors[data-v-2017fdf0]{padding:18px;font-size:12px;color:var(--ui-muted)}.review-drill[data-v-2017fdf0]{display:flex;flex-wrap:wrap;gap:6px}.review-drill button[data-v-2017fdf0]{flex:1;min-height:36px;padding:6px;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border)}.review-drill small[data-v-2017fdf0]{width:100%;font-size:11px;color:var(--ui-muted);line-height:1.5}.review-graph[data-v-2017fdf0]{height:132px;padding:10px 12px 24px;background:var(--ui-surface);border-color:var(--ui-border)}.review-graph svg[data-v-2017fdf0]{cursor:crosshair;touch-action:pan-y}.review-graph svg[data-v-2017fdf0]:focus-visible{outline:2px solid #28684f;outline-offset:3px}.review-graph polyline[data-v-2017fdf0]{stroke:#28684f}.review-graph .review-chart-marker[data-v-2017fdf0]{stroke:#a86e2d;stroke-width:1.5;stroke-dasharray:none;vector-effect:non-scaling-stroke}.review-graph span[data-v-2017fdf0]{font-size:10px;bottom:6px;color:#69573c}.application-update-control[data-v-02c45235]{display:grid;gap:12px;min-width:0;color:var(--match-ink,var(--ui-text))}.update-version-card[data-v-02c45235]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface)}.update-version-card>span[data-v-02c45235]:first-child{display:grid;gap:5px;min-width:0}.update-version-card small[data-v-02c45235]{overflow-wrap:anywhere;color:var(--ui-muted);line-height:1.5}.update-version-card button[data-v-02c45235]{grid-column:1/-1}.application-update-control button[data-v-02c45235]{min-width:0;max-width:100%;min-height:44px;border:1px solid var(--ui-border);border-radius:7px;padding:9px 12px;background:var(--ui-surface);color:var(--ui-text);white-space:normal;cursor:pointer}.application-update-control button[data-v-02c45235]:disabled{opacity:.55;cursor:default}.update-state[data-v-02c45235]{padding:5px 8px;border-radius:8px;background:var(--ui-subtle);color:var(--ui-muted);font-size:11px;max-width:120px;overflow-wrap:anywhere}.update-state.current[data-v-02c45235]{background:#dcebdc;color:#28664f}.application-update-control .setting-row[data-v-02c45235]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface)}.application-update-control .setting-row>span[data-v-02c45235]:first-child{min-width:0;line-height:1.6}.application-update-control .install-action[data-v-02c45235]{background:#28664f;color:#fff;border-color:#28664f}.installed-check[data-v-02c45235]{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#dcebdc;color:#28664f}.update-disclosure[data-v-02c45235]{min-width:0;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);overflow:hidden}.update-disclosure>summary[data-v-02c45235]{display:flex;gap:10px;align-items:center;min-height:58px;padding:12px;cursor:pointer;list-style:none}.update-disclosure>summary[data-v-02c45235]::-webkit-details-marker{display:none}.update-disclosure>summary>span[data-v-02c45235]{display:grid;min-width:0;gap:5px;flex:1}.update-disclosure small[data-v-02c45235],.update-guide p[data-v-02c45235]{color:var(--ui-muted);line-height:1.6;overflow-wrap:anywhere}.update-disclosure i[data-v-02c45235]{font-style:normal}.update-disclosure[open] i[data-v-02c45235]{transform:rotate(90deg)}.update-guide[data-v-02c45235],.update-advanced-body[data-v-02c45235]{padding:0 12px 12px;min-width:0}.update-guide p[data-v-02c45235]{margin:6px 0 14px}.update-message[data-v-02c45235],.update-warning[data-v-02c45235]{margin:0;padding:10px;border-radius:7px;background:#fff0dc;overflow-wrap:anywhere}@media(max-width:520px){.application-update-control .setting-row[data-v-02c45235]{grid-template-columns:minmax(0,1fr)}.application-update-control .setting-row button[data-v-02c45235]{width:100%}}.match-result-backdrop[data-v-2ab87ff6]{position:fixed;inset:0;z-index:460;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow:auto;background:#14352ccc;box-sizing:border-box}.match-result-frame[data-v-2ab87ff6]{position:relative;width:min(440px,100%);max-height:100%;overflow:auto;box-sizing:border-box;padding:30px 26px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 14px 48px #0a241d55;text-align:center}.match-result-frame[data-v-2ab87ff6]:focus{outline:none}.match-result-frame button[data-v-2ab87ff6]:focus-visible{outline:3px solid #28664f;outline-offset:2px}.match-result-close[data-v-2ab87ff6]{position:absolute;right:9px;top:8px;width:36px;height:36px;border:0;background:none;font-size:26px;color:#755e40;cursor:pointer}.match-result-stamp[data-v-2ab87ff6]{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 15px;border:1px solid #caa270;border-radius:50%;box-shadow:inset 0 0 0 3px var(--ui-subtle);background:var(--ui-subtle);color:#8d542f;font:36px serif}h2[data-v-2ab87ff6]{margin:0 0 9px;font-size:28px;font-weight:550}p[data-v-2ab87ff6]{margin:0;color:#7c694e;font-size:13px}.match-result-content[data-v-2ab87ff6]{margin:20px 0}.match-result-actions[data-v-2ab87ff6]{display:grid;gap:9px}.match-result-actions[data-v-2ab87ff6] button{width:100%;min-height:44px;border-radius:7px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);font-size:14px;font-weight:600;padding:9px 14px;cursor:pointer}.match-result-actions[data-v-2ab87ff6] button.primary{border-color:var(--ui-accent)!important;background:var(--ui-accent)!important;color:#fff!important}.match-result-content[data-v-2ab87ff6] .computer-result-players{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:15px 0;border-block:1px solid var(--ui-border)}.match-result-content[data-v-2ab87ff6] .computer-result-player{min-width:0;display:grid;justify-items:center;gap:6px;background:none;padding:0;box-shadow:none}.match-result-content[data-v-2ab87ff6] .computer-result-player strong{color:var(--ui-text);font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-result-content[data-v-2ab87ff6] .computer-result-player small{color:var(--ui-muted);font-size:11px}.match-result-content[data-v-2ab87ff6] .computer-result-player>span{width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--ui-border);border-radius:7px;background:var(--ui-subtle);color:#805631;font:26px serif;box-shadow:none}@media(max-width:520px){.match-result-frame[data-v-2ab87ff6]{padding:26px 18px}h2[data-v-2ab87ff6]{font-size:25px}}.online-avatar-art[data-v-3b31d4e0]{--avatar-size:48px;position:relative;width:var(--avatar-size);height:var(--avatar-size);box-sizing:border-box;display:inline-grid;place-items:center;flex:0 0 var(--avatar-size);isolation:isolate;border:2px solid var(--ui-border);border-radius:7px;background:var(--ui-subtle);color:var(--avatar-dark,var(--ui-text))}.online-avatar-art b[data-v-3b31d4e0]{font-family:"Noto Serif SC",Songti SC,serif;font-size:calc(var(--avatar-size)*.5);line-height:1;font-weight:500}.online-avatar-art small[data-v-3b31d4e0]{position:absolute;right:0;top:0;padding:2px;border-radius:3px;background:#315746;color:#fff0ca;font:600 8px/1.2 AIChess UI,sans-serif}.online-avatar-art em[data-v-3b31d4e0]{position:absolute;right:0;bottom:0;width:10px;height:10px;box-sizing:border-box;border:2px solid #f3e2b4;border-radius:50%;background:#96a2a8}.online-avatar-art[data-status=online] em[data-v-3b31d4e0]{background:#3d9460}.online-avatar-art[data-status=searching] em[data-v-3b31d4e0]{background:#ce9b47}.online-avatar-art[data-status=in_game] em[data-v-3b31d4e0]{background:#28664f}.rank-medal[data-v-1acf7a00]{display:inline-flex;align-items:center;gap:10px;min-width:0;color:#70583c}.rank-medal-mark[data-v-1acf7a00]{position:relative;width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:50%;border:1px solid #b99967;background:#ead0a5;box-shadow:inset 0 0 0 3px #f9e5bd}.rank-medal-mark b[data-v-1acf7a00]{font:22px serif;color:#805631}.rank-medal-mark i[data-v-1acf7a00]{display:none}.rank-medal-mark em[data-v-1acf7a00]{position:absolute;right:-3px;bottom:-3px;min-width:17px;padding:2px 4px;border:1px solid #d5bd90;border-radius:6px;background:#f5e8cf;color:#70583c;font:600 8px/1.2 system-ui;text-align:center}.rank-medal-copy[data-v-1acf7a00]{min-width:0;display:grid;gap:3px}.rank-medal-copy strong[data-v-1acf7a00]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#70583c;font-size:13px}.rank-medal-copy small[data-v-1acf7a00]{color:#837056;font-size:10px}.rank-medal.compact .rank-medal-mark[data-v-1acf7a00]{width:30px;height:30px;flex-basis:30px}.rank-medal.compact b[data-v-1acf7a00]{font-size:16px}.rank-medal.compact em[data-v-1acf7a00]{font-size:7px}.ziga-emotion[data-v-73d180db]{display:inline-block;flex:0 0 auto;background-repeat:no-repeat;vertical-align:middle}.ziga-animated-emotion[data-v-0ca10d63]{display:block;flex:0 0 auto;background-repeat:no-repeat;image-rendering:auto;pointer-events:none}.ziga-hourglass-atlas[data-v-76689b3f]{display:block;width:67px;height:67px;background:url(/assets/online/ziga-hourglass.png) no-repeat;filter:drop-shadow(0 3px 3px #40281338);pointer-events:none}.online-play[data-v-950d7f30]{position:fixed;inset:0;z-index:90;height:100dvh;display:flex;flex-direction:column;overflow:hidden;font-family:AIChess UI,system-ui,sans-serif}.online-play button[data-v-950d7f30],.online-play input[data-v-950d7f30]{font:inherit}.online-play button[data-v-950d7f30]{cursor:pointer}.online-play button[data-v-950d7f30]:disabled{opacity:.45;cursor:not-allowed}.online-play button[data-v-950d7f30]:focus-visible{outline:3px solid #d5a754;outline-offset:2px}.online-primary[data-v-950d7f30],.online-secondary[data-v-950d7f30],.online-dialog button[data-v-950d7f30]{min-height:42px;padding:9px 14px;border-radius:7px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);font-size:14px;font-weight:600}.online-primary[data-v-950d7f30]{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important;color:#fff!important}.online-text[data-v-950d7f30]{border:0;background:none;color:var(--ui-accent)}.online-kicker[data-v-950d7f30]{font-size:11px;color:var(--ui-muted);letter-spacing:.08em}.online-transport[data-v-950d7f30]{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:20px;background:var(--ui-subtle)}.online-transport i[data-v-950d7f30]{width:7px;height:7px;border-radius:50%;background:#d4b174}.online-transport.websocket i[data-v-950d7f30],.online-transport.rest i[data-v-950d7f30]{background:#a1d7a1}.online-centered[data-v-950d7f30]{flex:1;min-height:0;display:grid;align-content:center;justify-items:center;gap:15px;padding:20px;text-align:center;overflow:auto;color:var(--ui-text)}.online-centered h1[data-v-950d7f30]{font-size:23px}.online-centered p[data-v-950d7f30]{max-width:460px}.online-state-icon[data-v-950d7f30]{font-size:32px}.online-spinner[data-v-950d7f30]{width:30px;height:30px;border:3px solid #e2d0a5;border-top-color:transparent;border-radius:50%;animation:online-spin-950d7f30 .8s linear infinite}@keyframes online-spin-950d7f30{to{transform:rotate(1turn)}}.online-lobby[data-v-950d7f30]{width:min(980px,100%);margin:0 auto;flex:1;min-height:0;padding:24px;display:grid;grid-template-columns:240px minmax(0,1fr);grid-template-rows:50px minmax(0,1fr);gap:14px;overflow:auto;box-sizing:border-box}.online-profile-hero[data-v-950d7f30],.online-lobby-panel[data-v-950d7f30],.online-dialog[data-v-950d7f30],.ziga-matching-card[data-v-950d7f30]{border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 8px 24px #123b2d22}.online-profile-hero[data-v-950d7f30]{grid-column:1;grid-row:1/3;display:grid;align-content:start;justify-items:center;gap:18px;padding:22px;min-width:0}.avatar-button[data-v-950d7f30]{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;border:0;background:none;padding:0}.avatar-button>span[data-v-950d7f30]:not(.online-avatar-art){position:absolute;right:-2px;bottom:-2px;color:var(--ui-text)}.profile-identity[data-v-950d7f30]{display:grid;justify-items:center;gap:12px;min-width:0}.online-name[data-v-950d7f30]{max-width:100%;overflow:hidden;text-overflow:ellipsis;border:0;background:none;color:var(--ui-text);font-weight:600;font-size:16px}.profile-identity>small[data-v-950d7f30]{font-size:11px;color:var(--ui-muted)}.rank-progress[data-v-950d7f30]{width:100%;position:relative;background:#decbae;height:7px;border-radius:8px}.rank-progress i[data-v-950d7f30]{display:block;height:100%;border-radius:8px}.rank-progress span[data-v-950d7f30]{display:block;text-align:center;margin-top:6px;font-size:10px;color:var(--ui-muted)}.online-lobby-tabs[data-v-950d7f30]{grid-column:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.online-lobby-tabs button[data-v-950d7f30]{min-width:0;padding:6px;border:1px solid var(--ui-border);border-radius:7px;color:var(--ui-text);background:#ffffff0a;display:flex;align-items:center;justify-content:center;gap:6px}.online-lobby-tabs button.active[data-v-950d7f30]{background:var(--ui-accent-soft);color:var(--ui-text)}.online-lobby-tabs span[data-v-950d7f30]{font-size:12px}.online-lobby-tabs b[data-v-950d7f30]{font-size:10px}.online-lobby-panel[data-v-950d7f30]{grid-column:2;min-width:0;min-height:0;padding:24px;overflow:auto}.online-lobby-panel h1[data-v-950d7f30]{font-size:24px;margin:8px 0 22px}.online-lobby-panel>header[data-v-950d7f30]{display:flex;justify-content:space-between;align-items:center}.online-lobby-panel>header>button[data-v-950d7f30]{border:1px solid var(--ui-border);background:none;border-radius:7px;width:36px;height:36px}.online-match-card[data-v-950d7f30]{display:flex;flex-direction:column;justify-content:center;gap:14px}.online-match-card>p[data-v-950d7f30]{font-size:12px;color:var(--ui-muted);line-height:1.7}.online-time-grid[data-v-950d7f30]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.online-time-grid button[data-v-950d7f30]{min-width:0;min-height:90px;padding:12px 8px;display:grid;gap:8px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-text)}.online-time-grid button.selected[data-v-950d7f30]{background:var(--ui-accent-soft);border-color:#b58a4e}.online-time-grid strong[data-v-950d7f30]{font-size:22px}.online-time-grid span[data-v-950d7f30]{font-size:11px}.online-find[data-v-950d7f30]{margin-top:10px;width:100%}.online-player-list[data-v-950d7f30],.online-room-list[data-v-950d7f30]{display:grid;gap:10px}.online-player-list article[data-v-950d7f30]{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--ui-border)}.online-player-list article>div[data-v-950d7f30]{min-width:0;display:grid;gap:4px}.online-player-list strong[data-v-950d7f30]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-player-list span[data-v-950d7f30]{font-size:11px;color:var(--ui-muted)}.online-player-list article[data-v-950d7f30]>.rank-medal{display:none}.online-player-list button[data-v-950d7f30],.online-room-list button[data-v-950d7f30]{min-height:36px;border:1px solid var(--ui-border);border-radius:7px;background:#fffaed;color:var(--ui-text);padding:6px 10px}.online-room-list article[data-v-950d7f30]{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--ui-border);border-radius:8px}.online-room-player[data-v-950d7f30]{display:flex;align-items:center;gap:8px;min-width:0}.online-room-player span[data-v-950d7f30]{min-width:0;display:grid;gap:4px}.online-room-player strong[data-v-950d7f30]{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-room-player small[data-v-950d7f30]{font-size:10px;color:var(--ui-muted)}.online-room-list footer[data-v-950d7f30]{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 0 0;font-size:11px;color:var(--ui-muted)}.online-room-list article>b[data-v-950d7f30]{align-self:center;font-size:11px}.online-empty-social[data-v-950d7f30]{padding:28px 5px;display:grid;justify-items:center;gap:12px;color:var(--ui-muted);text-align:center}.online-empty-social>span[data-v-950d7f30]{font-size:30px}.online-empty-social small[data-v-950d7f30]{line-height:1.6}.rank-mode-tabs[data-v-950d7f30],.rank-stats[data-v-950d7f30],.recent-form[data-v-950d7f30]{display:flex;gap:10px;justify-content:space-between}.rank-mode-tabs button[data-v-950d7f30]{border:1px solid var(--ui-border);padding:6px;border-radius:6px;background:none}.rank-mode-tabs button.active[data-v-950d7f30]{background:var(--ui-accent-soft)}.rank-summary[data-v-950d7f30]{display:grid;justify-items:center;gap:12px;padding:20px}.rank-summary>strong[data-v-950d7f30]{font-size:30px}.rank-summary>small[data-v-950d7f30],.rank-stats dt[data-v-950d7f30]{font-size:11px;color:var(--ui-muted)}.rank-stats>div[data-v-950d7f30]{flex:1;text-align:center}.rank-stats dd[data-v-950d7f30]{margin:8px 0;font-size:20px}.recent-form[data-v-950d7f30]{flex-wrap:wrap;font-size:12px}.rank-tier-map[data-v-950d7f30]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}.rank-tier-map>div[data-v-950d7f30]{display:grid;justify-items:center;gap:6px;padding:10px;border:1px solid var(--ui-border);border-radius:8px;font-size:11px}.rank-tier-map .current[data-v-950d7f30]{background:var(--ui-accent-soft)}.rank-tier-map b[data-v-950d7f30]{font-size:22px}.rank-tier-map small[data-v-950d7f30]{color:var(--ui-muted)}.online-turn-line[data-v-950d7f30]{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--ui-border)}.online-turn-line strong[data-v-950d7f30]{font-size:15px}.online-room-tabs[data-v-950d7f30]{display:flex;align-items:center;gap:5px;flex:0 0 auto}.online-room-tabs button[data-v-950d7f30]{border:0;border-bottom:2px solid transparent;padding:7px;background:none;color:var(--ui-muted);font-size:12px;min-height:32px}.online-room-tabs>button.active[data-v-950d7f30]{border-bottom-color:#28664f;color:#28664f}.online-room-tabs b[data-v-950d7f30]{font-size:9px;margin-left:5px}.online-room-tools[data-v-950d7f30]{margin-left:auto;display:flex}.online-room-tools button[data-v-950d7f30]{padding:3px;min-width:25px}.online-chat-collapse[data-v-950d7f30]{display:none}.online-room-moves[data-v-950d7f30]{flex:1;min-height:0;overflow:auto;padding:0;list-style:none}.online-room-moves li[data-v-950d7f30]{display:flex;justify-content:space-between;border-bottom:1px solid var(--ui-border);padding:8px;font-size:13px}.online-match-actions[data-v-950d7f30]{display:flex;gap:8px;flex:0 0 auto}.online-match-actions button[data-v-950d7f30]{flex:1;min-height:36px;border:1px solid var(--ui-border);border-radius:7px;background:var(--ui-surface);color:var(--ui-text);font-size:12px;padding:6px}.danger[data-v-950d7f30]{color:#a1392f!important}.online-inline-error[data-v-950d7f30],.online-draw-offer[data-v-950d7f30]{font-size:12px;padding:9px;border-radius:7px;background:#f6d8b1;color:#803f26}.online-syncing[data-v-950d7f30]{position:absolute;bottom:10px;left:50%;transform:translate(-50%);padding:7px;background:var(--ui-accent-soft);color:var(--ui-accent);border-radius:7px;font-size:11px;pointer-events:none}.online-overlay[data-v-950d7f30]{position:fixed;inset:0;z-index:480;display:grid;place-items:center;background:#14352ccc;padding:16px;overflow:auto}.online-dialog[data-v-950d7f30]{width:min(440px,100%);max-height:100%;overflow:auto;padding:24px;display:grid;gap:16px}.online-dialog h2[data-v-950d7f30]{font-size:20px;margin:0}.online-dialog>div[data-v-950d7f30]:last-child{display:flex;gap:10px;justify-content:flex-end}.online-dialog input[data-v-950d7f30]{min-width:0;padding:10px;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:7px}.avatar-grid[data-v-950d7f30]{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.avatar-grid button[data-v-950d7f30]{position:relative;padding:4px;background:none;border:1px solid transparent}.avatar-grid button.selected[data-v-950d7f30]{border-color:#a8834f}.avatar-grid button>span[data-v-950d7f30]{display:none}.avatar-grid button.selected>span[data-v-950d7f30]{display:block;position:absolute;right:0;bottom:0}.challenge-time[data-v-950d7f30]{display:flex;gap:8px}.challenge-time button.active[data-v-950d7f30]{background:var(--ui-accent-soft)}.rated-toggle[data-v-950d7f30]{display:flex;align-items:center;gap:9px}.ziga-matching-card[data-v-950d7f30]{width:min(420px,100%);padding:24px;display:grid;gap:18px}.ziga-matching-card h1[data-v-950d7f30]{margin:0;font-size:23px}.ziga-match-table[data-v-950d7f30]{display:grid;gap:15px;padding:16px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-subtle)}.ziga-wait-seat[data-v-950d7f30]{display:flex;align-items:center;gap:14px;min-width:0;text-align:left}.ziga-wait-seat>div[data-v-950d7f30]{min-width:0;display:grid;gap:5px}.ziga-wait-seat strong[data-v-950d7f30]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.ziga-wait-seat small[data-v-950d7f30]{font-size:11px;color:var(--ui-muted)}.search-silhouette[data-v-950d7f30]{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;border:1px solid #b5986e;border-radius:8px;background:var(--ui-subtle);font-size:28px}.ziga-match-center[data-v-950d7f30]{display:grid;justify-items:center;gap:4px;font-size:12px;color:var(--ui-muted)}.ziga-matching-card>small[data-v-950d7f30]{font-size:12px;line-height:1.6;color:var(--ui-muted)}.match-found-versus[data-v-950d7f30]{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:9px}.match-found-versus>div[data-v-950d7f30]{min-width:0;display:grid;justify-items:center;gap:8px}.match-found-versus strong[data-v-950d7f30]{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:13px}.match-found-versus small[data-v-950d7f30]{font-size:10px;color:var(--ui-muted)}.countdown-stage[data-v-950d7f30]{display:grid;justify-items:center;gap:10px;padding:15px}.countdown-stage>strong[data-v-950d7f30],.online-ready-count[data-v-950d7f30]{font-size:52px;color:#99672e}.match-mode[data-v-950d7f30]{text-align:center;font-size:12px}.online-rating-result[data-v-950d7f30]{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:15px}.online-rating-result span[data-v-950d7f30]{display:grid;gap:6px}.online-rating-result small[data-v-950d7f30]{font-size:10px}.online-rating-result .positive[data-v-950d7f30]{color:#28664f}.online-rating-result .negative[data-v-950d7f30]{color:#ac4633}.online-xp[data-v-950d7f30]{font-size:12px;text-align:center}@media(max-width:900px){.online-lobby[data-v-950d7f30]{padding:10px;grid-template-columns:1fr;grid-template-rows:auto 44px minmax(0,1fr);gap:10px}.online-profile-hero[data-v-950d7f30]{grid-column:1;grid-row:1;display:flex;gap:14px;padding:12px;justify-content:flex-start}.profile-identity[data-v-950d7f30]{justify-items:start;gap:4px}.profile-identity[data-v-950d7f30]>.rank-medal{display:none}.rank-progress[data-v-950d7f30]{max-width:90px;margin-left:auto}.online-lobby-tabs[data-v-950d7f30]{grid-column:1;grid-row:2}.online-lobby-panel[data-v-950d7f30]{grid-column:1;grid-row:3;padding:18px}.online-lobby-panel h1[data-v-950d7f30]{font-size:21px}.online-time-grid button[data-v-950d7f30]{min-height:74px}.online-time-grid strong[data-v-950d7f30]{font-size:19px}.online-turn-line[data-v-950d7f30]{display:none}.online-chat-collapse[data-v-950d7f30]{display:block}.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open) .online-room-moves[data-v-950d7f30]{display:none}.online-game-panel[data-v-950d7f30]{gap:3px}.online-room-tabs[data-v-950d7f30]{min-height:28px}.online-room-tabs button[data-v-950d7f30]{padding:3px;min-height:28px}.online-match-actions button[data-v-950d7f30]{min-height:28px;padding:3px}.online-game-screen.pregame .online-game-panel[data-v-950d7f30]{gap:12px}}@media(prefers-reduced-motion:reduce){.online-spinner[data-v-950d7f30]{animation:none}}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{font-family:AIChess UI,Inter,system-ui,sans-serif;color:#343434;background:#fff}button,input,select,textarea{font:inherit}button{color:inherit}.skip-link{position:fixed;left:12px;top:-60px;z-index:999;background:#111;color:#fff;padding:10px 14px}.skip-link:focus{top:12px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important}.app-shell{min-height:100vh;display:flex;flex-direction:column}.toolbar{height:58px;display:flex;align-items:center;gap:3px;padding:4px 18px;border-bottom:1px solid #e8e8e8;background:#fff;position:sticky;top:0;z-index:20}.tool-button{width:46px;height:46px;padding:7px;border:0;border-radius:8px;background:transparent;position:relative;cursor:pointer;transition:.16s}.tool-button img{width:100%;height:100%;object-fit:contain}.tool-button:hover{background:#f2f5f8}.tool-button.active{background:#e7f2ff;box-shadow:inset 0 -2px #1989fa}.tool-button:disabled{opacity:.28;cursor:not-allowed}.tooltip{display:none;position:absolute;top:48px;left:50%;transform:translate(-50%);white-space:nowrap;background:#222;color:#fff;font-size:12px;padding:5px 8px;border-radius:4px}.tool-button:hover .tooltip{display:block}.workspace{width:100%;max-width:1536px;margin:0 auto;padding:14px 18px 8px;display:grid;grid-template-columns:minmax(390px,1.05fr) minmax(270px,.72fr) minmax(270px,.7fr) minmax(190px,.42fr);gap:12px;align-items:start}.board-column{min-width:0}.board-stage{position:relative;width:100%;aspect-ratio:10/11;user-select:none;isolation:isolate}.board-skin{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.piece,.square-hit{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent}.piece{z-index:3;width:10%;aspect-ratio:1;padding:0;pointer-events:none;transition:left .2s,top .2s}.piece img{width:100%;height:100%;transform:scale(var(--piece-scale));filter:drop-shadow(0 2px 2px #0004)}.piece.selected img{filter:drop-shadow(0 0 5px #0d7eff) drop-shadow(0 2px 2px #0005)}.square-hit{z-index:5;width:9.3%;aspect-ratio:1;cursor:pointer;border-radius:50%}.square-hit.target:after{content:"";position:absolute;width:26%;height:26%;border-radius:50%;background:#1687e8bb;left:37%;top:37%;box-shadow:0 0 0 2px #fff8}.board-arrows{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}.board-arrows line{stroke:#1d86e8;stroke-width:1.2;opacity:.78;vector-effect:non-scaling-stroke}.board-arrows marker path{fill:#1d86e8}.board-coordinates{position:absolute;inset:0;pointer-events:none;font-size:11px;color:#5c3b20}.board-coordinates span{position:absolute;bottom:1.5%;transform:translate(-50%)}.navigation{height:50px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e1e4e8;border-radius:7px;overflow:hidden;margin-top:7px}.navigation button{border:0;border-right:1px solid #e1e4e8;background:#fff;font:32px/1 sans-serif;cursor:pointer}.navigation button:last-child{border-right:0}.navigation button:hover{background:#edf6ff;color:#1989fa}.panel{border:1px solid #e5e7eb;border-radius:7px;background:#fff;min-height:575px;overflow:auto}.tabs{height:48px;display:flex;align-items:center;border-bottom:1px solid #eceff2;padding:0 8px;gap:4px;font-size:13px;color:#777}.tabs button{height:100%;min-width:78px;padding:0 15px;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer}.tabs button.selected{color:#222;border-bottom-color:#1989fa;font-weight:650}.engine-dot{width:8px;height:8px;border-radius:50%;background:#aaa;margin-left:auto}.engine-dot.ready{background:#28a745}.engine-dot.thinking,.engine-dot.loading{background:#f0a020;box-shadow:0 0 0 4px #f0a02022}.engine-dot.error{background:#dc3545}.empty-state{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;color:#9aa0a6;padding:20px}.empty-state strong{color:#777}.analysis-line{width:100%;display:grid;grid-template-columns:25px 56px 38px 1fr;gap:6px;align-items:center;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;padding:10px 8px;cursor:pointer}.analysis-line:hover{background:#f3f8ff}.analysis-line .rank{border-radius:50%;background:#eff1f3;width:22px;height:22px;text-align:center}.analysis-line code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-body{padding:8px}.cloud-table{padding:0}.table-head,.cloud-table>button{display:grid;grid-template-columns:1fr 1.2fr;padding:9px 13px;text-align:left}.table-head{font-weight:650;border-bottom:1px solid #ddd}.cloud-table>button{width:100%;background:#fff;border:0;border-bottom:1px solid #f0f0f0;cursor:pointer}.cloud-table>button:hover{background:#f4f9ff}.advantage{color:#138a45}.disadvantage{color:#cf3f31}.position-tab,.comment-tab{padding:16px}.position-tab label,.comment-tab label{display:grid;gap:8px}.position-tab textarea,.comment-tab textarea{width:100%;min-height:165px;border:1px solid #d9dde2;border-radius:6px;padding:10px;resize:vertical}.position-tab>div{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.position-tab button,.primary{border:1px solid #d4d7db;border-radius:5px;background:#fff;padding:8px 13px;cursor:pointer}.primary{background:#1989fa!important;color:#fff!important;border-color:#1989fa!important}.panel-title{padding:14px;font-weight:650;border-bottom:1px solid #eee}.start-position{display:block;margin:12px auto;border:0;background:transparent;color:#777;cursor:pointer}.variation-list{padding-left:calc(var(--depth) * 9px);display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start}.move-chip{border:1px solid #e0e2e5;background:#fff;border-radius:4px;padding:6px 8px;cursor:pointer}.move-chip.current{border-color:#1989fa;background:#eaf4ff;color:#0875d1}.move-chip.variation{border-style:dashed}.move-chip sup{color:#d1493f;margin-left:3px}.variation-actions{display:inline-flex}.variation-actions button{border:0;background:#f2f3f5;padding:4px}.variation-actions .danger{color:#c33}.branch-separator{color:#aaa}footer{margin-top:auto;text-align:center;color:#999;font-size:12px;padding:12px}.pure-mode .toolbar,.pure-mode .panel,.pure-mode footer{display:none}.pure-mode .workspace{display:block;max-width:760px}.settings-view{min-height:100vh;background:var(--apk-surface)}.settings-view>header{height:58px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #e5e5e5;position:sticky;top:0;background:var(--ui-surface);z-index:5;color:var(--ui-text)}.settings-view h2{margin:0 auto;font-size:17px}.settings-view header button{border:0;background:transparent;cursor:pointer}.settings-view .back-button{font-size:25px}.settings-view main{max-width:1200px;margin:auto;padding:15px 25px 60px}.settings-view h3{font-size:14px;color:var(--apk-muted);font-weight:500;margin:20px 0 8px}.setting-row{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--apk-border);padding:10px 15px}.setting-row span{display:grid;gap:4px}.setting-row small{color:var(--apk-muted)}.setting-row select,.setting-row input[type=number]{min-width:140px;border:1px solid #dfe3e7;border-radius:5px;padding:8px;background:var(--apk-surface)}.setting-row input[type=checkbox]{appearance:none;width:46px;height:26px;border-radius:15px;background:#d8dbe0;position:relative;transition:.2s}.setting-row input[type=checkbox]:after{content:"";position:absolute;width:22px;height:22px;left:2px;top:2px;border-radius:50%;background:var(--apk-surface);box-shadow:0 1px 4px #0004;transition:.2s}.setting-row input[type=checkbox]:checked{background:var(--apk-blue)}.setting-row input[type=checkbox]:checked:after{left:22px}.environment{display:flex;gap:25px;padding:20px;background:#f7f8fa;border-radius:8px}.modal-backdrop{position:fixed;inset:0;background:#0008;z-index:100;display:grid;place-items:center;padding:16px}.modal-card{width:min(620px,100%);max-height:92vh;background:var(--apk-surface);border-radius:12px;box-shadow:0 20px 80px #0005;overflow:auto}.modal-card.wide{width:min(1100px,100%)}.modal-card>header{height:58px;padding:0 18px;display:flex;align-items:center;border-bottom:1px solid #eee}.modal-card h2{font-size:18px;margin:0}.modal-card>header button{margin-left:auto;border:0;background:transparent;font-size:28px;cursor:pointer}.dialog-body{padding:18px;display:grid;gap:14px}.dialog-body label{display:grid;gap:8px}.dialog-body textarea{width:100%;padding:10px;border:1px solid #d6d9dd;border-radius:6px}.file-drop{border:2px dashed #cbd1d8;border-radius:8px;padding:20px;text-align:center}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.dialog-actions button{padding:8px 14px;border:1px solid #ddd;border-radius:5px;background:var(--apk-surface)}.export-grid{grid-template-columns:1fr 1fr}.export-grid>button{display:grid;text-align:left;gap:4px;padding:16px;border:1px solid #e1e4e8;border-radius:8px;background:#fff;cursor:pointer}.export-grid>button:hover{border-color:#1989fa}.export-grid small{color:#888}.export-grid pre{grid-column:1/-1;white-space:pre-wrap;background:#f6f7f9;padding:12px;border-radius:6px;overflow:auto}.editor-layout{display:grid;grid-template-columns:125px minmax(360px,620px) 220px;gap:14px;padding:16px}.piece-palette{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:5px}.piece-palette button{min-height:48px;border:1px solid #ddd;background:#fff;border-radius:5px}.piece-palette button.selected{border-color:#1989fa;background:#eaf4ff}.piece-palette img{width:42px}.editor-board{position:relative;aspect-ratio:10/11}.editor-board>img{width:100%;height:100%}.editor-board>button{position:absolute;transform:translate(-50%,-50%);width:10%;aspect-ratio:1;border:0;background:transparent;padding:0}.editor-board>button img{width:100%}.editor-options{display:grid;gap:10px;align-content:start}.editor-options textarea{min-height:100px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:200;background:#202124;color:#fff;padding:10px 16px;border-radius:7px;box-shadow:0 5px 25px #0004}@media(max-width:1100px){.workspace{grid-template-columns:minmax(390px,1fr) minmax(280px,.8fr) minmax(220px,.62fr)}.engine-panel,.database-panel{grid-column:2}.move-panel{grid-column:3;grid-row:1/span 2}.panel{min-height:300px}.editor-layout{grid-template-columns:100px 1fr}.editor-options{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.toolbar{height:52px;padding:3px 6px;overflow-x:auto}.tool-button{width:42px;height:42px;flex:0 0 42px}.workspace{display:flex;flex-direction:column;padding:8px}.board-column{width:100%}.panel{width:100%;min-height:260px}.move-panel{order:4}.navigation{height:44px}.tooltip{display:none!important}.settings-view main{padding:8px}.setting-row{padding:10px 4px}.setting-row select,.setting-row input[type=number]{min-width:112px;max-width:45%}.editor-layout{display:flex;flex-direction:column}.piece-palette{grid-template-columns:repeat(8,1fr);order:2}.piece-palette button{min-height:42px}.piece-palette img{width:34px}.editor-board{order:1;width:100%}.editor-options{order:3;display:grid}.export-grid{grid-template-columns:1fr}.export-grid pre{grid-column:1}.modal-backdrop{padding:4px}.modal-card{max-height:98vh;border-radius:12px}}.start-position.current{border:1px solid #1989fa;background:#eef7ff}.pure-exit{position:fixed;right:14px;top:14px;z-index:70;border:1px solid #d9dde2;border-radius:6px;background:#fff;padding:8px 12px;box-shadow:0 4px 18px #0002;cursor:pointer}.pure-exit:hover{border-color:#1989fa;color:#0875d1}.piece{z-index:6;pointer-events:auto;touch-action:none;cursor:grab}.piece.dragging{z-index:8;cursor:grabbing;transition:none}.navigation{grid-template-columns:repeat(5,1fr)}.navigation button.active{background:#e7f2ff;color:#0875d1}.game-status{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid #eee;font-size:13px;color:#666}.game-status span{width:8px;height:8px;border-radius:50%;background:#28a745}.game-status.check span,.game-status.checkmate span{background:#d93025}.game-status.stalemate span,.game-status.repetition span,.game-status.sixty-move span{background:#f0a020}.manual-library{width:min(1040px,100%)}.library-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:520px}.manual-form{display:grid;align-content:start;gap:11px;padding:18px;border-right:1px solid #eceff2;background:var(--apk-surface)}.manual-form h3{margin:0 0 4px;font-size:15px}.manual-form label{display:grid;gap:5px;font-size:12px;color:#666}.manual-form input,.manual-form select,.library-search input{width:100%;border:1px solid #d9dde2;border-radius:6px;background:var(--apk-surface);padding:8px 10px}.manual-form small{color:var(--apk-muted)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.manual-browser{min-width:0;padding:16px;overflow:auto;max-height:72vh}.library-search{display:block;position:sticky;top:0;background:var(--apk-surface);padding-bottom:12px;z-index:2}.manual-record{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e4e7eb;border-radius:7px;margin-bottom:8px}.manual-record.active{border-color:var(--apk-blue);background:#f3f8ff}.manual-record>div:first-child{display:grid;gap:3px;min-width:0}.manual-record span,.manual-record small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-record span{font-size:13px}.manual-record small{color:var(--apk-muted)}.manual-record>div:last-child{display:flex;gap:6px}.manual-record button{border:1px solid #d9dde2;border-radius:5px;background:var(--apk-surface);padding:6px 10px;cursor:pointer}.manual-record .danger{color:#c33}@media(max-width:760px){.library-layout{display:flex;flex-direction:column}.manual-form{border-right:0;border-bottom:1px solid #eceff2}.manual-browser{max-height:44vh}.manual-record{grid-template-columns:1fr}.manual-record>div:last-child{justify-content:flex-end}}.piece{transition:none;will-change:auto}.piece img{opacity:var(--piece-opacity,1)}.board-coordinate-row{position:absolute;inset:0;pointer-events:none;font-size:11px;font-weight:650;line-height:1;color:#5c3b20;text-shadow:0 1px #fff8;z-index:2}.board-coordinate-row span{position:absolute;transform:translate(-50%)}.board-coordinate-row.top span{top:.15%}.board-coordinate-row.bottom span{bottom:1.3%}:root{--apk-bg:var(--ui-surface);--apk-surface:var(--ui-surface);--apk-surface-2:var(--ui-subtle);--apk-border:var(--ui-border);--apk-text:var(--ui-text);--apk-muted:var(--ui-muted);--apk-accent:var(--ui-text);--apk-blue:#28664f;--apk-selected:var(--ui-accent-soft)}body{background:var(--apk-bg);color:var(--apk-text)}.app-shell{background:var(--jade-backdrop)}.apk-main-toolbar{height:58px;padding:0 4px;gap:0;background:var(--apk-surface);border-bottom:1px solid var(--apk-border);box-shadow:0 1px 4px #00000012;overflow:visible}.toolbar-layout{width:100%;height:100%;display:flex;align-items:stretch}.toolbar-primary{height:100%;display:flex;align-items:stretch}.apk-main-toolbar .tool-button{width:58px;height:58px;flex:0 0 58px;padding:11px;border-radius:0;border-bottom:3px solid transparent}.apk-main-toolbar .tool-button:hover{background:var(--apk-surface-2)}.apk-main-toolbar .tool-button.active{background:var(--apk-selected);border-bottom-color:var(--apk-blue);box-shadow:none}.toolbar-camera-input{display:none}.apk-main-toolbar .rotate-board-icon{transition:transform .28s cubic-bezier(.2,.8,.2,1)}.apk-main-toolbar .rotate-board-icon.flipped{transform:rotate(180deg)}.apk-main-toolbar .tooltip{top:53px;z-index:80}.toolbar-app-name{margin-left:auto;padding:0 14px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;line-height:1.15}.toolbar-app-name strong{font-size:14px}.toolbar-app-name span{font-size:11px;color:var(--apk-muted)}.apk-drawer-backdrop{position:fixed;z-index:140;inset:0;background:#0007;display:flex;justify-content:flex-start}.apk-drawer-panel{width:min(85vmin,420px);height:100%;display:flex;flex-direction:column;background:var(--apk-surface);box-shadow:8px 0 30px #0004;animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}.apk-drawer-panel>header{min-height:82px;padding:14px 16px;display:flex;align-items:center;border-bottom:1px solid var(--apk-border)}.apk-drawer-panel>header div{display:grid;gap:3px}.apk-drawer-panel>header strong{font-size:19px}.apk-drawer-panel>header span{font-size:12px;color:var(--apk-muted)}.apk-drawer-panel>header button{margin-left:auto;width:44px;height:44px;border:0;background:transparent;font-size:30px;cursor:pointer}.apk-drawer-grid{display:grid;grid-template-columns:repeat(2,1fr);align-content:start}.apk-drawer-grid button{min-height:104px;border:0;border-right:1px solid var(--apk-border);border-bottom:1px solid var(--apk-border);background:var(--apk-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}.apk-drawer-grid button:hover{background:var(--apk-selected);color:var(--apk-blue)}.apk-drawer-grid img{width:37px;height:37px}.apk-drawer-grid span{font-size:13px}.apk-drawer-panel>footer{margin-top:auto;padding:14px;text-align:left;border-top:1px solid var(--apk-border);color:var(--apk-muted)}.workspace{width:100%;max-width:1140px;margin:0 auto;padding:10px 12px 6px;grid-template-columns:minmax(420px,600px) minmax(360px,500px);gap:10px;justify-content:center;align-items:start}.board-column{position:relative;width:min(100%,calc((100vh - 136px) * 10 / 11));justify-self:end}.board-stage{background:#e1bd7a;box-shadow:0 1px 5px #0002}.navigation{height:52px;margin-top:0;border:1px solid var(--apk-border);border-top:0;border-radius:0;background:var(--apk-surface)}.navigation button{background:var(--apk-surface);border-color:var(--apk-border);font-size:28px}.navigation button:hover{background:var(--apk-surface-2);color:var(--apk-blue)}.inspector-panel{height:min(calc(100vh - 80px),734px);min-height:540px;border:1px solid var(--apk-border);border-radius:12px;background:var(--apk-surface);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 5px #00000016}.apk-panel-tabs{height:58px;flex:0 0 58px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--apk-border);background:var(--apk-surface)}.apk-panel-tabs button{min-width:0;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--apk-muted);display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 4px 2px;cursor:pointer}.apk-panel-tabs button:hover{background:var(--apk-surface-2)}.apk-panel-tabs button.selected{background:var(--apk-selected);border-bottom-color:var(--apk-blue);color:var(--apk-blue)}.apk-panel-tabs img{width:26px;height:26px}.apk-panel-tabs span{font-size:12px;white-space:nowrap}.inspector-page{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--apk-surface)}.inspector-scroll{min-height:0;overflow:auto}.engine-status-strip{min-height:62px;padding:9px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--apk-border)}.engine-status-strip .engine-dot{margin:0;flex:0 0 9px}.engine-status-strip>div:nth-child(2){display:grid;gap:2px}.engine-status-strip small{color:var(--apk-muted)}.engine-readout{margin-left:auto;display:grid;text-align:right}.engine-readout strong{font-size:20px;color:var(--apk-blue)}.engine-readout span{font-size:11px;color:var(--apk-muted)}.apk-segmented{height:38px;flex:0 0 38px;display:grid;grid-template-columns:1fr 1fr;background:var(--apk-surface-2);border-bottom:1px solid var(--apk-border)}.apk-segmented button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--apk-muted);cursor:pointer}.apk-segmented button.selected{color:var(--apk-blue);border-bottom-color:var(--apk-blue);background:var(--apk-surface)}.engine-scroll{flex:1;min-height:0;overflow:auto}.thinking-history{height:auto;overflow:visible;padding:5px 7px}.thinking-entry{padding:8px 7px;border-bottom:1px solid #e6e8e9;background:var(--apk-surface)}.thinking-entry>strong{display:flex;align-items:center;gap:9px;font-size:12px!important;color:var(--apk-muted)}.thinking-entry>strong span{color:inherit}.thinking-entry>strong span:nth-child(1){font-weight:750;color:var(--apk-text)}.thinking-entry>span{font-size:13px;line-height:1.45;color:#245c91}.thinking-entry:hover{background:#eef4f8}.cloud-heading{min-height:62px;padding:10px 13px;display:flex;align-items:center;border-bottom:1px solid var(--apk-border)}.cloud-heading>div{display:grid;gap:2px}.cloud-heading span{font-size:11px;color:var(--apk-muted)}.cloud-state{margin-left:auto;padding:4px 8px;border-radius:12px;background:var(--apk-surface-2);text-transform:capitalize}.cloud-state.ready{color:#16864b}.cloud-state.error{color:#c33}.cloud-page .table-head{display:grid;grid-template-columns:1fr 110px;padding:9px 13px;background:var(--apk-surface-2)}.cloud-list{flex:1}.cloud-list>button{width:100%;display:grid;grid-template-columns:1fr 110px;border:0;border-bottom:1px solid #e7e8e9;background:var(--apk-surface);padding:10px 13px;text-align:left;cursor:pointer}.cloud-list>button:hover{background:#eef4f8}.moves-page .game-status{flex:0 0 auto;background:var(--apk-surface-2)}.move-tree-scroll{flex:1;padding:5px 8px 14px}.moves-page .start-position{margin:7px auto 10px}.comment-page{padding:16px;gap:18px}.comment-page label{display:grid;gap:8px;font-weight:650}.comment-page textarea{min-height:220px;width:100%;padding:12px;border:1px solid var(--apk-border);background:#fff;resize:vertical}.position-card{display:grid;gap:7px;padding:12px;background:var(--apk-surface-2);border:1px solid var(--apk-border)}.position-card span{font-size:12px;color:var(--apk-muted)}.position-card code{font-size:11px;overflow-wrap:anywhere;line-height:1.5}@media(min-width:901px){.apk-main-toolbar{padding-left:0;padding-right:0}.toolbar-layout,.workspace{--desktop-board-width:min(600px,calc((100dvh - 136px) * 10 / 11), calc(100vw - 394px) );grid-template-columns:var(--desktop-board-width) minmax(360px,500px);gap:10px;justify-content:center}.toolbar-layout{max-width:1140px;margin:0 auto;padding:0 12px;display:grid}.toolbar-primary{width:100%;display:grid;grid-template-columns:repeat(var(--toolbar-tool-count),minmax(0,1fr))}.apk-main-toolbar .tool-button{width:100%;min-width:0}.toolbar-app-name{margin-left:0;padding-right:2px}.workspace{display:grid;align-items:stretch;align-content:start}.board-column{width:100%;justify-self:stretch;display:flex;flex-direction:column}.inspector-panel{width:100%;height:auto;min-height:0;align-self:stretch}}@media(max-width:900px){.apk-main-toolbar{height:52px;padding:0;position:sticky}.toolbar-layout{max-width:none;padding:0;display:block}.toolbar-primary{width:100%;display:grid;grid-template-columns:repeat(var(--toolbar-tool-count),minmax(0,1fr))}.apk-main-toolbar .tool-button{width:100%;height:52px;min-width:0;padding:5px}.toolbar-app-name{display:none}.workspace{display:flex;flex-direction:column;gap:8px;padding:6px 8px 10px;max-width:680px}.board-column{width:100%;max-width:none;display:flex;flex-direction:column;align-items:center}.board-stage{width:min(100%,calc((62dvh - 50px) * 10 / 11))}.navigation{width:min(100%,calc((62dvh - 50px) * 10 / 11));height:44px}.inspector-panel{width:100%;height:340px;min-height:340px;border-radius:12px}.apk-panel-tabs{height:48px;flex-basis:48px}.apk-panel-tabs img{width:23px;height:23px}.apk-panel-tabs span{font-size:11px}.app-shell>footer{padding:7px}.comment-page textarea{min-height:150px}.modal-card{border-radius:12px}}@media(max-width:430px){.apk-panel-tabs button{gap:3px;flex-direction:column}.apk-panel-tabs img{width:21px;height:21px}.apk-panel-tabs span{font-size:10px}.apk-drawer-panel{width:86vw}.apk-drawer-grid button{min-height:92px}}html,body,#app{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{position:fixed;inset:0;width:100%;height:100%;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}button,a,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text;touch-action:manipulation}.app-shell{width:100%;height:100dvh;min-height:0;overflow:hidden}.apk-main-toolbar{flex:0 0 auto;padding-top:env(safe-area-inset-top);height:calc(58px + env(safe-area-inset-top))}.workspace{flex:1 1 0;min-height:0;overflow:hidden}.app-shell>footer{display:none}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;background:transparent}.inspector-scroll,.modal-card,.computer-play-card,.settings-view main,.manual-browser,.apk-drawer-panel{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.settings-view{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top)}.settings-view>header{flex:0 0 58px;position:relative;top:auto;color:var(--ui-text)}.settings-view main{flex:1;min-height:0;min-width:0;width:100%;max-width:800px;margin:0 auto;overflow-y:auto;overflow-x:hidden}.setting-row>span:first-child{min-width:0;overflow-wrap:anywhere}.modal-backdrop{overscroll-behavior:none;padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}.modal-card{max-height:100%;overflow-y:auto}.apk-drawer-panel{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overflow-y:auto}.toast{bottom:max(16px,env(safe-area-inset-bottom))}.computer-play-backdrop{position:fixed;inset:0;z-index:430;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;background:#162632a3;backdrop-filter:blur(2px)}.computer-play-card{width:min(620px,100%);max-height:100%;overflow:auto;border:1px solid #ffffff80;border-radius:12px;background:var(--apk-surface);box-shadow:0 24px 70px #06131d70}.computer-play-card>header{min-height:68px;padding:12px 14px 12px 18px;display:flex;align-items:center;border-bottom:1px solid var(--apk-border);background:linear-gradient(135deg,#f8fbfd,#edf5fa)}.computer-play-card>header>div{min-width:0;display:grid;gap:3px}.computer-play-card>header strong{font-size:18px}.computer-play-card>header span{font-size:11px;color:var(--apk-muted)}.computer-play-card>header>button{margin-left:auto;width:42px;height:42px;border:0;border-radius:50%;background:transparent;font-size:28px;cursor:pointer}.computer-play-card>header>button:hover{background:#dfeaf1}.computer-levels{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.computer-levels>button{min-height:68px;padding:9px 11px;border:1px solid var(--apk-border);border-radius:10px;background:var(--apk-surface);display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;text-align:left;cursor:pointer}.computer-levels>button:last-child{grid-column:1/-1}.computer-levels>button:hover{border-color:#8bb7d0;background:#f7fbfd}.computer-levels>button.selected{border-color:var(--apk-blue);background:var(--apk-selected);box-shadow:0 0 0 2px #2f88bc1d}.computer-levels>button>b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e3edf3;color:#426375;font-size:13px}.computer-levels>button.selected>b{background:var(--apk-blue);color:#fff}.computer-levels>button>span{min-width:0;display:grid;gap:3px}.computer-levels>button strong{font-size:13px}.computer-levels>button small{color:var(--apk-muted);font-size:10px;line-height:1.35}.computer-choice-group{padding:0 12px 12px;display:grid;gap:7px}.computer-choice-group>strong{font-size:11px;color:#52636d;text-transform:uppercase;letter-spacing:.035em}.computer-segmented{height:42px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--apk-border);border-radius:9px;overflow:hidden}.computer-segmented button{border:0;border-right:1px solid var(--apk-border);background:var(--apk-surface);color:#52636d;font-weight:750;cursor:pointer}.computer-segmented button:last-child{border-right:0}.computer-segmented button.selected{background:var(--apk-blue);color:#fff}.computer-source-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.computer-source-options label{min-height:58px;padding:9px 10px;border:1px solid var(--apk-border);border-radius:9px;background:#fff;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;cursor:pointer}.computer-source-options label.selected{border-color:var(--apk-blue);background:var(--apk-selected)}.computer-source-options label.disabled{opacity:.5;cursor:not-allowed}.computer-source-options input{accent-color:var(--apk-blue)}.computer-source-options span{display:grid;gap:2px}.computer-source-options b{font-size:12px}.computer-source-options small{font-size:9px;color:var(--apk-muted);line-height:1.35}.computer-local-note{margin:0 12px 12px;padding:9px 11px;border-radius:8px;background:#eef5f8;color:#55707f;font-size:10px;line-height:1.45}.computer-play-card>footer{min-height:62px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;border-top:1px solid var(--apk-border)}.computer-play-card>footer button{min-height:40px;padding:8px 14px;border:1px solid var(--apk-border);border-radius:8px;background:var(--apk-surface);font-weight:800;cursor:pointer}.computer-play-card>footer .computer-start{border-color:var(--apk-blue);background:var(--apk-blue);color:#fff}.computer-play-card>footer .computer-stop{border-color:#e4b3b3;color:#b12c2c;background:#fff7f7}@media(max-width:520px){.computer-play-backdrop{padding:0;align-items:stretch}.computer-play-card{width:100%;max-height:none;border:0;border-radius:12px}.computer-levels{grid-template-columns:1fr;gap:6px}.computer-levels>button:last-child{grid-column:auto}.computer-levels>button{min-height:59px}.computer-source-options{grid-template-columns:1fr}.computer-play-card>footer{position:sticky;bottom:0;background:var(--apk-surface);grid-template-columns:auto 1fr auto}.computer-play-card>footer .computer-cancel{display:none}}.computer-result-backdrop{position:fixed;inset:0;z-index:440;padding:12px;display:grid;place-items:center;background:#1a252e8c;backdrop-filter:blur(3px)}.computer-result-card{position:relative;width:min(410px,100%);max-height:100%;overflow:auto;padding:24px 22px 25px;border:1px solid #fff8;border-radius:18px;background:#fffaf0;color:#49362f;box-shadow:0 24px 75px #06131d70;text-align:center;animation:computer-result-in .22s ease-out}.computer-result-close{position:absolute;right:10px;top:9px;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#aa9d93;font-size:27px;cursor:pointer}.computer-result-close:hover{background:#eee7dc;color:#6c5b50}.computer-result-mark{width:62px;height:62px;object-fit:contain}.computer-result-card h2{margin:3px 0 4px;font-size:22px;color:#4a342e}.computer-result-card>p{margin:0;color:#876f63;font-size:12px;font-style:italic}.computer-result-players{margin:20px auto 18px;display:grid;grid-template-columns:1fr 42px 1fr;align-items:center}.computer-result-players>b{font-size:13px;color:#76665d}.computer-result-player{display:grid;justify-items:center;gap:5px}.computer-result-player>span{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;border:3px solid #f5dfb8;background:radial-gradient(circle at 34% 28%,#fff,#e9c47d);box-shadow:0 5px 13px #6e4d2930;color:#c2262d;font:900 34px/1 serif}.computer-result-player.bot>span{border-color:#d5c7ad;background:radial-gradient(circle at 34% 28%,#fff,#c9b28c);color:#2e2926}.computer-result-player strong{font-size:13px}.computer-result-player small{min-width:62px;padding:4px 8px;border-radius:999px;background:#eee6d8;color:#6d594e;font:800 11px/1 ui-monospace,monospace;font-variant-numeric:tabular-nums}.computer-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.computer-result-actions button{min-height:46px;border-radius:7px;font-weight:850;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}.computer-result-actions button.primary{border-color:#bd2635!important;background:#c62838!important}.computer-result-actions button.review{grid-column:1/-1;justify-self:center;min-width:148px;border:2px solid #c62838;background:#fffaf0;color:#c62838}.computer-result-actions button span{font-size:18px}@keyframes computer-result-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:430px){.computer-result-card{padding:20px 16px}.computer-result-player>span{width:62px;height:62px;font-size:30px}.computer-result-actions{grid-template-columns:1fr}.computer-result-actions button.review{grid-column:auto;width:100%}}@keyframes computer-thinking-pulse{50%{opacity:.4;transform:scale(.82)}}@media(max-width:900px){.apk-main-toolbar{height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.workspace{width:100%;max-width:none;height:auto;min-height:0;flex:1 1 0;margin:0;gap:5px;padding:5px 6px max(5px,env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden}.board-column{flex:0 0 auto;min-height:0}.board-stage{width:min(calc(100vw - 12px),560px,calc((100dvh - 252px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 10 / 11));max-width:100%}.navigation{width:min(calc(100vw - 12px),560px,calc((100dvh - 252px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 10 / 11));height:40px;margin-top:3px;flex:0 0 40px}.navigation button{font-size:27px;touch-action:manipulation}.inspector-panel{flex:1 1 0;width:100%;height:auto;min-height:0;overflow:hidden}.apk-panel-tabs{height:44px;flex:0 0 44px}.apk-panel-tabs button{min-width:0;padding:2px}.inspector-page{min-height:0;overflow:hidden}.comment-page{padding:10px;gap:10px}.comment-page textarea{min-height:72px;resize:none}.engine-status-strip{min-height:46px;padding:6px 9px}.engine-mode-tabs{height:34px}}@media(max-width:900px)and (orientation:landscape){.apk-main-toolbar{height:calc(46px + env(safe-area-inset-top))}.apk-main-toolbar .tool-button{height:46px;padding:7px}.workspace{display:grid;grid-template-columns:auto minmax(260px,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:6px}.board-column{width:auto;height:100%;justify-self:start;display:grid;grid-template-rows:minmax(0,1fr) 36px;align-items:center}.board-stage{width:auto;height:min(100%,calc(100dvh - 93px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-width:calc(50vw - 10px);aspect-ratio:10/11}.navigation{width:100%;height:36px;margin-top:2px;align-self:end}.inspector-panel{height:100%;min-height:0}}.pad-info-panel{--pad-primary:#1565c0;--pad-soft:#e8eef3;--pad-row:#f3f5f6;--pad-head:#e9eef2;--pad-line:#d9e0e5}.review-mode-strip{min-height:38px;flex:0 0 38px;padding:4px 11px;display:flex;align-items:center;border-bottom:1px solid var(--pad-line);background:#eef5fa;color:#52636e;font-size:11px}.review-mode-strip span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pad-panel-tabs{height:46px;flex:0 0 46px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--apk-border);background:var(--apk-surface)}.pad-panel-tabs button{min-width:0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--apk-muted);font-size:12px;white-space:nowrap;cursor:pointer}.pad-panel-tabs button:hover{background:var(--apk-surface-2)}.pad-panel-tabs button.selected{color:var(--pad-primary);border-bottom-color:var(--pad-primary);font-weight:700;background:#f7fafc}.pad-data-page{min-height:0;background:#fff;overflow:hidden}.pad-data-head{min-height:32px;background:var(--pad-head);border-bottom:1px solid var(--pad-line);color:#4b5b65;font-weight:700}.pad-data-body{min-height:0;flex:1;overflow:auto;background:#fff;scrollbar-width:none}.pad-data-body::-webkit-scrollbar{width:0;height:0}.pad-data-row{border-bottom-color:#e4e8eb;transition:background-color .12s ease}.pad-data-row:hover{background:#e8f1f7}.pad-panel-heading{min-height:54px;flex:0 0 54px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--apk-border);background:var(--apk-surface)}.pad-panel-heading>div{display:flex;align-items:center;gap:8px}.pad-panel-heading>div>div{display:grid;gap:1px}.pad-panel-heading small{font-size:11px;color:var(--apk-muted)}.pad-panel-heading .engine-dot{margin:0}.pad-panel-heading.cloud-heading{min-height:54px;padding:8px 11px}.pad-panel-heading.cloud-heading>div{display:grid;gap:2px;align-items:start}.pad-panel-heading.cloud-heading span{font-size:11px}.engine-thinking-list{min-height:0;flex:1;overflow:auto;background:#fff;scrollbar-width:none}.engine-thinking-list::-webkit-scrollbar{width:0;height:0}.engine-thinking-block{width:100%;display:block;contain:layout paint style;border:0;border-bottom:1px solid #e4e8eb;background:#fff;padding:6px 8px 7px;text-align:left;color:#087dd1;cursor:pointer}.engine-thinking-block.losing{color:#e32323}.engine-thinking-block.alternate{background:#fff}.engine-thinking-block:hover{background:#e8f1f7}.engine-thinking-block.stale{opacity:1}.engine-thinking-block:disabled{cursor:default;color:#087dd1}.engine-thinking-block.losing:disabled{color:#e32323}.engine-starting:before{content:"";width:22px;height:22px;border:3px solid #d8e8f1;border-top-color:var(--pad-primary);border-radius:50%;animation:engine-starting-spin .7s linear infinite}@keyframes engine-starting-spin{to{transform:rotate(360deg)}}.engine-thinking-pv{display:block;margin-top:1px;font-family:Xiangqi,"Noto Serif SC",serif;font-size:12px;line-height:1.5;color:inherit;overflow-wrap:anywhere}.engine-thinking-pv>span{display:inline;white-space:nowrap;margin-right:9px}.engine-thinking-pv small{display:inline;white-space:nowrap;color:inherit;font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.pv-moves{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:1px 0;font-family:Xiangqi,monospace;font-size:12px;line-height:1.55;color:#374f62}.pv-moves span{display:inline-flex;align-items:center;white-space:nowrap}.pv-moves span:not(:last-child):after{content:"›";margin:0 7px;color:#9ba7ae;font:10px/1 sans-serif}.cloud-table-head,.pad-cloud-page .cloud-list>button{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:0}.cloud-assessment-table,.pad-cloud-page .cloud-list>button.cloud-assessment-row{grid-template-columns:minmax(0,16fr) minmax(0,18fr) minmax(0,20fr) minmax(0,46fr)}.cloud-table-head{flex:0 0 32px;padding:7px 9px;font-size:10px}.pad-cloud-page .cloud-list{flex:1}.pad-cloud-page .cloud-list>button{width:100%;min-height:31px;border:0;border-bottom:1px solid #e4e8eb;background:#fff;padding:8px 9px;text-align:left;font-family:Xiangqi,monospace;font-size:11px;cursor:pointer}.cloud-table-head>span,.pad-cloud-page .cloud-list>button>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cloud-table-head>span:nth-child(2),.cloud-table-head>span:nth-child(3),.cloud-table-head>span:nth-child(4){text-align:center}.cloud-assessment-table>span:nth-child(4){text-align:left}.cloud-assessment{color:#364a57;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:600}.pad-cloud-page .cloud-list>button.odd{background:#fff}.pad-cloud-page .cloud-list>button:hover{background:#e5f0f7}.pad-cloud-page .cloud-list>button>span:not(.cloud-note){text-align:center}.pad-cloud-page .cloud-list>button>strong{font-size:12px}.cloud-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--apk-muted)}.pad-moves-page .game-status{min-height:39px;padding:7px 10px}.move-record-scroll{flex:1;min-height:0;overflow:auto}.move-record{padding:0 0 12px;position:relative;background:#fff}.move-ledger-head,.move-ledger-row{display:grid;grid-template-columns:34px 84px repeat(4,minmax(0,1fr));align-items:center}.move-ledger-head{position:sticky;top:0;z-index:4;height:32px;min-height:32px;font-size:9px;text-align:center}.move-ledger-head>span{min-width:0;height:31px;padding:0 2px;border-right:1px solid #ccd5db;display:grid;place-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.move-ledger-head>span:last-child{border-right:0}.move-ledger-row{position:relative;min-height:31px;border-bottom:1px solid #e4e8eb;background:#fff;color:#17242d;font-size:11px}.move-ledger-row:nth-child(odd){background:#fff}.move-ledger-row.current{background:#dcecf7;box-shadow:inset 3px 0 0 var(--pad-primary)}.ledger-number{padding-right:5px;text-align:right;font:11px/1.1 ui-monospace,monospace;color:#40505a}.ledger-move-cell{min-width:0;height:30px;display:flex;align-items:center;border-left:1px solid #edf0f2;border-right:1px solid #edf0f2;padding:0 2px}.ledger-move{min-width:0;flex:1;height:28px;border:0;border-radius:2px;background:transparent;padding:3px 2px;display:flex;align-items:center;justify-content:center;gap:3px;font-family:Xiangqi,monospace;font-size:12px;text-align:center;cursor:pointer}.ledger-move>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.ledger-move i{color:#df8800;font-size:7px;font-style:normal}.ledger-move:hover{background:#e5eef4}.move-ledger-row.current .ledger-move{color:#0d5f93;font-weight:750}.ledger-type,.ledger-score,.ledger-time,.ledger-depth{min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-type{font-family:Xiangqi,serif;font-size:13px;font-weight:750}.ledger-type.counter{color:#59656d;font:10px/1 ui-monospace,monospace}.ledger-type.red{color:#d52020}.ledger-type.black{color:#171717}.ledger-score{font:10px/1 ui-monospace,monospace}.ledger-time,.ledger-depth{color:#52616b;font:10px/1 ui-monospace,monospace}.branch-badge{flex:0 0 auto;border:0;border-radius:9px;background:#dfe5e8;color:#53636b;font:8px/1 ui-monospace,monospace;padding:3px 4px;cursor:pointer}.branch-badge:hover{background:#cbd9e1;color:var(--pad-primary)}.ledger-branch-menu{position:absolute;z-index:12;left:33px;right:3px;top:28px;padding:4px;background:#fff;border:1px solid var(--apk-border);box-shadow:0 7px 22px #0003}.ledger-branch-menu>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #eceeef}.ledger-branch-menu>div:last-child{border-bottom:0}.ledger-branch-menu>div.selected{background:#edf5fa}.branch-choice{min-width:0;border:0;background:transparent;padding:6px;text-align:left;display:grid;gap:1px;cursor:pointer}.branch-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-choice small{font-size:9px;color:var(--apk-muted)}.branch-actions{display:flex}.branch-actions button{width:24px;height:28px;border:0;background:transparent;cursor:pointer}.branch-actions button:disabled{opacity:.25}.branch-actions .danger{color:#c33}@media(max-width:520px){.pad-panel-tabs{height:40px;flex-basis:40px}.pad-panel-tabs button{font-size:11px}.pad-panel-heading{min-height:45px;flex-basis:45px;padding:5px 8px}.engine-thinking-block{padding:5px 6px 6px}.engine-thinking-pv{font-size:11px;line-height:1.45}.engine-thinking-pv>span{margin-right:7px}.engine-thinking-pv small{font-size:9px}.cloud-table-head,.pad-cloud-page .cloud-list>button{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.cloud-assessment-table,.pad-cloud-page .cloud-list>button.cloud-assessment-row{grid-template-columns:minmax(0,16fr) minmax(0,18fr) minmax(0,20fr) minmax(0,46fr)}.cloud-table-head{padding:6px;font-size:9px}.pad-cloud-page .cloud-list>button{padding:7px 6px;font-size:10px}.pad-cloud-page .cloud-list>button>strong{font-size:11px}.move-ledger-head,.move-ledger-row{grid-template-columns:31px 78px repeat(4,minmax(0,1fr))}.move-ledger-head{font-size:8px}.ledger-number{font-size:10px}.ledger-move{font-size:11px}.ledger-type{font-size:12px}.ledger-type.counter,.ledger-score,.ledger-time,.ledger-depth{font-size:9px}.branch-badge{padding:3px;font-size:7px}.ledger-branch-menu{left:30px}}@media(max-width:360px){.cloud-table-head,.pad-cloud-page .cloud-list>button{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.cloud-assessment-table,.pad-cloud-page .cloud-list>button.cloud-assessment-row{grid-template-columns:minmax(0,16fr) minmax(0,18fr) minmax(0,20fr) minmax(0,46fr)}.cloud-table-head{padding:5px 4px;font-size:8px}.pad-cloud-page .cloud-list>button{padding:6px 4px;font-size:9px}.pad-cloud-page .cloud-list>button>strong{font-size:10px}.move-ledger-head,.move-ledger-row{grid-template-columns:28px 74px repeat(4,minmax(0,1fr))}}.visual-picker{margin:12px 0 22px;padding:14px;border:1px solid #e4e7ea;border-radius:10px;background:#f8f9fa}.settings-header-spacer{width:96px;flex:0 0 96px}.appearance-link{width:100%;border:0;border-bottom:1px solid var(--apk-border);background:var(--ui-surface);text-align:left;cursor:pointer}.appearance-link:hover{background:var(--ui-surface)}.appearance-link .setting-choice-summary{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--apk-muted)}.setting-choice-summary>strong{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.setting-choice-summary>i{font:26px/1 sans-serif;color:#a1a8ad}.current-piece-preview{display:flex!important;align-items:center}.current-piece-preview img{width:62px;height:32px;object-fit:cover;border-radius:5px;filter:none}.board-summary>img{width:62px;height:40px;border-radius:4px;object-fit:cover;border:1px solid #d9dde0}.skin-picker-main{width:100%;max-width:960px!important;padding-top:12px!important}.skin-picker-intro{display:grid;gap:3px;margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#f1f5f7}.skin-picker-intro strong{font-size:14px}.skin-picker-intro small{color:#858d94;font-size:11px}.opening-book-setting{align-items:center}.opening-book-setting>span:first-child{min-width:0}.opening-book-setting>span:first-child small{overflow-wrap:anywhere}.opening-book-actions{display:flex!important;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:7px}.setting-action{min-height:36px;border:1px solid #d8dde2;border-radius:6px;background:#fff;padding:7px 11px;white-space:nowrap;cursor:pointer}.setting-action:disabled{opacity:.55;cursor:wait}.visual-picker-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.visual-picker-heading>span{display:grid;gap:3px}.visual-picker-heading strong{font-size:14px}.visual-picker-heading small{font-size:11px;color:#858d94}.visual-picker-heading em{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:12px;background:#e6f2fb;color:#176595;padding:4px 9px;font-size:11px;font-style:normal;font-weight:650}.piece-skin-grid,.board-skin-grid{display:grid;gap:10px}.piece-skin-grid,.board-skin-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.skin-choice{min-width:0;position:relative;overflow:hidden;border:2px solid transparent;border-radius:9px;background:#fff;padding:0;box-shadow:0 1px 4px #24323d1c;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.skin-choice:hover{border-color:#8bb9d5;box-shadow:0 4px 13px #23476022;transform:translateY(-1px)}.skin-choice.selected{border-color:var(--apk-blue);box-shadow:0 0 0 2px #2f769e24,0 4px 13px #23476024}.skin-choice:focus-visible{outline:3px solid #73b9e4;outline-offset:2px}.skin-choice-label{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:7px 8px;text-align:left}.skin-choice-label strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650}.skin-choice-label i{display:none;flex:0 0 18px;width:18px;height:18px;border-radius:50%;place-items:center;background:var(--apk-blue);color:#fff;font:700 12px/1 sans-serif}.skin-choice.selected .skin-choice-label i{display:grid}.board-skin-choice>img{display:block;width:100%;aspect-ratio:10/7.2;object-fit:cover;object-position:center 47%;background:#d8c092}.piece-preview{min-height:82px;display:flex;align-items:center;justify-content:center;padding:5px;background:#d7b780;isolation:isolate}.piece-preview img{width:100%;height:82px;object-fit:cover;border-radius:5px}@media(max-width:900px){.piece-skin-grid,.board-skin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.settings-header-spacer{width:70px;flex-basis:70px}.appearance-link{padding:8px 4px}.appearance-link>span:first-child{max-width:46%}.appearance-link .setting-choice-summary{max-width:54%;gap:5px}.setting-choice-summary>strong{max-width:86px}.current-piece-preview img{width:28px;height:28px}.board-summary>img{width:51px;height:34px}.skin-picker-main{padding:8px!important}.skin-picker-intro{margin-bottom:8px;padding:8px 9px}.opening-book-setting{align-items:flex-start;gap:8px}.opening-book-setting>span:first-child{max-width:58%}.opening-book-actions{max-width:42%;flex-direction:column;align-items:stretch}.setting-action{width:100%;padding:6px 8px;font-size:11px}.visual-picker{margin:9px 0 16px;padding:10px 8px;border-radius:8px}.visual-picker-heading{margin:0 2px 9px}.visual-picker-heading em{max-width:48%;padding:3px 7px}.piece-skin-grid,.board-skin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.piece-preview{min-height:72px}.skin-choice-label{min-height:33px;padding:6px}.skin-choice-label strong{font-size:10px}.board-skin-choice>img{aspect-ratio:10/7.5}}.navigation button{display:grid;place-items:center;padding:6px;line-height:1;color:#46515a;transition:background-color .14s,color .14s,transform .1s}.navigation button:active{transform:scale(.96)}.navigation button .nav-icon{display:block;width:24px;height:24px;object-fit:contain;pointer-events:none}.navigation button .nav-icon-play{margin-left:2px}.navigation button.active{color:var(--apk-blue)}@media(max-width:520px){.navigation button .nav-icon{width:22px;height:22px}}.pad-cloud-page .cloud-list.syncing>button{opacity:.72;cursor:progress}.pad-cloud-page .cloud-list>button:disabled{color:inherit}.cloud-live-list>button:disabled{opacity:1;cursor:default}.navigation{height:38px;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0}.navigation button{width:100%;height:100%;min-width:0;min-height:0;padding:4px;display:grid;place-items:center}.navigation button .nav-icon{width:22px;height:22px}@media(max-width:760px){.navigation{height:34px;flex:0 0 34px}.navigation button .nav-icon{width:20px;height:20px}}@media(orientation:landscape)and (max-height:600px){.board-column{grid-template-rows:minmax(0,1fr) 32px}.navigation{height:32px;flex-basis:32px;margin-top:0}}.board-arrows{z-index:2}.board-arrows .pv-arrow-shape{opacity:.92;stroke-width:.8;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #0007)}.board-arrows .pv-arrow-origin{display:none}.board-arrows .pv-arrow.reply{opacity:1}.board-arrows .pv-arrow-number text{fill:#fff;font-size:2.05px;font-weight:950;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#25312bcc;stroke-width:.36px;pointer-events:none}.record-variation-arrow{opacity:1}.record-variation-arrow-shape{stroke-width:.8;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #0007)}.record-variation-arrow-origin{display:none}.record-variation-arrow-number text{fill:#fff;font-size:2.05px;font-weight:950;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#25312bcc;stroke-width:.36px;pointer-events:none}.record-variation-enter-active,.record-variation-leave-active{transition:opacity .14s ease}.record-variation-enter-from,.record-variation-leave-to{opacity:0}.board-stage{touch-action:none}.board-stage.hypothesis-dragging,.board-stage.hypothesis-dragging .piece,.board-stage.hypothesis-dragging .square-hit{cursor:crosshair}.hypothesis-arrow.preview{opacity:.58}.hypothesis-arrow-shape{stroke-width:.8;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #0007)}.hypothesis-arrow-number{fill:#fff;font-size:2.05px;font-weight:900;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#25312b;stroke-width:.3px;pointer-events:none}.board-stage.piece-flip-flight .piece,.editor-board-pad.piece-flip-flight .editor-square{transition:left .2s cubic-bezier(.25,.46,.45,.94),top .2s cubic-bezier(.25,.46,.45,.94);will-change:left,top}.board-arrow-item{opacity:1;transition:opacity .18s ease}.board-arrow-enter-active,.board-arrow-leave-active{transition:opacity .18s ease}.board-arrow-enter-from,.board-arrow-leave-to{opacity:0}.board-arrow-leave-active{pointer-events:none}.aichess-move-effect{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:visible}.aichess-move-effect>*{position:absolute;pointer-events:none}.piece.effect-destination img{animation:aichess-destination-piece var(--effect-duration) linear both}.piece.selected:not(.dragging) img{animation:aichess-piece-pick .16s ease-out both}.aichess-selected-ground{position:absolute;z-index:2;width:10%;aspect-ratio:1;transform:translate3d(-50%,-38%,0);background:url(/assets/aichess-effects/black-shadow.png) center/contain no-repeat;opacity:.3;pointer-events:none;animation:aichess-selected-ground .16s ease-out both}.aichess-moving-piece{z-index:7;left:var(--effect-from-left);top:var(--effect-from-top);width:10%;aspect-ratio:1;object-fit:contain;opacity:var(--piece-opacity);filter:drop-shadow(0 1px 1px #0003);will-change:transform;animation:aichess-piece-glide var(--effect-duration) linear both}.aichess-move-ground{z-index:6;left:var(--effect-from-left);top:var(--effect-from-top);width:10%;aspect-ratio:1;transform:translate3d(-50%,-38%,0);background:url(/assets/aichess-effects/black-shadow.png) center/contain no-repeat;opacity:.3;will-change:transform,opacity;animation:aichess-ground-glide var(--effect-duration) linear both}.aichess-move-mark{width:10%;aspect-ratio:1;transform:translate(-50%,-50%);background:url(/assets/aichess-effects/white-shadow.png) no-repeat;background-size:200% 100%;mix-blend-mode:screen}.aichess-move-mark.source{background-position:100% 0;animation:aichess-source-mark var(--effect-duration) ease-out both}.aichess-move-mark.destination{background-position:0 0;animation:aichess-destination-mark var(--effect-duration) ease-out both}.aichess-capture-effect{z-index:4;left:var(--effect-to-left);top:var(--effect-to-top);width:16.5%;aspect-ratio:1;object-fit:contain;animation:aichess-capture-burst var(--effect-duration) ease-out both}.aichess-check-blur,.aichess-check-effect{transform:translate(-50%,-50%);object-fit:contain}.aichess-check-blur{z-index:2;width:20.5%;animation:aichess-check-blur var(--effect-duration) ease-out both}.aichess-check-effect{z-index:5;width:28%;animation:aichess-check-stamp var(--effect-duration) ease-out both}@keyframes aichess-source-mark{0%{opacity:.85;transform:translate(-50%,-50%) scale(.58)}to{opacity:0;transform:translate(-50%,-50%) scale(.72)}}@keyframes aichess-destination-mark{0%{opacity:.15;transform:translate(-50%,-50%) scale(.82)}45%{opacity:.52}to{opacity:0;transform:translate(-50%,-50%) scale(1.43)}}@keyframes aichess-capture-burst{0%{opacity:0;transform:translate(-50%,-32%) scale(.56) rotate(-8deg)}24%{opacity:.96;transform:translate(-50%,-58%) scale(1.08) rotate(1deg)}to{opacity:0;transform:translate(-50%,-74%) scale(.94)}}@keyframes aichess-check-blur{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}30%{opacity:.48}to{opacity:0;transform:translate(-50%,-50%) scale(1.28)}}@keyframes aichess-check-stamp{0%{opacity:0;transform:translate(-50%,-42%) scale(.55) rotate(-7deg)}25%{opacity:.98;transform:translate(-50%,-56%) scale(1.05) rotate(1deg)}to{opacity:0;transform:translate(-50%,-66%) scale(.92)}}@keyframes aichess-piece-glide{0%{transform:translate3d(-50%,-50%,0) scale(var(--piece-scale))}16.667%{transform:translate3d(calc(-50% + var(--effect-e1-x)),calc(-60% + var(--effect-e1-y)),0) scale(calc(var(--piece-scale) + .0385))}33.333%{transform:translate3d(calc(-50% + var(--effect-e2-x)),calc(-67.32% + var(--effect-e2-y)),0) scale(calc(var(--piece-scale) + .065))}50%{transform:translate3d(calc(-50% + var(--effect-half-x)),calc(-70% + var(--effect-half-y)),0) scale(calc(var(--piece-scale) + .0716))}66.667%{transform:translate3d(calc(-50% + var(--effect-e4-x)),calc(-67.32% + var(--effect-e4-y)),0) scale(calc(var(--piece-scale) + .0566))}83.333%{transform:translate3d(calc(-50% + var(--effect-e5-x)),calc(-60% + var(--effect-e5-y)),0) scale(calc(var(--piece-scale) + .0275))}to{transform:translate3d(calc(-50% + var(--effect-translate-x)),calc(-50% + var(--effect-translate-y)),0) scale(var(--piece-scale))}}@keyframes aichess-ground-glide{0%{opacity:.3;transform:translate3d(-50%,-38%,0) scale(.78,.48)}16.667%{opacity:.26;transform:translate3d(calc(-50% + var(--effect-e1-x)),calc(-38% + var(--effect-e1-y)),0) scale(.91,.42)}33.333%{opacity:.21;transform:translate3d(calc(-50% + var(--effect-e2-x)),calc(-38% + var(--effect-e2-y)),0) scale(1.02,.37)}50%{opacity:.18;transform:translate3d(calc(-50% + var(--effect-half-x)),calc(-38% + var(--effect-half-y)),0) scale(1.08,.34)}66.667%{opacity:.21;transform:translate3d(calc(-50% + var(--effect-e4-x)),calc(-38% + var(--effect-e4-y)),0) scale(1.02,.37)}83.333%{opacity:.26;transform:translate3d(calc(-50% + var(--effect-e5-x)),calc(-38% + var(--effect-e5-y)),0) scale(.91,.42)}to{opacity:.3;transform:translate3d(calc(-50% + var(--effect-translate-x)),calc(-38% + var(--effect-translate-y)),0) scale(.78,.48)}}@keyframes aichess-piece-pick{0%{transform:translateY(0) scale(var(--piece-scale))}60%{transform:translateY(-16%) scale(calc(var(--piece-scale) + .057))}to{transform:translateY(-18%) scale(calc(var(--piece-scale) + .065))}}@keyframes aichess-selected-ground{0%{opacity:.18;transform:translate3d(-50%,-38%,0) scale(.72,.43)}to{opacity:.3;transform:translate3d(-42%,-34%,0) scale(1.02,.36)}}@keyframes aichess-destination-piece{0%,72%{opacity:0}88%,to{opacity:var(--piece-opacity,1)}}@media(prefers-reduced-motion:reduce){.aichess-move-mark,.aichess-capture-effect,.aichess-check-blur,.aichess-check-effect{animation:none;opacity:0}}.manual-library.pad-library{width:min(780px,100%);height:min(780px,92vh);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;background:#f6f7f8}.pad-library>.library-toolbar{height:58px;min-height:58px;padding:0 10px;display:flex;align-items:center;gap:5px;background:var(--ui-surface);border-bottom:1px solid var(--apk-border)}.library-toolbar>div{min-width:0;flex:1;display:flex;align-items:baseline;gap:8px}.library-toolbar h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.library-toolbar span{color:var(--apk-muted);font-size:11px;white-space:nowrap}.library-back,.library-action{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}.library-back{font-size:26px}.library-action img{width:23px;height:23px}.library-back:hover,.library-action:hover{background:#edf3f7}.library-search-row{height:48px;flex:0 0 48px;margin:10px 14px 4px;border:1px solid var(--apk-border);border-radius:9px;background:var(--apk-surface);display:flex;align-items:center;padding:0 10px;gap:8px}.library-search-row>span{font-size:23px;color:var(--apk-muted)}.library-search-row input{min-width:0;flex:1;height:100%;border:0;outline:0;background:transparent}.library-search-row button{border:0;background:transparent;font-size:20px;color:var(--apk-muted);cursor:pointer}.library-breadcrumb{display:flex;align-items:center;gap:4px;min-height:38px;padding:4px 16px;overflow-x:auto;white-space:nowrap}.library-breadcrumb button{border:0;background:transparent;color:var(--apk-blue);padding:4px 2px;cursor:pointer}.library-breadcrumb button.current{color:var(--apk-text);font-weight:650}.library-breadcrumb span{color:var(--apk-muted)}.library-content{min-height:0;flex:1;overflow:auto;padding:8px 14px 18px}.library-section-title{display:flex;justify-content:space-between;align-items:center;padding:3px 2px 9px}.library-section-title span{font-size:11px;color:var(--apk-muted)}.library-folder-card{width:100%;min-height:58px;border:1px solid var(--apk-border);border-radius:9px;background:var(--ui-surface);display:grid;grid-template-columns:32px minmax(0,1fr) auto 18px;align-items:center;gap:9px;padding:9px 12px;margin-bottom:7px;text-align:left;cursor:pointer;box-shadow:0 1px 3px #1e354510}.library-folder-card:hover{border-color:#8bb9d5;background:var(--ui-surface)}.library-folder-card img{width:27px;height:27px}.library-folder-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.library-folder-card span{font-size:11px;color:var(--apk-muted);background:var(--apk-surface-2);border-radius:12px;padding:4px 8px}.library-folder-card i{font-style:normal;font-size:21px;color:var(--apk-muted)}.library-record-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;margin-bottom:8px;border:1px solid var(--apk-border);border-radius:9px;background:var(--ui-surface);box-shadow:0 1px 4px #1e354512;overflow:hidden}.library-record-card.active{border-color:var(--apk-blue);box-shadow:0 0 0 2px #2f769e1d}.library-record-open{min-width:0;border:0;background:transparent;display:grid;gap:7px;padding:11px 12px;text-align:left;cursor:pointer}.library-record-open:hover{background:var(--ui-surface)}.library-record-open>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.library-players{display:flex;align-items:center;gap:6px;font-size:12px}.library-players b{color:#c62828}.library-players em{font-style:normal;color:#454b50}.library-players i{font-style:normal;color:var(--apk-muted);font-size:10px}.library-record-meta{display:flex;align-items:center;gap:7px;min-width:0;font-size:10px;color:var(--apk-muted)}.library-record-meta b{border-radius:4px;background:var(--apk-surface-2);padding:3px 6px}.library-record-meta b.red-win{color:#c62828}.library-record-meta b.black-win{color:#333}.library-record-meta b.draw{color:#a56a00}.library-record-meta i{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-delete{align-self:stretch;border:0;border-left:1px solid #eef0f2;background:var(--ui-surface);color:#9ca3a9;font-size:21px;cursor:pointer}.library-delete:hover{background:#fff1f1;color:#c62828}.library-delete.confirm{font-size:10px;font-weight:700;color:#c62828;background:#fff1f1}.library-save-card{margin:7px 14px;padding:12px;border:1px solid #9fc3d8;border-radius:10px;background:var(--ui-surface);display:grid;gap:9px;box-shadow:0 5px 20px #203b4c18}.library-save-card>header{height:auto;padding:0;display:flex;align-items:center;border:0}.library-save-card>header strong{flex:1}.library-save-card>header button{border:0;background:transparent;font-size:20px;cursor:pointer}.library-save-card label{display:grid;gap:4px;font-size:10px;color:var(--apk-muted)}.library-save-card input,.library-save-card select{min-width:0;width:100%;height:34px;border:1px solid var(--apk-border);border-radius:5px;background:var(--ui-surface);padding:6px 8px}.library-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.library-save-card footer{display:flex;align-items:center;gap:8px}.library-save-card footer small{min-width:0;flex:1;color:var(--apk-muted)}.library-save-card footer button{padding:7px 11px;border-radius:5px}.library-empty img{width:44px;height:44px;opacity:.42}.library-empty{min-height:230px}@media(max-width:760px){.modal-backdrop{padding:0}.manual-library.pad-library{width:100%;height:100%;max-height:none;border-radius:0}.library-content{padding:6px 9px 14px}.library-search-row{margin:8px 9px 3px}.library-breadcrumb{padding-left:11px;padding-right:11px}.library-save-card{margin:6px 9px;padding:10px}.library-form-pair{grid-template-columns:1fr 1fr}.library-record-open{padding:10px}.library-record-meta{gap:5px}.library-folder-card{margin-bottom:5px}}@media(max-width:900px)and (orientation:portrait){.review-workspace .board-stage{width:min(100%,calc((43dvh - 60px)*696/787))}.review-workspace .board-control-deck{width:min(100%,calc((43dvh - 60px)*10/11))}.review-workspace .navigation{width:100%}}.skin-picker-tools{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px;padding:0 14px 12px}.skin-picker-tools input,.skin-picker-tools select{min-width:0;height:36px;border:1px solid var(--apk-border);border-radius:7px;background:var(--ui-surface);padding:6px 9px}.skin-choice-label{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center}.skin-choice-label small{grid-column:1;font-size:9px;color:var(--apk-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skin-choice-label i{grid-column:2;grid-row:1/3}@media(max-width:560px){.skin-picker-tools{grid-template-columns:1fr;padding:0 10px 10px}}.library-sync{font-size:9px!important;border-radius:8px;padding:2px 5px;background:#edf2f5;color:#68747c}.library-sync.synced{background:#e3f5e9;color:#267b48}.library-sync.pending{background:#fff3cf;color:#8d6a00}.library-sync.error{background:#ffe5e5;color:#a43c3c}.review-exclusive-header{min-height:42px;flex:0 0 auto;display:grid;grid-template-columns:90px 1fr 90px;align-items:center;border-bottom:1px solid var(--apk-border);background:var(--apk-surface)}.review-exclusive-header button{border:0;background:transparent;color:var(--apk-blue);text-align:left;padding:0 10px}.review-exclusive-header strong{text-align:center;font-size:13px}.review-after-record{margin:8px 10px 12px;min-height:38px;border:1px solid #8ab8d2;border-radius:8px;background:#f2f9fd;color:#1c668f;font-weight:700}.review-after-record span{float:right;font-size:18px}.review-coach-button{border-color:#8d6bd1!important;background:#f6f1ff!important;color:#6342a7!important;font-weight:700}.review-coach-points{grid-column:1/-1;display:grid;gap:6px;margin:0;padding:0;list-style:none}.review-coach-points li{display:grid;grid-template-columns:20px 1fr;gap:5px;padding:7px;border-radius:6px;background:#f6f3ff;font-size:10px;line-height:1.45}.review-coach-points b{color:#714bb5}.board-editor-backdrop{padding:0;background:#e8edf0}.board-editor-screen{width:min(720px,100%);height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#fff;box-shadow:0 0 45px #17273533}.board-editor-toolbar{height:calc(56px + env(safe-area-inset-top));flex:0 0 calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 7px 0;display:flex;align-items:center;border-bottom:1px solid var(--apk-border);background:#fff;z-index:2}.board-editor-toolbar h2{min-width:0;flex:1;margin:0 4px;font-size:16px;white-space:nowrap}.board-editor-toolbar button{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}.board-editor-toolbar button:hover{background:#edf3f7}.board-editor-toolbar .editor-back{font-size:26px}.editor-toolbar-actions{display:flex;align-items:center}.editor-toolbar-actions img{width:23px;height:23px;object-fit:contain}.editor-toolbar-actions .editor-done{background:#edf5fc}.editor-toolbar-actions .editor-done img{width:25px;height:25px}.board-editor-content{min-height:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#f6f7f8}.editor-board-pad{position:relative;width:min(100%,calc((100dvh - 350px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*10/11),620px);aspect-ratio:10/11;flex:0 1 auto;user-select:none}.editor-board-skin{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.editor-square{position:absolute;z-index:2;width:10%;aspect-ratio:1;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;padding:0;cursor:pointer;touch-action:manipulation}.editor-square:active{background:#1f83bd1f}.editor-square img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #0005);pointer-events:none}.editor-fen-row{width:calc(100% - 16px);height:46px;flex:0 0 46px;margin:4px 8px;padding:0 6px 0 10px;border-radius:8px;background:#e9edf0;display:flex;align-items:center;gap:7px;overflow:hidden}.editor-fen-row.invalid{box-shadow:inset 0 0 0 1px #d86161;background:#fff1f1}.editor-fen-row .turn-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%}.editor-fen-row .turn-dot.red{background:#c0392b}.editor-fen-row .turn-dot.black{background:#2c2416}.editor-fen-row strong{font-size:11px;color:var(--apk-blue)}.editor-fen-row code{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#485057}.editor-fen-row button{width:36px;height:36px;flex:0 0 36px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}.editor-fen-row button:hover{background:#dce4e9}.editor-fen-row img{width:20px;height:20px}.editor-validation-feedback{width:calc(100% - 18px);height:28px;flex:0 0 28px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:6px;overflow:hidden;color:#287b48;font-size:10px}.editor-validation-feedback>span{width:17px;height:17px;flex:0 0 17px;border-radius:50%;display:grid;place-items:center;background:#dff4e7;font-size:11px;font-weight:800}.editor-validation-feedback>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-validation-feedback.invalid{color:#b82929}.editor-validation-feedback.invalid>span{background:#ffe0e0}.editor-toolbar-actions .editor-done.invalid{background:#fff0f0;box-shadow:inset 0 0 0 1px #e39a9a}.editor-file-input{display:none}.editor-recognition-actions{width:calc(100% - 16px);height:40px;flex:0 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 8px}.editor-recognition-actions button{min-width:0;height:38px;border:1px solid #8fb8cf;border-radius:7px;background:#fff;color:#24698f;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:650;cursor:pointer}.editor-recognition-actions button:last-of-type{border-color:#69bf86;color:#26804a}.editor-recognition-actions button:disabled{opacity:.55;cursor:wait}.editor-recognition-actions img{width:20px;height:20px;object-fit:contain}.editor-recognition-feedback{width:calc(100% - 18px);height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#7a8389;font-size:10px}.editor-recognition-feedback>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-recognition-progress{position:relative;width:100%;height:34px;padding:3px 8px 5px 48px;border:1px solid #c7dfeb;border-radius:8px;background:linear-gradient(110deg,#f8fcff,#edf8ff 48%,#f7fcff);box-shadow:0 2px 10px #207aa312;overflow:hidden}.editor-recognition-percent{position:absolute;left:8px;top:6px;color:#126b99;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.editor-recognition-copy{display:flex;align-items:baseline;justify-content:space-between;gap:6px;color:#235e7d;white-space:nowrap}.editor-recognition-copy strong{overflow:hidden;text-overflow:ellipsis;font-size:10px}.editor-recognition-copy small{color:#64889b;font-size:8px}.editor-recognition-track{position:absolute;left:48px;right:8px;bottom:5px;height:4px;border-radius:99px;background:#dbeaf1;overflow:hidden}.editor-recognition-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00a7d8,#1c78e8 55%,#7554ef);box-shadow:0 0 8px #1c78e899;transition:width .18s ease}.editor-recognition-result{color:#287b48;font-weight:650}.editor-recognition-error{color:#bd3030;font-weight:650}.editor-piece-selector{flex:0 0 auto;margin:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--apk-border);box-shadow:0 -3px 12px #21364414;text-align:left;color:inherit}.editor-palette-row{height:44px;display:flex;align-items:center;gap:5px}.editor-palette-row>strong,.editor-palette-actions>strong{width:35px;flex:0 0 35px;font-size:10px}.editor-palette-row.red-row>strong{color:#c0392b}.editor-palette-row.black-row>strong{color:#2c2416}.editor-piece-strip{min-width:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.editor-piece-strip::-webkit-scrollbar{display:none}.editor-piece-strip button,.editor-eraser{width:40px;height:40px;flex:0 0 40px;padding:1px;border:1px solid #d8dde1;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer}.editor-piece-strip button.selected{border:3px solid var(--apk-blue);padding:0}.editor-piece-strip img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 1px 1px #0004)}.editor-palette-actions{height:44px;display:flex;align-items:center;gap:6px;border-top:1px solid #edf0f2;margin-top:3px;padding-top:3px}.editor-eraser.selected{border:2px solid #c62828;background:#ffebee;color:#c62828}.editor-eraser span{font:24px/1 sans-serif}.editor-action-divider{width:1px;height:28px;margin:0 3px;background:#dde1e4}.turn-chip{min-height:32px;padding:5px 11px;border:1px solid #d8dde1;border-radius:17px;background:#fff;font-size:11px;cursor:pointer}.turn-chip.red.active{border:2px solid #c0392b;background:#c0392b16;color:#b42f24;font-weight:700}.turn-chip.black.active{border:2px solid #2c2416;background:#2c241612;color:#2c2416;font-weight:700}@media(max-width:430px){.board-editor-toolbar h2{font-size:14px}.board-editor-toolbar button{width:39px;height:39px;flex-basis:39px}.editor-piece-selector{padding-left:6px;padding-right:6px}.editor-palette-row>strong,.editor-palette-actions>strong{width:31px;flex-basis:31px}.editor-piece-strip button,.editor-eraser{width:38px;height:38px;flex-basis:38px}.editor-piece-strip img{width:34px;height:34px}.turn-chip{padding-left:9px;padding-right:9px}}@media(orientation:landscape)and (max-height:600px){.board-editor-screen{width:100%}.board-editor-toolbar{height:48px;flex-basis:48px}.board-editor-content{width:58%;flex:1;align-self:flex-start}.editor-board-pad{width:min(100%,calc((100dvh - 179px)*10/11))}.editor-fen-row{height:38px;flex-basis:38px;margin:2px 6px}.editor-validation-feedback{height:25px;flex-basis:25px}.editor-recognition-actions{height:36px;flex-basis:36px}.editor-recognition-actions button{height:34px}.editor-recognition-feedback{height:25px;flex-basis:25px}.editor-piece-selector{position:absolute;right:0;top:48px;bottom:0;width:42%;padding-top:9px;border-top:0;border-left:1px solid var(--apk-border);display:flex;flex-direction:column;justify-content:center}.editor-palette-row{height:auto;min-height:62px;align-items:flex-start;flex-direction:column}.editor-palette-row>strong{width:auto;flex-basis:auto}.editor-piece-strip{width:100%;display:grid;grid-template-columns:repeat(4,40px)}.editor-palette-actions{height:auto;min-height:55px;flex-wrap:wrap}.editor-palette-actions>strong{display:none}}.offline-pack-card{margin:8px 0 12px;padding:11px 13px;border:1px solid #d8e3e9;border-radius:9px;background:#f6fafc;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}.offline-pack-card>span{min-width:0;display:grid;gap:3px}.offline-pack-card strong{font-size:12px;color:#263b48}.offline-pack-card small{font-size:10px;line-height:1.35;color:var(--apk-muted)}.offline-pack-action{display:flex;align-items:center;justify-content:flex-end}.offline-pack-action button{min-height:34px;padding:6px 11px;border:1px solid var(--apk-blue);border-radius:6px;background:#edf6fc;color:var(--apk-blue);font-size:11px;font-weight:700;cursor:pointer}.offline-pack-action button:disabled{opacity:.55;cursor:wait}.offline-pack-card progress,.offline-pack-card>em{grid-column:1/-1;width:100%}.offline-pack-card progress{height:6px;accent-color:var(--apk-blue)}.offline-pack-card>em{font-size:10px;font-style:normal;color:#b83232}.library-record-card.readonly{grid-template-columns:minmax(0,1fr) 34px}.library-built-in{align-self:stretch;display:grid;place-items:center;border-left:1px solid #eef0f2;background:#f3f8fb;color:var(--apk-blue);font-size:8px;font-weight:750;letter-spacing:.03em}.library-record-meta b{min-width:30px;flex:0 0 30px;white-space:nowrap;text-align:center}.library-record-open:disabled{cursor:wait;opacity:.62}.library-load-more{width:100%;min-height:42px;border:1px solid #9fc3d8;border-radius:8px;background:#f5fbff;color:var(--apk-blue);font-weight:650;cursor:pointer}.library-load-more:hover{background:#e9f5fc}.library-loading{gap:12px}.library-spinner{width:28px;height:28px;border:3px solid #d8e8f1;border-top-color:var(--apk-blue);border-radius:50%;animation:library-spin .8s linear infinite}@keyframes library-spin{to{transform:rotate(360deg)}}.library-source-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--apk-muted);font-size:10px;line-height:1.2}.library-folder-name{min-width:0;display:grid;gap:3px;background:transparent!important;border-radius:0!important;padding:0!important;color:inherit!important}.library-folder-name strong,.library-folder-name small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-folder-name strong{font-size:13px}.board-control-deck{width:100%;flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--apk-border);border-radius:0 0 4px 4px;background:#fff;overflow:hidden}.board-engine-metrics{width:100%;height:18px;flex:0 0 18px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#f3f6f8;border-bottom:0;box-shadow:inset 0 0 0 1px #fff8;color:#4c5961;overflow:hidden}.board-engine-metrics.thinking{box-shadow:inset 0 2px var(--apk-blue)}.board-engine-metrics>span{min-width:0;display:flex;align-items:center;justify-content:center;gap:3px;border-right:0;overflow:hidden;white-space:nowrap}.board-engine-metrics>span:last-child{border-right:0}.board-engine-metrics b{font-size:8px;font-weight:800;color:#6c7880}.board-engine-metrics strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font:800 9.5px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#176fa5}.board-engine-metrics .metric-score strong{color:var(--apk-blue)}.board-engine-metrics.losing .metric-score strong{color:#df2626}.board-control-deck .navigation{width:100%;height:25px;flex:0 0 25px;margin:0;border:0;border-radius:0}.board-control-deck .navigation button{padding:2px;border-right:0}.board-control-deck .navigation button .nav-icon{width:18px;height:18px}@media(max-width:900px){.board-control-deck{width:min(calc(100vw - 12px),560px,calc((100dvh - 252px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 10 / 11))}}@media(max-width:520px){.board-engine-metrics b{font-size:7.5px}.board-engine-metrics strong{font-size:9px}.board-control-deck .navigation button .nav-icon{width:17px;height:17px}}@media(max-width:900px)and (orientation:landscape){.board-column{grid-template-rows:minmax(0,1fr) 38px}.board-control-deck{width:100%;height:38px;align-self:end}.board-engine-metrics{height:16px;flex-basis:16px}.board-control-deck .navigation{height:22px;flex-basis:22px}}.library-back svg,.library-action svg{width:21px;height:21px;stroke-width:1.9}.library-search-row>svg{width:19px;height:19px;flex:0 0 19px;color:var(--apk-muted)}.library-search-row button svg{width:18px;height:18px}.library-folder-card>svg:first-child{width:23px;height:23px;color:var(--pad-primary);fill:#dbeaf4;stroke-width:1.7}.library-folder-card>svg:last-child{width:18px;height:18px;color:var(--apk-muted)}.library-delete svg{width:17px;height:17px}.library-empty>svg{width:40px;height:40px;opacity:.42}.library-save-card>header button svg{width:18px;height:18px}.library-content{scrollbar-width:none}.library-content::-webkit-scrollbar{display:none}:root{--app-ui-font:Xiangqi,"Noto Sans SC",Arial,sans-serif;--app-ui-font-size:12px}html body,html body #app,html body #app *{font-family:var(--app-ui-font);font-size:var(--app-ui-font-size)}.engine-profile-card{margin:0 0 8px;padding:12px;border:1px solid #d9e2e8;border-radius:10px;background:#f8fafb;display:grid;gap:10px}.engine-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.engine-profile-heading>span:first-child{min-width:0;display:grid;gap:3px}.engine-profile-heading small{color:var(--apk-muted)}.engine-profile-badge{flex:0 0 auto;padding:5px 9px;border-radius:14px;background:#e7f3fb;color:var(--apk-blue);font-weight:800}.engine-profile-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.engine-profile-options>button{min-width:0;min-height:64px;padding:9px 10px;border:1px solid #d8dfe4;border-radius:8px;background:#fff;display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;text-align:left;cursor:pointer}.engine-profile-options>button:hover{border-color:#83b9d7;background:#f5fbff}.engine-profile-options>button.selected{border-color:var(--apk-blue);box-shadow:inset 0 0 0 1px var(--apk-blue);background:#edf7fd}.engine-profile-options>button:disabled{opacity:.55;cursor:not-allowed}.engine-profile-options>button>span:nth-child(2){min-width:0;display:grid;gap:3px}.engine-profile-options small{color:var(--apk-muted);line-height:1.35}.engine-profile-options i{visibility:hidden;color:var(--apk-blue);font-style:normal;font-weight:900}.engine-profile-options>button.selected i{visibility:visible}.engine-option-icon{width:30px;height:30px;border-radius:50%;display:grid!important;place-items:center;background:#eef2f5;color:#344852;font-weight:900}.engine-profile-options>button:last-child .engine-option-icon{background:#fff0d7;color:#8c5a00}.engine-capability-note{padding:8px 10px;border-radius:7px;background:#fff5e3;color:#805c1a;line-height:1.4}.engine-load-panel{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px 9px;padding:10px;border-radius:8px;background:#eaf5fc;color:#225b7c}.engine-load-panel>span:nth-child(2){min-width:0;display:grid;gap:2px}.engine-load-panel small{color:#587786}.engine-load-panel>b{font-variant-numeric:tabular-nums}.engine-load-panel progress{grid-column:1/-1;width:100%;height:7px;accent-color:var(--apk-blue)}.engine-load-spinner{width:21px;height:21px;border:3px solid #b9d8e9;border-top-color:var(--apk-blue);border-radius:50%;animation:engine-load-spin .75s linear infinite}@keyframes engine-load-spin{to{transform:rotate(360deg)}}.engine-confirm-backdrop{position:fixed;inset:0;z-index:80;padding:16px;background:#17232e99;display:grid;place-items:center}.engine-confirm-card{width:min(390px,100%);padding:22px;border-radius:14px;background:#fff;box-shadow:0 20px 60px #0005;text-align:center}.engine-confirm-icon{width:52px;height:52px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:#fff0d7;color:#8c5a00;font-size:26px!important}.engine-confirm-card h3{margin:6px 0;color:#253640;font-weight:800}.engine-confirm-card p{margin:8px 0 15px;color:#65747d;line-height:1.55}.engine-confirm-facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e2e7ea;border-radius:9px;overflow:hidden}.engine-confirm-facts>span{min-width:0;padding:10px 8px;display:grid;gap:3px}.engine-confirm-facts>span+span{border-left:1px solid #e2e7ea}.engine-confirm-facts b{color:#2c5268}.engine-confirm-facts small{color:var(--apk-muted)}.engine-confirm-actions{margin-top:16px;display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.engine-confirm-actions button{min-height:40px;border:1px solid #d6dde1;border-radius:7px;background:#fff;font-weight:750;cursor:pointer}@media(max-width:520px){.engine-profile-card{padding:9px}.engine-profile-options{grid-template-columns:1fr}.engine-profile-options>button{min-height:58px}.engine-confirm-backdrop{padding:10px}.engine-confirm-card{padding:18px}.engine-confirm-facts{grid-template-columns:1fr}.engine-confirm-facts>span+span{border-left:0;border-top:1px solid #e2e7ea}}.library-record-card.readonly{grid-template-columns:minmax(0,1fr) 44px}.library-record-actions{min-width:0;display:flex;flex-direction:column;align-items:stretch;border-left:1px solid #eef0f2;background:#f8fafb}.library-record-actions .library-built-in{min-height:25px;flex:0 0 auto;border:0;border-bottom:1px solid #eef0f2;padding:3px 1px;background:#f3f8fb}.library-more{min-height:42px;flex:1;border:0;background:transparent;color:#64747e;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}.library-more:hover,.library-more:focus-visible{background:#eaf3f8;color:var(--apk-blue)}.library-more svg{width:19px;height:19px}.library-record-open{touch-action:pan-y;-webkit-touch-callout:none}.library-record-meta{width:100%;display:grid;grid-template-columns:minmax(54px,max-content) minmax(0,1fr) max-content;align-items:center;column-gap:8px;row-gap:4px}.library-record-meta .library-meta-result{min-width:54px;max-width:74px;padding:3px 5px;text-align:center;font-variant-numeric:tabular-nums}.library-meta-date{min-width:0;text-align:center;font-variant-numeric:tabular-nums}.library-meta-moves{justify-self:end;overflow:visible!important}.library-meta-category{grid-column:1/-1;grid-row:2;min-width:0;text-align:left}.library-record-meta i{display:block}.library-sheet-backdrop{position:fixed;inset:0;z-index:360;padding:12px;background:#17232e8c;display:flex;align-items:flex-end;justify-content:center}.library-action-sheet,.library-rename-sheet{width:min(460px,100%);border-radius:16px 16px 10px 10px;background:var(--ui-surface);box-shadow:0 -12px 48px #13293842;overflow:hidden;animation:library-sheet-in .16s ease-out}.library-action-sheet>header{display:grid;gap:3px;padding:16px 17px 12px;border-bottom:1px solid #edf0f2}.library-action-sheet>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.library-action-sheet>header small{color:var(--apk-muted)}.library-action-sheet>button{width:100%;min-height:58px;padding:9px 17px;border:0;border-bottom:1px solid #edf0f2;background:var(--ui-surface);display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:11px;text-align:left;cursor:pointer}.library-action-sheet>button:hover{background:#f3f8fb}.library-action-sheet>button svg{width:23px;height:23px;color:var(--apk-blue)}.library-action-sheet>button>span{min-width:0;display:grid;gap:3px}.library-action-sheet>button>span strong{font-weight:800}.library-action-sheet>button>span small{color:var(--apk-muted)}.library-action-sheet>button.danger svg,.library-action-sheet>button.danger strong{color:#c43939}.library-action-sheet>.library-sheet-cancel{min-height:46px;display:block;text-align:center;border:0;color:#40545f;font-weight:750}.library-sheet-backdrop.rename{z-index:370}.library-rename-sheet{padding:17px;display:grid;gap:14px}.library-rename-sheet>header{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px}.library-rename-sheet>header svg{width:27px;height:27px;color:var(--apk-blue)}.library-rename-sheet>header span{min-width:0;display:grid;gap:3px}.library-rename-sheet>header strong{font-weight:850}.library-rename-sheet>header small,.library-rename-readonly{color:var(--apk-muted);line-height:1.4}.library-rename-sheet>label{display:grid;gap:6px;color:#65757f;font-weight:700}.library-rename-sheet input{width:100%;height:44px;border:1px solid #9bb8c9;border-radius:8px;padding:8px 11px;background:var(--ui-surface);outline:0}.library-rename-sheet input:focus{border-color:var(--apk-blue);box-shadow:0 0 0 3px #2f88bc1d}.library-rename-sheet>footer{display:grid;grid-template-columns:1fr 1.35fr;gap:9px}.library-rename-sheet>footer button{min-height:42px;border:1px solid #d6dde1;border-radius:8px;background:var(--ui-surface);font-weight:800;cursor:pointer}.library-rename-sheet>footer button.primary{border-color:var(--apk-blue);background:var(--apk-blue);color:#fff}.library-rename-sheet>footer button:disabled{opacity:.5;cursor:not-allowed}@keyframes library-sheet-in{0%{transform:translateY(18px);opacity:.65}to{transform:translateY(0);opacity:1}}@media(max-width:390px){.library-record-meta{grid-template-columns:minmax(52px,max-content) minmax(0,1fr) max-content;column-gap:5px}.library-record-open{padding-left:9px;padding-right:9px}.library-meta-date,.library-meta-moves{font-size:11px!important}}@media(min-width:761px){.library-sheet-backdrop{align-items:center}.library-action-sheet,.library-rename-sheet{border-radius:14px}}.manual-file-drop-overlay{position:fixed;inset:12px;z-index:300;pointer-events:none;border:3px dashed #2589d8;border-radius:16px;background:#eef8fff2;box-shadow:inset 0 0 0 1px #fff,0 12px 50px #183b5852;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#174b70;text-align:center}.manual-file-drop-overlay img{width:56px;height:56px;object-fit:contain}.manual-file-drop-overlay strong{font-size:18px!important}.manual-file-drop-overlay span{color:#668196}.cbl-import-backdrop{position:fixed;inset:0;z-index:310;padding:16px;background:#17232e99;display:grid;place-items:center}.cbl-import-card{width:min(390px,100%);padding:22px;border-radius:14px;background:#fff;box-shadow:0 20px 60px #0005;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px 10px;color:#304b5c}.cbl-import-card>.library-spinner{width:24px;height:24px;grid-row:1/3}.cbl-import-card>strong{font-weight:850}.cbl-import-card>span:not(.library-spinner){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#71818b}.cbl-import-card>progress{grid-column:1/-1;width:100%;height:8px;accent-color:var(--apk-blue)}.cbl-import-card>small{grid-column:1/-1;text-align:right;color:#71818b;font-variant-numeric:tabular-nums}.settings-section-link{min-height:60px;border:1px solid #e3e8eb!important;border-radius:9px;margin-bottom:8px;padding:9px 12px!important;background:var(--ui-surface)!important}.settings-section-link:hover{border-color:#9fc3d8!important;background:var(--ui-surface)!important}.settings-subscreen{width:100%;max-width:760px!important}.settings-subscreen-intro{display:grid;gap:4px;margin:0 0 12px;padding:11px 13px;border-radius:9px;background:#edf5f9;color:#294b5e}.settings-subscreen-intro strong{font-weight:800}.settings-subscreen-intro small{color:#677c88;line-height:1.45}.offline-pack-ledger{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border:1px solid #dce6eb;border-radius:7px;overflow:hidden;background:var(--ui-surface)}.offline-pack-ledger>span{min-width:0;padding:8px 9px;display:grid;gap:2px}.offline-pack-ledger>span+span{border-left:1px solid #e3e9ed}.offline-pack-ledger b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#385565;font-weight:750}.offline-pack-shared{grid-column:1/-1;display:block;padding-top:1px;color:#71828c!important}.settings-subscreen .environment{margin-top:8px;padding:11px 13px;justify-content:space-between;border:1px solid #e2e8ec;background:#f7f9fa}@media(max-width:520px){.settings-section-link{min-height:56px}.settings-subscreen{padding:9px!important}.settings-subscreen-intro{padding:9px 10px}.offline-pack-card{grid-template-columns:minmax(0,1fr)}.offline-pack-action{justify-content:flex-start}.offline-pack-ledger{grid-template-columns:1fr}.offline-pack-ledger>span+span{border-left:0;border-top:1px solid #e3e9ed}.settings-subscreen .environment{gap:8px;flex-wrap:wrap}}.pack-manager{display:grid;gap:10px}.pack-summary{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid #dce5ea;border-radius:10px;background:#f8fbfc}.pack-summary>span{display:grid;gap:3px;min-width:0;margin-right:auto}.pack-summary small,.pack-details small,.device-clear-card small{color:#788995}.pack-summary button,.pack-actions button,.device-clear-actions button{min-height:32px;padding:5px 10px;border:1px solid #cbd8df;border-radius:6px;background:#fff;cursor:pointer}.pack-list{display:grid;gap:7px}.pack-card{border:1px solid #e0e6ea;border-radius:9px;background:#fff;overflow:hidden}.pack-card-summary{width:100%;min-height:62px;display:flex;align-items:center;gap:10px;padding:9px 11px;border:0;background:#fff;text-align:left;cursor:pointer}.pack-card-summary>span:first-child{min-width:0;display:grid;gap:3px;margin-right:auto}.pack-card-summary small{color:#81909a}.pack-state{white-space:nowrap;padding:4px 7px;border-radius:999px;background:#eef2f4;color:#53646f;font-size:10px;font-weight:800}.pack-state.installed{background:#e8f7ee;color:#247846}.pack-state.downloading,.pack-state.verifying,.pack-state.repairing{background:#e9f3fb;color:#176fa7}.pack-state.error,.pack-state.incomplete{background:#fff0ec;color:#ad3f2e}.pack-card>progress{display:block;width:100%;height:4px;border:0;accent-color:#1688d4}.pack-details{padding:9px 11px;border-top:1px solid #edf0f2;background:#fafcfd;display:grid;gap:9px}.pack-job-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pack-job-grid>span{min-width:0;display:grid;gap:2px}.pack-job-grid b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.pack-actions,.device-clear-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.pack-actions .danger,.device-clear-actions .danger{color:#b33232;border-color:#e5bcbc}.pack-error,.pack-native-note{margin:0;padding:8px 10px;border-radius:7px;background:#fff3ef;color:#a34332;font-size:11px}.pack-native-note{background:#eef8f2;color:#367253}.device-clear-card{border:1px solid #e0e6ea;border-radius:9px;overflow:hidden}.device-clear-card>label{min-height:58px;padding:9px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf0f2}.device-clear-card>label>span{display:grid;gap:3px}.device-clear-actions{padding:10px 11px}@media(max-width:520px){.pack-job-grid{grid-template-columns:1fr 1fr}.pack-summary{align-items:flex-start}.pack-summary button{white-space:nowrap}}.pack-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.pack-card-main .pack-card-summary{min-width:0}.pack-card-summary>i+span{min-width:0;display:grid;gap:2px;margin-right:auto}.pack-card-summary>i+span small:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-state-icon{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:50%;background:#eef2f4;color:#657681;font-style:normal;font-size:16px;font-weight:900}.pack-state-icon.installed{background:#e5f6ec;color:#247846}.pack-state-icon.downloading,.pack-state-icon.verifying,.pack-state-icon.repairing{background:#e7f3fb;color:#1674ac}.pack-state-icon.error,.pack-state-icon.incomplete{background:#fff0ec;color:#b34232}.pack-quick-action{min-height:34px;margin-right:9px;padding:5px 9px;border:1px solid #98bfd7;border-radius:6px;background:#edf7fc;color:#176f9e;font-weight:750;cursor:pointer}.pack-quick-action:disabled{opacity:.5;cursor:wait}.pack-card-main+.pack-details,.pack-card>progress+.pack-details{border-top:1px solid #edf0f2}@media(max-width:520px){.pack-card-summary{padding:8px;gap:7px}.pack-card-summary .pack-state{padding:3px 5px}.pack-quick-action{margin-right:7px;padding:4px 7px}.pack-state-icon{width:25px;height:25px;flex-basis:25px}.pack-card-summary>i+span small:first-of-type{max-width:150px}}.board-stage.aichess-board,.editor-board-pad.aichess-board{overflow:hidden;background:#e7c47f}.board-stage.aichess-board>.board-skin,.editor-board-pad.aichess-board>.editor-board-skin{position:absolute;inset:0;width:100%;height:100%;max-width:none;transform:scale(1.105);transform-origin:50% 50%}.board-stage.aichess-board .piece img,.board-stage.shark-board .piece img,.board-stage.tkv-board .piece img{display:block}.license-gate{position:fixed;inset:0;z-index:1000;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:grid;place-items:center;overflow:hidden;background:var(--jade-backdrop);color:var(--ui-text);touch-action:none;overscroll-behavior:none}.license-orbit{position:absolute;border:1px solid #7ea3b53d;border-radius:50%;pointer-events:none}.license-orbit-one{width:280px;height:280px;left:-145px;top:-95px}.license-orbit-two{width:410px;height:410px;right:-240px;bottom:-210px}.license-card,.license-splash{position:relative;width:min(430px,100%);border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);box-shadow:0 22px 70px #23435526,0 2px 10px #23435512;backdrop-filter:blur(16px)}.license-card{padding:18px 20px 16px;display:grid;gap:18px}.license-brand{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px}.license-brand>img{width:44px;height:44px;border-radius:11px;box-shadow:0 5px 14px #132f4040}.license-brand>div{min-width:0;display:grid;gap:2px}.license-brand>div strong{font-weight:900;letter-spacing:.02em}.license-brand>div span{color:var(--ui-muted)}.license-languages{display:flex;padding:2px;border-radius:8px;background:#eef2f4}.license-languages button{width:30px;height:27px;border:0;border-radius:6px;background:transparent;color:var(--ui-muted);font-weight:750;cursor:pointer}.license-languages button.active{background:#fff;color:#176fa5;box-shadow:0 1px 5px #25455524}.license-heading{display:grid;justify-items:center;text-align:center;gap:6px;padding:3px 8px}.license-key-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6f2f8;color:#176fa5}.license-heading h1{margin:2px 0 0;font-weight:900}.license-heading p{margin:0;max-width:310px;color:var(--ui-muted);line-height:1.55}.license-form{display:grid;gap:8px}.license-form>label{font-weight:800;color:#3c505b}.license-input-wrap{height:46px;display:grid;grid-template-columns:minmax(0,1fr) 44px;border:1px solid #b9c9d1;border-radius:9px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}.license-input-wrap:focus-within{border-color:#2785b8;box-shadow:0 0 0 3px #2785b81b}.license-input-wrap.invalid{border-color:#c44c4c}.license-input-wrap input{min-width:0;border:0;outline:0;padding:10px 12px;background:transparent;letter-spacing:.055em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:12px!important}.license-input-wrap button{border:0;border-left:1px solid #e2e7ea;background:#f7f9fa;color:#527180;cursor:pointer}.license-error{min-height:17px;margin:1px 0;color:#bb3232;line-height:1.4}.license-submit{height:44px;margin-top:3px;border:0;border-radius:9px;background:var(--ui-accent);color:#fff;font-weight:850;box-shadow:0 2px #9f77332b;cursor:pointer}.license-submit:hover{filter:brightness(1.04)}.license-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.license-security{margin:0;padding:10px 11px;border-radius:8px;background:#f1f7f4;color:#587064;display:flex;align-items:flex-start;gap:7px;line-height:1.45}.license-security span{color:#238558;font-weight:900}.license-card>footer{margin:0;padding:0;text-align:center;color:#89949a}.license-splash{min-height:220px;padding:30px;display:grid;place-items:center;align-content:center;gap:14px}.license-splash img{width:68px;height:68px;border-radius:16px;box-shadow:0 8px 24px #244b6135}.license-splash p{margin:0;color:#62747d}.license-spinner,.license-button-spinner{display:inline-block;border-radius:50%;animation:license-spin .75s linear infinite}.license-spinner{width:25px;height:25px;border:3px solid #cfe0e8;border-top-color:#176fa5}.license-button-spinner{width:14px;height:14px;margin-right:7px;vertical-align:-2px;border:2px solid #ffffff66;border-top-color:#fff}@keyframes license-spin{to{transform:rotate(360deg)}}.license-renew-link{min-height:34px;border:0;background:transparent;color:#176fa5;font-weight:800;cursor:pointer}.renewal-overlay{position:fixed;inset:0;z-index:1010;padding:14px;display:grid;place-items:center;background:#15283499;backdrop-filter:blur(5px)}.renewal-card{width:min(440px,100%);max-height:min(680px,calc(100dvh - 28px));overflow:auto;padding:17px;border:1px solid #ffffffd9;border-radius:16px;background:#fff;box-shadow:0 24px 80px #102b3b52;display:grid;gap:14px}.renewal-card>header{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:10px;align-items:start}.renewal-card>header>div{display:grid;gap:4px}.renewal-card>header strong{font-weight:900}.renewal-card>header small{color:#6f7f87;line-height:1.45}.renewal-card>header>button{width:34px;height:34px;border:0;border-radius:8px;background:#eef3f5;color:#536b77;font-size:22px;cursor:pointer}.renewal-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.renewal-plans button{min-height:57px;padding:8px;border:1px solid #d5e0e5;border-radius:9px;background:#f8fafb;color:#334b57;display:grid;gap:2px;text-align:left;cursor:pointer}.renewal-plans button:last-child{grid-column:1/-1}.renewal-plans button.active{border-color:#1c82b7;background:#eaf5fb;box-shadow:0 0 0 2px #1c82b71a}.renewal-plans strong{font-weight:850}.renewal-plans span{color:#176fa5;font-weight:750}.renewal-payment{display:grid;justify-items:center;gap:10px;text-align:center}.renewal-payment>img{width:min(260px,72vw);aspect-ratio:1;object-fit:contain;border:1px solid #e0e7ea;border-radius:11px;background:#fff}.renewal-payment>strong{color:#176fa5}.renewal-payment.status-paid>strong{color:#188353}.renewal-payment.status-expired>strong,.renewal-payment.status-cancelled>strong{color:#b43a3a}.renewal-payment dl{width:100%;margin:0;border:1px solid #e1e8eb;border-radius:9px;overflow:hidden;text-align:left}.renewal-payment dl>div{padding:8px 10px;display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px}.renewal-payment dl>div+div{border-top:1px solid #e7ecef}.renewal-payment dt{color:#7a8990}.renewal-payment dd{margin:0;overflow-wrap:anywhere;font-weight:750}.renewal-payment dd button{float:right;border:0;background:transparent;color:#176fa5;font-weight:750;cursor:pointer}.renewal-qr-fallback{width:100%;padding:12px;border:1px solid #f0d7a3;border-radius:10px;background:#fff9ec;color:#75541c;display:grid;gap:8px;text-align:left}.renewal-qr-fallback a{justify-self:start;color:#176fa5;font-weight:850;text-decoration:none}.renewal-qr-fallback a:hover{text-decoration:underline}.payment-pending-note{margin:0;color:#75541c;font-size:var(--app-font-size);line-height:1.45;text-align:center}.payment-switch-guard{width:100%;display:grid;gap:10px;padding:12px;border:1px solid #efc46d;border-radius:12px;background:#fff8e7;color:#69470e;text-align:left}.payment-switch-guard>strong{font-size:var(--app-font-size);line-height:1.4}.payment-switch-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.payment-switch-actions button{min-height:38px;border:1px solid #d9b46b;border-radius:9px;background:#fff;color:#62430b;font:inherit;font-weight:800}.payment-switch-actions button.danger{border-color:#e9a19a;background:#fff1ef;color:#a22b20}.payment-switch-actions button:disabled{opacity:.55}@media(max-width:480px){.license-gate{place-items:stretch center;padding-left:12px;padding-right:12px}.license-card{align-self:center;padding:16px 15px 14px;border-radius:15px;gap:15px}.license-brand{grid-template-columns:40px minmax(0,1fr) auto}.license-brand>img{width:40px;height:40px}.license-languages button{width:28px}.license-heading{padding-left:2px;padding-right:2px}.license-splash{align-self:center}.license-input-wrap,.license-submit{height:46px}}@media(max-height:620px){.license-card{gap:10px;padding-top:12px;padding-bottom:11px}.license-heading{gap:3px}.license-key-mark{width:28px;height:28px}.license-security{padding-top:7px;padding-bottom:7px}.license-card>footer{display:none}}.license-change-link{justify-self:end;border:0;background:transparent;color:#6b7f89;font-weight:750;cursor:pointer}.dealer-ref-label{margin-top:2px;font-weight:800;color:#3c505b}.dealer-ref-input{height:40px;border:1px solid #cbd9df;border-radius:9px;background:#fff;padding:8px 11px;color:#223740;font-weight:800;text-transform:uppercase;outline:0}.dealer-ref-input:focus{border-color:#2785b8;box-shadow:0 0 0 3px #2785b81b}.dealer-ref-note{margin:0;color:#176fa5;font-weight:750}.dealer-ref-note.invalid,.renewal-quote small.invalid{color:#b43a3a}.renewal-quote{padding:10px 11px;border:1px solid #dce8ed;border-radius:9px;background:#f7fafb;display:grid;gap:3px}.renewal-quote span{color:#123847;font-weight:900}.renewal-quote small{color:#176fa5;font-weight:750}.license-commerce-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.license-commerce-actions button{min-height:36px;border:1px solid #cbd9df;border-radius:8px;background:#f6f9fa;color:#176fa5;font-weight:800;cursor:pointer}.issued-license-key{width:100%;padding:10px;border:1px solid #b9dfcc;border-radius:9px;background:#f0faf5;display:grid;gap:6px;text-align:left}.issued-license-key>span{color:#60756a}.issued-license-key>strong{overflow-wrap:anywhere;color:#176f4f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}.issued-license-key>button{justify-self:end;border:0;background:transparent;color:#176fa5;font-weight:800;cursor:pointer}.tab-session-gate .license-card{max-width:390px;text-align:center}.tab-session-gate .license-brand{grid-template-columns:44px minmax(0,1fr);text-align:left}.tab-session-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#e9f2f7;color:#176fa5;font-size:21px}.account-panel{display:grid;gap:12px}.account-card{display:grid;gap:12px;padding:13px;border:1px solid var(--panel-border,#d8e2e7);border-radius:12px;background:#fff}.account-key-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.account-key-row>.account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-key-row>.account-actions button{min-height:44px;white-space:normal}.key-copy-status{min-height:1.4em;color:#60727b;font-size:12px}.account-key-row>span{display:grid;gap:4px;min-width:0}.account-key-row strong{font-weight:900;color:#263d49}.account-key-row small{overflow-wrap:anywhere;color:#60727b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}.account-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.account-details>div{display:grid;gap:3px;padding:9px;border-radius:9px;background:#f6f9fa}.account-details dt{color:#718089;font-weight:800}.account-details dd{margin:0;overflow-wrap:anywhere;color:#243b46;font-weight:850}.account-commerce{background:#fafdff}.account-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.account-main-actions{justify-content:stretch}.account-main-actions .setting-action{flex:1 1 120px}.setting-action.danger{border-color:#f0c8c8!important;color:#b53838!important;background:#fff5f5!important}.account-plans{grid-template-columns:repeat(3,minmax(0,1fr))}.account-plans button:last-child{grid-column:auto}@media(max-width:520px){.account-key-row{display:grid}.account-actions{justify-content:flex-start}.account-details{grid-template-columns:1fr}.account-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(orientation:portrait){.editor-board-pad{width:min(100%,calc((100dvh - 361px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*10/11),620px)}}@media(orientation:landscape)and (max-height:600px){.editor-board-pad{width:min(100%,calc((100dvh - 188px)*10/11))}.editor-recognition-feedback{height:34px;flex-basis:34px}}.pwa-install-prompt{position:fixed;z-index:185;left:50%;bottom:max(12px,env(safe-area-inset-bottom));width:min(430px,calc(100% - 20px));min-height:78px;transform:translate(-50%);display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #c8d7df;border-radius:14px;background:#fffffff5;box-shadow:0 12px 38px #172d3b38;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.pwa-install-prompt>img{width:46px;height:46px;border-radius:11px;box-shadow:0 3px 10px #203e5128}.pwa-install-copy{min-width:0;display:grid;gap:3px}.pwa-install-copy strong{color:#263b47}.pwa-install-copy span{color:#667780;line-height:1.35}.pwa-install-actions{display:flex;align-items:center;gap:5px}.pwa-install-actions button{height:36px;padding:0 10px;border:0;border-radius:8px;white-space:nowrap;cursor:pointer}.pwa-install-later{background:transparent;color:#69777e}.pwa-install-primary{background:var(--apk-blue);color:#fff;font-weight:700;box-shadow:0 3px 9px #246f9940}.pwa-install-primary:disabled{opacity:.65;cursor:wait}.install-prompt-enter-active,.install-prompt-leave-active{transition:opacity .2s ease,transform .24s ease}.install-prompt-enter-from,.install-prompt-leave-to{opacity:0;transform:translate(-50%,14px)}@media(max-width:520px){.pwa-install-prompt{grid-template-columns:42px minmax(0,1fr);gap:8px;padding:9px 10px}.pwa-install-prompt>img{width:40px;height:40px;border-radius:9px}.pwa-install-actions{grid-column:1/-1;justify-content:flex-end;margin-top:1px}.pwa-install-actions button{height:34px}.pwa-install-copy span{font-size:10px}}@media(prefers-reduced-motion:reduce){.install-prompt-enter-active,.install-prompt-leave-active{transition:opacity .01ms}}:root{color-scheme:light;--ui-surface: #fff;--ui-subtle: #f5f7f8;--ui-border: #dfe4e8;--ui-text: #303942;--ui-muted: #68737d;--ui-accent: #28664f;--ui-accent-soft: #edf5f0;--jade-backdrop: var(--ui-surface)}@font-face{font-family:AIChess UI;src:url(/assets/apk-ui/font/AIChessUI.woff2) format("woff2");font-display:swap}body{font-family:AIChess UI,Inter,system-ui,sans-serif}.board-stage.board-locked .piece,.board-stage.board-locked .square-hit{cursor:default}.board-stage.board-locked:after{content:"";position:absolute;inset:0;z-index:9;border-radius:inherit;background:#12161a12;pointer-events:none}.pv-card:disabled,.cloud-table button:disabled{cursor:default;opacity:.62}.pad-engine-page.refreshing .engine-metrics{background:linear-gradient(90deg,var(--apk-surface-2),#f7fafb,var(--apk-surface-2));background-size:200% 100%;animation:engine-refresh 1.2s linear infinite}.pv-card.stale:disabled{opacity:.7;cursor:progress}.thinking-detail-head{flex:0 0 31px;min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 9px;border-bottom:1px solid var(--apk-border);color:var(--apk-muted);background:var(--apk-surface);font-size:10px}.thinking-detail-head strong{display:flex;align-items:center;gap:6px;color:var(--apk-text);font-size:11px}.thinking-detail-head i{width:7px;height:7px;border-radius:50%;background:#aeb5ba}.thinking-detail-head i.active{background:#1da965;box-shadow:0 0 0 3px #1da96524;animation:thinking-pulse 1.25s ease-in-out infinite}.thinking-detail-list{min-height:150px}.thinking-depth-row .pv-summary{display:grid;grid-template-columns:38px 58px 1fr;gap:7px;margin-bottom:3px}.thinking-depth-row .pv-rank{width:34px;padding:2px 4px;border-radius:4px;color:#fff;background:#356b91;text-align:center;font-variant-numeric:tabular-nums}.thinking-depth-row .pv-score,.thinking-depth-row .pv-time{font-variant-numeric:tabular-nums}.move-ledger-result{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:7px 12px;border-top:1px solid #c6d0d6;color:#46545d;background:#eef2f4;font-size:11px;font-weight:700}.move-ledger-result strong{color:#18242b;font:800 14px/1 ui-monospace,monospace}.game-result-effect-layer{position:absolute;inset:0;z-index:12;display:grid;place-items:center;pointer-events:none}.game-result-effect{position:relative;width:clamp(184px,31vw,290px);display:grid;place-items:center;filter:drop-shadow(0 10px 18px rgb(0 0 0 / 30%));animation:aichess-result-pop .96s cubic-bezier(.18,.78,.2,1) both}.game-result-effect img{position:relative;z-index:1;display:block;width:100%;height:auto}.result-effect-shadow{position:absolute;z-index:0;left:14%;right:14%;bottom:4%;height:14%;border-radius:50%;background:#00000057;filter:blur(7px);animation:aichess-result-shadow .96s ease-out both}@keyframes aichess-result-pop{0%{opacity:0;transform:scale(.48) rotate(-6deg)}18%{opacity:1;transform:scale(1.06) rotate(1deg)}25%,78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.94)}}@keyframes aichess-result-shadow{0%,to{opacity:0;transform:scale(.55)}22%,76%{opacity:.72;transform:scale(1)}}@keyframes engine-refresh{to{background-position:-200% 0}}@keyframes thinking-pulse{50%{opacity:.45;transform:scale(.82)}}@media(prefers-reduced-motion:reduce){.game-result-effect{animation:result-effect-fade .96s ease both}.result-effect-shadow,.pad-engine-page.refreshing .engine-metrics,.thinking-detail-head i.active{animation:none}}@keyframes result-effect-fade{0%,to{opacity:0}15%,72%{opacity:1}}:root{--match-jade:#28664f;--match-paper:var(--ui-surface);--match-ink:var(--ui-text);--match-muted:var(--ui-muted);--match-line:var(--ui-border)}.review-hint-square{position:absolute;width:9%;aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid #c39741;border-radius:50%;box-shadow:0 0 0 4px #ffe4a780;z-index:9;pointer-events:none}.online-play,.app-shell.computer-match-shell{background:var(--jade-backdrop);color:var(--match-ink)}.app-shell.computer-match-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.online-topbar,.computer-match-topbar{min-height:58px;flex:0 0 58px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--ui-border);color:var(--ui-text);background:var(--ui-surface);box-sizing:border-box}.online-topbar>div,.computer-match-topbar>div{display:grid;gap:3px;min-width:0}.online-topbar strong,.computer-match-topbar strong{font-size:16px}.online-topbar span,.computer-match-topbar span{font-size:11px;color:var(--ui-muted)}.online-topbar>button,.computer-match-topbar>button{width:36px;height:36px;border:1px solid var(--ui-border);border-radius:50%;background:#ffffff10;color:var(--ui-text);font-size:28px;line-height:1;cursor:pointer}.online-play .online-game-screen,.app-shell .workspace.computer-game-workspace{width:100%;max-width:1080px;flex:1 1 0;min-height:0;height:auto;margin:0 auto;padding:14px 20px;display:grid;grid-template-columns:minmax(0,620px) minmax(260px,320px);grid-template-rows:62px minmax(0,1fr) 62px;align-items:stretch;justify-content:center;gap:10px 22px;overflow:hidden;box-sizing:border-box;position:relative}.online-game-screen>.match-seat-opponent,.computer-game-workspace>.match-seat-opponent{grid-column:1;grid-row:1}.online-game-screen>.match-seat-own,.computer-game-workspace>.match-seat-own{grid-column:1;grid-row:3}.online-board-wrap,.computer-game-workspace>.board-column{position:relative;grid-column:1;grid-row:2;min-height:0;min-width:0;height:100%;width:100%;display:grid;place-items:center;container-type:size}.online-board-wrap .board-stage,.computer-game-workspace .board-stage{width:min(100cqw,calc(100cqh * 696 / 787));height:auto;max-width:100%;max-height:100%;aspect-ratio:696/787}.computer-game-workspace .board-control-deck{position:absolute;bottom:0;left:0;right:0;z-index:12;background:var(--match-paper)}.online-game-panel,.computer-match-panel{grid-column:2;grid-row:1/4;min-height:0;min-width:0;align-self:stretch;display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--match-paper);border:1px solid var(--ui-border);border-radius:12px;overflow:auto;color:var(--match-ink);box-shadow:0 8px 24px #123b2d22;box-sizing:border-box}.computer-match-kicker{color:var(--match-muted);font-size:11px}.computer-turn-card{padding:10px;background:var(--ui-subtle);border-radius:8px}.computer-turn-card>div{display:grid;gap:4px}.computer-turn-card strong{font-size:14px}.computer-turn-card small,.computer-match-panel>p{font-size:11px;color:var(--match-muted)}.computer-match-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.computer-match-actions button{min-height:42px;padding:8px;border:1px solid var(--match-line);border-radius:7px;background:var(--ui-surface);color:var(--match-ink);cursor:pointer}.computer-match-actions button:disabled{opacity:.45;cursor:not-allowed}.computer-bot-chat{min-height:0;flex:1;display:flex;flex-direction:column}.computer-bot-chat>.bot-chat{flex:1;min-height:0}.computer-match-countdown{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:15;padding:20px;border-radius:12px;background:var(--match-paper);display:grid;justify-items:center;color:var(--match-ink);box-shadow:0 12px 38px #102a2b55;pointer-events:none}.computer-match-countdown strong{font-size:48px}.computer-match-countdown small{font-size:11px}.computer-chat-toggle{display:none}@media(max-width:900px)and (orientation:portrait){.online-play .online-game-screen,.app-shell .workspace.computer-game-workspace{max-width:680px;padding:4px 6px;grid-template-columns:minmax(0,1fr);grid-template-rows:52px minmax(0,1fr) 52px 52px;gap:4px}:is(.online-game-screen,.computer-game-workspace)>.match-seat-opponent{grid-column:1/-1}:is(.online-game-screen,.computer-game-workspace)>.online-board-wrap,.computer-game-workspace>.board-column{grid-column:1/-1}:is(.online-game-screen,.computer-game-workspace)>.match-seat-own{grid-column:1/-1;grid-row:4;padding:2px 8px}.online-game-panel,.computer-match-panel{grid-column:1/-1;grid-row:3;min-height:0;max-height:none;padding:4px;border-radius:0;border:0;box-shadow:none;gap:4px;overflow:visible}.online-game-screen:not(.pregame)>.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;align-items:stretch}.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open) .online-room-tabs{grid-column:1/3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open) .online-room-tabs>button{min-width:0;min-height:44px;padding:2px;font-size:13px;display:flex;flex-direction:column;justify-content:center;gap:3px;border:1px solid var(--ui-border);border-radius:6px}.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open) .online-room-tabs span{font-size:10px;line-height:1.2}.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open) .online-room-tools{display:none}.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open) .online-match-actions{grid-column:3/5;gap:4px}.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open) .online-match-actions button{min-height:44px;min-width:0;padding:2px;font-size:10px;line-height:1.3}.online-game-panel:not(.chat-sheet-open):not(.moves-sheet-open) :is(.online-inline-error,.online-draw-offer){grid-column:1/-1;margin:0;font-size:10px}.computer-match-panel>.computer-match-kicker,.computer-match-panel>.computer-turn-card,.computer-match-panel>p{display:none}.computer-match-panel:not(.chat-sheet-open){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center}.computer-match-panel:not(.chat-sheet-open) .computer-match-actions{grid-column:2/4}.computer-match-actions button{min-height:44px;padding:3px;font-size:10px}.computer-chat-toggle{display:block;border:1px solid var(--ui-border);border-radius:6px;background:transparent;color:var(--match-ink);min-height:44px;font-size:10px;cursor:pointer}.computer-match-panel:not(.chat-sheet-open) .computer-bot-chat{display:none}.computer-match-panel.chat-sheet-open,.online-game-panel.chat-sheet-open,.online-game-panel.moves-sheet-open{position:absolute;left:6px;right:6px;bottom:4px;z-index:25;grid-column:1/-1;grid-row:auto;height:min(55dvh,430px);max-height:min(55dvh,430px);padding:12px;border:1px solid var(--ui-border);border-radius:12px;box-shadow:0 -10px 34px #15372b55;overflow:auto}.computer-match-panel.chat-sheet-open .computer-bot-chat{display:flex}.online-topbar,.computer-match-topbar{padding:6px 10px}.computer-match-topbar>div>span{display:none}.online-game-screen.pregame .online-game-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(330px,calc(100% - 24px));height:auto;max-height:90%;padding:16px;z-index:24}}@media(orientation:landscape)and (max-height:500px){.online-topbar,.computer-match-topbar{min-height:42px;flex-basis:42px;padding:3px 10px}.online-play .online-game-screen,.app-shell .workspace.computer-game-workspace{max-width:100%;grid-template-columns:minmax(0,1fr) minmax(230px,.7fr);grid-template-rows:52px minmax(0,1fr) 52px;padding:4px 10px;gap:4px 12px}.online-game-panel,.computer-match-panel,.computer-match-panel.chat-sheet-open,.online-game-panel.chat-sheet-open,.online-game-panel.moves-sheet-open{position:static;grid-column:2;grid-row:1/4;height:auto;max-height:none;padding:10px;transform:none;overflow:auto}.computer-match-panel:not(.chat-sheet-open) .computer-bot-chat{display:flex}.computer-chat-toggle{display:none}}.online-match-chat,.bot-chat{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden;color:var(--ui-text);background:var(--ui-surface)}.bot-chat>header{display:flex;align-items:center;gap:8px;min-height:36px;border-bottom:1px solid var(--ui-border);padding-bottom:8px}.bot-chat>header strong{font-size:13px}.bot-chat>header small{font-size:10px;color:var(--ui-muted);margin-left:auto}.online-chat-log,.bot-chat-log{flex:1;min-height:60px;overflow:auto;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;padding:4px 0}.online-chat-log p,.bot-chat-log p{margin:0;display:flex;font-size:13px;line-height:1.6}.online-chat-log p.own,.bot-chat-log p.player{justify-content:flex-end}.online-chat-log p>span,.bot-chat-log p>span{max-width:92%;overflow-wrap:anywhere;padding:10px 12px;background:var(--ui-subtle);color:var(--ui-text);border-radius:0 10px 10px}.online-chat-log p.own>span,.bot-chat-log p.player>span{background:var(--ui-accent-soft);border-radius:10px 0 10px 10px}.online-chat-log small{display:block;font-size:10px;color:var(--ui-muted)}.online-chat-empty,.chat-muted-note,.bot-chat-error{font-size:12px;color:var(--ui-muted)}.bot-chat-error{color:#a1392f;margin:0}.online-chat-form,.bot-chat form{display:grid;grid-template-columns:30px minmax(0,1fr) 30px 32px;gap:4px;margin-top:auto;flex-shrink:0}.bot-chat form{grid-template-columns:30px 30px minmax(0,1fr) 32px}.online-chat-form input,.bot-chat input{min-width:0;height:38px;border:1px solid var(--ui-border);border-radius:7px;padding:7px;background:var(--ui-surface);font-size:12px;color:var(--ui-text);box-sizing:border-box}.online-chat-form button,.bot-chat form button{min-height:38px;border:1px solid var(--ui-border);border-radius:7px;background:var(--ui-surface);color:var(--ui-text);cursor:pointer}.online-chat-form .online-chat-send,.bot-chat form .send{background:#28664f;color:#fff}.online-chat-picker,.bot-chat-picker{max-height:160px;flex-shrink:0;overflow:auto;display:grid;gap:4px;padding:6px;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:8px}.online-chat-emotion-picker,.bot-chat-picker.emotions{grid-template-columns:repeat(6,minmax(0,1fr))}.online-chat-quick-picker,.bot-chat-picker.quick{grid-template-columns:1fr 1fr}.online-chat-picker button,.bot-chat-picker button{border:0;border-radius:5px;background:var(--ui-subtle);min-width:0;min-height:34px;padding:4px;font-size:11px;color:var(--ui-text);cursor:pointer}.bot-chat button:disabled{opacity:.45;cursor:not-allowed}.bot-chat button:focus-visible{outline:2px solid #28664f}.bot-typing span{display:flex;gap:5px}.bot-typing i{width:5px;height:5px;border-radius:50%;background:#9a8868;animation:match-typing 1s ease-in-out infinite}.bot-typing i:nth-child(2){animation-delay:.15s}.bot-typing i:nth-child(3){animation-delay:.3s}@keyframes match-typing{50%{opacity:.25}}@media(max-width:900px){.online-match-chat.collapsed{display:none}.online-game-panel.chat-sheet-open .online-match-chat{display:flex}.online-chat-log{min-height:0}.online-chat-picker,.bot-chat-picker{max-height:130px}}@media(orientation:landscape)and (max-height:500px){.online-match-chat.collapsed{display:flex}}@media(prefers-reduced-motion:reduce){.bot-typing i{animation:none}}
