/* SYNCED by tools/sync_design.js from the board's theme sheet. Do not edit: app styles go in web/css/app.css. */
@import url('styles.css');

*, *::before, *::after { border-radius: 0 !important; }

body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); font-size: 14px; padding: var(--space-4); }
h1 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 30px; text-transform: uppercase; letter-spacing: -0.02em; margin-bottom: var(--space-1); }

h2, h3 { font-family: var(--font-mono); font-weight: 400; font-size: 11px; letter-spacing: 0.11em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 62%, transparent); margin: var(--space-6) 0 var(--space-2); }
.sub { color: color-mix(in srgb, var(--color-text) 62%, transparent); font-size: 12.5px; line-height: 1.5; margin-bottom: var(--space-3); }
.muted, .foot, .dnone, .insna, .instot, .statsub, .readnone { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.foot, .instot, .statsub { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
a, .dlinks a, a.brdglink { color: var(--color-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover, .dlinks a:hover, a.brdglink:hover { color: var(--color-accent); }

.banner { border: 1px solid var(--color-rule); background: var(--color-bg); color: var(--color-text); font-size: 12.5px; padding: var(--space-2) var(--space-3); }

.banner.live, .banner.eod, .banner.stale { background: var(--color-bg); border: 1px solid var(--color-rule); color: var(--color-text); }
.banner.eod { border-top: 3px solid var(--color-data-blue); }
.banner.stale, .caveat { border-top: 3px solid var(--color-data-yellow); }
.banner.fail, .banner.alarm { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-bg); font-size: 13px; }
.banner.alarm .muted, .banner.fail .muted { color: color-mix(in srgb, #fff 78%, transparent); }
.caveat { background: var(--color-bg); border: 1px solid var(--color-rule); color: var(--color-text); font-size: 12.5px; padding: var(--space-3); margin-bottom: var(--space-4); }
.ltstale { color: var(--color-text); font-weight: 700; box-shadow: inset 0 -3px 0 var(--color-data-yellow); }

.tabbar { display: flex; gap: 0; margin: 0 0 var(--space-4); border-bottom: 1px solid var(--color-rule); }
.tabbtn { border: 1px solid var(--color-rule); border-bottom: 0; background: var(--color-bg); padding: 7px 18px; font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 62%, transparent); margin-right: -1px; }
.tabbtn:hover { background: var(--color-surface); color: var(--color-text); }
.tabbtn.on { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-bg); }
.tabbtn:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

.tw, .rotwrap { border: 0; }
table { background: var(--color-bg); border: 1px solid var(--color-rule); }
th { background: var(--color-bg); font-family: var(--font-mono); font-size: 10px; font-weight: 400; letter-spacing: 0.11em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 62%, transparent); padding: var(--space-2); border-bottom: 1px solid var(--color-rule); }
td { padding: 9px 10px; border-bottom: 1px solid var(--color-divider); font-variant-numeric: tabular-nums; }
tr.clickable:hover td { background: var(--color-surface); }
td.caret { color: color-mix(in srgb, var(--color-text) 45%, transparent); }
tr.detail > td { background: var(--color-surface); border-bottom: 1px solid var(--color-rule); padding: var(--space-3) var(--space-4); }
.tk { font-weight: 700; }
.sorth:hover { color: var(--color-accent); }
.sortind { font-family: var(--font-mono); font-size: 10px; }
th.grp { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; border-bottom: 1px solid var(--color-divider); }
th.grp-mom { background: var(--color-surface); color: var(--color-data-blue); }
th.grp-sig { background: var(--color-surface); color: color-mix(in srgb, var(--color-text) 62%, transparent); }
td.mom-c, td.sig-c { background: color-mix(in srgb, var(--color-text) 2%, transparent); }
table.dcft th, table.dcft td { padding: 6px 8px; }
table.heat td.ctr { outline: 2px solid var(--color-accent); outline-offset: -2px; }
table.heat td.nm { color: color-mix(in srgb, var(--color-text) 45%, transparent); }
table.brdg th { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; color: color-mix(in srgb, var(--color-text) 62%, transparent); }
table.brdg td { border-top: 1px solid var(--color-divider); }
table.brdg td.rowlab { font-weight: 700; color: var(--color-text); }
.rotltbl { border: 0; }
.rotltbl th { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; border-bottom: 1px solid var(--color-rule); }
.rotltbl td { border-bottom: 1px solid var(--color-divider); }

.pos, .vpos, .legpos, .rrup, .bhwin, .fr-co { color: var(--color-text); font-weight: 700; }
.neg, .vneg, .legneg, .rrdn, .bhlose, .crossed { color: var(--color-accent-700); font-weight: 700; }
.vmix, .vmut, .legneu, .fr-chal { color: color-mix(in srgb, var(--color-text) 55%, transparent); font-weight: 700; }
.fr-lead { color: var(--color-data-blue); font-weight: 700; }
.skewbar { background: var(--color-neutral-200); height: 8px; }
.skewbar .up { background: var(--color-neutral-800); }
.skewbar .dn { background: var(--color-accent); }
.skewbar .pivot { background: var(--color-rule); }
.skewnum { font-family: var(--font-mono); font-size: 13px; font-weight: 700; }
.dot { width: 8px; height: 8px; }
.g { background: var(--color-neutral-800); } .y { background: var(--color-data-yellow); }

.badge, .covchip, .regchip, .sidechip, .inssw {
  font-family: var(--font-mono); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase;
}
.badge { font-size: 10px; padding: 2px 7px; }
.b-act { background: var(--color-bg); box-shadow: inset 0 0 0 1px var(--color-rule); color: var(--color-text); }
.b-cond, .covchip.cdone, .reg-trend { background: color-mix(in srgb, var(--color-data-blue) 12%, transparent); color: var(--color-data-blue); border-color: color-mix(in srgb, var(--color-data-blue) 35%, transparent); }
.b-wait, .reg-none, .covchip.cq { background: var(--color-neutral-100); color: var(--color-neutral-800); border-color: var(--color-divider); }
.b-ask, .covchip.cbuild { background: color-mix(in srgb, var(--color-data-yellow) 22%, transparent); color: var(--color-text); border-color: color-mix(in srgb, var(--color-data-yellow) 60%, transparent); }
.b-alert { background: var(--color-accent-100); color: var(--color-accent-700); }
.reg-revert { background: var(--color-neutral-100); color: var(--color-neutral-800); border: 1px solid var(--color-divider); }
.covchip { border: 1px solid var(--color-divider); font-size: 10px; padding: 3px 8px; }
.regchip { font-size: 10px; padding: 2px 8px; }
.sidechip { font-size: 9px; padding: 1px 6px; }
.side-off { background: color-mix(in srgb, var(--color-data-blue) 12%, transparent); color: var(--color-data-blue); }
.side-def { background: var(--color-neutral-100); color: var(--color-neutral-800); }
.readnone { color: color-mix(in srgb, var(--color-text) 45%, transparent); }

.cal .ev, .jin .t, .bs .acct, .earnsyn, .dcfintro, .dtile, .dcfcard, .plainkey, .dcfnarr, .techstat, .portcall, .regcard, .sparkcell, .techhow, .techplain, .dcfbridge, .divtell, .dcfnote, .bsd .d, .regsvg {
  background: var(--color-bg); border: 1px solid var(--color-rule); box-shadow: none;
}
.dtile:hover, .cal .ev:hover { background: var(--color-surface); border-color: var(--color-rule); box-shadow: none; }
.dtile:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.dtile .jump { font-family: var(--font-mono); font-size: 10px; color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.dtile:hover .jump { color: var(--color-accent); }
.dtile .hero { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 26px; }
.dtile .cap, .dcfcap { font-size: 11.5px; color: color-mix(in srgb, var(--color-text) 62%, transparent); }
.dcfcard.jumped { box-shadow: 0 0 0 2px var(--color-accent); }
.cal .hot { border-color: var(--color-rule); border-top: 3px solid var(--color-data-yellow); background: var(--color-bg); }
.cal .ev b, .bs .acct b, .earnsyn b.hd, .earnsyn .synhead .hd2, .dcfh3, .dcfbridge .bhd, .reghead, .regcard h4, .techstat span, .narrK, .narrH, .techhow h4, .sparkhd, .techplain > h4 {
  font-family: var(--font-mono); font-weight: 400; font-size: 10px; letter-spacing: 0.11em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 62%, transparent);
}

.bs .acct .v { display: block; }
.bs .acct .v, .techstat b { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-variant-numeric: tabular-nums; }
.bs .acct.stale { border-top: 3px solid var(--color-data-yellow); }
.bs .acct.tot { background: var(--color-surface); }
.bsd .d { border: 1px solid var(--color-rule); }
.bsd .d.miss { background: var(--color-accent-100); color: var(--color-accent-700); border-color: var(--color-accent-300); }
.bsd .d.gone { border-top: 3px solid var(--color-data-yellow); color: var(--color-text); }
.bsd .d.ok { background: var(--color-bg); color: var(--color-text); }
.bsd .d code, .mono, code { font-family: var(--font-mono); background: var(--color-surface); }
.dfiles, .dlinks, .earnsyn .synbody, .plainkey .keybody, .dcfnarr .narrbody, .techplain .tpfoot, .regnote, .legrow { border-color: var(--color-divider); }
.trendread { border-top: 1px solid var(--color-divider); color: color-mix(in srgb, var(--color-text) 62%, transparent); }
.trendread .tr-th, .dfile b, .dlinks b, .fliprow b, .techplain b, .narrT, .dtrade { color: var(--color-text); }
.dcfnote, .divtell { border-top: 3px solid var(--color-data-yellow); color: var(--color-text); background: var(--color-bg); }
.dcfbridge { border-left-width: 1px; background: var(--color-surface); }
.dcfbridge.tpos { border-top: 3px solid var(--color-neutral-800); }
.dcfbridge.tneg { border-top: 3px solid var(--color-accent); }
.dcfbridge.tmix { border-top: 3px solid var(--color-data-yellow); }
.brdgdot.tpos { background: var(--color-neutral-800); } .brdgdot.tneg { background: var(--color-accent); } .brdgdot.tmix { background: var(--color-data-yellow); }
.plainkey summary, .dcfnarr summary, .techhow summary { font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text); }
.plainkey summary::before, .dcfnarr summary::before, .techhow summary:before { color: var(--color-accent); }
.plainkey dt, .narrT, .plainkey dd { color: var(--color-text); }

.earnsyn .syntgl { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; background: var(--color-bg); border: 1px solid var(--color-rule); color: var(--color-text); }
.earnsyn .syntgl:hover { background: var(--color-surface); }

.techplain { border: 1px solid var(--color-rule); border-left-width: 1px; border-top: 5px solid var(--color-accent); background: var(--color-bg); padding: var(--space-4) var(--space-6); }
.techplain .tphead { font-family: var(--font-heading); font-weight: var(--font-heading-weight); text-transform: uppercase; letter-spacing: -0.02em; font-size: 22px; color: var(--color-text); }
.techplain .tpsub { font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.11em; background: var(--color-neutral-100); color: var(--color-text); padding: 2px 8px; }
.tp-on, .rs-on { color: var(--color-data-blue); font-weight: 800; }
.tp-def, .rs-def { color: var(--color-accent-700); font-weight: 800; }
.tp-neu, .rs-neu { color: color-mix(in srgb, var(--color-text) 55%, transparent); font-weight: 800; }
.regstate { font-family: var(--font-heading); font-weight: var(--font-heading-weight); text-transform: uppercase; letter-spacing: -0.02em; }
.regscore, .regchartlab, .fliprow, .brline, .legrow .lval { font-family: var(--font-mono); font-size: 11px; }
.legrow { border-top: 1px solid var(--color-divider); }
.regcard .legrow.reghelp:hover .lname { color: var(--color-accent); }
.regsvg { border: 1px solid var(--color-divider); }
.caxl { fill: color-mix(in srgb, var(--color-text) 55%, transparent); font-family: var(--font-mono); }
.helpq, .reghelp { border-bottom: 1px dotted color-mix(in srgb, var(--color-text) 45%, transparent); }

.pbar { background: var(--color-neutral-200); }
.pbar i { background: var(--color-data-blue); opacity: 1; }
.pbar.cashy i { background: var(--color-neutral-400); }
.ppnl { font-family: var(--font-mono); font-size: 10.5px; }

.now{margin:0 0 var(--space-6);padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-bg);
  border:var(--rule-weight) solid var(--color-rule);border-top:5px solid var(--color-accent)}
