/* Review mode UI (assets/review.js). Themed by --rv-* tokens (defaults = The Brunch Club kit; the page head sets the Academy ones). */
/* tokens live on :root so the outlines on page texts (outside .rv) resolve them too */
:root{--rv-bg:#7F1604;--rv-deep:#5E1003;--rv-fg:#FDF6EE;--rv-ac:#F78309;--rv-ac2:#E34703;--rv-acl:#F9D4A4;--rv-ink:#1F2528;--rv-font:"Averia Serif Libre",Georgia,serif;--rv-display:"Beautique Display",Georgia,serif;--rv-r:10px}
.rv{font:400 14px/1.35 var(--rv-font);color:var(--rv-fg)}
.rv *{box-sizing:border-box}
.rv [hidden]{display:none!important}
.rv-pencil{position:fixed;left:var(--rv-left,14px);bottom:var(--rv-bottom,14px);z-index:9960;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:var(--rv-r);border:1px solid rgba(253,246,238,.35);background:color-mix(in srgb,var(--rv-bg) 88%,transparent);color:var(--rv-fg);font:700 12px/1 var(--rv-font);letter-spacing:.06em;cursor:pointer;opacity:.85;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity .15s,border-color .15s}
.rv-pencil:hover,.rv-pencil:focus-visible{opacity:1;border-color:var(--rv-ac)}
.rv-bar{position:fixed;left:10px;bottom:var(--rv-bar-bottom,10px);z-index:9970;display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:min(560px,calc(100vw - 20px));padding:10px 12px;border-radius:var(--rv-r);border:1px solid var(--rv-ac);background:var(--rv-deep);box-shadow:0 12px 30px rgba(0,0,0,.4)}
.rv-title{font:700 12px/1 var(--rv-font);letter-spacing:.08em;text-transform:uppercase;color:var(--rv-acl)}
.rv-hint{flex-basis:100%;font-size:12px;color:color-mix(in srgb,var(--rv-fg) 70%,transparent)}
.rv-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.rv-toggle input{accent-color:var(--rv-ac)}
.rv-btn{border-radius:var(--rv-r);border:1px solid color-mix(in srgb,var(--rv-fg) 45%,transparent);background:transparent;color:var(--rv-fg);padding:8px 12px;font:700 12px/1 var(--rv-font);cursor:pointer}
.rv-btn:disabled{opacity:.5;cursor:default}
.rv-solid{background:linear-gradient(100deg,var(--rv-ac2),var(--rv-ac));border-color:transparent;color:#fff}
.rv-ghost{border-color:transparent;color:color-mix(in srgb,var(--rv-fg) 75%,transparent)}
.rv-status{font-size:12px;font-weight:700}
.rv-status:empty{display:none}
.rv-ok{color:var(--rv-acl)}.rv-err{color:#FFB4A2}.rv-busy{color:color-mix(in srgb,var(--rv-fg) 70%,transparent)}
html.rv-on .rv-edit{outline:1.5px dashed color-mix(in srgb,var(--rv-ac) 85%,transparent);outline-offset:3px;cursor:text;pointer-events:auto}
html.rv-on .rv-edit:hover{outline-color:var(--rv-ac)}
html.rv-on .rv-edit:focus{outline:2px solid var(--rv-ac);background:color-mix(in srgb,var(--rv-ac) 14%,transparent)}
.rv-pill{position:fixed;z-index:9975;border-radius:var(--rv-r);border:0;background:linear-gradient(100deg,var(--rv-ac2),var(--rv-ac));color:#fff;font:700 12px/1 var(--rv-font);padding:9px 14px;box-shadow:0 6px 18px rgba(0,0,0,.35);cursor:pointer}
.rv-bubble{position:fixed;z-index:9965;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--rv-ac);background:var(--rv-bg);color:var(--rv-fg);cursor:pointer;padding:0;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.rv-bubble:hover,.rv-bubble.open{background:var(--rv-ac);color:#fff}
.rv-bubble i{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--rv-ac2);color:#fff;font:700 11px/18px var(--rv-font);font-style:normal;text-align:center}
.rv-bubble i:empty{display:none}
.rv-pop{position:fixed;z-index:9980;width:min(340px,calc(100vw - 16px));max-height:min(470px,calc(100vh - 16px));display:flex;flex-direction:column;gap:9px;padding:14px;border-radius:var(--rv-r);border:1px solid color-mix(in srgb,var(--rv-fg) 22%,transparent);background:var(--rv-deep);box-shadow:0 16px 40px rgba(0,0,0,.45)}
.rv-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rv-head b{font-weight:700;font-size:13px}
.rv-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--rv-acl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.rv-x{background:transparent;border:0;color:var(--rv-fg);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
.rv-list{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:8px;max-height:200px}
.rv-full{max-height:none;flex:1}
.rv-list li{border-top:1px solid color-mix(in srgb,var(--rv-fg) 14%,transparent);padding-top:7px}
.rv-done{opacity:.55}
.rv-meta{font-size:11px;color:color-mix(in srgb,var(--rv-fg) 65%,transparent)}
.rv-meta b{font-weight:700;color:var(--rv-fg)}
.rv-body{white-space:pre-wrap;word-break:break-word;font-size:14px;margin:3px 0}
.rv-empty{color:color-mix(in srgb,var(--rv-fg) 65%,transparent);font-size:13px;border:0!important}
.rv-ta,.rv-author,.rv-field input{width:100%;border-radius:var(--rv-r);border:1px solid color-mix(in srgb,var(--rv-fg) 28%,transparent);background:rgba(0,0,0,.22);color:var(--rv-fg);padding:9px 10px;font:inherit;font-size:16px}
.rv-ta:focus,.rv-author:focus,.rv-field input:focus{outline:2px solid var(--rv-ac);border-color:transparent}
.rv-row{display:flex;gap:8px;align-items:center}
.rv-end{justify-content:flex-end}
.rv-author{flex:1;min-width:0}
.rv-panel{position:fixed;z-index:9978;top:0;right:0;height:100vh;height:100dvh;width:min(380px,100vw);display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--rv-deep);border-left:1px solid color-mix(in srgb,var(--rv-fg) 20%,transparent);box-shadow:-16px 0 40px rgba(0,0,0,.4)}
.rv-jump{all:unset;display:block;width:100%;cursor:pointer}
.rv-jump:hover .rv-body{color:var(--rv-acl)}
.rv-modal{position:fixed;inset:0;z-index:9990;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.55)}
.rv-dialog{width:min(380px,100%);display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:var(--rv-r);border:1px solid color-mix(in srgb,var(--rv-fg) 22%,transparent);background:var(--rv-bg)}
.rv-dialog h2{margin:0;font:700 28px/1 var(--rv-display);color:var(--rv-fg)}
.rv-dialog p{margin:0;color:color-mix(in srgb,var(--rv-fg) 80%,transparent);font-size:14px}
.rv-dialog .rv-err{color:#FFB4A2;font-weight:700}
.rv-field{display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--rv-fg) 75%,transparent)}
.rv-flash{outline:3px solid var(--rv-ac)!important;outline-offset:-3px}
@media (max-width:640px){.rv-hint{display:none}.rv-bar{right:10px;max-width:none}}
