.tool{margin-top:var(--s-6)}.tool h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.12;letter-spacing:-.005em;margin:0 0 var(--s-3)}.tool-intro{margin:0 0 var(--s-5)}.tool-form{display:grid;gap:var(--s-5)}.tool fieldset{border:1px solid var(--rule);padding:var(--s-4) var(--s-5) var(--s-5);margin:0;min-width:0}.tool legend{font-family:var(--font-ui);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);padding-inline:var(--s-2)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-4)}.field{display:grid;gap:var(--s-2)}.tool label{font-family:var(--font-ui);font-size:.92rem;color:var(--text-main)}.tool input[type=number],.tool input[type=text],.tool select{font-family:var(--font-ui);font-size:1rem;padding:var(--s-3);border:1px solid var(--rule-strong);background:var(--surface-page);color:var(--text-main);min-height:44px;width:100%}.tool input:focus,.tool select:focus{outline:2px solid var(--color-accent);outline-offset:1px}.tool-actions{margin-top:var(--s-2);display:flex;flex-wrap:wrap;gap:var(--s-3)}.tool-btn{font-family:var(--font-ui);font-size:.95rem;font-weight:500;padding:var(--s-3) var(--s-5);min-height:44px;background:var(--text-main);color:var(--surface-page);border:1px solid var(--text-main);cursor:pointer}.tool-btn:hover{background:var(--color-accent);border-color:var(--color-accent)}.tool-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tool-btn--ghost{background:var(--surface-page);color:var(--text-main)}.tool-btn--ghost:hover{background:var(--surface-section);color:var(--text-main)}.tool-result{margin-top:var(--s-5);padding:var(--s-5);border-left:3px solid var(--color-accent);background:var(--surface-section)}.tool-result-hint{margin:0;color:var(--text-soft)}.tool-result-figure{font-family:var(--font-body);font-size:1.2rem;margin:0 0 var(--s-2)}.tool-result-sub{margin:0 0 var(--s-3);color:var(--text-soft);font-size:.92rem}.tool-next-title,.tool-result-label{font-family:var(--font-ui);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin:0 0 var(--s-2)}.tool-next ul{margin:0;padding-left:var(--s-5)}.tool-next li{margin-bottom:var(--s-2)}.tool-note{margin-top:var(--s-5);font-size:.9rem;color:var(--text-soft)}.tool-ranges{list-style:none;margin:0 0 var(--s-3);padding:0;display:grid;gap:var(--s-2)}.tool-ranges li{display:flex;justify-content:space-between;gap:var(--s-4);border-bottom:1px solid var(--rule);padding-block:var(--s-2)}.tool-ranges .range-label{font-family:var(--font-ui)}.tool-ranges .range-value{font-weight:600;white-space:nowrap}.tool-band{font-family:var(--font-display);font-weight:700;font-size:1.3rem;line-height:1.15;margin:0 0 var(--s-2)}.tool-band-tag{display:inline-block;font-family:var(--font-ui);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule-strong);padding:2px 8px;margin-bottom:var(--s-3);color:var(--text-soft)}.checklist-progress{margin:var(--s-4) 0 var(--s-5)}.checklist-progress-track{height:10px;background:var(--surface-section);border:1px solid var(--rule-strong);overflow:hidden}.checklist-progress-bar{height:100%;width:0%;background:var(--color-accent);transition:width .16s ease}.checklist-progress-text{font-family:var(--font-ui);font-size:.9rem;color:var(--text-soft);margin:var(--s-2) 0 0}.checklist-group{margin-bottom:var(--s-5)}.checklist-group>h3{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin:0 0 var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule-strong)}.checklist-items{list-style:none;margin:0;padding:0}.checklist-items li{border-bottom:1px solid var(--rule)}.checklist-items label{display:flex;align-items:flex-start;gap:var(--s-3);padding-block:var(--s-3);cursor:pointer;font-family:var(--font-body);font-size:1rem;color:var(--text-main)}.checklist-items input[type=checkbox]{margin-top:3px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--color-accent)}.checklist-items input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.checklist-items label:has(input:checked){color:var(--text-soft);text-decoration:line-through}@media print{.tool-form .tool-actions,.checklist-controls,.tool-btn{display:none!important}.checklist-items input[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox}}
