
#efp .efp-report{
  --bg:#E8ECF0; --panel:#FFFFFF; --ink:#151D25; --ink2:#4E5A66; --line:#CCD4DB; --line2:#E4E9ED;
  --fuel:#D6920A; --fuel2:#F5D48F; --ret:#2C6EB5; --ret2:#C9DBEF; --bad:#C43A3A; --bad2:#F3D3D3;
  --warn:#B8720C; --warn2:#F6E3BE; --ok:#2C7A4B; --ok2:#CFE8D8;
  --display:"Barlow Semi Condensed","Barlow",system-ui,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
#efp .efp-report *{box-sizing:border-box}
#efp{-webkit-text-size-adjust:100%}
#efp .efp-report{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.45;font-variant-numeric:tabular-nums}
#efp .efp-report .wrap{max-width:780px;margin:0 auto;padding:22px 16px 64px}
#efp .efp-report h1{font-family:var(--display);font-weight:700;font-size:36px;line-height:1.02;margin:0 0 8px;letter-spacing:-.005em}
#efp .efp-report h2{font-family:var(--display);font-weight:600;font-size:24px;line-height:1.1;margin:0 0 4px}
#efp .efp-report h3{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.1;margin:0}
#efp .efp-report p{margin:0}
#efp .efp-report .lede{color:var(--ink2);max-width:62ch;margin-bottom:22px;font-size:17px}
#efp .efp-report section{margin-top:30px}
#efp .efp-report .sec-intro{color:var(--ink2);max-width:62ch;margin-bottom:14px}
#efp .efp-report a{color:var(--ret)}

