:root{--violet: #7c3aed;--violet-2: #8b5cf6;--ink: #1f1147;--muted: #6b6490;--glass: rgba(255, 255, 255, .72);--line: rgba(124, 58, 237, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:radial-gradient(900px 500px at 50% 20%,#f3e8ff 0%,transparent 60%),linear-gradient(180deg,#fbf7ff,#f4edff)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#ffffff8c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:700}.logo{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#c4b5fd 40%,#7c3aed);box-shadow:0 0 0 4px #7c3aed14}.nav{display:flex;gap:22px;color:var(--muted);font-size:14px;font-weight:500}.nav a.active,.nav a:hover{color:var(--ink)}.top-right{display:flex;align-items:center;gap:14px}.search{border:0;background:transparent;color:var(--muted);width:140px;outline:none}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ddd6fe,#7c3aed)}.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px 80px;text-align:center}.hero h1{font-size:40px;font-weight:700;margin:18px 0 6px}.hero p{color:var(--muted);margin:0 0 28px}.composer-wrap{width:min(760px,100%)}.composer{background:var(--glass);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 50px #581c8714;border-radius:28px;padding:16px 16px 12px}.composer textarea{width:100%;border:0;resize:none;outline:none;background:transparent;min-height:52px;color:var(--ink)}.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.chip-row,.mode-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{border:0;background:#fff;color:var(--muted);border-radius:999px;padding:8px 12px;font-size:13px;box-shadow:0 1px #00000008}.chip.active{color:#fff;background:var(--violet)}.send{width:40px;height:40px;border:0;border-radius:50%;background:var(--violet);color:#fff;font-size:18px}.icon-btn{border:0;background:#f4f0ff;color:var(--muted);width:36px;height:36px;border-radius:50%}.page{flex:1;display:grid;grid-template-columns:1fr 320px;min-height:0}.chat-col{display:flex;flex-direction:column;min-width:0}.messages{flex:1;overflow:auto;padding:24px 32px 12px;display:flex;flex-direction:column;gap:14px}.bubble{max-width:72%;padding:12px 16px;border-radius:18px;line-height:1.5;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:var(--violet);color:#fff;border-bottom-right-radius:6px}.bubble.assistant{align-self:flex-start;background:#fff;border-bottom-left-radius:6px;box-shadow:0 8px 24px #581c870f}.bubble.tool{align-self:flex-start;background:#f3e8ff;color:#5b21b6;font-size:13px}.bubble.sys{align-self:center;background:transparent;color:var(--muted);font-size:13px}.side{border-left:1px solid var(--line);background:#ffffff73;padding:18px 16px;overflow:auto}.side h3{margin:0 0 12px;font-size:16px}.card{background:#fff;border-radius:16px;padding:12px;margin-bottom:10px;box-shadow:0 6px 18px #581c870d}.card button,.card select,.settings input,.settings select,.login-card input{width:100%;border:1px solid #ece6ff;border-radius:10px;padding:8px 10px;background:#fff}.session{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 0;color:var(--ink)}.session.active{color:var(--violet);font-weight:600}.settings{width:min(720px,100%);margin:32px auto;padding:0 16px 60px}.settings h2{margin-top:0}.login-wrap{min-height:100%;display:grid;place-items:center}.login-card{width:min(400px,92vw);background:#fff;border-radius:24px;padding:28px;box-shadow:0 24px 60px #581c871a}.login-card h1{margin:8px 0 4px;font-size:26px}.login-card p{color:var(--muted);margin:0 0 18px}.login-card button{width:100%;margin-top:12px;border:0;border-radius:12px;background:var(--violet);color:#fff;padding:12px;font-weight:600}.err{color:#b91c1c;font-size:13px}.ok{color:#047857;font-size:13px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:0 32px 8px}@media(max-width:900px){.page{grid-template-columns:1fr}.side,.nav{display:none}}
