.psap-wrap{
  --psap-accent:#0a84ff;
  --psap-bg:#f5f5f7;
  --psap-card:rgba(255,255,255,.88);
  --psap-text:#1d1d1f;
  --psap-muted:#6e6e73;
  --psap-border:rgba(0,0,0,.08);
  --psap-shadow:0 18px 55px rgba(0,0,0,.08);
  color:var(--psap-text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.45;
  width:100%;
}
.psap-shell{
  background:
    radial-gradient(circle at 12% 4%, color-mix(in srgb,var(--psap-accent) 10%,transparent), transparent 30%),
    var(--psap-bg);
  border:1px solid var(--psap-border);
  border-radius:28px;
  padding:clamp(22px,4vw,50px);
  overflow:hidden;
}
.psap-header{max-width:760px;margin:0 auto 28px;text-align:center}
.psap-eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--psap-accent);margin-bottom:8px}
.psap-header h2{font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:-.04em;margin:0 0 12px;font-weight:750}
.psap-header p{font-size:clamp(15px,1.6vw,18px);color:var(--psap-muted);margin:0 auto;max-width:680px}
.psap-field{margin:18px 0}
.psap-field label{display:block;font-weight:650;margin-bottom:8px}
.psap-course-field{max-width:620px;margin:0 auto 16px}
.psap-course,.psap-number{
  width:100%;background:#fff;color:var(--psap-text);border:1px solid var(--psap-border);border-radius:14px;
  padding:13px 14px;font-size:16px;outline:none;box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.psap-course:focus,.psap-number:focus{border-color:var(--psap-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--psap-accent) 15%,transparent)}
