/* RECON. Dark, quiet, and built so a report can be printed and handed over. */
:root{
  --bg:#0b0d13; --panel:#12151d; --panel2:#171b25;
  --line:#222735; --line2:#2f3648;
  --text:#e8ebf2; --dim:#a8b0c2; --faint:#6f7789;
  --violet:#7c3aed; --violet2:#8b5cf6; --cyan:#22d3ee;
  --good:#2e9e6b; --amber:#d4a53a; --bad:#d15757;
  --radius:14px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);
  font:15px/1.6 Manrope,system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:inherit}
h1{font-size:26px;letter-spacing:-.025em;margin:0 0 4px;font-weight:800}
h2{font-size:17px;letter-spacing:-.015em;margin:0 0 4px;font-weight:700}
.lede{color:var(--dim);margin:0}
.sub{color:var(--faint);font-size:13px;margin:0 0 2px}
.small{font-size:12.5px}
.mono{font-family:'JetBrains Mono',monospace}
.grow{flex:1;min-width:0}

/* the bar across the top */
.top{display:flex;align-items:center;gap:20px;padding:13px 20px;
  border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:20}
.brand{text-decoration:none;font-weight:800;letter-spacing:.06em;
  background:linear-gradient(90deg,var(--violet2),var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.tabs{display:flex;gap:4px;flex:1}
.tabs a{text-decoration:none;color:var(--dim);font-size:13.5px;font-weight:700;
  padding:7px 13px;border-radius:999px}
.tabs a:hover{background:var(--panel2);color:var(--text)}
.tabs a.on{background:var(--violet);color:#fff}
.who{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--faint)}
.who a{color:var(--dim);text-decoration:none;border:1px solid var(--line);
  border-radius:999px;padding:6px 12px;font-weight:700;font-size:12.5px}
.who a:hover{border-color:var(--bad);color:var(--bad)}

.wrap{max-width:940px;margin:0 auto;padding:22px 18px 70px}
.build{text-align:center;color:var(--faint);font-size:11px;padding:0 0 26px}
.crumb{font-size:12.5px;color:var(--faint);margin-bottom:10px}
.crumb a{color:var(--dim)}

.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;margin:0 0 14px}
.empty{color:var(--faint);text-align:center;padding:22px 12px;font-size:14px}
.flash{background:rgba(124,58,237,.14);border:1px solid var(--violet);
  border-radius:var(--radius);padding:12px 15px;margin-bottom:14px;font-size:14px}
.note{background:var(--panel2);border-radius:10px;padding:12px 14px;margin:10px 0;font-size:13.5px}
.note ul{margin:6px 0 0;padding-left:18px}
.body{font-size:15px;line-height:1.75}

/* forms */
label{display:block;font-size:12.5px;font-weight:700;color:var(--dim);margin:12px 0 5px}
input[type=text],input[type=email],input[type=password],input:not([type]),select,textarea{
  width:100%;background:var(--panel2);border:1px solid var(--line2);color:var(--text);
  border-radius:10px;padding:11px 12px;font:inherit;font-size:14.5px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--violet);border-color:transparent}
textarea{resize:vertical;line-height:1.6}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}
@media(max-width:640px){.g2,.g3{grid-template-columns:1fr}}
.btn{display:inline-block;background:var(--violet);color:#fff;border:0;border-radius:999px;
  padding:11px 20px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;
  text-decoration:none;margin-top:14px}
.btn:hover{background:var(--violet2)}
.btn.ghost{background:none;border:1px solid var(--line2);color:var(--dim);margin-left:8px}
.btn.ghost:hover{border-color:var(--violet);color:var(--text)}
.btn.full{display:block;width:100%;text-align:center}

/* choosing the asset class */
.kinds{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px}
@media(max-width:640px){.kinds{grid-template-columns:1fr}}
.kind{margin:0;cursor:pointer}
.kind input{position:absolute;opacity:0;width:0}
.kind span{display:block;border:1px solid var(--line2);border-radius:11px;padding:13px 15px}
.kind b{display:block;font-size:14.5px}
.kind small{display:block;color:var(--faint);font-size:12px;margin-top:2px}
.kind input:checked + span{border-color:var(--violet);background:rgba(124,58,237,.1)}

