*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#07101f;color:#eaf1ff}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}#toast{position:fixed;top:18px;left:50%;transform:translate(-50%,-20px);background:#172338;border:1px solid #31425f;color:#fff;padding:12px 18px;border-radius:12px;opacity:0;z-index:99;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#153b66 0,transparent 34%),radial-gradient(circle at 80% 85%,#2f1756 0,transparent 34%),#07101f}.login-card{width:min(440px,100%);padding:34px;border-radius:28px;background:rgba(13,25,45,.86);border:1px solid rgba(147,181,235,.18);box-shadow:0 30px 90px #0008;backdrop-filter:blur(20px)}.logo{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#5aa7ff,#9c6cff);box-shadow:0 12px 36px #5a88ff44}.logo.small{width:42px;height:42px;border-radius:13px}.badge{display:inline-block;margin:24px 0 3px;color:#91bfff;font-size:11px;letter-spacing:.16em}.login-card h1{font-size:34px;margin:8px 0}.login-card p{color:#9babc3;line-height:1.6;margin:0 0 26px}.login-card label{display:grid;gap:8px;margin:15px 0;color:#cbd8eb;font-size:13px}.login-card input{border:1px solid #2a3c58;background:#0a1425;color:white;padding:14px;border-radius:12px;outline:none}.login-card input:focus{border-color:#6ea8ff;box-shadow:0 0 0 3px #5999ff22}.primary{width:100%;border:0;border-radius:13px;padding:14px;background:linear-gradient(135deg,#4d9cff,#835dff);color:white;font-weight:800;margin-top:8px}.login-card a{display:block;text-align:center;color:#8eb9ff;margin-top:18px;font-size:13px}.login-card small{display:block;color:#ff8b9a;margin-top:12px}
.shell{min-height:100vh;display:grid;grid-template-columns:285px 1fr;background:#09111f}aside{position:fixed;inset:0 auto 0 0;width:285px;background:#0c1728;border-right:1px solid #1f2c42;padding:22px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand div:last-child{display:grid;gap:2px}.brand small,.side-info span,.user-box small,header small{color:#7f91ac;font-size:12px}.new-chat{margin:28px 0 22px;padding:13px 14px;border-radius:12px;text-align:left;border:1px solid #2a4160;background:#13243a;color:#eaf3ff;font-weight:700}.new-chat:hover{background:#18304d}.side-info{display:grid;gap:7px;padding:17px;border:1px solid #1f3049;border-radius:15px;background:#0a1423}.side-info b{font-size:13px;margin-bottom:10px}.user-box{margin-top:auto;display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding-top:20px;border-top:1px solid #1d2c42}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#284668;font-weight:800}.user-box div:nth-child(2){display:grid}.user-box button{border:0;background:transparent;color:#8fa4c3;font-size:20px}.shell main{grid-column:2;min-width:0;min-height:100vh;display:grid;grid-template-rows:68px 1fr auto}.shell header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid #1c2a3e;background:rgba(9,17,31,.9);backdrop-filter:blur(14px)}header>div{display:grid}#menuBtn{display:none}.ghost{margin-left:auto;border:1px solid #293a53;background:transparent;color:#9fb0c9;border-radius:10px;padding:9px 12px}
.chat{overflow:auto;padding:36px max(24px,calc((100% - 850px)/2)) 25px}.hero{text-align:center;padding:5vh 10px 28px}.ai-orb{margin:auto;width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,#399cff,#8b5bff);font-size:30px;box-shadow:0 15px 55px #5d76ff44}.hero h1{font-size:38px;margin:22px 0 8px}.hero p{max-width:620px;margin:auto;color:#91a1b9;line-height:1.65}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px auto 0;max-width:680px}.suggestions button{border:1px solid #263b58;background:#101d30;color:#cddcf0;padding:13px;border-radius:14px;text-align:left}.suggestions button:hover{border-color:#588bd0;background:#142642}.messages{display:grid;gap:22px}.message{display:flex;gap:12px;max-width:790px}.message.user{margin-left:auto;flex-direction:row-reverse}.bubble{padding:14px 17px;border-radius:18px;background:#132238;border:1px solid #213550;line-height:1.62;white-space:pre-wrap;overflow-wrap:anywhere}.user .bubble{background:linear-gradient(135deg,#256fc1,#684fc3);border:0}.msg-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:grid;place-items:center;background:#19304d;color:#9fcbff;font-weight:900}.user .msg-avatar{background:#493a86;color:#fff}.typing{display:flex;gap:5px;padding:7px}.typing i{width:7px;height:7px;background:#8aa4c8;border-radius:50%;animation:b 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes b{50%{transform:translateY(-5px);opacity:.5}}
.composer{position:sticky;bottom:0;width:min(850px,calc(100% - 40px));margin:0 auto 18px;padding:10px 10px 7px;border:1px solid #2c4160;border-radius:18px;background:#101d30;display:grid;grid-template-columns:1fr auto;box-shadow:0 15px 40px #0008}.composer textarea{resize:none;max-height:150px;border:0;outline:0;background:transparent;color:white;padding:10px 12px;line-height:1.5}.send{width:44px;height:44px;border:0;border-radius:13px;background:linear-gradient(135deg,#489cff,#8060ff);color:white;font-size:19px}.composer small{grid-column:1/-1;color:#687b98;padding:4px 12px 2px;font-size:10px;text-align:center}
@media(max-width:760px){.shell{display:block}.shell main{grid-column:auto}.shell header{padding:0 14px}aside{transform:translateX(-100%);transition:.25s;box-shadow:20px 0 60px #0009}aside.open{transform:none}#menuBtn{display:block;border:0;background:transparent;color:white;font-size:22px}.chat{padding:24px 15px 18px}.hero{padding-top:2vh}.hero h1{font-size:30px}.suggestions{grid-template-columns:1fr}.composer{width:calc(100% - 20px);margin-bottom:10px}.ghost{font-size:12px}.message{max-width:92%}}
