:root {
  --bp-copilot-bg: #fbfdfb;
  --bp-copilot-surface: #ffffff;
  --bp-copilot-surface-2: #f3f7f4;
  --bp-copilot-surface-3: #e9f2ed;
  --bp-copilot-ink: #14231c;
  --bp-copilot-muted: #66776f;
  --bp-copilot-line: rgba(20, 35, 28, .12);
  --bp-copilot-line-strong: rgba(20, 35, 28, .18);
  --bp-copilot-accent: #0f7051;
  --bp-copilot-accent-soft: #dff2e9;
  --bp-copilot-user: #123f32;
  --bp-copilot-shadow: 0 30px 90px rgba(12, 39, 29, .22), 0 8px 26px rgba(12, 39, 29, .10);
}

html[data-theme="dark"] {
  --bp-copilot-bg: #09130f;
  --bp-copilot-surface: #0f1d17;
  --bp-copilot-surface-2: #14261f;
  --bp-copilot-surface-3: #183129;
  --bp-copilot-ink: #eef7f2;
  --bp-copilot-muted: #9fb1a7;
  --bp-copilot-line: rgba(222, 243, 233, .12);
  --bp-copilot-line-strong: rgba(222, 243, 233, .19);
  --bp-copilot-accent: #64d7a6;
  --bp-copilot-accent-soft: #15382c;
  --bp-copilot-user: #1b654d;
  --bp-copilot-shadow: 0 32px 100px rgba(0, 0, 0, .46), 0 8px 30px rgba(0, 0, 0, .28);
}

