/* ============================================================
   BrandPilot visual kit — infographic layer.
   Namespaced (--v-* tokens, .v-* classes) so it never collides
   with the legacy cascade in styles.css. Loaded last.
   ============================================================ */

:root {
  --v-canvas:#f2eff8; --v-surface:#ffffff; --v-sunk:#f7f5fb;
  --v-ink:#1b1626; --v-ink2:#5b5470; --v-ink3:#8a83a0;
  --v-line:#e2dcee; --v-line2:#cdc4e0;
  --v-violet:#6d4aff; --v-violet-s:#ece7ff;
  --v-rose:#e63b7a;   --v-rose-s:#fde8f0;
  --v-teal:#0b8a72;   --v-teal-s:#dcf3ee;
  --v-amber:#a96508;  --v-amber-s:#fcefd9;
  --v-blue:#2b5fd9;   --v-blue-s:#e3ebfd;
  --v-grid:#e7e2f1;   --v-dot:#b9b1cb;
  --v-display:"Avenir Next","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,sans-serif;
  --v-ui:"Avenir Next",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --v-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --v-r:14px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --v-canvas:#141020; --v-surface:#1e1830; --v-sunk:#251e3a;
    --v-ink:#f2eefb; --v-ink2:#b7aed0; --v-ink3:#8d84a8;
    --v-line:#322a48; --v-line2:#453a60;
    --v-violet:#a892ff; --v-violet-s:#2c2450;
    --v-rose:#ff6fa1;   --v-rose-s:#3d1c2c;
    --v-teal:#4fd3b4;   --v-teal-s:#14322c;
    --v-amber:#e5a94f;  --v-amber-s:#36280f;
    --v-blue:#7ba2ff;   --v-blue-s:#1b2444;
    --v-grid:#2e2745;   --v-dot:#5a5175;
  }
}
:root[data-theme="dark"]{
  --v-canvas:#141020; --v-surface:#1e1830; --v-sunk:#251e3a;
  --v-ink:#f2eefb; --v-ink2:#b7aed0; --v-ink3:#8d84a8;
  --v-line:#322a48; --v-line2:#453a60;
  --v-violet:#a892ff; --v-violet-s:#2c2450;
  --v-rose:#ff6fa1;   --v-rose-s:#3d1c2c;
  --v-teal:#4fd3b4;   --v-teal-s:#14322c;
  --v-amber:#e5a94f;  --v-amber-s:#36280f;
  --v-blue:#7ba2ff;   --v-blue-s:#1b2444;
  --v-grid:#2e2745;   --v-dot:#5a5175;
}

/* ---------- page frame ---------- */
.v-page{font-size:16px;font-family:var(--v-ui);color:var(--v-ink);display:flex;flex-direction:column;gap:14px;padding:4px 2px 48px;min-width:0}
.v-page *{box-sizing:border-box}

/* ---------- masthead ---------- */
.v-mast{display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:var(--v-surface);border:1px solid var(--v-line);border-radius:var(--v-r);padding:14px 18px}
.v-mast-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:none;color:#fff;background:var(--v-violet)}
.v-mast-badge svg{width:22px;height:22px}
.v-mast-main{flex:1 1 240px;min-width:0}
.v-mast h1{font-family:var(--v-display);font-size:1.62rem;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;line-height:1.15}
.v-mast-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* ---------- cards & sections ---------- */
.v-card{background:var(--v-surface);border:1px solid var(--v-line);border-radius:var(--v-r);min-width:0}
.v-pad{padding:16px 18px}
.v-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.v-head h2{font-family:var(--v-display);font-size:.92rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--v-ink3);margin:0;white-space:nowrap}
.v-head .v-rule{flex:1;height:1px;background:var(--v-line)}
.v-head .v-count{font-family:var(--v-mono);font-size:.82rem;font-weight:600;color:var(--v-ink3)}

