:root{--score-ink:#17202a;--score-muted:#59636e;--score-paper:#fff;--score-wash:#f4f7f6;--score-line:#d8e0de;--score-brand:#176b57;--score-brand-dark:#0f5142;--score-danger:#9e2929;--score-focus:#fdc84a}
.score-dialog,[data-scores-page]{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.score-dialog,.score-dialog *,[data-scores-page],[data-scores-page] *{box-sizing:border-box}[data-scores-page]{margin:0;background:var(--score-wash);color:var(--score-ink);line-height:1.55}.score-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(1rem,calc((100% - 960px)/2));background:#123d34;color:#fff}.score-brand{color:#fff;font-size:1.25rem;font-weight:800;text-decoration:none}.score-language{display:flex;align-items:center;gap:.55rem}.score-language select{max-width:11rem}.scores-main{width:min(960px,calc(100% - 2rem));margin:0 auto 4rem}.scores-hero{padding:3rem 0 1.5rem}.scores-hero .eyebrow{margin:0;color:var(--score-brand);font-size:.8rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.scores-hero h1{font-size:clamp(2rem,7vw,3.5rem);line-height:1.08;margin:.35rem 0 1rem}.scores-hero .lead{max-width:48rem}.score-panel{background:var(--score-paper);border:1px solid var(--score-line);border-radius:18px;padding:clamp(1rem,4vw,2rem);margin:1rem 0;box-shadow:0 8px 24px rgba(20,45,39,.05)}.score-panel h2,.score-dialog h2,.score-dialog h3{margin:.2rem 0 .7rem}.score-disclosure{border-left:4px solid #d19b25;background:#fff7df;padding:.75rem .9rem;border-radius:0 10px 10px 0;font-weight:650}.score-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.2rem;margin:1rem 0}.score-facts>div{min-width:0}.score-facts dt{color:var(--score-muted);font-size:.78rem;font-weight:750;letter-spacing:.025em;text-transform:uppercase}.score-facts dd{margin:.15rem 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.score-facts.compact{grid-template-columns:repeat(3,minmax(0,1fr));font-size:.92rem}:where(.score-dialog,[data-scores-page]) .message{padding:.8rem 1rem;border-radius:10px;background:#eef5f3;margin:.75rem 0}:where(.score-dialog,[data-scores-page]) .message:empty,:where(.score-dialog,[data-scores-page]) .message[hidden]{display:none}:where(.score-dialog,[data-scores-page]) .message.error{background:#fff0ee;color:#7c1d1d;border:1px solid #f2c6c0}.score-list{display:grid;gap:.9rem}.score-card{border:1px solid var(--score-line);border-radius:14px;padding:1rem;overflow-wrap:anywhere}.score-card header{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:.7rem}.score-rank{color:var(--score-muted);font-weight:800}.normalized-score{font-size:1.5rem;color:var(--score-brand)}.score-label{margin:.1rem 0 .5rem;color:var(--score-muted);text-align:right;font-size:.82rem}.score-explanation{white-space:pre-wrap;border-top:1px solid var(--score-line);padding-top:.8rem}.score-dialog{width:min(760px,calc(100% - 1.25rem));max-height:calc(100dvh - 1.25rem);border:0;border-radius:18px;padding:0;color:var(--score-ink);background:var(--score-paper);box-shadow:0 24px 70px rgba(0,0,0,.34)}.score-dialog::backdrop{background:rgba(10,26,22,.68)}.score-dialog-card{padding:clamp(1rem,4vw,2rem);overflow:auto;max-height:calc(100dvh - 1.25rem)}.score-dialog .lead{margin-top:0}.score-preview{background:#f7faf9;border:1px solid var(--score-line);border-radius:12px;padding:1rem;margin:1.2rem 0}.score-dialog .muted,.score-dialog small{color:var(--score-muted)}.score-dialog .field{display:grid;gap:.35rem;margin:1rem 0}.score-dialog .field>span{font-weight:750}.score-dialog input,.score-dialog button,.score-dialog .file-button,[data-scores-page] select,[data-scores-page] button{font:inherit}.score-dialog input,[data-scores-page] select{border:1px solid #9aa7a3;border-radius:8px;padding:.7rem;background:#fff;color:var(--score-ink)}.score-dialog .check{display:flex;align-items:flex-start;gap:.65rem;margin:1rem 0;font-weight:650}.score-dialog .check input{margin-top:.3rem;flex:none}:where(.score-dialog,[data-scores-page]) .actions{display:flex;flex-wrap:wrap;gap:.6rem}.score-dialog button,[data-scores-page] button,.score-dialog .file-button{border:0;border-radius:9px;padding:.7rem 1rem;font-weight:750;cursor:pointer}:where(.score-dialog,[data-scores-page]) .primary{background:var(--score-brand);color:#fff}:where(.score-dialog,[data-scores-page]) .primary:hover{background:var(--score-brand-dark)}:where(.score-dialog,[data-scores-page]) .secondary,.score-dialog .file-button{background:#e5efec;color:#123d34}:where(.score-dialog,[data-scores-page]) .danger{background:#f9dddd;color:var(--score-danger)}:where(.score-dialog,[data-scores-page]) button:disabled{opacity:.55;cursor:not-allowed}:where(.score-dialog,[data-scores-page]) .warning{background:#fff0c7;padding:.8rem;border-radius:10px;font-weight:650}.score-receipt,.score-import{border-top:1px solid var(--score-line);margin-top:1.4rem;padding-top:1.2rem}.score-dialog .file-button{display:inline-block}.score-dialog .file-button input{position:absolute;width:1px;height:1px;opacity:0}.score-dialog .file-button:focus-within{outline:3px solid var(--score-focus);outline-offset:2px}.score-dialog :focus-visible,[data-scores-page] :focus-visible{outline:3px solid var(--score-focus);outline-offset:2px}
@media(max-width:620px){.score-topbar{align-items:flex-start}.score-language{display:grid;gap:.2rem}.score-panel{border-radius:12px}.score-facts,.score-facts.compact{grid-template-columns:1fr}.score-card header{grid-template-columns:auto 1fr}.normalized-score{grid-column:2;text-align:left}.score-label{text-align:left}:where(.score-dialog,[data-scores-page]) .actions>*{width:100%}.score-dialog{width:calc(100% - .5rem);max-height:calc(100dvh - .5rem)}.score-dialog-card{max-height:calc(100dvh - .5rem);padding:1rem}.score-dialog .score-disclosure{font-size:.92rem}}
@media(prefers-reduced-motion:reduce){.score-dialog{scroll-behavior:auto}}

/* One viewport-fixed scroll surface; intrinsic input widths must not widen it. */
:root:has(.score-dialog[open]){overflow:hidden;scroll-behavior:auto}
.score-dialog{position:fixed;inset:0;margin:auto;overflow:auto;overscroll-behavior:contain;scroll-behavior:auto;overflow-anchor:none;max-width:calc(100vw - .5rem)}
.score-dialog-card{min-width:0;max-height:none;overflow:visible}
.score-dialog .field{min-width:0;grid-template-columns:minmax(0,1fr)}
.score-dialog .field input{width:100%;min-width:0;max-width:100%;min-height:44px}
.score-dialog .check input{width:20px;height:20px;padding:0}
.score-dialog .check span{min-width:0;overflow-wrap:anywhere}
