/* ════════════════════════════════════════════════════════════════════════
   HIVE — futuristic re-skin for the Honey Market homepage concept.
   Layered AFTER bee-king.css: same brand (pure black, gold comb,
   pink-gold accent, approved art), re-registered as a futuristic hive —
   hexagonal structure, amber glow, fine circuit traces, crisp sans UI
   type. The product layer stays disciplined: uniform cards, even
   spacing, prices showing. Atmosphere only — never clutter.
   ════════════════════════════════════════════════════════════════════════ */

:root{
  --hv-ui:"Avenir Next","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --hv-amber:#f0b93e;
  --hv-glow:rgba(232,200,90,.28);
  --hv-glow-soft:rgba(232,200,90,.12);
  --hv-panel:#070604;
  --hv-edge:#3a2f14;
  /* Fine circuit traces — thin gold right-angle lines + nodes, faint.
     A background whisper only; it never sits under product text. */
  --hv-circuit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%23c9a227' stroke-opacity='0.16' stroke-width='1'%3E%3Cpath d='M10 40h70l20 20h60'/%3E%3Cpath d='M250 90h-55l-18 18H90'/%3E%3Cpath d='M30 230v-60l22-22h58'/%3E%3Cpath d='M210 250v-48l-16-16h-44'/%3E%3C/g%3E%3Cg fill='%23c9a227' fill-opacity='0.35'%3E%3Ccircle cx='10' cy='40' r='2'/%3E%3Ccircle cx='160' cy='60' r='2'/%3E%3Ccircle cx='250' cy='90' r='2'/%3E%3Ccircle cx='90' cy='108' r='2'/%3E%3Ccircle cx='110' cy='148' r='2'/%3E%3Ccircle cx='30' cy='230' r='2'/%3E%3Ccircle cx='150' cy='186' r='2'/%3E%3Ccircle cx='210' cy='250' r='2'/%3E%3C/g%3E%3C/svg%3E");
}

