/* ====== SOURCE FEATURE: shared styles ====== */
/* Leoh brand v2 (locked Jul 6 2026): light editorial, square corners, thin
   Inter display, one periwinkle accent. Self-contained: brand values are
   defined here so every Source page (including the guide pages, whose HTML
   this file must not depend on) reskins from this sheet alone.
   Legacy var names (--blue, --border, --text, --muted, --bg, --surface) are
   kept as aliases because page markup references them inline. */

:root{
  /* brand palette */
  --paper:#F7F4EE;
  --paper-2:#F1EDE4;
  --card:#FFFFFF;
  --ink:#1C1A17;
  --ink-soft:#57534B;
  --stone:#9A9488;
  --hairline:#E4DFD5;
  --line-strong:#C9C4B8;
  --accent:#6D86FB;
  --accent-hover:color-mix(in oklab, var(--accent) 86%, var(--ink));
  --accent-tint:color-mix(in oklab, var(--accent) 10%, #FFFFFF);
  --accent-mid:color-mix(in oklab, var(--accent) 32%, #FFFFFF);
  --font-ui:'Inter',-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-wordmark:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;

  /* legacy aliases (inline markup references these) */
  --blue:var(--accent);
  --blue-light:var(--accent-tint);
  --blue-mid:var(--accent-mid);
  --text:var(--ink);
  --muted:var(--stone);
  --border:var(--hairline);
  --bg:var(--paper);
  --surface:var(--card);

  /* status colors: data meaning only, calmed to sit on warm paper */
  --green:#2E7D4F;
  --green-bg:#EAF4EC;
  --amber:#9A6B00;
  --amber-bg:#F8F1DC;
  --red:#B3362B;
  --red-bg:#F9EAE7;
  --max-w:980px;
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  font-family:var(--font-ui);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

/* ====== TOP BAR ====== */
.src-topbar{
  position:sticky;top:0;z-index:100;
  background:rgba(247,244,238,.97);border-bottom:1px solid var(--hairline);
  display:flex;align-items:center;gap:12px;
  padding:0 20px;height:54px;
}
.src-topbar .logo{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none;color:var(--ink)}
.src-topbar .logo-mark{
  width:36px;height:36px;background:none;display:flex;align-items:center;justify-content:center;flex:none;
}
.src-topbar .logo-mark svg{flex:none}
.src-topbar .logo-text-wrap{display:flex;flex-direction:column;gap:2px}
.src-topbar .logo-name{
  font-family:var(--font-wordmark);font-size:20px;font-weight:600;color:var(--ink);
  letter-spacing:-0.012em;line-height:1.1;
}
.src-topbar .logo-dot{color:var(--ink)}
.src-topbar .logo-sub{font-size:10px;color:var(--stone);font-weight:400;letter-spacing:.5px;display:none}
.src-topbar nav{display:flex;gap:2px;margin-left:16px}
.src-topbar nav a{
  text-decoration:none;font-size:12px;font-weight:500;color:var(--ink-soft);
  letter-spacing:.06em;text-transform:uppercase;
  padding:7px 13px;border-radius:0;transition:all .15s;
}
.src-topbar nav a:hover{color:var(--ink)}
.src-topbar nav a.active{background:var(--ink);color:var(--paper)}
.src-topbar .spacer{flex:1}
.src-topbar .cta{
  text-decoration:none;font-size:11.5px;font-weight:500;color:var(--paper);
  letter-spacing:.08em;text-transform:uppercase;
  background:var(--ink);padding:9px 16px;border-radius:0;transition:background .15s;white-space:nowrap;
}
.src-topbar .cta:hover{background:color-mix(in oklab, var(--ink) 84%, var(--paper))}

/* ====== PAGE LAYOUT ====== */
.src-page{max-width:var(--max-w);margin:0 auto;padding:32px 20px 80px}
.src-page-narrow{max-width:720px;margin:0 auto;padding:32px 20px 80px}

/* ====== HERO ====== */
.src-hero{
  text-align:center;padding:56px 20px 44px;
}
.src-hero h1{
  font-size:clamp(30px,4.5vw,44px);font-weight:200;letter-spacing:-0.01em;
  line-height:1.12;margin-bottom:14px;color:var(--ink);text-wrap:balance;
}
.src-hero .sub{
  font-size:17px;color:var(--ink-soft);font-weight:400;
  max-width:620px;margin:0 auto;line-height:1.6;
}
.src-hero .leoh-dot{color:var(--ink)}

/* ====== SECTIONS ====== */
.src-section{margin-top:56px}
.src-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;padding-top:18px;border-top:1px solid var(--hairline)}
.src-section-head h2{font-size:22px;font-weight:300;letter-spacing:-0.005em;color:var(--ink)}
.src-section-head .count{font-size:12px;color:var(--stone);font-weight:400;letter-spacing:.04em}
.src-section-desc{font-size:14px;color:var(--ink-soft);margin-bottom:20px;font-weight:400}
.src-section-compact{margin-top:36px}
.advanced-hunt-card{
  display:flex;flex-direction:column;gap:7px;max-width:420px;
  border:1px solid var(--hairline);border-radius:0;background:var(--card);
  padding:16px 18px;text-decoration:none;color:inherit;transition:border-color .15s;
}
.advanced-hunt-card:hover{border-color:var(--line-strong)}
.advanced-hunt-card .eyebrow{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--stone)}
.advanced-hunt-card .name{font-size:17px;font-weight:500;color:var(--ink)}
.advanced-hunt-card .promise{font-size:13.5px;color:var(--ink-soft);line-height:1.5;font-weight:400}
.advanced-hunt-card .action{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-top:2px}
.marketplace-strip{
  border:1px solid var(--hairline);background:var(--paper-2);border-radius:0;
  padding:14px 16px;margin:0 0 18px;
}
.marketplace-strip-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.marketplace-strip strong{font-size:14px;font-weight:500;color:var(--ink)}
.marketplace-strip p{font-size:13px;color:var(--ink-soft);font-weight:400;margin-top:8px;line-height:1.45}
.marketplace-buttons{display:flex;gap:8px;flex-wrap:wrap}
.marketplace-buttons a{
  text-decoration:none;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink);background:transparent;border:1px solid var(--line-strong);
  padding:7px 11px;border-radius:0;transition:border-color .15s;
}
.marketplace-buttons a:hover{border-color:var(--ink)}