/* ---------- grids ---------- */
.v-duo{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}
.v-half{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.v-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.v-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.v-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(292px,1fr));gap:10px}
@media(max-width:980px){.v-duo,.v-half,.v-g4{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.v-g3{grid-template-columns:1fr}}
@media(max-width:700px){.v-duo,.v-half,.v-g4{grid-template-columns:1fr}}

/* ---------- chips ---------- */
.v-chips{display:flex;flex-wrap:wrap;gap:6px}
.v-chip{font-size:.84rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--v-sunk);color:var(--v-ink2);border:1px solid var(--v-line);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.v-chip.v-violet{background:var(--v-violet-s);color:var(--v-violet);border-color:transparent}
.v-chip.v-rose{background:var(--v-rose-s);color:var(--v-rose);border-color:transparent}
.v-chip.v-teal{background:var(--v-teal-s);color:var(--v-teal);border-color:transparent}
.v-chip.v-amber{background:var(--v-amber-s);color:var(--v-amber);border-color:transparent}
.v-chip.v-blue{background:var(--v-blue-s);color:var(--v-blue);border-color:transparent}
.v-chip.v-strike{text-decoration:line-through;text-decoration-thickness:1px}
.v-chip.v-mono{font-family:var(--v-mono);font-size:.79rem;letter-spacing:.03em}

/* ---------- stat tiles ---------- */
.v-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:1px;background:var(--v-line);border:1px solid var(--v-line);border-radius:var(--v-r);overflow:hidden}
.v-stat{background:var(--v-surface);padding:15px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.v-stat b{font-family:var(--v-display);font-size:2.15rem;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.v-stat span{font-family:var(--v-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--v-ink3);line-height:1.3}
.v-stat.v-violet b{color:var(--v-violet)} .v-stat.v-rose b{color:var(--v-rose)}
.v-stat.v-teal b{color:var(--v-teal)} .v-stat.v-amber b{color:var(--v-amber)}
.v-stat.v-blue b{color:var(--v-blue)}

/* ---------- block meter ---------- */
.v-meter{display:flex;align-items:center;gap:12px;flex:none}
.v-meter-bars{display:flex;gap:2px}
.v-meter-bars i{width:8px;height:26px;border-radius:2px;display:block;background:var(--v-teal)}
.v-meter-bars i.v-gap{background:var(--v-amber)}
.v-meter-bars i.v-miss{background:var(--v-rose)}
.v-meter-cap{font-size:.79rem;color:var(--v-ink3);font-weight:600;line-height:1.3}
.v-meter-cap b{display:block;font-family:var(--v-display);font-size:1.18rem;color:var(--v-ink);font-weight:700}

/* ---------- horizontal bars ---------- */
.v-bars{display:flex;flex-direction:column;gap:9px}
.v-bar{display:grid;grid-template-columns:minmax(96px,26%) 1fr auto;gap:10px;align-items:center;font-size:.9rem}
.v-bar .v-bl{color:var(--v-ink2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-bar .v-bt{height:9px;border-radius:5px;background:var(--v-sunk);overflow:hidden}
.v-bar .v-bt i{display:block;height:100%;border-radius:5px;background:var(--v-violet)}
.v-bar.v-rose .v-bt i{background:var(--v-rose)} .v-bar.v-teal .v-bt i{background:var(--v-teal)}
.v-bar.v-amber .v-bt i{background:var(--v-amber)} .v-bar.v-blue .v-bt i{background:var(--v-blue)}
.v-bar .v-bv{font-family:var(--v-mono);font-size:.84rem;font-weight:600;color:var(--v-ink);font-variant-numeric:tabular-nums}

/* ---------- icon tiles ---------- */
.v-tile{background:var(--v-sunk);border:1px solid var(--v-line);border-radius:11px;padding:13px 14px;display:flex;gap:11px;align-items:center;min-width:0}
.v-tile .v-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;color:#fff;background:var(--v-violet)}
.v-tile .v-ic svg{width:17px;height:17px}
.v-tile.v-rose .v-ic{background:var(--v-rose)} .v-tile.v-teal .v-ic{background:var(--v-teal)}
.v-tile.v-amber .v-ic{background:var(--v-amber)} .v-tile.v-blue .v-ic{background:var(--v-blue)}
.v-tile b{font-family:var(--v-display);font-size:.98rem;font-weight:600;line-height:1.25;display:block;min-width:0}
.v-tile small{display:block;font-size:.84rem;color:var(--v-ink3);margin-top:2px}

/* ---------- creator study shortlist ---------- */
.v-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v-study-tile{min-width:0;min-height:82px;display:grid;grid-template-columns:32px minmax(0,1fr) auto 18px;gap:11px;align-items:center;padding:13px 14px;color:var(--v-ink);background:var(--v-sunk);border:1px solid var(--v-line);border-radius:11px;text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.v-study-tile:hover{background:var(--v-surface);border-color:var(--v-line2);transform:translateY(-1px)}
.v-study-tile:focus-visible{outline:3px solid color-mix(in srgb,var(--v-violet) 35%,transparent);outline-offset:2px}
.v-study-rank{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:9px;font-family:var(--v-mono);font-size:.78rem;font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.v-study-copy{min-width:0;display:block}
.v-study-copy b,.v-study-copy small,.v-study-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-study-copy b{font-family:var(--v-display);font-size:.97rem;font-weight:650;line-height:1.2}
.v-study-copy small{margin-top:3px;color:var(--v-ink3);font-size:.82rem}
.v-study-copy em{margin-top:5px;color:var(--v-ink2);font-size:.73rem;font-style:normal}
.v-study-open{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px;color:var(--v-ink3)}
.v-study-open svg{width:16px;height:16px;display:block}
@media(max-width:700px){.v-study-grid{grid-template-columns:1fr}.v-study-tile{grid-template-columns:32px minmax(0,1fr) 18px}.v-study-tile>.v-chip{display:none}}

/* ---------- persona / pain-want cards ---------- */
.v-persona{background:var(--v-sunk);border:1px solid var(--v-line);border-radius:11px;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.v-persona-head{display:flex;gap:10px;align-items:center}
.v-persona-head .v-av{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;color:#fff;background:var(--v-violet)}
.v-persona-head .v-av svg{width:16px;height:16px}
.v-persona-head b{font-family:var(--v-display);font-size:.97rem;font-weight:600;line-height:1.2}
.v-kv{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;line-height:1.35}
.v-kv .v-k{font-family:var(--v-mono);font-size:.66rem;font-weight:600;letter-spacing:.06em;padding:3px 6px;border-radius:5px;flex:none;margin-top:1px;background:var(--v-sunk);color:var(--v-ink3)}
.v-kv.v-pain .v-k{background:var(--v-rose-s);color:var(--v-rose)}
.v-kv.v-want .v-k{background:var(--v-teal-s);color:var(--v-teal)}
.v-kv.v-note .v-k{background:var(--v-blue-s);color:var(--v-blue)}
.v-kv span{color:var(--v-ink2);min-width:0}

/* ---------- say / never board ---------- */
.v-board h3{margin:0 0 8px;font-size:.83rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.v-board h3 svg{width:14px;height:14px}
.v-board.v-good h3{color:var(--v-teal)} .v-board.v-bad h3{color:var(--v-rose)}
.v-board + .v-board{margin-top:14px}
.v-word{display:inline-block;font-size:.89rem;font-weight:500;padding:5px 10px;border-radius:8px;margin:0 5px 5px 0}
.v-good .v-word{background:var(--v-teal-s);color:var(--v-teal)}
.v-bad .v-word{background:var(--v-rose-s);color:var(--v-rose);text-decoration:line-through;text-decoration-thickness:1px}

/* ---------- flow rail ---------- */
.v-flowwrap{overflow-x:auto}
.v-flow{display:block;width:100%;min-width:520px;height:auto}

/* ---------- quadrant map ---------- */
.v-mapwrap{overflow-x:auto}
.v-map{display:block;width:100%;min-width:420px;height:auto}

/* ---------- score ring ---------- */
.v-ring{position:relative;width:52px;height:52px;flex:none}
.v-ring svg{width:52px;height:52px;transform:rotate(-90deg)}
.v-ring b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--v-display);font-size:1.03rem;font-weight:700;color:var(--v-ink)}

/* ---------- platform token ---------- */
.v-plat{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;flex:none;font-family:var(--v-mono);font-size:.7rem;font-weight:700;color:#fff;letter-spacing:.02em}
.v-plat.ig{background:#e63b7a} .v-plat.tt{background:#1b1626} .v-plat.yt{background:#d4342a}.v-plat.li{background:#0a66c2}.v-plat.fb{background:#1877f2}.v-plat.web{background:var(--v-violet)}.v-plat.other{background:var(--v-ink3)}

/* ---------- calendar ---------- */
.v-calwrap{overflow-x:auto}
.v-cal{display:grid;grid-template-columns:repeat(7,minmax(106px,1fr));gap:1px;background:var(--v-line);border:1px solid var(--v-line);border-radius:var(--v-r);overflow:hidden;min-width:760px}
.v-cal .v-dow{background:var(--v-sunk);padding:9px 10px;font-family:var(--v-mono);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--v-ink3);text-align:center}
.v-cal .v-day{background:var(--v-surface);min-height:84px;padding:7px 8px;display:flex;flex-direction:column;gap:5px}
.v-cal .v-day.v-out{background:var(--v-sunk)}
.v-cal .v-dn{font-family:var(--v-mono);font-size:.75rem;font-weight:600;color:var(--v-ink3)}
.v-pin{display:flex;gap:5px;align-items:center;background:var(--v-sunk);border-radius:7px;padding:4px 5px;border-left:3px solid var(--v-violet);min-width:0}
.v-pin.ig{border-left-color:#e63b7a} .v-pin.tt{border-left-color:#1b1626} .v-pin.yt{border-left-color:#d4342a}
.v-pin i{width:6px;height:6px;border-radius:50%;flex:none;background:var(--v-ink3)}
.v-pin i.ok{background:var(--v-teal)} .v-pin i.wait{background:var(--v-amber)}
.v-pin span{font-size:.77rem;font-weight:500;color:var(--v-ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* ---------- legend ---------- */
.v-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.83rem;color:var(--v-ink3);font-weight:500}
.v-legend span{display:inline-flex;align-items:center;gap:6px}
.v-legend i{width:9px;height:9px;border-radius:50%;display:block}

/* ---------- callout / next action ---------- */
.v-act{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--v-surface);border:1px solid var(--v-line);border-left:5px solid var(--v-violet);border-radius:var(--v-r);padding:14px 18px}
.v-act.v-rose{border-left-color:var(--v-rose)} .v-act.v-teal{border-left-color:var(--v-teal)}
.v-act.v-amber{border-left-color:var(--v-amber)}
.v-act-text{min-width:0;flex:1 1 260px}
.v-act b{font-family:var(--v-display);display:block;font-size:1.1rem;font-weight:600;margin-bottom:2px}
.v-act p{margin:0;font-size:.93rem;color:var(--v-ink2)}
.v-act-buttons{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- empty state ---------- */
.v-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;text-align:center;background:var(--v-surface);border:1px dashed var(--v-line2);border-radius:var(--v-r)}
.v-empty .v-eic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--v-violet-s);color:var(--v-violet)}
.v-empty .v-eic svg{width:21px;height:21px}
.v-empty b{font-family:var(--v-display);font-size:1.13rem;font-weight:600}
.v-empty p{margin:0;font-size:.95rem;color:var(--v-ink3);max-width:44ch}

/* ---------- gap / evidence strips ---------- */
.v-gaps{display:flex;flex-wrap:wrap;gap:6px}
.v-gap{font-size:.85rem;font-weight:500;padding:5px 10px;border-radius:8px;background:var(--v-amber-s);color:var(--v-amber)}
.v-gap.v-hard{background:var(--v-rose-s);color:var(--v-rose);font-weight:600}
.v-src{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;padding:5px 10px;border-radius:8px;background:var(--v-sunk);border:1px solid var(--v-line);color:var(--v-ink2)}
.v-src i{width:7px;height:7px;border-radius:50%;background:var(--v-blue);flex:none}

/* ---------- buttons inside the kit ---------- */
.v-btn{font-family:var(--v-ui);font-size:.94rem;font-weight:600;padding:10px 16px;border-radius:10px;border:1px solid var(--v-line2);background:var(--v-surface);color:var(--v-ink);min-height:44px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.v-btn:hover{border-color:var(--v-ink3)}
.v-btn.v-primary{background:var(--v-violet);border-color:var(--v-violet);color:#fff}
.v-btn.v-primary:hover{filter:brightness(1.08)}
.v-btn:disabled{opacity:.45;cursor:not-allowed}
.v-btn:focus-visible{outline:3px solid var(--v-violet);outline-offset:2px}
.v-price{display:inline-flex;align-items:center;padding:4px 7px;border-radius:7px;background:var(--v-violet-s);color:var(--v-violet);font-family:var(--v-ui);font-size:.67rem;font-weight:750;line-height:1;letter-spacing:.01em;white-space:nowrap}
.v-price-free{background:var(--v-teal-s);color:var(--v-teal)}
.v-btn.v-primary .v-price,.button.primary .v-price,.button.danger .v-price{background:rgba(255,255,255,.18);color:#fff}
.v-btn:not(.v-primary):hover .v-price{filter:brightness(.96)}
.v-btn.v-remove{margin-inline-start:auto;color:var(--v-ink3);background:transparent}
.v-btn.v-danger{color:var(--v-rose);border-color:color-mix(in srgb,var(--v-rose) 40%,var(--v-line2));background:var(--v-rose-s)}
.v-btn.v-danger:hover{border-color:var(--v-rose);filter:brightness(.98)}
.v-remove-confirm{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;flex-wrap:wrap}
.vcp-card-actions{display:flex;align-items:center;gap:7px;margin-top:auto;flex-wrap:wrap}
.vcp-card-actions .vcp-website{flex:1 1 150px}

/* ---------- scroller for long lists ---------- */
.v-scroll{max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}

@media (prefers-reduced-motion:reduce){.v-page *{transition:none!important;animation:none!important}}

/* ---------- complete brand foundation dossier ---------- */
.bfi{display:flex;flex-direction:column;gap:12px}
.bfi-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:var(--v-surface);border:1px solid var(--v-line);border-radius:var(--v-r)}
.bfi-head h2{font-family:var(--v-display);font-size:1.35rem;letter-spacing:-.02em;margin:0 0 3px}.bfi-head p{margin:0;color:var(--v-ink2);font-size:.9rem}
.bfi-score{text-align:right;flex:none}.bfi-score strong{display:block;font-family:var(--v-display);font-size:2rem;line-height:1;color:var(--v-violet)}.bfi-score span{font-size:.72rem;color:var(--v-ink3);text-transform:uppercase;letter-spacing:.06em}
.bfi-coverage{height:7px;border-radius:99px;background:var(--v-line);overflow:hidden}.bfi-coverage i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v-violet),var(--v-rose))}
.bfi-map{position:relative;min-height:260px;padding:18px;background:linear-gradient(135deg,var(--v-violet-s),var(--v-surface) 46%,var(--v-rose-s));border-radius:var(--v-r);overflow:hidden}
.bfi-map::before,.bfi-map::after{content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;border:1px dashed var(--v-line2);border-radius:50%;pointer-events:none}.bfi-map::before{width:430px;height:250px}.bfi-map::after{width:235px;height:150px}
.bfi-map-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;height:100%}
.bfi-node{position:relative;min-height:76px;width:100%;padding:11px 12px;display:grid;grid-template-columns:29px 1fr auto;align-items:center;gap:8px;border-radius:12px;background:color-mix(in srgb,var(--v-surface) 92%,transparent);border:1px solid var(--v-line);overflow:hidden;color:var(--v-ink);font:inherit;text-align:left;cursor:pointer;appearance:none;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}
.bfi-node:hover{transform:translateY(-2px);background:var(--v-surface);box-shadow:0 8px 20px rgba(41,30,75,.09)}.bfi-node:focus-visible{outline:3px solid var(--v-violet);outline-offset:2px}.bfi-node.is-selected{background:var(--v-violet-s);box-shadow:0 0 0 2px var(--v-violet)}
.bfi-node>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--v-sunk);color:var(--v-violet)}.bfi-node svg{width:15px;height:15px}.bfi-node>b{font-family:var(--v-display);font-size:.86rem}.bfi-node>i{font-style:normal;color:var(--v-teal);font-weight:800}.bfi-node.is-gap{opacity:.58}.bfi-node.is-gap>i{color:var(--v-ink3)}.bfi-node>em{position:absolute;inset:auto 0 0;height:4px}.bfi-tone-0{background:var(--v-violet)}.bfi-tone-1{background:var(--v-rose)}.bfi-tone-2{background:var(--v-teal)}.bfi-tone-3{background:var(--v-amber)}
.bfi-map-core{position:absolute;z-index:2;left:50%;top:50%;translate:-50% -50%;width:150px;height:92px;border-radius:46px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;background:var(--v-ink);color:var(--v-surface);box-shadow:0 14px 35px rgba(27,22,38,.22)}.bfi-map-core span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--v-rose);color:#fff;font-weight:800;font-size:.78rem}.bfi-map-core strong{font-family:var(--v-display);font-size:.82rem;line-height:1.2;max-width:68px}
.bfi-snapshot{display:grid;grid-template-columns:1.7fr .7fr;gap:12px;align-items:start}.bfi-dna,.bfi-proofboard,.bfi-band,.bfi-report{background:var(--v-surface);border:1px solid var(--v-line);border-radius:var(--v-r);padding:16px 18px}.bfi h3{font-family:var(--v-display);font-size:.95rem;margin:0}
.bfi-dna-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.bfi-dna-grid article{min-height:130px;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:8px}.bfi-dna-grid article>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--v-surface)}.bfi-dna-grid svg{width:15px;height:15px}.bfi-dna-grid small{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bfi-dna-grid strong{font-size:.84rem;line-height:1.35}.bfi-dna-grid article>div:not(.bfi-palette){display:flex;flex-wrap:wrap;gap:4px}.bfi-dna-grid article>div>b{font-size:.75rem;padding:4px 6px;border-radius:6px;background:var(--v-surface)}
.bfi-violet{background:var(--v-violet-s);color:var(--v-violet)}.bfi-rose{background:var(--v-rose-s);color:var(--v-rose)}.bfi-teal{background:var(--v-teal-s);color:var(--v-teal)}.bfi-amber{background:var(--v-amber-s);color:var(--v-amber)}
.bfi-palette{display:flex;align-items:center}.bfi-palette i{display:block;width:29px;height:29px;border:3px solid var(--v-surface);border-radius:50%;margin-left:-7px}.bfi-palette i:first-child{margin-left:0}.bfi-swatch-1{background:var(--v-rose)}.bfi-swatch-2{background:var(--v-violet)}.bfi-swatch-3{background:var(--v-ink)}.bfi-swatch-4{background:var(--v-teal)}.bfi-swatch-5{background:var(--v-amber)}
.bfi-values{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.bfi-values span{font-size:.78rem;font-weight:650;padding:5px 9px;border-radius:8px;background:var(--v-sunk);color:var(--v-ink2)}
.bfi-proofboard{display:flex;flex-direction:column}.bfi-proof-chart{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.bfi-proof-chart>div{text-align:center;padding:12px 5px;border-radius:10px;background:var(--v-sunk)}.bfi-proof-chart strong{display:block;font-family:var(--v-display);font-size:1.45rem}.bfi-proof-chart>div:nth-child(1) strong{color:var(--v-teal)}.bfi-proof-chart>div:nth-child(2) strong{color:var(--v-blue)}.bfi-proof-chart>div:nth-child(3) strong{color:var(--v-amber)}.bfi-proof-chart span,.bfi-proofboard>small{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--v-ink3)}
.bfi-source-dots{display:flex;gap:5px;flex-wrap:wrap;margin:auto 0 10px}.bfi-source-dots span{width:18px;height:18px;border-radius:5px;background:var(--v-line2)}.bfi-source-dots .ready{background:var(--v-teal)}.bfi-source-dots .partial{background:var(--v-amber)}.bfi-source-dots .waiting{background:var(--v-rose-s);border:1px dashed var(--v-rose)}
.bfi-band>header{display:flex;align-items:center;gap:9px;margin-bottom:13px}.bfi-band>header>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--v-violet-s);color:var(--v-violet)}.bfi-band>header svg{width:15px;height:15px}.bfi-band>header h3{flex:1}.bfi-band>header b{font-size:.72rem;color:var(--v-ink3)}
.bfi-offer-flow,.bfi-journey{display:flex;align-items:stretch;overflow-x:auto;padding-bottom:3px}.bfi-offer-flow article{position:relative;min-width:170px;flex:1;padding:12px 24px 12px 12px;background:var(--v-sunk);clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%,12px 50%)}.bfi-offer-flow article:first-child{clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%)}.bfi-offer-flow i{font-style:normal;font-size:.65rem;color:var(--v-violet)}.bfi-offer-flow strong,.bfi-offer-flow small{display:block}.bfi-offer-flow strong{font-size:.85rem;margin-top:4px}.bfi-offer-flow small{font-size:.74rem;color:var(--v-ink3);margin-top:4px}
.bfi-audiences{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.bfi-audiences article{padding:13px;border-radius:12px;background:linear-gradient(180deg,var(--v-violet) 0 4px,var(--v-sunk) 4px);border:1px solid var(--v-line)}.bfi-audiences article.bfi-person-2{background:linear-gradient(180deg,var(--v-rose) 0 4px,var(--v-sunk) 4px)}.bfi-audiences article.bfi-person-3{background:linear-gradient(180deg,var(--v-teal) 0 4px,var(--v-sunk) 4px)}.bfi-audiences article.bfi-person-4{background:linear-gradient(180deg,var(--v-amber) 0 4px,var(--v-sunk) 4px)}.bfi-audiences article>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--v-surface);color:var(--v-violet);margin-bottom:8px}.bfi-audiences svg{width:16px;height:16px}.bfi-audiences article>strong{font-size:.87rem;display:block;min-height:2.5em}.bfi-audiences article>div{margin-top:9px}.bfi-audiences small{display:block;font-size:.62rem;letter-spacing:.06em;color:var(--v-ink3)}.bfi-audiences article>div b{font-size:.76rem;line-height:1.3;color:var(--v-ink2)}
.bfi-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px}.bfi-pillars article{min-height:112px;border-radius:12px;padding:13px;background:var(--v-violet-s);color:var(--v-violet)}.bfi-pillars .bfi-pillar-2{background:var(--v-rose-s);color:var(--v-rose)}.bfi-pillars .bfi-pillar-3{background:var(--v-teal-s);color:var(--v-teal)}.bfi-pillars .bfi-pillar-4{background:var(--v-amber-s);color:var(--v-amber)}.bfi-pillars span{font-family:var(--v-mono);font-size:.67rem;opacity:.7}.bfi-pillars strong,.bfi-pillars small{display:block}.bfi-pillars strong{font-size:.9rem;margin:8px 0 5px}.bfi-pillars small{font-size:.76rem;line-height:1.35}
.bfi-journey article{position:relative;min-width:130px;flex:1;text-align:center;padding:8px 16px}.bfi-journey article:not(:last-child)::after{content:"";position:absolute;right:-8px;top:21px;width:16px;height:1px;background:var(--v-line2)}.bfi-journey article>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--v-violet-s);color:var(--v-violet);margin:0 auto 7px}.bfi-journey svg{width:14px;height:14px}.bfi-journey strong,.bfi-journey small{display:block}.bfi-journey strong{font-size:.82rem}.bfi-journey small{font-size:.72rem;color:var(--v-ink3);margin-top:4px}
.bfi-channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px}.bfi-channels article{position:relative;display:grid;grid-template-columns:31px 1fr;gap:8px;align-items:center;padding:11px;border-radius:11px;background:var(--v-sunk)}.bfi-channels article>div strong,.bfi-channels article>div small{display:block}.bfi-channels article>div strong{font-size:.83rem}.bfi-channels article>div small{font-size:.68rem;color:var(--v-ink3)}.bfi-channels article>span{grid-column:1/-1;font-size:.74rem;color:var(--v-ink2)}.bfi-channels article>i{position:absolute;right:9px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--v-teal)}.bfi-channels article.is-partial>i{background:var(--v-amber)}.bfi-channels article.is-waiting>i{background:var(--v-rose)}.bfi-nochannels{padding:16px;border-radius:10px;background:var(--v-sunk);color:var(--v-ink3);font-size:.85rem;text-align:center}
.bfi-gaps{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--v-r);background:var(--v-amber-s);color:var(--v-amber)}.bfi-gaps>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--v-surface);flex:none}.bfi-gaps svg{width:18px;height:18px}.bfi-gaps>div{flex:1;min-width:0}.bfi-gaps>div>strong{font-family:var(--v-display)}.bfi-gaps p{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0 0}.bfi-gaps p b{font-size:.72rem;padding:4px 7px;border-radius:6px;background:var(--v-surface);font-weight:600}
.bfi-report{padding:0;overflow:hidden}.bfi-report>summary{list-style:none;min-height:62px;padding:10px 16px;display:flex;align-items:center;gap:11px;cursor:pointer}.bfi-report>summary::-webkit-details-marker{display:none}.bfi-report>summary>svg{width:19px;color:var(--v-violet)}.bfi-report>summary>span{flex:1}.bfi-report>summary strong,.bfi-report>summary small{display:block}.bfi-report>summary small{font-size:.76rem;color:var(--v-ink3);margin-top:2px}.bfi-report>summary>b{font-size:.78rem;color:var(--v-violet)}.bfi-report>div{padding:0 10px 10px}.bfi-report .bf-dossier{border-radius:11px}
@media(max-width:900px){.bfi-map-grid{grid-template-columns:repeat(3,1fr)}.bfi-map{min-height:370px}.bfi-snapshot{grid-template-columns:1fr}.bfi-dna-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.bfi-head{align-items:flex-start}.bfi-map{min-height:auto}.bfi-map::before,.bfi-map::after,.bfi-map-core{display:none}.bfi-map-grid{grid-template-columns:1fr 1fr}.bfi-node{min-height:62px;padding:9px}.bfi-dna-grid{grid-template-columns:1fr}.bfi-gaps{align-items:flex-start;flex-wrap:wrap}.bfi-gaps .v-btn{width:100%;justify-content:center}.bfi-report>summary>span small{display:none}}

