/* Prism results graphics: animated ring, square grid, dot row and bar charts.
   Self-contained (every class starts with ps-) so it can sit on any page.
   Animated by /js/prism-stats.js when it scrolls into view. */

.rx{
  --ps-gold:#B8883E; --ps-gold-ink:#9A7238; --ps-track:#EFEAE0; --ps-track-line:#E2DACB;
  --ps-slate:#1F2B27; --ps-body:#3E4A45; --ps-faint:#7E8784;
  --ps-ease:cubic-bezier(.22,.9,.3,1);
  font-family:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  color:var(--ps-slate);
}
.rx *{box-sizing:border-box;}

/* ── headline strip ── */
.rx-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.rx-item{background:#fff;border:1px solid rgba(31,43,39,.08);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:26px 22px 24px;}
.rx-vis{height:128px;display:flex;align-items:center;justify-content:center;position:relative;width:100%;}
.rx-num{font-size:clamp(34px,4vw,46px);font-weight:400;letter-spacing:-.035em;line-height:1;color:var(--ps-gold-ink);white-space:nowrap;}
.rx-num small{font-size:.55em;letter-spacing:-.01em;}
.rx-label{font-size:14px;line-height:1.5;color:var(--ps-body);max-width:260px;margin:0 auto;}
.rx-label b{font-weight:600;color:var(--ps-slate);}

.rx-ring svg{width:128px;height:128px;transform:rotate(-90deg);}
.rx-ring circle{fill:none;stroke-width:9;stroke-linecap:round;}
.rx-track{stroke:var(--ps-track);}
.rx-arc{stroke:var(--ps-gold);stroke-dasharray:0 100;transition:stroke-dasharray 1.6s var(--ps-ease);}
.rx-in .rx-arc{stroke-dasharray:var(--v) 100;}
.rx-ring .rx-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;}

.rx-dots{flex-direction:column;gap:14px;}
.rx-dotrow{display:flex;gap:7px;}
.rx-dot{width:16px;height:16px;border-radius:50%;background:var(--ps-track);border:1px solid var(--ps-track-line);transition:background .4s ease,border-color .4s ease,transform .4s ease;transition-delay:calc(var(--i) * 90ms);}
.rx-in .rx-dot.on{background:var(--ps-gold);border-color:var(--ps-gold);transform:scale(1.08);}
.rx-key{display:flex;gap:14px;font-size:11px;color:var(--ps-faint);}
.rx-key span{display:flex;align-items:center;gap:5px;}
.rx-key b{width:8px;height:8px;border-radius:50%;background:var(--ps-track);border:1px solid var(--ps-track-line);}
.rx-key b.on{background:var(--ps-gold);border-color:var(--ps-gold);}

.rx-waffle{gap:20px;}
.rx-grid{display:grid;grid-template-columns:repeat(10,9px);gap:3px;}
.rx-grid i{width:9px;height:9px;border-radius:2px;background:var(--ps-track);transition:background .3s ease;transition-delay:calc(var(--i) * 9ms);}
.rx-in .rx-grid i.on{background:var(--ps-gold);}

/* ── symptom-area cards ── */
.rx-areas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.rx-area{background:#fff;border:1px solid rgba(31,43,39,.08);border-radius:16px;padding:20px 18px 18px;display:flex;flex-direction:column;gap:14px;}
.rx-area-head{display:flex;align-items:center;gap:10px;}
.rx-ic{width:34px;height:34px;border-radius:50%;border:1px solid rgba(175,138,84,.4);color:#AF8A54;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.rx-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.rx-area-name{font-size:16px;font-weight:500;letter-spacing:-.01em;}
.rx-area .rx-vis{height:auto;flex-direction:column;align-items:center;gap:10px;text-align:center;}
.rx-area .rx-ringwrap{position:relative;width:96px;height:96px;flex-shrink:0;}
.rx-area .rx-ring svg{width:96px;height:96px;}
.rx-area .rx-ring circle{stroke-width:8;}
.rx-area .rx-ringwrap .rx-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;}
.rx-area .rx-ringlabel{font-size:13px;line-height:1.45;color:var(--rx-body);max-width:200px;}
.rx-bars{display:grid;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #EFE9DF;}
.rx-bar-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;line-height:1.35;color:var(--ps-body);margin-bottom:5px;}
.rx-bar-top b{font-size:14px;font-weight:500;color:var(--ps-gold-ink);white-space:nowrap;}
.rx-bar{height:6px;border-radius:6px;background:var(--ps-track);overflow:hidden;}
.rx-bar i{display:block;height:100%;width:var(--v);border-radius:6px;background:var(--ps-gold);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ps-ease) .3s;}
.rx-in .rx-bar i{transform:scaleX(1);}

.rx-note{font-size:12px;color:var(--ps-faint);text-align:center;margin:16px 0 0;}
.rx-sub-h{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ps-faint);text-align:center;margin:36px 0 16px;}

@media (max-width:1080px){.rx-areas{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:860px){
  .rx-strip{grid-template-columns:1fr;}
  .rx-areas{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion:reduce){.rx-arc,.rx-dot,.rx-grid i,.rx-bar i{transition:none;}}
