.main {
  position: absolute;
  left: 40%;
}

table {
  position: relative;
  border: 3px solid black;
  border-collapse: collapse;
}
td {
  padding: 8 8 8 8;
  height: 35px;
  width: 15px;
  text-align: center;
}

td,
tr {
  border: 1px solid black;
}

td:nth-child(3n) {
  border-right: 3px solid black;
}

tr:nth-child(3n) {
  border-bottom: 3px solid black;
}

.main2 {
  text-align: center;
}

input {
  height: 35px;
  width: 35px;
  margin: 10 10 10 10;
  text-align: center;
}

h2 {
  text-align: center;
}

.onfocused {
  background-color: rgb(184, 203, 255);
  color: black;
}

span {
  color: rgb(87, 87, 87);
  position: absolute;
  bottom: 5px;
}

/* Arcade room: retain the puzzle, fit the board to phones. */
body{margin:0;background:#fff8ed;color:#253e40;font-family:system-ui,sans-serif}.main{position:relative;left:auto;width:min(430px,calc(100% - 24px));margin:18px auto}.main table{table-layout:fixed;width:100%;background:#fffdf8}.main td{width:11.111%;height:42px;padding:2px;font-size:20px;cursor:pointer}.main input{width:34px;height:40px;margin:3px}.main2{display:flex;justify-content:center;flex-wrap:wrap}.main span{position:static;display:block;text-align:center;font-size:12px}@media(max-width:400px){.main td{height:35px;font-size:18px}}

.main{max-width:550px;width:calc(100% - 24px)}.main p{line-height:1.5}.main h1{margin:.5em 0}.main table{max-width:450px;margin:auto}.main td{padding:0;height:auto;aspect-ratio:1}.main td button{display:block;width:100%;height:clamp(32px,8.6vw,48px);border:0;padding:0;background:#fffdf8;color:#26516d;font:600 clamp(18px,5vw,25px) system-ui;cursor:pointer}.main td button.given{font-weight:800;background:#eaf1ef;color:#21414b}.main td button.selected{background:#cbe9ff;box-shadow:inset 0 0 0 3px #246e9b}.main td button.conflict{background:#ffe0d9;color:#952c35}.main button:focus-visible{outline:3px solid #c0466b;outline-offset:-3px}.main2{gap:6px;margin:14px 0}.main2 button,.sudoku-actions button{min-width:40px;min-height:44px;padding:8px;border:2px solid #347a82;border-radius:10px;background:#e6faed;color:#214a51;font:700 17px system-ui;cursor:pointer}.sudoku-actions{display:flex;gap:10px;flex-wrap:wrap}#sudoku-status{min-height:3em;font-weight:600}.main h2{font-size:18px}
