.report-hero{padding:40px 0 48px;background:linear-gradient(135deg,var(--ink),var(--navy));color:var(--ice)}
.report-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:end}
@media(max-width:860px){.report-hero-grid{grid-template-columns:1fr}}
@media(max-width:860px){.report-hero-grid{grid-template-columns:1fr}}
.report-hero h1{font-size:clamp(32px,4.5vw,46px);color:var(--white);margin:10px 0}
.report-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:rgba(212,226,255,.65)}
.score-card{padding:24px;border:1px solid var(--line-dark);background:rgba(255,255,255,.05);border-radius:18px;text-align:center}
.score-ring{width:132px;height:132px;margin:0 auto 12px;position:relative}
.score-ring svg{transform:rotate(-90deg)}
.score-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}
.score-num b{font-family:var(--display);font-size:40px;color:var(--white)}
.score-num span{font-size:12px;color:rgba(212,226,255,.55)}
main{padding:32px 0 100px}
.panel{margin-bottom:18px;padding:26px}
.panel h2{font-size:22px;margin-bottom:6px}
.panel .sub{font-family:var(--mono);font-size:11px;color:var(--muted);margin-bottom:18px}
.platform{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px}
.platform-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.platform-head h3{font-size:16px;margin:0}
.platform-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.platform-named{border-color:rgba(34,197,94,.25)}
.platform-miss{border-color:rgba(239,68,68,.15)}
.platform .bar-fill{width:0}
.bar-track{height:8px;background:#E8EDF8;border-radius:99px;overflow:hidden;margin:8px 0 12px}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--navy),var(--navy-soft));border-radius:99px;transition:width 1s ease}
.sample{font-size:14px;background:var(--mist);border-radius:10px;padding:14px;line-height:1.55}
.comp-table{width:100%;border-collapse:collapse;font-size:14px}
.comp-table th,.comp-table td{padding:11px 8px;text-align:left;border-bottom:1px solid var(--line)}
.comp-table th{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.comp-table .you{font-weight:600;color:var(--navy)}
.trend{display:flex;align-items:flex-end;gap:10px;height:150px;margin-top:8px}
.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.trend-bar{width:100%;max-width:44px;border-radius:6px 6px 0 0;background:var(--navy);height:0;transition:height .9s ease}
.trend-lab{font-family:var(--mono);font-size:10px;color:var(--muted)}
.recs{display:grid;gap:10px}
.rec{border-left:4px solid var(--gold);background:var(--mist);border-radius:0 10px 10px 0;padding:14px}
.rec.high{border-left-color:var(--bad)}
.rec b{display:block;color:var(--navy);margin-bottom:4px;font-size:15px}
.rec span{font-size:14px;color:var(--slate)}
.actions-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.mode-note{font-size:13px;color:rgba(212,226,255,.55);margin-top:10px;max-width:520px}
.loading,.error{min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px}
.loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}
@keyframes spin{to{transform:rotate(360deg)}}
.preview-confidence{background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.25);border-radius:12px;padding:14px 16px;margin-top:12px;font-size:14px;color:rgba(212,226,255,.8)}

.report-loader{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:linear-gradient(180deg,var(--ink),#0B1028)}
.report-loader-card{width:min(420px,100%);text-align:center;padding:36px 28px;border:1px solid var(--line-dark);border-radius:18px;background:rgba(255,255,255,.04);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.report-loader-mark{width:48px;height:48px;margin:0 auto 16px}
.report-loader-card h2{color:var(--white);font-size:22px;margin:0 0 8px}
.report-loader-card p{color:rgba(202,220,252,.6);font-size:14px;margin:0 0 20px}
.report-loader-steps{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px;text-align:left}
.report-loader-steps li{font-family:var(--mono);font-size:11px;color:rgba(202,220,252,.45);padding-left:18px;position:relative}
.report-loader-steps li.active{color:var(--gold-bright)}
.report-loader-steps li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:rgba(202,220,252,.25)}
.report-loader-steps li.active::before{background:var(--gold-bright);box-shadow:0 0 0 4px rgba(227,188,63,.15)}
.report-loader-bar{height:6px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
.report-loader-bar span{display:block;height:100%;width:35%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));border-radius:99px;animation:loaderPulse 1.4s ease-in-out infinite}
@keyframes loaderPulse{0%{width:18%}50%{width:72%}100%{width:18%}}

@media print{
  .topnav,.actions-bar,.report-sticky-cta{display:none}
  body{background:#fff;color:#111}
  .report-hero{background:#fff;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .report-hero h1,.score-num b{color:var(--navy)}
  .card,.panel,.platform{break-inside:avoid;page-break-inside:avoid}
  main{padding-bottom:24px}
}
@media(max-width:760px){
  .comp-table thead{display:none}
  .comp-table tr{display:block;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--white)}
  .comp-table td{display:flex;justify-content:space-between;padding:6px 0;border:0}
  .comp-table td:first-child{font-family:var(--mono);font-size:11px;color:var(--muted)}
  .comp-table td:before{content:attr(data-label);font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--muted)}
}
.report-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px 16px;background:rgba(11,16,40,.94);border-top:1px solid var(--line-dark);display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.compare-banner{background:#EEF2FF;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:14px}
.preview-confidence{background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.25);border-radius:12px;padding:14px 16px;margin-top:12px;font-size:14px;color:rgba(212,226,255,.8)}