.now[hidden]{display:none}
.now-hd{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-4);margin:0 0 var(--space-2)}
.now-k{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--color-accent)}
.now-asof{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:color-mix(in srgb,var(--color-text) 55%,transparent)}
.now-lede{margin:0 0 var(--space-3);max-width:72ch;font-family:var(--font-heading);font-weight:var(--font-heading-weight);
  font-size:18px;line-height:1.3;letter-spacing:-.01em;text-wrap:balance}
.now-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--rule-weight);
  margin:0 0 var(--space-3);background:var(--color-divider);border:var(--rule-weight) solid var(--color-divider)}
.now-kpi{min-width:0;padding:var(--space-2) var(--space-3);background:var(--color-bg)}
.now-kpi.is-alert{box-shadow:inset 0 3px 0 var(--color-accent)}
.now-kpi.is-watch{box-shadow:inset 0 3px 0 var(--color-data-yellow)}
.now-kv{display:block;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:24px;line-height:1.1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.now-kl{display:block;margin-top:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:color-mix(in srgb,var(--color-text) 62%,transparent)}
.now-items{list-style:none;margin:0;padding:0}
.now-i{display:flex;align-items:flex-start;gap:var(--space-2);padding:6px 0;border-top:var(--rule-weight) solid var(--color-divider);
  font-size:13px;line-height:1.45}
.now-i::before{content:"";flex:0 0 8px;height:8px;margin-top:6px;background:var(--color-neutral-400)}
.now-i.is-alert::before{background:var(--color-accent)}
.now-i.is-watch::before{background:var(--color-data-yellow)}
.now-i.is-ok::before{background:var(--color-neutral-800)}
.now-t{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.now-go{flex:0 0 auto;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;color:color-mix(in srgb,var(--color-text) 55%,transparent)}
.now-go:hover{color:var(--color-accent)}
.now-empty,.now-more{margin:var(--space-2) 0 0;font-size:12px;color:color-mix(in srgb,var(--color-text) 62%,transparent)}

.sh{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);margin:var(--space-8) 0 var(--space-3);
  padding-top:var(--space-2);border-top:var(--rule-weight) solid var(--color-rule)}
.sh>h2,.sh>h3{margin:0;color:var(--color-text);font-weight:500}
.sh-sub{font-size:12px;line-height:1.4;color:color-mix(in srgb,var(--color-text) 62%,transparent)}
.sh-act{margin-left:auto;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.now+.sh{margin-top:0}

.two,.three{display:grid;gap:var(--space-4);align-items:start;margin:0 0 var(--space-4)}
.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))}
.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.lead-side{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-start;margin:0 0 var(--space-4)}
.lead-side>:first-child{flex:2 1 560px}
.lead-side>:last-child{flex:1 1 300px}
.two>*,.three>*,.lead-side>*{min-width:0;margin-top:0}