/* the score */
.dealhead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  flex-wrap:wrap;margin-bottom:14px}
.verdict{text-align:center;flex:0 0 auto;border:1px solid var(--line2);border-radius:14px;
  padding:10px 18px;min-width:118px}
.verdict b{display:block;font-size:34px;font-weight:800;line-height:1;
  font-family:'JetBrains Mono',monospace}
.verdict span{display:block;font-size:11px;color:var(--faint);margin-top:4px;
  text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.verdict.green{border-color:var(--good)} .verdict.green b{color:var(--good)}
.verdict.amber{border-color:var(--amber)} .verdict.amber b{color:var(--amber)}
.verdict.red{border-color:var(--bad)} .verdict.red b{color:var(--bad)}

/* how much the score is worth */
.conf{border-radius:11px;padding:12px 15px;margin-bottom:14px;font-size:13.5px;
  border:1px solid var(--line2);background:var(--panel)}
.conf b{display:block;margin-bottom:2px}
.conf.high{border-color:var(--good)} .conf.high b{color:var(--good)}
.conf.medium{border-color:var(--amber)} .conf.medium b{color:var(--amber)}
.conf.low{border-color:var(--bad)} .conf.low b{color:var(--bad)}

.killer{border:1px solid var(--bad);background:rgba(209,87,87,.09);border-radius:11px;
  padding:13px 16px;margin-bottom:14px;font-size:13.5px}
.killer b{display:block;margin-bottom:3px;color:var(--bad)}

/* the six bars */
.bars{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px}
@media(max-width:700px){.bars{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.bars{grid-template-columns:1fr}}
.bar{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);
  border-radius:11px;padding:11px 13px}
.bar:hover{border-color:var(--line2)}
.bn{display:block;font-size:12.5px;color:var(--dim);font-weight:700}
.bt{display:flex;align-items:baseline;gap:7px;margin:3px 0 7px}
.bt b{font-size:21px;font-family:'JetBrains Mono',monospace;font-weight:700}
.bt i{font-style:normal;font-size:11px;color:var(--faint)}
.bg{display:block;height:4px;border-radius:99px;background:var(--panel2);overflow:hidden}
.bg i{display:block;height:100%;border-radius:99px}
.bar.green .bt b{color:var(--good)} .bar.green .bg i{background:var(--good)}
.bar.amber .bt b{color:var(--amber)} .bar.amber .bg i{background:var(--amber)}
.bar.red .bt b{color:var(--bad)} .bar.red .bg i{background:var(--bad)}

/* findings */
.find{border-left:3px solid var(--line2);padding:10px 0 10px 14px;margin-top:12px}
.find b{display:block;font-size:14.5px;margin-bottom:3px}
.find p{margin:0;font-size:13.5px;color:var(--dim);line-height:1.65}
.find.bad{border-left-color:var(--bad)} .find.bad b{color:var(--bad)}
.find.warn{border-left-color:var(--amber)} .find.warn b{color:var(--amber)}

/* a layer and its questions */
.layer{border-left:3px solid var(--line2)}
.layer.green{border-left-color:var(--good)}
.layer.amber{border-left-color:var(--amber)}
.layer.red{border-left-color:var(--bad)}
.lhead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  margin-bottom:8px}
.lscore{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:var(--dim)}
.qrow{display:flex;align-items:flex-start;gap:14px;padding:13px 0;
  border-top:1px solid var(--line);flex-wrap:wrap}
.qtext{flex:1;min-width:230px}
.qtext b{display:block;font-size:14px;font-weight:600;line-height:1.5}
.qtext small{display:block;color:var(--bad);font-size:12.5px;margin-top:5px;line-height:1.6}
.qrow.isunk .qtext b{color:var(--faint)}
.pick{display:flex;gap:5px;flex:0 0 auto}
.pick label{margin:0;cursor:pointer}
.pick input{position:absolute;opacity:0;width:0}
.pick span{display:block;font-size:12px;font-weight:700;padding:7px 12px;border-radius:999px;
  border:1px solid var(--line2);color:var(--faint);white-space:nowrap}