body.hv{background-color:#000;font-family:var(--hv-ui)}

/* ── Top bar: slim, precise, one gold hairline over a comb strip ───── */
body.hv header.site{
  padding:.65rem 1.4rem;
  background-color:#000;
  border-bottom:1px solid var(--bk-gold-dim);
  box-shadow:0 1px 0 rgba(201,162,39,.22),0 10px 34px -18px var(--hv-glow);
}
body.hv .brand{
  font-family:var(--hv-ui);font-weight:600;font-size:.92rem;
  letter-spacing:.34em;color:var(--bk-gold);
}
body.hv nav.main{gap:1.5rem;font-family:var(--hv-ui)}
body.hv nav.main a{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);
}
body.hv .pickers select{
  font-family:var(--hv-ui);font-size:.8rem;background:#0a0805;
  border:1px solid var(--hv-edge);color:var(--ink);padding:.32rem .45rem;
}
body.hv .stall-link{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:#0a0803;background:var(--bk-gold);padding:.48rem .9rem;font-weight:600;
}
body.hv .stall-link:hover{background:var(--bk-gold-bright);color:#0a0803;text-decoration:none}

/* ── Search: one precise field, amber edge ─────────────────────────── */
body.hv header.site .searchbar{
  margin:0;max-width:520px;flex:1;min-width:200px;
  border:1px solid var(--hv-edge);background:#050403;
}
body.hv header.site .searchbar input{
  font-family:var(--hv-ui);font-size:.92rem;padding:.62rem .9rem;color:var(--ink);
}
body.hv header.site .searchbar input::placeholder{color:#7d745c;font-style:normal}
body.hv header.site .searchbar button{
  font-family:var(--hv-ui);font-size:.68rem;letter-spacing:.24em;
  padding:0 1.2rem;background:var(--bk-gold);
}

/* ── Hero band: three framed cards on a comb arch + circuit field ──── */
body.hv .hero{padding:2.2rem 1.5rem 1.6rem}
body.hv .hero::before{background-size:84px 147px;opacity:.9}
body.hv .hv-hero-band{
  position:relative;display:flex;justify-content:center;gap:clamp(1rem,4vw,3.2rem);
  padding:1.4rem 1rem 1.2rem;
  background-image:var(--hv-circuit);background-size:260px 260px;
}
body.hv .hv-hero-band figure{
  margin:0;padding:8px;background:#000;
  border:1px solid var(--bk-gold);outline:1px solid var(--bk-gold-dim);outline-offset:4px;
  box-shadow:0 0 34px var(--hv-glow-soft),0 0 70px rgba(229,139,177,.05);
}
body.hv .hv-hero-band img{display:block;height:290px;width:auto;background:#000}
@media (max-width:640px){ body.hv .hv-hero-band img{height:158px} }

/* ── Product grid: uniform cards, even spacing, calm margins ───────── */
body.hv main{max-width:1240px;padding:0 1.4rem 3.5rem}
body.hv .grid{
  display:grid;gap:1.3rem;margin-top:2.2rem;
  grid-template-columns:repeat(4,1fr);
}
@media (max-width:1080px){ body.hv .grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:700px){ body.hv .grid{grid-template-columns:repeat(2,1fr);gap:.9rem} }

body.hv .p-card{
  background:var(--hv-panel);border:1px solid var(--hv-edge);
  display:flex;flex-direction:column;overflow:hidden;position:relative;
}
body.hv .p-card::before{ /* gold top rule — the hive cell edge */
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--bk-gold-dim),var(--bk-gold),var(--bk-gold-dim));
  opacity:.75;
}
body.hv .p-card:hover{border-color:var(--bk-gold);box-shadow:0 0 22px var(--hv-glow-soft)}
a.p-card{text-decoration:none;color:inherit}
a.p-card:hover{text-decoration:none}
body.hv .p-img{
  background:#000;aspect-ratio:4/4.1;display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid #1d1809;padding:.7rem;
}
body.hv .p-img img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
body.hv .p-body{padding:.85rem .95rem 1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
body.hv .p-name{
  font-size:.94rem;font-weight:600;color:var(--ink);line-height:1.35;letter-spacing:.01em;
}
body.hv .p-price{display:flex;align-items:baseline;justify-content:space-between;margin-top:auto;padding-top:.35rem}
body.hv .p-price .amt{
  color:var(--bk-gold-bright);font-size:1.22rem;font-weight:600;
  font-variant-numeric:tabular-nums;letter-spacing:.01em;
}
body.hv .p-price .amt::before{ /* small gold hexagon bullet */
  content:"";display:inline-block;width:8px;height:9px;margin-right:.5rem;vertical-align:baseline;
  background:var(--bk-gold);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
body.hv .p-price .alt{color:#a89e83;font-size:.72rem;letter-spacing:.06em;white-space:nowrap}
body.hv .p-stall{
  display:flex;align-items:center;gap:.5rem;color:#a89e83;font-size:.76rem;letter-spacing:.05em;
}

/* ── Shelves: pictured tiles, one geometry for all ─────────────────── */
body.hv .shelves{
  display:grid;gap:1px;background:var(--hv-edge);border:1px solid var(--hv-edge);
  grid-template-columns:repeat(3,1fr);margin-top:.4rem;
}
@media (max-width:700px){ body.hv .shelves{grid-template-columns:repeat(2,1fr)} }
body.hv .tile{background:#050403;display:block;position:relative}
body.hv .tile .t-img{height:118px;overflow:hidden;position:relative}
body.hv .tile .t-img img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
body.hv .tile .t-img::after{ /* centre hexagon on the image's lower edge */
  content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);
  width:16px;height:18px;background:#050403;border:1px solid var(--bk-gold-dim);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
body.hv .tile .t-label{
  display:block;text-align:center;padding:.85rem .5rem 1rem;color:var(--ink);
  font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
}
body.hv .tile:hover .t-label{color:var(--bk-gold-bright)}
body.hv .tile:hover{text-decoration:none}

/* ── Footer: links + name line only ────────────────────────────────── */
body.hv footer{font-family:var(--hv-ui);padding:1.8rem 1.4rem 2.2rem}
body.hv footer nav a{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase}
body.hv footer .fname{font-size:.8rem;letter-spacing:.3em;color:var(--bk-gold);margin-top:.4rem}

/* ════════════════════════════════════════════════════════════════════════
   VISUAL ARCHITECTURE PASS — Nov 15, 2026.
   Homepage: category chips + the Fresh rail. Inner pages (charter,
   watchlist, listing, search, stall flow, doctrine pages) brought into
   the same system: same panels with the gold cell-edge rule, same
   crisp UI type, same header/footer voice. Presentation only — no
   copy, price, or behaviour changes.
   ════════════════════════════════════════════════════════════════════════ */

/* ── Category chips: one slim row under the header ─────────────────── */
body.hv .hv-chips{
  display:flex;gap:.5rem;align-items:center;
  padding:.6rem 1.4rem;overflow-x:auto;scrollbar-width:none;
  border-bottom:1px solid var(--line);background:#050403;
}
body.hv .hv-chips::-webkit-scrollbar{display:none}
body.hv .hv-chips a{
  flex:none;display:inline-flex;align-items:center;gap:.45rem;
  border:1px solid var(--hv-edge);border-radius:999px;
  padding:.34rem .85rem;color:var(--ink);background:var(--hv-panel);
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;
}
body.hv .hv-chips a::before{ /* small gold hexagon bullet */
  content:"";width:7px;height:8px;flex:none;background:var(--bk-gold-dim);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
body.hv .hv-chips a:hover{border-color:var(--bk-gold);color:var(--bk-gold-bright);text-decoration:none}
body.hv .hv-chips a:hover::before{background:var(--bk-gold)}

/* ── Fresh in the Hive: the newest listings, above the main grid ───── */
body.hv .hv-fresh{margin-top:2.4rem}
body.hv .hv-fresh-head{display:flex;align-items:center;gap:.9rem;margin-bottom:1.15rem}
body.hv .hv-fresh-head .fh-hex{
  width:13px;height:15px;flex:none;background:var(--bk-gold);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
body.hv .hv-fresh-head .fh-label{
  font-size:.78rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:var(--bk-gold-bright);white-space:nowrap;
}
body.hv .hv-fresh-head .fh-rule{
  flex:1;height:1px;
  background:linear-gradient(90deg,var(--bk-gold-dim),rgba(201,162,39,.06));
}
body.hv .hv-fresh-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
@media (max-width:1080px){ body.hv .hv-fresh-rail{grid-template-columns:repeat(2,1fr)} }
@media (max-width:700px){ body.hv .hv-fresh-rail{grid-template-columns:repeat(2,1fr);gap:.9rem} }
body.hv .f-card{
  background:var(--hv-panel);border:1px solid var(--hv-edge);
  display:flex;flex-direction:column;overflow:hidden;position:relative;
}
body.hv .f-card::before{ /* gold top rule — same cell edge as .p-card */
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--bk-gold-dim),var(--bk-gold),var(--bk-gold-dim));
  opacity:.75;
}
body.hv .f-card:hover{border-color:var(--bk-gold);box-shadow:0 0 22px var(--hv-glow-soft)}
a.f-card{text-decoration:none;color:inherit}
a.f-card:hover{text-decoration:none}
body.hv .f-card .p-img{
  background:#000;aspect-ratio:4/4.1;display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid #1d1809;padding:.7rem;
}

/* ── Shelf tiles: the product count under the label ────────────────── */
body.hv .tile .t-count{
  display:block;text-align:center;padding:0 .5rem .95rem;margin-top:-.55rem;
  color:#a89e83;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
}

/* ── Reading measure for text pages inside the wide hive main ──────── */
body.hv main.hv-doc{max-width:880px}
body.hv main.narrow{max-width:820px}

/* ── Doc pages (charter, watchlist): hive headings + panels ────────── */
body.hv main h1.caps{
  font-family:var(--hv-ui);font-weight:600;font-size:1.3rem;
  letter-spacing:.3em;color:var(--bk-gold-bright);
}
body.hv main h1.caps::after{
  content:"";display:block;width:132px;height:12px;margin:.8rem auto 0;
  background-image:var(--bk-comb-field);background-size:28px 49px;background-position:center;
  border-top:1px solid rgba(201,162,39,.35);border-bottom:1px solid rgba(201,162,39,.35);
}
body.hv .sub{font-size:.95rem}
body.hv .law{
  background:var(--hv-panel);border:1px solid var(--hv-edge);
  padding:1.35rem 1.55rem;position:relative;
}
body.hv .law::before{ /* gold top rule — the hive cell edge */
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--bk-gold-dim),var(--bk-gold),var(--bk-gold-dim));
  opacity:.75;
}
body.hv .law h3{font-family:var(--hv-ui);letter-spacing:.04em}
body.hv .wrow{
  background:var(--hv-panel);border:1px solid var(--hv-edge);position:relative;
}
body.hv .wrow::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--bk-gold-dim),var(--bk-gold),var(--bk-gold-dim));
  opacity:.75;
}
body.hv .wrow button{
  font-family:var(--hv-ui);border-color:var(--hv-edge);color:var(--ink-dim);
}
body.hv .wrow button:hover{border-color:var(--bk-gold);color:var(--bk-gold-bright)}

