.editor-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:28px;margin:24px 0}.editor-settings h3{font-size:15px;margin:20px 0 12px}.compact-fields,.user-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.compact-fields>div{flex:1;min-width:90px}.editor-settings input,.editor-settings select{width:100%;box-sizing:border-box}.map-tools{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.map-tools button{padding:8px 12px}.map-tools [aria-pressed=true],#bot-kind-filter [aria-pressed=true],.bot-card[aria-pressed=true]{background:#e4eee7;border-color:#39704f;color:#1e5134;box-shadow:inset 0 0 0 1px #39704f}.map-scroll{overflow:auto;padding:3px}.rule-board{display:grid;grid-template-columns:repeat(var(--map-cols,9),minmax(26px,1fr));max-width:650px;gap:2px;background:#d3d9d5;padding:4px;border-radius:8px;min-width:calc(var(--map-cols,9)*28px)}.map-cell{aspect-ratio:1;min-width:0;border:0;border-radius:3px;padding:2px;display:flex;align-items:center;justify-content:center;font-size:12px}.map-cell img{width:75%;height:75%;object-fit:contain}.rule-board .light-sq{background:#f1f3ee}.rule-board .dark-sq{background:#dce3d9}.rule-board .side-0{box-shadow:inset 0 0 0 2px #6366ad;color:#36377d}.rule-board .side-1{box-shadow:inset 0 0 0 2px #b45b69;color:#8a3040}.rule-board .map-home{font-weight:800;background:#fff1bd}.piece-count-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.piece-count-grid fieldset{border:1px solid #d8ded9;border-radius:8px;min-width:0;padding:10px}.piece-count-grid input{margin-bottom:8px}.is-muted{opacity:.65}.editor-save{display:flex;align-items:center;gap:16px;margin-top:20px}.bot-slot{padding:20px;border:1px solid #d8ded9;border-left:3px solid #6366ad;border-radius:10px;min-width:0}.bot-slot[data-side="1"]{border-left-color:#b45b69}.bot-selection-summary{display:grid;gap:6px;margin:12px 0;overflow-wrap:anywhere;min-height:55px}.bot-selection-summary small,.user-identity small,.bot-card>small{display:block;color:#68756d;font-size:12px;margin-top:4px}.user-identity{display:flex;gap:10px;align-items:center;text-align:left;overflow-wrap:anywhere}.user-avatar{background:#edf1ee;border:1px solid #d8ded9;border-radius:10px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:700;color:#385642}.user-filters{margin:20px 0}.user-filters input{min-width:190px}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.danger{color:#9b2939!important;border-color:#d8a4ac!important;background:#fff5f5!important}dialog{border:1px solid #d8ded9;border-radius:16px;padding:26px;width:min(850px,calc(100vw - 40px));max-height:85dvh;box-sizing:border-box;background:#fff;color:#243b2c;overflow:auto;box-shadow:0 20px 80px #162e2633}dialog::backdrop{background:#142b2259}#delete-user-dialog{max-width:520px}#delete-user-name{width:100%;box-sizing:border-box}#bot-picker .panel-heading{gap:12px}#bot-search{width:100%;box-sizing:border-box}#bot-kind-filter{display:flex;gap:8px;margin:16px 0}#bot-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:43dvh;overflow:auto;padding:2px}.bot-card{text-align:left;padding:14px;background:#fff;border:1px solid #d8ded9;min-width:0}.bot-card:disabled{opacity:.55}#bot-version-panel{border-top:1px solid #e3e8e4;margin-top:18px;padding-top:16px}#bot-version{width:100%}#bot-picker-error,#delete-user-error{color:#9b2939}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.replay-stage .col-strip{grid-template-columns:repeat(var(--board-cols,9),minmax(0,1fr))}.replay-stage .row-strip{grid-template-rows:repeat(var(--board-rows,9),minmax(0,1fr))}.replay-stage .game-board{grid-template-columns:repeat(var(--board-cols,9),minmax(0,1fr));grid-template-rows:repeat(var(--board-rows,9),minmax(0,1fr))}.replay-stage .chess-wrap{aspect-ratio:var(--board-cols,9)/var(--board-rows,9)}
[data-theme=forest] .light-sq{background:#e4edda}[data-theme=forest] .dark-sq{background:#b9cba8}[data-theme=sand] .light-sq{background:#faf0da}[data-theme=sand] .dark-sq{background:#e2cda6}[data-theme=slate] .light-sq{background:#e5e9ed}[data-theme=slate] .dark-sq{background:#bdc9d5}.rule-board .terrain-blocked,.replay-stage .terrain-blocked{background:repeating-linear-gradient(135deg,#68776c,#68776c 4px,#7d8c81 4px,#7d8c81 8px)}.rule-board .terrain-void,.replay-stage .terrain-void{background:#fff;box-shadow:none;border:1px dashed #c9d1cc}.map-cell:focus-visible{outline:3px solid #263e31;outline-offset:1px;z-index:1}
@media(max-width:900px){.editor-layout{grid-template-columns:1fr}.editor-settings{max-width:none}.editor-save{align-items:start;flex-direction:column}}@media(max-width:560px){#bot-candidates{grid-template-columns:1fr}dialog{padding:18px}.user-filters>*{width:100%}.bot-slot{padding:14px}.map-tools button{font-size:12px;padding:8px}.admin-actions{flex-wrap:wrap}}
.rule-board .map-cell{margin:0;min-height:0;min-width:0}.map-tools button,#bot-kind-filter button,.bot-card,.pagination button{margin:0}
.piece-count-grid fieldset{display:grid;grid-template-columns:1fr minmax(60px,90px);align-items:center;gap:8px}.piece-count-grid input{margin:0}.danger-button{background:#9b2939!important;border-color:#9b2939!important;color:#fff!important}
.replay-stage .chess-wrap{aspect-ratio:auto;grid-template-rows:22px auto 22px}.replay-stage .game-board{aspect-ratio:var(--board-cols,9)/var(--board-rows,9)}
.bot-card{display:grid;gap:8px;justify-items:stretch;color:#243b2c}.bot-card .user-identity strong{display:block;color:#243b2c}.bot-card>strong{color:#243b2c}.bot-card .user-identity>div{min-width:0}
.bot-card{justify-content:stretch;align-content:start}.bot-card:hover:not(:disabled){background:#f0f5ef;color:#243b2c}.bot-card:disabled:hover{background:#fff;color:#243b2c}
.board-summary{margin:16px 0;border:1px solid #dbe3d8;border-radius:10px;padding:16px;background:#fafbf8;font-size:14px;line-height:1.6}.board-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.board-facts span,.board-facts strong{display:block}.board-facts span{font-size:12px;color:#647067}.board-facts strong{font-size:13px;font-weight:600;color:#263e2f;margin-top:4px}.board-armies{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.army-count{padding:12px;border:1px solid #dbe3d8;border-left:3px solid #6366ad;border-radius:8px;background:#fff}.army-count.side-1{border-left-color:#b45b69}.army-count strong,.army-count span,.army-count small{display:block}.army-count span{margin:4px 0;font-size:15px;color:#263e2f}.army-count small{font-size:12px;color:#315c46}.army-count[data-state=incomplete] small{color:#8a5420}.board-summary p{font-size:12px;margin:12px 0 0;color:#647067}.board-feedback{font-size:13px;line-height:1.7;color:#415c48;margin:10px 0 16px}.rule-board .map-cell[aria-disabled=true]{cursor:not-allowed}@media(max-width:560px){.board-facts{grid-template-columns:1fr;gap:10px}.board-armies{gap:8px}.army-count{padding:10px}.board-summary{padding:12px}}
.editor-layout>div{min-width:0}.map-scroll{min-width:0;max-width:100%}.board-summary{min-width:0;max-width:100%}.board-facts>div,.army-count{min-width:0;overflow-wrap:anywhere}@media(max-width:900px){.editor-layout{grid-template-columns:minmax(0,1fr)}}
/* Clear terrain and restrained, readable game pieces. */
.rule-board .light-sq,.replay-stage .light-sq{background:var(--tile-light,#f5f0df)}.rule-board .dark-sq,.replay-stage .dark-sq{background:var(--tile-dark,#bacbb6)}
.rule-board .terrain-void,.replay-stage .terrain-void{background:repeating-linear-gradient(135deg,#34443e 0 3px,#40534a 3px 6px);border:1px dashed #84968b;box-shadow:none}
.rule-board .terrain-blocked,.replay-stage .terrain-blocked{background:repeating-linear-gradient(45deg,#6c7d66 0 5px,#94a08a 5px 10px);box-shadow:inset 0 0 0 2px #40543e}
.rule-board .map-home{background:#f1ddb0}.piece-count-grid{grid-template-columns:1fr}.check-label{display:flex;align-items:flex-start;gap:10px;margin:14px 0}.editor-settings .check-label input{width:auto;flex:none;margin-top:4px}
#rule-movement-fields fieldset{min-width:0;border:1px solid #cbd5ca;border-radius:8px;padding:12px;margin:14px 0}#rule-movement-fields textarea{width:100%;box-sizing:border-box;font-family:monospace}#rule-movement-fields label{display:block;margin-top:12px}#rule-movement-fields .check-label{display:flex}.movement-choices{display:flex;flex-wrap:wrap;gap:6px}.movement-choices button{padding:8px;font-size:12px}.movement-choices button[aria-pressed=true]{background:#e2ebde;color:#244b38;border-color:#466b50}
.replay-stage .piece{position:relative;box-shadow:0 2px 4px #20372b30;background:#dbe6df;border:2px solid #527361}.replay-stage .piece.p1{background:#f0ddce;border-color:#98694e}.replay-stage .piece img{filter:none}.replay-stage .piece.powered{outline:3px solid #a77b22;outline-offset:1px}.power-up,.powered-badge{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f9e4a5;color:#63450d;font-weight:900;border:2px solid #92691a}.power-up{width:55%;height:55%;font-size:clamp(14px,3vw,30px);margin:auto}.powered-badge{position:absolute;right:-7%;top:-10%;width:35%;height:35%;font-size:clamp(10px,1.5vw,18px);z-index:4}
#rule-movement-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}#rule-movement-fields .movement-choices button{background:#fff;color:#315c46;border:1px solid #bacabb}#rule-movement-fields .movement-choices button[aria-pressed=true]{background:#dce8d9;border-color:#416c4d;box-shadow:inset 0 0 0 1px #416c4d}#rule-movement-fields input[type=number]{width:100%;box-sizing:border-box}#rule-movement-fields input[type=checkbox]{width:auto}#rule-movement-fields p{font-size:12px;color:#55645a}@media(max-width:900px){#rule-movement-fields{grid-template-columns:1fr}}
.replay-stage .piece.p0{background:#dbe6df;border:2px solid #527361;box-shadow:0 2px 4px #20372b30}.replay-stage .piece.p1{background:#f0ddce;border:2px solid #98694e;box-shadow:0 2px 4px #20372b30}

[data-theme=forest]{--tile-light:#edf2e4;--tile-dark:#afc3a2}[data-theme=sand]{--tile-light:#faf0da;--tile-dark:#dcc59a}[data-theme=slate]{--tile-light:#edf0f3;--tile-dark:#b2c1cc}
