/* ============================================================
   Brand voice / guidelines — styles  (token-only · dual-theme)
   ============================================================ */
.brd{ flex:1 1 auto; min-width:0; height:100vh; min-height:0; display:flex; flex-direction:column;
  position:relative; isolation:isolate; overflow:hidden; }

/* command bar */
.br-bar{ flex:0 0 auto; display:flex; align-items:center; gap:22px; padding:14px 20px;
  background:var(--glass-head); backdrop-filter:var(--blur-lg); -webkit-backdrop-filter:var(--blur-lg);
  border-bottom:1px solid var(--line-soft); position:relative; }
.br-bar::after{ content:''; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--acc-line),var(--ai-b),transparent); opacity:.5; }
.br-id{ flex:1; min-width:0; }
.br-bar-r{ flex:0 0 auto; display:flex; align-items:center; gap:12px; }
.br-ai-pill{ display:flex; align-items:center; gap:7px; height:34px; padding:0 13px; border-radius:11px; white-space:nowrap;
  font-size:var(--fs-sub); font-weight:var(--fw-black); color:var(--acc-2); background:var(--acc-soft); box-shadow:inset 0 0 0 1px var(--acc-line); }
.br-ai-pill .d{ width:7px; height:7px; border-radius:50%; background:var(--good); box-shadow:0 0 9px var(--good); }
.br-ai-pill svg{ color:var(--ai-b); }
.br-edit{ display:flex; align-items:center; gap:7px; height:36px; padding:0 15px; border-radius:11px; color:#fff; font-size:var(--fs-base); font-weight:var(--fw-black);
  background:var(--ai-grad); box-shadow:0 8px 22px -8px var(--ai-glow), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .2s var(--spring); }
.br-edit:hover{ transform:translateY(-1px); }

.br-body{ flex:1; min-height:0; display:flex; align-items:stretch; }

/* TOC */
.br-toc{ flex:0 0 224px; min-height:0; display:flex; flex-direction:column; gap:3px; padding:16px 12px; overflow-y:auto;
  background:var(--glass-rail); backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur); border-right:1px solid var(--line-soft); }
.br-toc-row{ display:flex; align-items:center; gap:11px; height:40px; padding:0 12px; border-radius:11px; cursor:pointer; color:var(--ink-2); width:100%; text-align:left; transition:.16s var(--out); }
.br-toc-row .ic{ color:var(--ink-3); display:grid; place-items:center; transition:.16s var(--out); }
.br-toc-row .lbl{ flex:1; font-size:var(--fs-base); font-weight:var(--fw-bold); }
.br-toc-row:hover{ background:var(--hover); color:var(--ink); }
.br-toc-row.on{ background:var(--acc-soft); color:var(--acc-2); box-shadow:inset 0 0 0 1px var(--acc-line); }
.br-toc-row.on .ic{ color:var(--acc-2); }

/* doc */
.br-doc{ flex:1; min-width:0; overflow-y:auto; }
.br-doc-inner{ max-width:880px; margin:0 auto; padding:28px 32px 80px; }
.br-sec{ scroll-margin-top:16px; padding-bottom:34px; margin-bottom:34px; border-bottom:1px solid var(--line-soft); }
.br-sec:last-child{ border-bottom:0; }
.br-sechead{ display:flex; align-items:flex-start; gap:14px; margin-bottom:18px; }
.br-snum{ font-family:'JetBrains Mono',monospace; font-size:var(--fs-base); font-weight:var(--fw-bold); color:var(--acc-2);
  padding-top:3px; -webkit-text-stroke:0; }
.br-secsub{ font-size:var(--fs-sub); font-weight:var(--fw-med); color:var(--ink-3); margin-top:4px; line-height:1.5; }

/* essence hero */
.br-hero{ padding:26px; border-radius:20px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,var(--acc-soft),rgba(22,192,216,.05)); border:1px solid var(--acc-line); }
.br-hero::after{ content:''; position:absolute; right:-40px; top:-40px; width:180px; height:180px; border-radius:50%;
  background:radial-gradient(circle,var(--ai-glow),transparent 70%); opacity:.4; }