/* input panel */
#efp .efp-report .panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}
#efp .efp-report .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
@media (max-width:560px){#efp .efp-report .grid{grid-template-columns:1fr}}
#efp .efp-report .ctl{display:flex;flex-direction:column;gap:6px}
#efp .efp-report .ctl .lab{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
#efp .efp-report .ctl .lab span:first-child{font-weight:500}
#efp .efp-report .ctl .val{font-family:var(--display);font-weight:600;font-size:19px;white-space:nowrap}
#efp .efp-report .ctl .hint{font-size:13px;color:var(--ink2)}
#efp .efp-report input[type=range]{width:100%;accent-color:var(--ink);margin:2px 0;height:26px}
#efp .efp-report select,#efp .efp-report input[type=number]{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}
#efp .efp-report .seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:100%}
#efp .efp-report .seg button{flex:1;font:inherit;font-weight:500;padding:8px 6px;border:0;background:#fff;color:var(--ink2);cursor:pointer;border-right:1px solid var(--line)}
#efp .efp-report .seg button:last-child{border-right:0}
#efp .efp-report .seg button.on{background:var(--ink);color:#fff}
#efp .efp-report .check{display:flex;align-items:center;gap:10px;font-weight:500}
#efp .efp-report .check input{width:20px;height:20px;accent-color:var(--ink);margin:0}
#efp .efp-report :focus-visible{outline:3px solid var(--ret);outline-offset:2px}

/* demand strip */
#efp .efp-report .demand{margin-top:14px;border-top:1px solid var(--line2);padding-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:560px){#efp .efp-report .demand{grid-template-columns:1fr 1fr}}
#efp .efp-report .demand .d{display:flex;flex-direction:column}
#efp .efp-report .demand .n{font-family:var(--display);font-weight:700;font-size:28px;line-height:1}
#efp .efp-report .demand .u{font-size:13px;color:var(--ink2);margin-top:4px}

/* ranking */
#efp .efp-report .rank{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
#efp .efp-report .rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name num" "bar bar";gap:6px 12px;align-items:center;padding:12px 14px;border-top:1px solid var(--line2)}
#efp .efp-report .rank-row:first-child{border-top:0}
#efp .efp-report .rank-row>div:nth-child(1){grid-area:name} #efp .efp-report .rank-row>div:nth-child(2){grid-area:bar} #efp .efp-report .rank-row>div:nth-child(3){grid-area:num}
@media (min-width:600px){#efp .efp-report .rank-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 110px;grid-template-areas:"name bar num";gap:10px}}
#efp .efp-report .rank-name{font-weight:500;line-height:1.2}
#efp .efp-report .rank-sub{font-size:12.5px;color:var(--ink2);line-height:1.25;margin-top:2px}
#efp .efp-report .rank-bar{position:relative;height:14px;background:var(--line2);border-radius:3px}
#efp .efp-report .rank-fill{height:100%;border-radius:3px}
#efp .efp-report .rank-fill.ok{background:var(--ok)} #efp .efp-report .rank-fill.warn{background:var(--warn)} #efp .efp-report .rank-fill.bad{background:var(--bad)}
#efp .efp-report .rank-target{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}
#efp .efp-report .rank-n{text-align:right;font-family:var(--display);font-weight:700;font-size:22px;line-height:1;white-space:nowrap}
#efp .efp-report .rank-n small{display:block;font-family:var(--body);font-weight:400;font-size:11.5px;color:var(--ink2);margin-top:3px}
#efp .efp-report .rank-key{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink2);padding:10px 14px;border-top:1px solid var(--line2)}
#efp .efp-report .rank-key i{display:inline-block;width:14px;height:10px;border-radius:2px;vertical-align:-1px;margin-right:5px}

/* config list */
#efp .efp-report .legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:var(--ink2);margin:0 0 10px}
#efp .efp-report .legend i{display:inline-block;width:14px;height:12px;border-radius:2px;vertical-align:-1px;margin-right:6px}
#efp .efp-report .legend .t{width:2px;background:var(--ink);height:14px;vertical-align:-3px}
#efp .efp-report details.cfg{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-top:10px}
#efp .efp-report details.cfg summary{list-style:none;cursor:pointer;padding:14px 14px 12px}
#efp .efp-report details.cfg summary::-webkit-details-marker{display:none}
#efp .efp-report .cfg-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
#efp .efp-report .parts{color:var(--ink2);font-size:14px;line-height:1.3;margin-top:3px}
#efp .efp-report .parts .sep{margin:0 4px;color:var(--line)}
#efp .efp-report .cfg-cap{text-align:right;flex-shrink:0}
#efp .efp-report .cap-n{font-family:var(--display);font-weight:700;font-size:30px;line-height:.95}
#efp .efp-report .cap-u{font-size:12px;color:var(--ink2);margin-left:3px}
#efp .efp-report .cap-s{display:block;font-size:12px;color:var(--ink2);margin-top:2px;white-space:nowrap}
#efp .efp-report .ledger{position:relative;display:flex;height:22px;margin:12px 0 6px;background:var(--line2);border-radius:4px;overflow:visible}
#efp .efp-report .ledger .ven{background:#8E99A4;height:100%;border-radius:4px 0 0 4px}
#efp .efp-report .ledger .use{background:var(--fuel);height:100%;border-radius:4px 0 0 4px}
#efp .efp-report .ledger .ven+.use{border-radius:0}
#efp .efp-report .ledger .ret{background:var(--ret);height:100%}
#efp .efp-report .ledger .short{height:100%;background:repeating-linear-gradient(135deg,var(--bad) 0 4px,var(--bad2) 4px 8px)}
#efp .efp-report .ledger .mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}
#efp .efp-report .ledger-note{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13.5px;color:var(--ink2)}
#efp .efp-report .ledger-note b{color:var(--ink);font-weight:600}
#efp .efp-report .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#efp .efp-report .chip{font-size:12.5px;font-weight:500;padding:3px 9px;border-radius:999px;line-height:1.35}
#efp .efp-report .chip.ok{background:var(--ok2);color:#1D5A36} #efp .efp-report .chip.warn{background:var(--warn2);color:#7A4A05} #efp .efp-report .chip.bad{background:var(--bad2);color:#8A2424} #efp .efp-report .chip.neutral{background:var(--line2);color:var(--ink2)}
#efp .efp-report .more{font-size:13px;color:var(--ret);margin-top:10px}
#efp .efp-report details[open] .more .closed,#efp .efp-report details:not([open]) .more .opened{display:none}
#efp .efp-report .cfg-body{border-top:1px solid var(--line2);padding:14px}
#efp .efp-report .stats{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
@media (min-width:600px){#efp .efp-report .stats{grid-template-columns:repeat(3,1fr)}}
#efp .efp-report .stat .k{display:block;font-size:13px;color:var(--ink2)}
#efp .efp-report .stat .v{display:block;font-family:var(--display);font-weight:600;font-size:21px;line-height:1.1;margin-top:2px}
#efp .efp-report .stat .s{display:block;font-size:12.5px;color:var(--ink2);margin-top:2px}
#efp .efp-report .stat .v.bad{color:var(--bad)} #efp .efp-report .stat .v.warn{color:var(--warn)}
#efp .efp-report .notes{margin:14px 0 0;padding-left:18px;font-size:14.5px}
#efp .efp-report .notes li{margin:5px 0}
#efp .efp-report .swap{margin-top:14px;padding-top:12px;border-top:1px solid var(--line2)}
#efp .efp-report .swap .t{font-weight:500;margin-bottom:8px;display:flex;justify-content:space-between;align-items:baseline}
#efp .efp-report .swap .t button{font:inherit;font-size:13px;background:none;border:0;color:var(--ret);cursor:pointer;padding:0}
#efp .efp-report .swap .row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
@media (max-width:600px){#efp .efp-report .swap .row{grid-template-columns:1fr}}
#efp .efp-report .swap label{font-size:12.5px;color:var(--ink2);display:block;margin-bottom:3px}

/* chart */
#efp .efp-report .chart{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 6px 6px}
#efp .efp-report .chart svg{width:100%;height:auto;display:block}
#efp .efp-report .chart-key{display:flex;flex-wrap:wrap;gap:6px 14px;padding:8px 8px 4px;font-size:13px;color:var(--ink2)}
#efp .efp-report .chart-key i{display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:6px;border-radius:2px}

/* notes */
#efp .efp-report .assump{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}
#efp .efp-report .assump h3{margin-top:12px}
#efp .efp-report .assump h3:first-child{margin-top:0}
#efp .efp-report .assump ul{padding-left:18px;margin:6px 0 0;font-size:14.5px}
#efp .efp-report .assump li{margin:4px 0}
#efp .efp-report .assump p{font-size:14.5px;margin-top:6px}
#efp .efp-report .foot{color:var(--ink2);font-size:13px;margin-top:28px}
@media (prefers-reduced-motion:no-preference){#efp .efp-report details.cfg summary{transition:background .15s}}
#efp .efp-report details.cfg summary:hover{background:#FAFBFC}

#efp .efp-report .wrap{max-width:960px;padding:55px 24px 72px}
#efp .efp-report h2.efp-report-title{font-family:var(--display);font-weight:700;font-size:42px;line-height:1.05;margin:0 0 12px}
#efp .efp-report h2,#efp .efp-report h3{color:var(--ink);text-transform:none;letter-spacing:normal}
#efp .efp-report a{color:var(--ret);text-decoration:underline}
#efp .efp-report select{height:auto;max-width:100%;line-height:1.4}
#efp .efp-report button{letter-spacing:normal;text-transform:none;line-height:1.4;box-shadow:none}
#efp .efp-report input[type=range]{padding:0;border:0;box-shadow:none;background:transparent}
#efp .efp-report summary{display:block}
#efp .efp-report .cfg-title{min-width:0}
#efp .efp-report .swap select{min-width:0}
#efp .efp-report .swap .row>div{min-width:0}
@media(max-width:560px){#efp .efp-report .wrap{padding:34px 16px 50px}#efp .efp-report h2.efp-report-title{font-size:32px}#efp .efp-report .cfg-head{gap:10px}#efp .efp-report .cap-n{font-size:25px}#efp .efp-report .cap-s{font-size:11px}#efp .efp-report .cfg-title h3{font-size:19px}}
