
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#040508;--surface:#0c1018;--surface2:#111720;--border:#1a2235;
  --accent:#f97316;--accent-dim:#7c3a14;--green:#22c55e;--amber:#eab308;--red:#ef4444;
  --text:#dde3ed;--muted:#4a5568;--label:#6b7890;
  --font:'IBM Plex Mono',monospace;
}
html,body{height:100%}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;min-height:100vh}

/* ── HEADER NAV ───────────────────────────── */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 32px;border-bottom:1px solid var(--border);background:var(--surface);
  position:sticky;top:0;z-index:50;backdrop-filter:blur(8px);
}
.topbar .brand{font-size:11px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;font-weight:500}
.topbar .nav{display:flex;gap:14px;font-size:11px;letter-spacing:.05em}
.topbar .nav a{color:var(--muted);text-decoration:none;padding:5px 10px;border-radius:4px;transition:all .15s}
.topbar .nav a:hover{color:var(--text);background:var(--surface2)}
.topbar .nav a.active{color:var(--accent);background:rgba(249,115,22,.08)}

.wrap{max-width:1100px;margin:0 auto;padding:32px 24px 80px}

/* ── INPUT CARD ───────────────────────────── */
.input-card{
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
  padding:24px;margin-bottom:32px;
}
.input-card h1{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}
.input-card .sub{font-size:11px;color:var(--muted);margin-bottom:20px;line-height:1.6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-row.full{grid-template-columns:1fr}
.form-field{display:flex;flex-direction:column}
.form-field label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--label);margin-bottom:6px}
.form-field input, .founder-row input{
  background:var(--surface2);border:1px solid var(--border);color:var(--text);
  font-family:var(--font);font-size:13px;padding:10px 12px;border-radius:6px;outline:none;
  transition:border-color .15s;
}
.form-field input:focus, .founder-row input:focus{border-color:var(--accent-dim)}
.form-field input::placeholder, .founder-row input::placeholder{color:var(--muted)}
.form-actions{display:flex;gap:10px;margin-top:14px}
.btn{
  background:var(--accent);border:none;color:#000;font-family:var(--font);
  font-size:12px;font-weight:600;padding:10px 18px;border-radius:6px;cursor:pointer;
  transition:opacity .15s;letter-spacing:.03em;
}
.btn:hover{opacity:.85}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn.ghost:hover{border-color:var(--accent-dim);background:rgba(249,115,22,.05)}

.hint{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.5}
.hint b{color:var(--label);font-weight:500}

/* ── FOUNDER ROWS (multi-founder) ──────────── */
.founder-row{
  background:var(--surface2);border:1px solid var(--border);border-radius:8px;
  padding:14px 16px;margin-bottom:10px;
}
.founder-row .row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.founder-row .row-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500}
.founder-row .row-remove{
  background:transparent;border:1px solid var(--border);color:var(--muted);
  font-family:var(--font);font-size:11px;padding:3px 9px;border-radius:4px;cursor:pointer;
  transition:all .15s;
}
.founder-row .row-remove:hover{color:var(--red);border-color:rgba(239,68,68,.3)}
.founder-row .row-remove:disabled{opacity:.3;cursor:not-allowed}
.founder-row .inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:600px){.founder-row .inputs{grid-template-columns:1fr}}

