/* Get Off Their List. Layout: an evidence desk. The headline asks the question, the working log sits directly under it
   (form on the left, the log on the right), then the one sentence to say, then three tools in tabs
   (trace an email leak, people-search opt-outs, stop it today), the guides, and your data.
   Materials: carbon-copy blue on onionskin paper, rubber-stamp red for "contacted again", and
   highlighter yellow for a traced address. */
:root {
  --paper: #e6eaf0;      /* onionskin, a cool gray-blue, not cream */
  --sheet: #f7f8fa;
  --ink: #11162a;        /* carbon black */
  --muted: #4b5369;
  --rule: #cbd1dc;
  --rule-2: #aab2c2;
  --carbon: #2236c4;     /* carbon-copy blue, the one action color */
  --carbon-ink: #ffffff;
  --carbon-soft: #dfe3fb;
  --stamp: #b3241a;      /* rubber-stamp red, only for "contacted again after you said stop" */
  --stamp-soft: #f5e1de;
  --marker: #f2dd3a;     /* highlighter, only for a traced address */
  --marker-ink: #11162a;
  --ok: #1d6a42;
  --ok-soft: #dcefe4;
  --display: 'Schibsted Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --body: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
  --mono: 'Martian Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #0b0f1d; --sheet: #131a2d; --ink: #e6e9f3; --muted: #a2aac0; --rule: #263052; --rule-2: #39446a;
    --carbon: #96a5ff; --carbon-ink: #0b0f1d; --carbon-soft: #1c2650; --stamp: #ff7d6b; --stamp-soft: #3a1c19;
    --marker: #e3cf35; --marker-ink: #11162a; --ok: #7dd3a2; --ok-soft: #15301f; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --paper: #0b0f1d; --sheet: #131a2d; --ink: #e6e9f3; --muted: #a2aac0; --rule: #263052; --rule-2: #39446a;
  --carbon: #96a5ff; --carbon-ink: #0b0f1d; --carbon-soft: #1c2650; --stamp: #ff7d6b; --stamp-soft: #3a1c19;
  --marker: #e3cf35; --marker-ink: #11162a; --ok: #7dd3a2; --ok-soft: #15301f; color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 1rem; line-height: 1.55; }
h1, h2, h3, p, ul, ol, figure, blockquote { margin: 0; }
h1, h2, h3 { font-family: var(--display); text-wrap: balance; }
a { color: var(--carbon); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--carbon); outline-offset: 2px; border-radius: 3px; }
.wrap { width: 100%; max-width: 1200px; margin-inline: auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.mono { font-family: var(--mono); }
.label { font-family: var(--mono); font-size: .68rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }


/* Header */
.site-head { border-bottom: 1px solid var(--rule); }
.site-head .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; min-height: 64px; padding-block: 10px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-family: var(--display); font-weight: 900; font-size: 1.2rem; letter-spacing: -.02em; }
.brand svg { width: 30px; height: 30px; flex: none; }
.site-head nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: 4px 20px; }
.site-head nav a { color: var(--muted); text-decoration: none; font-weight: 500; font-size: .95rem; }
.site-head nav a:hover { color: var(--ink); }

/* Hero */
.hero { padding-block: 40px 28px; }
.hero .wrap { display: grid; gap: 18px 56px; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: end; }
.hero h1 { font-weight: 900; font-size: clamp(2.6rem, 1.3rem + 4.6vw, 5rem); line-height: .95; letter-spacing: -.045em; }
.hero h1 span { color: var(--carbon); }
.hero .lede { font-size: 1.12rem; color: var(--muted); max-width: 46ch; }
.promise { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; font-size: .9rem; color: var(--ink); }
.promise svg { width: 18px; height: 18px; flex: none; margin-top: 3px; color: var(--ok); }
@media (max-width: 900px) { .hero .wrap { grid-template-columns: minmax(0, 1fr); } .hero { padding-block: 28px 20px; } }

