/* Report body: shared by the in-app page and the downloadable report.html.
   Lucidity brand, dark-first: canonical dark surfaces, a tonal step for panels, hairline borders,
   Inter 400/500/600, brand green as the one signal. Print switches to a light page (green is never text on white). */
:root{
  --bg:#0C0C0C; --panel:#151515; --panel-2:#161B16; --line:#262626; --line-2:#333333;
  --fg:#F9F9F9; --fg-2:#BDBDBD; --muted:#999999; --faint:#666666;
  --green:#8AEC64; --green-warm:#C9EA34; --green-cool:#4BEE9F;
  --ok:#00B287; --warn:#F2A521; --bad:#E93A3A;
  --hot:#FFD25F; --cool:#87D2F0; --cold:#AA87F0; --archive:#999999; --untiered:#4A4A4A;
  --font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r-sm:8px; --r-md:12px; --r-lg:24px;
  color-scheme:dark;
}
.report{display:flex;flex-direction:column;gap:24px;font-family:var(--font);color:var(--fg);font-variant-numeric:tabular-nums;line-height:1.5}
.report b{font-weight:600}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

.r-head{display:flex;flex-direction:column;gap:8px}
.r-head h1{margin:0;font-size:36px;font-weight:500;letter-spacing:-.01em;line-height:1.15;text-wrap:balance}
.r-meta{margin:0;color:var(--muted);font-size:13px;max-width:110ch}
.r-badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.badge{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;padding:4px 12px;border-radius:999px;background:var(--green);color:#000}
.r-scope{margin:0;font-size:15px;color:var(--fg-2);max-width:96ch}
.r-meta b{color:var(--fg-2);font-weight:500}

/* hero: the one headline number, with a green aurora behind it */
.r-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;padding:32px;
  background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;isolation:isolate}
.r-hero::before{content:"";position:absolute;inset:auto auto -140px -120px;width:520px;height:320px;z-index:-1;
  background:radial-gradient(closest-side,#2F5A20,#161B16);filter:blur(24px)}
.hero-num{font-size:56px;font-weight:400;letter-spacing:-.02em;line-height:1;color:var(--green);margin:12px 0 8px}
.hero-num span{font-size:18px;color:var(--muted);margin-left:10px;letter-spacing:0}
.hero-pct{font-size:16px;color:var(--fg-2)}
.hero-pct b{color:var(--fg);font-size:20px;font-weight:600}
.hero-note{font-size:13px;color:var(--muted);margin:12px 0 0;max-width:62ch}
.hero-side{display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0}
.range{position:relative;height:44px;margin-top:18px}
.range .track{position:absolute;left:0;right:0;top:18px;height:8px;border-radius:4px;background:var(--line-2)}
.range .span{position:absolute;top:18px;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--green-warm),var(--green))}
.range .tick{position:absolute;top:10px;width:2px;height:24px;background:var(--fg);border-radius:1px}
.range .lab{position:absolute;top:-14px;font-size:12px;color:var(--muted);transform:translateX(-50%);white-space:nowrap}
.range .lab.l{transform:none}.range .lab.r{transform:translateX(-100%)}
.scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.scen div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--panel)}
.scen .v{font-size:20px;font-weight:500}
.scen .p{font-size:12px;color:var(--muted)}
.scen .avg{border-color:var(--green)}
.scen .avg .v{color:var(--green)}

.capbar{display:flex;flex-direction:column;gap:8px}
.capbar-track{position:relative;height:14px;border-radius:7px;background:var(--line-2);overflow:hidden}
.capbar-track span{position:absolute;top:0;bottom:0;left:0}
.capbar-track .lo{background:var(--green)}
.capbar-track .hi{background:linear-gradient(90deg,var(--green),var(--green-warm));opacity:1;filter:saturate(.75) brightness(.8)}
.capbar-lab{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.hero-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hero-facts div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--panel)}
.hero-facts .v{font-size:20px;font-weight:500}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi .v{font-size:28px;font-weight:400;letter-spacing:-.01em}
.kpi .d{font-size:12.5px;color:var(--muted)}

