section{position:relative}
.rv-bar{position:fixed;right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:50;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 24px);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;box-shadow:0 4px 18px rgba(0,0,0,.18);font-size:.82rem}
.rv-bar input{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);width:130px;min-width:0}
.rv-bar button,.rv-pop button{font:inherit;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);cursor:pointer}
.rv-bar button:hover,.rv-pop button:hover{border-color:var(--accent);color:var(--accent)}
.rv-bar button.on,.rv-pop .primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.rv-count{color:var(--muted)}
body.rv-on section{cursor:crosshair}
.rv-pin{position:absolute;width:26px;height:26px;margin:-26px 0 0 -13px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--warn);color:#fff;border:2px solid var(--card);display:grid;place-items:center;font-size:.72rem;font-weight:700;z-index:20;padding:0;cursor:pointer}
.rv-pin span{transform:rotate(45deg)}
.rv-pin.done{background:var(--muted);opacity:.7}
.rv-pop{position:absolute;z-index:30;width:min(300px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px;box-shadow:0 6px 24px rgba(0,0,0,.25);font-size:.85rem;cursor:auto}
.rv-msg{padding:6px 0;border-bottom:1px solid var(--line)}
.rv-meta{color:var(--muted);font-size:.74rem;display:block}
.rv-txt{white-space:pre-wrap;overflow-wrap:anywhere}
.rv-pop textarea{width:100%;box-sizing:border-box;font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);resize:vertical;min-height:58px;margin-top:6px}
.rv-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.rv-hint{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 60px);transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:6px 12px;border-radius:999px;font-size:.8rem;z-index:60}
