:root{--bg:#eef4f9;--bg-page:#eef4f9;--bg-card:#fff;--bg-input:#f2f7fb;--bg-bubble-user:#c8dff2;--bg-bubble-ai:#fff;--bg-tab:#c8dff2;--bg-tab-active:#fff;--text:#2c3e50;--text-muted:#8ca0b3;--text-light:#b0c4d4;--accent:#7db8d8;--accent-hover:#5da0c4;--accent-soft:#d6eafa;--border:#7db8d82e;--border-card:#7db8d840;--shadow:0 2px 8px #64a0c814;--shadow-card:0 4px 16px #64a0c81f;--radius:14px;--radius-sm:8px;--radius-lg:20px;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;--font-mono:"SF Mono", "Fira Code", "Consolas", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#7db8d840;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#7db8d866}.app-layout{background:var(--bg-page);flex-direction:column;max-width:430px;height:100%;margin:0 auto;display:flex;overflow:hidden}.sidebar{z-index:20;border-right:1px solid var(--border-card);width:270px;min-width:270px;box-shadow:var(--shadow-card);background:#fff;flex-direction:column;transition:left .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:-280px;overflow:hidden}.sidebar.open{left:0}.sidebar-overlay{z-index:19;background:#2c3e502e;display:none;position:fixed;inset:0}.sidebar.open~.sidebar-overlay{display:block}.sidebar-header{border-bottom:1px solid var(--border);padding:16px}.sidebar-header h1{color:var(--text);font-size:16px;font-weight:600}.sidebar-header .subtitle{color:var(--text-muted);margin-top:2px;font-size:11px}.sidebar-tabs{border-bottom:1px solid var(--border);display:flex}.sidebar-tabs .tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 0;font-size:13px;transition:color .15s}.sidebar-tabs .tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.new-chat-btn{border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;color:var(--text);cursor:pointer;margin-top:10px;padding:8px;font-size:13px}.session-list{flex:1;padding:8px;overflow-y:auto}.session-item{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:2px;padding:10px 12px;font-size:13px;display:flex}.session-item:hover{background:var(--bg-input)}.session-item.active{background:var(--accent-soft)}.session-item .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.session-item .delete-btn{opacity:0;width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;display:flex}.session-item:hover .delete-btn{opacity:1}.session-item .delete-btn:hover{color:#e55;background:#ff50501a}.memory-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.memory-search{border-bottom:1px solid var(--border);padding:8px}.memory-search-input{border:1px solid var(--border-card);background:var(--bg-card);width:100%;color:var(--text);font-size:12px;font-family:var(--font);border-radius:8px;outline:none;padding:8px 10px}.memory-search-input:focus{border-color:var(--accent)}.memory-search-input::placeholder{color:var(--text-muted)}.memory-actions{gap:4px;padding:0 8px 8px;display:flex}.memory-refresh-btn{border:1px solid var(--border-card);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:11px}.memory-list{flex:1;padding:0 8px 8px;overflow-y:auto}.memory-status{color:var(--text-muted);text-align:center;padding:12px 8px;font-size:12px}.memory-status.error{color:#e55}.memory-empty{text-align:center;color:var(--text-muted);padding:24px 8px;font-size:13px}.memory-empty-hint{opacity:.6;margin-top:4px;font-size:11px}.memory-card{background:var(--bg-card);border:1px solid var(--border-card);box-shadow:var(--shadow);border-radius:10px;align-items:flex-start;gap:6px;margin-bottom:6px;padding:8px 10px;display:flex}.memory-content{color:var(--text);word-break:break-word;flex:1;font-size:12px;line-height:1.5}.memory-delete-btn{width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.memory-card:hover .memory-delete-btn{opacity:1}.memory-delete-btn:hover{color:#e55}.memory-delete-btn:disabled{opacity:.3;cursor:default}.chat-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.page-content{flex:1;min-height:0;overflow-x:hidden}.chat-page{background-image:url(/chat_background.png);background-position:bottom;background-repeat:no-repeat;background-size:cover;flex-direction:column;height:100%;display:flex}.chat-topbar{-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#ffffffd1;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.chat-topbar-title{text-align:center;color:var(--text);flex:1;font-size:17px;font-weight:600}.menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 6px;font-size:20px;line-height:1}.model-select{background:var(--bg-input);color:var(--text);border:1px solid var(--border-card);cursor:pointer;border-radius:8px;outline:none;padding:4px 8px;font-size:11px}.message-list{overflow-anchor:none;flex-direction:column;flex:1;gap:4px;min-height:0;padding:12px 14px;display:flex;overflow:hidden auto}.message-timestamp{text-align:center;color:var(--text-muted);opacity:.75;margin:8px 0 4px;font-size:10px}.message-bubble{border-radius:var(--radius);word-wrap:break-word;max-width:78%;padding:10px 14px;font-size:14px;line-height:1.6}.message-bubble.user{background:var(--bg-bubble-user);color:var(--text);box-shadow:var(--shadow);border-bottom-right-radius:4px;align-self:flex-end}.message-bubble.assistant{background:var(--bg-bubble-ai);border:1px solid var(--border-card);box-shadow:var(--shadow);border-bottom-left-radius:4px;align-self:flex-start}.message-bubble.streaming{border-left:3px solid var(--accent)}.message-bubble p{margin:4px 0}.message-bubble p:first-child{margin-top:0}.message-bubble p:last-child{margin-bottom:0}.message-bubble pre{background:var(--bg-input);border:1px solid var(--border-card);font-size:12px;font-family:var(--font-mono);border-radius:8px;margin:8px 0;padding:10px;overflow-x:auto}.message-bubble code{font-family:var(--font-mono);font-size:.9em}.message-bubble pre code{background:0 0;padding:0}.message-bubble table{border-collapse:collapse;margin:8px 0;font-size:13px}.message-bubble th,.message-bubble td{border:1px solid var(--border-card);padding:6px 10px}.message-bubble th{background:var(--bg-input)}.message-bubble ul,.message-bubble ol{margin:4px 0;padding-left:20px}.message-bubble a{color:var(--accent)}.thinking-block{color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border-card);cursor:pointer;border-radius:10px;align-self:flex-start;max-width:78%;margin-bottom:4px;padding:8px 12px;font-size:12px}.thinking-block summary{font-style:italic}.empty-chat{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.empty-chat .icon{opacity:.3;font-size:40px}.chat-input-area{-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#ffffffd1;flex-shrink:0;padding:10px 14px 14px}.chat-input-wrapper{background:var(--bg-card);border:1.5px solid var(--border-card);box-shadow:var(--shadow);border-radius:22px;align-items:flex-end;gap:8px;padding:8px 10px 8px 14px;transition:border-color .15s;display:flex}.chat-input-wrapper:focus-within{border-color:var(--accent)}.chat-input-wrapper textarea{color:var(--text);font-family:var(--font);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:120px;font-size:14px;line-height:1.4}.chat-input-wrapper textarea::placeholder{color:var(--text-muted)}.attach-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.attach-btn:hover{color:var(--accent)}.mic-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.mic-btn:hover{color:var(--accent)}.mic-btn.listening{color:#fff;background:#e04040;animation:1.2s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 #e0404066}50%{box-shadow:0 0 0 8px #e0404000}}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:background .15s;display:flex}.send-btn:hover{background:var(--accent-hover)}.send-btn:disabled{opacity:.4;cursor:default}.stop-btn{background:#e07070}.stop-btn:hover{background:#c85555}.file-previews{flex-wrap:wrap;gap:8px;padding:0 0 8px;display:flex}.file-preview{background:var(--bg-card);border:1px solid var(--border-card);border-radius:10px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex;position:relative}.file-preview img{object-fit:cover;border-radius:6px;width:40px;height:40px}.file-preview-file{background:var(--bg-input);border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.file-preview-ext{color:var(--text-muted);font-size:10px;font-weight:700;font-family:var(--font-mono)}.file-preview-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.file-preview-remove{border:1px solid var(--border-card);background:var(--bg-card);width:18px;height:18px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:-6px;right:-6px}.file-preview-remove:hover{color:#e55}.message-attachments{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.message-attachments.user{justify-content:flex-end}.message-image-wrapper{border:1px solid var(--border-card);cursor:pointer;border-radius:10px;max-width:220px;overflow:hidden}.message-image{object-fit:cover;width:100%;max-height:280px;display:block}.message-file-chip{background:var(--bg-input);border:1px solid var(--border-card);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.image-lightbox{z-index:100;cursor:pointer;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-lightbox img{object-fit:contain;border-radius:10px;max-width:90vw;max-height:90vh}.image-lightbox-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex;position:absolute;top:16px;right:16px}.tool-calls{flex-direction:column;gap:4px;margin:4px 0;display:flex}.tool-call{background:var(--accent-soft);color:var(--accent-hover);border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:.82rem;display:flex}.tool-call.running{color:#8b7300;background:#fff8e7;animation:1.5s infinite pulse}.tool-call.done{color:#2e7d32;background:#e8f5e9}.tool-call.error{color:#c62828;background:#ffebee}.tool-icon{flex-shrink:0;font-size:.9rem}.tool-label{font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.order-card{border:1px solid var(--border-card);background:#fff;border-radius:14px;margin:8px 0;overflow:hidden}.order-card-header{background:var(--accent-soft);border-bottom:1px solid var(--border-card);align-items:center;gap:8px;padding:10px 14px;display:flex}.order-title{color:var(--text);font-size:.9rem;font-weight:600}.order-card-body{padding:10px 14px}.order-detail{white-space:pre-wrap;word-break:break-word;color:var(--text);background:0 0;margin:0;font-family:inherit;font-size:.82rem;line-height:1.5}.order-card-footer{color:var(--text-muted);background:var(--bg-input);border-top:1px solid var(--border);text-align:center;padding:8px 14px;font-size:.78rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{background:var(--bg-tab);border-radius:20px 20px 0 0;flex-shrink:0;gap:0;padding:6px 10px 10px;display:flex;position:relative}.nav-item{cursor:pointer;color:#5a7fa0;font-family:var(--font);background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:7px 0;font-size:11px;transition:color .15s;display:flex}.nav-item.active{background:var(--bg-tab-active);color:var(--accent-hover);box-shadow:0 2px 8px #64a0c826}.nav-icon{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-icon img{object-fit:contain;width:100%;height:100%}.chat-start-page{background:var(--bg-page);flex-direction:column;justify-content:center;align-items:center;gap:24px;height:100%;padding:40px 24px;display:flex}.chat-start-card{background:var(--bg-card);box-shadow:var(--shadow-card);border:1px solid var(--border-card);border-radius:28px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:300px;padding:32px 28px;display:flex}.chat-start-avatar{object-fit:contain;width:120px;height:120px}.chat-start-name{color:var(--text);font-size:20px;font-weight:600}.chat-open-btn{background:var(--accent);color:#fff;font-size:16px;font-family:var(--font);cursor:pointer;border:none;border-radius:24px;margin-top:8px;padding:12px 48px;transition:background .15s;box-shadow:0 4px 12px #7db8d859}.chat-open-btn:hover{background:var(--accent-hover)}.page-error{text-align:center;color:var(--text-muted);padding:40px 16px}.page-error p{margin-bottom:8px}.page-error-msg{opacity:.6;font-size:12px;font-family:var(--font-mono)}.page-error button{border:1px solid var(--border-card);background:var(--bg-card);color:var(--accent);cursor:pointer;border-radius:8px;margin-top:12px;padding:6px 16px;font-size:13px}.storage-toast{color:#991b1b;z-index:100;background:#fee2e2;border:1px solid #fca5a5;border-radius:12px;align-items:center;gap:8px;max-width:90vw;padding:12px 20px;font-size:14px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000026}.storage-toast-icon{flex-shrink:0;font-size:18px}.data-panel{flex-direction:column;gap:12px;padding:16px;display:flex}.data-stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.data-stat-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.data-stat-label{color:var(--text-muted);margin-bottom:6px;font-size:11px;display:block}.data-stat-value{color:var(--text);font-size:22px;font-weight:700;font-family:var(--font-mono)}.data-section{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.data-section-title{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:600}.data-trend{align-items:flex-end;gap:8px;height:80px;display:flex}.data-trend-col{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.data-trend-val{color:var(--text-muted);font-size:9px;font-family:var(--font-mono)}.data-trend-bar{background:var(--accent);opacity:.7;border-radius:4px 4px 0 0;width:100%;max-width:28px;min-height:4px}.data-trend-label{color:var(--text-muted);font-size:9px}.data-section-subtitle{margin-bottom:8px;font-size:13px;font-weight:600}.data-log-list{flex-direction:column;gap:4px;display:flex}.data-log-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;font-size:11px;display:flex}.data-log-model{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:60px;font-weight:500;overflow:hidden}.data-log-tokens{color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.data-log-cost{color:var(--accent-hover);font-family:var(--font-mono);white-space:nowrap;font-weight:600}.data-log-time{color:var(--text-muted);white-space:nowrap}.settings-page{flex-direction:column;gap:0;display:flex}.settings-profile{background:var(--bg-card);padding:20px 16px 16px}.settings-profile-inner{flex-direction:column;align-items:center;gap:10px;display:flex}.settings-avatars{align-items:center;gap:8px;display:flex}.settings-avatar-sm{border-radius:50%;width:30px;height:30px}.av-df{background:#c8dff2}.av-d9{background:#d4c8f0}.av-b5{background:#f0dcc8}.av-wh{background:#e8e8e8}.settings-avatar-lg{background:linear-gradient(135deg, var(--accent), #b8d4e8);border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;display:flex}.settings-avatar-initial{color:#fff;font-size:24px;font-weight:600}.settings-hi{color:var(--text);font-size:22px;font-weight:700}.settings-account{color:var(--text-muted);font-size:12px}.settings-inputs{width:100%;margin-top:4px}.settings-input-row{align-items:flex-start;gap:8px;display:flex}.settings-input-label{color:var(--text-muted);white-space:nowrap;padding-top:8px;font-size:12px}.settings-input-box{background:var(--bg-input);border:1px solid var(--border-card);border-radius:10px;flex:1;padding:8px 12px}.settings-input-text{color:var(--text);font-size:12px;line-height:1.5}.settings-photos{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.settings-photo{object-fit:cover;border-radius:10px;width:68px;height:68px}.settings-sleep{object-fit:contain;width:100%;max-height:150px;margin-top:4px}.settings-list{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border-card);box-shadow:var(--shadow);margin:12px 16px;overflow:hidden}.settings-item{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:background .12s;display:flex}.settings-item:active{background:var(--bg-input)}.settings-item-icon{background:var(--accent-soft);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.settings-item-icon img{object-fit:contain;width:22px;height:22px}.settings-item-text{flex:1}.settings-item-label{color:var(--text);font-size:15px}.settings-item-sub{color:var(--text-muted);font-size:12px}.settings-item-arrow{color:var(--text-light);flex-shrink:0}.settings-divider{background:var(--border);height:1px;margin:0 16px}.subpage{flex-direction:column;height:100%;display:flex}.subpage-header{border-bottom:1px solid var(--border);background:#ffffffe6;align-items:center;gap:12px;padding:14px 16px;display:flex}.subpage-back{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 4px;font-size:24px;line-height:1;display:flex}.subpage-title{color:var(--text);font-size:17px;font-weight:600}.subpage-body{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.setting-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.setting-card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:12px;font-size:13px;font-weight:600}.setting-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.setting-row:last-child{border-bottom:none;padding-bottom:0}.setting-row-label{color:var(--text);font-size:14px}.setting-row-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.setting-toggle{flex-shrink:0;width:44px;height:26px;position:relative}.setting-toggle input{opacity:0;width:0;height:0}.setting-toggle-slider{cursor:pointer;background:#d8e8f0;border-radius:13px;transition:background .2s;position:absolute;inset:0}.setting-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000026}.setting-toggle input:checked+.setting-toggle-slider{background:var(--accent)}.setting-toggle input:checked+.setting-toggle-slider:before{transform:translate(18px)}.theme-swatches{gap:10px;margin-top:4px;display:flex}.theme-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:36px;height:36px;transition:border-color .15s}.theme-swatch.active{border-color:var(--accent)}.about-illus{object-fit:contain;width:80px;height:80px;margin:0 auto 4px;display:block}.about-name{text-align:center;color:var(--text);font-size:20px;font-weight:700}.about-ver{text-align:center;color:var(--text-muted);margin-top:2px;font-size:12px}.calendar-page{flex-direction:column;gap:0;padding:16px;display:flex;overflow-y:auto}.calendar-section{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:14px}.cal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-nav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:16px}.cal-nav-btn:hover{color:var(--text);background:var(--bg-input)}.cal-month-label{color:var(--text);font-size:15px;font-weight:600}.cal-dow-row{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.cal-dow{color:var(--text-muted);text-align:center;padding:2px 0;font-size:10px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-cell{aspect-ratio:1;color:var(--text);background:var(--bg-input);cursor:default;border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:flex;position:relative}.cal-cell.empty{background:0 0}.cal-cell.today{outline:2px solid var(--accent);font-weight:700}.cal-row-bottom{gap:12px;margin-bottom:12px;display:flex}.cal-illus-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow);flex:1;justify-content:center;align-items:center;min-height:90px;padding:12px;display:flex;overflow:hidden}.cal-illus{object-fit:contain;width:100%;max-height:80px}.cal-with-you{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;min-width:90px;padding:14px 18px;display:flex}.with-you-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.with-you-num{color:var(--accent);font-size:36px;font-weight:700;font-family:var(--font-mono);line-height:1.1}.cal-memories-section{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.cal-memories-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;font-size:13px;font-weight:600}.cal-memory-item{border-bottom:1px solid var(--border);color:var(--text);gap:8px;padding:8px 0;font-size:13px;line-height:1.5;display:flex}.cal-memory-item:last-child{border-bottom:none}.cal-memory-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px}.cal-placeholder{color:var(--text-muted);text-align:center;padding:16px 0;font-size:13px}.hljs{background:var(--bg-input)!important;color:var(--text)!important}.message-row{align-items:flex-start;gap:8px;margin-bottom:16px;display:flex}.message-row.user{flex-direction:row-reverse}.message-row.assistant{flex-direction:row}.msg-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.message-content-col{flex-direction:column;gap:5px;min-width:0;max-width:calc(100% - 46px);display:flex}.message-row.user .message-content-col{align-items:flex-end}.message-row.assistant .message-content-col{align-items:flex-start}.msg-meta-text{flex-direction:column;gap:1px;display:flex}.message-row.user .msg-meta-text{align-items:flex-end}.message-row.assistant .msg-meta-text{align-items:flex-start}.msg-name{color:var(--text-muted);font-size:12px;font-weight:500}.msg-time{color:var(--text-light);font-size:10px}.message-bubble{border-radius:var(--radius);word-wrap:break-word;color:var(--text);max-width:100%;padding:10px 14px;font-size:14px;line-height:1.6;display:inline-block}.message-bubble.user{background:var(--bg-bubble-user);box-shadow:var(--shadow);border-bottom-right-radius:4px}.message-bubble.assistant{background:var(--bg-bubble-ai);border:1px solid var(--border-card);box-shadow:var(--shadow);border-bottom-left-radius:4px}