.r-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.r-grid-wide{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.conc-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.conc-figs div{display:flex;flex-direction:column;gap:4px}
.conc-figs .big{font-size:44px;font-weight:400;line-height:1;letter-spacing:-.02em;color:var(--green)}
.conc-figs .big.muted{color:var(--fg-2)}
.conc-figs .lbl{font-size:13px;color:var(--fg-2)}
.conc-bar{display:flex;height:14px;gap:2px;border-radius:4px;overflow:hidden}
.conc-bar span{display:block;height:100%;background:var(--green);min-width:2px}
.conc-bar span:nth-child(even){background:var(--green-cool)}
.conc-bar .rest{background:var(--line-2)!important}
.mono{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:12.5px;color:var(--fg-2)}
.callout{border-color:var(--warn);background:linear-gradient(180deg,#1E1A12,#151515)}
.callout .eyebrow{color:var(--warn)}
.callout p{margin:0;font-size:14px;color:var(--fg-2);max-width:70ch}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.card h2{margin:0;font-size:18px;font-weight:500}
.card .sub{margin:-8px 0 0;font-size:13px;color:var(--muted);max-width:90ch}

.stack{display:flex;height:28px;border-radius:var(--r-sm);overflow:hidden;gap:2px;background:var(--line)}
.stack span{display:block;height:100%;min-width:2px}
.sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:8px;vertical-align:0}

table.t{width:100%;border-collapse:collapse;font-size:13px}
table.t th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line-2);white-space:nowrap;vertical-align:bottom}
table.t td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
table.t tr:last-child td{border-bottom:0}
table.t .n{text-align:right;white-space:nowrap}
table.t th.n{text-align:right}
table.t td.name{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:12.5px;word-break:break-all;min-width:12ch}
table.t tfoot td{border-top:1px solid var(--line-2);font-weight:600}
.tw{overflow-x:auto}
.save{color:var(--green);font-weight:500}
.muted{color:var(--muted)}
.minibar{display:inline-block;vertical-align:middle;width:72px;height:6px;border-radius:3px;background:var(--line-2);margin-right:8px;overflow:hidden}
.minibar i{display:block;height:100%;background:var(--green);border-radius:3px}
.minibar.rb{position:relative}
.minibar.rb i{position:absolute;left:0;top:0}
.minibar.rb i.hi{background:#4E7F3A}
table.t tr.grp td{border-top:1px solid var(--line-2)}
.pill{display:inline-block;font-size:11.5px;font-weight:500;padding:2px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--fg-2);white-space:nowrap}
.pill.ok{border-color:var(--green);color:var(--green)}
.pill.warn{border-color:var(--warn);color:var(--warn)}
.pill.bad{border-color:#5a2a2a;color:#ef8a8a}

.r-method{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px 32px}
.r-method p{margin:0;font-size:13px;color:var(--muted);max-width:70ch}
.r-method p b{color:var(--fg-2);font-weight:600}
.notes{border-left:3px solid var(--warn);padding:10px 14px;background:var(--panel);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:13px;color:var(--fg-2)}
.notes p{margin:0}

@media (max-width:900px){
  .r-hero{grid-template-columns:1fr;padding:24px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r-grid,.r-grid-wide{grid-template-columns:1fr}
  .conc-figs .big{font-size:36px}
  .hero-num{font-size:40px}
  .hero-facts{grid-template-columns:1fr}
}
@media (max-width:520px){ .kpis{grid-template-columns:1fr} .scen{grid-template-columns:1fr} .r-head h1{font-size:28px} }

.logo-print{display:none}
@media print{
  :root{--bg:#FFFFFF;--panel:#FFFFFF;--panel-2:#F9F9F9;--line:#E2E2E2;--line-2:#CFCFCF;--fg:#000000;--fg-2:#151515;--muted:#555555;color-scheme:light}
  body{background:#fff!important}
  .r-hero::before{display:none}
  .hero-num,.scen .avg .v,.save,.conc-figs .big{color:#000}
  .badge{background:#000;color:#fff}
  .conc-bar span{background:#151515}.conc-bar span:nth-child(even){background:#666}
  .callout{background:#fff;border-color:#000}.callout .eyebrow{color:#000}
  .hero-num{font-weight:600}
  .scen .avg{border-color:#000}
  .minibar i,.range .span,.capbar-track .lo{background:#151515}
  .minibar.rb i.hi,.capbar-track .hi{background:#999;filter:none}
  .pill.ok{border-color:#000;color:#000}
  .card,.kpi,.r-hero{break-inside:avoid}
  .tw{overflow:visible}
  .no-print{display:none!important}
  .logo-dark{display:none}.logo-print{display:block}
}