/* ── Listing page (Bee King Journal): hive furniture ───────────────── */
body.hv .listing .cover{box-shadow:0 0 34px var(--hv-glow-soft)}
body.hv .listing h1{font-family:var(--hv-ui);letter-spacing:.01em}
body.hv .size-opt{background:var(--hv-panel);border-color:var(--hv-edge)}
body.hv .size-opt:hover{border-color:var(--bk-gold-dim)}
body.hv .sizes legend{font-family:var(--hv-ui)}
body.hv .price-row .amt::before{ /* small gold hexagon bullet, as on the grid */
  content:"";display:inline-block;width:9px;height:10px;margin-right:.55rem;vertical-align:baseline;
  background:var(--bk-gold);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
body.hv .buy-btn{font-family:var(--hv-ui)}

/* ── Cards everywhere (search results, stall shelves): cell edge ───── */
body.hv .card{border-color:var(--hv-edge);background:var(--hv-panel);position:relative}
body.hv .card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:1;
  background:linear-gradient(90deg,var(--bk-gold-dim),var(--bk-gold),var(--bk-gold-dim));
  opacity:.75;pointer-events:none;
}
body.hv .card h3{font-family:var(--hv-ui);font-weight:600;letter-spacing:.06em;text-transform:none;font-size:1rem}