/* ── TEAM RESULTS ─────────────────────────── */
.team-header{
  background:linear-gradient(135deg, rgba(249,115,22,.12) 0%, rgba(249,115,22,.04) 100%);
  border:1px solid rgba(249,115,22,.3);border-radius:10px;
  padding:24px 28px;margin-bottom:18px;
}
.team-header .team-title{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.team-header .team-compo{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.team-header .team-num{font-size:54px;font-weight:600;color:var(--accent);line-height:1;letter-spacing:-.02em}
.team-header .team-arch{flex:1;min-width:240px}
.team-header .team-arch .arch-name{font-size:14px;font-weight:600;margin-bottom:4px}
.team-header .team-arch .arch-meta{font-size:11px;color:var(--muted);line-height:1.6}
.team-header .team-arch .arch-meta b{color:var(--text);font-weight:500}

.team-breakdown{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;
}
@media(max-width:700px){.team-breakdown{grid-template-columns:1fr}}
.team-component{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;
}
.team-component .tc-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.team-component .tc-value{font-size:22px;font-weight:600;color:var(--text)}
.team-component .tc-value .out{color:var(--muted);font-size:13px;font-weight:300}
.team-component .tc-note{font-size:10px;color:var(--label);margin-top:6px;line-height:1.5}

.team-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.tm-cell{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px}
.tm-cell .tml{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.tm-cell .tmv{font-size:12px;color:var(--text);line-height:1.4}
/* Accomplishment blocks — per-founder list of detected accomplishments. Each item
   gets a friendly label header + the LLM-written description. Clean separators between
   items so multiple accomplishments don't read as one wall of text. */
.accomp-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.accomp-block{padding:10px 12px;background:var(--surface2);border-radius:5px;border:1px solid var(--border)}
.accomp-block .accomp-founder{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.accomp-block .accomp-item{padding:8px 0;border-top:1px solid var(--border)}
.accomp-block .accomp-item:first-of-type{padding-top:0;border-top:0}
.accomp-block .accomp-item:last-of-type{padding-bottom:0}
.accomp-block .accomp-label{font-size:11px;font-weight:600;color:var(--text);margin-bottom:3px}
.accomp-block .accomp-text{font-size:12px;color:var(--muted);line-height:1.55}
/* Percentile badges — small inline pill showing rank vs the cohort distribution.
   Color escalates with rank: low (grey) → mid (white) → high (orange) → top (green). */
.pctl{
  display:inline-block;font-size:10px;letter-spacing:.04em;padding:3px 8px;border-radius:999px;
  background:var(--surface2);border:1px solid var(--border);color:var(--muted);
  font-weight:500;line-height:1.4;white-space:nowrap;
}
.pctl.low{color:var(--muted)}
.pctl.mid{color:var(--text);border-color:var(--border)}
.pctl.high{color:var(--accent);border-color:rgba(249,115,22,.35);background:rgba(249,115,22,.06)}
.pctl.top{color:var(--green);border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.06)}
/* Aligns the percentile pill below the founder card score */
.founder-card .fc-score-block{display:flex;flex-direction:column;align-items:flex-end;gap:6px}

.founder-card{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;
  padding:16px 18px;margin-bottom:10px;
}
.founder-card .fc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}
.founder-card .fc-name{font-size:13px;font-weight:600}
.founder-card .fc-score{font-size:18px;font-weight:600;color:var(--accent)}
.founder-card .fc-meta{font-size:11px;color:var(--muted);margin-bottom:6px;display:flex;gap:10px;flex-wrap:wrap}
.founder-card .fc-roles{display:flex;gap:4px;flex-wrap:wrap}
/* Per-founder rubric summary — one-sentence "X, Y, Z drove the score; limited by A, B"
   sitting under the name/score block so the rubric tie is visible at-a-glance. */
.founder-card .fc-summary{
  font-size:12px;color:var(--text);line-height:1.55;
  margin-top:8px;padding-top:8px;border-top:1px solid var(--border);
}
.founder-card .fc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.founder-card .fc-view-profile{
  display:inline-block;font-size:10px;letter-spacing:.05em;color:var(--accent);
  text-decoration:none;padding:4px 0;
}
.founder-card .fc-view-profile:hover{text-decoration:underline}
/* Same summary in the solo headline context */
.headline-summary{
  font-size:12px;color:var(--text);line-height:1.55;
  margin-top:12px;padding-top:10px;border-top:1px solid var(--border);
  max-width:560px;
}
.role-chip{
  display:inline-block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  padding:2px 7px;border-radius:3px;background:rgba(249,115,22,.1);color:var(--accent);
  border:1px solid rgba(249,115,22,.2);
}

/* ── STATUS FEED (during enrichment) ──────── */
.status-feed{margin-top:20px;display:none;border-top:1px solid var(--border);padding-top:16px}
.status-feed.visible{display:block}
.status-feed .stage{font-size:11px;color:var(--muted);padding:3px 0;display:flex;align-items:center;gap:10px}
.status-feed .stage.active{color:var(--accent)}
.status-feed .stage.done{color:var(--green)}
.status-feed .stage::before{content:'·';color:var(--border);font-size:16px}
.status-feed .stage.active::before{content:'›';color:var(--accent)}
.status-feed .stage.done::before{content:'✓';color:var(--green);font-size:10px}
.err-banner{
  margin-top:14px;padding:10px 14px;background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.3);color:#fca5a5;font-size:11px;border-radius:6px;display:none;
}
.err-banner.visible{display:block}

/* ── RESULTS HEADER ───────────────────────── */
.results{display:none}
.results.visible{display:block}
.headline{
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
  padding:24px 28px;margin-bottom:18px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;
}
.composite{flex-shrink:0;text-align:center}
.composite .num{font-size:54px;font-weight:600;color:var(--accent);line-height:1;letter-spacing:-.02em}
.composite .num.provisional{color:var(--amber)}
.composite .max{font-size:14px;color:var(--muted);font-weight:300}
.composite .label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--label);margin-top:6px}
.score-uncertainty{
  width:100%;margin-top:16px;padding:13px 16px;border-radius:8px;
  border:1px solid rgba(234,179,8,.5);background:rgba(234,179,8,.12);
  color:#8a5a04;font-size:13px;line-height:1.45;text-align:left;font-weight:500;
  display:flex;align-items:flex-start;gap:10px;box-shadow:0 8px 18px rgba(138,90,4,.08);
}
.score-uncertainty .mark{
  flex:0 0 auto;width:22px;height:22px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(234,179,8,.22);color:#8a5a04;font-weight:700;font-size:13px;
}
.score-uncertainty strong{display:block;color:#6f4600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.score-uncertainty span{display:block}
.score-uncertainty .reason{margin-top:3px;color:#9a6a08;font-size:11px}
.composite-meta{flex:1;min-width:240px}
.composite-meta .name{font-size:16px;font-weight:600;margin-bottom:2px}
.composite-meta .company{font-size:12px;color:var(--muted);margin-bottom:14px}
.badge-row{display:flex;flex-wrap:wrap;gap:6px}
.badge{
  font-size:10px;padding:4px 10px;border-radius:4px;letter-spacing:.05em;
  border:1px solid var(--border);background:var(--surface2);color:var(--label);
}
.badge.archetype{color:var(--accent);border-color:rgba(249,115,22,.3);background:rgba(249,115,22,.08)}
.badge.confidence-high{color:var(--green);border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.08)}
.badge.confidence-medium{color:var(--amber);border-color:rgba(234,179,8,.3);background:rgba(234,179,8,.08)}
.badge.confidence-low{color:var(--red);border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.08)}
.badge.sector{color:var(--text)}
.badge.provisional{color:var(--amber);border-color:rgba(234,179,8,.3);background:rgba(234,179,8,.08)}