/* ====== CARDS GRID ====== */
.src-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}

/* ====== SOURCE CARD ====== */
.src-card{
  background:var(--card);border:1px solid var(--hairline);border-radius:0;
  padding:18px 20px;display:flex;flex-direction:column;gap:10px;
  transition:border-color .15s;
}
.src-card:hover{border-color:var(--line-strong)}
.src-card .name{
  font-size:16px;font-weight:500;color:var(--ink);text-decoration:none;
  display:flex;align-items:center;gap:6px;
}
.src-card .name:hover{text-decoration:underline;text-underline-offset:2px}
.src-card .name .ext{font-size:12px;color:var(--stone);font-weight:400}
.src-card .best-for{font-size:13.5px;color:var(--ink-soft);line-height:1.5;font-weight:400}
.src-card .meta-row{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--stone)}
.src-card .meta-row span{display:flex;align-items:center;gap:4px}
.src-card .meta-row b{color:var(--ink-soft);font-weight:500}
.src-card .labels{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.src-card .pro-tip{
  font-size:12.5px;color:var(--ink-soft);background:var(--paper);
  border-radius:0;padding:9px 12px;line-height:1.5;
  border-left:2px solid var(--line-strong);
}
.src-card .pro-tip b{color:var(--ink);font-weight:500}
.src-card .warning{
  font-size:11.5px;color:var(--amber);font-weight:400;
  display:flex;align-items:flex-start;gap:5px;line-height:1.4;
}
.src-card .bot-note{
  font-size:11px;color:var(--stone);font-style:italic;
}
.src-card .card-actions{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}
.src-card .handoff-btn{
  font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink);background:transparent;
  border:1px solid var(--line-strong);border-radius:0;padding:7px 12px;cursor:pointer;
  transition:border-color .15s;text-decoration:none;display:inline-flex;align-items:center;gap:4px;
}
.src-card .handoff-btn:hover{border-color:var(--ink)}

