*{box-sizing:border-box}body{margin:0;background:#f5f3ec;color:#193c43;font:16px/1.5 system-ui,sans-serif}main{max-width:1000px;margin:auto;padding:26px 24px}h1{font-size:clamp(26px,4vw,39px);letter-spacing:-.035em;line-height:1.12;margin:0 0 18px}.tool{border:1px solid #ccd9d5;border-radius:14px;background:#fff;padding:20px}.count{max-width:160px;display:block;margin-bottom:14px}label{font-size:13px;font-weight:650;display:block}input{width:100%;min-width:0;display:block;margin-top:5px;padding:10px;border:1px solid #9bafaa;border-radius:6px;color:#183b42;font:16px system-ui}input:focus{outline:2px solid #247b70;outline-offset:2px}.units{display:grid;gap:12px}fieldset{margin:0;border:0;border-top:1px solid #e1e9e4;padding:12px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}legend{font-size:12px;font-weight:700;padding:0 8px 0 0}label small{display:block;font-weight:400;font-size:11px} .results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:#173f47;color:#fff;padding:16px;border-radius:10px;margin-top:18px}.results span,.results small{font-size:12px;display:block}.results strong{font-size:30px;display:block;line-height:1.4}#error{font-size:12px;color:#9b3521;margin:7px 0}summary{cursor:pointer;font-size:13px;font-weight:650}#working{white-space:pre-line;font:13px/1.7 system-ui;padding:12px 0}.limits,.affiliation{font-size:12px;line-height:1.6;color:#566d70;margin:12px 0}.affiliation{border-left:3px solid #ac7834;padding-left:12px}article{max-width:760px;margin:44px auto}article p{font:18px/1.85 Georgia,serif;margin:0 0 24px}h2{font-size:26px;line-height:1.2}h3{font-size:19px;margin-top:30px}a{color:#236f64}footer{font-size:12px;line-height:1.8;border-top:1px solid #cfdad5;padding:22px 0}.return{display:block;margin-top:18px;font-size:14px;font-weight:600}.fedex .results{background:#343b4b}.fedex .tool{border-top:4px solid #a77934}@media(max-width:560px){main{padding:18px 12px}h1{font-size:27px;margin-bottom:14px}.tool{padding:14px}fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}input{padding:8px}.results{padding:12px 9px;gap:6px}.results strong{font-size:25px}.results span{font-size:11px}article{margin-top:32px}}