/* The desk: the working log */
.desk { padding-bottom: 40px; }
.desk-sheet { background: var(--sheet); border: 1px solid var(--rule); border-radius: 6px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); box-shadow: 0 1px 0 var(--rule), 0 24px 48px -36px rgba(17, 22, 42, .45); }
@media (max-width: 900px) { .desk-sheet { grid-template-columns: minmax(0, 1fr); } }
.pane { padding: 22px; display: grid; gap: 16px; align-content: start; min-width: 0; }
.pane + .pane { border-left: 1px solid var(--rule); }
@media (max-width: 900px) { .pane + .pane { border-left: 0; border-top: 1px solid var(--rule); } }
.pane h2 { font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; }
.pane-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 14px; }

form { display: grid; gap: 14px; }
.row2 { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
label, .fieldset-label { display: grid; gap: 5px; font-size: .84rem; font-weight: 600; }
.hint { font-weight: 400; color: var(--muted); font-size: .8rem; }
input[type="text"], input[type="tel"], input[type="email"], input[type="date"], input[type="datetime-local"], select, textarea {
  width: 100%; font: 400 1rem/1.3 var(--body); color: var(--ink); background: var(--paper);
  border: 1px solid var(--rule-2); border-radius: 4px; padding: 10px 11px; }
input:focus, select:focus, textarea:focus { border-color: var(--carbon); outline: 2px solid var(--carbon-soft); outline-offset: 0; }
textarea { min-height: 66px; resize: vertical; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.kinds { display: flex; gap: 0; border: 1px solid var(--rule-2); border-radius: 4px; overflow: hidden; width: max-content; max-width: 100%; }
.kinds label { display: block; }
.kinds input { position: absolute; opacity: 0; pointer-events: none; }
.kinds span { display: block; padding: 8px 16px; font-weight: 600; font-size: .9rem; cursor: pointer; border-left: 1px solid var(--rule-2); }
.kinds label:first-child span { border-left: 0; }
.kinds input:checked + span { background: var(--ink); color: var(--paper); }
.kinds input:focus-visible + span { outline: 2px solid var(--carbon); outline-offset: -2px; }
.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; font-size: .95rem; }
.check input { width: 19px; height: 19px; margin-top: 2px; accent-color: var(--carbon); flex: none; }
details.more summary { cursor: pointer; font-weight: 600; font-size: .88rem; color: var(--carbon); }
details.more[open] summary { margin-bottom: 12px; }
details.more > div { display: grid; gap: 12px; }

.btn { font: 600 .95rem/1 var(--body); padding: 12px 18px; border-radius: 4px; border: 1px solid var(--carbon); background: var(--carbon); color: var(--carbon-ink); cursor: pointer; justify-self: start; }
.btn:hover { filter: brightness(1.08); }
.btn.quiet { background: transparent; color: var(--carbon); border-color: var(--rule-2); }
.btn.small { padding: 8px 11px; font-size: .84rem; }
.btn.danger { background: transparent; color: var(--stamp); border-color: var(--rule-2); }
.msg { font-size: .88rem; color: var(--muted); min-height: 1.3em; }
.msg.err { color: var(--stamp); }

/* Stats */
.tally { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .86rem; color: var(--muted); }
.tally b { font-family: var(--mono); font-weight: 500; color: var(--ink); font-variant-numeric: tabular-nums; }
.tally .hot b, .tally .hot { color: var(--stamp); }

/* Log entries */
.entries { list-style: none; padding: 0; display: grid; gap: 10px; }
.entry { position: relative; overflow: clip; border: 1px solid var(--rule); border-radius: 4px; background: var(--paper); padding: 13px 14px; display: grid; gap: 8px; min-width: 0; }
.entry.again { border-color: var(--stamp); }
.entry .top { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.entry .kind { font-family: var(--mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.entry .from { font-family: var(--mono); font-weight: 500; font-size: .9rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.entry .who { font-weight: 700; }
.entry .when { font-family: var(--mono); font-size: .72rem; color: var(--muted); margin-left: auto; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { font-size: .76rem; border-radius: 3px; padding: 2px 8px; background: var(--sheet); border: 1px solid var(--rule); color: var(--ink); }
.chip.asked { border-color: var(--carbon); color: var(--carbon); }
.chip.example { font-family: var(--mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; border-style: dashed; color: var(--muted); }
.trace { background: var(--marker); color: var(--marker-ink); padding: 1px 4px; border-radius: 2px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.entry .notes { color: var(--muted); font-size: .9rem; overflow-wrap: anywhere; }
.entry .acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.stamp { justify-self: start; font-family: var(--display); font-weight: 900; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--stamp); border: 2.5px solid var(--stamp); border-radius: 3px; padding: 3px 9px 2px; transform: rotate(-2.5deg); background: var(--stamp-soft); }
.stamp.thump { animation: thump .5s cubic-bezier(.2, .9, .3, 1.4) .2s both; }
@keyframes thump { 0% { transform: rotate(-12deg) scale(1.9); opacity: 0; } 60% { opacity: 1; } 100% { transform: rotate(-2.5deg) scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .stamp.thump { animation: none; } }
.complaint { background: var(--sheet); border: 1px dashed var(--rule-2); border-radius: 4px; padding: 12px; font-size: .88rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.file-to { font-size: .86rem; color: var(--muted); }
.empty { border: 1px dashed var(--rule-2); border-radius: 4px; padding: 18px; color: var(--muted); }
.confirm { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: .9rem; }

/* The sentence */
.sentence { border-block: 1px solid var(--rule); background: var(--sheet); }
.sentence .wrap { padding-block: 44px; display: grid; gap: 18px 56px; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; }
@media (max-width: 900px) { .sentence .wrap { grid-template-columns: minmax(0, 1fr); padding-block: 32px; } }
.sentence blockquote { font-family: var(--display); font-weight: 800; font-size: clamp(1.55rem, 1rem + 2.1vw, 2.5rem); line-height: 1.12; letter-spacing: -.025em; }
.sentence blockquote::before { content: "Say this to a live sales caller"; display: block; font-family: var(--mono); font-weight: 500; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; }
.sentence .side { display: grid; gap: 12px; font-size: .95rem; }
.src { font-size: .82rem; color: var(--muted); border-left: 2px solid var(--rule-2); padding-left: 10px; }
.src q { font-style: italic; padding-right: .15em; }
q { quotes: '"' '"' "'" "'"; }
@media (max-width: 900px) { .desk-sheet .pane:last-child { order: -1; border-top: 0; border-bottom: 1px solid var(--rule); } .desk-sheet .pane:first-child { border-top: 0; } }
@media (max-width: 600px) { #tag-rows tr, #tag-rows td { display: block; } #tag-rows tr { padding: 10px 0; border-bottom: 1px solid var(--rule); } #tag-rows td { border: 0; padding: 2px 0; } thead { display: none; } }

/* Tools */
.tools { padding-block: 48px; }
.tools > .wrap { display: grid; gap: 18px; }
.section-head { display: grid; gap: 6px; max-width: 70ch; }
.section-head h2 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem); font-weight: 900; letter-spacing: -.03em; }
.section-head p { color: var(--muted); }
.tabs { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid var(--rule-2); }
.tabs button { font: 700 1rem/1 var(--display); letter-spacing: -.01em; color: var(--muted); background: none; border: 0; border-bottom: 3px solid transparent; padding: 12px 16px 11px; cursor: pointer; margin-bottom: -1px; }
.tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--carbon); }
.tabs button .n { font-family: var(--mono); font-weight: 400; font-size: .7rem; color: var(--muted); margin-left: 6px; }
.panel { display: grid; gap: 22px; padding-top: 6px; }
.split { display: grid; gap: 22px 40px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
@media (max-width: 900px) { .split { grid-template-columns: minmax(0, 1fr); } }
.box { background: var(--sheet); border: 1px solid var(--rule); border-radius: 6px; padding: 20px; display: grid; gap: 14px; min-width: 0; }
.box h3 { font-size: 1.1rem; font-weight: 800; letter-spacing: -.015em; }
.box p { color: var(--muted); font-size: .94rem; }
.made { display: grid; gap: 8px; background: var(--paper); border: 1px solid var(--rule); border-radius: 4px; padding: 12px; }
.made .addr { font-family: var(--mono); font-size: .92rem; overflow-wrap: anywhere; }
.limits { list-style: none; padding: 0; display: grid; gap: 10px; }
.limits li { display: grid; gap: 2px; padding-left: 14px; border-left: 2px solid var(--stamp); }
.limits b { font-weight: 600; }
.limits span { color: var(--muted); font-size: .9rem; }

table { width: 100%; border-collapse: collapse; font-size: .92rem; }
th { text-align: left; font-family: var(--mono); font-weight: 500; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 8px 10px; border-bottom: 1px solid var(--rule-2); }
td { padding: 10px; border-bottom: 1px solid var(--rule); vertical-align: top; }
td.addr { font-family: var(--mono); font-size: .84rem; overflow-wrap: anywhere; }
.table-scroll { overflow-x: auto; }

/* Opt-out rows */
.oneshot { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.brokers { list-style: none; padding: 0; display: grid; border-top: 1px solid var(--rule-2); }
.broker { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 290px; gap: 8px 20px; align-items: center; padding: 14px 4px; border-bottom: 1px solid var(--rule); }
@media (max-width: 760px) { .broker { grid-template-columns: minmax(0, 1fr); } }
.broker .nm { font-weight: 700; }
.broker .nm a { font-weight: 500; font-size: .88rem; margin-left: 8px; }
.broker .need { color: var(--muted); font-size: .86rem; }
.broker .ctl { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.broker select { width: auto; padding: 7px 8px; font-size: .88rem; }
.broker input[type="date"] { width: auto; padding: 6px 8px; font-size: .86rem; }
.broker .due { font-family: var(--mono); font-size: .72rem; color: var(--muted); }
.broker .due.now { color: var(--stamp); font-weight: 500; }
.broker.done .nm::after { content: "Removed"; margin-left: 8px; font-family: var(--mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ok); }
.progress { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .9rem; color: var(--muted); }
.progress b { font-family: var(--mono); font-weight: 500; color: var(--ink); }

/* Steps */
.steps { list-style: none; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--rule-2); }
.steps li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding: 16px 4px; border-bottom: 1px solid var(--rule); }
.steps input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--carbon); }
.steps .where { font-family: var(--mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); display: block; }
.steps b { display: block; font-weight: 700; font-size: 1.02rem; }
.steps .how { color: var(--muted); font-size: .92rem; display: block; margin-top: 2px; }
.steps .src { margin-top: 8px; display: block; }

/* Guides */
.guides { padding-block: 48px; border-top: 1px solid var(--rule); }
.guides .wrap { display: grid; gap: 18px; }
.guide-list { list-style: none; padding: 0; display: grid; border-top: 1px solid var(--rule-2); }
.guide-list li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 6px 32px; padding: 18px 4px; border-bottom: 1px solid var(--rule); }
@media (max-width: 760px) { .guide-list li { grid-template-columns: minmax(0, 1fr); } }
.guide-list h3 { font-size: 1.15rem; font-weight: 800; letter-spacing: -.015em; }
.guide-list p { color: var(--muted); font-size: .94rem; }
.guide-list .label { margin-top: 6px; display: block; }

/* Data */
.data { padding-block: 48px; border-top: 1px solid var(--rule); }
.data .wrap { display: grid; gap: 18px; }
.data textarea { font-family: var(--mono); font-size: .78rem; min-height: 140px; }

footer { border-top: 1px solid var(--rule); padding-block: 26px 36px; font-size: .88rem; color: var(--muted); }
footer .wrap { display: grid; gap: 8px; }

/* Bulk import */
.bulk { padding-block: 8px 40px; }
.bulk .wrap { display: grid; gap: 18px; }
.bulk-head { display: grid; gap: 6px; max-width: 70ch; }
.bulk-head h2 { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem); font-weight: 900; letter-spacing: -.025em; }
.bulk-head p { color: var(--muted); }
.bulk-choices { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.file-btn { position: relative; display: inline-block; }
.vh-input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
.file-btn:focus-within { outline: 2px solid var(--carbon); outline-offset: 2px; }
.review-table td { vertical-align: top; }
.review-table td.num { font-family: var(--mono); font-size: .84rem; white-space: nowrap; }
.review-table td.said { color: var(--muted); font-size: .88rem; min-width: 16ch; }
.review-table tr.off td { opacity: .5; }
.review-table input[type="checkbox"] { width: 19px; height: 19px; accent-color: var(--carbon); }
.hint-line { color: var(--muted); font-size: .88rem; }
.small-check { font-size: .86rem; }
.inline-select { width: auto; padding: 5px 8px; margin-left: 6px; }
.foot-links { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.foot-links a { color: var(--muted); }
.map-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); }
.complaint-box { display: grid; gap: 8px; }

/* Article pages: guides, privacy, terms */
.article { padding-block: 40px 56px; }
.prose { display: grid; gap: 14px; max-width: 72ch; }
.prose h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.2rem); font-weight: 900; line-height: 1.02; letter-spacing: -.04em; }
.prose h2 { font-size: 1.3rem; font-weight: 800; letter-spacing: -.02em; margin-top: 14px; }
.prose p { line-height: 1.65; }
.prose q { font-style: italic; }
.lede-p { font-size: 1.15rem; color: var(--muted); }
.tool-end { margin-top: 18px; border-top: 1px solid var(--rule-2); padding-top: 18px; display: grid; gap: 12px; justify-items: start; }
.guide-index { list-style: none; padding: 0; display: grid; border-top: 1px solid var(--rule-2); }
.guide-index li { padding: 16px 0; border-bottom: 1px solid var(--rule); display: grid; gap: 4px; }
.guide-index a { font-family: var(--display); font-weight: 800; font-size: 1.15rem; }
.guide-index p { color: var(--muted); font-size: .94rem; }

/* Check each site: buttons that open a site's own search */
a.btn { display: inline-block; text-decoration: none; }
.search-fields { display: grid; gap: 10px 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.broker .searches { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin-top: 8px; }
.broker .searches .need { font-size: .82rem; }

/* AI checklists */
.ai { border-top: 1px solid var(--rule); }
.panel .intro { color: var(--muted); max-width: 75ch; }
.checklist { list-style: none; padding: 0; display: grid; border-top: 1px solid var(--rule-2); }
.check-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: start; padding: 16px 4px; border-bottom: 1px solid var(--rule); }
@media (max-width: 760px) { .check-row { grid-template-columns: minmax(0, 1fr); } }
.check-row .body { display: grid; gap: 6px; min-width: 0; }
.check-row .nm { font-weight: 700; font-size: 1.02rem; }
.check-row .nm a { font-weight: 500; font-size: .88rem; margin-left: 8px; }
.check-row .how { font-size: .94rem; }
.check-row .caveat { color: var(--muted); font-size: .88rem; }
.check-row .ctl { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.check-row select { width: auto; padding: 7px 8px; font-size: .88rem; }
.check-row .due { font-family: var(--mono); font-size: .72rem; color: var(--muted); }
.check-row .due.now { color: var(--stamp); font-weight: 500; }
.check-row.done .nm::after { content: "Done"; margin-left: 8px; font-family: var(--mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ok); }

/* Likeness page */
.prose .box h2 { margin-top: 0; }
.minor-box { border-left: 4px solid var(--stamp); }
.gate { border-left: 4px solid var(--carbon); }
.likeness-tool { display: grid; gap: 14px; }
.likeness-tool > label { max-width: 420px; }
.host-group { display: grid; gap: 6px; margin-top: 6px; }
.host-group h3 { font-size: 1.02rem; font-weight: 800; }
.hostlist { list-style: none; padding: 0; display: grid; border-top: 1px solid var(--rule-2); }
.hostlist li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 14px; padding: 10px 4px; border-bottom: 1px solid var(--rule); }
@media (max-width: 600px) { .hostlist li { grid-template-columns: minmax(0, 1fr); } }
.hostlist .nm { font-weight: 700; }
.hostlist .nm .need { font-weight: 400; }
.hostlist .acts { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.hostlist .report { font-size: .88rem; }
.need { color: var(--muted); font-size: .86rem; }
.need.now { color: var(--stamp); font-weight: 500; }
.found-form { display: grid; gap: 10px 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); align-items: end; }
.found-form .msg { grid-column: 1 / -1; }
.found-form .btn { justify-self: start; }
.found-row .addr { font-family: var(--mono); font-size: .82rem; overflow-wrap: anywhere; }
.check-row.found-row.done .nm::after { content: "Taken down"; }
