:root{--sidebar-w:280px;--bg-sidebar:#0f1430;--bg-chat:#131938;--bg-input:#1a2347}body.chat-route,body.chat-route html{height:100%;overflow:hidden}.scrim{display:none}.app{grid-template-columns:var(--sidebar-w) 1fr;background:var(--bg-chat);height:100vh;display:grid}.sb{background:var(--bg-sidebar);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.sb-top{border-bottom:1px solid var(--line);flex-direction:column;gap:14px;padding:16px 14px 12px;display:flex}.sb-brand{justify-content:space-between;align-items:center;gap:12px;display:flex}.sb-collapse{border:1px solid var(--line);width:28px;height:28px;color:var(--ink-3);border-radius:6px;place-items:center;transition:background .15s,color .15s;display:grid}.sb-collapse:hover{color:var(--ink-1);background:#ffffff0d}.new-chat-btn{background:var(--amber);color:var(--accent-ink);letter-spacing:-.005em;box-shadow:0 0 0 1px #ffffff40 inset, 0 8px 24px -12px var(--amber-glow);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13.5px;font-weight:600;transition:transform .12s,background .15s;display:flex}.new-chat-btn:hover{background:var(--amber-soft);transform:translateY(-1px)}.new-chat-btn .kbd{font-family:var(--font-mono);color:#0009;background:#0000001f;border-radius:4px;padding:2px 6px;font-size:10.5px}.sb-search{padding:12px 14px 8px;position:relative}.sb-search input{border:1px solid var(--line);width:100%;color:var(--ink-1);font-family:var(--font-mono);background:#00000040;border-radius:7px;outline:none;padding:8px 12px 8px 32px;font-size:12.5px;transition:border-color .15s}.sb-search input::placeholder{color:var(--ink-3)}.sb-search input:focus{border-color:var(--line-strong)}.sb-search .icon{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:24px;transform:translateY(-50%)}.convo-list{flex:1;padding:4px 8px 16px;overflow-y:auto}.convo-list::-webkit-scrollbar{width:6px}.convo-list::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.convo-group{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);padding:14px 10px 6px;font-size:10px}.convo-item{cursor:pointer;color:var(--ink-2);border-radius:6px;align-items:center;gap:10px;margin:1px 0;padding:8px 10px;font-size:13px;transition:background .15s,color .15s;display:flex;position:relative}.convo-item:hover{color:var(--ink-1);background:#ffffff0a}.convo-item.active{color:var(--ink-0);box-shadow:inset 2px 0 0 var(--amber);background:#ffb42e14}.convo-item .convo-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sb-bottom{border-top:1px solid var(--line);padding:12px 14px}.powered{border:1px solid var(--line);background:#ffffff05;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;display:flex}.powered-lbl{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-3);font-size:10.5px}.powered-brand{font-family:var(--font-mono);color:var(--ink-1);align-items:center;gap:5px;font-size:12px;font-weight:500;display:inline-flex}.powered-brand svg{color:var(--ink-1)}.main{flex-direction:column;min-width:0;height:100vh;display:flex}.main-top{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000001f;justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.main-top-left{align-items:center;gap:14px;min-width:0;display:flex}.main-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink-0);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.main-top-right{align-items:center;gap:10px;display:flex}.icon-btn{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-2);background:#ffffff05;border-radius:7px;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.icon-btn:hover{color:var(--ink-0);border-color:var(--line-strong);background:#ffffff0f}.msgs-wrap{flex:1;position:relative;overflow-y:auto}.msgs-wrap::-webkit-scrollbar{width:8px}.msgs-wrap::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.msgs{flex-direction:column;gap:22px;max-width:820px;margin:0 auto;padding:32px 28px 24px;display:flex}.welcome{text-align:center;max-width:820px;margin:0 auto;padding:56px 28px 28px}.welcome .badge{border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-2);background:#ffffff08;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11.5px;display:inline-flex}.welcome .badge:before{content:"";background:#4ade80;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #4ade8080}.welcome h1{font-family:var(--font-display);letter-spacing:-.03em;margin:24px 0 12px;font-size:38px;font-weight:600;line-height:1.1}.welcome h1 .grad{background:linear-gradient(100deg, var(--ink-0) 0%, var(--amber-soft) 70%, var(--amber) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.welcome h1 .violet{background:linear-gradient(100deg, var(--ink-0) 0%, var(--violet-soft) 70%, var(--violet) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.welcome p{color:var(--ink-2);max-width:540px;margin:0 auto 32px;font-size:15px;line-height:1.6}.prompt-grid{grid-template-columns:1fr 1fr;gap:10px;max-width:680px;margin:0 auto;display:grid}.prompt-card{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff05;border-radius:10px;flex-direction:column;gap:6px;padding:16px 16px 14px;transition:background .15s,border-color .15s,transform .12s;display:flex}.prompt-card:hover{border-color:var(--line-strong);background:#ffffff0d;transform:translateY(-1px)}.prompt-card .tag{font-family:var(--font-mono);letter-spacing:.08em;color:var(--amber);text-transform:uppercase;font-size:10.5px}.prompt-card .q{color:var(--ink-1);font-size:14px;line-height:1.45}.prompt-card .arrow{color:var(--ink-3);font-family:var(--font-mono);margin-left:auto;font-size:12px}.row{gap:14px;animation:.35s cubic-bezier(.2,.7,.2,1) msgIn;display:flex}.row.user{flex-direction:row-reverse}.row .av{width:32px;height:32px;font-family:var(--font-mono);border-radius:8px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.row.user .av{border:1px solid var(--line-2);color:var(--ink-1);background:#ffffff0d}.row.assistant .av{background:linear-gradient(135deg, var(--amber), #b97700);color:var(--accent-ink);position:relative}.row.assistant .av:after{content:"";border:1px solid #00000059;border-radius:4px;position:absolute;inset:4px}.bubble{border-radius:14px;max-width:78%;padding:14px 16px;font-size:14.5px;line-height:1.62}.row.user .bubble{color:var(--ink-0);background:linear-gradient(#ffb42e24,#ffb42e14);border:1px solid #ffb42e40;border-bottom-right-radius:4px}.row.assistant .bubble{border:1px solid var(--line);color:var(--ink-1);background:#ffffff08;border-bottom-left-radius:4px}.bubble b{color:var(--ink-0);font-weight:600}.bubble p{margin:0}.bubble p+p{margin-top:10px}.bubble ul{margin:8px 0;padding-left:20px}.bubble ul li{margin:4px 0}.bubble .source{border-top:1px dashed var(--line);font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:6px;margin-top:12px;padding-top:10px;font-size:11px;display:flex}.bubble .source:before{content:"↳";color:var(--violet)}.bubble .pill{color:var(--violet-soft);font-family:var(--font-mono);letter-spacing:.05em;background:#a78bfa24;border:1px solid #a78bfa40;border-radius:4px;margin-right:6px;padding:2px 7px;font-size:10.5px;font-weight:500;display:inline-block}.msg-actions{opacity:0;gap:4px;margin-top:8px;transition:opacity .15s;display:flex}.row.assistant:hover .msg-actions{opacity:1}.msg-action{font-family:var(--font-mono);color:var(--ink-3);border-radius:5px;padding:4px 8px;font-size:10.5px;transition:background .15s,color .15s}.msg-action:hover{color:var(--ink-1);background:#ffffff0d}.thinking-bubble{font-family:var(--font-mono);color:var(--ink-3);background:#a78bfa0d;border:1px dashed #a78bfa38;border-radius:12px;align-items:center;gap:8px;padding:12px 14px;font-size:11.5px;display:inline-flex}.thinking-bubble .spin{border:1.5px solid #a78bfa40;border-top-color:var(--violet);border-radius:50%;width:11px;height:11px;animation:.8s linear infinite spin}.composer-wrap{background:linear-gradient(180deg, transparent, var(--bg-chat) 30%);padding:12px 28px 20px;position:relative}.composer{background:var(--bg-input);border:1px solid var(--line-2);border-radius:14px;max-width:820px;margin:0 auto;padding:4px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px #ffffff0d,0 20px 60px -20px #00000080}.composer:focus-within{border-color:#ffb42e66;box-shadow:inset 0 1px #ffffff0d,0 0 0 3px #ffb42e1a,0 20px 60px -20px #00000080}.composer-input{width:100%;min-height:56px;max-height:200px;color:var(--ink-0);font-family:var(--font-sans);resize:none;background:0 0;border:none;outline:none;padding:16px 18px 8px;font-size:15px;line-height:1.5}.composer-input::placeholder{color:var(--ink-3)}.composer-bar{justify-content:flex-end;align-items:center;gap:10px;padding:6px 8px 6px 12px;display:flex}.composer-right{align-items:center;gap:10px;display:flex}.composer-hint{font-family:var(--font-mono);color:var(--ink-3);font-size:10.5px}.composer-hint kbd{font-family:var(--font-mono);color:var(--ink-1);background:#ffffff0f;border-radius:3px;padding:1px 5px;font-size:10px}.send-btn{background:var(--amber);width:34px;height:34px;color:var(--accent-ink);box-shadow:0 0 0 1px #ffffff40 inset, 0 6px 18px -8px var(--amber-glow);border-radius:8px;place-items:center;transition:transform .12s,background .15s,opacity .15s;display:grid}.send-btn:hover:not(:disabled){background:var(--amber-soft);transform:translateY(-1px)}.send-btn:disabled{opacity:.35;cursor:not-allowed}.composer-foot{text-align:center;max-width:820px;font-family:var(--font-mono);color:var(--ink-3);margin:8px auto 0;font-size:10.5px}@media (max-width:880px){.app{grid-template-columns:1fr}.sb{z-index:50;width:280px;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sb.open{transform:translate(0);box-shadow:0 0 40px #00000080}.sb-toggle{display:inline-grid!important}.scrim{z-index:49;opacity:0;pointer-events:none;background:#00000080;transition:opacity .25s;display:block;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}.main-top{padding:12px 16px}.msgs,.welcome,.composer,.composer-foot{padding-left:16px;padding-right:16px}.composer-wrap{padding:8px 16px 16px}.welcome h1{font-size:28px}.prompt-grid{grid-template-columns:1fr}}.sb-toggle{display:none}
