/* Acquisition Dream Team — Infinity App Forge / APP FACTORY · Tier 1
   Brand tokens mirror config.brand. Light is the base; dark overrides tokens only. */

:root{
  --navy:#16294A; --gold:#8A5F12; --gold-line:#D8B968; --gold-wash:#F5EDDC; --sky:#5E8CBF;
  --ground:#F3F5F8; --surface:#FFFFFF; --surface-2:#E9EEF4;
  --ink:#0D1B2E; --ink-2:#41536B; --ink-3:#5C6E85;
  --rule:#D3DBE4; --rule-soft:#E4EAF1;
  --good:#1B6349; --work:#845913; --idle:#556477; --dead:#93372F;
  --good-bg:#E2F0E9; --work-bg:#F6EBD6; --idle-bg:#E6EBF1; --dead-bg:#F6E3E0;
  --bar-h:calc(58px + env(safe-area-inset-bottom));
  --shadow:0 1px 2px rgba(13,27,46,.06),0 10px 28px -14px rgba(13,27,46,.22);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --navy:#132538; --gold:#D6A852; --gold-line:#7A5F26; --gold-wash:#221B0F; --sky:#84AEDA;
    --ground:#09131F; --surface:#0F1D2C; --surface-2:#172939;
    --ink:#E7EEF6; --ink-2:#A6B7C9; --ink-3:#75889D;
    --rule:#22384E; --rule-soft:#1A2C3E;
    --good:#6FCBA5; --work:#E0B462; --idle:#8DA0B4; --dead:#E0897E;
    --good-bg:#0E2A21; --work-bg:#2A2110; --idle-bg:#1A2836; --dead-bg:#2C1614;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px -14px rgba(0,0,0,.75);
  }
}
:root[data-theme="dark"]{
  --navy:#132538; --gold:#D6A852; --gold-line:#7A5F26; --gold-wash:#221B0F; --sky:#84AEDA;
  --ground:#09131F; --surface:#0F1D2C; --surface-2:#172939;
  --ink:#E7EEF6; --ink-2:#A6B7C9; --ink-3:#75889D;
  --rule:#22384E; --rule-soft:#1A2C3E;
  --good:#6FCBA5; --work:#E0B462; --idle:#8DA0B4; --dead:#E0897E;
  --good-bg:#0E2A21; --work-bg:#2A2110; --idle-bg:#1A2836; --dead-bg:#2C1614;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px -14px rgba(0,0,0,.75);
}

*{box-sizing:border-box; -webkit-tap-highlight-color:transparent}
html,body{margin:0; padding:0}
body{
  background:var(--ground); color:var(--ink); font-size:15.5px; line-height:1.6;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased; padding-bottom:var(--bar-h);
}
h1,h2,h3,h4{font-family:Newsreader,Georgia,"Times New Roman",serif; font-weight:600; text-wrap:balance; margin:0}
p{margin:0 0 14px}
a{color:var(--gold); text-decoration:none; border-bottom:1px solid var(--gold-line)}
button{font:inherit}
:focus-visible{outline:2px solid var(--sky); outline-offset:2px; border-radius:3px}
.mono{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-variant-numeric:tabular-nums}
.skip{position:absolute; left:-9999px}
.skip:focus{left:12px; top:12px; z-index:99; background:var(--surface); padding:8px 12px; border-radius:3px}

