.rv{--rv-felt: color-mix(in srgb, var(--leaf) 78%, #0b2418);--rv-felt-2: color-mix(in srgb, var(--leaf) 66%, #0b2418);--rv-line: color-mix(in srgb, var(--leaf) 38%, #04110a);--rv-w: min(100%, 520px, calc(var(--tg-stage-h) - 34px));width:var(--rv-w);margin:0 auto;user-select:none;-webkit-user-select:none}:root[data-look=dusk] .rv{--rv-felt: color-mix(in srgb, var(--leaf) 52%, #10241c);--rv-felt-2: color-mix(in srgb, var(--leaf) 44%, #10241c)}:root[data-look=ink] .rv{--rv-felt: color-mix(in srgb, var(--leaf) 88%, #0b2418)}.rv[data-turn="0"]{--rv-turn: var(--tg-p0)}.rv[data-turn="1"]{--rv-turn: var(--tg-p1)}.rv-tally{display:flex;align-items:center;gap:8px;height:28px;margin-bottom:6px}.rv-count{display:inline-flex;align-items:center;gap:6px;flex:none;min-width:58px;padding:0 10px 0 2px;border-radius:999px;border:2px solid transparent;color:var(--ink);font-family:var(--font-display);font-size:1.15rem;font-variant-numeric:tabular-nums;transition:background calc(.2s * var(--motion)),border-color calc(.2s * var(--motion))}.rv-count[data-p="1"]{flex-direction:row-reverse;padding:0 2px 0 10px}.rv-count.is-on{border-color:var(--tg-c);background:color-mix(in srgb,var(--tg-c) 14%,var(--cell))}.rv-chip{position:relative;width:22px;height:22px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--tg-c) 45%,white) 0 10%,transparent 34%),var(--tg-c);box-shadow:inset 0 -2px #0000002e}.rv-bar{position:relative;flex:1 1 auto;height:10px;border-radius:999px;background:var(--tg-c);overflow:hidden;box-shadow:inset 0 1px 2px #00000026}.rv-bar-fill{display:block;height:100%;width:50%;background:var(--tg-c);border-right:2px solid var(--cell);transition:width calc(.45s * var(--motion)) ease-out}.rv-board{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:3px;border-radius:10px;background:var(--rv-line);box-shadow:0 8px 0 -3px color-mix(in srgb,var(--rv-line) 80%,black),var(--shadow)}.rv-row{display:contents}.rv-cell{position:relative;aspect-ratio:1;min-width:0;border:0;padding:0;margin:0;border-radius:0;cursor:default;background:radial-gradient(circle at 50% 35%,var(--rv-felt),var(--rv-felt-2));box-shadow:inset 0 0 0 1px var(--rv-line);-webkit-tap-highlight-color:transparent;touch-action:manipulation;perspective:400px}.rv.is-live .rv-cell.is-legal{cursor:pointer}.rv-cell:focus-visible{outline:3px solid var(--sun);outline-offset:-3px;z-index:3}.rv-star{position:absolute;left:calc(3px + var(--c) * (100% - 6px) / 8);top:calc(3px + var(--r) * (100% - 6px) / 8);width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--rv-line);pointer-events:none;z-index:1}.rv-disc{position:absolute;inset:9%;transform-style:preserve-3d;opacity:0;pointer-events:none;transition:transform calc(.42s * var(--motion)) cubic-bezier(.45,0,.25,1) var(--flip-delay, 0ms)}.rv-cell[data-v="1"] .rv-disc,.rv-cell[data-v="2"] .rv-disc{opacity:1}.rv-cell[data-v="2"] .rv-disc{transform:rotateY(180deg)}.rv-face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 0 -3px #0003,0 2px 3px #0000004d}.rv-face.is-a{background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--tg-p0) 40%,white) 0 9%,transparent 30%),radial-gradient(circle,var(--tg-p0) 0 56%,color-mix(in srgb,var(--tg-p0) 76%,black) 100%)}.rv-face.is-b{transform:rotateY(180deg);background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--tg-p1) 40%,white) 0 9%,transparent 30%),radial-gradient(circle,var(--tg-p1) 0 56%,color-mix(in srgb,var(--tg-p1) 76%,black) 100%)}.rv-face.is-a:after{content:"";position:absolute;inset:38%;border-radius:50%;background:color-mix(in srgb,var(--tg-p0) 62%,black);opacity:.38}.rv-face.is-b:after{content:"";position:absolute;inset:22%;border-radius:50%;border:3px solid color-mix(in srgb,var(--tg-p1) 60%,black);opacity:.38}:root[data-palette=colorblind] .rv-face.is-b:after{border-width:4px;opacity:.5}.rv-cell.is-new .rv-disc{transition:none;animation:rv-pop calc(.28s * var(--motion)) cubic-bezier(.2,.8,.3,1.3) both}@keyframes rv-pop{0%{scale:.3;opacity:0}to{scale:1;opacity:1}}.rv-board.no-anim .rv-disc{transition:none!important;animation:none!important}.rv-cell:after{content:"";position:absolute;inset:39%;border-radius:50%;opacity:0;transform:scale(.4);pointer-events:none;background:color-mix(in srgb,var(--rv-turn, var(--tg-p0)) 70%,white);box-shadow:0 0 0 2px #0000001f;transition:opacity calc(.15s * var(--motion)),transform calc(.15s * var(--motion)),inset calc(.12s * var(--motion))}.rv.is-live .rv-cell.is-legal:after{opacity:.85;transform:none}@media(hover:hover){.rv.is-live .rv-cell.is-legal:hover:after{inset:18%;opacity:.55}}.rv-cell.is-last:before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--cell);box-shadow:0 0 0 2px #00000040;z-index:2;pointer-events:none}.rv-cell.is-hint{box-shadow:inset 0 0 0 3px var(--sun),0 0 12px var(--sun);animation:rv-hint calc(.8s * var(--motion)) ease-in-out infinite alternate;z-index:2}.rv-cell.is-hint:after{opacity:1;transform:none;inset:30%;background:var(--sun)}@keyframes rv-hint{to{box-shadow:inset 0 0 0 5px var(--sun),0 0 4px var(--sun)}}.rv-cell.is-shake{animation:rv-shake calc(.3s * var(--motion)) ease-in-out}@keyframes rv-shake{25%{box-shadow:inset 0 0 0 1px var(--rv-line),inset 4px 0 0 var(--coral)}75%{box-shadow:inset 0 0 0 1px var(--rv-line),inset -4px 0 0 var(--coral)}}
