.opening-article{padding:30px 36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);line-height:1.85;margin-bottom:50px}.opening-article-heading{display:flex;gap:24px;align-items:start;justify-content:space-between;margin-bottom:24px}.opening-article h2{font-size:30px;line-height:1.25;max-width:760px}.opening-article h3{font-size:21px;margin:25px 0 10px}.opening-article p{max-width:85ch;color:var(--muted);margin:12px 0}.opening-article .opening-definition{font:700 18px/1.8 Lato,Arial,sans-serif;color:var(--text);padding:14px 18px;background:var(--surface-raised);border-left:3px solid var(--accent)}.opening-article-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}#opening-lower-panel{scroll-margin-top:24px}#opening-article-title:focus,#opening-catalog-title:focus{outline:2px solid var(--accent);outline-offset:6px}.lesson-back{margin:0 0 24px;min-height:36px}.article-body>.lesson-back:last-of-type{margin-top:26px}.academy-page{padding-bottom:60px}.academy-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}.academy-layout>section{min-width:0}.academy-panel{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--text)}.academy-panel h2{font-size:28px;line-height:1.3;margin:0 0 18px}.academy-panel h3{font-size:21px;line-height:1.5;margin:20px 0 14px}.academy-panel p{font-size:16px;line-height:1.8;margin:12px 0;color:var(--muted)}.academy-help{font-size:14px;line-height:1.7;color:var(--muted);margin-top:18px}.academy-actions,.academy-board-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.academy-board-toolbar{margin-top:0}.academy-field{display:grid;gap:8px;font-weight:700;font-size:14px;margin:18px 0;color:var(--text)}.academy-field :is(input,textarea,select){width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:5px;background:var(--surface-raised);color:var(--text);padding:11px 12px;font:400 16px/1.5 Lato,Arial,sans-serif}.academy-field textarea{resize:vertical;min-height:94px;overflow-wrap:anywhere}.academy-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.academy-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.academy-tabs button{padding:12px 20px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-weight:700;min-height:44px}.academy-tabs button[aria-pressed=true]{background:var(--accent);border-color:var(--accent-ink);color:#fff}.practice-frame{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 22px;padding:8px 8px 0 0;border:5px solid #63452d;background:#614933;box-shadow:0 10px 28px #0003;border-radius:3px;max-width:560px;width:100%;margin:auto;overflow:hidden}.academy-chess-grid{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1;min-width:0;min-height:0}.practice-ranks{grid-column:1;grid-row:1;display:grid;grid-template-rows:repeat(8,minmax(0,1fr))}.practice-files{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(8,minmax(0,1fr))}.practice-ranks span,.practice-files span{display:grid;place-items:center;color:#f0dfc4;font:400 12px/1 Lato,Arial,sans-serif}.practice-square{position:relative;display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;padding:0;border:0;border-radius:0;background:#d3cfc4;color:#151515;touch-action:manipulation}.practice-square.dark{background:#343432}.practice-square .piece-art{width:94%;height:94%;position:absolute;inset:3%;pointer-events:none}.practice-square:hover{box-shadow:inset 0 0 0 3px #468dcb}.practice-square:focus-visible{outline:3px solid #73b8ef;outline-offset:-3px;z-index:1}.practice-square.selected{box-shadow:inset 0 0 0 4px #398cd0}.practice-square.marked{box-shadow:inset 0 0 0 3px #c65b58}.editor-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:20px 0}.editor-palette button{position:relative;display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;background:var(--surface-raised);color:var(--text);min-height:48px;padding:4px}.editor-palette .piece-art{width:40px;height:40px;max-width:100%}.editor-palette button[aria-pressed=true]{border-color:#80b7e6;box-shadow:inset 0 0 0 2px #4a8fc4;background:#235276}.editor-palette .editor-eraser{grid-column:1/-1;font-size:14px;min-height:38px}.editor-advanced{padding:12px 0;border-block:1px solid var(--line)}.editor-advanced summary{font-size:15px;font-weight:700;min-height:32px}.editor-advanced fieldset{border:0;padding:12px 0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor-advanced legend{font-size:14px;padding:12px 0 0}.editor-advanced fieldset label{display:flex;gap:8px;align-items:center;font-size:14px}.editor-advanced input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.editor-validation{padding:12px 14px;border-left:3px solid #7197b4;background:var(--surface-raised);min-height:55px}.editor-validation[data-valid=true]{border-color:#4a8ec5}.academy-panel .btn:disabled{opacity:.4;cursor:not-allowed}.academy-panel>.practice-frame{max-width:300px;margin-top:20px}.coordinate-target{font:700 72px/1.2 Lato,Arial,sans-serif!important;color:var(--accent-ink)!important;margin:24px 0!important}.history-quiz{max-width:850px;margin:auto}.history-quiz .quiz-answers{grid-template-columns:1fr 1fr}.assessment-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.assessment-heading p{font-size:14px;color:var(--muted)}.assessment-panel{max-width:900px;margin:auto}.assessment-panel>.btn{margin:8px 10px 8px 0}.assessment-task-list{padding:0;list-style:none;margin:22px 0}.assessment-task-list li{display:flex;gap:18px;justify-content:space-between;padding:16px 0;border-block-end:1px solid var(--line);font-size:16px}.assessment-task-list span{color:var(--muted);font-size:13px}.assessment-result{font:700 80px/1.2 Lato,Arial,sans-serif!important;color:var(--accent-ink)!important}.assessment-result span{font-size:24px}.assessment-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.assessment-breakdown p{padding:16px;background:var(--surface-raised);font-size:14px}.assessment-breakdown strong{display:block;color:var(--text);font-size:24px;margin-top:8px}.custom-position-note,.setup-position-error{padding:14px 18px;margin:14px 0;color:var(--game-text);font-size:14px;background:var(--game-surface);border:1px solid var(--game-line);border-radius:5px}.custom-position-note a{text-decoration:underline}.setup-position-error{border-color:#bc746d}.opening-effects-settings{font-size:12px;color:var(--game-muted);border-top:1px solid var(--game-line);padding-top:9px;margin:10px 0}.opening-effects-settings summary{min-height:28px;cursor:pointer}.opening-effects-settings label{display:flex;gap:10px;line-height:1.5;margin:8px 0}.opening-effects-settings input{accent-color:var(--game-accent);min-width:17px;min-height:17px}.opening-effects-settings p{font-size:11px;line-height:1.5;margin:8px 0}.opening-celebration{position:fixed;z-index:150;left:50%;top:18%;transform:translate(-50%);width:250px;padding:16px 22px 20px;text-align:center;pointer-events:none;background:#0b263bee;border:1px solid #6397c1;border-radius:12px;box-shadow:0 14px 80px #0007;color:#edf5ff;animation:opening-arrival var(--effect-duration) ease both}.opening-celebration-art{height:120px;display:grid;place-items:center}.opening-celebration-art svg{height:100%;max-width:100%;filter:drop-shadow(0 6px 8px #0004)}.opening-celebration-art .piece-art{width:100px}.opening-celebration strong{font-size:18px;line-height:1.4}.opening-celebration[data-effect=hyperaccelerated-dragon]{animation-timing-function:cubic-bezier(.1,.7,.1,1)}@keyframes opening-arrival{0%{opacity:0;transform:translate(-70%,15px) scale(.8)}20%,75%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-30%,-15px) scale(.95)}}@media(prefers-reduced-motion:reduce){.opening-celebration{animation:none}}@media(max-width:760px){.academy-layout{grid-template-columns:1fr;gap:24px}.academy-panel{padding:20px}.academy-panel h2{font-size:25px}.academy-tabs{gap:8px}.academy-tabs button{padding:11px 13px;font-size:14px}.academy-form-row{grid-template-columns:1fr;gap:0}.academy-board-toolbar .btn{font-size:12px;padding:10px 12px}.opening-article{padding:22px 20px}.opening-article-heading{display:block}.opening-article-heading>.btn{margin-top:16px}.opening-article h2{font-size:26px}.opening-article h3{font-size:20px}.opening-article .opening-definition{font-size:16px;padding:12px}.assessment-heading{display:block}.assessment-heading .btn{margin-top:12px}.assessment-breakdown{grid-template-columns:1fr;gap:7px}.assessment-breakdown p{display:flex;align-items:center;justify-content:space-between;margin:0}.assessment-breakdown strong{margin:0}.assessment-task-list li{display:block}.assessment-task-list span{display:block;margin-top:7px}.coordinate-target{font-size:60px!important}.editor-palette{gap:5px}.academy-actions .btn{font-size:13px}.opening-celebration{width:210px;top:22%}.opening-celebration-art{height:95px}}@media(max-width:760px){.coordinate-exercise>.academy-panel{grid-row:1}.coordinate-exercise{scroll-margin-top:8px}.coordinate-exercise.is-running{gap:12px}.coordinate-exercise.is-running>.academy-panel{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;padding:10px 16px;box-shadow:0 6px 20px #0004}.coordinate-exercise.is-running>.academy-panel>:is(h2,p:first-of-type,label){display:none}.coordinate-exercise.is-running .coordinate-target{grid-row:1/4;grid-column:1;font-size:48px!important;margin:0!important;align-self:center}.coordinate-exercise.is-running #coordinate-clock,.coordinate-exercise.is-running #coordinate-clock+p{grid-column:2;margin:0;font-size:12px}.coordinate-exercise.is-running [data-coordinates-start]{grid-column:2;font-size:12px;padding:6px 8px;min-height:32px}.coordinate-exercise.is-running #exercise-feedback{display:none}}.page-header h1,.opening-article h2,.opening-plans h2{overflow-wrap:anywhere;hyphens:auto}.opening-catalog-card,.opening-catalog-card>div{min-width:0;overflow-wrap:anywhere;hyphens:auto}.chess-app{--game-bg:#0c1115;--game-surface:#151c23;--game-raised:#1d262f;--game-text:#eef1f5;--game-muted:#a6b0bd;--game-line:#343e49;--game-accent:#3568ad;--game-radius:4px;width:100%;max-width:1380px;margin:0 auto;padding:36px 24px 64px;color:var(--game-text);font-family:Lato,Arial,sans-serif;color-scheme:dark}.chess-app *,.chess-app *:before,.chess-app *:after{box-sizing:border-box}.chess-app [hidden]{display:none!important}.chess-app button,.chess-app input,.chess-app select{font-family:inherit}.chess-app button{cursor:pointer}.chess-app button:disabled{opacity:.43;cursor:not-allowed}.chess-app :is(button,select,input,a,summary):focus-visible{outline:3px solid #9dc4f5;outline-offset:3px}.chess-app .material-symbols-rounded{font-family:Material Symbols Rounded,Material Symbols Outlined;font-weight:400;font-style:normal;font-size:21px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;flex-shrink:0}.chess-app.arena-game{max-width:none;padding:0}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.chess-app .game-heading h2{font:700 clamp(36px,4.6vw,64px)/.98 var(--font-display,"Sora",sans-serif);letter-spacing:-.8px;margin:8px 0 14px;text-transform:uppercase}.game-heading p:not(.game-eyebrow){color:var(--game-muted);margin:0;font-size:15px}.game-eyebrow{display:block;font-size:9px;line-height:1.5;letter-spacing:1.6px;font-weight:800;color:var(--game-muted);margin:0 0 10px;text-transform:uppercase}.game-guide-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:12px;color:var(--game-text);text-decoration:none;padding:11px 14px;border:1px solid var(--game-line);border-radius:var(--game-radius);white-space:nowrap}.game-guide-link:hover{background:var(--game-raised)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:22px;align-items:start}.game-board-column{min-width:0}.player-strip{display:flex;align-items:center;justify-content:space-between;min-height:55px;gap:12px;padding:7px 12px;background:var(--game-surface);border:1px solid var(--game-line)}.player-strip[data-player=top]{border-bottom:0;border-radius:4px 4px 0 0}.player-strip[data-player=bottom]{border-top:0;border-radius:0 0 4px 4px}.player-identity{display:flex;align-items:center;gap:10px;min-width:0}.player-avatar{width:32px;height:32px;border:1px solid #4b596a;border-radius:3px;display:grid;place-items:center;background:#26313d;color:#dbe2ec;flex-shrink:0}.player-avatar .material-symbols-rounded{font-size:21px}.human-avatar{background:#242c34;border-color:#616d7a;color:#fff}.player-identity strong{display:block;font-size:12px;line-height:1.5;font-weight:800}.player-identity div>span{display:block;font-size:10px;color:var(--game-muted);line-height:1.4}.chess-clock{font:600 25px/1 var(--font-display,"Sora",sans-serif);font-variant-numeric:tabular-nums;letter-spacing:.5px;min-width:68px;text-align:center;border:1px solid var(--game-line);border-radius:3px;padding:7px 10px;background:var(--game-bg);color:var(--game-muted)}.clock-active{background:#29313a;color:#f5f6f8;border-color:#566373}.clock-urgent{background:#942935;color:#fff;border-color:#e06973}.board-frame{padding:9px 9px 0;border:1px solid #3d4856;background:#222c38;max-width:740px;margin-inline:auto}.board-stage{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#18222d}.board-frame.has-3d{padding:0;max-width:none;border-color:var(--game-line);background:#10161c}.board-stage.is-3d{aspect-ratio:1.42}.chess-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:100%;height:100%;isolation:isolate}.chess-square{border:0;padding:0;display:grid;place-items:center;position:relative;aspect-ratio:1;color:inherit;touch-action:manipulation;border-radius:0}.square-light{background:#d3cfc4}.square-dark{background:#343432}.chess-square:hover{box-shadow:inset 0 0 0 3px #10151b60;z-index:1}.chess-square:focus-visible{outline:3px solid #dceaff!important;outline-offset:-4px!important;box-shadow:inset 0 0 0 6px #272d36;z-index:2}.square-last.square-light{background:#a5bfdc}.square-last.square-dark{background:#6687b4}.square-selected.square-light,.square-selected.square-dark{background:#83a9d8;box-shadow:inset 0 0 0 3px #3568ad}.square-check{background:#cb6472!important}.chess-piece{font-family:Segoe UI Symbol,DejaVu Sans,serif;font-size:clamp(30px,5vw,69px);line-height:1;position:relative;z-index:1;transition:transform .13s;user-select:none;pointer-events:none;font-weight:400}.piece-w{color:#f4f1e9;-webkit-text-stroke:1px #46443f;text-shadow:0 3px 1px #1717147d}.piece-b{color:#181817;-webkit-text-stroke:.75px #9c998f;text-shadow:0 3px 1px #1118}.square-selected .chess-piece{transform:translateY(-3px)}.rank-coordinate{position:absolute;left:4px;top:4px;font-size:10px;line-height:1;font-weight:800;color:#27364b;z-index:2}.square-dark .rank-coordinate{color:#f2f5fa}.move-marker{position:absolute;width:23%;height:23%;background:#3568ad;border:2px solid #27313cc7;border-radius:50%;pointer-events:none;z-index:3}.capture-marker{width:91%;height:91%;background:transparent;border:5px solid #3568ad}.board-bottom-coordinates{display:grid;grid-template-columns:repeat(8,1fr);height:22px;align-items:center;text-align:center;font-size:10px;color:#ced7e4;font-weight:700}.board-three{position:absolute;inset:0;width:100%;height:100%}.board-three canvas{display:block;width:100%;height:100%;cursor:grab}.board-three canvas:active{cursor:grabbing}.board-tools{display:flex;align-items:center;gap:14px;padding:9px 0;min-height:43px}.board-tool-hint{font-size:10px;color:var(--game-muted);flex:1;line-height:1.5}.icon-button{border:1px solid var(--game-line);color:var(--game-text);width:34px;height:34px;border-radius:3px;display:grid;place-items:center;background:var(--game-surface);flex-shrink:0}.icon-button:hover{background:var(--game-raised);border-color:#738296}.game-side{display:flex;flex-direction:column;gap:12px;min-width:0}.game-view-panel{padding:14px 16px 12px;border:1px solid var(--game-line);background:var(--game-surface);border-radius:var(--game-radius)}.game-view-panel .game-eyebrow{margin-bottom:8px;font-size:8px;letter-spacing:1.45px}.view-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px}.view-switch button{min-height:43px;border:1px solid var(--game-line);background:#11181f;color:#e1e7f0;display:flex;align-items:center;justify-content:center;gap:6px;font:600 26px/1 var(--font-display,"Sora",sans-serif);border-radius:3px}.view-switch button.is-active{background:var(--game-accent);color:#fff;border-color:var(--game-accent)}.view-switch button:hover:not(.is-active){background:#26313c}.view-switch .material-symbols-rounded{font-size:20px}.view-caption{font:700 9px/1.2 Lato,sans-serif;text-transform:uppercase;letter-spacing:.45px}.view-accessibility-note{display:block;margin-top:9px;font-size:9px;color:var(--game-muted);line-height:1.4}.game-card{background:var(--game-surface);border:1px solid var(--game-line);border-radius:var(--game-radius);padding:16px;min-width:0}.game-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.game-card h2{font:600 25px/1 var(--font-display,"Sora",sans-serif);letter-spacing:.3px;text-transform:uppercase;margin:0}.small-badge{display:inline-block;font-size:8px;letter-spacing:.9px;text-transform:uppercase;padding:4px 6px;color:var(--game-muted);border:1px solid var(--game-line);border-radius:2px;font-weight:800;white-space:nowrap}.mode-switch{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.mode-switch button{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:39px;border:1px solid #46515e;background:#19222b;color:#e5eaf1;border-radius:3px;font-weight:700;font-size:12px;padding:9px 12px}.mode-switch .material-symbols-rounded{font-size:19px}.mode-switch button.is-active{background:var(--game-accent);border-color:var(--game-accent);color:#fff}.mode-switch button:hover:not(.is-active){background:#29333e;border-color:#8b97a7}.mode-switch button[data-mode=local]{border-color:transparent;background:transparent;color:var(--game-muted);min-height:29px;padding:4px 11px;font-size:10px}.mode-switch button[data-mode=local].is-active{border-color:#4d7dbb;color:#c0d7f6;background:#192d48}.mode-switch button[data-mode=local] .material-symbols-rounded{font-size:16px}.game-field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;min-width:0}.game-field label{font-size:9px;color:var(--game-muted);font-weight:700;text-transform:uppercase;letter-spacing:.7px}.game-field select,.join-room input{border:1px solid #4a5665;border-radius:3px;padding:9px;background:#10171e;color:#e9edf4;font-size:11px;width:100%;height:38px;min-width:0}.game-field select{padding-right:4px}.game-settings-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.game-settings-row:has([data-color-field][hidden]){grid-template-columns:1fr}.game-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--game-accent);width:100%;border-radius:3px;min-height:43px;padding:10px;background:var(--game-accent);color:#fff;font-size:12px;font-weight:900;line-height:1.4;text-decoration:none}.game-button:hover{background:#4276ba;border-color:#4276ba}.game-start{min-height:46px;font-size:13px;text-transform:uppercase;letter-spacing:.4px}.game-button-secondary{background:#202b35;color:#eef2f7;border-color:#536170}.game-button-secondary:hover{background:#34414f;border-color:#748296}.game-button .material-symbols-rounded{font-size:20px}.arena-invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.arena-invite-actions button{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 3px;min-height:35px;border:1px solid var(--game-line);border-radius:3px;font-size:9px;font-weight:700;color:var(--game-text);background:var(--game-bg)}.arena-invite-actions button:hover{background:var(--game-raised);border-color:#7f8b9d}.arena-invite-actions .material-symbols-rounded{font-size:15px}.moves-card .game-card-title{margin-bottom:9px}.turn-dot{width:7px;height:7px;border-radius:50%;background:var(--game-accent);box-shadow:0 0 0 4px #3568ad30;flex-shrink:0}.turn-dot.is-thinking{animation:thinking-pulse 1s infinite alternate}.game-status{font-size:11px;font-weight:700;margin:0 0 11px;line-height:1.65;color:var(--game-text);min-height:19px}.game-history{border-top:1px solid var(--game-line)}.game-history summary{cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.6px;color:var(--game-muted);padding:11px 0;text-transform:uppercase}.move-list{max-height:144px;min-height:70px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5d6b7c transparent;border-top:1px solid var(--game-line);border-bottom:1px solid var(--game-line);padding:5px 0}.empty-moves{color:var(--game-muted);font-size:11px;padding:18px 4px;text-align:center;line-height:1.7;margin:0}.move-row{display:grid;grid-template-columns:32px 1fr 1fr;padding:7px 9px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--game-text)}.move-row:nth-child(2n){background:var(--game-raised)}.move-row>span:first-child{color:var(--game-muted)}.captured-pieces{display:flex;justify-content:space-between;font:19px Segoe UI Symbol,serif;min-height:0}.captured-pieces:empty{display:none}.game-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:5px;justify-content:space-between}.game-actions button{display:inline-flex;align-items:center;gap:4px;border:0;padding:8px 0;background:transparent;color:var(--game-muted);font-size:10px;font-weight:700}.game-actions button:hover{color:var(--game-text)}.game-actions .material-symbols-rounded{font-size:16px}.game-notice{background:#1d2934;border:1px solid #546578;border-radius:3px;padding:12px 14px;font-size:12px;line-height:1.6;margin:10px 0 0;color:#e9eef5}.game-notice.notice-error{background:#34212b;border-color:#a95b6e;color:#ffd0db}.online-intro{font-size:11px;line-height:1.7;color:var(--game-muted);margin:0 0 13px}.join-room{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:12px}.join-room input{text-transform:uppercase;letter-spacing:1px;font-size:12px;height:40px}.join-room input::placeholder{text-transform:none;letter-spacing:0;color:#a7b3c1;opacity:1}.join-room .game-button{padding:9px;min-height:40px}.online-clock-note{font-size:10px;line-height:1.5;color:var(--game-muted);margin:9px 0}.room-info{margin-top:16px;border-top:1px solid var(--game-line);padding-top:14px;text-align:center}.room-info>span{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--game-muted)}.room-info strong{display:block;font:600 34px/1.4 var(--font-display,"Sora",sans-serif);letter-spacing:5px;padding:8px;color:#a2c5f2}.connection-status{font-size:11px;line-height:1.7;color:#b8cbdc;margin:12px 0 0;overflow-wrap:anywhere}.connection-error{color:#ffc1cf}[data-draw-offer]{border-top:1px solid var(--game-line);margin-top:8px;padding-top:8px;font-size:12px;line-height:1.5}.promotion-dialog{border:1px solid #627286;border-radius:4px;padding:27px;max-width:440px;width:calc(100% - 32px);color:#eef3f9;background:#141d27;box-shadow:0 24px 100px #0008;font-family:Lato,Arial,sans-serif}.promotion-dialog::backdrop{background:#060c15ba;backdrop-filter:blur(4px)}.promotion-dialog h2{font:600 34px/1 var(--font-display,"Sora",sans-serif);text-transform:uppercase;margin:0 0 12px}.promotion-dialog p{font-size:14px;color:#bcc8d6}.promotion-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0}.promotion-choices button{border:1px solid #607186;border-radius:3px;background:#24303e;display:flex;flex-direction:column;align-items:center;gap:6px;color:#f2f5f9;font-size:11px;padding:12px 6px}.promotion-choices button:hover{background:#3568ad;color:#fff;border-color:#3568ad}.promotion-choices button span{font-family:Segoe UI Symbol,serif;font-size:39px}.promotion-cancel{display:block;margin:auto;border:0;background:transparent;color:#bdc9d8;font-size:12px;padding:10px}.puzzle-card h2{font-size:32px;margin-bottom:12px;line-height:1.05}.puzzle-tag{font-size:10px;line-height:1.6;color:#a2c5f2;border-left:2px solid #3568ad;padding:3px 0 3px 10px;margin:0 0 10px}.puzzle-card [data-puzzle-description]{font-size:12px;line-height:1.7;color:var(--game-muted)}.puzzle-progress{display:flex;gap:7px;margin:19px 0;flex-wrap:wrap}.puzzle-progress button{border:1px solid #596878;background:#202a35;border-radius:3px;height:34px;width:34px;color:#c9d4e0;font-size:12px;font-weight:700}.puzzle-progress .puzzle-current{border:2px solid #74a5e6;background:#203754;color:#d2e4ff}.puzzle-progress .puzzle-complete{background:#3568ad;color:#fff;border-color:#3568ad}.puzzle-feedback{font-size:12px;line-height:1.7;margin:12px 0}.puzzle-feedback:empty{display:none}.puzzle-success,.puzzle-hint,.puzzle-try{padding:12px;border-radius:3px;background:#27323e;color:#e2edf9;border-left:2px solid #879caf}.puzzle-try{background:#223247;color:#d5e4f7;border-color:#82a9da}.puzzle-success{background:#1c304a;color:#d8e8fc;border-color:#3568ad}.puzzle-card .game-button+.game-button{margin-top:9px}.chess-app .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes thinking-pulse{to{opacity:.3}}@media(prefers-reduced-motion:reduce){.chess-app *{animation:none!important;transition:none!important}}@media(max-width:1050px){.chess-app{padding:24px 20px 48px}.game-layout{gap:16px;grid-template-columns:minmax(0,1fr) 260px}.game-card,.game-view-panel{padding:13px}.board-stage.is-3d{aspect-ratio:1.13}.chess-piece{font-size:clamp(27px,5.5vw,61px)}}@media(max-width:760px){.chess-app{padding:22px 16px 42px}.game-layout{grid-template-columns:minmax(0,1fr);gap:16px}.game-heading{align-items:flex-start;margin-bottom:20px}.game-heading p:not(.game-eyebrow){font-size:13px;line-height:1.6}.game-guide-link{display:none}.game-board-column{width:100%;min-width:0}.board-stage.is-3d{aspect-ratio:1.2}.board-frame{padding:6px 6px 0}.board-frame.has-3d{padding:0}.board-bottom-coordinates{height:20px}.chess-piece{font-size:clamp(29px,9.3vw,67px)}.game-side{display:flex;flex-direction:column;gap:12px;width:100%}.game-card,.game-view-panel{padding:18px}.view-switch button{min-height:47px;font-size:29px}.view-accessibility-note{font-size:10px}.mode-switch button{min-height:43px;font-size:13px}.mode-switch button[data-mode=local]{min-height:32px;font-size:11px}.game-field select,.join-room input{font-size:14px;height:43px}.game-field label{font-size:10px}.game-button{font-size:13px;min-height:46px}.arena-invite-actions button{min-height:42px;font-size:11px}.game-status,.game-actions button{font-size:12px}.game-history summary{font-size:11px}.player-strip{min-height:53px;padding:7px 10px}.game-actions button{min-height:38px}.game-card h2{font-size:29px}}@media(max-width:420px){.board-stage.is-3d{aspect-ratio:1.06}.player-identity strong{font-size:11px}.player-identity div>span{font-size:9px}.player-avatar{width:29px;height:29px}.chess-clock{font-size:23px;min-width:58px;padding:6px}.board-tool-hint{font-size:9px}.rank-coordinate{font-size:8px;left:3px;top:3px}.promotion-dialog{padding:20px}.promotion-choices{gap:6px}}[data-theme=light] .chess-app{--game-bg:#e9edf2;--game-surface:#f8fafc;--game-raised:#e2e8f0;--game-text:#172432;--game-muted:#526173;--game-line:#a9b5c3;color-scheme:light}[data-theme=light] .game-field select,[data-theme=light] .join-room input{background:#fff;color:#152b3e;border-color:#8e9eb0}[data-theme=light] .join-room input::placeholder{color:#536476}[data-theme=light] .connection-status{color:#3f5d77}[data-theme=light] .connection-error{color:#8e2d48}[data-theme=light] .puzzle-tag,[data-theme=light] .room-info strong{color:#285d9f}[data-contrast=high] .chess-app{--game-muted:#e1e8f2;--game-line:#a8b6c9}[data-contrast=high][data-theme=light] .chess-app{--game-muted:#243446;--game-line:#405269}[data-contrast=high] .square-light{background:#f4f2ec}[data-contrast=high] .square-dark{background:#292927}[data-contrast=high] .piece-w{color:#fff;-webkit-text-stroke:1.5px #172d45}[data-contrast=high] .piece-b{color:#0b1a2d;-webkit-text-stroke:1.5px #f3f6fa}[data-contrast=high] .square-selected{outline:4px solid #3568ad;outline-offset:-4px}@media(forced-colors:active){.chess-square{border:1px solid CanvasText}.square-dark{background:GrayText}.chess-piece{-webkit-text-stroke:0}.piece-w{color:Canvas}.piece-b{color:CanvasText}.square-selected{outline:3px solid Highlight}.move-marker{background:Highlight}.game-button{border:1px solid ButtonText}}.piece-art{display:block;width:100%;height:100%;overflow:visible;pointer-events:none;user-select:none;flex-shrink:0;text-shadow:none!important;-webkit-text-stroke:0!important}.chess-piece{display:block;width:91%;height:91%;font-size:0;line-height:0;text-shadow:none!important;-webkit-text-stroke:0!important;filter:drop-shadow(0 2px 1px #17171424);transform-origin:50% 80%}.chess-app[data-board-view="2d"] .game-board-column{max-width:740px;margin-inline:auto}.board-frame:not(.has-3d){--board-light:#d3cfc4;--board-dark:#343432;--coordinate-gutter:28px;display:grid;grid-template-columns:var(--coordinate-gutter) minmax(0,1fr);padding:12px 12px 0 0;background:linear-gradient(135deg,#5a3d2b,#34271e 72%);border:1px solid #80624a;box-shadow:inset 0 1px #d4b99729,0 18px 42px #03070c28;border-radius:4px;max-width:740px}.board-frame:not(.has-3d) .board-stage{grid-column:2;grid-row:1}.board-left-coordinates{display:grid;grid-template-rows:repeat(8,1fr);align-items:center;text-align:center;font:700 10px/1 Lato,Arial,sans-serif;color:#e6dcd0;grid-column:1;grid-row:1}.board-frame.has-3d .board-left-coordinates{display:none}.board-frame:not(.has-3d) .board-stage{box-shadow:0 0 0 1px #211a14,0 3px 9px #0003}.board-frame:not(.has-3d) .chess-grid{background:var(--board-light)}.board-frame:not(.has-3d) .chess-square{transition:background .12s;overflow:visible}.board-frame:not(.has-3d) .square-light{background:var(--board-light)}.board-frame:not(.has-3d) .square-dark{background:var(--board-dark)}.board-frame:not(.has-3d) .chess-square:hover{box-shadow:inset 0 0 0 2px #f1f7ff6b;z-index:1}.board-frame:not(.has-3d) .square-last.square-light{background:#a6c4e8}.board-frame:not(.has-3d) .square-last.square-dark{background:#719bc9}.board-frame:not(.has-3d) .square-last:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px #3568ad65;pointer-events:none}.board-frame:not(.has-3d) .square-selected.square-light,.board-frame:not(.has-3d) .square-selected.square-dark{background:#88b5e7;box-shadow:inset 0 0 0 3px #244f86}.board-frame:not(.has-3d) .square-selected .chess-piece{transform:translateY(-3%) scale(1.045);filter:drop-shadow(0 4px 2px #102c4c55)}.board-frame:not(.has-3d) .square-check{background:radial-gradient(ellipse at 50% 48%,#edbbc3,#c97583)!important;box-shadow:inset 0 0 0 3px #942f47}.board-frame:not(.has-3d) .chess-square:focus-visible{outline:3px solid #f5f9ff!important;outline-offset:-3px!important;box-shadow:inset 0 0 0 6px #254d7c;z-index:4}.board-frame:not(.has-3d) .move-marker{width:23%;height:23%;border:2px solid #e5f1ffc2;background:#2c5c96c7;box-shadow:0 1px 3px #10294138}.board-frame:not(.has-3d) .capture-marker{width:91%;height:91%;border:3px solid #244e83;background:transparent;box-shadow:0 0 0 1px #deedff8c inset}.board-frame:not(.has-3d) .board-bottom-coordinates{grid-column:2;grid-row:2;height:27px;font:700 10px/1 Lato,Arial,sans-serif;letter-spacing:.5px;color:#e6dcd0}.captured-pieces{gap:10px;min-height:0;padding:4px 0 7px}.captured-pieces>span{display:flex;align-items:center;flex-wrap:wrap;gap:0;max-width:50%;line-height:0}.captured-pieces>span:last-child{justify-content:flex-end}.captured-pieces .piece-art{width:23px;height:27px;margin-right:-4px;filter:drop-shadow(0 1px 0 #ece8df3d)}.captured-pieces .piece-art-b{filter:drop-shadow(0 0 .7px #dedad0b3)}.promotion-choices button>span{display:block;width:100%;max-width:66px;height:69px;font-size:0;line-height:0}.promotion-choices .piece-art{filter:drop-shadow(0 3px 2px #17171440)}.chess-app .promotion-dialog{margin:auto;border-radius:8px}.promotion-choices .piece-art-b{filter:drop-shadow(0 0 1px #ece8df9c) drop-shadow(0 3px 2px #17171440)}.mini-board.mini-board{border:7px solid #4d3525;box-shadow:0 0 0 1px #80624a,0 10px 24px #0002;background:#d3cfc4}.mini-board>.mini-square{background:#d3cfc4;text-shadow:none!important;-webkit-text-stroke:0!important;font-size:0;position:relative;min-width:0;min-height:0}.mini-board>.mini-square.dark{background:#343432}.mini-board .mini-square>.piece-art{position:absolute;inset:4.5%;width:91%;height:91%;filter:drop-shadow(0 1px 1px #17171426)}@media(max-width:760px){.board-frame:not(.has-3d){--coordinate-gutter:24px;padding:8px 8px 0 0;box-shadow:inset 0 1px #d4b99729,0 9px 25px #03070c28}.board-frame:not(.has-3d) .board-bottom-coordinates{height:24px}.board-frame:not(.has-3d) .square-selected.square-light,.board-frame:not(.has-3d) .square-selected.square-dark{box-shadow:inset 0 0 0 2px #244f86}.board-frame:not(.has-3d) .capture-marker{border-width:2px}.promotion-choices button>span{height:61px}}@media(max-width:380px){.board-frame:not(.has-3d){--coordinate-gutter:22px;padding:6px 6px 0 0}}[data-theme=light] .board-frame:not(.has-3d){background:linear-gradient(135deg,#684932,#402d21);border-color:#92765d}[data-contrast=high] .board-frame:not(.has-3d){--board-light:#f4f2ec;--board-dark:#292927}[data-contrast=high] .board-frame:not(.has-3d) .square-selected{outline:3px solid #173a6c;outline-offset:-3px}@media(forced-colors:active){.piece-art{forced-color-adjust:none}.board-frame:not(.has-3d) .chess-square,.mini-square{forced-color-adjust:none}.board-frame:not(.has-3d) .chess-square:focus-visible{outline-color:Highlight!important}}.chess-app{--control-bg:#111a23;--control-hover:#202e3d;--control-border:#46576b;--control-selected:#213c60;--control-selected-line:#608aca;--control-blue-ink:#b5d1f8;--control-shadow:0 18px 48px #0008,0 2px 8px #0006}.chess-app :is(button,input,select){-webkit-tap-highlight-color:transparent}.chess-app :is(.icon-button,.game-button,.mode-switch button,.view-switch button,.arena-invite-actions button,.game-actions button,.puzzle-progress button){min-height:44px;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s}.chess-app :is(button,input,select,summary):focus-visible{outline:3px solid #a6cafa;outline-offset:3px}.chess-app :is(button,input):disabled{opacity:.42}.chess-app .game-view-panel,.chess-app .game-card{border-color:var(--game-line);box-shadow:inset 0 1px #ffffff05}.chess-app .view-switch{padding:4px;gap:4px;border:1px solid var(--game-line);border-radius:5px;background:var(--control-bg)}.chess-app .view-switch button{min-height:51px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--game-muted);gap:8px;font-size:28px}.chess-app .view-switch .view-caption{font-size:9px;letter-spacing:.7px}.chess-app .view-switch button:hover:not(.is-active){background:var(--control-hover);color:var(--game-text)}.chess-app .view-switch button.is-active{border-color:#5889cc;background:linear-gradient(145deg,#3b6daf,#2c548a);color:#fff;box-shadow:inset 0 1px #ffffff25,0 2px 7px #0003}.chess-app .view-accessibility-note{margin-top:10px;font-size:10px;line-height:1.5}.chess-app .mode-switch{gap:5px;margin-bottom:18px}.chess-app .mode-switch button,.chess-app .mode-switch button[data-mode=local]{position:relative;min-height:45px;padding:10px 12px;gap:10px;font-size:12px;line-height:1.3;color:var(--game-muted);border:1px solid transparent;border-radius:4px;background:var(--control-bg)}.chess-app .mode-switch button .material-symbols-rounded,.chess-app .mode-switch button[data-mode=local] .material-symbols-rounded{font-size:20px}.chess-app .mode-switch button:after{content:"";width:12px;height:12px;margin-left:auto;flex:none;border:1px solid var(--control-border);border-radius:50%}.chess-app .mode-switch button:hover:not(.is-active){color:var(--game-text);border-color:var(--control-border);background:var(--control-hover)}.chess-app .mode-switch button.is-active,.chess-app .mode-switch button[data-mode=local].is-active{color:var(--game-text);background:var(--control-selected);border-color:var(--control-selected-line);box-shadow:inset 3px 0 #78a8e5}.chess-app .mode-switch button.is-active .material-symbols-rounded{color:var(--control-blue-ink)}.chess-app .mode-switch button.is-active:after{border:3px solid var(--control-selected);background:#a9caf4;box-shadow:0 0 0 1px #86ade0}.chess-app .game-field{gap:7px;margin-bottom:15px}.chess-app .game-field label{font-size:9px;letter-spacing:1px;line-height:1.4}.chess-app .game-settings-row{gap:10px}.chess-app .arena-select{position:relative;min-width:0}.chess-app .arena-select.is-open{z-index:45}.chess-app .arena-select-trigger{display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:55px;padding:11px 12px;border:1px solid var(--control-border);border-radius:4px;background:var(--control-bg);color:var(--game-text);text-align:left;box-shadow:inset 0 1px #ffffff04;transition:background-color .16s,border-color .16s,box-shadow .16s}.chess-app .arena-select-trigger:hover{background:var(--control-hover);border-color:#7288a3}.chess-app .arena-select.is-open .arena-select-trigger{border-color:var(--control-selected-line);box-shadow:0 0 0 2px #5788c51c}.chess-app .arena-select-icon{display:block;width:21px;height:21px;flex:none;color:var(--control-blue-ink)}.chess-app :is(.arena-select-icon,.arena-select-chevron,.arena-select-check) svg{display:block;width:100%;height:100%}.chess-app .arena-select-value{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.chess-app .arena-select-value strong,.chess-app .arena-select-option-copy strong{font-size:12px;line-height:1.2;font-weight:800}.chess-app .arena-select-value>span,.chess-app .arena-select-option-copy>span{font-size:10px;line-height:1.2;font-weight:400;color:var(--game-muted)}.chess-app .arena-select-value :is(strong,span){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chess-app .arena-select-chevron{display:block;width:17px;height:17px;flex:none;color:var(--game-muted);transition:transform .16s}.chess-app .arena-select.is-open .arena-select-chevron{transform:rotate(180deg)}.chess-app .arena-select-menu{position:absolute;z-index:50;left:0;top:calc(100% + 6px);width:max(100%,220px);max-width:calc(100vw - 48px);max-height:302px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--control-border) transparent;padding:5px;border:1px solid var(--control-border);border-radius:5px;background:var(--game-surface);box-shadow:var(--control-shadow)}.chess-app .arena-select.opens-above .arena-select-menu{top:auto;bottom:calc(100% + 6px)}.chess-app .game-settings-row>.game-field:last-child .arena-select-menu{left:auto;right:0}.chess-app .arena-select-option{display:flex;align-items:center;gap:11px;min-height:52px;padding:9px 10px;border:1px solid transparent;border-radius:3px;cursor:pointer;color:var(--game-text);user-select:none}.chess-app .arena-select-option+.arena-select-option{margin-top:3px}.chess-app .arena-select-option-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.chess-app .arena-select-option[aria-selected=true]{background:var(--control-selected)}.chess-app .arena-select-option.is-highlighted{border-color:var(--control-selected-line);background:var(--control-hover)}.chess-app .arena-select-option[aria-selected=true].is-highlighted{background:var(--control-selected)}.chess-app .arena-select-check{display:block;width:17px;height:17px;flex:none;opacity:0;color:var(--control-blue-ink)}.chess-app .arena-select-option[aria-selected=true] .arena-select-check{opacity:1}.chess-app .arena-select-option[aria-disabled=true]{opacity:.4;cursor:not-allowed}.chess-app .arena-select-icon:is(.arena-side-w,.arena-side-b){display:block;width:17px;height:17px;margin-inline:2px;border:1px solid #98a9be;border-radius:50%;font-size:0;box-shadow:inset 0 1px 1px #fff3}.chess-app .arena-side-w{background:linear-gradient(135deg,#fff,#cdd8e5)}.chess-app .arena-side-b{background:linear-gradient(135deg,#53667e,#1c2a3c)}.chess-app .game-settings-row .arena-select-trigger{padding:10px 8px;gap:6px}.chess-app .game-settings-row .arena-select-trigger .arena-select-icon{width:18px;height:18px}.chess-app .game-settings-row .arena-select-trigger .arena-select-icon:is(.arena-side-w,.arena-side-b){width:15px;height:15px;margin-inline:1px;font-size:0}.chess-app .game-settings-row .arena-select-trigger .arena-select-chevron{width:14px;height:14px}.chess-app .game-settings-row .arena-select-value strong{font-size:11px}.chess-app .game-settings-row .arena-select-value>span{font-size:9px}.chess-app .game-button{min-height:46px;padding:12px;border-radius:4px;border-color:#5887c6;background:linear-gradient(145deg,#3c6fb2,#2d588f);color:#fff;box-shadow:inset 0 1px #ffffff1c,0 3px 8px #0002;font-size:12px;font-weight:800}.chess-app .game-button:hover:not(:disabled){background:#4276ba;border-color:#86abe0;box-shadow:inset 0 1px #ffffff30,0 4px 14px #0003}.chess-app .game-start{min-height:49px;letter-spacing:.6px}.chess-app .game-button-secondary{background:var(--control-bg);border-color:var(--control-border);color:var(--game-text);box-shadow:inset 0 1px #ffffff05}.chess-app .game-button-secondary:hover:not(:disabled){background:var(--control-hover);border-color:#738aa7}.chess-app .arena-invite-actions{gap:7px;margin-top:10px}.chess-app .arena-invite-actions button{gap:5px;min-height:44px;padding:8px 5px;font-size:10px;border-radius:4px;border-color:var(--game-line);background:transparent}.chess-app .arena-invite-actions button:hover:not(:disabled){background:var(--control-hover);border-color:var(--control-selected-line)}.chess-app .arena-invite-actions .material-symbols-rounded{font-size:17px;color:var(--control-blue-ink)}.chess-app .join-room{gap:8px;margin-top:14px}.chess-app .join-room input{min-height:46px;height:auto;background:var(--control-bg);border-color:var(--control-border);border-radius:4px;color:var(--game-text);padding:11px 12px;font-size:14px;letter-spacing:2px}.chess-app .join-room input::placeholder{color:var(--game-muted);font-size:12px}.chess-app .join-room .game-button{min-height:46px}.chess-app .room-info{border-top-style:dashed}.chess-app .room-info strong{letter-spacing:6px;color:var(--control-blue-ink)}.chess-app .icon-button{min-width:44px;width:44px;height:44px;border-radius:4px;border-color:var(--control-border);background:var(--control-bg)}.chess-app .icon-button:hover{background:var(--control-hover);border-color:var(--control-selected-line);color:var(--control-blue-ink)}.chess-app .board-tools{gap:8px;padding-block:10px}.chess-app .game-history summary{min-height:44px;display:list-item;padding-block:14px}.chess-app .game-history summary:hover{color:var(--game-text)}.chess-app .move-list{border-color:var(--game-line);padding:4px;max-height:184px}.chess-app .move-row{border-radius:2px;padding:8px 9px;grid-template-columns:30px 1fr 1fr;line-height:1.5}.chess-app .move-row:last-child{background:var(--control-selected);color:var(--game-text)}.chess-app .move-row:last-child>span:first-child{color:var(--control-blue-ink)}.chess-app .game-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding-top:9px}.chess-app .game-actions button{justify-content:center;gap:5px;padding:8px 5px;border:1px solid transparent;border-radius:4px;font-size:10px}.chess-app .game-actions button:hover:not(:disabled){background:var(--control-hover);border-color:var(--control-border)}.chess-app .game-actions button[data-action=draw]{grid-column:1 / -1}.chess-app .puzzle-progress{gap:7px}.chess-app .puzzle-progress button{width:44px;min-height:44px;height:44px;border-radius:4px}[data-theme=light] .chess-app{--control-bg:#fff;--control-hover:#edf2f8;--control-border:#8fa0b4;--control-selected:#e1ecfa;--control-selected-line:#527db3;--control-blue-ink:#285d9f;--control-shadow:0 16px 40px #25426724,0 2px 6px #2542671a}[data-theme=light] .chess-app :is(button,input,select,summary):focus-visible{outline-color:#285d9f}[data-theme=light] .chess-app .mode-switch button.is-active:after{background:#3568ad;box-shadow:0 0 0 1px #3568ad}[data-contrast=high] .chess-app{--control-border:#a8b6c9;--control-selected-line:#b5d1f8;--control-blue-ink:#d6e7ff}[data-contrast=high][data-theme=light] .chess-app{--control-border:#405269;--control-selected-line:#1f4f8c;--control-blue-ink:#183f75}[data-contrast=high] .chess-app .arena-select-option.is-highlighted{border-width:2px;padding:8px 9px}@media(max-width:760px){.chess-app .arena-select-trigger{min-height:58px}.chess-app .arena-select-value strong{font-size:13px}.chess-app .game-settings-row .arena-select-value strong{font-size:12px}.chess-app .game-settings-row .arena-select-value>span{font-size:10px}.chess-app .arena-invite-actions button,.chess-app .game-actions button{font-size:11px}.chess-app .join-room input{font-size:16px}}@media(prefers-reduced-motion:reduce){.chess-app :is(.arena-select-trigger,.arena-select-chevron,button,input){transition:none}}@media(forced-colors:active){.chess-app .arena-select-trigger,.chess-app .arena-select-menu,.chess-app .arena-select-option{border-color:ButtonText;background:Canvas;color:CanvasText}.chess-app .arena-select-option.is-highlighted{outline:2px solid Highlight;outline-offset:-3px}.chess-app .arena-select-option[aria-selected=true]{background:Highlight;color:HighlightText}.chess-app .mode-switch button.is-active,.chess-app .view-switch button.is-active{border:2px solid Highlight}}.board-tools .fullscreen-button{width:auto;display:inline-flex;gap:7px;padding:0 12px;min-height:44px;font-size:11px;font-weight:700;white-space:nowrap}.immersive-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;flex-shrink:0;border-bottom:1px solid var(--game-line);margin-bottom:12px;padding-bottom:7px}.immersive-brand{font-size:18px;font-weight:900;letter-spacing:-.6px}.immersive-brand span{color:#6594d0}.immersive-caption{font-size:9px;letter-spacing:2px;color:var(--game-muted);text-transform:uppercase;margin-left:22px}.immersive-exit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid var(--game-line);background:var(--game-surface);color:var(--game-text);padding:9px 14px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.immersive-exit:hover{background:var(--game-raised);border-color:#6594d0}.immersive-exit kbd{font:10px Lato,sans-serif;padding:3px 5px;border:1px solid var(--game-line);border-radius:3px;color:var(--game-muted)}.chess-app.is-immersive{position:fixed;inset:0;z-index:1000;width:100%;height:100vh;height:100dvh;max-width:none;margin:0;padding:12px 24px 16px;background:var(--game-bg);display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain}.chess-app.is-immersive::backdrop{background:var(--game-bg)}.is-immersive .game-heading{display:none}.is-immersive .game-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 310px;gap:26px;width:100%;max-width:calc((100dvh - 255px)*1.22 + 336px);margin-inline:auto}.is-immersive .game-board-column{width:100%;max-width:1180px;margin-inline:auto;align-self:start}.is-immersive[data-board-view="2d"] .game-board-column{max-width:min(100%,calc(100dvh - 280px))}.is-immersive[data-board-view="2d"] .game-layout{max-width:calc(100dvh + 60px)}.is-immersive .board-frame:not(.has-3d){max-width:none}.is-immersive .board-stage.is-3d{height:max(220px,calc(100dvh - 255px));aspect-ratio:auto}.is-immersive .player-strip{min-height:46px;padding-block:5px}.is-immersive .game-side{max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--game-line) transparent;padding:3px 5px 16px 3px}.is-immersive .board-tools{padding-bottom:0}.is-immersive .board-tool-hint{font-size:11px}.is-immersive .game-notice{position:absolute;bottom:20px;left:24px;max-width:min(540px,calc(100% - 48px));z-index:20;box-shadow:0 8px 30px #0004}@media(max-width:760px){.chess-app.is-immersive{padding:0 12px 20px;display:block}.immersive-bar{position:sticky;top:0;z-index:60;background:var(--game-bg);margin-bottom:14px;padding:10px 0;min-height:64px}.immersive-caption,.immersive-exit kbd{display:none}.immersive-brand{font-size:17px}.immersive-exit{font-size:11px;padding:8px 10px}.is-immersive .game-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:590px}.is-immersive[data-board-view="2d"] .game-board-column{max-width:590px}.is-immersive .board-stage.is-3d{height:auto;aspect-ratio:1.12}.is-immersive .game-side{max-height:none;overflow:visible;padding:0}.is-immersive .board-tool-hint{font-size:9px}.board-tools{gap:8px}.board-tools .fullscreen-button{font-size:10px;padding:0 9px}.is-immersive .game-notice{position:static;max-width:none}}@media(min-width:761px)and (max-height:650px){.is-immersive .game-layout{overflow:auto}.is-immersive[data-board-view="2d"] .game-board-column{max-width:max(280px,calc(100dvh - 220px))}.is-immersive .game-side{max-height:none;overflow:visible}.immersive-bar{min-height:48px;margin-bottom:8px}.is-immersive .board-stage.is-3d{height:max(260px,calc(100dvh - 215px))}}@media(forced-colors:active){.immersive-exit{border-color:ButtonText}.chess-app.is-immersive{background:Canvas}}.chess-app{--table-stage-height:clamp(280px, calc(100svh - 255px) ,680px);--table-stage-width:calc(var(--table-stage-height) * 1.18)}.chess-app .board-tools{gap:8px;padding:6px 8px;flex-wrap:wrap}.chess-app .board-tools .view-switch{display:flex;flex:none;gap:2px;padding:2px;margin:0}.chess-app .board-tools .view-switch button{min-width:44px;min-height:44px;padding:4px 8px;font-size:20px;line-height:1}.chess-app .board-tool-hint{min-width:90px;line-height:1.4}.chess-app .board-tools .fullscreen-button{width:auto}.chess-app .game-options{min-width:0}.chess-app .game-options>summary{display:none}.chess-app:not(.is-immersive) .game-layout{gap:18px;grid-template-columns:minmax(0,var(--table-stage-width)) minmax(270px,320px);max-width:calc(var(--table-stage-width) + 338px);margin-inline:auto}.chess-app:not(.is-immersive) .game-board-column{width:100%;min-width:0}.chess-app:not(.is-immersive) .player-strip{min-height:42px;padding:5px 10px}.chess-app:not(.is-immersive) .player-avatar{width:28px;height:28px}.chess-app:not(.is-immersive) .chess-clock{padding:4px 8px;font-size:23px}.chess-app:not(.is-immersive) .board-stage.is-3d{height:auto;aspect-ratio:1.18;max-height:var(--table-stage-height)}.chess-app:not(.is-immersive)[data-board-view="2d"] .game-board-column{max-width:min(100%,max(310px,calc(100svh - 330px)))}.chess-app:not(.is-immersive) .game-side{gap:10px}.chess-app:not(.is-immersive) .game-card{padding:12px}.chess-app:not(.is-immersive) .game-card-title{margin-bottom:10px}.chess-app .game-session-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-bottom:12px;border-bottom:1px solid var(--game-line)}.chess-app .game-session-title>strong{font-size:12px;line-height:1.4;font-weight:700}.chess-app .game-lobby-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;flex:none;padding:8px 3px;color:var(--game-muted);font-size:11px;text-decoration:none}.chess-app .game-lobby-link:hover{color:var(--game-text);text-decoration:underline;text-underline-offset:4px}.chess-app .game-lobby-link>span{color:var(--control-blue-ink);font-size:17px}.chess-app .room-info{margin-top:8px;padding-top:10px}.chess-app .room-info strong{margin-block:8px 12px}.chess-app .online-clock-note{font-size:11px;line-height:1.4;margin:10px 0}.chess-app .connection-status:empty{display:none}.chess-app:not(.is-immersive) .game-field{margin-bottom:10px;gap:5px}.chess-app:not(.is-immersive) .arena-select-trigger{min-height:48px;padding-block:8px}.chess-app:not(.is-immersive) .game-start{min-height:44px;padding:10px}.chess-app:not(.is-immersive) .game-status{margin-block:6px}.chess-app:not(.is-immersive) .game-history summary{padding-block:12px}.chess-app:not(.is-immersive) .game-actions{padding-top:5px}@media(min-width:761px){.chess-app:not(.is-immersive)[data-board-view="3d"] .game-board-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.chess-app:not(.is-immersive)[data-board-view="3d"] .player-strip{grid-row:1}.chess-app:not(.is-immersive)[data-board-view="3d"] .player-strip[data-player=bottom]{border-top:1px solid var(--game-line);border-bottom:0;border-radius:4px 4px 0 0}.chess-app:not(.is-immersive)[data-board-view="3d"] .board-frame{grid-column:1 / -1;grid-row:2;width:100%}.chess-app:not(.is-immersive)[data-board-view="3d"] .board-tools{grid-column:1 / -1;grid-row:3}.chess-app:not(.is-immersive)[data-board-view="3d"] .game-notice{grid-column:1 / -1}.chess-app:not(.is-immersive)[data-board-view="2d"] .game-layout{max-width:max(628px,calc(100svh + 8px));grid-template-columns:minmax(0,1fr) minmax(270px,320px)}.chess-app:not(.is-immersive)[data-board-view="2d"] .board-tool-hint{display:none}.chess-app:not(.is-immersive)[data-board-view="2d"] .board-tools .view-switch{margin-right:auto}}@media(max-width:760px){.chess-app:not(.is-immersive) .game-layout{grid-template-columns:minmax(0,1fr);gap:4px;max-width:480px}.chess-app:not(.is-immersive) .game-side{gap:12px}.chess-app:not(.is-immersive) .board-stage.is-3d{height:auto;aspect-ratio:1.08;max-height:max(230px,calc(100svh - 350px))}.chess-app:not(.is-immersive)[data-game-mode=online] .board-stage.is-3d{max-height:max(220px,calc(100svh - 400px))}.chess-app:not(.is-immersive) .game-board-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.chess-app:not(.is-immersive) .board-frame{grid-column:1 / -1;grid-row:2;width:100%}.chess-app:not(.is-immersive) .board-tools{grid-column:1 / -1;grid-row:3}.chess-app:not(.is-immersive) .game-notice{grid-column:1 / -1}.chess-app:not(.is-immersive)[data-board-view="2d"] .game-board-column{max-width:min(100%,max(250px,calc(100svh - 400px)))}.chess-app:not(.is-immersive) .player-strip{min-height:40px;padding:4px 8px}.chess-app:not(.is-immersive) .player-strip{grid-row:1;gap:5px}.chess-app:not(.is-immersive) .player-avatar{display:none}.chess-app:not(.is-immersive) .player-identity{gap:7px}.chess-app:not(.is-immersive) .player-identity strong{font-size:11px}.chess-app:not(.is-immersive) .player-identity>div{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.chess-app:not(.is-immersive) .player-identity [data-player-detail]{display:none}.chess-app:not(.is-immersive) .chess-clock{font-size:19px;min-width:40px;padding:4px}.chess-app .board-tool-hint{display:none}.chess-app .board-tools .view-switch{margin-right:auto}.chess-app .board-tools{gap:6px;padding:4px 0}.chess-app .board-tools .view-switch{padding:0}.chess-app .board-tools .fullscreen-button{padding-inline:10px;gap:5px}.chess-app .board-tools .fullscreen-label{font-size:10px}.chess-app:not(.is-immersive) .setup-card{padding:4px;border-color:transparent;background:transparent;box-shadow:none}.chess-app .game-session-title{margin-bottom:8px}.chess-app [data-local-setup]:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8px;align-items:start}.chess-app .game-options>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 8px;border:1px solid var(--control-border);border-radius:4px;background:var(--control-bg);color:var(--game-text);font-size:12px;cursor:pointer;list-style:none}.chess-app .game-options>summary::-webkit-details-marker{display:none}.chess-app .game-options>summary:after{content:"\2304";margin-left:auto;font-size:16px}.chess-app .game-options[open]>summary:after{content:"\2303"}.chess-app .game-options>summary .material-symbols-rounded{font-size:18px}.chess-app .game-options[open]{grid-column:1 / -1}.chess-app .game-options-fields{padding-top:12px}.chess-app .game-options[open]+.game-start{grid-column:1 / -1}.chess-app .game-start{min-height:44px;height:44px;letter-spacing:0}.chess-app .online-intro{display:none}.chess-app [data-online-entry]:not([hidden]){display:grid;grid-template-columns:minmax(96px,.82fr) minmax(0,1.45fr);gap:8px;align-items:start}.chess-app [data-online-entry]>[data-action=create]{min-height:46px;padding:8px 6px;font-size:11px;white-space:nowrap}.chess-app [data-online-entry]>[data-action=create] .material-symbols-rounded{display:none}.chess-app .join-room{grid-template-columns:minmax(0,1fr) auto;gap:5px;margin:0}.chess-app .join-room input{padding:10px 7px;font-size:16px;letter-spacing:1px}.chess-app .join-room input::placeholder{font-size:11px}.chess-app .join-room .game-button{padding:8px 7px;font-size:11px}.chess-app .online-clock-note{margin-block:8px 0}.chess-app .room-info:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1.1fr);gap:0 8px;align-items:center;margin-top:8px;padding-top:8px;text-align:left}.chess-app .room-info>span{grid-column:1;grid-row:1;font-size:9px;line-height:1.4}.chess-app .room-info strong{grid-column:1;grid-row:2;padding:0;margin:0;font-size:25px;line-height:1.2;letter-spacing:2px;overflow-wrap:anywhere}.chess-app .room-info>[data-action=copy-link]{grid-column:2;grid-row:1 / span 2;min-height:46px;padding:8px 7px;font-size:11px;gap:5px}.chess-app .room-info>[data-action=copy-link] .material-symbols-rounded{font-size:17px}}@media(max-width:760px)and (max-height:740px){.arena-hero .arena-intro,.page-header:has(+.game-section)>p{display:none}}@media(max-width:360px){.chess-app .board-tools .fullscreen-label{display:none}}.chess-app .game-preparation{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;max-width:920px;margin:20px auto 44px;padding-block:24px;border-block:1px solid var(--game-line)}.chess-app .preparation-intro{padding:22px 0 24px}.chess-app .preparation-step{color:var(--control-blue-ink);font-size:10px;letter-spacing:1.6px;font-weight:700}.chess-app .preparation-intro h2{font:800 clamp(36px,4.1vw,58px)/1 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin:16px 0;max-width:320px}.chess-app .preparation-intro p{color:var(--game-muted);font-size:15px;line-height:1.7;max-width:310px;margin:0}.chess-app .game-preparation .setup-card{padding:22px 26px 26px;border:1px solid var(--game-line);border-top:2px solid var(--game-accent);background:var(--game-surface);box-shadow:none;border-radius:2px}.chess-app .game-preparation .game-session-title{margin-bottom:22px;padding-bottom:8px}.chess-app .game-preparation .game-session-title>strong{font-size:14px}.chess-app .game-preparation .game-lobby-link{font-size:12px}.chess-app .game-preparation [data-local-setup]:not([hidden]){display:block}.chess-app .game-preparation .game-options>summary{display:none}.chess-app .game-preparation .game-options-fields{padding:0}.chess-app .game-preparation .game-field{margin-bottom:20px;gap:8px}.chess-app .game-preparation .game-field>label{font-size:11px;letter-spacing:.65px}.chess-app .game-preparation .arena-select-trigger{min-height:58px;padding:12px}.chess-app .game-preparation .arena-select-value strong{font-size:14px}.chess-app .game-preparation .arena-select-value>span{font-size:11px}.chess-app .game-preparation .game-start{height:auto;min-height:50px;font-size:14px;letter-spacing:0;width:100%;margin-top:6px}.chess-app .game-preparation [data-online-entry]:not([hidden]){display:block}.chess-app .game-preparation .online-intro{display:block;font-size:14px;line-height:1.6;margin:0 0 18px;color:var(--game-muted)}.chess-app .game-preparation [data-action=create]{width:100%;font-size:14px;min-height:50px}.chess-app .game-preparation .join-room{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:22px 0 0;padding-top:20px;border-top:1px solid var(--game-line)}.chess-app .game-preparation .join-room>label{grid-column:1 / -1;font-size:12px;color:var(--game-muted);margin-bottom:2px}.chess-app .game-preparation .join-room input{min-height:50px;padding:12px;font-size:18px}.chess-app .game-preparation .join-room input::placeholder{font-size:14px}.chess-app .game-preparation .join-room .game-button{min-height:50px;padding:12px 18px;font-size:13px}.chess-app .game-preparation .online-clock-note{color:var(--game-muted);font-size:12px;margin:16px 0 0}.chess-app .game-preparation .room-info:not([hidden]){display:block;text-align:left;border:0;padding:0;margin:24px 0 0}.chess-app .game-preparation .room-info>span{color:var(--game-muted);font-size:12px}.chess-app .game-preparation .room-info strong{display:block;font-size:40px;line-height:1.2;letter-spacing:5px;padding:12px 0;margin:0;overflow-wrap:anywhere}.chess-app .game-preparation .room-waiting-note{font-size:14px;color:var(--game-muted);line-height:1.6;margin:2px 0 18px}.chess-app .game-preparation .room-info>[data-action=copy-link]{width:100%;min-height:48px;font-size:13px}.chess-app .game-preparation .connection-status{font-size:13px;line-height:1.6;margin-top:18px}.chess-app .session-overview>strong{display:block;font-size:13px;line-height:1.5}.chess-app .session-overview>p{font-size:12px;line-height:1.6;color:var(--game-muted);margin:7px 0 12px}.chess-app .session-overview>[data-action=prepare]{width:100%}.chess-app .session-overview .connection-error{color:#f3a4ae}@media(max-width:760px){.chess-app .game-preparation{grid-template-columns:minmax(0,1fr);gap:18px;margin:0 auto 24px;max-width:480px;padding-block:18px}.chess-app .preparation-intro{padding:0}.chess-app .preparation-intro h2{max-width:none;margin:9px 0;font-size:34px}.chess-app .preparation-intro p{max-width:none;font-size:13px;line-height:1.6}.chess-app .game-preparation .setup-card{padding:14px 16px 18px}.chess-app .game-preparation .game-session-title{margin-bottom:16px;padding-bottom:3px}.chess-app .game-preparation .game-field{margin-bottom:16px}.chess-app .game-preparation .game-settings-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.chess-app .game-preparation .game-settings-row .arena-select-trigger{gap:6px;padding-inline:8px}.chess-app .game-preparation .game-settings-row .arena-select-value strong{font-size:12px}.chess-app .game-preparation .game-settings-row .arena-select-value>span{font-size:10px}.chess-app .game-preparation .arena-select-menu{max-width:calc(100vw - 64px)}.chess-app .session-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;align-items:center}.chess-app .session-overview>strong{grid-column:1}.chess-app .session-overview>[data-session-summary]{grid-column:1;margin:3px 0}.chess-app .session-overview>[data-action=prepare]{grid-column:2;grid-row:1 / span 2;width:auto;font-size:11px}.chess-app .session-overview>[data-live-connection]{grid-column:1 / -1;margin:5px 0 0}}.chess-app{--game-bg:#071a27;--game-surface:#0d2434;--game-raised:#163247;--game-text:#f2f2ee;--game-muted:#becbd4;--game-line:#345164;--game-accent:#2679d7;--control-bg:#0c2130;--control-hover:#17394f;--control-border:#3f5b6f;--control-selected:#174f7d;--control-selected-line:#70a9ed;--control-blue-ink:#abd3ff;font-family:Georgia,Times New Roman,serif}.chess-app .game-card,.chess-app .game-preparation .setup-card{background:linear-gradient(130deg,#102b3c,#091e2b);border:1px solid var(--game-line);border-radius:6px;box-shadow:inset 0 1px #ffffff0c,0 6px 24px #00000012}.chess-app .player-strip{background:#0b2231;border-color:var(--game-line)}.chess-app .player-avatar{background:#15364b;border-color:#406079}.chess-app .player-identity,.chess-app .chess-clock,.chess-app .move-list,.chess-app .room-info strong{font-family:Lato,Arial,sans-serif}.chess-app .game-card-title h2{font:700 1.375rem/1.2 Georgia,Times New Roman,serif;text-transform:none;letter-spacing:0}.chess-app .game-heading h2,.chess-app .preparation-intro h2{font-family:Georgia,Times New Roman,serif;font-weight:700;text-transform:none;letter-spacing:-.025em}.chess-app .preparation-intro h2{font-size:clamp(32px,3.8vw,48px);line-height:1.1}.chess-app .preparation-step{font-family:Lato,Arial,sans-serif;letter-spacing:.09em}.chess-app .game-preparation .game-field>label{font:400 16px/1.35 Georgia,Times New Roman,serif;text-transform:none;letter-spacing:0}.chess-app .arena-select-trigger,.chess-app .join-room input{background:linear-gradient(110deg,#102c3e,#102535);border-color:#3e596e;border-radius:4px;box-shadow:inset 0 1px #ffffff05}.chess-app .arena-select-value strong,.chess-app .arena-select-option-copy strong{font-family:Georgia,Times New Roman,serif;font-weight:400}.chess-app .game-preparation .arena-select-value strong{font-size:16px}.chess-app .arena-select-menu{background:#102a3d;border-color:#4d6e87}.chess-app .game-button:not(.game-button-secondary),.chess-app .view-switch button.is-active{background:linear-gradient(105deg,#087eca,#2564d1);border:1px solid #639ff0;border-radius:6px;color:#fff;box-shadow:inset 0 1px #ffffff2b,0 3px 8px #00000020}.chess-app .game-button:not(.game-button-secondary):hover,.chess-app .view-switch button.is-active:hover{background:linear-gradient(105deg,#168edb,#3374df)}.chess-app .game-preparation .game-start,.chess-app .game-preparation [data-action=create]{font:700 19px/1.25 Georgia,Times New Roman,serif}.chess-app .game-button-secondary,.chess-app .icon-button,.chess-app .immersive-exit{background:#102a3b;border-color:#3b586c;border-radius:5px}.chess-app .game-button-secondary:hover,.chess-app .icon-button:hover{background:#193c53;border-color:#6093bc}.chess-app .view-switch{background:#0a2131}.chess-app .board-tools .view-switch button{font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:16px}.chess-app .clock-active{background:#173449;border-color:#6394b7;color:#fff}.chess-app .clock-urgent{background:#942935;border-color:#e06973}.chess-app .game-session-title>strong{font-size:16px}.chess-app .session-overview>strong{font-size:15px}.chess-app .game-history summary{font-family:Georgia,Times New Roman,serif;text-transform:none;letter-spacing:0;font-size:14px}.chess-app .game-status{font-size:15px}.chess-app .immersive-brand{font-family:var(--font-brand,Lato,Arial,sans-serif)}.chess-app .immersive-brand span{color:#368ae8}@media(max-width:760px){.chess-app .game-card-title h2{font-size:20px}.chess-app .preparation-intro h2{font-size:30px}.chess-app .game-preparation .game-settings-row .arena-select-value strong{font-size:14px}.chess-app .session-overview>strong{font-size:13px}.chess-app .game-status{font-size:14px}.chess-app .board-tools .view-switch button{font-size:15px}}[data-theme=light] .chess-app{--game-bg:#e9edf0;--game-surface:#f4f6f7;--game-raised:#dde7ef;--game-text:#132333;--game-muted:#465b6b;--game-line:#9db1be;--control-bg:#edf2f6;--control-hover:#d8e6f0;--control-border:#7e9bb0;--control-blue-ink:#1c568b}[data-theme=light] .chess-app :is(.game-card,.game-preparation .setup-card,.player-strip){background:#f1f5f7}[data-theme=light] .chess-app :is(.arena-select-trigger,.join-room input,.game-button-secondary,.icon-button,.immersive-exit,.view-switch,.arena-select-menu){background:#e8f0f5;border-color:#88a4b8}[data-contrast=high] .chess-app{--game-text:#fff;--game-muted:#fff;--game-line:#9cc6ee;--control-border:#9cc6ee}[data-theme=light][data-contrast=high] .chess-app{--game-text:#07131f;--game-muted:#07131f;--game-line:#304d66;--control-border:#304d66}.clock-settings{min-width:0;width:100%}.clock-settings .game-field{width:100%}.clock-custom{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.clock-custom label{display:grid;gap:5px;color:inherit;font:400 12px/1.4 Lato,Arial,sans-serif}.clock-custom input{width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid #53718b;border-radius:5px;background:#102b40;color:#f1f4f6;font:400 16px Lato,Arial,sans-serif}.clock-custom p{grid-column:1/-1;margin:0;color:#acbfce;font:400 11px/1.5 Lato,Arial,sans-serif}.clock-settings-home .blue-option{gap:7px}.clock-settings-home .blue-option label{font:inherit}.clock-settings-home .clock-custom{margin-left:0}.game-settings-row>.clock-settings{grid-column:1/-1}.game-settings-row:has(>.clock-settings){grid-template-columns:1fr}.clock-custom input:focus-visible{outline:2px solid #7db5f7;outline-offset:2px}[data-theme=light] .clock-custom input{background:#f6f8fb;color:#17334b;border-color:#8ca5b9}[data-theme=light] .clock-custom p{color:#4b647a}html[data-contrast=high] .clock-custom input{background:#000;color:#ffeb3b;border-color:#ffeb3b}.clock-settings-home{grid-column:1/-1}@media(max-width:700px){.blue-lobby .blue-game-options>[data-computer-option]{grid-column:1/-1}}@media(max-width:700px){.chess-app .chess-clock.clock-long{font-size:clamp(.85rem,3.9vw,1rem);letter-spacing:-.02em;padding-inline:3px;min-width:0}}.training-library,.opening-library{padding-bottom:64px}.training-levels{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.training-levels button{padding:13px 20px;border:1px solid #34536c;background:#112738;color:#d6e3ed;border-radius:6px;font-weight:700;cursor:pointer}.training-levels button[aria-pressed=true]{background:#246196;border-color:#518fc2;color:#fff}.training-plan{border:1px solid #29465c;background:linear-gradient(140deg,#112b3d,#0d202d);padding:30px;border-radius:10px}.training-plan-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:26px}.training-plan h2{font-size:30px;margin:4px 0 8px}.training-plan p{color:#b7cbd9}.training-score{font-size:42px;color:#e5f3ff;white-space:nowrap}.training-score span{font-size:15px;color:#a3bdcf}.training-steps{padding:0;margin:0;list-style:none}.training-steps li{display:grid;grid-template-columns:40px 1fr auto;gap:18px;align-items:center;padding:22px 0;border-top:1px solid #29485f}.training-step-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid #4a6d88;border-radius:50%;font-weight:700;color:#b4cde1}.is-complete .training-step-mark{background:#244b6c;color:#fff}.training-steps h3{font-size:19px;margin:4px 0}.training-steps p{font-size:14px;margin:5px 0 0;max-width:560px}.training-steps li>div>span,.training-locked{font-size:13px;color:#a7c1d5}.training-storage{font-size:14px;color:#92aebe;margin:20px 0}.training-complete{padding:16px;background:#1b4464;border-radius:6px}.training-game-notice{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;border:1px solid #35536b;background:#102d43;border-radius:6px;font-size:13px;margin-bottom:12px;color:#bed7ea}.training-game-notice a{color:#e3f2ff;text-decoration:underline}.learning-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.learning-shortcuts{margin-bottom:32px}.learning-resource{display:flex;gap:20px;padding:24px;background:#132d40;border:1px solid #294e69;border-radius:8px;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.learning-resource:hover{border-color:#5592c4;transform:translateY(-2px)}.learning-resource>span{font-size:30px;font-weight:700;color:#83b1d5;min-width:60px}.learning-resource h2,.learning-resource h3{font-size:22px;margin:0 0 8px}.learning-resource p{font-size:15px;color:#b2cadb;line-height:1.65;margin:0}.opening-picker-label,.puzzle-filter-label{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:700}.opening-picker-label{margin:0 0 24px;flex-wrap:wrap}.opening-picker-label select,.puzzle-filter-label select{background:#18354b;border:1px solid #466985;border-radius:5px;color:#edf5ff;padding:10px 32px 10px 12px;font:inherit;max-width:100%}.opening-library .opening-layout{padding:20px 0 44px;margin:0;align-items:start}.opening-view{min-width:0}.opening-lesson .opening-view{position:sticky;top:100px}.opening-plans h2{font-size:30px;margin:0 0 16px}.opening-plans h3{font-size:19px;margin:24px 0 8px}.opening-plans p{line-height:1.8;color:#bed0df}.opening-plans .tip-box{margin:24px 0}.opening-explanation{font-size:16px;line-height:1.7;min-height:3.4em;padding:16px;background:#152e41;border-left:3px solid #4e8fc3}.opening-line{display:flex;flex-wrap:wrap;gap:4px}.opening-line button{padding:5px 7px;border-radius:3px;border:1px solid transparent;background:transparent;color:inherit;font-size:16px;cursor:pointer}.opening-line button:hover,.opening-line button[aria-current=step]{background:#24547a;border-color:#4d82ac;color:#fff}.opening-catalog{margin-top:12px}.opening-catalog h2{margin-bottom:22px}.opening-catalog-card .mini-board{width:120px;min-width:120px;height:120px;margin:0;border-width:4px}.content-source{font-size:13px!important;line-height:1.65!important;color:#94b1c7!important}.content-source a,a.content-source{text-decoration:underline}.puzzle-filter-label{flex-direction:column;align-items:stretch;gap:5px;margin:14px 0}.puzzle-progress{display:flex;flex-wrap:wrap;gap:6px;max-height:170px;overflow:auto}.puzzle-progress button[hidden]{display:none}.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:64px}.chess-fact{padding:30px;background:#112a3c;border:1px solid #2f4e66;border-radius:8px}.fact-number{display:block;font-family:Barlow Condensed,sans-serif;color:#5d9dce;font-size:60px;line-height:1.1}.chess-fact h2{font-size:24px;margin:20px 0 12px}.chess-fact p{font-size:17px;line-height:1.85;color:#bfd1df}.lesson-table-wrap{overflow:auto;margin:24px 0}.lesson-table-wrap table{border-collapse:collapse;width:100%;min-width:340px}.lesson-table-wrap td,.lesson-table-wrap th{padding:12px 14px;text-align:left;border:1px solid #34516a}.lesson-table-wrap th{background:#17374e}.notation-quiz{padding:24px;border:1px solid #416580;background:#112c40;border-radius:8px;margin:24px 0}.quiz-heading{display:flex;justify-content:space-between;color:#9ebed6;font-size:14px}.notation-quiz h3{font-size:22px}.quiz-answers{display:grid;gap:10px}.quiz-answers button{font:inherit;text-align:left;padding:14px;background:#1a3c55;color:#e4f3ff;border:1px solid #416b8c;border-radius:5px;cursor:pointer}.quiz-answers button:hover{background:#254f70}.quiz-answers button:disabled{cursor:default;opacity:.7}.quiz-answers .quiz-correct:disabled{border-color:#76a5cc;background:#285b82;opacity:1}.notation-quiz code{font-weight:700;font-size:1.2em}.notation-quiz [data-quiz-feedback]{min-height:1.8em}.game-actions button[data-action=draw]{grid-column:span 2}.game-card [data-draw-offer] .game-button{margin:5px 0}html[data-theme=light] :is(.training-plan,.learning-resource,.chess-fact,.notation-quiz){background:#f3f7fb;border-color:#bdd0e0;color:#16364f}html[data-theme=light] :is(.training-plan p,.training-score,.training-steps li>div>span,.training-locked,.learning-resource p,.opening-plans p,.chess-fact p,.content-source){color:#3b5c76!important}html[data-theme=light] .opening-explanation{background:#e1edf6;color:#21435c}html[data-theme=light] :is(.training-levels button,.opening-picker-label select,.puzzle-filter-label select,.quiz-answers button){background:#e5eef6;color:#183c58;border-color:#a7c4da}html[data-theme=light] :is(.training-levels button[aria-pressed=true],.quiz-answers .quiz-correct:disabled){background:#265f8c;color:#fff}html[data-theme=light] .lesson-table-wrap th{background:#dceaf5}html[data-contrast=high] :is(.training-plan,.learning-resource,.chess-fact,.notation-quiz,.training-game-notice,.opening-explanation){background:#000;color:#ff0;border-color:#ff0}@media(max-width:760px){.training-plan{padding:20px 16px}.training-plan-heading{flex-direction:column;gap:8px}.training-score{font-size:28px}.training-steps li{grid-template-columns:32px minmax(0,1fr);gap:12px}.training-steps li>.btn,.training-steps li>.training-locked{grid-column:2;justify-self:start}.training-step-mark{width:30px;height:30px}.learning-resource-grid,.facts-grid{grid-template-columns:1fr}.learning-resource{padding:20px;gap:14px}.learning-resource>span{min-width:46px}.opening-lesson .opening-view{position:static}.opening-catalog-card .mini-board{width:88px;min-width:88px;height:88px}.opening-catalog-card{padding:16px;gap:14px}.opening-catalog-card h3{font-size:20px}.opening-catalog-card p{font-size:14px}.opening-plans h2{font-size:26px}.opening-picker-label select{width:100%}.training-game-notice{font-size:12px;padding:9px 12px}.chess-fact{padding:24px}.fact-number{font-size:48px}.notation-quiz{padding:18px}.quiz-answers button{font-size:16px}.training-library,.opening-library{padding-bottom:40px}}
