.hs{max-width:720px;margin:0 auto}.hs__form{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.1rem,3vw,1.6rem)}.hs__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.9rem 1.1rem}.hs__field{display:flex;flex-direction:column;gap:.3rem}.hs__label{font-weight:600;font-size:.86rem;color:var(--ink)}.hs__field input,.hs__field select{padding:.55rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:#fff;color:var(--ink)}.hs__field input:focus-visible,.hs__field select:focus-visible{outline:none;border-color:var(--green-accent);box-shadow:var(--focus-ring)}.hs__help{font-size:.74rem;color:var(--muted);line-height:1.4}.hs__optional{margin:1.1rem 0 0;padding:.9rem 1rem;border:1px dashed var(--border);border-radius:var(--radius-sm)}.hs__optional legend{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.9rem;padding:0 .4rem}.hs__optional-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:.1rem .5rem}.hs__unit-toggle{margin-left:auto;display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.hs__unit-toggle button{border:0;background:transparent;font:600 .76rem/1 inherit;padding:.35rem .7rem;cursor:pointer;color:var(--muted)}.hs__unit-toggle button.is-active{background:var(--green-primary);color:#fff}.hs__error{margin:.9rem 0 0;padding:.55rem .75rem;border-radius:var(--radius-sm);background:#fef2f2;color:#b91c1c;font-size:.85rem}.hs__submit{margin-top:1.1rem;width:100%;padding:.8rem 1rem;border:0;border-radius:var(--radius-sm);background:var(--green-primary);color:#fff;font:700 1rem/1.2 inherit;cursor:pointer}.hs__submit:hover{background:var(--green-700, #15803d)}.hs__result{margin-top:1.25rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.1rem,3vw,1.6rem)}.hs__score-row{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.hs__score{display:inline-flex;align-items:baseline;gap:.15rem;border:4px solid;border-radius:999px;padding:1.05rem 1.15rem}.hs__score-num{font-size:2.1rem;font-weight:800;line-height:1;color:var(--ink)}.hs__score-max{font-size:.9rem;font-weight:700;color:var(--muted)}.hs__band{display:inline-block;color:#fff;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.25rem .7rem}.hs__band-note{margin:.45rem 0 0;max-width:46ch;font-size:.82rem;color:var(--muted);line-height:1.5}.hs__life-exp{margin:1rem 0 0;padding:.9rem 1.1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.hs__life-exp-num{font-size:1.8rem;font-weight:800;color:#15803d;line-height:1}.hs__life-exp-num span{font-size:.85rem;font-weight:600}.hs__life-exp-label{font-size:.8rem;font-weight:600;color:#166534;line-height:1.4}.hs__life-exp-note{flex-basis:100%;margin:.5rem 0 0;font-size:.76rem;color:#15803d;line-height:1.5}.hs__h3{margin:1.4rem 0 .6rem;font-size:1rem}.hs__bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.hs__bar-row{display:grid;grid-template-columns:150px 1fr 74px;align-items:center;gap:.6rem}.hs__bar-label{font-size:.82rem;font-weight:600;color:var(--ink)}.hs__bar-track{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.hs__bar-fill{display:block;height:100%;border-radius:999px;transition:width .5s ease}.hs__bar-pts{font-size:.76rem;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}.hs__improve{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem;font-size:.9rem;line-height:1.55}.hs__actions{margin-top:1.2rem}.hs__copy{padding:.55rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font:700 .85rem/1 inherit;cursor:pointer;color:var(--ink)}.hs__copy:hover{border-color:var(--green-accent)}@media(max-width:560px){.hs__bar-row{grid-template-columns:108px 1fr 64px}}