/* ── Search furniture: modes, filters, panels, chips ───────────────── */
body.hv .modes button,body.hv .filters select,body.hv .filters input,
body.hv .chip,body.hv .viewerbar,body.hv .ask-panel,body.hv .hidden-note{
  font-family:var(--hv-ui);
}
body.hv .modes button{border-color:var(--hv-edge);background:var(--hv-panel)}
body.hv .filters select,body.hv .filters input{border-color:var(--hv-edge);background:#0a0805}
body.hv .viewerbar,body.hv .ask-panel{background:var(--hv-panel);border-color:var(--hv-edge)}
body.hv .askbar{border-color:var(--hv-edge)}
body.hv .askbar button,body.hv header.site .searchbar button{font-family:var(--hv-ui)}
body.hv .newchip{border-color:var(--bk-gold);font-family:var(--hv-ui)}

/* ── Core pages (stall, listing, stall flow): hive voice ───────────── */
body.hv .draftbar{font-family:var(--hv-ui)}
body.hv .pagehead h1,body.hv .stallhead h1{
  font-family:var(--hv-ui);font-weight:600;letter-spacing:.3em;
}
body.hv h2.sec{font-family:var(--hv-ui);font-weight:600;letter-spacing:.26em;text-transform:uppercase}
body.hv .buy,body.hv .sellerdoor a{font-family:var(--hv-ui)}
body.hv .note,body.hv .spec,body.hv .agedoor,body.hv .shortform{
  background:var(--hv-panel);border-color:var(--hv-edge);
}
body.hv form.flow label,body.hv form.flow legend{font-family:var(--hv-ui)}
body.hv form.flow input[type=text],body.hv form.flow textarea,body.hv form.flow select{
  border-color:var(--hv-edge);font-family:var(--hv-ui);
}
body.hv fieldset{border-color:var(--hv-edge)}

/* ════════════════════════════════════════════════════════════════════════
   PRO VISUAL ARCHITECTURE — Nov 15, 2026.
   The deep study of the pro marketplaces, applied (report:
   research_notes/marketplace-visual-architecture-easy-st-20261114-1923).
   One frozen card everywhere the founding stock shows; warm near-black
   surfaces (never pure #000); gold spent only on the price tag, the Buy
   button, the selected chip and the wordmark; hexagons as frame motif
   only — logo, shelf bullets, price tag, shelf tiles, the faint header
   strip — never clipping product art; no glows; one hover behaviour.
   This section is last in the file: its rules win ties over the earlier
   hive sections by design.
   ════════════════════════════════════════════════════════════════════════ */

:root{
  /* tokens — spacing 4/8/16/24/32/48/64 · shelf gap 48 · type in 3 steps */
  --hv-bg:#0D0B07;            /* warm near-black page ground */
  --hv-surface:#1B1811;       /* card surface — one step lighter than bg */
  --hv-panel2:#14110B;        /* panel surface — half step */
  --hv-border:#2C2617;        /* warm-grey border, not gold */
  --hv-text:#EDE8DC;          /* warm off-white body text */
  --hv-meta:#A79E86;          /* muted warm grey meta */
  --s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:32px; --s6:48px; --s7:64px;
  --hv-card-pad:12px; --hv-radius:8px;
  --hv-ease:150ms ease;
  --hv-edge:#2C2617;          /* re-points the earlier sections' edge var */
  --hv-panel:#14110B;         /* re-points the earlier sections' panel var */
}

body.hv{
  background-color:var(--hv-bg);
  background-image:none;      /* the comb field leaves the page ground;
                                 the faint strip stays in the header only */
  color:var(--hv-text);
  font-size:14px;
}
body.hv footer{background-image:none}

/* ── Header: ≤64px, sticky, one hairline — no glow ─────────────────── */
body.hv header.site{
  position:sticky;top:0;z-index:50;
  padding:8px 24px;
  background-color:var(--hv-bg);
  box-shadow:0 1px 0 rgba(201,162,39,.18);
}
body.hv header.site .searchbar input{padding:.5rem .9rem}
body.hv .brand{font-size:.88rem}
body.hv .stall-link{padding:.45rem .9rem}

/* ── Chips: one primary row, ≥40px targets, gold fill = selected ───── */
body.hv .hv-chips{padding:8px 24px;background:var(--hv-bg)}
body.hv .hv-chips a{
  min-height:40px;padding:.34rem .95rem;background:var(--hv-panel2);
  transition:border-color var(--hv-ease),background-color var(--hv-ease),color var(--hv-ease);
}
body.hv .hv-chips a.on{
  background:var(--bk-gold);border-color:var(--bk-gold);color:#0A0803;font-weight:700;
}
body.hv .hv-chips a.on::before{background:#0A0803}
body.hv .hv-chips a.on:hover{color:#0A0803}

/* ── Hero: the wordless art band, compressed ───────────────────────── */
/* Dream's hero stays — three framed arts, no words — but shallower, so
   the first products land inside the first ~600px of the page. */
body.hv .hero{padding:16px 24px 4px}
body.hv .hv-hero-band{padding:10px 6px 8px;background-image:none}
body.hv .hv-hero-band figure{
  padding:6px;
  box-shadow:none;
}
body.hv .hv-hero-band img{height:148px}
@media (max-width:640px){ body.hv .hv-hero-band img{height:100px} }
body.hv .bk-divider{margin-top:24px}

/* ── ONE FROZEN CARD — grid, fresh rail, search shelf, related rails ── */
body.hv .hv-prod{
  background:var(--hv-surface);
  border:1px solid var(--hv-border);
  border-radius:var(--hv-radius);
  display:flex;flex-direction:column;overflow:hidden;position:relative;
  transition:border-color var(--hv-ease),transform var(--hv-ease);
}
body.hv a.hv-prod{color:inherit;text-decoration:none}
body.hv a.hv-prod:hover{color:inherit;text-decoration:none}
body.hv .hv-prod:hover{border-color:var(--hv-gold);transform:translateY(-2px)}
body.hv .hv-prod-img{
  margin:var(--hv-card-pad) var(--hv-card-pad) 0;
  border-radius:var(--hv-radius);overflow:hidden;background:#000;flex:none;
}
body.hv .hv-prod--portrait .hv-prod-img{aspect-ratio:2/3}
body.hv .hv-prod--square .hv-prod-img{aspect-ratio:1/1}
body.hv .hv-prod-img img{width:100%;height:100%;object-fit:cover;display:block}
body.hv .hv-prod-body{
  padding:var(--hv-card-pad);display:flex;flex-direction:column;gap:var(--s2);flex:1;
}
body.hv .hv-prod-title{
  font-size:16px;font-weight:700;line-height:1.3;color:var(--hv-text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
body.hv .hv-prod-format{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--hv-meta);
}
body.hv .hv-prod-price{
  display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:var(--s1);
}
body.hv .hv-prod-price .alt{
  color:var(--hv-meta);font-size:12px;letter-spacing:.04em;white-space:nowrap;
}
body.hv .hv-prod .newchip{align-self:flex-start;margin:12px 12px 0}

/* The hexagonal price tag — the hive's ownable micro-element.
   Gold outline, black fill, off-white numerals; nowhere else on a card. */
.hex-tag{
  display:inline-flex;align-items:center;flex:none;
  background:var(--bk-gold);
  clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%);
  padding:2px;
}
.hex-tag .amt{
  background:#0D0B07;color:var(--hv-text,#EDE8DC);
  font-weight:700;font-size:17px;line-height:1;font-variant-numeric:tabular-nums;
  padding:6px 14px;white-space:nowrap;
  clip-path:polygon(11% 0,89% 0,100% 50%,89% 100%,11% 100%,0 50%);
}
.hex-tag--lg{padding:2.5px}
.hex-tag--lg .amt{font-size:22px;padding:8px 18px}

/* ── Grids: 24px gaps desktop, 16px mobile; shelves breathe at 48 ──── */
body.hv .grid{gap:var(--s4);margin-top:var(--s6)}
@media (max-width:700px){ body.hv .grid{gap:var(--s3)} }
body.hv .hv-fresh{margin-top:var(--s4)}
body.hv .hv-fresh-rail{gap:var(--s4)}
@media (max-width:700px){ body.hv .hv-fresh-rail{gap:var(--s3)} }
body.hv .shelves{background:var(--hv-border);border-color:var(--hv-border);margin-top:var(--s4)}
body.hv .tile{background:var(--hv-panel2)}

/* ── Panels + prototype cards take the same surfaces ───────────────── */
body.hv .law,body.hv .note,body.hv .spec,body.hv .wrow,
body.hv .viewerbar,body.hv .ask-panel,body.hv .hidden-note{
  background:var(--hv-panel2);border-color:var(--hv-border);border-radius:var(--hv-radius);
}
body.hv .card{
  background:var(--hv-surface);border-color:var(--hv-border);border-radius:var(--hv-radius);
}
body.hv .card::after{display:none}   /* no comb ghost inside cards */
body.hv .modes button{background:var(--hv-panel2);border-color:var(--hv-border)}
body.hv .filters select,body.hv .filters input{background:var(--hv-panel2);border-color:var(--hv-border)}
body.hv .listing .cover{box-shadow:none}
