@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Lora:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#20201e;--surface:#2a2a28;--surface-hover:#323230;--border:#ffffff12;--border-input:#ffffff1a;--text:#e8e8e6;--text-dim:#7a7a78;--text-faint:#484846;--white:#fff;--icon-bar-w:48px;--history-w:240px;--font:"Inter", system-ui, sans-serif;--font-serif:"Lora", Georgia, serif}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}textarea,input{font-family:inherit}.ghost-wrap:hover .ghost-eyes{animation:2.4s ease-in-out infinite look-around}@keyframes look-around{0%,16.6%,to{transform:translate(-1.5px)}25%,41.6%{transform:translate(1.5px)}50%,66.6%{transform:translateY(-1.5px)}75%,91.6%{transform:none}}.app{background:var(--bg);height:100dvh;display:flex;overflow:hidden}.icon-bar{width:var(--icon-bar-w);min-width:var(--icon-bar-w);z-index:100;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:12px 0;display:flex}.ib-btn{width:36px;height:36px;color:var(--text-dim);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.ib-btn:hover{color:var(--text);background:#ffffff12}.ib-spacer{flex:1}.history-panel{flex-direction:column;flex-shrink:0;width:0;min-width:0;transition:width .22s;display:flex;overflow:hidden}.history-panel.open{width:var(--history-w);border-right:1px solid var(--border)}.history-inner{width:var(--history-w);min-width:var(--history-w);flex-direction:column;height:100%;display:flex;overflow:hidden}.hp-top{flex-shrink:0;padding:12px 12px 0}.hp-name{color:var(--text);letter-spacing:-.01em;align-items:center;height:38px;margin:0;font-size:18px;font-weight:600;display:flex}.hp-new{border:1px solid var(--border-input);width:100%;height:36px;color:var(--text-dim);font-family:var(--font);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:14px;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:flex}.hp-new:hover{color:var(--text);background:#ffffff0a;border-color:#ffffff26}.hp-section{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);flex-shrink:0;padding:14px 12px 6px;font-size:11px;font-weight:600}.chat-list{scrollbar-width:thin;scrollbar-color:#ffffff0d transparent;flex:1;padding:0 12px;overflow-y:auto}.chat-list-empty{color:var(--text-faint);text-align:center;margin-top:16px;font-size:12.5px}.chat-item{cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:4px;min-width:0;padding:7px 6px;transition:background .12s;display:flex}.chat-item:hover{background:#ffffff0d}.chat-item.active{background:#ffffff14}.chat-item-title{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;transition:color .12s;overflow:hidden}.chat-item:hover .chat-item-title,.chat-item.active .chat-item-title{color:var(--text)}.chat-item-actions{flex-shrink:0;gap:1px;display:none}.chat-item:hover .chat-item-actions,.chat-item.active .chat-item-actions{display:flex}.ci-btn{width:22px;height:22px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:color .12s,background .12s;display:flex}.ci-btn:hover{color:var(--text);background:#ffffff14}.ci-btn.del:hover{color:#ef4444}.main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.chat-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:21px 20px 10px;display:flex}.chat-header-title{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.header-ghost{width:20px;height:20px;color:var(--text-dim);opacity:.4}.home{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:32px 20px 60px;display:flex}.home-greeting{align-items:center;gap:14px;display:flex}.home-ghost{width:36px;height:36px;color:var(--text);opacity:.85}.home-title{font-family:var(--font-serif);color:var(--text);letter-spacing:-.01em;margin:0;font-size:36px;font-weight:400;line-height:1}.input-card{background:var(--surface);border:1px solid var(--border-input);border-radius:16px;flex-direction:column;gap:10px;width:100%;max-width:680px;padding:16px 16px 12px;transition:border-color .15s;display:flex}.input-card:focus-within{border-color:#ffffff29}.input-field{color:var(--text);font-family:var(--font);resize:none;scrollbar-width:thin;background:0 0;border:none;outline:none;width:100%;min-height:24px;max-height:240px;font-size:15px;line-height:1.55;overflow-y:auto}.input-field::placeholder{color:var(--text-faint)}.input-field:disabled{opacity:.6}.input-footer{justify-content:flex-end;align-items:center;display:flex}.send-btn{background:var(--white);width:32px;height:32px;color:var(--bg);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.send-btn:disabled{opacity:.2;cursor:default}.send-btn:not(:disabled):hover{opacity:.82}.send-btn.stop{color:var(--text);background:#ffffff1a}.send-btn.stop:hover{opacity:1;background:#ffffff26}.chat-input-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:7px;padding:10px 20px 14px;display:flex}.chat-disclaimer{color:var(--text-faint);text-align:center;font-size:11px}.messages{scrollbar-width:thin;scrollbar-color:#ffffff0d transparent;flex:1;padding:24px 0 8px;overflow-y:auto}.msg-row{width:100%;max-width:760px;margin:0 auto 20px;padding:0 24px}.msg-user-inner{justify-content:flex-end;display:flex}.user-msg-wrap{flex-direction:column;align-items:flex-end;gap:5px;max-width:80%;display:flex}.user-bubble{background:var(--surface);color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:20px 20px 4px;padding:11px 18px;font-size:15px;line-height:1.6}.user-actions{opacity:0;align-items:center;gap:2px;transition:opacity .15s;display:flex}.msg-user-inner:hover .user-actions{opacity:1}.time-label{color:var(--text-faint);cursor:default;padding:0 4px;font-size:11px;position:relative}.time-label:after{content:attr(data-tooltip);white-space:nowrap;color:var(--text);pointer-events:none;opacity:0;z-index:20;background:#1c1c1cf7;border:1px solid #ffffff1a;border-radius:6px;padding:4px 9px;font-size:12px;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);right:0}.time-label:hover:after{opacity:1}.user-edit-wrap{flex-direction:column;align-items:flex-end;gap:8px;width:100%;max-width:560px;display:flex}.user-edit-area{background:var(--surface);width:100%;font-family:var(--font);color:var(--text);resize:none;border:1px solid #ffffff2e;border-radius:16px 16px 4px;outline:none;min-height:48px;max-height:240px;padding:11px 18px;font-size:15px;line-height:1.6;overflow-y:auto}.user-edit-btns{gap:6px;display:flex}.ue-btn{font-family:var(--font);cursor:pointer;border:none;border-radius:8px;padding:5px 14px;font-size:13px;font-weight:500;transition:opacity .15s}.ue-cancel{color:var(--text-dim);background:#ffffff14}.ue-save{background:var(--white);color:var(--bg)}.ue-cancel:hover{opacity:.75}.ue-save:hover{opacity:.82}.msg-ai-inner{gap:14px;display:flex}.ai-icon{width:20px;height:20px;color:var(--text-dim);opacity:.6;flex-shrink:0;margin-top:3px}.ai-body{flex:1;min-width:0}.ai-content{color:var(--text);word-break:break-word;margin-bottom:10px;font-size:15px;line-height:1.7}.ai-content p{margin:0 0 .75em}.ai-content p:last-child{margin-bottom:0}.ai-content h1,.ai-content h2,.ai-content h3,.ai-content h4,.ai-content h5,.ai-content h6{color:var(--text);margin:1em 0 .4em;font-weight:600;line-height:1.3}.ai-content h1{font-size:1.35em}.ai-content h2{font-size:1.2em}.ai-content h3{font-size:1.05em}.ai-content ul,.ai-content ol{margin:.4em 0 .75em 1.4em;padding:0}.ai-content li{margin-bottom:.2em}.ai-content strong{color:var(--text);font-weight:600}.ai-content em{font-style:italic}.ai-content a{color:#60a5fa;text-decoration:underline}.ai-content a:hover{opacity:.8}.ai-content blockquote{color:var(--text-dim);border-left:3px solid #ffffff26;margin:.6em 0;padding:.2em 0 .2em 1em}.ai-content code{background:#ffffff14;border-radius:4px;padding:.15em .4em;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.875em}.ai-content pre{scrollbar-width:thin;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;margin:.6em 0 .9em;padding:14px 16px;overflow-x:auto}.ai-content pre code{color:var(--text);background:0 0;padding:0;font-size:13.5px;line-height:1.6}.ai-content hr{border:none;border-top:1px solid #ffffff1a;margin:1em 0}.ai-content table{border-collapse:collapse;width:100%;margin:.6em 0 .9em;font-size:14px}.ai-content th,.ai-content td{text-align:left;border:1px solid #ffffff1a;padding:6px 12px}.ai-content th{background:#ffffff0d;font-weight:600}.ai-actions{gap:2px;margin-top:4px;display:flex}.action-btn{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.action-btn:hover{color:var(--text-dim);background:#ffffff0f}.action-btn.copied{color:#4ade80}.cursor{background:var(--text-dim);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.overlay{z-index:99;background:#0000008c;display:none;position:fixed;inset:0}@media (width<=768px){.history-panel{top:0;left:var(--icon-bar-w);height:100dvh;transform:translateX(calc(-100% - var(--icon-bar-w)));background:var(--bg);z-index:100;transition:transform .22s;position:fixed;box-shadow:4px 0 20px #00000080;width:var(--history-w)!important}.history-panel.open{border-right:1px solid var(--border);transform:translate(0)}.overlay{display:block}.home{padding:24px 14px 48px}.home-title{font-size:28px}.input-card{border-radius:14px;padding:14px 14px 10px}.msg-row{margin-bottom:16px;padding:0 14px}.user-bubble{max-width:90%}.chat-input-wrap{padding:8px 12px 12px}}
