:root{--bg: #060816;--bg-soft: rgba(14, 18, 38, .9);--panel: rgba(15, 22, 46, .82);--panel-strong: rgba(18, 27, 58, .96);--border: rgba(153, 178, 255, .14);--text: #ecf2ff;--muted: #9ea9cb;--accent: #7ee7d8;--accent-2: #ffc76e;--danger: #ff7f96;--shadow: 0 24px 80px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(126,231,216,.15),transparent 28%),radial-gradient(circle at top right,rgba(255,199,110,.14),transparent 24%),linear-gradient(180deg,#081022,#04060f);min-height:100vh}button,input,textarea,select{font:inherit}.app-shell{position:relative;display:grid;grid-template-columns:320px 1fr;min-height:100vh;overflow:hidden}.aurora{position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(circle at 20% 20%,rgba(126,231,216,.12),transparent 25%),radial-gradient(circle at 80% 10%,rgba(128,120,255,.08),transparent 18%),radial-gradient(circle at 50% 80%,rgba(255,199,110,.12),transparent 24%);filter:blur(20px);pointer-events:none}.sidebar,.main-panel,.auth-card,.upgrade-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.sidebar{position:relative;z-index:1;border-right:1px solid var(--border);background:#070c1bb8;padding:24px;display:flex;flex-direction:column;gap:20px}.sidebar-header h2,.empty-state h2,.auth-card h1,.upgrade-card h2{margin:0;font-family:Cormorant Garamond,serif;letter-spacing:.02em}.eyebrow,.ad-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}.chat-list{display:flex;flex-direction:column;gap:12px;overflow:auto}.chat-list-item,.personality-button,.ghost-button,.pack-card{border:1px solid var(--border);background:#ffffff08;color:var(--text);border-radius:18px;cursor:pointer;transition:.18s ease}.chat-list-item{text-align:left;padding:14px}.chat-list-item span{display:block;margin-top:6px;color:var(--muted);font-size:.9rem}.chat-list-item.active,.chat-list-item:hover,.personality-button.active,.personality-button:hover,.ghost-button:hover,.pack-card:hover{border-color:#7ee7d873;transform:translateY(-1px);box-shadow:0 10px 30px #09143266}.ad-card,.reward-card{padding:18px;border-radius:22px;background:linear-gradient(180deg,#111c3ae6,#080f1fe6);border:1px solid var(--border)}.ad-box{margin-top:12px;border-radius:16px;border:1px dashed rgba(255,255,255,.2);min-height:160px;display:grid;place-items:center;color:var(--muted)}.ad-box.wide{min-height:100px}.main-panel{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;padding:20px;gap:16px}.topbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;border-radius:24px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow)}.credits-pill{display:inline-flex;gap:10px;align-items:center;padding:10px 16px;border-radius:999px;background:#7ee7d81a;color:var(--accent)}.select,.input,.textarea{border:1px solid var(--border);background:#040812bf;color:var(--text);border-radius:16px}.select,.input{padding:12px 14px}.personality-group{display:flex;gap:10px;flex-wrap:wrap}.personality-button,.ghost-button,.primary-button,.send-button{padding:12px 16px}.ghost-button{margin-left:auto}.ghost-button.compact{margin-left:0;padding:10px 14px}.primary-button{border:none;border-radius:18px;background:linear-gradient(135deg,var(--accent) 0%,#54b5ff 100%);color:#05111f;font-weight:800;cursor:pointer}.chat-window{padding:24px;border-radius:28px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);overflow:auto}.message-row{display:flex;gap:14px;margin-bottom:18px}.message-row.user{justify-content:flex-end}.message-bubble{max-width:min(72ch,85%);padding:16px 18px;border-radius:22px;line-height:1.6;white-space:pre-wrap}.message-bubble.user{background:linear-gradient(135deg,#7ee7d83d,#54b5ff2e);border:1px solid rgba(126,231,216,.22)}.message-bubble.assistant{background:#ffffff0a;border:1px solid var(--border)}.genie-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#04111a;background:radial-gradient(circle at 30% 30%,#fff3c7,#7ee7d8 55%,#54b5ff);box-shadow:0 0 24px #7ee7d852;flex-shrink:0}.genie-avatar.expert{background:radial-gradient(circle at 30% 30%,#fff2b8,#ffc76e 45%,#ff8b8b)}.inline-ad{margin:6px 0 20px 56px}.typing-row{display:flex;gap:14px;align-items:center}.typing-indicator{display:inline-flex;gap:8px;padding:16px 18px;border-radius:999px;background:#ffffff0d}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.1s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.composer-shell{display:grid;gap:12px}.composer{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border-radius:24px;border:1px solid var(--border);background:var(--panel-strong);box-shadow:var(--shadow)}.textarea{min-height:84px;padding:16px;resize:vertical}.send-button{align-self:end}.empty-state,.auth-card,.upgrade-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow)}.empty-state{min-height:100%;display:grid;place-items:center;text-align:center;border-radius:24px;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02050cb8;display:grid;place-items:center;padding:24px;z-index:10}.auth-card,.upgrade-card{width:min(92vw,580px);padding:28px;border-radius:28px}.brand-lockup{text-align:center;margin-bottom:20px}.genie-orb{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d6,#7ee7d8 48%,#54b5ffe6 85%);box-shadow:0 0 40px #7ee7d859;animation:float 3.2s ease-in-out infinite}.genie-orb.large{width:90px;height:90px}.helper-text{margin-top:12px;padding:12px 14px;border-radius:14px;font-size:.95rem}.helper-text.success{background:#7ee7d817;color:var(--accent)}.helper-text.error,.error-banner{background:#ff7f961f;color:#ffc3cf}.error-banner{padding:12px 16px;border-radius:14px}.modal-header,.pack-grid{display:flex;gap:14px;flex-wrap:wrap}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px}.pack-card{min-width:150px;padding:18px;text-align:left;display:grid;gap:10px}.pack-actions{display:flex;gap:10px;flex-wrap:wrap}@keyframes pulse{0%,80%,to{transform:scale(.9);opacity:.5}40%{transform:scale(1.1);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.composer{grid-template-columns:1fr}.ghost-button{margin-left:0}}
