* { box-sizing: border-box; } html, body { margin: 0; padding: 0; font-family: sans-serif; } body { padding: 1rem; max-width: 64rem; margin: 0 auto; } fieldset { margin: 0 0 1rem 0; padding: 0.5rem 1rem; } legend { font-weight: bold; } label { display: block; margin: 0.25rem 0; } input, select, button, textarea { font: inherit; } input[type="number"] { width: 5rem; } table.bf-grid { border-collapse: collapse; } table.bf-grid td { padding: 0; } table.bf-grid button { width: 2rem; height: 2rem; border: 1px solid #ccc; background: #fff; } table.bf-grid button[data-paint="open"] { background: #fff; } table.bf-grid button[data-paint="forest"] { background: #cfc; } table.bf-grid button[data-paint="rough"] { background: #fec; } table.bf-grid button[data-paint="water"] { background: #cce; } table.bf-grid button[data-paint="blocking"] { background: #444; color: #fff; } table.bf-grid button[data-objective="1"] { outline: 3px solid #c00; } table.bf-grid button[data-zone="alpha"] { outline: 3px solid #00c; } table.bf-grid button[data-zone="bravo"] { outline: 3px solid #0c0; } .bf-errors { color: #c00; } .bf-toast { background: #dfd; padding: 0.5rem 1rem; margin: 0.5rem 0; } .bf-match { display: flex; gap: 1rem; } .bf-grid { display: grid; gap: 1px; background: #ddd; padding: 1px; width: max-content; grid-template-columns: repeat(var(--bf-cols, 8), 2.5rem); } .bf-tile { width: 2.5rem; height: 2.5rem; border: 0; background: #fff; padding: 0; position: relative; } .bf-tile[data-bf-terrain="forest"] { background: #cfc; } .bf-tile[data-bf-terrain="rough"] { background: #fec; } .bf-tile[data-bf-terrain="water"] { background: #cce; } .bf-tile[data-bf-terrain="blocking"] { background: #444; } .bf-unit { width: 100%; height: 100%; font-size: 0.7rem; border: 0; cursor: pointer; } .bf-unit--alpha { background: #cce5ff; } .bf-unit--bravo { background: #ffcccc; } .bf-unit--active { outline: 2px solid #060; } .bf-unit--inactive { opacity: 0.4; cursor: not-allowed; } .bf-unit--winner { outline: 3px solid #c00; } .bf-action--active { font-weight: bold; } .bf-toast { background: #ffd; padding: 0.5rem 1rem; margin: 0.25rem 0; border: 1px solid #cc9; } .bf-log { max-height: 12rem; overflow: auto; background: #f4f4f4; padding: 0.5rem; margin-top: 1rem; } .bf-log-entry { margin: 0; font-family: monospace; font-size: 0.85rem; } .bf-empty { color: #777; font-style: italic; } .bf-result { margin-top: 1rem; padding: 1rem; background: #efe; border: 2px solid #393; } .bf-result[hidden] { display: none; }