:root{--acc:#2f6df0;--mut:#5b6b82;--card:#fff;--dark:#16203a}
.captain{position:fixed;right:18px;bottom:18px;z-index:50;font-size:14px}
.captain-fab{background:var(--dark);color:#fff;border:0;border-radius:999px;padding:11px 17px;font-weight:800;box-shadow:0 8px 28px rgba(15,22,34,.24);cursor:pointer}
.captain-panel{position:absolute;right:0;bottom:calc(100% + 10px);width:min(380px,90vw);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(15,22,34,.24);padding:16px;text-align:left}
.captain-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.captain-head span{color:var(--mut);font-size:12px}
.captain-close{margin-left:auto;background:0;border:0;font-size:20px;color:var(--mut);cursor:pointer}
.captain-drag{cursor:grab;font-size:.85rem;padding:0 .35rem;user-select:none;opacity:.55;flex-shrink:0;color:var(--mut)}
.captain-drag:hover{opacity:1}
.captain-resize{position:absolute;bottom:0;right:0;width:18px;height:18px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--line) 50%,var(--line) 62%,transparent 62%,transparent 74%,var(--line) 74%,var(--line) 86%,transparent 86%);opacity:.45}
.captain-resize:hover{opacity:.9}
.captain-intro{margin:0 0 10px;color:var(--mut);font-size:13px}
.captain-suggs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.captain-sugg{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:5px 9px;font:inherit;font-size:12px;cursor:pointer}
.captain-arts{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}
.captain-arts-label{font-size:11px;color:var(--mut);margin-right:.1rem}
.captain-art-chip{background:#fff;border:1px dashed var(--line);border-radius:999px;padding:.28rem .6rem;font-size:.78rem;cursor:pointer;color:var(--ink)}
.captain-art-chip:hover{border-color:var(--acc);color:var(--acc)}
.captain-log{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:7px}
.captain-log .msg{background:var(--bg);border-radius:9px;padding:7px 9px}
.captain-log .msg.you{background:var(--dark);color:#fff;align-self:flex-end}
.captain-log .cap-answer{white-space:pre-wrap}
.cap-art{margin-top:.55rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem}
.cap-art-title{font-weight:700;font-size:.85rem;margin-bottom:.5rem}
.cap-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:.5rem}
.cap-kpi{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:.5rem .55rem;text-align:center}
.cap-kpi-val{font-size:1.25rem;font-weight:800;line-height:1.1;color:var(--acc)}
.cap-kpi-label{font-size:.72rem;color:var(--mut);margin-top:.15rem}
.cap-kpi-hint{font-size:.64rem;color:var(--mut);opacity:.8;margin-top:.1rem}
.cap-md{font-size:.84rem}
.cap-md h3,.cap-md h4,.cap-md h5{margin:.5rem 0 .25rem;font-size:.86rem;line-height:1.25}
.cap-md p{margin:.3rem 0}
.cap-md ul,.cap-md ol{margin:.3rem 0;padding-left:1.1rem}
.cap-md li{margin:.15rem 0}
.cap-actions{margin-top:.45rem}
.cap-export-btn{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.28rem .65rem;font-size:.78rem;cursor:pointer;color:var(--ink);margin-right:.35rem}
.cap-export-btn:hover{border-color:var(--acc);color:var(--acc)}
.cap-listen{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;cursor:pointer;color:var(--ink)}
.cap-listen:hover:not(:disabled){border-color:var(--acc);color:var(--acc)}
.cap-listen:disabled{opacity:.6;cursor:default}
.cap-chart{margin-top:.65rem;overflow-x:auto}
.cap-chart-title{font-size:.72rem;font-weight:700;color:var(--mut);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.05em}
.cap-prov{display:inline-block;font-size:.64rem;font-weight:700;padding:.08rem .4rem;border-radius:999px;margin-top:.25rem;line-height:1.6}
.cap-prov--live{background:#e6f6ec;color:#176c3a}
.cap-prov--snapshot{background:#fef3e2;color:#9a5a12}
.cap-prov--bundle{background:#eef1f6;color:#41506a}
.captain-form{display:flex;gap:6px;margin-top:9px}
.captain-form input{flex:1;border:1px solid var(--line);border-radius:9px;padding:8px;font:inherit}
.captain-form button{background:var(--acc);color:#fff;border:0;border-radius:9px;padding:0 12px;cursor:pointer}