.omdash{
    --bg:#021d15; --panel:#0f2921; --panel2:#0c2219; --line:#173e39;
    --ink:#eef3ef; --muted:#b3c5bc; --faint:#8aa097;
    --lime:#d4e021;
    --on:#36c46f; --off:#e5484d; --watch:#f0c33f; --ctx:#9fb4ab;
    --mono:"IBM Plex Mono","Degular Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
    --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  }
.omdash *{box-sizing:border-box}
.omdash .totop{position:fixed; right:16px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:60;
    width:46px; height:46px; padding:0; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:rgba(15,41,33,.94); border:1px solid rgba(212,224,33,.45); color:var(--lime); cursor:pointer;
    -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); box-shadow:0 6px 18px rgba(0,0,0,.4);
    opacity:0; pointer-events:none; transform:translateY(8px);
    transition:opacity .22s ease, transform .22s ease}
.omdash .totop.show{opacity:1; pointer-events:auto; transform:none}
.omdash .totop:hover{background:rgba(212,224,33,.18)}
.omdash .totop:focus-visible{outline:2px solid var(--lime); outline-offset:3px}
.omdash .totop svg{width:20px; height:20px; display:block}
@media(prefers-reduced-motion:reduce){.omdash .totop{transition:none}}
@media print{.omdash .totop{display:none}}
.omdash{background:var(--bg); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; line-height:1.35; font-size:18px;
    background-image:radial-gradient(rgba(255,255,255,.022) 1px, transparent 1px); background-size:24px 24px;}
.omdash .wrap{max-width:1200px; margin:0 auto; padding:30px 22px 60px}
.omdash a{color:inherit}
.omdash .top{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:10px}
.omdash .brand .logo{height:46px; width:auto; display:block}
.omdash .meta{font-family:var(--mono); font-size:18px; color:var(--faint); text-align:right; line-height:1.6}
.omdash .meta a{color:var(--muted); text-decoration:none; border-bottom:1px solid var(--line)}
.omdash h1{font-size:46px; line-height:1.08; margin:18px 0 12px; font-weight:700; letter-spacing:-.5px}
.omdash .lead{font-size:24px; line-height:1.35; max-width:900px; color:var(--ink)}
.omdash .lead b{color:var(--lime); font-weight:700}
.omdash .secnav{display:flex; flex-wrap:wrap; gap:8px 24px; margin:20px 0 4px; font-family:var(--mono); font-size:16px}
.omdash .secnav a{color:var(--muted); text-decoration:none; border-bottom:1px dotted var(--line); padding:2px 0}
.omdash .secnav a:hover{color:var(--lime)}
.omdash .band{display:flex; align-items:center; gap:14px; margin:48px 0 18px; scroll-margin-top:14px}
.omdash .takeline{font-size:21px; color:var(--ink); margin:-6px 2px 14px; max-width:900px; line-height:1.4}
.omdash .band .no{font-family:var(--mono); font-size:20px; color:var(--bg); background:var(--lime); width:38px;height:38px;border-radius:50%; display:flex;align-items:center;justify-content:center; font-weight:600; flex:none}
.omdash .band h2{font-size:20px; margin:0; font-weight:700; letter-spacing:.2px; text-transform:uppercase}
.omdash .band .hint{color:var(--faint); font-size:18px; margin-left:auto; font-family:var(--mono)}
.omdash .subhead{font-family:var(--mono); font-size:20px; letter-spacing:.5px; color:var(--lime); text-transform:uppercase; margin:30px 2px 12px; font-weight:600}
.omdash /* — vertical rhythm: uniform gaps between stacked blocks (16px peer; 12px label->content via subhead margin) — */
  .wrap > .headgrid, .omdash .wrap > .grid, .omdash .wrap > .mini, .omdash .wrap > .chartpanel, .omdash .wrap > .outlook{margin-top:16px}
