/* ══════════════════════════════════════════════════════════════════════════
   BitCommunication — PRO STYLES
   Billing panel · AI Command Center · landing conversion blocks
   Loaded after style.css so these rules win without !important spam.
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --bc-purple:#7C3AED;
  --bc-pink:#EC4899;
  --bc-amber:#F59E0B;
  --bc-green:#22C55E;
  --bc-ink:#0B0B14;
  --bc-card:rgba(20,20,38,.72);
  --bc-line:rgba(255,255,255,.10);
  --bc-txt:#E8E8F2;
  --bc-mut:#9A9AB4;
}

/* ══════════════════════════════════════════════════════════════════════
   BILLING PANEL
   ══════════════════════════════════════════════════════════════════════ */
.bcb-wrap{max-width:1180px;margin:0 auto;padding:8px 0 60px}
.bcb-head h2{font-size:clamp(24px,4vw,34px);font-weight:800;margin:0 0 6px}
.bcb-head p{color:var(--bc-mut);margin:0 0 24px}
.bcb-loading{color:var(--bc-mut);padding:40px 0;text-align:center}

.bcb-current{
  display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(236,72,153,.10));
  border:1px solid var(--bc-line);border-radius:22px;padding:24px 26px;margin-bottom:22px;
}
.bcb-cur-paid{background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(14,165,233,.10))}
.bcb-cur-founder{
  background:linear-gradient(135deg,rgba(245,158,11,.20),rgba(236,72,153,.12));
  border-color:rgba(245,158,11,.45);
  box-shadow:0 0 60px rgba(245,158,11,.18);
}
.bcb-cur-lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bc-mut)}
.bcb-current h3{font-size:26px;font-weight:800;margin:4px 0 6px}
.bcb-current p{margin:0;color:var(--bc-mut);max-width:56ch;line-height:1.6}

/* founder call-out */
.bcb-founder{
  display:flex;gap:16px;align-items:center;
  border:1px dashed rgba(245,158,11,.5);border-radius:18px;
  background:rgba(245,158,11,.07);padding:18px 20px;margin-bottom:22px;
}
.bcb-f-ico{font-size:34px;line-height:1}
.bcb-founder h4{margin:0 0 4px;font-size:16px;font-weight:700}
.bcb-founder p{margin:0;color:var(--bc-mut);font-size:14px;line-height:1.6}

