:root{--bg:#070b16;--panel:#101728;--panel2:#151f35;--text:#eef4ff;--muted:#94a3b8;--line:rgba(255,255,255,.1);--accent:#3b82f6;--accent2:#8b5cf6;--bubble:#141c30;--user:#164e8a;--shadow:0 25px 70px rgba(0,0,0,.35);--radius:22px}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,var(--accent),transparent 28%),linear-gradient(135deg,var(--bg),#05070d);color:var(--text);min-height:100vh}a{color:var(--text);text-decoration:none}button,input,textarea,select{font:inherit}.auth{display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);background:color-mix(in srgb,var(--panel) 86%,transparent);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:30px;backdrop-filter:blur(18px)}.brand{display:flex;gap:12px;align-items:center}.logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;font-weight:900}.brand h1{font-size:24px}.auth-card input,.auth-card select,.search,#model,.composer textarea{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:14px;padding:14px;margin:8px 0}.primary,.send,.side-action,.sidebar button,.theme-float{background:linear-gradient(135deg,var(--accent),var(--accent2));color:white;border:0;border-radius:14px;padding:12px 16px;cursor:pointer;font-weight:800}.error{background:#7f1d1d;color:#fecaca;padding:12px;border-radius:12px;margin:10px 0}.success{background:#064e3b;color:#bbf7d0;padding:12px;border-radius:12px;margin:10px 0}.check{display:flex;gap:8px;align-items:center;color:var(--muted)}.theme-float{position:fixed;top:16px;right:16px;z-index:60}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:310px;background:rgba(8,13,25,.84);border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:12px;backdrop-filter:blur(18px)}.small .logo{width:36px;height:36px}.side-action{width:100%;text-align:left}.chat-list{overflow:auto;flex:1}.chat-item{padding:12px;border-radius:14px;color:var(--muted);cursor:pointer;display:flex;justify-content:space-between}.chat-item:hover,.chat-item.active{background:var(--panel2);color:var(--text)}.side-bottom{display:grid;gap:8px}.side-bottom a,.side-bottom button{background:var(--panel2);border:1px solid var(--line);padding:12px;border-radius:14px;text-align:left}.chat-shell{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(6,10,20,.45);backdrop-filter:blur(16px)}#menuBtn,#pinChat{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px}.messages{flex:1;overflow:auto;padding:28px;scroll-behavior:smooth}.welcome{text-align:center;margin-top:12vh;color:var(--muted)}.welcome h1{color:var(--text);font-size:46px}.msg{max-width:900px;margin:18px auto;display:flex;gap:12px;animation:rise .25s ease}.avatar{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;font-weight:900;flex:none}.bubble{background:var(--bubble);border:1px solid var(--line);border-radius:18px;padding:16px;line-height:1.55;overflow:auto}.msg.user .bubble{background:linear-gradient(135deg,var(--user),color-mix(in srgb,var(--accent) 42%,#111))}.bubble pre{position:relative;background:#050816;border:1px solid var(--line);padding:16px;border-radius:14px;overflow:auto}.copy-code{float:right;margin:0 0 8px 8px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:6px 10px}.composer{position:relative;display:flex;gap:10px;align-items:flex-end;padding:16px 24px;border-top:1px solid var(--line);background:rgba(6,10,20,.65)}.composer textarea{resize:none;max-height:180px;margin:0}.composer>button{height:48px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:14px;padding:0 14px}.composer .send{background:linear-gradient(135deg,var(--accent),var(--accent2));border:0;color:white}.emoji-panel{display:none;position:absolute;left:24px;bottom:78px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px;font-size:24px;max-width:280px;box-shadow:var(--shadow)}.emoji-panel.open{display:block}.theme-panel{position:fixed;right:-420px;top:0;height:100vh;width:min(400px,100%);background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);z-index:100;padding:22px;transition:.25s}.theme-panel.open{right:0}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-card{height:84px;border-radius:18px;border:1px solid var(--line);cursor:pointer;padding:12px;display:flex;align-items:end;font-weight:800}.admin-main{padding:28px;overflow:auto;flex:1}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.cards div{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}.cards b{display:block;font-size:30px;margin-top:8px}table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:16px;overflow:hidden}td,th{padding:12px;border-bottom:1px solid var(--line);text-align:left}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}body[data-theme=light]{--bg:#eff6ff;--panel:#fff;--panel2:#f1f5f9;--text:#0f172a;--muted:#475569;--line:rgba(15,23,42,.14);--bubble:#fff;--user:#dbeafe}body[data-theme=ocean]{--accent:#06b6d4;--accent2:#2563eb;--bg:#031523}body[data-theme=purple]{--accent:#8b5cf6;--accent2:#ec4899;--bg:#13091f}body[data-theme=emerald]{--accent:#10b981;--accent2:#22c55e;--bg:#03190f}body[data-theme=crimson]{--accent:#ef4444;--accent2:#f97316;--bg:#210707}body[data-theme=sunset]{--accent:#f97316;--accent2:#ec4899;--bg:#1f0d08}body[data-theme=gold]{--accent:#eab308;--accent2:#f97316;--bg:#1d1504}body[data-theme=pink]{--accent:#ec4899;--accent2:#a855f7;--bg:#210817}body[data-theme=cyan]{--accent:#22d3ee;--accent2:#3b82f6;--bg:#04131b}body[data-theme=midnight]{--accent:#64748b;--accent2:#1e293b;--bg:#000} @media(max-width:800px){.sidebar{position:fixed;left:-330px;z-index:50;height:100%;transition:.25s}.sidebar.open{left:0}.cards{grid-template-columns:1fr}.messages{padding:16px}.welcome h1{font-size:32px}.composer{padding:12px}.msg{margin:14px 0}.sidebar{width:290px}}
