/* ═══════════════════════════════════════════════════════════════════
   EVC hi-fi demo — shared skin
   Ported from docs/product/ui-proposal/wireframes (Proposal-D v4 skin).
   The v4 tray's dashed "gap day" style (.td.gap) is deliberately NOT
   ported — free days are quiet solid rows (DECISION §8).
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --paper:#F5EFE2; --paper2:#EDE3CF; --card:#FBF7EC;
  --ink:#22302E; --ink-soft:#5A6764; --ink-faint:#8A948F;
  --sea:#123F48; --sea-deep:#0B2E35; --lagoon:#3E7C74; --marine:#3E6672;
  --brass:#B4863E; --brass-soft:#C9A860; --coral:#C2593B; --coral-deep:#A34328;
  --line:rgba(18,63,72,.18); --line-soft:rgba(18,63,72,.10);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Avenir Next",Avenir,"Trebuchet MS","Segoe UI",Helvetica,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scrollbar-gutter:stable}
body{background:#C6BCA6;font-family:var(--sans);color:var(--ink);
  -webkit-font-smoothing:antialiased}
.app{width:1440px;margin:0 auto;background:var(--paper);min-height:var(--fullh,100vh);
  box-shadow:0 26px 60px rgba(22,32,30,.38);position:relative;
  display:flex;flex-direction:column}
button{font-family:var(--sans);cursor:pointer}
input,textarea,select{font-family:var(--sans)}
a{color:inherit}

/* ─── top bar ─── */
.topbar{height:48px;flex:none;display:flex;align-items:center;gap:22px;
  padding:0 36px;background:var(--sea-deep);color:#EDE4D2;position:relative;z-index:40}
.brand{font-family:var(--serif);font-size:20px;color:#EDE4D2;text-decoration:none}
.brand em{font-style:normal;color:#C9A860}
.crumb{font-size:12px;color:#C9D6D2;text-decoration:none}
.crumb b{color:#fff}
.crumb:hover b{color:#EBD9AE}
.agent-chip{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:12px}
.agent-chip .av{width:26px;height:26px;border-radius:50%;
  background:linear-gradient(140deg,var(--brass),#8A5F26);
  display:grid;place-items:center;font-size:10px;font-weight:600;color:#fff}

/* ─── vacation ribbon + per-vacation tabs ─── */
.ribbon{background:var(--sea);color:#EDE4D2;padding:13px 36px 0;
  display:flex;flex-wrap:wrap;align-items:center;column-gap:14px}
.rname{font-family:var(--serif);font-size:22px;letter-spacing:.3px}
.rmeta{font-size:12px;color:#AFC5C1;margin-top:2px}
.rown{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  border-radius:999px;padding:4px 12px;margin-left:auto}
.rtabs{flex-basis:100%;display:flex;gap:6px;margin-top:11px}
.rtabs a{font-size:11.5px;letter-spacing:1.3px;text-transform:uppercase;color:#AFC5C1;
  text-decoration:none;padding:10px 17px;border-radius:8px 8px 0 0}
.rtabs a.on{background:var(--paper);color:var(--sea);font-weight:600}
.rtabs a:not(.on):hover{color:#EDE4D2}
.soon{font-size:8px;letter-spacing:1px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25);border-radius:4px;padding:2px 5px;
  margin-left:5px;color:#C9A860;vertical-align:2px}

/* ─── shared status chip (workspace row · hub ribbon · plan) ─── */
.schip{display:inline-flex;align-items:center;gap:7px;font-size:10px;
  letter-spacing:1.3px;text-transform:uppercase;font-weight:600;
  border-radius:999px;padding:5px 12px;white-space:nowrap}
.schip::before{content:"";width:7px;height:7px;border-radius:50%;flex:none}
.schip.draft{background:rgba(180,134,62,.2);border:1px solid rgba(201,168,96,.55);color:#8A5F26}
.schip.draft::before{background:#C9A860}
.schip.sub{background:rgba(62,102,114,.14);border:1px solid rgba(62,102,114,.45);color:var(--marine)}
.schip.sub::before{background:var(--marine)}
.schip.proc{background:rgba(194,89,59,.12);border:1px solid rgba(194,89,59,.4);color:var(--coral-deep)}
.schip.proc::before{background:var(--coral)}
.schip.conf{background:rgba(62,124,116,.14);border:1px solid rgba(62,124,116,.45);color:var(--lagoon)}
.schip.conf::before{background:var(--lagoon)}
.schip.arch{background:rgba(90,103,100,.12);border:1px solid rgba(90,103,100,.35);color:var(--ink-soft)}
.schip.arch::before{background:var(--ink-faint)}
.on-dark .schip.draft{color:#EBD9AE}
.on-dark .schip.sub{background:rgba(175,197,193,.16);border-color:rgba(175,197,193,.5);color:#C9D6D2}
.on-dark .schip.sub::before{background:#AFC5C1}
.on-dark .schip.proc{color:#F0B9A4}
.on-dark .schip.conf{color:#B9DCD2}

/* ─── catalog masthead ─── */
.mast{display:flex;align-items:flex-end;gap:18px;padding:18px 36px 12px;
  border-bottom:1px solid var(--line)}
.mast .k{font-size:10px;letter-spacing:3px;text-transform:uppercase;
  color:var(--brass);font-weight:700}
.mast h1{font-family:var(--serif);font-size:29px;font-weight:500}
.mast h1 i{color:var(--sea)}
.axis{display:flex;background:var(--paper2);border:1px solid var(--line);
  border-radius:999px;padding:3px;margin-left:6px;flex:none}
.axis button{font-size:11.5px;letter-spacing:.8px;padding:8px 17px;border-radius:999px;
  color:var(--ink-soft);border:0;background:transparent}
.axis button.on{background:var(--sea);color:#F3EDDE;font-weight:600}
.search{margin-left:auto;display:flex;align-items:center;gap:9px;background:#fff;
  border:1px solid var(--line);border-radius:999px;padding:0 17px;width:290px}
.search input{border:0;outline:0;background:transparent;width:100%;
  padding:9px 0;font-size:12px;color:var(--ink)}
.search input::placeholder{color:var(--ink-faint)}

/* ─── buttons ─── */
.btn{border-radius:6px;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;
  font-weight:700;padding:11px 18px;border:0;text-decoration:none;white-space:nowrap;
  display:inline-block;text-align:center}
.btn.go{background:var(--sea);color:#F3EDDE;box-shadow:0 4px 12px rgba(11,46,53,.3)}
.btn.go:hover{background:var(--sea-deep)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--sea)}
.btn.ghost:hover{background:var(--card)}
.btn.brass{background:var(--brass);color:#fff}
.btn.brass:hover{background:#9C7333}
.btn:disabled{opacity:.45;cursor:default}
.btn.quiet{background:transparent;border:0;color:var(--ink-soft);text-transform:none;
  letter-spacing:0;font-weight:600;font-size:12px;padding:6px 8px}
.btn.quiet:hover{color:var(--sea)}

/* ─── category gateway ─── */
.gateway{display:grid;grid-template-columns:repeat(7,1fr);gap:11px;padding:16px 36px 6px}
.gtile{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);
  text-align:left;position:relative;box-shadow:0 3px 10px rgba(22,48,46,.07);
  transition:transform .15s ease,box-shadow .15s ease}
.gtile:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(22,48,46,.14)}
.gtile .gimg{display:block;height:64px;background-size:cover;background-position:center;
  position:relative;overflow:hidden}
.gtile .gimg::after{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(to top,rgba(11,46,53,.45),transparent 60%)}
.gtile .gt{padding:8px 10px 9px;font-size:12px;font-weight:600;line-height:1.3}
.gtile .gt small{display:block;font-weight:400;font-size:10.5px;color:var(--ink-faint);margin-top:1px}
.gtile.ong{outline:2px solid var(--sea);outline-offset:-2px}
.gtile.allt .gimg{background:linear-gradient(150deg,var(--sea),var(--sea-deep));
  display:grid;place-items:center;font-family:var(--serif);font-style:italic;
  color:#EBD9AE;font-size:15px}
/* collapsed gateway → slim sticky strip */
.gstrip{display:none;align-items:center;gap:8px;padding:9px 36px;background:var(--paper);
  border-bottom:1px solid var(--line)}
.gstrip .gsit{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
  background:var(--card);border-radius:999px;padding:5px 12px 5px 5px;font-size:11.5px;
  font-weight:600;color:var(--ink-soft)}
.gstrip .gsit .dot{width:22px;height:22px;border-radius:50%;background-size:cover;
  background-position:center;flex:none}
.gstrip .gsit.ong{border-color:var(--sea);background:var(--sea);color:#F3EDDE}
.gstrip .gsit:hover:not(.ong){border-color:var(--lagoon);color:var(--sea)}

/* ─── category sections ─── */
.sec{padding:4px 36px 8px}
.sec-head{display:flex;align-items:baseline;gap:14px;margin:14px 0 10px;
  border:0;background:transparent;width:100%;text-align:left}
.sec-head h2{font-family:var(--serif);font-size:21px;font-weight:500}
.sec-head .n{font-size:11px;color:var(--ink-faint)}
.sec-head .chev{margin-left:auto;font-size:10.5px;letter-spacing:1.4px;
  text-transform:uppercase;font-weight:700;color:var(--sea);
  border-bottom:2px solid var(--brass);padding-bottom:1px}
.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}

/* ─── offering card (4-layer info budget) ─── */
.acard{background:var(--card);border:1px solid var(--line);border-radius:10px;
  overflow:hidden;box-shadow:0 3px 10px rgba(22,48,46,.08);position:relative;
  text-align:left;transition:box-shadow .15s ease,transform .15s ease}
.acard:hover{box-shadow:0 10px 24px rgba(22,48,46,.16);transform:translateY(-2px)}
.aimg{height:138px;position:relative;overflow:hidden;display:flex;align-items:flex-end;
  justify-content:space-between;padding:9px 11px;background-size:cover;background-position:center}
.aimg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,46,53,.60),transparent 55%);z-index:2}
.aimg>*:not(.ph){position:relative;z-index:3}
.aimg .cap{font-family:var(--serif);font-style:italic;font-size:10px;
  color:rgba(255,255,255,.85);text-shadow:0 1px 3px rgba(0,0,0,.45)}
/* seeded photo layer over a gradient fallback — used inside any image slot */
.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
/* gradient placeholders (offline fallback behind the photo layer) */
.g-sunset{background:linear-gradient(150deg,#E8B36A,#C2593B 55%,#6E2F3C)}
.g-sea{background:linear-gradient(150deg,#9CC6C0,#3E7C74 48%,#123F48)}
.g-ruin{background:linear-gradient(150deg,#E3CBA0,#B4863E 55%,#6E4A22)}
.g-town{background:linear-gradient(150deg,#CFE0E2,#7FA8B0 55%,#3E6672)}
.g-dine{background:linear-gradient(150deg,#D9A08A,#8A4A52 55%,#3F2B3E)}
.g-wine{background:linear-gradient(150deg,#C98BA0,#7C3B54 55%,#3A2140)}
.g-deck{background:linear-gradient(150deg,#41608F,#22385E 55%,#111D38)}
.g-spa{background:linear-gradient(150deg,#D9E0C8,#9DB59A 55%,#5C7A6A)}
.dur{font-size:9px;letter-spacing:1px;text-transform:uppercase;
  background:rgba(11,46,53,.55);color:#F3EDDE;border-radius:4px;padding:3px 8px}
.abody{padding:11px 13px 13px}
.abody h3{font-family:var(--serif);font-size:16px;font-weight:600;line-height:1.25}
.abody .cat{font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--brass);font-weight:700;margin-bottom:3px}
.abody .sub{font-size:11px;color:var(--ink-soft);margin-top:3px;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.afoot{display:flex;align-items:flex-end;margin-top:9px;gap:8px}
.days{font-size:10px;color:var(--ink-faint)}
.days b{color:var(--lagoon);font-weight:600}
.facts{margin-left:auto;font-size:10px;color:var(--ink-soft);text-align:right;line-height:1.4}
.facts b{color:var(--sea);font-weight:600}
.acts{display:flex;gap:8px;margin-top:10px;align-items:center}
.bshort{border:1px solid var(--line);background:var(--paper);color:var(--sea);
  font-size:10px;font-weight:700;letter-spacing:.6px;border-radius:999px;padding:6px 11px}
.bshort::before{content:"+ ";color:var(--coral);font-weight:700}
.bshort.onsl{background:var(--lagoon);color:#fff;border-color:var(--lagoon)}
.bshort.onsl::before{content:"✓ ";color:#EBD9AE}
.bshort:hover:not(.onsl){border-color:var(--lagoon)}
.badd{margin-left:auto;background:var(--sea);color:#F3EDDE;border:0;border-radius:999px;
  font-size:10px;font-weight:700;letter-spacing:.6px;padding:7px 13px}
.badd:hover{background:var(--sea-deep)}
.inplan-tag{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
  color:#fff;background:var(--sea);border-radius:999px;padding:5px 10px}

/* ─── the plan panel (zone 4) ─── */
.panel{background:var(--card);border-left:1px solid var(--line);
  display:flex;flex-direction:column;overflow:hidden}
.panel .ph-head{padding:16px 20px 10px;border-bottom:1px solid var(--line-soft)}
.panel .ph-head .k{font-size:9px;letter-spacing:2.2px;text-transform:uppercase;
  color:var(--brass);font-weight:700}
.panel .ph-head h2{font-family:var(--serif);font-size:18px;font-weight:500;margin-top:2px}
.pdays{flex:1;overflow-y:auto;padding:6px 20px}
.prow{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft);
  align-items:flex-start}
.prow:last-child{border-bottom:0}
.prow .dl{flex:none;width:64px;padding-top:3px}
.prow .dl b{display:block;font-size:11px;font-weight:700;color:var(--sea)}
.prow .dl small{font-size:9.5px;color:var(--ink-faint)}
.prow .dstack{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}
.pitem{display:flex;align-items:center;gap:7px;background:var(--paper);
  border:1px solid var(--line);border-radius:7px;padding:6px 9px;font-size:11.5px;
  position:relative}
.pitem .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-weight:600;color:var(--ink)}
.pitem .ptm{flex:none;font-size:10px;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.pitem .ic{flex:none;border:0;background:transparent;color:var(--ink-faint);
  font-size:12px;padding:2px 4px;border-radius:4px;opacity:0;transition:opacity .12s}
.pitem:hover .ic{opacity:1}
.pitem .ic:hover{color:var(--coral);background:rgba(194,89,59,.08)}
.pitem .ic.mv:hover{color:var(--sea);background:rgba(18,63,72,.07)}
.pitem.flash{animation:rowflash 1.2s ease 1}
@keyframes rowflash{0%{box-shadow:0 0 0 3px rgba(180,134,62,.55);border-color:var(--brass)}
  100%{box-shadow:0 0 0 0 rgba(180,134,62,0)}}
.freeday{font-size:11px;color:var(--ink-faint);padding:5px 0 3px}
.heart{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--coral-deep);
  background:rgba(194,89,59,.07);border-radius:6px;padding:4px 8px}
.heart::before{content:"♥";font-size:11px;color:var(--coral)}
/* shortlist block */
.slblock{border-top:1px solid var(--line);padding:11px 20px;background:var(--paper)}
.slblock .k{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--brass-soft);
  color:var(--brass);font-weight:700;margin-bottom:7px;display:block}
.slitems{display:flex;flex-wrap:wrap;gap:6px}
.slit{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);
  background:var(--card);border-radius:999px;padding:4px 10px 4px 4px;font-size:10.5px;
  font-weight:600;color:var(--ink-soft)}
.slit .dot{width:20px;height:20px;border-radius:50%;background-size:cover;background-position:center}
.slit:hover{border-color:var(--lagoon);color:var(--sea)}
/* panel foot */
.pfoot{border-top:1px solid var(--line);padding:13px 20px 16px;background:var(--card)}
.psum{font-size:11.5px;color:var(--ink-soft);margin-bottom:10px}
.psum b{color:var(--ink)}
.psum .sl{color:var(--brass)}

/* ─── overlays: scrim, drawer, modal ─── */
.scrim{position:fixed;inset:0;background:rgba(34,48,46,.35);z-index:60;
  opacity:0;pointer-events:none;transition:opacity .18s ease}
.scrim.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;width:700px;background:var(--paper);z-index:70;
  box-shadow:0 0 60px rgba(11,46,53,.45);transform:translateX(-110%);
  transition:transform .22s ease;display:flex;flex-direction:column;overflow:hidden}
.drawer.open{transform:translateX(0)}
.drawer .dr-close{position:absolute;top:14px;right:16px;z-index:5;border:0;
  background:rgba(245,239,226,.92);border:1px solid var(--line);border-radius:999px;
  width:34px;height:34px;font-size:14px;color:var(--sea)}
.modal-wrap{position:fixed;inset:0;z-index:80;display:none;place-items:center}
.modal-wrap.open{display:grid}
.modal{width:520px;background:var(--paper);border-radius:12px;overflow:hidden;
  box-shadow:0 30px 80px rgba(11,46,53,.5);animation:pop .16s ease}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
.modal .mh{background:var(--sea-deep);color:#EDE4D2;padding:14px 20px}
.modal .mh .k{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#C9A860;font-weight:700}
.modal .mh h3{font-family:var(--serif);font-size:17px;font-weight:500;margin-top:2px}
.modal .mb{padding:16px 20px 18px}
.daychips{display:flex;flex-wrap:wrap;gap:8px}
.dchip{border:1px solid var(--line);background:var(--card);border-radius:9px;
  padding:9px 14px;font-size:12px;text-align:center;min-width:86px}
.dchip b{display:block;font-size:12.5px;color:var(--sea)}
.dchip small{font-size:10px;color:var(--ink-faint)}
.dchip:hover:not(:disabled),.dchip:focus-visible{border-color:var(--sea);background:var(--paper)}
.dchip:focus-visible{outline:2px solid var(--brass);outline-offset:1px}
.dchip:disabled{background:var(--paper2);color:var(--ink-faint);cursor:default}
.dchip:disabled b{color:var(--ink-faint)}
.mfoot{display:flex;align-items:center;gap:10px;padding:0 20px 18px}
/* picker sections — day + (feed-driven) time & party */
.pk-sec{margin-top:15px}
.pk-sec:first-child{margin-top:0}
.pk-k{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;
  color:var(--brass);font-weight:700;margin-bottom:8px}
.pk-k small{color:var(--ink-faint);letter-spacing:1px;font-weight:600}
.dchip.sel,.tchip.sel{border-color:var(--sea);background:var(--paper);
  box-shadow:inset 0 0 0 1px var(--sea)}
.timechips{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.tchip{border:1px solid var(--line);background:var(--card);border-radius:999px;
  padding:7px 13px;font-size:12px;color:var(--sea)}
.tchip:hover,.tchip:focus-visible{border-color:var(--sea);background:var(--paper)}
.tchip:focus-visible{outline:2px solid var(--brass);outline-offset:1px}
.timechips input{border:1px solid var(--line);border-radius:999px;background:#fff;
  padding:7px 13px;font-size:12px;width:88px;outline:0;color:var(--ink)}
.timechips input:focus{border-color:var(--lagoon);box-shadow:0 0 0 2px rgba(62,124,116,.18)}
.pparty{display:flex;align-items:center;gap:12px}
.pparty b{font-size:15px;min-width:18px;text-align:center;font-variant-numeric:tabular-nums}
.pstep{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);
  background:var(--card);font-size:15px;color:var(--sea);line-height:1}
.pstep:hover:not(:disabled){border-color:var(--sea);background:var(--paper)}
.pstep:disabled{color:var(--ink-faint);background:var(--paper2)}
.pk-note{font-size:11px;color:var(--ink-faint)}

/* ─── toast ─── */
.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,16px);
  background:var(--sea-deep);color:#F3EDDE;font-size:12.5px;border-radius:8px;
  padding:11px 18px;box-shadow:0 10px 26px rgba(0,0,0,.35);z-index:90;
  display:flex;gap:10px;align-items:center;opacity:0;pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;max-width:640px}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast::before{content:"✓";color:#9CC6A8;font-weight:700}
.toast button{border:0;background:rgba(255,255,255,.12);color:#EBD9AE;font-size:11px;
  font-weight:700;letter-spacing:.8px;text-transform:uppercase;border-radius:5px;padding:5px 10px}
.toast button:hover{background:rgba(255,255,255,.2)}

/* ─── forms (prefs card · review fields) ─── */
.field{display:flex;flex-direction:column;gap:4px}
.field label{font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--ink-soft);font-weight:700}
.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:7px;
  background:#fff;padding:8px 11px;font-size:12.5px;color:var(--ink);outline:0}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--lagoon);
  box-shadow:0 0 0 2px rgba(62,124,116,.18)}
.field textarea{resize:vertical;min-height:56px}

/* ─── status pipeline (submitted) ─── */
.pipe{display:flex;align-items:center;gap:0}
.pstep{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.2px;
  text-transform:uppercase;font-weight:600;color:var(--ink-faint)}
.pstep .pd{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);
  background:var(--paper);display:grid;place-items:center;font-size:11px;color:var(--ink-faint)}
.pstep.done{color:var(--lagoon)}
.pstep.done .pd{background:var(--lagoon);border-color:var(--lagoon);color:#fff}
.pstep.now{color:var(--sea)}
.pstep.now .pd{border-color:var(--brass);background:rgba(180,134,62,.12);color:var(--brass)}
.pbar{width:56px;height:2px;background:var(--line);margin:0 12px}
.pbar.done{background:var(--lagoon)}

/* ─── demo widget (explicitly outside the product's visual system) ─── */
/* sits under overlays (scrim 40+) so it never covers drawer/modal actions */
.demo-pill{position:fixed;left:14px;bottom:14px;z-index:35;background:#1c1c1e;
  color:#d5d5d7;border-radius:10px;font:11px/1.4 "SF Mono",ui-monospace,Menlo,monospace;
  box-shadow:0 8px 24px rgba(0,0,0,.4);overflow:hidden}
.demo-pill .dp-h{display:flex;align-items:center;gap:7px;padding:7px 11px;cursor:pointer;
  user-select:none}
.demo-pill .dp-h::before{content:"◆";color:#e0b45c;font-size:9px}
.demo-pill .dp-b{display:none;border-top:1px solid #333;padding:9px 11px;
  flex-direction:column;gap:7px;min-width:190px}
.demo-pill.open .dp-b{display:flex}
.demo-pill button{border:1px solid #444;background:#2a2a2c;color:#d5d5d7;
  border-radius:6px;padding:6px 9px;font:inherit;text-align:left}
.demo-pill button:hover{background:#38383b}

/* ─── misc ─── */
.kicker{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--brass);font-weight:700}
.serif-h{font-family:var(--serif);font-weight:500}
.notice{font-size:11px;color:var(--ink-soft);line-height:1.55}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
::selection{background:rgba(180,134,62,.25)}
