/* Calculator directory. Uses the shared PondTools theme. */
.calculator-intro{padding:4px 0 28px;max-width:780px}
.calculator-intro h1{margin-bottom:14px}
.calculator-intro .lede{margin-bottom:10px}
.calculator-intro>p:last-child{font-size:14px;max-width:72ch}
.calculator-directory a{text-underline-offset:3px}
.calculator-group{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;padding:28px 0;border-top:1px solid var(--pt-border-strong)}
.calculator-category h2{font-size:20px;line-height:1.35;margin:10px 0 8px;max-width:18ch}
.calculator-category p{font-size:13px;max-width:25ch}
.calculator-list{list-style:none;padding:0;margin:0}
.calculator-list li+li{border-top:1px solid var(--pt-border)}
.calculator-list a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;text-decoration:none;color:var(--pt-ink);border-radius:var(--pt-radius-control)}
.calculator-list a:hover{background:var(--pt-panel)}
.calculator-list h3{font-size:18px;font-weight:600;line-height:1.4;margin:0 0 6px}
.calculator-list p{font-size:14px;line-height:1.6;max-width:65ch;margin:0;color:var(--pt-muted)}
.calculator-list svg{flex:none;color:var(--pt-accent)}
.calculator-reference{border-top:1px solid var(--pt-border-strong);padding:24px 0 0;margin-top:4px}
.calculator-reference h2{font-size:16px;margin:0 0 10px}
.calculator-reference p{font-size:13px;max-width:90ch;margin-bottom:8px}
@media(max-width:700px){
 .calculator-intro{padding-bottom:20px}
 .calculator-group{grid-template-columns:1fr;gap:4px;padding:20px 0}
 .calculator-category h2{max-width:none;margin:0 0 6px}
 .calculator-category p{max-width:none;margin-bottom:6px}
 .calculator-list a{padding:16px 0;gap:16px}
 .calculator-list h3{font-size:17px}
 .calculator-reference{padding-top:20px}
}