.pyes input:checked + span{background:var(--good);border-color:var(--good);color:#fff}
.pno input:checked + span{background:var(--bad);border-color:var(--bad);color:#fff}
.punk input:checked + span{background:var(--panel2);border-color:var(--line2);color:var(--dim)}

/* the rent roll */
.rrtop{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:10px 0 14px}
@media(max-width:700px){.rrtop{grid-template-columns:repeat(3,1fr)}}
.rrtop div{text-align:center;background:var(--panel2);border-radius:9px;padding:10px 4px}
.rrtop b{display:block;font-size:17px;font-family:'JetBrains Mono',monospace;font-weight:700}
.rrtop span{display:block;font-size:10.5px;color:var(--faint);margin-top:2px;
  text-transform:uppercase;letter-spacing:.05em}
.rrtop div.gold b{color:var(--amber)}
.rt{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}
.rt th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--faint);padding:0 8px 7px;font-weight:700;border-bottom:1px solid var(--line2)}
.rt td{padding:8px;border-bottom:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;font-size:12.5px}
.rt td:first-child{font-weight:700;font-family:Manrope,sans-serif}
.rt .r{text-align:right}
.rt tr.vac td{color:var(--faint)}
.rt td i{font-style:normal;color:var(--faint);font-size:11.5px;font-family:Manrope,sans-serif}
.rt td.under{color:var(--amber)}

/* a line outside its band */
.tagw,.tagb{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 7px;border-radius:99px;font-family:Manrope,sans-serif}
.tagw{background:rgba(212,165,58,.16);color:var(--amber)}
.tagb{background:rgba(209,87,87,.16);color:var(--bad)}
.rrtop div.red b{color:var(--bad)}
.rt input{background:var(--panel2);border:1px solid var(--line2);color:var(--text);
  border-radius:7px;font:inherit;font-family:'JetBrains Mono',monospace;font-size:12.5px}

/* what it is worth */
.vrow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:13px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.vrow.last{border-bottom:0;padding-bottom:4px}
.vwhat{flex:1;min-width:210px}
.vwhat b{display:block;font-size:14.5px}
.vwhat small{display:block;color:var(--faint);font-size:12.5px;margin-top:3px;line-height:1.6}
.vfig{text-align:right;flex:0 0 auto}
.vnoi{display:block;font-size:11.5px;color:var(--faint);font-family:'JetBrains Mono',monospace}
.vfig b{font-size:21px;font-family:'JetBrains Mono',monospace;font-weight:700}
.vrow.last .vfig b{color:var(--amber)}
.vsub{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);
  margin:18px 0 6px;font-weight:700}
.sur span small{display:block;color:var(--faint);font-size:11.5px;margin-top:2px;
  line-height:1.55;max-width:460px}
.caps{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}
@media(max-width:640px){.caps{grid-template-columns:repeat(3,1fr)}}
.capc{text-align:center;border:1px solid var(--line);border-radius:9px;padding:9px 4px}
.capc b{display:block;font-size:12.5px;font-family:'JetBrains Mono',monospace;color:var(--faint)}
.capc span{display:block;font-size:13px;font-weight:700;margin-top:2px}
.capc.on{border-color:var(--violet);background:rgba(124,58,237,.1)}
.capc.on b{color:var(--violet2)}

/* how wrong can it be */
.brk{padding:12px 0;border-top:1px solid var(--line)}
.brk:first-of-type{border-top:0}
.bwhat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bwhat b{font-size:14.5px}
.bpair{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--dim);white-space:nowrap}
.bpair i{font-style:normal;color:var(--faint);font-size:11.5px;padding:0 4px}
.brk p{margin:5px 0 0;font-size:13.5px;color:var(--dim);line-height:1.65}
.brk.bad .bwhat b{color:var(--bad)} .brk.bad .bpair{color:var(--bad)}
.brk.warn .bwhat b{color:var(--amber)}
.brk.ok .bwhat b{color:var(--good)}