.appx{margin:var(--space-8) 0 0;background:var(--color-bg);border:var(--rule-weight) solid var(--color-rule);border-top:3px solid var(--color-rule)}
.appx[hidden]{display:none}
.appx>summary .appx-k{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--color-accent)}
.appx .techmeth-body{font-size:13px;line-height:1.55}
.appx .techmeth-body>h3{margin:var(--space-6) 0 var(--space-2)}
.appx .techmeth-body>h3:first-child{margin-top:var(--space-2)}
.appx .techmeth-body>p,.appx .techmeth-body>.dcfintro,.appx .techmeth-body>.regnote,.appx .techmeth-body>.sub{max-width:88ch}

.tag{gap:4px;padding:2px 6px;border:var(--rule-weight) solid var(--color-divider);background:var(--color-bg);color:var(--color-text);
  font-weight:500;line-height:1.3;white-space:nowrap;vertical-align:baseline}
.tag.is-alert{background:var(--color-accent-100);border-color:var(--color-accent-300);color:var(--color-accent-700)}
.tag.is-info{background:color-mix(in srgb,var(--color-data-blue) 10%,transparent);
  border-color:color-mix(in srgb,var(--color-data-blue) 35%,transparent);color:var(--color-data-blue)}
.tag.is-watch{box-shadow:inset 0 3px 0 var(--color-data-yellow)}
.tag.is-mute{background:var(--color-neutral-100);color:var(--color-neutral-800)}
.tag.is-ink{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}