.psap-meta{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 0 24px}
.psap-chip{font-size:13px;background:rgba(255,255,255,.65);border:1px solid var(--psap-border);border-radius:999px;padding:7px 11px;color:var(--psap-muted)}
.psap-chip strong{color:var(--psap-text)}
.psap-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.psap-card{
  background:var(--psap-card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid var(--psap-border);border-radius:22px;padding:clamp(18px,3vw,28px);box-shadow:var(--psap-shadow);
}
.psap-card-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px}
.psap-card-title h3{margin:0 0 4px;font-size:20px;letter-spacing:-.02em}
.psap-card-title p{margin:0;color:var(--psap-muted);font-size:14px}
.psap-step{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:var(--psap-accent);color:#fff;font-weight:800;font-size:14px}
.psap-label-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.psap-label-row label{margin:0}
.psap-label-row output{font-weight:700;color:var(--psap-accent)}
.psap-field small{display:block;color:var(--psap-muted);font-size:12px;margin-top:7px}
.psap-wrap input[type="range"]{width:100%;accent-color:var(--psap-accent);margin:7px 0 10px}
.psap-number{max-width:150px;padding:10px 12px}
.psap-actions{margin-top:20px}
.psap-reset{
  border:1px solid var(--psap-border);background:#fff;color:var(--psap-text);padding:10px 15px;border-radius:12px;font-weight:650;cursor:pointer
}
.psap-reset:hover{border-color:color-mix(in srgb,var(--psap-accent) 35%,var(--psap-border))}
.psap-score-hero{text-align:center;padding:8px 0 20px}
.psap-score-label{display:block;color:var(--psap-muted);font-size:13px;font-weight:650;margin-bottom:5px}
.psap-score-hero strong{font-size:clamp(48px,7vw,76px);letter-spacing:-.055em;line-height:1}
.psap-score-hero small{font-size:.35em;color:var(--psap-muted);margin-left:3px}
.psap-bar-row{margin:15px 0}
.psap-bar-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:7px}
.psap-bar-head span{color:var(--psap-muted)}
.psap-bar{height:9px;background:rgba(0,0,0,.07);border-radius:999px;overflow:hidden}
.psap-bar span{display:block;height:100%;width:0;background:var(--psap-accent);border-radius:999px;transition:width .25s ease}
.psap-ap-score{margin:20px 0;padding:16px;border-radius:16px;background:color-mix(in srgb,var(--psap-accent) 9%,white);border:1px solid color-mix(in srgb,var(--psap-accent) 22%,transparent);text-align:center}
.psap-ap-score span,.psap-ap-score small{display:block}
.psap-ap-score strong{display:block;font-size:44px;line-height:1.05;color:var(--psap-accent);margin:4px 0}
.psap-ap-score small{font-size:11px;color:var(--psap-muted)}
.psap-insight{background:rgba(0,0,0,.035);border-radius:15px;padding:13px 14px;margin-top:18px;font-size:13px}
.psap-insight strong{display:block;margin-bottom:2px}
.psap-insight span{color:var(--psap-muted)}
.psap-cta{
  display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none!important;
  background:var(--psap-accent);color:#fff!important;border-radius:14px;padding:14px 18px;font-weight:750;margin-top:18px;
  box-shadow:0 10px 24px color-mix(in srgb,var(--psap-accent) 25%,transparent);transition:transform .18s ease,box-shadow .18s ease
}
.psap-cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px color-mix(in srgb,var(--psap-accent) 32%,transparent)}
.psap-footer{text-align:center;margin-top:20px;color:var(--psap-muted);font-size:12px}
.psap-footer p{margin:5px 0}
.psap-source{color:var(--psap-muted)!important}
.psap-notice{padding:14px 16px;background:#fff5cc;border:1px solid #f0d96a;border-radius:10px}
.psap-wrap :focus-visible{outline:3px solid color-mix(in srgb,var(--psap-accent) 35%,transparent);outline-offset:2px}

.psap-theme-dark{
  --psap-bg:#0b0b0d;--psap-card:rgba(28,28,30,.88);--psap-text:#f5f5f7;--psap-muted:#a1a1a6;--psap-border:rgba(255,255,255,.10);--psap-shadow:0 18px 55px rgba(0,0,0,.32)
}
.psap-theme-dark .psap-course,.psap-theme-dark .psap-number,.psap-theme-dark .psap-reset{background:#1c1c1e;color:#f5f5f7}
.psap-theme-dark .psap-chip{background:rgba(28,28,30,.72)}
.psap-theme-dark .psap-bar{background:rgba(255,255,255,.10)}
.psap-theme-dark .psap-insight{background:rgba(255,255,255,.05)}
.psap-theme-dark .psap-ap-score{background:color-mix(in srgb,var(--psap-accent) 14%,#1c1c1e)}

@media (prefers-color-scheme:dark){
  .psap-theme-auto{
    --psap-bg:#0b0b0d;--psap-card:rgba(28,28,30,.88);--psap-text:#f5f5f7;--psap-muted:#a1a1a6;--psap-border:rgba(255,255,255,.10);--psap-shadow:0 18px 55px rgba(0,0,0,.32)
  }
  .psap-theme-auto .psap-course,.psap-theme-auto .psap-number,.psap-theme-auto .psap-reset{background:#1c1c1e;color:#f5f5f7}
  .psap-theme-auto .psap-chip{background:rgba(28,28,30,.72)}
  .psap-theme-auto .psap-bar{background:rgba(255,255,255,.10)}
  .psap-theme-auto .psap-insight{background:rgba(255,255,255,.05)}
  .psap-theme-auto .psap-ap-score{background:color-mix(in srgb,var(--psap-accent) 14%,#1c1c1e)}
}

@media(max-width:800px){
  .psap-grid{grid-template-columns:1fr}
  .psap-shell{border-radius:20px;padding:20px}
  .psap-card{border-radius:18px}
}
@media(max-width:480px){
  .psap-header{text-align:left}
  .psap-meta{justify-content:flex-start}
  .psap-card-title{gap:10px}
  .psap-score-hero{text-align:left}
  .psap-label-row{align-items:flex-start}
}
