.data-status{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;color:var(--green);font:500 .75rem 'DM Mono',monospace}.data-status::before{width:.5rem;height:.5rem;border-radius:50%;background:var(--lime);content:'';box-shadow:0 0 0 3px #c9e7652b}.source-link{color:var(--green);font-weight:700}.game-detail.is-loading{opacity:.55;pointer-events:none}.load-error{padding:1.25rem;color:#8b2018}
.board:focus{outline:2px solid var(--green);outline-offset:3px}
.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:16px}
.filter-grid label{color:#d9e5df;font:700 .72rem Manrope,sans-serif;display:flex;flex-direction:column;gap:4px}
.filter-grid input,.filter-grid select{background:#0c221d;border:1px solid #466159;color:#fff;padding:8px 10px;border-radius:5px;font:500 .85rem Manrope,sans-serif}
.filter-grid .check{flex-direction:row;align-items:center;gap:8px}
.result-actions{display:flex;gap:14px;flex-wrap:wrap}
.read-badge{font:500 .72rem 'DM Mono',monospace;color:var(--green)}
.board-shell{width:min(430px,60%);display:grid;grid-template-columns:1.15rem minmax(0,1fr);grid-template-rows:minmax(0,1fr) 1.15rem;gap:.25rem}
.board-shell .board{width:100%;grid-column:2;grid-row:1}
.board-ranks{grid-column:1;grid-row:1;display:grid;grid-template-rows:repeat(8,minmax(0,1fr));align-items:center;justify-items:center;color:var(--muted);font:500 .68rem 'DM Mono',monospace}
.board-files{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;justify-items:center;color:var(--muted);font:500 .68rem 'DM Mono',monospace}
.position-info{max-width:280px}
.copy-row,.position-search{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.panel-tabs{display:flex;gap:8px;margin-top:18px;border-bottom:1px solid var(--line)}
.tab{border:0;background:transparent;padding:8px 4px;font:700 .8rem Manrope,sans-serif;color:var(--muted);cursor:pointer}
.tab.active{color:var(--green);box-shadow:inset 0 -2px 0 var(--green)}
.panel.hidden{display:none}
.explorer-table{width:100%;border-collapse:collapse;font:500 .78rem 'DM Mono',monospace;margin-top:8px}
.explorer-table th,.explorer-table td{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line)}
.explorer-table button{font:inherit}
.panel-meta,.panel-empty{color:var(--muted);font-size:.8rem}
.import-form{display:flex;flex-direction:column;gap:10px;min-width:min(480px,90vw)}
.import-form textarea{width:100%;font:500 .85rem 'DM Mono',monospace}
dialog{border:1px solid var(--line);border-radius:8px;padding:20px;background:var(--paper)}
@media(max-width:700px){.board-shell{width:min(100%,430px)}.filter-grid{grid-template-columns:1fr 1fr}}
#position-provenance{font-size:.72rem;word-break:break-word}
.replay-nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.replay-nav .ghost{padding:8px 10px;font-size:.72rem}
.replay-nav .ghost:disabled{opacity:.4;cursor:default}
.moves .san{font:inherit;border:0;background:transparent;color:inherit;cursor:pointer;padding:2px 5px;border-radius:4px}
.moves .san[aria-current="true"]{background:#e5ecdc;color:var(--ink);font-weight:800}
.moves .move-num{color:var(--ink);font-weight:700;margin-left:.55em}
.moves .move-num:first-child{margin-left:0}
