.rv-shell{max-width:620px;margin:24px auto;padding:16px;border:1px solid var(--button-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);box-sizing:border-box}
.rv-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.rv-toolbar button,#rv-reset button{min-height:48px;min-width:44px;padding:10px 12px;border:1px solid var(--button-line);border-radius:var(--radius);background:var(--cell);color:var(--ink);font:inherit}
.rv-scroll{max-width:100%;overflow:auto;padding:4px;box-sizing:border-box;border:1px solid var(--button-line);border-radius:var(--radius)}
.rv-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;padding:3px}
.rv-board button{aspect-ratio:1;min-width:24px;min-height:24px;padding:0;display:grid;place-items:center;border:1px solid var(--button-line);border-radius:4px;background:var(--cell);color:var(--ink);font:700 18px/1 system-ui;cursor:default}
.rv-board button[data-mark="1"]{background:oklch(95% .014 78);color:oklch(20% .025 250);border-radius:50%}
.rv-board button[data-mark="2"]{background:oklch(24% .025 250);color:oklch(95% .014 78);border-radius:50%}
.rv-board button[data-legal="true"]{border:2px solid var(--ink);cursor:pointer;font-size:22px}
.rv-board button[data-legal="true"]:hover{background:var(--panel-2,var(--panel));box-shadow:inset 0 0 0 1px var(--ink)}
.rv-board.rv-large{min-width:406px}
.rv-board.rv-large button{min-width:44px;min-height:44px}
.rv-shell button:focus-visible,.rv-scroll:focus-visible{outline:3px solid var(--ink);outline-offset:1px}
.rv-paused{min-height:280px;display:grid;place-items:center;padding:16px;text-align:center;border:1px dashed var(--button-line);border-radius:var(--radius)}
.rv-shell [hidden]{display:none!important}
#rv-status{min-height:3.2em;line-height:1.6}
.rv-help{font-size:14px;line-height:1.6;color:var(--muted)}
.rv-rules{max-width:68ch;margin:32px auto;line-height:1.7}
#rv-reset{max-width:min(90vw,440px);padding:24px;box-sizing:border-box;border:1px solid var(--button-line);border-radius:var(--radius);background:var(--panel);color:var(--ink)}
#rv-reset::backdrop{background:color-mix(in srgb,var(--bg) 80%,transparent)}
#rv-reset button{margin:8px 6px 0 0}
#rv-confirm{background:var(--coral);color:var(--on-accent)}
@media(max-width:420px){.rv-shell{padding:10px}.rv-toolbar button{flex:1}.rv-board{gap:2px;padding:2px}}
