/* Setu shared styles: home page and tool description pages. Viveka palette: navy #001D3D, action blue #0066CC. */
:root{
  --bg:#F5F5F7; --surface:#FFFFFF; --ink:#1D1D1F; --muted:#5F6670; --line:#D2D2D7;
  --accent:#0066CC; --accent-soft:#E8F1FB; --slate:#001D3D; --slate-ink:#FFFFFF; --azure:#8CC4FF;
  --good:#1D7A52; --good-soft:#E3F3EA; --warn:#A35A00; --warn-soft:#FDF0DE;
  --f-display:"Playfair Display", Georgia, serif;
  --f-body:"DM Sans", "Segoe UI", Arial, sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#001D3D; --surface:#0A2D52; --ink:#ECEEF0; --muted:#A3ABB6; --line:#1D4470;
  --accent:#8CC4FF; --accent-soft:#0B2A4A; --slate:#00142B;
  --good:#5CC48F; --good-soft:#173126; --warn:#E8A955; --warn-soft:#352612; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#001D3D; --surface:#0A2D52; --ink:#ECEEF0; --muted:#A3ABB6; --line:#1D4470;
  --accent:#8CC4FF; --accent-soft:#0B2A4A; --slate:#00142B;
  --good:#5CC48F; --good-soft:#173126; --warn:#E8A955; --warn-soft:#352612; color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f-body)}
a{color:var(--accent)}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:1040px;margin:0 auto;padding:0 max(16px, env(safe-area-inset-left, 0px)) 48px max(16px, env(safe-area-inset-right, 0px))}
.brandbar{height:4px;background:linear-gradient(90deg,#0066CC,var(--azure));margin:0 -16px}

.site{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;padding-block:14px;border-bottom:1px solid var(--line)}
.site a{color:var(--ink);text-decoration:none}
.site .home{display:flex;align-items:baseline;gap:10px}
.site .home b{font:700 1.45rem/1 var(--f-display)}
.site .home span{font:500 .68rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.site nav{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.92rem;font-weight:500}
.site nav a:hover{color:var(--accent)}
.site nav a[aria-current=page]{color:var(--accent);font-weight:700}
.site nav a.out{color:var(--muted)}

.hero{padding:clamp(40px,8vw,80px) 0 clamp(28px,5vw,44px);display:grid;gap:18px;max-width:48rem}
.kicker{font:500 .74rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.kicker .dev{font-family:var(--f-body);letter-spacing:0;text-transform:none;font-size:.95rem}
h1{font:700 clamp(2rem,5.2vw,3.2rem)/1.12 var(--f-display);margin:0;letter-spacing:-.01em;text-wrap:balance}
.lede{font-size:1.12rem;color:var(--muted);margin:0;max-width:42rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 20px;font-weight:600;font-size:.98rem;text-decoration:none;border:1.5px solid var(--accent)}
.btn.primary{background:var(--accent);color:#fff}
:root[data-theme="dark"] .btn.primary{color:#001D3D}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.primary{color:#001D3D}}
.btn.ghost{color:var(--accent);background:transparent}

h2{font:700 clamp(1.45rem,3vw,1.9rem)/1.2 var(--f-display);margin:0 0 6px;text-wrap:balance}
h3{font:700 1.2rem/1.25 var(--f-display);margin:0 0 6px}
.sec{padding-block:clamp(28px,5vw,48px);border-top:1px solid var(--line)}
.sec > p.intro{color:var(--muted);margin:0 0 24px;max-width:44rem}
.label{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}

/* three-column cards: Givers Gain / VCP */
.grid3{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.grid2{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.grid3,.grid2{grid-template-columns:minmax(0,1fr)}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.card p{margin:0}
.card .big{font:700 2.2rem/1 var(--f-display);color:var(--accent)}

/* method steps */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
.steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.steps li::before{counter-increment:s;content:counter(s);width:36px;height:36px;border-radius:50%;background:var(--slate);color:#fff;display:grid;place-items:center;font:700 1rem/1 var(--f-display)}
:root[data-theme="dark"] .steps li::before{background:var(--accent);color:#001D3D}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .steps li::before{background:var(--accent);color:#001D3D}}
.steps p{margin:2px 0 0;color:var(--muted)}
.steps b{color:var(--ink)}
.lenses{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.lenses span{font-size:.82rem;border:1px solid var(--line);border-radius:999px;padding:2px 10px;background:var(--surface)}

/* tool cards */
.tools{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.tools{grid-template-columns:minmax(0,1fr)}}
.tool{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.tool .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tool .link-name{font:500 .7rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.badge{font:600 .72rem/1 var(--f-body);border-radius:999px;padding:4px 9px;white-space:nowrap}
.badge.live{background:var(--good-soft);color:var(--good)}
.badge.next{background:var(--warn-soft);color:var(--warn)}
.tool h3{font-size:1.35rem;margin:0}
.tool .for{font-size:.9rem;color:var(--muted);margin:0}
.tool .q{margin:0;padding:10px 14px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;font-size:.98rem;line-height:1.45}
.tool .get{margin:0;font-size:.95rem}
.tool .go{margin-top:auto;font-weight:700;text-decoration:none}
.tool .go:hover{text-decoration:underline}
.tool .go::after{content:" →"}
.chain{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:20px 0 0;font-size:.95rem;color:var(--muted)}
.chain b{color:var(--ink);font-weight:600}

/* refer-me card */
.refer{background:var(--surface);border:2px solid var(--accent);border-radius:14px;padding:clamp(20px,4vw,30px);display:grid;gap:14px}
.refer ul{margin:0;padding-left:20px;display:grid;gap:8px}
.refer li b{font-weight:700}
.refer .who{color:var(--muted);margin:0}

.cta{margin-top:8px;background:var(--slate);color:var(--slate-ink);border-radius:14px;padding:clamp(22px,4vw,34px);display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
.cta p{margin:0;font:600 clamp(1.15rem,2.4vw,1.4rem)/1.35 var(--f-display);max-width:34rem}
.cta .btn{border-color:#fff;background:#fff;color:#001D3D}

/* tool description pages */
.page-head{padding:clamp(32px,6vw,64px) 0 clamp(20px,4vw,32px);display:grid;gap:14px;max-width:46rem}
.status{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.facts{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
@media (max-width:760px){.facts{grid-template-columns:minmax(0,1fr)}}
.facts div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.facts dt{font:500 .68rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.facts dd{margin:0}
.compare{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.compare th,.compare td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{font:500 .7rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--bg)}
.compare tr:last-child td{border-bottom:0}
.compare td.yes{background:var(--accent-soft)}
.note{font-size:.92rem;color:var(--muted)}
.back{display:inline-block;margin-top:8px;font-weight:600;text-decoration:none}
.back::before{content:"← "}

footer{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted);display:grid;gap:6px}
footer ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
footer a{color:var(--muted)}
footer a:hover{color:var(--accent)}

/* ---------- working tools (Visitor Match, Weekly Ask) ---------- */
.tool-head{padding:clamp(24px,4vw,40px) 0 18px;display:grid;gap:10px;max-width:50rem}
.tool-head h1{font-size:clamp(1.9rem,4.4vw,2.6rem)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(16px,3vw,22px);display:grid;gap:14px;margin-bottom:18px}
.panel > h2{font-size:1.3rem;margin:0}
.panel .sub{margin:-8px 0 0;color:var(--muted);font-size:.95rem}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fields{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
label.f{display:grid;gap:4px;font-size:.85rem;font-weight:600;color:var(--muted)}
label.f input,label.f textarea,label.f select,.inline-select{font:inherit;font-size:1rem;font-weight:400;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%;min-width:0}
label.f textarea{resize:vertical;min-height:64px;line-height:1.45}
label.f .hint{font-weight:400;font-size:.82rem}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.b{font:inherit;font-size:.92rem;font-weight:600;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 15px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.b:hover{border-color:var(--accent)}
.b:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.b.primary{background:var(--accent);border-color:var(--accent);color:#fff}
:root[data-theme="dark"] .b.primary{color:#001D3D}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .b.primary{color:#001D3D}}
.b.small{padding:5px 11px;font-size:.84rem}
.b.link{border:0;background:none;padding:4px 2px;color:var(--accent);text-decoration:underline}
.b.danger{color:#B3261E}
.src{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.src .dot{width:12px;height:12px;border-radius:50%;margin-top:6px;flex:none;background:var(--good)}
.src.ex .dot{background:var(--warn)}
.src small{display:block;color:var(--muted)}
.banner{background:var(--warn-soft);border:1px solid var(--warn);color:var(--ink);border-radius:10px;padding:10px 14px;font-size:.95rem}
.say{min-height:1.4em;font-size:.92rem;color:var(--muted)}
.empty{color:var(--muted);font-style:italic;margin:0}

/* visitor cards */
.visitor{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:12px;background:var(--bg)}
.visitor .vhead{display:flex;justify-content:space-between;align-items:center;gap:10px}
.visitor .vhead h3{margin:0;font-size:1.15rem}
.matches{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.match{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.match.on{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.match input{width:18px;height:18px;margin-top:3px;accent-color:var(--accent)}
.match .who b{font-weight:700}
.match .who small{display:block;color:var(--muted);font-size:.86rem}
.match .why{font-size:.88rem;color:var(--muted);margin-top:2px}
.match .kind{font:600 .7rem/1 var(--f-body);border-radius:999px;padding:4px 8px;white-space:nowrap;background:var(--accent-soft);color:var(--accent)}
.match .kind.partner{background:var(--good-soft);color:var(--good)}
.flag{font-size:.88rem;color:var(--warn);margin:0}

/* weekly ask cards */
.weeks{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.week{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--bg);display:grid;gap:8px}
.week .wtop{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center}
.week .wtop b{font-family:var(--f-display);font-size:1.1rem}
.week textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%;resize:vertical;min-height:84px;line-height:1.45}
.meter{font-size:.85rem;color:var(--muted)}
.meter.over{color:#B3261E;font-weight:600}
.tally{display:flex;flex-wrap:wrap;gap:8px}
.tally span{font-size:.88rem;border:1px solid var(--line);border-radius:999px;padding:3px 10px;background:var(--surface)}

details.about{border-top:1px solid var(--line);padding-top:18px;margin-top:10px}
details.about summary{cursor:pointer;font:700 1.2rem/1.3 var(--f-display)}
details.about[open] summary{margin-bottom:12px}

/* ---------- print: only the sheet, A4, Verdana, never below 12pt ---------- */
.print-sheet{display:none}
@media print{
  @page{size:A4;margin:1cm}
  body{background:#fff;color:#000}
  .wrap{display:none!important}
  .print-sheet{display:block;font-family:Verdana,Geneva,"DejaVu Sans",sans-serif;font-size:12pt;line-height:1.4;color:#000}
  .print-sheet h1{font:700 18pt/1.2 Verdana,Geneva,"DejaVu Sans",sans-serif;margin:0 0 4pt}
  .print-sheet h2{font:700 15pt/1.25 Verdana,Geneva,"DejaVu Sans",sans-serif;margin:0 0 4pt}
  .print-sheet .meta{font-size:12pt;color:#333;margin:0 0 10pt;border-bottom:2pt solid #001D3D;padding-bottom:6pt}
  .print-sheet .block{break-inside:avoid;page-break-inside:avoid;border:1pt solid #999;border-radius:4pt;padding:8pt 10pt;margin:0 0 10pt}
  .print-sheet table{width:100%;border-collapse:collapse;font-size:12pt}
  .print-sheet th,.print-sheet td{text-align:left;vertical-align:top;border-bottom:1pt solid #bbb;padding:4pt 5pt}
  .print-sheet th{font-weight:700;border-bottom:1.5pt solid #000}
  .print-sheet p{margin:0 0 5pt}
  .print-sheet .fill{border-bottom:1pt dotted #000;display:inline-block;min-width:60%;height:14pt}
  .print-sheet .foot{font-size:12pt;color:#333;margin-top:8pt}
}

/* ---------- home page: the better question ---------- */
.letter{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:clamp(20px,4vw,32px);max-width:46rem;display:grid;gap:12px}
.letter p{margin:0}
.letter .sig{font:600 1.15rem/1.3 var(--f-display);margin-top:4px}
.letter .sig small{display:block;font:400 .88rem/1.4 var(--f-body);color:var(--muted)}

.reframes{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.reframe{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1.25fr) minmax(150px,auto);gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.reframe .old{color:var(--muted);font-size:.98rem}
.reframe .old::before,.reframe .new::before{display:block;font:500 .64rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}
.reframe .old::before{content:"The obvious question";color:var(--muted)}
.reframe .new::before{content:"The better question";color:var(--accent)}
.reframe .new{font:600 1.08rem/1.4 var(--f-body)}
.reframe .arrow{color:var(--accent);font-size:1.4rem;text-align:center}
.reframe .became{display:grid;gap:4px;justify-items:start}
.reframe .became a{font:700 1.1rem/1.2 var(--f-display);text-decoration:none}
.reframe .became a:hover{text-decoration:underline}
.reframe .became span{font-size:.8rem;color:var(--muted)}
@media (max-width:760px){
  .reframe{grid-template-columns:minmax(0,1fr);gap:8px}
  .reframe .arrow{text-align:left;transform:rotate(90deg);width:20px}
}
.pattern{margin:18px 0 0;font:600 1.1rem/1.45 var(--f-display);max-width:44rem}

.bridge{background:var(--slate);color:#fff;border-radius:14px;padding:clamp(22px,4vw,36px);display:grid;gap:16px}
.bridge h2{color:#fff}
.bridge .label{color:var(--azure)}
.bridge p{margin:0;color:#D6DEE8;max-width:46rem}
.bridge .pair{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:12px;align-items:center}
@media (max-width:760px){.bridge .pair{grid-template-columns:minmax(0,1fr)}.bridge .pair .arrow{transform:rotate(90deg);width:20px}}
.bridge .q{border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:12px 14px;font-size:1rem}
.bridge .q.better{border-color:var(--azure);background:rgba(140,196,255,.12);font-weight:600;color:#fff}
.bridge .q small{display:block;font:500 .64rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#9FB2C8;margin-bottom:3px}
.bridge .q.better small{color:var(--azure)}
.bridge .arrow{color:var(--azure);font-size:1.4rem;text-align:center}
.verdicts{display:flex;flex-wrap:wrap;gap:8px}
.verdicts span{font:700 .78rem/1 var(--f-body);letter-spacing:.06em;border-radius:6px;padding:8px 11px;border:1px solid rgba(255,255,255,.3);color:#9FB2C8}
.verdicts span.on{background:#F08A82;border-color:#F08A82;color:#2B0B09}

.method5{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:m}
@media (max-width:900px){.method5{grid-template-columns:minmax(0,1fr)}}
.method5 li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:6px;align-content:start}
.method5 li::before{counter-increment:m;content:counter(m);font:700 1.6rem/1 var(--f-display);color:var(--accent)}
.method5 b{font-weight:700}
.method5 p{margin:0;font-size:.92rem;color:var(--muted)}

.toolindex{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.toolindex li{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:12px 2px;border-bottom:1px solid var(--line)}
.toolindex a{font:700 1.08rem/1.3 var(--f-display);text-decoration:none}
.toolindex a:hover{text-decoration:underline}
.toolindex span{color:var(--muted);font-size:.95rem}
@media (max-width:640px){.toolindex li{grid-template-columns:minmax(0,1fr) auto}.toolindex li span.d{grid-column:1/-1;order:3}}

/* tool names in the better-questions list are the links to each tool: make that obvious */
.linkhint{color:var(--ink)}
.reframe .became a{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border-radius:999px;padding:8px 14px;font:700 1rem/1.1 var(--f-body);text-decoration:none;white-space:nowrap}
.reframe .became a::after{content:"→"}
.reframe .became a:hover{text-decoration:none;filter:brightness(1.1)}
.reframe .became a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:root[data-theme="dark"] .reframe .became a{color:#001D3D}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .reframe .became a{color:#001D3D}}

/* founders story: stacked questions and outcome strip */
.bridge .q.solo{max-width:46rem}
.bridge .outcomes{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:46rem}
@media (max-width:760px){.bridge .outcomes{grid-template-columns:minmax(0,1fr)}}
.bridge .outcomes div{border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:12px 14px;color:#D6DEE8;font-size:.92rem}
.bridge .outcomes b{display:block;font:700 1.5rem/1.1 var(--f-display);color:var(--azure);margin-bottom:4px}
/* Why tools like Setu grow the chapter */
.why-copy{max-width:44rem}
.why-copy p{margin:0 0 14px}
.why-lead{font-weight:700;margin:22px 0 12px}
.gains{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:g}
@media (max-width:760px){.gains{grid-template-columns:minmax(0,1fr)}}
.gains li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:6px;align-content:start}
.gains li::before{counter-increment:g;content:counter(g);font:700 1.6rem/1 var(--f-display);color:var(--accent)}
.gains b{font-weight:700}
.gains p{margin:0;font-size:.92rem;color:var(--muted)}

/* Six lenses */
.lens-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.lens-tags i{font:500 .68rem/1 var(--f-mono,"IBM Plex Mono",monospace);font-style:normal;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);border-radius:4px;padding:3px 5px;color:var(--ink)}
.lens-note{font-size:.88rem;color:var(--muted);margin:10px 0 0}
.lens-h{font:700 1.15rem/1.3 var(--f-display);margin:28px 0 12px}
.lens-grid{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.lens-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.lens-grid{grid-template-columns:minmax(0,1fr)}}
.lens-grid li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;gap:6px;align-content:start}
.lens-grid b{font-weight:700;color:var(--accent)}
.lens-grid p{margin:0;font-size:.92rem}
.lens-grid small{font-size:.78rem;color:var(--muted)}

/* Visitor Match report as an image (captured off screen) */
@font-face{font-family:"SetuSheet";font-weight:400;src:url(/fonts/dejavu/DejaVuSans.ttf)}
@font-face{font-family:"SetuSheet";font-weight:700;src:url(/fonts/dejavu/DejaVuSans-Bold.ttf)}
.jpg-sheet{position:fixed;left:-10000px;top:0;width:820px;background:#fff;color:#000;padding:36px 40px;font-family:"SetuSheet",Verdana,sans-serif;font-size:16px;line-height:1.45}
.jpg-sheet h1{font:700 26px/1.2 "SetuSheet",Verdana,sans-serif;margin:0 0 6px;color:#001D3D}
.jpg-sheet h2{font:700 20px/1.25 "SetuSheet",Verdana,sans-serif;margin:0 0 6px;color:#001D3D}
.jpg-sheet .meta{color:#333;margin:0 0 14px;border-bottom:3px solid #001D3D;padding-bottom:8px}
.jpg-sheet .block{border:1px solid #999;border-radius:6px;padding:12px 14px;margin:0 0 14px}
.jpg-sheet table{width:100%;border-collapse:collapse;font-size:16px}
.jpg-sheet th,.jpg-sheet td{text-align:left;vertical-align:top;border-bottom:1px solid #bbb;padding:6px 7px}
.jpg-sheet th{font-weight:700;border-bottom:2px solid #000}
.jpg-sheet p{margin:0 0 7px}
.jpg-sheet .fill{border-bottom:1px dotted #000;display:inline-block;min-width:60%;height:18px}
.jpg-sheet .foot{color:#333;margin:10px 0 0}
.jpg-sheet .credit,.print-sheet .credit{border-top:1px solid #ccc;padding-top:8px;color:#55606E}
.jpg-sheet .credit{font-size:14px}
