:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--accent-color: #38bdf8;--accent-gradient: linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);--glass-bg: rgba(15, 23, 42, .6);--glass-border: rgba(255, 255, 255, .08);--text-primary: #f8fafc;--text-secondary: #94a3b8;--bubble-assistant: rgba(30, 41, 59, .7);--bubble-user: var(--accent-gradient);--input-bg: rgba(15, 23, 42, .8);--shadow-premium: 0 10px 25px -5px rgba(0, 0, 0, .3), 0 8px 10px -6px rgba(0, 0, 0, .3);--danger-color: #f87171;--warning-color: #fbbf24;--success-color: #4ade80;--bookmark-active: var(--accent-color);--entry-hover-bg: rgba(255, 255, 255, .05);--entry-bg: rgba(255, 255, 255, .03);--entry-border: rgba(255, 255, 255, .06);--entry-expanded-border: rgba(255, 255, 255, .08);--btn-border: rgba(255, 255, 255, .15);--confirm-overlay-bg: rgba(0, 0, 0, .7)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--accent-color: #0284c7;--accent-gradient: linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .08);--text-primary: #0f172a;--text-secondary: #475569;--bubble-assistant: rgba(255, 255, 255, .95);--bubble-user: var(--accent-gradient);--input-bg: rgba(255, 255, 255, .9);--shadow-premium: 0 10px 30px -5px rgba(0, 0, 0, .08), 0 4px 12px -4px rgba(0, 0, 0, .1);--danger-color: #dc2626;--warning-color: #d97706;--success-color: #16a34a;--bookmark-active: var(--accent-color);--entry-hover-bg: rgba(0, 0, 0, .04);--entry-bg: rgba(0, 0, 0, .02);--entry-border: rgba(0, 0, 0, .06);--entry-expanded-border: rgba(0, 0, 0, .08);--btn-border: rgba(0, 0, 0, .12);--confirm-overlay-bg: rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:background-color .3s,color .3s,border-color .3s}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100vh;height:100dvh;display:flex;overflow:hidden;position:relative}.bg-mesh{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;background:var(--bg-primary)}.bg-mesh{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 20%,var(--accent-color) 0%,transparent 50%),radial-gradient(ellipse at 85% 80%,#818cf8 0%,transparent 50%);opacity:.15}.app-container{width:100%;max-width:100%;margin:0 auto;display:flex;flex-direction:column;height:100%;position:relative}.glass-header{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:1rem 1.5rem;z-index:10}.header-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%}.header-left{position:relative;display:flex;align-items:center;justify-content:flex-start;min-width:0}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.header-content h1{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;text-align:center;white-space:nowrap;padding:.4rem 1rem;border-radius:12px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.mode-toggle-btn{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.mode-toggle-btn:hover{transform:scale(1.05)}.mode-toggle-btn:active{transform:scale(.98)}.mode-toggle-btn:after{content:"↻";position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-size:.9rem;opacity:0;transition:opacity .3s ease;color:var(--accent-color)}.mode-toggle-btn:hover:after{opacity:.7}[data-theme=light] .mode-toggle-btn:hover:after{opacity:.9}.header-content h1[data-mode=normal]{background:linear-gradient(135deg,#38bdf826,#818cf826);border:1px solid rgba(56,189,248,.3);color:var(--text-primary);box-shadow:0 4px 12px #38bdf826,inset 0 1px #ffffff1a}[data-theme=light] .header-content h1[data-mode=normal]{background:linear-gradient(135deg,#0ea5e91f,#6366f11f);border:1px solid rgba(14,165,233,.35);box-shadow:0 4px 12px #0ea5e91f,inset 0 1px #fff9}.header-content h1[data-mode=feynman]{background:linear-gradient(135deg,#fb923c2e,#f472b62e);border:1px solid rgba(251,146,60,.35);color:var(--text-primary);box-shadow:0 4px 12px #fb923c33,inset 0 1px #ffffff1a;animation:feynman-glow 2s ease-in-out infinite}[data-theme=light] .header-content h1[data-mode=feynman]{background:linear-gradient(135deg,#f9731626,#db277726);border:1px solid rgba(249,115,22,.4);box-shadow:0 4px 12px #f9731626,inset 0 1px #fff9}@keyframes feynman-glow{0%,to{box-shadow:0 4px 12px #fb923c33,inset 0 1px #ffffff1a}50%{box-shadow:0 6px 20px #fb923c4d,inset 0 1px #ffffff26}}.header-content h1:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle;transition:all .4s ease}.header-content h1[data-mode=normal]:before{background:linear-gradient(135deg,#38bdf8,#818cf8);box-shadow:0 0 8px #38bdf899}[data-theme=light] .header-content h1[data-mode=normal]:before{background:linear-gradient(135deg,#0ea5e9,#6366f1);box-shadow:0 0 8px #0ea5e980}.header-content h1[data-mode=feynman]:before{background:linear-gradient(135deg,#fb923c,#f472b6);box-shadow:0 0 10px #fb923cb3;animation:pulse-dot 2s ease-in-out infinite}[data-theme=light] .header-content h1[data-mode=feynman]:before{background:linear-gradient(135deg,#f97316,#db2777);box-shadow:0 0 10px #f9731699}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.user-profile{display:inline-flex;align-items:center;gap:.55rem;padding:3px 10px 3px 3px;border-radius:9999px;background:#ffffff0f;border:1px solid var(--border-color, rgba(255, 255, 255, .12));max-width:170px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}.user-profile:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.user-profile:active{transform:translateY(0) scale(.98)}.user-profile:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.user-avatar-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.user-avatar-badge{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-light, rgba(36, 129, 204, .15));color:var(--primary, #2481cc);font-weight:700;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.15);box-shadow:0 1px 3px #0000001a}.user-avatar-badge .avatar-img{width:100%;height:100%;object-fit:cover;display:block}.user-avatar-badge .avatar-emoji{font-size:.95rem;line-height:1;display:flex;align-items:center;justify-content:center}.user-avatar-badge .avatar-initial{font-size:.75rem;font-weight:700;line-height:1}.user-avatar-badge .avatar-fallback-icon{font-size:.75rem;color:var(--text-secondary)}.status-dot{position:absolute;bottom:-1px;right:-1px;width:9px;height:9px;border-radius:50%;flex-shrink:0;border:2px solid var(--bg-primary, #0f172a);z-index:2;transition:background-color .3s ease,border-color .3s ease}[data-theme=light] .status-dot{border-color:var(--bg-primary, #f8fafc)}.status-dot.connected{background:#22c55e;box-shadow:0 0 6px #22c55eb3}.status-dot.reconnecting{background:#eab308;box-shadow:0 0 6px #eab308b3;animation:pulse-yellow 1.5s ease-in-out infinite}.status-dot.disconnected{background:#ef4444;box-shadow:0 0 6px #ef4444b3;animation:pulse-red 2s ease-in-out infinite}@keyframes pulse-yellow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes pulse-red{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.user-profile-meta{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:1px}.user-display-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.status-text{font-size:.6875rem;color:var(--text-secondary);line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-text.disconnected{color:#ef4444;font-weight:600}.status-text.disconnected:after{content:" · Tap";font-weight:400;opacity:.8}.avatar-role-badge{position:absolute;top:-4px;right:-4px;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--bg-primary, #0f172a);box-shadow:0 1px 4px #00000040;z-index:2;pointer-events:none;font-size:8.5px}[data-theme=light] .avatar-role-badge{border-color:var(--bg-primary, #f8fafc)}.avatar-role-admin{background:linear-gradient(135deg,#38bdf8,#2481cc);color:#fff;box-shadow:0 1px 4px #2481cc59}.avatar-role-badge i{font-size:7.5px;line-height:1;display:flex;align-items:center;justify-content:center}.user-profile-dropdown{position:absolute;top:calc(100% + 10px);left:0;width:260px;background:var(--bg-secondary, #1e293b);border:1px solid var(--glass-border, rgba(255, 255, 255, .12));border-radius:16px;box-shadow:0 12px 32px #00000059,0 4px 12px #0003;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1rem;z-index:100;transform-origin:top left;animation:popover-fade-in .2s cubic-bezier(.16,1,.3,1)}[data-theme=light] .user-profile-dropdown{background:#fffffff5;border-color:#00000014;box-shadow:0 12px 32px #0000001f,0 4px 12px #0000000f}@keyframes popover-fade-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.popover-profile-card{display:flex;align-items:center;gap:.75rem}.popover-avatar-wrap{flex-shrink:0}.popover-avatar-badge{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-light, rgba(36, 129, 204, .15));color:var(--primary, #2481cc);font-weight:700;overflow:hidden;flex-shrink:0;border:1.5px solid rgba(255,255,255,.15);box-shadow:0 2px 6px #00000026}.popover-avatar-badge .avatar-img{width:100%;height:100%;object-fit:cover;display:block}.popover-avatar-badge .avatar-emoji{font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center}.popover-avatar-badge .avatar-initial{font-size:1.1rem;font-weight:700}.popover-avatar-badge .avatar-fallback-icon{font-size:1.1rem;color:var(--text-secondary)}.popover-user-meta{display:flex;flex-direction:column;min-width:0;gap:3px;flex:1}.popover-name-row{display:flex;align-items:center;gap:.4rem}.popover-user-name{font-size:.95rem;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-role-tag{font-size:.6875rem;font-weight:600;padding:1px 6px;border-radius:9999px;line-height:1.3;letter-spacing:.02em;flex-shrink:0}.popover-role-admin{background:linear-gradient(135deg,#38bdf8,#2481cc);color:#fff;box-shadow:0 1px 4px #38bdf859}.popover-role-user{background:#ffffff1a;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}[data-theme=light] .popover-role-user{background:#0000000f;color:var(--text-secondary);border-color:#00000014}.popover-user-email{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-divider{height:1px;background:var(--glass-border, rgba(255, 255, 255, .08));margin:.85rem 0}[data-theme=light] .popover-divider{background:#0000000f}.popover-actions{display:flex;flex-direction:column;gap:.35rem}.popover-action-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));background:#ffffff0a;color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.popover-action-btn i{font-size:.85rem;color:var(--accent-color);margin-left:.5rem}.popover-action-btn:hover{background:#38bdf81f;border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-1px)}.popover-action-btn:active{transform:translateY(0)}.chat-messages{position:relative;flex:1;overflow-y:auto;overflow-anchor:none;padding:clamp(1rem,3vw,2rem) clamp(.75rem,2vw,1.5rem);display:flex;flex-direction:column;gap:clamp(1rem,2.5vw,1.5rem);max-width:100%}.message-wrapper{display:flex;gap:clamp(.6rem,1.5vw,.85rem);max-width:min(85%,800px);min-width:0;animation:message-appear .4s cubic-bezier(.16,1,.3,1) forwards}.message-wrapper.no-anim{animation:none!important}@keyframes message-appear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message-wrapper.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:clamp(32px,5vw,38px);height:clamp(32px,5vw,38px);border-radius:clamp(10px,2vw,14px);background:var(--glass-bg);display:flex;align-items:center;justify-content:center;font-size:clamp(.6rem,1.2vw,.7rem);font-weight:700;border:1px solid var(--glass-border);flex-shrink:0;box-shadow:var(--shadow-premium)}.user .message-avatar{background:var(--accent-gradient);color:#fff}.message-bubble{padding:clamp(.8rem,2vw,1rem) clamp(1rem,2.5vw,1.25rem);border-radius:clamp(1.1rem,2vw,1.4rem);font-size:clamp(.875rem,2.2vw,.95rem);line-height:1.6;position:relative;box-shadow:var(--shadow-premium);display:flex;flex-direction:column;max-width:100%;min-width:0;overflow-wrap:break-word;word-wrap:break-word;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.message-bubble.selection-enabled,.message-bubble.selection-enabled *{user-select:text!important;-webkit-user-select:text!important;-webkit-touch-callout:default!important}.assistant .glass-bubble{background:var(--bubble-assistant);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-top-left-radius:.3rem}.user .message-bubble{background:var(--bubble-user);color:#fff;border-top-right-radius:.3rem}.message-content{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;font-size:inherit}.message-content p,.message-content li,.message-content span{font-size:inherit}.message-content h1,.message-content h2,.message-content h3{font-size:clamp(1rem,2.5vw,1.2rem);margin:.75rem 0 .5rem}.message-content code{font-size:clamp(.8rem,2vw,.9rem)}.message-content em{color:#1a56db;font-size:clamp(.75rem,1.8vw,.82rem);display:block;font-weight:700;font-style:italic;opacity:.9}.user .message-content{white-space:pre-wrap}.reasoning-block{font-size:clamp(.8rem,2vw,.85rem);color:var(--text-secondary);background:#0000001a;padding:clamp(.6rem,1.5vw,.75rem);border-radius:clamp(.6rem,1.5vw,.75rem);margin-bottom:clamp(.6rem,1.5vw,.75rem);border-left:2px solid var(--accent-color)}.message-bottom-row{display:flex;align-items:center;justify-content:flex-end;align-self:flex-end;gap:6px;margin-top:.4rem}.message-bottom-row .message-time{margin-top:0;align-self:auto}.message-time{font-size:clamp(.65rem,1.5vw,.7rem);opacity:.6;margin-top:.4rem;align-self:flex-end;font-weight:400}.user .message-time{color:#ffffffd9}[data-theme=light] .assistant .message-time{color:var(--text-secondary)}.message-footer{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:8px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.12);font-size:.68rem;line-height:1.3;color:#ffffff8c}[data-theme=light] .message-footer{border-top:1px dashed rgba(0,0,0,.08);color:#00000080}.footer-tag{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.tag-icon{display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:.7rem;line-height:1}.glass-footer{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:1rem 1.5rem}.input-wrapper{display:flex;align-items:flex-end;gap:.75rem;background:var(--input-bg);padding:.5rem;border-radius:1.5rem;border:1px solid var(--glass-border);max-width:768px;margin:0 auto}textarea{flex:1;background:transparent;border:none;color:var(--text-primary);padding:6px 8px;font-family:inherit;font-size:.95rem;line-height:24px;resize:none;outline:none;max-height:150px;min-height:36px;height:36px;overflow-y:hidden;box-sizing:border-box}textarea::placeholder{color:var(--text-secondary);opacity:.7;line-height:inherit}.icon-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.primary-btn{background:var(--accent-gradient);color:#fff}#send-btn.is-aborting{background:linear-gradient(135deg,#38bdf82e,#818cf838);color:var(--accent-color);border:1px solid rgba(56,189,248,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 12px #38bdf833;animation:send-btn-pulse 2.2s infinite cubic-bezier(.4,0,.6,1);cursor:pointer}[data-theme=light] #send-btn.is-aborting{background:linear-gradient(135deg,#0ea5e91f,#6366f126);color:var(--accent-color);border:1px solid rgba(2,132,199,.3);box-shadow:0 0 12px #0284c726}#send-btn.is-aborting:hover{transform:scale(1.08);background:linear-gradient(135deg,#38bdf84d,#818cf859);border-color:var(--accent-color);color:#fff;box-shadow:0 0 16px #38bdf866}[data-theme=light] #send-btn.is-aborting:hover{background:linear-gradient(135deg,#0ea5e938,#6366f140);color:var(--accent-color);box-shadow:0 0 16px #0284c74d}#send-btn.is-aborting:active{transform:scale(.95)}@keyframes send-btn-pulse{0%,to{box-shadow:0 0 6px #38bdf826;border-color:#38bdf84d}50%{box-shadow:0 0 16px #38bdf873;border-color:var(--accent-color)}}.icon-btn:hover{transform:scale(1.05);color:var(--accent-color)}.message-buttons{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}.message-buttons:empty{display:none}.msg-btn{position:relative;background:linear-gradient(135deg,#38bdf826,#818cf826);border:1.5px solid rgba(56,189,248,.4);color:var(--text-primary);padding:.6rem 1.2rem;border-radius:1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px #38bdf826,inset 0 1px #ffffff1a;overflow:hidden;letter-spacing:.01em}.msg-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.msg-btn:hover:before{left:100%}.msg-btn:hover{background:linear-gradient(135deg,#38bdf84d,#818cf84d);border-color:#38bdf899;box-shadow:0 4px 16px #38bdf84d,inset 0 1px #fff3;transform:translateY(-2px)}.msg-btn:active{transform:translateY(0);box-shadow:0 2px 8px #38bdf833,inset 0 1px #ffffff1a}[data-theme=light] .msg-btn{background:linear-gradient(135deg,#0ea5e91f,#6366f11f);border:1.5px solid rgba(14,165,233,.45);box-shadow:0 2px 8px #0ea5e91f,inset 0 1px #fff9}[data-theme=light] .msg-btn:hover{background:linear-gradient(135deg,#0ea5e940,#6366f140);border-color:#0ea5e9a6;box-shadow:0 4px 16px #0ea5e940,inset 0 1px #fffc}[data-theme=light] .msg-btn:active{box-shadow:0 2px 8px #0ea5e92e,inset 0 1px #fff9}.scroll-bottom-btn{position:fixed;bottom:110px;right:30px;width:54px;height:54px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .3s cubic-bezier(.175,.885,.32,1.275);opacity:0;transform:scale(.5);pointer-events:none;box-shadow:0 8px 32px #0000004d;font-size:1.2rem}.scroll-bottom-btn.visible{opacity:1;transform:scale(1);pointer-events:all}.scroll-bottom-btn:hover{background:var(--accent-gradient);color:#fff;box-shadow:0 12px 40px #0006}.unread-badge{position:absolute;top:-8px;right:-8px;background:#ff3b30;color:#fff;font-size:12px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:none;align-items:center;justify-content:center;padding:0 6px;border:2px solid var(--bg-primary);box-shadow:0 2px 8px #ff3b3066}.scroll-bottom-btn.has-unread .unread-badge{display:flex}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;pointer-events:none;transition:all .3s ease}[data-theme=light] .modal-overlay{background:#0000004d}.modal-overlay.visible{opacity:1;pointer-events:all}.modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:1.5rem;box-shadow:var(--shadow-premium);width:90%;max-width:400px;padding:1.5rem;transform:scale(.9);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.visible .modal-content{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{margin:0;font-size:1.2rem}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.menu-item{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:1rem;color:var(--text-primary);cursor:pointer;transition:all .2s}[data-theme=light] .menu-item{background:#ffffffe6;border-color:#0000000d;box-shadow:0 4px 12px #00000008}.menu-item:hover{background:var(--accent-gradient);color:#fff;transform:translateY(-2px)}.modal-header-nav{display:flex;align-items:center;gap:.75rem}.back-menu-btn{padding:.25rem .5rem;font-size:1rem;color:var(--text-primary);cursor:pointer}.menu-view{display:none;animation:menuViewSlideIn .2s cubic-bezier(.16,1,.3,1)}.menu-view.active{display:block}@keyframes menuViewSlideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.menu-item i{font-size:1.5rem}.menu-item span{font-size:.9rem;font-weight:500}.admin-only,.auth-only{display:none}body.is-authorized .auth-only{display:flex}body.is-authorized .guest-only{display:none}body.is-admin .admin-only{display:flex}.toast-notification{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-100px);z-index:10001;opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}.toast-notification.show{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.toast-notification.bottom-toast{top:auto;bottom:100px;transform:translate(-50%) translateY(100px)}.toast-notification.bottom-toast.show{transform:translate(-50%) translateY(0)}.toast-content{display:flex;align-items:center;gap:12px;padding:14px 24px;background:#0f172ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(56,189,248,.3);border-radius:16px;box-shadow:0 8px 32px #0000004d,0 0 20px #38bdf833;color:var(--text-primary);font-size:.95rem;font-weight:500;min-width:280px;justify-content:center}[data-theme=light] .toast-content{background:#ffffffe6;border-color:#0ea5e966;box-shadow:0 8px 32px #0000001a,0 0 20px #0ea5e926}.toast-icon{font-size:1.3rem;color:#22c55e;animation:icon-bounce .5s ease-out}@keyframes icon-bounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.toast-message{letter-spacing:.02em}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.message-content p{margin-bottom:.75rem}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3{margin:1rem 0 .5rem;line-height:1.3;color:var(--text-primary)}.message-content h1{font-size:1.4rem}.message-content h2{font-size:1.2rem}.message-content h3{font-size:1.1rem}.message-content ul,.message-content ol{margin-bottom:.75rem;padding-left:1.25rem}.message-content li{margin-bottom:.4rem}.message-content li::marker{color:var(--accent-color);font-weight:600}.message-content code:not(pre code){background:#818cf826;color:var(--accent-color);padding:.2rem .4rem;border-radius:6px;font-family:Fira Code,monospace;font-size:.9em}.message-content pre{background:#1a1b26;padding:1rem;border-radius:.85rem;overflow-x:auto;margin:.75rem 0;border:1px solid rgba(255,255,255,.05);width:fit-content;max-width:100%;box-sizing:border-box}[data-theme=light] .message-content pre{background:#f6f8fa;border:1px solid rgba(0,0,0,.1)}.message-content pre code{background:transparent!important;padding:0;font-family:Fira Code,monospace;font-size:.9em;line-height:1.5;color:#24292e}[data-theme=dark] .message-content pre code{color:#a6accd}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.75rem 0;border-radius:.75rem;border:1px solid var(--glass-border)}.message-content table{width:100%;border-collapse:collapse;font-size:clamp(.75rem,2vw,.85rem);min-width:0}.message-content th,.message-content td{padding:clamp(.3rem,1vw,.4rem) clamp(.5rem,1.5vw,.75rem);text-align:left;border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.message-content th:last-child,.message-content td:last-child{border-right:none}.message-content th{background:#ffffff0d;font-weight:600;color:var(--accent-color)}.message-content tr:last-child td{border-bottom:none}.message-content tr:nth-child(2n){background:#ffffff05}.katex-display-wrapper{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin:.75rem 0;padding:.6rem .85rem;border-radius:.75rem;background:#ffffff08;border:1px solid var(--glass-border);box-sizing:border-box}[data-theme=light] .katex-display-wrapper{background:#f6f8fa;border:1px solid rgba(0,0,0,.1)}.katex-display-wrapper .katex-display{margin:0!important;text-align:center;max-width:100%}.katex-display-wrapper .katex-display>.katex{max-width:100%;text-align:initial}.message-content .katex{max-width:100%}.katex-display-wrapper::-webkit-scrollbar{height:4px}.katex-display-wrapper::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}[data-theme=light] .katex-display-wrapper::-webkit-scrollbar-thumb{background:#0003}.mermaid-wrapper{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;margin:.75rem 0;padding:1.25rem 1rem;border-radius:.75rem;background:#ffffff08;border:1px solid var(--glass-border);box-sizing:border-box;display:flex;justify-content:flex-start}[data-theme=light] .mermaid-wrapper{background:#fff;border:1px solid rgba(0,0,0,.1)}.mermaid-wrapper .mermaid{display:block;min-width:100%;width:max-content;margin:0 auto;padding:4px 12px;text-align:center;box-sizing:border-box;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px}.mermaid-wrapper svg{max-width:none!important;height:auto!important;display:block;margin:0 auto;overflow:visible!important;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px}.mermaid-wrapper svg text,.mermaid-wrapper svg span,.mermaid-wrapper svg .nodeLabel,.mermaid-wrapper svg .edgeLabel,.mermaid-wrapper svg .label,.mermaid-wrapper svg foreignObject,.mermaid-wrapper svg .actor,.mermaid-wrapper svg .messageText,.mermaid-wrapper svg .noteText,.mermaid-wrapper svg .loopText{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:12px!important;line-height:1.4!important}.mermaid-wrapper foreignObject,.mermaid-wrapper .node foreignObject{overflow:visible!important}.mermaid-wrapper .node .nodeLabel,.mermaid-wrapper .nodeLabel{display:inline-block!important;text-align:center!important;white-space:nowrap!important;overflow:visible!important;box-sizing:border-box!important}.mermaid-wrapper::-webkit-scrollbar{height:4px}.mermaid-wrapper::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}[data-theme=light] .mermaid-wrapper::-webkit-scrollbar-thumb{background:#0003}.save-image-container .mermaid-wrapper,.save-image-container .table-wrapper,.save-image-container .katex-display-wrapper,.save-image-container pre{overflow:visible!important;max-width:none!important;width:100%!important;box-sizing:border-box!important}.save-image-container .mermaid-wrapper svg{max-width:none!important;height:auto!important}.status-msg{font-style:italic;opacity:.9;font-size:.9em;color:var(--accent-color);display:flex;align-items:center;gap:10px;padding:.5rem;background:#38bdf80d;border-radius:.5rem;animation:pulse 2s infinite}.error-msg{display:flex;align-items:flex-start;gap:12px;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.75rem;color:#ef4444;line-height:1.5}.error-msg i{font-size:1.2rem;margin-top:2px;flex-shrink:0}.error-msg strong{display:block;margin-bottom:.25rem;font-size:.95rem}[data-theme=light] .error-msg{background:#ef444414;border-color:#ef444466;color:#dc2626}.loading-history{text-align:center;padding:1rem;margin-bottom:1rem}.loading-spinner{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:2rem;color:var(--text-secondary);font-size:.9rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.loading-spinner i{font-size:1rem;color:var(--accent-color)}@keyframes pulse{0%{opacity:.5;transform:scale(.98)}50%{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(.98)}}.attachment-preview{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;max-width:768px;max-height:130px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;margin:0 auto;animation:slide-up .2s ease-out}.attachment-preview::-webkit-scrollbar{width:5px}.attachment-preview::-webkit-scrollbar-track{background:transparent}.attachment-preview::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.attachment-preview::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.attachment-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;background:#38bdf81a;border:1px solid rgba(56,189,248,.25);border-radius:.6rem;font-size:.8rem;color:var(--text-primary);max-width:200px;overflow:hidden}.attachment-item .file-icon{color:var(--accent-color);font-size:.9rem;flex-shrink:0}.attachment-item .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.attachment-item .remove-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:.85rem;flex-shrink:0;transition:color .2s}.attachment-item .remove-btn:hover{color:#ef4444}.attachment-item.uploading{opacity:.6;border-color:#eab30866;background:#eab3081a}.attachment-item.uploading .file-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.circular-progress{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-right:4px}.circular-progress svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px}.circular-progress circle{transition:stroke-dashoffset .3s ease}.progress-percent{position:relative;font-size:.6rem;color:var(--accent-color);font-weight:600;min-width:26px;text-align:center;z-index:1}.attachment-item.upload-error{border-color:#ef444466;background:#ef44441a}.attachment-container{margin-top:.75rem;margin-bottom:.5rem;display:flex;flex-wrap:wrap;gap:8px}.attachment-container:empty{display:none}.attachment-thumbnail{position:relative;display:inline-block;max-width:100%;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.attachment-thumbnail img{display:block;max-width:300px;max-height:300px;width:auto;height:auto;object-fit:contain;transition:transform .2s ease}.attachment-thumbnail:hover img{transform:scale(1.02)}.attachment-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:.5rem;opacity:0;transition:opacity .2s ease}.attachment-thumbnail:hover .attachment-overlay{opacity:1}.attachment-filename{color:#fff;font-size:.75rem;word-break:break-all}.attachment-list{display:flex;flex-direction:column;gap:.5rem;max-height:220px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;padding-right:4px}.attachment-list::-webkit-scrollbar{width:5px}.attachment-list::-webkit-scrollbar-track{background:transparent}.attachment-list::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.attachment-list::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.attachment-list .attachment-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .4rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;transition:all .2s ease;width:100%;max-width:none}.attachment-list .attachment-item:hover{background:#ffffff14;border-color:#fff3}.attachment-list .attachment-item i{font-size:1.2rem;color:var(--accent-color);flex-shrink:0}.attachment-list .attachment-link{color:var(--text-primary);text-decoration:none;font-size:.85rem;word-break:break-all;flex:1}.attachment-list .attachment-link:hover{color:var(--accent-color);text-decoration:underline}.attachment-list .attachment-item.image .image-preview-link{cursor:pointer;position:relative}.attachment-list .attachment-item.image .image-preview-link:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:-20px;opacity:0;transition:opacity .2s;color:var(--accent-color);font-size:.8rem}.attachment-list .attachment-item.image .image-preview-link:hover:after{opacity:1}.attachment-list .attachment-item.document .attachment-link{position:relative;cursor:pointer}.attachment-list .attachment-item.document .attachment-link:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:-20px;opacity:0;transition:opacity .2s;color:var(--accent-color);font-size:.8rem}.attachment-list .attachment-item.document .attachment-link:hover:after{opacity:1}.attachment-item.deleted{opacity:.7;border-style:dashed}.attachment-item.deleted i{color:#9ca3af}.attachment-item.deleted .attachment-link{color:#9ca3af;pointer-events:none;text-decoration:line-through}.attachment-thumbnail.deleted{background:#9ca3af26;border:2px dashed rgba(156,163,175,.4)}.deleted-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-width:200px;min-height:150px;color:#9ca3af}.deleted-placeholder i{font-size:3rem;margin-bottom:.5rem;opacity:.6}.deleted-label{font-size:.75rem;margin-top:.25rem;font-style:italic}.document-ref{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;background:#818cf81f;border:1px solid rgba(129,140,248,.25);border-radius:.5rem;font-size:.8rem;color:var(--accent-color);margin:.25rem 0}.document-ref i{font-size:.9rem}.typing-indicator{display:flex;gap:4px;padding:.5rem 0}.typing-dot{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:typing-bounce 1s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(max-width:768px){.chat-messages{padding:1rem .75rem;gap:1rem}.message-wrapper{gap:.6rem}.message-wrapper.user{max-width:min(calc(100% - 32px - .6rem),450px)}.message-wrapper.assistant{max-width:100%}.message-wrapper.assistant .message-bubble{max-width:calc(100vw - 2.1rem - 32px)}.message-content pre{width:100%;max-width:100%}.message-avatar{width:32px;height:32px;border-radius:10px;font-size:.6rem}.message-bubble{padding:.8rem 1rem;font-size:.9rem;border-radius:1.1rem}.message-content h1,.message-content h2,.message-content h3{font-size:1rem}.message-content table{font-size:.8rem}.message-content th,.message-content td{padding:.35rem .5rem;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.glass-header{padding:.6rem .75rem}.header-content h1{font-size:.95rem;padding:.35rem .5rem}.header-actions{gap:.5rem}.user-profile{display:inline-flex;padding:0;border:none;background:transparent;max-width:none;box-shadow:none}.user-profile:hover{background:transparent;border-color:transparent;box-shadow:none;transform:none}.user-profile-meta{display:none}.user-avatar-badge{width:30px;height:30px}.glass-footer{padding:.75rem}.input-wrapper{padding:.35rem;border-radius:1.25rem}textarea{font-size:.9rem;padding:.4rem}.icon-btn{width:32px;height:32px}.scroll-bottom-btn{bottom:90px;right:20px;width:48px;height:48px}.menu-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.menu-item{padding:1rem}.attachment-preview{gap:.4rem;padding:.4rem .625rem;max-height:110px}.attachment-item{max-width:160px;padding:.3rem .5rem;font-size:.75rem}.circular-progress svg{width:28px;height:28px}.progress-percent{font-size:.55rem;min-width:22px}.attachment-item .file-icon{font-size:.8rem}.attachment-thumbnail img{max-width:250px;max-height:250px}.attachment-list{max-height:180px}.attachment-list .attachment-item{padding:.4rem .6rem}.attachment-list .attachment-link{font-size:.8rem}}@media(max-width:480px){.header-actions{gap:.25rem}.header-actions .icon-btn{width:30px;height:30px}.chat-messages{padding:.875rem .625rem;gap:.875rem}.message-wrapper{max-width:calc(100% - 32px - .6rem)}.message-bubble{padding:.75rem .875rem;font-size:.875rem;line-height:1.55}.message-content h1{font-size:.95rem}.message-content h2{font-size:.9rem}.message-content h3{font-size:.875rem}.reasoning-block{font-size:.8rem;padding:.6rem}.message-content table{font-size:.75rem}.message-content th,.message-content td{padding:.3rem .4rem;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.table-wrapper,.katex-display-wrapper,.mermaid-wrapper{margin:.5rem 0;border-radius:.5rem}.input-wrapper{max-width:100%;margin:0}}@media(max-width:380px){.message-wrapper{max-width:calc(100% - 32px - .6rem)}.message-bubble{padding:.7rem .8rem;font-size:.85rem}.message-content h1{font-size:.9rem}.message-content h2{font-size:.875rem}.message-content h3{font-size:.85rem}}@media(max-width:360px){.message-wrapper{max-width:calc(100% - 32px - .6rem)}.chat-messages{padding:.75rem .5rem;gap:.75rem}.message-bubble{padding:.65rem .75rem;font-size:.825rem}}.attachment-item.compressed .compression-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:fadeInScale .3s ease-in;z-index:2}@keyframes fadeInScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.attachment-item.compressed:after{content:"Compressed";position:absolute;bottom:4px;right:4px;background:#10b981f2;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:3;white-space:nowrap}.attachment-item.compressed:hover:after{opacity:1}.attachment-item.uploading[data-status=compressing]:before{content:"Compressing...";position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#3b82f6e6;color:#fff;font-size:10px;padding:2px 8px;border-radius:4px;white-space:nowrap;z-index:3}.attachment-thumbnail{margin-top:.5rem;border-radius:12px;overflow:hidden;cursor:pointer;position:relative;max-width:320px;max-height:240px;background:#0003;border:1px solid var(--glass-border);transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.attachment-thumbnail:hover{transform:scale(1.02);box-shadow:0 4px 12px #0003}.attachment-thumbnail:active{transform:scale(.98)}.attachment-thumbnail img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .3s ease}.attachment-thumbnail img.loaded{opacity:1}.thumbnail-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;color:var(--accent-color);opacity:.5}.image-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.image-overlay.zoomed{display:block;overflow:auto;text-align:left}.image-overlay.visible{opacity:1;pointer-events:all}.image-overlay-content{position:relative;max-width:95%;max-height:85%;display:flex;align-items:center;justify-content:center;transform:scale(.9);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.image-overlay.visible .image-overlay-content{transform:scale(1)}.image-overlay.zoomed .image-overlay-content{max-width:none;max-height:none;width:fit-content;height:fit-content;margin:0 auto;padding:80px 20px;display:block;transform:none;transition:none}.image-overlay-content img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 20px 50px #00000080;display:block;cursor:zoom-in;transition:transform .2s ease}.image-overlay.zoomed .image-overlay-content img{max-width:none;max-height:none;width:auto;height:auto;cursor:zoom-out;border-radius:4px}.image-overlay.zoomed .image-overlay-actions{display:none}.overlay-filename{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:500;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 12px #0000004d;display:none}.image-overlay-close{position:fixed;top:20px;right:20px;width:44px;height:44px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all .2s;z-index:2100}.image-overlay-close:hover{background:#fff3;transform:rotate(90deg)}.image-overlay-actions{position:fixed;bottom:40px;left:50%;transform:translate(-50%);display:flex;gap:15px;z-index:2100}.overlay-btn{padding:.75rem 1.5rem;border-radius:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.overlay-btn:hover{background:var(--accent-gradient);border-color:transparent;transform:translateY(-2px)}.overlay-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none;flex-direction:column;align-items:center;gap:15px;color:#fff}.image-overlay.loading .overlay-loading{display:flex}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.attachment-filename{font-size:.8rem;color:var(--text-secondary);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.image-error-placeholder{width:200px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff14;color:#ffffff40;border-radius:12px;border:1px dashed rgba(255,255,255,.15);margin:4px 0}.attachment-thumbnail.error{width:fit-content;background:transparent}.image-error-placeholder i{font-size:2.5rem;margin-bottom:8px}.image-overlay.error-state .overlay-content{display:none}.image-overlay.error-state:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10rem;color:#ffffff4d;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-shadow:0 0 30px rgba(255,255,255,.1);z-index:1;pointer-events:none}.image-overlay.error-state.loading:before{display:none}.context-menu{position:fixed;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;box-shadow:var(--shadow-premium);padding:.5rem;min-width:180px;z-index:10000;opacity:0;pointer-events:none;transform:scale(.95);transform-origin:top left;transition:opacity .2s,transform .2s}.context-menu.show{opacity:1;pointer-events:all;transform:scale(1)}.context-menu-item{display:flex;align-items:center;gap:10px;padding:.75rem 1rem;color:var(--text-primary);font-size:.9rem;cursor:pointer;border-radius:8px;transition:background .2s}.context-menu-item:hover{background:#ffffff1a}.context-menu-item.danger:hover{background:#ef444433;color:#ef4444}body.multi-select-active .chat-messages{overflow-anchor:none!important}body.multi-select-active .message-wrapper{cursor:pointer;user-select:none;-webkit-user-select:none}body.multi-select-active .message-wrapper .message-bubble *{pointer-events:none!important}body.multi-select-active .message-bubble{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease,background-color .2s ease,outline .2s ease;position:relative}body.multi-select-active .message-wrapper:hover .message-bubble{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.message-wrapper.selected .message-bubble{transform:scale(.985);box-shadow:0 0 0 2px var(--accent-color, #3b82f6),0 6px 16px #3b82f640!important}.message-wrapper.assistant.selected .message-bubble{background:linear-gradient(135deg,#3b82f626,#6366f12e)!important;border-color:var(--accent-color, #3b82f6)!important}.message-wrapper.user.selected .message-bubble{background:var(--accent-gradient, linear-gradient(135deg, #2563eb, #1d4ed8))!important;filter:brightness(1.12);box-shadow:0 0 0 2px #60a5fa,0 6px 16px #2563eb59!important}.message-wrapper .message-bubble:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;color:#fff;position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:var(--accent-gradient, #3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.4) rotate(-20deg);transition:transform .25s cubic-bezier(.175,.885,.32,1.275),opacity .2s ease;box-shadow:0 2px 6px #00000040;pointer-events:none;z-index:10}.message-wrapper.selected .message-bubble:after{opacity:1;transform:scale(1) rotate(0)}.multi-select-header{display:none;width:100%;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);z-index:20;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;gap:10px}body.multi-select-active .multi-select-header{display:flex}body.multi-select-active .header-content{opacity:.5;pointer-events:none}.multi-select-count{font-weight:600;font-size:1.1rem;color:var(--accent-color)}.multi-select-btn{padding:.5rem 1rem;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-primary);transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000026;display:flex;align-items:center;gap:6px}.multi-select-btn:active{transform:scale(.96)}#ms-copy-btn{background:var(--accent-gradient);color:#fff;border:none;box-shadow:0 4px 12px #38bdf84d}.multi-select-btn.danger{background:#ef4444;color:#fff;border:none;box-shadow:0 4px 12px #ef44444d}#ms-cancel-btn{background:#94a3b826;border:1px solid rgba(148,163,184,.3);color:var(--text-secondary)}[data-theme=light] #ms-cancel-btn{background:#0000000d;border:1px solid rgba(0,0,0,.1)}@media screen and (max-width:600px){.multi-select-header{padding:.4rem .6rem;flex-direction:column;align-items:stretch;justify-content:center;gap:6px}.multi-select-count{font-size:.7rem;letter-spacing:.02em;text-transform:uppercase;opacity:.9;margin-right:4px;text-align:center}.multi-select-btn{padding:.4rem .6rem;font-size:.65rem;border-radius:8px;flex:1 1 calc(33.333% - 4px);min-width:0;justify-content:center;white-space:nowrap;overflow:hidden}.multi-select-actions{gap:6px;flex-wrap:wrap}.multi-select-btn i{font-size:.65rem;margin-right:0}}.multi-select-actions{display:flex;gap:10px}.multi-select-btn{padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;border:1px solid var(--glass-border);background:transparent;color:var(--text-primary);transition:all .2s}.offline-banner{position:relative;width:100%;background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;text-align:center;padding:0 16px;font-size:.85rem;font-weight:500;z-index:9;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease,opacity .3s ease;flex-shrink:0}.offline-banner.visible{max-height:60px;padding:8px 16px;opacity:1}.offline-banner .offline-tap{cursor:pointer;text-decoration:underline;opacity:.9}.offline-banner .offline-tap:hover{opacity:1}.update-banner{background:linear-gradient(135deg,#2563eb,#3b82f6)}.update-banner:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.push-denied-banner{background:linear-gradient(135deg,#d97706,#f59e0b)!important;display:flex;align-items:center;gap:.5rem}.push-denied-banner:hover{background:linear-gradient(135deg,#f59e0b,#fbbf24)!important}.push-denied-banner .push-banner-text{flex:1;cursor:pointer;padding:.4rem 0}.push-denied-banner .push-banner-close{background:none;border:none;color:#fffc;font-size:1.2rem;cursor:pointer;padding:.3rem .4rem;border-radius:50%;transition:all .2s ease;line-height:1;flex-shrink:0}.push-denied-banner .push-banner-close:hover{background:#00000026;color:#fff}.push-guide-content{max-width:500px}.push-guide-body{text-align:left;line-height:1.7}.push-guide-body p{margin-bottom:1rem;font-size:.95rem;opacity:.9}.push-guide-steps{list-style:none;counter-reset:guide-step;padding:0;margin:1rem 0}.push-guide-steps li{counter-increment:guide-step;position:relative;padding:.85rem .85rem .85rem 3rem;margin-bottom:.75rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:.85rem;font-size:.9rem;line-height:1.6;transition:background .2s ease}.push-guide-steps li:hover{background:#ffffff14}.push-guide-steps li:before{content:counter(guide-step);position:absolute;left:.75rem;top:.85rem;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;font-size:.8rem;font-weight:700;color:#fff}.push-guide-steps li strong{color:var(--accent-color, #38bdf8)}.push-guide-footer{text-align:center;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.push-guide-footer p{font-size:.9rem;margin-bottom:0}@media all and (display-mode:standalone){.glass-header,.chat-messages{padding-top:calc(env(safe-area-inset-top,0px) + 12px)}}.input-wrapper.voice-mode #attach-btn,.input-wrapper.voice-mode #chat-input,.input-wrapper.voice-mode #send-btn{display:none!important}.input-wrapper.voice-mode #hold-to-speak-btn{display:flex!important}.input-wrapper.audio-review #voice-btn,.input-wrapper.audio-review #attach-btn,.input-wrapper.audio-review #chat-input,.input-wrapper.audio-review #send-btn,.input-wrapper.audio-review #hold-to-speak-btn{display:none!important}.input-wrapper.audio-review #audio-review-panel{display:flex!important}.hold-to-speak-btn{flex:1;height:38px;background:var(--glass-bg, rgba(255, 255, 255, .05));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:1.25rem;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.hold-to-speak-btn:active,.input-wrapper.recording #hold-to-speak-btn{background:#22c55e26!important;color:#22c55e!important;border-color:#22c55e!important;box-shadow:0 0 16px #22c55e40;transform:scale(.98)}.audio-review-panel{display:flex;width:100%;gap:.5rem;align-items:center}.audio-panel-btn{flex:1;height:36px;border-radius:1rem;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.audio-panel-btn:hover{background:#ffffff14}.audio-panel-btn.success{background:#22c55e;border-color:#22c55e;color:#fff}.audio-panel-btn.success:hover{background:#16a34a}.audio-panel-btn.danger{border-color:#ef444466;color:#ef4444}.audio-panel-btn.danger:hover{background:#ef44441a}.recording-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:overlayFadeIn .25s ease-out;pointer-events:none}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.recording-overlay-card{width:min(calc(100vw - 48px),300px);min-height:190px;max-height:75vh;background:#1e293beb;border:1px solid rgba(255,255,255,.12);border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 16px;box-shadow:0 25px 50px -12px #0009;color:#fff;transition:transform .2s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.waveform-container{width:160px;height:60px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.timer-display{font-size:1.5rem;font-weight:700;font-family:monospace;margin-bottom:6px;color:#22c55e;text-shadow:0 0 10px rgba(34,197,94,.2)}.overlay-live-text{width:100%;max-height:120px;overflow-y:auto;background:#0f172abf;border:1px solid rgba(34,197,94,.25);border-radius:12px;padding:8px 12px;margin:6px 0 10px;font-size:.875rem;line-height:1.55;letter-spacing:.01em;color:#cbd5e1;text-align:left;word-break:break-word;white-space:pre-wrap;box-sizing:border-box;box-shadow:inset 0 2px 4px #0003;animation:liveTextFadeIn .2s ease-out}.live-char-fade{display:inline;animation:liveCharFadeIn .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes liveCharFadeIn{0%{opacity:0;filter:blur(3px);transform:translateY(2px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.live-cursor{display:inline-block;color:#22c55e;font-size:.8em;margin-left:2px;vertical-align:middle;animation:liveCursorBlink .8s ease-in-out infinite}@keyframes liveCursorBlink{0%,to{opacity:1}50%{opacity:.2}}@keyframes liveTextFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.status-hint{font-size:.875rem;color:#94a3b8}.message-content img{max-width:100%;max-height:320px;border-radius:8px;margin:8px 0;cursor:zoom-in;box-shadow:0 4px 12px #0000001a;transition:transform .2s ease,box-shadow .2s ease;display:block}.message-content img:hover{transform:scale(1.015);box-shadow:0 6px 16px #00000026}.transcribing-waveform{display:flex;align-items:center;justify-content:center;gap:5px;height:50px;width:160px}.transcribing-waveform .bar{width:4px;height:100%;background:var(--accent-color, #38bdf8);border-radius:2px;transform-origin:center;animation:transcribingBounce 1.2s ease-in-out infinite alternate}.transcribing-waveform .bar:nth-child(1){animation-delay:.1s;animation-duration:.9s}.transcribing-waveform .bar:nth-child(2){animation-delay:.35s;animation-duration:1.2s}.transcribing-waveform .bar:nth-child(3){animation-delay:.15s;animation-duration:1s}.transcribing-waveform .bar:nth-child(4){animation-delay:.55s;animation-duration:1.35s}.transcribing-waveform .bar:nth-child(5){animation-delay:.25s;animation-duration:1.1s}.transcribing-waveform .bar:nth-child(6){animation-delay:.45s;animation-duration:1.25s}.transcribing-waveform .bar:nth-child(7){animation-delay:.2s;animation-duration:1.05s}.transcribing-waveform .bar:nth-child(8){animation-delay:.4s;animation-duration:1.3s}.transcribing-waveform .bar:nth-child(9){animation-delay:.12s;animation-duration:.95s}.transcribing-waveform .bar:nth-child(10){animation-delay:.3s;animation-duration:1.15s}@keyframes transcribingBounce{0%{transform:scaleY(.15)}to{transform:scaleY(1)}}.topic-manager-content{max-width:650px;width:95%;padding:clamp(1.2rem,3vw,2rem);display:flex;flex-direction:column;max-height:85vh}.topic-manager-body{display:flex;flex-direction:column;gap:1.5rem;overflow:hidden}.topic-form-group{display:flex;flex-direction:column;gap:.5rem}.topic-form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.select-wrapper{position:relative;width:100%}.glass-select{width:100%;background:#0f172a66;border:1px solid var(--glass-border);border-radius:1rem;color:var(--text-primary);padding:.8rem 2.5rem .8rem 1.2rem;font-size:.95rem;font-family:inherit;outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=light] .glass-select{background:#fffc;border-color:#0000001a}.glass-select:focus{border-color:var(--accent-color);box-shadow:0 0 12px #38bdf840}.select-arrow{position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;font-size:.9rem;transition:transform .3s ease}.glass-select:focus+.select-arrow{transform:translateY(-50%) rotate(180deg)}.topic-list-container{flex:1;overflow-y:auto;max-height:50vh;padding-right:.25rem;display:flex;flex-direction:column;gap:.85rem}.topic-list-empty,.topic-list-loading{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary);font-size:.95rem;background:#ffffff05;border:1px dashed var(--glass-border);border-radius:1.25rem}.topic-tree-node{display:flex;flex-direction:column;gap:.5rem}.topic-header-row{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;background:#ffffff05;border:1px solid var(--glass-border);border-radius:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}[data-theme=light] .topic-header-row{background:#00000005}.topic-header-row:hover{background:#ffffff0d;border-color:#38bdf866;box-shadow:0 4px 15px #38bdf80d;transform:translateY(-1px)}[data-theme=light] .topic-header-row:hover{background:#0000000a}.topic-title-wrapper{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.topic-arrow{color:var(--text-secondary);font-size:.8rem;transition:transform .3s ease}.topic-tree-node.expanded .topic-arrow{transform:rotate(90deg)}.topic-title{font-weight:500;font-size:.95rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-tree-node.uncategorized .topic-title{color:#f59e0b}.topic-badge-count{background:linear-gradient(135deg,#38bdf833,#818cf833);border:1px solid rgba(56,189,248,.3);color:var(--accent-color);font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:.75rem;flex-shrink:0}.topic-actions{display:flex;align-items:center;gap:.5rem;margin-left:1rem}.action-icon-btn{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.action-icon-btn:hover{background:#ef44441a;color:#ef4444}.topic-messages-list{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.5rem;padding-left:0;border-left:none;margin-left:0}.topic-tree-node.expanded .topic-messages-list{max-height:5000px}.topic-msg-item{display:flex;align-items:flex-start;justify-content:space-between;padding:.6rem .85rem;background:#ffffff03;border:1px solid rgba(255,255,255,.02);border-radius:.75rem;gap:.75rem;animation:slide-down .25s ease-out}.topic-msg-item:hover{background:#ffffff08;border-color:var(--glass-border)}.msg-role-badge{font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:.5rem;text-transform:uppercase;flex-shrink:0;color:#fff;margin-top:2px}.msg-role-badge.user{background:var(--accent-gradient);box-shadow:0 0 8px #38bdf840}.msg-role-badge.bot{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 0 8px #818cf840}.msg-preview-text{flex:1;font-size:.78rem;line-height:1.3;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;min-width:0}.msg-time-stamp{font-size:.68rem;color:var(--text-secondary);opacity:.8;flex-shrink:0;margin-top:3px;text-align:right;line-height:1.5;min-width:36px;max-width:36px;white-space:nowrap}.unlink-btn{width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;margin-top:1px}.unlink-btn:hover{background:#ef44441a;color:#ef4444}#confirm-modal{border:none;background:transparent;padding:0;width:90%;max-width:320px;position:fixed;top:38.2vh;left:50%;transform:translate(-50%,-50%);margin:0;outline:none}#confirm-modal::backdrop{background:#0f172aa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=light] #confirm-modal::backdrop{background:#00000059}.confirm-dialog-body{text-align:center;padding:1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:1.5rem;box-shadow:var(--shadow-premium);animation:modal-appear .25s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-appear{0%{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}.model-select-wrapper{position:relative;display:inline-block}#model-select-btn{position:relative;color:var(--text-secondary);background:transparent;transition:all .2s cubic-bezier(.4,0,.2,1)}#model-select-btn:hover{color:var(--accent-color);background:#ffffff0d}.model-active-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background-color:var(--accent-color);box-shadow:0 0 6px var(--accent-color);opacity:0;transform:scale(0);transition:all .2s cubic-bezier(.4,0,.2,1)}.model-active-dot.active{opacity:1;transform:scale(1)}.model-dropdown-menu{position:absolute;bottom:calc(100% + 8px);right:0;z-index:1000;min-width:170px;max-width:220px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:1rem;box-shadow:var(--shadow-premium);padding:6px;opacity:0;transform:scale(.9) translateY(8px);pointer-events:none;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.model-dropdown-menu.show{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.model-dropdown-list{max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent}.model-dropdown-list::-webkit-scrollbar{width:4px}.model-dropdown-list::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.model-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:.5rem;color:var(--text-secondary);font-size:.85rem;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transition:all .15s ease}.model-dropdown-item:hover{background:#ffffff0f;color:var(--text-primary)}.model-dropdown-item.active{background:#38bdf81a;color:var(--accent-color);font-weight:600}[data-theme=light] .model-dropdown-item.active{background:#0284c714}.input-wrapper.voice-mode .model-select-wrapper,.input-wrapper.audio-review .model-select-wrapper{display:none!important}.memory-notification-container{position:fixed;top:80px;right:20px;z-index:99999;pointer-events:none;display:flex;flex-direction:column;gap:10px;max-width:360px;width:calc(100% - 40px)}.memory-toast-card{pointer-events:auto;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:10px 28px 10px 14px;box-shadow:0 10px 30px -5px #00000026,0 4px 12px -4px #0000001a;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#0f172a;animation:toastEnter .35s cubic-bezier(.175,.885,.32,1.15) forwards}.memory-toast-card.dismissing{animation:toastExit .3s cubic-bezier(.4,0,1,1) forwards}[data-theme=dark] .memory-toast-card{background:#0f172aeb;border:1px solid rgba(255,255,255,.2);box-shadow:0 10px 30px -5px #0009,0 4px 12px -4px #0006;color:#f8fafc}.toast-body-wrapper{display:flex;align-items:flex-start;gap:10px;width:100%}.toast-left-section{display:flex;align-items:center;justify-content:center;padding-top:2px}.toast-icon-circle{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.toast-cognitive .toast-icon-circle{background:#8b5cf614;color:#8b5cf6}[data-theme=dark] .toast-cognitive .toast-icon-circle{background:#a78bfa26;color:#a78bfa}.toast-functional .toast-icon-circle,.toast-intent .toast-icon-circle{background:#4f46e514;color:#4f46e5}[data-theme=dark] .toast-functional .toast-icon-circle,[data-theme=dark] .toast-intent .toast-icon-circle{background:#818cf826;color:#818cf8}.toast-memory .toast-icon-circle{background:#10b98114;color:#10b981}[data-theme=dark] .toast-memory .toast-icon-circle{background:#34d39926;color:#34d399}.toast-gap .toast-icon-circle{background:#f59e0b14;color:#f59e0b}[data-theme=dark] .toast-gap .toast-icon-circle{background:#fbbf2426;color:#fbbf24}.toast-tool .toast-icon-circle{background:#f43f5e14;color:#f43f5e}[data-theme=dark] .toast-tool .toast-icon-circle{background:#fb718526;color:#fb7185}.toast-metrics{padding:7px 28px 7px 10px}.metrics-body-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%}.metrics-capsule-row{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:1;min-width:0}.metric-badge-item{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 8px;border-radius:8px;background:#0000000a;border:1px solid rgba(0,0,0,.07);font-family:Inter,system-ui,-apple-system,sans-serif;cursor:default;-webkit-user-select:none;user-select:none;transition:all .2s cubic-bezier(.4,0,.2,1);flex:1}.metric-badge-item:hover{transform:translateY(-1px);box-shadow:0 3px 8px -2px #00000026;border-color:#00000026}[data-theme=dark] .metric-badge-item{background:#ffffff0f;border:1px solid rgba(255,255,255,.09)}[data-theme=dark] .metric-badge-item:hover{background:#ffffff1a;border-color:#fff3;box-shadow:0 3px 10px -2px #00000080}.metric-icon{font-size:15px;line-height:1;vertical-align:middle}.metric-val{font-size:11px;font-weight:600;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1}.metric-seriousness-1 .metric-icon,.metric-seriousness-1 .metric-val{color:#f43f5e}.metric-seriousness-2 .metric-icon,.metric-seriousness-2 .metric-val{color:#38bdf8}.metric-seriousness-3 .metric-icon,.metric-seriousness-3 .metric-val{color:#a855f7}.metric-capability-1 .metric-icon,.metric-capability-1 .metric-val{color:#10b981}.metric-capability-2 .metric-icon,.metric-capability-2 .metric-val{color:#3b82f6}.metric-capability-3 .metric-icon,.metric-capability-3 .metric-val{color:#8b5cf6}.metric-reasoning-none .metric-icon,.metric-reasoning-none .metric-val{color:#94a3b8}.metric-reasoning-low .metric-icon,.metric-reasoning-low .metric-val{color:#06b6d4}.metric-reasoning-medium .metric-icon,.metric-reasoning-medium .metric-val{color:#f59e0b}.metric-reasoning-high .metric-icon,.metric-reasoning-high .metric-val{color:#ec4899}.metric-complexity-1 .metric-icon,.metric-complexity-1 .metric-val{color:#10b981}.metric-complexity-2 .metric-icon,.metric-complexity-2 .metric-val{color:#f59e0b}.metric-complexity-3 .metric-icon,.metric-complexity-3 .metric-val{color:#ec4899}.metric-negation-low .metric-icon,.metric-negation-low .metric-val{color:#94a3b8}.metric-negation-mid .metric-icon,.metric-negation-mid .metric-val{color:#eab308}.metric-negation-high .metric-icon,.metric-negation-high .metric-val{color:#ef4444}.metric-shift-low .metric-icon,.metric-shift-low .metric-val{color:#94a3b8}.metric-shift-mid .metric-icon,.metric-shift-mid .metric-val{color:#6366f1}.metric-shift-high .metric-icon,.metric-shift-high .metric-val{color:#14b8a6}.toast-main-section{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;padding-right:2px}.toast-single-line{font-size:12px;line-height:1.45;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%}.toast-type-label{font-weight:600;color:var(--text-color, #1f2937);white-space:nowrap;opacity:.85}[data-theme=dark] .toast-type-label{color:var(--text-color, #e0e0e0)}.toast-type-content{color:var(--text-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;word-break:break-word;flex:1;min-width:0;width:100%}.toast-memory-item{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;width:100%;padding-right:4px;line-height:1.5}.toast-type-content:has(.toast-memory-item){display:block}[data-theme=dark] .toast-type-content{color:#a3a3a3}.toast-intent-value{background:#4f46e514;color:#4f46e5;padding:1px 5px;border-radius:4px;font-size:10.5px;font-weight:500;display:inline-block}[data-theme=dark] .toast-intent-value{background:#818cf826;color:#818cf8}.toast-close-btn{position:absolute;top:8px;right:8px;background:none;border:none;cursor:pointer;font-size:14px;line-height:1;color:var(--text-muted, #9ca3af);padding:4px;border-radius:4px;transition:color .15s ease,background .15s ease}.toast-close-btn:hover{opacity:1;color:var(--text-color, #1f2937)}[data-theme=dark] .toast-close-btn:hover{color:var(--text-color, #e0e0e0)}.toast-progress-bar{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(90deg,#4f46e5,#06b6d4);width:100%;transform-origin:left;transform:scaleX(1);border-radius:2px;animation-name:toastProgressShrink;animation-timing-function:linear;animation-fill-mode:forwards;animation-duration:12s}.memory-toast-card:hover .toast-progress-bar{animation-play-state:paused!important}@keyframes toastProgressShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toastEnter{0%{transform:translateY(-120px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toastExit{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-40px) scale(.85);opacity:0}}@media(max-width:480px){.memory-notification-container{left:16px;right:16px;width:auto;max-width:none}}.memory-filter-bar{display:flex;gap:.75rem;flex-wrap:wrap}.memory-card{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1.1rem;background:#ffffff05;border:1px solid var(--glass-border);border-radius:1rem;transition:all .2s ease;position:relative}[data-theme=light] .memory-card{background:#00000005}.memory-card:hover{background:#ffffff0d;border-color:#38bdf84d}[data-theme=light] .memory-card:hover{background:#0000000a}.memory-card.status-active{border-left:3px solid #22c55e}.memory-card.status-decayed{border-left:3px solid #eab308}.memory-card.status-expired{border-left:3px solid #ef4444;opacity:.7}.memory-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.memory-status-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.15rem .45rem;border-radius:.5rem;letter-spacing:.03em}.memory-status-badge.active{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.memory-status-badge.decayed{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.memory-status-badge.expired{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.memory-importance-badge{font-size:.7rem;font-weight:600;color:var(--accent-color);background:#38bdf81a;padding:.1rem .4rem;border-radius:.4rem}.memory-card-actions{display:flex;gap:.3rem;flex-shrink:0}.memory-action-btn{width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.75rem}.memory-action-btn:hover{background:#ef44441a;color:#ef4444}.memory-action-btn.edit-btn:hover{background:#38bdf81a;color:var(--accent-color)}.memory-card-content{font-size:.88rem;line-height:1.5;color:var(--text-primary);word-break:break-word}.memory-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.7rem;color:var(--text-secondary)}.memory-fact-type{background:#818cf81f;color:#818cf8;padding:.1rem .4rem;border-radius:.35rem;font-weight:500;font-size:.68rem}.memory-card-tags{display:flex;flex-wrap:wrap;gap:.3rem;font-size:.65rem}.memory-tag{background:#ffffff0a;border:1px solid var(--glass-border);padding:.1rem .35rem;border-radius:.3rem;color:var(--text-secondary)}[data-theme=light] .memory-tag{background:#0000000a}.memory-importance-edit{display:none;align-items:center;gap:.3rem}.memory-importance-edit.visible{display:flex}.memory-importance-input{width:42px;padding:.15rem .3rem;border-radius:.4rem;border:1px solid var(--glass-border);background:var(--input-bg);color:var(--text-primary);font-size:.75rem;text-align:center;font-family:inherit}.memory-importance-save{font-size:.7rem;padding:.15rem .4rem;border-radius:.35rem;border:none;background:var(--accent-gradient);color:#fff;cursor:pointer}.sys-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;transition:background-color .3s ease,box-shadow .3s ease}.sys-status-dot.status-loading{background-color:var(--text-secondary);box-shadow:0 0 8px var(--text-secondary);animation:pulse-status 1.2s infinite ease-in-out}.sys-status-dot.status-green{background-color:#10b981;box-shadow:0 0 10px #10b98199;animation:blink-status-green 2s infinite ease-in-out}.sys-status-dot.status-red{background-color:#ef4444;box-shadow:0 0 10px #ef444499;animation:blink-status-red 1.5s infinite ease-in-out}.text-red{color:#ef4444!important}.text-yellow{color:#f59e0b!important}@keyframes pulse-status{0%,to{opacity:.5}50%{opacity:1}}@keyframes blink-status-green{0%,to{box-shadow:0 0 4px #10b98166}50%{box-shadow:0 0 12px #10b981cc}}@keyframes blink-status-red{0%,to{box-shadow:0 0 4px #ef444466}50%{box-shadow:0 0 14px #ef4444e6}}.bookmark-btn{background:none;border:none;font-size:16px;cursor:pointer;opacity:.3;transition:opacity .2s,transform .15s,color .2s;color:var(--text-secondary);padding:2px 4px;line-height:1;z-index:2;display:flex;align-items:center;justify-content:center}.message-bubble:hover .bookmark-btn,.message-wrapper:hover .bookmark-btn{opacity:.7}.bookmark-btn:hover{opacity:1!important;transform:scale(1.2)}.bookmark-btn.bookmarked{opacity:1;color:var(--bookmark-active)}@keyframes bookmark-highlight{0%,to{box-shadow:0 0 0 2px #f59e0b00}10%{box-shadow:0 0 0 2px #f59e0bcc}90%{box-shadow:0 0 0 2px #f59e0b4d}}.message-wrapper.highlight-flash .message-bubble{animation:bookmark-highlight 3s ease-out}.notebook-content{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.notebook-header-actions{display:flex;gap:4px;align-items:center}.notebook-body{overflow-y:auto;padding:12px 6px 12px 0;flex:1}.notebook-search-wrapper{position:relative;display:flex;align-items:center;margin-bottom:12px;background:var(--entry-bg);border:1px solid var(--entry-border);border-radius:20px;padding:0 12px;transition:border-color .2s,box-shadow .2s,background .2s}.notebook-search-wrapper:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f126;background:var(--input-bg, var(--bg-secondary))}.notebook-search-wrapper .search-icon{font-size:13px;color:var(--text-secondary);margin-right:8px;flex-shrink:0}.notebook-search-input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:13px;padding:8px 0;line-height:1.4;width:100%}.notebook-search-input::placeholder{color:var(--text-secondary);opacity:.7}.notebook-search-clear{background:transparent;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:4px;margin-left:4px;border-radius:50%;display:none;align-items:center;justify-content:center;transition:color .15s,background .15s;line-height:1}.notebook-search-clear:hover{color:var(--text-primary);background:#80808033}.notebook-search-wrapper.has-text .notebook-search-clear{display:flex}.notebook-entry .entry-search-snippet{font-size:12.5px;color:var(--text-primary);line-height:1.45;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;opacity:.95;background:#8080800f;padding:6px 10px;border-radius:6px;border-left:3px solid var(--accent-color)}mark.notebook-search-highlight{background-color:#facc1559;color:inherit;font-weight:600;padding:0 2px;border-radius:3px;box-shadow:0 0 0 1px #facc1580}body.dark-mode mark.notebook-search-highlight{background-color:#eab30866;color:#fff;box-shadow:0 0 0 1px #eab30899}::highlight(notebook-search){background-color:#facc1566;color:inherit;font-weight:600}.notebook-entry{display:flex;align-items:flex-start;gap:8px;padding:12px;margin-bottom:8px;background:var(--entry-bg);border-radius:10px;border:1px solid var(--entry-border);cursor:pointer;transition:background .15s;position:relative;z-index:1}.notebook-entry:has(.notebook-dropdown-menu.active),.notebook-entry.active-menu{z-index:1000!important}.notebook-entry:hover{background:var(--entry-hover-bg)}.notebook-entry.archived{opacity:.5;filter:grayscale(.6)}.notebook-entry.archived .entry-preview{text-decoration:line-through;text-decoration-color:var(--text-secondary)}.notebook-entry .entry-icon{font-size:18px;flex-shrink:0;margin-top:2px}.notebook-entry .entry-info{flex:1;min-width:0}.notebook-entry .entry-meta{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.notebook-entry .entry-preview{font-size:13px;color:var(--text-primary);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-entry .entry-expanded{display:none;margin-top:8px;padding-top:8px;border-top:1px solid var(--entry-expanded-border);font-size:13px;line-height:1.6;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word}.notebook-entry.expanded .entry-expanded{display:block}.notebook-entry.expanded .entry-actions{display:none}.notebook-entry .entry-expanded img{max-width:100%;max-height:320px;border-radius:8px;margin:8px 0;display:block}.notebook-entry .entry-expanded table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;font-size:12px}.notebook-entry .entry-expanded pre{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.notebook-entry .entry-actions{display:flex;flex-shrink:0;align-self:flex-start;position:relative;margin-left:-2px}.notebook-action-wrapper{position:relative;z-index:1001}.notebook-action-btn.more-btn{background:none;border:1px solid transparent;color:var(--text-secondary);font-size:15px;cursor:pointer;width:28px;height:28px;padding:0;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.notebook-action-btn.more-btn:hover{color:var(--text-primary);background:var(--entry-hover-bg);border-color:var(--entry-border)}.notebook-dropdown-menu{display:none;position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-secondary);border:1px solid var(--entry-border);border-radius:8px;box-shadow:0 4px 16px #00000040;padding:4px;min-width:120px;max-height:200px;overflow-y:auto;z-index:9999;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:dropdownFadeIn .15s ease-out}.notebook-dropdown-menu.dropup{top:auto;bottom:calc(100% + 4px);animation:dropupFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes dropupFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.notebook-dropdown-menu.active{display:flex;flex-direction:column;gap:2px}.notebook-dropdown-menu .dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:none;border:none;border-radius:6px;color:var(--text-primary);font-size:12px;cursor:pointer;text-align:left;white-space:nowrap;transition:background .12s,color .12s}.notebook-dropdown-menu .dropdown-item i{font-size:13px;width:14px;text-align:center;color:var(--text-secondary)}.notebook-dropdown-menu .dropdown-item:hover{background:var(--entry-hover-bg)}.notebook-dropdown-menu .dropdown-item.jump-btn:hover i{color:var(--accent-color)}.notebook-dropdown-menu .dropdown-item.archive-btn:hover i{color:var(--warning-color)}.notebook-dropdown-menu .dropdown-item.unarchive-btn:hover i{color:var(--accent-color)}.notebook-dropdown-menu .dropdown-item.delete-btn,.notebook-dropdown-menu .dropdown-item.delete-btn i{color:var(--danger-color)}.notebook-dropdown-menu .dropdown-item.delete-btn:hover{background:#f871711f}.notebook-dropdown-menu .dropdown-item.orphaned{opacity:.45;cursor:not-allowed}.notebook-confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--confirm-overlay-bg);display:none;align-items:center;justify-content:center;z-index:10001}.notebook-confirm-overlay.visible{display:flex}.notebook-confirm-box{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:24px;max-width:360px;width:90%;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.notebook-confirm-box .confirm-icon{font-size:32px;color:var(--danger-color);margin-bottom:12px}.notebook-confirm-box .confirm-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.notebook-confirm-box .confirm-text{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.notebook-confirm-box .confirm-buttons{display:flex;gap:12px;justify-content:center}.notebook-confirm-box .confirm-cancel{padding:8px 20px;border-radius:8px;border:1px solid var(--btn-border);background:transparent;color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .15s}.notebook-confirm-box .confirm-cancel:hover{background:var(--entry-hover-bg)}.notebook-confirm-box .confirm-delete{padding:8px 20px;border-radius:8px;border:none;background:var(--danger-color);color:#fff;cursor:pointer;font-size:14px;transition:opacity .15s}.notebook-confirm-box .confirm-delete:hover{opacity:.85}.search-modal-content{max-width:680px;width:90vw;max-height:85vh;height:600px;display:flex;flex-direction:column;padding:0!important;overflow:hidden;border-radius:16px;box-shadow:0 20px 40px #0006}.search-modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--glass-border);background:#0000001a}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:14px;color:var(--text-secondary);font-size:.95rem;pointer-events:none}.search-input-wrapper input{width:100%;padding:10px 38px;border-radius:10px;border:1px solid var(--btn-border);background:#ffffff0d;color:var(--text-primary);font-size:.95rem;outline:none;transition:all .2s ease}.search-input-wrapper input:focus{border-color:#3b82f6;background:#ffffff14;box-shadow:0 0 0 3px #3b82f633}.search-clear-btn{position:absolute;right:8px;background:transparent;border:none;color:var(--text-secondary);padding:4px 8px;cursor:pointer;font-size:.9rem}.search-clear-btn:hover{color:var(--text-primary)}.search-summary-bar{padding:8px 20px;background:#3b82f61a;border-bottom:1px solid rgba(59,130,246,.15);font-size:.82rem;color:#60a5fa;display:flex;justify-content:space-between;align-items:center}.search-results-container{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow-anchor:none;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.search-results-container.is-loading-scroll{touch-action:none;pointer-events:none}.search-loading-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;font-size:.82rem;color:var(--text-secondary);overflow-anchor:none}.mini-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.search-results-list{display:flex;flex-direction:column;gap:10px}.search-notebook-entry.notebook-entry{margin-bottom:8px}.search-notebook-entry.notebook-entry .entry-search-snippet{font-size:12px;color:var(--text-secondary);line-height:1.4;margin-top:4px;word-break:break-word}.search-notebook-entry.notebook-entry .search-jump-btn{background:none;border:1px solid transparent;color:var(--text-secondary);font-size:15px;cursor:pointer;width:32px;height:32px;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.search-notebook-entry.notebook-entry .search-jump-btn:hover{color:#3b82f6;background:#3b82f626;border-color:#3b82f64d}.search-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);text-align:center;gap:12px}.search-empty-state i{font-size:2.5rem;opacity:.5}.search-empty-state p{font-size:.95rem}.gtd-manager-content,.gtd-edit-modal-content{max-width:650px;width:92%;max-height:85vh;display:flex;flex-direction:column;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-premium);border-radius:18px}.gtd-manager-content .modal-header,.gtd-edit-modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 12px;margin-bottom:0;border-bottom:1px solid var(--glass-border)}.gtd-manager-content .modal-header h3,.gtd-edit-modal-content .modal-header h3{margin:0;font-size:1.05rem;font-weight:600;display:flex;align-items:center;color:var(--text-primary)}.gtd-header-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}#gtd-open-add-btn{background:var(--accent-color, #3b82f6);color:#fff;border:none;border-radius:16px;padding:5px 12px;font-size:.78rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .2s ease;box-shadow:0 2px 8px #3b82f640}#gtd-open-add-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}#gtd-manager-close,#gtd-task-edit-close{width:28px;height:28px;border-radius:50%;background:var(--entry-bg);border:1px solid var(--entry-border);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;transition:all .2s ease}#gtd-manager-close:hover,#gtd-task-edit-close:hover{background:var(--entry-hover-bg);color:var(--text-primary)}.gtd-manager-body{display:flex;flex-direction:column;gap:6px;padding:8px 14px 12px;overflow-y:auto}.gtd-manager-body::-webkit-scrollbar,.gtd-list-container::-webkit-scrollbar{width:5px}.gtd-manager-body::-webkit-scrollbar-track,.gtd-list-container::-webkit-scrollbar-track{background:transparent}.gtd-manager-body::-webkit-scrollbar-thumb,.gtd-list-container::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}.gtd-manager-body::-webkit-scrollbar-thumb:hover,.gtd-list-container::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.gtd-filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding-bottom:6px;border-bottom:1px solid var(--glass-border)}.gtd-segment-control{display:inline-flex;background:var(--entry-bg);border-radius:18px;padding:2px;border:1px solid var(--entry-border)}.gtd-actioner-segment{display:flex;width:100%}.gtd-actioner-segment .gtd-segment-btn{flex:1;justify-content:center;text-align:center}.gtd-segment-btn{background:transparent;border:none;color:var(--text-secondary);padding:3px 9px;border-radius:14px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.gtd-segment-btn.active{background:var(--accent-color, #3b82f6);color:#fff;box-shadow:0 2px 8px #3b82f64d}.gtd-status-tabs{display:flex;gap:3px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.gtd-tab-btn{background:var(--entry-bg);border:1px solid var(--entry-border);color:var(--text-secondary);padding:3px 8px;border-radius:10px;font-size:.72rem;cursor:pointer;white-space:nowrap;transition:all .2s ease}.gtd-tab-btn.active{background:var(--accent-color, #3b82f6);color:#fff;border-color:var(--accent-color, #3b82f6);font-weight:600}.gtd-subfilter-bar{display:flex;gap:6px;align-items:center;margin:1px 0}.gtd-context-select-wrapper{flex:1;min-width:100px;position:relative}.gtd-context-select-wrapper .glass-select{padding:4px 22px 4px 8px;font-size:.78rem;border-radius:8px;height:30px;background:var(--input-bg);border:1px solid var(--entry-border);color:var(--text-primary);line-height:1.2;transition:border-color .2s ease,box-shadow .2s ease}.gtd-context-select-wrapper .glass-select:focus{border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.gtd-context-select-wrapper .select-arrow{right:6px;font-size:.68rem;color:var(--text-secondary)}.gtd-search-wrapper{flex:1.5;min-width:130px;position:relative;display:flex;align-items:center}.gtd-search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:.72rem;color:var(--text-secondary);pointer-events:none;z-index:1}#gtd-search-input{width:100%;height:30px;background:var(--input-bg);border:1px solid var(--entry-border);border-radius:8px;padding:4px 24px 4px 28px;color:var(--text-primary);font-size:.78rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}#gtd-search-input:focus{border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.gtd-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-secondary);font-size:.72rem;cursor:pointer;padding:2px 4px;display:flex;align-items:center;justify-content:center}.gtd-search-clear:hover{color:var(--text-primary)}.gtd-quick-add-bar{display:flex;gap:6px;margin:1px 0 3px}.gtd-quick-add-bar input{flex:1;height:32px;background:var(--input-bg);border:1px solid var(--entry-border);border-radius:8px;padding:5px 10px;color:var(--text-primary);font-size:.8rem;outline:none;transition:border-color .2s ease}.gtd-quick-add-bar input:focus{border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.gtd-quick-add-bar button{height:32px;padding:4px 10px;font-size:.8rem;border-radius:8px}.gtd-list-container{display:flex;flex-direction:column;gap:6px;min-height:220px;max-height:calc(85vh - 160px);flex:1;overflow-y:auto;overflow-anchor:none;overscroll-behavior-y:contain;padding-right:4px;transition:opacity .15s ease}.gtd-list-container.is-refreshing{opacity:.6;pointer-events:none}.gtd-list-container.is-loading-scroll{touch-action:none;pointer-events:none}.gtd-load-more-sentinel{display:flex;align-items:center;justify-content:center;padding:12px 0 6px;min-height:36px}.gtd-sentinel-spinner{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary)}.gtd-sentinel-spinner i{color:var(--accent-color, #3b82f6)}.gtd-load-more-btn{background:var(--entry-bg);border:1px solid var(--entry-border);color:var(--text-secondary);border-radius:20px;padding:5px 14px;font-size:.78rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.gtd-load-more-btn:hover{background:var(--entry-hover-bg);color:var(--text-primary);border-color:var(--accent-color, #3b82f6)}.gtd-sentinel-end{font-size:.75rem;color:var(--text-secondary);opacity:.6;letter-spacing:.5px}.gtd-task-card{background:var(--entry-bg);border:1px solid var(--entry-border);border-radius:12px;padding:9px 12px;display:flex;align-items:flex-start;gap:8px;transition:all .2s ease;position:relative}.gtd-task-card:hover{background:var(--entry-hover-bg);border-color:var(--entry-expanded-border)}.gtd-task-card.status-completed{opacity:.65;border-left:3px solid #10b981}.gtd-task-card.status-cancelled{opacity:.55;border-left:3px solid #6b7280}.gtd-task-card.status-active{border-left:3px solid var(--accent-color, #3b82f6)}.gtd-task-card.status-inbox{border-left:3px solid #f59e0b}.gtd-checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-top:2px;transition:all .2s ease}.gtd-checkbox.checked{background:#10b981;border-color:#10b981;color:#fff}.gtd-task-main{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.gtd-task-content{font-size:.88rem;color:var(--text-primary);word-break:break-word;line-height:1.4}.gtd-task-card.status-completed .gtd-task-content{text-decoration:line-through}.gtd-task-card.status-cancelled .gtd-task-content{text-decoration:line-through;opacity:.8}.gtd-task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.72rem;color:var(--text-secondary)}.gtd-tag-badge{background:#3b82f626;color:var(--accent-color, #60a5fa);padding:1px 6px;border-radius:6px;font-weight:500}.gtd-due-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:6px;background:var(--entry-hover-bg);color:var(--text-secondary)}.gtd-due-badge.overdue{background:#ef444433;color:var(--danger-color, #f87171);font-weight:600}.gtd-rrule-badge{color:#10b981;background:#10b98126;padding:1px 6px;border-radius:6px}.gtd-actioner-badge{padding:1px 6px;border-radius:6px;font-size:.7rem;font-weight:500}.gtd-actioner-badge.user{background:#3b82f626;color:var(--accent-color, #93c5fd)}.gtd-actioner-badge.assistant{background:#a855f72e;color:#c084fc}.gtd-task-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.gtd-task-actions .icon-btn{width:26px;height:26px;font-size:.72rem;border-radius:6px;opacity:.75;padding:0}.gtd-task-actions .icon-btn:hover{opacity:1;background:var(--entry-hover-bg)}.gtd-edit-modal-content{max-width:520px;width:90%;max-height:85vh;display:flex;flex-direction:column;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-premium);border-radius:18px;overflow:hidden}.gtd-edit-form{display:flex;flex-direction:column;gap:12px;padding:16px;overflow-y:auto;flex:1}.gtd-edit-form::-webkit-scrollbar{width:5px}.gtd-edit-form::-webkit-scrollbar-track{background:transparent}.gtd-edit-form::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}.gtd-form-group{display:flex;flex-direction:column;gap:6px}.gtd-form-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.gtd-form-row{display:flex;gap:10px}.gtd-edit-form .gtd-segment-btn{font-size:.8rem;padding:5px 10px}.glass-input{width:100%;box-sizing:border-box;background:var(--input-bg);border:1px solid var(--entry-border);border-radius:8px;padding:7px 10px;color:var(--text-primary);font-size:.8rem;font-family:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.glass-input:focus{border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.glass-input::placeholder{color:var(--text-secondary);font-size:.8rem;opacity:.7}textarea.glass-input{resize:vertical;min-height:64px;line-height:1.4;field-sizing:content}#gtd-edit-payload{font-family:ui-monospace,SFMono-Regular,SF Pro Text,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem;-moz-tab-size:2;tab-size:2;white-space:pre-wrap;word-break:break-word;transition:height .15s ease-out}.gtd-edit-form .glass-select{padding:6px 26px 6px 10px;font-size:.8rem;border-radius:8px;height:34px;background:var(--input-bg);border:1px solid var(--entry-border);color:var(--text-primary);line-height:1.2;transition:border-color .2s ease,box-shadow .2s ease}.gtd-edit-form .glass-select option{font-size:.8rem;background:var(--menu-bg, #0f172a);color:var(--text-primary)}.gtd-rrule-presets{display:flex;flex-wrap:wrap;gap:6px}.gtd-chip-btn{background:var(--entry-bg);border:1px solid var(--entry-border);color:var(--text-secondary);padding:4px 10px;border-radius:12px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.gtd-chip-btn.active{background:var(--accent-color, #3b82f6);color:#fff;border-color:var(--accent-color, #3b82f6)}.gtd-rrule-preview{font-size:.8rem;color:var(--accent-color, #3b82f6);padding:5px 10px;background:#3b82f614;border:1px solid rgba(59,130,246,.18);border-radius:8px;display:flex;align-items:flex-start;gap:6px;margin-top:4px;word-break:break-all;white-space:normal;line-height:1.4}.gtd-rrule-preview i{flex-shrink:0;margin-top:2px}.gtd-rrule-preview a.gtd-rrule-link{color:var(--accent-color, #3b82f6);text-decoration:underline;font-weight:600}.gtd-rrule-preview a.gtd-rrule-link:hover{color:var(--accent-hover, #2563eb)}[data-theme=light] .gtd-rrule-preview{color:#2563eb;background:#2563eb14;border-color:#2563eb2e}#gtd-custom-rrule-wrapper,#gtd-custom-rrule-wrapper input{width:100%;box-sizing:border-box}.gtd-field-help{font-size:.74rem;color:var(--text-secondary);margin-top:4px;line-height:1.35}.gtd-timezone-notice{font-size:.76rem;color:#60a5fa;padding:6px 10px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:8px;display:flex;align-items:center;gap:6px;margin-top:-6px;margin-bottom:12px;line-height:1.4}.gtd-timezone-notice i{flex-shrink:0;font-size:.82rem;color:var(--accent-color, #3b82f6)}[data-theme=light] .gtd-timezone-notice{color:#1d4ed8;background:#2563eb14;border-color:#2563eb38}.gtd-field-help a{color:var(--accent-color, #3b82f6);text-decoration:underline;font-weight:500}.gtd-field-help a:hover{color:var(--accent-hover, #2563eb)}.gtd-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 16px;background:transparent;border-top:1px solid var(--glass-border)}.gtd-form-actions .msg-btn{font-size:.8rem;padding:6px 16px;border-radius:8px}@media(max-width:480px){.gtd-manager-content,.gtd-edit-modal-content{width:95%;max-height:92vh;border-radius:14px}.gtd-manager-body{padding:10px 12px 14px;gap:8px}.gtd-filter-bar{gap:6px}.gtd-segment-btn{padding:4px 8px;font-size:.75rem}.gtd-tab-btn{padding:3px 8px;font-size:.72rem}.gtd-task-card{padding:8px 10px;gap:6px}.gtd-task-content{font-size:.85rem}.gtd-task-actions .icon-btn{width:24px;height:24px;font-size:.7rem}.gtd-form-row{flex-direction:column;gap:8px}}@media(max-width:360px){.gtd-filter-bar{flex-direction:column;align-items:stretch}.gtd-segment-control{width:100%;justify-content:center}.gtd-subfilter-bar{flex-direction:column;align-items:stretch}.gtd-context-select-wrapper,.gtd-search-wrapper{width:100%}}.tg-binding-modal-content{max-width:440px;width:90%;padding:24px;display:flex;flex-direction:column;gap:16px}.tg-bind-loading-view{display:flex;justify-content:center;align-items:center;padding:40px 0;font-size:2rem;color:var(--accent-color)}.tg-bind-view{display:flex;flex-direction:column;gap:16px}.tg-bind-desc{font-size:.9rem;line-height:1.5;color:var(--text-secondary);margin:0}.tg-bind-main-btn{width:100%;padding:12px 18px;font-size:.95rem;font-weight:600;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #0284c733;transition:transform .2s,box-shadow .2s,filter .2s}.tg-bind-main-btn:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 6px 18px #0284c74d}.tg-bind-code-card{background:#ffffff08;border:1px solid var(--glass-border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px;animation:fadeIn .3s ease;box-shadow:0 4px 20px -2px #00000040}[data-theme=light] .tg-bind-code-card{background:#fff;border-color:#00000014;box-shadow:0 4px 20px -2px #0000000d,0 1px 3px #00000005}.tg-bind-code-header{display:flex;justify-content:space-between;align-items:center}.tg-bind-code-label{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary)}.tg-bind-timer-badge{font-size:.78rem;font-weight:600;color:#fbbf24;background:#fbbf241f;border:1px solid rgba(251,191,36,.25);padding:3px 10px;border-radius:20px;display:flex;align-items:center;gap:5px}[data-theme=light] .tg-bind-timer-badge{color:#b45309;background:#f59e0b1a;border-color:#f59e0b40}.tg-bind-code-display{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:1.85rem;font-weight:700;letter-spacing:4px;text-align:center;color:var(--accent-color);padding:14px 10px;background:#0f172aa6;border:1px solid rgba(56,189,248,.22);border-radius:12px;text-shadow:0 0 16px rgba(56,189,248,.25);-webkit-user-select:all;user-select:all}[data-theme=light] .tg-bind-code-display{background:#f1f5f9;border-color:#0284c733;color:#0284c7;text-shadow:none;box-shadow:inset 0 2px 4px #00000008}.tg-bind-instruction-box{display:flex;flex-direction:column;gap:6px}.tg-bind-instruction-text{font-size:.82rem;color:var(--text-secondary)}.tg-bind-cmd-box{display:flex;align-items:center;justify-content:space-between;background:#0f172a80;border:1px solid var(--glass-border);border-radius:10px;padding:8px 12px;gap:8px;cursor:pointer;transition:background .2s,border-color .2s}.tg-bind-cmd-box:hover{background:#0f172abf;border-color:#38bdf866}.tg-bind-cmd-box code{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--accent-color);word-break:break-all}[data-theme=light] .tg-bind-cmd-box{background:#f8fafc;border-color:#00000014}[data-theme=light] .tg-bind-cmd-box:hover{background:#f1f5f9;border-color:#0284c759}[data-theme=light] .tg-bind-cmd-box code{color:#0f172a;font-weight:600}.tg-copy-btn{width:30px;height:30px;font-size:.85rem;color:var(--text-secondary);border-radius:6px;flex-shrink:0;transition:color .2s,background .2s}.tg-copy-btn:hover{color:var(--text-primary);background:#ffffff1a}[data-theme=light] .tg-copy-btn:hover{color:var(--text-primary);background:#0000000f}.tg-bind-actions-row{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}.tg-bot-link-btn{flex:1 1 calc(50% - 5px);min-width:140px;text-decoration:none;text-align:center;background:var(--accent-gradient);color:#fff;padding:10px 14px;font-size:.88rem;font-weight:600;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #0284c733;transition:transform .2s,box-shadow .2s,filter .2s;box-sizing:border-box}.tg-bot-link-btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 6px 16px #0284c74d}.tg-bot-web-link-btn{flex:1 1 calc(50% - 5px);min-width:140px;text-decoration:none;text-align:center;background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-primary);padding:10px 14px;font-size:.88rem;font-weight:600;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s,background .2s,border-color .2s;box-sizing:border-box}.tg-bot-web-link-btn:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}[data-theme=light] .tg-bot-web-link-btn{background:#fff;border-color:#0000001a;box-shadow:0 1px 3px #0000000a}[data-theme=light] .tg-bot-web-link-btn:hover{background:#f8fafc;border-color:#0003}.tg-bind-poll-hint{font-size:.78rem;color:var(--text-secondary);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:4px}.tg-bound-badge-container{display:flex;align-items:center;gap:14px;background:#4ade8014;border:1px solid rgba(74,222,128,.22);padding:14px 18px;border-radius:14px}[data-theme=light] .tg-bound-badge-container{background:#16a34a0f;border-color:#16a34a2e}.tg-bound-icon{width:38px;height:38px;border-radius:50%;background:#4ade8026;border:1px solid rgba(74,222,128,.3);color:#4ade80;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}[data-theme=light] .tg-bound-icon{background:#16a34a1f;border-color:#16a34a40;color:#16a34a}.tg-bound-badge-text{font-size:.95rem;font-weight:600;color:#4ade80}[data-theme=light] .tg-bound-badge-text{color:#15803d}.tg-bound-info-card{background:#ffffff08;border:1px solid var(--glass-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px}[data-theme=light] .tg-bound-info-card{background:#fff;border-color:#0000000f;box-shadow:0 2px 10px #00000008}.tg-bound-info-row{display:flex;justify-content:space-between;align-items:center;font-size:.86rem}.tg-bound-info-row:not(:last-child){border-bottom:1px solid var(--glass-border);padding-bottom:8px}.tg-bound-label{color:var(--text-secondary)}.tg-bound-val{font-weight:600;color:var(--text-primary);font-family:JetBrains Mono,monospace}.tg-bound-desc{font-size:.85rem;line-height:1.5;color:var(--text-secondary);margin:0}.tg-bound-action-row{display:flex;justify-content:flex-end;margin-top:4px}.danger-btn{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.25);padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;transition:all .2s}.danger-btn:hover{background:#ef4444;color:#fff;border-color:transparent}[data-theme=light] .danger-btn{background:#dc26260f;color:#dc2626;border-color:#dc262633}[data-theme=light] .danger-btn:hover{background:#dc2626;color:#fff;border-color:transparent;box-shadow:0 2px 8px #dc262640}
