.dark-mode body,body{background-color:var(--light-bg);color:var(--light-text)}.dark-mode body,body,h1,h5,h6{color:var(--light-text)}.badge-legend,.mode-badge,.model-name{white-space:nowrap}#game-history-modal .modal-content,.container{max-width:1200px}.footer-link,.footnote-ref,.games-link,a:not(.footer-link){text-decoration:none}*,::after,::before{box-sizing:border-box}body,html{overflow-x:hidden}:root{--primary-color:#4a6cf7;--secondary-color:#6c757d;--light-bg:#f8f9fa;--dark-bg:#121212;--light-text:#212529;--dark-text:#e9ecef;--border-color:#dee2e6;--border-radius:8px;--shadow:0 4px 6px rgba(0, 0, 0, 0.1);--transition:all 0.3s ease;--elo-color:#ff9800}.card,.footer-link,.form-select,.site-footer,body{transition:var(--transition)}body{font-family:'Exo 2',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.5;margin:0;padding:0 0 70px}.dark-mode{--light-bg:#1a1a1a;--light-text:#e9ecef;--border-color:#343a40;--shadow:0 4px 6px rgba(0, 0, 0, 0.3)}.container{width:100%;margin:0 auto;padding:0 15px}.header{margin-bottom:2rem;padding-top:1.5rem}h1,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:2.5rem}.lead,h5{font-size:1.25rem}h6{font-size:1rem}.lead{font-weight:300;color:var(--secondary-color)}.card-title,.table,.table thead th,.table thead th:after{color:var(--light-text)}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.dark-mode .card,.dark-mode .modal-content{background-color:#343a40;border-color:#495057}.dark-mode .card-header,.dark-mode .table-hover tbody tr:hover,.dark-mode .table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.card-header{padding:1rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125);display:flex;justify-content:space-between;align-items:center}.dark-mode .card-header{border-bottom-color:#495057}.card-body{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:0;font-weight:500}.table-responsive{display:block;width:100%;overflow-x:auto;overflow-y:auto;max-height:600px;-webkit-overflow-scrolling:touch}.table{width:100%;margin-bottom:1rem;border-collapse:collapse}.table td,.table th{padding:.75rem;vertical-align:middle;border-top:1px solid var(--border-color)}.table thead th{vertical-align:bottom;border-bottom:2px solid var(--border-color);text-align:left;cursor:pointer;position:relative}.table thead th:after{content:"↕";position:absolute;right:8px;opacity:.5}#game-history-table th:hover,#player-stats-table th:hover,.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.form-select{display:inline-block;width:auto;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;height:38px}.dark-mode .form-select,.dark-mode .score-badge{background-color:#495057;border-color:#6c757d;color:#e9ecef}.performance-chart{width:100%;margin-bottom:1.5rem;max-height:600px;overflow-y:auto;padding-right:10px}.bar-legend,.legend,.model-row{display:flex;margin-bottom:10px}.model-row{align-items:center;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.dark-mode .modal-header,.dark-mode .model-row{border-bottom-color:#495057}.model-name{width:280px;overflow:hidden;text-overflow:ellipsis;padding-right:10px;color:var(--light-text)}.stats-container{flex-grow:1;display:flex;height:28px}.draw-bar,.loss-bar,.win-bar{height:100%;position:relative}@media (max-width:768px){.container{padding:0 10px}.stats-container .stat-label{display:none}.accuracy-badge,.elo-badge,.games-count,.score-badge{margin-top:5px}.model-name{width:200px}.table td,.table th{word-wrap:break-word;overflow-wrap:break-word}.accuracy-badge,.elo-badge,.score-badge{width:50px;margin-left:5px;padding:2px 4px;font-size:12px}.badge-legend .legend-item:first-child,.badge-legend .legend-item:nth-child(2),.badge-legend .legend-item:nth-child(3){width:50px;margin-left:5px}}@media (max-width:576px){.accuracy-badge,.elo-badge,.score-badge{width:40px;margin-left:3px;padding:1px 3px;font-size:11px}.badge-legend .legend-item{width:40px;margin-left:3px;font-size:12px}.model-name{width:150px}}.win-bar{background-color:rgba(40,167,69,.7);border-top-left-radius:4px;border-bottom-left-radius:4px}.draw-bar{background-color:rgba(108,117,125,.7)}.loss-bar{background-color:rgba(220,53,69,.7);border-top-right-radius:4px;border-bottom-right-radius:4px}.stat-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;text-shadow:1px 1px 1px rgba(0,0,0,.5);font-size:12px}.games-count{width:50px;text-align:right;padding-left:10px;font-weight:700;color:#555}.elo-badge,.score-badge{text-align:center;padding:3px 8px;font-weight:700}.dark-mode .footer,.dark-mode .footer-link,.dark-mode .footnote-tooltip::before,.dark-mode .games-count,.dark-mode .move-counter{color:#adb5bd}.score-badge{width:80px;margin-left:10px;border-radius:15px;background-color:#f8f9fa;border:1px solid #dee2e6;color:#212529}.badge-legend .legend-item:first-child,.badge-legend .legend-item:nth-child(3),.elo-badge{width:70px;margin-left:10px}.elo-badge{border-radius:15px;background-color:rgba(255,152,0,.2);border:1px solid rgba(255,152,0,.5);color:#ff9800}.dark-mode .accuracy-badge.medium,.dark-mode .elo-badge,.dark-mode .mode-elo-badge{background-color:rgba(255,152,0,.2);border-color:rgba(255,152,0,.3);color:#ffb74d}.bar-legend,.legend{justify-content:center}@media (max-width:768px){.accuracy-badge,.badge-legend .legend-item:nth-child(2),.badge-legend .legend-item:nth-child(3),.bar-legend,.score-badge,.stats-container{display:none!important}.legend-container{position:relative;margin-bottom:15px;padding:0;height:20px}.games-count,.model-name{width:auto;padding-right:5px}.badge-legend{position:absolute;top:0;right:0;left:auto;justify-content:flex-end;margin:0}.model-name{flex:1;min-width:0}.games-count{min-width:25px;font-size:12px;font-weight:400;padding-left:5px;text-align:right;white-space:nowrap;flex-shrink:0}.model-row,.performance-chart{padding-right:0}.elo-badge{width:55px;font-size:12px;margin-left:5px;margin-right:10px;flex-shrink:0}.model-row{display:flex;align-items:center;margin-right:0}}.accuracy-badge,.footer,.mode-badge{text-align:center}.legend-container{position:relative;margin-bottom:15px;padding:0 10px}.badge-legend{position:absolute;top:0;right:0;display:flex;align-items:center}.badge-legend .legend-item{margin:0;white-space:nowrap;font-size:14px;text-align:center;font-weight:700}.badge-legend .legend-item:nth-child(2){width:80px;margin-left:10px}.legend-item{display:flex;align-items:center;margin:0 10px;color:var(--light-text)}.legend-color{width:20px;height:15px;margin-right:5px;border-radius:3px}.win-color{background-color:rgba(40,167,69,.7)}.draw-color{background-color:rgba(108,117,125,.7)}.loss-color{background-color:rgba(220,53,69,.7)}.elo-color{background-color:rgba(255,152,0,.7)}.accuracy-badge{width:70px;padding:3px 8px;margin-left:10px;font-weight:700;border-radius:15px;background-color:rgba(76,175,80,.2);border:1px solid rgba(76,175,80,.5);color:#4caf50}.accuracy-badge.low{background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.5);color:#dc3545}.accuracy-badge.medium{background-color:rgba(255,152,0,.2);border-color:rgba(255,152,0,.5);color:#ff9800}.accuracy-badge.high{background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.5);color:#28a745}.dark-mode .accuracy-badge.low{background-color:rgba(220,53,69,.2);border-color:rgba(220,53,69,.3);color:#f5a6a6}.dark-mode .accuracy-badge.high{background-color:rgba(40,167,69,.2);border-color:rgba(40,167,69,.3);color:#81c784}.dark-mode .accuracy-badge,.dark-mode .mode-acc-badge{background-color:rgba(76,175,80,.2);border-color:rgba(76,175,80,.3);color:#81c784}.accuracy-badge.terrible{background-color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.5);color:#212529}.dark-mode .accuracy-badge.terrible{background-color:rgba(0,0,0,.2);border-color:rgba(40,40,40,.8);color:#ccc}.close-modal:hover,.dark-mode .footer-link:hover,.footer-link:hover{color:var(--primary-color)}.accuracy-color{background-color:rgba(76,175,80,.7)}.mode-badge{display:inline-block;padding:.25em .6em;font-size:75%;font-weight:700;line-height:1;vertical-align:baseline;border-radius:.25rem;margin-left:.5rem}.mode-reasoning{background-color:#17a2b8;color:#fff}.mode-continuation{background-color:#6f42c1;color:#fff}.filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.filter-item{display:flex;align-items:center}.filter-label{margin-right:8px;font-weight:500;color:var(--light-text)}.footer{padding:2rem 0;margin-top:2rem;color:#6c757d;font-size:.9rem}.footer-link,.mode-icon{color:var(--secondary-color)}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.site-footer{position:fixed;bottom:0;left:0;width:100%;background-color:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.1);padding:.5rem 0;z-index:100;display:block}.dark-mode .site-footer{background-color:#1a1a1a;box-shadow:0 -2px 10px rgba(0,0,0,.3)}.footer-nav{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.footer-link{display:flex;flex-direction:column;align-items:center;font-size:.8rem;padding:.1rem .5rem}.footer-link i{font-size:1.2rem;margin-bottom:5px}.footer-link:hover{transform:translateY(-3px)}.footnote-tooltip code,.footnote-tooltip pre{font-family:monospace;background-color:rgba(0,0,0,.05);font-size:12px}.dark-mode-toggle{position:fixed;top:20px;right:20px;display:flex;align-items:center;z-index:1000}.mode-icon{margin-right:8px}.dark-mode .mode-icon{color:#ffc107}.switch{position:relative;display:inline-block;width:50px;height:24px}.slider,.slider:before{position:absolute;transition:var(--transition)}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:34px}.slider:before{content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;border-radius:50%}.tooltip,.tooltip::after{left:50%;position:absolute}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translateX(26px)}.mode-title-container{display:flex;align-items:center;gap:8px}.info-icon{font-size:16px;color:var(--primary-color);cursor:pointer;position:relative}.footnote-tooltip,.tooltip{z-index:1000;text-align:left;box-shadow:0 5px 15px rgba(0,0,0,.2);opacity:0;font-size:14px;line-height:1.5;white-space:normal;background-color:#fff}.tooltip{visibility:hidden;bottom:125%;transform:translateX(-50%);width:400px;max-width:90vw;color:var(--light-text);padding:12px;border-radius:6px;transition:opacity .3s,visibility .3s;font-weight:400;border:1px solid var(--border-color)}.dark-mode .tooltip{background-color:#2a2a2a;color:var(--light-text);border-color:#495057}.info-icon:hover .tooltip{visibility:visible;opacity:1}.tooltip::after{content:"";top:100%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#fff transparent transparent}.dark-mode .tooltip::after{border-color:#2a2a2a transparent transparent}.tooltip pre{background-color:rgba(0,0,0,.05);padding:8px;border-radius:4px;overflow:auto;margin:8px 0;font-family:monospace}.dark-mode .footnote-tooltip code,.dark-mode .footnote-tooltip pre,.dark-mode .tooltip code,.dark-mode .tooltip pre{background-color:rgba(255,255,255,.1)}.tooltip code{font-family:monospace;background-color:rgba(0,0,0,.05);padding:2px 4px;border-radius:3px}.dark-mode .chess-tooltip{background-color:#2a2a2a!important;color:#e9ecef!important;border-color:#495057!important;box-shadow:0 5px 15px rgba(0,0,0,.5)!important}.chess-tooltip p{margin-top:0;margin-bottom:10px}.dark-mode .chess-tooltip div[style*=border-left]{border-left-color:#6c757d!important}.footnote-ref{position:relative;cursor:help;color:inherit;font-weight:700;padding:10px;margin:-10px}.footnote-tooltip,.modal{display:none;position:fixed}.footnote-ref:hover,.games-link:hover{text-decoration:underline}.footnote-tooltip{width:550px;max-width:95vw;color:#333;padding:15px;border-radius:6px;transition:opacity .3s;font-weight:400;border:1px solid #ddd;pointer-events:auto;cursor:default}.close-modal,.elo-gain,.elo-loss,.mode-player-name,.move-counter,.winner{font-weight:700}.dark-mode .footnote-tooltip{background-color:#2a2a2a;color:#e9ecef;border-color:#495057}.footnote-tooltip pre{padding:8px;border-radius:4px;overflow:auto;margin:8px 0;line-height:1.4;white-space:pre}.footnote-tooltip code{padding:2px 4px;border-radius:3px}.footnote-tooltip::before{content:"Tap outside to close";display:block;font-size:11px;color:#888;text-align:center;margin-bottom:8px;font-style:italic}@media (min-width:769px){.footnote-tooltip::before{display:none}}#mode-stats-container{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.modal{z-index:1050;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4)}.dark-mode .modal{background-color:rgba(0,0,0,.6)}.modal-content{position:relative;background-color:#fefefe;margin:5% auto;padding:0;border:1px solid var(--border-color);border-radius:var(--border-radius);width:90%;max-width:900px;max-height:80vh;box-shadow:var(--shadow);animation:.3s modalFadeIn}#game-history-modal .table td{padding:.65rem}@keyframes modalFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:15px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-title{margin:0;color:var(--light-text)}.close-modal{color:#aaa;font-size:28px;cursor:pointer}.modal-body{padding:15px;max-height:calc(80vh - 70px);overflow-y:auto}.elo-gain{color:#28a745}.elo-loss{color:#dc3545}.games-link{color:var(--primary-color);cursor:pointer}.dark-mode .games-link{color:#6ea8fe}.mode-stats-list{list-style:none;padding:0;margin:0}.mode-stats-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.1)}.mode-stats-item:last-child{border-bottom:none}.dark-mode .mode-stats-item{border-bottom-color:rgba(255,255,255,.1)}.mode-player-info{display:flex;align-items:center;gap:10px;flex:1}.mode-player-name{color:var(--light-text);white-space:nowrap;flex-shrink:0}.mode-stats-badges{display:flex;gap:6px;align-items:center}.mode-record{font-size:10px;color:var(--secondary-color);width:50px;text-align:center;display:inline-block}.mode-acc-badge,.mode-elo-badge,.mode-score-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 6px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap;width:80px;text-align:center}.mode-elo-badge{background-color:rgba(255,152,0,.15);border:1px solid rgba(255,152,0,.3);color:#f57a00}.mode-acc-badge{background-color:rgba(76,175,80,.15);border:1px solid rgba(76,175,80,.3);color:#388e3c}.mode-score-badge{background-color:rgba(74,108,247,.15);border:1px solid rgba(74,108,247,.3);color:#3d5afe}.dark-mode .mode-score-badge{background-color:rgba(74,108,247,.2);border-color:rgba(74,108,247,.3);color:#7986cb}.badge-label{font-size:10px;opacity:.7;margin-right:2px}@media (max-width:768px){.badge-legend,.legend-container{position:static}.badge-legend{justify-content:center;margin-top:10px;gap:10px}.badge-legend .legend-item{width:auto}.benchmark-controls{flex-direction:column;align-items:flex-start;gap:15px}.search-bar{max-width:100%}.footer-nav{gap:1rem}.chess-tooltip{width:300px!important;max-width:80vw!important}.footnote-tooltip{width:400px;max-width:90vw;font-size:13px}.footnote-tooltip code,.footnote-tooltip pre{font-size:11px}.modal-content{width:95%;margin:10% auto}.modal-body{padding:10px}#game-history-table{font-size:.9rem}.mode-stats-item{flex-direction:column;align-items:flex-start;gap:6px}.mode-player-info{width:100%}.mode-stats-badges{width:100%;justify-content:flex-start}.mode-acc-badge,.mode-elo-badge,.mode-score-badge{font-size:11px;padding:3px 6px}}#game-history-table th,#player-stats-table th{cursor:pointer;position:relative;padding-right:18px}#game-history-table th::after,#player-stats-table th::after{content:"↕";position:absolute;right:5px;color:#999;font-size:.8em}#game-history-table th[data-sort-direction="1"]::after,#player-stats-table th[data-sort-direction="1"]::after{content:"↑";color:#555}#game-history-table th[data-sort-direction="-1"]::after,#player-stats-table th[data-sort-direction="-1"]::after{content:"↓";color:#555}a:not(.footer-link),a:not(.footer-link):visited{color:#008aef}.replay-content-cell{padding:20px;text-align:center;background-color:var(--light-bg);transition:var(--transition)}.replay-close-btn,.replay-control-btn{color:#fff;cursor:pointer;transition:background-color .2s;font-size:14px}.dark-mode #player-stats-table thead th,.dark-mode .replay-content-cell{background-color:#343a40}#replay-board{width:400px;max-width:100%;margin:0 auto 20px}.replay-close-btn{padding:8px 16px;background-color:#dc3545;border:none;border-radius:4px}.replay-close-btn:hover{background-color:#c82333}.replay-controls-container{display:flex;gap:10px;align-items:center;margin-top:10px;justify-content:center}.replay-control-btn{padding:6px 12px;background:#007bff;border:none;border-radius:3px}.replay-control-btn:hover{background:#0056b3}.replay-control-btn:active{background:#004494}.move-counter{font-size:14px;color:#666;margin:0 10px;min-width:60px;text-align:center}@media (max-width:576px){.games-count{min-width:20px;font-size:11px;padding-left:3px;padding-right:3px}.elo-badge{width:45px;font-size:11px;padding:1px 3px;margin-right:10px}.benchmark-table{font-size:.9rem}.benchmark-table td,.benchmark-table th{padding:8px 10px}.footer-link span{display:none}.footer-link i{font-size:1.5rem;margin-bottom:0}.chess-tooltip{width:260px!important;max-width:85vw!important}.mode-title-container{position:relative!important}.footnote-tooltip{width:350px;max-width:95vw}.footnote-tooltip code,.footnote-tooltip pre{font-size:10px}#replay-board{width:300px}.replay-controls-container{gap:5px;flex-wrap:wrap}.replay-control-btn{padding:4px 8px;margin-right:10px}.replay-close-btn{padding:4px 8px}.move-counter{margin:0 5px;min-width:50px}}@media (max-width:400px){#replay-board{width:250px}.replay-controls-container{gap:3px}.replay-close-btn,.replay-control-btn{padding:3px 6px;margin-right:10px}.replay-close-btn{font-size:0}.replay-close-btn::before{content:'✕';font-size:16px}}#player-stats-table thead th{position:sticky;top:-1px;z-index:10;box-shadow:0 1px 0 var(--border-color);background-color:#fff}#player-stats-table thead th:hover{background-color:#f2f2f2!important}.dark-mode #player-stats-table thead th:hover{background-color:#3e444a!important}#player-stats-table tbody tr:first-child td{border-top:none}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}