.omdash .wrap > .subhead + .grid, .omdash .wrap > .subhead + .mini, .omdash .wrap > .subhead + .chartpanel{margin-top:0}
.omdash .grid{display:grid; gap:16px}
.omdash .g3{grid-template-columns:repeat(3,1fr)}
.omdash .g2{grid-template-columns:repeat(2,1fr)}
.omdash .tile{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:18px 20px 14px; display:flex; flex-direction:column}
.omdash .tile .lab{font-family:var(--mono); font-size:20px; color:var(--muted); margin-bottom:12px; line-height:1.2; min-height:28px}
.omdash .tile .val{font-family:var(--mono); font-size:60px; font-weight:600; line-height:1; letter-spacing:-1.5px; font-variant-numeric:tabular-nums}
.omdash .tile.sm .val{font-size:54px}
.omdash .tile .val .u{font-size:20px; color:var(--muted); font-weight:400; margin-left:4px}
.omdash .tile .grow{font-family:var(--mono); font-size:20px; margin-top:14px; color:var(--muted)}
.omdash .tile .grow b{font-weight:600}
.omdash .tile .goal{font-size:18px; color:var(--faint); margin-top:8px; line-height:1.3}
.omdash .tile .foot{margin-top:auto; padding-top:14px; display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.omdash .yoy.up, .omdash .yoy.down, .omdash .yoy.flat{color:var(--muted)}
.omdash .targets .yoy.up{color:var(--on)}
.omdash .targets .yoy.down{color:var(--off)}
.omdash .targets .yoy.flat{color:var(--ctx)}
.omdash .pill{display:inline-block; font-family:var(--mono); font-size:20px; font-weight:600; letter-spacing:.4px; padding:4px 14px; border-radius:22px; text-transform:uppercase; line-height:1.35}
.omdash .pill.on{background:rgba(54,196,111,.16); color:var(--on); border:1px solid rgba(54,196,111,.5)}
.omdash .pill.off{background:rgba(229,72,77,.16); color:var(--off); border:1px solid rgba(229,72,77,.5)}
.omdash .pill.watch{background:rgba(240,195,63,.16); color:var(--watch); border:1px solid rgba(240,195,63,.5)}
.omdash .pill.om{background:rgba(212,224,33,.14); color:var(--lime); border:1px solid rgba(212,224,33,.45)}
.omdash .fn{font-size:18px; color:var(--lime); vertical-align:super; margin-left:3px; font-weight:600; font-family:var(--mono)}
.omdash .chartpanel{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:20px 20px 16px; overflow-x:auto}
.omdash .chartpanel .ct{font-family:var(--mono); font-size:18px; color:var(--muted); margin-bottom:10px; line-height:1.3}
.omdash .chart{width:100%; height:auto; display:block}
.omdash .clegend{display:flex; gap:24px; flex-wrap:wrap; font-family:var(--mono); font-size:18px; color:var(--muted); margin-top:12px}
.omdash .clegend .dot{display:inline-block;width:16px;height:16px;border-radius:3px;margin-right:8px;vertical-align:-2px}
.omdash .donutwrap{display:flex; gap:20px; align-items:center; flex-wrap:wrap}
.omdash .donutbox{flex:0 0 44%; min-width:240px; display:flex; justify-content:center}
.omdash .donutbox svg{width:100%; max-width:400px; height:auto}
.omdash .mixtable{border-collapse:collapse; font-family:var(--mono); font-size:20px; flex:1 1 300px; min-width:0}
.omdash .mixtable th{text-align:right; color:var(--faint); font-weight:400; font-size:18px; text-transform:uppercase; letter-spacing:.3px; padding:7px 10px; border-bottom:2px solid var(--line)}
.omdash .mixtable th:first-child{text-align:left}
.omdash .mixtable td{padding:6px 10px; border-bottom:1px solid rgba(23,62,57,.5); text-align:right; color:var(--ink); font-variant-numeric:tabular-nums}
.omdash .mixtable td:first-child{text-align:left; color:var(--muted)}
.omdash .mixtable td .sw{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:10px;vertical-align:-2px}
.omdash .mixtable tr.last td{border-bottom:2px solid var(--line)}
.omdash .mixtable tr.tot td{border-bottom:none; color:var(--ink); font-weight:600}
.omdash .headgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.omdash .htile{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:22px 24px; min-height:196px; display:flex; flex-direction:column}
.omdash /* fixed two-line label box so the big numbers below align across the row without rewrapping words */
  .htile .lab{font-family:var(--mono); font-size:20px; color:var(--muted); line-height:1.2; display:flex; justify-content:space-between; align-items:baseline; gap:10px; min-height:48px}
.omdash /* keep each "·"-separated stat whole: a wrap lands on the separator, .omdash never mid-stat */
  .grow .sg{white-space:nowrap}
.omdash .htile .ctx{min-height:52px}
.omdash .vint{font-family:var(--mono); font-size:14px; color:var(--faint); font-weight:400; letter-spacing:0; white-space:nowrap}
.omdash .htile .num{font-family:var(--mono); font-size:80px; font-weight:600; line-height:1; letter-spacing:-2.5px; font-variant-numeric:tabular-nums; margin:16px 0 6px}
.omdash .htile .num span{font-size:24px; color:var(--muted); font-weight:400; letter-spacing:0; margin-left:4px}
.omdash .htile .ctx{font-family:var(--mono); font-size:20px; color:var(--faint); margin-top:auto}
.omdash /* dual-stat tile — "hold both truths in one frame": progress + gap side by side */
  /* dual columns sit on the same baseline as the single 80px numbers beside them:
     neighbour baseline = 16px margin + 80px cap; dual = 44px margin + 52px cap */
  .htile.dual .dualwrap{display:flex; margin:44px 0 0}
.omdash .htile.dual .dualcol{flex:1; min-width:0}
.omdash .htile.dual .dualcol:first-child{padding-right:20px}
.omdash .htile.dual .dualcol+.dualcol{border-left:1px solid var(--line); padding-left:20px}
.omdash .htile.dual .dn{font-family:var(--mono); font-size:52px; font-weight:600; line-height:1; letter-spacing:-2px; font-variant-numeric:tabular-nums}
.omdash .htile.dual .dn span{font-size:22px; color:var(--muted); font-weight:400; letter-spacing:0; margin-left:3px}
.omdash .htile.dual .dualcol.prog .dn{color:var(--lime)}
.omdash .htile.dual .dl{font-family:var(--mono); font-size:18px; color:var(--faint); margin-top:10px; line-height:1.25}
.omdash .htile.dual .fnlink{margin-top:auto}
.omdash .ecap{font-family:var(--mono); font-size:18px; color:var(--faint); margin:-4px 2px 14px; line-height:1.4; max-width:980px}
.omdash .mini{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.omdash .minicell{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:18px 20px 20px}
.omdash .minicell.feature{border:1px solid rgba(212,224,33,.6)}
.omdash .minicell .mn{font-family:var(--mono); font-size:20px; color:var(--ink); margin-bottom:10px}
.omdash .minicell .eshare{font-family:var(--mono); font-size:46px; color:var(--ink); font-weight:600; line-height:1; letter-spacing:-1.5px; font-variant-numeric:tabular-nums}
.omdash .minicell .eshare .pct{font-size:24px; color:var(--muted); font-weight:400; letter-spacing:0; margin-left:3px}
.omdash .minicell .eshare .elab{font-size:18px; color:var(--faint); font-weight:400; letter-spacing:0}
.omdash .minicell .etrend{font-family:var(--mono); font-size:18px; color:var(--muted); margin-top:14px}
.omdash .minicell .etrend .chip{color:var(--on); background:rgba(54,196,111,.16); border:1px solid rgba(54,196,111,.45); border-radius:6px; padding:1px 9px; font-weight:600; margin-left:8px}
.omdash .minicell .etrend .chip.flat{color:var(--ctx); background:rgba(159,180,171,.14); border-color:rgba(159,180,171,.4)}
.omdash .minicell .escale{font-family:var(--mono); font-size:18px; color:var(--muted); margin-top:18px}
.omdash .minicell .escale b{font-size:26px; color:var(--ink); font-weight:600; font-variant-numeric:tabular-nums}
.omdash .minicell.feature .escale b{color:var(--lime)}
.omdash .minicell .etrend .up{color:var(--on); font-weight:600}
.omdash .minicell .etrend .flat2{color:var(--ctx); font-weight:600}
.omdash .fn{display:none}
.omdash .fnlink{display:inline-block; font-family:var(--mono); font-size:14px; color:var(--faint); text-decoration:none; border-bottom:1px dotted var(--line); margin-top:12px}
.omdash .fnlink:hover{color:var(--lime)}
.omdash .unote{font-family:var(--mono); font-size:16px; color:var(--faint); margin:-10px 2px 16px; line-height:1.45; max-width:980px}
.omdash .unote b{color:var(--lime); font-weight:600}
.omdash .feat .big{font-family:var(--mono); font-size:68px; font-weight:600; line-height:.95; letter-spacing:-2px; font-variant-numeric:tabular-nums}
.omdash .bignum{font-family:var(--mono); font-size:40px; color:var(--ink); margin:4px 0 6px; font-variant-numeric:tabular-nums}
.omdash .bignum span{font-size:18px; color:var(--muted); margin-left:4px}
.omdash .outlook{background:linear-gradient(135deg,#0f3326,#0a241b); border:1px solid var(--line); border-radius:16px; padding:28px}
.omdash .outlook .ohead{font-family:var(--mono); font-size:18px; letter-spacing:.5px; text-transform:uppercase; color:var(--lime)}
.omdash .outlook h3{font-size:30px; margin:12px 0 6px; font-weight:700; letter-spacing:-.3px; max-width:900px; line-height:1.2}
.omdash .ostats{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:24px}
.omdash .ostat .n{font-family:var(--mono); font-size:46px; font-weight:600; letter-spacing:-1px; line-height:1}
.omdash .ostat .l{font-size:18px; color:var(--muted); margin-top:9px; line-height:1.3}
.omdash .note{background:rgba(159,180,171,.06); border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:18px; color:var(--muted); margin-top:26px; line-height:1.45}
.omdash .refs{font-family:var(--mono); font-size:18px; color:var(--faint); line-height:2; margin-top:24px; padding-top:18px; border-top:1px solid var(--line)}
.omdash .refs a{color:var(--muted); text-decoration:none; border-bottom:1px dotted var(--line)}
.omdash .refs .rl{color:var(--lime); font-weight:600; margin-left:14px}
.omdash .brandclose{margin-top:44px; padding-top:22px; border-top:1px solid var(--line); font-size:19px; color:var(--muted); line-height:1.5; max-width:840px}
.omdash .brandclose b{color:var(--lime)}
.omdash .brandclose a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line)}
.omdash .brandclose a:hover{color:var(--lime)}
.omdash footer{margin-top:20px; color:var(--faint); font-size:18px; font-family:var(--mono); line-height:1.7}
.omdash footer a{color:var(--muted); text-decoration:none; border-bottom:1px solid var(--line)}
@media(max-width:900px){.omdash .g3, .omdash .mini, .omdash .headgrid{grid-template-columns:1fr 1fr}
.omdash .ostats{grid-template-columns:1fr}
.omdash h1{font-size:34px}}
@media(max-width:560px){.omdash .g3, .omdash .g2, .omdash .mini, .omdash .headgrid{grid-template-columns:1fr}
.omdash .meta{text-align:left}
.omdash .band{flex-wrap:wrap; gap:12px; margin:36px 0 14px}
.omdash .band h2{flex:1 1 0; min-width:0}
.omdash .band .hint{margin-left:0; flex-basis:100%}
.omdash .donutbox{flex:1 1 100%; min-width:0}
.omdash .chartpanel{padding:16px 12px 12px}
.omdash h1{font-size:30px; line-height:1.12}
.omdash .meta{line-height:1.45}
.omdash .secnav{gap:2px 24px; font-size:17px}
.omdash .secnav a{padding:9px 0; display:inline-block}
.omdash .fnlink{padding:6px 0 4px; margin-top:10px}
.omdash .pill{font-size:15px; letter-spacing:0; padding:5px 10px}
.omdash .bignum{font-size:34px; line-height:1.15; margin:4px 0 10px}
.omdash .bignum span{display:block; margin-left:0; margin-top:6px; line-height:1.35}}
.omdash{display:block;width:100%}

/* guard: OpenMinds' site typography sets a dark default h1/h2/h3 colour */
.omdash h1,.omdash h2,.omdash h3{color:var(--ink) !important}

/* clear the fixed OpenMinds navbar (76px) */
.omdash{--navh:76px}
.omdash .wrap{padding-top:calc(var(--navh) + 30px)}
.omdash .band{scroll-margin-top:calc(var(--navh) + 14px)}
.omdash .top .meta{margin-left:auto}

/* undo the host site's bare .grid{width:80%} */
.omdash .grid{width:auto;max-width:none}