/* ====== PILLS / LABELS ====== */
.pill{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 8px;border-radius:0;white-space:nowrap;
}
.pill-compatible{background:var(--green-bg);color:var(--green);border:1px solid color-mix(in oklab, var(--green) 25%, #FFFFFF)}
.pill-fit-high{background:var(--green-bg);color:var(--green);border:1px solid color-mix(in oklab, var(--green) 25%, #FFFFFF)}
.pill-fit-med{background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--hairline)}
.pill-fit-low{background:var(--amber-bg);color:var(--amber);border:1px solid color-mix(in oklab, var(--amber) 25%, #FFFFFF)}
.pill-fit-not{background:var(--red-bg);color:var(--red);border:1px solid color-mix(in oklab, var(--red) 22%, #FFFFFF)}
.pill-fit-mh{background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--hairline)}
.pill-fit-lm{background:var(--amber-bg);color:var(--amber);border:1px solid color-mix(in oklab, var(--amber) 25%, #FFFFFF)}
.pill-fit-nl{background:var(--red-bg);color:var(--red);border:1px solid color-mix(in oklab, var(--red) 22%, #FFFFFF)}
.pill-difficulty{background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--hairline)}
.pill-free{background:var(--green-bg);color:var(--green);border:1px solid color-mix(in oklab, var(--green) 25%, #FFFFFF)}
.pill-gated{background:var(--amber-bg);color:var(--amber);border:1px solid color-mix(in oklab, var(--amber) 25%, #FFFFFF)}
.pill-status{background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--hairline)}

/* ====== FILTERS BAR ====== */
.src-filters{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  background:var(--card);border:1px solid var(--hairline);
  border-radius:0;padding:12px 14px;margin-bottom:24px;
}
.src-filters .filter-group{display:flex;align-items:center;gap:6px}
.src-filters label{font-size:10px;font-weight:500;color:var(--stone);text-transform:uppercase;letter-spacing:.1em}
.src-filters select{
  font-family:inherit;font-size:13px;color:var(--ink);
  border:1px solid var(--line-strong);border-radius:0;
  padding:6px 10px;background:var(--card);cursor:pointer;outline:none;
  transition:border-color .15s;
}
.src-filters select:focus{border-color:var(--accent)}
.src-filters input[type="text"]{
  font-family:inherit;font-size:13px;color:var(--ink);
  border:1px solid var(--line-strong);border-radius:0;
  padding:6px 10px;background:var(--card);outline:none;
  transition:border-color .15s;flex:1;min-width:140px;
}
.src-filters input[type="text"]:focus{border-color:var(--accent)}
.src-filters .clear-btn{
  font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);
  background:none;border:none;cursor:pointer;padding:4px 8px;
  border-radius:0;transition:all .15s;
}
.src-filters .clear-btn:hover{color:var(--ink)}

/* ====== LANE GROUP ====== */
.lane-group{margin-bottom:36px}
.lane-group h3{
  font-size:17px;font-weight:500;color:var(--ink);
  padding-bottom:8px;border-bottom:1px solid var(--hairline);
  margin-bottom:16px;display:flex;align-items:baseline;gap:8px;
}
.lane-group h3 .count{font-size:12px;color:var(--stone);font-weight:400}

/* ====== RECIPE CARD ====== */
.recipe-card{
  background:var(--card);border:1px solid var(--hairline);border-radius:0;
  padding:20px 22px;display:flex;flex-direction:column;gap:10px;
  transition:border-color .15s;text-decoration:none;color:inherit;
}
.recipe-card:hover{border-color:var(--line-strong)}
.recipe-card .name{font-size:17px;font-weight:500;color:var(--ink)}
.recipe-card .promise{font-size:14px;color:var(--ink-soft);line-height:1.5;font-weight:400}
.recipe-card .meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--stone)}
.recipe-card .meta b{color:var(--ink-soft);font-weight:500}
.recipe-card .labels{display:flex;flex-wrap:wrap;gap:6px}

/* ====== RECIPE DETAIL ====== */
.recipe-detail{display:flex;flex-direction:column;gap:28px}
.recipe-detail h1{font-size:clamp(26px,3.6vw,34px);font-weight:200;letter-spacing:-0.01em;line-height:1.15;color:var(--ink)}
.recipe-detail .promise{font-size:16px;color:var(--ink-soft);font-weight:400;line-height:1.55}
.recipe-detail .labels{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.recipe-detail h2{font-size:18px;font-weight:500;margin-bottom:10px;letter-spacing:-.005em;color:var(--ink)}
.recipe-detail .thesis{font-size:15px;color:var(--ink-soft);line-height:1.65;font-weight:400}
.recipe-detail .profile-box{
  background:var(--paper-2);border:1px solid var(--hairline);
  border-radius:0;padding:14px 18px;font-size:14px;color:var(--ink-soft);
  line-height:1.6;font-weight:400;
}
.recipe-detail .profile-box b{color:var(--ink);font-weight:500}
.recipe-detail .site-list{display:flex;flex-direction:column;gap:14px}
.recipe-detail .site-item{
  border:1px solid var(--hairline);border-radius:0;
  padding:14px 18px;background:var(--card);
}
.recipe-detail .site-item .site-name{
  font-size:15px;font-weight:500;color:var(--ink);
  text-decoration:none;display:flex;align-items:center;gap:6px;margin-bottom:6px;
}
.recipe-detail .site-item .site-name:hover{text-decoration:underline;text-underline-offset:2px}
.recipe-detail .site-item .key-filters{font-size:13.5px;color:var(--ink-soft);line-height:1.55;font-weight:400}
.recipe-detail .avoid-list{display:flex;flex-direction:column;gap:6px}
.recipe-detail .avoid-item{
  font-size:14px;color:var(--ink-soft);display:flex;align-items:flex-start;gap:8px;
  line-height:1.5;font-weight:400;
}
.recipe-detail .avoid-item::before{content:"\2715";color:var(--red);font-size:12px;flex:none;margin-top:3px}
.recipe-detail .leoh-tip{
  background:var(--paper-2);border-left:2px solid var(--ink);
  border-radius:0;padding:16px 20px;
  font-size:14.5px;color:var(--ink-soft);line-height:1.6;font-weight:400;
}
.recipe-detail .leoh-tip b{color:var(--ink);font-weight:500}
.recipe-detail .done-list{display:flex;flex-direction:column;gap:8px}
.recipe-detail .done-item{
  font-size:14px;color:var(--ink-soft);display:flex;align-items:flex-start;gap:10px;
  line-height:1.5;font-weight:400;
}
.recipe-detail .done-item::before{
  content:"\2713";color:var(--green);font-weight:700;font-size:15px;flex:none;margin-top:1px;
}

/* ====== GATING ====== */
.gated-overlay{
  position:relative;
}
.gated-content{
  filter:blur(4px);opacity:.5;pointer-events:none;user-select:none;
}
.gate-cta{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  z-index:5;
}
.gate-cta-inner{
  background:var(--card);border:1px solid var(--ink);border-radius:0;
  padding:24px 32px;text-align:center;box-shadow:0 4px 24px rgba(28,26,23,.10);
  max-width:360px;
}
.gate-cta-inner h3{font-size:18px;font-weight:500;margin-bottom:8px;color:var(--ink)}
.gate-cta-inner p{font-size:14px;color:var(--ink-soft);margin-bottom:16px;line-height:1.5;font-weight:400}
.gate-cta-inner .btn{
  display:inline-block;text-decoration:none;font-size:12px;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:var(--accent);padding:10px 24px;border-radius:0;
  transition:background .15s;
}
.gate-cta-inner .btn:hover{background:var(--accent-hover)}
.gate-cta-inner .alt{
  display:block;margin-top:10px;font-size:13px;color:var(--stone);
  text-decoration:none;font-weight:400;
}
.gate-cta-inner .alt:hover{color:var(--ink)}

/* ====== HANDOFF FORM ====== */
.handoff-modal{
  display:none;position:fixed;inset:0;z-index:200;
  background:rgba(28,26,23,.35);align-items:center;justify-content:center;
  padding:20px;
}
.handoff-modal.open{display:flex}
.handoff-panel{
  background:var(--card);border-radius:0;max-width:520px;width:100%;
  max-height:85vh;overflow-y:auto;padding:24px 28px;
  box-shadow:0 8px 40px rgba(28,26,23,.18);
}
.handoff-panel h3{font-size:18px;font-weight:500;margin-bottom:6px;color:var(--ink)}
.handoff-panel .sub{font-size:13px;color:var(--stone);margin-bottom:18px;font-weight:400}
.handoff-panel .form-group{margin-bottom:14px}
.handoff-panel label{display:block;font-size:10px;font-weight:500;color:var(--stone);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.handoff-panel input,textarea,select{
  width:100%;font-family:inherit;font-size:14px;color:var(--ink);
  border:1px solid var(--line-strong);border-radius:0;
  padding:9px 12px;outline:none;transition:border-color .15s;background:var(--card);
}
.handoff-panel input:focus,textarea:focus,select:focus{border-color:var(--accent)}
.handoff-panel textarea{resize:vertical;min-height:100px;line-height:1.5}
.handoff-panel .btn-row{display:flex;gap:10px;margin-top:6px}
.handoff-panel .btn-primary{
  flex:1;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--paper);background:var(--ink);
  border:none;border-radius:0;padding:11px 16px;cursor:pointer;
  transition:background .15s;
}
.handoff-panel .btn-primary:hover{background:color-mix(in oklab, var(--ink) 84%, var(--paper))}
.handoff-panel .btn-primary:disabled{opacity:.5;cursor:not-allowed}
.handoff-panel .btn-secondary{
  font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);background:var(--card);
  border:1px solid var(--line-strong);border-radius:0;padding:11px 16px;cursor:pointer;
}
.handoff-panel .provenance-note{
  font-size:12px;color:var(--stone);margin-top:12px;line-height:1.5;
  background:var(--paper);border-radius:0;padding:10px 12px;
}
.handoff-panel .provenance-note b{color:var(--ink-soft)}
.handoff-panel .success-msg{
  display:none;text-align:center;padding:20px 0;
}
.handoff-panel .success-msg.show{display:block}
.handoff-panel .success-msg .check{font-size:48px;color:var(--green);margin-bottom:12px}
.handoff-panel .success-msg h3{font-size:18px;margin-bottom:6px}
.handoff-panel .success-msg p{font-size:14px;color:var(--ink-soft);font-weight:400;line-height:1.5}
.handoff-panel .login-req{
  text-align:center;padding:16px;background:var(--paper-2);border-radius:0;
}
.handoff-panel .login-req p{font-size:14px;color:var(--ink-soft);margin-bottom:12px;font-weight:400}
.handoff-panel .login-req .btn{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent);padding:10px 24px;border-radius:0;text-decoration:none;display:inline-block}
/* Inline error inside the handoff form (e.g. "couldn't open that link"). */
.handoff-panel .handoff-error{
  font-size:13px;color:var(--red);background:var(--red-bg);border:1px solid color-mix(in oklab, var(--red) 22%, #FFFFFF);
  border-radius:0;padding:10px 12px;margin-bottom:12px;line-height:1.5;
}
/* "Leoh is reading the listing…" loading state. */
.handoff-panel .handoff-loading{display:none;text-align:center;padding:28px 0 20px}
.handoff-panel .handoff-loading.show{display:block}
.handoff-panel .handoff-loading h3{font-size:18px;margin-bottom:6px}
.handoff-panel .handoff-loading p{font-size:14px;color:var(--ink-soft);font-weight:400;line-height:1.5;max-width:320px;margin:0 auto}
.handoff-panel .handoff-spinner{
  width:34px;height:34px;margin:0 auto 16px;border-radius:50%;
  border:3px solid var(--paper-2);border-top-color:var(--accent);
  animation:handoff-spin .8s linear infinite;
}
@keyframes handoff-spin{to{transform:rotate(360deg)}}

/* ====== FOOTER ====== */
.src-footer{
  border-top:1px solid var(--hairline);background:var(--paper);
  padding:24px 20px;text-align:center;
}
.src-footer p{
  font-size:12px;color:var(--stone);line-height:1.6;font-weight:400;
  max-width:680px;margin:0 auto;
}

/* ====== BACK LINK ====== */
.back-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;color:var(--ink-soft);text-decoration:none;font-weight:500;
  margin-bottom:20px;transition:color .15s;
}
.back-link:hover{color:var(--ink)}

/* ====== EMPTY STATE ====== */
.empty-state{
  text-align:center;padding:48px 20px;color:var(--stone);
}
.empty-state p{font-size:15px;font-weight:400}

/* ====== MOBILE ====== */
@media (max-width:760px){
  /* Two-row topbar on mobile: logo + CTA on row 1, nav on row 2 (so nothing overflows) */
  .src-topbar{flex-wrap:wrap;height:auto;min-height:48px;padding:8px 12px;gap:6px 8px}
  .src-topbar .logo{order:1}
  .src-topbar .logo-sub{display:none}
  .src-topbar .cta{order:2;margin-left:auto;padding:6px 12px;font-size:11px}
  .src-topbar .spacer{display:none}
  .src-topbar nav{order:3;width:100%;margin-left:0;gap:2px;flex-wrap:wrap;justify-content:flex-start}
  .src-topbar nav a{padding:6px 10px;font-size:11px}
  .src-page{padding:20px 14px 60px}
  .src-page-narrow{padding:20px 14px 60px}
  .src-hero{padding:32px 14px 28px}
  .src-hero h1{font-size:26px}
  .src-hero .sub{font-size:15px}
  .src-cards{grid-template-columns:1fr}
  /* Stack each filter's label ABOVE its select so they all left-align cleanly */
  .src-filters{flex-direction:column;align-items:stretch;gap:12px}
  .src-filters .filter-group{width:100%;flex-direction:column;align-items:stretch;gap:4px}
  .src-filters label{white-space:nowrap}
  .src-filters select,.src-filters input[type="text"]{width:100%;box-sizing:border-box}
  .src-filters .clear-btn{align-self:flex-end;padding:6px 10px}
  .recipe-detail h1{font-size:24px}
  .gate-cta-inner{padding:18px 22px}
}
/* ============================================================
   SOURCE PHASE 2: HUNTS, BUY-BOX WIZARD, LEAD CARDS
   ============================================================ */
.hunts-loading{padding:40px 0;text-align:center;color:var(--stone)}
.hunts-gate{max-width:520px;margin:40px auto;text-align:center}
.hunts-gate h1{font-size:30px;font-weight:200;margin-bottom:10px;color:var(--ink)}
.hunts-gate p{color:var(--ink-soft);font-weight:400;line-height:1.6;margin-bottom:10px}
.hunts-gate-preview{
  max-width:900px;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) 340px;
  gap:28px;align-items:center;margin:36px auto 20px;
}
.hunts-gate-copy .eyebrow{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--stone);margin-bottom:8px}
.hunts-gate-copy h1{font-size:clamp(28px,4vw,38px);font-weight:200;line-height:1.14;letter-spacing:-0.01em;margin-bottom:12px;color:var(--ink)}
.hunts-gate-copy p{font-size:16px;color:var(--ink-soft);max-width:560px}
.hunts-gate-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.btn-primary-link{display:inline-block;margin-top:12px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent);padding:11px 24px;border-radius:0;text-decoration:none}
.btn-primary-link:hover{background:var(--accent-hover)}
.hunts-gate-actions .btn-primary-link{margin-top:0}
.btn-secondary-link{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--line-strong);padding:10px 16px;border-radius:0;text-decoration:none}
.btn-secondary-link:hover{border-color:var(--ink)}
.hunt-preview-card{border:1px solid var(--hairline);border-radius:0;background:var(--card);padding:18px}
.sample-leads{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.sample-lead{border-radius:0;padding:12px;border:1px solid transparent}
.sample-lead-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px;font-weight:500}
.sample-lead-top b{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.sample-lead p{font-size:12.5px;line-height:1.45;color:var(--ink-soft);margin:5px 0 0;font-weight:400}
.sample-lead-green{background:var(--green-bg);border-color:color-mix(in oklab, var(--green) 25%, #FFFFFF)}
.sample-lead-green b{color:var(--green)}
.sample-lead-yellow{background:var(--amber-bg);border-color:color-mix(in oklab, var(--amber) 25%, #FFFFFF)}
.sample-lead-yellow b{color:var(--amber)}

/* General buttons (page-level, distinct from the .handoff-panel-scoped ones) */
.src-page .btn-primary{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:var(--ink);border:none;border-radius:0;padding:10px 18px;cursor:pointer;transition:background .15s}
.src-page .btn-primary:hover{background:color-mix(in oklab, var(--ink) 84%, var(--paper))}
.src-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}
.src-page .btn-secondary{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);background:transparent;border:1px solid var(--line-strong);border-radius:0;padding:10px 18px;cursor:pointer}
.src-page .btn-secondary:hover{border-color:var(--ink);color:var(--ink)}

.hunts-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}
.hunts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.hunts-empty{color:var(--stone);font-weight:400;padding:24px;background:var(--paper-2);border-radius:0;border:1px dashed var(--line-strong);text-align:center}
.hunt-card{display:block;border:1px solid var(--hairline);border-radius:0;padding:16px;text-decoration:none;color:inherit;background:var(--card);transition:border-color .15s}
.hunt-card:hover{border-color:var(--line-strong)}
.hunt-card-name{font-size:16px;font-weight:500;margin-bottom:4px;color:var(--ink)}
.hunt-card-types{font-size:12px;color:var(--ink-soft);font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}
.hunt-card-meta{font-size:12.5px;color:var(--stone);margin-bottom:6px}
.hunt-card-sectors{font-size:13px;color:var(--ink-soft);line-height:1.4}
.hunt-card-foot{margin-top:10px;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.hunts-disclaimer{margin-top:22px;font-size:12px;color:var(--stone);font-style:italic;line-height:1.5;background:var(--paper-2);border-radius:0;padding:10px 12px}

/* Wizard */
.wz-wrap{max-width:560px;margin:10px auto}
.wz-dots{display:flex;gap:6px;margin-bottom:18px}
.wz-dot{width:26px;height:3px;border-radius:0;background:var(--hairline)}
.wz-dot.on{background:var(--accent)}
.wz-dot.done{background:var(--ink)}
.wz-step{font-size:11px;color:var(--stone);font-weight:500;text-transform:uppercase;letter-spacing:.1em}
.wz-q{font-size:22px;font-weight:300;margin:6px 0 8px;line-height:1.3;color:var(--ink)}
.wz-help{font-size:13.5px;color:var(--stone);font-weight:400;margin-bottom:14px;line-height:1.5}
.wz-input{width:100%;font-family:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:0;background:var(--card);box-sizing:border-box}
.wz-input:focus{border-color:var(--accent);outline:none}
.wz-options{display:flex;flex-direction:column;gap:9px}
.wz-option{text-align:left;font-family:inherit;font-size:15px;font-weight:400;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:0;padding:13px 15px;cursor:pointer;transition:border-color .12s,background .12s}
.wz-option:hover{border-color:var(--ink)}
.wz-option.on{border-color:var(--accent);background:var(--accent-tint);color:var(--ink)}
.wz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.wz-err,.addlead-err{color:var(--red);font-size:13px;margin-top:10px;background:var(--red-bg);border:1px solid color-mix(in oklab, var(--red) 22%, #FFFFFF);border-radius:0;padding:9px 11px}

/* Buy box summary */
.buybox{border:1px solid var(--hairline);border-radius:0;overflow:hidden;margin:14px 0}
.buybox-row{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:10px 14px;font-size:13.5px;border-bottom:1px solid var(--hairline)}
.buybox-row:last-child{border-bottom:none}
.buybox-k{font-weight:500;color:var(--ink-soft)}
.buybox-row a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;font-weight:500}

/* Hunt detail */
.hunt-detail-head{margin-bottom:8px}
.back-link{font-size:13px;color:var(--ink-soft);text-decoration:none;font-weight:500}
.hunt-detail-head h1{font-size:26px;font-weight:200;margin-top:6px;color:var(--ink)}
.addlead{border:1px solid var(--hairline);border-radius:0;padding:16px;margin:16px 0;background:var(--paper-2)}
.addlead h3{font-size:16px;font-weight:500;margin-bottom:4px;color:var(--ink)}
.addlead-sub{font-size:13px;color:var(--stone);font-weight:400;margin-bottom:10px}
.addlead-row{display:flex;align-items:center;gap:12px;margin-top:10px}
.addlead-status{font-size:13px;color:var(--ink-soft);font-weight:500}

/* Leads */
.leads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.lead-card{border:1px solid var(--hairline);border-radius:0;padding:15px;background:var(--card)}
.lead-card.lead-promoted{border-color:var(--green);background:var(--green-bg)}
.lead-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lead-name{font-size:15.5px;font-weight:500;color:var(--ink)}
.lead-prov{font-size:12px;color:var(--stone);margin:4px 0 8px}
.lead-prov a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.lead-facts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink-soft);margin:8px 0}
.lead-take{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:8px 0}
.lead-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.lead-btn{font-family:inherit;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--card);border:1px solid var(--line-strong);border-radius:0;padding:7px 11px;cursor:pointer;text-decoration:none;display:inline-block}
.lead-btn:hover{border-color:var(--ink);color:var(--ink)}
.lead-btn-primary{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.lead-btn-primary:hover{background:color-mix(in oklab, var(--ink) 84%, var(--paper));color:var(--paper)}
.lead-btn-ghost{color:var(--stone)}
.pill-promoted{background:var(--green-bg);color:var(--green);border:1px solid color-mix(in oklab, var(--green) 25%, #FFFFFF)}
.pill-status-verified{background:var(--green-bg);color:var(--green);border:1px solid color-mix(in oklab, var(--green) 25%, #FFFFFF)}
.pill-status-broker{background:var(--amber-bg);color:var(--amber);border:1px solid color-mix(in oklab, var(--amber) 25%, #FFFFFF)}
.pill-new{background:var(--accent);color:#fff;border:1px solid var(--accent)}

/* Deal Radar */
.radar-sub{font-size:13px;color:var(--stone);font-weight:400;line-height:1.5;margin:2px 0 12px}
.lead-card.radar-match{border-color:var(--line-strong)}
.hunt-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.hunt-radar-badge{flex:none;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:0;padding:3px 9px;white-space:nowrap}

/* Quick-Screen block (lead card) */
.qs-block{border-radius:0;padding:10px 12px;margin-top:8px;font-size:13px}
.qs-green{background:var(--green-bg)}
.qs-yellow{background:var(--amber-bg)}
.qs-red{background:var(--red-bg)}
.qs-head{display:flex;align-items:center;gap:7px}
.qs-dot{width:10px;height:10px;border-radius:0;flex:none}
.qs-green .qs-dot{background:var(--green)}
.qs-yellow .qs-dot{background:var(--amber)}
.qs-red .qs-dot{background:var(--red)}
.qs-color{font-weight:500;letter-spacing:.06em}
.qs-green .qs-color{color:var(--green)}
.qs-yellow .qs-color{color:var(--amber)}
.qs-red .qs-color{color:var(--red)}
.qs-sub{font-size:12px;color:var(--stone);font-weight:500}
.qs-reasons{margin:6px 0 0;padding-left:18px;color:var(--ink-soft);line-height:1.45}
.qs-reasons li{margin:2px 0}
.qs-dd{margin-top:6px;font-size:12.5px;color:var(--ink-soft)}

@media (max-width:600px){
  .buybox-row{grid-template-columns:110px 1fr}
  .hunts-gate-preview{grid-template-columns:1fr;gap:18px;margin-top:18px}
  .hunts-gate-copy h1{font-size:26px}
  .hunts-cta-row{flex-direction:column}
  .hunts-cta-row .btn-primary,.hunts-cta-row .btn-secondary{width:100%}
}