/* ---------- app bar ---------- */
.appbar{
  position:sticky; top:0; z-index:20; background:var(--navy); color:#EAF1F9;
  padding-top:env(safe-area-inset-top);
  box-shadow:0 1px 0 rgba(0,0,0,.18);
}
.bar-in{display:flex; align-items:center; gap:12px; padding:12px 16px 11px; max-width:900px; margin:0 auto}
.brandmark{
  width:36px; height:36px; flex:none; border-radius:3px; background:var(--gold);
  color:#fff; display:grid; place-items:center; font-family:Newsreader,serif;
  font-weight:600; font-size:16px; letter-spacing:.02em;
}
.bar-txt{flex:1; min-width:0}
.bar-txt h1{font-size:18px; letter-spacing:-.01em; color:#fff; line-height:1.2}
.bar-txt p{
  margin:2px 0 0; font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:.1em; text-transform:uppercase; color:#93AECC;
}
.iconbtn{
  width:34px; height:34px; flex:none; border-radius:50%; border:1px solid rgba(234,241,249,.3);
  background:transparent; color:#EAF1F9; font-family:Newsreader,serif; font-style:italic;
  font-size:16px; cursor:pointer;
}
.progress{display:flex; height:4px; background:rgba(0,0,0,.22)}
.progress i{display:block; height:4px; transition:width .3s}

/* ---------- pages ---------- */
main{max-width:900px; margin:0 auto; padding:0 16px}
.page{padding:22px 0 34px}
.page[hidden]{display:none}
.pagehead{border-bottom:1px solid var(--rule); padding-bottom:12px; margin-bottom:20px}
.pagehead h2{font-size:27px; letter-spacing:-.015em}
.pagehead .tag{
  font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-3); display:block; margin-top:5px;
}
.lede{font-size:16px; color:var(--ink-2); line-height:1.58}
h3{font-size:19px; margin:28px 0 9px}
h4{font-size:16px; margin:0 0 5px}

