.nx-scorecard{--nx-surface:#ffffff;--nx-wash:#f0f9ff;--nx-line:#dce7f2;--nx-ink:#1e293b;--nx-muted:#4d5a60;--nx-brand:#56a9f2;--nx-brand-strong:#0369a1;--nx-on-brand:#ffffff;--nx-chip:#ffffff;--nx-chip-hover:#f0f9ff;--nx-error:#b42318;--nx-shadow:0 18px 50px rgba(30,41,59,0.18),0 2px 6px rgba(30,41,59,0.08);--nx-display:var(--font-dm),"DM Sans",var(--font-inter),ui-sans-serif,system-ui,sans-serif;--nx-text:var(--font-inter),Inter,ui-sans-serif,system-ui,sans-serif;position:fixed;right:24px;bottom:24px;z-index:60;width:400px;max-width:calc(100vw - 32px);background:var(--nx-surface);color:var(--nx-ink);border:1px solid var(--nx-line);border-radius:18px;box-shadow:var(--nx-shadow);font-family:var(--nx-text);font-weight:400;line-height:1.5;transform:translateY(calc(100% + 40px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s,visibility 0s .45s;display:flex;flex-direction:column;max-height:calc(100vh - 96px - env(safe-area-inset-top, 0px));text-align:left}.nx-scorecard.is-open{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}.nx-scorecard :focus-visible{outline:3px solid var(--nx-brand);outline-offset:2px}.nx-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 0 22px}.nx-tag{font:600 12.5px/1 var(--nx-text);color:var(--nx-brand-strong);background:var(--nx-wash);border-radius:999px;padding:6px 10px}.nx-close{width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:var(--nx-muted);cursor:pointer;display:grid;place-items:center;flex:none;padding:0}.nx-close:hover{background:var(--nx-wash);color:var(--nx-ink)}.nx-body{padding:10px 22px 22px;overflow-y:auto}.nx-scorecard h2{font:700 24px/1.2 var(--nx-display);letter-spacing:-.015em;margin:4px 0 10px;color:inherit}.nx-sub{color:var(--nx-muted);font-size:15px;line-height:1.5;margin:0 0 18px}.nx-decline{display:block;margin:10px auto 0}.nx-helper{color:var(--nx-muted);font-size:13.5px;margin:12px 0 0}.nx-month{display:grid;grid-template-columns:repeat(31,1fr);gap:2px;margin:2px 0 16px}.nx-month i{display:block;height:14px;border-radius:2px;background:var(--nx-line)}.nx-month i.is-past{background:var(--nx-brand)}.nx-month-legend{justify-content:space-between;font-size:12px;margin:-10px 0 16px}.nx-month-legend,.nx-prog{display:flex;color:var(--nx-muted)}.nx-prog{align-items:center;gap:10px;margin:2px 0 14px;font-size:13px}.nx-prog .nx-bar{flex:1;height:4px;border-radius:2px;background:var(--nx-line);overflow:hidden}.nx-prog .nx-bar span{display:block;height:100%;background:var(--nx-brand-strong);transition:width .3s}.nx-scorecard h2.nx-q{font:700 20px/1.3 var(--nx-display);margin:0 0 14px}.nx-opts{display:grid;gap:8px}.nx-opt{font:500 15px/1.35 var(--nx-text);text-align:left;color:var(--nx-ink);background:var(--nx-chip);border:1.5px solid var(--nx-line);border-radius:12px;padding:13px 14px;cursor:pointer;transition:border-color .15s,background .15s}.nx-opt:hover{border-color:var(--nx-brand);background:var(--nx-chip-hover)}.nx-opt[aria-pressed=true]{border-color:var(--nx-brand-strong);background:var(--nx-chip-hover)}.nx-btn{font:600 15px/1 var(--nx-text);background:var(--nx-brand-strong);color:var(--nx-on-brand);border:0;border-radius:10px;padding:14px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s}.nx-btn:hover{filter:brightness(1.08)}.nx-btn:disabled{cursor:wait;filter:none;opacity:.7}.nx-btn.is-block{width:100%}.nx-btn.is-ghost{background:transparent;color:var(--nx-ink);border:1.5px solid var(--nx-line)}.nx-link{font:500 14px var(--nx-text);background:none;border:0;color:var(--nx-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0}.nx-link:hover{color:var(--nx-ink)}.nx-back{margin-top:10px}.nx-field{display:grid;gap:6px;margin:0 0 12px}.nx-field label{font:600 14px var(--nx-text)}.nx-field input{font:400 16px var(--nx-text);color:var(--nx-ink);background:var(--nx-chip);border:1.5px solid var(--nx-line);border-radius:10px;padding:13px 14px;width:100%}.nx-field input:focus{outline:none;border-color:var(--nx-brand-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--nx-brand) 30%,transparent)}.nx-err{color:var(--nx-error);font-size:13.5px}.nx-nudge{font-size:13.5px;color:var(--nx-brand-strong);background:var(--nx-wash);border-radius:8px;padding:8px 10px;margin:0 0 12px}.nx-micro{font-size:12.5px;color:var(--nx-muted);line-height:1.5;margin:10px 0 0}.nx-score{display:flex;align-items:baseline;gap:6px;margin:6px 0 2px}.nx-score b{font:700 56px/1 var(--nx-display);letter-spacing:-.03em}.nx-score span{font:500 18px var(--nx-display);color:var(--nx-muted)}.nx-scorecard h2.nx-band{font:700 20px/1.25 var(--nx-display);margin:0 0 12px}.nx-bands,.nx-bands-legend{display:grid;grid-template-columns:40fr 25fr 20fr 16fr;gap:3px}.nx-bands{margin:0 0 6px}.nx-bands i{height:8px;border-radius:2px;background:var(--nx-line)}.nx-bands i.is-on{background:var(--nx-brand-strong)}.nx-bands-legend{font-size:11.5px;color:var(--nx-muted);margin:0 0 16px}.nx-gaps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.nx-gaps li{border-left:3px solid var(--nx-brand);padding:2px 0 2px 12px}.nx-gaps li b{display:block;font:600 14.5px/1.4 var(--nx-text)}.nx-gaps li span{display:block;font-size:14px;color:var(--nx-muted);line-height:1.45}.nx-gaps li.is-ok{border-left-color:var(--nx-line)}.nx-sent{font-size:13.5px;color:var(--nx-muted);margin:0 0 14px}.nx-confirm{background:var(--nx-wash);border-radius:12px;padding:14px;margin:0 0 14px}.nx-confirm p{margin:0 0 10px;font-weight:600;font-size:15px}.nx-confirm .nx-row{display:flex;gap:10px;flex-wrap:wrap}@media (max-width:640px){.nx-scorecard{left:0;right:0;bottom:0;width:100%;max-width:100%;border-radius:18px 18px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0);max-height:30vh}.nx-scorecard.is-engaged{max-height:88vh}.nx-month,.nx-month-legend,.nx-sub{display:none}.nx-email-sub{display:block}.nx-decline{margin-top:4px}.nx-scorecard h2{font-size:20px;margin:2px 0 12px}.nx-body{padding:6px 18px 16px}.nx-top{padding:10px 10px 0 18px}}@media (prefers-reduced-motion:reduce){.nx-prog .nx-bar span,.nx-scorecard,.nx-scorecard.is-open{transition:none}}