[hidden]{display:none!important}.hat-tool{max-width:840px}.hat-tool>form,.result,.chart-panel{border:1px solid #ded8ce;border-radius:18px;background:#fff}.hat-tool>form{padding:18px;box-shadow:0 8px 24px #453c2e0c}.form-heading,.result-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-heading div{display:grid;gap:3px}.form-heading span,.chart-heading>span,.result-heading span,.adjacent>span{color:#6c7168;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.form-heading strong{font-size:19px}.range-note{padding:6px 9px;border-radius:999px;background:#edf5ee;color:#315d3e!important}.input-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:10px;align-items:end;margin-top:16px}.input-row label{display:grid;gap:6px;font-size:13px;font-weight:750}.input-row input,.input-row select{height:48px}.primary-button{min-height:48px;padding:0 18px;border:0;border-radius:10px;background:#365f42;color:#fff;font-weight:800}.primary-button:hover{background:#294b33}.input-hint,.input-error{margin:9px 0 0;font-size:13px;line-height:1.45}.input-hint{color:#676c64}.input-error{color:#a22b25;font-weight:700;min-height:1.4em}.result{margin-top:14px;padding:18px;border-color:#b9d1bf;background:linear-gradient(160deg,#f8fcf8,#fff)}.result-heading h2{margin:3px 0 0;font-size:24px}.chart-button{border:0;background:none;color:#315d3e;font-weight:800;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.result-cards:has(.size-card:only-child){grid-template-columns:1fr}.size-card{display:grid;grid-template-columns:minmax(130px,.7fr) 2fr;gap:18px;padding:16px;border:1px solid #d8ddd6;border-radius:14px;background:#fff}.size-card>div:first-child{display:grid;align-content:center;gap:4px}.size-card>div:first-child>span{color:#6c7168;font-size:12px;font-weight:700;text-transform:uppercase}.size-card>div:first-child>strong{color:#274b33;font-size:31px;line-height:1}.size-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.size-card dl div{display:grid;gap:2px}.size-card dt{color:#72766f;font-size:11px}.size-card dd{margin:0;font-weight:800}.size-card dd small,.chart-panel td small{display:block;color:#777970;font-size:10px;font-weight:500}.result-message,.fit-note{line-height:1.5}.result-message{margin:12px 0;color:#40473f}.adjacent{padding-top:12px;border-top:1px solid #dfe7df}.adjacent>div{display:flex;gap:8px;margin-top:7px}.size-card--compact{display:grid;gap:2px;padding:10px 12px}.size-card--compact strong{font-size:15px}.size-card--compact span{color:#62675f;font-size:12px}.fit-note{margin:13px 0 0;padding:11px 12px;border-radius:10px;background:#f4f1ea;font-size:13px}.chart-panel{margin-top:18px;padding:18px}.chart-heading h2{margin:3px 0 0;font-size:24px}.chart-panel>p{margin:9px 0 14px;color:#63675f;font-size:13px;line-height:1.5}.swipe-hint{display:none}.table-scroll{overflow-x:auto;border:1px solid #e4dfd6;border-radius:12px}.chart-panel table{width:100%;min-width:600px;border-collapse:collapse}.chart-panel th,.chart-panel td{padding:10px 12px;border-bottom:1px solid #e8e4dc;text-align:left;font-size:13px}.chart-panel th{background:#f4f1ec;color:#4f534d;font-size:11px;text-transform:uppercase}.chart-panel tbody tr:last-child td{border-bottom:0}.chart-panel tr.is-highlighted td{background:#e8f4ea}.chart-panel tr:focus{outline:3px solid #487a59;outline-offset:-3px}.chart-panel td strong{display:block}.chart-panel:focus{outline:none}.hat-tool noscript{display:block;margin-top:10px;color:#6c7168;font-size:13px}@media(max-width:700px){.hat-tool>form,.result,.chart-panel{border-radius:14px}.hat-tool>form,.result,.chart-panel{padding:14px}.input-row{grid-template-columns:minmax(0,1fr) 105px}.primary-button{grid-column:1/-1;width:100%}.result-heading{align-items:flex-start}.result-heading h2{font-size:21px}.chart-button{font-size:12px}.result-cards{grid-template-columns:1fr}.size-card{grid-template-columns:1fr;gap:12px}.size-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.adjacent>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.chart-heading h2{font-size:21px}.chart-panel>.swipe-hint{display:block;margin:-5px 0 8px;color:#315d3e;font-weight:750}}@media(max-width:420px){.form-heading{align-items:flex-start}.range-note{white-space:nowrap}.size-card dl{grid-template-columns:1fr 1fr}.adjacent>div{grid-template-columns:1fr}.chart-button{text-align:right}}
