:root{--bg-primary: #0f0f23;--bg-secondary: #1a1a3e;--bg-chat: #12122b;--bg-user-msg: #7c3aed;--bg-agent-msg: #1e1e42;--text-primary: #f0f0ff;--text-secondary: #a0a0c0;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-muted: rgba(124, 58, 237, .2);--accent-glow: rgba(124, 58, 237, .4);--border: #2a2a5a;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--typing-dot: #7c3aed;--glass-bg: rgba(26, 26, 62, .65);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 20px;--glass-saturate: 160%;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 18px;--font-size-xl: 28px;--font-size-2xl: 32px;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.35);--shadow-lg: 0 12px 40px rgba(0,0,0,.5);--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}:root[data-theme=dark]{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--bg-chat: #1a1a2e;--bg-user-msg: #4da6ff;--bg-agent-msg: #16213e;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent: #4da6ff;--accent-hover: #3a8ee6;--accent-muted: rgba(77, 166, 255, .2);--accent-glow: rgba(77, 166, 255, .4);--border: #2a2a4a;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1)}:root[data-theme=light]{--bg-primary: #f4f4f9;--bg-secondary: #ffffff;--bg-chat: #eeeef4;--bg-user-msg: #7c3aed;--bg-agent-msg: #ffffff;--text-primary: #1a1a2e;--text-secondary: #5a5a6e;--border: #d0d0dd;--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(0, 0, 0, .08)}@keyframes typingEntrance{0%{opacity:0;transform:scale(.85) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blink{50%{opacity:0}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes stream-paused-pulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:.9;transform:translateY(-2px)}}@keyframes msg-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes hudSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}@keyframes sidebarIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulseMic{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.05);box-shadow:0 0 0 8px #ef444400}}@keyframes toast-slide-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(120%);opacity:0}}:root{--bg-primary: #0f0f23;--bg-secondary: #1a1a3e;--bg-chat: #12122b;--bg-user-msg: #7c3aed;--bg-agent-msg: #1e1e42;--text-primary: #f0f0ff;--text-secondary: #a0a0c0;--accent: #7c3aed;--accent-hover: #6d28d9;--border: #2a2a5a;--danger: #ef4444;--typing-dot: #7c3aed;--success: #22c55e;--glass-bg: rgba(26, 26, 62, .65);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 20px;--glass-saturate: 160%;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100%;max-width:100vw;position:relative;z-index:1}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.header-title{font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.status-dot.offline{background:var(--danger)}.messages{flex:1;min-height:0;overflow:hidden;padding:0;display:flex;flex-direction:column;gap:0}.virtuoso-container{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}.virtuoso-scroller{flex:1;min-height:0;padding:16px calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left))}.message{max-width:85%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.5;word-wrap:break-word}.message.user{align-self:flex-end;background:var(--bg-user-msg);color:#fff;border-bottom-right-radius:4px}.message.assistant{align-self:flex-start;background:var(--bg-agent-msg);border-bottom-left-radius:4px}.message.system{align-self:center;background:transparent;color:var(--text-secondary);font-size:13px;padding:4px 12px}.message img{max-width:100%;border-radius:8px;margin-top:8px}.message .timestamp{font-size:11px;color:var(--text-secondary);margin-top:4px;text-align:right}.message.assistant p{margin:0 0 8px}.message.assistant p:last-child{margin-bottom:0}.message.assistant code{background:#7c3aed33;padding:2px 6px;border-radius:4px;font-size:13px}.message.assistant pre{background:#0000004d;padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0}.message.assistant pre code{background:none;padding:0}.typing-indicator{align-self:flex-start;padding:12px 16px;display:flex;gap:4px;align-items:center;animation:typingEntrance .3s ease-out}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--typing-dot);animation:typing 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.input-area button{background:none;border:none;color:var(--accent);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.input-area button:hover{background:#7c3aed26}.input-area textarea{flex:1;background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;padding:10px 16px;color:var(--text-primary);font-size:15px;resize:none;max-height:120px;outline:none;font-family:inherit}.input-area textarea:focus{border-color:var(--accent)}.input-area textarea::placeholder{color:var(--text-secondary)}.send-btn{background:var(--accent)!important;color:#fff!important;width:40px;height:40px}.send-btn:hover{background:var(--accent-hover)!important}.send-btn:disabled{opacity:.4;cursor:not-allowed}.pair-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:24px;padding:24px;position:relative;z-index:1}.pair-screen h1{font-size:32px;background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pair-screen input{width:200px;text-align:center;font-size:24px;letter-spacing:8px;padding:12px;background:var(--bg-primary);border:2px solid var(--border);border-radius:12px;color:var(--text-primary);outline:none}.pair-screen input:focus{border-color:var(--accent)}.pair-screen button{padding:12px 32px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:16px;cursor:pointer}.image-preview{position:relative;padding:8px}.image-preview img{max-height:80px;border-radius:8px}.image-preview button{position:absolute;top:0;right:0;background:var(--danger);color:#fff;border:none;width:24px;height:24px;border-radius:50%;font-size:14px}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.pwa-banner{position:fixed;bottom:calc(20px + var(--safe-bottom));left:calc(20px + var(--safe-left));right:calc(20px + var(--safe-right));z-index:1000;animation:slideUp .3s ease-out}.pwa-banner-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #0000004d}.pwa-banner-icon{font-size:20px;background:var(--accent);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.pwa-banner-content strong{display:block;font-size:14px;font-weight:600;margin-bottom:2px}.pwa-banner-sub{font-size:12px;color:var(--text-secondary)}.pwa-install-btn,.pwa-dismiss-btn{padding:6px 12px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.pwa-install-btn{background:var(--accent);color:#fff}.pwa-install-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.pwa-dismiss-btn{background:var(--bg-primary);color:var(--text-secondary);width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center}.pwa-dismiss-btn:hover{background:var(--border);color:var(--text-primary)}.search-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .15s ease-out}.search-overlay{width:min(640px,calc(100vw - 32px));max-height:80vh;display:flex;flex-direction:column;border-radius:16px;background:var(--bg-secondary);border:1px solid var(--glass-border);box-shadow:0 8px 40px #00000080;overflow:hidden;animation:slideDown .2s ease-out}.search-overlay-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.search-overlay-icon{flex-shrink:0;color:var(--text-secondary)}.search-overlay-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:16px;font-family:inherit;line-height:1.4}.search-overlay-input::placeholder{color:var(--text-secondary)}.search-overlay-spinner{flex-shrink:0;color:var(--accent)}.search-spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-overlay-clear-btn{flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px;font-size:14px;transition:all .15s}.search-overlay-clear-btn:hover{background:var(--border);color:var(--text-primary)}.search-overlay-body{flex:1;overflow-y:auto;padding:8px 0}.search-overlay-body::-webkit-scrollbar{width:4px}.search-overlay-body::-webkit-scrollbar-track{background:transparent}.search-overlay-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.search-overlay-empty{display:flex;flex-direction:column;align-items:center;padding:48px 24px;color:var(--text-secondary);text-align:center}.search-overlay-empty-icon{font-size:32px;margin-bottom:12px}.search-overlay-empty p{font-size:15px;margin-bottom:4px}.search-overlay-empty-hint{font-size:13px;opacity:.6}.search-overlay-group{padding:4px 0}.search-overlay-group-title{display:flex;align-items:center;gap:8px;padding:8px 20px 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);opacity:.7}.search-overlay-result{display:block;width:100%;text-align:left;background:none;border:none;border-radius:0;padding:10px 20px;cursor:pointer;transition:background .1s;color:var(--text-primary);font-family:inherit}.search-overlay-result:hover{background:#7c3aed1a}.search-overlay-result:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.search-overlay-result-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.search-overlay-role{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.search-overlay-role--user{background:var(--bg-user-msg);color:#fff}.search-overlay-role--assistant{background:var(--accent);color:#fff}.search-overlay-role--system{background:var(--border);color:var(--text-secondary)}.search-overlay-time{font-size:11px;color:var(--text-secondary);margin-left:auto}.search-overlay-result-snippet{font-size:13px;line-height:1.5;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.search-overlay-result-snippet mark{background:#7c3aed59;color:var(--text-primary);border-radius:2px;padding:1px 2px}.search-overlay-footer{padding:10px 20px;border-top:1px solid var(--border);flex-shrink:0}.search-overlay-footer-hint{font-size:11px;color:var(--text-secondary);opacity:.6}.search-overlay-footer-hint kbd{display:inline-block;padding:1px 5px;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;font-family:inherit;font-size:11px;margin:0 1px}.message-highlight{animation:messageHighlightPulse 2s ease-out}@keyframes messageHighlightPulse{0%{background-color:#7c3aed4d;box-shadow:0 0 0 2px #7c3aed66}50%{background-color:#7c3aed26;box-shadow:0 0 0 2px #7c3aed1a}to{background-color:transparent;box-shadow:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:480px){.pwa-banner{bottom:calc(10px + var(--safe-bottom));left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right))}.pwa-banner-content{padding:10px 12px;gap:10px}.pwa-install-btn{padding:6px 10px;font-size:11px}}.offline-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--danger);color:#fff;font-size:13px;font-weight:500;flex-shrink:0;animation:slideDown .3s ease-out;z-index:999}.offline-banner--pending{display:none}.offline-banner-icon{font-size:14px;flex-shrink:0}.offline-banner-text{flex:1}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.settings-toggle-label{font-size:14px;color:var(--text-primary)}.settings-toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--border);border-radius:24px;transition:background .2s}.settings-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:var(--text-primary);border-radius:50%;transition:transform .2s}.settings-toggle input:checked+.settings-toggle-slider{background:var(--accent)}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(20px)}@media(min-width:768px){.message{max-width:75%}.message.user{max-width:65%}.header{padding:calc(12px + var(--safe-top)) calc(24px + var(--safe-right)) calc(12px + var(--safe-top)) calc(24px + var(--safe-left))}.input-area{padding-left:calc(24px + var(--safe-left));padding-right:calc(24px + var(--safe-right))}.toast-container{bottom:calc(20px + var(--safe-bottom));right:calc(24px + var(--safe-right));max-width:min(60vw,420px)}.sessions-sidebar{width:320px}.empty-state-hero{gap:8px}.empty-state-title{font-size:32px}.empty-state-tagline{font-size:16px}}.app:before,.pair-screen:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}.gradient-overlay,.grid-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}.gradient-overlay{background:radial-gradient(circle at 50% 0%,rgba(124,58,237,.1) 0%,transparent 70%)}.grid-overlay{background-image:linear-gradient(90deg,rgba(124,58,237,.05) 1px,transparent 1px),linear-gradient(rgba(124,58,237,.05) 1px,transparent 1px);background-size:50px 50px}@media(max-width:480px){.message{max-width:90%}}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur, 20px)) saturate(var(--glass-saturate, 160%));-webkit-backdrop-filter:blur(var(--glass-blur, 20px)) saturate(var(--glass-saturate, 160%));border:1px solid var(--glass-border)}.header{padding-top:calc(12px + var(--safe-top));padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}.input-area{padding-bottom:calc(12px + var(--safe-bottom) + var(--keyboard-offset, 0px));padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}.session-item{touch-action:pan-y;transition:transform .25s ease;position:relative;overflow:hidden}.session-item.swiping{transition:none}.session-item .session-item-delete-bg{position:absolute;right:0;top:0;bottom:0;width:72px;background:var(--danger, #ef4444);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;border-radius:0 8px 8px 0;opacity:0;transition:opacity .2s;pointer-events:none}.session-item.show-delete .session-item-delete-bg{opacity:1}:root[data-theme=light] .session-item .session-item-delete-bg{background:#dc2626}.send-btn{width:44px;height:44px}.input-area button{min-width:44px;min-height:44px;padding:10px}.new-chat-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:36px}.new-chat-btn:hover{background:var(--accent-hover)}.header-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.header-status .online{color:var(--success)}.header-status .offline{color:var(--danger)}.header-status .queue-badge{background:var(--accent);color:#fff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.version-badge{font-size:11px;color:var(--text-secondary);cursor:pointer;padding:2px 6px;border-radius:6px;background:#7c3aed26}.version-badge:hover{background:#7c3aed40}.hermes-badge{font-size:11px;color:var(--success);background:#22c55e1f;border:1px solid rgba(34,197,94,.3);padding:2px 8px;border-radius:10px;font-weight:500;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.hermes-badge.online{color:#86efac;background:#22c55e2e;border-color:#22c55e73}.hermes-badge.online:hover{background:#22c55e47}.hermes-badge .hermes-version-inline{color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-left:2px;font-size:10.5px}.hermes-badge.local-only{color:#93c5fd;background:#3b82f624;border-color:#3b82f666}.hermes-badge.local-only:hover{background:#3b82f638}.hermes-badge.offline{color:var(--text-secondary);background:#a0a0c01a;border-color:#a0a0c040}.hermes-badge.offline:hover{background:#a0a0c02e}.ais-badge{font-size:11px;color:var(--success);background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);padding:2px 8px;border-radius:10px;font-weight:500;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.ais-badge.online{color:#fbbf24;background:#f59e0b2e;border-color:#f59e0b73}.ais-badge.online:hover{background:#f59e0b47}.ais-badge.offline{color:var(--text-secondary);background:#a0a0c01a;border-color:#a0a0c040}.ais-badge.offline:hover{background:#a0a0c02e}.stream-cursor{display:inline-block;width:.5ch;color:currentColor;background:currentColor;margin-left:2px;animation:blink 1s step-end infinite;vertical-align:text-bottom;height:1em}.message.streaming{position:relative}.message.streaming:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(124,58,237,.05),transparent);background-size:200% 100%;animation:shimmer 2s linear infinite}.message.pending{opacity:.65}.tool-trail{margin-top:8px;border:1px solid rgba(124,58,237,.2);border-radius:8px;background:#0f0f2366;font-size:.85em;overflow:hidden}.tool-trail>summary{cursor:pointer;padding:6px 10px;color:var(--text-secondary);font-weight:500;-webkit-user-select:none;user-select:none;list-style:none}.tool-trail>summary::-webkit-details-marker{display:none}.tool-trail>summary:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .15s ease}.tool-trail[open]>summary:before{transform:rotate(90deg)}.tool-trail[open]>summary{border-bottom:1px solid rgba(124,58,237,.15)}.tool-call{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04)}.tool-call:last-child{border-bottom:none}.tool-call--running{border-left:2px solid var(--accent)}.tool-call--done{border-left:2px solid rgba(34,197,94,.6)}.tool-call--error{border-left:2px solid rgba(239,68,68,.6)}.tool-name{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.85em;color:var(--accent);background:#7c3aed1a;padding:1px 6px;border-radius:4px}.tool-args,.tool-output{margin:6px 0 0;padding:6px 8px;background:#00000059;border-radius:4px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8em;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;color:var(--text-secondary)}.usage-footer{margin-top:6px;font-size:.75em;color:var(--text-secondary);opacity:.7;text-align:right}.scroll-down-btn{position:absolute;right:16px;bottom:16px;width:40px;height:40px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006;z-index:5;transition:transform .15s}.scroll-down-btn:hover{transform:scale(1.1)}.scroll-down-btn:active{transform:scale(.95)}.pull-to-refresh-indicator{position:absolute;top:72px;left:50%;transform:translate(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .15s ease;color:var(--text-secondary);font-size:.8rem}.pull-to-refresh-indicator.ptr-ready{color:var(--accent)}.ptr-spinner{width:22px;height:22px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}.preview-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.preview-bar img{max-height:80px;max-width:min(60vw,220px);border-radius:8px}.preview-bar button{background:var(--danger);color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:14px;cursor:pointer;margin-left:auto;flex-shrink:0}.message-image{display:block;max-width:100%;max-height:280px;border-radius:8px;margin-top:8px;cursor:zoom-in}.message-file{display:inline-block;margin-top:8px;padding:6px 12px;background:#7c3aed33;border-radius:8px;color:var(--text-primary);text-decoration:none;font-size:13px}.message-file:hover{background:#7c3aed4d}.version-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;padding:calc(20px + var(--safe-bottom)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left))}.version-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:24px;max-width:360px;width:100%;color:var(--text-primary)}.version-content h3{margin:0 0 12px;font-size:18px;color:var(--accent)}.version-content p{margin:6px 0;font-size:14px;color:var(--text-secondary)}.version-content p strong{color:var(--text-primary)}.version-content button{margin-top:16px;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.version-content>div[style*=flex]{display:flex;gap:8px}.file-upload-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;padding:calc(20px + var(--safe-bottom)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left))}.file-upload-modal .version-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:24px;max-width:360px;width:100%;color:var(--text-primary)}.file-upload-modal .version-content h3{margin:0 0 12px;font-size:18px;color:var(--accent)}.file-upload-modal .version-content .hint{font-size:12px;opacity:.7}.system-message{font-style:italic;color:var(--text-secondary);font-size:13px}.swarm-status{background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border, #e0e0e0);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4;max-width:380px}.swarm-status-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.swarm-status-icon{font-size:16px;line-height:1}.swarm-status-title{font-weight:600;color:var(--text-primary, #1a1a1a)}.swarm-status-id{color:var(--text-secondary, #888);font-size:11px;margin-left:auto}.swarm-status-bar{height:6px;background:var(--border, #e0e0e0);border-radius:3px;margin:6px 0;overflow:hidden}.swarm-status-bar-fill{height:100%;background:var(--accent, #2563eb);border-radius:3px;transition:width .4s ease}.swarm-status-stats{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.swarm-stat{padding:1px 6px;border-radius:4px}.swarm-stat.done{background:#dcfce7;color:#166534}.swarm-stat.fail{background:#fee2e2;color:#991b1b}.swarm-stat.total{background:#f3f4f6;color:#6b7280}.swarm-stat.pct{font-weight:600;color:var(--accent, #2563eb)}.swarm-subtask-details{margin-top:8px;font-size:12px}.swarm-subtask-details summary{cursor:pointer;color:var(--text-secondary, #888);font-weight:500}.swarm-subtask{display:flex;gap:8px;align-items:center;padding:3px 0;border-bottom:1px solid var(--border, #eee)}.swarm-subtask:last-child{border-bottom:none}.swarm-subtask-role{font-weight:500;flex:1}.swarm-subtask-status{font-size:11px;padding:1px 5px;border-radius:3px}.swarm-subtask-status.completed{background:#dcfce7;color:#166534}.swarm-subtask-status.failed{background:#fee2e2;color:#991b1b}.swarm-subtask-status.running{background:#dbeafe;color:#1e40af}.swarm-subtask-status.pending{background:#f3f4f6;color:#6b7280}.swarm-subtask-worker{color:var(--text-secondary, #888)}.swarm-subtask-sats{color:var(--text-secondary, #888);font-size:11px}.swarm-status-cost{margin-top:6px;font-size:11px;color:var(--text-secondary, #888);text-align:right}.swarm-complete .swarm-status-header .swarm-status-icon{color:#16a34a}.swarm-status.reasoning{border-left:3px solid var(--accent, #2563eb)}.swarm-status-reasoning{color:var(--text-secondary, #555);font-size:12px;white-space:pre-wrap;line-height:1.5}.swarm-status-summary{color:var(--text-primary, #1a1a1a);font-size:13px;line-height:1.5}.swarm-status-agent{color:var(--accent, #2563eb);font-size:11px;font-weight:500}.empty-state-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-secondary);padding:32px;text-align:center}.empty-state-logo{margin-bottom:4px}.empty-state-logo-glyph{width:56px;height:56px;color:var(--accent);opacity:.8;filter:drop-shadow(0 0 20px rgba(124,58,237,.3))}.empty-state-title{font-size:28px;font-weight:700;background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:4px 0 0}.empty-state-tagline{font-size:15px;margin:0;color:var(--text-primary)}.empty-state-hint{font-size:12px;margin:0;opacity:.7}.empty-state-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;max-width:480px;justify-content:center}.empty-state-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease;min-height:36px}.empty-state-chip:hover{background:#ffffff14;border-color:#ffffff3d;transform:translateY(-1px)}.empty-state-chip:active{transform:translateY(0)}.empty-state-chip:focus-visible{outline:2px solid #a855f7;outline-offset:2px}.empty-state-chip-icon{font-size:14px;line-height:1}.empty-state-chip-label{font-weight:500}.empty-state-actions{display:flex;align-items:center;gap:12px;margin-top:24px}.empty-state-changelog-btn{background:none;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit}.empty-state-changelog-btn:hover{background:#ffffff0a;border-color:#fff3}.empty-state-shortcut-hint{font-size:11px;opacity:.5}.empty-state-shortcut-hint kbd{display:inline-block;padding:1px 5px;border-radius:3px;border:1px solid rgba(255,255,255,.12);font-family:inherit;font-size:11px}:root[data-theme=light] .empty-state-chip{border-color:#0000001f;background:#00000008;color:#1a1a2e}:root[data-theme=light] .empty-state-chip:hover{background:#0000000f;border-color:#0003}:root[data-theme=light] .empty-state-changelog-btn{border-color:#0000001a}:root[data-theme=light] .empty-state-shortcut-hint kbd{border-color:#00000026;background:#00000008}.markdown-body{word-wrap:break-word}.markdown-body p{margin:0 0 8px}.markdown-body p:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{margin:4px 0;padding-left:20px}.markdown-body li{margin:2px 0}.markdown-body blockquote{border-left:3px solid var(--accent);margin:4px 0;padding:4px 12px;color:var(--text-secondary);background:#7c3aed14;border-radius:0 6px 6px 0}.markdown-body a{color:var(--accent);text-decoration:underline}.markdown-body strong{font-weight:700}.markdown-body em{font-style:italic}.inline-code{background:#7c3aed33;padding:1px 6px;border-radius:4px;font-size:.9em;font-family:ui-monospace,SF Mono,Menlo,monospace}.code-block{background:#00000059;border:1px solid rgba(255,255,255,.06);border-radius:8px;margin:8px 0;overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px}.code-lang{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.code-copy-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:2px 10px;font-size:11px;cursor:pointer;min-height:24px;transition:all .15s}.code-copy-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.code-block pre{margin:0;padding:12px;overflow-x:auto;font-size:13px;font-family:ui-monospace,SF Mono,Menlo,monospace;line-height:1.5}.code-block pre code{background:none;padding:0;font-size:inherit}.markdown-body .code-block>div[class*=language-]{font-size:13px;line-height:1.55}.markdown-body .code-block .linenumber,.markdown-body .code-block .code-line,.markdown-body .code-block .react-syntax-highlighter-line-number{color:#ffffff40;-webkit-user-select:none;user-select:none;padding-right:8px;min-width:2em;display:inline-block;text-align:right}.markdown-body .code-block:focus,.markdown-body .table-scroll:focus,.markdown-body:focus{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.user-chip{display:inline;padding:1px 7px;border-radius:6px;font-size:.92em;font-weight:600;line-height:1.4;white-space:nowrap;cursor:default;-webkit-user-select:text;user-select:text;border:1px solid transparent;transition:background .15s,border-color .15s}.user-chip.slash-chip{background:#7c3aed2e;color:#c4b5fd;border-color:#7c3aed59;font-family:ui-monospace,SF Mono,Menlo,monospace}.user-chip.slash-chip:before{content:"";display:inline-block;width:4px;height:4px;background:var(--accent);border-radius:50%;margin-right:5px;vertical-align:2px}.user-chip.link-chip{background:#38bdf826;color:#7dd3fc;border-color:#38bdf859;text-decoration:none;font-weight:500}.user-chip.link-chip:hover{background:#38bdf840;border-color:#38bdf88c}.stream-paused-indicator{display:inline-flex;gap:3px;align-items:center;margin-left:6px;vertical-align:middle}.stream-paused-indicator .dot{display:inline-block;width:4px;height:4px;background:var(--text-secondary);border-radius:50%;opacity:.6;animation:stream-paused-pulse 1.1s ease-in-out infinite}.stream-paused-indicator .dot:nth-child(2){animation-delay:.15s}.stream-paused-indicator .dot:nth-child(3){animation-delay:.3s}.open-fence-tail,.stream-flicker-tail{display:inline;font-size:0;color:transparent;-webkit-user-select:none;user-select:none}.markdown-body:focus{box-shadow:0 0 0 1px #7c3aed40 inset}.markdown-body.stream-paused .stream-cursor{opacity:.35}.markdown-body.user p,.markdown-body.user li{color:#fffffff2}.markdown-body.assistant p,.markdown-body.assistant li{color:var(--text-primary)}.date-separator{display:flex;align-items:center;justify-content:center;margin:16px 0 8px;position:relative}.date-separator:before{content:"";flex:1;height:1px;background:var(--border);margin-right:12px}.date-separator:after{content:"";flex:1;height:1px;background:var(--border);margin-left:12px}.date-separator span{font-size:12px;color:var(--text-secondary);background:var(--bg-primary);padding:0 10px;white-space:nowrap;font-weight:500;letter-spacing:.3px}.message.grouped{margin-top:2px;border-radius:16px}.message.grouped:not(:last-of-type){margin-bottom:2px}.message.user.grouped{border-top-right-radius:4px;border-bottom-right-radius:4px}.message.user.grouped:first-of-type{border-top-right-radius:16px}.message.user.grouped:last-of-type{border-bottom-right-radius:16px}.message.assistant.grouped{border-top-left-radius:4px;border-bottom-left-radius:4px}.message.assistant.grouped:first-of-type{border-top-left-radius:16px}.message.assistant.grouped:last-of-type{border-bottom-left-radius:16px}.remo-spoiler{display:inline;cursor:pointer;background:#7c3aed73;border-radius:4px;padding:0 4px;transition:all .4s ease;filter:blur(6px);-webkit-user-select:none;user-select:none;position:relative}.remo-spoiler.revealed{filter:none;background:transparent;cursor:default;-webkit-user-select:text;user-select:text}.remo-spoiler:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.remo-spoiler:not(.revealed):hover{background:#7c3aed99}.message.failed{animation:msg-shake .5s ease-in-out;border-color:var(--danger, #ef4444)!important}.show-more-btn{display:block;background:none;border:none;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;padding:4px 0;margin-top:4px;transition:opacity .15s;min-height:32px}.show-more-btn:hover{opacity:.8;text-decoration:underline}.table-scroll{overflow-x:auto;margin:8px 0;-webkit-overflow-scrolling:touch}.markdown-body table{border-collapse:collapse;width:100%;font-size:14px}.markdown-body th,.markdown-body td{border:1px solid rgba(255,255,255,.1);padding:6px 10px;text-align:left}.markdown-body th{background:#7c3aed26;font-weight:600;color:var(--text-primary)}.markdown-body td{color:var(--text-secondary)}.markdown-body tr:nth-child(2n) td{background:#ffffff05}.markdown-body del{text-decoration:line-through;opacity:.7}.markdown-body input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin-right:6px;vertical-align:middle;cursor:default;pointer-events:none}.markdown-body li.task-list-item{list-style:none;margin-left:-20px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:12px 0 6px;color:var(--accent);line-height:1.3}.markdown-body h1{font-size:1.3em}.markdown-body h2{font-size:1.15em}.markdown-body h3{font-size:1.05em}.markdown-body h4{font-size:1em}.copy-msg-btn{opacity:.6;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:4px;transition:opacity .15s,background .15s;float:right;margin-left:8px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:28px}.message:hover .copy-msg-btn,.copy-msg-btn:focus-visible{opacity:1}.copy-msg-btn:hover{background:#7c3aed26;color:var(--accent);border-color:var(--accent)}.reaction-bar{display:flex;gap:2px;margin-top:8px;opacity:.85;transition:opacity .15s;flex-wrap:wrap}.message:hover .reaction-bar,.reaction-bar:focus-within{opacity:1}.reaction-btn{background:none;border:1px solid transparent;border-radius:12px;padding:2px 6px;font-size:15px;cursor:pointer;transition:all .15s;line-height:1;min-height:28px;display:flex;align-items:center}.reaction-btn:hover{background:#7c3aed1f;border-color:#7c3aed33;transform:scale(1.15)}.reaction-btn.active{background:#7c3aed33;border-color:var(--accent)}.reaction-btn.toggling{opacity:.5;pointer-events:none}.reaction-summary{display:flex;gap:4px;align-items:center;margin-left:4px;font-size:12px}.reaction-count{display:flex;align-items:center;gap:1px;color:var(--text-secondary);font-size:12px;line-height:1}.session-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:1;margin-left:auto}.sidebar-export-all-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;font-size:16px;border-radius:6px;min-width:32px;min-height:32px;margin-right:auto;margin-left:8px}.sidebar-export-all-btn:hover{background:#ffffff0d;color:var(--text-primary)}.read-receipt{display:inline-flex;align-items:center;margin-left:6px;font-size:10px;color:var(--accent);opacity:.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.confirm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px}.confirm-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:360px;width:100%;box-shadow:0 12px 48px #00000080}.confirm-modal h3{margin:0 0 8px;font-size:16px;color:var(--text-primary)}.confirm-modal p{margin:0 0 20px;color:var(--text-secondary);font-size:14px;line-height:1.5}.confirm-modal-actions{display:flex;gap:8px;justify-content:flex-end}.confirm-modal-actions button{min-height:44px;padding:0 18px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer}.confirm-modal-actions .danger{background:var(--danger);border-color:var(--danger);color:#fff}.confirm-modal-actions .danger:hover{background:#b91c1c}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--accent);color:#fff;padding:8px 16px;border-radius:0 0 6px;font-size:14px;text-decoration:none}.skip-link:focus{left:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.context-hud{display:flex;align-items:center;gap:8px;padding:6px 12px;margin:0 8px 4px;font-size:11px;color:var(--text-secondary);border-radius:6px;background:#ffffff08;-webkit-user-select:none;user-select:none}.context-hud .hud-bar{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden;position:relative}.context-hud .hud-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--success);width:0;transition:width .3s,background .3s}.context-hud.warn .hud-fill{background:var(--accent, #f59e0b)}.context-hud.danger .hud-fill{background:var(--danger)}.context-hud .hud-cache{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.context-hud{animation:hudSlideDown .3s ease-out}.session-branch-glyph{display:inline-block;font-size:11px;color:var(--accent);margin-right:4px;vertical-align:middle}.session-branch-glyph:before{content:"↳ "}.replay-bar{position:sticky;top:0;z-index:10;background:#0f0f23eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;font-size:13px}.replay-bar .replay-speed{display:inline-flex;gap:4px;background:#ffffff0a;border-radius:6px;padding:2px}.replay-bar .replay-speed button{min-width:36px;min-height:32px;border:0;background:transparent;color:var(--text-secondary);border-radius:4px;font-size:12px;cursor:pointer}.replay-bar .replay-speed button.active{background:var(--accent);color:#fff}.local-inferred-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:#4ade80;background:#22c55e1f;border:1px solid rgba(34,197,94,.3);border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000e0;display:flex;align-items:center;justify-content:center;animation:lightboxIn .2s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox-close{position:absolute;top:calc(20px + var(--safe-top));right:calc(20px + var(--safe-right));background:#ffffff1a;border:none;color:#fff;width:40px;height:40px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:1}.lightbox-close:hover{background:#fff3}.image-lightbox img{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px #00000080;cursor:zoom-out}.message-image{cursor:zoom-in;transition:transform .15s}.message-image:hover{transform:scale(1.02)}.sidebar-toggle-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;transition:background .15s,color .15s}.sidebar-toggle-btn:hover{background:#7c3aed26;color:var(--accent)}.sessions-sidebar{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:85vw;z-index:200;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border);animation:sidebarIn .2s ease-out;padding-top:calc(12px + var(--safe-top));padding-bottom:var(--safe-bottom)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.sidebar-header h3{margin:0;font-size:16px;color:var(--accent)}.sidebar-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;font-size:18px;border-radius:6px;min-width:32px;min-height:32px}.sidebar-close-btn:hover{background:#ffffff0d;color:var(--text-primary)}.new-session-btn{margin:12px 16px;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.new-session-btn:hover{background:var(--accent-hover)}.sessions-list{flex:1;overflow-y:auto;padding:0 8px 16px;display:flex;flex-direction:column;gap:4px}.session-item{position:relative;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s}.session-item:hover{background:#7c3aed1a}.session-item.active{background:#7c3aed33;border:1px solid rgba(124,58,237,.4)}.session-item-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.session-item-title{font-size:14px;font-weight:500;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item-count{font-size:11px;color:var(--text-secondary);background:#ffffff0f;border-radius:8px;padding:1px 6px;flex-shrink:0}.session-item-preview{font-size:12px;color:var(--text-secondary);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:.6;transition:opacity .15s}.session-item:hover .session-item-actions,.session-item.active .session-item-actions{opacity:1}.session-item-actions button{background:#ffffff0d;border:none;color:var(--text-secondary);font-size:12px;padding:4px 6px;border-radius:4px;cursor:pointer;min-width:28px;min-height:28px}.session-item-actions button:hover{background:#7c3aed33;color:var(--accent)}.session-rename-input{width:100%;background:var(--bg-primary);border:1px solid var(--accent);border-radius:6px;color:var(--text-primary);font-size:14px;padding:6px 8px;outline:none}.sidebar-loading,.sidebar-empty{text-align:center;color:var(--text-secondary);font-size:13px;padding:24px}.search-bar-container{position:relative}.search-toggle-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.search-toggle-btn:hover{background:#7c3aed26;color:var(--accent)}.search-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 32px);max-height:70vh;border-radius:12px;z-index:50;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px #00000080}.search-input-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.search-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:14px;outline:none}.search-input::placeholder{color:var(--text-secondary)}.search-spinner{animation:spin 1s linear infinite;display:inline-block;font-size:16px}.search-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;font-size:14px;border-radius:4px}.search-close-btn:hover{background:#ffffff0d;color:var(--text-primary)}.search-results{flex:1;overflow-y:auto;padding:4px}.search-empty{text-align:center;color:var(--text-secondary);font-size:13px;padding:24px}.search-result{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:10px 12px;margin:2px 0;cursor:pointer;color:var(--text-primary);transition:background .15s}.search-result:hover{background:#7c3aed26}.search-result.user{border-left:2px solid rgba(124,58,237,.5)}.search-result.assistant{border-left:2px solid rgba(34,197,94,.5)}.search-result-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.search-result-role{text-transform:uppercase;font-weight:600;letter-spacing:.5px}.search-result-session{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-content{font-size:13px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result mark{background:#ffd7004d;color:var(--text-primary);border-radius:2px;padding:0 2px}.voice-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;transition:all .15s}.voice-btn:hover{background:#7c3aed26}.voice-btn.listening{color:#fff;background:var(--danger);animation:pulseMic 1.4s ease-in-out infinite}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.settings-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;width:100%;max-width:480px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.settings-header h2{margin:0;font-size:1.25rem;font-weight:600}.settings-close{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1}.settings-close:hover{color:var(--text-primary)}.settings-loading{color:var(--text-secondary);text-align:center;padding:2rem 0}.settings-section{margin-bottom:1.25rem}.settings-section label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.settings-input{width:100%;padding:.625rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color .2s;box-sizing:border-box}.settings-input:focus{border-color:var(--accent)}.settings-input:disabled{opacity:.5}.settings-hint{font-size:.75rem;color:var(--text-secondary);margin-top:.375rem;margin-bottom:0}.optional{color:var(--text-secondary);font-style:italic}.settings-actions{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.settings-btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.settings-btn:hover{background:var(--bg-secondary)}.settings-btn.primary{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}.settings-btn.primary:hover{filter:brightness(1.1)}.settings-btn.danger{border-color:#ef4444;color:#ef4444}.settings-btn.danger:hover{background:#ef444422}.settings-btn:disabled{opacity:.4;cursor:not-allowed}.settings-message{padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;margin-bottom:1rem}.settings-message.success{background:#22c55e22;color:#22c55e;border:1px solid #22c55e44}.settings-message.error{background:#ef444422;color:#ef4444;border:1px solid #ef444444}.settings-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem}.plan-badge{display:inline-block;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.plan-badge.free{background:#2a2d35;color:#888}.plan-badge.pro{background:#a78bfa33;color:#a78bfa}.plan-badge.team{background:#22c55e33;color:#22c55e}.settings-url-badge{font-size:.75rem;color:var(--text-secondary)}.settings-gear{background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:.25rem;display:flex;align-items:center;opacity:.6;transition:opacity .2s}.settings-gear:hover{opacity:1;color:var(--text-primary)}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:0;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0009}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.admin-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.admin-close{background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);padding:.375rem .75rem;font-size:.8125rem;cursor:pointer;transition:all .15s}.admin-close:hover{border-color:var(--accent);color:var(--text-primary)}.admin-tabs{display:flex;gap:.25rem;padding:0 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.admin-tab{background:none;border:none;color:var(--text-secondary);padding:.625rem 1rem;cursor:pointer;font-size:.875rem;font-weight:500;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.admin-content{flex:1;overflow-y:auto;padding:1rem 1.25rem 1.5rem}.admin-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem}.admin-card:last-child{margin-bottom:0}.admin-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:.75rem;flex-wrap:wrap}.admin-card-title{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.admin-card-header .admin-card-title{margin-bottom:0}.admin-card-hint{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.45}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.admin-stat{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem}.admin-stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-weight:500}.admin-stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.admin-table-scroll{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-primary)}.admin-table th,.admin-table td{text-align:left;padding:.625rem .875rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#7c3aed0a}.admin-job-row.expanded td{background:#7c3aed08}.admin-job-row.expanded+tr td{padding:0!important}.verification-spinner{display:inline-block;width:10px;height:10px;border:2px solid rgba(160,160,192,.3);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.cell-expand{width:2rem;text-align:center}.expand-arrow{font-size:.65rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.admin-capability-list{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.admin-timeline{padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border)}.admin-timeline-step{display:flex;align-items:flex-start;gap:.75rem;position:relative;padding:.375rem 0}.admin-timeline-marker{width:1.25rem;height:1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;color:var(--text-secondary);border:2px solid var(--border);background:var(--bg-primary)}.admin-timeline-step.completed .admin-timeline-marker{background:#22c55e;border-color:#22c55e;color:#fff}.admin-timeline-step.active .admin-timeline-marker{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 6px #7c3aed66}.admin-timeline-step.future .admin-timeline-marker{background:transparent;border-color:var(--border);color:var(--text-tertiary)}.admin-timeline-content{display:flex;gap:.75rem;align-items:baseline;padding-top:.125rem}.admin-timeline-label{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.admin-timeline-step.future .admin-timeline-label{color:var(--text-tertiary)}.admin-timeline-time{font-size:.75rem;color:var(--text-secondary);font-family:ui-monospace,SF Mono,Menlo,monospace}.admin-timeline-line{position:absolute;left:.5625rem;top:1.5rem;width:2px;height:calc(100% - .75rem);background:var(--border)}.admin-timeline-step.completed .admin-timeline-line{background:#22c55e}.admin-table th{color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:var(--bg-secondary)}.admin-user-email{font-weight:500;display:flex;align-items:center;gap:.5rem}.admin-user-self{display:inline-block;padding:.05rem .4rem;border-radius:4px;font-size:.6875rem;background:var(--accent);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.admin-user-displayname{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.admin-actions-cell{position:relative;text-align:right}.admin-action-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);padding:.3rem .625rem;font-size:.75rem;cursor:pointer;transition:all .15s}.admin-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-action-menu{position:absolute;top:100%;right:0;margin-top:.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;min-width:140px;box-shadow:0 4px 12px #00000080;z-index:10;overflow:hidden}.admin-action-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;padding:.5rem .75rem;color:var(--text-primary);cursor:pointer;font-size:.8125rem;text-align:left;transition:background .1s}.admin-action-menu-item:hover{background:#7c3aed26}.admin-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:.5rem 1rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.admin-btn:hover:not(:disabled){border-color:var(--accent)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.admin-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.admin-message{padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;margin-bottom:.75rem}.admin-message.ok{background:#22c55e26;color:var(--success, #22c55e);border:1px solid rgba(34,197,94,.35)}.admin-message.error{background:#ef444426;color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.35)}.admin-error{padding:.75rem 1rem;border-radius:8px;background:#ef44441f;color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.3);font-size:.875rem}.admin-loading{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.admin-empty{padding:1.5rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem;font-style:italic}.admin-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8125rem}.admin-license-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.admin-feature-list{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.admin-feature-chip{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:500;font-family:ui-monospace,SF Mono,Menlo,monospace}.admin-feature-chip.on{background:#22c55e2e;color:var(--success, #22c55e)}.admin-feature-chip.off{background:#a0a0c01f;color:var(--text-secondary)}.admin-license-key{margin-top:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;word-break:break-all;-webkit-user-select:all;user-select:all}.tier-badge{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-family:inherit}.tier-badge.free{background:#2a2d35;color:#888}.tier-badge.pro{background:#a78bfa33;color:#a78bfa}.tier-badge.team{background:#22c55e33;color:#22c55e}.tier-badge.admin{background:#ef444433;color:#ef4444}.admin-header-link{background:none;border:none;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:4px;opacity:.7;transition:all .15s;text-transform:uppercase;letter-spacing:.04em}.admin-header-link:hover{opacity:1;color:var(--accent);background:#7c3aed14}.wh-console{font-size:.875rem}.wh-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap}.wh-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.wh-header-actions{display:flex;gap:.5rem}.wh-section-title{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.wh-section-hint{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.4}.wh-webhooks-section{margin-top:.5rem}.wh-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:.5rem 1rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:.375rem}.wh-btn:hover:not(:disabled){border-color:var(--accent)}.wh-btn:disabled{opacity:.5;cursor:not-allowed}.wh-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.wh-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.wh-btn.danger{background:#ef444426;border-color:#ef444466;color:var(--danger, #ef4444)}.wh-btn.danger:hover:not(:disabled){background:#ef444440}.wh-btn-sm{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);padding:.25rem .5rem;font-size:.6875rem;cursor:pointer;transition:all .15s;white-space:nowrap}.wh-btn-sm:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.wh-btn-sm.danger{color:var(--danger, #ef4444)}.wh-btn-sm.danger:hover{border-color:var(--danger)}.wh-table-scroll{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}.wh-table{width:100%;border-collapse:collapse;font-size:.8125rem;min-width:800px}.wh-table th,.wh-table td{text-align:left;padding:.625rem .75rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.wh-table tbody tr:last-child td{border-bottom:none}.wh-table tbody tr:hover{background:#7c3aed0a}.wh-table th{color:var(--text-secondary);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;background:var(--bg-secondary)}.wh-cell-center{text-align:center}.wh-cell-name{font-weight:500}.wh-cell-url{max-width:200px}.wh-cell-date{white-space:nowrap;color:var(--text-secondary);font-size:.75rem}.wh-url-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.wh-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}.wh-status-dot.green{background:var(--success, #22c55e);box-shadow:0 0 6px #22c55e80}.wh-status-dot.red{background:var(--danger, #ef4444);box-shadow:0 0 6px #ef444480}.wh-status-dot.gray{background:#555}.wh-events-cell{display:flex;flex-direction:column;gap:.25rem}.wh-event-chip{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--text-secondary);cursor:default}.wh-event-chip input[type=checkbox]{width:11px;height:11px;accent-color:var(--accent);pointer-events:none;opacity:.7}.wh-event-chip span{white-space:nowrap}.wh-secret-cell{display:flex;flex-direction:column;gap:.25rem;max-width:200px}.wh-secret-actions{display:flex;gap:.25rem}.wh-action-btns{display:flex;gap:.25rem;white-space:nowrap}.wh-message{padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;margin-bottom:.75rem}.wh-message.ok{background:#22c55e26;color:var(--success, #22c55e);border:1px solid rgba(34,197,94,.35)}.wh-message.error{background:#ef444426;color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.35)}.wh-error{padding:.75rem 1rem;border-radius:8px;background:#ef44441f;color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.3);font-size:.8125rem;margin-bottom:.75rem}.wh-loading{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.wh-empty{padding:1.5rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem;font-style:italic}.wh-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem;word-break:break-all}.wh-hint{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.wh-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.wh-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0009}.wh-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.wh-modal-header h3{margin:0;font-size:1rem;font-weight:600}.wh-modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1}.wh-modal-close:hover{color:var(--text-primary)}.wh-modal-body{flex:1;overflow-y:auto;padding:1rem 1.25rem}.wh-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border)}.wh-field{margin-bottom:1rem}.wh-field:last-child{margin-bottom:0}.wh-label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-primary);margin-bottom:.375rem}.wh-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:.5rem .75rem;font-size:.8125rem;font-family:inherit;transition:border-color .15s}.wh-input:focus{outline:none;border-color:var(--accent)}.wh-input::placeholder{color:#555}.wh-checkbox-group{display:flex;flex-direction:column;gap:.375rem}.wh-checkbox-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-primary);cursor:pointer}.wh-checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.wh-test-result{margin-top:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.75rem}.wh-test-result.success{background:#22c55e1f;color:var(--success);border:1px solid rgba(34,197,94,.3)}.wh-test-result.failed{background:#ef44441f;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.wh-templates-section{margin-bottom:1.25rem;padding:1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px}.wh-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.wh-template-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;transition:border-color .15s}.wh-template-card:hover{border-color:var(--accent)}.wh-template-icon{font-size:1.5rem;width:2rem;text-align:center;flex-shrink:0}.wh-template-info{flex:1;min-width:0}.wh-template-name{font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:.125rem}.wh-template-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.25rem}.wh-template-url{font-size:.6875rem;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--text-secondary);word-break:break-all}.wh-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.wh-confirm-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.25rem;max-width:400px;width:100%;box-shadow:0 8px 32px #0009}.wh-confirm-modal h3{margin:0 0 .5rem;font-size:1rem}.wh-confirm-modal p{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.wh-confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}.wh-delivery-log-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.wh-delivery-log-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:100%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0009}.wh-delivery-log-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.wh-delivery-log-header h3{margin:0;font-size:.9375rem;font-weight:600}.wh-delivery-filters{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.wh-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:.4rem .75rem;font-size:.8125rem;cursor:pointer;font-family:inherit}.wh-select:focus{outline:none;border-color:var(--accent)}.wh-delivery-list{flex:1;overflow-y:auto;padding:.5rem}.wh-delivery-item{border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;overflow:hidden;transition:border-color .15s}.wh-delivery-item:hover{border-color:var(--accent)}.wh-delivery-item:last-child{margin-bottom:0}.wh-delivery-summary{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.wh-delivery-status{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;min-width:55px;text-align:center}.wh-delivery-status.success{background:#22c55e33;color:var(--success, #22c55e)}.wh-delivery-status.failed{background:#ef444433;color:var(--danger, #ef4444)}.wh-delivery-status.pending{background:#facc1526;color:#eab308}.wh-delivery-event{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem;color:var(--text-primary);font-weight:500}.wh-delivery-http{font-size:.75rem;color:var(--text-secondary)}.wh-delivery-latency{font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.wh-delivery-time{font-size:.6875rem;color:var(--text-secondary);margin-left:auto}.wh-delivery-expand{font-size:.625rem;color:var(--text-secondary);flex-shrink:0}.wh-delivery-detail{padding:.5rem .75rem .75rem;border-top:1px solid var(--border);background:var(--bg-primary)}.wh-delivery-error{padding:.5rem;background:#ef44441a;border-radius:6px;font-size:.75rem;color:var(--danger, #ef4444);margin-bottom:.5rem}.wh-delivery-section{margin-bottom:.5rem}.wh-delivery-section:last-child{margin-bottom:0}.wh-delivery-section strong{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.25rem}.wh-payload-pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:.5rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6875rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;color:var(--text-primary)}Prometheus metrics,stale alerts ========================================================================= */ .admin-swarm-list{display:flex;flex-direction:column;gap:.75rem}.admin-swarm-item{border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;transition:border-color .15s}.admin-swarm-item:hover{border-color:var(--accent)}.admin-swarm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem;flex-wrap:wrap}.admin-swarm-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8125rem;font-weight:600;color:var(--text-primary)}.admin-swarm-date{font-size:.75rem;color:var(--text-secondary)}.admin-swarm-status{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.admin-swarm-status.planned{background:#64748b33;color:#94a3b8}.admin-swarm-status.executing{background:#3b82f633;color:#60a5fa}.admin-swarm-status.settled{background:#22c55e33;color:#22c55e}.admin-swarm-status.cancelled{background:#ef444433;color:#ef4444}.admin-swarm-subtasks{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.admin-swarm-subtask{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .45rem;border-radius:6px;font-size:.6875rem;font-weight:500;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary)}.admin-swarm-subtask.done{border-color:#22c55e59;color:#22c55e}.admin-swarm-subtask.fail{border-color:#ef444459;color:#ef4444}.admin-swarm-subtask.running{border-color:#3b82f659;color:#60a5fa}.admin-progress-bar{width:100%;height:6px;background:#ffffff0f;border-radius:999px;overflow:hidden;margin-top:.5rem}.admin-progress-fill{height:100%;border-radius:999px;transition:width .5s ease;background:linear-gradient(90deg,var(--accent, #7c3aed),#a78bfa)}.admin-progress-fill.warn{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.admin-progress-fill.fail{background:linear-gradient(90deg,#ef4444,#dc2626)}.admin-progress-label{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--text-secondary);margin-top:.2rem}.admin-workers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.admin-worker-card{border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;transition:border-color .15s}.admin-worker-card:hover{border-color:var(--accent)}.admin-worker-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;flex-shrink:0}.admin-worker-indicator.active{background:#22c55e;box-shadow:0 0 6px #22c55e80}.admin-worker-indicator.stale{background:#f59e0b;box-shadow:0 0 6px #f59e0b80}.admin-worker-indicator.alert{background:#ef4444;box-shadow:0 0 6px #ef444480}.admin-worker-indicator.offline{background:#64748b}.admin-worker-name{font-weight:600;font-size:.875rem;color:var(--text-primary);display:flex;align-items:center}.admin-worker-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6875rem;color:var(--text-secondary);word-break:break-all;margin:.15rem 0 .5rem}.admin-worker-stats{display:grid;grid-template-columns:1fr 1fr;gap:.3rem .75rem;margin:.5rem 0}.admin-worker-stat{font-size:.75rem;display:flex;justify-content:space-between;color:var(--text-secondary)}.admin-worker-stat-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.admin-worker-version{font-size:.6875rem;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--text-secondary)}.admin-mesh-container{border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem}.admin-mesh-peer{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem;color:var(--text-primary);border-bottom:1px solid var(--border)}.admin-mesh-peer:last-child{border-bottom:none}.admin-mesh-link{display:flex;align-items:center;gap:.4rem;padding:.15rem 0;font-size:.6875rem;color:var(--text-secondary)}.admin-mesh-link .arrow{color:var(--accent)}.admin-mesh-link .relay-tag{display:inline-block;padding:.05rem .3rem;border-radius:4px;font-size:.625rem;font-weight:600;background:#7c3aed26;color:#a78bfa;text-transform:uppercase}.admin-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.admin-metric-card{border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;text-align:center}.admin-metric-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:500;margin-bottom:.25rem}.admin-metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.admin-metric-sub{font-size:.6875rem;color:var(--text-secondary);margin-top:.125rem}.admin-metric-table-wrap{max-height:280px;overflow-y:auto}.admin-metric-name{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6875rem;color:var(--accent)}.admin-alert-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;margin-bottom:.75rem}.admin-alert-banner.warn{background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#fbbf24}.admin-alert-banner.error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#ef4444}.admin-alert-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.admin-alert-dot.warn{background:#f59e0b}.admin-alert-dot.error{background:#ef4444}.pair-card{width:min(380px,calc(100vw - 32px));margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px;padding:36px 32px 32px;border-radius:20px;background:linear-gradient(135deg,#7c3aed2e,#a855f71a);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff0f;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%)}.pair-card .pair-logo{font-size:56px;line-height:1;filter:drop-shadow(0 8px 30px rgba(124,58,237,.45));margin-top:4px}.pair-screen h1{font-size:34px;font-weight:700;letter-spacing:-.02em;margin:4px 0 0;background:linear-gradient(135deg,#a78bfa,#7c3aed,#f472b6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pair-screen .subtitle{color:var(--text-secondary);font-size:14px;margin:0 0 12px;text-align:center}.pair-screen .version-info{color:#ffffff59;font-size:11px;margin-top:4px}.pair-hint-toggle{margin-top:16px!important;background:transparent!important;color:#ffffffb3!important;font-size:12px!important;padding:6px 12px!important;text-decoration:underline dotted;text-underline-offset:3px}.pair-hint-toggle:hover{color:#fffffff2!important}.pair-hint{margin-top:12px;padding:14px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:12px;line-height:1.55;text-align:left;color:#ffffffc7;max-width:360px}.pair-hint p{margin:0 0 8px}.pair-hint p:last-child{margin-bottom:0}.pair-hint strong{color:#fffffff2}.pair-hint code{font-size:11px;background:#00000052;padding:1px 4px;border-radius:3px}.pair-screen input{width:100%;box-sizing:border-box;font-size:18px;letter-spacing:.18em;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:14px 16px;background:#00000059;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s,background .15s;caret-color:var(--accent)}.pair-screen input::placeholder{color:#ffffff40;letter-spacing:.4em}.pair-screen input:focus{border-color:#a78bfa99;box-shadow:0 0 0 4px #7c3aed38;background:#00000073}.pair-screen .error{width:100%;margin:-4px 0 0;padding:8px 12px;border-radius:8px;background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fecaca;font-size:12.5px;text-align:center}.pair-screen button{width:100%;margin-top:6px;padding:13px 24px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 24px #7c3aed52;transition:transform .08s ease,box-shadow .15s ease,filter .15s ease}.pair-screen button:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 14px 28px #7c3aed73}.pair-screen button:active:not(:disabled){transform:translateY(1px)}.pair-screen button:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}.theme-picker{display:flex;gap:8px;margin-top:6px}.theme-option{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffd9;font-size:12px;font-family:inherit;cursor:pointer;min-height:40px;transition:background .12s ease,border-color .12s ease}.theme-option:hover{background:#ffffff14}.theme-option.active{background:#a855f72e;border-color:#a855f7;color:#fff}.theme-option:focus-visible{outline:2px solid #a855f7;outline-offset:2px}.theme-icon{font-size:14px}:root[data-theme=light]{--bg-primary: #f7f7fb;--bg-secondary: #ffffff;--bg-chat: #f0f0f5;--bg-agent-msg: #ffffff;--text-primary: #1a1a24;--text-secondary: #5a5a6e;--accent: #7c3aed;--accent-hover: #6d28d9;--border: rgba(0, 0, 0, .1);--glass-bg: rgba(255, 255, 255, .6);--glass-border: rgba(0, 0, 0, .08);--glass-blur: 20px;--glass-saturate: 160%;--success: #16a34a;--danger: #dc2626}:root[data-theme=light] body{background:#f7f7fb;color:#1a1a24}:root[data-theme=light] .glass{background:#fff9;border-color:#00000014;color:#1a1a24}:root[data-theme=light] .starter-chip{background:#fff9;border-color:#0000001f;color:#1a1a24}:root[data-theme=light] .starter-chip:hover{background:#ffffffd9;border-color:#0003}:root[data-theme=light] .pair-hint{background:#ffffffb3;color:#1a1a24;border-color:#0000001f}:root[data-theme=light] .pair-hint strong{color:#1a1a24}:root[data-theme=light] .pair-hint code{background:#00000014;color:#1a1a24}:root[data-theme=light] .theme-option{background:#fff9;border-color:#0000001f;color:#1a1a24}:root[data-theme=light] .theme-option:hover{background:#ffffffd9}:root[data-theme=light] .header{background:#fff;border-bottom-color:#00000014}:root[data-theme=light] .input-area{background:#fff;border-top-color:#00000014}:root[data-theme=light] .input-area textarea{background:#f7f7fb;border-color:#0000001f;color:#1a1a24}:root[data-theme=light] .sessions-sidebar{background:#fff;border-right-color:#00000014}:root[data-theme=light] .sidebar-header{border-bottom-color:#00000014}:root[data-theme=light] .message.assistant{background:#fff}:root[data-theme=light] .version-content,:root[data-theme=light] .settings-panel,:root[data-theme=light] .admin-panel{background:#fff}:root[data-theme=light] .version-content p{color:#5a5a6e}:root[data-theme=light] .context-hud{background:#00000008;color:#5a5a6e}:root[data-theme=light] .media-preview-item{background:#f7f7fb;border-color:#0000001a}:root[data-theme=light] .media-input-dropzone{background:#7c3aed0f}:root[data-theme=light] .media-input-dropzone-inner{background:#fff}:root[data-theme=light] .preview-bar{background:#ffffffd9;color:#1a1a24}:root[data-theme=light] .pwa-banner-content{background:#fff;border-color:#0000001a}:root[data-theme=light] .replay-bar{background:#0000000a;color:#1a1a24}.toast-container{position:fixed;bottom:calc(16px + var(--safe-bottom));right:calc(16px + var(--safe-right));z-index:10000;display:flex;flex-direction:column-reverse;gap:10px;max-width:min(92vw,380px);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;min-width:260px;max-width:100%;padding:12px 14px;border-radius:12px;background:#141626eb;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);color:#f4f4f6;font-size:14px;line-height:1.4;box-shadow:0 12px 32px #00000073,0 2px 6px #0000004d;cursor:pointer;position:relative;overflow:hidden;border-left-width:3px}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:currentColor;opacity:.85}.toast-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px}.toast-icon-success{color:#34d399}.toast-icon-error{color:#f87171}.toast-icon-info{color:#60a5fa}.toast-icon-warn{color:#fbbf24}.toast-success{border-left-color:#34d399;color:#f4f4f6}.toast-error{border-left-color:#f87171;color:#f4f4f6}.toast-info{border-left-color:#60a5fa;color:#f4f4f6}.toast-warn{border-left-color:#fbbf24;color:#f4f4f6}.toast-message{flex:1 1 auto;word-break:break-word;white-space:pre-wrap}.toast-close{flex:0 0 auto;background:transparent;border:0;color:#ffffff8c;cursor:pointer;padding:2px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.toast-close:hover{background:#ffffff14;color:#ffffffe6}.toast-action-btn{flex:0 0 auto;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#f4f4f6;font-size:12px;font-weight:600;font-family:inherit;padding:4px 10px;border-radius:6px;cursor:pointer;transition:background .12s ease,border-color .12s ease;white-space:nowrap}.toast-action-btn:hover{background:#ffffff26;border-color:#fff3}.toast-row{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.toast-enter{animation:toast-slide-in .22s cubic-bezier(.2,.9,.3,1.1) both}.toast-exit{animation:toast-slide-out .18s ease-in both;pointer-events:none}:root[data-theme=light] .toast{background:#fffffff2;border-color:#00000014;color:#1a1a24;box-shadow:0 12px 32px #0000001f,0 2px 6px #0000000f}:root[data-theme=light] .toast-close{color:#0006}:root[data-theme=light] .toast-close:hover{background:#0000000d;color:#000c}@media(prefers-reduced-motion:reduce){.toast-enter{animation:none;opacity:1}.toast-exit{animation:none;opacity:0;transition:opacity .16s linear}.reaction-btn:hover,.message-image:hover,.scroll-down-btn:hover,.scroll-down-btn:active,.pwa-install-btn:hover{transform:none}.typing-indicator,.message-skeleton-shimmer{animation:none}}.media-input{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.media-input--dragging{position:relative}.media-preview{display:flex;gap:8px;padding:4px 2px;overflow-x:auto;flex-shrink:0}.media-preview-item{position:relative;width:52px;height:52px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--bg-primary);border:1px solid var(--border)}.media-preview-thumb{width:100%;height:100%;object-fit:cover;display:block}.media-preview-thumb--placeholder{display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-secondary)}.media-preview-remove{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--danger);color:#fff;border:2px solid var(--bg-secondary);font-size:10px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s}.media-preview-item:hover .media-preview-remove{opacity:1}.media-input-row{display:flex;align-items:flex-end;gap:4px}.media-btn{background:none!important;border:none!important;color:var(--accent)!important;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;width:36px;height:36px}.media-btn:hover{background:#7c3aed26!important}.media-input-children{flex:1;display:flex;align-items:flex-end;gap:4px;min-width:0}.media-input-dropzone{position:absolute;top:0;right:0;bottom:0;left:0;background:#7c3aed14;border:2px dashed var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.media-input-dropzone-inner{background:var(--bg-secondary);color:var(--text-secondary);padding:8px 16px;border-radius:8px;font-size:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.error-boundary{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--bg-primary),#1a0533,#0a0a1a);display:flex;align-items:center;justify-content:center;z-index:9999}.error-boundary-card{text-align:center;padding:2.5rem;max-width:400px;border-radius:16px}.error-boundary-icon{font-size:3rem;margin-bottom:.75rem}.error-boundary-card h2{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.error-boundary-msg{margin:0 0 1.25rem;font-size:.875rem;color:var(--text-secondary);word-break:break-word}.error-boundary-btn{background:var(--accent);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:filter .2s}.error-boundary-btn:hover{filter:brightness(1.1)}.message-search{display:flex;align-items:center;gap:6px;flex:1;max-width:300px;margin:0 12px;position:relative;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg, 12px);padding:4px 10px;transition:border-color var(--transition-fast, .12s)}.message-search:focus-within{border-color:var(--accent)}.message-search-icon{flex-shrink:0;color:var(--text-secondary);opacity:.6}.message-search-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:13px;outline:none;min-width:0;font-family:inherit}.message-search-input::placeholder{color:var(--text-secondary);opacity:.6}.message-search-count{font-size:11px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;opacity:.7}.message-search-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:4px;flex-shrink:0;opacity:.6;transition:opacity var(--transition-fast, .12s)}.message-search-clear:hover{opacity:1;color:var(--text-primary)}mark.search-highlight{background:#4da6ff4d;color:inherit;border-radius:2px;padding:0 1px}.message.has-search{border-left:2px solid var(--accent);padding-left:12px}@media(max-width:640px){.message-search{max-width:160px;margin:0 8px;padding:3px 8px}.message-search-count{display:none}}.mp-container{position:relative}.mp-toast{position:fixed;bottom:1.5rem;right:1.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:500;z-index:1000;animation:mp-toast-in .25s ease;box-shadow:0 4px 16px #00000080}.mp-toast-success{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.35)}.mp-toast-error{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.35)}@keyframes mp-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mp-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:.75rem}.mp-analytic-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;text-align:center}.mp-analytic-label{font-size:.6875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-weight:500}.mp-analytic-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.mp-filter-bar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem;align-items:flex-end}.mp-filter-group{display:flex;flex-direction:column;gap:.2rem;min-width:120px}.mp-filter-group--sort{min-width:150px;margin-left:auto}.mp-filter-label{font-size:.6875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.mp-filter-select,.mp-filter-input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:.4rem .6rem;font-size:.8125rem;font-family:inherit}.mp-filter-select:focus,.mp-filter-input:focus{border-color:var(--accent);outline:none}.mp-filter-input{width:70px}.mp-workers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.mp-worker-card{border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;gap:.5rem}.mp-worker-card:hover{border-color:var(--accent);box-shadow:0 2px 12px #7c3aed1a}.mp-worker-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.mp-worker-name{font-weight:600;font-size:.875rem;color:var(--text-primary);display:flex;align-items:center}.mp-worker-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6875rem;color:var(--text-secondary);word-break:break-all}.mp-trust-badge{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid;white-space:nowrap}.mp-cap-chips{display:flex;flex-wrap:wrap;gap:.3rem}.mp-cap-chip{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.625rem;font-weight:500;background:#7c3aed1f;color:#a78bfa;border:1px solid rgba(124,58,237,.25)}.mp-worker-stats{display:flex;gap:.75rem;flex-wrap:wrap}.mp-worker-stat{display:flex;flex-direction:column;gap:.05rem}.mp-worker-stat-label{font-size:.625rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.mp-worker-stat-value{font-size:.875rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.mp-worker-meta{font-size:.6875rem;color:var(--text-secondary)}.mp-deploy-btn{margin-top:auto;width:100%;text-align:center}.mp-register-panel{margin-top:1rem}.mp-input-group{margin-bottom:.625rem}.mp-input-label{display:block;font-size:.75rem;color:var(--text-secondary);font-weight:500;margin-bottom:.25rem}.mp-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:.45rem .7rem;font-size:.8125rem;font-family:inherit;box-sizing:border-box}.mp-input:focus{border-color:var(--accent);outline:none}.mp-input-narrow{max-width:200px}.mp-cap-checkbox-group{display:flex;flex-wrap:wrap;gap:.375rem}.mp-cap-checkbox{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);cursor:pointer;font-size:.75rem;color:var(--text-primary);transition:all .1s;-webkit-user-select:none;user-select:none}.mp-cap-checkbox:hover{border-color:var(--accent)}.mp-cap-checkbox input{accent-color:var(--accent)}.mp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:900;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mp-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:90%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000080}.mp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.mp-modal-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.mp-modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:0 .25rem;line-height:1}.mp-modal-close:hover{color:var(--text-primary)}.mp-modal-body{padding:1rem 1.25rem;overflow-y:auto;flex:1}.mp-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border)}.mp-modal-info{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.8125rem}.mp-modal-info-label{color:var(--text-secondary)}.mp-modal-info-value{color:var(--text-primary);font-weight:500}.mp-modal-estimate{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;margin-top:.5rem;background:#7c3aed14;border-radius:8px;font-size:.875rem;color:var(--text-primary)}.mp-textarea{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:.45rem .7rem;font-size:.8125rem;font-family:inherit;resize:vertical;box-sizing:border-box;min-height:60px}.mp-textarea:focus{border-color:var(--accent);outline:none}.mp-disconnected{text-align:center;padding:2.5rem 1.5rem!important}.mp-disconnected-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.6}.admin-invite-result{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:.5rem}.admin-invite-pin{font-size:1.8rem;font-weight:700;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--accent);letter-spacing:.1em;padding:.5rem 0}.admin-config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.admin-config-field{display:flex;flex-direction:column;gap:.35rem}.admin-config-field label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.admin-config-field .settings-input{width:100%;box-sizing:border-box;padding:.5rem .7rem;border-radius:8px;border:1px solid var(--border);background:#00000040;color:var(--text-primary);font-size:.875rem;font-family:inherit}.admin-toggle-row{display:flex;align-items:center;gap:.5rem}.admin-table .admin-actions-cell{display:flex;gap:.35rem;align-items:center;white-space:nowrap}.admin-invite-result .admin-btn{align-self:flex-start}:root[data-theme=light] .admin-config-field .settings-input{background:#f7f7fb;border-color:#00000026;color:#1a1a24}:root[data-theme=light] .admin-invite-result{background:#00000005}.sd-dashboard{display:flex;flex-direction:column;gap:1rem}.sd-loading,.sd-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.sd-loading{font-style:normal}.sd-empty{font-style:italic}.sd-error{padding:.75rem 1rem;border-radius:8px;background:#ef44441f;color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.3);font-size:.875rem}.sd-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.sd-card-title{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.sd-card-hint{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.45}.sd-dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.sd-stat-card{border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;text-align:center;background:var(--bg-secondary)}.sd-stat-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:500;margin-bottom:.25rem}.sd-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.sd-stat-sub{font-size:.6875rem;color:var(--text-secondary);margin-top:.125rem}.sd-status-badge{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sd-status-badge.planned{background:#64748b33;color:#94a3b8}.sd-status-badge.executing{background:#3b82f633;color:#60a5fa}.sd-status-badge.settled{background:#22c55e33;color:#22c55e}.sd-status-badge.cancelled{background:#ef444433;color:#ef4444}.sd-subtask-badge{display:inline-block;padding:.05rem .35rem;border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.sd-subtask-badge.assigned{background:#64748b33;color:#94a3b8}.sd-subtask-badge.running{background:#3b82f633;color:#60a5fa}.sd-subtask-badge.complete{background:#22c55e33;color:#22c55e}.sd-subtask-badge.failed{background:#ef444433;color:#ef4444}.sd-timeline{display:flex;flex-direction:column;gap:.625rem}.sd-swarm-item{border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;transition:border-color .15s,box-shadow .15s;cursor:pointer}.sd-swarm-item:hover{border-color:var(--accent)}.sd-swarm-item.expanded{border-color:var(--accent);box-shadow:0 0 0 1px #7c3aed26}.sd-swarm-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;-webkit-user-select:none;user-select:none}.sd-swarm-header-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sd-swarm-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.sd-expand-arrow{font-size:.625rem;color:var(--text-secondary);transition:transform .15s;width:12px;text-align:center;flex-shrink:0}.sd-expand-arrow.open{transform:rotate(90deg)}.sd-swarm-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8125rem;font-weight:600;color:var(--text-primary)}.sd-swarm-date{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.sd-swarm-budget{font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.sd-swarm-running-badge{display:inline-block;padding:.05rem .35rem;border-radius:4px;font-size:.625rem;font-weight:600;background:#3b82f633;color:#60a5fa;animation:sd-pulse 2s infinite}.sd-swarm-failed-badge{display:inline-block;padding:.05rem .35rem;border-radius:4px;font-size:.625rem;font-weight:600;background:#ef444433;color:#ef4444}.sd-swarm-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--text-secondary);margin:.35rem 0 .25rem;flex-wrap:wrap}.sd-swarm-meta strong{color:var(--text-primary);font-weight:600}.sd-swarm-no-tasks{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin-top:.25rem}.sd-progress-wrap{margin:.35rem 0 0}.sd-progress-bar{width:100%;height:5px;background:#ffffff0f;border-radius:999px;overflow:hidden}.sd-progress-fill{height:100%;border-radius:999px;transition:width .5s ease;background:linear-gradient(90deg,var(--accent, #7c3aed),#a78bfa);width:0%}.sd-progress-fill.done{background:linear-gradient(90deg,#22c55e,#4ade80)}.sd-progress-fill.active{background:linear-gradient(90deg,var(--accent, #7c3aed),#a78bfa)}.sd-progress-label{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--text-secondary);margin-top:.15rem}.sd-subtask-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.sd-subtask-card{border:1px solid var(--border);border-radius:8px;padding:.5rem .625rem;font-size:.75rem}.sd-subtask-card:hover{border-color:var(--accent)}.sd-subtask-card.complete{border-color:#22c55e4d}.sd-subtask-card.failed{border-color:#ef44444d}.sd-subtask-card.running{border-color:#3b82f64d}.sd-subtask-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.2rem}.sd-subtask-role{font-weight:600;color:var(--text-primary);font-size:.75rem}.sd-subtask-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.625rem;color:var(--text-secondary);word-break:break-all}.sd-subtask-worker{font-size:.625rem;color:var(--text-secondary);margin-top:.15rem}.sd-alert-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;margin-bottom:.75rem}.sd-alert-banner.warn{background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#fbbf24}.sd-alert-banner.error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#ef4444}.sd-alert-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sd-alert-dot.warn{background:#f59e0b}.sd-alert-dot.error{background:#ef4444}.sd-worker-search{position:relative;margin-bottom:.75rem}.sd-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.sd-worker-search-input{width:100%;box-sizing:border-box;padding:.45rem .75rem .45rem 2rem;font-size:.8125rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .15s}.sd-worker-search-input:focus{border-color:var(--accent)}.sd-worker-search-input::placeholder{color:var(--text-secondary)}.sd-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:.125rem .25rem;line-height:1}.sd-workers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.sd-worker-card{border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;transition:border-color .15s}.sd-worker-card:hover{border-color:var(--accent)}.sd-worker-top{margin-bottom:.5rem}.sd-worker-name-row{display:flex;align-items:center;gap:.4rem}.sd-worker-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.sd-worker-dot.active{background:#22c55e;box-shadow:0 0 6px #22c55e80}.sd-worker-dot.stale{background:#f59e0b;box-shadow:0 0 6px #f59e0b80}.sd-worker-dot.alert{background:#ef4444;box-shadow:0 0 6px #ef444480}.sd-worker-dot.offline{background:#64748b}.sd-worker-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.sd-worker-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6875rem;color:var(--text-secondary);word-break:break-all;margin-top:.1rem}.sd-worker-stats{display:grid;grid-template-columns:1fr 1fr;gap:.3rem .75rem;margin:.5rem 0}.sd-worker-stat{font-size:.75rem;display:flex;justify-content:space-between;color:var(--text-secondary)}.sd-worker-stat-label{color:var(--text-secondary)}.sd-worker-stat-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.sd-worker-name-cell{font-weight:600;color:var(--text-primary)}.sd-cost-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.sd-cost-card{border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;text-align:center;background:var(--bg-secondary)}.sd-cost-card-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:500;margin-bottom:.25rem}.sd-cost-card-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.sd-cost-section{margin-bottom:.75rem}.sd-cost-section:last-child{margin-bottom:0}.sd-cost-section-title{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.04em}.sd-cost-table-scroll{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}.sd-cost-table{width:100%;border-collapse:collapse;font-size:.8125rem}.sd-cost-table th,.sd-cost-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.sd-cost-table tbody tr:last-child td{border-bottom:none}.sd-cost-table tbody tr:hover{background:#7c3aed0a}.sd-cost-table th{color:var(--text-secondary);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;background:var(--bg-secondary)}.sd-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem}.sd-num{font-variant-numeric:tabular-nums;text-align:right!important}.sd-earnings{color:#22c55e;font-weight:600}.sd-graph-container{padding:.5rem 0;overflow-x:auto}.sd-graph-flow{display:flex;align-items:center;justify-content:center;gap:0;min-width:500px}.sd-graph-node{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .75rem;border:2px solid var(--border);border-radius:12px;background:var(--bg-primary);min-width:70px;transition:all .3s ease;position:relative}.sd-graph-node.active{border-color:var(--accent);background:#7c3aed1a;box-shadow:0 0 16px #7c3aed40}.sd-graph-node.past{border-color:#22c55e66;background:#22c55e0f}.sd-graph-node-icon{font-size:1.25rem;line-height:1}.sd-graph-node-label{font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.sd-graph-node.active .sd-graph-node-label{color:var(--accent)}.sd-graph-pulse{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--accent);animation:sd-pulse 1.5s infinite}.sd-graph-arrow{display:flex;align-items:center;padding:0 .25rem;opacity:.3;transition:opacity .3s}.sd-graph-arrow.active{opacity:1}.sd-graph-arrow-line{width:32px;height:2px;background:var(--text-secondary);transition:background .3s}.sd-graph-arrow.active .sd-graph-arrow-line{background:var(--accent)}.sd-graph-arrow-head{font-size:.5rem;color:var(--text-secondary);margin-left:-2px;transition:color .3s}.sd-graph-arrow.active .sd-graph-arrow-head{color:var(--accent)}@keyframes sd-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.sd-disconnected{text-align:center;padding:2.5rem 1.5rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary)}.sd-disconnected-icon{font-size:2rem;margin-bottom:.75rem}.sd-btn{display:inline-block;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:.5rem 1rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.sd-btn:hover:not(:disabled){border-color:var(--accent)}.sd-btn:disabled{opacity:.5;cursor:not-allowed}.sd-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.sd-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.sd-btn.warn{background:#ffa5001f;border-color:#ffa50073;color:var(--text-primary)}.sd-btn.warn:hover:not(:disabled){border-color:orange}.sd-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.sd-panel-head .sd-card-title{margin-bottom:0}.sd-flash{padding:.5rem .75rem;margin-bottom:.75rem;border-radius:8px;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:var(--text-primary);font-size:.8125rem}.sd-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.sd-table-scroll .sd-cost-table{border:none}.sd-subtask-sats{margin-left:auto;font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.sd-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.sd-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.25rem;width:min(420px,92vw);max-height:85vh;overflow-y:auto}.sd-modal h4{margin:0 0 .25rem}.sd-modal-job{font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem;word-break:break-all}.sd-modal-label{display:block;font-size:.75rem;font-weight:600;margin:.5rem 0 .25rem}.sd-modal-input{width:100%;box-sizing:border-box;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:.5rem .625rem;font-size:.8125rem;font-family:inherit}.sd-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.voice-recorder{display:flex;align-items:center;flex-shrink:0}.voice-recorder-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;min-width:40px;min-height:40px}.voice-recorder-btn:hover:not(:disabled){background:#7c3aed26}.voice-recorder-btn:disabled{opacity:.4;cursor:not-allowed}.voice-recorder-btn--stop{color:var(--danger);animation:pulseMic 1.4s ease-in-out infinite}.voice-recording-indicator{display:flex;align-items:center;gap:6px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:20px;padding:4px 12px;animation:voiceFadeIn .2s ease-out}.voice-recording-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:pulseDot 1s ease-in-out infinite}.voice-recording-time{font-size:13px;color:var(--danger);font-variant-numeric:tabular-nums;white-space:nowrap}.voice-recording-warn{color:var(--danger);font-weight:600;font-size:12px}.voice-recording-waveform{display:block;border-radius:4px}.voice-preview-bar{display:flex;align-items:center;gap:6px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:20px;padding:4px 12px;animation:voiceFadeIn .2s ease-out}.voice-preview-label{font-size:13px;color:var(--success);white-space:nowrap}.voice-preview-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--text-primary)}.voice-preview-btn--send{color:var(--success)}.voice-preview-btn--send:hover{background:#22c55e33}.voice-preview-btn--cancel{color:var(--text-secondary);font-size:14px;font-weight:700}.voice-preview-btn--cancel:hover{color:var(--danger);background:#ef44441a}.voice-message{display:flex;align-items:center;gap:8px;padding:8px 0;min-width:220px;max-width:300px}.voice-message-skeleton{height:48px;min-width:220px}.voice-msg-play-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.voice-msg-play-btn:hover{background:var(--accent-hover);transform:scale(1.05)}.voice-msg-play-btn.voice-msg-playing{background:var(--danger)}.voice-msg-waveform{flex:1;display:flex;align-items:center;gap:2px;height:40px;position:relative;cursor:pointer;padding:0 2px}.voice-msg-bar{flex:1;min-width:2px;background:var(--text-secondary);border-radius:2px;opacity:.5;transition:all .15s}.voice-msg-bar.played{background:var(--accent);opacity:1}.voice-msg-waveform:hover .voice-msg-bar{opacity:.7}.voice-msg-waveform:hover .voice-msg-bar.played{opacity:1}.voice-msg-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);pointer-events:none;transition:left .1s linear}.voice-msg-time{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:70px;text-align:center}.voice-msg-speed{flex-shrink:0;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:11px;padding:2px 6px;cursor:pointer;transition:all .15s;font-family:inherit;line-height:1.4}.voice-msg-speed:hover{border-color:var(--accent);color:var(--accent)}@keyframes pulseMic{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.3}}@keyframes voiceFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.wallet-dashboard{display:flex;flex-direction:column;gap:1.25rem}.wallet-disconnected{text-align:center;padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.wallet-disconnected-icon{font-size:3rem;opacity:.6}.wallet-disconnected h3{font-size:1.25rem;font-weight:600}.wallet-disconnected-text{color:var(--text-secondary);max-width:400px;line-height:1.5}.wallet-copy-toast{position:sticky;top:0;z-index:10;animation:walletFadeIn .2s ease-out}@keyframes walletFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.wallet-balance-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.wallet-balance-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.wallet-balance-card.lnd{border-color:#7c3aed4d}.wallet-balance-card.escrow{border-color:#eab3084d}.wallet-balance-card.fees{border-color:#22c55e4d}.wallet-card-header{display:flex;align-items:center;gap:.5rem}.wallet-card-icon{font-size:1.25rem}.wallet-card-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.wallet-card-amount{font-size:1.75rem;font-weight:700;line-height:1.2}.wallet-sats-label{font-size:.85rem;font-weight:400;color:var(--text-secondary)}.wallet-card-details{display:flex;flex-direction:column;gap:.35rem;border-top:1px solid var(--glass-border);padding-top:.75rem}.wallet-detail-row{display:flex;justify-content:space-between;font-size:.8rem}.wallet-detail-row span:first-child{color:var(--text-secondary)}.wallet-detail-accent{color:var(--accent)}.wallet-tx-filters{display:flex;gap:.35rem}.wallet-tx-filter-btn{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.75rem;padding:.3rem .7rem;cursor:pointer;transition:all .15s;font-family:inherit}.wallet-tx-filter-btn:hover{border-color:var(--accent);color:var(--text-primary)}.wallet-tx-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.wallet-tx-table th:nth-child(1),.wallet-tx-table td:nth-child(1){min-width:100px}.wallet-tx-table th:nth-child(2),.wallet-tx-table td:nth-child(2){min-width:90px;text-align:right}.wallet-tx-table th:nth-child(3),.wallet-tx-table td:nth-child(3){min-width:80px}.wallet-tx-table th:nth-child(4),.wallet-tx-table td:nth-child(4){min-width:120px}.wallet-tx-table th:nth-child(5),.wallet-tx-table td:nth-child(5){min-width:140px}.wallet-tx-row td{padding:.5rem .75rem;font-size:.85rem}.wallet-tx-type{font-weight:600;text-transform:capitalize}.wallet-tx-type.received{color:var(--success)}.wallet-tx-type.sent{color:var(--danger)}.wallet-tx-amount{font-variant-numeric:tabular-nums}.tx-received{color:var(--success);font-weight:600}.tx-sent{color:var(--danger);font-weight:600}.wallet-tx-status{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.wallet-tx-status.confirmed{background:#22c55e26;color:var(--success)}.wallet-tx-status.pending{background:#eab30826;color:#eab308}.wallet-tx-status.failed{background:#ef444426;color:var(--danger)}.wallet-tx-cparty{font-size:.8rem;color:var(--text-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-tx-time{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.wallet-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 0 0}.wallet-page-info{font-size:.8rem;color:var(--text-secondary)}.wallet-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.wallet-node-card{min-width:0}.wallet-node-details{display:flex;flex-direction:column;gap:.75rem}.wallet-node-field{display:flex;flex-direction:column;gap:.25rem}.wallet-node-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.wallet-node-value{font-size:.9rem}.wallet-node-value-row{display:flex;align-items:center;gap:.5rem}.wallet-node-pubkey,.wallet-deposit-pubkey{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;background:#ffffff0d;padding:.25rem .5rem;border-radius:4px;color:var(--text-primary);word-break:break-all}.wallet-copy-btn{background:none;border:1px solid var(--border);border-radius:4px;padding:.2rem .4rem;cursor:pointer;font-size:.85rem;line-height:1;transition:all .15s;flex-shrink:0}.wallet-copy-btn:hover{border-color:var(--accent);background:#7c3aed1a}.wallet-sync-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;vertical-align:middle}.wallet-sync-dot.synced{background:var(--success);box-shadow:0 0 4px #22c55e80}.wallet-sync-dot.not-synced{background:var(--danger);box-shadow:0 0 4px #ef444480}.wallet-deposit-card{min-width:0}.wallet-deposit-content{display:flex;flex-direction:column;gap:1rem}.wallet-qr-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem}.wallet-qr-box{background:#fff;border-radius:8px;padding:8px;display:inline-block}.wallet-qr-svg{display:block}.wallet-qr-label{font-size:.75rem;color:var(--text-secondary)}.wallet-deposit-address{display:flex;flex-direction:column;gap:.35rem}.wallet-deposit-instructions{background:#7c3aed14;border:1px solid rgba(124,58,237,.2);border-radius:8px;padding:.75rem 1rem}.wallet-deposit-instructions p{font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.wallet-deposit-instructions ol{margin:0;padding-left:1.25rem;font-size:.8rem;color:var(--text-secondary);line-height:1.6}@media(max-width:900px){.wallet-balance-row,.wallet-bottom-row{grid-template-columns:1fr}}.gesture-nav-area{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.gesture-nav-swipe-indicator{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent) 0%,transparent 100%);opacity:0;transition:opacity .15s;pointer-events:none;z-index:5;border-radius:0 2px 2px 0}.gesture-nav-swipe-indicator.visible{opacity:.6}.gesture-nav-overlay{position:absolute;left:0;top:0;right:0;bottom:0;background:#0000004d;pointer-events:none;z-index:4;border-radius:0;transition:opacity .2s ease}.sessions-list{user-select:none;-webkit-user-select:none}.session-item-dragging{opacity:.6;z-index:300;box-shadow:0 8px 24px #0000004d;transform:scale(1.02);border-radius:10px}.session-item-drag-over{border-top:2px solid var(--accent)}.session-item-drag-placeholder{opacity:.3;pointer-events:none}.reorder-group{flex:1;overflow-y:auto;padding:0 8px 16px;display:flex;flex-direction:column;gap:4px}.reorder-item{list-style:none;cursor:grab;touch-action:none}.reorder-item:active{cursor:grabbing}.reorder-item-dragging{z-index:300;box-shadow:0 8px 24px #0006;border-radius:10px;opacity:.95}.message{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.message-long-press-active{position:relative}.message-long-press-active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:#7c3aed14;animation:longPressRipple .4s ease-out;pointer-events:none}@keyframes longPressRipple{0%{background:#7c3aed33}to{background:#7c3aed0d}}.ctx-menu{position:fixed;min-width:180px;max-width:260px;padding:6px;border-radius:12px;background:#14142df2;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(124,58,237,.25);box-shadow:0 8px 32px #00000080;z-index:2000;animation:ctxMenuIn .12s ease-out;transform-origin:top left;overflow:hidden}@keyframes ctxMenuIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.ctx-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text-primary);font-size:14px;font-family:inherit;cursor:pointer;border-radius:8px;transition:background .1s;text-align:left;white-space:nowrap}.ctx-menu-item:hover{background:#7c3aed26}.ctx-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ctx-menu-item--danger{color:var(--danger)}.ctx-menu-item--danger:hover{background:#ef444426}.ctx-menu-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:15px}.ctx-menu-label{flex:1}.ctx-menu-divider{height:1px;background:#ffffff14;margin:4px 0}.image-lightbox-zoomed{overflow:auto;cursor:grab}.image-lightbox-zoomed:active{cursor:grabbing}.zoom-indicator{position:absolute;bottom:calc(24px + var(--safe-bottom));left:50%;transform:translate(-50%);background:#0009;color:#fff;font-size:13px;padding:6px 14px;border-radius:20px;pointer-events:none;z-index:2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .2s}.zoom-indicator.visible{opacity:1}.command-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.command-palette{width:min(600px,calc(100vw - 32px));max-height:60vh;display:flex;flex-direction:column;border-radius:16px;background:var(--bg-secondary);border:1px solid var(--glass-border);box-shadow:0 8px 48px #00000080;overflow:hidden}.command-palette-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.command-palette-search-icon{flex-shrink:0;color:var(--text-secondary)}.command-palette-spinner{flex-shrink:0;color:var(--accent)}.command-palette-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:16px;font-family:inherit;line-height:1.4}.command-palette-input::placeholder{color:var(--text-secondary);opacity:.7}.command-palette-close-btn{flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px;font-size:14px;transition:all .15s;line-height:1}.command-palette-close-btn:hover{background:var(--border);color:var(--text-primary)}.command-palette-body{flex:1;overflow-y:auto;padding:6px 0}.command-palette-body::-webkit-scrollbar{width:4px}.command-palette-body::-webkit-scrollbar-track{background:transparent}.command-palette-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.command-palette-section-header{display:flex;align-items:center;padding:8px 18px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);opacity:.65}.command-palette-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;padding:10px 18px;cursor:pointer;transition:background .08s;color:var(--text-primary);font-family:inherit;font-size:14px}.command-palette-row:hover,.command-palette-row.selected{background:#7c3aed1f}.command-palette-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.command-palette-row-icon{flex-shrink:0;font-size:16px;width:24px;text-align:center}.command-palette-row-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-row-shortcut{flex-shrink:0;display:inline-block;padding:2px 6px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:11px;color:var(--text-secondary);margin-left:auto}.command-palette-row-meta{flex-shrink:0;font-size:11px;color:var(--text-secondary);opacity:.7;margin-left:auto}.command-palette-row-msg-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.command-palette-row-msg-text{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.command-palette-row-msg-text mark{background:#7c3aed59;color:var(--text-primary);border-radius:2px;padding:1px 2px}.command-palette-row-context{font-size:11px;color:var(--text-secondary);opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-empty{display:flex;flex-direction:column;align-items:center;padding:40px 24px;color:var(--text-secondary);text-align:center}.command-palette-empty-icon{font-size:28px;margin-bottom:10px}.command-palette-empty p{font-size:14px;margin-bottom:4px}.command-palette-empty-hint{font-size:12px;opacity:.6}.command-palette-placeholder{display:flex;align-items:center;justify-content:center;padding:40px 24px;color:var(--text-secondary);font-size:13px;opacity:.6}.command-palette-searching{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-secondary);font-size:13px}.command-palette-footer{padding:10px 18px;border-top:1px solid var(--border);flex-shrink:0}.command-palette-footer-hint{font-size:11px;color:var(--text-secondary);opacity:.6}.command-palette-footer-hint kbd{display:inline-block;padding:1px 5px;background:var(--bg-primary);border:1px solid var(--border);border-radius:3px;font-family:inherit;font-size:11px;margin:0 1px}@media(prefers-reduced-motion:no-preference){*,*:before,*:after{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg-primary: #0f0f23;--bg-secondary: #1a1a3e;--text-primary: #f0f0ff;--text-secondary: #a0a0c0;--border: #2a2a5a}}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg-primary: #f4f4f9;--bg-secondary: #ffffff;--text-primary: #1a1a2e;--text-secondary: #5a5a6e;--border: #d0d0dd}}:root[data-accent=default]{--accent: #7c3aed;--accent-hover: #6d28d9;--accent-muted: rgba(124, 58, 237, .2);--accent-glow: rgba(124, 58, 237, .4)}:root[data-accent=mint]{--accent: #10b981;--accent-hover: #059669;--accent-muted: rgba(16, 185, 129, .2);--accent-glow: rgba(16, 185, 129, .4)}:root[data-accent=sunset]{--accent: #f59e0b;--accent-hover: #d97706;--accent-muted: rgba(245, 158, 11, .2);--accent-glow: rgba(245, 158, 11, .4)}:root[data-accent=rose]{--accent: #ec4899;--accent-hover: #db2777;--accent-muted: rgba(236, 72, 153, .2);--accent-glow: rgba(236, 72, 153, .4)}:root[data-accent=violet]{--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-muted: rgba(139, 92, 246, .2);--accent-glow: rgba(139, 92, 246, .4)}:root[data-accent=ocean]{--accent: #14b8a6;--accent-hover: #0d9488;--accent-muted: rgba(20, 184, 166, .2);--accent-glow: rgba(20, 184, 166, .4)}:root[data-accent=ember]{--accent: #ef4444;--accent-hover: #dc2626;--accent-muted: rgba(239, 68, 68, .2);--accent-glow: rgba(239, 68, 68, .4)}:root[data-accent=forest]{--accent: #059669;--accent-hover: #047857;--accent-muted: rgba(5, 150, 105, .2);--accent-glow: rgba(5, 150, 105, .4)}.accent-picker{display:flex;flex-direction:column;gap:10px}.accent-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.accent-swatch{width:100%;aspect-ratio:1;border-radius:50%;border:2px solid transparent;background:var(--swatch-color);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease;padding:0;outline:none}.accent-swatch:hover{transform:scale(1.15)}.accent-swatch:focus-visible{box-shadow:0 0 0 3px var(--accent-glow)}.accent-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--swatch-color)}.accent-checkmark{font-size:14px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-weight:700;pointer-events:none}.accent-set-default-btn{background:none;border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:12px;font-family:inherit;color:var(--text-secondary);cursor:pointer;transition:all .15s;width:100%}.accent-set-default-btn:hover{background:var(--accent-muted);color:var(--text-primary);border-color:var(--accent)}.visual-canvas{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative}.canvas-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.canvas-title{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.canvas-title-icon{font-size:18px}.canvas-count{font-size:12px;color:var(--text-secondary);background:#7c3aed26;padding:2px 10px;border-radius:12px;margin-left:auto}.canvas-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px 10px;border-radius:8px;font-size:16px;line-height:1;transition:all .15s}.canvas-close-btn:hover{background:var(--border);color:var(--text-primary)}.canvas-toggle-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s}.canvas-toggle-btn:hover{background:#7c3aed1f;color:var(--accent)}.canvas-toggle-btn.active{background:#7c3aed33;color:var(--accent)}.canvas-dropzone{position:relative;margin:12px 16px;border:2px dashed var(--border);border-radius:12px;background:#7c3aed0a;transition:all .2s;flex-shrink:0}.canvas-dropzone:hover{border-color:var(--accent);background:#7c3aed14}.canvas-dropzone--active{border-color:var(--accent);background:#7c3aed1f;border-style:solid}.canvas-dropzone-input{display:none}.canvas-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 16px;cursor:pointer}.canvas-dropzone-icon{font-size:24px;margin-bottom:4px}.canvas-dropzone-text{font-size:14px;color:var(--text-secondary)}.canvas-dropzone-browse{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:600;font-size:14px;font-family:inherit;text-decoration:underline;padding:0}.canvas-dropzone-browse:hover{color:var(--accent-hover)}.canvas-dropzone-hint{font-size:11px;color:var(--text-secondary);opacity:.6}.canvas-dropzone-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#7c3aed26;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:10px;z-index:2}.canvas-dropzone-label{font-size:18px;font-weight:700;color:var(--accent);text-shadow:0 0 20px rgba(124,58,237,.4)}.canvas-grid{flex:1;overflow-y:auto;padding:0 16px 16px}.canvas-grid::-webkit-scrollbar{width:4px}.canvas-grid::-webkit-scrollbar-track{background:transparent}.canvas-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.canvas-masonry{column-count:3;column-gap:12px;break-inside:avoid}.canvas-masonry-col{break-inside:avoid;display:flex;flex-direction:column;gap:12px}.canvas-grid-item{break-inside:avoid;margin-bottom:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .15s;position:relative}.canvas-grid-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #7c3aed26}.canvas-grid-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.canvas-item-thumb{width:100%;aspect-ratio:auto;max-height:200px;overflow:hidden;background:#0003}.canvas-item-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.canvas-grid-item:hover .canvas-item-thumb img{transform:scale(1.05)}.canvas-item-icon{display:flex;align-items:center;justify-content:center;padding:24px;background:#7c3aed0f}.canvas-item-file-icon{font-size:36px;line-height:1}.canvas-item-info{padding:10px 12px}.canvas-item-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.canvas-item-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary)}.canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;color:var(--text-secondary);text-align:center}.canvas-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.canvas-empty p{font-size:15px;margin-bottom:4px}.canvas-empty-hint{font-size:12px;opacity:.6}.canvas-ctx-menu{position:fixed;z-index:5000;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:12px;padding:6px;min-width:160px;box-shadow:0 8px 32px #00000080;animation:ctxMenuFadeIn .12s ease-out}@keyframes ctxMenuFadeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.canvas-ctx-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text-primary);font-size:14px;font-family:inherit;cursor:pointer;border-radius:8px;transition:background .1s;text-align:left;white-space:nowrap}.canvas-ctx-item:hover{background:#7c3aed26}.canvas-ctx-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.canvas-ctx-item--danger{color:var(--danger)}.canvas-ctx-item--danger:hover{background:#ef444426}.canvas-ctx-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:15px}.canvas-ctx-label{flex:1}.wallet-connect{display:flex;flex-direction:column;gap:8px;width:100%}.wallet-connect-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;white-space:nowrap}.wallet-connect-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed66}.wallet-connect-btn:active{transform:translateY(0)}.wallet-connect-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wallet-connecting{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13px;color:var(--text-secondary)}.wallet-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:walletSpin .6s linear infinite}@keyframes walletSpin{to{transform:rotate(360deg)}}.wallet-connected{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:10px}.wallet-indicator{width:10px;height:10px;border-radius:50%;background:var(--success, #22c55e);box-shadow:0 0 6px #22c55e99;flex-shrink:0}.wallet-alias{flex:1;font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-disconnect-btn{padding:4px 12px;border:1px solid rgba(239,68,68,.3);border-radius:6px;background:#ef44441a;color:var(--danger);font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.wallet-disconnect-btn:hover{background:#ef444433}.wallet-disconnect-btn:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.wallet-error{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;font-size:13px}.wallet-error-icon{font-size:16px}.wallet-error-msg{color:#fca5a5;line-height:1.4}.wallet-error-msg a{color:var(--accent);text-decoration:underline}.wallet-retry-btn{align-self:flex-start;padding:4px 14px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s ease}.wallet-retry-btn:hover{background:#7c3aed26}.wallet-retry-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.invoice-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:fadeIn .15s ease-out}.invoice-modal{background:var(--bg-secondary, #1a1a3e);border:1px solid var(--border, #2a2a5a);border-radius:16px;padding:1.5rem;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #00000080;position:relative;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:slideDown .2s ease-out}.invoice-modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--text-secondary, #a0a0c0);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s}.invoice-modal-close:hover{background:#ffffff14;color:var(--text-primary, #f0f0ff)}.invoice-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary, #f0f0ff);text-align:center}.invoice-prompt{font-size:.8125rem;color:var(--text-secondary, #a0a0c0);text-align:center;margin:0;line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.invoice-amount{font-size:1.5rem;font-weight:700;color:#fbbf24;text-align:center;font-variant-numeric:tabular-nums}.invoice-qr{display:flex;justify-content:center;align-items:center;padding:.5rem;background:#fff;border-radius:12px}.invoice-qr img{width:220px;height:220px;display:block;image-rendering:pixelated}.invoice-payreq{display:flex;gap:.5rem;width:100%;align-items:stretch}.invoice-payreq-input{flex:1;background:var(--bg-primary, #0f0f23);border:1px solid var(--border, #2a2a5a);border-radius:8px;padding:.5rem .75rem;color:var(--text-secondary, #a0a0c0);font-size:.6875rem;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;outline:none;cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-payreq-input:focus{border-color:var(--accent, #7c3aed)}.invoice-expiry{font-size:.8125rem;color:var(--text-secondary, #a0a0c0);text-align:center;font-variant-numeric:tabular-nums}.invoice-advanced{width:100%;font-size:.8125rem;color:var(--text-secondary, #a0a0c0)}.invoice-advanced summary{cursor:pointer;padding:.25rem 0;color:var(--accent, #7c3aed);font-weight:500}.invoice-advanced summary:hover{color:var(--accent-hover, #6d28d9)}.invoice-code{background:var(--bg-primary, #0f0f23);border:1px solid var(--border, #2a2a5a);border-radius:8px;padding:.625rem .75rem;margin:.5rem 0 .25rem;font-size:.6875rem;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-all;color:var(--text-secondary, #a0a0c0)}.invoice-hint{margin:.25rem 0 0;font-size:.75rem;color:var(--text-secondary, #a0a0c0)}.invoice-btn{padding:.5rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;border:none;white-space:nowrap}.invoice-btn-copy{background:var(--accent, #7c3aed);color:#fff;flex-shrink:0}.invoice-btn-copy:hover{background:var(--accent-hover, #6d28d9)}.invoice-btn-retry{background:transparent;color:var(--accent, #7c3aed);border:1px solid var(--accent, #7c3aed);padding:.375rem .875rem;font-size:.75rem}.invoice-btn-retry:hover{background:#7c3aed1f}.invoice-status{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:10px;font-size:.875rem;font-weight:500;width:100%;text-align:center}.invoice-status-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#4ade80}.invoice-status-expired{background:#fbbf241a;border:1px solid rgba(251,191,36,.25);color:#fbbf24}.invoice-status-error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#fca5a5}.invoice-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border, #2a2a5a);border-top-color:var(--accent, #7c3aed);border-radius:50%;animation:invoiceSpin .6s linear infinite;flex-shrink:0}.invoice-spinner-sm{width:14px;height:14px;border-width:2px}@keyframes invoiceSpin{to{transform:rotate(360deg)}}.pricing-page{padding:0 0 1rem}.pricing-header{margin-bottom:1.5rem}.pricing-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .375rem}.pricing-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.pricing-category{margin-bottom:1.5rem}.pricing-category h3{font-size:1rem;font-weight:600;color:var(--accent);margin:0 0 .75rem;padding-bottom:.375rem;border-bottom:1px solid var(--border)}.pricing-table{width:100%;border-collapse:collapse;font-size:.875rem}.pricing-table th{text-align:left;padding:.5rem .75rem;color:var(--text-secondary);font-weight:500;font-size:.8125rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap}.pricing-table td{padding:.625rem .75rem;border-bottom:1px solid rgba(42,42,90,.5);vertical-align:top}.pricing-table tbody tr:hover{background:#7c3aed0a}.pricing-table .pricing-desc{font-size:.8125rem;color:var(--text-secondary);display:inline-block;margin-top:.125rem}.pricing-table .cell-mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8125rem;white-space:nowrap}.pricing-fee-info{margin-top:1.5rem;padding:1.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.pricing-fee-info h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .375rem}.pricing-fee-subtitle{font-size:.8125rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.4}.pricing-fee-flow{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.fee-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.625rem 1rem;min-width:140px}.fee-step strong{font-size:.75rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.fee-step .fee-amount{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:1rem;font-weight:600;color:var(--text-primary)}.fee-arrow{font-size:1.25rem;color:var(--text-secondary);flex-shrink:0}.cost-estimator{margin:.75rem 0;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px}.cost-estimator h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.cost-breakdown{display:flex;flex-direction:column;gap:.25rem}.cost-row{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--text-secondary);padding:.1875rem 0}.cost-row span:last-child{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8125rem;color:var(--text-secondary)}.cost-divider{border-top:1px solid var(--border);padding:0;margin:.125rem 0;min-height:1px}.cost-total{font-weight:600;color:var(--text-primary)}.cost-total span:last-child{color:var(--text-primary);font-weight:600}.cost-fee span:last-child{color:#f59e0b}.cost-worker span:last-child{color:var(--success)}.verification-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.verification-badge.redundant{background:#22c55e26;color:#22c55e}.verification-badge.tee{background:#3b82f626;color:#3b82f6}.verification-badge.fraudproof{background:#f59e0b26;color:#f59e0b}.verification-badge.zkml{background:#a855f726;color:#a855f7}.verification-badge.pending{background:#94a3b826;color:#94a3b8}.verification-badge .vb-conf{font-size:.65rem;opacity:.8;margin-left:.125rem}.verification-badge .vb-icon{font-size:.85rem}.verification-detail{background:var(--bg-card, #1a1a2e);border-radius:.5rem;padding:1rem;margin:.5rem 0}.verification-method{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.verification-section{margin-bottom:.75rem;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:.375rem;overflow:hidden}.verification-section-title{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;color:var(--text-primary);background:#ffffff08;cursor:pointer;-webkit-user-select:none;user-select:none}.verification-section-title:hover{background:#ffffff0f}.verification-section-content{padding:.625rem .75rem;font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.verification-hash{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem;color:var(--text-secondary);word-break:break-all}.verification-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.verification-row+.verification-row{border-top:1px solid rgba(255,255,255,.04)}.verification-label{color:var(--text-secondary)}.verification-value{color:var(--text-primary);font-weight:500}.stake-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace}.stake-amount{padding:.125rem .375rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.stake-total{background:#3b82f61f;color:#3b82f6}.stake-avail{background:#22c55e1f;color:#22c55e}.stake-locked{background:#f59e0b1f;color:#f59e0b}.stake-slashed{background:#ef44441f;color:#ef4444}.stake-compact{padding:.125rem .5rem;border-radius:999px;background:#3b82f61a;color:#3b82f6;font-size:.75rem;font-weight:600}.admin-feature-chip.tee{background:#3b82f626;color:#3b82f6;border-color:#3b82f64d}.disputes-page{padding:0 0 1rem}.dispute-reason{font-size:.8125rem;color:var(--text-primary)}.dispute-reason-detail{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;max-width:360px;line-height:1.4}.dispute-slashed{color:#ef4444;font-weight:600}.dispute-award{color:#22c55e;font-weight:600}.dispute-expand-content{padding:.75rem 1rem;background:#ffffff05;border-top:1px solid var(--border, rgba(255,255,255,.06))}.dispute-timeline{display:flex;flex-direction:column;gap:.375rem}.dispute-timeline-step{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.dispute-timeline-step.completed{color:#22c55e}.dispute-timeline-step.active{color:var(--text-primary);font-weight:600}.verif-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:invoiceSpin .6s linear infinite}.disputes-summary{display:flex;gap:1rem;padding:.75rem 0;font-size:.8125rem;color:var(--text-secondary)}.disputes-summary .ds-count{font-weight:600;color:var(--text-primary)}.disputes-summary .ds-slashed{font-weight:600;color:#ef4444}.sla-tier-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.sla-tier-badge.bonded{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.sla-tier-badge.unbonded{background:#94a3b81f;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.sla-tier-badge.blacklisted{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.rep-cell{display:flex;flex-direction:column;gap:.125rem}.rep-score{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums}.rep-star{font-size:.8125rem;margin-left:.0625rem;opacity:.7}.rep-score-green{color:#22c55e}.rep-score-blue{color:#3b82f6}.rep-score-amber{color:#f59e0b}.rep-score-red{color:#ef4444}.rep-jobs{font-size:.6875rem;color:var(--text-secondary);white-space:nowrap}
