:root{font-family:'Noto Sans KR','Malgun Gothic',system-ui,sans-serif;color:#17382e;background:#f5f7f2;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,100% - 40px);margin-inline:auto}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce6dd}.brand{font-size:23px;font-weight:750;letter-spacing:-1px}.brand small{font-size:11px;letter-spacing:2px;color:#648d74;margin-left:5px}.topbar nav{font-size:13px;color:#476d55}.intro{padding:64px 0 36px}.kicker{font-size:11px;letter-spacing:2.5px;color:#368759;font-weight:750}.intro h1{font-size:clamp(42px,6vw,68px);letter-spacing:-3px;margin:12px 0}.intro p{max-width:750px;line-height:1.85;color:#617a68;font-size:15px}.status-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:27px;font-size:13px}.state{border-radius:999px;padding:7px 13px;background:#e3f2e5;color:#246d43;white-space:nowrap}.state[data-state=offline],.state[data-state=error],.state[data-state=revoked],.state[data-state=expired],.state[data-state=identity_changed],.state[data-state=session_recovery_needed],.state[data-state=storage_unavailable]{background:#fff0e2;color:#9b502e}.card{background:#fff;border:1px solid #e0e9df;border-radius:24px;padding:28px;box-shadow:0 14px 32px rgba(30,66,43,.04);margin-bottom:20px}.card h2{font-size:28px;letter-spacing:-1px;margin:12px 0}.card h3{font-size:21px;letter-spacing:-.5px;margin:0 0 12px}.card p{color:#617a68;font-size:13px;line-height:1.75}.fine{font-size:12px!important;color:#7a9080!important}.pair{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:30px}.pair button,.section-head button{border:0;border-radius:11px;background:#1d6749;color:white;padding:12px 18px;font-weight:700;margin-top:15px}.qr-area{display:grid;justify-items:center;gap:11px;background:#f7faf7;padding:20px;border-radius:17px}.qr-area svg{width:min(260px,100%);height:auto;background:#fff}.qr-area code{font-size:11px;word-break:break-all;text-align:center;color:#496a53}.section-head{display:flex;align-items:center;justify-content:space-between;margin:42px 0 18px}.section-head h2{font-size:31px;margin:7px 0;letter-spacing:-1px}.section-head button{margin:0}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.summary-card{padding:22px;border-radius:18px;background:#eaf3e9}.summary-card span{display:block;font-size:12px;color:#5b8066}.summary-card strong{display:block;margin-top:9px;font-size:23px;letter-spacing:-.6px}.chart-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.chart-head strong{font-size:13px;color:#ac593f;white-space:nowrap}.chart{width:100%;min-height:230px;overflow:hidden}.plot-svg{display:block;width:100%;height:auto;min-height:230px}.grid-line{stroke:#e5ebe5;stroke-width:1}.axis-label{fill:#708779;font-size:12px}.axis-title{fill:#45664e;font-size:12px;font-weight:700}.score-line{fill:none;stroke:#398a61;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.score-dot{fill:#7fb994;stroke:#fff;stroke-width:2}.score-dot.adequate{fill:#2c8057}.peak-halo{fill:#e4ad8e;opacity:.48}.nrs-dot{fill:#7a8ec2;stroke:#fff;stroke-width:2}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contribution{margin:16px 0}.contribution-heading{display:flex;justify-content:space-between;gap:10px;font-size:13px}.contribution-heading span{color:#67806b;text-align:right}.track{height:9px;border-radius:9px;background:#e6eee7;overflow:hidden;margin-top:8px}.track>div{height:100%;background:#75b78b;border-radius:9px}.empty,.empty-inline{color:#718778;font-size:14px;line-height:1.8;padding:28px 0}.empty{padding:24px}.synthetic{background:#fff9ec;border-color:#f3e3b6}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e8eee8}th{color:#54735d;font-size:12px}footer{padding:28px 0 45px;font-size:12px;color:#7c9281}
@media(max-width:820px){.pair,.two-column{grid-template-columns:1fr}.summary{grid-template-columns:repeat(2,1fr)}.chart-head{display:block}.chart-head strong{display:block;margin-bottom:12px}.qr-area{max-width:380px;margin:auto}.intro{padding-top:40px}}
.distance-line{fill:none;stroke:#427eaa;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.distance-dot{fill:#427eaa;stroke:#fff;stroke-width:2}.distance-guide{stroke:#c88961;stroke-width:2;stroke-dasharray:6 5}
.browser-identity{font-size:12px!important;margin:12px 0 0;color:#45664e!important}.browser-identity code{display:inline-block;word-break:break-all;padding:3px 7px;border-radius:6px;background:#e7f0e8;color:#244b35}
.personal-card{border-color:#afd3bf;background:linear-gradient(125deg,#f5fbf6,#fff)}.personal-card #personal-summary{font-size:18px;color:#174a37;font-weight:700;margin:8px 0}
@media(max-width:520px){.wrap{width:min(100% - 28px,1180px)}.brand{font-size:20px}.topbar nav{font-size:11px}.intro h1{letter-spacing:-1px}.card{padding:19px;border-radius:18px}.summary{gap:7px}.summary-card{padding:15px}.summary-card strong{font-size:19px}.plot-svg{min-height:190px}.section-head h2{font-size:26px}}.export-actions{display:flex;gap:8px;flex-wrap:wrap}.export-actions button{border:1px solid #1d6749;border-radius:11px;background:#fff;color:#1d6749;padding:9px 14px;font-weight:700;font-size:13px}.export-actions button:disabled{cursor:not-allowed}