/* ---------- linked competitor profile wall ---------- */
.vc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}
.vc-card{position:relative;display:grid;grid-template-columns:64px 1fr;gap:10px 12px;min-height:186px;padding:14px;border-radius:13px;background:var(--v-sunk);color:var(--v-ink);text-decoration:none;overflow:hidden;transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s ease}
.vc-card:hover{transform:translateY(-2px);background:var(--v-violet-s)}.vc-card:focus-visible{outline:3px solid var(--v-violet);outline-offset:2px}
.vc-photo{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--v-violet-s);color:var(--v-violet);overflow:visible}.vc-photo>b{font-family:var(--v-display);font-size:1rem}.vc-photo>img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--v-surface)}.vc-photo>i{position:absolute;right:-3px;bottom:-3px;font-style:normal}.vc-photo .v-plat{width:25px;height:25px;border-radius:8px;font-size:.57rem;border:2px solid var(--v-surface)}
.vc-identity{align-self:center;min-width:0}.vc-identity strong,.vc-identity small{display:block}.vc-identity strong{font-family:var(--v-display);font-size:.95rem;line-height:1.2}.vc-identity small{font-size:.75rem;color:var(--v-ink3);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vc-open{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:7px 9px;border-radius:8px;background:var(--v-surface);color:var(--v-violet);font-size:.76rem;font-weight:700}.vc-open svg{width:14px;height:14px}
.vc-fact{grid-column:1/-1;display:grid;grid-template-columns:76px 1fr;gap:7px;font-size:.77rem;line-height:1.3;color:var(--v-ink2)}.vc-fact>b{font-size:.67rem;letter-spacing:.05em;text-transform:uppercase;color:var(--v-ink3)}
.vc-card.vc-compact{min-height:132px}.vc-card.vc-compact .vc-open{align-self:end}
.vc-photo.vc-photo-small{width:42px;height:42px;flex:none}.vc-photo.vc-photo-small .v-plat{width:21px;height:21px;font-size:.49rem}.vc-photo.vc-photo-small>b{font-size:.75rem}
@media(max-width:520px){.vc-grid{grid-template-columns:1fr}.vc-card{min-height:174px}}

/* ---------- competitor channel directory ---------- */
.vcp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.vcp-card{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--v-line);border-radius:13px;background:var(--v-sunk)}
.vcp-card>header{display:flex;align-items:center;gap:11px}.vcp-card>header>span:last-child{min-width:0}.vcp-card>header strong,.vcp-card>header small{display:block}.vcp-card>header strong{font-family:var(--v-display);font-size:.95rem;line-height:1.2}.vcp-card>header small{margin-top:3px;color:var(--v-ink3);font-size:.72rem}
.vcp-card nav{display:flex;flex-direction:column;gap:5px}
.vcp-card nav>a,.vcp-card nav>.is-missing{min-height:46px;display:grid;grid-template-columns:31px minmax(0,1fr) 15px;align-items:center;gap:9px;padding:7px 9px;border-radius:10px;background:var(--v-surface);color:var(--v-ink);text-decoration:none}
.vcp-card nav>a{transition:background-color .16s ease,transform .16s ease}.vcp-card nav>a:hover{background:var(--v-violet-s);transform:translateX(2px)}.vcp-card nav>a:focus-visible,.vcp-website:focus-visible{outline:3px solid var(--v-violet);outline-offset:2px}
.vcp-card nav>a>span,.vcp-card nav>.is-missing>span{min-width:0}.vcp-card nav>a>span b,.vcp-card nav>a>span small,.vcp-card nav>.is-missing>span b,.vcp-card nav>.is-missing>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcp-card nav>a>span b,.vcp-card nav>.is-missing>span b{font-size:.8rem}.vcp-card nav>a>span small,.vcp-card nav>.is-missing>span small{margin-top:2px;color:var(--v-ink3);font-size:.67rem}.vcp-card nav>a>svg{width:14px;height:14px;color:var(--v-violet)}
.vcp-card nav>.is-missing{color:var(--v-ink3);background:color-mix(in srgb,var(--v-surface) 58%,transparent)}.vcp-card nav>.is-missing .v-plat{filter:grayscale(1);opacity:.55}.vcp-card nav>.is-missing>i{width:7px;height:7px;border-radius:50%;background:var(--v-line2);justify-self:center}
.vcp-website{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:var(--v-violet-s);color:var(--v-violet);font-size:.77rem;font-weight:750;text-decoration:none}.vcp-website svg{width:14px;height:14px;flex:none}.vcp-website:hover{background:var(--v-surface)}
@media(max-width:520px){.vcp-grid{grid-template-columns:1fr}}

