/* Elevate website review v2. Glass dialog + blurred backdrop (Vengeance UI search-modal),
   kinetic loader, digit roll (animated-number) and border beam while working. */
:root{--rv-ink:#121214;--rv-muted:#5f5f66;--rv-line:#e2e2df;--rv-soft:#f4f4f2;--rv-red:#b72a2a;--rv-red-soft:#fbeceb;--rv-green:#1d7a45;--rv-green-soft:#e7f4ec;--rv-amber:#9a6700;--rv-amber-soft:#fbf2df;--rv-ease:cubic-bezier(.16,1,.3,1)}

/* ---------- backdrop + dialog ---------- */
.rv-backdrop{position:fixed;inset:0;z-index:259;background:rgba(10,10,12,.42);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);opacity:0;transition:opacity .25s ease}
.rv-backdrop.is-open{opacity:1}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.rv-backdrop{background:rgba(10,10,12,.78)}}
.audit-workspace-dialog{box-shadow:0 30px 90px -20px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08)!important;background:rgba(250,250,248,.94)!important;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.55)!important;opacity:0;transform:translateY(10px) scale(.985);transition:opacity .22s ease,transform .4s var(--rv-ease)}
.audit-workspace-dialog.is-open{opacity:1;transform:none}
.audit-workspace-dialog .audit-window-bar{background:rgba(236,236,233,.85)!important}
.audit-workspace-dialog::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1.5px solid transparent;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}
.audit-workspace-dialog.is-working::after{opacity:1;background:conic-gradient(from var(--rv-beam,0deg),transparent 0 70%,#e14440 82%,#ffb4ae 88%,transparent 96%) border-box;animation:rv-beam 3.2s linear infinite}
@property --rv-beam{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes rv-beam{to{--rv-beam:360deg}}

/* ---------- loading ---------- */
.audit-loading{background:#0c0c0e!important}
.audit-loading>.rv-loading{position:relative;z-index:2;display:grid;justify-items:center;gap:12px;padding:44px 20px;color:#fff;text-align:center}
.rv-kinetic{position:relative;height:84px;display:grid;place-items:center;transform:scale(.72)}
.rv-kinetic p{margin:0;font:300 60px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;white-space:nowrap;color:#f2f2f0}
.rv-kinetic p span{display:inline-block;letter-spacing:8px}
.rv-kinetic-dot{position:absolute;z-index:1;top:40px;left:85px;width:7px;height:7px;border-radius:50%;background:#e14440;animation:rv-dot 1.8s cubic-bezier(.25,.25,.75,.75) infinite}
.rv-k-l{transform-origin:100% 70%;animation:rv-l 1.8s cubic-bezier(.25,.25,.75,.75) infinite}
.rv-k-i{transform-origin:100% 70%;animation:rv-i 1.8s cubic-bezier(.25,.23,.73,.75) infinite}
@keyframes rv-dot{0%,100%{transform:rotate(180deg) translate(-80px,-10px) rotate(-180deg)}50%{transform:rotate(0) translate(-81px,10px) rotate(0)}}
@keyframes rv-i{0%,100%{transform:scale(1,.35);transform-origin:100% 75%}8%,28%{transform:scale(1,1.4);transform-origin:100% 67%}37%{transform:scale(1,.875)}46%{transform:scale(1,1.03)}50%,97%{transform:scale(1)}}
@keyframes rv-l{0%,45%,70%,100%{transform:scaleY(1.11)}49%{transform:scaleY(.31)}50%{transform:scaleY(.16)}53%{transform:scaleY(.63)}60%{transform:scaleY(1.275)}68%{transform:scaleY(1.04)}}
.rv-step{margin:0;font:700 clamp(20px,3vw,28px)/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.02em}
.rv-elapsed{margin:0;color:#8d8d93;font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}
.rv-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:10px 0 0;padding:0;list-style:none;max-width:560px}
.rv-steps li{padding:5px 10px;border:1px solid #2c2c31;border-radius:999px;color:#7c7c82;font-size:11px;transition:color .3s,border-color .3s,background .3s}
.rv-steps li.is-done{color:#fff;border-color:#e14440;background:rgba(225,68,64,.14)}
.audit-loading .audit-loading-grid,.audit-loading .audit-thinking-orb{display:none}

/* ---------- results ---------- */
.audit-results.is-in{animation:rv-fade .45s ease both}

@keyframes rv-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.audit-results{display:grid;gap:28px;color:var(--rv-ink)}
.rv-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:start}
.rv-head-copy{display:grid;gap:10px;min-width:0}
.rv-eyebrow,.rv-label{margin:0;font:700 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--rv-muted)}
.rv-head h3{margin:0;font-size:clamp(26px,3.6vw,40px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.rv-head-copy>p{margin:0;max-width:62ch;color:var(--rv-muted);font-size:15px;line-height:1.6}
.rv-source{font-size:12px!important;color:#7a7a80!important}
.rv-score{display:grid;justify-items:end;gap:6px}
.rv-score-num{display:flex;align-items:flex-end;gap:4px;color:var(--rv-red)}
.rv-score-num small{font-size:16px;color:var(--rv-muted);margin-bottom:10px}
.rv-score>span{font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--rv-muted)}
.rv-roll{display:inline-flex;font:800 72px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rv-roll-col{display:inline-block;height:1em;overflow:hidden}
.rv-roll-col>span{display:flex;flex-direction:column;transform:translateY(calc(var(--d) * -1em));animation:rv-roll 1.1s var(--rv-ease) both;animation-delay:calc(var(--i) * 90ms + 120ms)}
.rv-roll-col i{font-style:normal;height:1em;line-height:1}
@keyframes rv-roll{from{transform:translateY(0)}}
.rv-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 28px}
.rv-bar{display:grid;grid-template-columns:minmax(0,1fr) 110px 30px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rv-line);font-size:13px}
.rv-bar i{height:6px;background:#e7e7e4;border-radius:6px;overflow:hidden}
.rv-bar b{display:block;height:100%;width:var(--w);border-radius:6px;background:var(--rv-red);transform-origin:left;animation:rv-grow 1s var(--rv-ease) both}
.rv-bar b[data-tone=good]{background:var(--rv-green)}.rv-bar b[data-tone=mid]{background:#c98a00}
.rv-bar strong{text-align:right;font-variant-numeric:tabular-nums}
@keyframes rv-grow{from{transform:scaleX(0)}}
.rv-priorities ol{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px;counter-reset:p}
.rv-priorities li{counter-increment:p;position:relative;display:grid;gap:6px;padding:18px 18px 18px 58px;background:#fff;border:1px solid var(--rv-line);border-radius:14px}
.rv-priorities li::before{content:counter(p);position:absolute;left:18px;top:16px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--rv-ink);color:#fff;font:700 12px/1 "Helvetica Neue",Helvetica,Arial,sans-serif}
.rv-priorities strong{font-size:17px;letter-spacing:-.01em}
.rv-priorities p{margin:0;color:var(--rv-muted);font-size:14px;line-height:1.55}
.rv-fix{color:var(--rv-ink)!important}
.rv-refs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px!important}
.rv-cite{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;margin:0 2px;border:1px solid #d7d7d3;border-radius:999px;background:var(--rv-soft);color:var(--rv-ink);font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;vertical-align:1px;transition:background .2s,border-color .2s}
.rv-cite:hover,.rv-cite:focus-visible{background:var(--rv-ink);color:#fff;border-color:var(--rv-ink)}
.rv-cite-page{cursor:default}

.rv-capture{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;padding:24px;border-radius:18px;background:var(--rv-ink);color:#fff}
.rv-capture h4,.rv-sent h4{margin:0 0 8px;font-size:22px;letter-spacing:-.02em}
.rv-capture p{margin:0;color:#b9b9be;font-size:14px;line-height:1.55}
.rv-capture form{display:grid;gap:12px}
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rv-capture label>span{display:block;margin-bottom:6px;font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:#9b9ba1}
.rv-capture input:not([type=checkbox]){width:100%;height:46px;padding:0 14px;border:1px solid #38383e;border-radius:10px;background:#1b1b1f;color:#fff;font-size:15px;outline:none;transition:border-color .2s}
.rv-capture input:focus-visible{border-color:#e14440}
.rv-consent{display:grid!important;grid-template-columns:18px 1fr;gap:10px;font-size:12px;color:#b9b9be;line-height:1.5}
.rv-consent span{margin:0!important;font:inherit!important;letter-spacing:0!important;text-transform:none!important;color:#b9b9be!important}
.rv-consent a{color:#fff}
.rv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.rv-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:999px;background:#fff;color:#111;font-size:14px;font-weight:750;cursor:pointer;text-decoration:none;transition:transform .2s var(--rv-ease),background .2s}
.rv-primary:hover{background:#ffe1de}.rv-primary:active{transform:scale(.98)}.rv-primary:disabled{opacity:.6;cursor:wait}
.rv-msg{margin:0!important;font-size:13px!important}.rv-msg[data-tone=error]{color:#ff9d96!important}
.rv-sent{grid-column:1/-1;display:grid;gap:12px;justify-items:start}

.rv-ask{display:grid;gap:12px;padding:22px;border:1px solid var(--rv-line);border-radius:18px;background:#fff}
.rv-ask-note{margin:0;color:var(--rv-muted);font-size:13px}
.rv-chips{display:flex;flex-wrap:wrap;gap:8px}
.rv-chips button{padding:8px 14px;border:1px solid var(--rv-line);border-radius:999px;background:var(--rv-soft);font-size:13px;cursor:pointer;transition:background .2s,border-color .2s}
.rv-chips button:hover{background:#fff;border-color:var(--rv-ink)}
.rv-thread{display:grid;gap:14px}
.rv-turn{display:grid;gap:8px}
.rv-q{justify-self:end;max-width:85%;margin:0;padding:10px 14px;border-radius:14px 14px 4px 14px;background:var(--rv-ink);color:#fff;font-size:14px}
.rv-a{max-width:92%;padding:14px 16px;border-radius:14px 14px 14px 4px;background:var(--rv-soft);font-size:14px;line-height:1.6}
.rv-a p{margin:0 0 8px}.rv-a p:last-child{margin:0}
.rv-a small{display:block;margin-top:6px;color:var(--rv-muted);font-size:11px}
.rv-a-error{background:var(--rv-red-soft);color:#851f19}
.rv-a.is-thinking{display:flex;gap:5px;width:max-content}
.rv-a.is-thinking span{width:7px;height:7px;border-radius:50%;background:#9b9ba1;animation:rv-blink 1s infinite}
.rv-a.is-thinking span:nth-child(2){animation-delay:.15s}.rv-a.is-thinking span:nth-child(3){animation-delay:.3s}
@keyframes rv-blink{50%{opacity:.25}}
.rv-ask-form{display:grid;grid-template-columns:1fr auto;gap:8px}
.rv-ask-form input{height:48px;padding:0 16px;border:1px solid #cfcfcb;border-radius:999px;background:#fff;font-size:15px;outline:none}
.rv-ask-form input:focus-visible{border-color:var(--rv-ink)}
.rv-ask-form button{padding:0 20px;border:0;border-radius:999px;background:var(--rv-ink);color:#fff;font-weight:700;cursor:pointer}

.rv-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:4px;margin-bottom:14px;border:1px solid var(--rv-line);border-radius:999px;background:var(--rv-soft);width:max-content;max-width:100%}
.rv-tabs button{padding:8px 14px;border:0;border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:var(--rv-muted);cursor:pointer}
.rv-tabs button[aria-selected=true]{background:#fff;color:var(--rv-ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.rv-tabs b{font-variant-numeric:tabular-nums;margin-left:4px}
.rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.rv-finding{display:grid;gap:8px;align-content:start;padding:18px;border:1px solid var(--rv-line);border-radius:14px;background:#fff;scroll-margin:120px}
.rv-finding header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rv-finding h4{margin:0;font-size:16px;letter-spacing:-.01em}
.rv-finding p{margin:0;color:var(--rv-muted);font-size:13px;line-height:1.55}
.rv-meta{font:600 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;color:#8a8a90;text-align:right}
.rv-pill{padding:4px 9px;border-radius:999px;font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}
.rv-pill-issue{background:var(--rv-red-soft);color:var(--rv-red)}.rv-pill-warning{background:var(--rv-amber-soft);color:var(--rv-amber)}.rv-pill-pass{background:var(--rv-green-soft);color:var(--rv-green)}
.rv-finding.is-flash{animation:rv-flash 1.6s ease}
@keyframes rv-flash{0%,30%{box-shadow:0 0 0 3px #e14440}100%{box-shadow:0 0 0 0 transparent}}
.rv-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;border-top:1px solid var(--rv-line)}
.rv-foot p{margin:0;max-width:56ch;color:var(--rv-muted);font-size:12px}
.rv-foot div{display:flex;flex-wrap:wrap;gap:10px}
.rv-foot button,.rv-foot a{min-height:44px;padding:0 18px;border:1px solid var(--rv-ink);border-radius:999px;background:#fff;color:var(--rv-ink);font-size:13px;font-weight:700;display:inline-flex;align-items:center;cursor:pointer;text-decoration:none}
.rv-foot a{background:var(--rv-ink);color:#fff}

@media (max-width:760px){
  .rv-head{grid-template-columns:1fr}
  .rv-score{justify-items:start}
  .rv-roll{font-size:60px}
  .rv-capture{grid-template-columns:1fr;padding:20px}
  .rv-grid{grid-template-columns:1fr}
  .rv-bar{grid-template-columns:minmax(0,1fr) 90px 28px}
  .rv-tabs{width:100%;border-radius:14px}
}
@media (prefers-reduced-motion:reduce){
  .rv-backdrop,.audit-workspace-dialog{transition:none}
  .audit-workspace-dialog.is-working::after,.rv-kinetic-dot,.rv-k-l,.rv-k-i,.rv-roll-col>span,.rv-bar b,.audit-results.is-in,.rv-a.is-thinking span{animation:none!important}
}
@media print{.rv-backdrop,.rv-capture,.rv-ask,.rv-foot div{display:none!important}}
.audit-loading .rv-loading p{margin-top:0;min-height:0}
.audit-loading .rv-loading .rv-kinetic p span{display:inline-block}
.rv-head-copy>p.rv-eyebrow{font-size:10px;line-height:1.4;color:var(--rv-muted)}
.rv-pending{display:inline-flex;align-items:center;gap:6px;color:#b72a2a;font-weight:600}
.rv-pending::before{content:"";width:7px;height:7px;border-radius:50%;background:#e14440;animation:rv-blink 1s infinite}

@keyframes rv-fade{from{opacity:0}to{opacity:1}}

.rv-clear{display:grid;gap:6px;padding:20px 22px;border-radius:14px;background:var(--rv-green-soft);color:var(--rv-ink)}
.rv-clear strong{font-size:17px}
.rv-clear p{margin:0;color:var(--rv-muted);font-size:14px;line-height:1.55}
