:root{
  --bg:#080b12;
  --panel:#111722;
  --panel2:#161e2b;
  --line:#263244;
  --text:#eef3fa;
  --muted:#8f9bad;
  --accent:#6ee7ff;
  --accent2:#8b7cff;
  --danger:#ff7373;
}
*{box-sizing:border-box}
body{
  margin:0; min-height:100vh; font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--text); background:
  radial-gradient(circle at 50% 0%,rgba(110,231,255,.13),transparent 32rem),
  radial-gradient(circle at 80% 50%,rgba(139,124,255,.10),transparent 28rem),var(--bg);
}
.app-shell{width:min(760px,92vw);margin:0 auto;padding:38px 0 24px}
.hero{text-align:center;padding:10px 0 26px}
.hero h1{font-size:34px;letter-spacing:.18em;margin:20px 0 8px}
.subtitle{color:var(--muted);margin:0 auto;max-width:560px}
.avatar-wrap{position:relative;width:150px;height:150px;margin:auto;display:grid;place-items:center}
.avatar-ring{position:absolute;inset:2px;border:1px solid rgba(110,231,255,.35);border-radius:50%;box-shadow:0 0 45px rgba(110,231,255,.12)}
.avatar{
  width:112px;height:112px;border-radius:36%;position:relative;
  background:linear-gradient(145deg,#1e2d41,#0e1520);
  border:1px solid #40506a;box-shadow:inset 0 0 35px rgba(110,231,255,.08),0 18px 50px rgba(0,0,0,.35);
}
.avatar:before,.avatar:after{content:"";position:absolute;top:29px;width:20px;height:8px;border-radius:10px;background:var(--accent);box-shadow:0 0 15px var(--accent)}
.avatar:before{left:25px}.avatar:after{right:25px}
.avatar-mouth{position:absolute;left:39px;top:60px;width:34px;height:13px;border-bottom:2px solid var(--accent);border-radius:0 0 30px 30px}
.composer,.response-card,.config-panel{background:rgba(17,23,34,.86);border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 70px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
.composer{padding:18px}
textarea{width:100%;resize:vertical;min-height:110px;background:#0c111a;border:1px solid var(--line);border-radius:15px;color:var(--text);padding:15px;font:inherit;outline:none}
textarea:focus{border-color:var(--accent)}
.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}
.action{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:13px 8px;border-radius:14px;cursor:pointer;font-weight:650}
.action:hover{border-color:#4c607d;transform:translateY(-1px)}
.action.primary{border-color:rgba(110,231,255,.4)}
.send{width:100%;margin-top:12px;border:0;border-radius:14px;padding:14px 18px;font-weight:800;cursor:pointer;color:#071018;background:linear-gradient(90deg,var(--accent),#b4f4ff)}
.send:disabled{opacity:.5;cursor:not-allowed}
.status{margin-top:10px;padding:10px 12px;border-radius:12px;background:#0d1420;color:var(--muted);font-size:14px}
.hidden{display:none!important}
.preview{margin-top:12px}.preview img{max-width:100%;max-height:300px;border-radius:15px;border:1px solid var(--line)}
.response-card{margin-top:16px;padding:18px}
.response-head{display:flex;justify-content:space-between;align-items:center}
#responseBadge{font-size:12px;padding:5px 9px;border-radius:999px;background:#172335;color:var(--accent)}
.response-text{white-space:pre-wrap;line-height:1.55;margin-top:12px}
.json{margin-top:14px;background:#080d15;padding:14px;border-radius:12px;overflow:auto;color:#b9d7ff}
.config-panel{position:fixed;z-index:10;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(700px,92vw);padding:20px}
.config-panel textarea{min-height:250px;margin:12px 0}
.panel-head{display:flex;align-items:center;justify-content:space-between}
.panel-head h2{margin:0}.close{background:none;border:0;color:var(--muted);font-size:30px;cursor:pointer}
footer{display:flex;justify-content:space-between;color:#657184;font-size:12px;padding:18px 4px}
@media(max-width:620px){.actions{grid-template-columns:repeat(2,1fr)}.app-shell{padding-top:20px}.hero h1{font-size:28px}}