.bf-dossier{background:var(--v-surface);border:1px solid var(--v-line);border-radius:var(--v-r);overflow:hidden}
.bf-dossier-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:linear-gradient(120deg,var(--v-violet-s),var(--v-surface) 55%,var(--v-rose-s));border-bottom:1px solid var(--v-line)}
.bf-dossier-head h2{font-family:var(--v-display);font-size:1.35rem;letter-spacing:-.02em;margin:5px 0 3px}
.bf-dossier-head p{margin:0;color:var(--v-ink2);font-size:.92rem;max-width:68ch}
.bf-badge,.bf-confidence{display:inline-flex;align-items:center;width:max-content;border-radius:999px;font-family:var(--v-mono);font-size:.69rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.bf-badge{padding:4px 8px;color:var(--v-violet);background:var(--v-surface);border:1px solid var(--v-line)}
.bf-confidence{padding:7px 11px;color:var(--v-teal);background:var(--v-teal-s);border:1px solid transparent;white-space:nowrap}
.bf-confidence.bf-low,.bf-confidence.bf-legacy{color:var(--v-amber);background:var(--v-amber-s)}
.bf-audit{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--v-line);border-bottom:1px solid var(--v-line)}
.bf-audit>div{background:var(--v-surface);padding:14px 18px;display:flex;align-items:baseline;gap:7px}
.bf-audit strong{font-family:var(--v-display);font-size:1.55rem}
.bf-audit span{font-family:var(--v-mono);font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;color:var(--v-ink3)}
.bf-audit-verified strong{color:var(--v-teal)}.bf-audit-inferred strong{color:var(--v-blue)}.bf-audit-open strong{color:var(--v-amber)}.bf-audit-sources strong{color:var(--v-violet)}
.bf-modules{padding:10px}
.bf-module{border-bottom:1px solid var(--v-line)}
.bf-module:last-child{border-bottom:0}
.bf-module summary{list-style:none;min-height:56px;padding:10px 12px;display:flex;align-items:center;gap:11px;cursor:pointer;border-radius:10px;color:var(--v-ink)}
.bf-module summary::-webkit-details-marker{display:none}
.bf-module summary:hover{background:var(--v-sunk)}
.bf-module summary:focus-visible{outline:3px solid var(--v-violet);outline-offset:-2px}
.bf-module summary>strong{font-family:var(--v-display);font-size:1rem;flex:1}
.bf-module summary>small{font-family:var(--v-mono);font-size:.72rem;color:var(--v-ink3)}
.bf-module-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--v-violet);background:var(--v-violet-s);flex:none}
.bf-module-icon svg{width:17px;height:17px}
.bf-chevron{font-size:1.1rem;color:var(--v-ink3);transition:transform .18s ease}
.bf-module[open] .bf-chevron{transform:rotate(180deg)}
.bf-body{padding:4px 12px 20px 57px}
.bf-body h3{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--v-ink3);margin:0 0 7px}
.bf-body p{font-size:.91rem;line-height:1.55;color:var(--v-ink2);margin:0}
.bf-lead{font-family:var(--v-display);font-size:1.02rem!important;color:var(--v-ink)!important;max-width:90ch;margin-bottom:14px!important}
.bf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--v-line);border:1px solid var(--v-line);border-radius:10px;overflow:hidden;margin:10px 0 14px}
.bf-facts>div{background:var(--v-sunk);padding:11px 12px}
.bf-facts span{display:block;font-family:var(--v-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--v-ink3);margin-bottom:4px}
.bf-facts strong{font-size:.88rem;line-height:1.4;font-weight:600}
.bf-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.bf-columns>div,.bf-say>div{background:var(--v-sunk);border:1px solid var(--v-line);border-radius:10px;padding:12px}
.bf-list{margin:0;padding-left:17px;display:flex;flex-direction:column;gap:5px;color:var(--v-ink2);font-size:.87rem;line-height:1.4}
.bf-list li::marker{color:var(--v-violet)}
.bf-offers,.bf-people,.bf-channels,.bf-proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;margin:12px 0}
.bf-offers article,.bf-people article,.bf-channels article,.bf-proof article{background:var(--v-sunk);border:1px solid var(--v-line);border-radius:11px;padding:13px;min-width:0}
.bf-offers strong,.bf-proof strong{font-family:var(--v-display);font-size:.96rem;display:block;margin-bottom:5px}
.bf-offers span{display:inline-block;margin-top:8px;color:var(--v-blue);font-size:.78rem;font-weight:600}
.bf-people article>h3{font-family:var(--v-display);font-size:1rem;color:var(--v-ink);text-transform:none;letter-spacing:0}
.bf-people article>p{min-height:2.8em;margin-bottom:10px}
.bf-people article>div{display:grid;grid-template-columns:58px 1fr;gap:7px;padding:6px 0;border-top:1px solid var(--v-line);font-size:.82rem;color:var(--v-ink2)}
.bf-people article>div span{font-family:var(--v-mono);font-size:.64rem;color:var(--v-violet);letter-spacing:.05em}
.bf-journey{display:flex;overflow-x:auto;gap:8px;padding-bottom:5px}
.bf-journey article{min-width:190px;flex:1;background:var(--v-sunk);border:1px solid var(--v-line);border-radius:11px;padding:12px}
.bf-journey b{color:var(--v-violet);font-family:var(--v-mono);font-size:.72rem}.bf-journey h3{color:var(--v-ink);font-size:.84rem;margin-top:8px}.bf-journey span{display:block;margin-top:9px;color:var(--v-teal);font-size:.8rem;font-weight:600}
.bf-body blockquote{margin:0 0 12px;padding:14px 16px;border:0;border-radius:10px;background:var(--v-violet-s);color:var(--v-violet);font-family:var(--v-display);font-size:1.05rem;line-height:1.45}
.bf-say{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.bf-say>div:first-child{background:var(--v-teal-s)}.bf-say>div:last-child{background:var(--v-rose-s)}
.bf-channels article header{display:flex;align-items:center;gap:9px;margin-bottom:9px}.bf-channels article header span{min-width:0}.bf-channels article header strong,.bf-channels article header small{display:block}.bf-channels article header small{color:var(--v-ink3);font-size:.72rem}.bf-channels article>p{min-height:2.7em;margin-bottom:10px}.bf-channels dl{display:grid;grid-template-columns:55px 1fr;gap:5px 8px;font-size:.78rem;margin:11px 0 0}.bf-channels dt{font-family:var(--v-mono);color:var(--v-ink3)}.bf-channels dd{margin:0;color:var(--v-ink2)}
.bf-proof article>span{font-family:var(--v-mono);font-size:.62rem;color:var(--v-teal);letter-spacing:.07em}.bf-proof article p{margin:6px 0}.bf-proof .source-link{font-size:.78rem}
.bf-coverage{display:flex;flex-direction:column;gap:6px}.bf-coverage article{display:grid;grid-template-columns:9px minmax(130px,.7fr) 1.3fr;gap:9px;align-items:center;padding:9px 11px;background:var(--v-sunk);border:1px solid var(--v-line);border-radius:9px}.bf-coverage i{width:8px;height:8px;border-radius:50%;background:var(--v-blue)}.bf-coverage .bf-source-inaccessible i{background:var(--v-rose)}.bf-coverage .bf-source-partial i{background:var(--v-amber)}.bf-coverage strong,.bf-coverage small{display:block}.bf-coverage small{color:var(--v-ink3);font-size:.72rem}.bf-coverage p{font-size:.8rem}
.bf-empty{padding:14px;color:var(--v-ink3)!important}
@media(max-width:700px){.bf-dossier-head{align-items:flex-start;flex-direction:column}.bf-audit{grid-template-columns:1fr 1fr}.bf-audit>div{padding:12px}.bf-body{padding-left:12px}.bf-columns,.bf-say{grid-template-columns:1fr}.bf-module summary>small{display:none}.bf-coverage article{grid-template-columns:9px 1fr}.bf-coverage p{grid-column:2}}

/* ---------- utilities (CSP-safe: no inline style attributes anywhere) ---------- */
.v-bg-violet{background:var(--v-violet)!important;color:#fff}
.v-bg-rose{background:var(--v-rose)!important;color:#fff}
.v-bg-teal{background:var(--v-teal)!important;color:#fff}
.v-bg-amber{background:var(--v-amber)!important;color:#fff}
.v-bg-blue{background:var(--v-blue)!important;color:#fff}
.v-fill-violet{background:var(--v-violet)!important}
.v-fill-rose{background:var(--v-rose)!important}
.v-fill-teal{background:var(--v-teal)!important}
.v-fill-amber{background:var(--v-amber)!important}
.v-fill-blue{background:var(--v-blue)!important}
.v-plain{text-decoration:none;color:inherit}
.v-grow{flex:1;min-width:0}
.v-track{display:block;height:7px;border-radius:4px;background:var(--v-line);overflow:hidden;margin-top:7px}
.v-track i{display:block;height:100%;border-radius:4px;background:var(--v-violet)}
.v-formrow{display:flex;align-items:flex-end}

/* links/buttons inside the kit never inherit legacy underline styling */
.v-page a{text-decoration:none}
.v-btn,.v-tile.v-plain{text-decoration:none}
.v-tile button,button.v-tile{font:inherit;text-align:left;cursor:pointer;width:100%}
[data-mt]{margin-top:12px}
.v-page .field{display:flex;flex-direction:column;gap:5px;min-width:0}
.v-page .field label{font-size:.77rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--v-ink3)}
.v-page .field small{font-size:.82rem;color:var(--v-ink3)}
.v-page input,.v-page select,.v-page textarea{font:inherit;min-height:44px;padding:9px 12px;border-radius:10px;border:1px solid var(--v-line2);background:var(--v-surface);color:var(--v-ink);width:100%}
.v-page textarea{min-height:64px;resize:vertical}
.v-page input:focus-visible,.v-page select:focus-visible,.v-page textarea:focus-visible{outline:3px solid var(--v-violet);outline-offset:1px}
.v-page input[type=color]{padding:4px;height:44px}
.v-mast-actions .field{max-width:165px}
.approval-image{width:100%;max-width:100%;border-radius:11px;display:block;margin-bottom:10px;background:var(--v-sunk)}
.v-cal .v-day.v-today{box-shadow:inset 0 0 0 2px var(--v-violet)}
.experiment-result-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.experiment-result-form label{display:flex;flex-direction:column;gap:4px;font-size:.77rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--v-ink3)}
.experiment-result-form input{max-width:110px}
.lab-form{display:flex;flex-direction:column;gap:14px}
.lab-prompt-grid{display:grid;grid-template-columns:minmax(190px,.42fr) minmax(320px,1.58fr);gap:12px;align-items:start}
.lab-source-row{display:grid;grid-template-columns:minmax(320px,1fr) minmax(220px,.45fr);gap:12px;align-items:end;padding:12px;border-radius:12px;background:var(--v-sunk)}
.lab-source-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:1px}
.lab-source-actions>span{font-size:.82rem;color:var(--v-ink3)}
.lab-run{justify-content:flex-end}
@media(max-width:760px){.lab-prompt-grid,.lab-source-row{grid-template-columns:1fr}.lab-run{justify-content:stretch}.lab-run .v-btn{width:100%;justify-content:center}}
.lab-findings{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.lab-finding{min-width:0;background:linear-gradient(145deg,var(--v-surface),var(--v-sunk));border:1px solid var(--v-line);border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(28,22,51,.05)}
.lab-finding[open]{grid-column:1/-1;border-color:var(--v-teal)}
.lab-finding>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;min-height:148px;padding:14px;cursor:pointer;position:relative}
.lab-finding>summary::-webkit-details-marker{display:none}
.lab-finding>summary:hover{background:var(--v-sunk)}
.lab-finding>summary:focus-visible{outline:3px solid var(--v-violet);outline-offset:-3px}
.lab-signal-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--v-violet);color:#fff}
.lab-signal-icon svg{width:18px;height:18px}
.lab-glance{display:flex;flex-direction:column;min-width:0;padding-right:54px}
.lab-glance>small{color:var(--v-ink3);font-size:.68rem;font-weight:800;letter-spacing:.09em;line-height:1.2;text-transform:uppercase}
.lab-glance>strong{margin-top:3px;font-family:var(--v-display);font-size:1.02rem;line-height:1.22;overflow-wrap:anywhere}
.lab-meaning,.lab-action{display:grid;grid-template-columns:52px minmax(0,1fr);gap:7px;margin-top:10px;font-size:.81rem;line-height:1.35;overflow-wrap:anywhere}
.lab-meaning b,.lab-action b{font-size:.65rem;letter-spacing:.08em;line-height:1.65;color:var(--v-ink3)}
.lab-action{color:var(--v-ink);font-weight:650}
.lab-action b{color:var(--v-teal)}
.lab-read{position:absolute;right:12px;top:13px;display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:750;color:var(--v-violet);white-space:nowrap}
.lab-read svg{width:14px;height:14px;transition:transform .18s ease}
.lab-finding[open] .lab-read svg{transform:rotate(90deg)}
.lab-read span:last-child,.lab-finding[open] .lab-read span:first-child{display:none}
.lab-finding[open] .lab-read span:last-child{display:inline}
.lab-finding-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:4px 14px 14px;border-top:1px solid var(--v-line)}
.lab-finding-body>div{padding-top:12px;min-width:0}
.lab-finding-body b{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--v-ink3)}
.lab-finding-body p{margin:5px 0 0;max-width:72ch;line-height:1.55;overflow-wrap:anywhere}
.lab-finding-body .source-link{grid-column:1/-1;justify-self:start}
@media(max-width:700px){.lab-findings{grid-template-columns:1fr}.lab-glance{padding-right:0}.lab-read{position:static;grid-column:2;margin-top:2px;justify-self:start}.lab-finding-body{grid-template-columns:1fr}.lab-finding-body .source-link{grid-column:1}}

