*{box-sizing:border-box}:root{--bg: #101014;--panel: #18181f;--border: #2a2a35;--text: #e8e8ee;--muted: #8b8b99;--accent: #ff6b35;--accent-soft: rgba(255, 107, 53, .14)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}#root,.app{height:100vh;height:100dvh}.app{display:flex}.main{flex:1;display:flex;flex-direction:column;overflow:hidden}.centered{flex:1;display:flex;align-items:center;justify-content:center;height:100%}.centered-text{text-align:center;padding:8px}.muted{color:var(--muted)}.small{font-size:13px}.error{color:#ff8080;background:#ff50501a;border:1px solid rgba(255,80,80,.3);padding:8px 12px;border-radius:8px;margin:8px 0}button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.link{background:none;color:var(--muted);padding:4px;text-decoration:underline}input,textarea{background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:15px;font-family:inherit}input:focus,textarea:focus{outline:none;border-color:var(--accent)}.auth-card{display:flex;flex-direction:column;gap:12px;width:360px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:32px}.auth-card h1{margin:0}.auth-card p{margin:0 0 8px}.sidebar{width:280px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px;gap:12px}.sidebar-header{display:flex;align-items:center;justify-content:space-between}.menu-toggle{display:none;background:none;border:1px solid var(--border);color:var(--text);font-size:18px;line-height:1;padding:6px 10px;align-items:center;justify-content:center}.sidebar-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.brand{font-size:20px;font-weight:700;color:var(--text);text-decoration:none}.new-session{display:block;text-align:center;background:var(--accent);color:#fff;border-radius:8px;padding:10px;text-decoration:none;font-size:14px}.session-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.session-item{display:flex;flex-direction:column;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--text)}.session-item:hover,.session-item.active{background:var(--accent-soft)}.session-item.archived{opacity:.55}.session-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta{font-size:12px;color:var(--muted)}.sidebar-footer{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.composer{display:flex;flex-direction:column;gap:12px;width:min(640px,90%)}.composer h1{margin:0}.composer textarea{resize:vertical}.session-view{display:flex;flex-direction:column;height:100%;padding:20px;gap:12px;max-width:860px;width:100%;margin:0 auto}.session-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.session-header h2{margin:0 0 4px;font-size:18px}.session-actions{display:flex;gap:8px;flex-shrink:0}.session-actions button{background:var(--panel);border:1px solid var(--border);font-size:13px;padding:6px 10px}.thread{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-right:4px}.msg{max-width:85%;padding:12px 14px;border-radius:12px;white-space:pre-wrap}.msg.user{align-self:flex-end;background:var(--accent-soft);border:1px solid rgba(255,107,53,.3)}.msg.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--border)}.question{font-weight:600;margin-bottom:10px}.answers{display:flex;flex-direction:column;gap:6px}.answer{background:var(--bg);border:1px solid var(--border);color:var(--text);text-align:left;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.answer:not(:disabled):hover{border-color:var(--accent)}.answer.recommended{border-color:var(--accent)}.badge{font-size:11px;color:var(--accent);white-space:nowrap}.summary{background:var(--panel);border:1px solid var(--accent);border-radius:12px;padding:16px;overflow-wrap:break-word}.summary>h3{margin:0 0 8px}.markdown{line-height:1.55}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:18px 0 6px;line-height:1.3}.markdown h1{font-size:19px}.markdown h2{font-size:17px}.markdown h3{font-size:16px}.markdown h4{font-size:15px}.markdown h5,.markdown h6{font-size:14px}.markdown p{margin:8px 0}.markdown ul,.markdown ol{margin:8px 0;padding-left:22px}.markdown li{margin:4px 0}.markdown li>ul,.markdown li>ol{margin:4px 0}.markdown code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;margin:10px 0;overflow-x:auto}.markdown pre code{background:none;border:none;padding:0;font-size:13px}.markdown blockquote{margin:10px 0;padding:2px 12px;border-left:3px solid var(--accent);color:var(--muted)}.markdown hr{border:none;border-top:1px solid var(--border);margin:14px 0}.markdown a{color:var(--accent)}.markdown .table-wrap{overflow-x:auto;margin:10px 0}.markdown table{border-collapse:collapse;font-size:14px}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top}.markdown th{background:var(--bg)}.markdown del{color:var(--muted)}.reply{display:flex;gap:8px}.reply input{flex:1}@media (max-width: 640px){.app{flex-direction:column}.sidebar{width:100%;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border);padding:10px 12px;gap:8px}.menu-toggle{display:inline-flex}.sidebar-body{display:none}.sidebar.menu-open .sidebar-header{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--panel);padding:10px 12px;border-bottom:1px solid var(--border)}.sidebar.menu-open .sidebar-body{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;background:var(--panel);padding:60px 16px 16px;gap:12px;overflow-y:auto}.session-list{flex:1;max-height:none}.sidebar-footer{flex-direction:column;align-items:stretch;padding-top:12px}.session-view{padding:12px;gap:10px}.session-header{flex-direction:column}.session-actions{flex-wrap:wrap}.msg{max-width:100%}.summary{padding:12px}.markdown pre{padding:10px;font-size:12px}.auth-card{width:min(360px,92vw);padding:24px 20px}}