/* usage */
.bcb-usage{
  background:var(--bc-card);border:1px solid var(--bc-line);
  border-radius:20px;padding:22px 24px;margin-bottom:26px;
}
.bcb-usage h4{margin:0 0 16px;font-size:15px;font-weight:700}
.bcb-u{display:grid;grid-template-columns:130px 1fr 110px;gap:14px;align-items:center;margin-bottom:12px;font-size:14px}
.bcb-u b{text-align:right;color:var(--bc-mut);font-weight:600;font-size:13px}
.bcb-ubar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.bcb-ubar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--bc-purple),var(--bc-pink));transition:width .4s ease}
.bcb-ubar.bcb-warn i{background:linear-gradient(90deg,#F59E0B,#EF4444)}
.bcb-ubar.bcb-full i{background:#EF4444}
.bcb-uinf i{background:linear-gradient(90deg,#22C55E,#0EA5E9)}
.bcb-reset{margin:14px 0 0;font-size:12px;color:var(--bc-mut)}

/* period toggle */
.bcb-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid var(--bc-line);margin-bottom:22px}
.bcb-toggle button{
  border:0;background:transparent;color:var(--bc-mut);font:inherit;font-size:14px;font-weight:600;
  padding:9px 20px;border-radius:99px;cursor:pointer;transition:.2s;
}
.bcb-toggle button.on{background:linear-gradient(135deg,var(--bc-purple),var(--bc-pink));color:#fff}
.bcb-toggle button span{font-size:11px;opacity:.85;margin-left:6px}

/* plan grid */
.bcb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:18px}
.bcb-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--bc-card);border:1px solid var(--bc-line);border-radius:22px;padding:26px 24px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.bcb-card:hover{transform:translateY(-4px);border-color:rgba(124,58,237,.5);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.bcb-featured{
  border-color:rgba(124,58,237,.6);
  background:linear-gradient(180deg,rgba(124,58,237,.14),var(--bc-card));
  box-shadow:0 20px 70px rgba(124,58,237,.25);
}
.bcb-mine{border-color:rgba(34,197,94,.55)}
.bcb-ribbon{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,var(--bc-purple),var(--bc-pink));color:#fff;
  font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 14px;border-radius:99px;white-space:nowrap;
}
.bcb-card-head h4{margin:0 0 4px;font-size:19px;font-weight:800}
.bcb-tag{margin:0;font-size:13px;color:var(--bc-mut)}
.bcb-price{font-size:38px;font-weight:800;margin:16px 0 2px;letter-spacing:-.02em}
.bcb-per{font-size:14px;font-weight:600;color:var(--bc-mut);margin-left:4px}
.bcb-save{font-size:12px;color:var(--bc-green);min-height:18px;margin-bottom:14px}
.bcb-feats{list-style:none;margin:0 0 22px;padding:0;flex:1}
.bcb-feats li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.5;margin-bottom:9px;color:var(--bc-txt)}
.bcb-feats i{font-style:normal;color:var(--bc-green);font-weight:800;flex:0 0 14px}
.bcb-feats .bcb-no{color:#6B7280}
.bcb-feats li:has(.bcb-no){color:var(--bc-mut);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.18)}

.bcb-btn{
  width:100%;border:0;border-radius:14px;padding:13px 18px;
  font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;transition:.2s;
}
.bcb-btn-buy{background:linear-gradient(135deg,var(--bc-purple),var(--bc-pink));color:#fff;box-shadow:0 10px 30px rgba(124,58,237,.35)}
.bcb-btn-buy:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(124,58,237,.5)}
.bcb-btn-ghost{background:rgba(255,255,255,.07);color:var(--bc-txt);border:1px solid var(--bc-line)}
.bcb-btn-ghost:hover{background:rgba(255,255,255,.12)}
.bcb-btn-cur{background:rgba(34,197,94,.16);color:#4ADE80;border:1px solid rgba(34,197,94,.4);cursor:default}
.bcb-btn:disabled{opacity:.85;cursor:default;transform:none!important;box-shadow:none}
.bcb-link{background:none;border:0;color:#C4B5FD;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;padding:0}

.bcb-secure{font-size:12.5px;color:var(--bc-mut);text-align:center;margin:6px 0 26px;line-height:1.6}
.bcb-warnline{color:var(--bc-amber)}

.bcb-extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.bcb-ex{background:var(--bc-card);border:1px solid var(--bc-line);border-radius:18px;padding:20px 22px}
.bcb-ex h4{margin:0 0 6px;font-size:15px;font-weight:700}
.bcb-ex p{margin:0 0 14px;font-size:13px;color:var(--bc-mut);line-height:1.55}
.bcb-row{display:flex;gap:8px}
.bcb-row input{
  flex:1;min-width:0;background:rgba(0,0,0,.3);border:1px solid var(--bc-line);
  border-radius:12px;padding:11px 13px;color:var(--bc-txt);font:inherit;font-size:13px;
  letter-spacing:.06em;text-transform:uppercase;
}
.bcb-row input:focus{outline:0;border-color:rgba(124,58,237,.7)}
.bcb-row .bcb-btn{width:auto;padding:11px 20px}

/* sidebar badge */
.bc-sb-badge{
  font-size:9.5px!important;font-weight:800;letter-spacing:.04em;
  background:linear-gradient(135deg,var(--bc-amber),var(--bc-pink));
  color:#12121e;padding:3px 8px;border-radius:99px;white-space:nowrap;
}
.bc-sb-badge.bc-spots-gone{background:rgba(255,255,255,.14);color:var(--bc-mut)}
.bc-sb-badge:empty{display:none}

/* ══════════════════════════════════════════════════════════════════════
   LANDING — scarcity + pricing blocks
   ══════════════════════════════════════════════════════════════════════ */
.bcl-scarcity{
  display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;
  max-width:760px;margin:26px auto 0;padding:18px 22px;
  background:linear-gradient(135deg,rgba(245,158,11,.14),rgba(236,72,153,.10));
  border:1px solid rgba(245,158,11,.4);border-radius:20px;
  box-shadow:0 0 60px rgba(245,158,11,.12);
}
.bcl-sc-num{font-size:44px;font-weight:900;line-height:1;letter-spacing:-.03em;
  background:linear-gradient(135deg,#FDE68A,#F59E0B,#EC4899);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.bcl-sc-txt{text-align:left;min-width:210px}
/* Only the HEADLINE <b> is a block. A nested <b> inside the sub-line must stay
   inline, or the sentence breaks into three stacked fragments. */
.bcl-sc-txt > b{display:block;font-size:15px;margin-bottom:3px}
.bcl-sc-txt > span{font-size:13px;color:var(--bc-mut);line-height:1.55;display:block}
.bcl-sc-txt > span b{display:inline;font-size:inherit;color:var(--bc-txt)}
.bcl-sc-track{width:100%;max-width:420px;height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.bcl-sc-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#F59E0B,#EC4899);transition:width .8s ease}
body.bc-founder-closed .bcl-scarcity{border-color:var(--bc-line);background:rgba(255,255,255,.05);box-shadow:none}

.bcl-pricing{max-width:1120px;margin:0 auto;padding:0 20px}
.bcl-pricing .bcb-grid{margin-bottom:8px}
.bcl-plans-note{text-align:center;color:var(--bc-mut);font-size:13px;margin:14px 0 0}

.bcl-compare{width:100%;border-collapse:collapse;margin:26px auto 0;max-width:760px;font-size:14px}
.bcl-compare th,.bcl-compare td{padding:13px 16px;border-bottom:1px solid var(--bc-line);text-align:left}
.bcl-compare th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bc-mut);font-weight:700}
.bcl-compare td:nth-child(2){color:var(--bc-mut)}
.bcl-compare td:nth-child(3){color:#4ADE80;font-weight:600}
.bcl-compare tr:last-child td{border-bottom:0}

@media (max-width:640px){
  .bcb-u{grid-template-columns:96px 1fr 78px;gap:9px;font-size:13px}
  .bcc{padding:22px 18px;border-radius:20px}
  .bcc-tip{display:none}
  .bcl-sc-txt{text-align:center}
  .bcb-current{padding:20px}
}

/* ══════════════════════════════════════════════════════════════════════
   AI STUDIO — the single AI on Home, and the landing assistant
   ══════════════════════════════════════════════════════════════════════ */
.bcs{
  position:relative;overflow:hidden;
  background:
    radial-gradient(1000px 340px at 12% -25%,rgba(124,58,237,.34),transparent 62%),
    radial-gradient(760px 320px at 96% -6%,rgba(236,72,153,.24),transparent 62%),
    linear-gradient(180deg,rgba(24,24,46,.86),rgba(14,14,28,.92));
  border:1px solid rgba(124,58,237,.28);border-radius:28px;
  padding:26px 24px 20px;margin:0 0 28px;
  box-shadow:0 40px 110px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.03) inset;
}
.bcs-glow{
  position:absolute;inset:-2px;border-radius:30px;pointer-events:none;
  background:linear-gradient(120deg,rgba(124,58,237,.6),rgba(236,72,153,.5),rgba(245,158,11,.45),rgba(124,58,237,.6));
  background-size:300% 300%;opacity:.32;filter:blur(22px);z-index:-1;
  animation:bcsGlow 14s ease infinite;
}
@keyframes bcsGlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.bcs-head{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.bcs-chip{
  display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:900;
  letter-spacing:.18em;color:#DDD6FE;background:rgba(124,58,237,.22);
  border:1px solid rgba(124,58,237,.45);padding:6px 13px;border-radius:99px;margin-bottom:12px;
}
.bcs-chip i{width:7px;height:7px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 0 rgba(74,222,128,.65);animation:bcsPulse 2s infinite}
@keyframes bcsPulse{70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.bcs-head h2{margin:0 0 8px;font-size:clamp(24px,3.6vw,34px);font-weight:900;letter-spacing:-.03em;line-height:1.12}
.bcs-head h2 b{background:linear-gradient(135deg,#C4B5FD,#F9A8D4,#FDE68A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.bcs-head p{margin:0;color:var(--bc-mut);font-size:14.5px;line-height:1.6;max-width:60ch}
.bcs-head-r{flex:0 0 auto}

.bcs-pill{
  display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:12.5px;font-weight:700;color:var(--bc-txt);
  background:rgba(255,255,255,.07);border:1px solid var(--bc-line);
  padding:9px 15px;border-radius:99px;
}
.bcs-pill-paid{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.4);color:#86EFAC}
.bcs-pill-founder{
  background:linear-gradient(135deg,rgba(245,158,11,.24),rgba(236,72,153,.18));
  border-color:rgba(245,158,11,.55);color:#FDE68A;
  box-shadow:0 0 34px rgba(245,158,11,.28);
}
.bcs-pill-up{background:none;border:0;color:#C4B5FD;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;padding:0}

/* conversation */
.bcs-log{
  max-height:min(58vh,560px);overflow-y:auto;padding:6px 4px 12px;margin-bottom:14px;
  border-top:1px solid var(--bc-line);border-bottom:1px solid var(--bc-line);
  scrollbar-width:thin;
}
.bcs-log-sm{max-height:min(46vh,420px);border-top:0}
.bcs-log::-webkit-scrollbar{width:8px}
.bcs-log::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:99px}

.bcs-empty{text-align:center;padding:34px 18px;color:var(--bc-mut)}
.bcs-empty-sm{padding:24px 16px}
.bcs-empty-ico{font-size:38px;margin-bottom:10px}
.bcs-empty h4{margin:0 0 6px;font-size:17px;font-weight:800;color:var(--bc-txt)}
.bcs-empty p{margin:0 auto;font-size:13.5px;line-height:1.65;max-width:52ch}

.bcs-msg{display:flex;gap:12px;margin:16px 0;align-items:flex-start}
.bcs-user{justify-content:flex-end}
.bcs-bub{
  background:linear-gradient(135deg,var(--bc-purple),var(--bc-pink));color:#fff;
  padding:11px 16px;border-radius:18px 18px 4px 18px;max-width:min(76%,640px);
  font-size:14.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;
  box-shadow:0 8px 24px rgba(124,58,237,.3);
}
.bcs-ava{
  flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:16px;
  background:linear-gradient(135deg,rgba(124,58,237,.35),rgba(236,72,153,.3));
  border:1px solid rgba(124,58,237,.45);
}
.bcs-body{flex:1;min-width:0;max-width:calc(100% - 46px)}

.bcs-typing{display:flex;gap:6px;align-items:center;padding:12px 0}
.bcs-typing span{width:8px;height:8px;border-radius:50%;background:#8B5CF6;animation:bcsDot 1.3s infinite}
.bcs-typing span:nth-child(2){animation-delay:.18s}
.bcs-typing span:nth-child(3){animation-delay:.36s}
.bcs-typing b{margin-left:10px;font-size:13px;font-weight:600;color:var(--bc-mut)}
@keyframes bcsDot{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}

.bcs-answer{font-size:15px;line-height:1.75;color:var(--bc-txt);word-break:break-word}
.bcs-answer h1{font-size:22px;margin:16px 0 10px;font-weight:800}
.bcs-answer h2{font-size:19px;margin:16px 0 8px;font-weight:800}
.bcs-answer h3{font-size:16.5px;margin:14px 0 6px;font-weight:700}
.bcs-answer p{margin:0 0 12px}
.bcs-answer ul{margin:0 0 14px;padding-left:22px}
.bcs-answer li{margin:5px 0}
.bcs-answer code{background:rgba(255,255,255,.1);padding:2px 6px;border-radius:6px;font-size:13px}
.bcs-code{background:rgba(0,0,0,.55);border:1px solid var(--bc-line);border-radius:14px;padding:16px 18px;overflow:auto;margin:0 0 14px}
.bcs-code code{background:none;padding:0;font-size:13px;line-height:1.65}

.bcs-bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.bcs-act{background:rgba(255,255,255,.07);border:1px solid var(--bc-line);color:var(--bc-txt);font:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:11px;cursor:pointer;transition:.2s}
.bcs-act:hover{background:rgba(124,58,237,.24);border-color:rgba(124,58,237,.55)}
.bcs-link{background:none;border:0;color:#C4B5FD;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;padding:0}
.bcs-hint{font-size:12.5px;color:var(--bc-mut);margin:10px 0 0}

.bcs-done{display:flex;gap:15px;align-items:flex-start;background:rgba(34,197,94,.11);border:1px solid rgba(34,197,94,.38);border-radius:16px;padding:17px 19px}
.bcs-done-ico{font-size:32px;line-height:1}
.bcs-done h4{margin:0 0 4px;font-size:16.5px;font-weight:800}
.bcs-done p{margin:0;font-size:13.5px;color:var(--bc-mut);line-height:1.6}
.bcs-outline{margin:14px 0 0;padding-left:22px;color:var(--bc-mut);font-size:13.5px;line-height:1.9}
.bcs-err{background:rgba(239,68,68,.11);border:1px solid rgba(239,68,68,.38);border-radius:14px;padding:15px 17px;font-size:14px}
.bcs-err b{display:block;margin-bottom:4px}
.bcs-err p{margin:0 0 6px;color:var(--bc-mut)}

.bcs-limit{background:rgba(245,158,11,.11);border:1px solid rgba(245,158,11,.4);border-radius:16px;padding:18px 20px}
.bcs-limit b{font-size:15px}
.bcs-limit p{margin:8px 0 14px;font-size:13.5px;color:var(--bc-mut);line-height:1.6}
.bcs-limit .bcb-btn{width:auto;padding:11px 22px}

.bcs-imggrid{display:grid;gap:12px}
.bcs-imggrid.bcs-n1{grid-template-columns:minmax(0,480px)}
.bcs-imggrid.bcs-n4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.bcs-fig{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--bc-line);background:rgba(0,0,0,.4)}
.bcs-fig img{display:block;width:100%;height:auto;min-height:120px;background:repeating-conic-gradient(#1a1a2e 0% 25%,#15152a 0% 50%) 50%/22px 22px}
.bcs-fig figcaption{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:12.5px}
.bcs-fig a,.bcs-fig button{color:#C4B5FD;text-decoration:none;background:none;border:0;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.bcs-fig a:hover,.bcs-fig button:hover{color:#fff}
.bcs-prompt{margin-top:12px;font-size:12.5px;color:var(--bc-mut)}
.bcs-prompt summary{cursor:pointer;font-weight:600}
.bcs-prompt p{margin:8px 0 0;line-height:1.6}

/* composer */
.bcs-modes{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.bcs-mode{
  border:1px solid var(--bc-line);background:rgba(255,255,255,.05);color:var(--bc-mut);
  font:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:99px;cursor:pointer;transition:.2s;
}
.bcs-mode:hover{background:rgba(255,255,255,.11);color:var(--bc-txt)}
.bcs-mode.on{background:linear-gradient(135deg,var(--bc-purple),var(--bc-pink));color:#fff;border-color:transparent;box-shadow:0 6px 20px rgba(124,58,237,.4)}

.bcs-inputrow{
  display:flex;gap:10px;align-items:flex-end;
  background:rgba(0,0,0,.42);border:1px solid var(--bc-line);border-radius:20px;padding:10px 10px 10px 16px;
  transition:border-color .2s,box-shadow .2s;
}
.bcs-inputrow:focus-within{border-color:rgba(124,58,237,.7);box-shadow:0 0 0 4px rgba(124,58,237,.16)}
.bcs-inputrow textarea{
  flex:1;min-width:0;background:transparent;border:0;resize:none;overflow-y:auto;
  min-height:52px;max-height:180px;color:var(--bc-txt);font:inherit;font-size:15.5px;line-height:1.6;padding:12px 0;
}
.bcs-inputrow textarea:focus{outline:0}
.bcs-inputrow textarea::placeholder{color:#6E6E88}
.bcs-go{
  flex:0 0 auto;width:50px;height:50px;border:0;border-radius:15px;cursor:pointer;
  background:linear-gradient(135deg,var(--bc-purple),var(--bc-pink));color:#fff;font-size:21px;
  box-shadow:0 10px 28px rgba(124,58,237,.45);transition:.2s;
}
.bcs-go:hover:not(:disabled){transform:translateY(-2px) scale(1.04);box-shadow:0 16px 38px rgba(124,58,237,.6)}
.bcs-go:disabled{opacity:.5;cursor:progress}

.bcs-opts{display:flex;gap:14px;align-items:center;margin:11px 0 0;font-size:13px;color:var(--bc-mut)}
.bcs-opts[hidden]{display:none}
.bcs-opts select{background:rgba(255,255,255,.08);border:1px solid var(--bc-line);border-radius:10px;color:var(--bc-txt);font:inherit;font-size:13px;padding:7px 10px;margin-left:8px}

.bcs-examples{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 0}
.bcs-ex{
  border:1px dashed var(--bc-line);background:transparent;color:var(--bc-mut);
  font:inherit;font-size:12.5px;padding:7px 13px;border-radius:99px;cursor:pointer;transition:.2s;
}
.bcs-ex:hover{border-style:solid;border-color:rgba(124,58,237,.65);color:var(--bc-txt);background:rgba(124,58,237,.13)}
.bcs-ex-clear{margin-left:auto;border-color:rgba(239,68,68,.3)}
.bcs-ex-clear:hover{border-color:rgba(239,68,68,.6);background:rgba(239,68,68,.12)}

/* landing variant */
.bcl-ai{max-width:900px;margin:0 auto;padding:0 20px}
.bcl-ai-sub{text-align:center;color:var(--bc-mut);font-size:14.5px;line-height:1.65;margin:-6px auto 24px;max-width:56ch}
.bcs-land{margin-bottom:18px}
.bcs-land .bcs-examples{margin:0 0 12px}
.bcl-ai-cta{text-align:center;color:var(--bc-mut);font-size:14px;line-height:1.8}
.bcl-ai-btn{width:auto!important;display:inline-block;padding:12px 24px!important;margin:0 6px}

@media (max-width:640px){
  .bcs{padding:20px 15px 16px;border-radius:22px}
  .bcs-head h2{font-size:23px}
  .bcs-head-r{width:100%}
  .bcs-bub{max-width:88%}
  .bcs-ex-clear{margin-left:0}
  .bcs-inputrow textarea{font-size:15px}
}

/* The app's global styles centre headings and space out list items inside
   panels. Inside a chat bubble that reads as broken, so re-assert here. */
.bcs-answer,.bcs-answer *{text-align:left}
.bcs-answer h1,.bcs-answer h2,.bcs-answer h3,.bcs-answer h4{text-align:left;padding:0;border:0}
.bcs-answer ul,.bcs-answer ol{list-style:disc;margin:0 0 14px;padding-left:22px}
.bcs-answer ol{list-style:decimal}
.bcs-answer li{margin:4px 0;padding:0;display:list-item}
.bcs-answer p:last-child{margin-bottom:0}

/* ── Studio toolbar: Think, Attach, Memory, model chip ───────────────── */
.bcs-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.bcs-tool{
  border:1px solid var(--bc-line);background:rgba(255,255,255,.05);color:var(--bc-mut);
  font:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:99px;cursor:pointer;transition:.2s;
}
.bcs-tool:hover{background:rgba(255,255,255,.11);color:var(--bc-txt)}
.bcs-tool.on{
  background:linear-gradient(135deg,#6366F1,#8B5CF6);color:#fff;border-color:transparent;
  box-shadow:0 6px 22px rgba(99,102,241,.45);
}
.bcs-mem-chip{border-style:dashed;border-color:rgba(34,197,94,.4);color:#86EFAC}
.bcs-mem-chip:hover{background:rgba(34,197,94,.14)}
.bcs-model{
  margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.05em;color:#8B8BA8;
  background:rgba(255,255,255,.05);border:1px solid var(--bc-line);padding:5px 11px;border-radius:99px;
}
.bcs-model:empty{display:none}

.bcs-atts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.bcs-atts[hidden]{display:none}
.bcs-att{
  display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--bc-txt);
  background:rgba(124,58,237,.15);border:1px solid rgba(124,58,237,.4);
  padding:7px 8px 7px 13px;border-radius:12px;
}
.bcs-att i{font-style:normal;color:var(--bc-mut);font-size:11.5px}
.bcs-att button{background:none;border:0;color:var(--bc-mut);cursor:pointer;font-size:13px;padding:0 4px;line-height:1}
.bcs-att button:hover{color:#F87171}

.bcs-drop{outline:2px dashed rgba(124,58,237,.8);outline-offset:-8px}
.bcs-drop::after{
  content:'Drop it here — I will read it';position:absolute;inset:0;display:grid;place-items:center;
  background:rgba(11,11,20,.82);color:#C4B5FD;font-size:19px;font-weight:800;border-radius:28px;z-index:5;
}

.bcs-mem{background:rgba(34,197,94,.09);border:1px solid rgba(34,197,94,.32);border-radius:16px;padding:18px 20px}
.bcs-mem h4{margin:0 0 10px;font-size:16px;font-weight:800}
.bcs-mem ul{margin:0 0 12px;padding-left:22px;font-size:14px;line-height:1.75}
.bcs-mem p{margin:0 0 10px;font-size:13.5px;color:var(--bc-mut);line-height:1.6}
.bcs-mem .bcs-act{margin-top:4px}

/* a caret while tokens are still streaming in */
.bcs-msg:last-child .bcs-answer > *:last-child::after{
  content:'▊';color:#8B5CF6;animation:bcsCaret 1s steps(2) infinite;margin-left:2px;
}
.bcs-msg:last-child .bcs-answer:empty::after{content:'▊';color:#8B5CF6;animation:bcsCaret 1s steps(2) infinite}
body:not(.bcs-streaming) .bcs-msg:last-child .bcs-answer > *:last-child::after{content:none}
body:not(.bcs-streaming) .bcs-msg:last-child .bcs-answer:empty::after{content:none}
@keyframes bcsCaret{50%{opacity:0}}

/* ══════════════════════════════════════════════════════════════════════
   LIVE FILES — AI editing with a reviewable diff
   ══════════════════════════════════════════════════════════════════════ */
.bcf-wrap{max-width:1180px;margin:0 auto;padding:8px 0 60px}
.bcf-head h2{font-size:clamp(24px,4vw,34px);font-weight:800;margin:0 0 6px}
.bcf-head p{color:var(--bc-mut);margin:0 0 22px;max-width:70ch;line-height:1.6}

.bcf-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.bcf-tab{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--bc-line);background:rgba(255,255,255,.05);color:var(--bc-mut);
  font:inherit;font-size:13px;font-weight:600;padding:8px 12px;border-radius:11px;cursor:pointer;transition:.2s;
}
.bcf-tab:hover{background:rgba(255,255,255,.1);color:var(--bc-txt)}
.bcf-tab.on{background:linear-gradient(135deg,rgba(14,165,233,.3),rgba(124,58,237,.25));color:#fff;border-color:rgba(14,165,233,.55)}
.bcf-tab i{font-style:normal;opacity:.5;font-size:11px;padding:0 2px}
.bcf-tab i:hover{opacity:1;color:#F87171}
.bcf-tab-new{border-style:dashed}

.bcf-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.bcf-meta{font-size:12px;color:var(--bc-mut);margin-right:auto}
.bcf-btn{
  border:1px solid var(--bc-line);background:rgba(255,255,255,.06);color:var(--bc-txt);
  font:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer;transition:.2s;
}
.bcf-btn:hover:not(:disabled){background:rgba(255,255,255,.12)}
.bcf-btn:disabled{opacity:.35;cursor:default}
.bcf-btn-ok{background:linear-gradient(135deg,#16A34A,#22C55E);color:#fff;border-color:transparent}
.bcf-btn-ok:hover{box-shadow:0 8px 24px rgba(34,197,94,.4)}

.bcf-editor{
  width:100%;min-height:min(52vh,520px);resize:vertical;
  background:rgba(0,0,0,.5);border:1px solid var(--bc-line);border-radius:16px;padding:16px 18px;
  color:var(--bc-txt);font-family:ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;
  font-size:13px;line-height:1.65;tab-size:2;white-space:pre;overflow:auto;
}
.bcf-editor:focus{outline:0;border-color:rgba(14,165,233,.6);box-shadow:0 0 0 4px rgba(14,165,233,.13)}

.bcf-review{border:1px solid rgba(34,197,94,.4);border-radius:16px;overflow:hidden;background:rgba(0,0,0,.35)}
.bcf-review-head{
  display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;
  padding:16px 18px;background:rgba(34,197,94,.09);border-bottom:1px solid rgba(34,197,94,.28);
}
.bcf-review-head b{font-size:15px}
.bcf-stat{margin-left:10px;font-size:12.5px;font-weight:700}
.bcf-stat i{font-style:normal;margin-right:7px}
.bcf-plus{color:#4ADE80}
.bcf-minus{color:#F87171}
.bcf-sum{margin:7px 0 0;font-size:13px;color:var(--bc-mut);max-width:62ch;line-height:1.55}
.bcf-sum[hidden]{display:none}
.bcf-review-btns{display:flex;gap:8px}

.bcf-diff{
  max-height:min(56vh,560px);overflow:auto;
  font-family:ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;
}
.bcf-line{display:flex;white-space:pre}
.bcf-n{flex:0 0 48px;text-align:right;padding-right:12px;color:#4B4B63;user-select:none}
.bcf-t{flex:0 0 18px;text-align:center;font-weight:800;user-select:none}
.bcf-c{flex:1;padding-right:14px;word-break:break-word;white-space:pre-wrap}
.bcf-add{background:rgba(34,197,94,.13)}
.bcf-add .bcf-t{color:#4ADE80}
.bcf-del{background:rgba(239,68,68,.13)}
.bcf-del .bcf-t{color:#F87171}
.bcf-ctx{color:#8A8AA6}
.bcf-skip{padding:5px 0 5px 60px;color:#5A5A78;font-size:11.5px;background:rgba(255,255,255,.02)}

.bcf-ask{
  display:flex;gap:10px;align-items:flex-end;margin-top:12px;
  background:rgba(0,0,0,.42);border:1px solid var(--bc-line);border-radius:18px;padding:9px 9px 9px 16px;
}
.bcf-ask:focus-within{border-color:rgba(14,165,233,.65);box-shadow:0 0 0 4px rgba(14,165,233,.14)}
.bcf-ask textarea{
  flex:1;min-width:0;background:transparent;border:0;resize:none;min-height:46px;max-height:140px;
  color:var(--bc-txt);font:inherit;font-size:14.5px;line-height:1.55;padding:11px 0;
}
.bcf-ask textarea:focus{outline:0}
.bcf-ask textarea::placeholder{color:#6E6E88}
.bcf-go{
  flex:0 0 auto;border:0;border-radius:13px;padding:12px 20px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;
  background:linear-gradient(135deg,#0EA5E9,#7C3AED);color:#fff;box-shadow:0 10px 26px rgba(14,165,233,.4);transition:.2s;
}
.bcf-go:hover:not(:disabled){transform:translateY(-2px)}
.bcf-go:disabled{opacity:.6;cursor:progress}
.bcf-spin{display:inline-block;width:15px;height:15px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;animation:bcsSpin .8s linear infinite;vertical-align:-2px}
@keyframes bcsSpin{to{transform:rotate(360deg)}}
.bcf-working{margin:10px 0 0;font-size:12.5px;color:var(--bc-mut);text-align:center}

.bcf-empty{text-align:center;padding:50px 20px;color:var(--bc-mut)}
.bcf-empty-ico{font-size:46px;margin-bottom:12px}
.bcf-empty h3{margin:0 0 8px;font-size:21px;font-weight:800;color:var(--bc-txt)}
.bcf-empty p{margin:0 auto 20px;max-width:58ch;line-height:1.7;font-size:14px}
.bcf-eg{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.bcf-eg span{border:1px dashed var(--bc-line);border-radius:99px;padding:7px 14px;font-size:12.5px}
.bcf-drop{outline:2px dashed rgba(14,165,233,.8);outline-offset:-10px}

@media (max-width:640px){
  .bcf-n{flex:0 0 34px;padding-right:8px}
  .bcf-diff,.bcf-editor{font-size:11.5px}
}

/* ══════════════════════════════════════════════════════════════════════
   BOOK STUDIO / WORKSHEET STUDIO — form-driven document builders
   ══════════════════════════════════════════════════════════════════════ */
.bcm-wrap{max-width:1080px;margin:0 auto;padding:8px 0 60px}
.bcm-head h2{font-size:clamp(24px,4vw,34px);font-weight:800;margin:0 0 6px}
.bcm-head p{color:var(--bc-mut);margin:0 0 24px;max-width:72ch;line-height:1.65}

.bcm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.bcm-f{display:flex;flex-direction:column;gap:7px}
.bcm-f > span{font-size:12.5px;font-weight:700;color:var(--bc-txt);letter-spacing:.01em}
.bcm-f > i{font-style:normal;font-size:11.5px;color:var(--bc-mut);line-height:1.45}
.bcm-f input[type=text],.bcm-f input:not([type]),.bcm-f textarea,.bcm-f select{
  width:100%;background:rgba(0,0,0,.34);border:1px solid var(--bc-line);border-radius:12px;
  padding:11px 13px;color:var(--bc-txt);font:inherit;font-size:14px;line-height:1.5;
}
.bcm-f textarea{resize:vertical;min-height:60px}
.bcm-f input:focus,.bcm-f textarea:focus,.bcm-f select:focus{
  outline:0;border-color:rgba(124,58,237,.7);box-shadow:0 0 0 3px rgba(124,58,237,.13)
}
.bcm-f input[type=file]{
  width:100%;font-size:12.5px;color:var(--bc-mut);
  background:rgba(0,0,0,.24);border:1px dashed var(--bc-line);border-radius:12px;padding:10px 12px;
}
.bcm-f select{appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#9A9AB4 50%),linear-gradient(135deg,#9A9AB4 50%,transparent 50%);
  background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}

.bcm-checks{display:flex;flex-direction:column;gap:8px;background:rgba(0,0,0,.24);
  border:1px solid var(--bc-line);border-radius:12px;padding:12px 13px}
.bcm-checks label{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--bc-txt);cursor:pointer}
.bcm-checks input{accent-color:#7C3AED;width:15px;height:15px;cursor:pointer}

.bcm-themes{display:flex;gap:8px;flex-wrap:wrap}
.bcm-theme{width:38px;height:38px;border-radius:11px;border:2px solid transparent;cursor:pointer;transition:.2s}
.bcm-theme:hover{transform:scale(1.08)}
.bcm-theme.on{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18)}

.bcm-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:24px}
.bcm-go{
  border:0;border-radius:14px;padding:14px 30px;font:inherit;font-size:15.5px;font-weight:800;cursor:pointer;
  background:linear-gradient(135deg,var(--bc-purple),var(--bc-pink));color:#fff;
  box-shadow:0 12px 32px rgba(124,58,237,.42);transition:.2s;
}
.bcm-go:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 44px rgba(124,58,237,.55)}
.bcm-go:disabled{opacity:.55;cursor:progress}
.bcm-note{font-size:12.5px;color:var(--bc-mut);max-width:44ch;line-height:1.5}

.bcm-progress{margin-top:22px;background:rgba(0,0,0,.3);border:1px solid var(--bc-line);border-radius:14px;padding:16px 18px}
.bcm-progress[hidden]{display:none}
.bcm-pbar{height:8px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden;margin-bottom:10px}
.bcm-pbar i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--bc-purple),var(--bc-pink));transition:width .5s ease}
.bcm-progress p{margin:0;font-size:13.5px;color:var(--bc-txt)}

@media (max-width:640px){ .bcm-grid{grid-template-columns:1fr} .bcm-go{width:100%} }