.strategy-evidence{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--v-line)}
.strategy-evidence>b{width:100%;color:var(--v-ink3);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase}
.strategy-evidence>a{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border-radius:999px;background:var(--v-sunk);color:var(--v-violet);font-size:.73rem;font-weight:700}
.strategy-evidence>a:hover{background:var(--v-line)}
.strategy-evidence>a:focus-visible{outline:3px solid var(--v-violet);outline-offset:2px}
.strategy-evidence>a svg{width:13px;height:13px;flex:none}
.strategy-evidence>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.strategy-evidence-missing{margin-top:12px;padding-top:10px;border-top:1px solid var(--v-line);color:var(--v-ink3);font-size:.76rem;font-weight:700}

.v-title{font-family:var(--v-display);font-size:1.04rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;display:block}
.v-persona-head{flex-wrap:wrap}

/* ============================================================
   Home command dashboard
   A dense, visual control surface for the active brand.
   ============================================================ */
.vh-page{gap:12px}
.vh-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 2px 9px}
.vh-brand{display:flex;align-items:center;gap:12px;min-width:0}
.vh-brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:none;background:linear-gradient(145deg,var(--v-violet),var(--v-rose));box-shadow:0 8px 20px rgba(109,74,255,.2);color:#fff;font-family:var(--v-display);font-size:1rem;font-weight:800;letter-spacing:.04em}
.vh-brand small{display:block;margin-bottom:2px;color:var(--v-ink3);font-family:var(--v-mono);font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.vh-brand h1{margin:0;overflow:hidden;color:var(--v-ink);font-family:var(--v-display);font-size:1.55rem;font-weight:750;letter-spacing:-.025em;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}
.vh-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}

