.battery-page { --battery-accent:#6cd4c8; --battery-muted:#b1c0bd; }
.battery-page .detail { max-width:none; }
.battery-overview { margin-top:22px; }
.battery-demo { margin:29px 0 0; font-family:var(--font-ui); color:#e8e4dd; }
.battery-demo [hidden] { display:none !important; }
.battery-demo figcaption { display:grid; gap:8px; margin:0 0 20px; }
.battery-step { color:var(--battery-accent); font-size:12px; font-weight:500; letter-spacing:.025em; }
.battery-demo figcaption strong { font-size:20px; font-weight:500; line-height:1.4; }
.battery-synthetic { color:var(--battery-muted); font-size:12px; }
.battery-controls { display:flex; flex-wrap:wrap; gap:8px; }
.battery-controls button { min-height:44px; padding:9px 13px; border:1px solid #344642; border-radius:5px; background:#111919; color:#c8d2cf; font:13px/1.4 var(--font-ui); cursor:pointer; }
.battery-controls button[aria-pressed="true"] { color:var(--battery-accent); border-color:var(--battery-accent); background:#142e2a; }
.battery-controls button:hover { background:#1a302b; }
.battery-controls button:focus-visible, .battery-method summary:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.battery-conditions { margin:12px 0 25px; font-size:12px; line-height:1.7; color:var(--battery-muted); }
.battery-chart-step { margin:0 0 12px; }
.battery-chart { border:1px solid #283936; background:#0a1211; border-radius:6px; overflow:hidden; }
.battery-chart svg { display:block; width:100%; height:auto; font-family:var(--font-ui); }
.battery-legend { display:flex; flex-wrap:wrap; gap:9px 24px; margin:13px 0 25px; color:var(--battery-muted); font-size:12px; }
.battery-legend span { display:inline-flex; align-items:center; gap:8px; }
.battery-legend span::before { content:''; width:21px; border-top:2px solid var(--battery-accent); }
.battery-legend .battery-reference::before { border-color:#b9c4c1; border-top-style:dotted; }
.battery-legend .battery-b::before { border-color:#f3b887; border-top-style:dashed; }
.battery-capacities { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; line-height:1.5; }
.battery-capacities caption { text-align:left; padding-bottom:10px; color:#d3dfda; }
.battery-capacities th, .battery-capacities td { padding:9px 12px; text-align:right; border-bottom:1px solid #263632; font-weight:400; color:var(--battery-muted); }
.battery-capacities th:first-child { text-align:left; padding-left:0; color:#d3dfda; }
.battery-capacities .battery-selected { color:var(--battery-accent); background:#101e1b; }
.battery-result { margin-top:24px; padding:17px; border-radius:5px; background:#122421; }
.battery-result strong { display:block; margin:8px 0; color:var(--battery-accent); font-size:17px; font-weight:500; line-height:1.5; }
.battery-result p { font:calc(15px + var(--prose-size-increase))/1.7 var(--font-body); color:var(--prose); margin:0; }
.battery-page .battery-after-demo { margin-top:28px; }
.battery-method { color:var(--prose); font:calc(14px + var(--prose-size-increase))/1.75 var(--font-body); max-width:var(--prose-width); margin-top:26px; }
.battery-method summary { padding:8px 0; cursor:pointer; color:#e8e4dd; font:13px/1.5 var(--font-ui); }
.battery-method p { margin:12px 0 0; }
.battery-static-note { font:calc(14px + var(--prose-size-increase))/1.7 var(--font-body); color:var(--prose); margin:18px 0 0; }
.battery-page .battery-disclosure { margin:27px 0 0; color:#d3dfda; }
@media (max-width:600px) {
  .battery-controls { gap:7px; }
  .battery-controls button { font-size:12px; padding:9px 10px; }
  .battery-result { padding:14px; }
  .battery-capacities th, .battery-capacities td { padding:9px 8px; }
  .battery-legend { gap:9px 18px; }
}
@media print { .battery-controls { display:none !important; } .battery-static-note[hidden] { display:block !important; } }

.battery-calculation { margin:0 0 14px; font:calc(14px + var(--prose-size-increase))/1.65 var(--font-body); color:var(--prose); }
.battery-capacities .battery-pending { color:var(--battery-muted); font-size:12px; }

.battery-conditions { display:flex; flex-wrap:wrap; gap:4px 12px; }
.battery-conditions span { white-space:nowrap; }
