:root{--ink:#132b3b;--muted:#5d6e79;--teal:#08796e;--line:#dce5e8;--bg:#f4f7f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;font:16px/1.5 Inter,Arial,sans-serif;color:var(--ink);background:white}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}header{max-width:1240px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-weight:800;font-size:22px;letter-spacing:-.8px}.brand-accent{color:var(--teal)}.brand-icon{background:var(--teal);color:white;font-size:20px;line-height:14px;text-align:center;border-radius:9px;padding:7px;margin-right:10px;letter-spacing:0}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a:hover{color:var(--teal)}main{max-width:1240px;margin:auto;padding:44px 32px 60px}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;color:var(--teal)}h1{font-size:42px;line-height:1.15;letter-spacing:-1.5px;margin:11px 0}.period{color:var(--teal)}.heading p{color:var(--muted);margin:0}.small-note{font-size:14px;color:var(--muted);padding-bottom:3px}.calculator-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:36px}.calc{border:1px solid #cfdcdf;border-radius:16px;overflow:hidden;box-shadow:0 10px 35px #18374208;background:var(--bg)}.toolbar{display:flex;justify-content:space-between;align-items:center;background:white;padding:15px 20px;border-bottom:1px solid var(--line)}.tool-title{font-weight:600;font-size:14px}.mini-icon{color:var(--teal);font-size:21px;vertical-align:middle;margin-right:8px}.mode{display:flex;background:#eef3f4;padding:3px;border-radius:7px}.mode button{border:0;background:none;color:var(--muted);font-size:12px;font-weight:700;padding:6px 11px;border-radius:5px}.mode button.selected{background:white;color:var(--teal);box-shadow:0 1px 4px #0001}.display{background:#132d3c;padding:19px 24px 20px;color:white}.display label{font-size:12px;color:#b4c8d1;letter-spacing:.5px}.display input{width:100%;color:white;border:0;background:transparent;font-size:25px;text-align:right;padding:10px 0 8px;outline:none}.display input::placeholder{color:#9eb5bf;font-size:19px}.display input:focus{box-shadow:0 2px 0 #74d7c4}.result-line{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:61px}.result-line span{font-size:12px;letter-spacing:1.5px;color:#8ecdbf}.result-line output{font-size:43px;line-height:1.2;overflow-wrap:anywhere;text-align:right;min-width:0}.keys{padding:18px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.keys button{height:48px;border:1px solid #dce4e7;border-radius:8px;background:#fff;color:var(--ink);font-size:17px;box-shadow:0 2px 0 #dbe2e640;transition:background .1s,transform .1s}.keys button:hover{background:#e2efec}.keys button:active{transform:translateY(1px)}.keys .science{background:#e9eff2;font-size:15px;color:#415866}.keys .operator{background:#dceeea;color:#086b60;font-weight:700}.keys .clear{color:#a04428;background:#fff0e9}.keys .equals{background:var(--teal);color:white;border-color:var(--teal)}.calc-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px 16px;font-size:12px;color:var(--muted)}.calc-bottom button{border:0;background:none;color:var(--teal);font-weight:600;font-size:14px;padding:5px}.quick-guide{padding:18px 3px}.quick-guide h2{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:12px 0}.quick-guide>p{font-size:14px;color:var(--muted);margin-bottom:23px;max-width:340px}.guide-row{display:flex;gap:13px;margin:18px 0}.guide-symbol{width:36px;height:36px;flex-shrink:0;background:#edf4f3;color:var(--teal);border-radius:9px;display:grid;place-items:center;font:14px Georgia,serif}.guide-row strong{font-size:14px}.guide-row p{font-size:14px;color:var(--muted);margin:2px 0}.try{border-top:1px solid var(--line);padding-top:17px;display:flex;gap:8px;flex-wrap:wrap}.try span{width:100%;font-size:12px;color:var(--muted)}.try button{border:1px solid var(--line);background:white;border-radius:6px;padding:7px 9px;font-size:14px;color:var(--ink)}.directory{margin-top:58px;border-top:1px solid var(--line);padding-top:38px}.directory h2{font-size:30px;letter-spacing:-.8px;margin:9px 0 22px}.search-wrap{display:flex;align-items:center;gap:14px;border:1px solid #c9d8dd;background:#f8fafb;border-radius:10px;padding:13px 18px}.search-wrap:focus-within{outline:2px solid var(--teal);outline-offset:2px}.search-wrap>span{font-size:28px;line-height:1;color:var(--teal)}.search-wrap input{border:0;outline:none;background:transparent;width:100%;min-width:0;color:var(--ink);font-size:16px}.search-wrap kbd{border:1px solid var(--line);padding:1px 7px;border-radius:4px;color:var(--muted)}.browse-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 17px}.browse-heading h3{font-size:18px;margin:0}.browse-heading span{font-size:14px;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.category{border:1px solid var(--line);border-radius:11px;padding:20px;position:relative;background:white;transition:border-color .2s,box-shadow .2s}.category:hover{border-color:#91beb4;box-shadow:0 5px 18px #17372f07}.category-icon{display:grid;place-items:center;background:var(--tint);color:var(--tone);width:39px;height:39px;font-size:21px;font-weight:600;border-radius:9px;margin-bottom:16px}.category h4{font-size:17px;margin:0 0 6px}.category p{font-size:14px;color:var(--muted);margin:0;min-height:42px}.category details{margin-top:15px;border-top:1px solid #edf1f3;padding-top:12px}.category summary{cursor:pointer;font-size:14px;color:var(--teal);font-weight:600}.category ul{padding-left:18px;font-size:14px;color:var(--muted);margin-bottom:0}.category li{margin:6px 0}.directory-note{font-size:14px;color:var(--muted);margin-top:24px}footer{border-top:1px solid var(--line);padding:27px 32px;max-width:1240px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font-size:12px}.footer-brand{font-size:17px;color:var(--ink);display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #16a38e;outline-offset:3px}@media(max-width:1000px){.category-grid{grid-template-columns:repeat(3,1fr)}.calculator-layout{gap:22px;grid-template-columns:minmax(0,2fr) minmax(230px,1fr)}.keys{gap:5px;padding:12px}.keys button{font-size:15px}.quick-guide h2{font-size:24px}}@media(max-width:760px){header{padding:18px 20px}.brand{font-size:19px}nav{gap:15px}main{padding:30px 20px 40px}.heading{display:block}.small-note{display:block;margin-top:12px}h1{font-size:33px}.calculator-layout{grid-template-columns:1fr}.quick-guide{display:none}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory{margin-top:38px;padding-top:30px}.directory h2{font-size:25px}.keys button{height:46px;font-size:15px}.keys .science{font-size:13px}.display{padding:15px 18px}.result-line output{font-size:35px}.calc-bottom{flex-wrap:wrap;padding:0 13px 10px}footer{flex-wrap:wrap;padding:22px 20px}footer>span:nth-child(2){display:none}}@media(max-width:420px){header nav a:first-child{display:none}.keys{gap:4px;padding:9px}.keys button{font-size:14px;border-radius:5px}.keys .science{font-size:12px}.category{padding:16px}.category p{min-height:63px}.toolbar{padding:12px}.tool-title{font-size:13px}}
/* Navigation and editorial sections */
.site-header{position:relative;z-index:20;padding-top:20px;padding-bottom:20px}
.site-header nav{gap:7px;align-items:center}
.nav-link{display:flex;align-items:center;gap:9px;padding:11px 17px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-weight:600;font-size:14px}
.nav-link:hover,.nav-link[aria-expanded=true]{background:#eaf4f1;color:var(--teal)}
.chevron{font-size:20px;line-height:1}
.category-nav{position:static}
.mega-menu{position:absolute;left:32px;right:32px;top:calc(100% - 2px);background:#fff;border:1px solid #d3e1e1;border-radius:14px;padding:24px;box-shadow:0 18px 60px #102d3b26;max-height:min(75vh,620px);overflow:auto}
.mega-menu[hidden]{display:none}
.mega-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}
.mega-heading strong{display:block;font-size:18px;letter-spacing:-.4px}
.mega-heading span{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.mega-heading>a{color:var(--teal);font-size:14px;white-space:nowrap}
.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;align-items:start}
.menu-category{border:1px solid #e3e9eb;border-radius:9px;overflow:hidden}
.menu-category>summary{display:flex;align-items:center;gap:10px;padding:11px;cursor:pointer;font-size:14px;font-weight:600;list-style:none}
.menu-category>summary::-webkit-details-marker{display:none}
.menu-category>summary:after{content:'+';margin-left:auto;color:var(--teal);font-size:20px;font-weight:400}
.menu-category[open]>summary:after{content:'в€’'}
.menu-category[open]>summary{background:#f5f9f9}
.menu-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;flex-shrink:0;font-size:16px}
.subcategory-list{display:grid;padding:6px 10px 10px 51px;gap:2px}
.subcategory-list a{font-weight:400;font-size:14px;line-height:1.35;padding:7px 0;color:var(--muted)}
.subcategory-list a:hover{color:var(--teal);text-decoration:underline}
.mobile-toggle{display:none}
.articles-section{border-top:1px solid var(--line);margin-top:48px;padding-top:40px}
.articles-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.articles-heading h2{font-size:30px;letter-spacing:-.8px;margin:8px 0}
.articles-heading p{margin:0;color:var(--muted);font-size:16px}
.article-total{font-size:14px;color:var(--muted);white-space:nowrap}
.articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.article-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}
.article-art{height:145px;display:flex;align-items:center;justify-content:center;position:relative;background:#e9f3ef;color:#127966;border-bottom:1px solid #00000008}
.art-index{position:absolute;top:15px;left:19px;font:12px/1.5 Arial,sans-serif;letter-spacing:2px;opacity:.7}
.art-formula{font:italic 35px/1.3 Georgia,serif;letter-spacing:-1px}
.art-01 .art-formula{font-size:65px}
.art-02,.art-06{background:#eaf0fa;color:#42679b}
.art-03{background:#142f3e;color:#aee1ce}
.art-04{background:#f4efe6;color:#805e32}
.art-05{background:#eaf1f3;color:#3a6976}
.article-content{padding:22px}
.article-tag{font-size:12px;letter-spacing:.6px;color:var(--teal);font-weight:700;text-transform:uppercase}
.article-content h3{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:11px 0}
.article-content>p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 18px}
.article-details>summary{list-style:none;cursor:pointer;display:inline-block;font-size:14px;font-weight:700;color:var(--teal);padding:5px 0;border-bottom:1px solid #99c6bc}
.article-details>summary::-webkit-details-marker{display:none}
.close-label{display:none}
.article-details[open] .read-label{display:none}
.article-details[open] .close-label{display:inline}
.article-body{padding-top:12px;font-size:16px;line-height:1.7;color:#425762}
.article-body h4{font-size:16px;color:var(--ink);margin:22px 0 5px}
.article-body p{margin:10px 0}
.article-body code{font-size:14px;background:#eff4f5;padding:2px 4px;border-radius:3px;overflow-wrap:anywhere}
@media(max-width:900px){.articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mega-menu{left:20px;right:20px}}
@media(max-width:600px){.mobile-toggle{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:7px;background:white;padding:8px 11px;font-size:14px;color:var(--ink)}.site-header nav{display:none;position:absolute;top:100%;left:20px;right:20px;flex-direction:column;align-items:stretch;padding:12px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #132b3b20;max-height:80vh;overflow:auto}.site-header nav.mobile-open{display:flex}.site-header nav>a:first-child{display:flex}.nav-link{width:100%;justify-content:space-between;padding:10px 12px}.mega-menu{position:static;max-height:none;border:0;border-radius:0;padding:12px 0;box-shadow:none}.mega-heading{display:block;padding:0 12px 12px}.mega-heading strong{font-size:16px}.mega-heading>a{display:block;margin-top:10px}.mega-grid{grid-template-columns:1fr;gap:8px}.articles-grid{grid-template-columns:1fr;gap:20px}.articles-heading h2{font-size:25px}.articles-heading p{font-size:14px}.article-total{display:none}.article-art{height:130px}.articles-section{padding-top:30px;margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Aligned header and a simple category list */
.brand{gap:10px;line-height:1.2}
.brand-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin:0;padding:0;border-radius:8px;line-height:1}
.brand-icon svg{display:block}
.site-header{min-height:84px;align-items:center}
.site-header nav{align-items:center;gap:4px}
.nav-link{height:42px;line-height:1;align-items:center;justify-content:center;white-space:nowrap}
.chevron{display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;flex-shrink:0}
.category-nav{position:relative}
.mega-menu{left:auto;right:0;top:calc(100% + 12px);width:310px;padding:9px;max-height:65vh;border-radius:10px}
.mega-heading{padding:4px 12px 10px;margin:0 0 4px;display:block}
.mega-heading>a{display:block;font-weight:600;white-space:normal;padding:7px 0;margin:0}
.mega-grid{display:block}
.menu-category{border:0;border-radius:5px;margin:1px 0}
.menu-category>summary{padding:11px 12px;gap:0;line-height:1.4;min-height:42px}
.menu-category>summary:after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-left:auto;flex-shrink:0}
.menu-category[open]>summary:after{content:'';transform:rotate(45deg)}
.menu-category>summary:hover{background:#edf5f2}
.subcategory-list{padding:2px 16px 10px 24px;border-left:2px solid #c5dfd7;margin:3px 12px 10px}
.subcategory-list a{font-size:14px;padding:7px 0}
.mobile-toggle{line-height:1.2;align-items:center;height:38px}
/* Article cards with actual images */
.article-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#eaf0f2;border-bottom:1px solid var(--line)}
.article-content{display:flex;flex-direction:column;align-items:flex-start;min-height:248px}
.article-content>p{flex:1}
.read-button{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:white;border:1px solid var(--teal);border-radius:7px;padding:10px 17px;font-size:14px;font-weight:600;line-height:1.25;min-height:40px}
.read-button:hover{background:#075f57}
.article-cover{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px;margin:25px 0}
.document-main{max-width:860px;min-height:60vh;padding-top:36px}
.document-main h1{font-size:40px;line-height:1.2;margin:20px 0}
.back-link{display:inline-block;font-size:14px;color:var(--teal);margin-bottom:18px}
.policy-body,.full-article .article-body{font-size:16px;line-height:1.8;color:#425762}
.policy-body h2{font-size:22px;color:var(--ink);margin:30px 0 8px;letter-spacing:-.3px}
.policy-body p{margin:10px 0}
.policy-body a{text-decoration:underline;color:var(--teal)}
.contact-notice{padding:20px 24px;background:#f1f7f5;border:1px solid #d6e6e1;border-radius:10px;margin:26px 0}
.contact-notice h2{margin:0 0 8px}
/* Footer */
.site-footer{display:block;padding-top:32px;padding-bottom:22px;font-size:14px}
.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding-bottom:25px}
.footer-brand{display:block;line-height:1.2}
.footer-top p{font-size:14px;max-width:330px;margin:12px 0 0}
.footer-links{display:flex;flex-wrap:wrap;gap:13px 23px;font-size:14px;font-weight:400;justify-content:flex-end}
.footer-links a:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:17px;border-top:1px solid var(--line);font-size:12px}
@media(max-width:760px){.document-main h1{font-size:31px}.footer-top{flex-direction:column;gap:22px}.footer-links{justify-content:flex-start}.footer-bottom{flex-wrap:wrap}}
@media(max-width:600px){.site-header{min-height:75px}.site-header nav{align-items:stretch}.category-nav{position:static}.nav-link{justify-content:space-between}.mega-menu{width:auto;max-height:none;margin:0;padding:2px 0;border:0}.mega-heading{padding:0 12px 7px}.mega-heading>a{margin:0}.mega-grid{display:block}.article-content{min-height:0}.article-content>p{margin-bottom:20px}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:14px}.footer-bottom>span:last-child{display:none}}

.seo-description{margin-top:40px;padding:28px 30px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}
.seo-description h2{font-size:25px;line-height:1.3;letter-spacing:-.5px;margin:0 0 16px;color:var(--ink)}
.seo-description p{font-size:16px;line-height:1.75;color:var(--muted);margin:12px 0}
.seo-description p:last-child{margin-bottom:0}
@media(max-width:600px){.seo-description{padding:22px 20px;margin-top:30px}.seo-description h2{font-size:22px}}

.category-topics{margin-top:15px;border-top:1px solid #edf1f3;padding-top:12px}
.category .topics-label{font-size:14px;min-height:0;font-weight:600;color:var(--ink);margin:0 0 7px}
.category-topics ul{list-style:none;padding:0;margin:0}
.category-topics li{margin:0}
.category-topics a{display:block;color:var(--teal);font-size:14px;line-height:1.5;padding:5px 0}
.category-topics a:hover{text-decoration:underline;color:#075f57}

.menu-category-link{display:block;padding:11px 12px;border-radius:5px;font-size:14px;font-weight:500;line-height:1.4;color:var(--ink)}
.menu-category-link:hover,.menu-category-link:focus-visible{background:#edf5f2;color:var(--teal)}
.category h4 a:hover{color:var(--teal);text-decoration:underline}
.category-page{max-width:1050px;min-height:65vh}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:14px;font-weight:400;color:var(--muted);margin-bottom:34px}
.breadcrumbs a{color:var(--teal)}
.breadcrumbs a:hover{text-decoration:underline}
.category-page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}
.category-page-heading h1{font-size:36px;margin:10px 0;line-height:1.2}
.category-page-heading p{color:var(--muted);margin:0}
.category-list-count{font-size:14px;color:var(--muted);white-space:nowrap;padding-bottom:3px}
.category-availability{font-size:14px;color:var(--muted);padding:14px 18px;background:#f1f7f5;border:1px solid #dce9e4;border-radius:8px;margin:25px 0}
.calculator-list{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.calculator-list-row{display:flex;align-items:center;gap:22px;padding:25px;border-bottom:1px solid var(--line);scroll-margin-top:20px}
.calculator-list-row:last-child{border-bottom:0}
.calculator-list-row:target{background:#eef7f4}
.list-number{font-size:14px;font-weight:600;color:#6b8c89;align-self:start;padding-top:3px}
.list-description{flex:1;min-width:0}
.list-description h2{font-size:19px;margin:0 0 6px;letter-spacing:-.3px;line-height:1.3}
.list-description h2 a{color:var(--teal)}
.list-description p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}
.tool-status{font-size:12px;color:#697882;border:1px solid #e0e7e9;background:#f7f9fa;border-radius:5px;padding:5px 9px;white-space:nowrap}
.category-back{margin:25px 0 0}
@media(max-width:600px){.category-page-heading{display:block}.category-page-heading h1{font-size:28px}.category-list-count{display:block;margin-top:14px}.breadcrumbs{margin-bottom:24px}.calculator-list-row{padding:18px;gap:12px;flex-wrap:wrap}.list-description{flex-basis:calc(100% - 45px)}.calculator-list-row>.tool-status,.calculator-list-row>.read-button{margin-left:30px}.list-description h2{font-size:18px}}
.tool-page{max-width:1100px}
.tool-heading{margin-bottom:27px}
.tool-heading h1{font-size:38px;letter-spacing:-1px;margin:10px 0}
.tool-heading>p{color:var(--muted);margin:0;max-width:750px}
.related-calculators{margin-top:36px;border-top:1px solid var(--line);padding-top:30px}
.related-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.related-heading h2{font-size:24px;letter-spacing:-.5px;margin:7px 0 0}
.related-heading>a{font-size:14px;color:var(--teal)}
.related-heading>a:hover{text-decoration:underline}
.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.related-card{display:flex;flex-direction:column;align-items:start;padding:20px;border:1px solid var(--line);border-radius:10px;transition:border-color .15s,background .15s}
.related-card:hover{border-color:#80b7a7;background:#f6fbf9}
.related-card h3{font-size:17px;line-height:1.35;color:var(--teal);margin:0 0 9px}
.related-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 18px;flex:1}
@media(max-width:900px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.related-grid{grid-template-columns:1fr}.related-heading{align-items:start}.related-heading h2{font-size:22px}.related-heading>a{white-space:nowrap;margin-top:27px}}

/* Calculator page with category recommendations in a right sidebar. */
.tool-page-with-sidebar{max-width:1240px}
.tool-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:28px}
.tool-main-content{min-width:0}
.calculator-sidebar{padding:22px;background:#f7faf9;border:1px solid var(--line);border-radius:12px}
.calculator-sidebar .related-calculators{margin:0;padding:0;border:0}
.calculator-sidebar .related-heading{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}
.calculator-sidebar .related-heading h2{font-size:22px}
.calculator-sidebar .related-heading>a{margin:0}
.calculator-sidebar .related-grid{grid-template-columns:1fr;gap:12px}
.calculator-sidebar .related-card{padding:17px;background:white}
.calculator-sidebar .related-card:hover{background:#eef7f3}
.calculator-sidebar .related-card h3{font-size:16px}
.calculator-sidebar .related-card p{font-size:13px;margin-bottom:13px}
@media(max-width:1000px){.tool-page-layout{grid-template-columns:1fr;gap:36px}.calculator-sidebar .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.calculator-sidebar{padding:20px}.calculator-sidebar .related-grid{grid-template-columns:1fr}}

/* ==================== BMI CALCULATOR ==================== */
/* BMI calculator: original side-by-side layout, scale and age/sex controls. */
.bmi-workspace{display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;border:1px solid #d2dfe1;border-radius:14px}
.bmi-inputs{padding:30px;background:white}
.bmi-inputs h2{font-size:20px;margin:0 0 20px}
.unit-switch{display:flex;background:#edf3f3;border-radius:8px;padding:4px;gap:4px;margin-bottom:24px}
.unit-switch button{flex:1;border:0;border-radius:6px;padding:10px 9px;background:transparent;color:var(--muted);font-size:14px;font-weight:600}
.unit-switch button.selected{background:var(--teal);color:white}
.measurement-field{margin-bottom:20px}
.measurement-field>label,.height-imperial legend{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.number-input{display:flex;align-items:center;border:1px solid #c9d8dd;border-radius:8px;overflow:hidden;background:#f9fbfc}
.number-input:focus-within{outline:2px solid var(--teal);outline-offset:2px}
.number-input input{width:100%;min-width:0;border:0;outline:none;padding:13px 15px;background:transparent;color:var(--ink);font-size:20px}
.number-input>span{padding:0 16px 0 5px;color:var(--muted);font-size:14px}
.height-imperial{border:0;margin:0 0 20px;padding:0}
.imperial-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.live-caption{font-size:12px;color:var(--muted);margin:0}
.bmi-error{font-size:14px;color:#a53d2d;margin:10px 0 0}
.bmi-result{background:#132d3c;color:white;padding:38px 32px;display:flex;flex-direction:column;justify-content:center}
.bmi-result .eyebrow{color:#99d8c7}
.bmi-value{display:flex;align-items:baseline;gap:12px;margin-top:14px;flex-wrap:wrap}
.bmi-value output{font-size:74px;line-height:1.1;letter-spacing:-3px;font-weight:700;overflow-wrap:anywhere;max-width:100%}
.bmi-value>span{color:#b9d0d7;font-size:16px}
.bmi-category{font-size:23px;line-height:1.3;margin:17px 0 7px;color:#addecf;font-weight:600}
#bmi-result-description{font-size:14px;color:#c9d8de;margin:0}
.bmi-result-footnote{margin-top:27px;padding-top:20px;border-top:1px solid #36505b;font-size:14px;line-height:1.6;color:#b8cbd3}
.bmi-reference{margin-top:36px}
.bmi-reference h2,.tool-explanation h2{font-size:24px;letter-spacing:-.5px;margin:0 0 15px}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.bmi-reference table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}
.bmi-reference th,.bmi-reference td{padding:13px 20px;border-bottom:1px solid var(--line)}
.bmi-reference thead{background:#f3f7f8}
.bmi-reference tbody th{font-weight:500}
.bmi-reference tbody tr:last-child>*{border-bottom:0}
.current-bmi-category{background:#e8f5ee;color:#126a55}
.reference-note{font-size:12px;color:var(--muted);margin:11px 0}
.tool-explanation{margin-top:38px;padding-top:30px;border-top:1px solid var(--line);max-width:850px}
.tool-explanation>p{font-size:16px;line-height:1.8;color:var(--muted)}
.tool-explanation h2:not(:first-child){margin-top:28px}
.formula-example{padding:18px 22px;background:#f1f7f5;border-radius:10px;border:1px solid #d9e8e2;margin:20px 0}
.formula-example>span{font-size:12px;letter-spacing:1px;color:var(--teal);text-transform:uppercase;font-weight:600}
.formula-example p{font-size:14px;color:var(--muted);margin:6px 0}
.formula-example code{font-size:18px;overflow-wrap:anywhere;color:var(--ink)}
.tool-explanation .tool-source{font-size:14px}
.tool-source a{color:var(--teal);text-decoration:underline}
@media(max-width:650px){.bmi-page .tool-heading h1{font-size:31px}.bmi-workspace{grid-template-columns:1fr}.bmi-inputs{padding:23px}.bmi-result{padding:28px 23px}.bmi-value output{font-size:62px}.bmi-reference th,.bmi-reference td{padding:12px 15px}.unit-switch button{font-size:13px}.bmi-reference h2,.tool-explanation h2{font-size:22px}}

/* Adult BMI scale and formula illustrations. */
.bmi-scale-section{margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}
.bmi-scale-section h2{font-size:24px;margin:0 0 8px;letter-spacing:-.5px}
#bmi-scale-summary{font-size:16px;margin:0;color:var(--muted)}
.bmi-scale-visual{position:relative;margin:56px 13px 42px}
.bmi-scale-track{display:flex;height:18px;border-radius:6px;overflow:hidden}
.bmi-scale-track>span:nth-child(1){width:24.285714%}.bmi-scale-track>span:nth-child(2){width:18.571429%}.bmi-scale-track>span:nth-child(3){width:14.285714%}.bmi-scale-track>span:nth-child(4){width:42.857143%}
.scale-underweight{background:#659ac8}.scale-healthy{background:#26876b}.scale-overweight{background:#dbac46}.scale-obesity{background:#bc6b58}
.bmi-scale-marker{position:absolute;top:-35px;transform:translateX(-50%);color:var(--ink);font-weight:700;text-align:center}
.bmi-scale-marker span{display:block;background:#132d3c;color:white;border-radius:5px;padding:3px 8px;font-size:14px;line-height:22px}
.bmi-scale-marker:after{content:"";display:block;width:0;height:0;margin:auto;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #132d3c}
.bmi-scale-ticks{position:relative;margin-top:8px;font-size:14px;color:var(--muted)}
.bmi-scale-ticks span{position:absolute;transform:translateX(-50%)}
.bmi-scale-legend{display:flex;flex-wrap:wrap;gap:10px 20px;padding:0;list-style:none;font-size:14px;margin:0 0 16px}
.bmi-scale-legend li{display:flex;align-items:center;gap:7px}.bmi-scale-legend i{display:inline-block;width:11px;height:11px;border-radius:2px}
.bmi-formulas .formula-example{margin:14px 0}.bmi-formulas code{font-size:16px;white-space:normal}
.tool-explanation h3{font-size:18px;margin-top:26px}.bmi-steps{padding-left:24px;line-height:1.9;color:var(--muted)}
.bmi-chart-figure{margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.bmi-formula-chart{display:block;width:100%;height:auto;min-width:440px}.bmi-formula-chart text{font-family:inherit;font-size:14px;fill:#445d69}
.bmi-chart-figure{overflow-x:auto}.bmi-chart-figure figcaption{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.7}
.chart-key{white-space:nowrap;font-weight:600}.key-160{color:#a44e21}.key-175{color:#0d766d}.key-190{color:#496bc0}
.bmi-chart-data summary{cursor:pointer;color:var(--teal);font-size:14px;margin:15px 0}.bmi-chart-data table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.bmi-chart-data th,.bmi-chart-data td{padding:10px 14px;border-bottom:1px solid var(--line)}.bmi-chart-data caption{text-align:left;padding:12px 14px;color:var(--muted)}
@media(max-width:600px){.bmi-scale-section{padding:20px 16px}.bmi-scale-section h2{font-size:22px}.bmi-scale-legend{gap:10px 14px}.bmi-chart-figure{padding:10px}}

/* Age and sex inputs for CDC child BMI-for-age interpretation. */
.bmi-profile-fields{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.bmi-age-fields{border:0;padding:0;margin:0 0 16px;min-width:0}.bmi-age-fields legend,.bmi-profile-fields>label{font-size:14px;font-weight:600;margin-bottom:8px;display:block}.bmi-age-fields label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
.bmi-profile-fields input,.bmi-profile-fields select{width:100%;min-width:0;padding:11px 12px;border:1px solid #c9d8dd;border-radius:8px;background:#f9fbfc;color:var(--ink);font:inherit;box-sizing:border-box}.bmi-profile-fields input:focus,.bmi-profile-fields select:focus{outline:2px solid var(--teal);outline-offset:2px}
#bmi-profile-note{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 0}
.bmi-scale-track.child-percentile-track>span{width:25%}

/* ==================== CALORIE CALCULATOR ==================== */
/* Calorie Calculator */
.calorie-page .cal-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    border: 1px solid #d2dfe1;
    border-radius: 14px;
    overflow: hidden;
}
.calorie-page .cal-inputs { padding: 26px; min-width: 0; }
.calorie-page .cal-inputs h2 { font-size: 20px; margin: 0 0 20px; }
.calorie-page .cal-unit-switch { display: flex; gap: 4px; padding: 4px; border-radius: 8px; background: #edf3f3; margin-bottom: 22px; }
.calorie-page .cal-unit-switch button { flex: 1; border: 0; border-radius: 6px; padding: 10px 6px; font-size: 14px; background: transparent; color: #5d6e79; }
.calorie-page .cal-unit-switch .selected { color: #fff; background: #08796e; }
.calorie-page .cal-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.calorie-page .cal-field { min-width: 0; margin-bottom: 18px; }
.calorie-page .cal-field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 7px; }
.calorie-page .cal-field input, .calorie-page .cal-field select { width: 100%; min-width: 0; padding: 12px 10px; border: 1px solid #c9d8dd; border-radius: 8px; background: #f9fbfc; color: #132b3b; font: inherit; }
.calorie-page input:focus-visible, .calorie-page select:focus-visible, .calorie-page button:focus-visible { outline: 2px solid #08796e; outline-offset: 3px; }
.calorie-page .cal-height-us { padding: 0; border: 0; margin: 0; min-width: 0; }
.calorie-page .cal-height-us legend { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.calorie-page [hidden] { display: none !important; }
.calorie-page .cal-small { color: #5d6e79; font-size: 14px; line-height: 1.6; }
.calorie-page .cal-error { color: #a53d2d; font-size: 14px; line-height: 1.5; }
.calorie-page .cal-result { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 32px 26px; color: #fff; background: #132d3c; }
.calorie-page .cal-result .eyebrow { color: #99d8c7; }
.calorie-page .cal-total { margin-top: 14px; }
.calorie-page .cal-total output { display: block; font-size: clamp(40px, 5vw, 64px); font-weight: 700; line-height: 1.15; letter-spacing: -2px; overflow-wrap: anywhere; }
.calorie-page .cal-total span { font-size: 16px; color: #b9d0d7; }
.calorie-page .cal-result p { font-size: 14px; color: #c9d8de; line-height: 1.6; }
.calorie-page .cal-summary { padding: 18px 0; margin: 12px 0; border-top: 1px solid #36505b; border-bottom: 1px solid #36505b; font-size: 14px; }
.calorie-page .cal-summary div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 8px 0; }
.calorie-page .cal-summary dd { margin: 0; font-weight: 600; }
.calorie-page .cal-result-note { margin: 4px 0 0; }
.calorie-page .cal-section { margin-top: 34px; padding-top: 28px; border-top: 1px solid #dce5e8; }
.calorie-page .cal-section h2 { font-size: 24px; letter-spacing: -.5px; margin: 0 0 14px; }
.calorie-page .cal-section h3 { font-size: 19px; margin: 26px 0 12px; }
.calorie-page .cal-section > p { line-height: 1.8; color: #5d6e79; }
.calorie-page .cal-bars { display: grid; gap: 17px; padding: 20px 0 26px; }
.calorie-page .cal-bar-row { display: grid; grid-template-columns: 130px minmax(0, 1fr) 65px; align-items: center; gap: 12px; font-size: 14px; }
.calorie-page .cal-bar-row strong { text-align: right; }
.calorie-page .cal-bar-track { background: #edf2f4; border-radius: 4px; overflow: hidden; }
.calorie-page .cal-bar { height: 22px; width: 0; }
.calorie-page .cal-loss { background: #6388b7; }
.calorie-page .cal-maintain { background: #08796e; }
.calorie-page .cal-gain { background: #b08030; }
.calorie-page .cal-table-wrap { overflow-x: auto; border: 1px solid #dce5e8; border-radius: 10px; }
.calorie-page table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
.calorie-page caption { padding: 13px 16px; text-align: left; color: #5d6e79; background: #f7f9fa; }
.calorie-page th, .calorie-page td { padding: 12px 14px; border-bottom: 1px solid #dce5e8; vertical-align: top; }
.calorie-page thead { background: #f3f7f8; }
.calorie-page tbody th { font-weight: 500; }
.calorie-page tbody tr:last-child > * { border-bottom: 0; }
.calorie-page .cal-selected-row { background: #e8f5ee; color: #126a55; }
.calorie-page .cal-chart-wrap { overflow-x: auto; margin: 20px 0; padding: 12px; border: 1px solid #dce5e8; border-radius: 10px; }
.calorie-page #cal-activity-chart { display: block; width: 100%; min-width: 440px; height: auto; }
.calorie-page #cal-activity-chart text { fill: #5d6e79; font: 14px Arial, sans-serif; }
.calorie-page .cal-formula { padding: 18px 20px; margin: 16px 0; border: 1px solid #d9e8e2; border-radius: 10px; background: #f1f7f5; }
.calorie-page .cal-formula span { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: #08796e; }
.calorie-page .cal-formula code { font-size: 16px; white-space: normal; overflow-wrap: anywhere; }
.calorie-page .cal-explanation h2:not(:first-child) { margin-top: 30px; }
.calorie-page .cal-sources { font-size: 14px; }
.calorie-page .cal-sources a { color: #08796e; text-decoration: underline; }
@media (max-width: 700px) {
    .calorie-page .cal-workspace { grid-template-columns: minmax(0, 1fr); }
    .calorie-page .cal-inputs, .calorie-page .cal-result { padding: 23px; }
    .calorie-page .cal-total output { font-size: 52px; }
    .calorie-page .cal-bar-row { grid-template-columns: 108px minmax(0, 1fr) 55px; gap: 8px; }
    .calorie-page .cal-section h2 { font-size: 22px; }
}
@media (max-width: 380px) {
    .calorie-page .cal-pair { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .calorie-page .cal-bar-row { grid-template-columns: minmax(0, 1fr) 55px; }
    .calorie-page .cal-bar-row > span { grid-column: 1 / -1; }
}

/* ==================== BODY FAT CALCULATOR ==================== */
.bf-page [hidden] { display: none !important; }
.bf-page .bf-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.bf-page .bf-inputs { padding: 26px; min-width: 0; }
.bf-page .bf-inputs h2 { font-size: 20px; margin: 0 0 20px; }
.bf-page .bf-units { display: flex; gap: 4px; background: #edf3f3; padding: 4px; border-radius: 8px; margin-bottom: 22px; }
.bf-page .bf-units button { flex: 1; padding: 10px 6px; border: 0; border-radius: 6px; font: inherit; font-size: 14px; background: transparent; color: var(--muted); }
.bf-page .bf-units .selected { background: var(--teal); color: #fff; }
.bf-page .bf-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 14px; }
.bf-page .bf-field { min-width: 0; }
.bf-page .bf-field label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 7px; }
.bf-page .bf-field input, .bf-page .bf-field select { width: 100%; min-width: 0; padding: 12px 10px; border: 1px solid #c9d8dd; border-radius: 8px; font: inherit; color: var(--ink); background: #f9fbfc; }
.bf-page :is(input, select, button):focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.bf-page .bf-note { font-size: 14px; line-height: 1.6; color: var(--muted); }
.bf-page .bf-note a, .bf-page .bf-section a { color: var(--teal); text-decoration: underline; }
.bf-page .bf-error { color: #a53d2d; font-size: 14px; }
.bf-page .bf-result { display: flex; flex-direction: column; justify-content: center; padding: 32px 26px; min-width: 0; background: #132d3c; color: #fff; }
.bf-page .bf-result .eyebrow { color: #99d8c7; }
.bf-page #bf-percent { display: block; font-size: clamp(42px, 5vw, 68px); font-weight: 700; letter-spacing: -2px; line-height: 1.2; margin-top: 16px; }
.bf-page .bf-result p { font-size: 14px; color: #c9d8de; line-height: 1.6; }
.bf-page .bf-masses { border-top: 1px solid #36505b; border-bottom: 1px solid #36505b; padding: 16px 0; }
.bf-page .bf-masses div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 8px 0; }
.bf-page .bf-masses dd { margin: 0; font-weight: 600; }
.bf-page .bf-result-footnote { margin-bottom: 0; }
.bf-page .bf-section { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.bf-page .bf-section h2 { font-size: 24px; margin: 0 0 14px; letter-spacing: -.5px; }
.bf-page .bf-section h3 { font-size: 18px; margin: 24px 0 12px; }
.bf-page .bf-section p { line-height: 1.75; color: var(--muted); }
.bf-page .bf-composition { display: grid; grid-template-columns: minmax(160px, .8fr) minmax(0, 1.2fr); gap: 20px; align-items: center; }
.bf-page .bf-donut { display: block; width: 100%; max-width: 260px; margin: auto; }
.bf-page .bf-donut-value { fill: var(--ink); font: 700 32px Arial, sans-serif; }
.bf-page .bf-donut-label { fill: var(--muted); font: 14px Arial, sans-serif; }
.bf-page .bf-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.bf-page table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
.bf-page caption { padding: 12px 14px; text-align: left; color: var(--muted); background: #f7f9fa; }
.bf-page th, .bf-page td { padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.bf-page thead { background: #f3f7f8; }
.bf-page tbody th { font-weight: 500; }
.bf-page tbody tr:last-child > * { border-bottom: 0; }
.bf-page .bf-swatch { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 2px; }
.bf-page .bf-fat-swatch { background: #08796e; }
.bf-page .bf-lean-swatch { background: #dce8ec; border: 1px solid #98aeb8; }
.bf-page .bf-scale { position: relative; margin: 46px 28px 18px; }
.bf-page .bf-scale-track { height: 14px; border-radius: 5px; background: #dce8ec; overflow: hidden; }
/* Reference bands: widths update for the selected equation. */
.bf-page .bf-scale-track { display: flex; }
.bf-page .bf-scale-track > span { height: 100%; flex-shrink: 0; }
.bf-page .bf-band-low { background: #ad718c; }
.bf-page .bf-band-essential { background: #7894bd; }
.bf-page .bf-band-athletes { background: #409caa; }
.bf-page .bf-band-fitness { background: #26876b; }
.bf-page .bf-band-average { background: #d6ac50; }
.bf-page .bf-band-obese { background: #bc6b58; }
.bf-page .bf-result .bf-category { font-size: 17px; color: #addecf; font-weight: 600; margin: 12px 0 0; }
.bf-page .bf-active-category { background: #e8f5ee; outline: 2px solid #08796e; outline-offset: -2px; }
.bf-page .bf-active-category th { font-weight: 700; }
.bf-page .bf-marker { position: absolute; top: -34px; transform: translateX(-50%); }
.bf-page .bf-marker span { display: block; padding: 3px 7px; border-radius: 5px; background: #132d3c; color: white; font-size: 13px; font-weight: 600; white-space: nowrap; }
.bf-page .bf-marker::after { content: ''; display: block; width: 0; margin: auto; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid #132d3c; }
.bf-page .bf-ticks { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); margin-top: 8px; }
.bf-page .bf-measure-figure { margin: 22px 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; overflow-x: auto; }
.bf-page .bf-measure-figure svg { display: block; width: 100%; min-width: 540px; height: auto; }
.bf-page figcaption { font-size: 13px; color: var(--muted); margin-top: 8px; }
.bf-page .bf-formula { background: #f1f7f5; padding: 18px 20px; border: 1px solid #d9e8e2; border-radius: 10px; margin: 16px 0; }
.bf-page .bf-formula h3 { color: var(--teal); font-size: 14px; margin: 0 0 10px; }
.bf-page .bf-formula code { font-size: 16px; white-space: normal; overflow-wrap: anywhere; }
.bf-page .bf-sources { font-size: 14px; }
.bf-page .bf-sources ol { padding-left: 22px; line-height: 1.75; }
.bf-page .bf-sources li { margin-bottom: 14px; overflow-wrap: anywhere; }
@media (max-width: 700px) {
    .bf-page .bf-workspace, .bf-page .bf-composition { grid-template-columns: minmax(0, 1fr); }
    .bf-page .bf-inputs, .bf-page .bf-result { padding: 23px; }
    .bf-page .bf-section h2 { font-size: 22px; }
}
@media (max-width: 380px) {
    .bf-page .bf-fields { grid-template-columns: minmax(0, 1fr); }
}

/* ==================== MORTGAGE CALCULATOR ==================== */
.mt-page [hidden] { display: none !important; }
.mt-page .mt-workspace { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.mt-page .mt-inputs { padding: 25px; min-width: 0; }
.mt-page .mt-inputs h2 { font-size: 20px; margin: 0 0 20px; }
.mt-page .mt-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px 14px; }
.mt-page .mt-field { min-width: 0; }
.mt-page .mt-field label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 7px; }
.mt-page .mt-field input, .mt-page select { width: 100%; min-width: 0; border: 1px solid #c9d8dd; padding: 11px 10px; border-radius: 8px; background: #f9fbfc; color: var(--ink); font: inherit; }
.mt-page .mt-field small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.mt-page :is(input,select,button,summary):focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.mt-page .mt-costs { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 18px; }
.mt-page .mt-costs summary { cursor: pointer; font-size: 15px; font-weight: 600; margin-bottom: 18px; }
.mt-page .mt-note { font-size: 13px; line-height: 1.7; color: var(--muted); }
.mt-page .mt-error { font-size: 14px; color: #a53d2d; }
.mt-page .mt-result { min-width: 0; padding: 32px 26px; background: #132d3c; color: white; display: flex; flex-direction: column; justify-content: center; }
.mt-page .mt-result .eyebrow { color: #99d8c7; }
.mt-page .mt-result output { display: block; font-size: clamp(32px,3.8vw,52px); font-weight: 700; line-height: 1.2; letter-spacing: -1.5px; margin-top: 16px; overflow-wrap: anywhere; }
.mt-page .mt-result p { font-size: 14px; line-height: 1.7; color: #c9d8de; }
.mt-page .mt-result dl { border-top: 1px solid #36505b; border-bottom: 1px solid #36505b; padding: 15px 0; font-size: 14px; }
.mt-page .mt-result dl div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; margin: 12px 0; }
.mt-page .mt-result dd { margin: 0; font-weight: 600; }
.mt-page .mt-section { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.mt-page .mt-section h2 { font-size: 24px; margin: 0 0 14px; letter-spacing: -.5px; }
.mt-page .mt-section h3 { font-size: 19px; margin: 26px 0 12px; }
.mt-page .mt-section p { line-height: 1.8; color: var(--muted); }
.mt-page .mt-section a { color: var(--teal); text-decoration: underline; }
.mt-page .mt-bars { display: grid; gap: 15px; margin: 24px 0; }
.mt-page .mt-bar-row { display: grid; grid-template-columns: 140px minmax(0,1fr) 112px; gap: 12px; align-items: center; font-size: 14px; }
.mt-page .mt-bar-row strong { text-align: right; overflow-wrap: anywhere; }
.mt-page .mt-bar-track { background: #edf2f4; border-radius: 4px; overflow: hidden; }
.mt-page .mt-bar-track div { height: 22px; }
.mt-page .mt-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.mt-page table { border-collapse: collapse; width: 100%; font-size: 14px; text-align: left; }
.mt-page caption { text-align: left; padding: 12px 14px; color: var(--muted); background: #f7f9fa; }
.mt-page th, .mt-page td { border-bottom: 1px solid var(--line); padding: 12px 14px; vertical-align: top; }
.mt-page thead, .mt-page tfoot, .mt-page .mt-total-row { background: #f3f7f8; }
.mt-page tbody th { font-weight: 500; }
.mt-page tbody tr:last-child > * { border-bottom: 0; }
.mt-page .mt-schedule-scroll { max-height: 490px; }
.mt-page .mt-schedule-scroll table { min-width: 720px; }
.mt-page .mt-schedule-scroll thead { position: sticky; top: 0; }
.mt-page .mt-chart-wrap { overflow-x: auto; padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
.mt-page #mt-chart { display: block; width: 100%; min-width: 500px; height: auto; }
.mt-page #mt-chart text { font: 14px Arial, sans-serif; fill: #5d6e79; }
.mt-page .mt-legend { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; }
.mt-page .mt-key::before { content: ''; display: inline-block; width: 20px; margin: 0 8px 3px 0; border-top: 3px solid #08796e; }
.mt-page .mt-key-base::before { border-color: #8b94a8; border-top-style: dashed; }
.mt-page .mt-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.mt-page .mt-stats div { padding: 18px; background: #f1f7f5; border: 1px solid #d9e8e2; border-radius: 10px; }
.mt-page .mt-stats span { display: block; color: var(--muted); font-size: 13px; }
.mt-page .mt-stats strong { display: block; margin-top: 8px; font-size: 21px; overflow-wrap: anywhere; }
.mt-page .mt-schedule-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.mt-page .mt-button { border: 0; background: var(--teal); color: white; font: inherit; font-size: 13px; padding: 10px 13px; border-radius: 8px; cursor: pointer; }
.mt-page .mt-view { display: flex; align-items: center; gap: 12px; margin: 14px 0; }
.mt-page .mt-view select { width: auto; max-width: 100%; }
.mt-page .mt-formula { padding: 20px; margin: 18px 0; border-radius: 10px; border: 1px solid #d9e8e2; background: #f1f7f5; }
.mt-page .mt-formula code { font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; white-space: normal; }
.mt-page .mt-sources { font-size: 14px; }
.mt-page .mt-sources ol { padding-left: 22px; line-height: 1.8; }
.mt-page .mt-sources li { margin-bottom: 8px; }
@media (max-width: 700px) {
    .mt-page .mt-workspace { grid-template-columns: minmax(0,1fr); }
    .mt-page .mt-result, .mt-page .mt-inputs { padding: 23px; }
    .mt-page .mt-bar-row { grid-template-columns: 110px minmax(0,1fr) 100px; gap: 8px; font-size: 12px; }
    .mt-page .mt-section h2 { font-size: 22px; }
}
@media (max-width: 420px) {
    .mt-page .mt-fields, .mt-page .mt-stats { grid-template-columns: minmax(0,1fr); }
    .mt-page .mt-bar-row { grid-template-columns: minmax(0,1fr) 100px; }
    .mt-page .mt-bar-row > span { grid-column: 1 / -1; }
}