.br-hero > *{ position:relative; z-index:1; }
.br-hero-eyebrow{ font-size:var(--fs-eyebrow); font-weight:var(--fw-black); color:var(--ink-3); text-transform:uppercase; letter-spacing:.16em; }
.br-hero-tag{ font-size:var(--fs-hero); font-weight:var(--fw-black); letter-spacing:-.035em; line-height:1.05; margin:12px 0 0;
  background:var(--grad-head); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:0 0 40px var(--grad-head-glow); }
.br-hero-mission{ font-size:var(--fs-body); font-weight:var(--fw-reg); color:var(--ink-2); line-height:1.6; margin:14px 0 0; max-width:620px; }
.br-pillars{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.br-pillar{ height:30px; padding:0 13px; display:inline-flex; align-items:center; border-radius:9px; font-size:var(--fs-sub); font-weight:var(--fw-black);
  color:var(--ink); background:var(--well-2); box-shadow:inset 0 0 0 1px var(--line); }
.br-audience{ margin-top:14px; padding:16px; border-radius:14px; background:var(--well); border:1px solid var(--line-soft); }
.br-aud-h{ display:flex; align-items:center; gap:8px; font-size:var(--fs-micro); font-weight:var(--fw-black); color:var(--ink-3); text-transform:uppercase; letter-spacing:.1em; }
.br-aud-h svg{ color:var(--acc-2); }
.br-audience p{ font-size:var(--fs-base); font-weight:var(--fw-med); color:var(--ink-2); line-height:1.55; margin:9px 0 0; }

/* tone sliders */
.br-tone{ display:flex; flex-direction:column; gap:14px; }
.br-tone-row{ display:flex; align-items:center; gap:14px; }
.br-tone-row .tl{ flex:0 0 92px; font-size:var(--fs-sub); font-weight:var(--fw-black); }
.br-tone-row .tl.left{ text-align:right; color:var(--ink); }
.br-tone-row .tl.right{ text-align:left; color:var(--ink-4); }
.tone-track{ flex:1; position:relative; height:8px; border-radius:5px; background:var(--well-2); box-shadow:inset 0 0 0 1px var(--line-soft); }
.tone-fill{ position:absolute; left:0; top:0; bottom:0; border-radius:5px; background:linear-gradient(90deg,var(--acc),var(--acc-2)); }
.tone-knob{ position:absolute; top:50%; width:15px; height:15px; border-radius:50%; background:#fff; transform:translate(-50%,-50%);
  box-shadow:0 0 0 3px var(--acc-soft), 0 1px 5px rgba(0,0,0,.4), 0 0 12px var(--acc-glow); }

/* traits */
.br-traits{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.br-trait{ padding:16px; border-radius:15px; background:var(--panel-2); border:1px solid var(--line); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.br-trait .tic{ width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:#fff; background:var(--ai-grad); box-shadow:0 6px 16px -6px var(--ai-glow); }
.br-trait .tn{ font-size:var(--fs-lg); font-weight:var(--fw-black); color:var(--ink); margin-top:12px; }
.br-trait .td{ font-size:var(--fs-sub); font-weight:var(--fw-med); color:var(--ink-2); line-height:1.5; margin-top:5px; }

/* do & don't */
.br-dd{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.br-dd-col{ padding:16px; border-radius:15px; border:1px solid var(--line-soft); }
.br-dd-col.do{ background:rgba(70,217,160,.07); border-color:rgba(70,217,160,.26); }
.br-dd-col.dont{ background:rgba(255,107,125,.06); border-color:rgba(255,107,125,.24); }
.br-dd-col .ddh{ display:flex; align-items:center; gap:8px; font-size:var(--fs-base); font-weight:var(--fw-black); margin-bottom:12px; }
.br-dd-col.do .ddh{ color:var(--good); }
.br-dd-col.dont .ddh{ color:var(--bad); }
.dd-item{ display:flex; align-items:flex-start; gap:9px; font-size:var(--fs-sub); font-weight:var(--fw-med); color:var(--ink-2); line-height:1.5; padding:7px 0; border-bottom:1px solid var(--line-soft); }
.dd-item:last-child{ border-bottom:0; }
.dd-item .bullet{ flex:0 0 18px; width:18px; height:18px; border-radius:6px; display:grid; place-items:center; margin-top:1px; }
.br-dd-col.do .bullet{ color:var(--good); background:rgba(70,217,160,.16); }
.br-dd-col.dont .bullet{ color:var(--bad); background:rgba(255,107,125,.16); }

/* vocabulary */
.br-vocab{ display:flex; flex-direction:column; gap:16px; }
.br-vcol .vh{ display:flex; align-items:center; gap:8px; font-size:var(--fs-micro); font-weight:var(--fw-black); text-transform:uppercase; letter-spacing:.1em; margin-bottom:10px; }
.br-vcol .vh.use{ color:var(--good); }
.br-vcol .vh.swap{ color:var(--acc-2); }
.br-vcol .vh.ban{ color:var(--bad); }
.vchips{ display:flex; flex-wrap:wrap; gap:7px; }
.vchip{ height:30px; padding:0 13px; display:inline-flex; align-items:center; border-radius:9px; font-size:var(--fs-sub); font-weight:var(--fw-bold); }
.vchip.use{ color:var(--ink); background:rgba(70,217,160,.1); box-shadow:inset 0 0 0 1px rgba(70,217,160,.3); }
.vchip.ban{ color:var(--bad); background:rgba(255,107,125,.08); box-shadow:inset 0 0 0 1px rgba(255,107,125,.3); text-decoration:line-through; text-decoration-color:rgba(255,107,125,.5); }
.vswaps{ display:flex; flex-direction:column; gap:7px; }
.vswap{ display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:11px; background:var(--well); border:1px solid var(--line-soft); }
.vswap .from{ font-size:var(--fs-sub); font-weight:var(--fw-bold); color:var(--ink-3); text-decoration:line-through; text-decoration-color:var(--ink-4); }
.vswap svg{ color:var(--acc-2); }
.vswap .to{ font-size:var(--fs-sub); font-weight:var(--fw-black); color:var(--good); }

/* captions */
.br-caps{ display:flex; flex-direction:column; gap:12px; }
.br-cap{ padding:16px; border-radius:15px; border:1px solid var(--line-soft); background:var(--panel-2); }
.br-cap.good{ border-color:rgba(70,217,160,.26); }
.br-cap.bad{ border-color:rgba(255,107,125,.24); }
.cap-top{ display:flex; align-items:center; gap:9px; }
.cap-plat{ width:28px; height:28px; border-radius:9px; display:grid; place-items:center; color:var(--ink-2); background:var(--well); }
.cap-badge{ display:inline-flex; align-items:center; gap:5px; height:24px; padding:0 10px; border-radius:8px; font-size:var(--fs-micro); font-weight:var(--fw-black); text-transform:uppercase; letter-spacing:.05em; }
.cap-badge.good{ color:var(--good); background:rgba(70,217,160,.12); }
.cap-badge.bad{ color:var(--bad); background:rgba(255,107,125,.12); }
.cap-text{ font-size:var(--fs-base); font-weight:var(--fw-med); color:var(--ink); line-height:1.55; margin:12px 0 0; }
.br-cap.bad .cap-text{ color:var(--ink-2); }
.cap-note{ display:flex; align-items:center; gap:6px; font-size:var(--fs-label); font-weight:var(--fw-bold); color:var(--ink-3); margin-top:11px; padding-top:11px; border-top:1px solid var(--line-soft); }
.cap-note svg{ color:var(--acc-2); flex:0 0 auto; }
.br-cap.bad .cap-note svg{ color:var(--bad); }

/* visual identity */
.br-vis-h{ font-size:var(--fs-micro); font-weight:var(--fw-black); color:var(--ink-3); text-transform:uppercase; letter-spacing:.1em; margin-bottom:12px; }
.br-colors{ display:grid; grid-template-columns:repeat(auto-fill,minmax(132px,1fr)); gap:10px; }
.br-color{ padding:10px; border-radius:13px; background:var(--panel-2); border:1px solid var(--line); }
.br-color .sw{ display:block; height:64px; border-radius:9px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); }
.br-color .cn{ font-size:var(--fs-sub); font-weight:var(--fw-black); color:var(--ink); margin-top:9px; }
.br-color .cr{ font-size:var(--fs-micro); font-weight:var(--fw-bold); color:var(--ink-3); text-transform:uppercase; letter-spacing:.05em; }
.br-color .ch{ font-size:var(--fs-label); font-weight:var(--fw-bold); color:var(--ink-2); margin-top:5px; }
.br-typelogo{ display:grid; grid-template-columns:1fr 0.7fr; gap:12px; }
.br-fonts{ display:flex; flex-direction:column; gap:10px; }
.br-font{ padding:16px; border-radius:13px; background:var(--panel-2); border:1px solid var(--line); }
.br-font .fsample{ font-size:24px; color:var(--ink); letter-spacing:-.02em; }
.br-font .fmeta{ font-size:var(--fs-label); font-weight:var(--fw-bold); color:var(--ink-3); margin-top:8px; }
.br-logo-slot{ position:relative; border-radius:13px; border:1.5px dashed var(--line-strong); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:140px; overflow:hidden; }
.br-logo-slot .ls-grid{ position:absolute; inset:0; background:repeating-linear-gradient(135deg, rgba(130,130,140,.12) 0 10px, transparent 10px 20px); }
.br-logo-slot .ls-mono{ position:relative; font-size:var(--fs-sub); font-weight:var(--fw-bold); color:var(--ink-3); }
.br-logo-slot .ls-t{ position:relative; font-size:var(--fs-label); font-weight:var(--fw-bold); color:var(--ink-4); text-transform:uppercase; letter-spacing:.06em; }

/* hashtags & CTAs */
.br-tagsets{ display:flex; flex-direction:column; gap:12px; }
.br-tagset{ padding:14px; border-radius:13px; background:var(--panel-2); border:1px solid var(--line); }
.br-tagset .tsh{ font-size:var(--fs-sub); font-weight:var(--fw-black); color:var(--ink); margin-bottom:9px; }
.tschips{ display:flex; flex-wrap:wrap; gap:6px; }
.tschip{ height:28px; padding:0 11px; display:inline-flex; align-items:center; border-radius:8px; font-size:var(--fs-sub); font-weight:var(--fw-bold); color:var(--acc-2); background:var(--acc-soft); box-shadow:inset 0 0 0 1px var(--acc-line); }
.br-ctas{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.br-cta{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; border-radius:11px; text-align:left;
  background:var(--well); border:1px solid var(--line-soft); color:var(--ink); font-size:var(--fs-sub); font-weight:var(--fw-bold); transition:.16s var(--out); }
.br-cta svg{ color:var(--ink-3); flex:0 0 auto; }
.br-cta:hover{ border-color:var(--acc-line); color:var(--acc-2); }
.br-cta:hover svg{ color:var(--acc-2); }

/* AI model */
.br-ai{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.br-ai-stat{ padding:18px; border-radius:15px; background:var(--panel-2); border:1px solid var(--line); text-align:center; }
.br-ai-stat .v{ font-size:var(--fs-stat-2); font-weight:var(--fw-black); letter-spacing:-.02em; color:var(--ink); }
.br-ai-stat .l{ font-size:var(--fs-micro); font-weight:var(--fw-bold); color:var(--ink-3); text-transform:uppercase; letter-spacing:.05em; margin-top:5px; }
.br-ai-src{ grid-column:1 / -1; padding:16px; border-radius:15px; background:linear-gradient(135deg,var(--acc-soft),rgba(22,192,216,.04)); border:1px solid var(--acc-line); }
.br-ai-src .srch{ display:flex; align-items:center; gap:8px; font-size:var(--fs-micro); font-weight:var(--fw-black); color:var(--ink-3); text-transform:uppercase; letter-spacing:.1em; margin-bottom:11px; }
.br-ai-src .src{ display:flex; align-items:center; gap:8px; font-size:var(--fs-sub); font-weight:var(--fw-bold); color:var(--ink-2); padding:5px 0; }
.br-ai-src .src svg{ color:var(--good); }
.br-retrain{ display:flex; align-items:center; gap:8px; height:40px; padding:0 16px; border-radius:11px; margin-top:13px; color:#fff; font-size:var(--fs-base); font-weight:var(--fw-black);
  background:var(--ai-grad); box-shadow:0 8px 22px -8px var(--ai-glow), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .2s var(--spring); }
.br-retrain:hover{ transform:translateY(-1px); }

@media (max-width:1100px){ .br-traits,.br-dd,.br-ctas,.br-typelogo{ grid-template-columns:1fr; } .br-ai{ grid-template-columns:1fr 1fr; } }
html[data-compact] .br-toc{ flex-basis:60px; }
html[data-compact] .br-toc-row .lbl{ display:none; }
html[data-compact] .br-toc-row{ justify-content:center; padding:0; }
