:root{--app-bg:#fff;--panel-bg:#fafafa;--panel-card:#fff;--center-bg:#fafafa;--text-main:#171717;--text-muted:#707070;--text-muted-light:#9a9a9a;--border:#dfdfdf;--border-strong:#c7c7c7;--primary:#3ecf8e;--primary-deep:#24b47e;--primary-soft:#4ade80;--primary-on:#171717;--accent:#3ecf8e;--success:#3ecf8e;--warning:#f59e0b;--danger:#ff2201;color:var(--text-main);background:var(--app-bg);letter-spacing:-.01em;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--app-bg:#1c1c1c;--panel-bg:#1c1c1c;--panel-card:#202020;--center-bg:#1c1c1c;--text-main:#fff;--text-muted:#9a9a9a;--text-muted-light:#707070;--border:#2d2d2d;--border-strong:#444;--primary:#3ecf8e;--primary-deep:#24b47e;--primary-soft:#4ade80;--primary-on:#171717;--accent:#3ecf8e;--success:#4ade80;--warning:#fbbf24;--danger:#ff2201}[data-theme=unity]{--app-bg:#05070a;--panel-bg:#080d14;--panel-card:#0d131c;--center-bg:#030507;--text-main:#eef6ff;--text-muted:#93a3b6;--text-muted-light:#617184;--border:#8ba0b838;--border-strong:#36dcff6b;--primary:#00d7ff;--primary-deep:#00a9cc;--primary-soft:#13e6a2;--primary-on:#031014;--accent:#00d7ff;--success:#13e6a2;--warning:#ffbf47;--danger:#ff3f68;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;letter-spacing:0}body{margin:0;transition:color .15s,background-color .15s}button{border:1px solid var(--border-strong);background:var(--panel-card);color:var(--text-main);cursor:pointer;font:inherit;border-radius:6px;padding:.5rem .9rem;transition:background-color .12s,border-color .12s,color .12s}button:hover:not(:disabled){border-color:var(--text-muted);background:var(--panel-bg)}button,input,select,textarea{font:inherit}svg.lucide{flex-shrink:0}button,.tabs-tab,.mirror-toolbar-btn,.file-tree-toolbar button,.file-tree-action-btn{-webkit-user-select:none;user-select:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.58}.btn-primary,.btn-secondary,.btn-fullscreen,.btn-mute,.btn-retry,.btn-mirror,.btn-disconnect,.ai-send-btn,.wifi-scan-btn,.hotkey-btn,.file-tree-toolbar button,.file-tree-action-btn,.app-layout-toggle{transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform 80ms}.btn-primary:active,.btn-secondary:active,.btn-fullscreen:active,.btn-mute:active,.btn-retry:active,.btn-mirror:active,.btn-disconnect:active,.ai-send-btn:active,.wifi-scan-btn:active,.hotkey-btn:active,.file-tree-toolbar button:active,.file-tree-action-btn:active,.app-layout-toggle:active{transform:scale(.98)}.btn-primary{border:1px solid var(--primary-deep);background:var(--primary);color:var(--primary-on);box-shadow:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:500;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--primary-deep);border-color:var(--primary-deep)}.mirror-view{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;padding:12px;display:flex}.mirror-view-status{color:var(--text-muted);font-size:.95rem}.mirror-view-error{border:1px solid var(--danger);width:100%;max-width:720px;color:var(--danger);white-space:pre-wrap;word-break:break-word;background:#ff22010d;border-radius:8px;padding:12px 16px;font-size:.85rem;line-height:1.5}.mirror-view-canvas{object-fit:contain;border:1px solid var(--border-strong);background:#000;border-radius:12px;outline:none;max-width:100%;max-height:100%;box-shadow:0 8px 24px #00000014}.btn-stop{background:var(--danger);color:#fff;border:1px solid var(--danger);cursor:pointer;border-radius:6px;padding:8px 20px}.device-card-actions{gap:8px;display:flex}.btn-mirror{background:var(--primary);color:var(--primary-on);border:1px solid var(--primary-deep);cursor:pointer;border-radius:6px;padding:6px 14px;font-weight:500}.btn-mirror:hover{background:var(--primary-deep);border-color:var(--primary-deep)}.mirror-view-spinner{border:2px solid var(--border);border-top-color:var(--primary);vertical-align:middle;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.7s linear infinite mirror-spin;display:inline-block}@keyframes mirror-spin{to{transform:rotate(360deg)}}.mirror-view-actions{align-items:center;gap:8px;display:flex}.btn-fullscreen{background:var(--panel-card);color:var(--text-main);border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;padding:8px 20px;transition:background-color .12s,border-color .12s}.btn-fullscreen:hover{border-color:var(--text-muted);background:var(--panel-bg)}.btn-retry{background:var(--primary);color:var(--primary-on);border:1px solid var(--primary-deep);cursor:pointer;border-radius:6px;padding:8px 20px;font-weight:500}.btn-retry:hover{background:var(--primary-deep);border-color:var(--primary-deep)}.device-entry{flex-direction:column;gap:8px;display:flex}.mirror-options{background:var(--panel-card);border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;display:grid}.mirror-options label{color:var(--text-muted);flex-direction:column;gap:3px;font-size:.72rem;display:flex}.mirror-options select{border:1px solid var(--border);background:var(--panel-bg);color:var(--text-main);border-radius:4px;width:100%;padding:4px 6px;font-size:.78rem}.btn-mute{background:var(--panel-card);color:var(--text-main);border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;padding:8px 20px;transition:background-color .12s,border-color .12s}.btn-mute:hover{border-color:var(--text-muted);background:var(--panel-bg)}.mirror-view-stage{flex:1;justify-content:center;align-items:stretch;gap:12px;width:100%;min-height:0;display:flex}.mirror-toolbar{border:1px solid var(--border);background:#1c1c1c;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.mirror-toolbar-btn{color:#b2b2b2;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:48px;height:48px;transition:background .15s,color .15s;display:flex}.mirror-toolbar-btn:active{background:#1c1c1c}.app-layout{background:var(--border);grid-template-columns:320px 1fr 360px;gap:1px;height:100vh;transition:grid-template-columns .2s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.app-layout[data-left=closed]{grid-template-columns:0 1fr 360px}.app-layout[data-right=closed]{grid-template-columns:320px 1fr 52px}.app-layout[data-left=closed][data-right=closed]{grid-template-columns:0 1fr 52px}.app-layout-left,.app-layout-right{background:var(--panel-bg);flex-direction:column;transition:color .15s,background-color .15s;display:flex;position:relative;overflow:hidden}.app-layout-right-handle{cursor:default;z-index:100;justify-content:center;align-items:center;width:4px;transition:background-color .15s,width .15s;display:flex;position:absolute;top:0;bottom:0;left:0}.app-layout-right-handle:hover{background-color:#0000;width:4px}.app-layout-right-handle .handle-bar{background-color:var(--border-strong);opacity:.28;border-radius:99px;width:1px;height:24px;transition:background-color .15s,transform .15s}.app-layout-right-handle:hover .handle-bar{background-color:var(--border-strong);transform:none}.app-layout-brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;height:48px;min-height:48px;padding:0 16px;display:flex}.app-layout-brand-title{color:var(--text-main);white-space:nowrap;flex:1;margin:0;font-size:1.2rem;font-weight:700}.app-layout-panel-body{flex:1;padding:16px;overflow-y:auto}.app-layout-center{background:var(--center-bg);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.app-layout-panel-body::-webkit-scrollbar{width:10px}.tabs-content::-webkit-scrollbar{width:10px}.ai-messages::-webkit-scrollbar{width:10px}.app-layout-panel-body::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 32%, transparent);background-clip:content-box;border:3px solid #0000;border-radius:999px}.tabs-content::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 32%, transparent);background-clip:content-box;border:3px solid #0000;border-radius:999px}.ai-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 32%, transparent);background-clip:content-box;border:3px solid #0000;border-radius:999px}.app-layout-toggle{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.app-layout-toggle:hover{background:var(--border);color:var(--text-main)}.left-activity-bar-item{width:18px;height:18px;color:inherit;pointer-events:none;background:0 0;border:0;border-radius:0;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.app-layout-toggle--left-inside{opacity:1;width:32px;height:32px;transition:background .12s,color .12s}.app-layout-toggle--left-inside:hover{color:var(--primary-deep);background:#3ecf8e14}.app-layout-toggle--right-inside{opacity:1;width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:flex;position:static}.app-layout-toggle--right-inside:hover{color:var(--primary-deep);background:#3ecf8e14}.app-layout-toggle--left-outside,.app-layout-toggle--right-outside{z-index:10;background:var(--panel-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:6px;position:absolute;top:10px;box-shadow:0 1px 4px #00000026}.app-layout-toggle--left-outside{left:10px}.app-layout-toggle--right-outside{right:10px}.app-layout-toggle--left-outside:hover,.app-layout-toggle--right-outside:hover{background:var(--border);color:var(--text-main)}@media (width<=1100px){.app-layout{height:100vh;grid-template-columns:1fr!important}.app-layout-left,.app-layout-right{z-index:200;transition:transform .22s,box-shadow .22s;position:fixed;top:0;bottom:0;transform:translate(0);box-shadow:4px 0 16px #00000040}.app-layout-left{width:320px;left:0}.app-layout-right{width:min(430px,100vw - 12px);right:0}.app-layout[data-left=closed] .app-layout-left{box-shadow:none;transform:translate(-100%)}.app-layout[data-right=closed] .app-layout-right{box-shadow:none;transform:translate(100%)}.app-layout-left-scrim,.app-layout-right-scrim{z-index:199;background:#0006;animation:.22s scrim-in;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.app-layout-toggle--left-outside{top:10px;left:10px}.app-layout-toggle--right-outside{top:10px;right:10px}}@media (width<=520px) and (orientation:portrait){.app-layout-right{width:calc(100vw - 6px)}.right-panel-content{padding:12px}}.right-layout-container{flex-direction:row;flex:1;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.right-panel-body{background:var(--panel-bg);flex-direction:column;flex:1;width:308px;height:100%;min-height:0;display:flex;overflow:hidden}.right-panel-header{border-bottom:1px solid var(--border);background:var(--panel-bg);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;min-height:48px;padding:0 12px 0 16px;display:flex}.right-panel-header h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.8rem;font-weight:600}.right-panel-content{flex:1;min-height:0;padding:16px;overflow-y:auto}.right-activity-bar{background:var(--panel-card);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;gap:16px;width:52px;min-width:52px;height:100%;padding-top:12px;display:flex}.activity-bar-item{width:42px;height:42px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background-color .15s,color .15s,transform .1s;display:flex}.activity-bar-item:hover{background:var(--border);color:var(--text-main)}.activity-bar-item:active{transform:scale(.95)}.activity-bar-item--active{color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent)}@media (width>=1101px){.app-layout-toggle--right-outside{display:none!important}}.center-placeholder{color:var(--text-muted);font-size:.95rem}.empty-state{text-align:center;width:min(460px,100% - 48px);color:var(--text-muted);flex-direction:column;align-items:center;gap:14px;display:flex}.empty-state-icon{border:1px solid var(--border);background:var(--panel-bg);width:56px;height:56px;color:var(--primary);box-shadow:none;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.empty-state-copy{flex-direction:column;align-items:center;gap:6px;display:flex}.empty-state h2{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:500;line-height:1.25}.empty-state p{max-width:44ch;color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}.empty-state-actions{justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex}.empty-state-primary{min-height:40px;padding:0 18px}.empty-state--compact{box-sizing:border-box;border:1px dashed var(--border);background:var(--panel-bg);width:100%;min-height:220px;color:var(--text-main);border-radius:8px;justify-content:center;padding:24px 16px}.empty-state--compact .empty-state-icon{background:var(--panel-card);width:38px;height:38px;color:var(--primary);border-color:var(--border);box-shadow:none}.empty-state--compact h2{color:var(--text-main);font-size:.96rem}.empty-state--compact p{color:var(--text-muted);font-size:.84rem;line-height:1.55}.panel-left{flex-direction:column;gap:20px;display:flex}.panel-left h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 8px;font-size:.8rem;font-weight:600}.companion-status{color:var(--text-muted);font-size:.85rem}.companion-status button{margin-top:6px}.device-card{border:1px solid var(--border);background:var(--panel-card);border-radius:8px;padding:12px;transition:border-color .15s,background-color .15s}.device-card--streaming{border-color:var(--primary);background:#3ecf8e0d}.file-tree{flex-direction:column;gap:8px;font-size:.85rem;display:flex}.file-tree-toolbar{flex-wrap:wrap;gap:4px;display:flex}.file-tree-toolbar button{border:1px solid var(--border);background:var(--panel-card);cursor:pointer;color:var(--text-main);border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:.78rem;display:flex}.file-tree-toolbar button:disabled{opacity:.4;cursor:not-allowed}.file-tree-path{color:var(--text-muted);word-break:break-all;font-size:.78rem}.file-tree-error{color:var(--danger);font-size:.8rem}.file-tree-loading{color:var(--text-muted)}.file-tree-list{margin:0;padding:0;list-style:none}.file-tree-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:4px 0;display:flex}.file-tree-name{cursor:default;color:var(--text-main);text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:6px;min-width:0;display:flex}button.file-tree-name{cursor:pointer}.file-tree-actions{gap:4px;display:flex}.file-tree-actions button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px}.file-tree-actions button:hover{color:var(--primary)}.mirror-controls-btns{gap:8px;display:flex}.mirror-controls-btns button{border:1px solid var(--border-strong);cursor:pointer;color:var(--text-main);background:var(--panel-card);border-radius:6px;flex:1;padding:8px;font-weight:500;transition:background-color .12s,border-color .12s,color .12s}.mirror-controls-btns button:hover{border-color:var(--text-muted);background:var(--panel-bg)}.mirror-view-canvas-wrap{justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.mirror-view-stage--drag{outline:3px dashed var(--accent);outline-offset:-6px;border-radius:8px}.mirror-view-drop-hint{color:#fff;pointer-events:none;background:#0284c7eb;border-radius:8px;padding:8px 16px;font-size:.85rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.keymap-overlay{pointer-events:none;position:absolute;inset:0}.keymap-overlay--editing{pointer-events:none}.keymap-overlay--editing .keymap-marker{pointer-events:auto}.keymap-marker{border:2px solid var(--accent);color:#e0f2fe;cursor:default;background:#0f172a8c;border-radius:50%;min-width:36px;height:36px;padding:0 6px;font-size:.72rem;position:absolute;transform:translate(-50%,-50%)}.keymap-overlay--editing .keymap-marker{cursor:grab}.keymap-marker--selected{border-color:#fbbf24;box-shadow:0 0 12px #fbbf2480}.keymap-marker--joystick{border-style:dashed}.keymap-tab{flex-direction:column;gap:14px;min-height:100%;display:flex}.keymap-hero{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 7%, transparent), transparent 58%), color-mix(in srgb, var(--panel-card) 88%, var(--panel-bg));border-radius:16px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.keymap-hero-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.keymap-hero-copy h4{color:var(--text-main);margin:0;font-size:1rem;line-height:1.2}.keymap-hint{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.55}.keymap-mode-badge{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-card) 92%, transparent);min-height:30px;color:var(--text-muted);letter-spacing:.04em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 12px;font-size:.74rem;font-weight:700;display:inline-flex}.keymap-mode-badge--active{border-color:color-mix(in srgb, var(--primary) 42%, var(--border));background:color-mix(in srgb, var(--primary) 11%, var(--panel-card));color:var(--primary-deep)}.keymap-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.keymap-status-card{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-card) 92%, var(--panel-bg));border-radius:14px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.keymap-status-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:600}.keymap-status-card strong{color:var(--text-main);font-size:1.15rem;line-height:1}.keymap-status-card p{color:var(--text-muted);margin:0;font-size:.79rem;line-height:1.5}.keymap-overlay-toggle{align-items:flex-start;margin-top:2px}.keymap-editor{flex-direction:column;gap:12px;font-size:.82rem;display:flex}.keymap-editor-section{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-card) 94%, var(--panel-bg));border-radius:14px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.keymap-editor-section-head{flex-direction:column;gap:4px;display:flex}.keymap-editor-section-head h4{color:var(--text-main);margin:0;font-size:.88rem;line-height:1.25}.keymap-editor-section-head p{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.5}.keymap-editor-presets select{border:1px solid var(--border);background:var(--panel-card);width:100%;min-height:38px;color:var(--text-main);cursor:pointer;border-radius:10px;padding:7px 10px;font-size:.82rem}.keymap-editor-add{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.keymap-editor-add button,.keymap-editor-json-actions button,.keymap-editor-delete-btn{min-height:36px}.keymap-editor-add button{border:1px solid var(--border);background:var(--panel-card);color:var(--text-main);cursor:pointer;border-radius:10px;padding:6px 8px}.keymap-clear-btn{color:var(--danger)}.keymap-editor-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.keymap-editor-item{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-bg) 52%, var(--panel-card));border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.keymap-editor-item-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.keymap-editor-item-copy strong{color:var(--text-main);font-size:.82rem;line-height:1.4}.keymap-editor-item-id{color:var(--text-muted-light);font-size:.72rem;line-height:1}.keymap-editor-delete-btn{border-color:color-mix(in srgb, var(--danger) 24%, var(--border));color:var(--danger)}.keymap-editor-json-actions{gap:8px;display:flex}.keymap-editor-json{flex-direction:column;gap:6px;display:flex}.keymap-editor-json textarea{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-bg) 48%, var(--panel-card));min-height:132px;color:var(--text-main);border-radius:12px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;line-height:1.55}.settings-section h2{margin:0 0 8px;font-size:1rem}.setting-toggle{color:var(--text-main);cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.setting-toggle input{width:16px;height:16px}.setting-select{color:var(--text-main);flex-direction:column;gap:6px;margin-bottom:10px;font-size:.85rem;display:flex}.setting-select span{color:var(--text-muted);font-size:.78rem}.setting-select select{border:1px solid var(--border);background:var(--panel-card);width:100%;color:var(--text-main);cursor:pointer;border-radius:6px;padding:6px 8px;font-size:.82rem}.settings-subtitle{color:var(--text-muted);margin:12px 0 4px;font-size:.85rem}.file-transfer-progress{color:var(--accent);margin:0 0 8px;padding:0;font-size:.78rem;list-style:none}.file-transfer-progress li{align-items:center;gap:8px;display:flex}.file-transfer-progress progress{flex:1;height:4px}.hotkey-settings{flex-direction:column;gap:6px;font-size:.82rem;display:flex}.hotkey-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.hotkey-btn{border:1px solid var(--border);background:var(--panel-bg);min-width:80px;color:var(--text-main);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:.78rem}.hotkey-btn--recording{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--panel-bg));color:var(--primary)}.wifi-connect{flex-direction:column;gap:6px;margin-top:8px;display:flex}.wifi-connect-row{align-items:center;gap:6px;display:flex}.wifi-input{border:1px solid var(--border);background:var(--panel-card);color:var(--text-main);border-radius:6px;flex:1;padding:6px 8px;font-size:.82rem}.wifi-port{border:1px solid var(--border);background:var(--panel-card);width:64px;color:var(--text-main);border-radius:6px;padding:6px 8px;font-size:.82rem}.wifi-error{color:var(--danger);margin:0;font-size:.78rem}.wifi-hint{color:var(--text-muted);margin:0;font-size:.78rem}.ai-key-setup{flex-direction:column;gap:8px;padding:8px;display:flex}.ai-key-input{border:1px solid var(--border);box-sizing:border-box;background:var(--panel-card);width:100%;color:var(--text-main);border-radius:6px;padding:6px 8px;font-size:.82rem}.ai-key-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;padding:3px 6px}.group-grid{box-sizing:border-box;background:var(--center-bg);gap:4px;width:100%;height:100%;padding:8px;display:grid}.group-cell{cursor:pointer;background:#1e293b;border-radius:6px;position:relative;overflow:hidden}.group-cell:hover{outline:2px solid var(--accent)}.group-cell-canvas{object-fit:contain;width:100%;height:100%;display:block}.group-cell-label{color:#cbd5e1;pointer-events:none;background:#00000080;border-radius:3px;padding:1px 5px;font-size:.72rem;position:absolute;bottom:4px;left:6px}.group-focused{background:var(--center-bg);flex-direction:column;width:100%;height:100%;display:flex}.group-back{color:#e2e8f0;cursor:pointer;background:#334155;border:none;border-radius:6px;align-self:flex-start;margin:8px;padding:4px 10px;font-size:.82rem}.group-focused-canvas{object-fit:contain;flex:1;width:100%}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{color:#e2e8f0;background:#0f172aeb;border:1px solid #ffffff14;border-radius:8px;padding:8px 16px;font-size:.85rem;animation:.2s toast-in;box-shadow:0 4px 12px #0000001f}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ai-settings{flex-direction:column;gap:10px;height:100%;padding:8px;font-size:.82rem;display:flex;overflow-y:auto}.right-panel-content--ai{flex-direction:column;padding:12px;display:flex;overflow:hidden!important}.ai-settings{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-card) 86%, var(--panel-bg));border-radius:12px;gap:12px;padding:12px}.ai-settings h3{color:var(--text-main);margin:0 0 4px;font-size:.9rem}.ai-settings label{color:var(--text-main);flex-direction:column;gap:4px;display:flex}.ai-model-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ai-model-row select{border:1px solid var(--border);background:var(--panel-card);color:var(--text-main);border-radius:6px;flex:1;padding:5px 8px;font-size:.8rem}.ai-settings button{border-color:var(--border);background:var(--panel-card);color:var(--text-main)}.ai-settings button:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 42%, var(--border));background:color-mix(in srgb, var(--primary) 7%, var(--panel-card))}.wifi-scan-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.wifi-scan-btn{border:1px solid var(--border);background:var(--panel-bg);color:var(--text-main);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:.78rem}.wifi-scan-btn:hover{background:var(--border)}.wifi-device-list{border:1px solid var(--border);border-radius:6px;margin:0 0 6px;padding:0;list-style:none;overflow:hidden}.wifi-device-item{cursor:pointer;color:var(--text-main);padding:6px 10px;font-size:.82rem}.wifi-device-item:hover{background:color-mix(in srgb, var(--primary) 8%, var(--panel-bg))}.wifi-device-item.selected{background:color-mix(in srgb, var(--primary) 12%, var(--panel-bg));color:var(--primary);font-weight:500}.device-card{border:1px solid var(--border);background:var(--panel-card);border-radius:8px;flex-direction:column;gap:6px;padding:12px;transition:border-color .15s,background .15s;display:flex}.device-card--active{border-color:var(--primary);background:#3ecf8e0d}.device-card-header{align-items:center;gap:8px;display:flex}.device-card-online-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:8px;height:8px}.device-card-model{color:var(--text-main);flex:1;font-size:.9rem;font-weight:500}.device-badge{border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:500}.device-badge--connected{color:var(--primary-deep);background:#3ecf8e1a}.device-badge--connecting{color:#854d0e;background:#ffdb131a}.device-card-disconnect-btn{border:1px solid var(--border-strong);background:var(--panel-card);height:24px;color:var(--text-main);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:0 8px;transition:background-color .15s,border-color .15s,color .15s,transform .1s;display:flex}.device-card-disconnect-text{font-size:.72rem;font-weight:500}button.device-card-disconnect-btn:hover:not(:disabled){background-color:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}button.device-card-disconnect-btn:hover:not(:disabled) .device-card-disconnect-text{color:#fff!important}.device-card-disconnect-btn:active{transform:scale(.92)}.device-card-wifi-icon{color:var(--text-muted);flex-shrink:0}.device-card-params{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px;padding-top:8px;display:grid}.device-card-param{flex-direction:column;align-items:center;gap:2px;display:flex}.device-card-param-label{color:var(--text-muted);font-size:.68rem}.device-card-param-value{color:var(--text-main);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:500}.mirror-toolbar{border:1px solid var(--border);background:#1c1c1c;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;display:flex}.mirror-toolbar-btn{color:#b2b2b2;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:56px;padding:6px 2px;transition:background .15s,color .15s;display:flex}.mirror-toolbar-btn:hover{color:var(--primary);background:#202020}.mirror-toolbar-btn--danger{color:var(--danger)}.mirror-toolbar-label{white-space:nowrap;color:#707070;font-size:.6rem;line-height:1}.mirror-toolbar-btn:hover .mirror-toolbar-label{color:#fff}.hotkey-icon{color:var(--text-muted);flex-shrink:0}.hotkey-label{color:var(--text-main);flex:1;font-size:.82rem}.toast{align-items:center;gap:8px;padding:8px 12px;display:flex}.toast-icon{color:var(--primary);flex-shrink:0}.toast-message{flex:1}.toast-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.toast-close:hover{color:#e2e8f0;background:#ffffff1a}.file-tree-path-row{align-items:center;gap:4px;min-width:0;display:flex}.file-tree-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-tree-copy-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px}.file-tree-copy-btn:hover{color:var(--primary)}.file-tree-item{height:44px}.file-tree-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-tree-time{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;margin:0 8px;font-size:.7rem}.file-tree-action-btn{cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:3px;padding:3px 7px;font-size:.72rem;display:flex}.file-tree-action-btn--dl{color:var(--primary)}.file-tree-action-btn--dl:hover{background:#3ecf8e1a}.file-tree-action-btn--del{color:var(--danger)}.file-tree-action-btn--del:hover{background:#ff22011a}.ft-icon{flex-shrink:0}.ft-icon--dir{color:#f59e0b}.ft-icon--apk{color:#22c55e}.ft-icon--img{color:#6366f1}.ft-icon--video{color:#ec4899}.ft-icon--text{color:#64748b}.ft-icon--file{color:var(--text-muted)}.ai-chat{height:100%;min-height:0;color:var(--text-main);flex-direction:column;gap:12px;display:flex}.ai-chat-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-chat-title{color:var(--text-main);margin:0;font-size:.92rem;font-weight:700;line-height:1.2}.ai-chat-clear-btn{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--panel-card) 88%, transparent);color:var(--text-muted);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;font-weight:600;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.ai-chat-clear-btn:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb, var(--danger) 34%, var(--border));background:color-mix(in srgb, var(--danger) 7%, var(--panel-card))}.ai-chat-clear-btn:disabled{opacity:.5;cursor:default}.ai-messages{flex-direction:column;flex:1;gap:16px;min-height:0;padding:6px 2px 2px;display:flex;overflow-y:auto}.ai-empty-state{text-align:center;width:min(100%,320px);color:var(--text-muted);justify-items:center;gap:8px;margin:auto;display:grid}.ai-empty-mark{border:1px solid color-mix(in srgb, var(--primary) 26%, var(--border));background:color-mix(in srgb, var(--primary) 8%, var(--panel-card));width:36px;height:36px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ai-empty-state h4{color:var(--text-main);margin:4px 0 0;font-size:1rem;font-weight:600;line-height:1.25}.ai-empty-state p{max-width:28ch;color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.55}.ai-bubble-row{gap:6px;width:100%;display:grid}.ai-bubble-row--user{justify-items:end}.ai-message-heading{color:var(--text-muted);align-items:center;gap:7px;font-size:.74rem;font-weight:600;display:inline-flex}.ai-avatar{background:color-mix(in srgb, var(--primary) 9%, var(--panel-card));width:22px;height:22px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ai-bubble-wrap{flex-direction:column;gap:4px;min-width:0;display:flex}.ai-bubble-row--assistant .ai-bubble-wrap{width:100%}.ai-bubble-row--user .ai-bubble-wrap{align-items:flex-end;max-width:min(86%,32rem)}.ai-bubble{word-break:break-word;white-space:pre-wrap;max-width:100%;font-size:.86rem;line-height:1.62}.ai-bubble--user{border:1px solid color-mix(in srgb, var(--primary) 22%, transparent);background:color-mix(in srgb, var(--primary) 12%, var(--panel-card));color:var(--text-main);border-radius:16px 16px 5px;padding:9px 12px}.ai-bubble--assistant{color:var(--text-main);background:0 0;border:0;padding:0 4px 0 29px}.ai-bubble-meta{color:var(--text-muted);align-items:center;gap:4px;padding:0 4px;font-size:.65rem;display:flex}.ai-bubble-row--assistant .ai-bubble-meta{padding-left:29px}.ai-sent-mark{color:var(--primary)}.ai-agent-gate{border:1px solid var(--border);color:var(--text-muted);background:var(--panel-card);border-radius:6px;margin:0;padding:10px;font-size:.82rem;line-height:1.5}.ai-agent-inline{flex-direction:column;gap:8px;display:flex}.ai-avatar--user{align-self:end}.ai-composer{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-card) 88%, var(--panel-bg));box-shadow:0 1px 2px #0f172a0a, 0 10px 30px color-mix(in srgb, var(--text-main) 5%, transparent);border-radius:16px;flex-direction:column;flex-shrink:0;gap:8px;padding:10px;transition:border-color .12s,box-shadow .12s,background-color .12s;display:flex}.ai-composer:focus-within{border-color:color-mix(in srgb, var(--primary) 46%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent), 0 14px 34px color-mix(in srgb, var(--text-main) 6%, transparent)}.ai-input{resize:vertical;width:100%;min-height:52px;max-height:180px;color:var(--text-main);background:0 0;border:0;border-radius:0;outline:none;padding:0;font-family:inherit;font-size:.88rem;line-height:1.55}.ai-input::placeholder{color:var(--text-muted-light)}.ai-input:disabled{cursor:wait}.ai-composer-footer{justify-content:flex-end;align-items:center;gap:10px;display:flex}.agent-control-panel{flex-direction:column;gap:8px;min-height:0;display:flex}.agent-control-panel__target,.agent-step-card,.agent-sensitive-dialog{border:1px solid var(--border);background:var(--panel-card);border-radius:6px}.agent-control-panel__target{color:var(--text-main);word-break:break-word;padding:8px 10px;font-size:.8rem;line-height:1.4}.agent-task-field{color:var(--text-main);flex-direction:column;gap:5px;font-size:.78rem;display:flex}.agent-task-field textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border);background:var(--panel-card);width:100%;min-height:58px;max-height:120px;color:var(--text-main);font:inherit;border-radius:6px;padding:7px 8px;line-height:1.45}.agent-error{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--panel-card));border-radius:6px;margin:0;padding:7px 8px;font-size:.78rem;line-height:1.4}.agent-control-panel__actions{align-items:center;gap:6px;display:flex}.agent-auto-toggle{min-height:28px;color:var(--text-main);align-items:center;gap:7px;font-size:.78rem;line-height:1.35;display:flex}.agent-auto-toggle span{color:var(--text-muted);font-size:.72rem}.agent-auto-toggle input{flex-shrink:0;width:14px;height:14px}.agent-primary-btn,.agent-secondary-btn{cursor:pointer;border-radius:6px;height:32px;padding:0 10px;font-size:.78rem}.agent-primary-btn{background:var(--primary);color:#fff;border:none}.agent-secondary-btn{border:1px solid var(--border);color:var(--text-main);background:0 0}.agent-secondary-btn:disabled{opacity:.55;cursor:not-allowed}.agent-step-card{flex-direction:column;gap:7px;padding:10px;display:flex}.agent-step-card__header,.agent-sensitive-dialog__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.agent-step-card__type,.agent-step-card__decision{border-radius:999px;padding:4px 7px;font-size:.72rem;line-height:1}.agent-step-card__type{color:var(--text-main);background:color-mix(in srgb, var(--text-muted) 12%, transparent)}.agent-step-card__decision{color:var(--text-main);background:color-mix(in srgb, var(--primary) 12%, transparent)}.agent-step-card__decision--block,.agent-step-card__decision--take_over{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.agent-step-card__decision--confirm{color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent)}.agent-step-card__preview{color:var(--text-main);margin:0;font-size:.9rem;font-weight:600;line-height:1.35}.agent-step-card__meta,.agent-step-card__reason,.agent-sensitive-dialog p{color:var(--text-muted);word-break:break-word;margin:0;font-size:.78rem;line-height:1.45}.agent-sensitive-dialog{border-color:color-mix(in srgb, var(--warning) 45%, var(--border));flex-direction:column;gap:8px;padding:10px;display:flex}.agent-sensitive-dialog__header h4{color:var(--text-main);margin:0;font-size:.85rem}.agent-sensitive-dialog__header span{color:var(--text-muted);font-size:.72rem}.agent-sensitive-dialog__preview{color:var(--text-main)!important}.agent-sensitive-dialog__json{background:color-mix(in srgb, var(--panel-bg) 75%, #000 8%);max-height:160px;color:var(--text-main);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:8px;font-size:.72rem;line-height:1.45;overflow:auto}.ai-actions{flex-direction:row;flex-shrink:0;gap:6px;display:inline-flex}.ai-send-btn{background:var(--primary);color:var(--primary-on);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ai-send-btn svg{width:16px!important;height:16px!important}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-settings-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .12s,color .12s;display:flex}.ai-settings-btn svg{width:16px!important;height:16px!important}.ai-settings-btn:hover{color:var(--text-main);border-color:var(--text-muted)}.companion-section h2{color:var(--text-main);align-items:center;gap:6px;margin:0 0 6px;font-size:.85rem;font-weight:600;display:flex}.companion-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;display:inline-block}.companion-dot--online{background:var(--success)}.companion-text{color:var(--text-muted);margin:0 0 8px;font-size:.82rem}.btn-secondary{border:1px solid var(--border);color:var(--text-main);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:.82rem}.btn-secondary:hover{border-color:var(--text-muted)}.mirror-controls-btns button{justify-content:center;align-items:center;gap:6px;display:flex}.panel-left{gap:14px}.device-section,.settings-section,.companion-section,.mirror-controls{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-card) 86%, var(--panel-bg));border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex;box-shadow:0 1px 2px #0f172a0a}.device-section h2,.settings-section h2,.companion-section h2,.mirror-controls h2{letter-spacing:0;text-transform:none;color:var(--text-main);align-items:center;gap:6px;margin:0;font-size:.88rem;font-weight:700;display:flex}.device-list{flex-direction:column;gap:10px;display:flex}.device-picker button{width:100%;height:38px}.device-picker .error-message{color:var(--danger);margin:6px 0 0;font-size:.78rem}.toast-container{align-items:flex-end;bottom:28px;right:384px}.toast{background:#1c1c1c;border:1px solid #444;border-radius:6px;min-width:220px;max-width:360px;box-shadow:0 8px 24px #00000038}.mirror-toolbar{background:0 0;border-radius:8px;gap:6px;width:48px;padding:8px 6px;overflow:visible}.mirror-toolbar-btn{border:1px solid var(--border-strong);background:var(--panel-card);width:44px;height:44px;color:var(--text-main);border-radius:6px;flex-direction:row;padding:0;transition:background-color .12s,border-color .12s,color .12s;position:relative}.mirror-toolbar-btn:hover{background:var(--panel-bg);border-color:var(--primary);color:var(--primary)}.mirror-toolbar-label{opacity:0;pointer-events:none;border:1px solid var(--border-strong);color:#fff;white-space:nowrap;background:#1c1c1c;border-radius:5px;padding:5px 8px;font-size:.72rem;line-height:1;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)translate(-4px);box-shadow:0 4px 12px #00000026}.mirror-toolbar-btn:hover .mirror-toolbar-label,.mirror-toolbar-btn:focus-visible .mirror-toolbar-label{opacity:1;transform:translateY(-50%)translate(0)}.file-tree{gap:10px;font-size:.85rem}.file-tree-toolbar{grid-template-columns:repeat(5,34px);gap:6px;display:grid}.file-tree-toolbar button{background:var(--panel-card);width:34px;height:34px;color:var(--text-main);border:1px solid var(--border);border-radius:6px;justify-content:center;padding:0;box-shadow:0 1px 1px #0f172a08}.file-tree-toolbar button:hover:not(:disabled){color:var(--primary);border-color:color-mix(in srgb, var(--primary) 36%, var(--border));background:color-mix(in srgb, var(--primary) 6%, var(--panel-card))}.file-tree-path-row{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-card) 72%, var(--panel-bg));border-radius:6px;min-height:30px;padding:0 8px}.file-tree-list{border:1px solid var(--border);background:var(--panel-card);border-radius:8px;overflow:hidden}.file-tree-item{border-bottom:1px solid var(--border);background:var(--panel-card);gap:8px;height:auto;min-height:54px;padding:8px 10px}.file-tree-item:last-child{border-bottom:none}.file-tree-item:hover{background:color-mix(in srgb, var(--primary) 4%, var(--panel-card))}.file-tree-name{gap:10px;padding:0}.file-tree-item-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-tree-item-name{color:var(--text-main);font-size:.86rem;font-weight:500}.file-tree-time{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0;font-size:.74rem}.file-tree-actions{flex-shrink:0}.file-tree-action-btn{gap:4px;min-height:26px;padding:3px 6px}.ft-icon{border-radius:6px;width:26px;height:26px;padding:3px}.ft-icon--dir{color:#d97706;background:#fef3c7}.ft-icon--apk{color:#16a34a;background:#dcfce7}.ft-icon--img{color:#2563eb;background:#dbeafe}.ft-icon--video{color:#7c3aed;background:#ede9fe}.ft-icon--text,.ft-icon--file{color:#475569;background:#e2e8f0}[data-theme=dark] .device-section,[data-theme=dark] .settings-section,[data-theme=dark] .companion-section,[data-theme=dark] .mirror-controls{box-shadow:none}[data-theme=dark] .ft-icon--dir{color:#fbbf24;background:#fbbf241f}[data-theme=dark] .ft-icon--apk{color:#4ade80;background:#4ade801f}[data-theme=dark] .ft-icon--img{color:#60a5fa;background:#60a5fa1f}[data-theme=dark] .ft-icon--video{color:#a78bfa;background:#a78bfa1f}[data-theme=dark] .ft-icon--text,[data-theme=dark] .ft-icon--file{color:#cbd5e1;background:#94a3b81f}@media (width<=1100px){.toast-container{bottom:18px;right:18px}}.tabs-header{border-bottom:1px solid var(--border);background:var(--panel-bg);align-items:center;gap:4px;min-height:48px;padding:8px 8px 8px 42px;display:flex;position:relative}.tabs-header:before{display:none}.tabs-tab{z-index:1;height:32px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:4px;flex:1;justify-content:center;align-items:center;padding:0 10px;font-size:.86rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:flex;position:relative}.tabs-tab:active{transform:scale(.98)}.tabs-tab:hover{color:var(--text-main);background:#3ecf8e0d}.tabs-tab--active{color:var(--text-main);background:var(--panel-card);border-color:var(--border);box-shadow:0 1px 3px #0000000a}.tabs-content{background:var(--panel-card)}.file-tree-action-btn{border-radius:6px;justify-content:center;width:28px;height:28px;min-height:28px;padding:0}.ft-icon{width:28px;height:28px;color:inherit;background:color-mix(in srgb, var(--panel-bg) 72%, var(--panel-card));justify-content:center;align-items:center;padding:0;display:inline-flex}[data-theme=unity].app-layout--unity-shell{background:radial-gradient(circle at 55% 0,#00d7ff1f,#0000 34%),radial-gradient(circle at 96% 18%,#a173ff24,#0000 26%),linear-gradient(#070a0f 0%,#030507 100%);border:0;grid-template-rows:58px minmax(0,1fr);grid-template-columns:390px minmax(520px,1fr) 468px;gap:0;height:100dvh;min-height:760px;overflow:hidden}[data-theme=unity].app-layout--unity-shell:before{content:"";pointer-events:none;background-image:linear-gradient(#36dcff0e 1px,#0000 1px),linear-gradient(90deg,#36dcff0e 1px,#0000 1px);background-size:20px 20px;animation:24s linear infinite unity-html-grid-drift;position:absolute;inset:58px 0 0;-webkit-mask-image:radial-gradient(circle at 50% 48%,#000 0%,#000000b3 45%,#0000 84%);mask-image:radial-gradient(circle at 50% 48%,#000 0%,#000000b3 45%,#0000 84%)}[data-theme=unity].app-layout--unity-shell[data-left=closed]{grid-template-columns:58px minmax(520px,1fr) 468px}[data-theme=unity].app-layout--unity-shell[data-right=closed]{grid-template-columns:390px minmax(520px,1fr) 52px}[data-theme=unity].app-layout--unity-shell[data-left=closed][data-right=closed]{grid-template-columns:58px minmax(520px,1fr) 52px}[data-theme=unity] .unity-topbar{z-index:4;border-color:var(--border);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border);background:#05080de6;grid-area:1/1;grid-template-columns:1fr;animation:.52s cubic-bezier(.16,1,.3,1) both unity-shell-enter;display:grid;position:relative}[data-theme=unity] .unity-brand{border-right:1px solid var(--border);align-items:center;gap:12px;min-width:0;padding:0 18px;transition:gap .2s cubic-bezier(.4,0,.2,1),padding .2s cubic-bezier(.4,0,.2,1);display:flex}[data-theme=unity].app-layout--unity-shell[data-left=closed] .unity-brand{justify-content:center;gap:0;padding:0 10px}[data-theme=unity].app-layout--unity-shell[data-left=closed] .unity-mark,[data-theme=unity].app-layout--unity-shell[data-left=closed] .unity-brand-row{opacity:0;pointer-events:none;width:0;overflow:hidden}[data-theme=unity] .unity-mark{width:38px;height:38px;color:var(--primary);background:linear-gradient(145deg,#00d7ff29,#13e6a20a),#061019;border:1px solid #00d7ff70;border-radius:8px;place-items:center;font-size:.78rem;font-weight:800;transition:width .2s cubic-bezier(.4,0,.2,1),opacity .16s;animation:4.2s cubic-bezier(.4,0,.2,1) infinite unity-mark-pulse;display:grid;box-shadow:inset 0 0 24px #00d7ff29}[data-theme=unity] .unity-brand-row{align-items:center;gap:10px;min-width:0;transition:width .2s cubic-bezier(.4,0,.2,1),opacity .16s;display:flex}[data-theme=unity] .unity-brand-row>svg{display:none}[data-theme=unity] .unity-brand-row .app-layout-brand-title{color:var(--text-main);flex:0 auto;margin:0;font-size:1.28rem;font-weight:650;line-height:1}[data-theme=unity] .unity-brand-toggle{flex-shrink:0;margin-left:auto}[data-theme=unity] .unity-icon-btn{border:1px solid var(--border);color:#dce8f5;background:#ffffff09;border-radius:8px;place-items:center;width:38px;height:38px;padding:0;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s,color .14s;display:inline-grid}[data-theme=unity] .unity-icon-btn:hover{border-color:var(--border-strong);color:var(--primary);background:#00d7ff1a;box-shadow:0 0 0 1px #00d7ff14,0 0 18px #00d7ff24}[data-theme=unity].app-layout--unity-shell>.app-layout-left,[data-theme=unity].app-layout--unity-shell>.app-layout-right{min-height:0;box-shadow:none;background:linear-gradient(#080d14eb,#05090eeb);border:0;padding:16px 14px;animation:.52s cubic-bezier(.16,1,.3,1) both unity-side-enter}[data-theme=unity].app-layout--unity-shell>.app-layout-left{border-right:1px solid var(--border);grid-area:2/1}[data-theme=unity].app-layout--unity-shell>.app-layout-right{border-left:1px solid var(--border);grid-area:1/3/3;animation-delay:80ms}[data-theme=unity] .app-layout-panel-body,[data-theme=unity] .right-panel-content{padding:0}[data-theme=unity] .panel-left{gap:10px;height:100%;overflow:hidden auto}[data-theme=unity] .device-section,[data-theme=unity] .settings-section,[data-theme=unity] .companion-section,[data-theme=unity] .mirror-controls,[data-theme=unity] .file-tree,[data-theme=unity] .keymap-tab,[data-theme=unity] .ai-chat,[data-theme=unity] .empty-state--compact,[data-theme=unity] .mirror-options{border:1px solid var(--border);background:linear-gradient(#ffffff09,#0000 120px),#0d131ceb;border-radius:8px;animation:.52s cubic-bezier(.16,1,.3,1) both unity-panel-enter;box-shadow:inset 0 1px #ffffff0a}[data-theme=unity] .device-section:hover,[data-theme=unity] .settings-section:hover,[data-theme=unity] .companion-section:hover,[data-theme=unity] .mirror-controls:hover,[data-theme=unity] .file-tree:hover,[data-theme=unity] .keymap-tab:hover,[data-theme=unity] .ai-chat:hover,[data-theme=unity] .empty-state--compact:hover{background:linear-gradient(#ffffff0e,#0000 120px),#0f1824f0;border-color:#36dcff57;box-shadow:inset 0 1px #fff1,0 0 28px #00d7ff0f}[data-theme=unity] .device-section>h2,[data-theme=unity] .settings-section>h2,[data-theme=unity] .companion-section>h2,[data-theme=unity] .mirror-controls>h2,[data-theme=unity] .right-panel-header{border-bottom:1px solid var(--border);min-height:36px;color:var(--text-muted);letter-spacing:.045em;text-transform:uppercase;background:0 0;align-items:center;gap:8px;margin:-12px -12px 12px;padding:9px 13px;font-size:.78rem;font-weight:700;display:flex}[data-theme=unity].app-layout--unity-shell[data-left=closed]>.app-layout-left{pointer-events:none;padding:0}[data-theme=unity].app-layout--unity-shell[data-left=closed]>.app-layout-left .app-layout-panel-body{display:none}[data-theme=unity] .device-section>h2,[data-theme=unity] .settings-section>h2,[data-theme=unity] .mirror-controls>h2{align-items:center;display:flex}[data-theme=unity].app-layout--unity-shell[data-left=closed] .device-section>h2,[data-theme=unity].app-layout--unity-shell[data-left=closed] .settings-section>h2,[data-theme=unity].app-layout--unity-shell[data-left=closed] .mirror-controls>h2{font-size:0}[data-theme=unity].app-layout--unity-shell[data-left=closed] .left-activity-bar-item{border-radius:8px;justify-content:center;width:36px;height:36px}[data-theme=unity].app-layout--unity-shell[data-left=closed] .left-activity-bar-item>svg{width:18px;height:18px}[data-theme=unity].app-layout--unity-shell[data-left=closed] .device-section>:not(h2),[data-theme=unity].app-layout--unity-shell[data-left=closed] .settings-section>:not(h2),[data-theme=unity].app-layout--unity-shell[data-left=closed] .mirror-controls>:not(h2){display:none}[data-theme=unity] .right-panel-header{height:38px;margin:0}[data-theme=unity] .right-panel-header h3{color:var(--text-muted);font-size:.78rem;font-weight:700}[data-theme=unity].app-layout--unity-shell>.app-layout-center{background:0 0;flex-direction:column;grid-area:1/2/3;justify-content:center;align-items:center;min-height:0;padding:0;animation:.52s cubic-bezier(.16,1,.3,1) .14s both unity-stage-enter;display:flex;position:relative;overflow:hidden}[data-theme=unity].app-layout--unity-shell>.app-layout-center:before,[data-theme=unity].app-layout--unity-shell>.app-layout-center:after{content:"";z-index:1;pointer-events:none;border:1px solid #0000;border-color:var(--border-strong) transparent transparent var(--border-strong);opacity:.78;background:0 0;width:108px;height:108px;animation:4.6s cubic-bezier(.4,0,.2,1) infinite unity-corner-pulse;position:absolute;-webkit-mask-image:none;mask-image:none}[data-theme=unity].app-layout--unity-shell>.app-layout-center:before{inset:24px auto auto 32px}[data-theme=unity].app-layout--unity-shell>.app-layout-center:after{bottom:42px;right:32px;transform:rotate(180deg)}[data-theme=unity] .mirror-view{gap:12px;padding:12px}[data-theme=unity] .mirror-view-stage{z-index:2;flex:1;justify-content:center;align-items:stretch;gap:12px;width:100%;height:auto;min-height:0;display:flex;position:relative}[data-theme=unity] .mirror-view-canvas-wrap{height:auto;min-height:0}[data-theme=unity] .mirror-view-canvas{aspect-ratio:auto;border:1px solid var(--border-strong);background:#000;border-radius:12px;max-width:100%;max-height:100%;padding:0;box-shadow:0 8px 24px #00000014,0 0 80px #00d7ff14}[data-theme=unity] .empty-state:not(.empty-state--compact){background:radial-gradient(circle at 60% 12%,#ffffff24,#0000 12%),linear-gradient(145deg,#ffffff0f,#0000 35%),repeating-linear-gradient(145deg,#ffffff14 0 13px,#0000002e 13px 26px),linear-gradient(160deg,#30353b 0%,#0b0d10 58%,#525963 60%,#13161a 100%);border:1px solid #36dcff38;border-radius:27px;justify-content:center;width:min(460px,100% - 48px);min-height:520px;box-shadow:0 0 0 1px #ffffff14,0 28px 68px #00000094,0 0 80px #00d7ff14}[data-theme=unity] .mirror-toolbar{border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);background:#0e151fc7;border-radius:12px;align-self:start;gap:8px;width:52px;margin-top:132px;padding:9px 7px;animation:.52s cubic-bezier(.16,1,.3,1) .26s both unity-strip-enter;box-shadow:0 24px 70px #0000007a}[data-theme=unity] .mirror-toolbar-btn{border:1px solid var(--border);color:#dce8f5;background:#ffffff09;border-radius:8px;width:36px;height:36px}[data-theme=unity] .mirror-toolbar-label{display:none}[data-theme=unity] .mirror-toolbar-btn:hover,[data-theme=unity] .file-tree-toolbar button:hover:not(:disabled),[data-theme=unity] .file-tree-action-btn:hover,[data-theme=unity] .activity-bar-item:hover,[data-theme=unity] .btn-secondary:hover,[data-theme=unity] .btn-fullscreen:hover,[data-theme=unity] .btn-mute:hover{border-color:var(--border-strong);color:var(--primary);background:#00d7ff14;box-shadow:0 0 18px #00d7ff1a}[data-theme=unity] .mirror-toolbar-btn--danger,[data-theme=unity] .capture{color:var(--danger);border-color:#ff3f6885;animation:1.6s cubic-bezier(.4,0,.2,1) infinite unity-record-ring}[data-theme=unity].app-layout--unity-shell[data-right=closed]>.app-layout-right{padding:0}[data-theme=unity] .right-layout-container{gap:10px}[data-theme=unity] .right-panel-body{border:1px solid var(--border);background:linear-gradient(#ffffff09,#0000 120px),#0d131ceb;border-radius:8px;width:auto;box-shadow:inset 0 1px #ffffff0a}[data-theme=unity] .ai-chat{padding:12px}[data-theme=unity] .keymap-hero,[data-theme=unity] .keymap-status-card,[data-theme=unity] .keymap-editor-section,[data-theme=unity] .ai-composer,[data-theme=unity] .ai-empty-state,[data-theme=unity] .ai-agent-gate{border-color:var(--border);background:linear-gradient(#ffffff09,#0000 120px),#0b121be6;box-shadow:inset 0 1px #ffffff0a,0 0 0 1px #00d7ff05}[data-theme=unity] .keymap-mode-badge{color:#b5c7d9;background:#ffffff0a}[data-theme=unity] .keymap-mode-badge--active{color:var(--primary);background:radial-gradient(circle at 50% 0,#00d7ff1f,#0000 72%),#0e1722f5;border-color:#00d7ff6b}[data-theme=unity] .keymap-editor-item,[data-theme=unity] .keymap-editor-json textarea{background:#ffffff06}[data-theme=unity] .keymap-editor-delete-btn{border-color:#ff3f6847}[data-theme=unity] .ai-empty-mark{background:#00d7ff14;border-color:#00d7ff66;box-shadow:0 0 22px #00d7ff1f}[data-theme=unity] .ai-composer:focus-within{border-color:#00d7ff7a;box-shadow:0 0 0 3px #00d7ff1f,0 18px 40px #00000047}[data-theme=unity] .ai-bubble--user{background:color-mix(in srgb, var(--primary) 14%, #080f16eb);color:#f4fbff}[data-theme=unity] .ai-bubble--assistant{color:#dce8f4}[data-theme=unity] .ai-send-btn{box-shadow:0 0 18px #00d7ff29}@media (width<=900px){.keymap-status-grid{grid-template-columns:1fr}.keymap-editor-add{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.keymap-hero{flex-direction:column;align-items:stretch}.keymap-mode-badge{align-self:flex-start}.keymap-editor-item{flex-wrap:wrap}.keymap-editor-json-actions,.ai-composer-footer{flex-direction:column;align-items:flex-end}.ai-actions{justify-content:flex-end}}[data-theme=unity] .right-activity-bar{box-sizing:border-box;border:1px solid var(--border);background:#0e151fc7;border-radius:12px;gap:8px;width:52px;min-width:52px;padding:9px 7px;box-shadow:0 24px 70px #00000047}[data-theme=unity] .activity-bar-item{border:1px solid var(--border);color:#dce8f5;background:#ffffff09;border-radius:8px;width:36px;height:36px}[data-theme=unity] .activity-bar-item--active,[data-theme=unity] .tabs-tab--active{color:var(--primary);background:radial-gradient(circle at 50% 0,#00d7ff29,#0000 70%),#101924fa}[data-theme=unity] .file-tree-path-row,[data-theme=unity] .file-tree-item,[data-theme=unity] .hotkey-row,[data-theme=unity] .device-card-param,[data-theme=unity] .wifi-device-item{color:#cbd8e6;border-color:#8ba0b81f}[data-theme=unity] .file-tree-toolbar button,[data-theme=unity] .file-tree-action-btn,[data-theme=unity] .btn-secondary,[data-theme=unity] .btn-fullscreen,[data-theme=unity] .btn-mute,[data-theme=unity] .hotkey-btn,[data-theme=unity] .keymap-editor-add button,[data-theme=unity] .keymap-editor-presets select,[data-theme=unity] .wifi-input,[data-theme=unity] .wifi-port{border-color:var(--border);color:#d7e4f2;background:#ffffff09;border-radius:6px}[data-theme=unity] .keymap-editor-presets select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=unity] .keymap-editor-presets select option{color:#d7e4f2;background:#0d131c}[data-theme=unity] .btn-primary,[data-theme=unity] .btn-mirror{background:linear-gradient(90deg, var(--primary), #4ae8f8);color:#051015;border-color:#00d7ffad;font-weight:700}[data-theme=unity] .device-card{gap:10px;padding:12px}[data-theme=unity] .device-card--active{border-color:var(--primary);box-shadow:inset 0 1px #ffffff0d,0 0 24px #00d7ff14}[data-theme=unity] .device-card-online-dot,[data-theme=unity] .companion-dot--online{background:var(--primary-soft);animation:1.8s cubic-bezier(.4,0,.2,1) infinite unity-online-dot;box-shadow:0 0 14px #13e6a2e6}@keyframes unity-html-grid-drift{0%{background-position:0 0,0 0}to{background-position:40px 60px,60px 40px}}@keyframes unity-shell-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes unity-mark-pulse{0%,to{box-shadow:inset 0 0 24px #00d7ff29,0 0 #00d7ff00}48%{box-shadow:inset 0 0 28px #00d7ff3d,0 0 22px #00d7ff24}}@keyframes unity-side-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes unity-panel-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes unity-stage-enter{0%{opacity:0;transform:scale(.992)}to{opacity:1;transform:scale(1)}}@keyframes unity-corner-pulse{0%,to{opacity:.56;filter:drop-shadow(0 0 #00d7ff00)}50%{opacity:.9;filter:drop-shadow(0 0 10px #00d7ff38)}}@keyframes unity-phone-online{0%,to{box-shadow:0 0 0 1px #ffffff14,0 28px 68px #00000094,0 0 80px #00d7ff14}50%{box-shadow:0 0 0 1px #ffffff1a,0 30px 72px #00000094,0 0 96px #00d7ff29}}@keyframes unity-strip-enter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes unity-record-ring{0%,to{box-shadow:0 0 #ff3f682e}50%{box-shadow:0 0 0 4px #ff3f681f,0 0 22px #ff3f6838}}@keyframes unity-online-dot{0%,to{transform:scale(1);box-shadow:0 0 12px #13e6a2b8}50%{transform:scale(1.18);box-shadow:0 0 22px #13e6a2f2}}@media (width<=1180px){[data-theme=unity].app-layout--unity-shell,[data-theme=unity].app-layout--unity-shell[data-left=closed],[data-theme=unity].app-layout--unity-shell[data-right=closed],[data-theme=unity].app-layout--unity-shell[data-left=closed][data-right=closed]{grid-template-rows:58px minmax(0,1fr);grid-template-columns:1fr}[data-theme=unity] .unity-topbar{grid-template-columns:minmax(240px,1fr) auto}[data-theme=unity].app-layout--unity-shell>.app-layout-left,[data-theme=unity].app-layout--unity-shell>.app-layout-right{z-index:200;position:fixed;top:58px;bottom:0}[data-theme=unity].app-layout--unity-shell>.app-layout-left{width:min(390px,100vw - 12px);left:0}[data-theme=unity].app-layout--unity-shell>.app-layout-right{width:min(464px,100vw - 12px);right:0}[data-theme=unity].app-layout--unity-shell[data-left=closed]>.app-layout-left{box-shadow:none;pointer-events:none;animation:none;transform:translate(-100%)}[data-theme=unity].app-layout--unity-shell[data-right=closed]>.app-layout-right{box-shadow:none;pointer-events:none;animation:none;transform:translate(100%)}[data-theme=unity].app-layout--unity-shell>.app-layout-center{grid-area:2/1;padding:10px 16px}}@media (width<=520px) and (orientation:portrait){[data-theme=unity].app-layout--unity-shell>.app-layout-right{width:calc(100vw - 6px)}[data-theme=unity] .ai-chat{padding:12px}}@media (prefers-reduced-motion:reduce){[data-theme=unity].app-layout--unity-shell:before,[data-theme=unity] .unity-topbar,[data-theme=unity] .unity-mark,[data-theme=unity].app-layout--unity-shell>.app-layout-left,[data-theme=unity].app-layout--unity-shell>.app-layout-right,[data-theme=unity].app-layout--unity-shell>.app-layout-center,[data-theme=unity].app-layout--unity-shell>.app-layout-center:before,[data-theme=unity].app-layout--unity-shell>.app-layout-center:after,[data-theme=unity] .mirror-toolbar,[data-theme=unity] .mirror-toolbar-btn--danger,[data-theme=unity] .device-card-online-dot,[data-theme=unity] .companion-dot--online{animation:none!important}}
