:root{
  --bg:#0b0f19;
  --card:#0f1720;
  --accent1:#ff5fb3;
  --accent2:#7b4bff;
  --text:#f7f7fb;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:linear-gradient(180deg,var(--bg),#08101a);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.page{max-width:720px;margin:32px auto;padding:20px}
.header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:52px;height:52px;border-radius:10px;background:linear-gradient(135deg,var(--accent1),var(--accent2));display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}
.title{font-size:18px;margin:0}
.controls{display:flex;gap:8px;align-items:center}
.controls select, .controls button{padding:8px 10px;border-radius:10px;border:none;background:#0c1220;color:var(--text);cursor:pointer}

.orb-wrap{display:flex;flex-direction:column;align-items:center;margin:28px 0}
.orb{
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, rgba(255,95,179,0.95), rgba(123,75,255,0.95) 45%, rgba(50,20,80,0.85) 100%);
  box-shadow:0 20px 40px rgba(123,75,255,0.18), inset 0 -10px 40px rgba(0,0,0,0.2);
  transition: transform 120ms linear, box-shadow 120ms linear, filter 140ms linear;
  display:flex;align-items:center;justify-content:center;
}
.orb::after{content:"";position:absolute;pointer-events:none}
.vbar{height:6px;width:40%;margin-top:14px;border-radius:6px;background:linear-gradient(90deg,var(--accent1),var(--accent2));opacity:0.9;transition:width 120ms linear}

.actions{display:flex;gap:10px;align-items:center}
.actions .big{padding:14px 20px;border-radius:14px;background:linear-gradient(90deg,var(--accent1),var(--accent2));border:none;color:white;font-weight:600;cursor:pointer}
.actions .muted{background:transparent;border:1px solid rgba(255,255,255,0.06);padding:10px 12px;border-radius:10px;color:var(--text);cursor:pointer}
.actions input{flex:1;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:#071018;color:var(--text)}

.chat{margin-top:24px;background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent);padding:12px;border-radius:12px;min-height:120px}
.msg{padding:10px;border-radius:10px;margin-bottom:8px;max-width:80%}
.msg.user{background:rgba(255,255,255,0.03);margin-left:auto}
.msg.ido{background:linear-gradient(90deg, rgba(123,75,255,0.14), rgba(255,95,179,0.08));color:var(--text)}

.footer{margin-top:20px;text-align:center;color:rgba(255,255,255,0.45)}
@media (max-width:520px){.orb{width:160px;height:160px}}
