:root{--bg:#0d1117;--bg-elev:#161b22;--bg-hover:#1c2128;--border:#30363d;--text:#e6edf3;--text-muted:#7d8590;--accent:#58a6ff;--accent-hover:#79b8ff;--green:#3fb950;--red:#f85149;--yellow:#d29922;--text-on-accent:#fff;--danger:#f85149;--danger-hover:#ff6b63;--radius:8px;--header-h:48px;--mobile-nav-h:64px;--mobile-bar-h:40px;--dock-bg:#161b22eb;--dock-shadow:#0000004d}:root[data-theme=light],:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root[data-theme=light],:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--bg:#fff;--bg-elev:#f6f8fa;--bg-hover:#eef1f4;--border:#d1d9e0;--text:#1f2328;--text-muted:#656d76;--accent:#0969da;--accent-hover:#0550ae;--green:#1a7f37;--red:#cf222e;--yellow:#9a6700;--text-on-accent:#fff;--danger:#cf222e;--danger-hover:#a40e26;--dock-bg:#ffffffeb;--dock-shadow:#00000026}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#fff;--bg-elev:#f6f8fa;--bg-hover:#eef1f4;--border:#d1d9e0;--text:#1f2328;--text-muted:#656d76;--accent:#0969da;--accent-hover:#0550ae;--green:#1a7f37;--red:#cf222e;--yellow:#9a6700;--text-on-accent:#fff;--danger:#cf222e;--danger-hover:#a40e26;--dock-bg:#ffffffeb;--dock-shadow:#00000026}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;touch-action:pan-y;font-family:-apple-system,system-ui,sans-serif;font-size:14px;overflow:hidden}#app{flex-direction:column;height:100dvh;display:flex}.app-main{flex:1;display:flex;overflow:hidden}.update-banner{z-index:10000;background:var(--bg-elev);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 8px 24px var(--dock-shadow);color:var(--text);pointer-events:auto;align-items:center;gap:12px;padding:10px 14px;font-size:13px;animation:.2s update-banner-in;display:flex;position:fixed;top:12px;right:12px}@keyframes update-banner-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.update-banner-btn{background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:13px}.update-banner-btn:hover{background:var(--accent-hover)}.chat-section{border-right:1px solid var(--border);flex-direction:column;flex:1;min-width:0;display:flex}.render-section{flex-direction:column;flex:1;min-width:0;display:flex}.chat-section,.render-section{display:flex}@media (width<=768px){.desktop-only{display:none!important}.app-header .header-right .mobile-only{display:flex}.app-main{flex-direction:column;padding-bottom:0}.chat-section,.render-section{border:none;flex:1;min-height:0;display:none}.chat-section.is-active,.render-section.is-active{display:flex}.mobile-nav{display:flex!important}}@media (width>=769px){.mobile-only,.mobile-menu-overlay{display:none!important}.chat-section,.render-section{display:flex!important}}.chat-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.messages{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.msg{border-radius:var(--radius);word-wrap:break-word;max-width:85%;padding:8px 12px;font-size:14px;line-height:1.5}.msg-user{background:var(--accent);color:var(--text-on-accent);align-self:flex-end}.msg-assistant{background:var(--bg-elev);border:1px solid var(--border);align-self:flex-start}.msg-content{line-height:1.6}.msg-content p{margin-bottom:.6em}.msg-content p:last-child{margin-bottom:0}.msg-content pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin:8px 0;padding:10px 12px;position:relative;overflow-x:auto}.copy-code-btn{background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;opacity:0;border-radius:4px;padding:2px 8px;font-size:11px;transition:opacity .15s;position:absolute;top:6px;right:6px}.msg-content pre:hover .copy-code-btn{opacity:1}.copy-code-btn:hover{color:var(--accent);border-color:var(--accent)}.msg-content code{background:var(--bg);border-radius:4px;padding:2px 5px;font-family:SF Mono,monospace;font-size:.92em}.msg-content pre code{background:0 0;padding:0;font-size:13px;line-height:1.5}.msg-content ul,.msg-content ol{margin:8px 0 8px 20px}.msg-content li{margin-bottom:4px}.msg-content a{color:var(--accent);text-decoration:none}.msg-content a:hover{text-decoration:underline}.msg-content blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:8px 0;padding-left:12px}.msg-content table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.msg-content th,.msg-content td{border:1px solid var(--border);text-align:left;padding:6px 8px}.msg-content th{background:var(--bg)}.msg-tool{color:var(--text-muted);cursor:pointer;background:0 0;align-self:flex-start;max-width:90%;padding:4px 8px;font-family:monospace;font-size:12px}.msg-tool summary{align-items:center;gap:6px;list-style:none;display:flex}.msg-tool summary::-webkit-details-marker{display:none}.msg-tool[open] summary{margin-bottom:6px}.tool-icon{font-size:14px}.tool-name{color:var(--accent);font-weight:600}.tool-args{color:var(--text-muted)}.tool-result-body{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:220px;padding:8px 12px;font-size:12px;overflow-y:auto}.msg-tool-result{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;align-self:flex-start;max-width:90%;padding:2px 8px 2px 28px;font-family:monospace;font-size:12px;overflow:hidden}.msg-error{color:var(--red);border:1px solid var(--red);background:#f8514926;align-self:center;font-size:13px}.status-bar{color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg-elev);padding:4px 12px;font-size:11px}.status-thinking{color:var(--yellow)}.status-idle{color:var(--green)}.input-area{background:var(--bg-elev);border-top:1px solid var(--border);gap:8px;padding:8px 12px;display:flex}.input-area textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);resize:none;outline:none;flex:1;max-height:120px;padding:8px 12px;font-family:inherit;font-size:14px}.input-area textarea:focus{border-color:var(--accent)}.send-btn{background:var(--accent);color:var(--text-on-accent);border-radius:var(--radius);cursor:pointer;border:none;flex-shrink:0;padding:0 16px;font-size:18px}.send-btn:active{background:var(--accent-hover)}.send-btn.stop-active{background:var(--red);color:#fff}.send-btn.stop-active:hover{background:#d32f2f}.menu-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:0 10px;font-size:18px;display:flex}.menu-btn:hover{color:var(--accent);border-color:var(--accent)}.menu-btn:active{background:var(--bg-hover)}.chat-menu{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:0 8px 24px var(--dock-shadow);z-index:10000;flex-direction:column;gap:2px;padding:6px;display:none;position:fixed}.chat-menu-item{width:100%;color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.chat-menu-item:hover{background:var(--bg-hover)}.chat-menu-icon{text-align:center;width:20px;font-size:16px}.chat-attachments{background:var(--bg-elev);border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;max-height:90px;padding:6px 12px;display:none;overflow-y:auto}.chat-attachment{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:4px;max-width:180px;padding:4px 8px 4px 10px;font-size:12px;display:inline-flex}.attachment-icon{flex-shrink:0}.attachment-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;overflow:hidden}.attachment-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:2px;padding:0 2px;font-size:16px;line-height:1}.attachment-remove:hover{color:var(--red)}.msg-attachments{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.msg-attachment-image{border:1px solid var(--border);object-fit:cover;border-radius:6px;max-width:180px;max-height:180px}.msg-attachment-file{background:#00000026;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:flex}.render-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.view-tabs{background:var(--bg-elev);border-bottom:1px solid var(--border);flex-shrink:0;gap:2px;padding:4px 4px 0;display:flex;overflow-x:auto}.view-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:4px;padding:6px 12px;font-size:12px;display:flex}.view-tab.active{background:var(--bg);color:var(--accent);border-color:var(--border)}.tab-close{opacity:.5;cursor:pointer;font-size:14px}.tab-close:active{opacity:1}.view-container{background:var(--bg);flex:1;position:relative}.view-iframe{background:var(--bg);border:none;width:100%;height:100%}.view-empty{color:var(--text-muted);background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.empty-icon{opacity:.5;margin-bottom:12px;font-size:48px}.empty-hint{opacity:.7;margin-top:8px;font-size:12px}.mobile-nav{height:var(--mobile-nav-h);background:var(--bg-elev);border-top:1px solid var(--border);padding:0 16px;padding-bottom:env(safe-area-inset-bottom,0);flex-shrink:0;justify-content:space-around;align-items:center;display:none}.mobile-nav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:64px;min-height:44px;transition:color .15s,background .15s;display:flex}.mobile-nav-btn.active{color:var(--accent);font-weight:600}.mobile-nav-btn:active{background:var(--bg-hover)}.mobile-nav-icon{font-size:22px;line-height:1}.mobile-nav-label{font-size:11px}.mobile-nav-primary{background:var(--accent);color:var(--text-on-accent);border-radius:50%;justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;min-height:52px;margin-top:-18px;display:flex;box-shadow:0 4px 12px #0000004d}.mobile-nav-primary .mobile-nav-icon{font-size:26px}.mobile-nav-primary:active{background:var(--accent-hover)}.mobile-menu-overlay{z-index:200;opacity:0;pointer-events:none;background:#00000080;align-items:flex-end;transition:opacity .2s;display:flex;position:fixed;inset:0}.mobile-menu-overlay.open{opacity:1;pointer-events:auto}.mobile-menu-sheet{background:var(--bg-elev);border-top:1px solid var(--border);width:100%;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0));border-radius:16px 16px 0 0;flex-direction:column;gap:4px;transition:transform .2s;display:flex;transform:translateY(100%)}.mobile-menu-overlay.open .mobile-menu-sheet{transform:translateY(0)}.mobile-menu-header{color:var(--text);justify-content:space-between;align-items:center;padding:8px 4px 16px;font-size:16px;font-weight:600;display:flex}.mobile-menu-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;padding:4px;font-size:20px}.mobile-menu-item{background:var(--bg);border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;border-radius:10px;min-height:48px;padding:14px 16px;font-size:15px}.mobile-menu-item:active{background:var(--bg-hover)}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;max-height:85vh;padding:20px;overflow-y:auto}.modal-wide{max-width:600px}.modal h2{margin-bottom:16px;font-size:18px}.form-group{margin-bottom:14px}.form-group label{color:var(--text-muted);margin-bottom:4px;font-size:13px;display:block}.form-group input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;outline:none;padding:8px 12px;font-size:14px}.form-group input:focus{border-color:var(--accent)}.toggle-row{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.toggle-row input[type=checkbox]{width:auto;margin:0}select:disabled{opacity:.6;cursor:not-allowed}#ob-verify{width:100%}#ob-verify:disabled{opacity:.5;cursor:not-allowed}select{border:1px solid var(--border);background:var(--bg-elev);width:100%;color:var(--text);border-radius:6px;padding:10px 12px;font-size:14px}.field-hint{color:var(--text-muted);margin-top:6px;font-size:12px}.settings-warning{color:var(--warning,#e6a23c);background:color-mix(in srgb, var(--warning,#e6a23c) 12%, transparent);border:1px solid color-mix(in srgb, var(--warning,#e6a23c) 40%, transparent);border-radius:6px;margin-bottom:12px;padding:8px 10px}.field-hint a{color:var(--accent);text-decoration:none}.field-hint a:hover{text-decoration:underline}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.test-result{white-space:pre-wrap;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.5}.test-pending{background:var(--bg);color:var(--text-muted)}.test-success{color:var(--green);background:#3fb9501a;border:1px solid #3fb9504d}.test-error{color:var(--red);background:#f851491a;border:1px solid #f851494d}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:active{background:var(--accent-hover)}.btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border)}.config-hint{border-top:1px solid var(--border);color:var(--text-muted);margin-top:16px;padding-top:12px;font-size:12px}.config-hint ul{margin-top:4px;margin-left:16px}.config-hint code{background:var(--bg);border-radius:4px;padding:2px 6px;font-size:11px}.memory-section{margin-bottom:20px}.memory-section h3{color:var(--text-muted);margin-bottom:8px;font-size:14px}.memory-item{background:var(--bg);border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 12px;font-size:13px;display:flex}.memory-id{color:var(--text-muted);flex-shrink:0;font-family:monospace;font-size:11px}.memory-content{flex:1}.session-title-header{text-align:center;padding:12px 0 8px;font-size:16px;font-weight:600}.session-header{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.session-header .session-title-header{text-align:left;padding:0;font-size:14px}.session-footer{border-top:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;justify-content:center;gap:8px;padding:8px 12px;display:flex}.session-footer-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px 16px;font-size:18px;transition:color .15s,border-color .15s;display:flex}.session-footer-btn:hover{color:var(--accent);border-color:var(--accent)}.session-item{background:var(--bg);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 12px;display:flex}.session-item:hover{background:var(--bg-hover)}.session-title{margin-bottom:2px;font-weight:500}.session-date{color:var(--text-muted);font-size:11px}.session-actions{gap:8px;display:flex}.session-resume,.session-delete{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:16px}.session-delete:hover{background:#f8514926}.empty{color:var(--text-muted);text-align:center;padding:16px;font-size:13px}.memory-delete{cursor:pointer;opacity:.4;background:0 0;border:none;font-size:14px}.memory-delete:active{opacity:1}.status-disconnected{color:var(--red)}.status-connected{color:var(--green)}.msg-assistant[data-streaming=true]:after{content:"▊";color:var(--accent);margin-left:2px;animation:1s infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.icon-btn:active{background:var(--bg-hover);border-radius:6px}.btn-danger{background:var(--danger);color:var(--text-on-accent)}.btn-danger:active{background:var(--danger-hover)}.btn-large{padding:12px 24px;font-size:16px}.onboarding-wizard{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex;overflow-y:auto}.onboarding-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;padding:32px 24px;box-shadow:0 8px 32px #00000026}.onboarding-logo{object-fit:cover;border-radius:16px;width:80px;height:80px;margin:0 auto 24px;display:block}.onboarding-card h1{text-align:center;margin-bottom:4px;font-size:24px}.onboarding-subtitle{color:var(--text-muted);text-align:center;margin-bottom:24px}.onboarding-info{flex-direction:column;gap:16px;margin-bottom:28px;display:flex}.info-item{background:var(--bg);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:12px;padding:14px;display:flex}.info-icon{flex-shrink:0;font-size:24px}.info-item strong{color:var(--text);margin-bottom:4px;display:block}.info-item p{color:var(--text-muted);font-size:13px;line-height:1.5}.onboarding-steps{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.onboarding-steps .step{background:var(--bg);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.onboarding-steps .step.active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.onboarding-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.onboarding-actions .btn{flex:none}.onboarding-actions .btn-primary.btn-large{justify-content:center;width:100%}.onboarding-actions-split{justify-content:stretch}.onboarding-actions-split .btn{flex:1 1 0;justify-content:center}.onboarding-logo-xl{width:120px!important;height:120px!important}.onboarding-greeting{text-align:center;letter-spacing:.5px;margin-bottom:0;font-size:22px}.onboarding-version{text-align:center;color:var(--text-muted);letter-spacing:.3px;margin:4px 0 0;font-size:13px}.onboarding-restore-link{width:100%;color:var(--text-muted);text-align:center;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:8px;font-size:14px;text-decoration:underline;display:block}.onboarding-restore-link:hover{color:var(--text)}.language-flag-row{justify-content:center;gap:16px;margin:24px 0;display:flex}.lang-flag-btn{background:var(--bg);border:2px solid var(--border);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:8px;min-width:120px;padding:20px 32px;transition:border-color .15s,transform .1s;display:flex}.lang-flag-btn:hover{border-color:var(--accent);transform:translateY(-2px)}.lang-flag-btn:active{transform:translateY(0)}.lang-flag-btn.lang-flag-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg))}.lang-flag-emoji{font-size:40px;line-height:1}.lang-flag-label{color:var(--text);font-size:15px;font-weight:600}.reset-confirm{background:#f851491a;border:1px solid #f851494d;border-radius:8px;margin-top:16px;padding:14px;font-size:13px}.reset-confirm p{color:var(--text);margin-bottom:12px}.reset-confirm .form-actions{margin-top:0}.wm-root{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.wm-desktop{background-color:var(--bg-canvas);background-image:radial-gradient(circle, var(--grid-color) 1px, transparent 1px);background-size:24px 24px;flex:1;position:relative;overflow:hidden}.wm-desktop.hidden,.wm-spaces.hidden{display:none}.wm-spaces{background:var(--bg);flex:1;display:flex;position:relative;overflow:hidden}.wm-space{flex:0 0 100%;height:100%;display:none;position:relative;overflow:auto}.wm-space.active{display:block}.wm-space-bar{height:var(--mobile-bar-h);background:var(--bg-hover);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;display:none;position:relative}.wm-space-icon{font-size:14px;line-height:1}.wm-space-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.wm-space-close{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.wm-space-close:hover,.wm-space-close:active{background:var(--red);color:var(--text-on-accent)}.wm-space-content{height:calc(100% - var(--mobile-bar-h));display:none;position:relative;overflow:auto}.wm-window{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:160px;min-height:120px;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 24px #00000059}.wm-window.focused{border-color:var(--accent);box-shadow:0 12px 32px #00000073}.wm-window.minimized{display:none}.wm-snap-preview{z-index:9999;pointer-events:none;border:2px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 15%, transparent);box-shadow:0 0 24px color-mix(in srgb, var(--accent) 25%, transparent);transition:left 80ms,top 80ms,width 80ms,height 80ms;position:absolute}.wm-window-bar{background:var(--bg-hover);border-bottom:1px solid var(--border);cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:8px;height:36px;padding:0 10px;display:flex}.wm-window-icon{font-size:14px;line-height:1}.wm-window-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.wm-window-controls{gap:4px;display:flex}.wm-window-controls button{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.wm-window-controls button:hover{background:var(--bg-elev);color:var(--text)}.wm-window-close:hover{background:var(--red)!important;color:var(--text-on-accent)!important}.wm-window-content{flex:1;min-height:0;position:relative;overflow:auto}.wm-resize-handle{cursor:se-resize;background:linear-gradient(135deg, transparent 50%, var(--text-muted) 50%);opacity:.4;pointer-events:auto;width:16px;height:16px;position:absolute;bottom:0;right:0}.wm-resize-handle:hover{opacity:1}.wm-dock{background:var(--dock-bg);border:1px solid var(--border);max-width:94vw;box-shadow:0 8px 24px var(--dock-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;scrollbar-width:none;-ms-overflow-style:none;border-radius:14px;gap:8px;padding:8px 12px;display:flex;position:absolute;bottom:12px;left:50%;overflow-x:auto;transform:translate(-50%)}.wm-dock::-webkit-scrollbar{display:none}.wm-dock-icon{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:6px 10px;transition:background .15s;display:flex}.wm-dock-icon:hover,.wm-dock-icon.active{background:var(--bg-hover)}.wm-dock-icon-emoji{font-size:18px;line-height:1}.wm-dock-icon-label{color:var(--text-muted);white-space:nowrap;font-size:10px}.wm-root.mobile .wm-desktop{display:none}.wm-root.mobile .wm-spaces{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:calc(56px + env(safe-area-inset-bottom,0));flex-direction:row;flex:1;display:flex;overflow-x:auto}.wm-root.mobile .wm-spaces::-webkit-scrollbar{display:none}.wm-root.mobile .wm-space{scroll-snap-align:start;opacity:.35;border-right:1px solid var(--border);flex-direction:column;flex:0 0 100%;transition:opacity .2s,transform .2s;display:flex;transform:scale(.96)}.wm-root.mobile .wm-space-bar{display:flex}.wm-root.mobile .wm-space-content{display:block}.wm-root.mobile .wm-space.active{opacity:1;transform:scale(1)}.wm-root.mobile .wm-dock{bottom:calc(8px + env(safe-area-inset-bottom,0));z-index:10000;gap:4px;padding:6px 10px;position:fixed;left:50%;transform:translate(-50%)}.wm-root.mobile .wm-dock-icon{min-width:44px;padding:4px 6px}.wm-root.mobile .wm-dock-icon-label{display:none}.settings-app{background:var(--bg-elev);grid-template-columns:220px 1fr;height:100%;display:grid;overflow:hidden}.settings-sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;gap:8px;padding:16px;display:flex;overflow-y:auto}.settings-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:4px;padding-bottom:12px;display:flex}.settings-brand-icon{font-size:22px}.settings-brand-logo{object-fit:cover;border-radius:8px;flex-shrink:0;width:36px;height:36px}.settings-brand h2{font-size:15px;font-weight:600;line-height:1.2}.settings-version{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:11px}.settings-tabs{flex-direction:column;gap:4px;display:flex}.settings-tab{border-radius:var(--radius);width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;font-size:13px;transition:background .15s,color .15s;display:flex}.settings-tab:hover{background:var(--bg-hover);color:var(--text)}.settings-tab.active{background:var(--bg-elev);color:var(--accent);box-shadow:inset 2px 0 0 0 var(--accent);font-weight:500}.settings-tab .tab-icon{text-align:center;width:20px;font-size:15px}.settings-tab .tab-label{flex:1}.settings-content{min-width:0;padding:24px;overflow-y:auto}.settings-panel{max-width:720px}.settings-panel-title{margin-bottom:6px;font-size:17px;font-weight:600}.settings-panel-hint{color:var(--text-muted);margin-bottom:18px;font-size:13px;line-height:1.5}.settings-form{flex-direction:column;gap:8px;display:flex}.settings-form .form-group{margin-bottom:4px}.settings-form .form-actions{margin-top:12px}.settings-divider,.settings-section-separator{border:none;border-top:1px solid var(--border);margin:24px 0 20px}.settings-section-subtitle{margin-bottom:6px;font-size:15px;font-weight:600}.settings-content .memory-panel{background:0 0;border:none;padding:0}@media (width<=768px){.settings-app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.settings-sidebar{border-right:none;border-bottom:1px solid var(--border);padding:8px}.settings-brand{display:none}.settings-tabs{flex-flow:wrap;justify-content:center}.settings-tab{flex:80px;justify-content:center;width:auto;padding:8px 6px}.settings-tab .tab-label{display:none}.settings-tab.active{box-shadow:none;background:var(--bg-elev)}.settings-content{padding:16px}}.settings-app h2{margin-bottom:12px}.about-section{margin-bottom:4px}.about-brand{align-items:center;gap:16px;margin-bottom:16px;display:flex}.about-logo{object-fit:cover;border-radius:12px;flex-shrink:0;width:64px;height:64px}.about-name{margin:0;font-size:22px;font-weight:700;line-height:1.2}.about-version{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:14px}.about-tagline{color:var(--text-muted);margin:0;font-size:14px;line-height:1.5}.about-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.about-list li{font-size:14px;line-height:1.5}.about-text{margin:0 0 4px;font-size:14px;line-height:1.6}.about-text a{color:var(--accent);text-decoration:none}.about-text a:hover{text-decoration:underline}.about-license{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.program-app{flex-direction:column;height:100%;display:flex}.program-iframe{background:var(--bg);border:none;flex:1}.program-placeholder{color:var(--text-muted);text-align:center;padding:24px}.chat-app{height:100%;display:flex;position:relative;overflow:hidden}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-session-drawer{background:var(--bg-elev);border-right:none;flex-direction:column;flex-shrink:0;width:0;height:100%;transition:width .2s,border-right-width .2s;display:flex;position:relative;overflow:hidden}.chat-session-drawer.open{border-right:1px solid var(--border);width:280px;max-width:80vw}.session-panel{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.session-body{flex:1;min-height:0;overflow-y:auto}.chat-session-backdrop{z-index:1999;background:#0006;display:none;position:absolute;inset:0}@media (width<=640px){.chat-session-backdrop.open{display:block}.chat-session-drawer{z-index:2000;width:0;max-width:85vw;position:absolute;top:0;bottom:0;left:0;box-shadow:2px 0 12px #0006}.chat-session-drawer.open{width:85vw}.session-panel{min-height:0}}.explorer-app{background:var(--bg);flex-direction:column;height:100%;display:flex}.explorer-header{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.explorer-title{flex:1;font-size:14px;font-weight:600}.explorer-header button{border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.explorer-header button:hover{background:var(--bg-hover)}.explorer-upload-input{display:none}.explorer-search{border-bottom:1px solid var(--border-color,#e2e8f0);padding:6px 8px}.explorer-search-input{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-input,#fff);width:100%;color:var(--text-color,#1e293b);border-radius:6px;outline:none;padding:6px 10px;font-size:13px}.explorer-search-input:focus{border-color:var(--accent,#3b82f6)}.explorer-breadcrumbs{color:var(--text-muted,#64748b);border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;font-size:12px;display:none}.explorer-breadcrumbs .explorer-crumb{color:var(--accent,#3b82f6);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px}.explorer-breadcrumbs .explorer-crumb:hover{background:var(--bg-hover,#f1f5f9)}.explorer-breadcrumbs .explorer-crumb.active{color:var(--text-color,#1e293b);cursor:default}.explorer-breadcrumbs .explorer-crumb.active:hover{background:0 0}.explorer-no-results{text-align:center;color:var(--text-muted,#64748b);padding:24px;font-size:13px}.explorer-details{border-top:1px solid var(--border-color,#e2e8f0);color:var(--text-muted,#64748b);background:var(--bg-subtle,#f8fafc);padding:8px 12px;font-size:12px;display:none}.explorer-detail-row{justify-content:space-between;gap:8px;padding:2px 0;display:flex}.explorer-detail-row span:last-child{color:var(--text-color,#1e293b);white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;max-width:60%;overflow:hidden}.explorer-list{flex:1;padding:8px;overflow:auto}.explorer-list.drag-over{background:var(--accent-light,#3b82f61a);outline:2px dashed var(--accent,#3b82f6);outline-offset:-4px;border-radius:6px}.explorer-folder.drop-target,.explorer-item.dragging{background:var(--accent-light,#3b82f61a);outline:1px dashed var(--accent,#3b82f6)}.explorer-context-menu{z-index:9999;background:var(--bg-elev,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;min-width:140px;padding:4px 0;position:fixed;box-shadow:0 4px 12px #00000026}.explorer-context-menu button{text-align:left;width:100%;color:var(--text-color,#1e293b);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:14px;display:block}.explorer-context-menu button:hover{background:var(--bg-hover,#f1f5f9)}.explorer-context-menu button.danger{color:var(--danger,#ef4444)}.explorer-context-menu button.danger:hover{background:var(--danger-light,#ef44441a)}.explorer-empty{color:var(--text-muted);text-align:center;padding:24px;font-size:13px}.explorer-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.explorer-item:hover,.explorer-item.active{background:var(--bg-hover)}.explorer-folder{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-weight:500;display:flex}.explorer-folder:hover{background:var(--bg-hover)}.explorer-folder .explorer-folder-toggle{color:var(--text-muted);text-align:center;flex-shrink:0;width:12px;font-size:10px}.explorer-folder .explorer-icon{flex-shrink:0;font-size:16px}.explorer-folder .explorer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.explorer-folder .explorer-folder-actions{flex-shrink:0;gap:2px;display:flex}.explorer-item .explorer-icon{flex-shrink:0;font-size:16px}.explorer-item .explorer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.explorer-item .explorer-actions{flex-shrink:0;gap:2px;display:flex}.explorer-item .explorer-delete,.explorer-item .explorer-play,.explorer-item .explorer-rename,.explorer-item .explorer-duplicate,.explorer-item .explorer-download,.explorer-folder .explorer-delete,.explorer-folder .explorer-rename{cursor:pointer;width:22px;height:22px;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.explorer-item:hover .explorer-delete,.explorer-item:hover .explorer-play,.explorer-item:hover .explorer-rename,.explorer-item:hover .explorer-duplicate,.explorer-item:hover .explorer-download,.explorer-folder:hover .explorer-delete,.explorer-folder:hover .explorer-rename{opacity:1}.explorer-item .explorer-delete:hover,.explorer-folder .explorer-delete:hover{color:var(--danger,#ef4444);background:var(--bg-elev)}.explorer-item .explorer-play:hover,.explorer-item .explorer-download:hover,.explorer-item .explorer-duplicate:hover,.explorer-item .explorer-rename:hover,.explorer-folder .explorer-rename:hover{color:var(--accent,#3b82f6);background:var(--bg-elev)}.editor-app{background:var(--bg);flex-direction:column;height:100%;display:flex}.editor-header{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.editor-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.editor-app.dirty .editor-path:before{content:"● ";color:var(--accent,#3b82f6)}.editor-actions{align-items:center;gap:6px;display:flex}.editor-new,.editor-save,.editor-save-as{border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.editor-new:hover,.editor-save:hover,.editor-save-as:hover{background:var(--bg-hover)}.editor-save-as{font-size:13px}.editor-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.editor-gutter{background:var(--bg-elev);border-right:1px solid var(--border);width:42px;min-width:42px;color:var(--text-muted);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:12px 4px 12px 0;font-size:12px;line-height:20px;overflow:hidden}.editor-gutter div{height:20px;padding-right:6px}.editor-gutter::-webkit-scrollbar{display:none}.editor-code-wrap{flex:1;min-width:0;position:relative;overflow:hidden}.editor-highlight{width:100%;height:100%;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);tab-size:2;white-space:pre;pointer-events:none;color:var(--text);z-index:1;background:0 0;border:none;margin:0;padding:12px;font-size:14px;line-height:20px;position:absolute;top:0;left:0;overflow:auto}.editor-highlight code{font-family:inherit;font-size:inherit;line-height:inherit}.editor-textarea{resize:none;width:100%;height:100%;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);tab-size:2;color:#0000;caret-color:var(--text);-webkit-text-fill-color:transparent;z-index:2;white-space:pre;background:0 0;border:none;outline:none;padding:12px;font-size:14px;line-height:20px;position:absolute;top:0;left:0;overflow:auto}.editor-textarea.plain{color:var(--text);-webkit-text-fill-color:var(--text)}.token.tag,.token.keyword,.token.selector,.token.atrule,.token.attr-name,.token.boolean,.token.constant,.token.deleted,.token.function,.token.class-name,.token.namespace,.token.symbol,.token.property-name{color:var(--accent)}.token.attr-value,.token.string,.token.char,.token.url,.token.inserted,.token.property,.token.unit,.token.number{color:var(--green)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--text-muted);font-style:italic}.token.punctuation,.token.operator,.token.property-access{color:var(--text-muted)}.token.function-definition,.token.function-call{color:var(--yellow)}.token.builtin,.token.class,.token.regex,.token.variable{color:var(--accent-hover)}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}:root[data-theme=light] .token.tag,:root[data-theme=light] .token.keyword,:root[data-theme=light] .token.selector,:root[data-theme=light] .token.atrule,:root[data-theme=light] .token.attr-name,:root[data-theme=light] .token.boolean,:root[data-theme=light] .token.constant,:root[data-theme=light] .token.deleted,:root[data-theme=light] .token.function,:root[data-theme=light] .token.class-name{color:var(--accent)}:root[data-theme=light] .token.attr-value,:root[data-theme=light] .token.string,:root[data-theme=light] .token.char,:root[data-theme=light] .token.url,:root[data-theme=light] .token.inserted,:root[data-theme=light] .token.property,:root[data-theme=light] .token.unit,:root[data-theme=light] .token.number{color:var(--green)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .token.tag,:root:not([data-theme=dark]) .token.keyword,:root:not([data-theme=dark]) .token.selector,:root:not([data-theme=dark]) .token.atrule,:root:not([data-theme=dark]) .token.attr-name,:root:not([data-theme=dark]) .token.boolean,:root:not([data-theme=dark]) .token.constant,:root:not([data-theme=dark]) .token.deleted,:root:not([data-theme=dark]) .token.function,:root:not([data-theme=dark]) .token.class-name{color:var(--accent)}:root:not([data-theme=dark]) .token.attr-value,:root:not([data-theme=dark]) .token.string,:root:not([data-theme=dark]) .token.char,:root:not([data-theme=dark]) .token.url,:root:not([data-theme=dark]) .token.inserted,:root:not([data-theme=dark]) .token.property,:root:not([data-theme=dark]) .token.unit,:root:not([data-theme=dark]) .token.number{color:var(--green)}}.editor-find-overlay{background:var(--bg-elev,#fff);border:1px solid var(--border,#e1e1e1);z-index:100;border-radius:8px;flex-direction:column;gap:8px;min-width:320px;padding:10px 12px;display:none;position:absolute;top:48px;right:12px;box-shadow:0 4px 16px #0000001f}.find-row,.replace-row{align-items:center;gap:8px;display:flex}.find-row input,.replace-row input{border:1px solid var(--border,#e1e1e1);background:var(--bg,#fff);min-width:0;color:var(--fg,#222);font:inherit;border-radius:6px;flex:1;padding:6px 8px}.find-row button,.replace-row button{border:1px solid var(--border,#e1e1e1);background:var(--bg,#fff);color:var(--fg,#222);cursor:pointer;border-radius:6px;padding:6px 10px}.find-row button:hover,.replace-row button:hover{background:var(--bg-hover,#f5f5f5)}.find-match-count{color:var(--muted,#666);white-space:nowrap;font-size:12px}.editor-status{border-top:1px solid var(--border);color:var(--text-muted);background:var(--bg-elev);flex-shrink:0;padding:6px 12px;font-size:12px}.editor-status.error{color:var(--danger,#ef4444)}.appstore-app{background:var(--bg);height:100%;color:var(--text);flex-direction:column;display:flex}.appstore-header{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.appstore-title{font-size:16px;font-weight:600}.appstore-refresh{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;flex-shrink:0;width:32px;height:32px}.appstore-update-count{background:var(--accent);color:var(--text-on-accent);border-radius:999px;margin:0 8px;padding:3px 10px;font-size:12px;font-weight:500;display:none}.appstore-update-count.visible{display:inline-block}.appstore-update-all{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;flex-shrink:0;width:32px;height:32px;margin-right:8px;display:none}.appstore-update-all.visible{display:inline-block}.appstore-tabs{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;display:flex}.appstore-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-weight:500}.appstore-tab.active{color:var(--text);border-bottom-color:var(--accent);background:var(--bg-hover)}.appstore-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.appstore-tab-content .appstore-filters{border-top:none}.appstore-tab-content .appstore-grid{padding-top:8px}.appstore-update-badge{background:var(--accent);color:var(--text-on-accent);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:10px;display:inline-block}.appstore-card-installed{color:var(--text-muted);margin-top:4px;font-size:12px}.appstore-filters{border-bottom:1px solid var(--border);flex-shrink:0;gap:8px;padding:12px 16px;display:flex;overflow-x:auto}.appstore-filter{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 14px}.appstore-filter.active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.appstore-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-content:start;gap:16px;padding:16px;display:grid;overflow-y:auto}.appstore-status{color:var(--text-muted);grid-column:1/-1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.appstore-status.appstore-error{color:var(--danger)}.appstore-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:1s linear infinite appstore-spin}@keyframes appstore-spin{to{transform:rotate(360deg)}}.appstore-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.appstore-card-icon{background:var(--bg-hover);border-radius:var(--radius);justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.appstore-card-icon svg{width:32px;height:32px}.appstore-card-body{flex-direction:column;flex:1;gap:4px;display:flex}.appstore-card-name{font-size:15px;font-weight:600}.appstore-card-meta{color:var(--text-muted);font-size:12px}.appstore-card-desc{color:var(--text);opacity:.85;font-size:13px;line-height:1.4}.appstore-card-perms{color:var(--text-muted);font-size:11px}.appstore-card-actions{gap:8px;margin-top:auto;display:flex}.appstore-btn{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;flex:1;padding:8px 12px;font-size:13px}.appstore-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.appstore-btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.appstore-btn:hover{filter:brightness(1.1)}@media (width<=768px){.appstore-grid{grid-template-columns:1fr}}.settings-workspace-badge{opacity:.7;text-overflow:ellipsis;white-space:nowrap;max-width:140px;margin-top:2px;font-size:.72rem;overflow:hidden}.ws-input-row{align-items:center;gap:8px;display:flex}.ws-input-row input{flex:1}.ws-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.ws-item{background:var(--bg-secondary,#ffffff0a);border:1px solid var(--border-color,#ffffff14);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;transition:border-color .15s;display:flex}.ws-item-active{border-color:var(--accent-color,#4a9eff);background:var(--bg-accent,#4a9eff0f)}.ws-item-info{align-items:center;gap:8px;min-width:0;display:flex}.ws-item-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ws-badge-active{background:var(--accent-color,#4a9eff);color:#fff;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:.75rem}.ws-item-actions{flex-shrink:0;gap:6px;display:flex}.btn-sm{padding:4px 10px;font-size:.8rem}
