/* score.css */
.score-section  { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.score-viz      { background:var(--bg2); border:1px solid var(--border2); border-radius:var(--r2); padding:2.5rem; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,0.3); }
.score-viz-label{ font-size:0.85rem; color:var(--text2); margin-bottom:1.5rem; }
.score-ring     { position:relative; width:180px; height:180px; margin:0 auto 2rem; }
.score-ring svg { width:100%; height:100%; transform:rotate(-90deg); }
.score-ring-num { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.score-num      { font-size:2.5rem; font-weight:800; color:var(--accent); font-variant-numeric:tabular-nums; line-height:1; }
.score-label    { font-size:0.75rem; color:var(--text2); margin-top:2px; }
.subscores      { display:flex; flex-direction:column; gap:10px; }
.subscore-row   { display:flex; align-items:center; gap:10px; }
.subscore-name  { font-size:0.78rem; color:var(--text2); flex:1; }
.subscore-bar-wrap { flex:2; height:6px; background:var(--surface2); border-radius:100px; overflow:hidden; }
.subscore-bar   { height:100%; border-radius:100px; width:0; transition:width 1.5s ease; }
.subscore-val   { font-size:0.78rem; font-weight:700; width:36px; text-align:right; }
.score-content h3  { font-size:1.5rem; font-weight:700; margin-bottom:1rem; }
.score-content > p { color:var(--text2); line-height:1.7; margin-bottom:2rem; font-size:0.9rem; }
.score-cards       { display:flex; flex-direction:column; gap:12px; }
.score-info-card   { display:flex; gap:12px; align-items:flex-start; padding:16px; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.score-info-icon   { font-size:1.5rem; flex-shrink:0; }
.score-info-card strong { font-size:0.9rem; font-weight:700; display:block; margin-bottom:4px; }
.score-info-card p { font-size:0.82rem; color:var(--text2); line-height:1.5; margin:0; }