/* sources and uses */
.su{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:10px}
@media(max-width:620px){.su{grid-template-columns:1fr}}
.su h3{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);
  margin:0 0 6px}
.sur{display:flex;justify-content:space-between;gap:12px;padding:8px 0;
  border-bottom:1px solid var(--line);font-size:13.5px}
.sur span{color:var(--dim)}
.sur b{font-family:'JetBrains Mono',monospace}
.sur.tot{border-bottom:0;border-top:1px solid var(--line2);margin-top:2px;font-weight:700}
.sur.tot span{color:var(--text)}
.sur b.green{color:var(--good)} .sur b.amber{color:var(--amber)} .sur b.red{color:var(--bad)}

/* the list */
.chips{display:flex;gap:7px;margin-bottom:14px;flex-wrap:wrap}
.chips a{text-decoration:none;font-size:12.5px;font-weight:700;color:var(--dim);
  border:1px solid var(--line);border-radius:999px;padding:7px 14px}
.chips a.on{background:var(--violet);border-color:var(--violet);color:#fff}
.rrow{display:flex;align-items:center;gap:14px;text-decoration:none;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:13px 16px;margin-bottom:9px}
.rrow:hover{border-color:var(--line2)}
.rscore{flex:0 0 auto;width:44px;height:44px;border-radius:11px;display:grid;place-items:center;
  font-family:'JetBrains Mono',monospace;font-weight:700;font-size:17px;
  background:var(--panel2);color:var(--faint);border:1px solid var(--line2)}
.rscore.green{color:var(--good);border-color:var(--good)}
.rscore.amber{color:var(--amber);border-color:var(--amber)}
.rscore.red{color:var(--bad);border-color:var(--bad)}
.rbody{flex:1;min-width:0}
.rbody b{display:block;font-size:15px}
.rbody small{display:block;color:var(--faint);font-size:12.5px;margin-top:2px}
.rref{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--faint)}

/* signing in */
.signin{max-width:400px;margin:8vh auto;padding:0 18px}
.mark{text-align:center;margin-bottom:20px}
.mark b{display:block;font-size:24px;font-weight:800;letter-spacing:.08em;
  background:linear-gradient(90deg,var(--violet2),var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.mark span{display:block;font-size:12px;color:var(--faint);letter-spacing:.1em;
  text-transform:uppercase;margin-top:3px}
.bad{background:rgba(209,87,87,.12);border:1px solid var(--bad);border-radius:10px;
  padding:10px 13px;font-size:13.5px;margin-bottom:6px}
.foot{text-align:center;color:var(--faint);font-size:12px;margin-top:16px}

/* the report */
.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);
  margin:0 0 4px;font-weight:700}
.rhead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  flex-wrap:wrap;margin-bottom:12px}
.lrow{display:flex;align-items:flex-start;gap:13px;padding:14px 0;
  border-top:1px solid var(--line)}
.lrow:first-of-type{border-top:0}
.ldot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;margin-top:7px;background:var(--faint)}
.ldot.green{background:var(--good)} .ldot.amber{background:var(--amber)} .ldot.red{background:var(--bad)}
.lrow b{display:block;font-size:14.5px}
.lrow small{display:block;color:var(--faint);font-size:12.5px;margin-top:1px}
.reds{margin:8px 0 0;padding-left:17px;font-size:13px;color:var(--dim);line-height:1.65}
.reds li{margin-bottom:5px}
.reds b{display:inline;font-size:13px}
.open{margin:7px 0 0;font-size:12.5px;color:var(--amber)}
.disclaim{font-size:11.5px;color:var(--faint);line-height:1.7;margin-top:20px}

@media print{
  .top,.noprint,.btn,.chips{display:none !important}
  body{background:#fff;color:#111}
  .card{border:1px solid #ddd;break-inside:avoid;page-break-inside:avoid;background:#fff}
  h1,h2,.lrow b,.find b{color:#111}
  .lede,.sub,.reds,.find p,.lrow small{color:#444}
  .wrap{max-width:none;padding:0}
  .verdict{border:2px solid #111}
  .verdict b{color:#111 !important}
}
