/* Beyond cost calculators (BCS 3.6.0) – sits on top of invest/assets/site.css */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:16px;align-items:start}
.calc .panel{min-width:0}
.calc .res{position:sticky;top:calc(var(--nav-h) + 12px)}
@media (max-width:900px){.calc{grid-template-columns:minmax(0,1fr)}.calc .res{position:static}}
.cf{display:grid;gap:16px}
.cf .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:420px){.cf .row2{grid-template-columns:1fr}}
.cf label.lb,.cf .lb{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);margin:0 0 7px}
.cf input[type=text],.cf input[type=number],.cf select{width:100%;box-sizing:border-box;min-height:48px;padding:0 14px;border-radius:14px;border:1px solid var(--field-line);background:var(--field);color:var(--fg);font:500 16px/1.2 Montserrat,"Montserrat Fallback",system-ui,sans-serif;-webkit-appearance:none;appearance:none}
.cf select{padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.cf input:focus,.cf select:focus{outline:2px solid var(--green);outline-offset:1px}
.cf .pre{position:relative}.cf .pre input{padding-left:38px}.cf .pre::before{content:"";position:absolute;left:15px;top:50%;width:14px;height:12px;margin-top:-6px;background:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 344.84 299.91'%3E%3Cpath d='M342.14,140.96l2.7,2.54v-7.72c0-17-11.92-30.84-26.56-30.84h-23.41C278.49,36.7,222.69,0,139.68,0c-52.86,0-59.65,0-109.71,0,0,0,15.03,12.63,15.03,52.4v52.58h-27.68c-5.38,0-10.43-2.08-14.61-6.01l-2.7-2.54v7.72c0,17.01,11.92,30.84,26.56,30.84h18.44s0,29.99,0,29.99h-27.68c-5.38,0-10.43-2.07-14.61-6.01l-2.7-2.54v7.71c0,17,11.92,30.82,26.56,30.82h18.44s0,54.89,0,54.89c0,38.65-15.03,50.06-15.03,50.06h109.71c85.62,0,139.64-36.96,155.38-104.98h32.46c5.38,0,10.43,2.07,14.61,6l2.7,2.54v-7.71c0-17-11.92-30.83-26.56-30.83h-18.9c.32-4.88.49-9.87.49-15s-.18-10.11-.51-14.99h28.17c5.37,0,10.43,2.07,14.61,6.01ZM89.96,15.01h45.86c61.7,0,97.44,27.33,108.1,89.94l-153.96.02V15.01ZM136.21,284.93h-46.26v-89.98l153.87-.02c-9.97,56.66-42.07,88.38-107.61,90ZM247.34,149.96c0,5.13-.11,10.13-.34,14.99l-157.04.02v-29.99l157.05-.02c.22,4.84.33,9.83.33,15Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 344.84 299.91'%3E%3Cpath d='M342.14,140.96l2.7,2.54v-7.72c0-17-11.92-30.84-26.56-30.84h-23.41C278.49,36.7,222.69,0,139.68,0c-52.86,0-59.65,0-109.71,0,0,0,15.03,12.63,15.03,52.4v52.58h-27.68c-5.38,0-10.43-2.08-14.61-6.01l-2.7-2.54v7.72c0,17.01,11.92,30.84,26.56,30.84h18.44s0,29.99,0,29.99h-27.68c-5.38,0-10.43-2.07-14.61-6.01l-2.7-2.54v7.71c0,17,11.92,30.82,26.56,30.82h18.44s0,54.89,0,54.89c0,38.65-15.03,50.06-15.03,50.06h109.71c85.62,0,139.64-36.96,155.38-104.98h32.46c5.38,0,10.43,2.07,14.61,6l2.7,2.54v-7.71c0-17-11.92-30.83-26.56-30.83h-18.9c.32-4.88.49-9.87.49-15s-.18-10.11-.51-14.99h28.17c5.37,0,10.43,2.07,14.61,6.01ZM89.96,15.01h45.86c61.7,0,97.44,27.33,108.1,89.94l-153.96.02V15.01ZM136.21,284.93h-46.26v-89.98l153.87-.02c-9.97,56.66-42.07,88.38-107.61,90ZM247.34,149.96c0,5.13-.11,10.13-.34,14.99l-157.04.02v-29.99l157.05-.02c.22,4.84.33,9.83.33,15Z'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
.cf .suf{position:relative}.cf .suf input{padding-right:40px}.cf .suf::after{content:attr(data-suf);position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;color:var(--muted);pointer-events:none}
.seg{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:999px;background:var(--field);border:1px solid var(--field-line);margin:0}
.seg legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.seg label{flex:1 1 auto;position:relative;margin:0}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--fg2);cursor:pointer;white-space:nowrap;transition:background-color .25s,color .25s}
.seg input:checked+span{background:var(--green);color:#0E1A12}
.seg input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
@media (max-width:420px){.seg span{padding:0 10px;font-size:12.5px}}
fieldset.fs{border:0;padding:0;margin:0;min-width:0}
.cf .hint{font-size:12px;color:var(--muted);margin:6px 0 0}
.cf .tg{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;cursor:pointer}
.cf .tg input{width:18px;height:18px;accent-color:var(--green);margin:0;flex:none}
.cf input[type=range]{width:100%;accent-color:var(--green);min-height:32px}
.cf .rg{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted)}
.cf details{border-radius:18px;background:var(--chip);padding:12px 16px}
.cf details summary{cursor:pointer;font-size:13px;font-weight:600;min-height:28px;display:flex;align-items:center}
.cf details[open] summary{margin-bottom:12px}
.cf details .cf{gap:12px}
.res h3.rh{font:600 11px/1.2 Montserrat,"Montserrat Fallback",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gtext);margin:6px 0 4px}
.res h3.rh+ul{margin-bottom:18px}
.kv.ck li.base .k,.kv.ck li.base .v{font-weight:700;color:var(--fg)}
.kv.ck li.info .v{color:var(--fg2)}
.kv.ck li.free .v{color:var(--gtext)}
.kv .ct{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.06em;padding:1px 7px;border-radius:999px;background:var(--chip);color:var(--muted);white-space:nowrap}
.kv .ct.est{border:1px dashed var(--muted);background:transparent}
.ct-tot li .k{font-weight:600;color:var(--fg)}
.ct-tot li.big{padding:14px 14px;margin:6px 0;border-radius:18px;background:rgba(93,201,116,.16);border-bottom:0}
.ct-tot li.big .k{font-size:14px}
.ct-tot li.big .v{font-family:"Instrument Serif","IS Fallback",Georgia,serif;font-size:clamp(26px,3vw,34px);font-weight:400;color:var(--gtext)}
.ct-tot li.key .v{font-size:17px}
.hl-note{margin:0 0 14px;padding:12px 16px;border-radius:16px;background:var(--green);color:#0E1A12;font-weight:700;font-size:14px;line-height:1.4}
.warn{margin:0 0 14px;padding:10px 14px;border-radius:14px;border:1px solid rgba(230,170,60,.6);background:rgba(230,170,60,.12);font-size:12.5px;color:var(--fg2)}
.res .act{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.res .act .btn{flex:1 1 180px}
.asof{font-size:12px;color:var(--muted);margin:14px 0 0}
.tabs.mode{display:inline-flex;gap:6px;padding:5px;border-radius:999px;background:var(--g-strong);margin:0 0 18px}
.tabs.mode button{min-height:44px;padding:0 22px;border:0;border-radius:999px;background:transparent;color:var(--fg2);font:600 13px/1 Montserrat,"Montserrat Fallback",system-ui,sans-serif;cursor:pointer}
.tabs.mode button[aria-selected=true]{background:var(--green);color:#0E1A12}
.ex{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.ex .tip h3{font-family:Montserrat,"Montserrat Fallback",sans-serif;font-size:14.5px;font-weight:600;line-height:1.4;letter-spacing:0;margin:0 0 6px}
.ex .tip .src{display:block;margin-top:8px;font-size:11.5px;color:var(--muted)}
.hubc{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.hubc a.panel{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--fg);transition:transform .45s var(--spring)}
.hubc a.panel:hover{transform:translateY(-3px)}
.hubc a.panel h3{font-size:clamp(28px,2.6vw,36px)}
.hubc a.panel p{margin:0;color:var(--fg2);font-size:14px}
.hubc a.panel .go{margin-top:auto;font-weight:600;color:var(--gtext);font-size:13px;letter-spacing:.06em}
table.rt{width:100%;border-collapse:collapse;font-size:13.5px}
table.rt th,table.rt td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
table.rt th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:static;background:none}
table.rt td:nth-child(2){white-space:nowrap;font-weight:600}
.rtw{overflow-x:auto;border-radius:24px}
.rel{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.rel a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:var(--chip);text-decoration:none;font-size:13px;font-weight:600}
.rel a:hover{background:var(--field)}
.prose p{max-width:72ch;color:var(--fg2)}

/* the launches shortlist tray from app.js has no use on calculator pages */
.sltray{display:none!important}

.seg label.off span{opacity:.38;cursor:not-allowed}
.seg label[hidden]{display:none}
.qp{display:flex;gap:8px;margin:8px 0 2px}
.qp button{font:inherit;font-size:13px;font-weight:600;min-height:40px;min-width:64px;padding:0 16px;border-radius:999px;border:1px solid var(--field-line);background:var(--field);color:var(--fg2);cursor:pointer}
.qp button[aria-pressed=true]{background:var(--green);color:#0E1A12;border-color:transparent}
.qp button:focus-visible{outline:2px solid var(--green);outline-offset:2px}