/* ---------- corrections ---------- */
.slab{background:var(--navy); border-radius:4px; padding:22px 20px 18px; margin-bottom:24px}
.slab h3{color:#fff; margin:0 0 3px; font-size:21px}
.slab .sub{color:#93AECC; font-size:13px; margin-bottom:16px}
.fix{padding:13px 0; border-top:1px solid rgba(147,174,204,.22)}
.fix:first-of-type{border-top:none}
.fixflag{
  font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:.11em;
  font-weight:700; display:block; margin-bottom:5px;
}
.fixflag.dead{color:#F2A99E} .fixflag.work{color:#E8C97A} .fixflag.good{color:#8FD3B4}
.fix p{margin:0; font-size:14px; line-height:1.55; color:#C6D6E6}
.fix b{color:#fff; font-weight:600}

/* ---------- filters ---------- */
.filters{display:flex; gap:6px; overflow-x:auto; padding:0 0 12px; margin:0 -16px 4px; padding-left:16px; padding-right:16px; scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.chip{
  font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.04em; white-space:nowrap;
  background:var(--surface); color:var(--ink-2); border:1px solid var(--rule);
  padding:8px 13px; border-radius:2px; cursor:pointer; min-height:36px;
}
.chip[aria-pressed="true"]{background:var(--navy); color:#fff; border-color:var(--navy); font-weight:700}
:root[data-theme="dark"] .chip[aria-pressed="true"],
:root:not([data-theme="light"]) .chip[aria-pressed="true"]{background:var(--gold); color:#0A1420; border-color:var(--gold)}
.countline{
  font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--ink-3);
  margin:0 0 14px; display:flex; justify-content:space-between; gap:10px;
}

/* ---------- roster ---------- */
.person{
  width:100%; text-align:left; background:var(--surface); border:1px solid var(--rule);
  border-left:3px solid var(--rule); border-radius:3px; padding:15px 16px; margin-bottom:9px;
  display:block; cursor:pointer; color:inherit;
}
.person.st-research{border-left-color:var(--work)}
.person.st-contacted{border-left-color:var(--work)}
.person.st-meeting{border-left-color:var(--good)}
.person.st-seated{border-left-color:var(--good)}
.person.st-passed{border-left-color:var(--dead); opacity:.62}
.ptop{display:flex; align-items:flex-start; gap:10px}
.ptop h3{font-size:18px; margin:0; flex:1; line-height:1.25; letter-spacing:-.01em}
.pmeta{
  font-family:"JetBrains Mono",monospace; font-size:10.5px; color:var(--ink-3);
  margin:4px 0 0; letter-spacing:.01em;
}
.pins{display:flex; gap:5px; flex-wrap:wrap; margin-top:7px}
.pin{
  font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:.09em;
  border:1px solid var(--gold-line); color:var(--gold); padding:2px 5px; border-radius:2px;
}
.pin.st{border-color:transparent; font-weight:700}
.pin.st.work{background:var(--work-bg); color:var(--work)}
.pin.st.good{background:var(--good-bg); color:var(--good)}
.pin.st.dead{background:var(--dead-bg); color:var(--dead)}
.vchip{
  font-family:"JetBrains Mono",monospace; font-size:9px; font-weight:700; letter-spacing:.09em;
  padding:4px 7px; border-radius:2px; flex:none; text-transform:uppercase;
}
.vchip.good{background:var(--good-bg); color:var(--good)}
.vchip.work{background:var(--work-bg); color:var(--work)}
.vchip.idle{background:var(--idle-bg); color:var(--idle)}
.vchip.dead{background:var(--dead-bg); color:var(--dead)}
.ptease{font-size:13.5px; color:var(--ink-2); margin:9px 0 0; line-height:1.5}
.miniscores{display:flex; gap:12px; margin-top:11px; flex-wrap:wrap}
.mini{display:flex; align-items:center; gap:5px}
.mini span{font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:.07em; color:var(--ink-3); text-transform:uppercase}
.mini em{font-family:"JetBrains Mono",monospace; font-style:normal; font-size:11px; color:var(--ink-2); font-weight:500}
.dots{display:flex; gap:1.5px}
.dots i{width:4px; height:4px; border-radius:50%; background:var(--rule)}
.dots i.on{background:var(--sky)}
.dots i.on.hi{background:var(--gold)}

/* ---------- detail sheet ---------- */
.sheet{position:fixed; inset:0; z-index:60; display:flex; align-items:flex-end; justify-content:center}
.sheet[hidden]{display:none}
.sheet-scrim{position:absolute; inset:0; background:rgba(6,14,24,.62); backdrop-filter:blur(2px)}
.sheet-card{
  position:relative; background:var(--surface); width:100%; max-width:760px;
  max-height:92vh; overflow-y:auto; border-radius:10px 10px 0 0;
  padding:26px 20px calc(30px + env(safe-area-inset-bottom)); box-shadow:var(--shadow);
  -webkit-overflow-scrolling:touch;
}
@media(min-width:760px){
  .sheet{align-items:center}
  .sheet-card{border-radius:6px; max-height:88vh}
}
.sheet-x{
  position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--rule); background:var(--surface); color:var(--ink-2);
  font-size:21px; line-height:1; cursor:pointer;
}
.sheet-card h2{font-size:24px; padding-right:40px; letter-spacing:-.015em}
.sheetmeta{font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--ink-3); margin:5px 0 16px}
.tomb{border-top:1px solid var(--rule-soft); border-bottom:1px solid var(--rule-soft); padding:11px 0; margin:16px 0; display:grid; gap:4px}
.tomb div{font-family:"JetBrains Mono",monospace; font-size:11.5px; color:var(--ink-2); line-height:1.5}
.tomb b{color:var(--ink); font-weight:500}
.tomb .none{font-style:italic; color:var(--ink-3); font-family:Inter,sans-serif; font-size:13px}
.bar{display:grid; grid-template-columns:56px 1fr 22px; align-items:center; gap:9px; margin-bottom:7px}
.bar span{font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:.07em; color:var(--ink-3); text-transform:uppercase}
.bar .track{height:5px; background:var(--surface-2)}
.bar .fill{height:5px; background:var(--sky)}
.bar .fill.hi{background:var(--gold)}
.bar .fill.lo{background:var(--idle)}
.bar em{font-family:"JetBrains Mono",monospace; font-style:normal; font-size:11px; color:var(--ink-2); text-align:right}
.frontdoor{
  background:var(--gold-wash); border:1px solid var(--gold-line); border-radius:3px;
  padding:12px 14px; margin:16px 0; font-family:"JetBrains Mono",monospace;
  font-size:11.5px; color:var(--ink); word-break:break-word; line-height:1.55;
}
.frontdoor b{display:block; font-size:9.5px; letter-spacing:.12em; color:var(--gold); margin-bottom:5px; text-transform:uppercase; font-weight:700}

/* status picker + notes */
.statusgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:8px 0 18px}
.stbtn{
  border:1px solid var(--rule); background:var(--surface); color:var(--ink-2);
  padding:11px 6px; border-radius:3px; cursor:pointer; min-height:46px;
  font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.05em;
}
.stbtn[aria-pressed="true"]{background:var(--navy); color:#fff; border-color:var(--navy); font-weight:700}
:root[data-theme="dark"] .stbtn[aria-pressed="true"],
:root:not([data-theme="light"]) .stbtn[aria-pressed="true"]{background:var(--gold); color:#0A1420; border-color:var(--gold)}
textarea{
  width:100%; min-height:110px; background:var(--surface-2); color:var(--ink);
  border:1px solid var(--rule); border-radius:3px; padding:12px; font:inherit;
  font-size:14.5px; resize:vertical; line-height:1.5;
}
.savedline{font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--ink-3); margin:7px 0 0; min-height:14px}
.lbl{
  font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-3); display:block; margin:18px 0 6px; font-weight:500;
}

/* ---------- generic blocks ---------- */
.card{background:var(--surface); border:1px solid var(--rule); border-radius:3px; padding:18px 18px 14px; margin-bottom:12px}
.card.top{border-top:3px solid var(--navy)}
.card .role .seattag{color:var(--gold); letter-spacing:.1em}
.card .role{font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3)}
.card h3{font-size:21px; margin:7px 0 2px}
.card .who{font-family:"JetBrains Mono",monospace; font-size:10.5px; color:var(--gold); margin-bottom:11px}
.card p{font-size:14px; color:var(--ink-2); line-height:1.55}
.card .alt{border-top:1px solid var(--rule-soft); padding-top:10px; font-size:12.5px; color:var(--ink-3); margin:0}
.card .alt b{color:var(--ink-2)}

.note{border-left:3px solid var(--gold); background:var(--surface); padding:15px 17px; margin:20px 0; border-radius:0 3px 3px 0}
.note.dead{border-left-color:var(--dead)}
.note h4{font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin:0 0 9px; font-weight:700}
.note.dead h4{color:var(--dead)}
.note p{font-size:14px; color:var(--ink-2); margin-bottom:10px}
.note p:last-child{margin-bottom:0}
.note b{color:var(--ink)}

.docrow{background:var(--surface); border:1px solid var(--rule); border-radius:3px; padding:16px 17px; margin-bottom:9px}
.verdict{font-family:"JetBrains Mono",monospace; font-size:9.5px; font-weight:700; letter-spacing:.1em; padding:3px 0 3px 8px; border-left:3px solid; display:inline-block; margin-bottom:9px}
.verdict.keep{color:var(--good); border-color:var(--good)}
.verdict.mod{color:var(--work); border-color:var(--work)}
.verdict.kill{color:var(--dead); border-color:var(--dead)}
.docrow p{font-size:13.5px; color:var(--ink-2); margin:0}
.quote{
  font-family:Newsreader,Georgia,serif; font-style:italic; font-size:14px; color:var(--ink-2);
  border-left:2px solid var(--gold-line); padding-left:12px; margin:9px 0; display:block; line-height:1.5;
}
.quote cite{display:block; font-style:normal; font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:.07em; color:var(--ink-3); margin-top:5px}

.bignum{background:var(--gold-wash); border:1px solid var(--gold-line); border-radius:3px; padding:22px 20px; margin:22px 0}
.bignum .n{font-family:Newsreader,Georgia,serif; font-size:54px; line-height:.9; color:var(--gold); font-weight:600; letter-spacing:-.03em}
.bignum .n small{display:block; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.1em; color:var(--ink-2); margin:9px 0 14px; font-weight:500}
.bignum p{font-size:14px; color:var(--ink); margin-bottom:10px}
.bignum p:last-child{margin-bottom:0}

.step{display:grid; gap:5px; padding:17px 0; border-top:1px solid var(--rule)}
.step:first-of-type{border-top:none; padding-top:2px}
.step .when{font-family:"JetBrains Mono",monospace; font-size:10.5px; letter-spacing:.06em; color:var(--gold); font-weight:500}
.step p{margin:0; font-size:14px; color:var(--ink-2)}

.doorrow{background:var(--surface); border:1px solid var(--rule); border-radius:3px; padding:15px 16px; margin-bottom:9px}
.doorrow .dh{display:flex; justify-content:space-between; gap:10px; align-items:baseline; flex-wrap:wrap}
.doorrow h4{font-size:16.5px}
.doorrow .cost{font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--gold); white-space:nowrap; font-weight:500}
.doorrow .meta{font-family:"JetBrains Mono",monospace; font-size:10.5px; color:var(--ink-3); margin:4px 0 9px; word-break:break-word}
.doorrow p{font-size:13.5px; color:var(--ink-2); margin:0}

.tablewrap{overflow-x:auto; border:1px solid var(--rule); border-radius:3px; background:var(--surface); margin-bottom:18px}
table{border-collapse:collapse; width:100%; min-width:420px; font-size:13px}
th,td{text-align:left; padding:10px 14px; border-bottom:1px solid var(--rule-soft)}
th{font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); font-weight:500; background:var(--surface-2)}
tbody tr:last-child td{border-bottom:none}
td:nth-child(2),td:nth-child(3){font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums; white-space:nowrap}

.ledger{border:1px solid var(--rule); border-radius:3px; background:var(--surface); overflow:hidden}
.led{padding:12px 16px; border-bottom:1px solid var(--rule-soft); font-size:13.5px}
.led:last-child{border-bottom:none}
.led b{display:block; margin-bottom:2px}
.led span{color:var(--ink-2)}

ul.tight{margin:0 0 14px; padding-left:19px}
ul.tight li{margin-bottom:8px; font-size:14px; color:var(--ink-2); line-height:1.55}
ul.tight li b{color:var(--ink)}

.rowbtns{display:flex; gap:8px; flex-wrap:wrap; margin:12px 0 4px}
.btn{
  background:var(--navy); color:#fff; border:1px solid var(--navy); border-radius:3px;
  padding:11px 15px; font-size:13.5px; cursor:pointer; min-height:44px;
}
.btn.ghost{background:transparent; color:var(--ink-2); border-color:var(--rule)}
.btn.sm{padding:8px 12px; font-size:12.5px; min-height:38px}
:root[data-theme="dark"] .btn,:root:not([data-theme="light"]) .btn{background:var(--gold); border-color:var(--gold); color:#0A1420}
:root[data-theme="dark"] .btn.ghost,:root:not([data-theme="light"]) .btn.ghost{background:transparent; color:var(--ink-2); border-color:var(--rule)}
.fineprint{font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--ink-3); line-height:1.6; margin-top:20px}

/* ---------- tab bar ---------- */
.tabbar{
  position:fixed; left:0; right:0; bottom:0; z-index:30; display:flex;
  background:var(--surface); border-top:1px solid var(--rule);
  padding-bottom:env(safe-area-inset-bottom);
}
.tab{
  flex:1; background:none; border:none; cursor:pointer; padding:8px 2px 9px;
  display:flex; flex-direction:column; align-items:center; gap:3px;
  color:var(--ink-3); min-height:56px;
}
.tab svg{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.tab span{font-family:"JetBrains Mono",monospace; font-size:9px; letter-spacing:.06em; text-transform:uppercase}
.tab[aria-selected="true"]{color:var(--gold)}

.installbar,.offlinebar{
  position:fixed; left:12px; right:12px; z-index:40; border-radius:4px;
  bottom:calc(var(--bar-h) + 10px); box-shadow:var(--shadow);
  display:flex; align-items:center; gap:9px; padding:11px 13px; font-size:13px;
}
.installbar{background:var(--navy); color:#EAF1F9}
.installbar[hidden],.offlinebar[hidden]{display:none}
.installbar span{flex:1}
.offlinebar{background:var(--work-bg); color:var(--work); font-family:"JetBrains Mono",monospace; font-size:11.5px; justify-content:center}

@media (prefers-reduced-motion:reduce){*{animation:none!important; transition:none!important}}
