/* BESS deck theme. Uses only semantic Etheric design tokens. */
:root { --ed-accent:#1f514a; --ed-accent-soft:#e2ece8; --ed-comparator:#a96d22; --ed-comparator-soft:#f0e4d0; --ed-signal:#9a4937; --ed-signal-dark:#793425; --ed-signal-soft:#eedbd5; }
.reveal .bess-title-code { display:inline-flex; align-items:center; gap:10px; color:var(--ed-accent); font-family:var(--ed-mono); font-size:12px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.reveal .bess-title-code::before { width:26px; height:2px; background:var(--ed-accent); content:""; }
.reveal .bess-flow { display:grid; grid-template-columns:1fr 150px 1fr; align-items:stretch; margin-top:28px; border-top:1px solid var(--ed-rule-strong); border-bottom:1px solid var(--ed-rule); }
.reveal .bess-flow-node { padding:24px 0 22px; }
.reveal .bess-flow-node.right { text-align:right; }
.reveal .bess-flow-arrow { display:flex; align-items:center; justify-content:center; border-right:1px solid var(--ed-rule); border-left:1px solid var(--ed-rule); color:var(--ed-accent); font-family:var(--ed-serif); font-size:34px; }
.reveal .bess-flow-time { color:var(--ed-muted); font-family:var(--ed-mono); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.reveal .bess-flow-action { margin:8px 0 0; font-family:var(--ed-serif); font-size:28px; font-weight:500; line-height:1.12; }
.reveal .bess-flow-price { margin:8px 0 0; color:var(--ed-ink-2); font-size:14px; }
.reveal .bess-capex-layout { display:grid; grid-template-columns:.83fr 1.17fr; gap:44px; align-items:start; }
.reveal .bess-stackbar { display:flex; width:100%; height:42px; margin:20px 0 18px; border-top:1px solid var(--ed-rule-strong); border-bottom:1px solid var(--ed-rule-strong); }
.reveal .bess-stackbar span { display:block; height:100%; }
.reveal .bess-stackbar .equipment { width:80.7%; background:var(--ed-accent); }
.reveal .bess-stackbar .grid { width:11%; background:var(--ed-comparator); }
.reveal .bess-stackbar .works { width:7.3%; background:var(--ed-ink-2); }
.reveal .bess-stackbar .ems { width:1%; background:var(--ed-rule-strong); min-width:4px; }
.reveal .bess-legend { display:grid; gap:8px; }
.reveal .bess-legend-row { display:grid; grid-template-columns:12px 1fr auto; gap:9px; align-items:center; color:var(--ed-ink-2); font-size:12.5px; }
.reveal .bess-swatch { width:9px; height:9px; background:var(--ed-ink-2); }
.reveal .bess-swatch.equipment { background:var(--ed-accent); }
.reveal .bess-swatch.grid { background:var(--ed-comparator); }
.reveal .bess-swatch.works { background:var(--ed-ink-2); }
.reveal .bess-swatch.ems { background:var(--ed-rule-strong); }
.reveal .bess-legend-row strong { color:var(--ed-ink); font-variant-numeric:tabular-nums; }
.reveal .bess-opex-share { display:flex; align-items:baseline; gap:15px; margin-bottom:18px; }
.reveal .bess-model-line { display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:center; margin:24px 0 30px; }
.reveal .bess-model-line .line { height:1px; background:var(--ed-rule-strong); }
.reveal .bess-model-line .center { color:var(--ed-accent); font-family:var(--ed-mono); font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.reveal .bess-return-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:26px; border-top:1px solid var(--ed-rule-strong); border-bottom:1px solid var(--ed-rule); }
.reveal .bess-return-item { padding:26px 30px 24px 0; }
.reveal .bess-return-item + .bess-return-item { padding-left:30px; border-left:1px solid var(--ed-rule); }
.reveal .bess-payback-band { margin-top:24px; padding:15px 18px 14px; border-left:2px solid var(--ed-accent); background:var(--ed-accent-soft); color:var(--ed-ink-2); font-size:14px; line-height:1.42; }
.reveal .bess-advantages .ed-row { grid-template-columns:260px minmax(0,1fr); padding-top:18px; padding-bottom:18px; }
.reveal .bess-advantages .ed-row-title { font-family:var(--ed-serif); font-size:20px; font-weight:500; }
.reveal .bess-upside { color:var(--ed-comparator); }
.reveal .bess-trajectory-label { fill:var(--ed-muted); font-family:var(--ed-mono); font-size:12px; }
.reveal .bess-trajectory-value { fill:var(--ed-ink); font-family:var(--ed-sans); font-size:13px; font-weight:650; }
