.chessboard-panel{width:100%;max-width:36rem}.chessboard{aspect-ratio:1;border:2px solid #385344;grid-template-columns:repeat(8,minmax(0,1fr));display:grid}.chessboard .chess-square{aspect-ratio:1;color:#17251d;cursor:pointer;border:0;border-radius:0;place-items:center;min-width:0;margin:0;padding:0;line-height:1;display:grid;position:relative}.chessboard .light{background:#eeeed2}.chessboard .dark{background:#8eab78}.chessboard .last-move{box-shadow:inset 0 0 0 3px #c2a343}.chessboard .selected{box-shadow:inset 0 0 0 4px #cb9b24}.chessboard .in-check{background:#df8e84}.chessboard .chess-square:disabled{opacity:1;cursor:default}.chessboard .chess-square:focus-visible{outline-offset:-4px;z-index:1}.chess-piece{pointer-events:none;font-family:DejaVu Sans,Segoe UI Symbol,sans-serif;font-size:clamp(1.5rem,8vw,3.3rem)}.chess-piece.white{color:#fffdf2;-webkit-text-stroke:1px #29382b}.chess-piece.black{color:#25352b}.rank-label,.file-label{font-size:clamp(.55rem,1.8vw,.8rem);position:absolute}.rank-label{top:3px;left:3px}.file-label{bottom:3px;right:3px}.chess-square.target:after{content:"";aspect-ratio:1;pointer-events:none;background:#29473366;border-radius:50%;width:24%;position:absolute}.chess-square.capture-target:after{content:"";pointer-events:none;border:4px solid #29473399;border-radius:50%;position:absolute;inset:3px}.promotion-options{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.promotion-options legend{margin-bottom:.5rem}.promotion-options button{margin:0}.game-screen h2,.game-screen dd{overflow-wrap:anywhere}.game-screen h3{margin:0 0 1rem}.game-status{font-weight:600}.game-layout{grid-template-columns:minmax(0,36rem) minmax(15rem,1fr);align-items:start;gap:1.5rem;display:grid}.game-sidebar{gap:1rem;min-width:0;display:grid}.game-players{gap:1rem;margin:0;display:grid}.game-players dt{font-weight:600}.game-players dd{margin:0}.game-clocks dl{flex-wrap:wrap;gap:.5rem;margin:0;display:flex}.game-clocks dl>div{border:2px solid #0000;border-radius:4px;flex:1 0 8rem;padding:.5rem}.game-clocks .clock-active{background:#f0f7f3;border-color:#245b42}.game-clocks dt{font-size:.9rem}.game-clocks dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:.25rem 0 0;font-size:1.75rem}.game-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.game-buttons button{margin:0}.game-confirmation{border-top:1px solid #ddd;margin-top:1rem;padding-top:1rem}.game-confirmation legend{margin-bottom:.5rem}.game-recovery{margin-bottom:1.5rem}.game-history-scroll{max-height:22rem;overflow:auto}.game-history table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.game-history th,.game-history td{text-align:left;border-bottom:1px solid #ddd;padding:.4rem}.game-history tbody tr:last-child{font-weight:600}@media (width<=800px){.game-layout{grid-template-columns:minmax(0,1fr)}}:root{color:#202020;background:#f5f5f5;font-family:system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}main{max-width:72rem;margin:0 auto;padding:2rem}header{margin-bottom:2rem}h1,h2{margin-top:0}header p,.hint{color:#555}.card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.5rem}.login-card{max-width:28rem;margin:0 auto}fieldset{border:0;min-width:0;margin:0;padding:0}.form-field{gap:.35rem;margin-bottom:1rem;display:grid}input,select,button{font:inherit;border-radius:4px}input,select{border:1px solid #888;width:100%;padding:.6rem}button{color:#fff;cursor:pointer;background:#254f3a;border:1px solid #254f3a;padding:.6rem 1rem}button+button{margin-left:.5rem}button.secondary{color:#254f3a;background:#fff}button:disabled{cursor:wait;opacity:.65}input:focus-visible,select:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #467bb0}.toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.toolbar h2{margin:0}.error{color:#a51c1c}.hint{font-size:.875rem}.app-content{gap:1.5rem;display:grid}.lobby-layout{grid-template-columns:minmax(0,1.5fr) minmax(16rem,1fr);align-items:start;gap:1.5rem;display:grid}.room-list{padding:0;list-style:none}.room-list li{overflow-wrap:anywhere;border-bottom:1px solid #ddd;padding:1rem 0}.room-list h3,.room-list p{margin:.4rem 0}.room-details{grid-template-columns:auto minmax(0,1fr);gap:.75rem 1.5rem;display:grid}.room-details dt{font-weight:600}.room-details dd{overflow-wrap:anywhere;margin:0}.request-list{padding:0;list-style:none}.request-list li{border-bottom:1px solid #ddd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.request-list span{overflow-wrap:anywhere}.seat-request{margin-bottom:1rem}.room-settings{margin:1rem 0}.room-settings summary{cursor:pointer;padding:.5rem 0;font-weight:600}.room-settings form{max-width:28rem;padding-top:1rem}summary:focus-visible{outline-offset:2px;outline:3px solid #467bb0}.game-start{margin:1rem 0}@media (width<=850px){.lobby-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){main{padding:1rem}.toolbar{flex-direction:column;align-items:flex-start}}
