:root{--ink:#18302a;--muted:#62716d;--green:#173f35;--green-light:#dfe9df;--cream:#f7f4ec;--paper:#fffdf8;--gold:#f4b942;--gold-text:#8a5b00;--terracotta:#dc745c;--terracotta-text:#a94632;--line:#dcded5;--white:#fff;--shadow:0 18px 48px #173f3517;--radius:18px;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Iowan Old Style, Baskerville, "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}a{color:inherit}p,h1,h2,h3{margin-top:0}h1,h2{font-family:var(--font-display);letter-spacing:-.035em;line-height:1.06}h1{font-size:clamp(2.8rem,7vw,5.4rem)}h2{margin-bottom:.75rem;font-size:clamp(2rem,4vw,3.25rem)}h3{line-height:1.25}.container{width:min(1160px,100% - 40px);margin-inline:auto}.narrow-container{width:min(820px,100% - 40px)}.skip-link{z-index:20;color:var(--white);background:var(--green);border-radius:8px;padding:.7rem 1rem;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;background:#fffdf8eb;border-bottom:1px solid #dcded5bf;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:76px;display:flex}.brand{color:var(--green);letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{flex:none}.brand-soft{font-weight:500}.site-header nav{gap:1.75rem;display:flex}.site-header nav a{min-height:32px;color:var(--muted);align-items:center;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--green)}.home-hero{background:radial-gradient(circle at 82% 24%, #f4b94226, transparent 25%), linear-gradient(180deg, var(--paper), var(--cream));padding:clamp(4.5rem,10vw,8.5rem) 0 clamp(5rem,10vw,8rem);position:relative;overflow:hidden}.home-hero:after{content:"";border:1px solid #173f3514;border-radius:50%;width:26rem;height:26rem;position:absolute;bottom:-13rem;right:-6rem}.hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:center;gap:clamp(3rem,9vw,8rem);display:grid}.eyebrow{color:var(--terracotta-text);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.85rem;font-size:.76rem;font-weight:700}.hero-copy h1{max-width:760px;color:var(--green);margin-bottom:1.5rem}.hero-copy h1 span{color:var(--terracotta)}.lede{max-width:670px;color:var(--muted);font-size:clamp(1.08rem,2vw,1.28rem);line-height:1.65}.hero-copy .lede{margin-bottom:2rem}.button{color:var(--white);background:var(--green);border:1px solid var(--green);border-radius:10px;align-items:center;gap:.7rem;padding:.85rem 1.2rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 8px 20px #173f3524}.button:hover{background:#205548}.button:focus-visible,.brand:focus-visible,.site-header nav a:focus-visible,.text-link:focus-visible{outline:3px solid var(--green);outline-offset:3px}.pantry-note{background:#fffaf0;border:1px solid #eadfca;border-radius:3px;padding:2.5rem 2rem 1.7rem;position:relative;transform:rotate(1.2deg);box-shadow:0 20px 50px #42361f1a}.note-pin{background:var(--terracotta);border-radius:50%;width:9px;height:9px;position:absolute;top:14px;left:50%;box-shadow:0 2px 4px #0003}.note-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem;font-size:.72rem;font-weight:700}.note-quote{color:var(--green);font-family:var(--font-display);margin-bottom:1.6rem;font-size:1.45rem;line-height:1.38}.note-rule{background:#e4d7bf;height:1px;margin-bottom:1rem}.note-details{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-size:.76rem;font-weight:700;display:flex}.section{padding:clamp(4.5rem,8vw,7.5rem) 0}.section-heading{margin-bottom:2.5rem}.section-heading>p:not(.eyebrow),.section-heading>div>p:not(.eyebrow){max-width:660px;color:var(--muted);margin-bottom:0}.split-heading{justify-content:space-between;align-items:end;gap:2rem;display:flex}.text-link{min-height:32px;color:var(--green);flex:none;align-items:center;margin-bottom:.4rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.first-shelf{background:var(--white)}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.tool-card{min-height:245px;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:1.5rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.tool-card[href]{cursor:pointer}.tool-card:hover,.tool-card:focus-visible{box-shadow:var(--shadow);border-color:#bdc9bd;transform:translateY(-3px)}.tool-card:focus-visible{outline:3px solid var(--green);outline-offset:3px}.tool-card-top{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:2rem;display:flex}.tool-icon{min-width:48px;height:48px;color:var(--green);background:var(--green-light);letter-spacing:-.02em;border-radius:12px;justify-content:center;align-items:center;padding:0 .55rem;font-size:.73rem;font-weight:700;display:inline-flex}.status-pill,.count-badge{color:#82602a;letter-spacing:.04em;text-transform:uppercase;background:#fff1ce;border-radius:100px;padding:.35rem .65rem;font-size:.68rem;font-weight:700;display:inline-flex}.tool-card h3{color:var(--ink);margin-bottom:.55rem;font-size:1.04rem}.tool-card>p{color:var(--muted);margin-bottom:1.4rem;font-size:.9rem;line-height:1.55}.card-link{color:var(--green);gap:.4rem;margin-top:auto;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.card-link-muted{color:#98a09d}.shelf-preview{background:var(--cream);border-block:1px solid var(--line)}.converter-shelf{background:var(--paper)}.kitchen-shelf{background:var(--cream);border-top:1px solid var(--line)}.closing-note{text-align:center;padding-block:4rem}.closing-note p:last-child{max-width:720px;color:var(--green);font-family:var(--font-display);margin:0 auto;font-size:clamp(1.35rem,3vw,2rem);line-height:1.45}.category-hero{border-bottom:1px solid var(--line);background:linear-gradient(#f7f4ece0,#f7f4ecf5),repeating-linear-gradient(90deg,#0000 0 79px,#173f350d 80px);padding:clamp(4rem,9vw,7rem) 0}.category-hero h1{color:var(--green);margin-bottom:1rem;font-size:clamp(2.7rem,7vw,4.8rem)}.not-found-page{background:radial-gradient(circle at 80% 20%, #f4b94229, transparent 28%), var(--cream);place-items:center;min-height:min(680px,70vh);padding-block:clamp(5rem,12vw,9rem);display:grid}.not-found-page h1{color:var(--green);margin-bottom:1rem;font-size:clamp(2.8rem,7vw,5rem)}.not-found-actions{align-items:center;gap:1.25rem;margin-top:2rem;display:flex}.not-found-actions .text-link{margin-bottom:0}.breadcrumbs{color:var(--muted);gap:.55rem;margin-bottom:3rem;font-size:.82rem;display:flex}.breadcrumbs a{text-underline-offset:3px}.count-badge{color:var(--green);background:var(--green-light);margin-bottom:.4rem}.category-tools{background:var(--white)}.category-explainer{border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,8vw,7rem);padding-block:clamp(4.5rem,8vw,7rem);display:grid}.category-explainer h2{font-size:clamp(1.9rem,4vw,2.8rem)}.prose{color:var(--muted);font-size:1.02rem}.prose p:last-child{margin-bottom:0}.tool-page{padding-block:clamp(3.5rem,7vw,6rem)}.tool-intro{max-width:760px;margin-bottom:2.5rem}.tool-intro h1{color:var(--green);margin-bottom:1rem;font-size:clamp(2.6rem,6vw,4.5rem)}.tool-workspace{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);min-height:260px;box-shadow:var(--shadow);padding:clamp(1.25rem,4vw,2.25rem)}.explanatory-content{max-width:820px;margin:4rem auto}.tool-intro .breadcrumbs{margin-bottom:2.5rem}.tool-shell{grid-template-columns:minmax(260px,.72fr) minmax(440px,1.28fr);align-items:start;gap:clamp(1.25rem,3vw,2rem);display:grid}.tool-shell>*,.range-tool{min-width:0}.ip-tool-shell{grid-template-columns:minmax(240px,.65fr) minmax(480px,1.35fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);display:grid}.ip-explainer{padding:clamp(.25rem,1vw,.75rem)}.ip-explainer h2{color:var(--green);font-family:var(--font-sans);letter-spacing:-.025em;margin-bottom:.7rem;font-size:1.3rem}.ip-explainer>p:not(.result-kicker){color:var(--muted);font-size:.88rem}.privacy-list{color:var(--ink);gap:.6rem;margin:1.25rem 0 1.6rem;padding:0;font-size:.78rem;list-style:none;display:grid}.privacy-list li{padding-left:1.35rem;position:relative}.privacy-list li:before{width:.78rem;height:.78rem;color:var(--green);content:"✓";font-size:.72rem;font-weight:800;position:absolute;top:.18rem;left:0}.refresh-ip-button{cursor:pointer}.refresh-ip-button:disabled{cursor:wait;opacity:.65}.ip-result-panel{color:#e4ece8;background:var(--green);border-radius:14px;overflow:hidden;box-shadow:0 16px 36px #173f3529}.ip-status-row{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.3rem;display:flex}.ip-status{color:#bdcbc7;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;display:inline-flex}.ip-status span{background:var(--gold);border-radius:50%;width:.48rem;height:.48rem}.ip-result-panel.has-result .ip-status span{background:#8ed39b}.ip-result-panel.has-error .ip-status span{background:#f08b78}.ip-version-badge{color:var(--green);background:var(--gold);border-radius:100px;padding:.3rem .55rem;font-size:.65rem;font-weight:800}.primary-ip-result{padding:clamp(1.5rem,4vw,2.2rem) 1.3rem}.primary-ip-result>p,.ip-protocol-grid p{color:#aebfba;margin-bottom:.45rem;font-size:.7rem;font-weight:600}.primary-ip-result>div,.ip-protocol-grid>div>div{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.primary-ip-result output{overflow-wrap:anywhere;min-width:0;color:var(--white);letter-spacing:-.045em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(1.35rem,4.4vw,2.55rem);font-weight:700;line-height:1.15}.ip-copy-button{padding:.48rem .7rem}.copy-button:disabled{cursor:not-allowed;opacity:.35}.ip-protocol-grid{border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ip-protocol-grid>div{min-width:0;padding:1rem 1.3rem}.ip-protocol-grid>div:first-child{border-right:1px solid #ffffff1a}.ip-protocol-grid output{min-width:0;color:var(--white);text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(.68rem,1.4vw,.82rem);font-weight:700;overflow:hidden}.ip-result-note{color:#aebfba;margin:0;padding:.9rem 1.3rem;font-size:.7rem;line-height:1.5}.mode-switch{background:#e6e5dd;border-radius:10px;gap:.3rem;width:fit-content;margin-bottom:1.75rem;padding:.3rem;display:flex}.mode-switch button{color:var(--ink);cursor:pointer;font:700 .78rem/1 var(--font-sans);background:0 0;border:0;border-radius:7px;padding:.58rem .85rem}.mode-switch button[aria-selected=true]{color:var(--green);background:var(--white);box-shadow:0 2px 7px #173f351a}.mode-switch button:focus-visible{outline:3px solid var(--green);outline-offset:2px}.percentage-mode-switch{max-width:100%}.tip-preset-group{margin:-.35rem 0 1.15rem}.tip-preset-label{color:var(--muted);margin:0 0 .4rem;font-size:.72rem;font-weight:700}.tip-preset-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;display:grid}.tip-preset-button{color:var(--ink);background:var(--green-light);cursor:pointer;font:700 .75rem/1 var(--font-sans);border:1px solid #c7d4c8;border-radius:8px;padding:.48rem .35rem}.tip-preset-button[aria-pressed=true]{color:var(--white);background:var(--green);border-color:var(--green)}.tip-preset-button:focus-visible{outline:3px solid var(--green);outline-offset:2px}.calculator-input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.tool-form-panel{padding:clamp(.25rem,1vw,.75rem)}.tool-panel-heading{margin-bottom:1.75rem}.tool-panel-heading h2,.result-panel-header h2{font-family:var(--font-sans);letter-spacing:-.025em;margin-bottom:.55rem;font-size:1.3rem}.tool-panel-heading>p:last-child{color:var(--muted);margin-bottom:0;font-size:.88rem}.tool-field{margin-bottom:1.15rem}.tool-field label{color:var(--ink);margin-bottom:.4rem;font-size:.84rem;font-weight:700;display:block}.tool-field input,.tool-field select,.tool-field textarea{width:100%;height:50px;color:var(--ink);background:var(--white);font:600 1rem/1 var(--font-sans);border:1px solid #c7cec7;border-radius:10px;outline:none;padding:0 .9rem;transition:border-color .15s,box-shadow .15s}.tool-field select{cursor:pointer;padding-right:2.2rem}.tool-field textarea{resize:vertical;height:auto;min-height:150px;padding-block:.8rem;line-height:1.5}.tool-field input:focus,.tool-field select:focus,.tool-field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #173f351f}.tool-field input[aria-invalid=true],.tool-field select[aria-invalid=true],.tool-field textarea[aria-invalid=true]{border-color:#b44c3d;box-shadow:0 0 0 3px #b44c3d1a}.ingredient-search{z-index:3;position:relative}.ingredient-suggestion-list{background:var(--white);border:1px solid #c7cec7;border-radius:10px;max-height:250px;padding:.35rem;position:absolute;top:calc(50px + 1.75rem);left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #173f3529}.ingredient-suggestion-option{width:100%;color:var(--ink);cursor:pointer;font:600 .88rem/1.25 var(--font-sans);text-align:left;background:0 0;border:0;border-radius:7px;padding:.7rem .75rem}.ingredient-suggestion-option:hover,.ingredient-suggestion-option[aria-selected=true]{color:var(--green);background:var(--green-light)}.ingredient-suggestion-empty{color:var(--muted);margin:0;padding:.7rem .75rem;font-size:.8rem}.field-action-button,.ingredient-custom-button{color:var(--green);cursor:pointer;font:700 .76rem/1.35 var(--font-sans);text-underline-offset:.18em;background:0 0;border:0;margin-top:.55rem;padding:0;text-decoration:underline}.field-action-button:hover,.field-action-button:focus-visible,.ingredient-custom-button:hover,.ingredient-custom-button:focus-visible{color:var(--terracotta-text)}.field-action-button:focus-visible,.ingredient-custom-button:focus-visible{outline-offset:3px;outline:2px solid}.recipe-serving-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.pan-input-group{border:1px solid var(--line);border-radius:12px;margin:0 0 1rem;padding:1rem 1rem 0}.pan-input-group legend{color:var(--green);font:700 .82rem/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;padding:0 .35rem}.pan-input-group .tool-field{margin-bottom:.85rem}.recipe-ingredient-editor{border:0;min-width:0;margin:0 0 1.15rem;padding:0}.recipe-ingredient-editor legend{color:var(--ink);margin-bottom:.15rem;font-size:.84rem;font-weight:700}.recipe-row-headings,.recipe-ingredient-row{grid-template-columns:minmax(70px,.7fr) minmax(70px,.8fr) minmax(130px,1.7fr) 36px;align-items:center;gap:.45rem;display:grid}.recipe-row-headings{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:.8rem;padding-inline:.15rem;font-size:.69rem;font-weight:800}.recipe-ingredient-row{margin-top:.45rem}.recipe-ingredient-row input{width:100%;min-width:0;height:44px;color:var(--ink);background:var(--white);font:600 .85rem/1 var(--font-sans);border:1px solid #c7cec7;border-radius:8px;outline:none;padding:0 .65rem}.recipe-ingredient-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #173f351f}.recipe-ingredient-row input[aria-invalid=true]{border-color:#b44c3d}.recipe-remove-row{width:34px;height:34px;color:var(--muted);border:1px solid var(--line);cursor:pointer;font:700 1.1rem/1 var(--font-sans);background:0 0;border-radius:50%}.recipe-remove-row:hover,.recipe-remove-row:focus-visible{color:var(--terracotta-text);border-color:var(--terracotta)}.recipe-add-row{color:var(--green);cursor:pointer;font:800 .8rem/1.3 var(--font-sans);background:0 0;border:0;margin-top:.75rem;padding:0}.recipe-add-row:hover,.recipe-add-row:focus-visible{text-underline-offset:.18em;text-decoration:underline}.recipe-scale-factor{color:#f3f1e8;border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:.8rem 1rem;font-size:.76rem;font-weight:700;display:flex}.recipe-scale-factor output{color:var(--gold);font-size:1.15rem}.recipe-scaled-list{max-height:390px;margin:0;padding:0;list-style:none;overflow-y:auto}.recipe-scaled-list li{border-bottom:1px solid #ffffff1a;justify-content:space-between;gap:1rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.recipe-scaled-list strong{color:var(--white);flex:none}.recipe-scaled-list span{color:#d9e1dd;text-align:right}.recipe-scaled-list .recipe-scaled-empty{color:#d9e1dd;text-align:left;display:block}.recipe-copy-button{margin:.9rem 1rem 1rem auto}@media (width<=620px){.recipe-serving-grid{grid-template-columns:1fr;gap:0}.recipe-row-headings{display:none}.recipe-ingredient-row{grid-template-columns:minmax(70px,.75fr) minmax(70px,.8fr) 34px;margin-top:.7rem}.recipe-ingredient-row [data-field=name]{grid-area:2/1/auto/-1}.recipe-remove-row{grid-area:1/3}}.tool-input-row{grid-template-columns:minmax(90px,.65fr) minmax(150px,1.35fr);gap:.75rem;display:grid}.converter-direction{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:.65rem;display:grid}.swap-units-button{width:40px;height:40px;color:var(--green);background:var(--green-light);cursor:pointer;font:800 1rem/1 var(--font-sans);border:1px solid #c7d4c8;border-radius:50%;justify-content:center;align-items:center;margin-top:1.78rem;display:inline-flex}.swap-units-button:hover,.swap-units-button:focus-visible{border-color:var(--green);background:#d2e1d3}.swap-units-button:focus-visible{outline:3px solid var(--green);outline-offset:2px}.field-help{color:var(--muted);margin:.35rem 0 0;font-size:.75rem}.form-error{color:#8b3025;background:#fbe5e1;border-radius:8px;margin:0 0 1rem;padding:.65rem .75rem;font-size:.8rem;font-weight:600}[hidden]{display:none!important}.calculate-button{cursor:pointer;justify-content:center;width:100%}.privacy-note{color:var(--muted);text-align:center;margin:.85rem 0 0;font-size:.72rem}.result-panel{color:#e4ece8;background:var(--green);border-radius:14px;overflow:hidden;box-shadow:0 16px 36px #173f3529}.result-panel-header{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:end;gap:1.5rem;padding:1.35rem 1.4rem 1.1rem;display:flex}.result-panel-header h2{color:var(--white);margin:0}.result-panel-header>p{color:#b8c9c3;text-align:right;max-width:260px;margin:0;font-size:.7rem;line-height:1.45}.result-kicker{color:var(--gold-text);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.3rem;font-size:.67rem;font-weight:700}.result-panel .result-kicker{color:var(--gold)}.result-panel.is-stacked .result-list{grid-template-columns:1fr}.result-panel.is-stacked .result-row,.result-panel.is-stacked .result-row:nth-child(odd),.result-panel.is-stacked .result-row:nth-last-child(-n+2){border-bottom:1px solid #ffffff1a;border-right:0}.result-panel.is-stacked .result-row:last-child{border-bottom:0}.result-panel.is-stacked .result-row output{overflow-wrap:anywhere;text-align:right;text-overflow:clip;white-space:normal}.dns-status-bar{color:#b8c9c3;border-bottom:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.4rem;font-size:.72rem;display:flex}.dns-status-badge{color:var(--green);background:var(--gold);letter-spacing:.04em;border-radius:100px;padding:.3rem .55rem;font-size:.65rem;font-weight:800;display:inline-flex}.dns-records{min-height:190px;padding:1.1rem 1.4rem 1.35rem}.dns-empty-state{color:#b8c9c3;text-align:center;margin:0;padding:2.6rem 1rem;font-size:.82rem}.dns-record-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.dns-record-row{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;min-width:0;padding:.9rem 1rem}.dns-record-meta,.dns-record-value{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dns-record-meta{color:#aebfba;flex-wrap:wrap;margin-bottom:.45rem;font-size:.68rem}.dns-record-meta strong{color:var(--gold);letter-spacing:.05em}.dns-record-owner{overflow-wrap:anywhere;min-width:0}.dns-record-value output{overflow-wrap:anywhere;min-width:0;color:var(--white);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;font-weight:700}.port-reference-tool{min-width:0}.port-filter-panel{padding:.25rem}.port-filter-grid{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(170px,.8fr));align-items:start;gap:.9rem;display:grid}.port-filter-grid .tool-field{margin-bottom:0}.port-filter-footer,.port-results-heading,.port-range-summary{justify-content:space-between;align-items:center;gap:1rem;display:flex}.port-filter-footer{margin-top:1.1rem}.port-filter-note,.port-results-heading p,.port-range-summary p{color:var(--muted);margin:0;font-size:.78rem}.port-clear-button{color:var(--green);cursor:pointer;font:700 .78rem/1.4 var(--font-sans);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.port-range-summary{background:var(--green-light);border:1px solid #cbd8cc;border-radius:10px;margin:1.5rem 0 1rem;padding:.85rem 1rem}.port-range-summary strong{color:var(--green);font-size:.82rem}.port-range-summary p{color:var(--green)}.port-results-heading{margin:1.7rem 0 .85rem}.port-results-heading h2{font-family:var(--font-sans);letter-spacing:-.025em;margin:0;font-size:1.3rem}.port-reference-table td:first-child,.port-reference-table td:nth-child(2),.port-reference-table td:nth-child(3){white-space:nowrap}.protocol-list{gap:.3rem;display:flex}.protocol-badge{color:var(--green);background:var(--green-light);border-radius:100px;padding:.2rem .42rem;font-size:.65rem;font-weight:800;display:inline-flex}.port-service-name{color:var(--green);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:700}.port-no-results{color:var(--muted);text-align:center;margin:0;padding:2rem 1rem}.result-list{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.result-row{border-bottom:1px solid #ffffff1a;min-width:0;padding:1rem 1.15rem}.result-row:nth-child(odd){border-right:1px solid #ffffff1a}.result-row:nth-last-child(-n+2){border-bottom:0}.result-row dt{color:#aebfba;margin-bottom:.38rem;font-size:.68rem;font-weight:600}.result-row dd{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;margin:0;display:flex}.result-row output{color:var(--white);text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(.78rem,1.45vw,.92rem);font-weight:700;overflow:hidden}.range-summary{border-bottom:1px solid #ffffff1a}.range-summary .result-row{border-bottom:0}.cidr-block-list{padding:.45rem 1.15rem}.cidr-block-list.is-scrollable{max-height:480px;overflow-y:auto}.cidr-block-row{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.58rem 0;display:flex}.cidr-block-row:last-child{border-bottom:0}.cidr-block-row code{color:var(--white);background:0 0;font-size:.84rem;font-weight:700}.cidr-block-coverage{flex:0 0 100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem;margin:0;display:grid}.cidr-block-coverage dt{color:#ffffffbf;font-size:.72rem}.cidr-block-coverage dd{color:var(--white);overflow-wrap:anywhere;margin:.15rem 0 0;font:.78rem/1.5 SFMono-Regular,Consolas,monospace}.cidr-coverage-check{color:#ffffffd9;margin:0;padding:.85rem 1.15rem;font-size:.82rem}.cidr-result-stack{min-width:0}.cidr-explanation{margin-top:1rem}.example-card.cidr-explanation h3{font-family:var(--font-sans);font-size:1.05rem}.cidr-explanation ol{overflow-wrap:anywhere;margin-bottom:0;padding-left:1.2rem;font-size:.85rem}.cidr-explanation li+li{margin-top:.75rem}.cidr-example-button{min-height:2.75rem;margin:0}.cidr-example-button code{color:inherit}.cidr-block-list:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.result-panel-actions{border-top:1px solid #ffffff1a;padding:.85rem 1.15rem 1.1rem}.formula-strip{color:var(--muted);border:1px solid var(--line);background:#ffffff8c;border-radius:9px;justify-content:center;align-items:center;gap:.55rem;margin-top:.8rem;padding:.7rem;font-size:.68rem;display:flex}.formula-strip strong{color:var(--green)}.copy-all-button{width:100%;color:var(--white);cursor:pointer;font:700 .75rem/1 var(--font-sans);background:#ffffff14;border:1px solid #fff3;border-radius:8px;padding:.68rem .9rem}.copy-all-button:hover,.copy-all-button:focus-visible{background:#ffffff24;border-color:#ffffff61}.copy-all-button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:pre!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.copy-button{color:#c9d8d3;cursor:pointer;min-width:44px;min-height:32px;font:600 .64rem/1 var(--font-sans);background:0 0;border:1px solid #ffffff2e;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:.28rem .45rem;display:inline-flex}.copy-button:hover,.copy-button:focus-visible{color:var(--white);border-color:#ffffff73}.copy-button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.content-section{margin-bottom:4.5rem}.content-section:last-child{margin-bottom:0}.content-section h2{color:var(--green);margin-bottom:1.25rem;font-size:clamp(1.9rem,4vw,2.75rem)}.content-section>p:not(.eyebrow),.content-section li,.definition-grid p,.faq-section p{color:var(--muted)}.privacy-page{padding-block:clamp(4rem,8vw,6rem)}.privacy-page .content-section{margin-bottom:3rem}.privacy-page a{color:var(--green);text-underline-offset:3px;text-decoration:underline}.page-updated{color:var(--muted);margin:2rem 0 0;font-size:.82rem}.instruction-list{gap:.8rem;margin:0 0 2rem;padding-left:1.35rem;display:grid}code{color:var(--green);background:var(--green-light);border-radius:4px;padding:.12rem .32rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88em}.example-card{border:1px solid #eadab7;border-left:4px solid var(--gold);background:#fff8e8;border-radius:12px;padding:clamp(1.35rem,4vw,2rem)}.calculation-formula code{overflow-wrap:anywhere;padding:1rem;line-height:1.8;display:block}.example-card .example-label{color:#916a28;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.3rem;font-size:.68rem;font-weight:700}.example-card h3{color:var(--green);margin-bottom:.55rem;font:700 1.25rem/1.3 SFMono-Regular,Consolas,monospace}.example-card p:last-child{color:#655b46;margin-bottom:0}.range-example{margin-top:2rem}.range-example p:last-child{line-height:1.85}.definition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 2.5rem;display:grid}.definition-grid h3{color:var(--ink);margin-bottom:.45rem;font-size:1rem}.definition-grid p{margin-bottom:0;font-size:.9rem}.reference-table-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.reference-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.86rem}.reference-table th,.reference-table td{text-align:left;border-bottom:1px solid var(--line);padding:.85rem 1rem}.reference-table thead th{color:var(--green);background:var(--green-light);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.reference-table tbody th{color:var(--ink)}.reference-table tbody td{color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.reference-table tr:last-child th,.reference-table tr:last-child td{border-bottom:0}.edge-case-note{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:clamp(1.5rem,4vw,2.25rem)}.edge-case-note h2{font-size:clamp(1.65rem,3vw,2.2rem)}.edge-case-note p:last-child{margin-bottom:0}.faq-section details{border-top:1px solid var(--line)}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{color:var(--ink);cursor:pointer;padding:1.1rem 0;font-weight:700}.faq-section details p{margin:-.3rem 0 1.2rem}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer{color:#dbe4df;background:var(--green);padding:2.5rem 0}.footer-inner{justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer-brand{align-items:center;gap:.8rem;display:flex}.footer-brand svg{color:#2c6556}.footer-brand strong{color:var(--white);font-size:.9rem}.footer-brand p,.footer-note{margin:0;font-size:.78rem}.footer-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.footer-meta a{min-height:32px;color:var(--white);text-underline-offset:3px;align-items:center;font-size:.78rem;text-decoration:underline;display:inline-flex}.footer-meta a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media (width<=860px){.hero-grid{grid-template-columns:1fr}.pantry-note{max-width:430px;transform:none}.tool-grid,.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-explainer,.tool-shell,.ip-tool-shell{grid-template-columns:1fr}.tool-form-panel{padding:0}.port-filter-grid{grid-template-columns:1fr}}@media (width<=620px){.not-found-actions{flex-direction:column;align-items:flex-start}.container,.narrow-container{width:min(100% - 28px,1160px)}.header-inner{min-height:68px}.brand-soft,.site-header nav a:last-child{display:none}.site-header nav{gap:1rem}.site-header nav a{font-size:.78rem}.home-hero{padding-top:4rem}.split-heading,.footer-inner{flex-direction:column;align-items:start}.tool-grid,.compact-grid{grid-template-columns:1fr}.tool-card{min-height:220px}.category-hero{padding-top:3rem}.breadcrumbs{margin-bottom:2rem}.result-panel-header{flex-direction:column;align-items:start;gap:.55rem}.result-panel-header>p{text-align:left}.result-list,.definition-grid{grid-template-columns:1fr}.mode-switch{width:100%}.mode-switch button{flex:1;padding-inline:.45rem}.range-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.range-summary .result-row:nth-child(odd){border-right:1px solid #ffffff1a}.tool-input-row{grid-template-columns:minmax(80px,.6fr) minmax(140px,1.4fr)}.converter-direction{gap:.4rem}.swap-units-button{width:36px;height:36px}.formula-strip{flex-wrap:wrap}.calculator-input-grid{grid-template-columns:1fr;gap:0}.port-filter-footer,.port-results-heading,.port-range-summary{flex-direction:column;align-items:flex-start;gap:.45rem}.ip-protocol-grid{grid-template-columns:1fr}.ip-protocol-grid>div:first-child,.result-row,.result-row:nth-child(odd),.result-row:nth-last-child(-n+2){border-bottom:1px solid #ffffff1a;border-right:0}.result-row:last-child{border-bottom:0}}@media (width<=460px){.header-inner{flex-wrap:wrap;gap:.55rem 1rem;min-height:auto;padding-block:.7rem}.site-header nav{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
