.board-scroll{overflow:auto;max-width:100%}
#board{display:grid;gap:0;user-select:none;touch-action:none;width:max-content;margin:0 auto}
#board button{border-radius:0;padding:0;border:1px solid var(--grid);background:var(--cell);min-width:0;line-height:1;font-size:18px;position:relative;transition:none}
#board button.on{background:#e8e9ee;color:#14161c}#board button.cross{color:#bac4da}
#board button.latest{box-shadow:inset 0 0 0 2px var(--mark)}#board button:focus-visible{outline:2px solid #9fcbff;outline-offset:-4px;z-index:1}
#board button.major-r{border-right:3px solid var(--wall)}#board button.major-b{border-bottom:3px solid var(--wall)}#board button.edge-l{border-left:3px solid var(--wall)}#board button.edge-t{border-top:3px solid var(--wall)}
.clue{display:flex;align-items:center;justify-content:flex-end;padding:4px;font-size:12px;white-space:pre;line-height:1.3;color:var(--text)}.clue.col{justify-content:flex-end;flex-direction:column;text-align:center}
#marks button.active{border-color:var(--accent);background:#344e75}
.editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.editors textarea{height:160px;min-height:96px}.editors label{display:block;margin-bottom:6px}
#detail{color:var(--muted);line-height:1.8;min-height:56px}#status{min-height:50px}
#replayScreen .clue-editor{display:none}
.layout{align-items:start}.side-column{min-width:0;display:grid;gap:20px}
#board .clue{border:1px solid transparent;background:transparent;color:var(--muted);font-size:12px;line-height:1.3;white-space:pre;border-radius:5px;padding:4px;touch-action:manipulation}
#board .clue:hover,#board .clue.selected{background:#5b8cff20;border-color:#5b8cff70;color:var(--text)}
#board .clue:disabled{opacity:1;cursor:default;background:transparent;border-color:transparent}
#board .selected-line:not(.on){background:#414d68}#board .on.selected-line{background:#d4e2ff}
.clue-tabs{display:flex;gap:8px}.clue-tabs button{flex:1;min-height:44px}.clue-tabs button[aria-pressed=true]{background:#344e75;border-color:var(--accent)}
.clue-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 12px}.clue-nav button{min-height:44px;padding:6px 10px}.clue-nav strong{white-space:nowrap;font-size:15px}
#clueDraft{display:block;width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--bg);color:var(--text);font:20px/1.5 ui-monospace,Consolas,monospace}
#clueDraft:focus-visible{outline:2px solid #9fcbff;outline-offset:2px}#clueDraft[aria-invalid=true]{border-color:var(--bad)}
.clue-groups{display:flex;flex-wrap:wrap;gap:6px;min-height:30px;margin-top:8px}.clue-groups span{max-width:100%;overflow-wrap:anywhere;padding:2px 9px;background:var(--panel-2);border-radius:5px;color:var(--text);font-variant-numeric:tabular-nums}
.clue-error{color:var(--bad);font-size:13px;min-height:21px;margin:6px 0}
.clue-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.clue-keypad button{min-height:44px;font-size:18px}.clue-keypad button[data-key=separator],.clue-keypad button[data-key=backspace]{font-size:14px}
.clue-editor .btns button{min-height:44px}.bulk-editor{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.bulk-editor summary{cursor:pointer;color:var(--muted);min-height:32px}
@media(max-width:820px){.side-column{gap:12px}.board-scroll{max-height:min(70dvh,640px)}}
#replayScreen .replay-slot > .board-scroll{pointer-events:auto;max-height:var(--rb);touch-action:pan-x pan-y}