.kv{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:4px var(--space-4);margin:0;font-size:13px;line-height:1.45}
.kv>dt{padding-top:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:color-mix(in srgb,var(--color-text) 62%,transparent)}
.kv>dd{margin:0;min-width:0;overflow-wrap:anywhere}

.sec-why{margin:0 0 var(--space-2);padding:6px var(--space-3);font-size:12px;line-height:1.45;background:var(--color-bg);
  border:var(--rule-weight) solid var(--color-divider);color:color-mix(in srgb,var(--color-text) 70%,transparent)}
.sec-why.is-error{border-color:var(--color-accent-300);box-shadow:inset 3px 0 0 var(--color-accent);color:var(--color-text)}
caption.sec-why{caption-side:top;text-align:left}
summary .sec-why{display:inline;margin:0 0 0 var(--space-2);padding:0 var(--space-1)}

.mast{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-2)}
.mast>h1{margin:0;font-size:24px;line-height:1.1}
.mast>.banner{flex:1 1 420px;min-width:0;margin:0;padding:4px var(--space-3);font-family:var(--font-mono);font-size:11px;
  line-height:1.45;letter-spacing:.02em}

.mast>.banner.alarm,.mast>.banner.fail{flex-basis:100%;font-family:var(--font-body);font-size:13px;letter-spacing:0;padding:var(--space-2) var(--space-3)}
.caveat.xline{margin:0 0 var(--space-2);padding:5px var(--space-3);font-size:12px;line-height:1.45}
.xline-more{margin-left:var(--space-2);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
#appx-board .kv{margin:0 0 var(--space-2)}
#appx-board .kv>dd{max-width:88ch}

@media(min-width:1024px){
  .tabbar{position:sticky;top:0;z-index:30;background:var(--color-bg);padding-top:var(--space-1)}
  html{scroll-padding-top:48px}
}
@media(max-width:640px){
  .mast{gap:var(--space-1) var(--space-3)}
  .mast>h1{font-size:20px}
  #appx-board .kv{grid-template-columns:minmax(0,1fr);gap:2px}
  #appx-board .kv>dd{margin-bottom:var(--space-2)}
}
