[hidden]{display:none!important}
.opponent-badge{color:#d8c79c;text-align:center;font-size:.85rem;padding:.45rem .6rem;background:#181915;border:1px solid #50452f}
.match-clocks{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center;margin:.4rem 0}
.chess-clock{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .8rem;border:2px solid #4d473a;background:#131713;color:#bbb5a5}
.chess-clock strong{font:700 clamp(1.3rem,4vw,1.8rem)/1.1 ui-monospace,monospace;font-variant-numeric:tabular-nums}
.chess-clock.active{border-color:#c4a466;color:#fff3d8;background:#2a3021}
.chess-clock.low-time strong{color:#f4a18d}
.clock-pause{font-size:.75rem;color:#dfcca6;max-width:7rem;text-align:center}
.setup-grid{margin:.8rem 0}
.setup-grid select,#timedStyleSelect{width:100%;min-height:44px}
.game-actions button:disabled{opacity:.5;cursor:default}
@media(max-width:500px){.chess-clock{padding:.4rem;gap:.4rem}.clock-pause{max-width:4rem}.opponent-badge{font-size:.75rem}.setup-grid{grid-template-columns:1fr}}
.gallery-controls { padding: 14px; margin-bottom: 12px; background: #171923; border: 1px solid #505362; }
.gallery-controls[hidden] { display:none; }
.gallery-anchor-grid{display:flex;gap:12px;flex-wrap:wrap}.gallery-anchor-grid figure{margin:4px 0;max-width:160px}.gallery-anchor-grid img{display:block;width:160px;height:160px;object-fit:contain;background:#26392d;image-rendering:pixelated}.gallery-anchor-grid figcaption{font-size:.8rem;line-height:1.3}.gallery-controls #galleryBikeV7Frame{width:100%;height:min(72vh,700px);border:1px solid #505362;background:#111820}
.gallery-controls .settings-grid { grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); }
.gallery-top{display:flex;align-items:end;gap:12px;justify-content:space-between}.gallery-top label{flex:1;max-width:400px}.gallery-top select{display:block;width:100%;margin-top:4px}
.gallery-controls button,.gallery-controls select,.gallery-controls summary{min-height:44px}.gallery-controls summary{cursor:pointer;line-height:44px}.gallery-controls p{margin:6px 0;font-size:.85rem;line-height:1.4}.gallery-controls .inline-actions{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.gallery-roster{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.gallery-character{min-width:0;text-align:center}.gallery-portrait{position:relative;aspect-ratio:1}.gallery-portrait .piece.sprite{position:absolute;inset:0;width:100%;height:100%;transform:none!important}.gallery-character small{display:block;font-size:.75rem;line-height:1.25}.gallery-character strong{font-size:.8rem}
@media(max-width:600px){.gallery-controls{padding:8px;margin-bottom:6px}.gallery-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-controls .inline-actions button{padding:6px 8px;font-size:.8rem}.gallery-top{gap:6px}.gallery-controls>label,.gallery-controls #galleryStudyPanel>label{display:block;min-width:0}.gallery-controls>label>select,.gallery-controls #galleryStudyPanel>label>select{display:block;width:100%;max-width:100%;min-width:0;margin-top:4px}}
.result-card{width:min(100%,640px)}
.result-card #resultReason{font:clamp(20px,3vw,29px)/1.25 Georgia,serif;color:#f0e6cf;margin:0 0 10px}
.result-card #resultRecord{margin:0 0 22px;line-height:1.5}
.result-card .settings-grid{margin-top:16px}
.result-card select{display:block;width:100%;margin-top:8px}
#resultBtn[hidden]{display:none}
#setupModeList button[aria-pressed="true"]{border-color:#d0a144;background:#343441;color:#f0e6cf}
#gameSetupFields{margin-top:20px;padding-top:18px;border-top:1px solid #505362}
#startGameBtn{width:100%;min-height:48px;margin-top:18px}
body.gallery-view .board-column { width:100%; }
body.gallery-view .side-panel,body.gallery-view .game-actions,body.gallery-view #saveStatus,body.gallery-view #saveTopBtn { display:none; }
.board-frame.dos-view{max-width:min(720px,calc((100svh - 205px)*1.17));}
.board-frame.flat-view{max-width:min(720px,calc(100svh - 170px));}
body.gallery-view:has(.is-battling) #galleryControls{display:none;}
body.gallery-view .layout{grid-template-columns:minmax(0,1fr);max-width:1000px;}
@media(min-width:1000px) and (min-height:501px){
 body.gallery-view .layout{max-width:1200px;}
 body.gallery-view .board-column{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px 24px;align-items:start;}
 body.gallery-view #boardFrame{grid-column:1;grid-row:1;max-width:100%;}
 body.gallery-view #galleryControls{grid-column:2;grid-row:1 / span 3;margin:0;max-height:calc(100svh - 140px);overflow:auto;}
 body.gallery-view .gallery-top{flex-wrap:wrap;}
 body.gallery-view .gallery-top label{flex-basis:100%;}
 body.gallery-view .gallery-roster{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.gallery-view .status-row,body.gallery-view #battleNotice{grid-column:1;margin:0;}
}
@media(max-height:500px){.topbar{padding-top:6px;padding-bottom:6px}.board-frame.dos-view{padding-top:35px;max-width:min(720px,calc((100svh - 125px)*1.17))}.board-frame.flat-view{padding-top:25px;max-width:min(720px,calc(100svh - 115px))}.top-actions button{padding:4px 7px;min-height:36px}}
.license-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;line-height:1.5;max-height:45vh;overflow:auto}
