.buddy-hero{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:6px}
.buddy-hero img{position:relative;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 48%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 48%,#000 62%,transparent 100%)}
.halo{position:absolute;left:50%;top:44%;width:260px;height:260px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(56,189,248,.35),rgba(139,92,246,.2) 60%,transparent)}
.bname{margin:4px 0 0;font-family:Fraunces,serif;font-size:26px}
.modes{display:flex;gap:8px;overflow-x:auto;margin-top:14px;padding-bottom:4px}
.modes button{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #4450A8;background:#0F1440;color:#F3F1FF;font:600 14px Inter,sans-serif;cursor:pointer}
.modes button[aria-pressed=true]{background:#2A1F6B;border-color:#8B5CF6}
.meters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.meters div{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-radius:14px;border:1px solid #333B85;background:rgba(24,28,78,.72);text-align:center}
.meters b{font-family:Fraunces,serif;font-size:22px;color:#F7DFA0}
.meters span{font-size:11px;color:#AEAAD8}
.bubble .sim{margin-top:6px}
.adv{margin-top:8px;font-size:14px}
.secondary{width:100%}
/* Empty conversation: a quiet prompt instead of a blank void */
#chat:empty{justify-content:center;align-items:center;border:1px dashed #333B85;border-radius:18px}
#chat:empty::before{content:"Say hello to start. Your conversation appears here.";color:#AEAAD8;font-size:14px;padding:0 20px;text-align:center}
.meters a{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}
#planLine,#fairUse{margin-top:10px}
/* Voice replies (web/app/voice.js) */
.mj-say-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
.mj-say{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid #8B5CF6;background:#0F1440;color:#F7DFA0;font:600 13px Inter,sans-serif;cursor:pointer}
.mj-say.playing{background:#2A1F6B}
.mj-say-note{font-size:12px;color:#AEAAD8}
.usage-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:6px;color:var(--mj-lav,#C4B5FD);font-size:14px;font-weight:600;text-decoration:none}
.usage-link:hover{color:#fff}
