.board-panel{width:100%;max-width:40rem}.tafl-board{aspect-ratio:1;background:#dfc49b;border:2px solid #6e4c2e;grid-template-columns:repeat(11,minmax(0,1fr));display:grid}.tafl-board .board-square{aspect-ratio:1;color:#49331e;cursor:pointer;background:0 0;border:1px solid #6e4c2e40;border-radius:0;place-items:center;min-width:0;margin:0;padding:0;line-height:1;display:grid;position:relative}.tafl-board .corner{background:#c6a253}.tafl-board .throne{background:#be9d76}.tafl-board .last-move{box-shadow:inset 0 0 0 3px #98751b}.tafl-board .captured{box-shadow:inset 0 0 0 3px #b24d3d}.tafl-board .selected{box-shadow:inset 0 0 0 3px #1b6946}.tafl-board .board-square:disabled{opacity:1;cursor:default}.tafl-board .board-square:focus-visible{outline-offset:-4px;z-index:1}.tafl-piece{aspect-ratio:1;pointer-events:none;border:2px solid #473728;border-radius:50%;place-items:center;width:67%;font-family:DejaVu Sans,Segoe UI Symbol,sans-serif;font-size:clamp(.8rem,3.5vw,2rem);display:grid;box-shadow:0 2px 2px #0004}.tafl-piece.attacker{background:#302b27}.tafl-piece.defender{background:#fff7e4}.special-square{opacity:.6;pointer-events:none;font-size:clamp(.9rem,4vw,2rem)}.rank-label,.file-label{font-size:clamp(.45rem,1.5vw,.7rem);position:absolute}.rank-label{top:2px;left:2px}.file-label{bottom:2px;right:2px}.board-square.target:after{content:"";aspect-ratio:1;pointer-events:none;background:#1b6946aa;border-radius:50%;width:24%;position:absolute}.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,40rem) 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)}}.game-rules{margin-top:1rem}.game-rules summary{cursor:pointer;font-weight:600}.game-rules ul{padding-left:1.25rem}.game-rules li{margin:.5rem 0}.app-content>*{min-width:0}.app-navigation,.history-controls{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.app-navigation button,.history-controls button{margin:0}.history-filter{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.history-filter input{width:auto}.history-controls{margin:1rem 0}.history-table{overflow-x:auto}.history-table table{border-collapse:collapse;width:100%}.history-table th,.history-table td{text-align:left;border-bottom:1px solid #ddd;padding:.6rem}.history-table th[scope=row]{overflow-wrap:anywhere}.game-history button{color:#254f3a;background:#fff;border:0;padding:.2rem}.game-history button[aria-pressed=true]{background:#e2eddc;text-decoration:underline}: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{overflow-wrap:anywhere;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}}
