.titan-ble-assistant{position:fixed;inset:0;z-index:2200;display:none;align-items:center;justify-content:center;padding:18px}
.titan-ble-assistant.open{display:flex}
.titan-ble-assistant-backdrop{position:absolute;inset:0;background:rgba(10,28,15,.76);backdrop-filter:blur(6px)}
.titan-ble-assistant-card{position:relative;width:min(560px,100%);max-height:min(720px,calc(100dvh - 28px));overflow:auto;padding:22px;border:1px solid rgba(42,125,66,.5);border-radius:17px;background:linear-gradient(150deg,#fffdf6,#f4eddd 72%);box-shadow:0 24px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.8);color:var(--text-dark)}
.titan-ble-assistant-brand{display:flex;align-items:center;gap:12px;padding-right:44px}
.titan-ble-assistant-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:linear-gradient(145deg,var(--green-dark),var(--green-mid));color:var(--wheat-light);font-size:1.45rem;box-shadow:0 5px 14px rgba(26,92,46,.25)}
.titan-ble-assistant-brand strong{display:block;color:var(--green-dark);font-family:'Zilla Slab',serif;font-size:1.15rem}
.titan-ble-assistant-brand span{display:block;color:var(--text-mid);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.titan-ble-assistant-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text-mid);font-size:1rem;cursor:pointer}
.titan-ble-assistant-close:hover:not(:disabled){border-color:var(--green-mid);color:var(--green-dark)}
.titan-ble-assistant-close:disabled{opacity:.4;cursor:wait}
.titan-ble-assistant-card h2{margin:18px 0 5px;color:var(--green-dark);font-family:'Zilla Slab',serif;font-size:1.55rem}
.titan-ble-assistant-lede{margin:0;color:var(--text-mid);font-size:.83rem;line-height:1.55}
.titan-ble-steps{display:grid;gap:8px;margin:17px 0 13px}
.titan-ble-step{display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid #d8cfb9;border-radius:10px;background:rgba(255,255,255,.72);color:var(--text-dark);font-size:.79rem;line-height:1.45}
.titan-ble-step-number{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(42,125,66,.45);border-radius:50%;background:rgba(42,125,66,.1);color:var(--green-dark);font-weight:900}
.titan-ble-platform-note{margin:0 0 13px;padding:10px 12px;border-left:3px solid #3a7ec2;border-radius:7px;background:#edf5fb;color:#31536f;font-size:.72rem;line-height:1.5}
.titan-ble-status{display:grid;grid-template-columns:13px minmax(0,1fr);gap:9px;align-items:center;min-height:48px;padding:10px 12px;border:1px solid #d5ccb5;border-radius:10px;background:#fff}
.titan-ble-status-dot{width:10px;height:10px;border-radius:50%;background:#7a857c}
.titan-ble-assistant[data-phase="choosing"] .titan-ble-status-dot,.titan-ble-assistant[data-phase="connecting"] .titan-ble-status-dot{background:#e0a21d;animation:titan-ble-pulse 1s infinite}
.titan-ble-assistant[data-phase="connected"] .titan-ble-status-dot{background:var(--green-light);box-shadow:0 0 8px var(--green-light)}
.titan-ble-assistant[data-phase="error"] .titan-ble-status-dot,.titan-ble-assistant[data-phase="unsupported"] .titan-ble-status-dot{background:#c53030}
.titan-ble-status strong{display:block;color:var(--text-dark);font-size:.8rem}
.titan-ble-status span{display:block;color:var(--text-mid);font-size:.7rem;line-height:1.4}
.titan-ble-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}
.titan-ble-actions button{min-height:39px;padding:8px 15px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text-dark);font-family:inherit;font-weight:800;cursor:pointer}
.titan-ble-actions button:hover:not(:disabled){border-color:var(--green-mid)}
.titan-ble-choose{background:var(--green-mid)!important;border-color:var(--green-dark)!important;color:#fff!important;box-shadow:0 4px 12px rgba(42,125,66,.22)}
.titan-ble-actions button:disabled{opacity:.46;cursor:wait}
@keyframes titan-ble-pulse{50%{opacity:.38;transform:scale(.8)}}
@media(max-width:560px),(max-height:650px){.titan-ble-assistant{padding:8px}.titan-ble-assistant-card{max-height:calc(100dvh - 16px);padding:16px;border-radius:13px}.titan-ble-assistant-card h2{margin-top:13px;font-size:1.3rem}.titan-ble-step{padding:8px 9px}.titan-ble-steps{margin:12px 0 10px;gap:6px}}
@media(prefers-reduced-motion:reduce){.titan-ble-status-dot{animation:none!important}}
