@font-face{font-family:"Inter";src:url("fonts/InterVariable-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--ink:#0f0c24;--ink2:#2a2645;--muted:#5d5975;--brand:#6c4cf1;--brand-l:#f0ecff;--line:#e9e6f3;--soft:#f8f7fc;--ok:#0e9f6e;--warn:#d97706;--bad:#e11d48}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--soft);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
.demo-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;padding:10px 18px;background:#fff4e0;border-bottom:1px solid #fbe0b0;font-size:.88rem;color:#7a4a00;text-align:center}
.demo-bar p{margin:0}
.demo-bar a{color:#7a4a00;font-weight:650}
.report{width:min(920px,100% - 32px);margin:32px auto 56px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:44px;box-shadow:0 2px 4px rgba(15,12,36,.04),0 24px 48px -12px rgba(40,24,120,.14)}
.r-head{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line)}
.r-logo img{height:38px;width:auto;display:block}
.r-kicker{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
h1{margin:2px 0 2px;font-size:2rem;letter-spacing:-.035em;line-height:1.1}
.r-sub{margin:0;color:var(--muted);font-size:.9rem}
.print-btn{font:inherit;font-size:.86rem;font-weight:620;color:var(--ink);background:#fff;border:1px solid #d8d3e6;border-radius:999px;padding:9px 16px;cursor:pointer}
.print-btn:hover{border-color:var(--brand);color:var(--brand)}
.print-btn:focus-visible,a:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.overall{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;padding:32px 0}
.big-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--warn) calc(var(--v)*1%),#f1eef8 0)}
.big-ring::before{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}
.big-ring span{position:relative;color:var(--muted);font-weight:600}
.big-ring b{font-size:2.8rem;color:var(--ink);letter-spacing:-.05em}
.badge{display:inline-block;margin:0 0 8px;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px}
.badge.warn{color:#9a5b00;background:#fff4e0}
.overall h2{margin:0 0 8px;font-size:1.5rem;letter-spacing:-.03em;line-height:1.2}
.overall p{margin:0;color:var(--ink2)}
.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sc{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--soft)}
.sc p{margin:0;font-size:.86rem;font-weight:600;color:var(--ink2)}
.sc b{display:block;font-size:2rem;letter-spacing:-.04em;margin:4px 0 8px}
.sc b.low,.area h3 span.low{color:var(--bad)}
.bar{display:block;height:8px;border-radius:99px;background:#e9e5f3;overflow:hidden}
.bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.bar i.low{background:linear-gradient(90deg,#e11d48,#fb7185)}
.block{padding-top:36px}
.block h2{margin:0 0 4px;font-size:1.35rem;letter-spacing:-.025em}
.block-sub{margin:0 0 18px;color:var(--muted);font-size:.92rem}
.fixes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fixes li{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.fixes .n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:.86rem}
.fixes b{display:block;font-size:1rem;line-height:1.35}
.fixes p{margin:3px 0 0;color:var(--muted);font-size:.9rem}
.tag{font-size:.74rem;font-weight:650;border-radius:999px;padding:4px 10px;white-space:nowrap}
.tag.hi{background:#ffe4ea;color:#b4123a}
.tag.md{background:#fff4e0;color:#9a5b00}
.tag.lo{background:#e3f8f0;color:#05734f}
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.area{border:1px solid var(--line);border-radius:18px;padding:18px}
.area h3{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:1rem}
.area h3 span{font-size:1.2rem;color:var(--warn)}
.area ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.area li{position:relative;padding-left:24px;font-size:.88rem;line-height:1.45;color:var(--ink2)}
.area li::before{position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:.68rem;font-weight:800;color:#fff}
.area li.ok::before{content:"✓";background:var(--ok)}
.area li.warn::before{content:"!";background:var(--warn)}
.area li.bad::before{content:"×";background:var(--bad);font-size:.85rem}
.next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.next-grid div{border-radius:16px;padding:16px 18px;background:var(--brand-l)}
.next-grid b{font-size:.95rem}
.next-grid p{margin:4px 0 0;font-size:.88rem;color:var(--ink2)}
.next-cta{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:640;border-radius:999px;padding:11px 20px;background:var(--brand);color:#fff;border:1px solid var(--brand)}
.btn.ghost{background:#fff;color:var(--ink);border-color:#d8d3e6}
.foot{margin:32px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;text-align:center}
@media (max-width:720px){
  .report{width:100%;margin:0;border-radius:0;border:0;padding:24px 18px 40px;box-shadow:none}
  .r-head{grid-template-columns:1fr;gap:14px}
  .print-btn{justify-self:start}
  h1{font-size:1.7rem}
  .overall{grid-template-columns:1fr;gap:18px;justify-items:start}
  .big-ring{width:120px;height:120px}
  .big-ring b{font-size:2.2rem}
  .scores,.areas,.next-grid{grid-template-columns:1fr}
  .fixes li{grid-template-columns:auto 1fr}
  .fixes .tag{grid-column:2;justify-self:start}
  .next-cta .btn{flex:1 1 100%}
}
@media print{
  .demo-bar,.print-btn,.next-cta{display:none}
  body{background:#fff}
  .report{margin:0;width:100%;border:0;box-shadow:none;padding:0}
  .fixes li,.area,.sc{break-inside:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.foot-legal{text-align:center;font-size:.9rem;color:var(--muted);margin:10px 0 0}
.foot-legal a{color:inherit}
@media print{.foot-legal{display:none}}

.foot-legal a{display:inline-block;padding:10px 6px;min-height:44px;line-height:24px}
.demo-bar a{display:inline-block;padding:10px 0;min-height:44px}
.demo-bar{font-size:.95rem}