.vh-focus{--vh-accent:var(--v-violet);--vh-soft:var(--v-violet-s);position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(220px,1fr) auto minmax(150px,.34fr);align-items:center;gap:16px;min-height:142px;padding:22px 24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--vh-accent) 25%,var(--v-line));border-radius:16px;background:linear-gradient(115deg,var(--vh-soft),var(--v-surface) 58%)}
.vh-focus.v-rose{--vh-accent:var(--v-rose);--vh-soft:var(--v-rose-s)}
.vh-focus.v-teal{--vh-accent:var(--v-teal);--vh-soft:var(--v-teal-s)}
.vh-focus.v-amber{--vh-accent:var(--v-amber);--vh-soft:var(--v-amber-s)}
.vh-focus.v-blue{--vh-accent:var(--v-blue);--vh-soft:var(--v-blue-s)}
.vh-focus-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:var(--vh-accent);box-shadow:0 11px 24px color-mix(in srgb,var(--vh-accent) 24%,transparent);color:#fff}
.vh-focus-icon svg{width:27px;height:27px}
.vh-focus-copy{position:relative;z-index:2;min-width:0}
.vh-focus-copy small{display:block;margin-bottom:5px;color:var(--vh-accent);font-family:var(--v-mono);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.vh-focus-copy h2{margin:0;color:var(--v-ink);font-family:var(--v-display);font-size:clamp(1.35rem,2.5vw,2rem);font-weight:760;letter-spacing:-.035em;line-height:1.08}
.vh-focus-copy p{margin:7px 0 0;color:var(--v-ink2);font-size:.9rem;line-height:1.35}
.vh-focus-button{position:relative;z-index:2;min-height:46px;padding:11px 16px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--vh-accent);color:#fff!important;font-weight:750;white-space:nowrap}
.vh-focus-button svg{width:17px;height:17px}
.vh-focus-button:focus-visible{outline:3px solid var(--v-ink);outline-offset:3px}
.vh-focus-art{position:relative;justify-self:end;width:140px;height:96px}
.vh-focus-art:before,.vh-focus-art:after{content:"";position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--vh-accent) 34%,transparent)}
.vh-focus-art:before{width:90px;height:90px;right:0;top:1px}
.vh-focus-art:after{width:62px;height:62px;right:14px;top:15px;background:color-mix(in srgb,var(--vh-accent) 10%,transparent)}
.vh-focus-art span{position:absolute;z-index:2;right:31px;top:30px;width:30px;height:30px;display:grid;place-items:center;color:var(--vh-accent);font-family:var(--v-display);font-size:1.15rem;font-weight:800}
.vh-focus-art i{position:absolute;z-index:3;width:12px;height:12px;border:3px solid var(--v-surface);border-radius:50%;background:var(--vh-accent)}
.vh-focus-art i:nth-child(1){right:60px;top:0}.vh-focus-art i:nth-child(2){right:2px;top:42px}.vh-focus-art i:nth-child(3){right:62px;bottom:0}.vh-focus-art i:nth-child(4){right:112px;top:44px}

