#reversi-app{margin:12px 0 0}.rv-game{--rv-board:#d6ad6c;--rv-board-2:#c99a55;--rv-line:#5a3a1c;--rv-ink:#2a1c10;--rv-dark-bg:radial-gradient(circle at 34% 30%, #6e655c 0, #2b2520 36%, #100d0b 76%);--rv-light-bg:radial-gradient(circle at 34% 30%, #fff 0, #f6f0e2 42%, #ddd2ba 100%);--rv-ring:#4a3a2a;--rv-flip-ms:.42s;gap:12px;min-width:0;display:grid}.rv-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.rv-info{flex-wrap:wrap;gap:2px 16px;font-size:1.1rem;display:flex}.rv-detail{font-weight:700}.rv-note{border-left:6px solid var(--gingham);background:var(--surface-2,var(--bg));padding:4px 12px;font-weight:700}.rv-pass{border:3px solid var(--text);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--highlight-soft);border-left-width:10px;padding:6px 12px;font-weight:800}.game-status .rv-pass{margin:0 0 6px}.rv-bigturn{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex;font-size:1.9rem!important}.rv-turn-color{font-family:var(--font);font-size:1.15rem;font-weight:700}.rv-bigturn .rv-mini{--rv-mini:30px}.rv-table{justify-content:center;min-width:0;display:flex}.rv-frame{background:var(--wood-bg,var(--wood));width:min(100%,620px);box-shadow:var(--shadow-md);border-radius:16px;padding:10px}.rv-board{aspect-ratio:1;background:var(--rv-line);border-radius:6px;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;padding:2px;display:grid}.rv-sq{aspect-ratio:1;background:linear-gradient(160deg, var(--rv-board), var(--rv-board-2));min-width:0;min-height:0;color:var(--rv-ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:2px;place-items:center;margin:0;padding:0;display:grid;position:relative}.rv-sq:focus-visible{z-index:3;outline:4px solid var(--focus);outline-offset:-4px}.rv-disc{aspect-ratio:1;pointer-events:none;border-radius:50%;width:82%;display:block;position:relative}.rv-dark{background:var(--rv-dark-bg);box-shadow:0 2px 3px #00000073,inset 0 -2px 4px #0009}.rv-light{background:var(--rv-light-bg);box-shadow:0 2px 3px #0006, inset 0 0 0 2px var(--rv-ring)}.rv-light:after,.rv-dark.is-flip-to-dark:after{content:"";border:3px solid var(--rv-ring);border-radius:50%;position:absolute;inset:24%}.rv-dark.is-flip-to-dark:after{opacity:0}.rv-mini{--rv-mini:24px;width:var(--rv-mini);vertical-align:middle;flex:none;display:inline-block}.rv-mini.rv-light:after{border-width:2px;inset:22%}.rv-dot{aspect-ratio:1;pointer-events:none;background:#2a1c1099;border:2px solid #ffffff8c;border-radius:50%;width:28%}.rv-sq.is-preview{z-index:1;box-shadow:inset 0 0 0 4px var(--highlight), inset 0 0 0 7px var(--rv-ink)}.rv-ghost{opacity:.6;outline:3px dashed var(--rv-ink);outline-offset:1px}.rv-sq.is-will-flip .rv-disc{outline:4px dashed var(--highlight);outline-offset:1px;box-shadow:0 0 0 7px #2a1c10bf}.rv-sq.is-last{box-shadow:inset 0 0 0 3px var(--highlight)}.rv-last{aspect-ratio:1;border:2px solid var(--rv-ink);background:var(--highlight);pointer-events:none;width:20%;position:absolute;top:50%;left:50%;translate:-50% -50%;rotate:45deg}.rv-sq.is-hint{z-index:1;box-shadow:inset 0 0 0 5px var(--highlight), inset 0 0 0 7px var(--rv-ink)}.rv-tag{z-index:2;border:2px solid var(--rv-ink);background:var(--highlight);color:var(--rv-ink);pointer-events:none;border-radius:999px;padding:0 5px;font-size:.8rem;font-weight:800;line-height:1.25;position:absolute;top:1px;left:50%;translate:-50%}.rv-coord{color:#2a1c10d9;pointer-events:none;font-size:.8rem;font-weight:800;line-height:1;position:absolute}.rv-coord-col{bottom:2px;right:3px}.rv-coord-row{top:3px;left:3px}.rv-disc.is-new{animation:rv-pop var(--rv-flip-ms) ease-out both}.rv-disc.is-flip-to-light,.rv-disc.is-flip-to-dark{animation:var(--rv-flip-ms) ease-in-out calc(var(--i,0) * 70ms + .12s) both}.rv-disc.is-flip-to-light{animation-name:rv-to-light}.rv-disc.is-flip-to-dark{animation-name:rv-to-dark}.rv-light.is-flip-to-light:after{animation:rv-ring-in var(--rv-flip-ms) linear calc(var(--i,0) * 70ms + .12s) both}.rv-dark.is-flip-to-dark:after{animation:rv-ring-out var(--rv-flip-ms) linear calc(var(--i,0) * 70ms + .12s) both}@keyframes rv-pop{0%{opacity:0;scale:.4}}@keyframes rv-to-light{0%{background:var(--rv-dark-bg);scale:1;box-shadow:0 2px 3px #00000073}49.9%{background:var(--rv-dark-bg);scale:.06 1;box-shadow:0 2px 3px #00000073}50%{background:var(--rv-light-bg);scale:.06 1}to{background:var(--rv-light-bg);scale:1}}@keyframes rv-to-dark{0%{background:var(--rv-light-bg);box-shadow:0 2px 3px #0006, inset 0 0 0 2px var(--rv-ring);scale:1}49.9%{background:var(--rv-light-bg);box-shadow:0 2px 3px #0006, inset 0 0 0 2px var(--rv-ring);scale:.06 1}50%{background:var(--rv-dark-bg);scale:.06 1}to{background:var(--rv-dark-bg);scale:1}}@keyframes rv-ring-in{0%,49.9%{opacity:0}50%,to{opacity:1}}@keyframes rv-ring-out{0%,49.9%{opacity:1}50%,to{opacity:0}}.reduce-motion .rv-disc,.reduce-motion .rv-disc:after{animation:none!important}.rv-chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;display:flex}.rv-chip{border:3px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:4px 14px;font-size:1.25rem;display:inline-flex}.rv-chip.is-turn{border-color:var(--text);box-shadow:0 0 0 3px var(--highlight)}.rv-chip-n{font-variant-numeric:tabular-nums;font-size:1.45rem}.rv-sep{font-size:1.5rem;font-weight:800}.rv-badge{border:2px solid var(--text);background:var(--highlight);color:#221d16;white-space:nowrap;border-radius:999px;padding:0 8px;font-size:.9rem;font-weight:800}.rv-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.rv-controls[hidden]{display:none}.rv-controls .btn{flex:auto;max-width:420px;min-height:56px}.rv-settings .text-input{width:100%;max-width:320px;margin:4px 0 10px;display:block}.rv-legend2{margin:8px 0 2px;font-weight:700}@media (width<=767px){.rv-info{font-size:1rem}.rv-frame{border-radius:10px;width:calc(100% + 20px);margin:0 -10px;padding:3px}.rv-board{border-radius:4px;gap:2px;padding:1px}.rv-coord{font-size:.7rem}.rv-tag{padding:0 3px;font-size:.7rem}.rv-chips{flex-wrap:nowrap;gap:6px}.rv-sep{display:none}.rv-chip{gap:5px;min-width:0;min-height:44px;padding:2px 8px;font-size:1.05rem}.rv-mini{--rv-mini:20px}.rv-chip-n{font-size:1.3rem}.rv-badge{padding:0 6px;font-size:.8rem}.rv-bigturn{font-size:1.4rem!important}.play-dock .is-docked .rv-pass{border-width:2px 2px 2px 6px;padding:2px 8px;display:block;margin:0 0 2px!important}}
