.visualization-container--fixed-height{height:31.25rem}.visualization-container--auto-height{min-height:12.5rem}.visualization-content{align-items:center;display:flex;flex:1 1;height:100%;justify-content:center;width:100%}.visualization-header{align-items:center;background-color:#111827;border-bottom:.0625rem solid #374151;border-radius:.5rem .5rem 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem}.visualization-header h3{color:#e5e7eb;font-size:1.125rem;font-weight:600;margin:0}.visualization-container--padded{align-items:center;gap:1rem;padding:1rem}.visualization-svg-container{display:flex;justify-content:center;max-width:50rem;width:100%}.visualization-svg{background-color:#374151;border:.0625rem solid #4b5563;border-radius:.5rem;height:21.875rem}.inline-visualization-container{background-color:#1f2937;border:.0625rem solid #374151;border-radius:.5rem;box-sizing:border-box;max-width:50rem;padding:1rem;width:100%}.container-with-border-bottom{border-bottom:.0625rem solid #374151}.container-top-radius-only{border-radius:.5rem .5rem 0 0}.container-full-width{width:100%}.container-centered{margin:0 auto}.visualization-segment{background-color:#1f2937;border:.0625rem solid #374151;border-radius:.5rem;padding:1rem}.visualization-container svg text{background-image:none!important;background:#0000!important;border:none!important;box-shadow:none!important;font-family:inherit!important;font-weight:inherit!important;letter-spacing:normal!important;line-height:inherit!important;min-height:0!important;min-height:auto!important;text-decoration:none!important;text-shadow:none!important;text-transform:none!important}@media (max-width:48rem){.visualization-container--fixed-height{height:25rem}.visualization-header{flex-direction:column;gap:.5rem;text-align:center}.visualization-container--padded{gap:.5rem;padding:.5rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:lightgrayscale;display:flex;flex-direction:column;font-family:inherit;justify-content:center;margin:0 0 3.125rem 3.125rem;.chess-table{display:flex;flex-direction:column;width:37.5rem;.fen-layout{margin:.3125rem;#horiz{#edit-string{width:30.3125rem}#edit-string,#submitFen{border-radius:.3125rem;height:2.375rem;margin:.3125rem}#submitFen{background-color:#006400;color:#fff;font-size:.75rem}}}.ascii-layout{display:flex;margin:.3125rem;#board{background-color:#add8e6;border-radius:.3125rem;color:#000;font-size:.9375rem;margin:.3125rem;padding:.625rem;width:100%}}}}.helper-select-container{display:inline-block;position:relative}.helper-select-container select.helper-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem .75rem;border:.0625rem solid #4e5d6c;border-radius:.375rem;display:inline-block;font-size:1rem;font-weight:400;line-height:1.5;min-width:12.5rem;padding:.375rem 2.25rem .375rem .75rem;width:auto}.helper-select-container select.helper-select:focus{border-color:#8e9fad;box-shadow:0 0 0 .25rem #4e5d6c40;outline:0}.helper-select-container select.helper-select option{background-color:#4e5d6c;color:#fff}.App{text-align:left}.App .chess-container{display:flex;flex-direction:column;margin:0 auto;max-width:100rem;padding:0 1.25rem}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(.625rem + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}.title{padding-left:1.25rem;text-align:left}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.display-options{display:flex;gap:.5rem;justify-content:center;margin:.3125rem;margin:.625rem 0;padding:.3125rem}.display-toggle{background-color:#4a5568;border:none;border-radius:.25rem;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.display-toggle:hover,.display-toggle:hover:not(:disabled){background-color:#2d3748}.display-toggle:disabled{background-color:#2b6cb0;box-shadow:0 0 0 .125rem #4299e1;cursor:default}.header-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.chess-container{display:flex;flex-direction:column;gap:1rem;min-height:100vh;padding:1rem;width:100%}.view-controls-container{display:flex;flex-direction:row;gap:2rem;padding:1rem}.view-controls-left,.view-controls-right{display:flex;flex:1 1;flex-direction:column;gap:1rem}.dropdowns-container{display:flex;gap:1rem;justify-content:flex-start;margin-bottom:1rem;padding:0}.dropdowns-container .selector-container{padding:0}.dropdowns-container .select-control{margin:0;min-width:11.25rem}.combined-controls-disclosure,.fen-controls-disclosure,.move-controls-disclosure,.view-controls-disclosure{background:#0000001a;border:.0625rem solid #fff3;border-radius:.5rem;overflow:hidden}.attached-header{border-radius:0!important;border-top:.0625rem solid #ffffff1a}.disclosure-header{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.disclosure-header:hover{background:#ffffff0d}.disclosure-header:focus{outline:.125rem solid #007bff;outline-offset:-.125rem}.disclosure-chevron{color:#007bff;font-size:.75rem;transition:transform .2s ease}.disclosure-chevron.expanded{transform:rotate(90deg)}.disclosure-title{color:#e2e8f0;font-weight:600}.disclosure-content{box-sizing:border-box;overflow:hidden;transition:max-height .3s ease,padding .3s ease;width:100%}.disclosure-content.collapsed{max-height:0;padding:0 1rem}.disclosure-content.expanded{max-height:31.25rem;padding:0 1rem 1rem}.view-controls-grid{grid-gap:1rem;box-sizing:border-box;display:grid;gap:1rem;grid-template-columns:repeat(5,12.5rem);width:100%}.view-controls-grid .selector-wrapper{box-sizing:border-box;margin:0;width:100%}.view-controls-grid .select-control{box-sizing:border-box;margin:0;max-width:10rem;min-width:10rem;width:10rem}.dropdowns-container{display:none}.main-content{grid-gap:2rem;align-items:stretch;display:grid;gap:2rem;grid-template-areas:"positional historical";grid-template-columns:1fr 1fr;height:100%;overflow:hidden;padding-bottom:.5rem;width:100%}.positional-section{align-items:center;grid-area:positional;justify-content:center;overflow:hidden}.historical-section,.positional-section{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;width:100%}.historical-section{grid-area:historical}.historical-section .view-container{align-items:center;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:0;overflow:auto;width:100%}@media (max-width:62.5rem){.chess-container{max-width:100%;padding:.5rem}.main-content{display:flex;flex-direction:column;gap:1rem;height:auto}.positional-section{min-height:18.75rem;order:1;width:100%}.historical-section{min-height:18.75rem;order:2;width:100%}.view-controls-grid{gap:.5rem;grid-template-columns:1fr}}.accordion{background:#0000001a;border:.0625rem solid #fff3;border-radius:.5rem;overflow:hidden}.accordion-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease;width:100%}.accordion-header:hover{background:#ffffff0d}.accordion-header:focus{outline:.125rem solid #007bff;outline-offset:-.125rem}.accordion-chevron{color:#007bff;font-size:.75rem;transition:transform .2s ease}.accordion-chevron.expanded{transform:rotate(90deg)}.accordion-title{font-weight:600}.accordion-title--cyborg,.accordion-title--darkly,.accordion-title--quartz,.accordion-title--slate,.accordion-title--solar,.accordion-title--superhero,.accordion-title--vapor{color:#e2e8f0}.accordion-title--cerulean,.accordion-title--cosmo,.accordion-title--flatly,.accordion-title--journal,.accordion-title--litera,.accordion-title--lumen,.accordion-title--materia,.accordion-title--minty,.accordion-title--pulse,.accordion-title--sandstone,.accordion-title--simplex,.accordion-title--sketchy,.accordion-title--spacelab,.accordion-title--united,.accordion-title--yeti{color:#1a202c}.accordion-header--cyborg,.accordion-header--darkly,.accordion-header--quartz,.accordion-header--slate,.accordion-header--solar,.accordion-header--superhero,.accordion-header--vapor{color:#e2e8f0}.accordion-header--cerulean,.accordion-header--cosmo,.accordion-header--flatly,.accordion-header--journal,.accordion-header--litera,.accordion-header--lumen,.accordion-header--materia,.accordion-header--minty,.accordion-header--pulse,.accordion-header--sandstone,.accordion-header--simplex,.accordion-header--sketchy,.accordion-header--spacelab,.accordion-header--united,.accordion-header--yeti{color:#1a202c}.accordion-content{box-sizing:border-box;overflow:hidden;transition:max-height .3s ease,padding .3s ease;width:100%}.accordion-content.collapsed{max-height:0;padding:0 1rem}.accordion-content.expanded{max-height:31.25rem;padding:0 1rem 1rem}.graph-view-container{align-items:center;display:flex;justify-content:center}.graph-view,.graph-view-container{height:100%;width:100%}.visualization-container{background-color:#1f2937;border:.0625rem solid #374151;border-radius:.5rem;display:flex;flex-direction:column;height:100%;max-width:50rem;overflow:hidden;position:relative;width:100%}.visualization-svg{flex:1 1;height:100%;width:100%}.visualization-svg text{font-feature-settings:"tnum"!important;font-family:Noto Sans Mono,Source Code Pro,Consolas,DejaVu Sans Mono,monospace!important;font-variant-numeric:tabular-nums!important;font-weight:500!important}.visualization-container--centered{align-items:center;justify-content:center}.visualization-container--flex-column{flex-direction:column}.visualization-container--with-padding{justify-content:center;padding:1rem}.history-table-container{display:flex;flex-direction:column;height:100%;width:100%}.history-table-header{flex-shrink:0;padding:.5rem 0}.history-table-header h3{margin:0}.position-info{color:#9ca3af;font-size:.875rem;font-weight:500}.history-table-wrapper{flex:1 1;overflow-x:auto;overflow-y:auto;position:relative;scroll-behavior:smooth}.history-table{border-collapse:collapse;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;width:100%}.history-table thead{background-color:#374151;box-shadow:0 .125rem .25rem #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:10}.history-table th{border-bottom:.125rem solid #4b5563;color:#60a5fa;font-weight:600;padding:.75rem 1rem;text-align:left;white-space:nowrap}.history-table th:first-child{width:3.75rem}.history-table th:nth-child(2){width:7.5rem}.history-table th:nth-child(3){width:5rem}.history-table th:last-child{min-width:18.75rem;width:auto}.history-row{scroll-margin:2rem;transition:all .2s ease}.history-row:hover{background-color:#374151}.history-row.current-position{animation:highlightPulse 1s ease-in-out;background-color:#1e3a8a;border-left:.25rem solid #3b82f6;box-shadow:0 0 0 .0625rem #3b82f6}.history-row.current-position:hover{background-color:#1e40af}@keyframes highlightPulse{0%{box-shadow:0 0 0 .0625rem #3b82f6}50%{box-shadow:0 0 0 .1875rem #3b82f680}to{box-shadow:0 0 0 .0625rem #3b82f6}}.history-table td{border-bottom:.0625rem solid #374151;color:#d1d5db;padding:.5rem 1rem;vertical-align:top}.ply-cell{color:#9ca3af;font-weight:600;text-align:center}.move-cell{color:#60a5fa;font-weight:500}.uci-cell{color:#fbbf24;font-size:.8rem}.fen-cell,.uci-cell{font-family:monospace}.fen-cell{color:#9ca3af;font-size:.75rem;line-height:1.4;max-width:0;word-break:break-all}.history-table-wrapper::-webkit-scrollbar{width:.75rem}.history-table-wrapper::-webkit-scrollbar-track{background:#1f2937;border-radius:.375rem}.history-table-wrapper::-webkit-scrollbar-thumb{background:#4b5563;border:.125rem solid #1f2937;border-radius:.375rem}.history-table-wrapper::-webkit-scrollbar-thumb:hover{background:#6b7280}.history-table-wrapper::-webkit-scrollbar-thumb:active{background:#9ca3af}.history-table-wrapper{scrollbar-color:#4b5563 #1f2937;scrollbar-width:thin}@media (max-width:48rem){.history-table-container{height:25rem}.history-table-header{flex-direction:column;gap:.5rem;text-align:center}.history-table td,.history-table th{padding:.5rem}.fen-cell{font-size:.6rem}}.history-row:focus-within{outline:.125rem solid #3b82f6;outline-offset:-.125rem}.history-table-wrapper{scroll-padding-top:3rem}.keybinding-indicators{background:#000c;border-radius:.5rem;bottom:1.25rem;color:#fff;cursor:pointer;font-size:.85em;max-width:15.625rem;opacity:.7;padding:.625rem .9375rem;position:fixed;right:1.25rem;transition:opacity .3s ease;z-index:1000}.keybinding-indicators:hover{opacity:1}.keybinding-header{border-bottom:.0625rem solid #ffffff4d;font-weight:700;margin-bottom:.5rem;padding-bottom:.3125rem}.keybinding-list{display:flex;flex-direction:column;gap:.25rem}.keybinding-item{align-items:center;display:flex;justify-content:space-between}.keybinding-key{background:#fff3;border-radius:.1875rem;display:inline-block;font-family:monospace;min-width:1.875rem;padding:.125rem .375rem;text-align:center}.keybinding-description{flex:1 1;margin-left:.625rem;text-align:left}.moves-layout{background:#0000000d;border-radius:.375rem;display:flex;flex-direction:column;gap:.75rem;margin:0 auto;max-width:25rem;padding:.625rem;width:100%}.moves-forward{grid-gap:.25rem;grid-template-areas:"dropdown dropdown position submit submit"}.moves-buttons,.moves-forward{align-items:center;box-sizing:border-box;display:grid;gap:.25rem;grid-template-columns:1fr 1fr 7.5rem 1fr 1fr;width:100%}.moves-buttons{grid-gap:.25rem;grid-template-areas:". . . undo undo"}#selectedMove{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem .75rem;border:.0625rem solid #4a5568;border-radius:.3125rem;box-sizing:border-box;cursor:pointer;font-family:monospace;font-size:.875rem;height:2.375rem;margin:0;min-width:0;padding:0 2.5rem 0 .625rem;transition:opacity .2s,background-color .2s;width:100%}#selectedMove:focus{background-color:#fff3cd!important;border-color:#2b6cb0;box-shadow:0 0 0 .1875rem #ffd70066;outline:.1875rem solid gold;outline-offset:.125rem}#selectedMove:disabled{background-color:#f7fafc;color:#a0aec0;cursor:not-allowed;opacity:.6}#move{background-color:#fff;border:.0625rem solid #4a5568;border-radius:.3125rem;box-sizing:border-box;font-family:monospace;font-size:.875rem;grid-area:position;height:2.375rem;margin:0;padding:0 .625rem;transition:opacity .2s,background-color .2s;width:100%}#move:focus{background-color:#fff3cd!important;border-color:#2b6cb0;box-shadow:0 0 0 .1875rem #ffd70066;outline:.1875rem solid gold;outline-offset:.125rem}#move:disabled{background-color:#f7fafc;color:#a0aec0;cursor:not-allowed;opacity:.6}#move:disabled::placeholder{color:#cbd5e0}#submitMove{border:none;border-radius:.3125rem;box-sizing:border-box;color:#fff;cursor:pointer;font-size:.75rem;grid-area:submit;height:2.375rem;margin:0;padding:0 .75rem;transition:background-color .2s,opacity .2s;white-space:nowrap;width:100%}#submitMove:hover:not(:disabled){background-color:#006400}#submitMove:active:not(:disabled){background-color:#004d00}#submitMove:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}#undo{align-items:center;border:none;border-radius:.3125rem;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;grid-area:undo;height:2.375rem;justify-content:center;margin:0;padding:0 .9375rem;transition:background-color .2s,opacity .2s;white-space:nowrap;width:100%}#undo .keybinding{background:#fff3;border-radius:.1875rem;font-family:monospace;font-size:.75em;opacity:.8;padding:.0625rem .25rem}#undo:focus{background-color:#dc3545!important}#submitMove:focus,#undo:focus{box-shadow:0 0 0 .1875rem #ffd70066;outline:.1875rem solid gold;outline-offset:.125rem;transform:scale(1.05)}#undo:hover:not(:disabled){background-color:#8b0000}#undo:active:not(:disabled){background-color:#600}#undo:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.move-error,.undo-message{background-color:#fee;border:.0625rem solid #fcc;border-radius:.25rem;font-size:.875rem;margin-top:.5rem;padding:.5rem}@media (max-width:48rem){.moves-layout{align-items:stretch;flex-direction:column}.moves-forward{flex-wrap:wrap;min-width:auto}#move,#selectedMove,#submitMove,#undo{margin-bottom:.5rem;width:100%}#undo{margin-left:0}}.navigation-controls{display:flex;flex-direction:column;gap:.625rem;margin:0 auto;max-width:25rem}.navigation-buttons{grid-gap:.25rem;align-items:center;display:grid;gap:.25rem;grid-template-areas:"start back position forward end";grid-template-columns:1fr 1fr 7.5rem 1fr 1fr}.nav-button{align-items:center;background:#007bff;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.25rem;height:2.25rem;justify-content:center;padding:.25rem .5rem;transition:background-color .2s ease}.nav-button .keybinding{background:#fff3;border-radius:.1875rem;font-family:monospace;font-size:.75em;opacity:.8;padding:.0625rem .25rem}.nav-button:focus{background:#0056b3!important;box-shadow:0 0 0 .1875rem #ffd70066;outline:.1875rem solid gold;outline-offset:.125rem;position:relative;transform:scale(1.1);z-index:10}.start-button{grid-area:start}.backward-button{grid-area:back}.forward-button{grid-area:forward}.end-button{grid-area:end}.nav-button:hover:not(:disabled){background:#0056b3}.nav-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.5}.position-indicator{background:#ffffff1a;border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:700;grid-area:position;padding:.5rem .25rem;text-align:center}.navigation-controls{background:#0000000d;border-radius:.375rem;padding:.625rem}@media (max-width:48rem){.navigation-buttons{gap:.25rem}.nav-button{font-size:.875rem;height:2rem;min-width:2rem;padding:.375rem .5rem}.position-indicator{font-size:.75rem;margin:0 .25rem;min-width:3.125rem}}.piece-view-button-group{display:flex;flex-wrap:wrap;gap:.5rem}.piece-view-button{align-items:center;background-color:#fff;border:.125rem solid #ccc;border-radius:.375rem;color:#333;cursor:pointer;display:flex;font-family:monospace;font-size:1rem;font-weight:500;height:2.5rem;justify-content:center;min-width:5rem;padding:.5rem .75rem;transition:all .2s ease}.piece-view-button:hover{background-color:#f8f9fa;border-color:#999}.piece-view-button.active{background-color:#007bff;border-color:#007bff;color:#fff}.piece-view-button.large{font-size:1.25rem;height:2.75rem}.promotion-overlay{-webkit-backdrop-filter:blur(.125rem);backdrop-filter:blur(.125rem);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.promotion-dialog{background:#fff;border:.125rem solid #333;border-radius:.5rem;box-shadow:0 .25rem 1.25rem #0000004d;font-family:monospace;left:50%;min-width:18.75rem;padding:1.25rem;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.promotion-dialog h3{color:#333;font-size:1.125rem;font-weight:700;margin-bottom:1.25rem;margin-top:0;text-align:center}.promotion-options{grid-gap:.625rem;display:grid;gap:.625rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.25rem}.promotion-button{align-items:center;background:#f5f5f5;border:.125rem solid #ddd;border-radius:.3125rem;cursor:pointer;display:flex;flex-direction:column;font-family:monospace;padding:.9375rem;transition:all .2s ease}.promotion-button:hover{background:#e0e0e0;border-color:#333;box-shadow:0 .125rem .5rem #0003;transform:translateY(-.125rem)}.promotion-piece-symbol{font-size:2.75rem;line-height:1;margin-bottom:.5rem}.promotion-move-notation{color:#333;font-size:.875rem;font-weight:700}.promotion-cancel{background:#dc3545;border:none;border-radius:.3125rem;color:#fff;cursor:pointer;font-family:monospace;font-size:.875rem;font-weight:700;padding:.625rem;transition:background .2s ease;width:100%}.promotion-cancel:hover{background:#c82333}body.cyborg .promotion-dialog{background:#2a2a2a;border-color:#80ffdb;color:#80ffdb}body.cyborg .promotion-dialog h3{color:#80ffdb}body.cyborg .promotion-button{background:#333;border-color:#80ffdb;color:#80ffdb}body.cyborg .promotion-button:hover{background:#444;border-color:#80ffdb}body.cyborg .promotion-move-notation{color:#80ffdb}body.vapor .promotion-dialog{background:#2a2a2a;border-color:#ff6baf;color:#ff6baf}body.vapor .promotion-dialog h3{color:#ff6baf}body.vapor .promotion-button{background:#333;border-color:#ff6baf;color:#ff6baf}body.vapor .promotion-button:hover{background:#444;border-color:#ff6baf}body.vapor .promotion-move-notation{color:#ff6baf}body.solar .promotion-dialog{background:#002b36;border-color:#b58900;color:#b58900}body.solar .promotion-dialog h3{color:#b58900}body.solar .promotion-button{background:#073642;border-color:#b58900;color:#b58900}body.solar .promotion-button:hover{background:#0a4c5a;border-color:#b58900}body.solar .promotion-move-notation{color:#b58900}body.superhero .promotion-dialog{background:#2b3e50;border-color:#df691a;color:#df691a}body.superhero .promotion-dialog h3{color:#df691a}body.superhero .promotion-button{background:#34495e;border-color:#df691a;color:#df691a}body.superhero .promotion-button:hover{background:#3e5771;border-color:#df691a}body.superhero .promotion-move-notation{color:#df691a}body{.start-fen{border-radius:.3125rem;height:2.375rem;margin:.3125rem;width:30.3125rem}}.position-layout{display:flex;margin:0;padding:0;width:100%}.position-select{background-position:right .75rem center;border-radius:.3125rem;height:2.375rem;padding:0 .625rem;text-align:center;width:31.25rem}.position-select--quartz{height:2.75rem!important;line-height:2.75rem;padding:0 .625rem}.position-select:focus{background-color:#fff3cd!important;box-shadow:0 0 0 .1875rem #ffd70066!important;color:#856404!important;outline:.1875rem solid gold!important;outline-offset:.125rem;position:relative;transform:scale(1.02);z-index:10}.position-select option{padding:.5rem}.position-select::-ms-expand{display:none}@media (max-width:48rem){.position-layout{margin:.3125rem 0;max-width:25rem}}.fen-layout{align-items:flex-start;display:flex;flex-direction:column}.fen-controls,.fen-layout{margin:0;padding:0;width:100%}#edit-string{background-color:#fff;border:.0625rem solid #4e5d6c;border-radius:.3125rem;font-family:monospace;font-size:.875rem;height:2.375rem;margin-bottom:0;padding:0 .625rem;width:100%}.fen-input--quartz{background-color:#fff!important;border:.125rem solid #4e5d6c!important;color:#000!important}#submitFen{width:100%}.connection-status{align-items:center;border-radius:.25rem;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.25rem .75rem;transition:all .3s ease}.connection-status__icon{font-size:.75rem}.connection-status__text{font-weight:500}.connection-status--connected{background-color:#22c55e1a;color:#22c55e}.connection-status--connecting{animation:pulse 2s infinite;background-color:#eab3081a;color:#eab308}.connection-status--disconnected{background-color:#94a3b81a;color:#94a3b8}.connection-status--error{background-color:#ef44441a;color:#ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.lichess-game-link{align-items:center;background-color:#0000000d;border:.0625rem solid #0000001a;border-radius:.3125rem;flex:0 0 auto;flex-direction:row;min-height:2.5rem;padding:.5rem .75rem}.lichess-game-link,.lichess-game-link__actions{display:flex;gap:.5rem}.lichess-game-link__button{align-items:center;background-color:#fff;border:.0625rem solid #ccc;border-radius:.25rem;color:#333;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem;transition:all .2s ease}.lichess-game-link__button:hover{background-color:#f5f5f5;border-color:#999}.lichess-game-link__button--open{background-color:#629924;border-color:#629924;color:#fff}.lichess-game-link__button--open:hover{background-color:#4a7a1a;border-color:#4a7a1a}.lichess-game-link__button--copy{background-color:#f0f0f0}.lichess-game-link__button--copy:hover{background-color:#e0e0e0}.lichess-game-link__icon{font-size:.875rem}.lichess-game-link__text{font-size:.75rem}.lichess-game-link__id{color:#888;font-family:monospace;font-size:.75rem;white-space:nowrap}.cyborg .lichess-game-link{background-color:#80ffdb1a;border-color:#80ffdb33}.cyborg .lichess-game-link__button{background-color:#2a2a2a;border-color:#444;color:#80ffdb}.cyborg .lichess-game-link__button:hover{background-color:#333;border-color:#80ffdb}.vapor .lichess-game-link{background-color:#ff6baf1a;border-color:#ff6baf33}.vapor .lichess-game-link__button{background-color:#2a2a2a;border-color:#444;color:#ff6baf}.vapor .lichess-game-link__button:hover{background-color:#333;border-color:#ff6baf}.solar .lichess-game-link{background-color:#b589001a;border-color:#b5890033}.solar .lichess-game-link__button{background-color:#002b36;border-color:#073642;color:#b58900}.superhero .lichess-game-link{background-color:#df691a1a;border-color:#df691a33}.superhero .lichess-game-link__button{background-color:#2b3e50;border-color:#34495e;color:#df691a}.lichess-login{background-color:#f5f5f5;border:.0625rem solid #ddd;border-radius:.25rem}.lichess-login,.lichess-login__loading{align-items:center;display:inline-flex;font-family:monospace;font-size:.875rem;gap:.625rem;padding:.5rem .75rem}.lichess-login__icon{color:#4caf50}.lichess-login__text{color:#333}.lichess-login__username{font-weight:700}.lichess-login__logout-btn{background-color:#dc3545;border:none;border-radius:.1875rem;color:#fff;cursor:pointer;font-family:monospace;font-size:.75rem;padding:.25rem .75rem;transition:background-color .2s}.lichess-login__logout-btn:hover{background-color:#c82333}.lichess-login__not-logged-in{color:#666}.lichess-login__login-btn{background-color:#690;border:none;border-radius:.1875rem;color:#fff;cursor:pointer;font-family:monospace;font-size:.875rem;font-weight:700;padding:.375rem 1rem;transition:background-color .2s}.lichess-login__login-btn:hover{background-color:#7ab200}.cyborg .lichess-login{background-color:#2a2a2a;border-color:#80ffdb}.cyborg .lichess-login__not-logged-in,.cyborg .lichess-login__text{color:#80ffdb}.vapor .lichess-login{background-color:#2a2a2a;border-color:#ff6baf}.vapor .lichess-login__not-logged-in,.vapor .lichess-login__text{color:#ff6baf}.solar .lichess-login{background-color:#002b36;border-color:#b58900}.solar .lichess-login__not-logged-in,.solar .lichess-login__text{color:#b58900}.superhero .lichess-login{background-color:#2b3e50;border-color:#df691a}.superhero .lichess-login__not-logged-in,.superhero .lichess-login__text{color:#df691a}.setup-mode-container{display:flex;flex-direction:column;height:12.5rem;max-width:none;width:100%}.mode-tabs{border-bottom:.125rem solid #ddd;display:flex;gap:0;margin-bottom:1.25rem}.tab{background:none;border:none;border-bottom:.1875rem solid #0000;color:#666;cursor:pointer;font-family:monospace;font-size:.875rem;font-weight:500;margin-bottom:-.125rem;padding:.625rem 1.25rem;transition:all .2s}.tab:hover{background-color:#00000008;color:#333}.tab.active{border-bottom-color:#007bff;color:#007bff;font-weight:700}.tab.light{color:#666}.tab.light.active{color:#007bff}.tab.cyborg{color:#80ffdb}.tab.vapor{color:#ff6baf}.tab.solar{color:#b58900}.tab.superhero{color:#df691a}.tab.cyborg.active{border-bottom-color:#80ffdb;color:#80ffdb}.tab.vapor.active{border-bottom-color:#ff6baf;color:#ff6baf}.tab.solar.active{border-bottom-color:#b58900;color:#b58900}.tab.superhero.active{border-bottom-color:#df691a;color:#df691a}.tab.blue{color:#1976d2}.tab.blue.active{border-bottom-color:#1565c0;color:#1565c0}.analysis-controls{display:flex;flex:1 1;flex-direction:column;gap:.625rem;height:6.875rem;justify-content:flex-start}.play-controls{align-items:flex-start;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:.75rem;height:6.875rem}.auth-required{align-items:center;background-color:#00000005;border-radius:.3125rem;display:flex;justify-content:center;min-height:3.75rem;padding:.9375rem;text-align:center}.auth-required p{color:#856404;font-family:monospace;margin:0}.play-status-row{align-items:flex-start;background-color:#00000005;border-radius:.3125rem;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:.75rem;padding:.625rem}.status-stack{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:15.625rem}.user-info{background-color:#4caf501a;flex:0 0 auto;flex-direction:column;font-family:monospace;font-size:.8125rem;gap:.375rem;max-width:17.5rem;min-width:13.75rem}.quick-pairing,.user-info{border-radius:.3125rem;display:flex;padding:.5rem .75rem}.quick-pairing{background-color:#00000008;flex:1 1;flex-direction:column;gap:.5rem;min-width:18.75rem}.quick-pairing-row{align-items:center;background-color:#00000008;border-radius:.3125rem;display:flex;flex-wrap:wrap;gap:.9375rem;padding:.75rem}.quick-pairing-label{font-family:monospace;font-size:.875rem;font-weight:700;white-space:nowrap}.time-control-buttons{display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem}.time-control-btn{border:none;border-radius:.3125rem;cursor:pointer;font-family:monospace;font-size:.8125rem;font-weight:700;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.time-control-btn:hover:not(:disabled){box-shadow:0 .25rem .5rem #0003;transform:translateY(-.125rem)}.time-control-btn:disabled{cursor:not-allowed;opacity:.5}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover:not(:disabled){background-color:#138496}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.cyborg .mode-tabs{border-bottom-color:#80ffdb}.vapor .mode-tabs{border-bottom-color:#ff6baf}.solar .mode-tabs{border-bottom-color:#b58900}.superhero .mode-tabs{border-bottom-color:#df691a}.cyborg .tab:hover{background-color:#80ffdb1a}.vapor .tab:hover{background-color:#ff6baf1a}.solar .tab:hover{background-color:#b589001a}.superhero .tab:hover{background-color:#df691a1a}.cyborg .auth-required{background-color:#80ffdb0d}.vapor .auth-required{background-color:#ff6baf0d}.solar .auth-required{background-color:#b589000d}.superhero .auth-required{background-color:#df691a0d}.cyborg .auth-required p{color:#80ffdb}.vapor .auth-required p{color:#ff6baf}.solar .auth-required p{color:#b58900}.superhero .auth-required p{color:#df691a}.cyborg .play-status-row{background-color:#80ffdb0d}.vapor .play-status-row{background-color:#ff6baf0d}.solar .play-status-row{background-color:#b589000d}.superhero .play-status-row{background-color:#df691a0d}.cyborg .user-info{background-color:#80ffdb33;color:#80ffdb}.vapor .user-info{background-color:#ff6baf33;color:#ff6baf}.solar .user-info{background-color:#b5890033;color:#b58900}.superhero .user-info{background-color:#df691a33;color:#df691a}.cyborg .quick-pairing{background-color:#80ffdb1a}.vapor .quick-pairing{background-color:#ff6baf1a}.solar .quick-pairing{background-color:#b589001a}.superhero .quick-pairing{background-color:#df691a1a}.cyborg .quick-pairing-row{background-color:#80ffdb1a}.vapor .quick-pairing-row{background-color:#ff6baf1a}.solar .quick-pairing-row{background-color:#b589001a}.superhero .quick-pairing-row{background-color:#df691a1a}.cyborg .quick-pairing-label{color:#80ffdb}.vapor .quick-pairing-label{color:#ff6baf}.solar .quick-pairing-label{color:#b58900}.superhero .quick-pairing-label{color:#df691a}.game-status-compact{align-items:center;background-color:#4caf5026;border:.0625rem solid #4caf50;border-radius:.3125rem;display:flex;flex-wrap:wrap;font-family:monospace;font-size:.8125rem;gap:.75rem;min-height:2.5rem;padding:.5rem .75rem}.game-active{color:#2e7d32;font-weight:700}.seeking-status-compact{align-items:center;background-color:#ffc10726;border:.0625rem solid #ffc107;border-radius:.3125rem;color:#856404;display:flex;font-family:monospace;font-size:.8125rem;font-weight:500;gap:.625rem;min-height:2.5rem;padding:.5rem .75rem}.cyborg .game-status-compact{background-color:#80ffdb33;border-color:#80ffdb;color:#80ffdb}.vapor .game-status-compact{background-color:#ff6baf33;border-color:#ff6baf;color:#ff6baf}.solar .game-status-compact{background-color:#b5890033;border-color:#b58900;color:#b58900}.superhero .game-status-compact{background-color:#df691a33;border-color:#df691a;color:#df691a}.cyborg .game-active{color:#80ffdb}.vapor .game-active{color:#ff6baf}.solar .game-active{color:#b58900}.superhero .game-active{color:#df691a}.cyborg .seeking-status-compact,.vapor .seeking-status-compact{background-color:#ffc10733;border-color:#ffb300;color:#ffd54f}.solar .seeking-status-compact{background-color:#ffc10733;border-color:#b58900;color:#b58900}.superhero .seeking-status-compact{background-color:#ffc10733;border-color:#f39c12;color:#f39c12}.game-result-compact{align-items:center;background-color:#673ab726;border:.0625rem solid #673ab7;border-radius:.3125rem;display:flex;flex:0 0 auto;font-family:monospace;font-size:.8125rem;gap:.75rem;min-height:2.5rem;padding:.5rem .75rem}.result-icon{font-size:1rem}.result-outcome{font-size:.875rem;font-weight:700}.result-outcome.win{color:#388e3c}.result-outcome.loss{color:#d32f2f}.result-outcome.draw{color:#f57c00}.result-reason{color:#666;font-size:.75rem;font-style:italic}.btn-success{background-color:#28a745;border:none;border-radius:.3125rem;color:#fff;cursor:pointer;font-family:monospace;font-size:.875rem;font-weight:700;padding:.75rem 1.25rem;transition:all .2s ease}.btn-sm{font-size:.75rem;padding:.375rem .75rem}.btn-success:hover{background-color:#218838;box-shadow:0 .25rem .5rem #0003;transform:translateY(-.125rem)}.cyborg .game-result-compact{background-color:#80ffdb33;border-color:#80ffdb;color:#80ffdb}.vapor .game-result-compact{background-color:#ff6baf33;border-color:#ff6baf;color:#ff6baf}.solar .game-result-compact{background-color:#b5890033;border-color:#b58900;color:#b58900}.superhero .game-result-compact{background-color:#df691a33;border-color:#df691a;color:#df691a}.cyborg .result-outcome.win{color:#80ffdb}.vapor .result-outcome.win{color:#ff6baf}.solar .result-outcome.win{color:#859900}.superhero .result-outcome.win{color:#5cb85c}.cyborg .result-outcome.loss,.vapor .result-outcome.loss{color:#f55}.solar .result-outcome.loss{color:#dc322f}.superhero .result-outcome.loss{color:#e74c3c}.cyborg .result-outcome.draw,.vapor .result-outcome.draw{color:#ffb74d}.solar .result-outcome.draw{color:#b58900}.superhero .result-outcome.draw{color:#f39c12}.cyborg .result-reason,.vapor .result-reason{color:#aaa}.solar .result-reason{color:#93a1a1}.superhero .result-reason{color:#aaa}.game-notification{align-items:center;background:#ffffff1a;border:.0625rem solid;border-radius:.3125rem;display:flex;font-family:monospace;font-size:.8125rem;gap:.5rem;margin-top:.625rem;padding:.625rem .75rem}.notification-icon{flex-shrink:0;font-size:1rem}.notification-text{flex:1 1;font-weight:700}.notification-close{align-items:center;background:none;border:none;border-radius:.1875rem;color:inherit;cursor:pointer;display:flex;font-size:1.125rem;height:1.25rem;justify-content:center;opacity:.7;padding:0;transition:all .2s;width:1.25rem}.notification-close:hover{background:#0000001a;opacity:1}.game-notification-error{background:#f565651a;border-color:#f56565;color:#c53030}.game-notification-warning{background:#ed89361a;border-color:#ed8936;color:#c05621}.game-notification-success{background:#48bb781a;border-color:#48bb78;color:#22543d}.game-notification-info{background:#4299e11a;border-color:#4299e1;color:#2c5282}.cyborg .game-notification,.vapor .game-notification{background:#0003}.solar .game-notification{background:#002b3633}.superhero .game-notification{background:#2b3e5033}.cyborg .game-notification-error,.vapor .game-notification-error{background:#f5656533;color:#fc8181}.solar .game-notification-error{background:#dc322f33;color:#dc322f}.superhero .game-notification-error{background:#e74c3c33;color:#e74c3c}.cyborg .game-notification-warning,.vapor .game-notification-warning{background:#ed893633;color:#f6ad55}.solar .game-notification-warning{background:#b5890033;color:#b58900}.superhero .game-notification-warning{background:#f39c1233;color:#f39c12}.cyborg .game-notification-success,.vapor .game-notification-success{background:#48bb7833;color:#68d391}.solar .game-notification-success{background:#85990033;color:#859900}.superhero .game-notification-success{background:#5cb85c33;color:#5cb85c}.cyborg .game-notification-info,.vapor .game-notification-info{background:#4299e133;color:#63b3ed}.solar .game-notification-info{background:#268bd233;color:#268bd2}.superhero .game-notification-info{background:#5bc0de33;color:#5bc0de}.cyborg .notification-close:hover,.solar .notification-close:hover,.superhero .notification-close:hover,.vapor .notification-close:hover{background:#ffffff1a}.selector-wrapper{align-items:center}.selector-label{color:#fff}.selector-container{justify-content:center}.select-control{background:#2d3748;border:.0625rem solid #4a5568;color:#fff}.select-control:focus{border-color:#4299e1;box-shadow:0 0 0 .125rem #4299e180;outline:none}.select-control:hover{background:#374151}.select-control option{background:#2d3748;color:#fff;padding:.5rem}.select-control::-ms-expand{display:none}.select-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem .75rem;padding-right:2.5rem}.historical-view-button-group{display:flex;flex-wrap:wrap;gap:.5rem}.historical-view-button{align-items:center;background-color:#fff;border:.125rem solid #ccc;border-radius:.375rem;color:#333;cursor:pointer;display:flex;font-size:1.25rem;height:2.5rem;justify-content:center;min-width:3.125rem;padding:.5rem .75rem;transition:all .2s ease}.historical-view-button:hover{background-color:#f8f9fa;border-color:#999}.historical-view-button.active{background-color:#007bff;border-color:#007bff;color:#fff}.vertical-resizer-container{display:flex;flex-direction:column;position:relative;width:100%}.vertical-resizer-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden;width:100%}.vertical-resizer-handle{background:#0000;border-bottom:.125rem solid #fff3;bottom:0;cursor:ns-resize;height:.5rem;left:0;position:absolute;right:0;transition:all .2s ease;z-index:10}.vertical-resizer-handle:hover{background:#ffffff0d;border-bottom-color:#fff6}.vertical-resizer-handle.dragging{background:#007bff1a;border-bottom-color:#007bff}.vertical-resizer-grip{align-items:center;bottom:.125rem;display:flex;height:.25rem;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);width:2.5rem}.vertical-resizer-grip:before{color:#fff6;content:"⋮";font-size:.875rem;line-height:1;transform:rotate(90deg)}.vertical-resizer-handle:hover .vertical-resizer-grip:before{color:#fff9}.vertical-resizer-handle.dragging .vertical-resizer-grip:before{color:#007bff}@media (max-width:62.5rem){.vertical-resizer-container{height:auto!important}.vertical-resizer-handle{display:none}}.auth-callback{align-items:center;display:flex;flex-direction:column;font-family:monospace;height:100vh;justify-content:center}.auth-callback__title{font-size:1.5rem;margin-bottom:1.25rem}.auth-callback__icon{font-size:2.75rem}.auth-callback__subtitle{font-size:1rem}.auth-callback__error-message{font-size:1rem;margin-bottom:.625rem}.auth-callback__redirect-notice{font-size:.875rem}.auth-callback__title--success{color:#28a745}.auth-callback__title--error{color:#dc3545}.cyborg .auth-callback__title,.cyborg .auth-callback__title--success{color:#80ffdb}.cyborg .auth-callback__title--error{color:#f55}.vapor .auth-callback__title,.vapor .auth-callback__title--success{color:#ff6baf}.vapor .auth-callback__title--error{color:#f55}.solar .auth-callback__title,.solar .auth-callback__title--success{color:#b58900}.solar .auth-callback__title--error{color:#dc322f}.superhero .auth-callback__title,.superhero .auth-callback__title--success{color:#df691a}.superhero .auth-callback__title--error{color:#e74c3c}.selector-container{display:flex;justify-content:flex-start}.selector-wrapper{align-items:flex-start;display:flex;flex-direction:column}.selector-label{font-weight:500;margin-bottom:.5rem}.select-control{border-radius:.25rem;display:flex;gap:.5rem;justify-content:center;margin:.625rem 0;padding:.5rem 1rem;width:10rem}select.select-control.btn{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem .75rem;padding-right:3rem!important}select.select-control.btn:focus{background-color:#fff3cd!important;box-shadow:0 0 0 .1875rem #ffd70066!important;color:#856404!important;outline:.1875rem solid gold!important;outline-offset:.125rem;position:relative;transform:scale(1.05);z-index:10}
/*# sourceMappingURL=main.e3998480.css.map*/