.vh-journey{display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;border:1px solid var(--v-line);border-radius:14px;background:var(--v-surface)}
.vh-phase{--vh-accent:var(--v-violet);--vh-soft:var(--v-violet-s);position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon name score" "icon dots score";align-items:center;column-gap:9px;row-gap:5px;min-height:86px;padding:14px 13px;color:var(--v-ink)!important;border-right:1px solid var(--v-line)}
.vh-phase:last-child{border-right:0}.vh-phase.v-rose{--vh-accent:var(--v-rose);--vh-soft:var(--v-rose-s)}.vh-phase.v-teal{--vh-accent:var(--v-teal);--vh-soft:var(--v-teal-s)}.vh-phase.v-blue{--vh-accent:var(--v-blue);--vh-soft:var(--v-blue-s)}.vh-phase.v-amber{--vh-accent:var(--v-amber);--vh-soft:var(--v-amber-s)}
.vh-phase:hover,.vh-phase.is-current{background:var(--vh-soft)}
.vh-phase.is-current:after{content:"";position:absolute;inset:auto 10px 0;height:3px;border-radius:3px 3px 0 0;background:var(--vh-accent)}
.vh-phase-icon{grid-area:icon;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--vh-soft);color:var(--vh-accent)}
.is-current .vh-phase-icon,.is-done .vh-phase-icon{background:var(--vh-accent);color:#fff}
.vh-phase-icon svg{width:17px;height:17px}.vh-phase-name{grid-area:name;min-width:0;display:flex;gap:6px;align-items:baseline}.vh-phase-name small{color:var(--vh-accent);font-family:var(--v-mono);font-size:.64rem;font-weight:800}.vh-phase-name b{font-family:var(--v-display);font-size:.88rem;font-weight:700;white-space:nowrap}
.vh-phase-dots{grid-area:dots;display:flex;gap:3px}.vh-phase-dots i{width:14px;height:4px;border-radius:4px;background:var(--v-line2)}.vh-phase-dots i.done{background:var(--vh-accent)}
.vh-phase>strong{grid-area:score;color:var(--v-ink3);font-family:var(--v-mono);font-size:.72rem}

.vh-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:12px}
.vh-panel{min-width:0;padding:17px 18px;border:1px solid var(--v-line);border-radius:14px;background:var(--v-surface)}
.vh-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.vh-panel-head h2{margin:0;color:var(--v-ink);font-family:var(--v-display);font-size:1rem;font-weight:750;letter-spacing:-.015em}.vh-panel-head a{min-height:38px;padding:8px 9px;display:inline-flex;align-items:center;color:var(--v-violet);font-size:.8rem;font-weight:750}

.vh-gates{display:flex;flex-direction:column;gap:7px}.vh-gate{--vh-accent:var(--v-violet);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:55px;padding:8px 10px;border-radius:11px;color:var(--v-ink)!important;background:var(--v-sunk)}.vh-gate.v-rose{--vh-accent:var(--v-rose)}.vh-gate.v-teal{--vh-accent:var(--v-teal)}.vh-gate.v-amber{--vh-accent:var(--v-amber)}.vh-gate.v-blue{--vh-accent:var(--v-blue)}.vh-gate:hover{box-shadow:inset 0 0 0 1px var(--vh-accent)}
.vh-gate-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--vh-accent) 13%,transparent);color:var(--vh-accent)}.vh-gate-icon svg{width:17px;height:17px}.vh-gate-main{min-width:0}.vh-gate-main>b{display:block;margin-bottom:6px;font-size:.86rem}.vh-gate-main>span{display:block;height:6px;overflow:hidden;border-radius:5px;background:var(--v-line)}.vh-gate-main>span i{display:block;height:100%;border-radius:5px;background:var(--vh-accent)}.vh-gate>strong{min-width:50px;text-align:right;color:var(--vh-accent);font-family:var(--v-display);font-size:1.35rem;font-variant-numeric:tabular-nums}.vh-gate>strong small{font-size:.72rem;color:var(--v-ink3)}

.vh-platforms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vh-platform{--vh-accent:var(--v-violet);display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon count" "name name";gap:7px;align-items:center;min-height:108px;padding:12px;border-radius:12px;background:var(--v-sunk);color:var(--v-ink)!important}.vh-platform.v-rose{--vh-accent:var(--v-rose)}.vh-platform.v-blue{--vh-accent:var(--v-blue)}.vh-platform.v-amber{--vh-accent:var(--v-amber)}.vh-platform:hover{background:color-mix(in srgb,var(--vh-accent) 11%,var(--v-surface))}.vh-platform .v-plat{grid-area:icon}.vh-platform strong{grid-area:count;text-align:right;color:var(--vh-accent);font-family:var(--v-display);font-size:1.8rem;line-height:1}.vh-platform>span:last-child{grid-area:name;overflow:hidden;color:var(--v-ink2);font-size:.78rem;font-weight:700;text-overflow:ellipsis}
.vh-content-foot{display:flex;gap:8px;margin-top:8px}.vh-content-foot>span{flex:1;min-height:48px;padding:8px 10px;border:1px solid var(--v-line);border-radius:10px;display:flex;align-items:center;gap:6px;color:var(--v-ink3);font-size:.78rem}.vh-content-foot svg{width:17px;height:17px;color:var(--v-violet)}.vh-content-foot b{color:var(--v-ink);font-family:var(--v-display);font-size:1.15rem}

.vh-signal-map{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid var(--v-line);border-radius:12px;background:var(--v-line)}.vh-signal{--vh-accent:var(--v-violet);min-height:116px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;background:var(--v-surface);color:var(--v-ink)!important}.vh-signal.v-rose{--vh-accent:var(--v-rose)}.vh-signal.v-teal{--vh-accent:var(--v-teal)}.vh-signal.v-blue{--vh-accent:var(--v-blue)}.vh-signal:hover{background:color-mix(in srgb,var(--vh-accent) 8%,var(--v-surface))}.vh-signal>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--vh-accent) 13%,transparent);color:var(--vh-accent)}.vh-signal svg{width:15px;height:15px}.vh-signal strong{color:var(--vh-accent);font-family:var(--v-display);font-size:1.55rem;line-height:1}.vh-signal small{color:var(--v-ink3);font-size:.74rem;font-weight:700}

.vh-posters{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:repeat(2,105px);gap:8px}.vh-poster{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,var(--v-violet-s),var(--v-violet));color:#fff!important}.vh-poster:nth-child(2){background:linear-gradient(145deg,var(--v-rose-s),var(--v-rose))}.vh-poster:nth-child(3){background:linear-gradient(145deg,var(--v-blue-s),var(--v-blue))}.vh-poster:nth-child(4){background:linear-gradient(145deg,var(--v-amber-s),var(--v-amber))}.vh-poster:first-child{grid-row:1/3}.vh-poster:nth-child(4){grid-column:2/4}.vh-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vh-poster:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(20,16,32,.82));z-index:1}.vh-poster-art{position:absolute;inset:0;display:grid;place-items:center;opacity:.38}.vh-poster-art svg{width:52px;height:52px}.vh-poster-label{position:absolute;z-index:2;left:10px;right:10px;bottom:9px;display:flex;align-items:center;gap:7px;min-width:0}.vh-poster-label .v-plat{width:26px;height:26px;border-radius:8px;font-size:.61rem}.vh-poster-label>span{min-width:0}.vh-poster-label b,.vh-poster-label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vh-poster-label b{font-size:.78rem}.vh-poster-label small{margin-top:1px;color:rgba(255,255,255,.72);font-size:.66rem}