/* Shared working layout for every calculator. */
.calculator-page{max-width:980px;margin:0 auto}
.calculator-page .lede{font-size:18px;max-width:65ch;margin-bottom:24px}
.calculator-page h2{font-size:22px;margin:32px 0 16px;letter-spacing:-.02em}
.calculator-page .calc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px;margin:18px 0 24px}
.calculator-page .calc>div{min-width:0}
.calculator-page .field{margin-bottom:18px}
.calculator-page label{font-size:14px;line-height:1.4;text-transform:none;letter-spacing:normal}
.calculator-page input,.calculator-page select{width:100%;min-width:0;min-height:44px;border-radius:var(--pt-radius-control);font:inherit}
.calculator-page select{font-size:14px}
.calculator-page .out{border-radius:var(--pt-radius-card);padding:22px;background:var(--abyss);box-shadow:none}
.calculator-page .out .big{font-size:clamp(26px,3.5vw,42px);line-height:1.2;overflow-wrap:anywhere}
.calculator-page .out .lbl{font-size:14px;letter-spacing:normal;text-transform:none;margin-bottom:12px}
.calculator-page .out .sub{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.calculator-page .out .sub:empty{display:none}
.calculator-page .pill{background:transparent;color:var(--ink-2);border:0;border-radius:0;padding:0;margin:0 0 16px;flex-wrap:wrap;font-size:14px}
.calculator-page #unitToggle{margin:12px 0}
.calculator-page #unitToggle button{min-height:40px}
.calculator-page .calc-limit{max-width:75ch;font-size:14px;line-height:1.6;color:var(--ink-2);margin:20px 0}
.calculator-page .calc-info{border:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);border-radius:0;background:none;margin:24px 0;padding:0;box-shadow:none}
.calculator-page .calc-info summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-size:14px;font-weight:600;list-style:none;background:none;padding:8px 0;color:var(--ink)}
.calculator-page .calc-info summary::-webkit-details-marker{display:none}
.calculator-page .calc-info summary::after{content:'+';margin-left:auto;font-size:20px;font-weight:400}
.calculator-page .calc-info[open] summary::after{content:'−'}
.calculator-page .calc-info-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border:1px solid currentColor;border-radius:50%;font:600 13px Georgia,serif}
.calculator-page :is(summary,input,select,button,a):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.calculator-page .calc-info-content{padding:0 0 12px;font-size:14px;line-height:1.6;max-width:85ch}
.calculator-page .formula{border:0;border-radius:0;background:none;padding:0;margin:14px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:var(--ink-2)}
.calculator-page .calc-links{font-size:14px;border-top:1px solid var(--rule);padding-top:20px;margin:32px 0;display:flex;flex-wrap:wrap;gap:6px 18px}
.calculator-page .stk-row{display:grid;grid-template-columns:1.6fr .7fr 1fr;gap:16px;align-items:end;padding:16px 0;border-bottom:1px solid var(--rule)}
.calculator-page .stk-row .who{font-size:15px;font-weight:600}
.calculator-page .stk-row .meta{font-size:13px;color:var(--ink-3);margin-top:4px}
.calculator-page .stk-row label{display:block;margin-bottom:6px}
.calculator-page .verdict{font-size:15px;line-height:1.7}
.calculator-page .verdict strong.bad{color:#ffc6bc}
.calculator-page .verdict strong.ok{color:#ade6c7}
.calculator-page .seq{max-width:600px;margin:20px 0}
.calculator-page .seq-row{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid var(--rule);font-size:14px}
.calculator-page .seq-head{font-weight:600}
@media(max-width:700px){
 .calculator-page .calc{grid-template-columns:1fr;gap:8px}
 .calculator-page .stk-row{grid-template-columns:1fr 1fr}
 .calculator-page .stk-row>div:first-child{grid-column:1/-1}
 .calculator-page .out .big{font-size:32px}
 .calculator-page h1{font-size:32px}
}

/* Checkbox rows for the pond management calculators. Inputs in .calculator-page
   are full width and 44px tall by default, which a checkbox should not be. */
.calculator-page .check{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:12px}
.calculator-page .check input{width:auto;min-height:0;margin:0;flex:none}
.calculator-page .check label{margin:0;cursor:pointer}
.calculator-page .field-note{font-size:12px;color:var(--ink-2);margin:4px 0 0;min-height:1em}

/* Embedded calculators are a compact card in /app: result first, tight
   inputs, one title (the panel's), and notes behind the panel's (i) button. */
.wrap.embed{padding:8px 14px 10px;max-width:none;background:var(--pt-paper);color:var(--pt-ink)}
.embed .calculator-page{font:13px/1.45 var(--pt-font,system-ui);max-width:none}
.embed .calculator-page :is(.crumb,h1,.calc-links,.lede){display:none}
.embed .calculator-page h2{font:600 13px/1.4 var(--pt-font,system-ui);letter-spacing:normal;margin:16px 0 8px}
.embed .calculator-page .pill{font-size:12px;color:var(--pt-muted);margin:0 0 10px}
.embed .calculator-page .calc{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:0 0 4px}
.embed .calculator-page .calc>.out{order:-1}
.embed .calculator-page .field{margin-bottom:8px}
.embed .calculator-page label{display:block;font-size:12px;font-weight:600;color:var(--pt-muted);margin:0 0 3px}
.embed .calculator-page :is(input:not([type=checkbox]),select){width:100%;max-width:none;box-sizing:border-box;min-height:32px;border:1px solid var(--pt-border);border-radius:6px;background:var(--pt-paper);color:var(--pt-ink);padding:5px 8px;font-size:13px;box-shadow:none}
.embed .calculator-page .field-note{font-size:11.5px;color:var(--pt-muted);min-height:0}
.embed .calculator-page .check{min-height:30px;margin-bottom:6px}
.embed .calculator-page .check label{font-size:13px;font-weight:400;color:var(--pt-ink)}
.embed .calculator-page .out{border:1px solid var(--pt-border);border-radius:8px;padding:10px 12px;background:var(--pt-surface);color:var(--pt-ink)}
.embed .calculator-page .out :is(.big,.lbl){color:var(--pt-ink)}
.embed .calculator-page .out .lbl{font-size:12px;color:var(--pt-muted);margin-bottom:2px}
.embed .calculator-page .out .big{font-size:24px;font-weight:650;line-height:1.25}
.embed .calculator-page .out .unit{font-size:13px;color:var(--pt-muted);margin-left:4px}
.embed .calculator-page .out .sub{font-size:12px;line-height:1.45;color:var(--pt-muted);margin-top:4px}
.embed .calculator-page #unitToggle{margin:6px 0}
.embed .calculator-page #unitToggle button{min-height:30px;padding:4px 10px;font-size:12px}
.embed .calculator-page .stk-row{grid-template-columns:1fr 1fr;gap:8px;padding:10px 0}
.embed .calculator-page .stk-row>div:first-child{grid-column:1/-1}
.embed .calculator-page .stk-row .who{font-size:13px}
.embed .calculator-page .stk-row .meta{font-size:11.5px}
.embed .calculator-page .verdict{font-size:13px;line-height:1.55}
.embed .calculator-page .verdict strong.bad{color:var(--pt-danger)}
.embed .calculator-page .verdict strong.ok{color:var(--pt-accent)}
.embed .calculator-page .seq{margin:10px 0}
.embed .calculator-page .seq-row{font-size:12.5px;padding:6px 0;gap:12px}
.embed .calculator-page .calc-limit{font-size:12.5px;margin:10px 0}
.embed .calculator-page .calc-info{display:none;margin:0;border:0}
.embed .calculator-page .calc-info summary{display:none}
.embed .calculator-page .calc-info-content{padding:0;font-size:12.5px;line-height:1.55;color:var(--pt-ink)}
.embed .calculator-page .calc-info-content p{margin:0 0 10px}
.embed .calculator-page .formula{font-size:12px;margin:0 0 10px;padding:8px 10px;border-radius:6px;background:var(--pt-surface)}
/* (i) swaps the calculator for its notes and sources. */
html.show-info .embed .calculator-page>*:not(.calc-info){display:none}
html.show-info .embed .calculator-page .calc-info{display:block}
html.show-info .embed :is(.pill,#ctx){display:none}

/* Standalone pages: the step from a quick estimate to a measured pond. */
.calc-cta{margin:40px 0 8px;padding:24px;border:1px solid var(--pt-border,#d6e2ec);border-radius:14px;background:var(--pt-surface,#f5f9fc)}
.calc-cta h2{margin:0 0 8px;font-size:22px}
.calc-cta p{margin:0 0 16px;max-width:62ch;line-height:1.6}
.calc-cta-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;background:var(--pt-accent,#326b98);color:#fff;font-weight:600;text-decoration:none}
.calc-cta-button:hover{background:var(--pt-action-hover,#244f73)}
.calc-hub-lede{max-width:62ch;line-height:1.6;margin-bottom:24px}
.calc-hub-group{margin:28px 0}
.calc-hub-group h2{font-size:18px;margin:0 0 12px}
.calc-hub-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.calc-hub-list a{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;border:1px solid var(--pt-border,#d6e2ec);border-radius:12px;text-decoration:none;color:inherit}
.calc-hub-list a:hover{border-color:var(--pt-accent,#326b98)}
.calc-hub-list span{font-size:14px;line-height:1.45;color:var(--pt-muted,#506779)}

/* Standalone calculator pages (not the in-app panel): tighter layout, the
   inputs and the result as two matched cards, and the measurement bar. */
.wrap:not(.embed) .calculator-page{max-width:960px;padding-bottom:24px}
.wrap:not(.embed) .calculator-page h1{font-size:clamp(34px,4vw,48px);line-height:1.08;letter-spacing:-.025em;margin:6px 0 18px}
.wrap:not(.embed) .calculator-page .calc{gap:20px;margin:20px 0 8px}
.wrap:not(.embed) .calculator-page .calc>div:first-child{padding:22px 22px 6px;border:1px solid var(--pt-border);border-radius:16px;background:#fff}
.wrap:not(.embed) .calculator-page .field{margin-bottom:16px}
.wrap:not(.embed) .calculator-page label{font-weight:600;color:var(--pt-ink)}
.wrap:not(.embed) .calculator-page .out{position:sticky;top:20px;border-radius:16px;padding:24px;background:#0e1c27}
.wrap:not(.embed) .calculator-page .calc-limit{margin:14px 0}
.wrap:not(.embed) .calculator-page .calc-info{margin:16px 0}
.wrap:not(.embed) .calculator-page .calc-links{border-top:0;padding-top:0;margin:20px 0;gap:8px}
.wrap:not(.embed) .calculator-page .calc-links a{padding:7px 14px;border:1px solid var(--pt-border);border-radius:999px;background:#fff;text-decoration:none;font-weight:600;color:var(--pt-ink)}
.wrap:not(.embed) .calculator-page .calc-links a:hover{border-color:var(--pt-accent)}
.wrap:not(.embed) .calculator-page .pill a{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--pt-accent);color:#fff!important;text-decoration:none;font-weight:600}
.calc-measure{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin:0 0 8px;padding:16px 18px 16px 20px;border-radius:14px;background:#e2ebf3;border:1px solid #c8d7e3}
.calc-measure p{margin:0;flex:1 1 360px;font-size:15px;line-height:1.5;color:var(--pt-ink)}
.calc-measure-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;background:var(--pt-accent);color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}
.calc-measure-button:hover{background:var(--pt-accent-hover)}
.calc-measure.is-measured{background:#e5f3ec;border-color:#b9dcc8}
@media(max-width:700px){
 .wrap:not(.embed) .calculator-page .out{position:static}
 .calc-measure-button{width:100%;justify-content:center}
}
