/* BAH calculator: Night Ops (white phosphor P45), exact app tokens (NightOpsTokens.standard / .increasedContrast,
   NightOpsTheme.swift @1abd9dc6). Monochrome: no green, gold, amber or red. Accent ONLY on the result figure,
   focus rings and the one primary button. Money sign carries meaning, never colour. Always dark.
   Custom properties so Forged Steel / Desert Outpost can override --no-* later. */
:root{--no-page:#020304;--no-bg:#05080A;--no-surface:#0B1315;--no-surface2:#111B1D;--no-line:#2A3A3C;--no-mid:#6E8F8C;
--no-accent:#9AFFF3;--no-ink:#E8FFFC;--no-ink2:#86ABA7;--no-on-accent:#05080A;--no-disabled:#6E8F8C;color-scheme:dark}
@media (prefers-contrast: more){:root{--no-page:#000000;--no-bg:#000000;--no-surface:#05080A;--no-surface2:#0B1315;
--no-line:#6E8F8C;--no-mid:#8FB3AF;--no-accent:#B5FFF7;--no-ink:#F2FFFD;--no-ink2:#A9CCC8;--no-on-accent:#000000;--no-disabled:#8FB3AF}}
/* Organic HDR12: wide-gamut lift of the accent only on HDR-capable displays; sRGB above is the SDR fallback.
   No HDR wording on the page. */
@supports (color: color(display-p3 1 1 1)){@media (dynamic-range: high){:root{--no-accent-hdr:color(display-p3 0.62 1 0.955)}}}
.bah{max-width:720px;margin:0 auto;color:var(--no-ink)}
.bah h1,.bah h2,.bah h3{color:var(--no-ink);margin:0 0 12px}
.bah-lede{font-size:1.1rem;line-height:1.55;margin:0 0 10px}
.bah-private{color:var(--no-ink2);line-height:1.5;margin:0 0 24px}
.bah-form{display:grid;gap:18px;padding:22px;border:1px solid var(--no-line);border-radius:16px;background:var(--no-surface)}
.bah-field label,.bah-form legend{display:block;font-weight:700;margin-bottom:6px;color:var(--no-ink)}
.bah-form input[type=text],.bah-form select{width:100%;box-sizing:border-box;font:inherit;font-size:1.1rem;padding:12px 14px;border-radius:10px;border:1px solid var(--no-mid);background:var(--no-surface2);color:var(--no-ink)}
.bah-form fieldset{border:0;padding:0;margin:0}
.bah-radios{display:flex;gap:18px;flex-wrap:wrap}
.bah-radios label{display:flex;align-items:center;gap:8px;font-weight:400;min-height:44px;cursor:pointer}
.bah-radios input{width:20px;height:20px;accent-color:var(--no-ink)}
.bah-hint{display:block;color:var(--no-ink2);font-size:.9rem;margin-top:4px}
.bah-btn{justify-self:start;font:inherit;font-weight:800;font-size:1.05rem;min-height:48px;padding:12px 26px;border-radius:12px;border:0;background:var(--no-accent);background:var(--no-accent-hdr,var(--no-accent));color:var(--no-on-accent);cursor:pointer}
.bah :focus-visible{outline:3px solid var(--no-accent);outline-offset:3px}
.bah-result{margin:22px 0 0;min-height:1px}
.bah-result[data-state=ok]{padding:20px 22px;border-radius:16px;border:1px solid var(--no-line);background:var(--no-surface)}
.bah-amount{margin:0 0 6px}
.bah-amount__num{font-size:clamp(2.2rem,8vw,3.4rem);font-weight:800;color:var(--no-accent);color:var(--no-accent-hdr,var(--no-accent));font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.bah-amount__unit{color:var(--no-ink2);font-weight:700}
.bah-area{font-weight:700;margin:0 0 6px;color:var(--no-ink)}
.bah-note{color:var(--no-ink2);line-height:1.5;margin:0}
.bah-error{color:var(--no-ink);font-weight:700;margin:0}
.bah-error::before{content:"\26A0\FE0E  "}
.bah-cta{margin:18px 0 0;padding:20px 22px;border-radius:16px;border:1px solid var(--no-line);background:var(--no-surface)}
.bah-cta__line{font-size:1.05rem;line-height:1.5;margin:0 0 14px}
.bah-cta__btn,.bah a.bah-cta__btn,.bah a.bah-cta__btn:visited,.bah a.bah-cta__btn:hover{display:inline-block;font-weight:800;text-decoration:none;padding:12px 22px;border-radius:12px;background:transparent;color:var(--no-ink);border:1px solid var(--no-mid);min-height:24px}
.bah-cta__soon{color:var(--no-ink2);margin:10px 0 0}
.bah-src{margin:36px 0 0;border-top:1px solid var(--no-line);padding-top:20px}
.bah-src si-p{display:block;line-height:1.55;color:var(--no-ink2);margin:0 0 12px}
.bah-src a,.bah si-p a{color:var(--no-ink);text-decoration:underline}
.bah-src .bah-disclaimer{color:var(--no-ink);font-weight:700}
.bah si-p{display:block}