.vh-statusbar{display:flex;align-items:center;gap:9px;min-height:60px;padding:8px 10px 8px 16px;border:1px solid var(--v-line);border-radius:14px;background:var(--v-surface)}.vh-statusbar>span{margin-right:auto;color:var(--v-ink3);font-size:.78rem}.vh-statusbar>span b{color:var(--v-ink);font-family:var(--v-mono)}.vh-statusbar>a:not(.vh-status-action){min-height:42px;padding:5px 9px;border-radius:10px;display:flex;align-items:center;gap:6px;color:var(--v-ink2)!important;font-size:.76rem;font-weight:700;background:var(--v-sunk)}.vh-statusbar>a:not(.vh-status-action)>i{width:7px;height:7px;border-radius:50%;background:var(--v-amber)}.vh-statusbar>a.is-live>i{background:var(--v-teal)}.vh-statusbar .v-plat{width:25px;height:25px;border-radius:7px;font-size:.58rem}.vh-status-action{min-height:42px;padding:9px 12px;border-radius:10px;display:flex;align-items:center;gap:7px;background:var(--v-violet);color:#fff!important;font-size:.8rem;font-weight:750}.vh-status-action svg{width:15px;height:15px}

@media(max-width:1060px){
  .vh-focus{grid-template-columns:auto minmax(220px,1fr) auto}.vh-focus-art{display:none}
  .vh-journey{grid-template-columns:repeat(3,1fr)}.vh-phase{border-bottom:1px solid var(--v-line)}.vh-phase:nth-child(3){border-right:0}.vh-phase:nth-child(4),.vh-phase:nth-child(5){border-bottom:0}
}
@media(max-width:820px){
  .vh-grid{grid-template-columns:1fr}.vh-journey{grid-template-columns:1fr 1fr}.vh-phase:nth-child(odd){border-right:1px solid var(--v-line)}.vh-phase:nth-child(even){border-right:0}.vh-phase:nth-child(4){border-bottom:1px solid var(--v-line)}.vh-phase:last-child{grid-column:1/3;border-bottom:0}
}
@media(max-width:620px){
  .vh-page{padding-inline:0}.vh-topbar{align-items:flex-start}.vh-top-actions .v-chip{display:none}.vh-top-actions .v-btn{padding-inline:11px}.vh-top-actions .v-btn:first-of-type{display:none}
  .vh-focus{grid-template-columns:auto 1fr;gap:12px;padding:18px}.vh-focus-icon{width:48px;height:48px;border-radius:14px}.vh-focus-button{grid-column:1/3;width:100%}.vh-focus-copy p{font-size:.84rem}
  .vh-journey{grid-template-columns:1fr}.vh-phase,.vh-phase:nth-child(n){grid-column:auto;border-right:0;border-bottom:1px solid var(--v-line)}.vh-phase:last-child{border-bottom:0}
  .vh-platforms{grid-template-columns:repeat(3,minmax(0,1fr))}.vh-platform{grid-template-columns:1fr;grid-template-areas:"icon" "count" "name";justify-items:center;text-align:center}.vh-platform strong{text-align:center}
  .vh-signal-map{grid-template-columns:1fr 1fr}.vh-posters{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,118px)}.vh-poster:first-child{grid-column:1/3;grid-row:1}.vh-poster:nth-child(4){grid-column:1/3}
  .vh-statusbar{flex-wrap:wrap}.vh-statusbar>span{width:auto;margin-right:auto}.vh-statusbar>a:not(.vh-status-action){display:none}.vh-status-action{margin-left:auto}
}
/* Reel production package */
.reel-beats { display:grid; gap:.55rem; margin-top:1rem; }
.reel-beats > b { color:var(--v-muted); font-size:.68rem; letter-spacing:.12em; }
.reel-beats > span { display:grid; grid-template-columns:4.5rem 1fr; gap:.7rem; padding:.7rem .8rem; border-radius:14px; background:var(--v-soft-blue); color:var(--v-text); line-height:1.45; }
.reel-beats > span strong { color:var(--v-blue); font-size:.78rem; }
.reel-beats > span > b { font-size:.92rem; line-height:1.45; }
.reel-beats > span > small { grid-column:2; color:var(--v-muted); line-height:1.45; }
.reel-script { margin-top:.8rem; overflow:hidden; border:1px solid var(--v-line); border-radius:12px; background:var(--v-card); }
.reel-script summary { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:.65rem; padding:.7rem .8rem; cursor:pointer; list-style:none; color:var(--v-violet); font-size:.72rem; font-weight:800; letter-spacing:.08em; }
.reel-script summary::-webkit-details-marker { display:none; }
.reel-script summary::marker { content:""; }
.reel-script summary:hover { background:var(--v-soft-violet); }
.reel-script summary:focus-visible { outline:3px solid var(--v-violet); outline-offset:-3px; }
.reel-script summary > svg { width:18px; height:18px; min-width:18px; flex:0 0 18px; transition:transform .18s ease; }
.reel-script[open] summary > svg { transform:rotate(90deg); }
.reel-script p { margin:0; padding:0 .9rem 1rem; white-space:pre-wrap; line-height:1.65; color:var(--v-text); }
.winning-blueprint{margin:.8rem 0;overflow:hidden;border:1px solid color-mix(in srgb,var(--v-teal) 30%,var(--v-line));border-radius:12px;background:color-mix(in srgb,var(--v-teal) 5%,var(--v-card))}
.winning-blueprint>summary{min-height:46px;padding:.65rem .75rem;display:flex;align-items:center;gap:.55rem;cursor:pointer;list-style:none;color:var(--v-text)}
.winning-blueprint>summary::-webkit-details-marker{display:none}.winning-blueprint>summary::marker{content:""}
.winning-blueprint>summary>span:first-child{display:flex;align-items:center;gap:.45rem;flex:1;min-width:0}.winning-blueprint>summary>span:first-child svg{width:16px;height:16px;color:var(--v-teal)}
.winning-blueprint>summary>b{font-size:.8rem}.winning-blueprint>summary>.v-chip{flex:none}.winning-blueprint>summary>svg{width:17px;height:17px;flex:0 0 17px;color:var(--v-violet);transition:transform .18s ease}.winning-blueprint[open]>summary>svg{transform:rotate(90deg)}
.winning-blueprint>summary:hover{background:color-mix(in srgb,var(--v-teal) 9%,transparent)}.winning-blueprint>summary:focus-visible{outline:3px solid var(--v-violet);outline-offset:-3px}
.winning-blueprint-body{display:grid;gap:.65rem;padding:0 .75rem .75rem}.blueprint-source{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.blueprint-source small,.blueprint-source b{display:block}.blueprint-source small{color:var(--v-muted);font-size:.62rem;letter-spacing:.1em}.blueprint-source b{margin-top:.15rem;font-size:.82rem}.blueprint-source .v-btn svg{width:14px;height:14px}
.blueprint-beats{display:grid;gap:1px;overflow:hidden;border:1px solid var(--v-line);border-radius:10px;background:var(--v-line)}.blueprint-beats>span{min-height:36px;padding:.45rem .6rem;display:grid;grid-template-columns:1.7rem 1fr;align-items:center;gap:.45rem;background:var(--v-card);font-size:.76rem;line-height:1.35}.blueprint-beats>span>b{color:var(--v-blue);font-family:var(--v-mono);font-size:.66rem}
.blueprint-guardrails{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.blueprint-guardrails>span{padding:.55rem .65rem;border-radius:9px;background:var(--v-soft-blue);font-size:.7rem;line-height:1.4}.blueprint-guardrails>span:last-child{background:var(--v-soft-violet)}.blueprint-guardrails b{display:block;margin-bottom:.2rem;color:var(--v-teal);font-size:.62rem;letter-spacing:.1em}.blueprint-guardrails>span:last-child b{color:var(--v-violet)}
.prompt-pack-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:0 .9rem 1rem; }
.prompt-pack-grid > div { min-width:0; padding:.85rem; border-radius:12px; background:var(--v-soft-violet); }
.prompt-pack-grid b { display:block; margin-bottom:.45rem; color:var(--v-violet); font-size:.68rem; letter-spacing:.08em; }
.prompt-pack-grid p { padding:0; font-size:.88rem; line-height:1.55; overflow-wrap:anywhere; }
.creative-pack-list { grid-template-columns:1fr; }
.clipboard-helper { position:fixed; inset:auto auto 0 -10000px; width:1px; height:1px; opacity:0; }
@media (max-width:600px) { .reel-beats > span { grid-template-columns:1fr; gap:.2rem; } .reel-beats > span > small { grid-column:1; } .prompt-pack-grid,.blueprint-guardrails { grid-template-columns:1fr; } .winning-blueprint>summary>.v-chip{display:none} }

/* Permanent brand rules and monthly planning stay visibly separate. */
.foundation-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px;border:1px solid var(--v-line);border-radius:16px;background:var(--v-surface)}
.foundation-switcher>a{min-width:0;min-height:58px;padding:9px 11px;display:flex;align-items:center;gap:10px;border-radius:11px;color:var(--v-ink)!important}
.foundation-switcher>a:hover{background:var(--v-sunk)}
.foundation-switcher>a.is-active{background:var(--v-rose-s);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--v-rose) 32%,transparent)}
.foundation-switcher>a:focus-visible,.foundation-reference>a:focus-visible{outline:3px solid var(--v-violet);outline-offset:2px}
.foundation-switcher>a>span:first-child{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--v-sunk);color:var(--v-violet)}
.foundation-switcher>a.is-active>span:first-child{background:var(--v-rose);color:#fff}
.foundation-switcher svg{width:17px;height:17px}.foundation-switcher b,.foundation-switcher small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.foundation-switcher b{font-size:.83rem}.foundation-switcher small{margin-top:2px;color:var(--v-ink3);font-size:.7rem}
.foundation-reference{display:grid;grid-template-columns:minmax(190px,1fr) repeat(2,minmax(150px,.48fr));gap:8px;align-items:stretch;padding:9px;border:1px solid var(--v-line);border-radius:14px;background:var(--v-surface)}
.foundation-reference>span{padding:7px 9px}.foundation-reference>span b,.foundation-reference>span small{display:block}.foundation-reference>span b{font-size:.82rem;color:var(--v-ink)}.foundation-reference>span small{margin-top:3px;color:var(--v-ink3);font-size:.72rem}
.foundation-reference>a{min-width:0;min-height:50px;padding:8px 10px;display:flex;align-items:center;gap:9px;border-radius:10px;background:var(--v-sunk);color:var(--v-ink)!important}
.foundation-reference>a:hover{background:var(--v-rose-s)}.foundation-reference>a>svg{width:18px;height:18px;flex:none;color:var(--v-rose)}
.foundation-reference>a b,.foundation-reference>a small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foundation-reference>a b{font-size:.79rem}.foundation-reference>a small{margin-top:2px;color:var(--v-ink3);font-size:.69rem}
@media(max-width:700px){.foundation-switcher{grid-template-columns:1fr}.foundation-switcher>a{min-height:54px}.foundation-reference{grid-template-columns:1fr}.foundation-reference>span{padding-bottom:3px}}

.playbook-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.playbook-platform{min-width:0}.playbook-platform.is-master{background:linear-gradient(180deg,var(--v-rose-s),var(--v-surface) 150px)}
.playbook-platform.is-repurpose{background:linear-gradient(180deg,var(--v-blue-s),var(--v-surface) 150px)}
.playbook-platform .v-head{flex-wrap:wrap}.playbook-platform .v-head .v-chip{margin-left:auto}.playbook-platform .v-head .v-rule{flex-basis:100%}
.playbook-platform textarea{resize:vertical}
@media(max-width:1050px){.playbook-platforms{grid-template-columns:1fr 1fr}.playbook-platform.is-master{grid-column:1/-1}}
@media(max-width:700px){.playbook-platforms{grid-template-columns:1fr}.playbook-platform.is-master{grid-column:auto}}
