@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;600&family=Outfit:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400&display=swap');:root{--bg:#111111;--sidebar-bg:#171717;--input-bg:#1e1e1e;--surface:#1e1e1e;--border:rgba(255,255,255,0.08);--text:#ececec;--text-muted:rgba(255,255,255,0.45);--gold:#FFD700;--gold-end:#FFA500;--gold-glow:rgba(255,215,0,0.25);--user-bubble:#2a2a2a;--radius-pill:9999px;--radius-msg:18px;--topbar-h:52px;--sidebar-w:260px;--icon-rail-w:56px}body.light{--bg:#f9f9f9;--sidebar-bg:#f1f1f1;--input-bg:#ffffff;--surface:#ffffff;--border:rgba(0,0,0,0.08);--text:#111111;--text-muted:rgba(0,0,0,0.4);--user-bubble:#eeeeee}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:'Outfit',sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app-shell{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);display:flex;flex-direction:column;border-right:1px solid var(--border);flex-shrink:0;transition:width 0.25s ease;overflow:hidden}.sidebar-top{display:flex;align-items:center;gap:8px;padding:12px 12px 8px 12px}.sidebar-icon-btn{width:40px;height:40px;border-radius:8px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.15s,color 0.15s;flex-shrink:0}.sidebar-icon-btn:hover{background:rgba(255,255,255,0.07);color:var(--text)}body.light .sidebar-icon-btn:hover{background:rgba(0,0,0,0.06)}.new-chat-btn{flex:1;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;background:transparent;border:none;color:var(--text);font-size:14px;font-family:inherit;cursor:pointer;transition:background 0.15s;text-align:left;white-space:nowrap;overflow:hidden}.new-chat-btn:hover{background:rgba(255,255,255,0.07)}body.light .new-chat-btn:hover{background:rgba(0,0,0,0.06)}.sidebar-label{font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);padding:14px 16px 6px}.history{flex:1;overflow-y:auto;padding:0 8px 12px;display:flex;flex-direction:column;gap:2px}.history::-webkit-scrollbar{width:4px}.history::-webkit-scrollbar-track{background:transparent}.history::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:4px}body.light .history::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.12)}.history-item-wrapper{position:relative}.history-item{display:block;padding:8px 12px;border-radius:8px;color:var(--text);text-decoration:none;font-size:13.5px;transition:background 0.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item:hover{background:rgba(255,255,255,0.07)}body.light .history-item:hover{background:rgba(0,0,0,0.06)}.history-item.active{background:rgba(255,255,255,0.1);font-weight:500}body.light .history-item.active{background:rgba(0,0,0,0.08)}.history-item .title{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item .snippet{font-size:12px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delete-conv-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;opacity:0;font-size:14px;padding:4px;border-radius:4px;transition:opacity 0.15s,background 0.15s,color 0.15s}.history-item-wrapper:hover .delete-conv-btn{opacity:1}.delete-conv-btn:hover{background:rgba(255,80,80,0.15);color:#ff6060}.sidebar-ad{padding:10px;border-top:1px solid var(--border)}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.sidebar-links{display:flex;flex-wrap:wrap;gap:8px;padding:4px 4px 0}.sidebar-links a{font-size:11px;color:var(--text-muted);text-decoration:none;transition:color 0.15s}.sidebar-links a:hover{color:var(--gold)}.sidebar-copyright{font-size:10px;color:var(--text-muted);padding:0 4px;opacity:0.6}.clear-btn{width:100%;padding:8px 12px;background:transparent;border:1px solid rgba(255,80,80,0.3);border-radius:8px;color:#ff7070;font-size:13px;font-family:inherit;cursor:pointer;transition:background 0.15s}.clear-btn:hover{background:rgba(255,80,80,0.1)}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);position:relative}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg)}.topbar-brand{font-family:'Outfit',sans-serif;font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--text)}.topbar-brand .crown-icon{width:28px;height:28px;flex-shrink:0}.topbar-brand .gold-text{background:linear-gradient(135deg,var(--gold),var(--gold-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.topbar-controls{display:flex;align-items:center;gap:10px}.theme-btn{width:38px;height:38px;border-radius:8px;background:rgba(255,215,0,0.08);border:1px solid rgba(255,215,0,0.2);color:var(--gold);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.15s,transform 0.15s}body.light .theme-btn{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.15);color:#888}.theme-btn:hover{background:rgba(255,215,0,0.15);transform:scale(1.05)}.chat-area{flex:1;display:flex;flex-direction:column;align-items:center;overflow:hidden}.messages{flex:1;width:100%;max-width:720px;padding:28px 24px 8px;overflow-y:auto;display:flex;flex-direction:column;gap:22px;scroll-behavior:smooth}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:4px}body.light .messages::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.12)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding-bottom:80px;animation:fadeUp 0.5s ease both}.empty-state .crown-badge{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-end));display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 0 32px var(--gold-glow)}.empty-state h2{font-size:26px;font-weight:500;color:var(--text);text-align:center;letter-spacing:-0.3px}body.light .empty-state h2{color:#111}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.bubble{display:flex;gap:14px;max-width:100%;animation:bubbleIn 0.28s ease both;position:relative}@keyframes bubbleIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bubble-bot{align-items:flex-start}.bot-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-end));display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;margin-top:3px;box-shadow:0 2px 8px var(--gold-glow)}.bubble-content{flex:1;min-width:0;position:relative}.bubble-inner{line-height:1.7;color:var(--text);word-wrap:break-word;overflow-wrap:break-word;font-size:15px;letter-spacing:0.01em}.bubble-bot .bubble-inner{background:transparent;padding:2px 0}.bubble-user{justify-content:flex-end}.bubble-user .bubble-content{max-width:70%}.bubble-user .bubble-inner{background:var(--user-bubble);border-radius:var(--radius-msg);padding:12px 18px;color:var(--text)}body.light .bubble-user .bubble-inner{background:#e8e8e8;color:#111}body.light .bubble-bot .bubble-inner{color:#111}.bubble-bot .bubble-inner h1,.bubble-bot .bubble-inner h2,.bubble-bot .bubble-inner h3,.bubble-bot .bubble-inner h4,.bubble-bot .bubble-inner h5,.bubble-bot .bubble-inner h6{font-weight:600;margin:1.2em 0 0.6em 0;line-height:1.3;color:var(--text)}.bubble-bot .bubble-inner h1{font-size:1.8em}.bubble-bot .bubble-inner h2{font-size:1.5em}.bubble-bot .bubble-inner h3{font-size:1.25em}.bubble-bot .bubble-inner h4{font-size:1.1em}.bubble-bot .bubble-inner h5{font-size:1em}.bubble-bot .bubble-inner h6{font-size:0.95em;color:var(--text-muted)}.bubble-bot .bubble-inner h1:first-child,.bubble-bot .bubble-inner h2:first-child,.bubble-bot .bubble-inner h3:first-child,.bubble-bot .bubble-inner h4:first-child,.bubble-bot .bubble-inner h5:first-child,.bubble-bot .bubble-inner h6:first-child{margin-top:0}.bubble-bot .bubble-inner strong{font-weight:600;color:var(--text)}.bubble-bot .bubble-inner em{font-style:italic}.bubble-bot .bubble-inner p{margin:0.8em 0;line-height:1.65}.bubble-bot .bubble-inner p:first-child{margin-top:0}.bubble-bot .bubble-inner p:last-child{margin-bottom:0}.bubble-bot .bubble-inner ul,.bubble-bot .bubble-inner ol{margin:0.8em 0;padding-left:1.8em;line-height:1.6}.bubble-bot .bubble-inner li{margin:0.3em 0}.bubble-bot .bubble-inner li>p{margin:0.2em 0}.bubble-bot .bubble-inner code{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:4px;padding:0.15em 0.4em;font-family:'SF Mono','Monaco','Menlo','Consolas','Courier New',monospace;font-size:0.9em;color:var(--text)}body.light .bubble-bot .bubble-inner code{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.1)}.bubble-bot .bubble-inner pre{background:rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:12px 14px;margin:1em 0;overflow-x:auto;line-height:1.5}body.light .bubble-bot .bubble-inner pre{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.1)}.bubble-bot .bubble-inner pre code{background:transparent;border:none;padding:0;font-size:0.88em;display:block}.bubble-bot .bubble-inner blockquote{border-left:3px solid rgba(255,215,0,0.3);margin:1em 0;padding-left:1em;color:var(--text-muted);font-style:italic}.bubble-bot .bubble-inner a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(255,215,0,0.3);transition:border-color 0.15s}.bubble-bot .bubble-inner a:hover{border-bottom-color:var(--gold)}.bubble-bot .bubble-inner hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.bubble-bot .bubble-inner table{border-collapse:collapse;width:100%;margin:1em 0;font-size:0.95em}.bubble-bot .bubble-inner table th,.bubble-bot .bubble-inner table td{border:1px solid var(--border);padding:8px 12px;text-align:left}.bubble-bot .bubble-inner table th{background:rgba(255,215,0,0.08);font-weight:600}.bubble-bot .bubble-inner img{max-width:100%;height:auto;border-radius:8px;margin:0.8em 0}.copy-btn{position:absolute;bottom:-22px;right:0;font-size:11px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;opacity:0;padding:3px 6px;border-radius:4px;transition:opacity 0.15s,color 0.15s,background 0.15s;white-space:nowrap}.bubble-content:hover .copy-btn{opacity:1}.copy-btn:hover{background:rgba(255,255,255,0.07);color:var(--gold)}body.light .copy-btn:hover{background:rgba(0,0,0,0.05);color:#888}.thinking{display:flex;gap:5px;align-items:center;padding:4px 0}.dot{width:7px;height:7px;background:var(--text-muted);border-radius:50%;animation:bounce 1.2s infinite ease-in-out}@keyframes bounce{0%,80%,100%{transform:scale(0.6);opacity:0.4}40%{transform:scale(1);opacity:1}}.input-area{width:100%;max-width:720px;padding:12px 24px calc(32px + env(safe-area-inset-bottom,0px));flex-shrink:0}.input-wrapper{display:flex;align-items:flex-end;gap:0;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-pill);padding:8px 10px 8px 14px;transition:border-color 0.2s,box-shadow 0.2s}.input-wrapper:focus-within{border-color:rgba(255,215,0,0.4);box-shadow:0 0 0 3px rgba(255,215,0,0.08)}body.light .input-wrapper{background:#fff;border-color:rgba(0,0,0,0.13)}body.light .input-wrapper:focus-within{border-color:rgba(255,165,0,0.5);box-shadow:0 0 0 3px rgba(255,165,0,0.08)}.attach-btn{width:34px;height:34px;border-radius:50%;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.15s,color 0.15s;margin-bottom:2px}.attach-btn:hover{background:rgba(255,255,255,0.07);color:var(--text)}body.light .attach-btn:hover{background:rgba(0,0,0,0.06)}.attach-btn:disabled{opacity:0.4;cursor:not-allowed}.input-wrapper textarea{flex:1;background:transparent;border:none;outline:none;resize:none;color:var(--text);font-size:15px;font-family:inherit;line-height:1.55;padding:6px 10px;max-height:180px;overflow-y:auto}.input-wrapper textarea::placeholder{color:var(--text-muted)}body.light .input-wrapper textarea{color:#111}body.light .input-wrapper textarea::placeholder{color:rgba(0,0,0,0.35)}.send-btn{width:34px;height:34px;border-radius:50%;flex-shrink:0;border:none;cursor:pointer;background:linear-gradient(135deg,var(--gold),var(--gold-end));color:#000;display:flex;align-items:center;justify-content:center;transition:transform 0.15s,box-shadow 0.15s;margin-bottom:2px}.send-btn:hover{transform:scale(1.06);box-shadow:0 4px 12px var(--gold-glow)}.send-btn:disabled{opacity:0.45;cursor:not-allowed;transform:none}.input-note{text-align:center;font-size:11.5px;color:var(--text-muted);margin-top:8px;padding:0 4px}#imagePreview{padding:6px 14px 4px;display:none}#imagePreview img{max-width:120px;max-height:120px;border-radius:10px;border:2px solid rgba(255,215,0,0.25)}#removeImageBtn{background:rgba(255,60,60,0.8);color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}#imageMenu{background:var(--surface);border:1px solid rgba(255,215,0,0.2);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.4);overflow:hidden;position:absolute;z-index:1000}#imageMenu button{display:block;width:100%;padding:11px 18px;background:transparent;color:var(--text);border:none;text-align:left;cursor:pointer;font-size:13.5px;font-family:inherit;transition:background 0.15s}#imageMenu button:hover{background:rgba(255,215,0,0.1)}#photoLibraryBtn{border-top:1px solid var(--border)}.limit-bubble .bubble-inner{background:rgba(255,60,60,0.15)!important;border:1px solid rgba(255,80,80,0.3);border-radius:var(--radius-msg)!important;padding:12px 16px!important;color:#ff8080!important}.reveal{animation:revealText 500ms ease both}@keyframes revealText{from{opacity:0}to{opacity:1}}@media (max-width:780px){.sidebar{display:none}.messages,.input-area{max-width:100%;padding-left:14px;padding-right:14px}.topbar{padding:0 14px}}h1{font-family:'Cormorant Garamond',serif;font-weight:300;text-transform:uppercase;letter-spacing:0.18em}h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:0.02em}.metric-large{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:4rem}nav a,.nav-item{font-family:'Outfit',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:0.1em}.btn,.cta,.cta-button,.new-chat-btn,.sidebar-icon-btn,button{font-family:'Outfit',sans-serif;font-weight:600}.tag,.label,.tooltip,.sidebar-label,.input-note,.blog-tag,.blog-card-category{font-family:'Outfit',sans-serif;font-weight:300;font-size:13px}.stat-value,.metric-value,.dashboard-stat-value,.hero-stat{font-family:'Cormorant Garamond',serif;font-weight:300}