.hero-copilot { margin-top: 1rem; max-width: 720px; }
.hero-copilot-label { display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .48rem;color:var(--bp-copilot-muted);font-size:.79rem; }
.hero-copilot-label strong { color:var(--bp-copilot-ink);font-weight:800; }
.hero-copilot-label span:last-child { font-size:.72rem;white-space:nowrap; }
.hero-copilot-form { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.48rem;padding:.46rem;border:1px solid var(--bp-copilot-line);border-radius:1.05rem;background:var(--bp-copilot-surface);box-shadow:0 14px 42px rgba(20,54,41,.08);transition:border-color .18s ease,box-shadow .18s ease; }
.hero-copilot-form:focus-within { border-color:color-mix(in srgb,var(--bp-copilot-accent) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--bp-copilot-accent) 10%,transparent),0 16px 46px rgba(20,54,41,.1); }
.hero-copilot-form input { min-width:0;min-height:2.9rem;padding:.65rem .76rem;border:0;outline:0;background:transparent;color:var(--bp-copilot-ink);font:inherit;font-size:.91rem; }
.hero-copilot-form input::placeholder { color:var(--bp-copilot-muted); }
.hero-copilot-form button { min-width:3rem;min-height:2.9rem;padding:0 .95rem;border:0;border-radius:.78rem;background:var(--bp-copilot-user);color:#fff;cursor:pointer;font:inherit;font-weight:800; }

.bp-copilot-launcher { position:fixed;right:max(1.2rem,env(safe-area-inset-right));bottom:max(5rem,env(safe-area-inset-bottom));z-index:920;display:inline-flex;align-items:center;gap:.58rem;min-height:3.2rem;padding:.48rem .82rem .48rem .56rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:var(--bp-copilot-user);color:#fff;box-shadow:0 15px 42px rgba(11,65,46,.28);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,opacity .16s ease; }
.bp-copilot-launcher:hover { transform:translateY(-2px);box-shadow:0 20px 52px rgba(11,65,46,.34); }
.bp-copilot-launcher:focus-visible { outline:3px solid color-mix(in srgb,var(--bp-copilot-accent) 34%,transparent);outline-offset:3px; }
.bp-copilot-launcher[aria-expanded="true"] { opacity:0;pointer-events:none;transform:translateY(8px); }
.bp-copilot-launcher-icon { display:grid;place-items:center;width:2.16rem;height:2.16rem;border-radius:50%;background:rgba(255,255,255,.13);font-size:.94rem; }

.bp-copilot-panel { position:fixed;right:max(1.2rem,env(safe-area-inset-right));bottom:max(1.2rem,env(safe-area-inset-bottom));z-index:930;width:min(405px,calc(100vw - 2.4rem));height:min(660px,calc(100dvh - 2.4rem));min-height:500px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--bp-copilot-line-strong);border-radius:1.35rem;background:var(--bp-copilot-bg);color:var(--bp-copilot-ink);box-shadow:var(--bp-copilot-shadow);transform-origin:right bottom;opacity:0;transform:translateY(14px) scale(.975);transition:opacity .17s ease,transform .17s ease; }
.bp-copilot-panel.is-open { opacity:1;transform:translateY(0) scale(1); }
.bp-copilot-panel[hidden] { display:none!important; }

.bp-copilot-head { display:flex;align-items:center;gap:.7rem;min-height:72px;padding:.78rem .82rem;border-bottom:1px solid var(--bp-copilot-line);background:var(--bp-copilot-surface); }
.bp-copilot-mark { display:grid;place-items:center;width:2.45rem;height:2.45rem;flex:0 0 2.45rem;border-radius:.82rem;background:linear-gradient(145deg,var(--bp-copilot-user),color-mix(in srgb,var(--bp-copilot-user) 82%,#1ca778));color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.12); }
.bp-copilot-title { min-width:0;flex:1; }
.bp-copilot-title-row { display:flex;align-items:center;gap:.48rem;min-width:0; }
.bp-copilot-title-row strong { min-width:0;font-size:.9rem;font-weight:850;letter-spacing:-.012em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.bp-copilot-free-badge { display:inline-flex;align-items:center;justify-content:center;min-height:1.18rem;padding:0 .42rem;border-radius:999px;background:var(--bp-copilot-accent-soft);color:var(--bp-copilot-accent);font-size:.56rem;font-weight:900;letter-spacing:.07em; }
.bp-copilot-subtitle { display:block;margin-top:.08rem;color:var(--bp-copilot-muted);font-size:.65rem;line-height:1.25; }
.bp-copilot-presence { display:inline-flex;align-items:center;gap:.32rem;margin-top:.14rem;color:var(--bp-copilot-muted);font-size:.62rem; }
.bp-copilot-status-dot { width:.42rem;height:.42rem;border-radius:50%;background:#d39b33;box-shadow:0 0 0 3px color-mix(in srgb,#d39b33 14%,transparent); }
.bp-copilot-status-dot.ok { background:#29a56d;box-shadow:0 0 0 3px color-mix(in srgb,#29a56d 14%,transparent); }
.bp-copilot-status-dot.bad { background:#d35757;box-shadow:0 0 0 3px color-mix(in srgb,#d35757 14%,transparent); }
.bp-copilot-head-actions { display:flex;align-items:center;gap:.2rem; }
.bp-copilot-icon-btn { display:grid;place-items:center;width:2.18rem;height:2.18rem;border:0;border-radius:.7rem;background:transparent;color:var(--bp-copilot-muted);cursor:pointer;font:inherit;transition:background .15s ease,color .15s ease; }
.bp-copilot-icon-btn:hover { background:var(--bp-copilot-surface-2);color:var(--bp-copilot-ink); }
.bp-copilot-new-btn { width:auto!important;grid-auto-flow:column;gap:.35rem;padding:0 .55rem!important;font-size:.65rem;font-weight:800; }

.bp-copilot-messages { position:relative;min-height:0;overflow-y:auto;padding:1rem .9rem 1.35rem;background:var(--bp-copilot-bg);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--bp-copilot-muted) 35%,transparent) transparent; }
.bp-copilot-welcome { min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:1rem .22rem 1.45rem;text-align:center; }
.bp-copilot-welcome-orb { display:grid;place-items:center;width:3.1rem;height:3.1rem;margin:0 auto .75rem;border-radius:1rem;background:var(--bp-copilot-accent-soft);color:var(--bp-copilot-accent);font-size:1.02rem; }
.bp-copilot-welcome-kicker { color:var(--bp-copilot-accent);font-size:.57rem;font-weight:900;letter-spacing:.12em; }
.bp-copilot-welcome h2 { margin:.35rem 0 0;font-size:1.15rem;letter-spacing:-.03em; }
.bp-copilot-welcome p { max-width:330px;margin:.5rem auto 1rem;color:var(--bp-copilot-muted);font-size:.75rem;line-height:1.55; }
.bp-copilot-suggestions { display:flex;flex-wrap:wrap;justify-content:center;gap:.42rem; }
.bp-copilot-suggestion { display:inline-flex;align-items:center;gap:.45rem;max-width:100%;padding:.55rem .66rem;border:1px solid var(--bp-copilot-line);border-radius:999px;background:var(--bp-copilot-surface);color:var(--bp-copilot-ink);cursor:pointer;font:inherit;font-size:.67rem;font-weight:720;line-height:1.25;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.bp-copilot-suggestion i { color:var(--bp-copilot-muted);font-size:.58rem; }
.bp-copilot-suggestion:hover { transform:translateY(-1px);border-color:color-mix(in srgb,var(--bp-copilot-accent) 35%,transparent);background:var(--bp-copilot-surface-2); }

.bp-copilot-message { position:relative;margin:0 0 .9rem; }
.bp-copilot-message.user { display:flex;justify-content:flex-end; }
.bp-copilot-bubble-user { position:relative;max-width:82%;padding:.62rem .72rem .55rem;border-radius:1rem 1rem .34rem 1rem;background:var(--bp-copilot-user);color:#fff;font-size:.79rem;line-height:1.48;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 5px 16px rgba(12,61,45,.12); }
.bp-copilot-message-time { display:block;margin-top:.26rem;color:var(--bp-copilot-muted);font-size:.55rem;line-height:1;opacity:0;transition:opacity .14s ease; }
.bp-copilot-bubble-user .bp-copilot-message-time { color:rgba(255,255,255,.62);text-align:right; }
.bp-copilot-message:hover .bp-copilot-message-time,.bp-copilot-message:focus-within .bp-copilot-message-time { opacity:1; }

.bp-copilot-assistant { display:grid;grid-template-columns:1.65rem minmax(0,1fr);gap:.5rem;align-items:start; }
.bp-copilot-assistant-mark { display:grid;place-items:center;width:1.65rem;height:1.65rem;margin-top:.02rem;border-radius:.54rem;background:var(--bp-copilot-accent-soft);color:var(--bp-copilot-accent);font-size:.66rem; }
.bp-copilot-assistant-copy { min-width:0;padding:.02rem .1rem .1rem; }
.bp-copilot-assistant-text { color:var(--bp-copilot-ink);font-size:.8rem;line-height:1.63;overflow-wrap:anywhere; }
.bp-copilot-assistant-text code { padding:.08rem .28rem;border-radius:.35rem;background:var(--bp-copilot-surface-2);font:600 .74rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; }
.bp-copilot-bullet { display:block;padding-left:.2rem; }
.bp-copilot-thinking { display:inline-flex;align-items:center;gap:.25rem;color:var(--bp-copilot-muted);font-size:.72rem; }
.bp-copilot-thinking i { width:.32rem;height:.32rem;border-radius:50%;background:var(--bp-copilot-accent);animation:bp-dot 1.05s infinite ease-in-out; }
.bp-copilot-thinking i:nth-child(2) { animation-delay:.12s; }
.bp-copilot-thinking i:nth-child(3) { animation-delay:.24s; }
.bp-copilot-thinking span { margin-left:.18rem; }
@keyframes bp-dot { 0%,70%,100%{opacity:.25;transform:translateY(0)} 35%{opacity:1;transform:translateY(-2px)} }

.bp-copilot-response-actions { display:flex;align-items:center;gap:.12rem;margin-top:.32rem;opacity:.36;transition:opacity .15s ease; }
.bp-copilot-message:hover .bp-copilot-response-actions,.bp-copilot-message:focus-within .bp-copilot-response-actions { opacity:1; }
.bp-copilot-response-actions button { min-width:1.8rem;height:1.72rem;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:0 .36rem;border:0;border-radius:.48rem;background:transparent;color:var(--bp-copilot-muted);cursor:pointer;font:inherit;font-size:.58rem; }
.bp-copilot-response-actions button:hover,.bp-copilot-response-actions button.active { background:var(--bp-copilot-surface-2);color:var(--bp-copilot-accent); }

.bp-copilot-card { display:grid;grid-template-columns:1.72rem minmax(0,1fr);gap:.55rem;margin:.35rem 0 .85rem 2.15rem;padding:.65rem .68rem;border:1px solid var(--bp-copilot-line);border-radius:.82rem;background:var(--bp-copilot-surface);box-shadow:0 5px 16px rgba(14,42,32,.04); }
.bp-copilot-card-icon { display:grid;place-items:center;width:1.72rem;height:1.72rem;border-radius:.55rem;background:var(--bp-copilot-accent-soft);color:var(--bp-copilot-accent);font-size:.66rem; }
.bp-copilot-card.error .bp-copilot-card-icon { background:color-mix(in srgb,#d45858 12%,var(--bp-copilot-surface));color:#c34b4b; }
.bp-copilot-card-body { min-width:0; }
.bp-copilot-card small { display:block;margin-bottom:.16rem;color:var(--bp-copilot-muted);font-size:.56rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em; }
.bp-copilot-card strong { display:block;font-size:.74rem;line-height:1.35; }
.bp-copilot-card p { margin:.28rem 0 0;color:var(--bp-copilot-muted);font-size:.65rem;line-height:1.45; }
.bp-copilot-card a { display:inline-flex;align-items:center;gap:.3rem;margin-top:.48rem;color:var(--bp-copilot-accent);font-size:.64rem;font-weight:850;text-decoration:none; }
.bp-copilot-tool-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.34rem;margin-top:.45rem; }
.bp-copilot-tool-grid span { padding:.4rem .44rem;border-radius:.54rem;background:var(--bp-copilot-surface-2);font-size:.61rem;overflow-wrap:anywhere; }
.bp-copilot-tool-grid b { display:block;margin-top:.06rem;font-size:.71rem;color:var(--bp-copilot-ink); }
.bp-copilot-provenance { display:flex;gap:.34rem;align-items:flex-start;margin-top:.48rem!important;padding-top:.45rem;border-top:1px solid var(--bp-copilot-line); }
.bp-copilot-provenance i { margin-top:.08rem;color:var(--bp-copilot-accent); }

.bp-copilot-scroll-latest { position:absolute;left:50%;bottom:86px;z-index:4;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .58rem;border:1px solid var(--bp-copilot-line-strong);border-radius:999px;background:var(--bp-copilot-surface);color:var(--bp-copilot-ink);box-shadow:0 8px 20px rgba(11,37,28,.13);cursor:pointer;font:inherit;font-size:.61rem;font-weight:800; }
.bp-copilot-scroll-latest[hidden] { display:none!important; }

.bp-copilot-composer-wrap { padding:.68rem .72rem max(.72rem,env(safe-area-inset-bottom));border-top:1px solid var(--bp-copilot-line);background:var(--bp-copilot-surface); }
.bp-copilot-composer { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.4rem;padding:.36rem;border:1px solid var(--bp-copilot-line-strong);border-radius:1rem;background:var(--bp-copilot-bg);transition:border-color .15s ease,box-shadow .15s ease; }
.bp-copilot-composer:focus-within { border-color:color-mix(in srgb,var(--bp-copilot-accent) 48%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--bp-copilot-accent) 9%,transparent); }
.bp-copilot-composer textarea { min-height:2.85rem;max-height:7.9rem;width:100%;resize:none;padding:.66rem .62rem;border:0;outline:0;background:transparent;color:var(--bp-copilot-ink);font:inherit;font-size:.8rem;line-height:1.42; }
.bp-copilot-composer textarea::placeholder { color:var(--bp-copilot-muted); }
.bp-copilot-send { display:grid;place-items:center;width:2.55rem;height:2.55rem;margin-bottom:.15rem;border:0;border-radius:.76rem;background:var(--bp-copilot-user);color:#fff;cursor:pointer;transition:transform .13s ease,opacity .13s ease; }
.bp-copilot-send:hover { transform:translateY(-1px); }
.bp-copilot-send[data-mode="stop"] { background:color-mix(in srgb,var(--bp-copilot-user) 82%,#8f3838); }
.bp-copilot-note { margin:.38rem .08rem 0;color:var(--bp-copilot-muted);font-size:.57rem;line-height:1.35;text-align:center; }
.bp-copilot-note::before { content:'Enter to send · Shift+Enter for new line · ';font-weight:700; }

@media (max-width:700px) {
  .hero-copilot { margin-top:.82rem; }
  .hero-copilot-label span:last-child { display:none; }
  .hero-copilot-form button span { display:none; }
  .hero-copilot-form button { min-width:2.9rem;padding:0; }
  .bp-copilot-launcher { right:.82rem;bottom:calc(8.8rem + env(safe-area-inset-bottom));min-height:3rem;padding-right:.65rem; }
  .bp-copilot-launcher-label { display:none; }
  .bp-copilot-panel { inset:auto .35rem calc(4.7rem + env(safe-area-inset-bottom)) .35rem;width:auto;height:min(84dvh,760px);min-height:470px;border-radius:1.18rem;transform-origin:center bottom; }
  .bp-copilot-head { min-height:68px;padding:.68rem .7rem; }
  .bp-copilot-new-btn span { display:none; }
  .bp-copilot-new-btn { width:2.18rem!important;padding:0!important; }
  .bp-copilot-messages { padding:.9rem .72rem 1.15rem; }
  .bp-copilot-welcome { justify-content:flex-start;padding:1.25rem .1rem; }
  .bp-copilot-welcome p { font-size:.72rem; }
  .bp-copilot-suggestions { display:grid;grid-template-columns:1fr 1fr; }
  .bp-copilot-suggestion { border-radius:.75rem;justify-content:space-between;padding:.62rem .65rem; }
  .bp-copilot-bubble-user { max-width:86%;font-size:.78rem; }
  .bp-copilot-assistant-text { font-size:.79rem; }
  .bp-copilot-response-actions { opacity:.65; }
  .bp-copilot-message-time { opacity:.6; }
}

@media (max-width:430px) {
  .bp-copilot-panel { inset-left:.18rem;inset-right:.18rem;bottom:calc(4.45rem + env(safe-area-inset-bottom));height:min(88dvh,780px);border-radius:1rem; }
  .bp-copilot-suggestions { grid-template-columns:1fr; }
  .bp-copilot-tool-grid { grid-template-columns:1fr; }
  .bp-copilot-card { margin-left:2.05rem; }
}

@media (prefers-reduced-motion:reduce) {
  .bp-copilot-launcher,.bp-copilot-panel,.bp-copilot-suggestion,.bp-copilot-send { transition:none!important; }
  .bp-copilot-thinking i { animation:none!important; }
}
