:root{--bg:#f7f8fc;--panel:#eef1f7;--surface:#fff;--surface-2:#f2f4fa;--text:#202124;--muted:#687083;--border:rgba(39,48,72,.12);--hover:rgba(79,91,125,.09);--shadow:0 18px 60px rgba(36,43,63,.14);--accent:#6d5dfc;--input:#fff}
:root.dark{--bg:#111318;--panel:#181b22;--surface:#20232b;--surface-2:#292d36;--text:#f3f4f7;--muted:#a4a9b5;--border:rgba(255,255,255,.09);--hover:rgba(255,255,255,.07);--shadow:0 24px 70px rgba(0,0,0,.38);--input:#20232b}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}button,input,textarea,select{font:inherit}.hidden{display:none!important}.app-shell{height:100%;display:flex}.sidebar{width:280px;flex:none;background:var(--panel);display:flex;flex-direction:column;padding:14px 12px;transition:.25s ease;border-right:1px solid var(--border)}.sidebar.collapsed{width:76px}.sidebar.collapsed .compact-hide{display:none}.sidebar-top{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.brand{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:700}.spark-logo,.hero-spark{background:linear-gradient(135deg,#5a8cff,#8b5cf6,#ec4899);-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(139,92,246,.38))}.new-chat{margin:14px 2px 18px;height:48px;border:0;border-radius:16px;background:var(--surface);color:var(--text);display:flex;align-items:center;gap:12px;padding:0 15px;cursor:pointer;box-shadow:0 4px 18px rgba(60,66,90,.08)}.new-chat:hover,.sidebar-action:hover,.conversation-item:hover,.icon-button:hover{background:var(--hover)}.conversation-list{overflow:auto;flex:1;padding:0 2px}.group-title{margin:14px 11px 7px;color:var(--muted);font-size:12px;font-weight:600}.conversation-item{border:0;background:transparent;color:var(--text);width:100%;height:42px;border-radius:12px;display:flex;align-items:center;gap:10px;padding:0 11px;cursor:pointer;text-align:left}.conversation-item.active{background:var(--hover)}.conversation-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{border-top:1px solid var(--border);padding-top:10px}.sidebar-action{border:0;background:transparent;color:var(--text);width:100%;height:44px;border-radius:12px;display:flex;align-items:center;gap:12px;padding:0 12px;cursor:pointer}.main{min-width:0;flex:1;display:flex;flex-direction:column;position:relative}.topbar{height:64px;flex:none;display:flex;align-items:center;padding:0 24px;position:relative}.model-pill{border:0;background:transparent;color:var(--text);font-weight:600;display:flex;align-items:center;gap:5px;padding:10px;border-radius:12px;cursor:pointer}.model-pill:hover{background:var(--hover)}.model-menu{position:absolute;top:56px;left:24px;width:260px;background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:7px;box-shadow:var(--shadow);z-index:20}.model-menu button{display:flex;flex-direction:column;gap:4px;border:0;background:transparent;color:var(--text);width:100%;padding:11px;border-radius:10px;text-align:left;cursor:pointer}.model-menu button:hover{background:var(--hover)}.model-menu small{color:var(--muted)}.chat-area{flex:1;overflow-y:auto;padding:0 24px 210px;scroll-behavior:smooth}.welcome{max-width:870px;margin:11vh auto 0}.hero-spark{font-size:43px;margin-bottom:15px}.welcome h1{font-size:42px;letter-spacing:-1.6px;margin:0 0 9px}.welcome p{color:var(--muted);font-size:18px;margin:0 0 38px}.suggestions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.suggestion{min-height:120px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:20px;padding:18px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.suggestion:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(50,60,90,.1)}.messages{max-width:870px;margin:24px auto 0}.message{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;margin:24px 0}.message.user{display:flex;justify-content:flex-end}.user-bubble{max-width:78%;background:var(--surface-2);padding:13px 17px;border-radius:20px;white-space:pre-wrap;line-height:1.55}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(90,140,255,.18),rgba(236,72,153,.16));font-size:20px}.message-content{line-height:1.7;min-width:0}.message-content p:first-child{margin-top:2px}.message-content pre{position:relative;background:#0c0e13;color:#e7e9ee;border-radius:14px;padding:46px 16px 16px;overflow:auto}.copy-code{position:absolute;right:9px;top:8px;border:1px solid rgba(255,255,255,.13);background:#181b22;color:#dfe2e8;border-radius:8px;padding:6px 9px;cursor:pointer}.message-content code:not(pre code){background:var(--surface-2);padding:2px 5px;border-radius:5px}.message-content table{border-collapse:collapse;width:100%;display:block;overflow:auto}.message-content th,.message-content td{border:1px solid var(--border);padding:8px 11px}.typing-dot{display:inline-block;width:7px;height:7px;background:var(--muted);border-radius:50%;animation:pulse 1s infinite}.composer-wrap{position:absolute;bottom:0;left:0;right:0;padding:14px 24px 10px;background:linear-gradient(transparent,var(--bg) 22%)}.composer{max-width:870px;min-height:62px;margin:0 auto;background:var(--input);border:1px solid var(--border);border-radius:28px;display:flex;align-items:flex-end;gap:8px;padding:9px 11px;box-shadow:0 8px 35px rgba(30,37,58,.09)}.composer textarea{flex:1;resize:none;max-height:180px;min-height:40px;border:0;outline:0;background:transparent;color:var(--text);padding:9px 3px}.send-button{width:42px;height:42px;border:0;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;cursor:pointer}.send-button:disabled{opacity:.35;cursor:not-allowed}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.disclaimer{text-align:center;color:var(--muted);font-size:11px;margin:8px 0 0}.attachments{max-width:870px;margin:0 auto 8px;display:flex;gap:8px;overflow:auto}.attachment{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 10px;display:flex;gap:8px;align-items:center;font-size:12px}.attachment button{border:0;background:transparent;color:var(--muted);cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);display:grid;place-items:center;z-index:50;padding:18px}.modal{width:min(520px,100%);background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:22px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start}.modal h2{margin:0 0 5px}.modal p,.field small,.switch-row small{color:var(--muted);margin:0}.field{display:flex;flex-direction:column;gap:8px;margin-top:22px}.field input,.field select{height:46px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);padding:0 12px;outline:0}.switch-row{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.switch-row span{display:flex;flex-direction:column;gap:4px}.modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:28px}.primary-button,.danger-button{border:0;border-radius:11px;padding:11px 17px;cursor:pointer}.primary-button{background:var(--accent);color:#fff}.danger-button{background:rgba(239,68,68,.12);color:#ef4444}.toast{position:fixed;right:22px;bottom:22px;max-width:420px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:13px 16px;border-radius:13px;z-index:100}.mobile-only{display:none}@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}@media(max-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;transform:translateX(-100%);width:280px}.sidebar.mobile-open{transform:translateX(0)}.mobile-only{display:grid}.topbar{padding:0 12px}.model-menu{left:58px}.chat-area{padding-left:16px;padding-right:16px}.composer-wrap{padding-left:12px;padding-right:12px}.welcome{margin-top:6vh}.welcome h1{font-size:32px}.suggestions{grid-template-columns:1fr 1fr}.suggestion{min-height:105px}.user-bubble{max-width:90%}}@media(max-width:520px){.suggestions{grid-template-columns:1fr}.suggestion{min-height:82px}.welcome p{margin-bottom:22px}}
