*{box-sizing:border-box}body{margin:0;background:#080b14;color:#f8fafc;font-family:Tahoma,Arial,sans-serif}a{color:inherit;text-decoration:none}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#312e81 0,transparent 35%),#080b14}.card{width:min(420px,100%);background:rgba(17,24,39,.82);border:1px solid #ffffff12;border-radius:28px;padding:30px;box-shadow:0 25px 80px #0008;backdrop-filter:blur(20px)}.hero{text-align:center}.logo{width:58px;height:58px;margin:0 auto 18px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#a78bfa,#6366f1);font-size:28px;font-weight:bold;box-shadow:0 10px 35px #7c3aed55}h1{margin:0 0 8px}p{color:#94a3b8}.actions{display:flex;gap:10px;margin-top:25px}.btn{display:block;width:100%;padding:13px;border:0;border-radius:14px;background:linear-gradient(135deg,#a78bfa,#6366f1);color:white;text-align:center;font-weight:bold;cursor:pointer}.ghost{background:#ffffff0d}.form{display:flex;flex-direction:column;gap:12px}.form input,.composer input{width:100%;padding:14px 16px;border:1px solid #ffffff12;background:#ffffff08;color:#fff;border-radius:14px;outline:none}.link{text-align:center;color:#a78bfa;font-size:14px}.error{background:#ef444422;color:#fca5a5;border:1px solid #ef444433;padding:10px;border-radius:12px}.app{height:100vh;display:flex;flex-direction:column;max-width:900px;margin:auto;background:#0b1020}header{height:60px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff0b;background:#ffffff05}header strong{color:#a78bfa}header span{font-size:13px;color:#94a3b8}header a{margin-right:10px;color:#f87171}.messages{flex:1;overflow:auto;padding:20px 14px 100px}.welcome{text-align:center;margin-top:20vh}.welcome .logo{width:52px;height:52px;font-size:24px}.msg{max-width:82%;padding:11px 14px;border-radius:16px;margin:7px 0;line-height:1.8;white-space:pre-wrap}.user{margin-right:auto;background:#6d5bd0;color:white;border-bottom-right-radius:5px}.ai{margin-left:auto;background:#ffffff08;border:1px solid #ffffff0b;border-bottom-left-radius:5px}.composer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(900px,100%);padding:12px;background:linear-gradient(transparent,#080b14 25%);display:flex;gap:8px}.composer input{flex:1}.send{width:50px;border:0;border-radius:15px;background:#8b5cf6;color:white;font-size:20px}@media(max-width:500px){.card{padding:24px}.msg{max-width:90%}}