:root{--bg:#f7f9fc;--bg-elev:#ffffff;--bg-elev-2:#eef2f8;--border:#d4dbe6;--text:#1c2433;--text-dim:#5a657a;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-light:#eff6ff;--danger:#dc2626;--success:#15803d;--warning:#b45309;--on-accent:#ffffff;--mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace}:root[data-theme=dark]{--bg:#0b0f17;--bg-elev:#111726;--bg-elev-2:#1a2236;--border:#243049;--text:#e6ebf5;--text-dim:#98a3b8;--accent:#4ea1ff;--accent-strong:#6cb3ff;--accent-light:#1a2a3a;--danger:#ff6b6b;--success:#51d88a;--warning:#ffb547;--on-accent:#0b0f17}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.55;min-height:100vh}body:not([data-mode=desktop]),body[data-mode=landing]{overflow-y:auto}body[data-mode=desktop]{overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:6px;padding:8px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease}button:hover:not(:disabled){background:var(--border)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}button.ghost{background:transparent;border-color:var(--border);color:var(--text)}button.ghost:hover:not(:disabled){background:var(--bg-elev-2);border-color:var(--accent);color:var(--accent)}button.small{padding:4px 8px;font-size:.82em;border-radius:5px}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.mono,code,pre{font-family:var(--mono)}pre{margin:0;white-space:pre-wrap;word-break:break-word}.app-shell{display:flex;flex-direction:column;min-height:100vh}.settings-list{gap:6px}.settings-help{margin:0 0 4px;font-size:11px;color:var(--text-dim);line-height:1.4}.settings-row{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--bg);border-radius:6px;transition:opacity .15s,background .15s}.settings-row.disabled{opacity:.55}.settings-row-head{display:flex;align-items:center;gap:8px}.settings-icon{font-size:20px;flex-shrink:0}.settings-row-text{flex:1 1}.settings-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.2}.settings-desc{font-size:11px;color:var(--text-dim);margin-top:2px;line-height:1.35}.settings-row-options{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px;border-top:1px dashed var(--border);font-size:11px;color:var(--text-dim)}.settings-check{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.settings-check input[type=checkbox]{margin:0;cursor:pointer}.settings-hint{font-size:10px;font-style:italic;color:var(--text-dim);align-self:center;margin-left:auto}.settings-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.settings-switch input{opacity:0;width:0;height:0}.settings-switch-slider{position:absolute;inset:0;background:var(--border);border-radius:20px;cursor:pointer;transition:background .15s}.settings-switch-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:white;border-radius:50%;transition:transform .15s}.settings-switch input:checked+.settings-switch-slider{background:var(--accent)}.settings-switch input:checked+.settings-switch-slider:before{transform:translateX(16px)}.xterm-container{border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg)}.xterm{padding:4px 8px}.xterm-screen,.xterm-viewport{background:var(--bg)!important}.xterm-viewport::-webkit-scrollbar{width:8px}.xterm-viewport::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.xterm-viewport::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.desktop-area{display:flex;flex-direction:column;flex:1 1 auto;background:var(--bg);position:relative}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:16px;height:38px;padding:0 12px;background:color-mix(in srgb,var(--bg-elev) 92%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);font-size:13px;color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none}.topbar-left,.topbar-right{display:flex;align-items:center;gap:8px;min-width:0}.topbar-right{gap:10px;min-width:100px;justify-content:flex-end}.topbar-window-controls{display:flex;gap:4px;align-items:center;flex-shrink:0;padding:4px 6px;background:var(--bg-elev-2);border-radius:6px}.topbar-ctrl{width:20px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;border:none;border-radius:4px;cursor:pointer;background:transparent;color:var(--text-dim);transition:background .1s,color .1s}.topbar-ctrl:hover{background:var(--border);color:var(--text)}.topbar-ctrl-close:hover{background:var(--danger);color:#fff}.topbar-center{flex:1 1 auto;min-width:0;display:flex;justify-content:center;align-items:center;overflow:hidden}.topbar-appmenu{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;color:var(--text);border:1px solid transparent;border-radius:6px;cursor:pointer;font:inherit;font-weight:600;transition:background .1s ease,border-color .1s ease}.topbar-appmenu.active,.topbar-appmenu:hover{background:var(--bg-elev-2)}.topbar-appmenu-icon{font-size:14px;line-height:1}.topbar-appmenu-name{letter-spacing:-.005em}.topbar-appmenu-caret{font-size:10px;color:var(--text-dim)}.topbar-menu{position:absolute;top:36px;left:12px;min-width:240px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:0 12px 32px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.14);z-index:60;display:flex;flex-direction:column}.topbar-menu-item{display:flex;align-items:center;gap:10px;padding:7px 10px;background:transparent;border:none;border-radius:5px;font:inherit;color:var(--text);cursor:pointer;text-align:left;transition:background .1s ease}.topbar-menu-item:hover:not(:disabled){background:var(--bg-elev-2)}.topbar-menu-item:disabled{opacity:.5;cursor:not-allowed}.topbar-menu-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0}.topbar-menu-label{flex:1 1 auto;min-width:0}.topbar-menu-hint{font-size:11px;color:var(--text-dim);flex-shrink:0}.topbar-menu-sep{height:1px;background:var(--border);margin:4px 6px}.topbar-title{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;background:var(--bg-elev-2);color:var(--text);font-weight:500;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-title-icon{font-size:13px;line-height:1}.topbar-about-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.32);display:flex;align-items:center;justify-content:center;z-index:200;animation:about-fade-in .12s ease-out}@keyframes about-fade-in{0%{opacity:0}to{opacity:1}}.topbar-about{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:22px 26px 18px;min-width:280px;max-width:360px;text-align:center;box-shadow:0 16px 48px rgba(0,0,0,.28)}.topbar-about-icon{font-size:40px;margin-bottom:4px}.topbar-about-name{margin:0 0 4px;font-size:18px}.topbar-about-ver{color:var(--text-dim);font-size:12px;margin-bottom:10px}.topbar-about-hash{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);padding:1px 5px;border-radius:3px}.topbar-about-blurb{margin:0 0 14px;color:var(--text-dim);font-size:13px;line-height:1.45}.topbar-about-ok{padding:6px 18px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.36);display:flex;align-items:center;justify-content:center;z-index:220;animation:about-fade-in .14s ease-out;padding:24px}.modal-window{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 56px rgba(0,0,0,.34);max-width:620px;width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.modal-titlebar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg);-webkit-user-select:none;-moz-user-select:none;user-select:none}.modal-title-icon{font-size:18px}.modal-title{font-size:14px;font-weight:600;flex:1 1}.modal-close{margin-left:0}.modal-body{padding:18px 22px;overflow:auto;font-size:13px;line-height:1.55;color:var(--text)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg)}.modal-foot button{padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);cursor:pointer;font-size:13px}.modal-foot button.primary{background:var(--accent);color:white;border-color:var(--accent)}.modal-foot button.ghost{background:transparent}.modal-foot button:hover{filter:brightness(1.06)}.wifi-setup-modal{max-width:640px}.wifi-modal-lede{margin:0 0 14px;color:var(--text-dim)}.wifi-modal-form{display:flex;align-items:flex-end;gap:10px;margin-bottom:8px;flex-wrap:wrap}.wifi-modal-field{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:180px}.wifi-modal-field>span{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.wifi-modal-field input{padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:14px}.wifi-modal-field input:focus{outline:none;border-color:var(--accent)}.wifi-modal-field input:disabled{opacity:.5;cursor:not-allowed}.wifi-modal-field-port{flex:0 0 110px}.wifi-modal-connect-btn{padding:8px 20px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:white;font:inherit;font-weight:500;cursor:pointer;white-space:nowrap;align-self:flex-end}.wifi-modal-connect-btn:hover:not(:disabled){filter:brightness(1.06)}.wifi-modal-connect-btn:disabled{opacity:.5;cursor:not-allowed}.wifi-modal-prereqs{margin-top:16px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text-dim)}.wifi-modal-prereqs summary{cursor:pointer;font-weight:500;color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none}.wifi-modal-prereqs ol{margin:10px 0 0;padding-left:22px;line-height:1.55}.wifi-modal-prereqs li{margin-bottom:6px}.wifi-modal-prereqs code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);padding:1px 5px;border-radius:3px;font-size:11px}.direct-sockets-guide{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;text-align:left;background:color-mix(in srgb,#f59e0b 10%,var(--bg-elev));border-color:color-mix(in srgb,#f59e0b 35%,var(--border))}.direct-sockets-guide-header{font-size:13px}.direct-sockets-browserinfo{border-collapse:collapse;font-size:12px;width:100%;background:var(--bg);border-radius:6px;overflow:hidden;border:1px solid var(--border)}.direct-sockets-browserinfo td,.direct-sockets-browserinfo th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.direct-sockets-browserinfo tr:last-child td,.direct-sockets-browserinfo tr:last-child th{border-bottom:none}.direct-sockets-browserinfo th{width:110px;font-weight:500;color:var(--text-dim);background:var(--bg-elev)}.direct-sockets-browserinfo .mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.direct-sockets-browserinfo .mono.small{font-size:11px}.direct-sockets-browserinfo .badge{display:inline-block;padding:1px 6px;border-radius:999px;font-size:10.5px;font-weight:500;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.3px}.direct-sockets-browserinfo .badge.ok{background:color-mix(in srgb,var(--success,#34c759) 22%,transparent);color:color-mix(in srgb,var(--success,#34c759) 90%,black)}.direct-sockets-browserinfo .badge.bad{background:color-mix(in srgb,#ff3b30 22%,transparent);color:color-mix(in srgb,#ff3b30 92%,black)}.direct-sockets-explainer{margin:0;font-size:12.5px;line-height:1.5;color:var(--text)}.direct-sockets-steps{margin:0;padding-left:22px;font-size:12.5px;line-height:1.55}.direct-sockets-steps li{margin-bottom:6px}.direct-sockets-steps code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);padding:1px 5px;border-radius:3px;font-size:11px}.direct-sockets-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.direct-sockets-actions button{padding:7px 14px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:white;font:inherit;font-weight:500;cursor:pointer;white-space:nowrap}.direct-sockets-actions button:hover{filter:brightness(1.06)}.direct-sockets-flagurl{padding:4px 8px;border-radius:4px;background:var(--bg);border:1px solid var(--border);color:var(--text-dim);word-break:break-all}.banner-dismiss{margin-left:auto;color:inherit;padding:0 4px;line-height:1;opacity:.6}.banner-dismiss:hover{opacity:1}.wifi-modal-steps{margin:0 0 14px;padding-left:22px}.wifi-modal-steps li{margin-bottom:10px}.wifi-modal-step-detail{display:block;margin-top:4px;font-size:12px;color:var(--text-dim);line-height:1.5}.wifi-modal-step-detail code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);padding:1px 5px;border-radius:3px;font-size:11.5px}.wifi-modal-footnote{background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:8px;padding:10px 12px;font-size:12px;color:var(--text-dim);line-height:1.5}.connect-callout{display:flex;flex-direction:column;align-items:center;gap:10px;margin:32px auto 56px;max-width:480px;text-align:center}.connect-callout.connected{flex-direction:row;align-items:center;justify-content:space-between;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:16px 18px;gap:16px;max-width:640px}.connect-callout-info{display:flex;flex-direction:column;gap:4px;min-width:0}.connect-callout-status{font-weight:600;font-size:15px;color:var(--accent)}.connect-callout-device{display:flex;flex-direction:column;gap:2px;color:var(--text-dim);font-size:13px}.connect-callout-banner{color:var(--text-dim);font-size:12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.connect-callout-actions{display:flex;gap:8px;flex-shrink:0}.connect-callout-button{padding:14px 32px;font-size:17px;font-weight:600;border-radius:10px;min-width:240px;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 28%,transparent);transition:transform .1s ease,box-shadow .1s ease}.connect-callout-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 36%,transparent)}.connect-callout-button:not(:disabled):active{transform:translateY(0)}.connect-callout-error,.connect-callout-warn{max-width:480px;text-align:left}.connect-callout-error{display:flex;align-items:center;justify-content:space-between;gap:10px}.banner-dismiss{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px}.banner-dismiss:hover{background:var(--bg-elev-2);color:var(--text)}.connect-callout-hint{margin:0;color:var(--text-dim);font-size:13px;line-height:1.45}.connect-callout-wifi-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);cursor:pointer;font-size:13px;font-weight:500;transition:background .12s ease-out,border-color .12s ease-out}.connect-callout-wifi-btn:hover{background:color-mix(in srgb,var(--accent) 8%,var(--bg-elev));border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.ghost-danger{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.ghost-danger:hover:not(:disabled){background:color-mix(in srgb,#ef4444 10%,transparent);border-color:color-mix(in srgb,#ef4444 30%,var(--border))}@media (max-width:700px){.topbar{height:44px;padding:0 8px;gap:8px}.topbar-appmenu-caret,.topbar-appmenu-name{display:none}.topbar-title{font-size:12px;padding:3px 8px}.connect-callout-button{min-width:200px;padding:12px 24px;font-size:15px}.connect-callout.connected{flex-direction:column;align-items:stretch}.connect-callout-actions{width:100%}}.desktop-notconnected{flex:1 1;overflow-y:auto}.windows-layer{position:relative;flex:1 1;overflow:hidden}.desktop-window{position:absolute;min-width:320px;min-height:200px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.18),0 1px 4px rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden;animation:window-open .15s ease-out}@keyframes window-open{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.desktop-window.focused{border-color:var(--accent);box-shadow:0 6px 36px rgba(37,99,235,.22),0 1px 4px rgba(0,0,0,.12)}.desktop-window.maximized{border-radius:0;border:none}.desktop-window.maximized .window-titlebar{display:none}.desktop-window.dragging{cursor:-webkit-grabbing;cursor:grabbing;opacity:.92;box-shadow:0 12px 48px rgba(0,0,0,.28)}.desktop-window.resizing,.window-titlebar{-webkit-user-select:none;-moz-user-select:none;user-select:none}.window-titlebar{display:flex;align-items:center;gap:8px;padding:0 10px;height:38px;background:var(--bg-elev-2);border-bottom:1px solid var(--border);flex-shrink:0;cursor:move}.window-title-icon{font-size:14px;line-height:1;flex-shrink:0}.window-title-text{flex:1 1;font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.window-controls{display:flex;gap:4px;flex-shrink:0}.window-ctrl{width:20px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;border:none;border-radius:4px;cursor:pointer;background:transparent;color:var(--text-dim);transition:background .1s,color .1s}.window-ctrl:hover{background:var(--border);color:var(--text)}.window-ctrl-close:hover{background:var(--danger);color:#fff}.window-resize-handle{position:absolute;bottom:0;right:0;width:18px;height:18px;cursor:se-resize;z-index:10;background:linear-gradient(135deg,transparent 30%,var(--border) 30%,var(--border) 40%,transparent 40%,transparent 50%,var(--border) 50%,var(--border) 60%,transparent 60%,transparent 70%,var(--border) 70%,var(--border) 80%,transparent 80%);border-bottom-right-radius:9px}.window-resize-handle:hover{background:linear-gradient(135deg,transparent 30%,var(--text-dim) 30%,var(--text-dim) 40%,transparent 40%,transparent 50%,var(--text-dim) 50%,var(--text-dim) 60%,transparent 60%,transparent 70%,var(--text-dim) 70%,var(--text-dim) 80%,transparent 80%)}.window-content{flex:1 1;overflow:auto;padding:14px;min-height:0}.window-content:has(>section.panel>.panel-fill){display:flex;flex-direction:column}.window-content>section.panel:has(>.panel-fill){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.window-content>section.panel>.panel-fill{flex:1 1 auto;min-height:0}.window-content .panel{padding:0;border:none;border-radius:0;background:transparent;margin:0}.window-content .panel h2{display:none}.dock-ctx-menu{position:fixed;z-index:9999;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.28);padding:4px;min-width:140px;transform:translateY(-100%)}.dock-ctx-item{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:5px;color:var(--text);font-size:13px;text-align:left;width:100%;transition:background .1s}.dock-ctx-item:hover{background:var(--bg-elev-2)}.dock{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:8px 10px;background:rgba(30,30,30,.55);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08)}.dock-sep{display:inline-block;width:1px;align-self:stretch;margin:8px 4px;background:rgba(255,255,255,.18)}.dock-item,.dock-item-wrap{position:relative;display:flex;flex-direction:column;align-items:center}.dock-item{gap:3px;padding:6px 10px;border:none;border-radius:10px;background:transparent;cursor:pointer;color:rgba(255,255,255,.75);font-size:11px;font-weight:500;min-width:52px;transition:transform .2s cubic-bezier(.25,1,.5,1),color .15s}.dock-item:hover{transform:scale(1.45) translateY(-10px);background:rgba(255,255,255,.1)}.dock-item.active,.dock-item:hover{color:rgba(255,255,255,.95)}.dock-item.active .dock-icon{transform:scale(1.1)}@keyframes dock-bounce{0%{transform:scale(1.45) translateY(-10px)}50%{transform:scale(1.6) translateY(-14px)}75%{transform:scale(1.5) translateY(-12px)}to{transform:scale(1.45) translateY(-10px)}}.dock-item.bouncing{animation:dock-bounce .35s cubic-bezier(.25,1,.5,1)}.dock-icon{font-size:26px;line-height:1;transition:transform .15s;display:block}.dock-label{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.dock-dot{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent,#4ea1ff);box-shadow:0 0 4px var(--accent,#4ea1ff)}section.panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:18px}section.panel h2{margin:0 0 8px;font-size:16px}section.panel .panel-desc{color:var(--text-dim);font-size:13px;margin:0 0 14px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border)}.status-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.status-pill.connected{border-color:rgba(81,216,138,.4);color:var(--success)}.status-pill.connected .dot{background:var(--success);box-shadow:0 0 0 4px rgba(81,216,138,.15)}.status-pill.error{border-color:rgba(255,107,107,.4);color:var(--danger)}.status-pill.error .dot{background:var(--danger)}.status-pill.busy .dot{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.kbd{font-family:var(--mono);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:12px}.banner{border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:14px}.banner.warn{background:rgba(255,181,71,.08);border:1px solid rgba(255,181,71,.3);color:var(--warning)}.banner.error{background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.3);color:var(--danger)}.banner.info{background:rgba(78,161,255,.08);color:var(--accent)}.shell-output{background:#06080f;border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:var(--mono);font-size:13px;min-height:240px;max-height:480px;overflow:auto;white-space:pre-wrap;word-break:break-word}.shell-input-row{display:flex;gap:8px;margin-top:10px}.shell-input-row input{flex:1 1;font-family:var(--mono)}.row{display:flex;gap:8px;flex-wrap:nowrap;align-items:center;min-width:0}.row>*{flex:0 0 auto}.row>.row-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:13px;color:var(--text-dim)}.file-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;font-family:var(--mono);font-size:13px}.file-list .row{display:grid;grid-template-columns:auto 1fr 120px 100px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);grid-gap:12px;gap:12px}.file-list .row:last-child{border-bottom:none}.file-list .row.header{background:var(--bg-elev-2);color:var(--text-dim);font-weight:600;padding-left:8px}.file-list .row.clickable{cursor:pointer}.file-list .row.clickable:hover{background:var(--bg-elev-2)}.file-list .row.selected{background:color-mix(in srgb,var(--accent) 12%,transparent)}.file-list .row.selected:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.fm-sel-bar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:color-mix(in srgb,var(--accent) 10%,var(--bg-elev));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:8px;margin-bottom:6px;flex-wrap:wrap}.fm-sel-count{font-size:13px;font-weight:600;color:var(--accent);margin-right:4px}.fm-sel-btn{background:var(--bg-elev-2);border:1px solid var(--border);cursor:pointer;padding:4px 10px;border-radius:6px;font-size:12px;color:var(--text);transition:background .1s}.fm-sel-btn:hover{background:var(--bg-elev)}.fm-sel-btn.danger{color:var(--danger)}.fm-sel-btn.danger:hover{background:color-mix(in srgb,var(--danger) 10%,var(--bg-elev))}.fm-toolbar{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;flex-wrap:nowrap;overflow:hidden}.fm-toolbar-nav{display:flex;gap:2px;flex-shrink:0}.fm-icon-btn{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;background:transparent;border:1px solid transparent;border-radius:5px;cursor:pointer;color:var(--text-dim);transition:background .1s,color .1s,border-color .1s;flex-shrink:0}.fm-icon-btn:hover:not(:disabled){background:var(--border);color:var(--text)}.fm-icon-btn:active:not(:disabled){background:var(--accent);color:var(--on-accent)}.fm-icon-btn:disabled{opacity:.35;cursor:not-allowed}.fm-breadcrumb{flex:1 1;display:flex;align-items:center;gap:0;overflow:hidden;font-family:var(--mono);font-size:13px;white-space:nowrap;min-width:0}.fm-breadcrumb-item{display:inline-flex;align-items:center;flex-shrink:0}.fm-breadcrumb-sep{color:var(--text-dim);margin:0 2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fm-breadcrumb-btn{background:transparent;border:none;padding:3px 5px;border-radius:4px;cursor:pointer;color:var(--text-dim);font:inherit;font-size:13px;transition:background .1s,color .1s;max-width:160px;overflow:hidden;text-overflow:ellipsis}.fm-breadcrumb-btn:hover{background:var(--border);color:var(--text)}.fm-breadcrumb-input{flex:1 1;min-width:0;background:var(--bg);border:1px solid var(--accent);border-radius:4px;padding:3px 8px;color:var(--text);font-family:var(--mono);font-size:13px;outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.fm-toolbar-right{display:flex;gap:6px;flex-shrink:0;margin-left:auto}.fm-upload-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:5px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:600;cursor:pointer;transition:background .1s;border:1px solid transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fm-upload-btn:hover{background:var(--accent-strong)}.fm-uploading-dot{animation:blink 1s ease-in-out infinite;color:#ff6b6b;font-size:10px}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.fm-two-col{display:flex;flex-direction:row;height:100%;min-height:0;overflow:hidden}.fm-sidebar{width:180px;min-width:140px;flex-shrink:0;border-right:1px solid var(--border);padding:10px 8px;overflow-y:auto;background:var(--bg);display:flex;flex-direction:column;gap:4px}.fm-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.fm-sidebar-title{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.fm-pin-btn{background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-dim);padding:0 2px;border-radius:4px;transition:color .1s}.fm-pin-btn:hover{color:var(--accent)}.fm-pin-list{display:flex;flex-direction:column;gap:2px}.fm-pin-empty{font-size:11px;color:var(--text-dim);text-align:center;padding:12px 4px;margin:0}.fm-pin-item{gap:2px}.fm-pin-item,.fm-pin-path{display:flex;align-items:center}.fm-pin-path{flex:1 1;background:none;border:none;cursor:pointer;gap:6px;padding:5px 6px;border-radius:6px;text-align:left;color:var(--text);font-size:13px;overflow:hidden;transition:background .1s}.fm-pin-path:hover{background:var(--bg-elev-2)}.fm-pin-path.active{background:var(--accent-light);color:var(--accent)}.fm-pin-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12px}.fm-pin-remove{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:13px;padding:2px 4px;border-radius:4px;opacity:0;transition:opacity .1s,color .1s}.fm-pin-item:hover .fm-pin-remove{opacity:1}.fm-pin-remove:hover{color:var(--danger)}.fm-main{flex:1 1;overflow:auto;min-width:0}.ctx-menu{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.28);padding:4px;min-width:180px;display:flex;flex-direction:column;gap:1px}.ctx-item{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:5px;color:var(--text);font-size:13px;text-align:left;width:100%;transition:background .1s}.ctx-item:hover{background:var(--bg-elev-2)}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.ctx-item[aria-hidden=true]{font-size:14px;width:auto;padding:0}.muted{color:var(--text-dim)}.hero{max-width:720px;margin:80px auto 40px;padding:0 24px;text-align:center}.hero-icon{font-size:64px;margin-bottom:12px;filter:drop-shadow(0 4px 16px color-mix(in srgb,var(--accent) 30%,transparent))}.hero-title{font-size:clamp(32px,5vw,48px);margin:0 0 16px;background:linear-gradient(135deg,var(--text-dim) 30%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-desc{color:var(--text-dim);font-size:17px;margin:0 0 28px}.hero-hint{color:var(--text-dim);font-size:13px;margin:0;opacity:.7}.landing{max-width:960px;margin:0 auto;padding:56px 24px 96px;color:var(--fg)}.landing-hero{text-align:center;margin-bottom:48px}.landing-icon{font-size:64px;margin-bottom:12px;filter:drop-shadow(0 4px 16px color-mix(in srgb,var(--accent) 30%,transparent))}.landing-title{font-size:clamp(36px,5.5vw,56px);margin:0 0 12px;background:linear-gradient(135deg,var(--text-dim) 25%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}.landing-tagline{font-size:19px;margin:0 auto 14px;max-width:640px;color:var(--fg);font-weight:500}.landing-sub{font-size:15px;margin:0 auto;max-width:640px;color:var(--text-dim);line-height:1.6}.landing-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px auto 0;max-width:640px}.landing-cta-link{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent);font-size:13px;font-weight:500;text-decoration:none;transition:background .12s ease,border-color .12s ease,transform .12s ease}.landing-cta-link:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateY(-1px)}.landing-cta-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing-cta-link-arrow{font-size:11px;opacity:.7}.landing-section-title{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin:0 0 16px;font-weight:600}.landing-features{list-style:none;margin:0 0 56px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.landing-feature{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;transition:transform .15s ease,border-color .15s ease}.landing-feature:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.landing-feature-icon{font-size:24px;line-height:1;flex-shrink:0;margin-top:2px}.landing-feature-body{flex:1 1 auto;min-width:0}.landing-feature-name{margin:0 0 4px;font-size:14px;font-weight:600}.landing-feature-desc{margin:0;font-size:13px;color:var(--text-dim);line-height:1.45}.landing-steps{margin:0 0 48px;padding:0 0 0 24px;counter-reset:step;list-style:decimal}.landing-steps li{font-size:15px;line-height:1.55;margin:0 0 10px;color:var(--fg)}.landing-steps li strong{color:var(--fg)}.landing-steps li em{font-style:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border:1px solid var(--border);border-radius:4px;padding:1px 6px}.landing-foot,.landing-steps li em{font-size:13px;background:var(--bg-elev)}.landing-foot{margin:0;padding:16px 20px;border:1px solid var(--border);border-radius:10px;color:var(--text-dim);line-height:1.55}@media (max-width:700px){.landing{padding:32px 16px 64px}.landing-features{grid-template-columns:1fr}}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px;max-width:960px;margin:32px auto;padding:0 24px}.feature-grid .card{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:16px}.feature-grid .card h3{margin:0 0 6px;font-size:15px}.feature-grid .card p{margin:0;color:var(--text-dim);font-size:13px}@media (max-width:700px){.desktop-window{top:0!important;left:0!important;width:100%!important;height:calc(100vh - 56px)!important}}.settings-app{padding:18px 22px;font-size:.92em;color:var(--fg)}.settings-header h2{margin:0 0 4px;font-size:1.05em}.settings-hint{margin:0 0 14px;color:var(--fg-muted);font-size:.86em}.settings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.settings-row{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px;transition:opacity .15s ease}.settings-row--appearance{margin-bottom:12px}.settings-row.is-disabled{opacity:.55}.settings-row-main{display:flex;align-items:center;gap:10px}.settings-row-icon{font-size:1.4em;width:1.6em;text-align:center}.settings-row-text{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.settings-row-text strong{font-weight:600}.settings-row-desc{color:var(--fg-muted);font-size:.84em;margin-top:1px}.settings-row-overrides{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.86em;color:var(--fg-muted)}.settings-row-overrides .checkbox{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.settings-row-note{margin-left:auto;font-style:italic;opacity:.7}.settings-always-on{flex:0 0 auto;padding:3px 10px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;font-size:.74em;color:var(--fg-muted);text-transform:lowercase;letter-spacing:.02em}.toggle{--knob-size:18px;--track-w:36px;--track-h:20px;position:relative;width:var(--track-w);height:var(--track-h);background:var(--border);border:none;border-radius:999px;cursor:pointer;padding:0;transition:background-color .18s ease;flex:0 0 auto}.toggle[aria-checked=true]{background:var(--accent,#3b82f6)}.toggle-knob{position:absolute;top:1px;left:1px;width:var(--knob-size);height:var(--knob-size);background:var(--bg,#fff);border-radius:50%;transition:transform .18s cubic-bezier(.4,0,.2,1)}.toggle[aria-checked=true] .toggle-knob{transform:translateX(calc(var(--track-w) - var(--knob-size) - 2px))}.shell-panel{display:flex;flex-direction:column;height:100%;min-height:0;padding:10px 12px;color:var(--text)}.shell-panel-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:280px 1fr;grid-gap:10px;gap:10px}.shell-panel-body.sidebar-closed{grid-template-columns:0 1fr;gap:0}.shell-panel-body.sidebar-closed .shell-sidebar{display:none}.shell-sidebar{display:flex;flex-direction:column;min-height:0;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;overflow:hidden}.shell-sidebar-tabs{display:flex;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-elev-2)}.shell-sidebar-tab{flex:1 1;padding:8px 6px;font-size:.82em;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);cursor:pointer;border-radius:0;transition:color .12s ease,border-color .12s ease,background .12s ease}.shell-sidebar-tab:hover:not(:disabled){color:var(--text);background:var(--bg-elev)}.shell-sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-elev)}.shell-sidebar-body{flex:1 1 auto;min-height:0;overflow:auto;padding:10px 10px 12px}.shell-sidebar-hint{margin:0 0 8px;font-size:.78em;line-height:1.45;color:var(--text-dim)}.shell-cmds{gap:8px}.shell-cmd-list,.shell-cmds{display:flex;flex-direction:column}.shell-cmd-list{list-style:none;margin:0;padding:0;gap:6px}.shell-cmd-item{display:flex;align-items:stretch;gap:4px;background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}.shell-cmd-run{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;background:transparent;border:none;border-radius:0;text-align:left;cursor:pointer;min-width:0;color:var(--text)}.shell-cmd-run:hover{background:var(--bg-elev-2)}.shell-cmd-label{font-size:.85em;font-weight:600;color:var(--text)}.shell-cmd-cmd{display:block;width:100%;font-size:.74em;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-cmd-cmd,.shell-cmd-del{color:var(--text-dim);background:transparent;border:none}.shell-cmd-del{flex-shrink:0;padding:0 9px;border-left:1px solid var(--border);cursor:pointer;font-size:.95em;border-radius:0}.shell-cmd-del:hover{background:var(--danger);color:var(--on-accent);border-color:var(--danger)}.shell-cmd-actions{display:flex;gap:6px;flex-wrap:wrap}.shell-cmd-add{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg);border:1px dashed var(--border);border-radius:6px}.shell-cmd-add input,.shell-cmd-add textarea{width:100%;font-size:.84em}.shell-files{display:flex;flex-direction:column;gap:8px}.shell-files-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.shell-files-dir{flex:1 1 auto;min-width:0;font-size:.72em;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-files-actions{display:flex;gap:6px}.shell-files-status{font-size:.78em;color:var(--text-dim);padding:4px 8px;background:var(--bg);border:1px solid var(--border);border-radius:5px}.shell-files-error{font-size:.8em;color:var(--on-accent);background:var(--danger);border-radius:5px;padding:6px 8px}.shell-files-empty{font-size:.82em;color:var(--text-dim);text-align:center;padding:18px 6px;border:1px dashed var(--border);border-radius:6px}.shell-files-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.shell-file-item{position:relative;display:flex;align-items:stretch;background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}.shell-file-main{flex:1 1 auto;display:flex;align-items:center;gap:8px;padding:7px 9px;background:transparent;border:none;border-radius:0;text-align:left;cursor:pointer;min-width:0;color:var(--text)}.shell-file-main:hover{background:var(--bg-elev-2)}.shell-file-icon{font-size:1.1em;flex-shrink:0}.shell-file-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.shell-file-name{font-size:.85em;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-file-sub{font-size:.72em;color:var(--text-dim)}.shell-file-run{flex-shrink:0;padding:0 10px;background:transparent;border:none;border-left:1px solid var(--border);color:var(--accent);cursor:pointer;font-size:1em;border-radius:0}.shell-file-run:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.shell-file-menu{position:fixed;z-index:100;min-width:160px;background:var(--bg-elev);border:1px solid var(--border);border-radius:7px;box-shadow:0 10px 30px rgba(0,0,0,.32);padding:4px;display:flex;flex-direction:column}.shell-file-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:transparent;border:none;border-radius:5px;color:var(--text);font-size:.85em;text-align:left;cursor:pointer}.shell-file-menu-item:hover:not(:disabled){background:var(--bg-elev-2);color:var(--accent)}.shell-file-menu-item.danger:hover:not(:disabled){background:var(--danger);color:var(--on-accent)}@media (max-width:480px){.shell-panel-body{grid-template-columns:200px 1fr}}.launcher-app{display:flex;flex-direction:column;width:100%;max-width:880px;height:100%;color:var(--fg)}.launcher-grid{flex:1 1 auto;display:grid;grid-template-columns:repeat(6,1fr);grid-gap:18px 12px;gap:18px 12px;padding:0 8px;align-content:center}.launcher-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px;background:transparent;border:1px solid transparent;border-radius:12px;color:#fff;font:inherit;cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.launcher-tile:focus-visible,.launcher-tile:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);outline:none;transform:translateY(-2px)}.launcher-tile-icon{font-size:2.6em;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.launcher-tile-title{font-size:.82em;text-align:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launcher-pager{flex:0 0 auto;display:flex;gap:14px;padding:14px 8px 4px}.launcher-arrow,.launcher-pager{align-items:center;justify-content:center;color:#fff}.launcher-arrow{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;transition:background-color .12s ease}.launcher-arrow:hover{background:rgba(255,255,255,.22)}.launcher-dots{display:inline-flex;align-items:center;gap:7px}.launcher-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);border:none;padding:0;cursor:pointer;transition:background-color .12s ease,transform .12s ease}.launcher-dot.is-active{background:#fff;transform:scale(1.15)}.dash-app{display:flex;flex-direction:column;width:100%;min-height:0;color:var(--fg)}.dash-input-wrap{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--border);padding:14px 18px 12px}.dash-input-icon{position:absolute;left:22px;font-size:1em;pointer-events:none;opacity:.7}.dash-input{width:100%;padding:10px 12px 10px 36px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;font:inherit;color:var(--fg);outline:none}.dash-input:focus{border-color:var(--accent,#3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#3b82f6) 22%,transparent)}.dash-results{flex:1 1 auto;overflow-y:auto;padding:6px 10px}.dash-empty{padding:22px 12px;text-align:center;color:var(--fg-muted);font-size:.88em}.dash-result{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;margin:1px 0;background:transparent;border:none;border-radius:6px;text-align:left;font:inherit;color:var(--fg);cursor:pointer}.dash-result.is-active{background:var(--bg-elev-2)}.dash-result.is-disabled{opacity:.6}.dash-result.is-disabled .dash-result-kind{color:var(--accent,#4ea1ff);font-weight:500}.dash-result-icon{font-size:1.4em;width:1.5em;text-align:center}.dash-result-text{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.dash-result-text strong{font-weight:500}.dash-result-desc{color:var(--fg-muted);font-size:.84em;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-result-kind{font-size:.74em;color:var(--fg-muted);padding:1px 7px;background:var(--bg-elev);border:1px solid var(--border);border-radius:999px}.dash-footer{border-top:1px solid var(--border);padding:7px 14px;font-size:.78em;color:var(--fg-muted);display:flex;align-items:center;gap:6px}.dash-footer kbd{font-family:var(--font-mono);font-size:.92em;padding:1px 5px;border-radius:3px;border:1px solid var(--border);background:var(--bg-elev)}.apps-manager{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--fg)}.apps-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.apps-filter-chips{display:flex;gap:4px}.apps-chip{padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--fg-muted);font-size:.82em;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.apps-chip:hover{background:var(--bg-elev-2);color:var(--fg)}.apps-chip.is-active{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:white}.apps-search{flex:1 1 200px;min-width:140px;padding:5px 10px;font:inherit;font-size:.9em}.apps-search,.apps-sort{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;color:var(--fg)}.apps-sort{padding:5px 8px;font:inherit;font-size:.86em}.apps-refresh{width:32px;height:32px;background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;color:var(--fg);cursor:pointer;font-size:1em;line-height:1}.apps-refresh:hover:not(:disabled){background:var(--bg-elev-2)}.apps-refresh:disabled{opacity:.6;cursor:wait}.apps-body{flex:1 1 auto;display:flex;min-height:0}.apps-list{flex:1 1 50%;min-width:0;overflow-y:auto;border-right:1px solid var(--border)}.apps-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;font:inherit;color:var(--fg);transition:background-color .08s ease}.apps-row:hover{background:var(--bg-elev-2)}.apps-row.is-selected{background:color-mix(in srgb,var(--accent,#3b82f6) 14%,transparent)}.apps-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:white;font-weight:600;font-size:.92em}.apps-avatar-lg{width:56px;height:56px;border-radius:14px;font-size:1.6em}.apps-avatar>img{width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.apps-row-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.apps-row-label{font-weight:500}.apps-row-label,.apps-row-pkg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apps-row-meta,.apps-row-pkg{color:var(--fg-muted);font-size:.78em}.apps-row-meta{flex:0 0 auto;display:flex;align-items:center;gap:5px}.apps-row-size{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:50px;text-align:right}.apps-badge{font-size:.7em;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--fg-muted);text-transform:lowercase}.apps-badge-system{color:#6c8eff;border-color:rgba(108,142,255,.4);background:rgba(108,142,255,.1)}.apps-badge-disabled{color:#d97a7a;border-color:rgba(217,122,122,.4);background:rgba(217,122,122,.1)}.apps-badge-debug{color:#d9a76a;border-color:rgba(217,167,106,.4);background:rgba(217,167,106,.1)}.apps-detail{flex:1 1 50%;min-width:0;overflow-y:auto;padding:16px 18px}.apps-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--fg-muted);font-size:.9em}.apps-empty-icon{font-size:2.6em;opacity:.5}.apps-detail-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.apps-detail-titles{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.apps-detail-label{font-size:1.2em;font-weight:600;white-space:nowrap}.apps-detail-label,.apps-detail-pkg{margin:0;overflow:hidden;text-overflow:ellipsis}.apps-detail-pkg{color:var(--fg-muted);font-size:.82em;font-family:var(--font-mono)}.apps-detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.apps-detail-actions button{padding:6px 11px;background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;color:var(--fg);font:inherit;font-size:.86em;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.apps-detail-actions button:hover:not(:disabled){background:var(--bg-elev-2);border-color:var(--accent,#3b82f6)}.apps-detail-actions button:disabled{opacity:.45;cursor:not-allowed}.apps-danger-btn:hover:not(:disabled){border-color:#d97a7a!important;color:#d97a7a}.apps-detail-meta{display:grid;grid-template-columns:110px 1fr;grid-gap:4px 12px;gap:4px 12px;margin:0 0 18px;padding:10px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;font-size:.86em}.apps-detail-meta dt{color:var(--fg-muted);font-weight:500}.apps-detail-meta dd{margin:0;word-break:break-word}.apps-meta-path{font-family:var(--font-mono);font-size:.92em;opacity:.85}.apps-perms{border-top:1px solid var(--border);padding-top:12px}.apps-perms h4{margin:0 0 8px;font-size:.92em;font-weight:600}.apps-perms-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev)}.apps-perm{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border)}.apps-perm:last-child{border-bottom:none}.apps-perm.is-granted{background:color-mix(in srgb,var(--accent,#3b82f6) 8%,transparent)}.apps-perm-label{flex:1 1 auto;font-family:var(--font-mono);font-size:.82em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.apps-perm-toggle{--knob-size:14px;--track-w:28px;--track-h:16px;position:relative;display:inline-block}.apps-perm-toggle input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.apps-perm-toggle .toggle-knob{position:absolute;top:1px;left:1px;width:var(--knob-size);height:var(--knob-size);background:white;border-radius:50%;transition:transform .16s ease;pointer-events:none}.apps-perm-toggle input:checked+.toggle-knob{transform:translateX(calc(var(--track-w) - var(--knob-size) - 2px))}.apps-perm-toggle:before{content:"";position:absolute;inset:0;background:var(--border);border-radius:999px;transition:background-color .16s ease;pointer-events:none}.apps-perm-toggle input:checked~:before{background:var(--accent,#3b82f6)}.apps-perm-toggle:has(input:checked):before{background:var(--accent,#3b82f6)}.apps-components{border-top:1px solid var(--border);padding-top:12px;margin-bottom:12px}.apps-components h4{margin:0 0 8px;font-size:.92em;font-weight:600}.apps-components-tabs{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.apps-components-tab{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);font:inherit;font-size:.78em;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.apps-components-tab:hover{color:var(--text);border-color:var(--accent)}.apps-components-tab.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.apps-components-tab-count{font-size:.92em;opacity:.75;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.apps-components-tab.is-active .apps-components-tab-count{opacity:1}.apps-components-rows{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev)}.apps-component-row{border-bottom:1px solid var(--border)}.apps-component-row:last-child{border-bottom:none}.apps-component-launch,.apps-component-row--readonly{display:flex;align-items:center;gap:10px;padding:6px 10px;width:100%;font:inherit;text-align:left}.apps-component-row--readonly{background:transparent}.apps-component-launch{background:transparent;border:none;cursor:pointer;color:inherit;transition:background .1s}.apps-component-launch:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,transparent)}.apps-component-launch:disabled{opacity:.55;cursor:progress}.apps-component-kind{width:18px;flex:0 0 18px;text-align:center;font-size:.92em;color:var(--text-dim)}.apps-component-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.apps-component-name{font-family:var(--font-mono);font-size:.78em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apps-component-actions{display:flex;flex-wrap:wrap;gap:3px}.apps-component-action{display:inline-block;padding:1px 6px;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:.7em;color:var(--text-dim);font-family:var(--font-mono)}.apps-component-action-more{font-weight:600;color:var(--text)}.apps-component-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto;font-size:.72em}.apps-component-perm{font-family:var(--font-mono);color:var(--warning,#c08400);font-size:.92em}.apps-component-exported{font-size:.92em;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--success,#51d88a) 18%,transparent);color:var(--success,#51d88a)}.apps-component-exported.is-private{background:var(--bg);color:var(--text-dim);border:1px solid var(--border)}.apps-ctx-menu{position:fixed;z-index:1000;min-width:180px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:0 6px 24px rgba(0,0,0,.28)}.apps-ctx-item{display:block;width:100%;padding:7px 12px;background:transparent;border:none;border-radius:5px;text-align:left;font:inherit;font-size:.88em;color:var(--fg);cursor:pointer}.apps-ctx-item:hover{background:var(--bg-elev-2)}.apps-ctx-item-danger{color:#d97a7a}.apps-ctx-item-danger:hover{background:rgba(217,122,122,.16)}.apps-ctx-sep{height:1px;background:var(--border);margin:4px 0}.monitor{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--fg)}.monitor-tabs{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-wrap:wrap}.monitor-tab-list{display:flex;gap:2px}.monitor-tab{padding:6px 14px;background:transparent;border:solid transparent;border-width:1px 1px 2px;border-radius:6px 6px 0 0;color:var(--fg-muted);font:inherit;font-size:.88em;cursor:pointer;transition:color .12s ease,border-color .12s ease}.monitor-tab:hover{color:var(--fg)}.monitor-tab.is-active{color:var(--fg);border-bottom-color:var(--accent,#3b82f6)}.monitor-toolbar{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.82em;color:var(--fg-muted)}.monitor-toolbar button,.monitor-toolbar select{padding:4px 9px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--fg);font:inherit;font-size:.9em;cursor:pointer}.monitor-toolbar button:hover{background:var(--bg-elev-2)}.monitor-stamp{min-width:60px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.monitor-general{flex:1 1 auto;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:22px}.monitor-section h3{margin:0 0 10px;font-size:.92em;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em}.monitor-cpu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.monitor-cpu-row{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;grid-gap:10px;gap:10px;font-size:.86em}.monitor-cpu-label{color:var(--fg-muted);font-family:var(--font-mono)}.monitor-cpu-pct{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.monitor-bar{flex:1 1 auto;height:14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;overflow:hidden}.monitor-bar-fill{height:100%;background:var(--accent,#3b82f6);transition:width .4s ease}.monitor-bar-fill[data-level=low]{background:#5cb85c}.monitor-bar-fill[data-level=mid]{background:#d9a76a}.monitor-bar-fill[data-level=high]{background:#d97a7a}.monitor-mem-header{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.92em}.monitor-mem-meta{margin:12px 0 0;display:grid;grid-template-columns:100px 1fr;grid-gap:4px 12px;gap:4px 12px;font-size:.86em}.monitor-mem-meta dt{color:var(--fg-muted)}.monitor-mem-meta dd{margin:0}.monitor-procs{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.monitor-procs-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border)}.monitor-procs-toolbar input{flex:1 1 auto;padding:5px 10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:5px;color:var(--fg);font:inherit;font-size:.88em}.monitor-procs-table-wrap{flex:1 1 auto;overflow:auto;min-height:0}.monitor-procs-table{width:100%;border-collapse:collapse;font-size:.84em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.monitor-procs-table thead{position:-webkit-sticky;position:sticky;top:0;background:var(--bg-elev);z-index:1}.monitor-procs-table th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);font-weight:500;color:var(--fg-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.monitor-procs-table th.right{text-align:right}.monitor-procs-table th.is-active{color:var(--fg)}.monitor-procs-table td{padding:4px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.monitor-procs-table td.num{text-align:right;font-family:var(--font-mono);white-space:nowrap}.monitor-procs-table td.name{font-family:var(--font-mono);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-procs-table td.user{color:var(--fg-muted)}.monitor-procs-table tbody tr:hover{background:var(--bg-elev-2)}.monitor-row-bar{display:inline-block;width:80px;height:6px;background:var(--bg-elev);border:1px solid var(--border);border-radius:3px;overflow:hidden;vertical-align:middle;margin-right:6px}.monitor-row-bar-fill{height:100%;background:var(--accent,#3b82f6)}.monitor-row-bar-fill[data-level=low]{background:#5cb85c}.monitor-row-bar-fill[data-level=mid]{background:#d9a76a}.monitor-row-bar-fill[data-level=high]{background:#d97a7a}.monitor-pct{font-size:.94em}.sort-arrow{color:var(--accent,#3b82f6)}.preview-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:20px;animation:preview-fade-in .12s ease-out}@keyframes preview-fade-in{0%{opacity:0}to{opacity:1}}.preview-modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;width:min(900px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.45);animation:preview-pop-in .16s cubic-bezier(.34,1.4,.64,1)}@keyframes preview-pop-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.preview-title{font-family:var(--font-mono);font-size:13px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.preview-count{color:var(--fg-muted);margin-left:6px}.preview-actions{display:flex;gap:6px;flex-shrink:0}.preview-actions button{padding:4px 10px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--fg);font:inherit;font-size:13px;cursor:pointer}.preview-actions button:hover:not(:disabled){background:var(--bg-elev-2)}.preview-actions button:disabled{opacity:.4;cursor:not-allowed}.preview-nav-btn{font-size:18px!important;line-height:1;padding:2px 10px!important}.preview-body{flex:1 1 auto;min-height:0;overflow:auto;display:flex;align-items:stretch;justify-content:center;padding:16px}.preview-text{margin:0;font-family:var(--font-mono);font-size:12px;color:var(--fg);white-space:pre-wrap;word-break:break-all;background:var(--bg);padding:12px;border-radius:6px;border:1px solid var(--border);width:100%;align-self:flex-start}.preview-image{object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none}.preview-image,.preview-video{max-width:100%;max-height:70vh;display:block;margin:0 auto;border-radius:6px}.preview-audio,.preview-binary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;padding:32px 20px;color:var(--fg-muted)}.preview-audio-icon,.preview-binary-icon{font-size:48px}.preview-binary-icon{font-size:32px}.preview-audio-name{margin:0;color:var(--fg-muted);font-size:14px}.preview-binary button{padding:4px 14px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--fg);font:inherit;font-size:13px;cursor:pointer}.preview-thumbs{display:flex;gap:6px;padding:10px 14px;border-top:1px solid var(--border);background:var(--bg);overflow-x:auto;overflow-y:hidden;flex-shrink:0;scrollbar-width:thin}.preview-thumbs::-webkit-scrollbar{height:6px}.preview-thumbs::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.preview-thumb{flex:0 0 auto;width:64px;height:64px;background:var(--bg-elev);border:2px solid transparent;border-radius:6px;overflow:hidden;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,transform .12s ease}.preview-thumb:hover{border-color:var(--fg-muted);transform:translateY(-2px)}.preview-thumb.is-active{border-color:var(--accent,#3b82f6);transform:translateY(-2px)}.preview-thumb img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.preview-thumb-placeholder{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--fg-muted);background:var(--bg-elev-2);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.editor{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--fg)}.editor-toolbar{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-wrap:wrap}.editor-source-tabs{display:flex;gap:2px}.editor-tab{padding:5px 14px;background:transparent;border:solid transparent;border-width:1px 1px 2px;border-radius:5px 5px 0 0;color:var(--fg-muted);font:inherit;font-size:.86em;cursor:pointer;transition:color .12s ease,border-color .12s ease}.editor-tab:hover{color:var(--fg)}.editor-tab.is-active{color:var(--fg);border-bottom-color:var(--accent,#3b82f6)}.editor-tab-count{color:var(--fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.editor-actions{margin-left:auto;display:flex;gap:5px;flex-wrap:wrap}.editor-actions button{padding:4px 10px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--fg);font:inherit;font-size:.84em;cursor:pointer}.editor-actions button:hover:not(:disabled){background:var(--bg-elev-2)}.editor-actions button:disabled{opacity:.4;cursor:not-allowed}.editor-body{flex:1 1 auto;display:flex;min-height:0}.editor-sidebar{flex:0 0 240px;min-width:200px;max-width:360px;border-right:1px solid var(--border);overflow-y:auto;background:var(--bg);padding:8px}.editor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.editor-list-row{display:flex;align-items:stretch;gap:2px}.editor-list-row.is-selected{background:color-mix(in srgb,var(--accent,#3b82f6) 14%,transparent);border-radius:5px}.editor-list-row-btn{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;background:transparent;border:none;border-radius:5px;text-align:left;font:inherit;color:var(--fg);cursor:pointer;min-width:0}.editor-list-row-btn:hover{background:var(--bg-elev-2)}.editor-list-name{font-size:.88em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.editor-list-meta{font-size:.74em;color:var(--fg-muted)}.editor-list-row-del{width:24px;background:transparent;border:none;color:var(--fg-muted);cursor:pointer;border-radius:5px;font-size:1.1em;line-height:1}.editor-list-row-del:hover{background:rgba(217,122,122,.18);color:#d97a7a}.editor-list-empty{padding:18px 12px;font-size:.84em;color:var(--fg-muted);text-align:center}.editor-device-toolbar{display:flex;gap:5px;margin-bottom:6px}.editor-device-toolbar input{flex:1 1 auto;min-width:0;font:inherit;font-size:.82em;font-family:var(--font-mono)}.editor-device-toolbar button,.editor-device-toolbar input{padding:4px 8px;background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;color:var(--fg)}.editor-device-toolbar button{font:inherit;font-size:.82em;cursor:pointer}.editor-device-toolbar button:hover:not(:disabled){background:var(--bg-elev-2)}.editor-device-toolbar button:disabled{opacity:.4;cursor:not-allowed}.editor-main{min-width:0}.editor-main,.editor-main-inner{flex:1 1 auto;display:flex;flex-direction:column}.editor-main-inner{min-height:0}.editor-main-header{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0}.editor-main-name{font-family:var(--font-mono);font-size:.86em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editor-dirty-dot{color:var(--accent,#3b82f6);font-size:1.4em;vertical-align:middle}.editor-main-meta{margin-left:auto;font-size:.74em;color:var(--fg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-text-wrap{flex:1 1 auto;display:flex;min-height:0;font-family:var(--font-mono);font-size:13px;line-height:1.55;background:var(--bg)}.editor-gutter{flex:0 0 auto;margin:0;padding:12px 8px 12px 12px;background:var(--bg-elev);color:var(--fg-muted);text-align:right;border-right:1px solid var(--border);-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;white-space:pre;min-width:44px}.editor-textarea{flex:1 1 auto;margin:0;padding:12px 12px 12px 14px;background:var(--bg);color:var(--fg);border:none;outline:none;resize:none;font:inherit;white-space:pre;overflow:auto;-moz-tab-size:2;tab-size:2}.editor-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--fg-muted);font-size:.92em}.editor-empty-icon{font-size:3em;opacity:.5}.overlay{position:absolute;inset:0;z-index:10000;animation:overlay-fade-in .14s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.overlay-fullscreen{background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}@keyframes overlay-pop-in{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.overlay-modal{background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:100px 24px 24px;overflow-y:auto}.overlay-dash{max-width:560px;max-height:70vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:overlay-pop-in .16s cubic-bezier(.34,1.4,.64,1);display:flex}.overlay-dash,.overlay-settings{width:100%;background:var(--bg-elev);overflow:hidden}.overlay-settings{max-width:620px;border:1px solid var(--border);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.55);animation:overlay-pop-in .18s cubic-bezier(.34,1.4,.64,1)}.overlay .dash-app,.overlay .launcher-app,.overlay .settings-app{padding:0;background:transparent}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;padding:8px 10px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.05);color:var(--text);border:1px solid var(--border);font:inherit;font-size:12px;line-height:1.2;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.chip:hover{background:rgba(255,255,255,.1);border-color:var(--text)}.chip.active{background:var(--accent);color:#0a0d18;border-color:var(--accent);font-weight:600}.chip-count{display:inline-block;min-width:18px;padding:0 6px;border-radius:999px;background:rgba(0,0,0,.25);color:inherit;font-size:11px;text-align:center}.chip.active .chip-count{background:rgba(0,0,0,.18)}.chip-section{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.chip-label{text-transform:uppercase;letter-spacing:.05em;margin-right:2px}.chip-empty,.chip-label{font-size:11px;color:var(--text-dim)}.chip.level-chip{border-left-width:3px;padding-left:8px}button.danger{background:rgba(255,107,107,.12);color:#ff8787;border:1px solid rgba(255,107,107,.35)}button.danger:hover{background:rgba(255,107,107,.2);border-color:#ff8787}.log-hl{background:rgba(255,213,79,.4);color:#ffe9a3;border-radius:2px;padding:0 1px}.log-row{cursor:pointer;padding:1px 4px;border-radius:3px;transition:background .08s ease}.log-row:hover{background:rgba(255,255,255,.05)}.log-row.copied{background:rgba(81,216,138,.18);transition:none}.row-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.row-label>input[type=checkbox]{margin:0}.num-input{font-family:var(--mono)}.banner.info{background:rgba(78,161,255,.1);color:var(--text);border:1px solid rgba(78,161,255,.3);padding:8px 12px;border-radius:8px;font-size:12px}.screencast-panel{display:flex;flex-direction:column;height:100%;background:#000;color:#fff}.screencast-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:rgba(0,0,0,.85);border-bottom:1px solid rgba(255,255,255,.08);font-size:12px}.screencast-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:6px;border:0;font-size:12px;font-weight:500;cursor:pointer;transition:background .12s ease}.screencast-btn-start{background:var(--accent);color:#fff}.screencast-btn-start:hover:not(:disabled){filter:brightness(1.08)}.screencast-btn-start:disabled{opacity:.5;cursor:not-allowed}.screencast-btn-stop{background:rgba(255,80,80,.85);color:#fff}.screencast-btn-stop:hover{background:rgba(255,80,80,1)}.screencast-stats{font-family:var(--mono);color:rgba(255,255,255,.7);font-size:11px}.screencast-error{color:#ff8888;font-size:11px}.screencast-canvas-wrap{position:relative;flex:1 1;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}.screencast-canvas{display:block;max-width:100%;max-height:100%;object-fit:contain;background:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.screencast-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);color:rgba(255,255,255,.85);text-align:center;padding:24px;pointer-events:none}.screencast-overlay-text{max-width:320px;font-size:13px;line-height:1.5}.screencast-overlay-text kbd{display:inline-block;padding:1px 6px;background:rgba(255,255,255,.15);border-radius:4px;font-family:var(--mono);font-size:12px}.screencast-overlay-error{color:#ff8888}.screencast-progress{text-align:left;max-width:380px;padding:22px 24px 18px}.screencast-progress-title{font-size:14px;font-weight:600;margin-bottom:14px;color:rgba(255,255,255,.95)}.screencast-progress-list{list-style:none;margin:0;padding:0;font-size:12px;line-height:1.7}.screencast-progress-step{display:grid;grid-template-columns:18px 1fr auto;grid-gap:8px;gap:8px;align-items:baseline;color:rgba(255,255,255,.45)}.screencast-progress-step.is-done{color:rgba(180,230,180,.85)}.screencast-progress-step.is-active{color:rgba(255,255,255,1);font-weight:500}.screencast-progress-step.is-todo{color:rgba(255,255,255,.3)}.screencast-progress-bullet{font-family:var(--mono);text-align:center}.screencast-progress-detail{color:var(--accent,#4ea1ff);font-family:var(--mono);font-size:11px}.screencast-progress-elapsed{margin-top:14px;font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.55);text-align:right}.screencast-picker{flex-direction:column;align-items:stretch;padding:16px 18px 18px;text-align:left;pointer-events:auto;overflow:hidden}.screencast-picker-header{display:flex;gap:8px;margin-bottom:12px}.screencast-picker-input{flex:1 1;padding:6px 10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;border-radius:6px;font:inherit;font-size:13px}.screencast-picker-input:focus{outline:none;border-color:var(--accent,#4ea1ff)}.screencast-picker-input::placeholder{color:rgba(255,255,255,.5)}.screencast-picker-loading{text-align:center;color:rgba(255,255,255,.7);font-size:13px;padding:16px}.screencast-picker-hint{font-size:11px;color:rgba(255,255,255,.55);margin-bottom:8px}.screencast-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:8px;gap:8px;overflow-y:auto;flex:1 1;align-content:flex-start}.screencast-picker-item{display:flex;flex-direction:column;align-items:center;padding:10px 8px 8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;cursor:pointer;font:inherit;text-align:center;transition:background .1s ease}.screencast-picker-item:hover:not(:disabled){background:rgba(255,255,255,.15);border-color:var(--accent,#4ea1ff)}.screencast-picker-item:disabled{cursor:not-allowed;opacity:.5}.screencast-picker-item.is-launching{border-color:var(--accent,#4ea1ff);background:rgba(78,161,255,.18)}.screencast-picker-icon{font-size:24px;margin-bottom:6px}.screencast-picker-name{font-size:12px;font-weight:500;margin-bottom:2px}.screencast-picker-name,.screencast-picker-pkg{overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.screencast-picker-pkg{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,.55)}.screencast-btn-pick{background:rgba(255,255,255,.12);color:#fff}.screencast-btn-pick:hover:not(:disabled){background:rgba(255,255,255,.2)}.screencast-btn-cancel{background:rgba(255,255,255,.1);color:rgba(255,255,255,.85);padding:6px 12px}.screencast-btn-cancel:hover{background:rgba(255,255,255,.2)}.clipboard-panel{display:flex;flex-direction:column;gap:16px;padding:12px;height:100%;overflow-y:auto;font-size:13px;color:var(--text)}.clipboard-panel__header h2{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text)}.clipboard-panel__sub{margin:0;color:var(--text-dim);font-size:12px}.clipboard-panel__row{display:flex;flex-direction:column;gap:8px}.clipboard-panel__buttons{display:flex;flex-wrap:wrap;gap:8px}.clipboard-panel__buttons button{font-size:12px}.clipboard-panel__status{font-size:11px;color:var(--text-dim);padding:6px 10px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);word-break:break-word;white-space:pre-wrap}.clipboard-panel__error{color:var(--danger)}.clipboard-panel__check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer}.clipboard-panel__check input{cursor:pointer;accent-color:var(--accent)}.clipboard-panel__editor{display:flex;flex-direction:column;gap:6px}.clipboard-panel__label{font-size:11px;color:var(--text-dim);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.clipboard-panel__textarea{width:100%;min-height:140px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px;font-family:var(--mono);font-size:12px;line-height:1.4;resize:vertical;box-sizing:border-box}.clipboard-panel__textarea:focus{outline:none;border-color:var(--accent)}.clipboard-panel__counts{display:flex;gap:12px;font-size:11px;color:var(--text-dim);font-family:var(--mono)}.clipboard-panel__last{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border);padding-top:12px}.clipboard-panel__pre{margin:4px 0 0;padding:8px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto;color:var(--text)}.clipboard-panel__primary{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--on-accent)!important;font-weight:600}.clipboard-panel__primary:hover:not(:disabled){background:var(--accent-strong)!important;border-color:var(--accent-strong)!important}.clipboard-panel__history{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:12px;flex:1 1;min-height:0}.clipboard-panel__history-header{display:flex;justify-content:space-between;align-items:center}.clipboard-panel__clear{font-size:11px;padding:2px 8px}.clipboard-panel__history-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1 1;min-height:0}.clipboard-panel__empty{margin:0;padding:12px;text-align:center;color:var(--text-dim);font-size:11px;font-style:italic}.clipboard-panel__history-item{border:1px solid var(--border);border-radius:6px;padding:6px 8px;background:var(--bg-elev)}.clipboard-panel__history-item--device{border-left:3px solid var(--success)}.clipboard-panel__history-item--web{border-left:3px solid var(--accent)}.clipboard-panel__history-meta{display:flex;gap:8px;font-size:10px;color:var(--text-dim);margin-bottom:4px;font-family:var(--mono)}.clipboard-panel__history-source{font-weight:600;color:var(--text)}.clipboard-panel__history-item--device .clipboard-panel__history-source{color:var(--success)}.clipboard-panel__history-item--web .clipboard-panel__history-source{color:var(--accent)}.clipboard-panel__history-time{color:var(--text-dim)}.clipboard-panel__history-len{color:var(--text-dim);margin-left:auto}.clipboard-panel__history-text{margin:0;font-family:var(--mono);font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto;color:var(--text);line-height:1.4}