@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=LXGW+WenKai:wght@300;400;700&display=swap";.sth-container{display:flex;flex-direction:column;gap:6px}.sth-loading,.sth-empty{color:var(--text-tertiary, #666);font-size:13px;text-align:center;padding:16px 0}.sth-task{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden;transition:border-color .15s}.sth-task:hover{border-color:#ffffff1f}.sth-task.failed{border-left:3px solid #e74c3c}.sth-task.completed{border-left:3px solid #2ecc71}.sth-task.paused{border-left:3px solid #f39c12}.sth-task.running{border-left:3px solid #3498db}.sth-task-row{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.sth-task-row:hover{background:#ffffff08}.sth-icon{font-size:16px;flex-shrink:0}.sth-task-info{flex:1;min-width:0}.sth-goal{font-size:13px;color:var(--text-primary, #ddd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sth-meta{font-size:11px;color:var(--text-tertiary, #777);margin-top:2px}.sth-chevron{color:var(--text-tertiary, #555);font-size:12px;flex-shrink:0}.sth-log-panel{border-top:1px solid rgba(255,255,255,.06);background:#05050f66;padding:10px 14px;max-height:500px;overflow-y:auto}.sth-error{background:#e74c3c1f;border:1px solid rgba(231,76,60,.25);border-radius:6px;padding:6px 10px;font-size:12px;color:#e74c3c;margin-bottom:8px;white-space:pre-wrap}.sth-result{background:#2ecc711a;border:1px solid rgba(46,204,113,.2);border-radius:6px;padding:6px 10px;font-size:12px;color:#2ecc71;margin-bottom:8px;white-space:pre-wrap}.sth-summary{background:#b4c8dc1a;border:1px solid rgba(180,200,220,.18);border-radius:6px;padding:6px 10px;font-size:12px;color:#b0c4d8;margin-bottom:8px;white-space:pre-wrap}.sth-log-loading,.sth-log-empty{color:var(--text-tertiary, #555);font-size:12px;text-align:center;padding:10px 0}.sth-log-entry{border-left:2px solid rgba(255,255,255,.08);padding:6px 0 6px 12px;margin-bottom:4px;position:relative}.sth-log-entry:before{content:"";position:absolute;left:-4px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--text-tertiary, #555)}.sth-log-entry.run_cc{border-left-color:#3498db}.sth-log-entry.run_cc:before{background:#3498db}.sth-log-entry.cc_result{border-left-color:#2ecc71}.sth-log-entry.cc_result:before{background:#2ecc71}.sth-log-entry.ask_main{border-left-color:#f39c12}.sth-log-entry.ask_main:before{background:#f39c12}.sth-log-entry.finish{border-left-color:#9b59b6}.sth-log-entry.finish:before{background:#9b59b6}.sth-log-header{display:flex;align-items:center;gap:6px;margin-bottom:3px}.sth-log-label{font-size:11px;font-weight:600;color:var(--text-secondary, #bbb)}.sth-log-time{font-size:10px;color:var(--text-tertiary, #555);margin-left:auto}.sth-log-meta{font-size:10px;color:var(--text-tertiary, #777)}.sth-log-content{font-size:11px;color:var(--text-primary, #ccc);white-space:pre-wrap;word-break:break-word;margin:0;padding:4px 8px;background:#ffffff08;border-radius:4px;max-height:200px;overflow-y:auto;line-height:1.5;font-family:JetBrains Mono,Fira Code,monospace}.sth-exec-toggle{margin:8px 0}.sth-exec-btn{background:#3498db26;border:1px solid rgba(52,152,219,.3);border-radius:6px;padding:5px 14px;color:#5dade2;font-size:12px;cursor:pointer;transition:all .15s}.sth-exec-btn:hover:not(:disabled){background:#3498db40;border-color:#3498db80}.sth-exec-btn:disabled{opacity:.5;cursor:not-allowed}.sth-exec-log{margin-top:8px;display:flex;flex-direction:column;gap:4px}.sth-exec-section{border:1px solid rgba(255,255,255,.06);border-radius:6px;overflow:hidden}.sth-exec-section-header{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--text-secondary, #bbb);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05}.sth-exec-section-header:hover{background:#ffffff0d}.sth-exec-section-chevron{font-size:10px;color:var(--text-tertiary, #555);flex-shrink:0;width:12px}.sth-exec-section-content{font-size:11px;color:var(--text-primary, #ccc);white-space:pre-wrap;word-break:break-word;margin:0;padding:8px 12px;background:#0003;max-height:400px;overflow-y:auto;line-height:1.5;font-family:JetBrains Mono,Fira Code,monospace}.sth-exec-error{background:#e74c3c1f;border:1px solid rgba(231,76,60,.25);border-radius:6px;padding:6px 10px;font-size:12px;color:#e74c3c;white-space:pre-wrap}.sth-exec-stats{font-size:11px;color:var(--text-tertiary, #777);padding:4px 10px;text-align:right}.sth-log-panel{max-height:800px}.task-panel{border-top:1px solid var(--border-color, rgba(255,255,255,.08));background:var(--bg-secondary, rgba(20, 20, 40, .6));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0 16px;font-size:13px;transition:all .2s ease}.task-panel-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:8px 0;color:var(--text-secondary, #aaa);-webkit-user-select:none;user-select:none}.task-panel-header:hover{color:var(--text-primary, #ddd)}.chevron{transition:transform .2s ease;display:inline-block;font-size:14px}.chevron.open{transform:rotate(90deg)}.task-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-color, rgba(255,255,255,.04));animation:taskFadeIn .3s ease}.task-item:last-child{border-bottom:none}@keyframes taskFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.task-icon{font-size:16px;flex-shrink:0}.task-body{flex:1;min-width:0}.task-goal{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary, #ddd);font-size:13px}.task-meta{font-size:11px;color:var(--text-tertiary, #666);margin-top:2px}.task-cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-secondary, #aaa);padding:3px 10px;cursor:pointer;font-size:11px;transition:all .15s ease;flex-shrink:0}.task-cancel-btn:hover{border-color:#e74c3c;color:#e74c3c;background:#e74c3c1a}.task-actions{flex-shrink:0;display:flex;align-items:center;gap:6px}.task-notify-btn{background:#2ecc7126;border:1px solid rgba(46,204,113,.4);border-radius:6px;color:#2ecc71;padding:3px 10px;cursor:pointer;font-size:11px;transition:all .15s ease;white-space:nowrap}.task-notify-btn:hover{background:#2ecc7140;border-color:#2ecc71}.task-notified{font-size:11px;color:var(--text-tertiary, #666);padding:3px 10px}.task-item.completed,.task-item.failed,.task-item.cancelled{opacity:.65}.task-item.completed .task-notify-btn{opacity:1}.task-dismiss-btn{background:transparent;border:none;color:var(--text-tertiary, #666);font-size:16px;line-height:1;cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .15s ease;flex-shrink:0;opacity:.6}.task-dismiss-btn:hover{opacity:1;color:var(--text-secondary, #aaa);background:#ffffff14}.task-log-hint{color:var(--text-tertiary, #555);font-size:10px;margin-left:4px}.task-body:hover .task-log-hint{color:var(--text-secondary, #999)}.task-log-panel{border-top:1px solid rgba(255,255,255,.06);background:#0a0a1980;border-radius:0 0 8px 8px;padding:10px 12px;max-height:420px;overflow-y:auto;animation:taskFadeIn .2s ease}.task-log-header{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary, #aaa);font-size:12px;margin-bottom:8px;font-weight:500}.task-log-close{background:transparent;border:none;color:var(--text-tertiary, #666);font-size:16px;cursor:pointer;padding:0 4px}.task-log-close:hover{color:var(--text-secondary, #aaa)}.task-log-error{background:#e74c3c1f;border:1px solid rgba(231,76,60,.25);border-radius:6px;padding:6px 10px;font-size:12px;color:#e74c3c;margin-bottom:8px}.task-log-result{background:#2ecc711a;border:1px solid rgba(46,204,113,.2);border-radius:6px;padding:6px 10px;font-size:12px;color:#2ecc71;margin-bottom:8px;white-space:pre-wrap}.task-log-loading,.task-log-empty{color:var(--text-tertiary, #555);font-size:12px;text-align:center;padding:12px 0}.task-log-entry{border-left:2px solid rgba(255,255,255,.08);padding:6px 0 6px 12px;margin-bottom:4px;position:relative}.task-log-entry:before{content:"";position:absolute;left:-4px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--text-tertiary, #555)}.task-log-entry.run_cc{border-left-color:#3498db}.task-log-entry.run_cc:before{background:#3498db}.task-log-entry.cc_result{border-left-color:#2ecc71}.task-log-entry.cc_result:before{background:#2ecc71}.task-log-entry.ask_main{border-left-color:#f39c12}.task-log-entry.ask_main:before{background:#f39c12}.task-log-entry.finish{border-left-color:#9b59b6}.task-log-entry.finish:before{background:#9b59b6}.task-log-entry-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.task-log-action-icon{font-size:12px}.task-log-action-label{font-size:11px;font-weight:600;color:var(--text-secondary, #bbb)}.task-log-time{font-size:10px;color:var(--text-tertiary, #555);margin-left:auto}.task-log-meta{font-size:10px;color:var(--text-tertiary, #777);margin-left:6px}.task-log-content{font-size:11px;color:var(--text-primary, #ccc);white-space:pre-wrap;word-break:break-word;margin:0;padding:4px 8px;background:#ffffff08;border-radius:4px;max-height:150px;overflow-y:auto;line-height:1.5;font-family:JetBrains Mono,Fira Code,monospace}.trpg-hub-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.trpg-hub-modal{background:var(--bg-primary, #1e1e2e);border:1px solid var(--border-color, #2a2a35);border-radius:12px;width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #00000080;overflow:hidden}.trpg-hub-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#ffffff08;border-bottom:1px solid var(--border-color, #2a2a35)}.trpg-hub-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #fff);display:flex;align-items:center;gap:8px}.trpg-btn-close{background:none;border:none;color:var(--text-secondary, #8b8b98);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.trpg-btn-close:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.trpg-hub-body{padding:20px;overflow-y:auto;flex:1}.trpg-actions-top{display:flex;justify-content:flex-end;margin-bottom:16px}.trpg-btn-primary{display:flex;align-items:center;gap:8px;background:var(--accent-color, #8b5cf6);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.trpg-btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.trpg-btn-primary:disabled{opacity:.7;cursor:not-allowed}.trpg-btn-secondary{background:#ffffff0d;color:var(--text-primary, #fff);border:1px solid var(--border-color, #2a2a35);padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s}.trpg-btn-secondary:hover{background:#ffffff1a}.trpg-sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.trpg-session-card{background:#ffffff05;border:1px solid var(--border-color, #2a2a35);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:12px}.trpg-session-card.active:hover{border-color:var(--accent-color, #8b5cf6);background:#8b5cf60d;transform:translateY(-2px)}.trpg-session-card.ended{opacity:.6;cursor:default}.trpg-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.trpg-card-title{font-weight:600;font-size:1rem;color:var(--text-primary, #fff);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trpg-card-badge{font-size:.75rem;padding:2px 6px;border-radius:4px;white-space:nowrap}.trpg-card-badge.active{background:#22c55e33;color:#4ade80}.trpg-card-badge.ended{background:#ffffff1a;color:var(--text-secondary, #8b8b98)}.trpg-card-meta{font-size:.8rem;color:var(--text-secondary, #8b8b98);display:flex;align-items:center;gap:4px}.trpg-card-action{margin-top:auto;font-size:.85rem;color:var(--accent-color, #8b5cf6);display:flex;align-items:center;gap:4px;font-weight:500}.trpg-create-view h3{margin-top:0;margin-bottom:20px;font-size:1.1rem;color:var(--text-primary, #fff)}.trpg-form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.trpg-form-group label{font-size:.85rem;color:var(--text-secondary, #8b8b98);font-weight:500}.trpg-form-group input{background:#0003;border:1px solid var(--border-color, #2a2a35);color:var(--text-primary, #fff);padding:10px 12px;border-radius:6px;outline:none;font-size:.95rem}.trpg-form-group input:focus{border-color:var(--accent-color, #8b5cf6)}.trpg-help-text{font-size:.75rem;color:var(--text-secondary, #8b8b98)}.trpg-actions-bottom{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.trpg-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:10px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.trpg-empty,.trpg-loading{text-align:center;color:var(--text-secondary, #8b8b98);padding:40px 0}.trpg-mode-tabs{display:flex;gap:4px;background:#0003;padding:4px;border-radius:8px;margin-bottom:20px}.trpg-mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #8b8b98);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.trpg-mode-tab:hover{color:var(--text-primary, #fff)}.trpg-mode-tab.active{background:var(--accent-color, #8b5cf6);color:#fff;box-shadow:0 2px 8px #8b5cf64d}.trpg-form-group textarea{background:#0003;border:1px solid var(--border-color, #2a2a35);color:var(--text-primary, #fff);padding:10px 12px;border-radius:6px;outline:none;font-size:.95rem;font-family:inherit;resize:vertical;min-height:80px;line-height:1.5}.trpg-form-group textarea:focus{border-color:var(--accent-color, #8b5cf6)}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--border-color: rgba(255, 255, 255, .1);--brand-color: #60a5fa;--brand-color-hover: #3b82f6;--radius-md: 16px;--radius-sm: 8px;--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--sidebar-bg: rgba(15, 23, 42, .5);--topbar-bg: rgba(15, 23, 42, .7);--bottom-nav-bg: rgba(15, 23, 42, .95);--hover-overlay: rgba(255, 255, 255, .08);--popup-shadow: 0 -4px 20px rgba(0, 0, 0, .6);--modal-shadow: 0 16px 48px rgba(0, 0, 0, .5);--input-box-shadow: none;--user-bubble-bg: linear-gradient(135deg, #334155, #3b4a63);--user-bubble-border: rgba(255, 255, 255, .08);--user-bubble-text: var(--text-primary);--link-color: #fbbf24;--link-border: rgba(251, 191, 36, .3);--code-bg: rgba(255, 255, 255, .08);--code-color: #60a5fa;--code-block-bg: #0f172a;--code-block-border: rgba(255, 255, 255, .05);--code-header-bg: #020617;--scrollbar-thumb: rgba(255, 255, 255, .15);--scrollbar-thumb-hover: rgba(255, 255, 255, .25);--c-primary: var(--brand-color);--c-bg: var(--bg-secondary);--c-bg-hover: var(--bg-tertiary);--c-border: var(--border-color);--c-text: var(--text-primary);--c-text-muted: var(--text-secondary);--c-primary-dim: rgba(96, 165, 250, .15);--c-surface: var(--bg-secondary)}html[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--border-color: rgba(0, 0, 0, .08);--brand-color: #3b82f6;--brand-color-hover: #1d4ed8;--bg-gradient: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--sidebar-bg: rgba(255, 255, 255, .6);--topbar-bg: rgba(255, 255, 255, .75);--bottom-nav-bg: rgba(255, 255, 255, .95);--hover-overlay: rgba(0, 0, 0, .05);--popup-shadow: 0 4px 20px rgba(0, 0, 0, .08);--modal-shadow: 0 16px 48px rgba(0, 0, 0, .1);--input-box-shadow: 0 4px 20px rgba(0, 0, 0, .03);--user-bubble-bg: linear-gradient(135deg, #c7d2fe, #a5b4fc);--user-bubble-border: rgba(165, 180, 252, .4);--user-bubble-text: #1e1b4b;--link-color: #2563eb;--link-border: rgba(37, 99, 235, .3);--code-bg: rgba(0, 0, 0, .05);--code-color: #2563eb;--code-block-bg: #f1f5f9;--code-block-border: rgba(0, 0, 0, .06);--code-header-bg: #e2e8f0;--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .25);--c-primary-dim: rgba(59, 130, 246, .15)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg-gradient);color:var(--text-primary);line-height:1.5;height:100%;width:100%;overflow:hidden;position:fixed;overscroll-behavior-y:none}#root{height:100%;width:100%;display:flex;overflow:hidden}.sidebar{width:260px;background-color:var(--sidebar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1rem;gap:1rem}.new-chat-btn{background:var(--brand-color);color:#fff;border:none;padding:10px 16px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease}.new-chat-btn:hover{background:var(--brand-color-hover);transform:translateY(-1px)}.history-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.history-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;color:var(--text-secondary);transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item:hover,.history-item.active{background:var(--bg-tertiary);color:var(--text-primary)}.main-content{flex:1;display:flex;flex-direction:column;height:100vh;position:relative}.topbar{height:60px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 1.5rem;gap:1rem;background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.select-control{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:6px 12px;border-radius:var(--radius-sm);outline:none;font-size:.9rem;cursor:pointer}.chat-container{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.message{display:flex;gap:1rem;max-width:800px;margin:0 auto;width:100%}.message.user{flex-direction:row-reverse}.avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border-color)}.message-ctx{background:var(--bg-secondary);padding:1.2rem 1.5rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);box-shadow:0 2px 10px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.95rem;line-height:1.6}.message.user .message-ctx{background:var(--bg-tertiary);border-top-right-radius:4px}.message.assistant .message-ctx{border-top-left-radius:4px}.message-ctx code{background:#ffffff1a;padding:.2rem .4rem;border-radius:4px;color:#60a5fa;border:1px solid rgba(255,255,255,.05);font-family:Consolas,Monaco,monospace}.message-ctx pre code{background:transparent;padding:0;color:inherit}.message-ctx p{margin-bottom:.5rem}.message-ctx p:last-child{margin-bottom:0}.input-area-wrapper{padding:0 2rem 2rem;max-width:800px;margin:0 auto;width:100%}.input-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:8px;padding:8px 12px;align-items:flex-end;transition:border-color .2s}.input-box:focus-within{border-color:var(--brand-color)}.input-box textarea{flex:1;background:transparent;border:none;color:var(--text-primary);resize:none;outline:none;font-family:inherit;font-size:.95rem;max-height:600px;padding:8px 0}.send-btn{background:var(--brand-color);color:#fff;border:none;width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:4px}.send-btn:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50}.modal-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:400px;padding:1.5rem;display:flex;flex-direction:column;gap:1.2rem}.modal-content h3{font-weight:500;font-size:1.1rem}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;color:var(--text-secondary)}.form-group input[type=text]{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);outline:none}.form-group input[type=range]{margin-top:6px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:1rem}.btn-secondary{background:var(--bg-tertiary);border:none;color:var(--text-primary);padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.admin-root{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-gradient);width:100%}.admin-sidebar{display:none}@media (min-width: 768px){.admin-root{flex-direction:row}.admin-sidebar{display:flex;flex-direction:column;width:220px;background:var(--sidebar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--border-color);padding:1rem;gap:.5rem;flex-shrink:0}}.admin-sidebar-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem}.admin-back-link{display:flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:.8rem;transition:color .2s}.admin-logo{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.admin-sidebar-nav{display:flex;flex-direction:column;gap:2px}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:all .2s}.admin-nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.admin-nav-item.active{background:var(--bg-tertiary);color:var(--text-primary);font-weight:500}.admin-bottom-nav{display:flex;justify-content:space-around;background:var(--bottom-nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border-color);padding:6px 0;padding-bottom:max(6px,env(safe-area-inset-bottom));flex-shrink:0}.admin-bottom-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;color:var(--text-secondary);text-decoration:none;font-size:.65rem;min-width:52px;transition:color .2s}.admin-bottom-item.active{color:var(--brand-color)}@media (min-width: 768px){.admin-bottom-nav{display:none}}.admin-main{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.admin-page{padding:1rem;max-width:960px;margin:0 auto;padding-bottom:80px}@media (min-width: 768px){.admin-page{padding:1.5rem 2rem 2rem}}.admin-page-title{font-size:1.3rem;font-weight:600;margin-bottom:1rem}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.admin-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1rem;margin-bottom:1rem}.admin-card-title{font-size:.9rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem;display:flex;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(5,1fr)}}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:4px}.stat-card-icon{margin-bottom:4px}.stat-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-card-label{font-size:.75rem;color:var(--text-secondary)}.admin-two-col{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 600px){.admin-two-col{grid-template-columns:1fr 1fr}}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.admin-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:4px 10px;border-radius:12px;font-size:.8rem}.admin-tag b{color:var(--text-primary);margin-left:4px}.admin-tag.emotion{background:#8b5cf626;color:#c4b5fd}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;color:var(--text-secondary);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--border-color);white-space:nowrap}.admin-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text-primary)}.level-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;background:#6366f1}.lv-l4{background:#7c3aed}.lv-l3{background:#8b5cf6}.lv-l2{background:#6366f1}.lv-l1{background:#3b82f6}.lv-event{background:#10b981}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;background:var(--bg-tertiary);color:var(--text-secondary)}.emotion-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;background:#8b5cf626;color:#c4b5fd}.level-tabs{display:flex;gap:4px;margin-bottom:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.level-tab{padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.level-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.level-tab.active{background:var(--brand-color);color:#fff;border-color:var(--brand-color)}.level-tab.archive.active{background:#f59e0b;border-color:#f59e0b}.memory-filters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:0 12px;min-width:0;flex:1}.search-box input{background:transparent;border:none;color:var(--text-primary);outline:none;font-size:.85rem;width:100%;padding:8px 0}.search-box svg{color:var(--text-secondary);flex-shrink:0}.admin-select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);font-size:.85rem;outline:none;cursor:pointer}.admin-input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-sm);font-size:.85rem;outline:none;width:100%}.admin-input:focus,.admin-select:focus{border-color:var(--brand-color)}.memory-list{display:flex;flex-direction:column;gap:.5rem}.memory-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.875rem;transition:border-color .2s}.memory-card:hover{border-color:#ffffff26}.memory-card.archived{opacity:.7}.memory-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.5rem}.memory-card-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.memory-card-actions{display:flex;gap:4px;flex-shrink:0}.memory-card-content{font-size:.9rem;color:var(--text-primary);line-height:1.6;margin-bottom:.5rem;word-break:break-word}.memory-card-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--text-secondary);flex-wrap:wrap}.archive-reason{color:#f59e0b;font-style:italic}.admin-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap}.admin-btn.primary{background:var(--brand-color);color:#fff}.admin-btn.primary:hover{background:var(--brand-color-hover)}.admin-btn.primary:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}.admin-btn.secondary{background:var(--bg-tertiary);color:var(--text-primary)}.admin-btn.secondary:hover{background:#ffffff26}.admin-btn.compact{padding:4px 10px;font-size:.78rem}.icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;min-width:32px;min-height:32px}.icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.icon-btn.danger:hover{color:#ef4444;background:#ef44441a}.editor-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;margin:1rem}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-primary);z-index:1}.editor-tabs{display:flex;gap:4px}.editor-tab{padding:6px 14px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.editor-tab.active{background:var(--bg-tertiary);color:var(--text-primary)}.editor-body{padding:1rem}.editor-label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.editor-textarea{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 12px;border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;line-height:1.6;resize:vertical;outline:none;margin-bottom:.75rem}.editor-textarea:focus{border-color:var(--brand-color)}.editor-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}@media (max-width: 480px){.editor-row{grid-template-columns:1fr}}.editor-field{display:flex;flex-direction:column;gap:4px}.editor-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm);color:#fbbf24;font-size:.8rem;margin-bottom:.75rem}.editor-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.version-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:.5rem}.version-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.version-num{font-weight:600;color:var(--brand-color);font-size:.85rem}.version-time{color:var(--text-secondary);font-size:.78rem}.version-reason{color:var(--text-secondary);font-size:.78rem;font-style:italic;margin-bottom:.5rem}.version-content{font-size:.82rem;color:var(--text-primary);background:var(--bg-tertiary);padding:8px 10px;border-radius:4px;white-space:pre-wrap;word-break:break-word;line-height:1.5;font-family:inherit;margin:0}.graph-controls{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.graph-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;height:400px}@media (min-width: 768px){.graph-container{height:500px}}.graph-container canvas{width:100%!important;height:100%!important}.chat-list{display:flex;flex-direction:column;gap:.375rem}.chat-record{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem}.chat-record-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;flex-wrap:wrap}.chat-role-icon{display:flex;align-items:center;color:var(--brand-color)}.chat-role{font-size:.8rem;font-weight:500}.chat-time{font-size:.72rem;color:var(--text-secondary)}.chat-record-content{font-size:.85rem;line-height:1.6;color:var(--text-primary);word-break:break-word;white-space:pre-wrap}.admin-loading{text-align:center;padding:2rem;color:var(--text-secondary)}.admin-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.85rem}.admin-empty{text-align:center;padding:3rem;color:var(--text-secondary);font-size:.9rem}.admin-muted{color:var(--text-secondary);font-size:.8rem}input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--brand-color);cursor:pointer}.v2-chat-root{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg-gradient);overflow:hidden}.v2-layout{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.v2-topbar{display:flex;height:56px;align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid var(--border-color);background:var(--topbar-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-shrink:0;z-index:20}.v2-topbar-left{display:flex;align-items:center;gap:.75rem}.v2-topbar-title{font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.v2-topbar-right{display:flex;align-items:center;gap:4px}@media (max-width: 600px){.v2-topbar{padding:0 8px;gap:8px}.v2-topbar-left{flex:1;min-width:0}.v2-topbar-title{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-topbar-left .v2-select{max-width:80px;padding:4px 6px}.v2-topbar-right{overflow-x:auto;flex-shrink:0;max-width:55%;scrollbar-width:none;-ms-overflow-style:none}.v2-topbar-right::-webkit-scrollbar{display:none}}.v2-select{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:4px 8px;border-radius:6px;font-size:.8rem;outline:none;cursor:pointer;max-width:150px}.v2-life-sharing-btn{background:none;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px;font-size:.9rem;display:flex;align-items:center;gap:4px;transition:all .2s;position:relative}.v2-life-sharing-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:#fff3}.v2-life-sharing-btn.active{border-color:#4ade8066;background:#4ade8014;color:#4ade80}.v2-life-sharing-btn:disabled{opacity:.5;cursor:not-allowed}.life-sharing-pulse{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:ls-pulse 2s ease-in-out infinite;box-shadow:0 0 6px #4ade8099}@keyframes ls-pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.v2-icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;text-decoration:none;font-size:1rem}.v2-icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.v2-chat-area{flex:1;min-height:0;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.v2-loading{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);padding:2rem}.v2-load-more{text-align:center;padding:.5rem}.v2-load-more button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 16px;border-radius:20px;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .2s}.v2-load-more button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.v2-message{max-width:720px;margin:0 auto;width:100%;position:relative;padding:2px 0;z-index:0}.v2-message.menu-open{z-index:50}.v2-message.user{display:flex;flex-direction:column;align-items:flex-end}.v2-message.assistant{display:flex;flex-direction:column;align-items:flex-start}.v2-message-bubble{max-width:85%;padding:.625rem .875rem;border-radius:16px;font-size:.95rem;line-height:1.65;position:relative;z-index:1;word-break:break-word}.v2-message.user .v2-message-bubble{background:var(--user-bubble-bg);border-top-right-radius:4px;border:1px solid var(--user-bubble-border);color:var(--user-bubble-text)}.v2-message.assistant .v2-message-bubble{background:var(--bg-secondary);border-top-left-radius:4px;border:1px solid var(--border-color);box-shadow:0 2px 8px #00000026}.v2-message-text p{margin-bottom:.4rem}.v2-message-text p:last-child{margin-bottom:0}.v2-message-text a{color:var(--link-color);text-decoration:none;border-bottom:1px solid var(--link-border);transition:all .2s}.v2-message-text a:hover{color:#fcd34d;border-bottom-color:#fbbf2499}.v2-message.assistant .proactive-note{background:#fbbf240f;border:1px solid rgba(251,191,36,.15);border-left:3px solid #fbbf24}.v2-message.assistant .proactive-thought{background:#8b5cf60d;border:1px dashed rgba(139,92,246,.2);font-style:italic;opacity:.85}.proactive-indicator{display:block;font-size:.8rem;margin-bottom:4px;font-style:normal}.v2-notif-banner{text-align:center;padding:10px 16px;margin:8px 16px;border-radius:10px;background:linear-gradient(135deg,#6366f11f,#a855f71a);border:1px solid rgba(139,92,246,.2);color:#fffc;font-size:.85rem;cursor:pointer;transition:all .2s}.v2-notif-banner:active{transform:scale(.98);background:linear-gradient(135deg,#6366f133,#a855f72e)}.v2-message-text code{background:var(--code-bg);padding:.15rem .4rem;border-radius:4px;color:var(--code-color);font-family:Consolas,Monaco,monospace;font-size:.88rem}.v2-message-text pre code{background:transparent;padding:0;color:inherit}.code-block-wrapper{margin:.75rem 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #0003}.code-block-header{display:flex;justify-content:space-between;align-items:center;background:var(--code-header-bg);color:var(--text-secondary);padding:6px 14px;font-size:.8rem;font-family:Consolas,Monaco,monospace}.code-copy-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:4px;opacity:.8;transition:opacity .2s}.code-copy-btn:hover{opacity:1}.v2-message-meta{font-size:.7rem;color:var(--text-secondary);opacity:.6;margin-top:2px;padding:0 4px;position:relative;z-index:10}.streaming-dot{display:inline-block;color:var(--brand-color);animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.thinking-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;margin-bottom:8px;border-radius:20px;border:1px solid rgba(139,92,246,.25);background:#8b5cf614;color:#a78bfa;font-size:.8rem;cursor:pointer;transition:all .2s;max-width:100%;overflow:hidden}.thinking-pill:hover:not(.streaming){background:#8b5cf626;border-color:#8b5cf666}.thinking-pill.streaming{cursor:default;animation:thinking-pulse 1.5s ease-in-out infinite}.thinking-pill-icon{flex-shrink:0;font-size:.85rem}.thinking-pill.streaming .thinking-pill-icon{display:inline-block;animation:thinking-spin 1s linear infinite}.thinking-pill-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes thinking-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes thinking-spin{to{transform:rotate(360deg)}}.thinking-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:2rem;animation:thinking-fade-in .2s ease}.thinking-modal{background:var(--bg-secondary, #1e293b);border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:12px;width:100%;max-width:640px;max-height:75vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:thinking-slide-up .25s ease}.thinking-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color, rgba(255,255,255,.1));font-weight:600;font-size:.95rem;color:#a78bfa;flex-shrink:0}.thinking-modal-close{background:none;border:none;color:var(--text-secondary, #94a3b8);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:all .2s}.thinking-modal-close:hover{color:var(--text-primary, #fff);background:#ffffff1a}.thinking-modal-body{padding:1.25rem;overflow-y:auto;font-size:.85rem;color:var(--text-secondary, #94a3b8);line-height:1.7;white-space:pre-wrap;word-break:break-word}@keyframes thinking-fade-in{0%{opacity:0}to{opacity:1}}@keyframes thinking-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 640px){.thinking-modal-backdrop{padding:1rem}.thinking-modal{max-height:80vh}}.tool-call-block{margin-bottom:8px}.tool-call-pill{border-color:#22d3ee40!important;background:#22d3ee14!important;color:#22d3ee!important}.tool-call-pill:hover{background:#22d3ee26!important;border-color:#22d3ee66!important}.tool-call-chevron{flex-shrink:0;transition:transform .2s ease}.tool-call-chevron.rotated{transform:rotate(90deg)}.tool-call-detail{background:#22d3ee0a;border:1px solid rgba(34,211,238,.12);border-radius:8px;padding:10px 12px;margin-top:4px;font-size:.78rem;max-height:300px;overflow-y:auto}.tool-call-item+.tool-call-item{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.tool-call-section{margin-bottom:6px}.tool-call-label{display:inline-block;font-size:.7rem;font-weight:600;color:#22d3ee;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;margin-right:6px}.tool-call-section code{font-size:.75rem;color:#94a3b8;word-break:break-all}.tool-call-result{margin:4px 0 0;padding:8px;background:#0003;border-radius:4px;font-size:.72rem;color:#94a3b8;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;font-family:Consolas,Monaco,monospace}.tool-status{display:flex;align-items:center;gap:6px;padding:6px 10px;margin-top:6px;border-radius:6px;font-size:.82rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.tool-status.loading{color:var(--brand-color)}.tool-status.ok{color:#4ade80}.tool-status.fail{color:#f87171}.tool-icon{font-size:.9rem}.tool-text{flex:1}@keyframes spin{to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}.v2-more-wrap{position:relative;display:inline-flex;margin-left:6px}.v2-more-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0 4px;font-size:1rem;line-height:1;opacity:.35;transition:opacity .15s;vertical-align:middle}.v2-message-meta:hover .v2-more-btn,.v2-more-btn:focus,.v2-more-btn[aria-expanded=true]{opacity:1}@media (hover: none){.v2-more-btn{opacity:.5}}.v2-popup-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.v2-popup-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:4px;box-shadow:var(--popup-shadow);z-index:1000;min-width:130px;white-space:nowrap}.v2-popup-menu button{width:100%;background:none;border:none;color:var(--text-primary);padding:8px 12px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:8px;border-radius:6px;transition:background .15s}.v2-popup-menu button:hover{background:var(--hover-overlay)}.v2-popup-menu button.danger:hover{background:#ef444426;color:#f87171}.v2-edit-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.v2-edit-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;width:100%;max-width:560px;box-shadow:var(--modal-shadow)}.v2-edit-modal h3{margin:0 0 .75rem;font-size:.95rem;color:var(--text-primary)}.v2-edit-modal textarea{width:100%;min-height:120px;max-height:300px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:.75rem;font-size:.9rem;line-height:1.5;resize:vertical;font-family:inherit}.v2-edit-modal textarea:focus{outline:none;border-color:var(--brand-color)}.v2-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:.75rem}.v2-edit-actions button{padding:6px 16px;border-radius:8px;border:none;font-size:.85rem;cursor:pointer;transition:background .15s}.v2-edit-actions .cancel{background:none;color:var(--text-secondary);border:1px solid var(--border-color)}.v2-edit-actions .save{background:var(--brand-color);color:#fff}.v2-input-wrapper{padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));max-width:720px;margin:0 auto;width:100%;flex-shrink:0}.v2-image-previews{display:flex;gap:8px;margin-bottom:8px;overflow-x:auto}.v2-image-preview{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-color)}.v2-image-preview img{width:100%;height:100%;object-fit:cover}.v2-image-preview button{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#000000b3;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.6rem}.v2-file-previews{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.v2-file-chip{display:flex;align-items:center;gap:6px;background:var(--bg-tertiary, rgba(255,255,255,.06));border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:8px;padding:5px 10px;font-size:13px;color:var(--text-secondary);max-width:240px}.file-chip-icon{font-size:16px;flex-shrink:0}.file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.file-chip-size{font-size:11px;opacity:.6;flex-shrink:0}.file-chip-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:4px;opacity:.6;transition:opacity .15s;display:flex;align-items:center}.file-chip-remove:hover{opacity:1}.v2-input-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;display:flex;align-items:flex-end;gap:4px;padding:6px 10px;transition:border-color .2s}.v2-input-box:focus-within{border-color:var(--brand-color)}.v2-input-box.disabled{opacity:.6}.v2-input-box textarea{flex:1;background:transparent;border:none;color:var(--text-primary);resize:none;outline:none;font-family:inherit;font-size:.95rem;max-height:200px;padding:6px 4px;line-height:1.4}.v2-input-box textarea::placeholder{color:var(--text-secondary);opacity:.6}.v2-attach-btn,.v2-send-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;margin-bottom:2px}.v2-attach-btn{color:var(--text-secondary)}.v2-attach-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.v2-send-btn{color:#fff;background:var(--brand-color);border-radius:10px;width:34px;height:34px}.v2-send-btn:hover:not(:disabled){background:var(--brand-color-hover)}.v2-send-btn:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}@media (max-width: 640px){.v2-topbar{padding:0 .75rem;height:48px}.v2-topbar-title{font-size:1rem}.v2-select{max-width:100px;font-size:.75rem;padding:3px 6px}.v2-life-sharing-btn{font-size:.8rem;padding:3px 6px}.v2-chat-area{padding:.8rem;gap:.8rem;min-height:0}.v2-message-bubble{max-width:92%;padding:.75rem 1rem;font-size:.9rem}.v2-input-wrapper{padding:.5rem}}.admin-root{display:flex;width:100vw;height:100vh;overflow:hidden;background:var(--bg-primary);color:var(--text-primary)}.admin-sidebar{width:220px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.admin-sidebar-header{padding:1rem;border-bottom:1px solid var(--border-color)}.admin-back-link{display:flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:.8rem;margin-bottom:.5rem}.admin-back-link:hover{color:var(--text-primary)}.admin-logo{font-size:1rem;font-weight:600;margin:0}.admin-sidebar-nav{padding:.5rem;display:flex;flex-direction:column;gap:2px}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:.85rem;transition:background .15s,color .15s}.admin-nav-item:hover{background:#ffffff0f;color:var(--text-primary)}.admin-nav-item.active{background:#6366f126;color:var(--brand-color)}.admin-main{flex:1;overflow-y:auto;padding:1.5rem}.admin-bottom-nav{display:none}.admin-dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.admin-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem}.admin-card h3{font-size:.8rem;color:var(--text-secondary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.admin-card .value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border-color);font-size:.85rem}.admin-table th{color:var(--text-secondary);font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.admin-table tr:hover td{background:#ffffff08}.admin-form-group{margin-bottom:1rem}.admin-form-group label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}.admin-form-group input,.admin-form-group textarea,.admin-form-group select{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;color:var(--text-primary);font-size:.85rem}.admin-form-group input:focus,.admin-form-group textarea:focus{outline:none;border-color:var(--brand-color)}.admin-btn{padding:6px 16px;border-radius:8px;border:none;font-size:.85rem;cursor:pointer;transition:opacity .15s}.admin-btn-primary{background:var(--brand-color);color:#fff}.admin-btn-danger{background:#dc2626;color:#fff}@media (max-width: 768px){.admin-sidebar{display:none}.admin-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:4px 0;padding-bottom:max(4px,env(safe-area-inset-bottom));z-index:100;justify-content:space-around}.admin-bottom-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.65rem;color:var(--text-secondary);text-decoration:none;padding:4px 8px}.admin-bottom-item.active{color:var(--brand-color)}.admin-main{padding:1rem;padding-bottom:72px}}.entity-side-panel{width:400px;flex-shrink:0;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);padding:20px}@media (max-width: 768px){.entity-side-panel{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}}.surfacing-log-list{display:flex;flex-direction:column;gap:.5rem}.surfacing-log-item{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-sm);padding:.625rem .75rem;transition:border-color .2s}.surfacing-log-item:hover{border-color:#ffffff1a}.surfacing-log-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.surfacing-log-time{font-size:.75rem;color:var(--text-secondary);min-width:80px}.surfacing-log-type{display:inline-block;padding:1px 8px;border-radius:4px;font-size:.7rem;font-weight:500;color:#fff}.surfacing-log-key{font-size:.88rem;font-weight:500;color:var(--text-primary)}.surfacing-log-detail{font-size:.78rem;color:var(--text-secondary);margin-top:4px;padding-left:21px;line-height:1.5;word-break:break-word}.v2-settings-dropdown-wrapper{position:relative}.v2-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.v2-settings-dropdown{position:fixed;top:60px;right:10px;min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:6px;z-index:100;box-shadow:var(--popup-shadow);animation:dropdown-in .15s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.v2-settings-dropdown button,.v2-settings-dropdown a{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;color:var(--text-primary, #e2e8f0);font-size:.88rem;cursor:pointer;border-radius:6px;transition:background .15s;text-decoration:none;white-space:nowrap}.v2-settings-dropdown button:hover,.v2-settings-dropdown a:hover{background:var(--hover-overlay)}.v2-dropdown-divider{height:1px;background:var(--border-color, rgba(255,255,255,.08));margin:4px 8px}.v2-icon-btn.life-active{color:#4ade80;position:relative}.v2-icon-btn .life-sharing-pulse{position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:#4ade80;animation:ls-pulse 2s ease-in-out infinite;box-shadow:0 0 6px #4ade8099}.mps-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:thinking-fade-in .2s ease}.mps-container{background:var(--bg-primary, #0f172a);border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:16px;width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px #00000080;animation:thinking-slide-up .25s ease}.mps-header{display:flex;align-items:center;gap:12px;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color, rgba(255,255,255,.08));flex-shrink:0}.mps-header h3{flex:1;font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0}.mps-header-actions{display:flex;align-items:center;gap:8px}.mps-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:all .2s}.mps-close-btn:hover{color:var(--text-primary);background:#ffffff14}.mps-back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px;display:flex;align-items:center;gap:4px;font-size:.85rem;transition:all .2s}.mps-back-btn:hover{color:var(--text-primary);background:#ffffff14}.mps-body{flex:1;overflow-y:auto;padding:1rem 1.25rem}.mps-loading{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);padding:2rem}.mps-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:8px 12px;border-radius:8px;font-size:.85rem;margin-bottom:1rem}.mps-empty{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.9rem}.mps-provider-grid{display:flex;flex-direction:column;gap:10px}.mps-provider-card{display:flex;align-items:center;gap:14px;padding:1rem;background:var(--bg-secondary, #1e293b);border:1px solid var(--border-color, rgba(255,255,255,.08));border-radius:12px;cursor:pointer;transition:all .2s}.mps-provider-card:hover{border-color:#ffffff2e;background:#1e293be6;transform:translate(2px)}.mps-provider-card:active{transform:scale(.99)}.mps-provider-card-icon{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#6366f126,#a855f71a);display:flex;align-items:center;justify-content:center;color:#a78bfa;flex-shrink:0}.mps-provider-card-info{flex:1;min-width:0}.mps-provider-card-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.mps-provider-card-meta{display:flex;align-items:center;gap:12px;font-size:.78rem;color:var(--text-secondary);margin-bottom:4px}.mps-provider-card-count{display:flex;align-items:center;gap:4px}.mps-provider-card-key{font-size:.75rem;font-family:Consolas,Monaco,monospace}.mps-provider-card-key.configured{color:#4ade80}.mps-provider-card-key.missing{color:#fbbf24}.mps-provider-card-arrow{color:var(--text-secondary);transform:rotate(180deg);flex-shrink:0;opacity:.5;transition:opacity .2s}.mps-provider-card:hover .mps-provider-card-arrow{opacity:1}.mps-add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px dashed rgba(139,92,246,.3);border-radius:8px;background:#8b5cf60f;color:#a78bfa;font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.mps-add-btn:hover{background:#8b5cf61f;border-color:#8b5cf680}.mps-add-btn.small{padding:5px 10px;font-size:.8rem}.mps-section{margin-bottom:1.5rem}.mps-section-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.mps-section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.mps-field{margin-bottom:.875rem}.mps-field.compact{margin-bottom:.5rem}.mps-field label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.mps-field input,.mps-field select{width:100%;background:var(--bg-secondary, #1e293b);border:1px solid var(--border-color, rgba(255,255,255,.1));color:var(--text-primary);padding:9px 12px;border-radius:8px;font-size:.88rem;outline:none;transition:border-color .2s}.mps-field input:focus,.mps-field select:focus{border-color:var(--brand-color, #6366f1)}.mps-hint{color:var(--text-secondary);font-weight:400;font-size:.75rem}.mps-key-hint{color:var(--text-secondary);font-weight:400;font-size:.75rem;margin-left:4px}.mps-key-row{display:flex;gap:6px}.mps-key-row input{flex:1}.mps-key-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:0 10px;border-radius:8px;cursor:pointer;display:flex;align-items:center;transition:all .2s}.mps-key-toggle:hover{color:var(--text-primary);background:#ffffff1a}.mps-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.mps-btn.primary{background:var(--brand-color, #6366f1);color:#fff}.mps-btn.primary:hover{background:var(--brand-color-hover, #4f46e5)}.mps-btn.primary:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}.mps-btn.secondary{background:var(--bg-tertiary, rgba(255,255,255,.08));color:var(--text-primary)}.mps-btn.secondary:hover{background:#ffffff1f}.mps-btn.danger-text{background:none;color:#f87171;font-size:.8rem}.mps-btn.danger-text:hover{background:#f871711a}.mps-btn.small{padding:5px 10px;font-size:.8rem}.mps-type-cards{display:flex;flex-direction:column;gap:8px}.mps-type-card{padding:10px 14px;border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:8px;cursor:pointer;transition:all .2s}.mps-type-card:hover{border-color:#fff3}.mps-type-card.active{border-color:var(--brand-color, #6366f1);background:#6366f114}.mps-type-card-label{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.mps-type-card-desc{font-size:.78rem;color:var(--text-secondary)}.mps-model-list{display:flex;flex-direction:column;gap:6px}.mps-model-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-secondary, #1e293b);border:1px solid var(--border-color, rgba(255,255,255,.06));border-radius:10px;transition:all .2s}.mps-model-item:hover{border-color:#ffffff1f}.mps-model-item.is-default{border-color:#6366f140;background:#6366f10a}.mps-model-info{flex:1;min-width:0}.mps-model-name{font-size:.9rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:8px}.mps-default-badge{font-size:.7rem;padding:1px 6px;border-radius:4px;background:#6366f126;color:#818cf8;font-weight:500}.mps-model-id{font-size:.75rem;color:var(--text-secondary);font-family:Consolas,Monaco,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mps-model-region{font-size:.72rem;color:var(--text-secondary);margin-top:2px}.mps-model-actions{display:flex;gap:4px;flex-shrink:0}.mps-icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px;border-radius:5px;display:flex;align-items:center;transition:all .2s}.mps-icon-btn:hover{background:#ffffff14;color:var(--text-primary)}.mps-icon-btn.danger:hover{color:#f87171;background:#f871711a}.mps-model-edit{width:100%;display:flex;flex-direction:column;gap:6px}.mps-model-edit .mps-field input{padding:6px 10px;font-size:.85rem}.mps-model-edit-actions{display:flex;gap:6px;justify-content:flex-end}.mps-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:thinking-fade-in .15s ease}.mps-modal{background:var(--bg-primary, #0f172a);border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:14px;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:thinking-slide-up .2s ease}.mps-modal.small{max-width:420px}.mps-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--border-color, rgba(255,255,255,.08))}.mps-modal-header h4{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0}.mps-modal-body{padding:1.25rem;overflow-y:auto}.mps-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:.875rem 1.25rem;border-top:1px solid var(--border-color, rgba(255,255,255,.08))}@media (max-width: 640px){.mps-container{border-radius:0;max-height:100%;height:100%}.mps-backdrop{padding:0}.mps-header{flex-wrap:wrap;gap:8px;padding:.875rem 1rem;padding-top:max(.875rem,env(safe-area-inset-top))}.mps-header h3{font-size:.95rem;min-width:0;flex-shrink:1}.mps-header-actions{flex-wrap:wrap;gap:6px}.mps-provider-card{padding:.875rem}.v2-topbar-left .v2-select{max-width:100px;font-size:.75rem}.mps-body{padding:.875rem 1rem}}.billing-time-selector{display:flex;gap:4px;margin-bottom:1rem;align-items:center;flex-wrap:wrap}.billing-date-range{display:flex;gap:8px;align-items:center;margin-left:8px}.billing-date-range input{width:130px}@media (max-width: 600px){.billing-date-range{margin-left:0;margin-top:6px;width:100%}}.journal-card{background:linear-gradient(135deg,#fbbf2414,#f59e0b0a);border:1px solid rgba(251,191,36,.2);border-radius:10px;padding:12px 16px;cursor:pointer;transition:all .2s ease;margin-top:4px}.journal-card:hover{border-color:#fbbf2466;transform:translateY(-1px);box-shadow:0 4px 12px #fbbf241a}.journal-card-title{font-weight:600;font-size:.95rem;color:#fbbf24;margin-bottom:4px}.journal-card-summary{font-size:.85rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal-card-footer{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.75rem;color:var(--text-secondary);opacity:.7}.journal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.journal-modal{background:#fefce8;color:#1c1917;border-radius:12px;width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;overflow:hidden;position:relative}.journal-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(transparent,transparent 31px,rgba(180,160,120,.12) 31px,rgba(180,160,120,.12) 32px);pointer-events:none;border-radius:12px}.journal-modal-header{padding:1.25rem 1.5rem .75rem;border-bottom:1px solid rgba(180,160,120,.2);position:relative;z-index:1}.journal-modal-title{font-family:LXGW WenKai,serif;font-size:1.4rem;font-weight:700;color:#292524;margin-bottom:4px}.journal-modal-meta{font-size:.8rem;color:#78716c}.journal-modal-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;font-family:LXGW WenKai,serif;font-size:1.05rem;line-height:2;color:#1c1917;position:relative;z-index:1}.journal-modal-body p{margin-bottom:.75rem}.journal-modal-body p:last-child{margin-bottom:0}.journal-modal-actions{padding:.75rem 1.5rem;border-top:1px solid rgba(180,160,120,.2);display:flex;justify-content:flex-end;gap:10px;position:relative;z-index:1;background:#fefce8f2}.journal-modal-actions button{padding:8px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.journal-btn-close{background:#e7e5e4;color:#44403c}.journal-btn-close:hover{background:#d6d3d1}.journal-btn-discuss{background:#f59e0b;color:#fff}.journal-btn-discuss:hover{background:#d97706}.journal-attach-preview{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#fbbf241a,#f59e0b0d);border:1px solid rgba(251,191,36,.25);border-radius:8px;padding:8px 12px;margin-bottom:6px}.journal-attach-info{flex:1;min-width:0}.journal-attach-title{font-size:.85rem;font-weight:600;color:#fbbf24;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-attach-hint{font-size:.72rem;color:var(--text-secondary);margin-top:2px}.journal-attach-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:all .2s}.journal-attach-close:hover{background:#ffffff1a;color:var(--text-primary)}.delivery-card{background:linear-gradient(135deg,#6366f114,#8b5cf60a);border:1px solid rgba(99,102,241,.2);border-radius:10px;padding:12px 16px;transition:all .2s ease;margin-top:4px}.delivery-card.clickable{cursor:pointer}.delivery-card.clickable:hover{border-color:#6366f166;transform:translateY(-1px);box-shadow:0 4px 12px #6366f11a}.delivery-card.delivery-failed{background:linear-gradient(135deg,#ef444414,#dc26260a);border-color:#ef444433}.delivery-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.delivery-card-icon{font-size:1.1rem}.delivery-card-title{font-weight:600;font-size:.92rem;color:#818cf8}.delivery-failed .delivery-card-title{color:#fca5a5}.delivery-card-summary{font-size:.85rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.delivery-card-footer{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.75rem;color:var(--text-secondary);opacity:.7}.task-event-card{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:.83rem;color:var(--text-secondary)}.task-event-card.task-event-started{border-color:#34d39933;background:#34d3990a}.task-event-card.task-event-failed{border-color:#ef444433;background:#ef44440a}.task-event-icon{font-size:1rem;flex-shrink:0}.task-event-text{line-height:1.4}.delivery-modal{background:#f8fafc}.delivery-modal .journal-modal-header{border-bottom-color:#6366f126}.delivery-modal .journal-modal-title{color:#1e293b;font-family:inherit}.delivery-modal .journal-modal-body{font-family:inherit;font-size:.95rem;line-height:1.7;color:#1e293b}.delivery-modal .journal-modal-actions{background:#f8fafcf2;border-top-color:#6366f11a}.delivery-modal:before{display:none}.v2-cache-release-btn{opacity:.6;transition:opacity .2s,transform .2s;font-size:1.1rem!important}.v2-cache-release-btn:hover{opacity:1;transform:scale(1.15)}.markdown-body pre{white-space:pre-wrap!important;word-wrap:break-word!important;word-break:break-all!important;overflow-x:auto}.markdown-body code{white-space:pre-wrap!important;word-wrap:break-word!important;word-break:break-all!important}