/* ── SECTION TITLE ─────────────────────────── */
.section{margin-bottom:32px}
.section-title{
  font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;display:flex;align-items:center;gap:8px;
}
.section-title::before{content:'//';color:var(--accent-dim)}
.section-title::after{content:'';flex:1;height:1px;background:var(--border);margin-left:4px}
/* Pointed one-liners under section titles — explain what the data tells the partner
   about the score, so labels aren't generic ("Strengths") but specific ("What's lifting the score"). */
.section-sub{font-size:11px;color:var(--muted);line-height:1.55;margin:-6px 0 14px 0}
.team-section-intro{font-size:11px;color:var(--muted);line-height:1.55;margin:0 0 12px 0}
.team-component .tc-sub{font-size:10px;color:var(--label);margin-top:6px;line-height:1.5}

/* ── DIMENSION BARS ───────────────────────── */
.dim-bar{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;
  padding:14px 18px;margin-bottom:10px;
}
.dim-bar.partner-required{border-color:rgba(234,179,8,.4);background:rgba(234,179,8,.04)}
.dim-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.dim-name{font-size:12px;font-weight:500;color:var(--text)}
.dim-score{font-size:14px;color:var(--accent);font-weight:600}
.dim-score .out{color:var(--muted);font-weight:300;font-size:11px}
.dim-track{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:8px}
.dim-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}
.dim-fill.partner{background:var(--amber)}
.dim-just{font-size:11px;color:var(--muted);line-height:1.6;margin-top:6px}

/* ── TIER CHIPS ───────────────────────────── */
.tier-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:700px){.tier-row{grid-template-columns:1fr}}
.tier-chip{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;
}
.tier-chip .tlabel{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.tier-chip .tscore{font-size:22px;font-weight:600;color:var(--text)}
.tier-chip .tscore .out{color:var(--muted);font-size:13px;font-weight:300}
.tier-chip .tdetails{
  margin-top:10px;font-size:10px;color:var(--muted);line-height:1.7;
  border-top:1px solid var(--border);padding-top:8px;
}
.tier-chip .tdetails .row{display:flex;justify-content:space-between;gap:8px}
.tier-chip .tdetails .row .v{color:var(--text);font-weight:500}

/* ── SIGNALS / FLAGS ──────────────────────── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:700px){.two-col{grid-template-columns:1fr}}
.signal-list{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;
  padding:14px;
}
.signal-list h3{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.signal-list h3.pos{color:var(--green)}
.signal-list h3.neg{color:var(--red)}
.signal{
  font-size:11px;padding:8px 10px;background:var(--surface2);border:1px solid var(--border);
  border-radius:5px;margin-bottom:5px;line-height:1.5;
}
.signal.warning{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.05)}