:root{--stage:#eef1f5;--mat:#dde2ea;--seam:#cbd2dc;--you:#2563eb;--partner:#d6dce6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--stage:#141820;--mat:#232a35;--seam:#303845;--you:#4f8cff;--partner:#cfd6e0}}:root[data-theme=dark]{--stage:#141820;--mat:#232a35;--seam:#303845;--you:#4f8cff;--partner:#cfd6e0}.viewer{aspect-ratio:4/3;border-radius:var(--r,14px);background:var(--stage);margin:0;position:relative;overflow:hidden}.viewer.compact{aspect-ratio:16/10}.viewer canvas{touch-action:pan-x pan-y;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.viewer.live canvas{cursor:grab}.viewer.live canvas:active{cursor:grabbing}.viewer.live:after{content:"";border-radius:inherit;border:2px solid var(--accent);pointer-events:none;position:absolute;inset:0}.vmsg{text-align:center;color:var(--muted);place-items:center;margin:0;padding:16px;font-size:13px;display:grid;position:absolute;inset:0}.vlegend{color:var(--fg);pointer-events:none;gap:8px;font-size:12px;font-weight:600;display:flex;position:absolute;bottom:12px;left:12px}.vlegend span{background:color-mix(in srgb, var(--card) 88%, transparent);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.vlegend i{border-radius:50%;width:9px;height:9px}.vlegend i.you{background:var(--you)}.vlegend i.partner{background:var(--partner);border:1px solid var(--line)}.vhint{color:var(--muted);pointer-events:none;font-size:12px;line-height:16px;position:absolute;top:12px;left:12px;right:96px}.vrotate{border:1px solid var(--line);background:color-mix(in srgb, var(--card) 92%, transparent);min-height:32px;color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:4px 12px 4px 8px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:8px;right:8px}.vrotate.done{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);padding:4px 12px}.vrotate:hover{border-color:var(--accent)}.vrotate:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vrotate .vicon{width:18px;height:18px}
