:root{--bg:#f4efe7;--ink:#1c1b1a;--muted:#5e5a57;--accent:#d46a4f;--accent-dark:#b4543f;--danger:#bf3b2f;--success:#2e8b57;--info:#3b82f6;--card:#fffaf2;--border:#e1d7c9;--navbar-h:46px;--tabbar-h:34px;--rail-w:48px;--sidebar-w:280px;--surface-hover:#fdf6ed;--surface-active:#ffe8d8;--surface-subtle:#faf6f0;--surface-row-alt:#f3ede4;--surface-input:#fff;--navbar-gradient:linear-gradient(120deg,#fff7ed,#f9ead8);--rail-gradient:linear-gradient(180deg,#fff7ed,#f9ead8);--modal-backdrop:rgba(20,16,12,0.45);--shadow-color:rgba(20,16,12,0.06);--accent-shadow:rgba(212,106,79,0.25);--code-bg:#f8f8f8;--code-header-bg:#eee;--code-border:#ddd;--code-fg:#1a1a2e;--code-muted:#555;--code-btn-border:#ccc;--code-btn-hover-bg:#ddd;--code-btn-hover-fg:#111;--code-copied:#22863a}[data-theme=dark]{--bg:#1a1a1e;--ink:#b7b7b7;--muted:#9e9a96;--accent:#e8876e;--accent-dark:#f09a83;--danger:#ef5350;--success:#4caf50;--info:#60a5fa;--card:#242428;--border:#3a3a3e;--surface-hover:#2e2e33;--surface-active:#3d2e28;--surface-subtle:#22222a;--surface-row-alt:#2a2a2f;--surface-input:#1e1e22;--navbar-gradient:linear-gradient(120deg,#242428,#2a2a2e);--rail-gradient:linear-gradient(180deg,#242428,#2a2a2e);--modal-backdrop:rgba(0,0,0,0.65);--shadow-color:rgba(0,0,0,0.3);--accent-shadow:rgba(232,135,110,0.2);--code-bg:#1e1e2e;--code-header-bg:#181825;--code-border:#313244;--code-fg:#cdd6f4;--code-muted:#a6adc8;--code-btn-border:#45475a;--code-btn-hover-bg:#313244;--code-btn-hover-fg:#cdd6f4;--code-copied:#a6e3a1}*{box-sizing:border-box}.hidden{display:none!important}body,html{height:100%;margin:0;font-family:"Space Grotesk","Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}.app-loader{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:var(--bg)}.app-loader.hidden{display:none}.app-loader-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted);font-size:14px}.app-loader-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:loader-spin .8s linear infinite}@keyframes loader-spin{to{transform:rotate(360deg)}}.navbar{display:flex;align-items:center;gap:12px;height:var(--navbar-h);padding:0 16px;background:var(--navbar-gradient);border-bottom:1px solid var(--border);box-shadow:0 1px 4px var(--shadow-color);position:sticky;top:0;z-index:200;transition:background .3s ease}.navbar-brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;letter-spacing:.3px;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.navbar-brand span{overflow:hidden;text-overflow:ellipsis}.brand-logo{flex-shrink:0;border-radius:4px}.navbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.navbar-divider{width:1px;height:20px;background:var(--border);flex-shrink:0}.nav-settings-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:0 0;border-radius:8px;cursor:pointer;color:var(--muted);transition:all .15s;flex-shrink:0;padding:0;-webkit-tap-highlight-color:transparent}.nav-settings-btn.active,.nav-settings-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--surface-hover)}.nav-settings-popup{display:none;position:absolute;top:calc(var(--navbar-h) - 4px);right:12px;z-index:301;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:0 4px 24px rgba(0,0,0,.15);flex-direction:column;min-width:200px}[data-theme=dark] .nav-settings-popup{box-shadow:0 4px 24px rgba(0,0,0,.5)}.nav-settings-popup.open{display:flex}.nav-settings-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;color:var(--muted);cursor:pointer;transition:background .1s;-webkit-tap-highlight-color:transparent}.nav-settings-item:hover{background:var(--surface-hover)}.nav-settings-item svg{flex-shrink:0}.nav-settings-item .conn-badge{border:none;background:0 0;padding:0;font-size:13px;font-weight:500;color:var(--fg);cursor:pointer}.nav-settings-item .conn-badge:hover{background:0 0}.nav-settings-item .version-btn{border:none;background:0 0;padding:0;font-size:13px;font-weight:500;color:var(--fg)}.nav-settings-item .version-btn:hover{background:0 0}.nav-settings-item .theme-toggle{width:auto;height:auto;border:none;background:0 0;padding:0;font-family:inherit;font-size:13px;font-weight:500;color:var(--fg);justify-content:flex-start}.nav-settings-item .theme-toggle:hover{background:0 0}.nav-settings-item .icon-moon,.nav-settings-item .icon-sun{display:none}:root .nav-settings-item .icon-moon{display:block}[data-theme=dark] .nav-settings-item .icon-moon{display:none}[data-theme=dark] .nav-settings-item .icon-sun{display:block}.nav-inline-env{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 8px;border-radius:4px;line-height:1.4;white-space:nowrap;cursor:pointer;transition:opacity .15s}.nav-inline-env:hover{opacity:.8}.nav-inline-version{background:0 0;border:1px solid var(--border);border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit;line-height:1.3;transition:color .15s,border-color .15s}.nav-inline-version:hover{color:var(--accent);border-color:var(--accent)}.nav-deploy-time{font-size:10px;color:var(--muted);opacity:.7;white-space:nowrap;letter-spacing:.02em}.nav-inline-theme{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:0 0;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;padding:0;transition:color .15s,border-color .15s}.nav-inline-theme:hover{color:var(--accent);border-color:var(--accent)}.nav-inline-theme .icon-moon,.nav-inline-theme .icon-sun{display:none}:root .nav-inline-theme .icon-moon{display:block}[data-theme=dark] .nav-inline-theme .icon-moon{display:none}[data-theme=dark] .nav-inline-theme .icon-sun{display:block}.navbar-divider{width:1px;height:20px;background:var(--border);flex-shrink:0}@media (min-width:769px){#navConnItem{display:none}#navVersionItem{display:none}#navThemeItem{display:none}}@media (max-width:768px){.nav-deploy-time,.nav-inline-env,.nav-inline-theme,.nav-inline-version,.navbar-divider{display:none!important}}.tab-bar-row{display:flex;align-items:center;height:var(--tabbar-h);padding:0 8px 0 calc(var(--rail-w) + 8px);background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:var(--navbar-h);z-index:199}.tab-bar{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;padding:2px 0}.tab-bar::-webkit-scrollbar{height:0}.tab-pill{display:flex;align-items:center;gap:4px;border:1px solid transparent;background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:12px;cursor:pointer;color:var(--muted);white-space:nowrap;transition:all .15s;flex-shrink:0}.tab-pill:hover{background:rgba(212,106,79,.08);color:var(--ink)}.tab-pill.active{background:var(--card);border-color:var(--border);color:var(--ink);font-weight:600;box-shadow:0 1px 3px var(--shadow-color)}.tab-view-badge{display:inline-block;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;margin-right:4px;line-height:1.2;letter-spacing:.3px}.tab-view-editor{background:rgba(212,106,79,.15);color:var(--accent)}.tab-view-notes{background:rgba(76,175,80,.15);color:#4caf50}.tab-view-kanban{background:rgba(33,150,243,.15);color:#2196f3}[data-theme=dark] .tab-view-notes{color:#81c784}[data-theme=dark] .tab-view-kanban{color:#64b5f6}.tab-close{font-size:14px;line-height:1;opacity:.4;min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 2px}.tab-close:hover{opacity:1;color:var(--danger)}.tab-rename-input{background:var(--surface-input);border:1px solid var(--accent);border-radius:4px;color:var(--ink);font-family:inherit;font-size:12px;font-weight:600;padding:1px 4px;width:100px;outline:0;box-shadow:0 0 0 2px var(--accent-shadow)}.tab-add{border:1px dashed var(--border);background:0 0;border-radius:6px;padding:4px 10px;font-size:14px;cursor:pointer;color:var(--muted);flex-shrink:0}.tab-add:hover{border-color:var(--accent);color:var(--accent)}.tab-close-all{border:1px solid transparent;background:0 0;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1;cursor:pointer;color:var(--muted);flex-shrink:0;opacity:.5;transition:all .15s}.tab-close-all:hover{opacity:1;color:var(--danger);background:rgba(191,59,47,.08)}.app-shell{display:flex;height:calc(100% - var(--navbar-h) - var(--tabbar-h))}.sidebar{display:flex;flex-shrink:0;border-right:1px solid var(--border);background:var(--card);transition:width .2s ease;width:calc(var(--rail-w) + var(--sidebar-w));overflow:hidden}.sidebar.collapsed{width:var(--rail-w)}.sidebar.collapsed .sidebar-content{display:none}.icon-rail{width:var(--rail-w);flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;border-right:1px solid var(--border);background:var(--rail-gradient)}.rail-toggle-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:0 0;border-radius:8px;cursor:pointer;color:var(--muted);transition:all .15s}.rail-toggle-btn:hover{background:rgba(212,106,79,.1);color:var(--accent-dark)}.rail-toggle-btn.toggled{color:var(--accent)}.rail-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:0 0;border-radius:8px;cursor:pointer;color:var(--muted);transition:all .15s}.rail-btn:hover{background:rgba(212,106,79,.1);color:var(--accent-dark)}.rail-btn.active{background:var(--card);color:var(--accent-dark);box-shadow:0 1px 3px var(--shadow-color)}.sidebar-content{flex:1;min-width:0;width:var(--sidebar-w);overflow-y:auto;overflow-x:hidden}.sidebar-divider{height:1px;background:var(--border);margin:8px 12px;flex-shrink:0}.sidebar-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;border-bottom:1px solid var(--border)}.sidebar-panel-title{font-size:14px;font-weight:700;letter-spacing:.2px}.sidebar-small-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--surface-input);border-radius:6px;cursor:pointer;font-size:16px;line-height:1;color:var(--accent-dark);display:flex;align-items:center;justify-content:center}.sidebar-small-btn:hover{background:var(--surface-subtle)}.sidebar-search{padding:8px 14px}.sidebar-search input{width:100%;border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px;background:var(--surface-input);color:var(--ink)}.conn-group{margin-bottom:4px}.conn-group-header{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--surface-subtle)}.conn-item{display:flex;align-items:center;padding:6px 12px;border-bottom:1px solid var(--surface-row-alt);cursor:pointer;transition:background .1s;border-left:3px solid transparent}.conn-item:hover{background:var(--surface-hover)}.conn-item.active{background:var(--surface-active);border-left-color:var(--accent)}.conn-item-main{flex:1;min-width:0}.conn-item-label{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn-item-info{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.conn-item-actions{display:none;flex-shrink:0;gap:2px}.conn-item:hover .conn-item-actions{display:flex}.conn-item-del,.conn-item-edit{border:none;background:0 0;padding:6px;min-width:28px;min-height:28px;cursor:pointer;color:var(--muted);border-radius:4px;display:flex;align-items:center;justify-content:center}.conn-item-edit:hover{color:var(--accent-dark);background:var(--surface-subtle)}.conn-item-del:hover{color:var(--danger);background:var(--surface-subtle)}.conn-item-db-badge{width:26px;height:26px;border-radius:6px;background:var(--surface-subtle);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--muted);flex-shrink:0;margin-right:8px;letter-spacing:.3px}.conn-item.active .conn-item-db-badge{background:var(--accent);color:#fff;border-color:var(--accent)}.conn-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center}.conn-empty-state p{margin:0;color:var(--muted);font-size:12px}.script-group{margin-bottom:2px}.script-group-header{font-size:11px;font-weight:600;color:var(--muted);padding:6px 14px;background:var(--surface-subtle);text-transform:uppercase;letter-spacing:.5px}.script-item{display:flex;align-items:center;padding:0;border-bottom:1px solid var(--surface-row-alt);cursor:pointer}.script-item:hover{background:var(--surface-hover)}.script-item-main{flex:1;padding:4px 10px;min-width:0}.script-item-name{font-size:11px;font-weight:500;white-space:normal;word-break:break-word;line-height:1.35}.script-item-desc{font-size:10px;color:var(--muted);white-space:normal;word-break:break-word;line-height:1.3}.script-item-actions{display:flex;flex-shrink:0}.script-del-btn,.script-edit-btn,.script-fav-btn{border:none;background:0 0;padding:2px 4px;min-width:22px;min-height:22px;font-size:12px;cursor:pointer;color:var(--muted)}.script-edit-btn:hover{color:var(--accent)}.script-fav-btn:hover{color:#e6a300}.script-del-btn:hover{color:var(--danger)}.history-group{margin-bottom:2px}.history-group-header{font-size:11px;font-weight:600;color:var(--muted);padding:6px 14px;background:var(--surface-subtle)}.history-item{padding:6px 14px;border-bottom:1px solid var(--surface-row-alt);cursor:default}.history-item:hover{background:var(--surface-hover)}.history-item-top{display:flex;align-items:center;gap:6px;margin-bottom:2px}.history-status{font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px}.history-conn,.history-dur,.history-time{font-size:11px;color:var(--muted)}.history-query{font-size:12px;color:var(--ink);font-family:"Space Grotesk",Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.history-actions{display:flex;gap:4px}.history-del,.history-load,.history-save{border:1px solid var(--border);background:var(--surface-input);border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer;color:var(--muted)}.history-load:hover,.history-save:hover{color:var(--accent-dark);border-color:var(--accent-dark)}.history-del:hover{color:var(--danger);border-color:var(--danger)}.schema-sticky-header{position:sticky;top:0;z-index:2;background:var(--card)}.schema-tabs{display:flex;gap:4px;padding:4px 10px 6px;border-bottom:1px solid var(--border)}.schema-tab-pill{font-size:11px;font-weight:500;padding:3px 10px;border-radius:12px;border:1px solid var(--border);background:0 0;color:var(--muted);cursor:pointer;transition:all .15s}.schema-tab-pill:hover{background:var(--surface-hover);color:var(--text)}.schema-tab-pill.active{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}.schema-group{margin-bottom:4px}.schema-group-header{font-size:11px;font-weight:600;color:var(--muted);padding:6px 14px;background:var(--surface-subtle)}.schema-item{border-bottom:1px solid var(--surface-row-alt)}.schema-item-name{padding:5px 14px;font-size:13px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:5px}.schema-item-name:hover{background:var(--surface-hover)}.schema-item-comment{padding:0 14px 4px 28px;font-size:11px;color:var(--muted);font-style:italic;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schema-stats{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}.schema-stat-rows{font-size:10px;font-weight:600;color:var(--muted);background:var(--surface-row-alt);padding:1px 6px;border-radius:4px}.schema-stat-time{font-size:10px;color:var(--muted);opacity:.8}.schema-table{border-bottom:1px solid var(--surface-row-alt)}.schema-table-name{padding:5px 14px;font-size:13px;cursor:pointer;font-weight:500}.schema-table-name:hover{background:var(--surface-hover)}.schema-kind-badge{display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;border-radius:3px;padding:1px 4px;line-height:1;flex-shrink:0;letter-spacing:.3px}.schema-kind-badge.view{background:#2196f3}.schema-kind-badge.proc{background:#7b1fa2}.schema-kind-badge.fn{background:#00897b}.schema-kind-badge.tvf{background:#e65100}.schema-ret-type{font-size:11px;color:var(--muted);font-weight:400;margin-left:4px}.schema-param{display:flex;align-items:center;gap:6px}.schema-param-mode{font-size:9px;font-weight:600;color:var(--muted);background:var(--surface-subtle);border-radius:3px;padding:1px 4px;flex-shrink:0;min-width:22px;text-align:center}.schema-param-out .schema-param-mode{color:#c62828;background:#ffebee}.schema-cols{padding:0 14px 4px 20px}.schema-col-filter-row{padding:4px 0 4px 20px}.schema-col-filter{width:100%;padding:4px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--fg);font-size:11px;outline:0;transition:border-color .15s}.schema-col-filter:focus{border-color:var(--accent)}.schema-col{display:flex;align-items:center;gap:4px;padding:3px 0;cursor:pointer;font-size:12px}.schema-col:hover{color:var(--accent-dark)}.schema-col.schema-col-pk{font-weight:500}.schema-pk-badge{display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;background:#e6a300;border-radius:3px;padding:1px 4px;line-height:1;flex-shrink:0;letter-spacing:.3px}.schema-pk-spacer{display:inline-block;width:20px;flex-shrink:0}.schema-col-name{font-family:"Space Grotesk",Consolas,monospace;flex-shrink:0}.schema-col-type{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schema-col-detail{color:var(--accent-dark);font-weight:500}.schema-col-nn{font-size:9px;font-weight:600;color:#c62828;border:1px solid #ef9a9a;border-radius:3px;padding:0 3px;line-height:1.3;flex-shrink:0;margin-left:auto}.schema-highlight{background:rgba(230,163,0,.3);color:inherit;border-radius:2px;padding:0 1px}[data-theme=dark] .schema-pk-badge{background:#b8860b}[data-theme=dark] .schema-col-nn{color:#ef5350;border-color:#5d2828}[data-theme=dark] .schema-highlight{background:rgba(230,163,0,.25)}[data-theme=dark] .schema-tab-pill.active{background:var(--accent-dark);border-color:var(--accent-dark)}[data-theme=dark] .schema-kind-badge.view{background:#1565c0}[data-theme=dark] .schema-kind-badge.proc{background:#6a1b9a}[data-theme=dark] .schema-kind-badge.fn{background:#00695c}[data-theme=dark] .schema-kind-badge.tvf{background:#bf360c}[data-theme=dark] .schema-param-out .schema-param-mode{color:#ef5350;background:#3a1a1a}.schema-item-actions{display:flex;gap:6px;padding:6px 8px 4px 28px}.schema-action-btn{font-size:11px;font-family:inherit;padding:3px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--muted);cursor:pointer;transition:all .15s}.schema-action-btn:hover{color:var(--ink);border-color:var(--muted);background:var(--surface-hover)}.schema-action-btn.schema-action-primary{color:var(--accent);border-color:var(--accent)}.schema-action-btn.schema-action-primary:hover{background:var(--accent);color:#fff}.param-modal-card{width:480px;max-width:90vw}.param-modal-name{font-family:"Courier New",monospace;font-size:13px;color:var(--accent);padding:6px 10px;background:var(--surface-subtle);border-radius:6px;margin-bottom:16px;word-break:break-all}.param-modal-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;max-height:400px;overflow-y:auto}.param-field-row{display:flex;flex-direction:column;gap:4px}.param-field-label{display:flex;align-items:center;gap:8px;font-size:12px}.param-field-name{font-weight:600;color:var(--ink)}.param-field-type{font-family:"Courier New",monospace;font-size:11px;color:var(--muted);background:var(--surface-subtle);padding:1px 6px;border-radius:4px}.param-field-mode{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.5px}.param-field-input{width:100%;padding:7px 10px;font-size:13px;font-family:"Courier New",monospace;border:1px solid var(--border);border-radius:8px;background:var(--surface-input);color:var(--ink);outline:0;transition:border-color .15s}.param-field-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-shadow)}.param-field-input::placeholder{color:var(--muted);opacity:.6}.schema-kind-badge.db{background:#1565c0}.schema-db-item{transition:background .15s;cursor:pointer}.schema-db-item:hover{background:var(--surface-hover)}.schema-db-current{background:var(--surface-active);border-left:3px solid var(--accent)}.schema-db-name{flex-wrap:wrap}.schema-db-active-badge{font-size:9px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:0 4px;line-height:1.4;letter-spacing:.3px}.schema-db-status{font-size:9px;font-weight:600;border-radius:3px;padding:1px 5px;line-height:1.3}.schema-db-status.online{color:#2e7d32;background:#e8f5e9}.schema-db-status.offline{color:#c62828;background:#ffebee}.schema-db-status.other{color:var(--muted);background:var(--surface-subtle)}.schema-db-size{font-size:10px;font-weight:600;color:var(--muted);background:var(--surface-row-alt);padding:1px 6px;border-radius:4px}.schema-db-recovery{font-size:9px;font-weight:500;color:var(--muted);background:var(--surface-subtle);padding:1px 5px;border-radius:3px}[data-theme=dark] .schema-kind-badge.db{background:#0d47a1}[data-theme=dark] .schema-db-status.online{color:#81c784;background:#1b3a1e}[data-theme=dark] .schema-db-status.offline{color:#ef5350;background:#3a1a1a}.qv-modal-card{width:540px;max-width:92vw}.qv-modal-desc{font-size:13px;color:var(--muted);margin:0 0 16px 0;line-height:1.5}.qv-vars-list{display:flex;flex-direction:column;gap:14px;max-height:420px;overflow-y:auto;margin-bottom:20px}.qv-var-row{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.qv-var-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.qv-var-name{font-family:"Courier New",monospace;font-size:13px;font-weight:600;color:var(--accent);background:var(--surface-active);padding:2px 8px;border-radius:4px}.qv-var-required-badge{font-size:10px;font-weight:700;color:#e53935;background:#ffebee;padding:1px 6px;border-radius:4px;letter-spacing:.3px}[data-theme=dark] .qv-var-required-badge{color:#ef9a9a;background:#3a1a1a}.qv-var-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qv-var-field{display:flex;flex-direction:column;gap:3px}.qv-var-field label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.qv-var-field input,.qv-var-field select{padding:6px 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--ink);outline:0;width:100%;transition:border-color .15s}.qv-var-field input:focus,.qv-var-field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-shadow)}.qv-var-field.full-width{grid-column:1/-1}.qv-var-options-row{display:flex;flex-direction:column;gap:3px;grid-column:1/-1}.qv-var-options-row label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.qv-var-options-row input{padding:6px 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--ink);outline:0;width:100%}.qv-var-options-row input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-shadow)}.qv-var-options-hint{font-size:11px;color:var(--muted);margin-top:2px}.qv-var-required-row{display:flex;align-items:center;gap:6px;grid-column:1/-1;font-size:13px;color:var(--ink)}.qv-var-required-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.script-vars-btn{font-size:13px;background:0 0;border:none;cursor:pointer;color:var(--muted);padding:2px 4px;border-radius:4px;transition:color .15s,background .15s;line-height:1}.script-vars-btn:hover{color:var(--accent);background:var(--surface-hover)}.script-vars-btn.has-vars{color:var(--accent)}.rail-divider{width:24px;height:1px;background:var(--border);margin:4px auto;flex-shrink:0}.kanban-view,.notes-area{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.kanban-toolbar,.notes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 16px;border-bottom:1px solid var(--border);background:var(--surface-subtle);flex-shrink:0}.kanban-toolbar-left,.kanban-toolbar-right,.notes-toolbar-left,.notes-toolbar-right{display:flex;align-items:center;gap:8px}.kanban-toolbar-title,.notes-toolbar-title{font-size:14px;font-weight:700;letter-spacing:.2px;cursor:default;padding:2px 6px;border-radius:4px;border:1px solid transparent;transition:background .15s,border-color .15s}.kanban-toolbar-title:hover{background:var(--surface-hover);border-color:var(--border)}.kb-title-edit-input{font-size:14px;font-weight:700;letter-spacing:.2px;padding:2px 6px;border-radius:4px;border:1px solid var(--accent);background:var(--bg);color:var(--fg);outline:0;min-width:120px;max-width:300px;box-shadow:0 0 0 2px rgba(var(--accent-rgb,99,102,241),.2)}.kanban-toolbar-center{flex:1;display:flex;justify-content:center;max-width:360px}.kanban-search{width:100%;padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--ink);font-size:12.5px;font-family:inherit;outline:0;transition:border-color .15s}.kanban-search:focus{border-color:var(--accent)}.kanban-search::placeholder{color:var(--muted);opacity:.7}.notes-split{flex:1;display:flex;min-height:0}.notes-master-wrapper{width:260px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--surface-subtle);position:relative}.notes-scroll-top{position:absolute;bottom:12px;right:12px;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--ink);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px var(--shadow-color);opacity:0;pointer-events:none;z-index:5}.notes-scroll-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.notes-scroll-top:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.notes-master-header{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.notes-search{flex:1;min-width:0;height:30px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--ink);font-family:inherit;font-size:12px}.notes-search:focus{outline:0;border-color:var(--accent)}.notes-add-btn{flex-shrink:0;font-size:12px;padding:5px 10px;white-space:nowrap}.notes-master{flex:1;overflow-y:auto}.notes-detail{flex:1;display:flex;flex-direction:column;overflow-y:auto}.notes-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;padding:40px;text-align:center}.sidebar-content>.notes-master-wrapper{width:100%;max-height:none;flex:1;min-height:180px;border-right:none;border-top:1px solid var(--border);border-bottom:none;margin-top:auto}.notes-stats-summary{padding:6px 14px;font-size:11px;color:var(--muted);font-weight:600}.notes-stats-table{width:100%;border-collapse:collapse;font-size:12px}.notes-stats-table th{text-align:left;padding:6px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.notes-stats-table th:nth-child(2),.notes-stats-table th:nth-child(3){text-align:right}.notes-stats-row{cursor:pointer;transition:background .1s}.notes-stats-row:hover{background:var(--surface-hover)}.notes-stats-row.active{background:var(--surface-active)}.notes-stats-row.active .notes-stats-cat{color:var(--accent);font-weight:700}.notes-stats-all{border-bottom:1px solid var(--border)}.notes-stats-cat{padding:7px 10px;font-weight:500;word-break:break-word}.notes-stats-count{padding:7px 10px;text-align:right;font-weight:600;color:var(--accent);white-space:nowrap}.notes-stats-time{padding:7px 10px;text-align:right;color:var(--muted);white-space:nowrap;font-size:11px}.note-category-group{margin-bottom:4px}.note-category-header{padding:8px 14px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.note-item{display:flex;align-items:flex-start;gap:4px;padding:8px 10px 8px 14px;cursor:pointer;border-left:3px solid transparent;transition:background .1s}.note-item:hover{background:var(--surface-hover)}.note-item.active{background:var(--surface-active);border-left-color:var(--accent)}.note-item-body{flex:1;min-width:0}.note-item-delete{opacity:0;background:0 0;border:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:0 2px;flex-shrink:0;margin-top:1px;transition:opacity .15s,color .15s}.note-item:hover .note-item-delete{opacity:1}.note-item-delete:hover{color:var(--danger)}.note-item-title{font-size:13px;font-weight:600;margin-bottom:2px;word-wrap:break-word;overflow-wrap:break-word}.note-item-preview{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.note-item-meta{font-size:11px;color:var(--muted)}.note-item-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.note-tag{font-size:10px;padding:1px 6px;border-radius:999px;background:var(--surface-row-alt);color:var(--muted)}.notes-detail-form{flex:1;display:flex;flex-direction:column;padding:20px 24px;gap:14px}.ndf-meta-accordion{border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.ndf-meta-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;color:var(--fg);background:var(--surface-subtle);user-select:none;list-style:none;-webkit-tap-highlight-color:transparent}.ndf-meta-toggle::-webkit-details-marker{display:none}.ndf-meta-toggle:hover{background:var(--surface-hover)}.ndf-chevron{flex-shrink:0;transition:transform .2s ease;color:var(--muted)}.ndf-meta-accordion[open] .ndf-chevron{transform:rotate(90deg)}.ndf-meta-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ndf-meta-body{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-top:1px solid var(--border)}.ndf-row{display:flex;flex-direction:column;gap:4px}.ndf-row label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}.ndf-label-row{display:flex;align-items:center;gap:8px}.ndf-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-family:inherit;border:1px solid var(--border);border-radius:6px;background:0 0;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.ndf-copy-btn:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ndf-copy-btn.copied{color:var(--green,#22c55e);border-color:var(--green,#22c55e)}.ndf-row-half{flex-direction:row;gap:12px}.ndf-row-half>div{flex:1;display:flex;flex-direction:column;gap:4px}.ndf-input{height:34px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--ink);font-family:inherit;font-size:13px}.ndf-input:focus{outline:0;border-color:var(--accent)}.ndf-grow{flex:1;min-height:0}.ndf-toastui{flex:1;min-height:0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.ndf-toastui:focus-within{border-color:var(--accent)}.ndf-toastui .toastui-editor-defaultUI{border:none;font-family:"Space Grotesk","Segoe UI",sans-serif}.ndf-toastui .toastui-editor-toolbar{background:var(--card);border-bottom:1px solid var(--border)}.ndf-toastui .toastui-editor-toolbar-icons{background-color:transparent;border:1px solid transparent;border-radius:4px;opacity:.7}.ndf-toastui .toastui-editor-toolbar-icons:hover{background-color:var(--surface-hover);border-color:var(--border);opacity:1}.ndf-toastui .toastui-editor-toolbar-icons.active{background-color:var(--surface-active);border-color:var(--accent);opacity:1}.ndf-toastui .toastui-editor-toolbar-divider{background-color:var(--border)}.ndf-toastui .toastui-editor-ww-container{background:var(--surface-input)}.ndf-toastui .toastui-editor-contents{font-family:"Space Grotesk","Segoe UI",sans-serif;font-size:14px;color:var(--ink);padding:16px 20px}.ndf-toastui .toastui-editor-contents p{color:var(--ink)}.ndf-toastui .toastui-editor-contents h1,.ndf-toastui .toastui-editor-contents h2,.ndf-toastui .toastui-editor-contents h3,.ndf-toastui .toastui-editor-contents h4{color:var(--ink);border-bottom:none}.ndf-toastui .toastui-editor-contents a{color:var(--accent)}.ndf-toastui .toastui-editor-contents blockquote{border-left:3px solid var(--accent);color:var(--muted)}.ndf-toastui .toastui-editor-contents pre{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px}.ndf-toastui .toastui-editor-contents code{background:var(--surface-subtle);color:var(--accent);border-radius:3px}.ndf-toastui .toastui-editor-contents table{border-color:var(--border)}.ndf-toastui .toastui-editor-contents td,.ndf-toastui .toastui-editor-contents th{border-color:var(--border);color:var(--ink)}.ndf-toastui .toastui-editor-contents th{background:var(--surface-subtle)}.ndf-toastui .toastui-editor-contents hr{border-color:var(--border)}.ndf-toastui .toastui-editor-contents img,.notes-detail img{cursor:zoom-in}.ndf-toastui .toastui-editor-contents .placeholder{color:var(--muted)}.ndf-toastui .ProseMirror .placeholder{color:var(--muted)}.ndf-toastui .toastui-editor-popup{background:var(--card);border:1px solid var(--border);box-shadow:0 4px 16px var(--shadow-color)}.ndf-toastui .toastui-editor-ww-container::-webkit-scrollbar{width:6px}.ndf-toastui .toastui-editor-ww-container::-webkit-scrollbar-track{background:0 0}.ndf-toastui .toastui-editor-ww-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.ndf-toastui .toastui-editor-contents ::selection{background:var(--surface-active)}.ndf-toastui .toastui-editor-contents .task-list-item::before{border-color:var(--border)}.ndf-toastui .toastui-editor-contents .task-list-item.checked::before{background:var(--accent);border-color:var(--accent)}.mermaid-previews{display:flex;flex-direction:column;gap:10px;padding-top:10px}.mermaid-previews:empty{display:none}.mermaid-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg);box-shadow:0 1px 4px var(--shadow-color,rgba(0,0,0,.06))}.mermaid-card-header{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;background:color-mix(in srgb,var(--accent) 6%,var(--surface-subtle));border-bottom:1px solid var(--border)}.mermaid-card-label{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.3px;text-transform:uppercase}.mermaid-card-actions{display:flex;gap:4px}.mermaid-card-btn{padding:2px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--muted);font-size:11px;cursor:pointer;transition:all .15s}.mermaid-card-btn:hover{border-color:var(--accent);color:var(--accent)}.mermaid-card-svg{display:flex;justify-content:center;padding:20px 16px;overflow-x:auto;background:var(--bg)}.mermaid-card-svg svg{max-width:100%;height:auto}.mermaid-card-code{margin:0;padding:12px 16px;font-size:12px;line-height:1.5;background:var(--surface-subtle);border-top:1px solid var(--border);overflow-x:auto;color:var(--ink)}.mermaid-card-code code{font-family:"Cascadia Code","Fira Code",Consolas,monospace;white-space:pre}.mermaid-card-error{padding:10px 14px;font-size:12px;color:var(--danger);background:color-mix(in srgb,var(--danger) 6%,transparent);border-bottom:1px solid var(--border)}.ndf-footer{display:flex;align-items:center;gap:12px;padding-top:8px;border-top:1px solid var(--border)}.ndf-meta{flex:1;font-size:11px;color:var(--muted)}.ndf-actions{display:flex;gap:8px;align-items:center}.ndf-autosave-indicator{font-size:11px;color:var(--muted);transition:opacity .3s}.ndf-save-btn{padding:5px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.ndf-save-btn:hover{opacity:.85}.ndf-save-btn:active{transform:scale(.97)}.notes-sort-select{height:30px;padding:0 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--ink);font-family:inherit;font-size:11px;cursor:pointer;flex-shrink:0}.notes-sort-select:focus{outline:0;border-color:var(--accent)}.notes-cat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;vertical-align:middle;margin-right:4px}.note-item-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-top:2px}.note-item-pin{background:0 0;border:none;color:var(--muted);cursor:pointer;padding:2px;opacity:0;transition:opacity .15s,color .15s;line-height:1}.note-item-pin.active,.note-item:hover .note-item-pin{opacity:1}.note-item-pin.active{color:var(--accent)}.note-item-pin:hover{color:var(--accent)}.note-item.pinned{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,transparent)}.notes-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;text-align:center;color:var(--muted);font-size:13px}.ndf-tag-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.ndf-tag-chips:empty{display:none;margin:0}.ndf-tag-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;font-size:11px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-radius:999px;white-space:nowrap}.ndf-tag-chip-x{background:0 0;border:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:0 1px;opacity:.6}.ndf-tag-chip-x:hover{opacity:1}.ndf-autocomplete{position:absolute;z-index:100;background:var(--card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px var(--shadow-color);max-height:180px;overflow-y:auto}.ndf-ac-item{padding:6px 10px;font-size:12px;cursor:pointer;transition:background .1s}.ndf-ac-item:hover{background:var(--surface-hover)}.notes-detail{position:relative}.notes-drop-overlay{position:absolute;inset:0;z-index:50;display:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 8%,var(--bg) 92%);border:2px dashed var(--accent);border-radius:8px;pointer-events:none}.notes-drop-overlay.visible{display:flex}.notes-drop-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--accent);font-size:14px;font-weight:600}.notes-upload-status{position:absolute;top:12px;right:12px;z-index:60;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;opacity:0;transition:opacity .2s;pointer-events:none}.notes-upload-status.visible{opacity:1}.notes-upload-info{background:color-mix(in srgb,var(--accent) 15%,var(--card));color:var(--accent);border:1px solid var(--accent)}.notes-upload-success{background:color-mix(in srgb,var(--green,#22c55e) 15%,var(--card));color:var(--green,#22c55e);border:1px solid var(--green,#22c55e)}.notes-upload-error{background:color-mix(in srgb,var(--danger) 15%,var(--card));color:var(--danger);border:1px solid var(--danger)}.notes-gallery-panel{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:8px;flex-shrink:0}.notes-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface-subtle));border-bottom:1px solid var(--border)}.notes-gallery-body{display:flex;flex-wrap:wrap;gap:8px;padding:10px;max-height:180px;overflow-y:auto}.notes-gallery-empty{font-size:12px;color:var(--muted);padding:8px;margin:0}.notes-gallery-item{position:relative;width:72px;flex-shrink:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;cursor:pointer;transition:border-color .15s}.notes-gallery-item:hover{border-color:var(--accent)}.notes-gallery-item img{width:72px;height:54px;object-fit:cover;display:block}.notes-gallery-item-actions{position:absolute;top:2px;right:2px;display:flex;gap:2px;opacity:0;transition:opacity .15s}.notes-gallery-item:hover .notes-gallery-item-actions{opacity:1}.notes-gallery-delete,.notes-gallery-insert{width:20px;height:20px;border:none;border-radius:4px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;line-height:1}.notes-gallery-insert{background:var(--accent);color:#fff}.notes-gallery-delete{background:var(--danger);color:#fff}.notes-gallery-item-name{display:block;font-size:9px;padding:2px 4px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ndf-copy-btn.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.kanban-board{flex:1;min-width:0;display:flex;gap:16px;padding:16px;overflow-x:auto;overflow-y:hidden;align-items:flex-start}.kb-column{flex-shrink:0;width:280px;max-height:calc(100vh - 130px);display:flex;flex-direction:column;background:var(--surface-subtle);border-radius:12px;border:1px solid var(--border)}.kb-column-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px 12px 0 0;position:relative}.kb-column-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.kb-column-title{font-size:13px;font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-column-count{font-size:11px;font-weight:600;color:var(--muted);background:var(--surface-row-alt);padding:1px 7px;border-radius:999px;flex-shrink:0}.kb-column-menu{border:none;background:0 0;cursor:pointer;min-width:32px;min-height:32px;color:var(--muted);font-size:16px;padding:2px 4px;border-radius:4px;flex-shrink:0;line-height:1}.kb-column-menu:hover{background:var(--surface-hover);color:var(--ink)}.kb-column-body{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px;min-height:40px}.kb-column-body.kb-drag-over{background:var(--surface-hover);border-radius:0 0 8px 8px}.kb-col-dropdown{position:absolute;top:100%;right:4px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px var(--shadow-color);z-index:100;min-width:160px;padding:4px}.kb-col-dropdown button{display:block;width:100%;text-align:left;border:none;background:0 0;padding:7px 12px;font-family:inherit;font-size:12px;color:var(--ink);cursor:pointer;border-radius:6px}.kb-col-dropdown button:hover{background:var(--surface-hover)}.kb-col-dropdown hr{border:none;border-top:1px solid var(--border);margin:4px 8px}.notes-col-item{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:13px;cursor:default}.notes-col-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.notes-col-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-body{flex:1;display:flex;min-height:0;overflow:hidden}.kanban-project-item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;border-left:3px solid transparent;transition:background .1s}.kanban-project-item:hover{background:var(--surface-hover)}.kanban-project-item.active{background:var(--surface-active);border-left-color:var(--accent)}.kanban-project-main{flex:1;min-width:0}.kanban-project-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-project-meta{font-size:11px;color:var(--muted)}.kanban-project-del{border:none;background:0 0;cursor:pointer;color:var(--muted);font-size:16px;padding:2px 4px;border-radius:4px;opacity:0;transition:opacity .15s}.kanban-project-item:hover .kanban-project-del{opacity:1}.kanban-project-del:hover{color:var(--danger)}.kb-new-project-form{padding:8px 12px;border-bottom:1px solid var(--border)}.kb-new-project-input{width:100%;padding:7px 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);outline:0;transition:border-color .15s;box-sizing:border-box}.kb-new-project-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb,99,102,241),.15)}.kb-new-project-actions{display:flex;gap:6px;margin-top:6px}.kb-new-project-submit{flex:1;padding:5px 0;font-size:12px;font-weight:600;border:none;border-radius:5px;background:var(--accent);color:#fff;cursor:pointer;transition:opacity .15s}.kb-new-project-submit:hover{opacity:.85}.kb-new-project-submit:disabled{opacity:.5;cursor:not-allowed}.kb-new-project-cancel{padding:5px 10px;font-size:14px;border:1px solid var(--border);border-radius:5px;background:0 0;color:var(--muted);cursor:pointer;line-height:1}.kb-new-project-cancel:hover{color:var(--fg);border-color:var(--fg)}.kb-filter-bar{padding:.45rem 1rem;border-bottom:1px solid var(--border);background:var(--bg2,var(--surface-subtle));flex-shrink:0}.kb-filter-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.kb-filter-input{flex:1;min-width:160px;padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:.85rem;font-family:inherit;outline:0;transition:border-color .15s}.kb-filter-input:focus{border-color:var(--accent)}.kb-filter-input::placeholder{color:var(--muted);opacity:.75}.kb-filter-select{padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:.85rem;font-family:inherit;outline:0;cursor:pointer;transition:border-color .15s}.kb-filter-select:focus{border-color:var(--accent)}.kb-filter-clear{padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg2,var(--muted));font-size:.8rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.kb-filter-clear:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.kb-filter-count{font-size:.8rem;color:var(--muted);white-space:nowrap;padding-left:.25rem}.kb-filter-toggle{display:flex;align-items:center;gap:5px;transition:background .15s,color .15s,border-color .15s}.kb-filter-toggle.kb-filter-active{background:var(--accent);color:#fff;border-color:var(--accent)}.kb-filter-toggle.kb-filter-active:hover{opacity:.88}[data-theme=dark] .kb-filter-clear,[data-theme=dark] .kb-filter-input,[data-theme=dark] .kb-filter-select{background:var(--surface-subtle);color:var(--ink);border-color:var(--border)}[data-theme=dark] .kb-filter-select option{background:var(--card)}@media (max-width:768px){.kanban-board{padding:10px;gap:10px}.kb-column{width:260px}.kanban-toolbar{flex-wrap:wrap;gap:6px}.kb-filter-row{flex-wrap:wrap}}@media (max-width:480px){.kanban-board{flex-direction:column;overflow-x:hidden;overflow-y:auto;align-items:stretch}.kb-column{width:100%;max-height:none}.kanban-toolbar-center{max-width:140px}}.kb-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;transition:box-shadow .15s,transform .15s;user-select:none}.kb-card:hover{box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-1px)}.kb-card.kb-dragging{opacity:.4;transform:rotate(2deg)}.kb-card-top{display:flex;align-items:flex-start;gap:6px}.kb-card-title{font-size:13px;font-weight:600;flex:1;word-break:break-word}.kb-card-pin{font-size:12px;flex-shrink:0}.kb-card-desc{font-size:12px;color:var(--muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kb-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px}.kb-card-footer:empty{display:none}.kb-card-todo{font-size:10px;font-weight:600;color:var(--muted);white-space:nowrap;flex-shrink:0}.kb-card-tags{display:flex;flex-wrap:wrap;gap:4px}.kb-card-tag{font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;background:var(--surface-active);color:var(--accent-dark)}.kb-drop-indicator{height:3px;background:var(--accent);border-radius:2px;margin:2px 0;flex-shrink:0}.kb-add-card{border:1px dashed var(--border);background:0 0;padding:8px 12px;margin:4px 8px 8px;border-radius:8px;font-size:12px;font-family:inherit;color:var(--muted);cursor:pointer;text-align:left}.kb-add-card:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-hover)}.kb-add-card-form{margin:4px 8px 8px}.kb-add-card-input{width:100%;padding:10px 12px;border:1.5px solid var(--accent);border-radius:8px;font-family:inherit;font-size:13px;color:var(--ink);background:var(--card);resize:none;outline:0;box-shadow:0 0 0 3px var(--accent-shadow);transition:border-color .2s,box-shadow .2s}.kb-add-card-input::placeholder{color:var(--muted);opacity:.7}.kb-add-card-input:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-shadow),0 2px 8px var(--shadow-color)}.kb-add-card-actions{display:flex;align-items:center;gap:6px;margin-top:6px}.kb-add-card-submit{padding:6px 16px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.kb-add-card-submit:hover{background:var(--accent-dark)}.kb-add-card-submit:disabled{opacity:.6;cursor:default}.kb-add-card-cancel{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:0 0;color:var(--muted);font-size:18px;cursor:pointer;transition:background .15s,color .15s}.kb-add-card-cancel:hover{background:var(--surface-hover);color:var(--danger)}@media (pointer:coarse){.kb-card{min-height:44px}.kb-card-actions{opacity:1}.kb-add-card-cancel{min-width:36px;min-height:36px}}.kb-detail-overlay{display:none;position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.55);align-items:center;justify-content:center;animation:kb-overlay-fade-in .2s ease-out}.kb-detail-overlay.open{display:flex}@keyframes kb-overlay-fade-in{from{opacity:0}to{opacity:1}}.kanban-detail-panel{display:none;width:90vw;height:90vh;max-width:90vw;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 48px rgba(0,0,0,.35);overflow-y:auto;overflow-x:hidden;animation:kb-modal-scale-in .25s cubic-bezier(.34,1.4,.64,1)}.kanban-detail-panel.open{display:block}@keyframes kb-modal-scale-in{from{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:none}}.nd-header-sticky{display:flex;align-items:flex-start;gap:12px;position:sticky;top:0;z-index:10;background:var(--card);padding:16px 24px 10px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.nd-title{flex:1;border:none;background:0 0;font-family:inherit;font-size:20px;font-weight:700;color:var(--ink);padding:4px 0;border-bottom:2px solid transparent}.nd-title:focus{border-bottom-color:var(--accent);outline:0}.nd-close{width:32px;height:32px;border:none;background:0 0;font-size:22px;cursor:pointer;color:var(--muted);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nd-close:hover{background:var(--surface-hover);color:var(--ink)}.nd-description-wrap{padding:8px 24px 0}.nd-description{width:100%;border:none;background:0 0;font-family:inherit;font-size:13px;color:var(--muted);resize:none;padding:6px 0;line-height:1.5;overflow:hidden}.nd-description:focus{color:var(--ink);outline:0}.nd-description::placeholder{color:var(--muted);opacity:.6}.nd-item-img-wrap{position:relative;margin:6px 0 4px;max-width:100%;display:inline-block}.nd-item-img{max-width:100%;max-height:200px;border-radius:6px;border:1px solid var(--border);cursor:zoom-in;object-fit:contain}.nd-item-img-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;background:rgba(0,0,0,.6);color:#fff;border-radius:50%;font-size:14px;cursor:pointer;display:none;align-items:center;justify-content:center;line-height:1}.nd-item-img-wrap:hover .nd-item-img-remove{display:flex}.img-lightbox{display:none;position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.85);align-items:center;justify-content:center;cursor:zoom-out}.img-lightbox.open{display:flex}.img-lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5)}.nd-props{margin:0 24px;padding-top:16px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.nd-prop-row{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);gap:12px}.nd-prop-row:last-child{border-bottom:none}.nd-prop-row-compact{display:flex;flex-wrap:wrap;align-items:flex-start;padding:10px 12px;border-bottom:1px solid var(--border);gap:12px}.nd-compact-field{display:flex;flex-direction:column;gap:4px;min-width:0}.nd-compact-field.nd-compact-grow{flex:1;min-width:100px}.nd-compact-label{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);font-weight:500}.nd-compact-field .nd-prop-value{font-size:12px;padding:4px 8px}.nd-compact-field .nd-tags-container{min-height:26px}.nd-compact-field .nd-toggle{margin-top:2px}.nd-prop-label{width:80px;flex-shrink:0;font-size:12px;font-weight:600;color:var(--muted)}.nd-prop-value{flex:1;border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-family:inherit;font-size:13px;background:var(--surface-input);color:var(--ink)}.nd-prop-mono{font-family:Consolas,Monaco,monospace;font-size:12px}.nd-prop-github{flex:1;display:flex;align-items:center;gap:6px}.nd-prop-github .nd-prop-value{flex:1}.nd-prop-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;color:var(--accent);text-decoration:none;font-size:14px;flex-shrink:0}.nd-prop-link:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.nd-tags-input{font-size:12px}.nd-tags-container{flex:1;display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:28px}.nd-tag-token{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;transition:filter .15s}.nd-tag-token:hover{filter:brightness(.9)}.nd-tag-remove{cursor:pointer;font-size:13px;font-weight:700;opacity:.6;line-height:1;transition:opacity .15s}.nd-tag-remove:hover{opacity:1}.nd-tag-add-input{border:none;background:0 0;outline:0;font-family:inherit;font-size:12px;color:var(--ink);min-width:60px;padding:2px 4px}.nd-tag-add-input::placeholder{color:var(--muted);font-style:italic}.nd-toggle{position:relative;display:inline-block;width:36px;height:20px}.nd-toggle input{opacity:0;width:0;height:0}.nd-toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:20px;transition:.2s}.nd-toggle-slider::before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.nd-toggle input:checked+.nd-toggle-slider{background:var(--accent)}.nd-toggle input:checked+.nd-toggle-slider::before{transform:translateX(16px)}.nd-section{padding:16px 24px}.nd-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:block}.nd-content{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px;font-family:"Space Grotesk",Consolas,monospace;font-size:13px;line-height:1.6;background:var(--surface-input);color:var(--ink);resize:vertical;min-height:120px}.nd-items-sticky{position:sticky;top:52px;z-index:8;background:var(--card);padding-bottom:4px;margin:0 -24px;padding-left:24px;padding-right:24px;border-bottom:1px solid var(--border)}.nd-items-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.nd-items-header .nd-label{margin-bottom:0}.nd-items-header-right{display:flex;align-items:center;gap:10px}.nd-copy-all-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:500;color:var(--muted);background:0 0;border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:all .15s}.nd-copy-all-btn:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.nd-check-all-btn{padding:3px 8px;font-size:11px;font-weight:500;color:var(--muted);background:0 0;border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:all .15s}.nd-check-all-btn:hover{color:var(--success,#22c55e);border-color:var(--success,#22c55e);background:color-mix(in srgb,var(--success,#22c55e) 8%,transparent)}.nd-check-all-btn.nd-uncheck:hover{color:var(--warning,#f59e0b);border-color:var(--warning,#f59e0b);background:color-mix(in srgb,var(--warning,#f59e0b) 8%,transparent)}.nd-items-count{font-size:11px;color:var(--muted);font-weight:500}.nd-items-filter{margin-bottom:8px}.nd-items-filter-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:12px;outline:0;box-sizing:border-box}.nd-items-filter-input:focus{border-color:var(--accent)}.nd-items-progress{height:4px;background:var(--border);border-radius:2px;margin-bottom:10px;overflow:hidden}.nd-items-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.nd-items-list{display:flex;flex-direction:column;gap:2px}.nd-item{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:8px;transition:background .15s}.nd-item:hover{background:var(--surface-hover)}.nd-item-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:2px}.nd-item-checkbox{position:relative;width:18px;height:18px;flex-shrink:0;cursor:pointer;margin-top:2px}.nd-item-checkbox input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.nd-item-checkmark{display:block;width:18px;height:18px;border:2px solid var(--muted);border-radius:4px;transition:all .15s}.nd-item-checkbox input:checked+.nd-item-checkmark{background:var(--accent);border-color:var(--accent)}.nd-item-checkbox input:checked+.nd-item-checkmark::after{content:"";display:block;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin:1px 0 0 5px}.nd-item-text{width:100%;min-width:0;border:none;background:0 0;font-family:inherit;font-size:13px;color:var(--ink);outline:0;padding:2px 0;resize:none;overflow:hidden;line-height:1.4;word-break:break-word;white-space:pre-wrap}.nd-item-checked .nd-item-text{font-style:italic;color:var(--muted)}.nd-item-delete{background:0 0;border:1px solid var(--border);border-radius:3px;color:var(--muted);font-size:10px;cursor:pointer;padding:4px 5px;line-height:1;transition:color .15s}.nd-item-delete:hover{color:var(--danger)}.nd-item-copy{background:0 0;border:1px solid var(--border);border-radius:3px;color:var(--muted);font-size:10px;cursor:pointer;padding:4px 5px;line-height:1;transition:color .15s}.nd-item-copy:hover{color:var(--accent)}.nd-item-actions{display:none;flex-direction:column;align-items:center;gap:3px;margin-top:4px}.nd-item:hover .nd-item-actions{display:flex}.nd-item-move-btn{background:0 0;border:1px solid var(--border);border-radius:3px;color:var(--muted);font-size:10px;line-height:1;padding:4px 5px;cursor:pointer}.nd-item-move-btn:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.nd-item-move-btn:disabled{opacity:.25;cursor:default}.nd-scroll-nav{position:sticky;bottom:0;display:flex;justify-content:center;gap:6px;padding:8px 0;z-index:5;pointer-events:none}.nd-scroll-nav-btn{pointer-events:auto;background:var(--accent);color:#fff;border:none;border-radius:14px;padding:5px 14px;font-size:11px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2)}.nd-scroll-nav-btn:hover{background:var(--accent-dark)}.nd-item-body{flex:1;min-width:0;display:flex;flex-direction:column}.nd-item-meta{display:flex;align-items:center;gap:8px;margin-top:1px}.nd-item-num{font-size:10px;font-weight:600;color:var(--muted);opacity:.7}.nd-item-time{font-size:10px;color:var(--muted);opacity:.5}.nd-add-item{display:flex;align-items:center;gap:8px;padding:8px;margin-top:4px;border-radius:8px;cursor:pointer;color:var(--muted);font-size:13px;transition:background .15s,color .15s}.nd-add-item:hover{background:var(--surface-hover);color:var(--ink)}.nd-add-item-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--muted);border-radius:4px;font-size:14px;font-weight:600;line-height:1}.nd-add-item:hover .nd-add-item-icon{border-color:var(--ink)}.nd-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid var(--border)}.nd-meta{font-size:11px;color:var(--muted)}.nd-delete-btn{font-size:12px;padding:5px 14px}@media (max-width:480px){.kanban-detail-panel{width:100vw;height:100vh;max-width:100vw;border-radius:0}.kb-detail-body{padding:10px 12px}.kb-detail-header{padding:10px 12px}.kb-detail-tabs{overflow-x:auto;scrollbar-width:none}.kb-detail-tabs::-webkit-scrollbar{display:none}}.CodeMirror-hints{z-index:1100;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.15);font-family:"Space Grotesk",Consolas,monospace;font-size:12px;max-height:240px;padding:4px 0}.CodeMirror-hint{padding:4px 12px;color:var(--fg);cursor:pointer;border-radius:0;white-space:nowrap}.CodeMirror-hint-active{background:var(--accent);color:#fff}[data-theme=dark] .CodeMirror-hints{box-shadow:0 6px 20px rgba(0,0,0,.4)}.CodeMirror{height:100%;border-radius:0;border:none;font-family:"Space Grotesk",Consolas,monospace;font-size:14px}.CodeMirror-gutters{border-right:none;padding-right:4px}.action-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--surface-subtle);flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:8px}.format-sql-btn{display:inline-flex;align-items:center;gap:5px}.multi-db-btn{display:inline-flex;align-items:center;gap:5px}.multi-db-desc{font-size:13px;color:var(--muted);margin:0 0 12px}.multi-db-conn-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;margin-bottom:16px}.multi-db-conn-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s;user-select:none}.multi-db-conn-item:hover{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:var(--accent)}.multi-db-conn-item input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;cursor:pointer}.multi-db-conn-label{font-size:13px;font-weight:500;color:var(--ink);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-db-conn-type{font-size:11px;color:var(--muted);background:var(--surface-subtle);padding:2px 6px;border-radius:4px;flex-shrink:0}.multi-db-conn-env{font-size:10px;font-weight:700;color:var(--accent);letter-spacing:.4px;flex-shrink:0}[data-theme=dark] .multi-db-conn-item{background:rgba(255,255,255,.02)}[data-theme=dark] .multi-db-conn-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.conn-badge{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap;padding:3px 10px;border-radius:8px;background:rgba(0,0,0,.04);border:1px solid var(--border);max-width:320px;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:border-color .15s,background .15s}.conn-badge:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}[data-theme=dark] .conn-badge{background:rgba(255,255,255,.05)}[data-theme=dark] .conn-badge:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.conn-env{display:inline-block;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.5px}.ctp-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:80px;background:rgba(0,0,0,.35);animation:ctp-fadeIn .15s ease}@keyframes ctp-fadeIn{from{opacity:0}to{opacity:1}}.ctp-card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.2);width:380px;max-width:calc(100vw - 32px);overflow:hidden;animation:ctp-slideIn .2s ease}@keyframes ctp-slideIn{from{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.ctp-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 4%,var(--card))}.ctp-title{font-weight:600;font-size:14px;color:var(--ink);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctp-close{border:none;background:0 0;font-size:20px;color:var(--muted);cursor:pointer;padding:0 4px;line-height:1}.ctp-close:hover{color:var(--ink)}.ctp-details{padding:12px 16px;display:flex;flex-direction:column;gap:6px}.ctp-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.ctp-detail-key{color:var(--muted);flex-shrink:0}.ctp-detail-val{color:var(--ink);font-family:"Cascadia Code",Consolas,monospace;font-size:11.5px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.ctp-status{margin:0 16px;padding:12px 14px;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:13px;transition:background .2s}.ctp-status.ctp-testing{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.ctp-status.ctp-success{background:color-mix(in srgb,#22c55e 10%,transparent);color:#22c55e}.ctp-status.ctp-error{background:color-mix(in srgb,#ef4444 10%,transparent);color:#ef4444}.ctp-result-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ctp-result-text strong{font-size:13px}.ctp-latency{font-size:11px;opacity:.7}.ctp-error-msg{font-size:11px;opacity:.85;word-break:break-word}.ctp-spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:ctp-spin .6s linear infinite;flex-shrink:0}@keyframes ctp-spin{to{transform:rotate(360deg)}}.ctp-actions{padding:10px 16px 14px;display:flex;justify-content:flex-end}.ctp-retest-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-family:inherit;border:1px solid var(--border);border-radius:8px;background:0 0;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}.ctp-retest-btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.ctp-retest-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.action-toolbar{padding:6px 10px;gap:6px}.toolbar-left{gap:6px}.multi-db-btn span{display:none}}@media (max-width:480px){.action-toolbar{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.action-toolbar::-webkit-scrollbar{display:none}.desc-btn,.ghost-btn,.run-btn{white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:11px}}.stab-icon{font-size:13px;opacity:.8}.structure-panel{overflow:auto}.structure-panel:not(.ag-theme-alpine){padding:16px}.structure-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:13px;font-style:italic}.structure-search-box,.structure-search-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--surface-subtle);position:sticky;top:0;z-index:2}.structure-search-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--ink);font-size:12px;outline:0}.structure-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.structure-search-input::placeholder{color:var(--muted);opacity:.7}.structure-search-count{font-size:11px;color:var(--muted);white-space:nowrap;font-weight:500}.structure-table-wrap{margin-bottom:20px}.structure-table-wrap h4{margin:16px 0 8px;font-size:13px;font-weight:600;color:var(--accent-dark)}.structure-table{width:100%;border-collapse:collapse;font-size:12.5px}.structure-table th{text-align:left;padding:8px 10px;background:var(--surface-subtle);border-bottom:2px solid var(--border);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);white-space:nowrap;position:sticky;top:0;z-index:1}.structure-table td{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.structure-table tbody tr:hover{background:var(--surface-hover)}.structure-table tr.pk-row{background:rgba(212,106,79,.06)}.structure-table tr.fk-row{background:rgba(66,133,244,.06)}[data-theme=dark] .structure-table tr.pk-row{background:rgba(232,135,110,.08)}[data-theme=dark] .structure-table tr.fk-row{background:rgba(100,160,255,.08)}.col-name{font-weight:600;color:var(--ink);font-family:Consolas,"Fira Code",monospace}.col-type{font-family:Consolas,"Fira Code",monospace;color:var(--accent-dark);font-size:12px}.col-key{white-space:nowrap}.col-default code{font-size:11px;padding:1px 5px;background:var(--surface-row-alt);border-radius:3px;color:var(--muted)}.text-muted{color:var(--muted);opacity:.6}.key-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px}.key-badge.pk{background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.key-badge.fk{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}[data-theme=dark] .key-badge.pk{background:rgba(230,81,0,.2);color:#ffab40;border-color:rgba(255,171,64,.3)}[data-theme=dark] .key-badge.fk{background:rgba(21,101,192,.2);color:#64b5f6;border-color:rgba(100,181,246,.3)}.nullable-yes{color:var(--muted);font-size:12px}.nullable-no{color:var(--accent-dark);font-weight:600;font-size:12px}.identity-badge{display:inline-flex;align-items:center;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:700;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}[data-theme=dark] .identity-badge{background:rgba(46,125,50,.2);color:#81c784;border-color:rgba(129,199,132,.3)}.fk-ref{font-family:Consolas,"Fira Code",monospace;font-size:11.5px;color:#1565c0}[data-theme=dark] .fk-ref{color:#64b5f6}.routine-type{display:inline-flex;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.3px}.routine-type.type-sp{background:#ede7f6;color:#4527a0;border:1px solid #b39ddb}.routine-type.type-fn{background:#e0f7fa;color:#00695c;border:1px solid #80cbc4}.routine-type.type-tr{background:#fce4ec;color:#c62828;border:1px solid #ef9a9a}[data-theme=dark] .routine-type.type-sp{background:rgba(69,39,160,.2);color:#b39ddb;border-color:rgba(179,157,219,.3)}[data-theme=dark] .routine-type.type-fn{background:rgba(0,105,92,.2);color:#80cbc4;border-color:rgba(128,203,196,.3)}[data-theme=dark] .routine-type.type-tr{background:rgba(198,40,40,.2);color:#ef9a9a;border-color:rgba(239,154,154,.3)}.structure-scripts{margin-top:16px}.structure-scripts h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--accent-dark)}.script-block{margin-bottom:12px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.script-header{padding:6px 12px;background:var(--surface-subtle);font-size:12px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--border)}.script-code{margin:0;padding:12px 14px;font-family:Consolas,"Fira Code",monospace;font-size:12px;line-height:1.5;background:var(--surface-input);color:var(--ink);white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-height:300px;overflow-y:auto}.accordion-list{display:flex;flex-direction:column;gap:6px}.accordion-item{border:1px solid var(--border);border-radius:8px;overflow:hidden}.accordion-item[open]{border-color:var(--accent)}.accordion-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-subtle);cursor:pointer;font-size:12.5px;font-weight:500;color:var(--ink);user-select:none;list-style:none;transition:background .15s}.accordion-header::-webkit-details-marker{display:none}.accordion-header::marker{display:none;content:""}.accordion-header:hover{background:var(--surface-hover)}.accordion-num{min-width:22px;text-align:right;font-size:11px}.accordion-name{flex:1;font-weight:600;font-family:Consolas,"Fira Code",monospace}.accordion-chevron{font-size:11px;color:var(--ink-muted);transition:transform .2s}.accordion-item[open]>.accordion-header .accordion-chevron{transform:rotate(90deg)}.accordion-item[open]>.accordion-header{border-bottom:1px solid var(--border)}.accordion-body .script-code{border-radius:0;max-height:400px}.script-actions{display:flex;justify-content:flex-end;padding:6px 10px;background:var(--surface-subtle);border-bottom:1px solid var(--border)}.script-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--muted);font-size:11px;font-weight:500;cursor:pointer}.script-copy-btn:hover{color:var(--accent);border-color:var(--accent)}.script-copy-btn.copied{color:#22c55e;border-color:#22c55e}.connection-graph{padding-bottom:20px}.graph-visual{display:flex;align-items:center;justify-content:center;gap:0;padding:24px 16px;margin-bottom:20px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.graph-column{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:140px}.graph-col-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px}.graph-node{padding:10px 16px;border-radius:8px;text-align:center;min-width:130px;border:2px solid var(--border);background:var(--card);transition:transform .15s,box-shadow .15s}.graph-node:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.graph-node-current{border-color:var(--accent);background:var(--surface-active);padding:16px 24px}.graph-node-incoming{border-color:#90caf9}.graph-node-outgoing{border-color:#a5d6a7}[data-theme=dark] .graph-node-incoming{border-color:rgba(100,181,246,.5)}[data-theme=dark] .graph-node-outgoing{border-color:rgba(129,199,132,.5)}.graph-node-icon{font-size:22px;margin-bottom:4px}.graph-node-name{font-weight:700;font-size:13px;color:var(--ink);font-family:Consolas,"Fira Code",monospace}.graph-node-cols{font-size:10px;color:var(--muted);margin-top:4px;font-family:Consolas,"Fira Code",monospace}.graph-arrows{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 12px}.graph-arrow{font-size:18px;color:var(--accent);font-weight:700;line-height:1}@media (max-width:768px){.struct-table-info{flex-wrap:wrap}.struct-tab-bar{overflow-x:auto;scrollbar-width:none}.struct-tab-bar::-webkit-scrollbar{display:none}}@media (max-width:480px){.struct-tab{font-size:10px;padding:5px 8px}}.editor-area{flex:1;min-width:0;display:flex;flex-direction:column}.editor-result-split{display:flex;flex:1;min-height:0}.editor-wrap{min-height:0;flex:1 1 50%;min-width:120px;overflow:hidden}.split-handle{width:5px;flex-shrink:0;cursor:col-resize;background:var(--border);position:relative;z-index:10;transition:background .15s}.split-handle::before{content:"";position:absolute;top:0;bottom:0;left:-10px;right:-10px}.split-handle.dragging,.split-handle:hover{background:var(--accent)}.split-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:32px;border-radius:2px;background:var(--muted);opacity:0;transition:opacity .15s}.split-handle.dragging::after,.split-handle:hover::after{opacity:.5}.result-wrap{position:relative;display:flex;flex-direction:column;min-height:0;flex:1 1 50%;min-width:120px;overflow:hidden}.result-tabs{display:flex;align-items:center;gap:0;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--surface-subtle);overflow-x:auto;min-height:32px}.result-tabs::-webkit-scrollbar{height:0}.result-tab{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-bottom:2px solid transparent;background:0 0;font-family:inherit;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .12s}.result-tab:hover{color:var(--ink);background:var(--surface-hover)}.result-tab.active{color:var(--accent-dark);border-bottom-color:var(--accent);font-weight:600}.result-tab-count{font-size:10px;font-weight:600;padding:1px 5px;border-radius:8px;background:var(--surface-row-alt);color:var(--muted)}.result-tab.active .result-tab-count{background:var(--surface-active);color:var(--accent-dark)}.result-action-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:var(--surface-subtle);border-bottom:1px solid var(--border);flex-shrink:0;min-height:30px}.result-row-count{font-size:12px;color:var(--muted);font-weight:500}.result-action-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-family:inherit;color:var(--ink);background:0 0;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.result-action-btn:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent-dark)}.result-action-right{display:flex;align-items:center;gap:6px}.color-toggle-btn.active{background:var(--accent-muted,rgba(99,102,241,.12));border-color:var(--accent);color:var(--accent)}.color-toggle-indicator{font-size:10px;opacity:.6}.grid-color-legend{display:flex;flex-wrap:wrap;gap:4px;padding:3px 10px;background:var(--surface-subtle);border-bottom:1px solid var(--border);flex-shrink:0;max-height:56px;overflow-y:auto}.color-legend-item{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;font-size:11px;border-radius:4px;border:1px solid;white-space:nowrap;line-height:1.6}.color-legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.grid-scroll-btns{position:absolute;right:18px;bottom:50px;display:flex;flex-direction:column;gap:6px;z-index:10;pointer-events:none}.grid-scroll-btn{pointer-events:auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface-subtle);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);opacity:.75;transition:opacity .15s,background .15s,transform .15s}.grid-scroll-btn:hover{opacity:1;background:var(--surface-hover);transform:scale(1.1)}[data-theme=dark] .grid-scroll-btn{box-shadow:0 2px 8px rgba(0,0,0,.35)}.result-panels{flex:1;min-height:0;display:flex;flex-direction:column}.result-panels>.result-grid,.result-panels>textarea{flex:1;min-height:0}.result-grid-panel{flex:1;min-height:0}#sqlInput{display:none}#resultOutput{width:100%;height:100%;border:none;border-radius:0;padding:14px;font-family:"Space Grotesk",Consolas,monospace;font-size:13px;resize:none;background:var(--surface-input);color:var(--ink)}.result{background:var(--surface-input)}.result-grid{border-radius:0;overflow:hidden}.result-grid.ag-theme-alpine{--ag-alpine-active-color:var(--accent);--ag-selected-row-background-color:var(--surface-active);--ag-row-hover-color:var(--surface-hover);--ag-header-background-color:var(--surface-subtle);--ag-odd-row-background-color:var(--surface-input);--ag-background-color:var(--surface-input);--ag-border-color:var(--border);--ag-font-family:"Space Grotesk","Consolas",monospace;--ag-font-size:9.5px;--ag-header-font-weight:600;--ag-row-border-color:var(--surface-row-alt);--ag-foreground-color:var(--ink);--ag-header-foreground-color:var(--ink);--ag-secondary-foreground-color:var(--muted);--ag-input-border-color:var(--border);--ag-data-color:var(--ink)}.result-grid .ag-row{--ag-line-height:1.4}.result-grid .ag-cell{word-break:break-word;white-space:normal;line-height:1.4;overflow-y:auto}.status-bar{display:flex;align-items:center;gap:12px;padding:4px 16px;border-top:1px solid var(--border);background:var(--surface-subtle);font-size:12px;flex-shrink:0;min-height:28px}.status-copyright{margin-left:auto;color:var(--muted);font-size:11px;opacity:.7}.status-icon{font-size:10px;font-weight:700;padding:1px 6px;border-radius:3px}.status-ok{background:#e8f5e9;color:#2e7d32}.status-err{background:#ffebee;color:#c62828}.status-loading{background:#fff3e0;color:#e65100;animation:status-pulse 1.2s ease-in-out infinite}.status-item{color:var(--muted)}.status-elapsed{font-variant-numeric:tabular-nums;font-weight:600;color:var(--fg)!important}.status-spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:#e65100;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes status-pulse{0%,100%{opacity:1}50%{opacity:.6}}.row-detail-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);opacity:0;transition:opacity .15s}.row-detail-overlay.open{opacity:1}.row-detail-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);width:520px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;transform:scale(.95);transition:transform .15s}.row-detail-overlay.open .row-detail-card{transform:scale(1)}.row-detail-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.row-detail-title{font-size:13px;font-weight:700;color:var(--fg)}.row-detail-count{font-size:11px;color:var(--muted);background:var(--surface-subtle,rgba(0,0,0,.04));padding:2px 8px;border-radius:10px}.row-detail-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.row-detail-copy-all-btn{display:inline-flex;align-items:center;gap:4px;background:0 0;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--muted);cursor:pointer;transition:color .12s,border-color .12s}.row-detail-copy-all-btn:hover{color:var(--fg);border-color:var(--accent)}.row-detail-close-btn{background:0 0;border:none;padding:4px;cursor:pointer;color:var(--muted);border-radius:6px;transition:color .12s,background .12s}.row-detail-close-btn:hover{color:var(--danger,#e53935);background:rgba(239,68,68,.08)}.row-detail-search-row{padding:8px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.row-detail-search{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:12px;outline:0;transition:border-color .15s}.row-detail-search:focus{border-color:var(--accent)}.row-detail-body{flex:1;overflow-y:auto;padding:0}.row-detail-table{width:100%;border-collapse:collapse;font-size:12px}.row-detail-tr{border-bottom:1px solid var(--border-subtle,rgba(0,0,0,.04))}.row-detail-tr:hover{background:var(--surface-subtle,rgba(0,0,0,.02))}.row-detail-col{padding:7px 12px 7px 16px;font-weight:600;color:var(--accent);white-space:nowrap;vertical-align:top;width:1%;font-family:"Space Grotesk",Consolas,monospace;font-size:11px}.row-detail-val{padding:7px 8px;color:var(--fg);word-break:break-all;vertical-align:top;max-width:0}.row-detail-null .row-detail-null-tag{font-size:10px;color:var(--muted);background:var(--surface-subtle,rgba(0,0,0,.04));padding:1px 6px;border-radius:4px;font-style:italic}.row-detail-copy{padding:4px 12px 4px 4px;vertical-align:top;width:1%}.row-detail-copy-btn{background:0 0;border:none;padding:4px;cursor:pointer;color:var(--muted);border-radius:4px;opacity:0;transition:opacity .12s,color .12s}.row-detail-tr:hover .row-detail-copy-btn{opacity:1}.row-detail-copy-btn:hover{color:var(--accent)}.row-detail-copy-btn.copied{color:var(--success,#43a047);opacity:1}[data-theme=dark] .row-detail-overlay{background:rgba(0,0,0,.55)}[data-theme=dark] .row-detail-card{box-shadow:0 12px 40px rgba(0,0,0,.4)}[data-theme=dark] .row-detail-tr:hover{background:var(--surface,rgba(255,255,255,.03))}[data-theme=dark] .row-detail-null .row-detail-null-tag{background:rgba(255,255,255,.06)}@media (max-width:768px){.result-tabs{font-size:11px}.result-status{padding:4px 8px;font-size:10px}.row-detail-card{width:calc(100vw - 32px);max-width:none}}@media (max-width:480px){.row-detail-card{width:100vw;max-width:100vw;max-height:92vh;border-radius:16px 16px 0 0}.row-detail-overlay{align-items:flex-end}}.danger-btn,.ghost-btn,.run-btn{border:none;border-radius:999px;padding:7px 16px;font-weight:600;font-size:13px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;font-family:inherit;white-space:nowrap}.run-btn{background:var(--accent);color:#fff;box-shadow:0 4px 12px var(--accent-shadow)}.run-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px var(--accent-shadow)}.desc-btn{background:var(--info);box-shadow:0 4px 12px rgba(59,130,246,.25)}.desc-btn:hover{box-shadow:0 6px 16px rgba(59,130,246,.3)}.ghost-btn{background:0 0;color:var(--accent-dark);border:1px solid var(--accent-dark)}.ghost-btn:hover{transform:translateY(-1px)}.danger-btn{background:0 0;color:var(--danger);border:1px solid var(--danger);border-radius:999px;padding:7px 16px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}.danger-btn:hover{transform:translateY(-1px)}.btn-disabled{opacity:.4;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.export-dropdown{position:relative}.export-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px var(--shadow-color);z-index:300;overflow:hidden;min-width:160px}.export-menu.open{display:block}.export-menu button{display:block;width:100%;text-align:left;border:none;background:0 0;padding:8px 14px;font-family:inherit;font-size:13px;cursor:pointer;color:var(--ink)}.export-menu button:hover{background:var(--surface-subtle)}.export-menu hr{border:none;border-top:1px solid var(--border);margin:0}.modal-overlay{display:none;position:fixed;inset:0;background:var(--modal-backdrop);z-index:1000;align-items:center;justify-content:center}.modal-overlay.open{display:flex;backdrop-filter:blur(2px)}.confirm-dialog-card{background:var(--card);border-radius:16px;padding:28px 32px 24px;width:380px;max-width:90vw;box-shadow:0 20px 60px var(--shadow-color);border:1px solid var(--border);text-align:center}.confirm-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:rgba(220,53,69,.1);color:var(--danger);margin-bottom:14px}.confirm-dialog-title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--ink)}.confirm-dialog-message{margin:0 0 22px;font-size:13px;line-height:1.5;color:var(--ink-muted)}.confirm-dialog-message strong{color:var(--ink);font-weight:600}.confirm-dialog-actions{display:flex;gap:10px;justify-content:center}.confirm-dialog-cancel{padding:8px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.confirm-dialog-cancel:hover{background:var(--surface-hover);border-color:var(--ink-muted)}.confirm-dialog-ok{padding:8px 20px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.confirm-dialog-ok:hover{opacity:.85}.confirm-dialog-ok.danger-btn{background:var(--danger);color:#fff;border:none;border-radius:8px}.prompt-dialog-card{background:var(--card);border-radius:16px;padding:28px 32px 24px;width:420px;max-width:90vw;box-shadow:0 20px 60px var(--shadow-color);border:1px solid var(--border);text-align:center;animation:prompt-dialog-pop .25s cubic-bezier(.34,1.4,.64,1)}@keyframes prompt-dialog-pop{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}.prompt-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);margin-bottom:12px}.prompt-dialog-title{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--ink)}.prompt-dialog-message{margin:0 0 16px;font-size:12.5px;color:var(--ink-muted);line-height:1.5;white-space:pre-line}.prompt-dialog-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;text-align:left}.prompt-dialog-label{display:block;font-size:11px;font-weight:600;color:var(--ink-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.03em}.prompt-dialog-input{width:100%;padding:9px 12px;font-size:13px;font-family:inherit;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-input);color:var(--ink);outline:0;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.prompt-dialog-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.prompt-dialog-input.prompt-dialog-shake{animation:prompt-shake .35s ease}@keyframes prompt-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.prompt-dialog-color-wrap{display:flex;gap:8px;align-items:center}.prompt-dialog-color{width:40px;height:38px;border:1.5px solid var(--border);border-radius:8px;padding:2px;cursor:pointer;background:var(--surface-input);flex-shrink:0}.prompt-dialog-color::-webkit-color-swatch-wrapper{padding:1px}.prompt-dialog-color::-webkit-color-swatch{border-radius:4px;border:none}.prompt-dialog-color-text{flex:1;font-family:"Cascadia Code",Consolas,monospace;font-size:12.5px}.prompt-dialog-actions{display:flex;gap:10px;justify-content:center}.modal-card{background:var(--card);border-radius:18px;padding:28px;width:440px;max-width:90vw;box-shadow:0 20px 60px var(--shadow-color);border:1px solid var(--border)}.modal-card h3{margin:0 0 20px;font-size:17px}.modal-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}.modal-row{display:flex;gap:12px}.modal-actions{display:flex;align-items:center;gap:10px}.config-field{display:flex;flex-direction:column;gap:6px}.config-field label{font-size:12px;color:var(--muted)}.config-field input,.config-field select,.config-field textarea{border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-family:"Space Grotesk",Consolas,monospace;font-size:13px;background:var(--surface-input);color:var(--ink)}.config-field textarea{resize:vertical;min-height:40px;outline:0}.config-field textarea:focus{border-color:var(--accent)}.config-field select{cursor:pointer;appearance:auto}.test-row{display:flex;align-items:center;gap:12px;margin-bottom:18px}.test-btn{border:1px solid var(--accent-dark);background:0 0;color:var(--accent-dark);border-radius:999px;padding:8px 18px;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;font-family:inherit}.test-btn:hover{background:var(--surface-hover);transform:translateY(-1px)}.test-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.test-status{font-size:12px;color:var(--muted);flex:1;min-width:0}.test-status.test-ok{color:var(--success,#2e8b57);font-weight:600}.test-status.test-fail{color:var(--danger);font-weight:500}.quick-open{width:580px;max-width:92vw;background:var(--card);border-radius:14px;box-shadow:0 24px 72px var(--shadow-color);border:1px solid var(--border);overflow:hidden;margin-top:-18vh}.qo-input-wrap{display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 14px;gap:10px}.qo-input-icon{font-size:16px;opacity:.5;flex-shrink:0;user-select:none}.quick-open input{flex:1;border:none;padding:14px 0;font-family:inherit;font-size:15px;background:0 0;color:var(--ink);outline:0;min-width:0}.qo-mode-hints{display:flex;gap:6px;padding:7px 14px;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.qo-hint-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);background:var(--surface-active);border:1px solid var(--border);border-radius:5px;padding:2px 7px;font-family:"Space Grotesk",Consolas,monospace}.qo-hint-pill b{color:var(--ink);font-weight:600}.qo-results{max-height:380px;overflow-y:auto}.qo-group-header{padding:6px 14px 4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--surface-row-alt);position:sticky;top:0;z-index:1}.qo-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;border-bottom:1px solid var(--surface-row-alt);min-height:38px}.qo-item.selected,.qo-item:hover{background:var(--surface-active)}.qo-icon{font-size:15px;flex-shrink:0;width:22px;text-align:center;line-height:1}.qo-label{flex:1;font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qo-label mark{background:0 0;color:var(--accent);font-weight:700}.qo-item-inner{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.qo-item-inner .qo-label{flex:none}.qo-preview{font-size:11px;color:var(--muted);font-family:"Space Grotesk",Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qo-kbd{flex-shrink:0;font-size:10px;font-family:"Space Grotesk",Consolas,monospace;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 6px;white-space:nowrap}.qo-meta{flex-shrink:0;font-size:10px;font-weight:600;color:var(--muted);font-family:"Space Grotesk",Consolas,monospace}.qo-badge{flex-shrink:0;font-size:10px;font-weight:700;border-radius:5px;padding:2px 7px}.qo-badge-active{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.qo-empty{padding:20px 18px;color:var(--muted);font-size:13px;text-align:center}.version-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:0 0;border-radius:8px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.version-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--surface-hover)}.version-btn .version-date{font-weight:400;opacity:.7;font-size:10px}.version-modal-card{width:520px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.version-modal-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.version-modal-header h3{margin:0}.version-close-btn{width:30px;height:30px;border:none;background:0 0;font-size:22px;cursor:pointer;color:var(--muted);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.version-close-btn:hover{color:var(--ink);background:var(--surface-hover)}.version-timeline{overflow-y:auto;padding-right:4px}.vl-entry{display:flex;gap:14px;position:relative;padding-bottom:20px}.vl-entry:last-child{padding-bottom:0}.vl-entry::before{content:"";position:absolute;left:7px;top:18px;bottom:0;width:2px;background:var(--border)}.vl-entry:last-child::before{display:none}.vl-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);background:var(--card);flex-shrink:0;margin-top:2px;z-index:1}.vl-dot-latest{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--surface-active)}.vl-content{flex:1;min-width:0}.vl-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.vl-version{font-size:14px;font-weight:700;color:var(--ink)}.vl-tag{font-size:10px;font-weight:700;color:#fff;background:var(--accent);padding:1px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.vl-date{font-size:12px;color:var(--muted)}.vl-counts{display:inline-flex;gap:6px;margin-left:auto}.vl-count-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:1px 8px 1px 4px;border-radius:999px;line-height:1.5}.vl-count-badge.vl-type-new{background:color-mix(in srgb,var(--success,#4caf50) 12%,transparent);color:var(--success,#4caf50)}.vl-count-badge.vl-type-fix{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.vl-count-badge.vl-type-imp{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info)}.vl-count-badge .vl-item-badge{font-size:9px}.vl-items{margin:0;padding:0 0 0 18px;list-style:none}.vl-items li{position:relative;font-size:12px;color:var(--ink);line-height:1.6;padding-left:4px}.vl-items li::before{content:"";position:absolute;left:-12px;top:8px;width:4px;height:4px;border-radius:50%;background:var(--muted)}.vl-items li:has(.vl-item-badge)::before{display:none}.vl-legend{display:flex;gap:16px;margin-bottom:16px;padding:8px 12px;border-radius:6px;background:var(--surface-subtle);border:1px solid var(--border);font-size:12px}[data-theme=dark] .vl-legend{background:var(--surface-subtle)}.vl-legend-item{display:flex;align-items:center;gap:5px;color:var(--ink);font-weight:500}.vl-item-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;font-size:9px;font-weight:700;line-height:1;vertical-align:middle;flex-shrink:0}.vl-type-new{background:color-mix(in srgb,var(--success,#10b981) 14%,transparent);color:var(--success,#10b981);border:1px solid color-mix(in srgb,var(--success,#10b981) 30%,transparent)}.vl-type-fix{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.vl-type-imp{background:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info);border:1px solid color-mix(in srgb,var(--info) 30%,transparent)}#notifContainer{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:320px;pointer-events:none}.notif-toast{background:var(--bg2,var(--card));border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;padding:.75rem 2rem .75rem 1rem;box-shadow:0 4px 16px rgba(0,0,0,.18);animation:notif-in .2s ease;position:relative;pointer-events:all;word-break:break-word}.notif-toast.notif-success{border-left-color:var(--success,#10b981)}.notif-toast.notif-error{border-left-color:var(--danger,#ef4444)}.notif-toast.notif-warning{border-left-color:#f59e0b}.notif-toast.notif-info{border-left-color:var(--info,#3b82f6)}.notif-title{font-weight:600;font-size:.875rem;margin-bottom:.2rem;color:var(--ink)}.notif-msg{font-size:.8rem;color:var(--fg2,var(--muted));line-height:1.4}.notif-close{position:absolute;top:.4rem;right:.5rem;background:0 0;border:none;cursor:pointer;color:var(--muted);font-size:1.1rem;line-height:1;padding:2px 4px;border-radius:4px;transition:color .1s}.notif-close:hover{color:var(--ink)}@keyframes notif-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes notif-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(24px)}}@media (max-width:480px){#notifContainer{bottom:5rem;right:.75rem;left:.75rem;max-width:100%}}.theme-toggle{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:0 0;border-radius:8px;cursor:pointer;color:var(--muted);transition:all .2s;flex-shrink:0;padding:0}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--surface-hover)}.theme-toggle .icon-moon,.theme-toggle .icon-sun{display:none}:root .theme-toggle .icon-moon{display:block}[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .CodeMirror{background:var(--surface-input);color:var(--ink)}[data-theme=dark] .CodeMirror-gutters{background:var(--card);border-right:none}[data-theme=dark] .CodeMirror-linenumber{color:var(--muted)}[data-theme=dark] .CodeMirror-cursor{border-left-color:var(--ink)}[data-theme=dark] .CodeMirror-selected{background:rgba(232,135,110,.2)}[data-theme=dark] .CodeMirror-focused .CodeMirror-selected{background:rgba(232,135,110,.25)}[data-theme=dark] .CodeMirror-activeline-background{background:rgba(255,255,255,.04)}[data-theme=dark] .cm-s-neo .cm-keyword{color:#c792ea}[data-theme=dark] .cm-s-neo .cm-atom{color:#f78c6c}[data-theme=dark] .cm-s-neo .cm-number{color:#f78c6c}[data-theme=dark] .cm-s-neo .cm-def{color:#82aaff}[data-theme=dark] .cm-s-neo .cm-variable{color:var(--ink)}[data-theme=dark] .cm-s-neo .cm-variable-2{color:#89ddff}[data-theme=dark] .cm-s-neo .cm-property{color:var(--ink)}[data-theme=dark] .cm-s-neo .cm-operator{color:#89ddff}[data-theme=dark] .cm-s-neo .cm-comment{color:#6a737d}[data-theme=dark] .cm-s-neo .cm-string{color:#c3e88d}[data-theme=dark] .cm-s-neo .cm-string-2{color:#c3e88d}[data-theme=dark] .cm-s-neo .cm-meta{color:#ffcb6b}[data-theme=dark] .cm-s-neo .cm-builtin{color:#82aaff}[data-theme=dark] .cm-s-neo .cm-tag{color:#f07178}[data-theme=dark] .cm-s-neo .cm-attribute{color:#c792ea}[data-theme=dark] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--muted)}@media (max-width:900px){.sidebar{width:var(--rail-w)}.sidebar .sidebar-content{display:none}.sidebar:not(.collapsed){width:calc(var(--rail-w) + var(--sidebar-w))}.sidebar:not(.collapsed) .sidebar-content{display:flex;flex-direction:column}.sidebar-backdrop.visible{display:block}.editor-result-split{flex-direction:column}.editor-wrap{flex:none;min-height:40vh;min-width:0}.split-handle{width:auto;height:5px;cursor:row-resize}.split-handle::after{width:32px;height:3px}.result-wrap{flex:1;min-height:200px;min-width:0}.kanban-board{padding:8px;gap:8px}.kanban-detail-panel{width:95vw;height:92vh;max-width:95vw}.kanban-body{flex-direction:column}.kb-column{width:240px}.notes-split{flex-direction:column}.notes-master-wrapper{width:100%;max-height:240px;border-right:none;border-bottom:1px solid var(--border)}.rs-split{flex-direction:column}.rs-notes-panel{width:100%;min-width:0;border-left:none;border-top:1px solid var(--border)}.kanban-toolbar-center{max-width:200px}.conn-badge{max-width:200px}.rs-tree-columns{flex-direction:column}.rs-tree-columns .rs-log-card{max-height:200px}.rs-tree-columns .rs-chat-body,.rs-tree-columns .rs-log-body{max-height:160px}}.sidebar-backdrop{display:none;position:fixed;inset:0;top:var(--navbar-h);background:rgba(0,0,0,.3);z-index:249}@media (max-width:768px){.sidebar{position:fixed;top:var(--navbar-h);left:0;bottom:0;z-index:260;width:var(--rail-w);box-shadow:none}.sidebar .sidebar-content{display:none}.sidebar:not(.collapsed){width:calc(var(--rail-w) + var(--sidebar-w));box-shadow:4px 0 20px rgba(0,0,0,.15)}.sidebar:not(.collapsed) .sidebar-content{display:flex;flex-direction:column}.sidebar-backdrop.visible{display:block}.tab-bar-row{padding-left:8px}.kanban-detail-panel{width:96vw;height:94vh;max-width:96vw;border-radius:8px}.notes-split{flex-direction:column}.notes-master-wrapper{width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--border)}.notes-detail-form{padding:14px 16px;gap:10px}.modal-card{width:calc(100vw - 32px);max-width:none;padding:20px}.param-modal-card{width:calc(100vw - 32px)}.version-modal-card{width:calc(100vw - 32px)}.confirm-dialog-card{width:calc(100vw - 32px)}.quick-open{width:calc(100vw - 32px)}.rs-topic-modal-card{width:calc(100vw - 32px);height:80vh;padding:16px 20px}.rs-import-modal-card{width:calc(100vw - 32px);height:75vh;padding:16px 20px}.rs-icon-picker{width:calc(100vw - 48px);max-width:320px}.rs-mob-topics{padding:16px;overflow-y:auto;height:100%}.rs-mob-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rs-mob-title{font-size:16px;font-weight:700;color:var(--ink)}.rs-mob-count{font-size:11px;color:var(--muted)}.rs-mob-topics .rs-search-wrap{margin-bottom:12px}.rs-mob-topics .rs-topic-card{margin-bottom:8px}.rs-mob-topics .rs-sidebar-actions{margin-top:12px}}@media (max-width:480px){.navbar{padding:0 10px;gap:8px}.navbar-brand{font-size:13px;gap:6px}.navbar-right{gap:6px}.conn-badge{max-width:100px;font-size:11px;padding:2px 6px}.navbar-divider{display:none}.version-btn{font-size:10px;padding:2px 6px}.tab-bar-row{height:30px}.tab-pill{padding:3px 8px;font-size:11px}.tab-view-badge{font-size:8px}.action-toolbar{flex-wrap:wrap;padding:6px 10px;gap:6px}.toolbar-left{flex-wrap:wrap;gap:6px}.desc-btn,.ghost-btn,.run-btn{padding:6px 12px;font-size:12px}.editor-wrap{min-height:30vh}.result-wrap{min-height:150px}.notes-master-wrapper{max-height:160px}.notes-detail-form{padding:10px 12px;gap:8px}.ndf-row-half{flex-direction:column;gap:8px}.kanban-board{flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:8px;gap:8px;align-items:stretch}.kb-column{width:100%;max-height:none}.kanban-toolbar{gap:6px;padding:6px 10px}.kanban-toolbar-left svg{display:none}.kanban-toolbar-center{max-width:140px}.kanban-toolbar-title{font-size:13px}.modal-card{width:100vw;max-width:100vw;max-height:100vh;border-radius:0;padding:16px}.rs-import-modal-card,.rs-topic-modal-card{width:100vw;height:100vh;border-radius:0;padding:12px 16px}.confirm-dialog-card{width:calc(100vw - 24px);padding:20px 16px}.modal-row{flex-direction:column;gap:10px}.status-bar{padding:3px 10px;font-size:11px}.status-copyright{display:none}.rs-split{flex-direction:column}.rs-notes-panel{width:100%;min-width:0;border-left:none;border-top:1px solid var(--border)}.rs-tree-scroll{padding:10px 12px}.rs-topbar{padding:8px 12px;gap:8px}.rs-btn-gen-all{padding:6px 12px;font-size:11px}.rs-btn-reset-all{padding:6px 10px;font-size:11px}}.research-view{flex:1;overflow:hidden;display:flex}.rs-layout{display:flex;width:100%;height:100%;background:var(--bg);color:var(--ink);font-family:"Space Grotesk","Segoe UI",sans-serif;overflow:hidden}.rs-search-wrap{padding:10px 14px 8px}.rs-search-box{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.rs-search-icon{flex-shrink:0;color:var(--muted)}.rs-search-input{flex:1;background:0 0;border:none;color:var(--fg);font-size:12px;font-family:var(--font);outline:0}.rs-search-input::placeholder{color:var(--muted)}.rs-search-clear{color:var(--muted);cursor:pointer;font-size:13px}.rs-search-box:focus-within{border-color:var(--accent)}.rs-topic-list{flex:1;overflow-y:auto;padding:4px 10px 16px}.rs-topic-card{padding:10px;margin-bottom:4px;border-radius:8px;cursor:pointer;background:0 0;border:1px solid transparent}.rs-topic-card:hover{background:var(--card)}.rs-topic-card.active{background:var(--card);border-color:var(--border)}.rs-topic-row{display:flex;align-items:center;gap:10px}.rs-topic-icon{font-size:18px;flex-shrink:0}.rs-topic-info{flex:1;min-width:0;overflow:hidden}.rs-topic-actions{display:none;flex-shrink:0;gap:2px;align-items:center}.rs-topic-card:hover .rs-topic-actions{display:flex}.rs-topic-action-btn{padding:3px;border-radius:4px;cursor:pointer;color:var(--muted);transition:color .15s,background .15s}.rs-topic-action-btn:hover{color:var(--fg);background:var(--surface-hover)}.rs-topic-delete:hover{color:var(--danger)}.rs-topic-name{font-size:12px;font-weight:600;color:var(--fg);word-break:break-word}.rs-topic-card.active .rs-topic-name{color:var(--accent)}.rs-topic-sub{font-size:10px;color:var(--muted);margin-top:2px;word-break:break-word}.rs-topic-prog{margin-top:8px;display:flex;align-items:center;gap:8px}.rs-prog-bar{flex:1;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.rs-prog-fill{height:100%;border-radius:2px;transition:width .4s}.rs-prog-label{font-size:10px;color:var(--muted);font-family:Consolas,monospace}.rs-empty-msg{text-align:center;padding:40px 20px;color:var(--muted);font-size:13px}.rs-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.rs-topbar{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:var(--card);min-height:50px;flex-shrink:0}.rs-topbar-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.rs-topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.rs-topbar-back{color:var(--muted);cursor:pointer;display:flex;padding:4px}.rs-topbar-back:hover{color:var(--ink)}.rs-topbar-nav{display:inline-flex;align-items:center;gap:2px;margin-left:4px}.rs-topbar-nav-btn{color:var(--muted);background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;padding:3px 5px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px}.rs-topbar-nav-btn:hover:not(.disabled){color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card))}.rs-topbar-nav-btn.disabled{opacity:.3;cursor:default}.rs-topbar-nav-pos{font-size:10px;color:var(--muted);font-weight:600;min-width:30px;text-align:center;font-variant-numeric:tabular-nums}.rs-topbar-icon{font-size:18px}.rs-topbar-title{flex:1;font-size:12px;font-weight:700;color:var(--ink)}.rs-topbar-sep{color:var(--muted);font-weight:400}.rs-topbar-child{font-weight:500}.rs-topbar-placeholder{font-size:14px;font-weight:600;color:var(--muted)}.rs-topbar-file-info{display:none;font-size:10px;font-family:Consolas,monospace;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.rs-topbar-file-status{margin-left:4px;font-size:9px;text-transform:uppercase;letter-spacing:.3px}.rs-topbar-file-status.done{color:var(--accent)}.rs-btn-gen-all{color:#fff;background:var(--accent);border:none;border-radius:999px;padding:7px 16px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;box-shadow:0 4px 12px var(--accent-shadow)}.rs-btn-gen-all:hover{background:var(--accent-dark)}.rs-btn-gen-all.rs-btn-gen-seq{background:0 0;color:var(--accent);border:1px solid var(--accent);box-shadow:none}.rs-btn-gen-all.rs-btn-gen-seq:hover{background:var(--accent);color:#fff}.rs-btn-gen-all.rs-btn-stop{background:var(--danger);box-shadow:0 4px 12px rgba(220,53,69,.3)}.rs-btn-gen-all.rs-btn-stop:hover{background:color-mix(in srgb,var(--danger) 85%,#000)}.rs-btn-reset-all{color:var(--muted);background:0 0;border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:all .15s}.rs-btn-reset-all:hover{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.rs-btn-gen-single{color:#fff;background:var(--accent);border:none;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0;transition:background .15s}.rs-btn-gen-single:hover{background:var(--accent-dark)}.rs-btn-gen-single.rs-btn-stopping{background:var(--danger)}.rs-btn-gen-single.rs-btn-stopping:hover{background:#c0392b}.rs-export-dropdown{position:relative;flex-shrink:0}.rs-btn-export{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:500;border-radius:5px;border:1px solid var(--border);background:0 0;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s}.rs-btn-export:hover{color:var(--fg);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.rs-btn-export.rs-btn-export-sm{padding:4px 7px}.rs-export-menu{display:none;position:absolute;right:0;top:calc(100% + 4px);min-width:130px;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:0 6px 20px rgba(0,0,0,.18);z-index:120;overflow:hidden}.rs-export-menu.open{display:block}.rs-export-item{display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:12px;color:var(--fg);text-decoration:none;cursor:pointer;transition:background .12s}.rs-export-item:hover{background:var(--hover)}[data-theme=dark] .rs-export-menu{box-shadow:0 6px 20px rgba(0,0,0,.45)}.rs-empty-state{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.rs-empty-icon{font-size:52px;opacity:.15}.rs-empty-text{font-size:15px;color:var(--muted);font-weight:500}.rs-tree-scroll{flex:1;overflow:hidden;padding:16px 24px;display:flex;flex-direction:column}.rs-tree-columns{display:flex;gap:16px;flex:1;min-height:0}.rs-tree-columns .rs-log-card{flex:2;min-width:0;margin-top:0;max-height:none;display:flex;flex-direction:column}.rs-tree-columns .rs-chat-body,.rs-tree-columns .rs-log-body{max-height:none;flex:1;overflow-y:auto}.rs-tree-knowledge{flex:3;min-width:0;overflow-y:auto}.rs-progress-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:20px;box-shadow:0 2px 8px var(--shadow-color)}.rs-progress-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.rs-progress-label{color:var(--muted)}.rs-progress-label strong{font-weight:600}.rs-progress-track{height:5px;background:var(--border);border-radius:3px;overflow:hidden;position:relative}.rs-progress-fill-bg,.rs-progress-fill-fg{position:absolute;height:100%;border-radius:3px;transition:width .4s}.rs-part{margin-bottom:2px}.rs-part-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;border-radius:8px;user-select:none}.rs-part-header:hover{background:var(--surface-subtle)}.rs-part-arrow{flex-shrink:0;color:var(--muted);transition:transform .15s}.rs-part-arrow.open{transform:rotate(90deg)}.rs-part-label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.03em;text-transform:uppercase;flex:1}.rs-part-desc{font-size:11px;color:var(--muted);font-style:italic;line-height:1.4;padding:2px 8px 6px 26px;word-break:break-word}.rs-part-dots{display:flex;gap:3px}.rs-dot{width:6px;height:6px;border-radius:50%;transition:background .3s}.rs-part-children{padding-left:20px;position:relative}.rs-tree-line{position:absolute;left:27px;top:0;bottom:14px;width:1px;background:var(--border)}.rs-chapter{position:relative}.rs-tree-branch{position:absolute;left:7px;top:50%;width:14px;height:1px;background:var(--border)}.rs-chapter-row{margin-left:22px;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;border:1px solid transparent}.rs-chapter-row{cursor:pointer}.rs-chapter-row:hover{background:var(--surface-subtle)}.rs-chapter-row.rs-match{background:var(--surface-active);border-color:var(--accent)}.rs-checkbox{width:17px;height:17px;border-radius:4px;flex-shrink:0;border:2px solid var(--border);background:0 0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.rs-checkbox.checked{border-color:currentColor}.rs-ch-info{display:flex;align-items:baseline;gap:6px;flex:1;min-width:0}.rs-ch-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.rs-ch-num{font-family:Consolas,monospace;font-size:11px;font-weight:700;flex-shrink:0}.rs-ch-title{font-size:13px;font-weight:500;color:var(--ink)}.rs-ch-title.done{color:var(--muted);font-style:italic}.rs-ch-link{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;cursor:pointer;transition:text-decoration-color .15s}.rs-ch-link:hover{text-decoration-color:currentColor}.rs-ch-desc{display:none;font-size:10px;font-weight:400;font-style:italic;color:var(--muted);line-height:1.3;word-break:break-word}.rs-ch-note-icon{color:var(--accent);font-size:10px}.rs-ch-doc-icon{color:var(--accent);flex-shrink:0}.rs-ch-dot{flex-shrink:0;width:8px;height:8px}@keyframes rs-blink{0%,100%{opacity:1}50%{opacity:.3}}.rs-ch-play,.rs-ch-stop{border-radius:5px;padding:3px 6px;cursor:pointer;display:inline-flex;align-items:center}.rs-ch-play{border:1px solid var(--border);color:var(--muted);background:0 0}.rs-ch-play:hover{color:var(--ink);border-color:var(--muted)}.rs-ch-stop{background:var(--surface-active);border:1px solid var(--accent);color:var(--accent)}.rs-ch-stop:hover{filter:brightness(1.1)}.rs-ch-show-content{border-radius:5px;padding:3px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;border:1px solid var(--accent);color:var(--accent);background:0 0;white-space:nowrap;transition:background .15s,color .15s}.rs-ch-show-content:hover{background:var(--accent);color:var(--bg)}.rs-log-card{margin-top:20px;background:var(--card);border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:12px;padding:0;box-shadow:0 4px 16px var(--shadow-color),0 0 0 1px color-mix(in srgb,var(--accent) 5%,transparent);overflow:hidden}.rs-log-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--card)),color-mix(in srgb,var(--accent) 5%,var(--surface-hover)));border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.03em}.rs-log-header-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}.rs-log-header-dot.active{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.5);animation:rs-timer-pulse 1.5s ease-in-out infinite}.rs-log-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:6px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);cursor:pointer;transition:all .2s;opacity:.7;flex-shrink:0}.rs-log-copy-btn:hover{opacity:1;background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);transform:scale(1.08)}.rs-log-copy-btn:active{transform:scale(.95)}.rs-log-copy-btn.copied{opacity:1;color:#22c55e;border-color:#22c55e;background:color-mix(in srgb,#22c55e 15%,transparent)}.rs-pinned-prompt{border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--surface-input))}.rs-pinned-prompt-header{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.02em;cursor:default}.rs-pp-slot{margin-left:6px;font-size:.65rem;font-weight:600;padding:1px 7px;border-radius:8px;background:var(--accent);color:#fff;letter-spacing:.02em}.rs-pp-nav{display:inline-flex;align-items:center;gap:2px;margin-left:4px}.rs-pp-nav-btn{background:0 0;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:4px;color:var(--muted);cursor:pointer;padding:1px 4px;line-height:1;display:flex;align-items:center}.rs-pp-nav-btn:hover:not(.disabled){color:var(--accent);border-color:var(--accent)}.rs-pp-nav-btn.disabled{opacity:.3;cursor:default}.rs-pp-nav-pos{font-size:9px;color:var(--muted);min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.rs-pp-copy-btn{background:0 0;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:4px;color:var(--accent);cursor:pointer;padding:2px 4px;display:flex;align-items:center;transition:border-color .2s,color .2s}.rs-pp-copy-btn:hover{border-color:var(--accent)}.rs-pp-copy-btn.copied{color:var(--success,#2da44e);border-color:var(--success,#2da44e)}.rs-pp-tabs{display:flex;gap:0;margin-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--accent) 12%,var(--border))}.rs-pp-tab{background:0 0;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:4px 12px 6px;cursor:pointer;transition:color .2s,border-color .2s}.rs-pp-tab:hover{color:var(--ink)}.rs-pp-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.rs-pp-full-prompt{max-height:240px;overflow-y:auto}.rs-pinned-prompt-toggle{margin-left:auto;background:0 0;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:4px;color:var(--accent);cursor:pointer;padding:2px 4px;display:flex;align-items:center;transition:transform .2s}.rs-pinned-prompt-toggle:hover{border-color:var(--accent)}.rs-pinned-prompt-toggle.collapsed svg{transform:rotate(-90deg)}.rs-pinned-prompt-body{padding:4px 14px 10px;max-height:300px;overflow-y:auto;transition:max-height .3s ease,padding .3s ease,opacity .3s ease}.rs-pinned-prompt-body.collapsed{max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0}.rs-pinned-prompt-body::-webkit-scrollbar{width:4px}.rs-pinned-prompt-body::-webkit-scrollbar-track{background:0 0}.rs-pinned-prompt-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:3px}.rs-pp-row{display:flex;gap:8px;padding:3px 0;font-size:11px;line-height:1.4}.rs-pp-label{flex-shrink:0;min-width:100px;color:var(--accent);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding-top:1px}.rs-pp-val{color:var(--ink);word-break:break-word}.rs-pp-section{margin-bottom:6px}.rs-pp-section-label{font-size:10px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.rs-pp-pre{margin:0;padding:8px 10px;font-size:11px;line-height:1.5;color:var(--muted);white-space:pre-wrap;word-break:break-word;font-family:'SF Mono','Fira Code',Consolas,monospace;background:color-mix(in srgb,var(--accent) 4%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border));border-radius:6px}.rs-pp-divider{height:1px;background:color-mix(in srgb,var(--accent) 12%,var(--border));margin:6px 0}.rs-chat-body{max-height:340px;overflow-y:auto;overflow-x:hidden;padding:12px 14px;scroll-behavior:smooth;display:flex;flex-direction:column;gap:6px;background:var(--surface-input);box-shadow:inset 0 2px 6px rgba(0,0,0,.04)}.rs-chat-body::-webkit-scrollbar{width:5px}.rs-chat-body::-webkit-scrollbar-track{background:0 0}.rs-chat-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:3px}.rs-chat-body::-webkit-scrollbar-thumb:hover{background:var(--accent)}.rs-chat-bubble{padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.5;animation:rs-chat-slide-in .25s ease-out both;max-width:95%;word-break:break-word;backdrop-filter:blur(4px)}.rs-chat-bubble.rs-chat-new{animation:rs-chat-pop-in .35s cubic-bezier(.34,1.56,.64,1) both}.rs-chat-bubble-head{display:flex;align-items:center;gap:5px;margin-bottom:2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.65}.rs-chat-icon{flex-shrink:0}.rs-chat-sender{flex-shrink:0}.rs-chat-time{margin-left:auto;font-size:9px;opacity:.5;font-weight:400}.rs-chat-bubble-body{font-family:"Cascadia Code",Consolas,"Fira Code",monospace;font-size:11.5px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.rs-chat-bubble-body.rs-md-body{white-space:normal;font-family:inherit;font-size:12.5px}.rs-md-body .toastui-editor-contents{font-size:12.5px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:0}.rs-md-body .toastui-editor-contents p{font-size:12.5px;margin:4px 0;line-height:1.6}.rs-md-body .toastui-editor-contents h1{font-size:17px;margin:10px 0 6px;padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.rs-md-body .toastui-editor-contents h2{font-size:15px;margin:8px 0 4px}.rs-md-body .toastui-editor-contents h3{font-size:13.5px;margin:6px 0 3px}.rs-md-body .toastui-editor-contents h4,.rs-md-body .toastui-editor-contents h5,.rs-md-body .toastui-editor-contents h6{font-size:12.5px;margin:5px 0 2px}.rs-md-body .toastui-editor-contents ol,.rs-md-body .toastui-editor-contents ul{margin:4px 0;padding-left:20px}.rs-md-body .toastui-editor-contents li{margin:2px 0;font-size:12.5px}.rs-md-body .toastui-editor-contents blockquote{margin:6px 0;padding:6px 12px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:0 4px 4px 0;font-style:italic;color:var(--muted)}.rs-md-body .toastui-editor-contents pre{margin:6px 0;padding:8px 10px;border-radius:6px;background:var(--surface-subtle,#1e1e1e);overflow-x:auto;font-size:11.5px}.rs-md-body .toastui-editor-contents code{font-family:"Cascadia Code",Consolas,"Fira Code",monospace;font-size:11px;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-subtle,#f0f0f0))}.rs-md-body .toastui-editor-contents pre code{padding:0;background:0 0;font-size:11.5px}.rs-md-body .toastui-editor-contents hr{border:none;border-top:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));margin:8px 0}.rs-md-body .toastui-editor-contents table{border-collapse:collapse;margin:6px 0;width:100%;font-size:11.5px}.rs-md-body .toastui-editor-contents td,.rs-md-body .toastui-editor-contents th{border:1px solid var(--border);padding:4px 8px;text-align:left}.rs-md-body .toastui-editor-contents th{background:color-mix(in srgb,var(--accent) 8%,var(--card));font-weight:600}.rs-md-body .toastui-editor-contents strong{font-weight:600;color:var(--ink)}.rs-md-body .toastui-editor-contents a{color:var(--accent);text-decoration:underline}.rs-md-body .toastui-editor-contents img{max-width:100%;border-radius:6px;margin:4px 0}[data-theme=dark] .rs-md-body .toastui-editor-contents,[data-theme=dark] .rs-md-body .toastui-editor-contents h1,[data-theme=dark] .rs-md-body .toastui-editor-contents h2,[data-theme=dark] .rs-md-body .toastui-editor-contents h3,[data-theme=dark] .rs-md-body .toastui-editor-contents h4,[data-theme=dark] .rs-md-body .toastui-editor-contents h5,[data-theme=dark] .rs-md-body .toastui-editor-contents h6,[data-theme=dark] .rs-md-body .toastui-editor-contents li,[data-theme=dark] .rs-md-body .toastui-editor-contents p,[data-theme=dark] .rs-md-body .toastui-editor-contents td,[data-theme=dark] .rs-md-body .toastui-editor-contents th{color:var(--ink)}[data-theme=dark] .rs-md-body .toastui-editor-contents pre,[data-theme=dark] .rs-md-body .toastui-editor-contents pre code{color:var(--ink)}[data-theme=dark] .rs-md-body .toastui-editor-contents pre{background:rgba(0,0,0,.3)}[data-theme=dark] .rs-md-body .toastui-editor-contents code{background:rgba(255,255,255,.08);color:var(--ink)}[data-theme=dark] .rs-md-body .toastui-editor-contents blockquote{background:rgba(255,255,255,.04)}.rs-log-expand-btn{display:inline-block;margin-left:6px;padding:1px 8px;font-size:10px;font-family:inherit;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);cursor:pointer;opacity:.8;transition:opacity .15s,background .15s}.rs-log-expand-btn:hover{opacity:1;background:color-mix(in srgb,var(--accent) 18%,transparent)}.rs-chat-ai{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--card)),color-mix(in srgb,var(--accent) 4%,var(--card)));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-left:3px solid var(--accent);color:var(--ink)}.rs-chat-system{background:var(--surface-subtle);border:1px solid var(--border);color:var(--muted);font-size:11px;max-width:100%;align-self:stretch}.rs-chat-info{background:color-mix(in srgb,#38bdf8 6%,var(--card));border:1px solid color-mix(in srgb,#38bdf8 15%,transparent);border-left:3px solid #38bdf8;color:var(--ink)}.rs-chat-success{background:color-mix(in srgb,#22c55e 8%,var(--card));border:1px solid color-mix(in srgb,#22c55e 20%,transparent);border-left:3px solid #22c55e;color:var(--ink)}.rs-chat-error{background:color-mix(in srgb,var(--danger) 8%,var(--card));border:1px solid color-mix(in srgb,var(--danger) 20%,transparent);border-left:3px solid var(--danger);color:var(--ink)}.rs-chat-warn{background:color-mix(in srgb,#f59e0b 6%,var(--card));border:1px solid color-mix(in srgb,#f59e0b 15%,transparent);border-left:3px solid #f59e0b;color:var(--ink)}.rs-error-card{border-radius:10px;overflow:hidden;max-width:100%;align-self:stretch;animation:rs-chat-slide-in .25s ease-out both;font-size:12px;line-height:1.5}.rs-error-card.rs-chat-new{animation:rs-chat-pop-in .35s cubic-bezier(.34,1.56,.64,1) both}.rs-error-card.rs-ecard-critical{background:color-mix(in srgb,var(--danger) 6%,var(--card));border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border));border-left:4px solid var(--danger)}.rs-error-card.rs-ecard-warning{background:color-mix(in srgb,#f59e0b 6%,var(--card));border:1px solid color-mix(in srgb,#f59e0b 25%,var(--border));border-left:4px solid #f59e0b}.rs-ecard-header{display:flex;align-items:center;gap:6px;padding:8px 12px;flex-wrap:wrap}.rs-ecard-icon{font-size:16px;flex-shrink:0;line-height:1}.rs-ecard-title{font-weight:700;font-size:12.5px;color:var(--ink);flex:1 1 auto;min-width:0}.rs-ecard-critical .rs-ecard-title{color:var(--danger)}.rs-ecard-warning .rs-ecard-title{color:#d97706}[data-theme=dark] .rs-ecard-warning .rs-ecard-title{color:#fbbf24}.rs-ecard-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--muted);flex-shrink:0}.rs-ecard-severity{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:6px;flex-shrink:0}.rs-ecard-critical .rs-ecard-severity{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.rs-ecard-severity.rs-ecard-retry{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#d97706}[data-theme=dark] .rs-ecard-severity.rs-ecard-retry{color:#fbbf24}.rs-ecard-chapter-row{padding:0 12px 6px}.rs-ecard-chapter{font-size:10.5px;font-weight:600;color:var(--muted);font-family:"Cascadia Code",Consolas,"Fira Code",monospace}.rs-ecard-section{padding:4px 12px 8px}.rs-ecard-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.rs-ecard-list{margin:0;padding:0 0 0 16px;font-size:11.5px;color:var(--ink);line-height:1.6}.rs-ecard-list li{margin-bottom:1px}.rs-ecard-why li{list-style:none;position:relative;padding-left:4px}.rs-ecard-why li::before{content:"•";position:absolute;left:-12px;color:var(--muted);font-weight:700}.rs-ecard-fixes{padding-left:8px;list-style:none;counter-reset:none}.rs-ecard-fixes li{display:flex;align-items:baseline;gap:6px}.rs-ecard-fix-num{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:700;flex-shrink:0;line-height:1}.rs-ecard-critical .rs-ecard-fix-num{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.rs-ecard-warning .rs-ecard-fix-num{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#d97706}[data-theme=dark] .rs-ecard-warning .rs-ecard-fix-num{color:#fbbf24}.rs-chat-typing{align-self:flex-start}.rs-chat-typing-dots{display:flex;gap:4px;padding:4px 0}.rs-chat-typing-dots span{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:rs-typing-bounce .6s ease-in-out infinite}.rs-chat-typing-dots span:nth-child(2){animation-delay:.15s}.rs-chat-typing-dots span:nth-child(3){animation-delay:.3s}.rs-chat-timer{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:20px;font-size:11px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.rs-chat-timer-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:rs-timer-pulse 1.5s ease-in-out infinite}.rs-ch-duration{font-size:9px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:8px;padding:1px 6px;margin-left:2px;font-variant-numeric:tabular-nums}.rs-ch-retry-badge{font-size:9px;font-weight:600;color:var(--warning,#e6a817);background:color-mix(in srgb,var(--warning,#e6a817) 12%,transparent);border:1px solid color-mix(in srgb,var(--warning,#e6a817) 25%,transparent);border-radius:8px;padding:1px 6px;margin-left:2px;cursor:help;white-space:nowrap}@keyframes rs-pulse-retry{0%,100%{opacity:1}50%{opacity:.35}}.rs-ch-queue-badge{font-size:9px;font-weight:600;color:var(--info,#3b82f6);background:color-mix(in srgb,var(--info,#3b82f6) 12%,transparent);border:1px solid color-mix(in srgb,var(--info,#3b82f6) 25%,transparent);border-radius:8px;padding:1px 6px;margin-left:2px;cursor:help;white-space:nowrap}@keyframes rs-pulse-queue{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.rs-btn-queued{background:var(--info,#3b82f6)!important;color:#fff!important;box-shadow:0 4px 12px color-mix(in srgb,var(--info,#3b82f6) 30%,transparent)}.rs-btn-queued:hover{background:color-mix(in srgb,var(--info,#3b82f6) 85%,#000)!important}.rs-pool-info{font-size:10px;color:var(--muted);margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}@keyframes rs-chat-slide-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes rs-chat-pop-in{0%{opacity:0;transform:translateY(12px) scale(.96)}60%{opacity:1;transform:translateY(-2px) scale(1.01)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes rs-typing-bounce{0%,100%,60%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes rs-timer-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.rs-auth-box{margin:10px 0 4px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--card)),color-mix(in srgb,var(--accent) 3%,var(--card)));box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 8%,transparent)}.rs-auth-msg{font-size:11px;color:var(--fg);display:flex;align-items:center;gap:6px;margin-bottom:8px}.rs-auth-url{display:flex;align-items:center;gap:6px;margin-bottom:8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:6px 8px;overflow:hidden}.rs-auth-url a{font-size:11px;font-family:Consolas,monospace;color:var(--accent);word-break:break-all;text-decoration:none}.rs-auth-url a:hover{text-decoration:underline}.rs-auth-copy-btn{background:0 0;border:none;color:var(--muted);cursor:pointer;padding:2px;flex-shrink:0}.rs-auth-copy-btn:hover{color:var(--fg)}.rs-auth-code-row{display:flex;gap:6px}.rs-auth-code-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:12px;font-family:"Cascadia Code",Consolas,"Fira Code",monospace;outline:0;letter-spacing:.05em}.rs-auth-code-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.rs-auth-btn{padding:7px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 30%,transparent)}.rs-auth-btn:hover{filter:brightness(1.08);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 40%,transparent)}.rs-auth-btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.rs-auth-check-btn{padding:5px 10px;border:1px solid var(--border);border-radius:4px;background:var(--card);color:var(--muted);font-size:11px;cursor:pointer;margin-left:4px}.rs-auth-check-btn:hover{color:var(--fg);border-color:var(--accent)}.rs-split{flex:1;display:flex;overflow:hidden}.rs-md-panel{flex:3;display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden;position:relative}.rs-scroll-nav{position:absolute;bottom:18px;right:22px;z-index:100;display:flex;flex-direction:column;gap:6px;pointer-events:none}.rs-scroll-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--ink);font-size:16px;cursor:pointer;box-shadow:0 2px 8px var(--shadow-color);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s,background .15s;display:flex;align-items:center;justify-content:center;pointer-events:none}.rs-scroll-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}.rs-scroll-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.rs-md-tab{padding:7px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px;background:var(--card);flex-shrink:0}.rs-md-tab-name{font-size:11px;font-family:Consolas,monospace;color:var(--muted)}.rs-md-tab-badge{font-size:10px;color:var(--accent);margin-left:auto;font-family:Consolas,monospace}.rs-md-editor-wrap{flex:1;min-height:0;overflow:hidden}.rs-notes-editor-wrap{flex:1;min-height:0;overflow:hidden;padding:0 12px 8px}.rs-md-editor-wrap .toastui-editor-defaultUI,.rs-notes-editor-wrap .toastui-editor-defaultUI{border:none;font-family:"Space Grotesk","Segoe UI",sans-serif}.rs-md-editor-wrap .toastui-editor-toolbar,.rs-notes-editor-wrap .toastui-editor-toolbar{background:var(--card);border-bottom:1px solid var(--border)}.rs-md-editor-wrap .toastui-editor-toolbar-icons,.rs-notes-editor-wrap .toastui-editor-toolbar-icons{background-color:transparent;border:1px solid transparent;border-radius:4px;opacity:.85}.rs-md-editor-wrap .toastui-editor-toolbar-icons:hover,.rs-notes-editor-wrap .toastui-editor-toolbar-icons:hover{background-color:var(--surface-hover);border-color:var(--border);opacity:1}.rs-md-editor-wrap .toastui-editor-toolbar-icons.active,.rs-notes-editor-wrap .toastui-editor-toolbar-icons.active{background-color:var(--surface-active);border-color:var(--accent);opacity:1}.rs-md-editor-wrap .toastui-editor-toolbar-divider,.rs-notes-editor-wrap .toastui-editor-toolbar-divider{background-color:var(--border)}.rs-md-editor-wrap .toastui-editor-ww-container,.rs-notes-editor-wrap .toastui-editor-ww-container{background:var(--surface-input)}.rs-md-editor-wrap .toastui-editor-contents,.rs-notes-editor-wrap .toastui-editor-contents{font-family:"Space Grotesk","Segoe UI",sans-serif;font-size:14px;color:var(--ink);padding:16px 20px}.rs-md-editor-wrap .toastui-editor-contents p,.rs-notes-editor-wrap .toastui-editor-contents p{color:var(--ink)}.rs-md-editor-wrap .toastui-editor-contents h1,.rs-md-editor-wrap .toastui-editor-contents h2,.rs-md-editor-wrap .toastui-editor-contents h3,.rs-md-editor-wrap .toastui-editor-contents h4,.rs-notes-editor-wrap .toastui-editor-contents h1,.rs-notes-editor-wrap .toastui-editor-contents h2,.rs-notes-editor-wrap .toastui-editor-contents h3,.rs-notes-editor-wrap .toastui-editor-contents h4{color:var(--ink);border-bottom:none}.rs-md-editor-wrap .toastui-editor-contents a,.rs-notes-editor-wrap .toastui-editor-contents a{color:var(--accent)}.rs-md-editor-wrap .toastui-editor-contents blockquote,.rs-notes-editor-wrap .toastui-editor-contents blockquote{border-left:3px solid var(--accent);color:var(--muted)}.rs-md-editor-wrap .toastui-editor-contents pre,.rs-notes-editor-wrap .toastui-editor-contents pre{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px}.rs-md-editor-wrap .toastui-editor-contents code,.rs-notes-editor-wrap .toastui-editor-contents code{background:var(--surface-subtle);color:var(--accent);border-radius:3px}.rs-md-editor-wrap .toastui-editor-contents table,.rs-notes-editor-wrap .toastui-editor-contents table{border-color:var(--border)}.rs-md-editor-wrap .toastui-editor-contents td,.rs-md-editor-wrap .toastui-editor-contents th,.rs-notes-editor-wrap .toastui-editor-contents td,.rs-notes-editor-wrap .toastui-editor-contents th{border-color:var(--border);color:var(--ink)}.rs-md-editor-wrap .toastui-editor-contents th,.rs-notes-editor-wrap .toastui-editor-contents th{background:var(--surface-subtle)}.rs-md-editor-wrap .toastui-editor-contents hr,.rs-notes-editor-wrap .toastui-editor-contents hr{border-color:var(--border)}.rs-md-editor-wrap .ProseMirror .placeholder,.rs-md-editor-wrap .toastui-editor-contents .placeholder,.rs-notes-editor-wrap .ProseMirror .placeholder,.rs-notes-editor-wrap .toastui-editor-contents .placeholder{color:var(--muted)}.rs-md-editor-wrap .toastui-editor-popup,.rs-notes-editor-wrap .toastui-editor-popup{background:var(--card);border:1px solid var(--border);box-shadow:0 4px 12px var(--shadow-color)}.rs-md-editor-wrap .toastui-editor-ww-container::-webkit-scrollbar,.rs-notes-editor-wrap .toastui-editor-ww-container::-webkit-scrollbar{width:6px}.rs-md-editor-wrap .toastui-editor-ww-container::-webkit-scrollbar-track,.rs-notes-editor-wrap .toastui-editor-ww-container::-webkit-scrollbar-track{background:0 0}.rs-md-editor-wrap .toastui-editor-ww-container::-webkit-scrollbar-thumb,.rs-notes-editor-wrap .toastui-editor-ww-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.rs-md-editor-wrap .toastui-editor-contents ::selection,.rs-notes-editor-wrap .toastui-editor-contents ::selection{background:var(--surface-active)}.rs-md-editor-wrap .toastui-editor-contents .task-list-item::before,.rs-notes-editor-wrap .toastui-editor-contents .task-list-item::before{border-color:var(--border)}.rs-md-editor-wrap .toastui-editor-contents .task-list-item.checked::before,.rs-notes-editor-wrap .toastui-editor-contents .task-list-item.checked::before{background:var(--accent);border-color:var(--accent)}[data-theme=dark] .ndf-toastui .toastui-editor-toolbar-icons,[data-theme=dark] .rs-md-editor-wrap .toastui-editor-toolbar-icons,[data-theme=dark] .rs-notes-editor-wrap .toastui-editor-toolbar-icons{filter:invert(1) brightness(2.2);opacity:.92}[data-theme=dark] .ndf-toastui .toastui-editor-toolbar-icons:hover,[data-theme=dark] .rs-md-editor-wrap .toastui-editor-toolbar-icons:hover,[data-theme=dark] .rs-notes-editor-wrap .toastui-editor-toolbar-icons:hover{filter:invert(1) brightness(2.5);background-color:var(--surface-hover);opacity:1}[data-theme=dark] .ndf-toastui .toastui-editor-toolbar-icons.active,[data-theme=dark] .rs-md-editor-wrap .toastui-editor-toolbar-icons.active,[data-theme=dark] .rs-notes-editor-wrap .toastui-editor-toolbar-icons.active{filter:invert(1) brightness(2);opacity:1}.rs-save-status{font-size:11px;color:var(--muted);font-family:Consolas,monospace}.rs-notes-panel{flex:2;min-width:0;background:var(--card);display:flex;flex-direction:column;overflow:hidden}.rs-mob-notes-fab{display:none}.rs-chat-fab{display:none;align-items:center;gap:6px;position:absolute;bottom:16px;left:16px;z-index:50;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:10px 18px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 16px var(--accent-shadow);transition:all .2s ease}.rs-chat-fab:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-shadow)}.rs-chat-fab:active{transform:translateY(0)}.rs-chat-fab.hidden{display:none!important}.rs-notes-close-btn{display:none}.rs-notes-head{padding:7px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px;flex-shrink:0}.rs-notes-icon{color:var(--accent);font-size:12px}.rs-notes-head-label{font-size:11px;font-family:Consolas,monospace;color:var(--muted)}.rs-notes-info{padding:14px 16px;border-bottom:1px solid var(--surface-subtle);flex-shrink:0}.rs-notes-info-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rs-notes-num{font-family:Consolas,monospace;font-size:12px;font-weight:700}.rs-notes-title{font-size:13px;font-weight:600;color:var(--ink)}.rs-notes-tags{display:flex;flex-wrap:wrap;gap:4px}.rs-tag{font-size:10px;color:var(--muted);background:var(--surface-subtle);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-family:Consolas,monospace}.rs-notes-check{margin-top:12px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px}.rs-notes-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.rs-notes-tabs{display:flex;gap:2px;flex:1}.rs-notes-tab{display:flex;align-items:center;gap:5px;padding:5px 12px;border:none;background:0 0;color:var(--muted);font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;border-radius:6px;transition:all .15s;white-space:nowrap}.rs-notes-tab:hover{background:var(--surface-hover);color:var(--fg)}.rs-notes-tab.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.rs-notes-tab svg{flex-shrink:0}.rs-tab-content{display:none;flex-direction:column;flex:1;overflow:hidden;min-height:0}.rs-tab-content.active{display:flex}.rs-tab-notes{flex:1}.rs-tab-chat{flex:1}.rs-chapter-row-mob{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:52px;background:var(--card,var(--sidebar-bg));border:1px solid var(--border);border-radius:10px;margin-bottom:6px;margin-left:0;touch-action:manipulation;cursor:default}.rs-chapter-row-mob .rs-ch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.rs-chapter-row-mob .rs-ch-num{font-size:10px;font-weight:700;opacity:.7;letter-spacing:.5px}.rs-chapter-row-mob .rs-ch-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-chapter-row-mob .rs-ch-title.done{text-decoration:line-through;opacity:.55}.rs-chapter-row-mob.rs-match{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.rs-ch-open-btn{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:5px 10px;border:1px solid var(--accent);border-radius:6px;background:0 0;color:var(--accent);font-size:11px;font-weight:600;cursor:pointer;touch-action:manipulation;white-space:nowrap;transition:background .15s,color .15s;-webkit-tap-highlight-color:rgba(0,0,0,0.1)}.rs-ch-open-btn:active,.rs-ch-open-btn:hover{background:var(--accent);color:var(--bg)}.rs-ch-open-label{font-size:11px}@media (max-width:900px){.rs-ch-open-btn{padding:7px 12px;font-size:12px;border-radius:8px;min-height:36px}.rs-ch-open-label{font-size:12px}}#rsMobChapterView{flex:1;overflow:hidden;display:flex;flex-direction:column;background:var(--bg)}#rsMobChapterContent{flex:1;overflow-y:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.rs-mob-ch-info{padding:16px 20px 10px;border-bottom:1px solid var(--border);display:flex;align-items:baseline;gap:8px;flex-shrink:0;background:var(--card)}.rs-mob-ch-num{font-family:Consolas,monospace;font-size:11px;font-weight:700;flex-shrink:0}.rs-mob-ch-title{font-size:14px;font-weight:700;color:var(--ink);line-height:1.4}.rs-mob-ch-tags{padding:8px 20px;flex-shrink:0;display:flex;flex-wrap:wrap;gap:4px;background:var(--card);border-bottom:1px solid var(--border)}.rs-mob-ch-body{flex:1;padding:16px 20px 20px;overflow-y:auto;font-size:14px;line-height:1.75;color:var(--ink);-webkit-overflow-scrolling:touch}.rs-mob-ch-body h1{font-size:20px;font-weight:700;margin:16px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border);color:var(--ink)}.rs-mob-ch-body h2{font-size:17px;font-weight:700;margin:14px 0 6px;color:var(--ink)}.rs-mob-ch-body h3{font-size:15px;font-weight:600;margin:12px 0 5px;color:var(--ink)}.rs-mob-ch-body h4,.rs-mob-ch-body h5,.rs-mob-ch-body h6{font-size:14px;font-weight:600;margin:10px 0 4px;color:var(--ink)}.rs-mob-ch-body p{margin:0 0 10px}.rs-mob-ch-body ol,.rs-mob-ch-body ul{margin:6px 0 10px;padding-left:22px}.rs-mob-ch-body li{margin:3px 0}.rs-mob-ch-body blockquote{margin:8px 0;padding:8px 14px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface-subtle));border-radius:0 6px 6px 0;color:var(--muted);font-style:italic}.rs-mob-ch-body pre{margin:8px 0;padding:10px 14px;border-radius:8px;background:var(--surface-subtle);overflow-x:auto;font-size:12px}.rs-mob-ch-body code{font-family:Consolas,"Fira Code",monospace;font-size:12px;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-subtle))}.rs-mob-ch-body pre code{padding:0;background:0 0}.rs-mob-ch-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.rs-mob-ch-body table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px;overflow-x:auto;display:block}.rs-mob-ch-body td,.rs-mob-ch-body th{padding:6px 10px;border:1px solid var(--border);text-align:left}.rs-mob-ch-body th{background:var(--surface-subtle);font-weight:600}.rs-mob-ch-body hr{border:none;border-top:1px solid var(--border);margin:14px 0}.rs-mob-ch-empty{color:var(--muted);text-align:center;padding:40px 20px;font-size:13px}.rs-mob-ch-nav{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--card);gap:8px}.rs-mob-ch-nav-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--ink);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;min-height:40px;transition:background .15s,border-color .15s}.rs-mob-ch-nav-btn:hover{background:var(--surface-active);border-color:var(--accent)}.rs-mob-ch-nav-btn.disabled{opacity:.4;cursor:default;pointer-events:none}.rs-mob-ch-nav-pos{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.rs-ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.rs-ai-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px;flex:1;gap:10px}.rs-ai-welcome-icon{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,transparent);display:flex;align-items:center;justify-content:center;animation:rs-ai-welcome-pulse 2s ease-in-out infinite}@keyframes rs-ai-welcome-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 20%,transparent)}50%{transform:scale(1.05);box-shadow:0 0 20px 4px color-mix(in srgb,var(--accent) 15%,transparent)}}.rs-ai-welcome-title{font-size:16px;font-weight:700;color:var(--ink);margin-top:4px}.rs-ai-welcome-desc{font-size:12px;color:var(--muted);line-height:1.6;max-width:280px}.rs-ai-suggestions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}.rs-ai-suggest{padding:6px 12px;font-size:11px;font-family:inherit;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:20px;background:color-mix(in srgb,var(--accent) 5%,var(--card));color:var(--accent);cursor:pointer;transition:all .15s;font-weight:500}.rs-ai-suggest:hover{background:color-mix(in srgb,var(--accent) 15%,var(--card));border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 20%,transparent)}.rs-ai-bubble{border-radius:12px;padding:10px 14px;max-width:92%;animation:rs-ai-slide-in .3s ease-out both;word-break:break-word}.rs-ai-bubble.rs-ai-new{animation:rs-ai-pop-in .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes rs-ai-slide-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rs-ai-pop-in{from{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:none}}.rs-ai-bubble-user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.rs-ai-bubble-ai{align-self:flex-start;background:color-mix(in srgb,var(--accent) 8%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));border-bottom-left-radius:4px;color:var(--ink)}.rs-ai-bubble-ai.rs-ai-streaming{border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 15%,transparent)}.rs-ai-msg-head{display:flex;align-items:center;gap:5px;margin-bottom:4px;font-size:10px;font-weight:600;opacity:.7}.rs-ai-bubble-user .rs-ai-msg-head{opacity:.85}.rs-ai-msg-sender{text-transform:uppercase;letter-spacing:.04em}.rs-ai-msg-time{margin-left:auto;font-size:9px;font-weight:400}.rs-ai-avatar{flex-shrink:0}.rs-ai-streaming-badge{font-size:9px;font-weight:700;color:var(--accent);animation:rs-ai-badge-pulse 1s ease-in-out infinite}@keyframes rs-ai-badge-pulse{0%,100%{opacity:1}50%{opacity:.4}}.rs-ai-msg-body{font-size:12.5px;line-height:1.65}.rs-ai-bubble-user .rs-ai-msg-body{font-size:12.5px}.rs-ai-msg-body .toastui-editor-contents{font-size:12.5px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:0}.rs-ai-msg-body .toastui-editor-contents p{font-size:12.5px;margin:4px 0;line-height:1.65}.rs-ai-msg-body .toastui-editor-contents h1{font-size:16px;margin:8px 0 4px;border-bottom:1px solid color-mix(in srgb,var(--accent) 20%,transparent);padding-bottom:4px}.rs-ai-msg-body .toastui-editor-contents h2{font-size:14px;margin:6px 0 3px}.rs-ai-msg-body .toastui-editor-contents h3{font-size:13px;margin:5px 0 2px}.rs-ai-msg-body .toastui-editor-contents ol,.rs-ai-msg-body .toastui-editor-contents ul{margin:4px 0;padding-left:20px}.rs-ai-msg-body .toastui-editor-contents li{margin:2px 0;font-size:12.5px}.rs-ai-msg-body .toastui-editor-contents blockquote{margin:6px 0;padding:6px 12px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:0 4px 4px 0;font-style:italic;color:var(--muted)}.rs-ai-msg-body .toastui-editor-contents code{font-family:"Cascadia Code",Consolas,monospace;font-size:11px;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-input))}.rs-ai-bubble-user .rs-ai-msg-body .toastui-editor-contents code{background:rgba(255,255,255,.15)}.rs-ai-msg-body .toastui-editor-contents pre{background:var(--surface-input);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:6px 0;overflow-x:auto;font-size:11px;font-family:"Cascadia Code",Consolas,monospace;line-height:1.5}.rs-ai-msg-body .toastui-editor-contents pre code{padding:0;background:0 0;font-size:11px}.rs-ai-msg-body .toastui-editor-contents hr{border:none;border-top:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));margin:8px 0}.rs-ai-msg-body .toastui-editor-contents table{border-collapse:collapse;margin:6px 0;width:100%;font-size:11.5px}.rs-ai-msg-body .toastui-editor-contents td,.rs-ai-msg-body .toastui-editor-contents th{border:1px solid var(--border);padding:4px 8px;text-align:left}.rs-ai-msg-body .toastui-editor-contents th{background:color-mix(in srgb,var(--accent) 8%,var(--card));font-weight:600}.rs-ai-msg-body .toastui-editor-contents strong{font-weight:600}.rs-ai-msg-body .toastui-editor-contents a{color:var(--accent);text-decoration:underline}[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents h1,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents h2,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents h3,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents h4,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents h5,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents h6,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents li,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents p,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents td,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents th{color:var(--ink)}[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents pre,[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents pre code{color:var(--ink)}[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents pre{background:rgba(0,0,0,.25)}[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents code{background:rgba(255,255,255,.08);color:var(--ink)}[data-theme=dark] .rs-ai-msg-body .toastui-editor-contents blockquote{background:rgba(255,255,255,.04)}.rs-ai-msg-meta{margin-top:6px;padding-top:5px;border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);font-size:9.5px;color:var(--muted);opacity:.65;letter-spacing:.02em}.rs-ai-thinking{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-style:italic}.rs-ai-thinking-dots{display:flex;gap:3px}.rs-ai-thinking-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:rs-ai-dot-bounce .6s ease-in-out infinite}.rs-ai-thinking-dots span:nth-child(2){animation-delay:.15s}.rs-ai-thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes rs-ai-dot-bounce{0%,100%,80%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.rs-ai-streaming::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:rs-ai-stream-line 1.5s ease-in-out infinite}.rs-ai-streaming{position:relative;overflow:hidden}@keyframes rs-ai-stream-line{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.rs-ai-stop-wrap{display:flex;justify-content:center;padding:4px 0}.rs-ai-stop-btn{display:flex;align-items:center;gap:5px;padding:5px 14px;border:1px solid var(--danger);border-radius:20px;background:color-mix(in srgb,var(--danger) 8%,var(--card));color:var(--danger);font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.rs-ai-stop-btn:hover{background:color-mix(in srgb,var(--danger) 18%,var(--card));transform:scale(1.02)}.rs-ai-input-area{border-top:1px solid var(--border);padding:10px 12px 8px;flex-shrink:0;background:var(--card)}.rs-ai-input-wrap{display:flex;align-items:flex-end;gap:8px;background:var(--surface-input);border:1px solid var(--border);border-radius:12px;padding:6px 6px 6px 8px;transition:border-color .15s,box-shadow .15s}.rs-ai-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.rs-ai-input-area.rs-drag-over .rs-ai-input-wrap{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent);background:color-mix(in srgb,var(--accent) 5%,var(--surface-input))}.rs-ai-attach-btn{width:28px;height:28px;border-radius:8px;border:none;background:0 0;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;padding:0}.rs-ai-attach-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.rs-ai-attach-btn.has-images{color:var(--accent)}.rs-ai-img-strip{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 8px;overflow-x:auto}.rs-ai-img-thumb{position:relative;width:56px;height:56px;border-radius:8px;overflow:hidden;border:1.5px solid var(--border);flex-shrink:0;background:var(--surface-input)}.rs-ai-img-thumb img{width:100%;height:100%;object-fit:cover;display:block}.rs-ai-img-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;border:none;background:rgba(0,0,0,.65);color:#fff;font-size:10px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-weight:700;transition:background .1s}.rs-ai-img-remove:hover{background:rgba(220,38,38,.9)}.rs-ai-img-thumb-count{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:9px;color:#fff;background:rgba(0,0,0,.45);padding:1px 0}.rs-ai-msg-images{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.rs-ai-msg-img{max-width:120px;max-height:100px;border-radius:6px;object-fit:cover;cursor:pointer;border:1px solid rgba(255,255,255,.2);transition:opacity .15s}.rs-ai-msg-img:hover{opacity:.85}.rs-ai-input{flex:1;border:none;background:0 0;color:var(--ink);font-size:12.5px;font-family:inherit;line-height:1.5;resize:none;outline:0;min-height:20px;max-height:120px}.rs-ai-input::placeholder{color:var(--muted)}.rs-ai-send-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.rs-ai-send-btn:hover{filter:brightness(1.1);transform:scale(1.05)}.rs-ai-send-btn:active{transform:scale(.95)}.rs-ai-hint{text-align:center;font-size:9.5px;color:var(--muted);margin-top:4px;opacity:.6}.rs-ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:2px 0 6px;flex-shrink:0}.rs-ai-chat-count{font-size:10px;color:var(--muted);font-weight:500}.rs-ai-clear-btn{display:flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:6px;background:0 0;color:var(--muted);font-size:10px;font-family:inherit;cursor:pointer;transition:all .15s}.rs-ai-clear-btn:hover{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.rs-tree-search{padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.rs-tree-search-box{display:flex;align-items:center;gap:8px;background:var(--surface-input);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.rs-tree-search-box:focus-within{border-color:var(--accent)}.rs-tree-search-box svg{color:var(--muted);flex-shrink:0}.rs-tree-search-input{flex:1;background:0 0;border:none;outline:0;color:var(--ink);font-size:12px;font-family:"Space Grotesk","Segoe UI",sans-serif}.rs-tree-search-input::placeholder{color:var(--muted)}.rs-tree-search-clear{cursor:pointer;color:var(--muted);font-size:12px;line-height:1}.rs-tree-search-clear:hover{color:var(--ink)}.rs-topic-modal-card{width:75vw;max-width:900px;height:75vh;display:flex;flex-direction:column;padding:24px 28px}.rs-topic-modal-card h3{flex-shrink:0;margin:0 0 16px}.rs-input-error{border-color:var(--danger)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 20%,transparent)!important}.rs-topic-modal-card .modal-fields{flex:1;min-height:0;overflow-y:auto;margin-bottom:16px;padding-right:6px;gap:12px}.rs-topic-modal-card .modal-fields::-webkit-scrollbar{width:5px}.rs-topic-modal-card .modal-fields::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.rs-topic-modal-card .modal-actions{flex-shrink:0}.rs-topic-modal-card .config-field input,.rs-topic-modal-card .config-field select,.rs-topic-modal-card .config-field textarea{width:100%}.rs-import-modal-card{width:65vw;max-width:750px;height:70vh;display:flex;flex-direction:column;padding:24px 28px}.rs-import-modal-card h3{margin:0 0 4px}.rs-import-hint{font-size:12px;color:var(--muted);margin:0 0 12px;line-height:1.5}.rs-import-textarea{flex:1;min-height:120px;width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-family:Consolas,monospace;font-size:12px;line-height:1.6;resize:none;outline:0}.rs-import-textarea:focus{border-color:var(--accent)}.rs-import-preview{margin-top:10px;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:11px;background:var(--card)}.rs-import-preview::-webkit-scrollbar{width:4px}.rs-import-preview::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.rs-import-preview-title{margin-bottom:8px;line-height:1.5}.rs-import-preview-title strong{color:var(--fg);font-size:13px}.rs-import-sub{color:var(--muted);font-size:11px}.rs-import-part{display:flex;align-items:center;gap:8px;padding:4px 0;margin-top:6px;border-top:1px solid var(--border)}.rs-import-part-label{font-weight:600;color:var(--fg)}.rs-import-count{font-size:10px;color:var(--muted);margin-left:auto}.rs-import-ch{display:flex;align-items:baseline;gap:6px;padding:2px 0 2px 12px;color:var(--muted)}.rs-import-ch-num{color:var(--accent);font-weight:600;min-width:28px}.rs-import-tags{font-size:10px;color:var(--accent);opacity:.7;margin-left:auto}.rs-import-part-desc{font-size:10px;color:var(--muted);font-style:italic;padding:1px 0 3px 12px;line-height:1.3}.rs-import-ch-desc{font-size:10px;color:var(--muted);font-style:italic;padding:0 0 2px 46px;line-height:1.3}.rs-import-summary{margin-top:8px;padding-top:6px;border-top:1px solid var(--border);font-size:11px;font-weight:600;color:var(--accent)}.rs-import-empty{text-align:center;padding:16px;color:var(--muted);font-style:italic}.rs-import-modal-card .modal-actions{flex-shrink:0;margin-top:12px}.rs-icon-picker-wrap{position:relative}.rs-icon-btn{width:52px;height:52px;font-size:26px;line-height:1;border:2px solid var(--border);border-radius:10px;background:var(--surface-input);cursor:pointer;display:flex;align-items:center;justify-content:center}.rs-icon-btn:hover{border-color:var(--accent);background:var(--surface-hover)}.rs-icon-picker{display:none;position:absolute;top:58px;left:0;width:320px;max-height:340px;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.25);padding:10px;z-index:1000}.rs-icon-picker.open{display:block}.rs-icon-search{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-input);color:var(--ink);font-size:12px;margin-bottom:8px;outline:0;box-sizing:border-box}.rs-icon-search:focus{border-color:var(--accent)}.rs-icon-cat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:8px 0 4px 2px}.rs-icon-cat-label:first-of-type{margin-top:0}.rs-icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.rs-icon-opt{width:34px;height:34px;font-size:18px;line-height:1;border:none;border-radius:8px;background:0 0;cursor:pointer;display:flex;align-items:center;justify-content:center}.rs-icon-opt:hover{background:var(--surface-active);transform:scale(1.2)}.rs-icon-picker::-webkit-scrollbar{width:6px}.rs-icon-picker::-webkit-scrollbar-track{background:0 0}.rs-icon-picker::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.rs-parts-builder{margin-top:4px}.rs-parts-builder-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rs-parts-builder-head label{font-size:12px;font-weight:600;color:var(--ink)}.rs-parts-add-btn{background:var(--surface-subtle);border:1px dashed var(--border);border-radius:6px;padding:3px 10px;font-size:11px;color:var(--accent);cursor:pointer;font-weight:600}.rs-parts-add-btn:hover{background:var(--surface-hover)}.rs-part-block{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px}.rs-part-block-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.rs-part-block-head input{flex:1;background:var(--surface-input);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:12px;color:var(--ink);outline:0}.rs-part-block-head input:focus{border-color:var(--accent)}.rs-part-desc-toggle{background:0 0;border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:10px;color:var(--muted);cursor:pointer;white-space:nowrap}.rs-part-desc-toggle:hover{color:var(--accent);border-color:var(--accent)}.rs-part-desc-input{width:100%;background:var(--surface-input);border:1px solid var(--border);border-radius:5px;padding:6px 8px;font-size:11px;color:var(--muted);font-style:italic;resize:vertical;outline:0;margin-bottom:4px;box-sizing:border-box}.rs-part-desc-input:focus{border-color:var(--accent);color:var(--ink)}.rs-part-desc-input.hidden{display:none}.rs-ch-remove-btn,.rs-part-remove-btn{background:0 0;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;line-height:1}.rs-ch-remove-btn:hover,.rs-part-remove-btn:hover{color:var(--danger);background:var(--surface-hover)}.rs-ch-list{padding-left:16px}.rs-ch-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.rs-ch-row input{background:var(--surface-input);border:1px solid var(--border);border-radius:5px;padding:4px 7px;font-size:11px;color:var(--ink);outline:0}.rs-ch-row input:focus{border-color:var(--accent)}.rs-ch-row .rs-ch-num-input{width:48px;text-align:center;flex-shrink:0}.rs-ch-row .rs-ch-title-input{flex:2;min-width:0}.rs-ch-row .rs-ch-tags-input{flex:1;min-width:70px}.rs-ch-row .rs-ch-desc-input{flex:2;min-width:0;font-style:italic;color:var(--muted)}.rs-add-ch-btn{background:0 0;border:1px dashed var(--border);border-radius:5px;padding:3px 8px;font-size:10px;color:var(--muted);cursor:pointer;margin-top:4px;margin-left:16px}.rs-add-ch-btn:hover{color:var(--accent);border-color:var(--accent)}.rs-sidebar-actions{display:flex;gap:6px;margin-top:4px}.rs-add-topic-btn{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;background:var(--surface-subtle);border:1px dashed var(--border);border-radius:8px;padding:10px;font-size:12px;color:var(--muted);cursor:pointer;font-weight:500}.rs-prompt-prep-btn{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;background:var(--surface-subtle);border:1px dashed var(--border);border-radius:8px;padding:10px;font-size:12px;color:var(--muted);cursor:pointer;font-weight:500}.rs-prompt-prep-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--surface-hover)}.rs-prompt-prep-card{max-width:560px;width:90vw}.rs-prompt-prep-card h3{margin:0 0 4px 0;font-size:15px}.rs-prompt-prep-hint{font-size:12px;color:var(--muted);margin:0 0 10px 0}.rs-prompt-prep-textarea{width:100%;min-height:260px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;padding:10px;font-family:var(--mono,monospace);font-size:12px;color:var(--ink);resize:vertical;line-height:1.6}.rs-prompt-prep-textarea:focus{outline:0;border-color:var(--accent)}.rs-prompt-prep-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.rs-btn-copy-prompt{display:flex;align-items:center;gap:5px;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer}.rs-btn-copy-prompt:hover{filter:brightness(1.1)}.rs-btn-copy-prompt.copied{background:var(--success,#22c55e)}.rs-btn-close-prompt{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;padding:7px 14px;font-size:12px;color:var(--muted);cursor:pointer}.rs-btn-close-prompt:hover{color:var(--ink);border-color:var(--muted)}:root{--wf-edge:#999;--wf-text:var(--ink);--wf-gold:#c9a84c;--wf-gold-dim:#9e8335;--wf-gold-bg:rgba(201,168,76,0.08);--wf-gold-glow:rgba(201,168,76,0.20);--wf-card-bg:var(--surface-input);--wf-card-border:var(--border);--wf-grid-dot:#aaa}[data-theme=dark]{--wf-edge:#555;--wf-text:var(--ink);--wf-grid-dot:#27273a}.wf-view{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.wf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--muted)}.wf-empty-icon{font-size:56px;opacity:.2}.wf-empty-text{font-size:15px}.wf-empty-rows{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--muted);text-align:center}.wf-empty-rows-icon{font-size:40px;opacity:.2;margin-bottom:8px}.wf-empty-rows p{margin:4px 0;font-size:14px}.wf-empty-rows-sub{font-size:12px;opacity:.6}.wf-layout{display:flex;height:100%;overflow:hidden}.wf-config-panel{width:420px;min-width:320px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.wf-templates-panel{width:220px;min-width:180px;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.wf-config-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.wf-config-title{font-size:16px;font-weight:700;margin:0;color:var(--ink)}.wf-config-count{font-size:11px;color:var(--muted);background:var(--surface-hover);padding:2px 10px;border-radius:10px;font-weight:500}.wf-config-toolbar{display:flex;gap:6px;padding:8px 16px;border-bottom:1px solid var(--border)}.wf-btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--ink);font-size:13px;cursor:pointer;transition:all .12s}.wf-btn:hover{background:var(--surface-hover)}.wf-btn-gold{border-color:var(--wf-gold);color:var(--wf-gold)}.wf-btn-gold:hover{background:var(--wf-gold-bg)}.wf-btn-subtle{padding:6px 10px;color:var(--muted);font-size:15px}.wf-btn-subtle:hover{color:var(--ink)}.wf-rows-list{flex:1;overflow-y:auto;padding:8px 12px;scroll-behavior:smooth}.wf-drop-zone{height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;border:2px dashed transparent;border-radius:8px;margin:2px 0;font-size:11px;color:var(--muted);transition:all .15s;opacity:0}.wf-drop-zone.wf-drop-zone-visible,.wf-is-dragging .wf-drop-zone{height:36px;border-color:var(--border);opacity:1}.wf-drop-zone.wf-drag-over{border-color:var(--wf-gold)!important;background:var(--wf-gold-bg)!important;color:var(--wf-gold)!important;box-shadow:0 0 12px var(--wf-gold-glow)}.wf-drop-zone span{pointer-events:none}.wf-add-between{display:flex;justify-content:center;padding:3px 0;position:relative}.wf-add-between-btn{width:24px;height:24px;border:1.5px solid var(--wf-gold);border-radius:50%;background:var(--wf-gold-bg);color:var(--wf-gold);cursor:pointer;font-size:14px;line-height:1;opacity:0;transition:all .15s;box-shadow:0 0 12px var(--wf-gold-glow);display:flex;align-items:center;justify-content:center}.wf-add-between:hover .wf-add-between-btn{opacity:1}.wf-add-between-btn:hover{background:var(--wf-gold);color:var(--bg);transform:scale(1.1)}.wf-is-dragging .wf-add-between{display:none}.wf-quick-add-popup{position:absolute;top:100%;left:50%;transform:translateX(-50%);z-index:20;width:320px;background:var(--surface-input);border:1px solid rgba(201,168,76,.4);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.5);padding:12px;animation:wfFadeDown .12s ease}.wf-quick-add-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wf-quick-add-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;transition:all .12s}.wf-quick-add-item:hover{border-color:var(--wf-gold);background:var(--wf-gold-bg);box-shadow:0 0 8px var(--wf-gold-glow)}.wf-quick-add-icon{font-size:20px}.wf-quick-add-label{font-size:11px;font-weight:600;color:var(--ink)}@keyframes wfFadeDown{from{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes wfFadeIn{from{opacity:0}to{opacity:1}}.wf-row-card{border:1px solid var(--wf-card-border);border-radius:10px;background:var(--wf-card-bg);margin-bottom:2px;transition:all .15s}.wf-row-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.wf-row-card.wf-dragging{opacity:.4}.wf-row-card.wf-row-selected{border-color:var(--wf-gold);box-shadow:0 0 0 1px rgba(201,168,76,.2)}.wf-row-header{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--border)}.wf-row-drag-handle{cursor:grab;color:var(--muted);font-size:14px;user-select:none;opacity:.5;transition:opacity .15s}.wf-row-card:hover .wf-row-drag-handle{opacity:1}.wf-row-number{font-size:10px;font-weight:700;color:var(--muted);background:var(--surface-hover);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wf-row-label-input{flex:1;border:none;background:0 0;color:var(--ink);font-size:13px;font-weight:600;outline:0;padding:2px 4px;border-radius:4px;min-width:0}.wf-row-label-input:focus{background:var(--surface-hover)}.wf-row-actions{display:flex;gap:3px;flex-shrink:0}.wf-row-actions button{padding:2px 7px;border:1px solid var(--border);border-radius:4px;background:0 0;color:var(--muted);font-size:12px;cursor:pointer;transition:all .12s}.wf-row-actions button:hover{background:var(--surface-hover);color:var(--ink)}.wf-row-actions button:disabled{opacity:.3;cursor:default}.wf-row-del:hover{color:var(--danger)!important;border-color:var(--danger)!important}.wf-row-move{font-size:13px!important}.wf-row-cols{display:flex;gap:6px;padding:8px 10px;flex-wrap:wrap}.wf-col-empty{flex:1;text-align:center;color:var(--muted);font-size:12px;padding:12px;border:1px dashed var(--border);border-radius:6px}.wf-col-card{flex:1;min-width:110px;border:1px solid var(--border);border-radius:8px;background:var(--bg);overflow:hidden;cursor:pointer;transition:all .12s}.wf-col-card:hover{border-color:var(--wf-gold-dim)}.wf-col-card.wf-col-selected{border-color:var(--wf-gold);box-shadow:0 0 0 1px rgba(201,168,76,.25)}.wf-col-header{display:flex;align-items:center;justify-content:space-between;padding:5px 8px}.wf-node-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;border:1px solid;white-space:nowrap}.wf-col-del{border:none;background:0 0;color:var(--muted);cursor:pointer;font-size:14px;padding:0 2px;opacity:0;transition:opacity .12s}.wf-col-card:hover .wf-col-del{opacity:1}.wf-col-del:hover{color:var(--danger)}.wf-col-del:disabled{display:none}.wf-col-body{padding:4px 8px 6px}.wf-col-expanded{animation:wfFadeDown .12s ease}.wf-col-type-select{display:block;width:100%;border:1px solid var(--border);background:var(--surface-input);color:var(--ink);font-size:12px;cursor:pointer;outline:0;padding:3px 4px;border-radius:4px;margin-bottom:4px}.wf-col-label{display:block;width:100%;border:none;background:0 0;color:var(--ink);font-size:13px;font-weight:600;padding:4px 0 2px;outline:0;box-sizing:border-box}.wf-col-label:focus{background:var(--surface-hover);border-radius:3px}.wf-col-desc{display:block;width:100%;border:none;background:0 0;color:var(--muted);font-size:11px;padding:2px 0 2px;outline:0;resize:none;box-sizing:border-box}.wf-col-desc:focus{background:var(--surface-hover);color:var(--ink);border-radius:3px}.wf-diagram-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--muted);gap:6px;flex-wrap:wrap}.wf-toolbar-center,.wf-toolbar-left,.wf-toolbar-right{display:flex;align-items:center;gap:5px}.wf-toolbar-center{gap:3px}.wf-toolbar-sep{width:1px;height:18px;background:var(--border);margin:0 3px}.wf-toolbar-btn{padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:0 0;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .12s;line-height:1.2;min-width:26px;text-align:center}.wf-toolbar-btn:hover{border-color:var(--wf-gold);color:var(--wf-gold);background:rgba(201,168,76,.06)}.wf-toolbar-btn.active{border-color:var(--wf-gold);color:var(--wf-gold);background:rgba(201,168,76,.12)}.wf-zoom-display{font-size:10px;font-weight:700;color:var(--muted);min-width:38px;text-align:center;user-select:none}.wf-diagram-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);position:relative}.wf-diagram-hint{font-size:11px;font-weight:400;color:var(--wf-gold-dim)}.wf-diagram-canvas{flex:1;overflow:hidden;position:relative;padding:0}.wf-diagram-canvas svg{width:100%;height:100%;display:block}.wf-diagram-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:var(--muted);font-size:14px;gap:8px}.wf-diagram-empty-icon{font-size:40px;opacity:.15}.wf-panning,.wf-panning *{cursor:grabbing!important}.wf-space-pan{cursor:grab}.wf-space-pan .wf-svg-node{cursor:grab}.wf-svg-node{transition:opacity .15s,filter .15s}.wf-svg-node:hover{opacity:.85;filter:brightness(1.12)}.wf-node-group:hover .wf-svg-node{opacity:.85;filter:brightness(1.12)}.wf-port{opacity:0;transition:opacity .15s,r .12s;pointer-events:none}.wf-node-group:hover .wf-port{opacity:.7;pointer-events:all;cursor:crosshair}.wf-connect-mode .wf-port{opacity:.35;pointer-events:all;cursor:crosshair}.wf-connect-mode .wf-node-group:hover .wf-port{opacity:.9}.wf-port:hover{opacity:1!important}.wf-port-dragging .wf-port{opacity:.35;pointer-events:all;cursor:crosshair}.wf-port-dragging .wf-node-group:hover .wf-port{opacity:.9;r:7}.wf-port-dragging .wf-node-group .wf-port-target-hover{opacity:1;r:8;fill:#c9a84c!important;filter:drop-shadow(0 0 4px rgba(201,168,76,.6))}#wfRubberBand{pointer-events:none}.wf-node-dragging{cursor:grabbing!important}.wf-node-dragging .wf-svg-node{cursor:grabbing!important}.wf-node-dragging .wf-node-group{cursor:grabbing!important}.wf-pin-indicator{pointer-events:none;filter:drop-shadow(0 0 3px rgba(245,158,11,.5))}.wf-ep-handle{transition:r .12s,opacity .12s;filter:drop-shadow(0 0 3px rgba(201,168,76,.5))}.wf-ep-handle:hover{r:8!important;filter:drop-shadow(0 0 6px rgba(201,168,76,.8))}.wf-edge-selected{filter:drop-shadow(0 0 4px rgba(201,168,76,.4))}.wf-svg-node.wf-node-target-hover{filter:brightness(1.2) drop-shadow(0 0 6px rgba(201,168,76,.6))!important;opacity:.95!important}.wf-edge-label-editor{position:absolute;z-index:50;display:flex;align-items:center;gap:4px;transform:translate(-50%,-50%);animation:wfEdgeLabelFadeIn .15s ease-out}@keyframes wfEdgeLabelFadeIn{from{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.wf-edge-label-input{width:160px;padding:4px 8px;font-size:12px;font-family:inherit;border:2px solid #c9a84c;border-radius:6px;background:var(--bg);color:var(--fg);outline:0;box-shadow:0 2px 12px rgba(0,0,0,.18)}.wf-edge-label-input:focus{border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,.2),0 2px 12px rgba(0,0,0,.18)}[data-theme=dark] .wf-edge-label-input{background:#1e1e1e;box-shadow:0 2px 12px rgba(0,0,0,.4)}@keyframes wfEdgeFlow{0%{stroke-dashoffset:0}100%{stroke-dashoffset:-18}}.wf-edge-animated[stroke-dasharray]{animation:wfEdgeFlow 1s linear infinite}.wf-minimap{position:absolute;bottom:12px;right:12px;border:1px solid var(--border);border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:crosshair;z-index:10}.wf-minimap.wf-hidden{display:none}.wf-fullscreen{position:fixed!important;inset:0!important;z-index:9999!important;width:100vw!important;height:100vh!important;border-radius:0!important;border:none!important}.wf-canvas-drag-over{background:rgba(201,168,76,.03)!important;outline:2px dashed rgba(201,168,76,.25);outline-offset:-2px;border-radius:8px}.wf-edge-mode-toggle{display:flex;background:var(--border);border-radius:5px;overflow:hidden}.wf-edge-mode-btn{padding:3px 10px;border:none;background:0 0;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.wf-edge-mode-btn.active{background:var(--wf-gold);color:#000}.wf-edge-mode-btn:hover:not(.active){color:var(--ink)}.wf-btn-connect{padding:3px 10px;border:1px solid var(--border);border-radius:5px;background:0 0;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.wf-btn-connect:hover{border-color:var(--wf-gold);color:var(--wf-gold)}.wf-btn-connect.active{border-color:#f59e0b;background:rgba(245,158,11,.12);color:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.2)}.wf-edge-count{font-size:10px;color:var(--muted);background:var(--border);padding:2px 7px;border-radius:8px}.wf-connect-mode{cursor:crosshair}.wf-connect-mode .wf-svg-node{cursor:crosshair}@keyframes wfConnectPulse{0%,100%{opacity:.5}50%{opacity:.15}}.wf-connect-pulse{animation:wfConnectPulse 1.2s ease-in-out infinite}.wf-custom-edge{cursor:pointer}.wf-custom-edge:hover{opacity:.95!important;stroke-width:3!important}.wf-edge-hit:hover{stroke:rgba(245,158,11,0.15)!important}.wf-wp-handle{filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.wf-wp-add:hover{opacity:1!important}.wf-dragging-wp{cursor:grabbing!important;user-select:none}.wf-dragging-wp *{cursor:grabbing!important}.wf-diagram-canvas.wf-snap-active{background-image:radial-gradient(circle,rgba(245,158,11,.08) 1px,transparent 1px);background-size:14px 14px}@media (max-width:768px){.wf-layout{flex-direction:column}.wf-config-panel{width:100%;min-width:0;border-right:none;border-bottom:1px solid var(--border);max-height:60vh}.wf-templates-panel{display:none}.wf-diagram-panel{min-height:40vh}.wf-config-toolbar{flex-wrap:wrap}.wf-row-actions{gap:2px}.wf-row-actions button{padding:2px 5px}.wf-quick-add-popup{width:min(280px,90vw)}.wf-quick-add-grid{grid-template-columns:repeat(2,1fr);gap:6px}.wf-minimap{display:none}.wf-diagram-header{flex-wrap:wrap;padding:4px 8px}.wf-toolbar-btn{padding:3px 6px;font-size:10px}}@media (max-width:480px){.wf-config-panel{max-height:none}.wf-config-header{padding:8px 12px}.wf-config-title{font-size:14px}.wf-row-header{padding:6px 8px}.wf-row-cols{padding:6px 8px}.wf-col-card{min-width:90px}.wf-btn{padding:5px 10px;font-size:12px}}.wf-edges-section{border-top:1px solid var(--border);padding:8px 0}.wf-edges-header{padding:6px 14px;font-size:11px;font-weight:600;color:var(--wf-gold);text-transform:uppercase;letter-spacing:.5px}.wf-edges-list{padding:0 8px}.wf-edge-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:5px;font-size:12px;color:var(--ink);cursor:pointer;transition:background .12s}.wf-edge-item:hover{background:color-mix(in srgb,var(--wf-gold) 6%,transparent)}.wf-edge-item.selected{background:color-mix(in srgb,var(--wf-gold) 12%,transparent);outline:1px solid color-mix(in srgb,var(--wf-gold) 30%,transparent)}.wf-edge-item-icon{font-size:11px;flex-shrink:0}.wf-edge-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.wf-edge-item-label{font-size:10px;color:var(--wf-gold);background:color-mix(in srgb,var(--wf-gold) 10%,transparent);padding:1px 5px;border-radius:3px;flex-shrink:0}.wf-edge-item-del{border:none;background:0 0;color:var(--muted);cursor:pointer;font-size:14px;padding:0 2px;opacity:0;transition:opacity .12s,color .12s}.wf-edge-item:hover .wf-edge-item-del{opacity:1}.wf-edge-item-del:hover{color:var(--danger)}.wf-templates-tabs{display:flex;border-bottom:1px solid var(--border)}.wf-tpl-tab{flex:1;padding:10px 12px;border:none;background:0 0;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .12s;border-bottom:2px solid transparent}.wf-tpl-tab:hover{color:var(--ink)}.wf-tpl-tab.active{color:var(--wf-gold);border-bottom-color:var(--wf-gold)}.wf-tpl-content{flex:1;overflow-y:auto;padding:8px}.wf-template-card{border:1px solid var(--border);border-radius:8px;padding:10px;margin-bottom:8px;cursor:grab;background:var(--wf-card-bg);transition:all .15s;position:relative}.wf-template-card:hover{border-color:var(--wf-gold);box-shadow:0 2px 8px color-mix(in srgb,var(--wf-gold) 15%,transparent)}.wf-template-preview{display:flex;justify-content:center;padding:4px 0 8px}.wf-template-info{flex:1}.wf-template-label{font-size:13px;font-weight:600;color:var(--ink)}.wf-template-desc{font-size:11px;color:var(--muted);margin-top:2px}.wf-template-drag-hint{position:absolute;top:8px;right:8px;font-size:8px;font-weight:700;color:var(--muted);background:var(--surface-hover);padding:2px 5px;border-radius:3px;letter-spacing:1px;opacity:0;transition:opacity .15s}.wf-template-card:hover .wf-template-drag-hint{opacity:1}.wf-node-palette{padding:4px 0}.wf-node-chip{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;margin-bottom:4px;cursor:grab;font-size:13px;color:var(--ink);background:var(--wf-card-bg);transition:all .12s;position:relative}.wf-node-chip:hover{border-color:var(--wf-gold)}.wf-node-chip-icon{font-size:15px}.wf-node-chip-label{flex:1}.wf-node-chip-drag{font-size:8px;font-weight:700;color:var(--muted);letter-spacing:1px;opacity:0;transition:opacity .15s}.wf-node-chip:hover .wf-node-chip-drag{opacity:1}.wf-tree-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--muted);font-size:13px}.wf-tree-empty-icon{font-size:28px;opacity:.5}.wf-tree-empty p{margin:0}.wf-tree-empty-btn{margin-top:4px;padding:6px 16px;border:1px dashed var(--border);border-radius:6px;background:0 0;color:var(--wf-gold);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.wf-tree-empty-btn:hover{background:color-mix(in srgb,var(--wf-gold) 10%,transparent);border-color:var(--wf-gold)}.wf-tree-toolbar{display:flex;gap:4px;padding:4px 10px 6px}.wf-tree-toolbar-btn{display:flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:5px;background:0 0;color:var(--muted);font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.wf-tree-toolbar-btn:hover{color:var(--ink);border-color:var(--wf-gold);background:color-mix(in srgb,var(--wf-gold) 8%,transparent)}.wf-tree-toolbar-btn svg{flex-shrink:0}.wf-tree-list{padding:4px 0}.wf-tree-project{margin-bottom:1px}.wf-tree-project-row{display:flex;align-items:center;gap:6px;padding:7px 10px 7px 8px;cursor:pointer;border-radius:6px;transition:background .12s;position:relative;min-height:34px}.wf-tree-project-row:hover{background:var(--surface-hover)}.wf-tree-project-row.active{background:var(--surface-active)}.wf-tree-chevron{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--muted);flex-shrink:0;transition:color .12s,background .12s;user-select:none;cursor:pointer;border-radius:4px}.wf-tree-chevron:hover{background:var(--surface-hover);color:var(--ink)}.wf-tree-project-row:hover .wf-tree-chevron{color:var(--ink)}.wf-tree-project-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 20%,transparent)}.wf-tree-project-name{flex:1;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.wf-tree-badge{font-size:10px;font-weight:600;color:var(--muted);background:color-mix(in srgb,var(--muted) 15%,transparent);padding:1px 6px;border-radius:8px;flex-shrink:0;line-height:1.4}.wf-tree-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s;flex-shrink:0}.wf-tree-project-row:hover .wf-tree-actions{opacity:1}.wf-tree-action-btn{border:none;background:0 0;color:var(--muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .12s;line-height:0}.wf-tree-action-btn:hover{background:var(--surface-hover);color:var(--wf-gold)}.wf-tree-action-del:hover{color:var(--danger)}.wf-tree-children{overflow:hidden;max-height:0;opacity:0;transition:max-height .2s ease,opacity .15s ease;padding-left:14px;margin-left:11px;border-left:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.wf-tree-children.open{max-height:600px;opacity:1}.wf-tree-wf{display:flex;align-items:center;gap:6px;padding:5px 8px 5px 6px;border-radius:5px;cursor:pointer;transition:background .12s;position:relative;min-height:30px}.wf-tree-wf:hover{background:var(--surface-hover)}.wf-tree-wf.active{background:var(--surface-active)}.wf-tree-wf.active::before{content:"";position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:2px;background:var(--wf-gold)}.wf-tree-line{width:8px;height:1px;background:color-mix(in srgb,var(--border) 60%,transparent);flex-shrink:0;margin-left:-6px}.wf-tree-wf-icon{font-size:11px;color:var(--wf-gold-dim);flex-shrink:0}.wf-tree-wf-name{flex:1;font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.wf-tree-wf.active .wf-tree-wf-name{color:var(--wf-gold);font-weight:500}.wf-tree-node-count{font-size:9px;color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent);padding:0 5px;border-radius:6px;flex-shrink:0;line-height:1.5}.wf-tree-wf>.wf-tree-action-btn{opacity:0;transition:opacity .12s}.wf-tree-wf:hover>.wf-tree-action-btn{opacity:1}.wf-tree-add-wf{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border:none;background:0 0;color:var(--muted);font-size:12px;cursor:pointer;text-align:left;border-radius:5px;transition:all .12s;margin-top:1px;margin-bottom:4px}.wf-tree-add-wf svg{flex-shrink:0}.wf-tree-add-wf:hover{background:var(--surface-hover);color:var(--wf-gold)}.wf-tree-rename-input{width:100%;border:1px solid var(--wf-gold);border-radius:3px;background:var(--bg);color:var(--ink);font-size:inherit;font-weight:inherit;font-family:inherit;padding:1px 4px;outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--wf-gold) 25%,transparent)}.wf-tpl-expanded{width:380px;min-width:320px;transition:width .2s ease}.wf-tpl-expanded .wf-tpl-content{padding:0}.wf-ai-chat{display:flex;flex-direction:column;height:100%;overflow:hidden}.wf-ai-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border);min-height:34px}.wf-ai-header-title{font-size:12px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-ai-clear-btn{padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:0 0;color:var(--muted);font-size:10px;cursor:pointer;transition:all .15s;flex-shrink:0}.wf-ai-clear-btn:hover{border-color:var(--danger);color:var(--danger)}.wf-ai-msg-time{font-size:9px;color:var(--muted);margin-top:2px;opacity:.7}.wf-ai-msg-user .wf-ai-msg-time{text-align:right}.wf-ai-no-wf{text-align:center;color:var(--muted);font-size:12px;padding:8px}.wf-ai-messages{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.wf-ai-welcome{text-align:center;padding:24px 8px 16px}.wf-ai-welcome-icon{font-size:32px;margin-bottom:8px}.wf-ai-welcome-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px}.wf-ai-welcome-desc{font-size:12px;color:var(--muted);margin-bottom:16px;line-height:1.5}.wf-ai-suggestions{display:flex;flex-direction:column;gap:6px}.wf-ai-suggest{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--wf-card-bg);color:var(--ink);font-size:12px;text-align:left;cursor:pointer;transition:all .15s}.wf-ai-suggest:hover{border-color:var(--wf-gold);background:color-mix(in srgb,var(--wf-gold) 8%,transparent)}.wf-ai-msg{display:flex;gap:6px}.wf-ai-msg-user{justify-content:flex-end}.wf-ai-msg-user .wf-ai-msg-bubble{background:var(--wf-gold);color:var(--bg);border-radius:12px 12px 4px 12px;max-width:85%}.wf-ai-msg-ai{justify-content:flex-start;align-items:flex-start}.wf-ai-msg-avatar{width:24px;height:24px;border-radius:50%;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:2px}.wf-ai-msg-content{flex:1;min-width:0}.wf-ai-msg-bubble{padding:8px 12px;border-radius:12px 12px 12px 4px;font-size:12px;line-height:1.5;background:var(--surface-hover);color:var(--ink);word-break:break-word}.wf-ai-loading{color:var(--muted);font-style:italic}.wf-ai-dots span{animation:wfAiDot 1.4s infinite;opacity:.3}.wf-ai-dots span:nth-child(2){animation-delay:.2s}.wf-ai-dots span:nth-child(3){animation-delay:.4s}@keyframes wfAiDot{0%,100%,80%{opacity:.3}40%{opacity:1}}.wf-ai-error{border:1px solid var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 6%,transparent)}.wf-ai-msg-md{white-space:normal;font-size:12.5px;line-height:1.6}.wf-ai-msg-md p{margin:4px 0}.wf-ai-msg-md h1,.wf-ai-msg-md h2,.wf-ai-msg-md h3{margin:8px 0 4px;font-size:14px}.wf-ai-msg-md ol,.wf-ai-msg-md ul{margin:4px 0;padding-left:20px}.wf-ai-msg-md li{margin:2px 0}.wf-ai-msg-md pre{background:rgba(0,0,0,.15);border-radius:4px;padding:6px 8px;overflow-x:auto;font-size:11px;margin:4px 0}.wf-ai-msg-md code{font-family:"Cascadia Code",Consolas,monospace;font-size:11px;padding:1px 4px;border-radius:3px;background:rgba(0,0,0,.08)}.wf-ai-msg-md pre code{background:0 0;padding:0}.wf-ai-msg-md blockquote{border-left:3px solid var(--wf-gold);margin:4px 0;padding:4px 10px;opacity:.85}.wf-ai-msg-md strong{font-weight:700}.wf-ai-msg-md a{color:var(--wf-gold);text-decoration:underline}[data-theme=dark] .wf-ai-msg-md pre{background:rgba(255,255,255,.06)}[data-theme=dark] .wf-ai-msg-md code{background:rgba(255,255,255,.08)}.wf-ai-result{margin-top:6px;display:flex;flex-direction:column;gap:4px}.wf-ai-result-info{font-size:11px;color:var(--muted);padding:0 2px}.wf-ai-apply-btn,.wf-ai-apply-new-btn{font-size:11px;padding:5px 10px}.wf-ai-input-area{padding:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.wf-ai-input{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--ink);padding:8px 10px;font-size:12px;resize:none;font-family:inherit;line-height:1.4}.wf-ai-input:focus{outline:0;border-color:var(--wf-gold)}.wf-ai-input-actions{display:flex;justify-content:flex-end}.wf-ai-send-btn{font-size:12px;padding:5px 16px}.wf-ai-stop-btn{font-size:12px;padding:5px 14px;border:1px solid var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 6%,transparent)}.wf-ai-stop-btn:hover{background:color-mix(in srgb,var(--danger) 15%,transparent)}@media (max-width:1100px){.wf-templates-panel{display:none}}@media (max-width:800px){.wf-config-panel{width:100%;min-width:0}.wf-diagram-panel{display:none}}@media (max-width:768px){.wf-ai-sidebar{width:100%;position:fixed;top:var(--navbar-h);bottom:calc(60px + env(safe-area-inset-bottom,0px));right:0;z-index:265;border-left:none}.wf-edge-label-input{width:120px}.wf-tpl-expanded{width:min(380px,90vw)}}@media (max-width:480px){.wf-ai-msg-bubble{max-width:98%;padding:8px 10px}.wf-ai-input-wrap{padding:6px}}.rs-add-topic-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--surface-hover)}.mob-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;padding:8px;border:none;background:0 0;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent;transition:background .15s;flex-shrink:0}.mob-hamburger:active{background:var(--surface-hover)}.mob-hamburger span{display:block;width:20px;height:2px;background:var(--fg);border-radius:2px;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;transform-origin:center}.mob-hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.mob-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.mob-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mob-drawer-header{display:none;align-items:center;justify-content:space-between;padding:10px 10px 10px 16px;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0}.mob-drawer-title{font-size:14px;font-weight:600;color:var(--fg)}.mob-drawer-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:0 0;color:var(--muted);cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent;transition:all .15s}.mob-drawer-close:hover{color:var(--fg);background:var(--surface-hover)}.mob-drawer-close:active{background:var(--surface-hover)}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--bg);border-top:1px solid var(--border);padding:4px 0 calc(4px + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:stretch;gap:0;box-shadow:0 -2px 12px rgba(0,0,0,.08)}[data-theme=dark] .mobile-bottom-nav{box-shadow:0 -2px 16px rgba(0,0,0,.3)}.mob-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;min-width:0;padding:6px 4px;border:none;background:0 0;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s;position:relative}.mob-nav-btn svg{flex-shrink:0}.mob-nav-btn span{line-height:1;white-space:nowrap}.mob-nav-btn.active{color:var(--accent)}.mob-nav-btn.active::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:2px;border-radius:1px;background:var(--accent)}.mob-nav-btn:active{opacity:.7}.mob-nav-hamburger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 auto;width:52px;padding:6px 4px;border:none;background:0 0;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s;position:relative;border-right:1px solid var(--border)}.mob-nav-hamburger svg{flex-shrink:0}.mob-nav-hamburger span{line-height:1;white-space:nowrap}.mob-nav-hamburger:active{opacity:.7}.mob-nav-hamburger.open{color:var(--accent)}.mob-nav-hamburger.open::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:2px;border-radius:1px;background:var(--accent)}.mob-more-popup{display:none;position:fixed;bottom:calc(60px + env(safe-area-inset-bottom,0px));right:8px;z-index:301;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:0 -4px 24px rgba(0,0,0,.15);flex-direction:column;min-width:170px;max-height:calc(100vh - 80px - env(safe-area-inset-bottom,0px));overflow-y:auto}[data-theme=dark] .mob-more-popup{box-shadow:0 -4px 24px rgba(0,0,0,.5)}.mob-more-popup.open{display:flex}.mob-more-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:0 0;color:var(--fg);font-size:13px;font-weight:500;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.mob-more-item:active{background:var(--surface-hover)}.mob-more-item svg{flex-shrink:0;color:var(--muted)}.mob-more-item.mob-more-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.mob-more-item.mob-more-active svg{color:var(--accent)}@media (max-width:768px){.mobile-bottom-nav{display:flex}.mob-hamburger{display:flex}.mob-drawer-header{display:flex}.sidebar-panel-header{display:none}.navbar{z-index:270}.sidebar .icon-rail{display:none}.sidebar{width:0;min-width:0;overflow:hidden}.sidebar.collapsed{width:0}.sidebar:not(.collapsed){width:min(320px,85vw);min-width:0;overflow:visible;flex-direction:column}.sidebar:not(.collapsed) .sidebar-content{display:flex;flex-direction:column;width:100%}.app-shell{padding-left:0}.tab-bar-row{padding-left:8px}.arch-view,.editor-area,.kanban-view,.notes-area,.research-view,.sentry-view,.ssh-view,.truenas-view,.wf-view{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.sidebar-backdrop{top:0;z-index:259;background:rgba(0,0,0,.4)}.sidebar-backdrop.visible{display:block}.sidebar{position:fixed;top:var(--navbar-h);left:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:260;background:var(--bg);transition:width .22s cubic-bezier(.4,0,.2,1);box-shadow:none}.sidebar:not(.collapsed){box-shadow:4px 0 24px rgba(0,0,0,.2)}.kanban-detail-panel{width:96vw;height:90vh;max-width:96vw;border-radius:8px}.rs-split{flex-direction:column}.rs-md-panel{flex:1;border-right:none}.rs-notes-panel{display:none;position:fixed;top:var(--navbar-h);left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));width:100%;z-index:265;border-left:none;border-top:none;box-shadow:0 -4px 30px rgba(0,0,0,.3);background:var(--card)}.rs-notes-panel.mob-open{display:flex;flex-direction:column}.rs-notes-close-btn{display:flex;align-items:center;justify-content:center;margin-left:auto;background:0 0;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px}.rs-notes-close-btn:hover{color:var(--fg);background:var(--surface-hover)}.rs-mob-notes-fab{display:flex;align-items:center;gap:6px;position:fixed;bottom:calc(70px + env(safe-area-inset-bottom,0px));right:16px;z-index:250;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 16px var(--accent-shadow)}.rs-mob-notes-fab:active{filter:brightness(.9)}.rs-chat-fab{display:flex;position:fixed;bottom:calc(70px + env(safe-area-inset-bottom,0px));left:16px;right:auto;z-index:250;padding:10px 16px}.rs-chat-fab:active{filter:brightness(.9)}.rs-scroll-nav{position:fixed;bottom:calc(120px + env(safe-area-inset-bottom,0px));right:16px;z-index:240}}@media (max-width:480px){.navbar{padding:0 16px;height:44px}.navbar-brand svg{width:18px;height:18px}.navbar-brand span{font-size:12px}.conn-badge{max-width:90px;font-size:10px;padding:2px 8px;border-radius:10px}.tab-bar-row{height:32px;padding:0 8px}.tab-pill{padding:4px 10px;font-size:11px;border-radius:6px}.mob-nav-btn{padding:5px 2px}.mob-nav-btn span{font-size:9px}.mob-nav-btn svg{width:18px;height:18px}.sidebar:not(.collapsed){width:100vw}.action-toolbar{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.action-toolbar::-webkit-scrollbar{display:none}.toolbar-left{flex-wrap:nowrap}.desc-btn,.ghost-btn,.run-btn{white-space:nowrap;flex-shrink:0;min-height:36px;padding:6px 14px}.editor-wrap{min-height:35vh}.result-wrap{min-height:140px}.split-handle{height:8px}.split-handle::after{width:40px;height:4px;border-radius:2px}.status-bar{height:24px;font-size:10px;padding:0 10px}.notes-master-wrapper{max-height:140px}.notes-detail-form{padding:10px 12px}.kanban-board{padding:6px;gap:6px}.kb-column{border-radius:10px}.kb-card{padding:10px 12px;border-radius:8px}.kanban-toolbar{padding:8px 12px}.kanban-detail-panel{width:98vw;height:92vh;max-width:98vw;border-radius:10px}.rs-topbar{padding:8px 10px;gap:4px;flex-wrap:wrap}.rs-topbar-info{flex-basis:100%;gap:6px}.rs-topbar-title{font-size:10px}.rs-topbar-icon{font-size:15px}.rs-topbar-actions{flex-basis:100%;gap:6px}.rs-btn-gen-all,.rs-btn-reset-all{padding:6px 10px;font-size:11px}.rs-md-tab{display:none}.rs-topbar-file-info{display:inline;flex:1;min-width:0}.rs-btn-gen-single{margin-left:auto}.rs-md-editor-wrap .toastui-editor-toolbar{padding:2px 4px}.rs-md-editor-wrap .toastui-editor-toolbar-icons{width:22px;height:22px;background-size:16px}.rs-md-editor-wrap .toastui-editor-toolbar-group{margin-right:4px}.rs-tree-scroll{padding:8px 10px}.rs-part-header{padding:8px 6px;min-height:40px}.rs-chapter-row{flex-direction:column;align-items:stretch;padding:10px 10px;gap:4px;min-height:auto}.rs-ch-info{flex:none}.rs-ch-desc{display:block;padding-left:26px}.rs-ch-controls{gap:8px;padding-left:22px}.rs-ch-num{font-size:12px}.rs-ch-title{font-size:13px}.rs-mob-topics{padding:12px}.rs-mob-title{font-size:15px}.rs-mob-topics .rs-topic-card{border-radius:10px}.rs-mob-topics .rs-sidebar-actions{flex-direction:column}.rs-mob-topics .rs-add-topic-btn,.rs-mob-topics .rs-prompt-prep-btn{padding:12px;font-size:13px}.modal-overlay{align-items:flex-end}.modal-card{width:100vw;max-width:100vw;max-height:92vh;border-radius:16px 16px 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom,0px));margin:0}.rs-import-modal-card,.rs-topic-modal-card{width:100vw;max-height:95vh;height:auto;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))}.param-modal-card,.version-modal-card{width:100vw;max-height:90vh;border-radius:16px 16px 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom,0px))}.confirm-dialog-card{width:calc(100vw - 20px);border-radius:14px;padding:20px 16px}.quick-open{width:100vw;max-width:100vw;top:auto;bottom:0;transform:none;border-radius:16px 16px 0 0}.wf-config-panel{width:100%;border-right:none}.wf-diagram-panel{display:none}.wf-templates-panel{display:none}.wf-sidebar{width:100%;border-right:none}.vl-entry{padding-left:20px}.vl-items{font-size:12px}.vl-items li{padding-left:12px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.mobile-bottom-nav{padding-bottom:calc(4px + env(safe-area-inset-bottom))}}@media (pointer:coarse){.mob-more-item,.mob-nav-btn,.rail-btn{min-height:44px}.tab-pill{min-height:32px}.desc-btn,.ghost-btn,.run-btn{min-height:40px}.rs-ch-play,.rs-ch-stop{min-width:32px;min-height:32px}.kb-card{min-height:44px}.nd-item-row{min-height:40px}.rs-checkbox{min-width:20px;min-height:20px}*{scrollbar-width:thin}::-webkit-scrollbar{width:4px;height:4px}}@media (max-width:768px){.arch-view,.editor-area,.kanban-view,.notes-area,.research-view,.sentry-view,.ssh-view,.truenas-view,.wf-view{transition:opacity .15s ease}}@media (max-height:500px) and (max-width:900px){.navbar{height:36px}.tab-bar-row{height:28px}.mobile-bottom-nav{padding:2px 0}.mob-nav-btn{padding:3px 2px;gap:1px}.mob-nav-btn span{font-size:8px}.mob-nav-btn svg{width:16px;height:16px}.modal-card{max-height:95vh}.kanban-detail-panel{width:96vw;height:88vh;max-width:96vw}}@media (pointer:coarse){[role=button]:active,button:active:not(:disabled){opacity:.7;transition:opacity 50ms}}.vkb-open .modal-card{max-height:55vh}.vkb-open .mobile-bottom-nav{display:none}.login-screen{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;align-items:center;justify-content:center}.login-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:40px 36px 32px;width:360px;max-width:calc(100vw - 32px);text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.12)}.login-card h2{font-size:18px;font-weight:700;color:var(--fg);margin:0 0 4px}.login-subtitle{font-size:12px;color:var(--muted);margin:0 0 24px}.login-field{text-align:left;margin-bottom:14px}.login-field label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.login-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:13px;font-family:inherit;outline:0;box-sizing:border-box}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.login-error{font-size:12px;color:var(--danger);min-height:18px;margin-bottom:8px}.login-submit{width:100%;padding:11px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s}.login-submit:hover{opacity:.9}.login-submit:disabled{opacity:.5;cursor:default}.user-mgmt-card{width:700px;max-width:calc(100vw - 32px);height:80vh;max-height:650px;display:flex;flex-direction:column;padding:0}.user-mgmt-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border)}.user-mgmt-header h3{margin:0;font-size:16px;font-weight:700;color:var(--fg)}.modal-close-btn{width:28px;height:28px;border:none;background:0 0;color:var(--muted);font-size:20px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:var(--surface-hover);color:var(--fg)}.user-mgmt-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 20px}.um-tab{padding:10px 16px;border:none;background:0 0;color:var(--muted);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.um-tab:hover{color:var(--fg)}.um-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.user-mgmt-body{flex:1;overflow:hidden;position:relative}.um-panel{display:none;flex-direction:column;height:100%;overflow:hidden}.um-panel.active{display:flex}.um-toolbar{padding:12px 20px;display:flex;align-items:center;gap:8px;flex-shrink:0}.um-add-btn{padding:7px 14px;border:1px dashed var(--border);border-radius:8px;background:0 0;color:var(--accent);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.um-add-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:var(--accent)}.um-list{flex:1;overflow-y:auto;padding:0 20px 16px}.um-item{padding:12px 14px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--card);display:flex;align-items:center;gap:12px}.um-item-info{flex:1;min-width:0}.um-item-name{font-size:13px;font-weight:600;color:var(--fg);display:flex;align-items:center;gap:6px}.um-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.um-badge-admin{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.um-badge-inactive{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.um-badge-active{background:color-mix(in srgb,#4caf50 15%,transparent);color:#4caf50}.um-badge-expired{background:color-mix(in srgb,var(--warning,#ff9800) 15%,transparent);color:var(--warning,#ff9800)}.um-item-sub{font-size:11px;color:var(--muted);margin-top:2px}.um-item-actions{display:flex;gap:4px;flex-shrink:0}.um-item-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:0 0;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s}.um-item-btn:hover{color:var(--fg);border-color:var(--fg);background:var(--surface-hover)}.um-item-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.um-form-card{width:440px;max-width:calc(100vw - 32px);padding:24px 28px}.um-form-card h3{margin:0 0 16px;font-size:15px;font-weight:700;color:var(--fg)}.um-form-card .modal-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.um-form-card .config-field label{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.um-form-card .config-field input,.um-form-card .config-field select,.um-form-card .config-field textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:13px;font-family:inherit;outline:0;box-sizing:border-box}.um-form-card .config-field input:focus,.um-form-card .config-field select:focus{border-color:var(--accent)}.um-perm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.um-perm-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:12px;color:var(--fg);transition:background .1s,border-color .1s}.um-perm-item:hover{background:var(--surface-hover)}.um-perm-item input[type=checkbox]{accent-color:var(--accent)}.um-token-display{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-family:Consolas,monospace;font-size:12px;color:var(--accent);word-break:break-all;margin:12px 0;position:relative}.um-token-copy{position:absolute;top:6px;right:6px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--card);color:var(--muted);font-size:10px;font-family:inherit;cursor:pointer}.um-token-copy:hover{color:var(--fg)}.um-role-checks{display:flex;flex-direction:column;gap:4px}.um-role-check{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;font-size:12px;color:var(--fg)}.um-role-check input[type=checkbox]{accent-color:var(--accent)}@media (max-width:600px){.user-mgmt-card{height:95vh;max-height:none;border-radius:0}.um-perm-grid{grid-template-columns:repeat(2,1fr)}.um-form-card{width:calc(100vw - 16px);padding:16px 20px}}.sentry-view{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.sentry-project-search{position:relative;padding:6px 12px}.sentry-psearch-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--fg-muted);pointer-events:none}.sentry-psearch-input{width:100%;padding:5px 8px 5px 24px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--fg);font-size:11px;outline:0;transition:border-color .15s}.sentry-psearch-input:focus{border-color:var(--accent)}.sentry-psearch-input::placeholder{color:var(--fg-muted);opacity:.6}.sentry-project-list{padding:4px 0}.sentry-project-item{display:flex;align-items:center;gap:8px;padding:7px 14px;cursor:pointer;font-size:12px;color:var(--fg);border-left:3px solid transparent;transition:all .12s}.sentry-project-item:hover{background:var(--bg-hover,var(--bg-secondary))}.sentry-project-item.active{background:var(--bg-hover,var(--bg-secondary));border-left-color:var(--accent);font-weight:600}.sentry-project-icon{font-size:14px;flex-shrink:0}.sentry-project-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.sentry-project-badge{flex-shrink:0;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-size:10px;font-weight:700;line-height:1;padding:0 5px;opacity:0;transition:opacity .2s}.sentry-project-badge.has-issues{opacity:1;background:#e74c3c;color:#fff}.sentry-project-badge.no-issues{opacity:.5;background:var(--bg-secondary);color:var(--fg-muted);font-weight:500}.sentry-sidebar-empty,.sentry-sidebar-error{padding:16px 14px;font-size:11px;color:var(--fg-muted);text-align:center}.sentry-sidebar-error{color:var(--danger,#e74c3c)}.sentry-main{display:flex;height:100%}.sentry-col-issues{width:380px;min-width:280px;max-width:480px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sentry-col-detail{flex:1;min-width:0;overflow:hidden}.sentry-col-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.sentry-col-title{font-size:13px;font-weight:600;margin:0;color:var(--fg);white-space:nowrap}.sentry-filters{display:flex;gap:3px;margin-left:auto}.sentry-filter-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:10px;cursor:pointer;color:var(--fg-muted);transition:all .12s;white-space:nowrap}.sentry-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sentry-filter-btn:hover:not(.active){border-color:var(--fg-muted)}.sentry-refresh-btn{background:0 0;border:1px solid var(--border);border-radius:4px;padding:3px 5px;cursor:pointer;color:var(--fg-muted);transition:all .12s;flex-shrink:0;line-height:1}.sentry-refresh-btn:hover{color:var(--accent);border-color:var(--accent)}.sentry-search-bar{position:relative;padding:6px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.sentry-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--fg-muted);pointer-events:none}.sentry-search-input{width:100%;padding:5px 8px 5px 26px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--fg);font-size:11px;outline:0;transition:border-color .15s}.sentry-search-input:focus{border-color:var(--accent)}.sentry-search-input::placeholder{color:var(--fg-muted);opacity:.6}.sentry-issue-list{flex:1;overflow-y:auto;padding:6px}.sentry-issue{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;margin-bottom:4px;cursor:pointer;transition:all .12s;background:var(--bg)}.sentry-issue:hover{border-color:var(--accent);background:var(--bg-hover,var(--bg-secondary))}.sentry-issue.selected{border-color:var(--accent);background:var(--bg-hover,var(--bg-secondary));box-shadow:inset 3px 0 0 var(--accent)}.sentry-issue.resolved{opacity:.5}.sentry-issue.ignored{opacity:.4}.sentry-issue-level{width:5px;min-height:24px;border-radius:3px;flex-shrink:0;margin-top:2px}.sentry-issue-level.error{background:#e74c3c}.sentry-issue-level.fatal{background:#8e44ad}.sentry-issue-level.warning{background:#f39c12}.sentry-issue-level.info{background:#3498db}.sentry-issue-body{flex:1;min-width:0}.sentry-issue-title{font-size:12px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.sentry-issue-culprit{font-size:10px;color:var(--fg-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sentry-issue-meta{display:flex;gap:8px;margin-top:3px;font-size:10px;color:var(--fg-muted)}.sentry-issue-right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:68px}.sentry-issue-trend{line-height:1}.sentry-sparkline-svg{display:block}.sentry-issue-lastseen{font-size:9px;color:var(--fg-muted);white-space:nowrap;opacity:.8}.sentry-badge-spinner{display:inline-block;width:10px;height:10px;border:1.5px solid var(--border);border-top-color:var(--fg-muted);border-radius:50%;animation:sentrySpinAnim .6s linear infinite}.sentry-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--fg-muted);font-size:13px;opacity:.5}.sentry-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--fg-muted);font-size:12px}.sentry-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:sentrySpinAnim .6s linear infinite}@keyframes sentrySpinAnim{to{transform:rotate(360deg)}}.sentry-list-error{padding:16px;color:var(--danger,#e74c3c);font-size:12px;text-align:center}.sentry-list-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;color:var(--fg-muted);font-size:12px}.sentry-detail-pane{height:100%;overflow-y:auto}.sentry-detail{padding:16px 20px}.sentry-detail-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.sentry-detail-header .sentry-issue-level{min-height:32px;width:5px;margin-top:3px}.sentry-detail-header-text{flex:1;min-width:0}.sentry-detail-title{font-size:15px;font-weight:700;color:var(--fg);word-break:break-word;line-height:1.4}.sentry-detail-culprit{font-size:12px;color:var(--fg-muted);margin-top:2px}.sentry-exception-msg{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid #e74c3c;border-radius:4px;padding:8px 12px;margin-bottom:14px;font-family:var(--font-mono,monospace);font-size:12px;color:var(--fg);word-break:break-word;line-height:1.5}.sentry-detail-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 12px;margin-bottom:14px}.sentry-meta-item{display:flex;flex-direction:column;gap:1px;font-size:11px}.sentry-meta-item b{font-weight:500;color:var(--fg-muted);font-size:10px;text-transform:uppercase;letter-spacing:.3px}.sentry-meta-item span{color:var(--fg)}.sentry-status-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;width:fit-content}.sentry-status-badge.unresolved{background:#e74c3c22;color:#e74c3c}.sentry-status-badge.resolved{background:#27ae6022;color:#27ae60}.sentry-status-badge.ignored{background:#f39c1222;color:#f39c12}.sentry-detail-actions{display:flex;gap:6px;margin-bottom:14px}.sentry-btn{padding:5px 14px;border-radius:5px;font-size:11px;cursor:pointer;border:1px solid;transition:all .12s;text-decoration:none;display:inline-flex;align-items:center}.sentry-btn:disabled{opacity:.4;cursor:not-allowed}.sentry-btn-resolve{background:#27ae60;color:#fff;border-color:#27ae60}.sentry-btn-resolve:hover:not(:disabled){background:#219a52}.sentry-btn-ignore{background:0 0;color:var(--fg-muted);border-color:var(--border)}.sentry-btn-ignore:hover:not(:disabled){border-color:#f39c12;color:#f39c12}.sentry-btn-link{background:0 0;color:var(--accent);border-color:var(--border);text-decoration:none}.sentry-btn-link:hover{border-color:var(--accent)}.sentry-btn-copy{background:0 0;color:var(--fg-muted,var(--muted));border-color:var(--border);display:inline-flex;align-items:center;gap:4px}.sentry-btn-copy:hover{border-color:var(--accent);color:var(--accent)}.sentry-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px}.sentry-tag{font-size:10px;padding:2px 6px;border-radius:3px;background:var(--bg-secondary);color:var(--fg-muted);border:1px solid var(--border)}.sentry-tag b{font-weight:600;color:var(--fg)}.sentry-section-title{font-size:12px;font-weight:600;color:var(--fg);margin:0 0 8px;padding-top:10px;border-top:1px solid var(--border)}.sentry-stack{font-size:11px}.sentry-frame{padding:6px 10px;border:1px solid var(--border);border-radius:4px;margin-bottom:4px;background:var(--bg)}.sentry-frame.sentry-frame-lib{opacity:.45}.sentry-frame-file{font-family:var(--font-mono,monospace);font-size:10px;color:var(--accent);word-break:break-all}.sentry-frame-func{font-family:var(--font-mono,monospace);font-size:11px;color:var(--fg);margin-top:2px}.sentry-frame-code{font-family:var(--font-mono,monospace);font-size:10px;background:var(--bg-secondary);padding:6px 8px;border-radius:3px;margin-top:4px;overflow-x:auto;white-space:pre;color:var(--fg-muted);line-height:1.5;max-height:150px}.sentry-no-stack{color:var(--fg-muted);font-size:11px;font-style:italic;padding:8px 0}.sentry-project-env-btn{flex-shrink:0;background:0 0;border:none;cursor:pointer;color:var(--fg-muted);padding:2px;border-radius:3px;line-height:1;opacity:0;transition:opacity .15s,color .15s;display:inline-flex;align-items:center;justify-content:center}.sentry-project-item:hover .sentry-project-env-btn{opacity:.7}.sentry-project-env-btn:hover{opacity:1!important;color:var(--accent)}.sentry-env-modal{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.45);align-items:center;justify-content:center}.sentry-env-modal.visible{display:flex}.sentry-env-modal-card{width:66vw;max-width:95vw;max-height:66vh;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}.sentry-env-modal-card .modal-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.sentry-env-modal-card .modal-card-header h3{margin:0;font-size:15px;font-weight:700;color:var(--fg)}.sentry-env-modal-card .modal-close-btn{width:28px;height:28px;background:0 0;border:none;cursor:pointer;font-size:20px;color:var(--fg-muted);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.sentry-env-modal-card .modal-close-btn:hover{background:var(--bg-secondary);color:var(--fg)}.sentry-env-modal-card .modal-card-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.sentry-env-modal-body{padding:16px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.sentry-env-field label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.sentry-env-field input.sentry-env-input,.sentry-env-textarea{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg-secondary);color:var(--fg);font-size:12px;font-family:inherit;outline:0;transition:border-color .15s;box-sizing:border-box}.sentry-env-field input.sentry-env-input:read-only{opacity:.6;cursor:not-allowed}.sentry-env-field input.sentry-env-input:focus,.sentry-env-textarea:focus{border-color:var(--accent)}.sentry-env-textarea{resize:vertical;min-height:60px;line-height:1.5}.sentry-env-add-btn{background:var(--accent);color:#fff;border:none;width:20px;height:20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s}.sentry-env-add-btn:hover{opacity:.85}.sentry-env-server-grid{border:1px solid var(--border);border-radius:6px;overflow:hidden}.sentry-env-grid-header{display:grid;grid-template-columns:0.8fr 1.2fr 1fr 1.2fr 28px;gap:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:10px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.3px}.sentry-env-grid-header span{padding:6px 8px}.sentry-env-grid-row{display:grid;grid-template-columns:0.8fr 1.2fr 1fr 1.2fr 28px;gap:0;border-bottom:1px solid var(--border)}.sentry-env-grid-row:last-child{border-bottom:none}.sentry-env-grid-row .sentry-env-input{width:100%;padding:6px 8px;border:none;border-right:1px solid var(--border);border-radius:0;background:var(--bg);color:var(--fg);font-size:11px;outline:0;box-sizing:border-box}.sentry-env-grid-row .sentry-env-input:focus{background:var(--bg-secondary)}.sentry-env-grid-row .sentry-env-input:last-of-type{border-right:1px solid var(--border)}.sentry-env-del-btn{background:0 0;border:none;cursor:pointer;color:var(--fg-muted);display:flex;align-items:center;justify-content:center;transition:color .15s}.sentry-env-del-btn:hover{color:#e74c3c}.sentry-env-grid-empty{padding:16px;text-align:center;font-size:11px;color:var(--fg-muted);font-style:italic}@media (max-width:768px){.sentry-main{flex-direction:column}.sentry-col-issues{width:100%;max-width:100%;height:45%;border-right:none;border-bottom:1px solid var(--border)}.sentry-col-detail{height:55%}.sentry-detail{padding:12px 14px}.sentry-detail-actions{flex-wrap:wrap;gap:4px}.sentry-env-modal-card{width:90vw;max-width:90vw}}@media (max-width:480px){.sentry-col-issues{height:auto;max-height:40vh}.sentry-col-detail{height:auto;flex:1}.sentry-detail-header{flex-wrap:wrap;gap:6px}.sentry-detail-title{font-size:14px}.sentry-detail-meta{grid-template-columns:repeat(2,1fr)}.sentry-env-modal-card{width:100vw;max-width:100vw;max-height:95vh;border-radius:16px 16px 0 0}.sentry-env-grid-header,.sentry-env-grid-row{grid-template-columns:1fr 1.2fr 28px}}.orch-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;flex-shrink:0}.orch-status-dot.online{background:#22c55e;box-shadow:0 0 4px #22c55e80}.orch-status-dot.offline{background:#6b7280}.orch-status-dot.busy{background:#f59e0b;box-shadow:0 0 4px #f59e0b80}.orch-badge{display:inline-block;font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px;margin-left:6px}.orch-badge-online{background:#22c55e20;color:#22c55e}.orch-badge-offline{background:#6b728020;color:#6b7280}.orch-badge-busy{background:#f59e0b20;color:#f59e0b}.orch-caps{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.orch-cap-tag{font-size:10px;padding:1px 6px;border-radius:3px;background:var(--surface-subtle,#1e1e2a);color:var(--muted);font-family:monospace}.orch-workdir{font-family:monospace;font-size:11px;color:var(--muted);word-break:break-all}.orch-item-meta{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:11px;color:var(--muted)}.orch-toggle{position:relative;width:32px;height:18px;cursor:pointer}.orch-toggle input{opacity:0;width:0;height:0}.orch-toggle-slider{position:absolute;inset:0;background:#6b7280;border-radius:9px;transition:background .2s}.orch-toggle-slider::before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform .2s}.orch-toggle input:checked+.orch-toggle-slider{background:var(--accent,#c9a84c)}.orch-toggle input:checked+.orch-toggle-slider::before{transform:translateX(14px)}.orch-sysinfo{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.orch-sysinfo-text{font-size:10px;color:var(--muted);opacity:.85}.orch-sysinfo-disks{display:flex;flex-wrap:wrap;gap:4px}.orch-empty{text-align:center;padding:32px 16px;color:var(--muted);font-size:12px}.orch-empty-icon{font-size:32px;margin-bottom:8px;opacity:.4}.orch-loading{text-align:center;padding:24px 16px;color:var(--muted);font-size:11px}.orch-sidebar-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 8px;gap:0}.orch-stab{flex:1;padding:8px 0;background:0 0;border:none;border-bottom:2px solid transparent;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;text-align:center;transition:color .15s,border-color .15s}.orch-stab:hover{color:var(--fg)}.orch-stab.active{color:var(--accent);border-bottom-color:var(--accent)}.orch-sidebar-body{flex:1;overflow-y:auto;padding:8px}.orch-sidebar-list{display:flex;flex-direction:column;gap:6px}.orch-sb-card{padding:10px 12px;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,background .12s}.orch-sb-card:hover{background:var(--surface,#f0f0f0);border-color:var(--accent-muted,var(--accent))}.orch-sb-card-top{display:flex;align-items:center;gap:6px}.orch-sb-name{font-size:12px;font-weight:600;color:var(--fg);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orch-sb-meta{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:4px;word-break:break-all}.orch-sb-delete{background:0 0;border:none;padding:3px;cursor:pointer;color:var(--muted);border-radius:4px;flex-shrink:0;transition:color .12s,background .12s}.orch-sb-delete:hover{color:var(--danger);background:rgba(239,68,68,.08)}[data-theme=dark] .orch-sb-card:hover{background:var(--surface,#22222e)}[data-theme=dark] .orch-sb-delete:hover{background:rgba(239,68,68,.15)}@media (max-width:768px){.orch-caps{gap:3px}.orch-cap-tag{font-size:9px;padding:1px 5px}.orch-sb-card{padding:8px 10px}.orch-sb-delete{opacity:1}}.arch-view{flex:1;min-width:0;height:100%;overflow:hidden}.arch-layout{display:grid;grid-template-columns:1fr 1fr 4px 1.2fr;height:100%;overflow:hidden}.arch-resize-handle{width:4px;cursor:col-resize;background:var(--border);transition:background .15s;position:relative;z-index:5}.arch-resize-handle::after{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.arch-resize-handle.dragging,.arch-resize-handle:hover{background:var(--accent)}.arch-search{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:12px;outline:0;transition:border-color .15s}.arch-search:focus{border-color:var(--accent)}.arch-project-list{flex:1;overflow-y:auto;padding:4px 8px}.arch-project-grid{display:flex;flex-direction:column;gap:6px}.arch-project-card{padding:10px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .12s,box-shadow .15s;display:flex;flex-direction:column;gap:8px}.arch-project-card:hover{background:var(--surface,#f0f0f0);border-color:var(--accent-muted,var(--accent))}.arch-project-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--surface,#f0f0f0)}.arch-pcard-top{display:flex;align-items:flex-start;gap:8px}.arch-pcard-icon{font-size:20px;flex-shrink:0;line-height:1;margin-top:1px}.arch-pcard-info{flex:1;min-width:0}.arch-pcard-name{font-size:12px;font-weight:600;color:var(--fg);line-height:1.3;word-break:break-word}.arch-pcard-desc{font-size:10px;color:var(--muted);line-height:1.4;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.arch-pcard-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .12s}.arch-project-card:hover .arch-pcard-actions{opacity:1}.arch-pcard-delete,.arch-pcard-edit{background:0 0;border:none;padding:4px;cursor:pointer;color:var(--muted);border-radius:4px;transition:color .12s,background .12s}.arch-pcard-edit:hover{color:var(--accent);background:var(--surface-subtle,rgba(0,0,0,.05))}.arch-pcard-delete:hover{color:var(--danger);background:rgba(239,68,68,.08)}.arch-pcard-footer{display:flex;align-items:center;gap:6px}.arch-pcard-time{font-size:10px;color:var(--muted)}.arch-pform{padding:12px;border:1px solid var(--accent);border-radius:8px;background:var(--surface-subtle,#fafafa);display:flex;flex-direction:column;gap:8px;margin-bottom:6px;animation:arch-form-in .15s ease-out}@keyframes arch-form-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.arch-pform-title{font-size:11px;font-weight:700;color:var(--fg);text-transform:uppercase;letter-spacing:.3px}.arch-pform-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:12px;outline:0;transition:border-color .15s;box-sizing:border-box}.arch-pform-input:focus{border-color:var(--accent)}.arch-pform-textarea{resize:vertical;min-height:48px;max-height:120px;font-family:inherit;line-height:1.45}.arch-pform-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:2px}.arch-pform-btn{font-size:11px;padding:4px 12px;border-radius:6px}.arch-pform-btn.danger{color:var(--danger);border-color:var(--danger)}.arch-pform-btn.danger:hover{background:var(--danger);color:#fff}.arch-modules{display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg);overflow:hidden}.arch-modules-header{display:flex;align-items:stretch;border-bottom:1px solid var(--border);min-height:44px;padding:0;flex-shrink:0}.arch-col2-tabs{display:flex;flex:1}.arch-col2-tab{display:flex;align-items:center;gap:6px;padding:0 16px;font-size:11px;font-weight:500;color:var(--muted);background:0 0;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s,border-color .15s,background .12s;white-space:nowrap;position:relative}.arch-col2-tab:hover{color:var(--fg);background:var(--surface-subtle,rgba(0,0,0,.02))}.arch-col2-tab.active{color:var(--fg);font-weight:600;border-bottom-color:var(--accent)}.arch-col2-badge{display:none;font-size:9px;font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff}.arch-module-body{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column}.arch-gen-tree{padding:4px 0}.arch-gen-group{margin-bottom:2px}.arch-gen-group-header{display:flex;align-items:center;gap:6px;padding:7px 12px;cursor:pointer;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;user-select:none;transition:color .15s}.arch-gen-group-header:hover{color:var(--fg)}.arch-gen-chevron{transition:transform .2s;flex-shrink:0;opacity:.5}.arch-gen-group-header.expanded .arch-gen-chevron{transform:rotate(90deg)}.arch-gen-group-icon{display:flex;align-items:center;opacity:.6}.arch-gen-group-label{flex:1}.arch-gen-group-count{font-size:10px;font-weight:500;color:var(--muted);background:var(--surface-subtle);border-radius:8px;padding:1px 6px;min-width:18px;text-align:center}.arch-gen-group-items{overflow:hidden;transition:max-height .2s ease}.arch-gen-group-items.collapsed{display:none}.arch-gen-item{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 32px;cursor:pointer;border-radius:6px;margin:1px 6px;transition:background .15s;position:relative}.arch-gen-item:hover{background:var(--surface-subtle)}.arch-gen-item.active{background:rgba(99,102,241,.1);border-left:2px solid var(--accent);padding-left:30px}.arch-gen-item-icon{font-size:16px;flex-shrink:0;width:22px;text-align:center}.arch-gen-item-info{flex:1;min-width:0;overflow:hidden}.arch-gen-item-name{font-size:12px;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arch-gen-item-desc{font-size:10px;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.4;margin-top:1px}.arch-gen-item-del{display:none;background:0 0;border:none;cursor:pointer;padding:3px;border-radius:4px;color:var(--muted);flex-shrink:0;transition:color .15s,background .15s}.arch-gen-item:hover .arch-gen-item-del{display:flex}.arch-gen-item-del:hover{color:var(--danger);background:rgba(239,68,68,.08)}.arch-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:12px 0 6px}.arch-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px 16px;color:var(--muted);text-align:center;gap:8px}.arch-empty-icon{font-size:36px;opacity:.35}.arch-empty-text{font-size:13px}.arch-empty-sub{font-size:11px;opacity:.7}[data-theme=dark] .arch-modules{background:var(--bg)}[data-theme=dark] .arch-col2-tab:hover{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-project-card:hover{background:var(--surface,#22222e)}[data-theme=dark] .arch-project-card.active{background:var(--surface,#22222e)}[data-theme=dark] .arch-pform{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-pform-input{background:var(--bg)}[data-theme=dark] .arch-pcard-edit:hover{background:var(--surface,#22222e)}[data-theme=dark] .arch-pcard-delete:hover{background:rgba(239,68,68,.15)}@media (max-width:1200px){.arch-layout{grid-template-columns:1fr 1fr 4px 1.2fr}}@media (max-width:900px){.arch-layout{grid-template-columns:1fr!important;grid-template-rows:1fr auto auto}.arch-resize-handle{display:none}.arch-modules{border-left:none;border-top:1px solid var(--border);max-height:40vh}.arch-chat{border-left:none;border-top:1px solid var(--border);max-height:50vh;flex-direction:column}.arch-chat-tabbar{flex-direction:row!important;width:auto!important;min-width:0!important;border-right:none!important;border-bottom:1px solid var(--border)!important;min-height:36px}.arch-chat-tabs{flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important}.arch-chat-tab{border-bottom:none!important;border-right:1px solid var(--border)!important}.arch-chat-tab.active::after{top:auto!important;bottom:0!important;left:0!important;right:0!important;width:auto!important;height:2px!important;border-radius:2px 2px 0 0!important}.arch-chat-tab-add{width:36px!important;height:auto!important;border-bottom:none!important;border-left:1px solid var(--border)!important}}.arch-memory-panel{display:flex;flex-direction:column;height:100%}.arch-memory-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.arch-memory-toolbar-title{font-weight:600;font-size:13px}.arch-memory-list{flex:1;overflow-y:auto;padding:8px 12px}.arch-memory-item{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;background:var(--surface-subtle,#fafafa);font-size:12px}.arch-memory-item-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.arch-memory-type-badge{font-size:10px;font-weight:600;padding:2px 8px;background:var(--surface,#f0f0f0);border-radius:10px;white-space:nowrap}.arch-memory-title{flex:1;font-weight:500}.arch-memory-del{background:0 0;border:none;cursor:pointer;font-size:12px;opacity:.4;transition:opacity .15s}.arch-memory-del:hover{opacity:1}.arch-memory-content{color:var(--fg);line-height:1.5;margin-bottom:4px}.arch-memory-meta{font-size:10px;color:var(--muted)}.arch-memory-add-form{border:1px dashed var(--accent);border-radius:8px;padding:10px 12px;margin:8px 12px;display:flex;flex-direction:column;gap:6px}[data-theme=dark] .arch-memory-item{background:var(--surface-deep,#1a1a24)}@media (max-width:768px){.arch-layout{grid-template-columns:1fr!important;grid-template-rows:auto;overflow-y:auto}.arch-resize-handle{display:none}.arch-modules{border-left:none;border-top:1px solid var(--border);max-height:none;min-height:30vh}.arch-chat{border-left:none;border-top:1px solid var(--border);max-height:none;min-height:50vh;flex-direction:column}.arch-memory-panel{min-height:200px}.arch-pcard-actions{opacity:1}}@media (max-width:480px){.arch-col2-tab{padding:0 10px;font-size:10px}.arch-pcard-name{font-size:11px}.arch-modules-header{min-height:38px}.arch-gen-item{padding:6px 10px 6px 24px}.arch-gen-item-name{font-size:11px}}.arch-detail{display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.arch-detail-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.arch-detail-title{font-size:14px;font-weight:700;color:var(--fg);display:flex;align-items:center;gap:8px}.arch-detail-actions{display:flex;align-items:center;gap:8px}.arch-new-task-btn{font-size:11px;padding:5px 12px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font-weight:600;transition:opacity .15s}.arch-new-task-btn:hover{opacity:.85}.arch-task-search-bar{padding:8px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);background:var(--bg)}.arch-task-search-icon{flex-shrink:0;color:var(--muted)}.arch-task-search-input{flex:1;padding:5px 0;border:none;background:0 0;color:var(--fg);font-size:12px;outline:0;font-family:inherit}.arch-task-search-input::placeholder{color:var(--muted)}.arch-task-grid{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.arch-task-card{position:relative;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle,#fafafa);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,border-color .2s,transform .15s,opacity .2s;cursor:default;flex-shrink:0}.arch-task-card[draggable=true]{cursor:grab}.arch-task-card[draggable=true]:active{cursor:grabbing}.arch-task-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.07);border-color:var(--accent);transform:translateY(-1px)}.arch-task-card::before{content:"";display:block;height:3px;border-radius:10px 10px 0 0;background:var(--_card-stripe,var(--border))}.arch-task-card[data-status=created]::before{--_card-stripe:#6b7280}.arch-task-card[data-status=dispatched]::before{--_card-stripe:#3b82f6}.arch-task-card[data-status=running]::before{--_card-stripe:#f59e0b}.arch-task-card[data-status=completed]::before{--_card-stripe:#22c55e}.arch-task-card[data-status=failed]::before{--_card-stripe:#ef4444}.arch-task-card[data-status=cancelled]::before{--_card-stripe:#9ca3af}.arch-task-card-body{padding:14px 16px;display:flex;flex-direction:column;gap:10px;flex:1}.arch-task-top{display:flex;align-items:center;gap:8px}.arch-task-global-num{font-size:10px;font-weight:700;color:var(--fg-muted,#888);flex-shrink:0;min-width:22px}.arch-task-type-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:3px 10px;border-radius:12px;background:var(--accent-subtle,#6366f115);color:var(--accent);white-space:nowrap;flex-shrink:0}.arch-task-topics{font-size:13px;font-weight:600;color:var(--fg);line-height:1.4;word-break:break-word}.arch-task-desc{font-size:12px;color:var(--muted);line-height:1.5;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.arch-task-status{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;flex-shrink:0;margin-left:auto}.arch-task-status.created{background:#6b728015;color:#6b7280}.arch-task-status.dispatched{background:#3b82f615;color:#3b82f6}.arch-task-status.running{background:#f59e0b15;color:#f59e0b}.arch-task-status.completed{background:#22c55e15;color:#22c55e}.arch-task-status.failed{background:#ef444415;color:#ef4444}.arch-task-status.cancelled{background:#6b728015;color:#9ca3af}.arch-task-status.dispatched::before,.arch-task-status.running::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:arch-pulse 1.2s ease-in-out infinite}@keyframes arch-pulse{0%,100%{opacity:1}50%{opacity:.3}}.arch-task-error{font-size:11px;color:var(--danger);line-height:1.4;padding:6px 8px;background:#ef44440a;border-radius:4px}.arch-task-footer{padding:10px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);background:var(--bg)}.arch-task-time{display:flex;align-items:center;gap:3px}.arch-task-actions{margin-left:auto;display:flex;gap:4px}.arch-task-action-btn{background:0 0;border:1px solid var(--border);border-radius:5px;padding:3px 8px;cursor:pointer;font-size:10px;color:var(--muted);font-weight:500;transition:color .12s,border-color .12s,background .12s}.arch-task-action-btn:hover{color:var(--fg);border-color:var(--fg);background:var(--surface,#f0f0f0)}.arch-task-action-btn.icon-only{padding:3px 5px;display:inline-flex;align-items:center;justify-content:center}.arch-task-action-btn.icon-only:hover{color:var(--accent,#6366f1);border-color:var(--accent,#6366f1)}.arch-task-action-btn.danger:hover{color:var(--danger);border-color:var(--danger);background:#ef44440a}.arch-task-card.dragging{opacity:.2;transform:scale(.98)}.arch-task-card.drag-above{box-shadow:0 -3px 0 0 var(--accent)}.arch-task-card.drag-below{box-shadow:0 3px 0 0 var(--accent)}.arch-task-card[data-status=dispatched],.arch-task-card[data-status=running]{animation:arch-task-pulse 2s ease-in-out infinite}@keyframes arch-task-pulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.2)}50%{box-shadow:0 0 8px 2px rgba(99,102,241,.12)}}.arch-task-card[data-status=draft]::before{--_card-stripe:#a78bfa;border-style:dashed}.arch-task-status.draft{background:#a78bfa15;color:#a78bfa}.arch-task-card[data-status=queued]::before{--_card-stripe:#f59e0b}.arch-task-status.queued{background:#f59e0b15;color:#f59e0b}.arch-task-worker-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;background:var(--accent-dim,#6366f115);color:var(--accent,#6366f1);white-space:nowrap}.arch-task-duration{font-variant-numeric:tabular-nums;font-size:10px;font-weight:600;color:var(--accent,#6366f1);animation:arch-badge-pulse 1s ease-in-out infinite}.arch-task-duration-done{font-variant-numeric:tabular-nums;font-size:10px;color:var(--muted)}@keyframes arch-badge-pulse{0%,100%{opacity:1}50%{opacity:.5}}.arch-task-ai-btn{font-size:12px!important}.arch-task-ai-btn:hover{background:var(--accent-dim,#6366f115)!important}.arch-task-run-btn{color:#22c55e!important}.arch-task-run-btn:hover{color:#16a34a!important;border-color:#22c55e!important;background:#22c55e0a!important}.arch-task-stop-btn{font-size:10px;font-weight:600;color:#dc3545!important;padding:2px 8px;border:1px solid #dc354580;border-radius:4px}.arch-task-stop-btn:hover{background:#dc3545!important;color:#fff!important;border-color:#dc3545!important}.arch-project-active-dot{width:8px;height:8px;border-radius:50%;background:var(--accent,#6366f1);animation:arch-task-pulse 1.5s ease-in-out infinite;display:none;flex-shrink:0}.arch-project-card.has-activity .arch-project-active-dot{display:inline-block}.arch-log-viewer{display:flex;flex-direction:column;height:100%;overflow:hidden}.arch-log-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.arch-log-title{font-weight:600;font-size:14px}.arch-log-worker-name{color:var(--accent,#6366f1)}.arch-log-meta{display:flex;align-items:center;gap:8px}.arch-log-duration{font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted)}.arch-log-stop-btn{padding:3px 10px;font-size:11px;font-weight:600;border:1px solid #dc3545;border-radius:4px;background:0 0;color:#dc3545;cursor:pointer;transition:all .15s;white-space:nowrap}.arch-log-stop-btn:hover{background:#dc3545;color:#fff}.arch-log-prompt{padding:8px 16px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);background:var(--bg);max-height:60px;overflow:hidden;text-overflow:ellipsis}.arch-log-messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.arch-log-empty,.arch-log-empty-msg,.arch-log-loading{padding:20px;text-align:center;color:var(--muted);font-size:13px}.arch-log-entry{font-size:13px;line-height:1.5;padding:4px 8px;border-radius:6px}.arch-log-text{background:var(--surface,#f5f5f5);color:var(--fg);word-break:break-word}.arch-log-system{font-size:11px;color:var(--muted);text-align:center;font-style:italic}.arch-log-error-entry{background:#ef44440a;color:#ef4444;border-left:3px solid #ef4444}.arch-log-error{padding:8px 16px;font-size:12px;color:#ef4444;background:#ef44440a;border-top:1px solid #ef444430}.arch-log-meta-entry{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.arch-log-thinking{border-left:3px solid #a78bfa;background:#a78bfa08}.arch-log-thinking-toggle{cursor:pointer;font-size:11px;color:#a78bfa;display:flex;align-items:center;gap:4px;user-select:none}.arch-log-thinking-toggle svg{transition:transform .2s}.arch-log-thinking.expanded .arch-log-thinking-toggle svg{transform:rotate(90deg)}.arch-log-thinking-content{display:none;padding:4px 0 0 14px;font-size:12px;color:var(--muted);white-space:pre-wrap;word-break:break-word}.arch-log-thinking.expanded .arch-log-thinking-content{display:block}.arch-log-live-indicator{padding:6px 16px;font-size:11px;color:var(--accent,#6366f1);text-align:center;animation:arch-badge-pulse 1s ease-in-out infinite;flex-shrink:0}.arch-inline-task-form{border:1px dashed var(--accent);border-radius:10px;padding:12px;background:var(--surface-subtle,#fafafa);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.arch-inline-task-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:12px;resize:none;font-family:inherit;outline:0;line-height:1.4;box-sizing:border-box}.arch-inline-task-input:focus{border-color:var(--accent)}.arch-inline-task-actions{display:flex;align-items:center;justify-content:space-between}.arch-inline-task-hint{font-size:10px;color:var(--muted)}.arch-inline-task-btn{font-size:11px;padding:4px 14px}.arch-log-viewer-inline{margin-top:4px;border-top:1px solid var(--border);padding-top:6px}.arch-log-content{display:none;margin-top:4px;max-height:200px;overflow-y:auto;background:var(--bg);border-radius:4px;padding:6px 8px;font-family:monospace;font-size:10px;color:var(--fg);white-space:pre-wrap;word-break:break-all;line-height:1.4}.arch-log-content.open{display:block}.arch-log-stderr{color:var(--danger)}[data-theme=dark] .arch-task-card{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-task-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.25)}[data-theme=dark] .arch-task-footer{background:var(--surface-subtle,#15151e)}[data-theme=dark] .arch-task-action-btn:hover{background:var(--surface,#22222e)}[data-theme=dark] .arch-inline-task-form{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-inline-task-input{background:var(--bg)}@media (max-width:768px){.arch-task-grid{padding:8px 12px;gap:8px}.arch-task-card-body{padding:10px 12px;gap:8px}.arch-task-footer{padding:8px 12px;flex-wrap:wrap;gap:6px}.arch-task-actions{flex-wrap:wrap;gap:4px}.arch-log-header{flex-wrap:wrap;gap:8px}.arch-task-card-actions{opacity:1}}@media (max-width:480px){.arch-task-top{flex-wrap:wrap;gap:6px}.arch-task-status{margin-left:0}.arch-inline-task-form{padding:10px}.arch-inline-task-input{font-size:12px}.arch-task-action-btn{padding:4px 8px;font-size:10px}}.arch-chat{display:flex;flex-direction:row;background:var(--bg);overflow:hidden}.arch-chat-tabbar{display:flex;flex-direction:column;width:160px;min-width:44px;border-right:1px solid var(--border);background:var(--surface-subtle,#fafafa);overflow:hidden;flex-shrink:0}.arch-chat-tabs{display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.arch-chat-tabs::-webkit-scrollbar{width:4px}.arch-chat-tabs::-webkit-scrollbar-track{background:0 0}.arch-chat-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.arch-chat-tab{display:flex;align-items:center;gap:6px;padding:8px 10px;min-width:0;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:1px solid var(--border);background:0 0;transition:color .12s,background .12s;white-space:nowrap;flex-shrink:0;position:relative}.arch-chat-tab:hover{color:var(--fg);background:var(--bg)}.arch-chat-tab.active{color:var(--fg);background:var(--bg);font-weight:600}.arch-chat-tab.active::after{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;height:auto;background:var(--accent);border-radius:0 2px 2px 0}.arch-chat-tab-group-label{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--muted);padding:8px 14px 2px;letter-spacing:.5px}.arch-chat-tab-mode{font-size:10px;margin-left:auto;opacity:.6}.arch-tab-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .3s}.arch-tab-dot.idle{background:#6b7280;opacity:.5}.arch-tab-dot.streaming{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.6);animation:arch-tab-dot-pulse 1.2s ease-in-out infinite}@keyframes arch-tab-dot-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.arch-chat-tab-icon{font-size:13px;flex-shrink:0}.arch-chat-tab-label{overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.arch-chat-tab-close{display:flex;background:0 0;border:none;padding:2px;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;border-radius:3px;flex-shrink:0;transition:color .12s,background .12s}.arch-chat-tab-close:hover{color:var(--danger);background:rgba(239,68,68,.1)}.arch-chat-tab-add{display:flex;align-items:center;justify-content:center;height:36px;flex-shrink:0;background:0 0;border:none;border-bottom:1px solid var(--border);cursor:pointer;color:var(--muted);transition:color .12s,background .12s}.arch-chat-tab-add:hover{color:var(--accent);background:var(--bg)}.arch-chat-tab-search{display:flex;align-items:center;gap:5px;padding:6px 8px;border-bottom:1px solid var(--border);color:var(--muted);flex-shrink:0}.arch-chat-tab-search-input{flex:1;border:none;background:0 0;color:var(--fg);font-size:10.5px;font-family:inherit;outline:0;min-width:0}.arch-chat-tab-search-input::placeholder{color:var(--muted);opacity:.6}.arch-chat-tab-actions{display:none;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.arch-chat-tab:hover .arch-chat-tab-actions{display:flex}.arch-chat-tab-edit{background:0 0;border:none;padding:2px;cursor:pointer;color:var(--muted);font-size:12px;line-height:1;border-radius:3px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .12s,background .12s}.arch-chat-tab-edit:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.arch-chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.arch-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.arch-chat-messages::-webkit-scrollbar{width:6px}.arch-chat-messages::-webkit-scrollbar-track{background:0 0}.arch-chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.arch-chat-messages::-webkit-scrollbar-thumb:hover{background:var(--muted)}.arch-chat-bubble{border-radius:12px;padding:10px 14px;max-width:92%;animation:arch-bubble-slide-in .3s ease-out both;word-break:break-word;position:relative}.arch-chat-bubble.arch-new{animation:arch-bubble-pop-in .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes arch-bubble-slide-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes arch-bubble-pop-in{from{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:none}}.arch-chat-bubble-user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.arch-chat-bubble-ai{align-self:flex-start;background:color-mix(in srgb,var(--accent) 8%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));border-bottom-left-radius:4px;color:var(--ink,var(--fg))}.arch-chat-bubble-ai.arch-streaming{border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 15%,transparent);position:relative;overflow:hidden}.arch-streaming::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:arch-stream-line 1.5s ease-in-out infinite}@keyframes arch-stream-line{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.arch-chat-msg-head{display:flex;align-items:center;gap:5px;margin-bottom:4px;font-size:10px;font-weight:600;opacity:.7}.arch-chat-bubble-user .arch-chat-msg-head{opacity:.85}.arch-chat-msg-sender{text-transform:uppercase;letter-spacing:.04em}.arch-chat-msg-time{margin-left:auto;font-size:9px;font-weight:400}.arch-chat-avatar{flex-shrink:0}.arch-chat-streaming-badge{font-size:9px;font-weight:700;color:var(--accent);animation:arch-badge-pulse 1s ease-in-out infinite}.arch-chat-model-badge{font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);text-transform:capitalize}@keyframes arch-badge-pulse{0%,100%{opacity:1}50%{opacity:.4}}.arch-chat-thinking-timer{font-size:9px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}.arch-chat-msg-body{font-size:12.5px;line-height:1.65}.arch-chat-bubble-user .arch-chat-msg-body{font-size:12.5px;white-space:pre-wrap}.arch-chat-msg-body p{margin:4px 0;line-height:1.65;font-size:12.5px}.arch-chat-msg-body p:first-child{margin-top:0}.arch-chat-msg-body p:last-child{margin-bottom:0}.arch-chat-msg-body h1{font-size:16px;margin:8px 0 4px;font-weight:700;border-bottom:1px solid color-mix(in srgb,var(--accent) 20%,transparent);padding-bottom:4px}.arch-chat-msg-body h2{font-size:14px;margin:6px 0 3px;font-weight:700}.arch-chat-msg-body h3{font-size:13px;margin:5px 0 2px;font-weight:700}.arch-chat-msg-body h4{font-size:12.5px;margin:5px 0 2px;font-weight:600}.arch-chat-msg-body ol,.arch-chat-msg-body ul{margin:4px 0;padding-left:20px}.arch-chat-msg-body li{margin:2px 0;font-size:12.5px}.arch-chat-msg-body blockquote{margin:6px 0;padding:6px 12px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:0 4px 4px 0;font-style:italic;color:var(--muted)}.arch-chat-msg-body strong{font-weight:600}.arch-chat-msg-body a{color:var(--accent);text-decoration:underline}.arch-chat-msg-body hr{border:none;border-top:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));margin:8px 0}.arch-chat-msg-body code:not(.arch-code-block code){font-family:"Cascadia Code",Consolas,monospace;font-size:11px;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-input))}.arch-chat-bubble-user .arch-chat-msg-body code:not(.arch-code-block code){background:rgba(255,255,255,.15)}.arch-code-wrap{position:relative;margin:6px 0;border-radius:8px;border:1px solid var(--code-border);overflow:hidden;background:var(--code-bg)}.arch-code-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--code-header-bg);border-bottom:1px solid var(--code-border);font-size:11px;color:var(--code-muted)}.arch-code-lang{font-weight:600;text-transform:lowercase}.arch-code-copy{background:0 0;border:1px solid var(--code-btn-border);border-radius:4px;padding:2px 10px;font-size:10px;color:var(--code-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;display:flex;align-items:center;gap:4px}.arch-code-copy:hover{background:var(--code-btn-hover-bg);color:var(--code-btn-hover-fg);border-color:var(--code-border)}.arch-code-copy.copied{color:var(--code-copied);border-color:var(--code-copied)}.arch-code-block{display:block;padding:10px 12px;margin:0;overflow-x:auto;font-family:"Cascadia Code",Consolas,monospace;font-size:11px;line-height:1.5;color:var(--code-fg);background:var(--code-bg);white-space:pre;tab-size:2}.arch-chat-thinking{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-style:italic}.arch-chat-thinking-dots{display:flex;gap:3px}.arch-chat-thinking-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:arch-dot-bounce .6s ease-in-out infinite}.arch-chat-thinking-dots span:nth-child(2){animation-delay:.15s}.arch-chat-thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes arch-dot-bounce{0%,100%,80%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.arch-stream-cursor{display:inline-block;width:2px;height:14px;background:var(--accent);margin-left:1px;vertical-align:text-bottom;animation:arch-cursor-blink .8s step-end infinite}@keyframes arch-cursor-blink{0%,100%{opacity:1}50%{opacity:0}}.arch-chat-msg-footer{margin-top:6px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--accent) 10%,var(--border))}.arch-token-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;opacity:.7}.arch-token-label{font-weight:600;color:var(--muted)}.arch-token-sep{margin:0 2px;opacity:.4}.arch-chat-msg-actions{display:flex;gap:4px;margin-top:6px;opacity:0;transition:opacity .15s}.arch-chat-bubble-ai:hover .arch-chat-msg-actions{opacity:1}.arch-msg-action-btn{background:0 0;border:1px solid var(--border);border-radius:5px;padding:3px 7px;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;gap:3px;font-size:10px;transition:color .12s,border-color .12s,background .12s}.arch-msg-action-btn:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.arch-msg-to-plan{font-size:12px}.arch-msg-pin-decision{font-size:12px}.arch-msg-to-plan:hover{color:#6366f1!important;border-color:#6366f1!important}.arch-msg-pin-decision:hover{color:#f59e0b!important;border-color:#f59e0b!important}.arch-chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;justify-content:center}.arch-chat-suggest-btn{font-size:11px;padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:var(--surface-subtle,#fafafa);color:var(--fg);cursor:pointer;transition:border-color .15s,background .12s,color .12s,transform .1s;white-space:nowrap}.arch-chat-suggest-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg));color:var(--accent);transform:translateY(-1px)}.arch-chat-suggest-btn:active{transform:translateY(0)}[data-theme=dark] .arch-chat-tabbar{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-chat-tab.active,[data-theme=dark] .arch-chat-tab:hover{background:var(--bg)}[data-theme=dark] .arch-chat-tab-add:hover{background:var(--bg)}[data-theme=dark] .arch-resize-handle{background:var(--border)}[data-theme=dark] .arch-resize-handle.dragging,[data-theme=dark] .arch-resize-handle:hover{background:var(--accent)}[data-theme=dark] .arch-chat-msg-body code:not(.arch-code-block code){background:rgba(255,255,255,.08);color:var(--ink,var(--fg))}[data-theme=dark] .arch-chat-bubble-ai{background:color-mix(in srgb,var(--accent) 6%,var(--card))}[data-theme=dark] .arch-chat-suggest-btn{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-chat-suggest-btn:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface-subtle))}[data-theme=dark] .arch-msg-action-btn:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface-subtle))}.arch-tool-chip{display:flex;flex-direction:column;gap:4px;margin:4px 0;padding:5px 8px;border-radius:6px;border-left:3px solid var(--border);background:var(--surface-subtle,#f5f5f5);font-size:11px;transition:border-color .2s}.arch-tool-chip-running{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface-subtle,#f5f5f5));animation:arch-tool-pulse 1.5s ease-in-out infinite}.arch-tool-chip-done{border-left-color:#22c55e;opacity:.8}.arch-tool-chip-error{border-left-color:#ef4444;opacity:.85}@keyframes arch-tool-pulse{0%,100%{opacity:1}50%{opacity:.6}}.arch-tool-chip-header{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}.arch-tool-chip-icon{font-size:12px;flex-shrink:0}.arch-tool-chip-name{flex:1;color:var(--fg-muted,#666);font-family:var(--font-mono,monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arch-tool-chip-name code{background:0 0;color:var(--accent);font-size:11px;padding:0}.arch-tool-chip-status{font-size:11px;flex-shrink:0}.arch-tool-chip-toggle{background:0 0;border:none;cursor:pointer;color:var(--fg-muted,#999);font-size:11px;padding:0 2px;line-height:1;flex-shrink:0}.arch-tool-chip-toggle:hover{color:var(--accent)}.arch-tool-chip-detail{margin:0;padding:6px 8px;background:var(--surface-deep,#eee);border-radius:4px;font-family:var(--font-mono,monospace);font-size:10px;white-space:pre-wrap;word-break:break-all;color:var(--fg-muted,#555);max-height:150px;overflow-y:auto}[data-theme=dark] .arch-tool-chip{background:color-mix(in srgb,var(--accent) 4%,var(--surface-subtle,#1a1a24))}[data-theme=dark] .arch-tool-chip-running{background:color-mix(in srgb,var(--accent) 8%,var(--surface-subtle,#1a1a24))}[data-theme=dark] .arch-tool-chip-detail{background:var(--surface-deep,#111);color:var(--fg-muted,#aaa)}.arch-reconnect-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:8px 0;background:color-mix(in srgb,#ff6b35 8%,var(--bg,#fff));border:1px solid color-mix(in srgb,#ff6b35 30%,transparent);border-radius:8px;font-size:13px}.arch-reconnect-text{color:var(--fg-muted,#666);flex:1}.arch-reconnect-btn{padding:5px 12px;background:#ff6b35;color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.arch-reconnect-btn:hover{background:#e55a25}[data-theme=dark] .arch-reconnect-banner{background:color-mix(in srgb,#ff6b35 10%,var(--surface-subtle,#1a1a24))}.arch-context-count{font-size:10px;color:var(--fg-muted,#999);padding:2px 6px;background:var(--surface-subtle,#f5f5f5);border-radius:10px;border:1px solid var(--border,#ddd);white-space:nowrap;opacity:.7;transition:opacity .2s}.arch-context-count:hover{opacity:1}[data-theme=dark] .arch-context-count{background:var(--surface-deep,#1a1a24);border-color:var(--border,#333)}.arch-plan-review{margin:12px 0;border:1px solid var(--accent,#6366f1);border-radius:10px;background:var(--surface-subtle,#fafafa);overflow:hidden}.arch-plan-review-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--accent,#6366f1);color:#fff;font-weight:600;font-size:13px}.arch-plan-review-icon{font-size:16px}.arch-plan-review-count{margin-left:auto;font-size:11px;opacity:.8;font-weight:400}.arch-plan-review-loading{padding:16px;text-align:center;color:var(--muted);font-size:12px}.arch-plan-review-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--border);font-size:12px}.arch-plan-review-select-all{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--fg)}.arch-plan-review-dispatch{background:var(--accent,#6366f1);color:#fff;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.arch-plan-review-dispatch:hover{background:#4f46e5}.arch-plan-review-dispatch:disabled{opacity:.5;cursor:not-allowed}.arch-plan-review-list{padding:4px 0}.arch-plan-review-item{border-bottom:1px solid var(--border-subtle,#eee);transition:background .12s}.arch-plan-review-item:last-child{border-bottom:none}.arch-plan-review-item.dispatched{opacity:.5}.arch-plan-review-item-header{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:default;font-size:12px}.arch-plan-review-item-header:hover{background:var(--surface,#f0f0f0)}.arch-plan-review-num{color:var(--muted);font-weight:600;font-size:11px;min-width:20px}.arch-plan-review-type{background:var(--surface,#f0f0f0);padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.arch-plan-review-topics{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch-plan-review-toggle{background:0 0;border:none;cursor:pointer;color:var(--muted);font-size:10px;padding:4px;transition:color .15s}.arch-plan-review-toggle:hover{color:var(--fg)}.arch-plan-review-item-body{padding:8px 14px 12px 40px;font-size:12px;color:var(--fg);line-height:1.5}.arch-plan-review-desc{margin-bottom:8px}.arch-plan-review-prompt-code{background:var(--surface-deep,#1a1a24);color:#e2e8f0;padding:10px 12px;border-radius:6px;font-size:11px;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;margin-top:4px}[data-theme=dark] .arch-plan-review{background:var(--surface-deep,#1a1a24);border-color:var(--accent,#6366f1)}[data-theme=dark] .arch-plan-review-item-header:hover{background:var(--surface,#262630)}[data-theme=dark] .arch-plan-review-type{background:var(--surface,#262630)}@media (max-width:768px){.arch-chat{flex-direction:column}.arch-chat-tabbar{flex-direction:row;width:auto;min-width:0;border-right:none;border-bottom:1px solid var(--border);min-height:36px;overflow-x:auto}.arch-chat-tabs{flex-direction:row;overflow-x:auto;overflow-y:hidden}.arch-chat-tab{border-bottom:none;border-right:1px solid var(--border);flex-shrink:0}.arch-chat-tab.active::after{top:auto;bottom:0;left:0;right:0;width:auto;height:2px;border-radius:2px 2px 0 0}.arch-chat-messages{padding:10px}.arch-chat-bubble{max-width:98%}.arch-chat-msg-actions{opacity:1}.arch-plan-review-item-body{padding-left:16px}}@media (max-width:480px){.arch-chat-messages{padding:8px;gap:8px}.arch-chat-bubble{padding:8px 10px}.arch-chat-msg-body{font-size:12px}.arch-chat-suggest-btn{font-size:10px;padding:5px 10px}.arch-chat-tab{padding:6px 8px;font-size:10px}}.arch-chat-mode-bar{display:flex;gap:4px;padding:6px 12px;border-top:1px solid var(--border);background:var(--surface-subtle,#fafafa);flex-shrink:0}.arch-chat-mode-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--border);border-radius:16px;background:0 0;color:var(--muted);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.arch-chat-mode-btn:hover{color:var(--fg);border-color:var(--fg);background:var(--surface,#f5f5f5)}.arch-chat-mode-btn.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);font-weight:600}.arch-chat-mode-btn svg{flex-shrink:0}[data-theme=dark] .arch-chat-mode-bar{background:var(--surface-subtle,#1a1a1a)}.arch-chat-input-area{border-top:1px solid var(--border);padding:10px 12px 8px;flex-shrink:0;background:var(--card)}.arch-chat-input-wrap{display:flex;align-items:flex-end;gap:8px;background:var(--surface-input);border:1px solid var(--border);border-radius:12px;padding:6px 6px 6px 12px;transition:border-color .15s,box-shadow .15s}.arch-chat-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.arch-chat-input{flex:1;border:none;background:0 0;color:var(--ink,var(--fg));font-size:12.5px;font-family:inherit;line-height:1.5;resize:none;outline:0;min-height:20px;max-height:120px}.arch-chat-input:disabled{opacity:.5;cursor:not-allowed}.arch-chat-input::placeholder{color:var(--muted)}.arch-chat-send-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.arch-chat-send-btn:hover{filter:brightness(1.1);transform:scale(1.05)}.arch-chat-send-btn:active{transform:scale(.95)}.arch-chat-send-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;filter:none}.arch-chat-stop-btn{width:32px;height:32px;border-radius:50%;border:2px solid var(--danger,#ef4444);background:0 0;color:var(--danger,#ef4444);cursor:pointer;display:none;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;animation:arch-stop-pulse 1.5s ease-in-out infinite}.arch-chat-stop-btn:hover{background:var(--danger,#ef4444);color:#fff}@keyframes arch-stop-pulse{0%,100%{border-color:var(--danger,#ef4444)}50%{border-color:color-mix(in srgb,var(--danger,#ef4444) 40%,transparent)}}.arch-chat-attachments{display:flex;gap:8px;padding:8px 4px;overflow-x:auto;scrollbar-width:thin}.arch-chat-attach-item{position:relative;flex-shrink:0;width:72px;height:72px;border-radius:8px;border:1px solid var(--border);overflow:hidden;background:var(--surface-subtle,#f5f5f5)}.arch-chat-attach-item img{width:100%;height:100%;object-fit:cover}.arch-chat-attach-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.arch-chat-attach-item:hover .arch-chat-attach-remove{opacity:1}.arch-chat-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 0 0;gap:6px}.arch-chat-toolbar-left,.arch-chat-toolbar-right{display:flex;align-items:center;gap:4px}.arch-chat-tool-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border);border-radius:6px;background:0 0;color:var(--muted);font-size:10.5px;cursor:pointer;transition:color .12s,border-color .12s,background .12s;white-space:nowrap}.arch-chat-tool-btn:hover{color:var(--fg);border-color:var(--fg);background:color-mix(in srgb,var(--fg) 5%,transparent)}.arch-chat-tool-btn.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.arch-chat-thinking-btn.active svg{fill:var(--accent);stroke:var(--accent)}.arch-chat-mode-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:9.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;line-height:1.4}.arch-chat-mode-badge:empty{display:none}.arch-chat-mode-badge.mode-agent{background:color-mix(in srgb,#22c55e 15%,transparent);color:#22c55e;border:1px solid color-mix(in srgb,#22c55e 30%,transparent)}.arch-chat-mode-badge.mode-local{background:color-mix(in srgb,var(--muted) 10%,transparent);color:var(--muted);border:1px solid var(--border)}.arch-chat-select-wrap{position:relative}.arch-chat-effort-select,.arch-chat-model-select{appearance:none;-webkit-appearance:none;padding:3px 22px 3px 8px;border:1px solid var(--border);border-radius:6px;background:0 0;color:var(--muted);font-size:10.5px;font-family:inherit;cursor:pointer;outline:0;transition:color .12s,border-color .12s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.arch-chat-effort-select:hover,.arch-chat-model-select:hover{color:var(--fg);border-color:var(--fg)}.arch-chat-effort-select:focus,.arch-chat-model-select:focus{border-color:var(--accent);color:var(--accent)}.arch-chat-effort-select option,.arch-chat-model-select option{background:var(--card);color:var(--fg)}.arch-chat-hint-inline{font-size:9.5px;color:var(--muted);opacity:.5;white-space:nowrap}.arch-chat-input-area.arch-chat-dragover{background:color-mix(in srgb,var(--accent) 8%,var(--card));border-color:var(--accent)}.arch-chat-input-area.arch-chat-dragover .arch-chat-input-wrap{border-color:var(--accent);border-style:dashed}.arch-chat-user-images{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.arch-chat-user-images img{width:80px;height:80px;object-fit:cover;border-radius:6px;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:transform .12s}.arch-chat-user-images img:hover{transform:scale(1.05)}#archAccountModal{z-index:2100}.arch-account-modal-card{background:var(--card);border:1px solid var(--border);border-radius:12px;width:380px;max-width:92vw;box-shadow:0 8px 32px rgba(0,0,0,.25);overflow:hidden}.arch-account-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.arch-account-modal-header h3{font-size:14px;font-weight:700;margin:0;color:var(--fg)}.arch-account-modal-body{padding:18px}.arch-account-loading{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-style:italic}.arch-account-section{margin-bottom:16px}.arch-account-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px}.arch-account-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}.arch-account-row-label{color:var(--muted)}.arch-account-row-value{color:var(--fg);font-weight:500;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch-account-plan-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff}.arch-account-usage-item{margin-bottom:12px}.arch-account-usage-header{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.arch-account-usage-label{color:var(--fg);font-weight:500}.arch-account-usage-pct{color:var(--muted);font-variant-numeric:tabular-nums}.arch-account-usage-bar{height:6px;border-radius:3px;background:color-mix(in srgb,var(--fg) 10%,var(--bg));overflow:hidden}.arch-account-usage-fill{height:100%;border-radius:3px;transition:width .4s ease-out}.arch-account-usage-fill.fill-blue{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.arch-account-usage-fill.fill-orange{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.arch-account-usage-fill.fill-green{background:linear-gradient(90deg,#10b981,#34d399)}.arch-account-usage-fill.fill-red{background:linear-gradient(90deg,#ef4444,#f87171)}.arch-account-usage-sub{font-size:10px;color:var(--muted);margin-top:2px;opacity:.7}[data-theme=dark] .arch-chat-attach-item{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-chat-effort-select,[data-theme=dark] .arch-chat-model-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}[data-theme=dark] .arch-account-modal-card{background:var(--card);border-color:var(--border)}.arch-summary-banner{margin:8px 12px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,transparent);overflow:hidden}.arch-summary-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:11px;font-weight:600;color:var(--accent);user-select:none}.arch-summary-toggle:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.arch-summary-chevron{margin-left:auto;transition:transform .2s}.arch-summary-body{padding:0 12px 10px;font-size:11.5px;line-height:1.6;color:var(--fg);border-top:1px solid var(--border)}.arch-summary-body ul{padding-left:16px;margin:4px 0}.arch-summary-body li{margin:2px 0}@media (max-width:768px){.arch-chat-input-area{padding:8px}.arch-chat-input-wrap{padding:4px 4px 4px 10px}.arch-chat-toolbar{flex-wrap:wrap;gap:4px}.arch-chat-mode-bar{flex-wrap:wrap;gap:3px}.arch-chat-hint-inline{display:none}.arch-chat-img-preview{max-height:60px}.arch-chat-img-preview img{max-height:56px}}@media (max-width:480px){.arch-chat-toolbar-left{flex-wrap:wrap;gap:3px}.arch-chat-tool-btn{padding:4px 6px;font-size:10px}.arch-chat-effort-select,.arch-chat-model-select{font-size:10px;padding:3px 18px 3px 6px}.arch-chat-mode-btn{padding:4px 8px;font-size:10px}.arch-account-modal-card{width:100vw;max-width:100vw;border-radius:16px 16px 0 0}.arch-summary-banner{font-size:10px;padding:6px 10px}}.arch-header-btn{font-size:11px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--card,#fff);color:var(--fg);cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:border-color .15s,background .12s}.arch-header-btn:hover{border-color:var(--accent);background:var(--surface,#f0f0f0)}.arch-header-btn--directive svg{color:#f59e0b}.arch-skills-modal-card{background:var(--card,#fff);border-radius:16px;width:90vw;height:90vh;max-width:90vw;max-height:90vh;box-shadow:0 24px 80px var(--shadow-color,rgba(0,0,0,.25));border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.arch-skills-modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.arch-skills-modal-header h3{margin:0;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--fg)}.arch-skills-modal-header h3 svg{color:#f59e0b}.arch-skills-close-btn{width:32px;height:32px;border:none;background:0 0;color:var(--muted);font-size:22px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.arch-skills-close-btn:hover{background:var(--surface,#f0f0f0);color:var(--fg)}.arch-skills-body{display:grid;grid-template-columns:300px 1fr;flex:1;min-height:0;overflow:hidden}.arch-skills-list-col{display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden}.arch-skills-toolbar{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-shrink:0}.arch-skills-search-wrap{flex:1;position:relative;display:flex;align-items:center}.arch-skills-search-icon{position:absolute;left:8px;color:var(--muted);pointer-events:none}.arch-skills-search{width:100%;padding:6px 10px 6px 28px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:12px;outline:0;transition:border-color .15s}.arch-skills-search:focus{border-color:var(--accent)}.arch-skills-add-btn{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .12s;flex-shrink:0}.arch-skills-add-btn:hover{border-color:var(--accent);background:var(--surface,#f0f0f0)}.arch-skills-items{flex:1;overflow-y:auto;padding:6px}.arch-skills-list-empty{padding:32px 16px;text-align:center;color:var(--muted);font-size:12px}.arch-skill-item{padding:10px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .12s}.arch-skill-item:hover{background:var(--surface,#f5f5f5)}.arch-skill-item.active{background:var(--accent-surface,rgba(99,102,241,.08));border-left:3px solid var(--accent)}.arch-skill-item.arch-skill-dir{cursor:default;padding:8px 12px 4px;margin-top:6px}.arch-skill-item.arch-skill-dir:hover{background:0 0}.arch-skill-dir-icon{font-size:14px;flex-shrink:0;width:20px;text-align:center}.arch-skill-dir-title{font-size:12px;font-weight:700;color:var(--fg);letter-spacing:.2px}.arch-skill-item.arch-skill-child{padding:6px 12px 6px 32px}.arch-skill-item.arch-skill-child .arch-skill-icon{font-size:14px;width:22px}.arch-skill-item.arch-skill-child .arch-skill-title{font-size:12px;font-weight:500}.arch-skill-icon{font-size:18px;flex-shrink:0;width:28px;text-align:center}.arch-skill-info{min-width:0;flex:1}.arch-skill-title{font-size:13px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arch-skill-cat{font-size:11px;color:var(--muted);margin-top:2px}.arch-skills-detail-col{display:flex;flex-direction:column;overflow:hidden}.arch-skills-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.arch-skills-empty-icon{font-size:36px;opacity:.4}.arch-skills-empty-text{font-size:13px}.arch-skill-detail-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.arch-skill-detail-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--fg)}.arch-skill-detail-icon{font-size:20px}.arch-skill-detail-cat{font-size:11px;color:var(--muted);background:var(--surface,#f0f0f0);padding:2px 8px;border-radius:10px;font-weight:500}.arch-skill-detail-actions{display:flex;gap:6px}.arch-skill-act-btn{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:0 0;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s,border-color .12s}.arch-skill-act-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--surface,#f0f0f0)}.arch-skill-act-btn--danger:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.06)}.arch-skill-detail-body{height:100%;overflow-y:auto;padding:20px;padding-right:14px}.arch-skill-content-rendered{font-size:14px;line-height:1.7;color:var(--fg)}.arch-skill-content-rendered h1,.arch-skill-content-rendered h2,.arch-skill-content-rendered h3{margin-top:1.2em;margin-bottom:.5em}.arch-skill-content-rendered p{margin-bottom:.8em}.arch-skill-content-rendered pre{background:var(--surface,#f4f4f4);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;font-size:12.5px}.arch-skill-content-rendered code{background:var(--surface,#f4f4f4);padding:1px 5px;border-radius:4px;font-size:.9em}.arch-skill-content-rendered pre code{background:0 0;padding:0}.arch-skill-content-rendered ol,.arch-skill-content-rendered ul{padding-left:1.5em;margin-bottom:.8em}.arch-skill-content-rendered blockquote{border-left:3px solid var(--accent);margin:.8em 0;padding:.5em 1em;color:var(--muted);background:var(--surface,#f9f9f9);border-radius:0 6px 6px 0}.arch-skill-content-rendered table{border-collapse:collapse;width:100%;margin-bottom:1em}.arch-skill-content-rendered td,.arch-skill-content-rendered th{border:1px solid var(--border);padding:6px 10px;text-align:left;font-size:13px}.arch-skill-content-rendered th{background:var(--surface,#f4f4f4);font-weight:600}.arch-dir-category{margin-bottom:2px}.arch-dir-cat-header{display:flex;align-items:center;gap:6px;padding:8px 10px;cursor:pointer;border-radius:6px;font-size:12px;font-weight:700;color:var(--fg);text-transform:uppercase;letter-spacing:.3px;transition:background .12s;user-select:none}.arch-dir-cat-header:hover{background:var(--surface,#f5f5f5)}.arch-dir-cat-chevron{font-size:10px;width:14px;text-align:center;color:var(--muted);flex-shrink:0}.arch-dir-cat-icon{font-size:14px;flex-shrink:0}.arch-dir-cat-label{flex:1}.arch-dir-cat-count{font-size:10px;font-weight:600;color:var(--muted);background:var(--surface,#f0f0f0);padding:1px 6px;border-radius:8px;line-height:1.4}.arch-dir-cat-files{padding-left:4px}.arch-dir-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent,#6366f1);border-radius:50%;animation:archDirSpin .6s linear infinite;vertical-align:middle;margin-right:6px}@keyframes archDirSpin{to{transform:rotate(360deg)}}.arch-dir-error{color:var(--danger,#ef4444)}.arch-dir-config-info{margin:8px;padding:10px 12px;background:color-mix(in srgb,var(--accent) 5%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));border-radius:8px;font-size:11px}.arch-dir-config-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px}.arch-dir-config-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;gap:8px}.arch-dir-config-label{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:500;white-space:nowrap}.arch-dir-config-value{color:var(--fg);font-weight:500;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.arch-dir-config-none{color:var(--muted);font-style:italic;opacity:.7}.arch-dir-config-dim{color:var(--muted);font-size:10px}.arch-dir-config-code{font-family:"Cascadia Code",Consolas,monospace;font-size:10px;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--fg) 6%,var(--bg))}.arch-dir-code-block{background:var(--surface,#f4f4f4);border:1px solid var(--border);border-radius:8px;padding:14px 16px;overflow-x:auto;font-size:12.5px;line-height:1.6;font-family:"SF Mono","Fira Code","Cascadia Code",Consolas,monospace;white-space:pre-wrap;word-break:break-word;color:var(--fg);margin:0}.arch-dir-code-block code{background:0 0;padding:0;font-size:inherit}.arch-skills-header-actions{display:flex;align-items:center;gap:6px}.arch-skills-toggle-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .12s,color .12s}.arch-skills-toggle-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--surface,#f0f0f0)}.arch-skill-detail-search-wrap{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);flex-shrink:0;width:200px}.arch-skill-detail-search-wrap svg{color:var(--muted);flex-shrink:0}.arch-skill-detail-search{border:none;background:0 0;color:var(--fg);font-size:12px;outline:0;flex:1;min-width:0}.arch-skill-detail-search::placeholder{color:var(--muted);opacity:.7}.arch-skill-detail-search-count{font-size:10px;color:var(--muted);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}mark.arch-search-hl{background:rgba(250,204,21,.4);color:inherit;border-radius:2px;padding:0 1px}mark.arch-search-hl.arch-search-active{background:rgba(239,68,68,.6);outline:2px solid rgba(239,68,68,.8);outline-offset:1px}.arch-skill-detail-body-wrap{flex:1;position:relative;min-height:0;overflow:hidden}.arch-search-scrollbar-track{position:absolute;top:0;right:0;width:8px;height:100%;pointer-events:auto;cursor:pointer;z-index:2}.arch-search-tick{position:absolute;right:1px;width:6px;height:3px;background:#ef4444;border-radius:1px;pointer-events:none;opacity:.85}.arch-skill-content-rendered a{color:var(--accent,#6366f1);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:2px;transition:color .12s}.arch-skill-content-rendered a:hover{color:color-mix(in srgb,var(--accent) 80%,#fff)}[data-theme=dark] .arch-skills-modal-card{background:var(--card,#1e1e2e)}[data-theme=dark] .arch-skill-item.active{background:rgba(99,102,241,.12)}[data-theme=dark] .arch-skill-detail-cat{background:rgba(99,102,241,.15)}[data-theme=dark] .arch-dir-code-block,[data-theme=dark] .arch-skill-content-rendered pre{background:rgba(0,0,0,.3)}[data-theme=dark] .arch-skill-content-rendered blockquote{background:rgba(0,0,0,.2)}[data-theme=dark] .arch-dir-cat-count{background:rgba(255,255,255,.08)}[data-theme=dark] .arch-dir-cat-header:hover{background:rgba(255,255,255,.05)}[data-theme=dark] .arch-header-btn{background:var(--card,#1e1e2e)}[data-theme=dark] .arch-header-btn:hover{background:var(--surface,#2a2a3e)}[data-theme=dark] .arch-skills-toggle-btn{background:var(--card,#1e1e2e)}[data-theme=dark] .arch-skill-detail-search-wrap{background:rgba(0,0,0,.2)}[data-theme=dark] mark.arch-search-hl{background:rgba(250,204,21,.3)}[data-theme=dark] mark.arch-search-hl.arch-search-active{background:rgba(239,68,68,.5);outline-color:rgba(239,68,68,.7)}[data-theme=dark] .arch-skill-content-rendered a{color:#a5b4fc;text-decoration-color:rgba(165,180,252,0.3)}[data-theme=dark] .arch-skill-content-rendered a:hover{color:#c7d2fe}@media (max-width:768px){.arch-skills-modal-card{width:98vw;height:95vh;border-radius:12px}.arch-skills-body{grid-template-columns:1fr;grid-template-rows:40% 1fr}.arch-skills-list-col{border-right:none;border-bottom:1px solid var(--border)}}@media (max-width:480px){.arch-skills-modal-card{width:100vw;height:100vh;border-radius:0}.arch-skills-body{grid-template-columns:1fr;grid-template-rows:35% 1fr}.arch-skill-name{font-size:12px}.arch-skill-desc{font-size:10px}.arch-skill-detail-header{padding:10px 12px}}.arch-project-modal-card{background:var(--card);border-radius:16px;width:580px;max-width:95vw;max-height:90vh;box-shadow:0 24px 80px var(--shadow-color);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.arch-project-modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.arch-project-modal-header h3{margin:0;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--fg)}.arch-project-modal-body{flex:1;overflow-y:auto;padding:0}.arch-pmodal-form{padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}.arch-pmodal-row{display:flex;gap:8px;align-items:center}.arch-pmodal-icon-btn{width:48px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,transform .15s;flex-shrink:0}.arch-pmodal-icon-btn:hover{border-color:var(--accent);transform:scale(1.08)}.arch-pmodal-icon-btn:active{transform:scale(.95)}.arch-pmodal-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:13px;outline:0;transition:border-color .15s}.arch-pmodal-input:focus{border-color:var(--accent)}.arch-pmodal-textarea{resize:vertical;min-height:40px;font-family:inherit}.arch-pmodal-field{display:flex;flex-direction:column;gap:4px}.arch-pmodal-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;gap:8px}.arch-pmodal-link-btn{font-size:10px;color:var(--accent);background:0 0;border:none;cursor:pointer;text-decoration:underline;padding:0;font-weight:500}.arch-pmodal-link-btn:hover{opacity:.8}.arch-pmodal-select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:13px;outline:0;cursor:pointer;transition:border-color .15s}.arch-pmodal-select:focus{border-color:var(--accent)}.arch-pmodal-agents{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow-y:auto;padding:4px 0}.arch-pmodal-agent-card{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .12s;flex:1 1 calc(50% - 3px);min-width:180px;max-width:100%}.arch-pmodal-agent-card:hover{border-color:var(--accent);background:var(--surface-hover)}.arch-pmodal-agent-card.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.arch-pmodal-agent-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.arch-pmodal-agent-dot.online{background:#22c55e}.arch-pmodal-agent-dot.offline{background:#9ca3af}.arch-pmodal-agent-info{flex:1;min-width:0}.arch-pmodal-agent-name{font-size:12px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arch-pmodal-agent-host{font-size:10px;color:var(--muted)}.arch-pmodal-agent-check{font-size:14px;color:var(--accent);width:20px;text-align:center;flex-shrink:0}.arch-pmodal-empty{padding:16px;text-align:center;color:var(--muted);font-size:12px}.arch-pmodal-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:6px;border-top:1px solid var(--border);margin-top:4px}.arch-techtpl-modal-card{background:var(--card);border-radius:16px;width:640px;max-width:95vw;max-height:90vh;box-shadow:0 24px 80px var(--shadow-color);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.arch-techtpl-modal-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.arch-techtpl-modal-header h3{margin:0;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--fg)}.arch-techtpl-header-actions{display:flex;gap:6px;align-items:center}.arch-techtpl-modal-body{flex:1;overflow-y:auto;padding:12px}.arch-techtpl-list{display:flex;flex-direction:column;gap:6px}.arch-techtpl-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;transition:border-color .15s,background .12s}.arch-techtpl-item:hover{border-color:var(--accent);background:var(--surface-hover)}.arch-techtpl-item-icon{font-size:22px;flex-shrink:0;width:32px;text-align:center}.arch-techtpl-item-info{flex:1;min-width:0}.arch-techtpl-item-name{font-size:13px;font-weight:600;color:var(--fg)}.arch-techtpl-item-path{font-size:11px;color:var(--muted);font-family:"SF Mono","Fira Code",monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arch-techtpl-item-ssh{color:var(--accent);font-family:inherit}.arch-techtpl-item-desc{font-size:11px;color:var(--muted);margin-top:2px}.arch-techtpl-item-actions{display:flex;gap:4px;flex-shrink:0}.arch-techtpl-empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:6px}.arch-techtpl-form{display:flex;flex-direction:column;gap:10px;padding:4px 8px}[data-theme=dark] .arch-project-modal-card,[data-theme=dark] .arch-techtpl-modal-card{background:var(--card)}[data-theme=dark] .arch-pmodal-agent-card.selected{background:color-mix(in srgb,var(--accent) 12%,transparent)}[data-theme=dark] .arch-techtpl-item:hover{background:var(--surface-hover)}[data-theme=dark] .arch-pmodal-icon-btn{background:var(--surface-subtle)}.arch-techtpl-path-row{display:flex;gap:4px;align-items:center}.arch-techtpl-path-row .arch-pmodal-input{flex:1;font-family:"SF Mono","Fira Code",monospace;font-size:12px;background:var(--surface-subtle);cursor:default}[data-theme=dark] .arch-techtpl-path-row .arch-pmodal-input{background:var(--surface-subtle)}.arch-techtpl-clear-btn{padding:4px 8px!important;font-size:16px;line-height:1;min-width:28px}.arch-techtpl-explorer{border:1px solid var(--border);border-radius:10px;overflow:hidden}.arch-techtpl-explorer-header{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface-subtle);border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--fg)}[data-theme=dark] .arch-techtpl-explorer-header{background:var(--surface-subtle)}.arch-techtpl-explorer-label{flex:1}.arch-techtpl-explorer-agent{font-size:10px;font-weight:500;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);padding:2px 8px;border-radius:10px}.arch-techtpl-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;padding:6px 12px;gap:0;font-size:11px;font-family:"SF Mono","Fira Code",monospace;background:var(--bg);border-bottom:1px solid var(--border);min-height:28px}.arch-techtpl-bc-item{color:var(--accent);cursor:pointer;padding:1px 2px;border-radius:3px;transition:background .12s}.arch-techtpl-bc-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.arch-techtpl-bc-sep{color:var(--muted);margin:0 1px}.arch-techtpl-bc-select{margin-left:auto;display:flex;align-items:center;gap:3px;padding:2px 8px;font-size:10px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid var(--accent);border-radius:6px;cursor:pointer;transition:background .12s;flex-shrink:0}.arch-techtpl-bc-select:hover{background:var(--accent);color:#fff}.arch-techtpl-file-list{max-height:260px;overflow-y:auto}.arch-techtpl-file-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--fg);cursor:default;border-bottom:1px solid var(--border-subtle,rgba(128,128,128,.08));transition:background .1s}.arch-techtpl-file-item:last-child{border-bottom:none}.arch-techtpl-file-dir{cursor:pointer}.arch-techtpl-file-dir:hover{background:var(--surface-hover)}[data-theme=dark] .arch-techtpl-file-dir:hover{background:var(--surface-hover)}.arch-techtpl-file-dir svg{color:var(--accent)}.arch-techtpl-file-dir span{font-weight:500}.arch-techtpl-file-file svg{color:var(--muted)}.arch-techtpl-file-file span{color:var(--muted)}.arch-techtpl-file-size{margin-left:auto;font-size:10px;color:var(--muted);font-family:"SF Mono","Fira Code",monospace;flex-shrink:0}.arch-techtpl-file-select-btn{margin-left:auto;padding:2px 10px;font-size:10px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid var(--accent);border-radius:6px;cursor:pointer;opacity:0;transition:opacity .12s,background .12s;flex-shrink:0}.arch-techtpl-file-dir:hover .arch-techtpl-file-select-btn{opacity:1}.arch-techtpl-file-select-btn:hover{background:var(--accent);color:#fff}.arch-techtpl-file-empty,.arch-techtpl-file-error,.arch-techtpl-file-loading{padding:24px;text-align:center;font-size:12px;color:var(--muted)}.arch-techtpl-file-error{color:var(--danger,#ef4444)}.arch-techtpl-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:ttSpin .6s linear infinite;vertical-align:middle;margin-right:6px}@keyframes ttSpin{to{transform:rotate(360deg)}}@media (max-width:640px){.arch-project-modal-card,.arch-techtpl-modal-card{width:98vw;max-height:95vh;border-radius:12px}.arch-pmodal-agent-card{flex:1 1 100%}.arch-techtpl-file-list{max-height:200px}}.arch-pmodal-ssh-row{display:flex;gap:6px;align-items:center}.arch-pmodal-ssh-select{flex:1;min-width:0}.arch-pmodal-ssh-test{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);cursor:pointer;transition:border-color .15s,background .15s}.arch-pmodal-ssh-test:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.arch-pmodal-ssh-test:disabled{opacity:.6;cursor:not-allowed}@keyframes arch-spin{to{transform:rotate(360deg)}}.arch-spin{animation:arch-spin .8s linear infinite}.arch-code-modal-card{width:calc(100vw * 10 / 11);height:calc(100vh * 10 / 11);max-width:98vw;max-height:98vh;background:var(--card);border-radius:14px;border:1px solid var(--border);box-shadow:0 24px 80px var(--shadow-color);display:flex;flex-direction:column;overflow:hidden}.arch-code-modal-header{padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--surface-subtle)}.arch-code-modal-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--fg)}.arch-code-modal-title svg{color:#3b82f6}.arch-code-modal-actions{display:flex;align-items:center;gap:6px}.arch-code-modal-body{flex:1;min-height:0;position:relative}.arch-code-modal-body iframe{width:100%;height:100%;border:none;display:block}.arch-code-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--muted)}.arch-code-placeholder-icon{opacity:.3}.arch-code-placeholder-text{font-size:14px}.arch-code-error{text-align:center;padding:40px;color:var(--muted)}.arch-code-error-title{font-size:16px;font-weight:700;color:var(--fg);margin-bottom:8px}.arch-code-error-text{font-size:13px;line-height:1.6;max-width:500px;margin:0 auto}.arch-code-error-text code{background:var(--surface-subtle);padding:1px 5px;border-radius:3px;font-size:12px}.arch-header-btn--code svg{color:#3b82f6}[data-theme=dark] .arch-code-modal-card{background:var(--card)}[data-theme=dark] .arch-code-modal-header{background:var(--surface-subtle)}@media (max-width:768px){.arch-code-modal-card{width:98vw;height:95vh;border-radius:10px}}.arch-template-panel{padding:12px}.arch-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.arch-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle,#fafafa);cursor:pointer;text-align:center;transition:border-color .15s,background .12s,box-shadow .2s,transform .15s}.arch-card:hover{border-color:var(--accent);background:var(--bg);box-shadow:0 4px 12px rgba(99,102,241,.1);transform:translateY(-1px)}.arch-card:active{transform:translateY(0);box-shadow:0 2px 6px rgba(99,102,241,.08)}.arch-card--gen.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--bg)}.arch-card-icon{font-size:24px;line-height:1}.arch-card-name{font-size:11px;font-weight:600;color:var(--fg);line-height:1.3}.arch-card-desc{font-size:10px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.arch-card-cat{font-size:9px;font-weight:500;color:var(--accent);background:rgba(99,102,241,.08);padding:1px 6px;border-radius:6px;margin-top:2px}.arch-card-top-row{display:flex;justify-content:flex-end;width:100%;min-height:16px}.arch-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s}.arch-card:hover .arch-card-actions{opacity:1}.arch-card-action-btn{background:0 0;border:none;padding:3px;cursor:pointer;color:var(--muted);border-radius:4px;transition:color .12s,background .12s;display:inline-flex;align-items:center;justify-content:center}.arch-card-edit-btn:hover{color:var(--accent);background:rgba(99,102,241,.08)}.arch-card-del-btn:hover{color:var(--danger);background:rgba(239,68,68,.08)}.arch-tpl-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.arch-tpl-new-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:5px 12px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;transition:opacity .15s;white-space:nowrap;flex-shrink:0}.arch-tpl-new-btn:hover{opacity:.85}.arch-tpl-filter{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:11px;outline:0;cursor:pointer;transition:border-color .15s}.arch-tpl-filter:focus{border-color:var(--accent)}.arch-tpl-master-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;flex-shrink:0}.arch-tpl-master-btn:hover{background:var(--surface-subtle);border-color:var(--accent)}.arch-tpl-tree-item{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 32px;cursor:pointer;border-radius:6px;margin:1px 6px;transition:background .15s}.arch-tpl-tree-item:hover{background:var(--surface-subtle)}.arch-tpl-item-actions{display:none;align-items:center;gap:2px;flex-shrink:0}.arch-tpl-tree-item:hover .arch-tpl-item-actions{display:flex}.arch-tpl-item-action{background:0 0;border:none;cursor:pointer;padding:3px;border-radius:4px;color:var(--muted);display:flex;align-items:center;transition:color .15s,background .15s}.arch-tpl-item-action:hover{color:var(--accent);background:rgba(99,102,241,.08)}.arch-tpl-search-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.arch-tpl-search-icon{flex-shrink:0;color:var(--muted)}.arch-tpl-search-input{flex:1;padding:5px 0;border:none;background:0 0;color:var(--fg);font-size:12px;outline:0;font-family:inherit}.arch-tpl-search-input::placeholder{color:var(--muted)}.arch-tpl-prompt-input{resize:vertical;min-height:56px;font-family:inherit;font-size:11px!important;line-height:1.5}.arch-tpl-form{padding:12px;border-bottom:1px solid var(--border);background:var(--surface-subtle,#fafafa);display:flex;flex-direction:column;gap:8px;animation:arch-form-in .15s ease-out}.arch-tpl-form-row{display:flex;gap:8px}.arch-tpl-icon-input{width:48px!important;flex-shrink:0;text-align:center;font-size:16px!important}.arch-tpl-cat-select{flex:1;cursor:pointer}.arch-mcat-modal{background:var(--card,#fff);border-radius:14px;width:420px;max-width:95vw;max-height:80vh;box-shadow:0 20px 60px rgba(0,0,0,.2),0 0 0 1px var(--border);display:flex;flex-direction:column;overflow:hidden;animation:arch-modal-in .2s ease-out}@keyframes arch-modal-in{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.arch-mcat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.arch-mcat-header-left{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--fg)}.arch-mcat-count{font-size:10px;font-weight:600;background:var(--surface-subtle,#f0f0f0);color:var(--muted);padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.arch-mcat-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:0 0;cursor:pointer;color:var(--muted);transition:background .15s,color .15s}.arch-mcat-close:hover{background:var(--surface-subtle,#f0f0f0);color:var(--fg)}.arch-mcat-body{flex:1;overflow-y:auto;padding:8px}.arch-mcat-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;flex-shrink:0}.arch-mcat-add-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:7px 16px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer;transition:opacity .15s}.arch-mcat-add-btn:hover{opacity:.85}.arch-mcat-list{display:flex;flex-direction:column;gap:2px}.arch-mcat-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;transition:background .15s}.arch-mcat-item:hover{background:var(--surface-subtle,#f5f5f5)}.arch-mcat-item-icon{font-size:18px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface-subtle,#f0f0f0);border-radius:6px}.arch-mcat-item-info{flex:1;min-width:0}.arch-mcat-item-name{font-size:13px;font-weight:500;color:var(--fg);word-break:break-word}.arch-mcat-item-actions{display:none;align-items:center;gap:2px;flex-shrink:0}.arch-mcat-item:hover .arch-mcat-item-actions{display:flex}.arch-mcat-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;border:none;background:0 0;cursor:pointer;color:var(--muted);transition:color .15s,background .15s}.arch-mcat-action-btn:hover{color:var(--accent);background:rgba(99,102,241,.08)}.arch-mcat-del-btn:hover{color:var(--danger)!important;background:rgba(239,68,68,.08)!important}.arch-mcat-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--muted);font-size:12px;text-align:center}.arch-mt-modal{background:var(--card,#fff);border-radius:14px;width:50vw;min-width:480px;max-width:900px;max-height:85vh;box-shadow:0 20px 60px rgba(0,0,0,.2),0 0 0 1px var(--border);display:flex;flex-direction:column;overflow:hidden;animation:arch-modal-in .2s ease-out}.arch-mt-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.arch-mt-header-left{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--fg)}.arch-mt-search-wrap{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.arch-mt-search-icon{flex-shrink:0;color:var(--muted)}.arch-mt-search{flex:1;padding:6px 0;border:none;background:0 0;color:var(--fg);font-size:13px;outline:0;font-family:inherit}.arch-mt-search::placeholder{color:var(--muted)}.arch-mt-body{flex:1;overflow-y:auto;padding:4px 8px}.arch-mt-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:8px;flex-shrink:0}.arch-mt-copy-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:7px 16px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer;transition:opacity .15s}.arch-mt-copy-btn:hover{opacity:.85}.arch-mt-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--muted);font-size:12px;text-align:center}.arch-mt-tree{padding:4px 0}.arch-mt-group{margin-bottom:2px}.arch-mt-group-header{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;user-select:none;transition:color .15s}.arch-mt-group-header:hover{color:var(--fg)}.arch-mt-group-header.expanded .arch-gen-chevron{transform:rotate(90deg)}.arch-mt-group-icon{display:flex;align-items:center;opacity:.6}.arch-mt-group-label{flex:1}.arch-mt-group-count{font-size:10px;font-weight:500;color:var(--muted);background:var(--surface-subtle);border-radius:8px;padding:1px 6px;min-width:18px;text-align:center}.arch-mt-group-items{overflow:hidden}.arch-mt-group-items.collapsed{display:none}.arch-mt-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px 8px 28px;border-radius:8px;margin:1px 4px;transition:background .15s}.arch-mt-item:hover{background:var(--surface-subtle,#f5f5f5)}.arch-mt-item:hover .arch-mt-item-actions{display:flex}.arch-mt-item.arch-mt-in-project{opacity:.7}.arch-mt-checkbox{display:flex;align-items:center;flex-shrink:0;padding-top:2px}.arch-mt-checkbox input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--accent)}.arch-mt-item-body{flex:1;min-width:0}.arch-mt-item-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.arch-mt-item-name{font-size:12px;font-weight:500;color:var(--fg);word-break:break-word}.arch-mt-badge-exists{display:inline-flex;align-items:center;font-size:9px;font-weight:600;padding:1px 6px;border-radius:6px;background:#22c55e18;color:#22c55e;white-space:nowrap;flex-shrink:0}.arch-mt-item-prompt{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.45;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.arch-mt-item-actions{display:none;align-items:center;gap:2px;flex-shrink:0;padding-top:1px}[data-theme=dark] .arch-mcat-modal,[data-theme=dark] .arch-mt-modal{background:var(--card,#1e1e2e)}[data-theme=dark] .arch-mcat-close:hover{background:var(--surface,#2a2a3e)}[data-theme=dark] .arch-mcat-item:hover,[data-theme=dark] .arch-mt-item:hover{background:var(--surface,#2a2a3e)}[data-theme=dark] .arch-mcat-item-icon{background:var(--surface,#2a2a3e)}[data-theme=dark] .arch-mcat-count{background:var(--surface,#2a2a3e)}[data-theme=dark] .arch-mt-badge-exists{background:#22c55e20}[data-theme=dark] .arch-tpl-form{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-tpl-filter{background:var(--bg)}[data-theme=dark] .arch-card--gen.active{background:var(--surface,#22222e)}[data-theme=dark] .arch-card{background:var(--surface-subtle,#1a1a24)}[data-theme=dark] .arch-card:hover{background:var(--surface,#22222e);box-shadow:0 4px 12px rgba(99,102,241,.15)}[data-theme=dark] .arch-card-edit-btn:hover{background:rgba(99,102,241,.15)}[data-theme=dark] .arch-card-del-btn:hover{background:rgba(239,68,68,.15)}[data-theme=dark] .arch-card-cat{background:rgba(99,102,241,.15)}@media (max-width:768px){.arch-mt-modal{width:95vw;min-width:0}.arch-mcat-modal{width:95vw}.arch-tplform-modal{width:95vw;max-height:90vh}}.arch-tplform-modal{width:50vw;max-width:680px;max-height:70vh;background:var(--bg);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:arch-modal-in .2s ease}.arch-tplform-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.arch-tplform-header-left{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.arch-tplform-body{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.arch-tplform-field{display:flex;flex-direction:column;gap:6px}.arch-tplform-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.arch-tplform-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary,var(--bg));color:var(--fg);font-size:13px;font-family:inherit;outline:0;transition:border-color .15s;box-sizing:border-box}.arch-tplform-input:focus{border-color:var(--accent)}select.arch-tplform-input{cursor:pointer}.arch-tplform-textarea{resize:vertical;min-height:120px;line-height:1.6}.arch-tplform-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0}[data-theme=dark] .arch-tplform-modal{box-shadow:0 20px 60px rgba(0,0,0,.6)}[data-theme=dark] .arch-tplform-input{background:rgba(255,255,255,.04)}.ssh-view{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.ssh-conn-list{flex:1;overflow-y:auto;padding:4px 0}.ssh-conn-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 8px;padding:8px 14px;cursor:pointer;font-size:12px;color:var(--fg);border-left:3px solid transparent;transition:all .12s;position:relative}.ssh-conn-item:hover{background:var(--bg-hover,var(--bg-secondary))}.ssh-conn-item.active{background:var(--bg-hover,var(--bg-secondary));border-left-color:var(--accent)}.ssh-conn-info{flex:1;min-width:0}.ssh-conn-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ssh-conn-host{font-size:10px;color:var(--fg-muted);white-space:normal;word-break:break-all}.ssh-conn-cluster{font-size:9px;color:var(--accent);font-weight:600;margin-top:2px}.ssh-conn-desc{font-size:10px;color:var(--fg-muted);margin-top:2px;line-height:1.35;white-space:pre-wrap;word-break:break-word}.ssh-conn-icon{font-size:14px;line-height:1;margin-top:1px}.ssh-conn-actions{width:100%;display:flex;gap:2px;opacity:0;transition:opacity .12s;padding:2px 0 0;margin-left:22px}.ssh-conn-item:hover .ssh-conn-actions{opacity:1}.ssh-conn-action-btn{background:0 0;border:none;padding:2px;cursor:pointer;color:var(--fg-muted);border-radius:3px;line-height:1;transition:color .12s}.ssh-conn-action-btn:hover{color:var(--accent)}.ssh-conn-action-btn.danger:hover{color:var(--danger,#e74c3c)}.ssh-conn-empty{padding:24px 14px;text-align:center;color:var(--fg-muted);font-size:12px}.ssh-tree-node{margin-bottom:2px}.ssh-tree-parent{display:flex;align-items:center;gap:6px;padding:7px 10px;cursor:pointer;font-size:11px;color:var(--fg);font-weight:600;user-select:none;border-radius:4px;margin:0 4px;transition:background .12s}.ssh-tree-parent:hover{background:var(--bg-hover,var(--bg-secondary))}.ssh-tree-arrow{flex-shrink:0;transition:transform .15s ease;transform:rotate(0);opacity:.5}.ssh-tree-parent.open .ssh-tree-arrow{transform:rotate(90deg)}.ssh-tree-icon{flex-shrink:0;opacity:.6}.ssh-tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ssh-tree-count{flex-shrink:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:0 6px;font-size:9px;font-weight:700;color:var(--fg-muted);line-height:16px}.ssh-tree-active-dot{width:6px;height:6px;border-radius:50%;background:#4caf50;box-shadow:0 0 4px #4caf5066;flex-shrink:0}.ssh-tree-children{overflow:hidden;max-height:2000px;transition:max-height .2s ease}.ssh-tree-children.collapsed{max-height:0}.ssh-tree-children .ssh-conn-item{padding-left:32px}.ssh-tree-divider{height:1px;background:var(--border);margin:6px 10px}.ssh-conn-drag{flex-shrink:0;width:12px;font-size:10px;color:var(--fg-muted);opacity:0;cursor:grab;user-select:none;transition:opacity .12s;line-height:1}.ssh-conn-item:hover .ssh-conn-drag{opacity:.5}.ssh-conn-drag:hover{opacity:1!important;color:var(--accent)}.ssh-conn-item.dragging{opacity:.3}.ssh-conn-item.drag-over{border-top:2px solid var(--accent);padding-top:6px}.ssh-conn-live{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4caf50;box-shadow:0 0 4px #4caf5066;margin-left:5px;vertical-align:middle}.ssh-tab-bar{display:flex;align-items:center;gap:0;padding:0 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;min-height:34px}.ssh-tab-bar::-webkit-scrollbar{height:2px}.ssh-tab-bar:empty{min-height:0;padding:0;border:none}.ssh-tab{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:11px;color:var(--fg-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .12s;flex-shrink:0}.ssh-tab:hover{color:var(--fg);background:var(--bg-hover,var(--bg))}.ssh-tab.active{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.ssh-tab-close{background:0 0;border:none;padding:0;cursor:pointer;color:var(--fg-muted);font-size:13px;line-height:1;border-radius:3px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;transition:all .12s}.ssh-tab-close:hover{background:var(--danger,#e74c3c);color:#fff}.ssh-terminal-container{flex:1;min-height:0;position:relative;background:#1e1e1e}.ssh-terminal-wrap{position:absolute;inset:0;padding:4px}.ssh-term-instance{width:100%;height:100%}.ssh-term-instance .xterm,.ssh-terminal-wrap .xterm{height:100%}.ssh-term-instance .xterm-viewport,.ssh-terminal-wrap .xterm-viewport{overflow-y:auto!important}.ssh-status-bar{display:flex;align-items:center;gap:12px;padding:3px 12px;background:var(--bg-secondary);border-top:1px solid var(--border);font-size:10px;color:var(--fg-muted);flex-shrink:0}.ssh-status-indicator{display:flex;align-items:center;gap:4px}.ssh-status-dot{width:6px;height:6px;border-radius:50%}.ssh-status-dot.connected{background:#4caf50;box-shadow:0 0 4px #4caf5066}.ssh-status-dot.disconnected{background:#9e9e9e}.ssh-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--fg-muted);font-size:13px;opacity:.5;position:absolute;inset:0}.ssh-placeholder svg{opacity:.3}.ssh-form-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1100;opacity:0;visibility:hidden;transition:all .15s}.ssh-form-overlay.open{opacity:1;visibility:visible}.ssh-form-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:20px 24px;width:440px;max-width:90vw;box-shadow:0 16px 40px rgba(0,0,0,.3)}.ssh-form-copy-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.ssh-form-copy-text{flex:1;font-family:var(--font-mono,monospace);font-size:12px;color:var(--fg);word-break:break-all}.ssh-form-copy-btn{display:flex;align-items:center;gap:4px;padding:4px 10px!important;font-size:11px!important;white-space:nowrap;flex-shrink:0}.ssh-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ssh-form-title{font-size:15px;font-weight:700;color:var(--fg);margin:0}.ssh-form-close{background:0 0;border:none;font-size:22px;line-height:1;color:var(--fg-muted);cursor:pointer;padding:0 2px;border-radius:4px;transition:all .12s}.ssh-form-close:hover{color:var(--fg);background:var(--bg-hover,var(--bg-secondary))}.ssh-form-parse-input{font-family:var(--font-mono,monospace);font-size:12px;border-style:dashed}.ssh-form-parse-input.parsed{border-color:#4caf50;animation:ssh-parse-flash .4s ease}@keyframes ssh-parse-flash{0%{background:rgba(76,175,80,.15)}100%{background:var(--bg-secondary)}}.ssh-icon-picker{width:42px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;line-height:1;transition:border-color .15s;user-select:none}.ssh-icon-picker:hover{border-color:var(--accent)}.ssh-form-group{margin-bottom:12px}.ssh-form-label{display:block;font-size:11px;font-weight:600;color:var(--fg-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.ssh-form-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--fg);font-size:13px;outline:0;transition:border-color .15s;box-sizing:border-box}.ssh-form-input:focus{border-color:var(--accent)}.ssh-form-row{display:flex;gap:12px}.ssh-form-row .ssh-form-group{flex:1}.ssh-form-row .ssh-form-group.small{flex:0 0 100px}.ssh-form-textarea{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--fg);font-size:12px;outline:0;resize:vertical;min-height:50px;transition:border-color .15s;box-sizing:border-box;font-family:inherit}.ssh-form-textarea:focus{border-color:var(--accent)}.ssh-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.ssh-form-btn{padding:7px 18px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid;transition:all .12s}.ssh-form-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.ssh-form-btn.primary:hover{filter:brightness(1.1)}.ssh-form-btn.secondary{background:0 0;color:var(--fg-muted);border-color:var(--border)}.ssh-form-btn.secondary:hover{border-color:var(--fg-muted)}.ssh-key-info{padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.ssh-key-status{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--fg-muted);margin-bottom:6px}.ssh-key-status.ok{color:#4caf50}.ssh-key-status.missing{color:var(--danger,#e74c3c)}.ssh-key-value{font-family:var(--font-mono,monospace);font-size:9px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:6px 8px;word-break:break-all;color:var(--fg-muted);line-height:1.4;max-height:60px;overflow-y:auto;cursor:pointer;position:relative}.ssh-key-value:hover{border-color:var(--accent)}.ssh-key-value::after{content:"Klik untuk copy";position:absolute;right:4px;top:4px;font-size:8px;color:var(--accent);opacity:0;transition:opacity .12s}.ssh-key-value:hover::after{opacity:1}.ssh-generate-btn{width:100%;padding:6px;margin-top:6px;background:var(--accent);color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer;transition:filter .12s}.ssh-generate-btn:hover{filter:brightness(1.1)}.ssh-key-deploy{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.ssh-key-deploy-label{font-size:10px;color:var(--fg-muted);margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.ssh-key-deploy-btns{display:flex;gap:6px}.ssh-key-deploy-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:5px;color:var(--fg);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.ssh-key-deploy-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--bg)}.ssh-key-deploy-btn.copied{border-color:#4caf50;color:#4caf50;background:rgba(76,175,80,.08)}.ssh-sidebar-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.ssh-sidebar-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 4px;background:0 0;border:none;border-bottom:2px solid transparent;color:var(--fg-muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.ssh-sidebar-tab:hover{color:var(--fg);background:var(--bg-hover,var(--bg-secondary))}.ssh-sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent)}[data-theme=dark] .ssh-terminal-container{background:#1a1a2e}@media (max-width:768px){.ssh-form-card{width:calc(100vw - 32px);max-width:440px}.ssh-tab-bar{min-height:32px}.ssh-tab{padding:5px 10px;font-size:10px}.ssh-status-bar{padding:2px 8px;gap:8px;font-size:9px}.ssh-conn-actions{opacity:1}.ssh-sidebar-tab{padding:6px 4px;font-size:10px}}@media (max-width:480px){.ssh-form-overlay{align-items:flex-end}.ssh-form-card{width:100vw;max-width:100vw;border-radius:16px 16px 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom,0px))}.ssh-form-row{flex-direction:column;gap:0}.ssh-form-row .ssh-form-group.small{flex:none}.ssh-key-value{font-size:8px}}.da-toolbar{padding:0 8px 4px;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.da-search-wrap{position:relative;display:flex;align-items:center}.da-search-icon{position:absolute;left:8px;opacity:.4;pointer-events:none}.da-search-input{width:100%;padding:6px 24px 6px 26px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--fg);font-size:11px;outline:0;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.da-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.da-search-input::placeholder{color:var(--fg-muted)}.da-search-clear{position:absolute;right:4px;background:0 0;border:none;color:var(--fg-muted);font-size:14px;cursor:pointer;padding:0 4px;line-height:1;border-radius:3px;transition:color .12s}.da-search-clear:hover{color:var(--fg)}.da-toolbar-row{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.da-stats{font-size:10px;color:var(--fg-muted);letter-spacing:.2px}.da-expand-toggle{display:flex;align-items:center;gap:3px;background:0 0;border:none;color:var(--fg-muted);font-size:10px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .12s}.da-expand-toggle:hover{color:var(--accent);background:var(--bg-hover,var(--bg-secondary))}.da-expand-toggle svg{transition:transform .2s}.da-expand-toggle.expanded svg{transform:rotate(180deg)}.da-tree-list{flex:1;overflow-y:auto;overflow-x:auto;padding:4px 0}.da-empty{padding:24px 14px;text-align:center;color:var(--fg-muted);font-size:12px}.da-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;gap:8px;text-align:center}.da-empty-title{font-size:13px;font-weight:600;color:var(--fg);margin-top:4px}.da-empty-desc{font-size:11px;color:var(--fg-muted);max-width:200px;line-height:1.4}.da-empty-actions{display:flex;gap:8px;margin-top:10px}.da-empty-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg-secondary);color:var(--fg);transition:all .15s}.da-empty-btn:hover{border-color:var(--accent);color:var(--accent)}.da-empty-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.da-empty-btn.primary:hover{filter:brightness(1.1)}.da-tree-node{margin-bottom:1px;position:relative}.da-tree-nested{position:relative}.da-tree-connector{position:absolute;left:-8px;top:50%;width:8px;height:1px;background:var(--border)}.da-tree-nested::before{content:"";position:absolute;left:2px;top:0;bottom:0;width:1px;background:var(--border);opacity:.4}.da-tree-nested.da-tree-last::before{bottom:50%}.da-tree-parent{display:flex;align-items:center;gap:6px;padding:7px 10px;cursor:pointer;font-size:11px;color:var(--fg);font-weight:600;user-select:none;border-radius:4px;margin:0 4px;transition:background .15s,transform .1s;position:relative}.da-tree-parent:hover{background:var(--bg-hover,var(--bg-secondary))}.da-tree-parent:active{transform:scale(.995)}.da-tree-parent.da-dragging{opacity:.4}.da-tree-parent.da-drop-target{background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px dashed var(--accent);border-radius:6px}.da-tree-parent[draggable=true]{cursor:grab}.da-tree-parent[draggable=true]:active{cursor:grabbing}.da-tree-arrow{flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1);transform:rotate(0);opacity:.5}.da-tree-parent.open .da-tree-arrow{transform:rotate(90deg);opacity:.7}.da-tree-arrow-empty{opacity:.15}.da-tree-icon{font-size:13px;line-height:1;flex-shrink:0;transition:transform .15s}.da-tree-parent:hover .da-tree-icon{transform:scale(1.1)}.da-tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.da-tree-count{flex-shrink:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:0 6px;font-size:9px;font-weight:700;color:var(--fg-muted);line-height:16px;transition:all .15s}.da-tree-parent:hover .da-tree-count{background:var(--bg);border-color:var(--accent);color:var(--accent)}.da-tree-actions{display:flex;gap:1px;opacity:0;transition:opacity .15s}.da-tree-parent:hover .da-tree-actions{opacity:1}.da-tree-action-btn{background:0 0;border:none;padding:4px;cursor:pointer;color:var(--fg-muted);border-radius:4px;line-height:1;transition:all .12s;min-width:22px;min-height:22px;display:flex;align-items:center;justify-content:center}.da-tree-action-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.da-tree-action-btn.danger:hover{color:var(--danger,#e74c3c);background:color-mix(in srgb,var(--danger,#e74c3c) 10%,transparent)}.da-tree-children{overflow:hidden;max-height:5000px;transition:max-height .25s cubic-bezier(.4,0,.2,1),opacity .2s;opacity:1}.da-tree-children.collapsed{max-height:0;opacity:0}.da-item{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 32px;font-size:11px;color:var(--fg);transition:background .12s;border-radius:3px;margin:0 4px}.da-item:hover{background:var(--bg-hover,var(--bg-secondary))}.da-item-type{flex-shrink:0;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:2px 6px;border-radius:3px;line-height:1.3}.da-item-value{flex:1;min-width:0;font-family:var(--font-mono,monospace);font-size:11px;color:var(--fg);cursor:default;white-space:nowrap}.da-item-value.masked{color:var(--fg-muted);letter-spacing:2px;font-size:10px}.da-item-reveal{flex-shrink:0;background:0 0;border:none;padding:3px;cursor:pointer;color:var(--fg-muted);opacity:0;transition:all .12s;border-radius:4px;line-height:1}.da-item:hover .da-item-reveal{opacity:.6}.da-item-reveal:hover{opacity:1!important;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.da-ssh-badge{flex:1;min-width:0;font-family:var(--font-mono,monospace);font-size:10px;color:#4caf50;background:rgba(76,175,80,.08);padding:2px 7px;border-radius:4px;cursor:default;transition:background .12s;white-space:nowrap}.da-item:hover .da-ssh-badge{background:rgba(76,175,80,.14)}[data-theme=dark] .da-ssh-badge{color:#81c784;background:rgba(76,175,80,.12)}[data-theme=dark] .da-item:hover .da-ssh-badge{background:rgba(76,175,80,.2)}.da-item-copy{flex-shrink:0;background:0 0;border:none;padding:3px;cursor:pointer;color:var(--fg-muted);opacity:0;transition:all .12s;border-radius:4px;line-height:1}.da-item:hover .da-item-copy{opacity:.6}.da-item-copy:hover{opacity:1!important;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.da-item-copy.copied{color:#4caf50!important;opacity:1!important;background:rgba(76,175,80,.1)}.da-item-actions{display:flex;gap:1px;opacity:0;transition:opacity .12s}.da-item:hover .da-item-actions{opacity:1}.da-copy-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--fg,#333);color:var(--bg,#fff);padding:8px 16px;border-radius:8px;font-size:11px;font-family:var(--font-mono,monospace);box-shadow:0 4px 20px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:9999;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.da-copy-toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.da-view-content{flex:1;display:none;flex-direction:column;align-items:center;justify-content:center}.da-view-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--fg-muted);font-size:13px;opacity:.5;flex:1}.da-view-placeholder svg{opacity:.3}.da-import-modal{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:560px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(0,0,0,.35);animation:da-modal-in .2s ease}@keyframes da-modal-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.da-import-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border)}.da-import-header h3{margin:0;font-size:15px;font-weight:700;color:var(--fg)}.da-import-close{background:0 0;border:none;font-size:22px;color:var(--fg-muted);cursor:pointer;padding:0 2px;border-radius:4px;line-height:1;transition:all .12s}.da-import-close:hover{color:var(--fg);background:var(--bg-hover,var(--bg-secondary))}.da-import-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}.da-import-label{display:block;font-size:11px;font-weight:600;color:var(--fg-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}.da-import-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--fg);font-family:var(--font-mono,monospace);font-size:12px;line-height:1.5;outline:0;resize:vertical;min-height:120px;box-sizing:border-box;transition:border-color .15s}.da-import-textarea:focus{border-color:var(--accent)}.da-import-textarea::placeholder{color:var(--fg-muted);opacity:.5}.da-import-hint{font-size:10px;color:var(--fg-muted);margin-top:4px;opacity:.7}.da-import-preview{border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);max-height:250px;overflow-y:auto;padding:8px 0}.da-preview-stats{padding:4px 12px 8px;font-size:11px;font-weight:600;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:4px}.da-preview-parent{padding:6px 12px 3px;font-size:12px;color:var(--fg)}.da-preview-item{display:flex;align-items:center;gap:8px;padding:2px 12px 2px 28px;font-size:11px}.da-preview-type{flex-shrink:0;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:1px 6px;border-radius:3px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.da-preview-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono,monospace);font-size:11px;color:var(--fg-muted)}.da-preview-empty{padding:16px;text-align:center;color:var(--fg-muted);font-size:12px}.da-import-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border)}.da-import-btn{display:flex;align-items:center;gap:5px;padding:8px 18px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid;transition:all .12s}.da-import-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.da-import-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.da-import-btn.primary:disabled{opacity:.5;cursor:not-allowed}.da-import-btn.secondary{background:0 0;color:var(--fg-muted);border-color:var(--border)}.da-import-btn.secondary:hover{border-color:var(--fg-muted);color:var(--fg)}@media (max-width:768px){.da-tree-actions{opacity:1}.da-item-actions{opacity:1}.da-item-copy{opacity:.6}.da-item-reveal{opacity:.6}.da-toolbar-row{flex-wrap:wrap;gap:4px}.da-import-modal{width:100vw;max-width:100vw;border-radius:16px 16px 0 0}.da-import-footer{flex-wrap:wrap}}#agentDetailModal{display:none;position:fixed;inset:0;z-index:2000;background:var(--modal-backdrop);align-items:center;justify-content:center;backdrop-filter:blur(2px)}.agd-card{background:var(--card);border-radius:12px;box-shadow:0 16px 48px var(--shadow-color),0 0 0 1px var(--border);width:min(680px,94vw);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:agd-slide-in .2s ease}@keyframes agd-slide-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.agd-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);gap:12px}.agd-header-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.agd-header-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex-shrink:0}.agd-header-dot.online{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.4)}.agd-header-dot.offline{background:#9e9a96}.agd-header-name{font-weight:600;font-size:15px;color:var(--ink)}.agd-header-meta{display:flex;align-items:center;gap:8px;width:100%;margin-top:2px}.agd-hostname{font-size:12px;color:var(--muted)}.agd-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.3px}.agd-badge.online{background:rgba(34,197,94,.12);color:#16a34a}.agd-badge.offline{background:rgba(156,163,175,.15);color:#9ca3af}.agd-close{background:0 0;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:6px;transition:background .15s}.agd-close:hover{background:var(--surface-hover);color:var(--ink)}.agd-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 18px;gap:0}.agd-tab{background:0 0;border:none;border-bottom:2px solid transparent;padding:10px 16px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s;font-family:inherit}.agd-tab:hover{color:var(--ink)}.agd-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.agd-body{flex:1;overflow-y:auto;padding:16px 18px;min-height:200px}.agd-empty,.agd-error,.agd-loading{display:flex;align-items:center;justify-content:center;padding:32px 16px;color:var(--muted);font-size:13px;text-align:center}.agd-error{color:var(--danger)}.agd-info-grid{display:flex;flex-direction:column;gap:16px}.agd-info-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.agd-info-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px 12px;background:var(--surface-subtle);border-bottom:1px solid var(--border)}.agd-info-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 12px;font-size:13px;border-bottom:1px solid var(--border)}.agd-info-row:last-child{border-bottom:none}.agd-info-label{color:var(--muted);font-weight:500;flex-shrink:0;margin-right:12px}.agd-info-value{color:var(--ink);text-align:right;word-break:break-all}.agd-mono{font-family:"SF Mono","Fira Code",monospace;font-size:12px}.agd-disk-table{width:100%;border-collapse:collapse;font-size:12px}.agd-disk-table th{text-align:left;padding:6px 12px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border)}.agd-disk-table td{padding:6px 12px;color:var(--ink);border-bottom:1px solid var(--border)}.agd-disk-table tr:last-child td{border-bottom:none}.agd-caps{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px}.agd-cap-tag{font-size:11px;padding:3px 10px;border-radius:999px;background:var(--surface-active);color:var(--accent);font-weight:500}.agd-stats-grid{display:flex;flex-direction:column;gap:14px}.agd-stat-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.agd-stat-label{font-size:13px;font-weight:500;color:var(--ink)}.agd-stat-value{font-size:12px;color:var(--muted);font-family:"SF Mono","Fira Code",monospace}.agd-progress{width:100%;height:8px;background:var(--surface-subtle);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.agd-progress-fill{height:100%;border-radius:999px;transition:width .5s ease,background .3s}.agd-progress-fill.ok{background:#22c55e}.agd-progress-fill.warn{background:#eab308}.agd-progress-fill.danger{background:#ef4444}.agd-stats-footer{text-align:center;font-size:11px;color:var(--muted);padding:8px 0 0;opacity:.7}.agd-stats-uptime{font-size:12px;color:var(--muted);text-align:center;padding:4px 0 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.agd-cores{display:flex;gap:4px;align-items:flex-end;padding:4px 0 8px;height:48px}.agd-core{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.agd-core-bar{width:100%;max-width:20px;height:32px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.agd-core-fill{width:100%;border-radius:2px;transition:height .5s ease}.agd-core-fill.ok{background:#22c55e}.agd-core-fill.warn{background:#eab308}.agd-core-fill.danger{background:#ef4444}.agd-core-label{font-size:9px;color:var(--muted);margin-top:2px}.agd-temps-section{border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.agd-temp-item{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:13px}.agd-temp-label{color:var(--ink)}.agd-temp-value{font-family:"SF Mono","Fira Code",monospace;font-weight:600}.agd-temp-value.ok{color:#22c55e}.agd-temp-value.warn{color:#eab308}.agd-temp-value.danger{color:#ef4444}.agd-net-section{border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.agd-net-section .agd-info-row{padding:3px 0;font-size:13px;border-bottom:none}.agd-breadcrumb{display:flex;align-items:center;gap:2px;padding:0 0 10px;flex-wrap:wrap;font-size:12px}.agd-bc-seg{background:0 0;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:2px 4px;border-radius:4px;font-family:"SF Mono","Fira Code",monospace;transition:background .15s}.agd-bc-seg:hover{background:var(--surface-hover);text-decoration:underline}.agd-bc-sep{color:var(--muted);user-select:none}.agd-file-table-wrap{overflow-x:auto}.agd-file-table{width:100%;border-collapse:collapse;font-size:13px}.agd-file-table thead th{text-align:left;padding:6px 8px;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);white-space:nowrap}.agd-file-table thead th:first-child{width:28px}.agd-file-row{cursor:pointer;transition:background .1s}.agd-file-row:hover{background:var(--surface-hover)}.agd-file-row td{padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agd-file-icon{width:28px;text-align:center}.agd-file-name{color:var(--ink);font-weight:500;max-width:300px}.agd-file-dir .agd-file-name{color:var(--accent);font-weight:600}.agd-file-size{color:var(--muted);font-size:12px;font-family:"SF Mono","Fira Code",monospace}.agd-file-date{color:var(--muted);font-size:12px}.agd-file-viewer{display:flex;flex-direction:column;height:100%}.agd-fv-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:10px}.agd-back-btn{display:inline-flex;align-items:center;gap:4px;background:0 0;border:1px solid var(--border);color:var(--ink);font-size:12px;font-weight:500;padding:4px 10px;border-radius:6px;cursor:pointer;font-family:inherit;transition:background .15s}.agd-back-btn:hover{background:var(--surface-hover)}.agd-fv-name{font-weight:600;font-size:13px;color:var(--ink)}.agd-fv-size{font-size:11px;color:var(--muted);margin-left:auto}.agd-fv-content{flex:1;overflow:auto}.agd-fv-pre{margin:0;padding:12px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;font-size:12px;font-family:"SF Mono","Fira Code","Cascadia Code",monospace;line-height:1.5;color:var(--ink);overflow-x:auto;white-space:pre;tab-size:4;max-height:400px}.agd-fv-binary{padding:32px;text-align:center;color:var(--muted);font-size:13px}[data-theme=dark] .agd-badge.online{background:rgba(34,197,94,.15);color:#4ade80}[data-theme=dark] .agd-badge.offline{background:rgba(156,163,175,.1);color:#6b7280}[data-theme=dark] .agd-cap-tag{background:rgba(232,135,110,.12)}[data-theme=dark] .agd-fv-pre{background:var(--surface-input)}@media (max-width:768px){.agd-card{width:calc(100vw - 32px);max-width:none}}@media (max-width:480px){.agd-overlay{align-items:flex-end}.agd-card{width:100vw;max-width:100vw;max-height:95vh;border-radius:16px 16px 0 0}.agd-body{padding:12px}.agd-tabs{padding:0 12px;overflow-x:auto;scrollbar-width:none}.agd-tabs::-webkit-scrollbar{display:none}.agd-tab{padding:8px 10px;font-size:12px;flex-shrink:0}.agd-header{padding:10px 12px}.agd-file-name{max-width:160px}}.devmode-highlight{outline:2px solid #00bcd4!important;outline-offset:1px;background:rgba(0,188,212,.06)!important}.devmode-overlay{position:fixed;z-index:99999;padding:4px 10px;background:#1a1a1e;color:#e4e2df;border-radius:6px;font-family:"SF Mono","Fira Code","Cascadia Code",Consolas,monospace;font-size:12px;font-weight:600;pointer-events:none;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.35);border:1px solid #00bcd4;display:none}.devmode-id{color:#4dd0e1}.devmode-tag{color:#9e9e9e;font-weight:400;font-size:11px}.devmode-badge{position:fixed;top:6px;left:50%;transform:translateX(-50%);z-index:99998;display:none;align-items:center;gap:6px;padding:3px 14px;background:#00bcd4;color:#fff;font-family:"SF Mono","Fira Code",sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;border-radius:0 0 8px 8px;box-shadow:0 2px 12px rgba(0,188,212,.4);cursor:pointer}.devmode-badge:hover{background:#0097a7}.devmode-toast{position:fixed;bottom:60px;left:50%;transform:translateX(-50%) translateY(20px);z-index:99999;padding:8px 18px;background:#1a1a1e;color:#4dd0e1;border:1px solid #00bcd4;border-radius:8px;font-family:"SF Mono","Fira Code",Consolas,monospace;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.devmode-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.devmode-active,.devmode-active *{cursor:crosshair!important}.dm-panel{position:fixed;z-index:99990;display:flex;flex-direction:column;background:rgba(18,18,22,.97);backdrop-filter:blur(12px);border:1px solid rgba(0,188,212,.25);border-radius:10px;box-shadow:0 8px 40px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.3);color:#d4d4d8;font-family:"SF Mono","Fira Code","Cascadia Code",Consolas,monospace;font-size:12px;opacity:0;transform:scale(.92);pointer-events:none;transition:opacity .2s,transform .2s;overflow:hidden;min-width:280px;min-height:200px}.dm-panel.open{opacity:1;transform:scale(1);pointer-events:auto}.dm-panel.minimized .dm-content,.dm-panel.minimized .dm-resize-corner,.dm-panel.minimized .dm-tabs{display:none!important}.dm-panel.minimized{height:auto!important;min-height:0}.dm-resize-corner{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;z-index:2}.dm-resize-corner::after{content:"";position:absolute;bottom:3px;right:3px;width:7px;height:7px;border-right:2px solid rgba(255,255,255,.18);border-bottom:2px solid rgba(255,255,255,.18)}.dm-resize-corner:hover::after{border-color:rgba(0,188,212,.5)}.dm-header{padding:6px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;cursor:grab;user-select:none}.dm-header:active{cursor:grabbing}.dm-header-actions{display:flex;gap:2px}.dm-title{font-size:10px;font-weight:700;letter-spacing:1px;color:#00bcd4;text-transform:uppercase}.dm-close{width:22px;height:22px;border:none;background:0 0;color:#888;font-size:15px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;line-height:1}.dm-close:hover{color:#fff;background:rgba(255,255,255,.08)}.dm-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;flex-shrink:0}.dm-tabs::-webkit-scrollbar{height:0}.dm-tab{padding:7px 10px;font-size:10px;font-weight:600;letter-spacing:.3px;color:#888;cursor:pointer;border:none;background:0 0;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;font-family:inherit}.dm-tab:hover{color:#bbb}.dm-tab.active{color:#00bcd4;border-bottom-color:#00bcd4}.dm-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.dm-tab-pane{display:none;flex:1;overflow-y:auto;flex-direction:column}.dm-tab-pane.active{display:flex}.dm-tab-pane::-webkit-scrollbar{width:5px}.dm-tab-pane::-webkit-scrollbar-track{background:0 0}.dm-tab-pane::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.dm-section{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.05)}.dm-section-title{font-size:9px;font-weight:700;letter-spacing:1px;color:#666;text-transform:uppercase;margin-bottom:6px}.dm-empty{padding:24px 16px;text-align:center;color:#555;font-size:11px}.dm-toolbar{padding:6px 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.dm-search{flex:1;padding:4px 8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#d4d4d8;font-size:11px;font-family:inherit;outline:0}.dm-search:focus{border-color:rgba(0,188,212,.5)}.dm-search::placeholder{color:#555}.dm-btn{padding:3px 8px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:rgba(255,255,255,.05);color:#aaa;font-size:10px;font-family:inherit;cursor:pointer;white-space:nowrap}.dm-btn:hover{background:rgba(255,255,255,.1);color:#ddd}.dm-btn.active{background:rgba(0,188,212,.15);color:#4dd0e1;border-color:rgba(0,188,212,.3)}.dm-btn--danger{color:#f87171}.dm-btn--danger:hover{background:rgba(248,113,113,.12)}.dm-badge{display:inline-block;padding:1px 5px;border-radius:8px;font-size:9px;font-weight:700}.dm-inspector-info{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.dm-insp-row{display:flex;gap:6px}.dm-insp-label{color:#666;font-size:10px;min-width:60px;flex-shrink:0}.dm-insp-value{color:#d4d4d8;font-size:11px;word-break:break-all}.dm-insp-value--id{color:#4dd0e1}.dm-insp-value--dim{color:#a78bfa}.dm-insp-value--pos{color:#fbbf24}.dm-insp-tag-list{display:flex;flex-wrap:wrap;gap:4px}.dm-insp-tag{padding:1px 6px;background:rgba(255,255,255,.06);border-radius:3px;font-size:10px;color:#aaa}.dm-insp-pinned{padding:3px 8px;background:rgba(0,188,212,.1);border:1px solid rgba(0,188,212,.25);border-radius:4px;color:#4dd0e1;font-size:10px;cursor:pointer}.dm-insp-pinned:hover{background:rgba(0,188,212,.2)}.dm-insp-styles{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}.dm-insp-style-key{color:#a78bfa;font-size:10px}.dm-insp-style-val{color:#d4d4d8;font-size:10px}.dm-insp-data-attr{display:flex;gap:4px;flex-wrap:wrap}.dm-tree{padding:4px 0}.dm-tree-node{padding:1px 0 1px 14px;position:relative;cursor:default}.dm-tree-toggle{position:absolute;left:0;top:2px;width:12px;height:14px;display:flex;align-items:center;justify-content:center;color:#666;cursor:pointer;font-size:9px;user-select:none}.dm-tree-toggle:hover{color:#aaa}.dm-tree-key{color:#a78bfa}.dm-tree-str{color:#a5d6a7}.dm-tree-num{color:#90caf9}.dm-tree-bool{color:#ffab91}.dm-tree-null{color:#666;font-style:italic}.dm-tree-bracket{color:#666}.dm-tree-count{color:#555;font-size:10px}.dm-tree-children{display:none}.dm-tree-node.open>.dm-tree-children{display:block}.dm-tree-changed{animation:dm-flash 1s ease-out}@keyframes dm-flash{0%{background:rgba(0,188,212,.25)}100%{background:0 0}}.dm-events{flex:1;overflow-y:auto;font-size:11px}.dm-event-row{padding:3px 10px;display:flex;gap:6px;border-bottom:1px solid rgba(255,255,255,.03)}.dm-event-row:hover{background:rgba(255,255,255,.03)}.dm-event-time{color:#555;font-size:10px;min-width:65px;flex-shrink:0}.dm-event-name{color:#fbbf24;font-weight:600}.dm-event-data{color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.dm-net-list{flex:1;overflow-y:auto}.dm-net-row{padding:5px 10px;display:grid;grid-template-columns:46px 1fr 36px 50px 44px;gap:6px;align-items:center;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;font-size:11px}.dm-net-row:hover{background:rgba(255,255,255,.04)}.dm-net-row.expanded{background:rgba(0,188,212,.05)}.dm-net-method{font-weight:700;font-size:10px}.dm-net-method--get{color:#4dd0e1}.dm-net-method--post{color:#a5d6a7}.dm-net-method--put{color:#fbbf24}.dm-net-method--delete{color:#f87171}.dm-net-url{color:#d4d4d8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-net-status{font-weight:600;text-align:center}.dm-net-status--2xx{color:#4ade80}.dm-net-status--4xx{color:#fbbf24}.dm-net-status--5xx{color:#f87171}.dm-net-status--err{color:#f87171}.dm-net-status--pending{color:#888}.dm-net-dur{color:#888;text-align:right;font-size:10px}.dm-net-size{color:#666;text-align:right;font-size:10px}.dm-net-detail{display:none;padding:8px 12px;background:rgba(0,0,0,.3);border-bottom:1px solid rgba(255,255,255,.06)}.dm-net-row.expanded+.dm-net-detail{display:block}.dm-net-detail-section{margin-bottom:6px}.dm-net-detail-title{font-size:9px;font-weight:700;color:#666;text-transform:uppercase;margin-bottom:3px}.dm-net-detail-body{font-size:11px;color:#aaa;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}.dm-filter-row{display:flex;gap:3px}.dm-log-list{flex:1;overflow-y:auto}.dm-log-row{padding:4px 10px;display:flex;gap:6px;border-bottom:1px solid rgba(255,255,255,.03);font-size:11px;align-items:flex-start}.dm-log-row:hover{background:rgba(255,255,255,.03)}.dm-log-row--warn{background:rgba(251,191,36,.04)}.dm-log-row--error{background:rgba(248,113,113,.06)}.dm-log-time{color:#555;font-size:10px;min-width:65px;flex-shrink:0}.dm-log-level{font-size:9px;font-weight:700;min-width:36px;text-align:center;padding:1px 0;border-radius:3px;flex-shrink:0}.dm-log-level--log{color:#888}.dm-log-level--info{color:#60a5fa}.dm-log-level--warn{color:#fbbf24;background:rgba(251,191,36,.08)}.dm-log-level--error{color:#f87171;background:rgba(248,113,113,.1)}.dm-log-msg{color:#d4d4d8;flex:1;min-width:0;word-break:break-all}.dm-log-src{color:#555;font-size:9px;flex-shrink:0}.dm-perf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px}.dm-perf-card{padding:10px 12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px}.dm-perf-label{font-size:9px;font-weight:700;letter-spacing:.5px;color:#666;text-transform:uppercase;margin-bottom:4px}.dm-perf-value{font-size:18px;font-weight:700;color:#e4e2df}.dm-perf-unit{font-size:10px;color:#888;font-weight:400}.dm-perf-value--good{color:#4ade80}.dm-perf-value--warn{color:#fbbf24}.dm-perf-value--bad{color:#f87171}.dm-perf-sparkline{margin-top:4px;height:20px}.dm-perf-sparkline svg{width:100%;height:100%}.dm-perf-sparkline polyline{fill:none;stroke:#00bcd4;stroke-width:1.5}.dm-modules-list{padding:4px 12px}.dm-module-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px}.dm-module-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dm-module-dot--ok{background:#4ade80}.dm-module-dot--missing{background:#f87171}.dm-module-name{color:#aaa}.dm-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.dm-action-card{padding:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s;text-align:center}.dm-action-card:hover{background:rgba(255,255,255,.06);border-color:rgba(0,188,212,.3)}.dm-action-card:active{background:rgba(0,188,212,.1)}.dm-action-icon{font-size:20px;margin-bottom:4px}.dm-action-label{font-size:11px;font-weight:600;color:#d4d4d8}.dm-action-desc{font-size:9px;color:#666;margin-top:2px}.dm-action-card--danger{border-color:rgba(248,113,113,.2)}.dm-action-card--danger:hover{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.06)}@media (max-width:768px){.dm-panel{width:calc(100vw - 16px)!important;left:8px!important;right:8px!important;height:50vh!important;bottom:8px!important;top:auto!important;border-radius:10px}.dm-body-cols{flex-direction:column}.dm-body-col{min-width:0;width:100%}}@media (max-width:480px){.dm-panel{width:100vw!important;left:0!important;right:0!important;bottom:0!important;border-radius:12px 12px 0 0;height:55vh!important}}.tn-share-list{display:flex;flex-direction:column;gap:2px;padding:.5rem}.tn-share-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border:none;border-radius:6px;background:0 0;color:var(--fg);cursor:pointer;text-align:left;font-size:.8125rem;transition:background .15s;width:100%}.tn-share-item:hover{background:var(--bg-hover)}.tn-share-item.active{background:var(--accent);color:#fff}.tn-share-item.active svg{stroke:#fff;fill:rgba(255,255,255,0.2)}.tn-share-info{display:flex;flex-direction:column;min-width:0;flex:1}.tn-share-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-share-path{font-size:.72rem;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-share-item.active .tn-share-path{color:rgba(255,255,255,.7)}.tn-badge-ro{font-size:.6rem;padding:1px 4px;border-radius:3px;background:rgba(255,152,0,.15);color:#f57c00;font-weight:600}.tn-share-item.active .tn-badge-ro{background:rgba(255,255,255,.2);color:#fff}.tn-badge-shared{display:inline-flex;align-items:center;margin-left:4px;color:var(--accent);vertical-align:middle;cursor:help}.tn-cap-bar{height:3px;border-radius:2px;background:var(--border);margin-top:3px;overflow:hidden}.tn-cap-fill{height:100%;border-radius:2px;transition:width .3s}.tn-cap-text{font-size:.65rem;color:var(--fg-muted)}.tn-loading{padding:2rem;text-align:center;color:var(--fg-muted);font-size:.82rem}.tn-empty{padding:2rem;text-align:center;color:var(--fg-muted);font-size:.82rem}.tn-setup-btn{margin-top:8px;padding:6px 16px;border-radius:6px;border:none;background:var(--accent);color:#fff;cursor:pointer;font-size:.8rem}.truenas-view{display:flex;flex-direction:column;overflow:hidden;flex:1;height:100%;width:100%}.tn-workspace{display:flex;flex-direction:column;height:100%;overflow:hidden}.tn-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--border);flex-shrink:0;min-height:42px;gap:8px;flex-wrap:wrap}.tn-toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tn-tool-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:5px;background:var(--card);color:var(--fg);cursor:pointer;font-size:.78rem;white-space:nowrap}.tn-tool-btn:hover{background:var(--hover)}.tn-breadcrumb{display:flex;align-items:center;gap:2px;overflow-x:auto;flex:1;min-width:0}.tn-crumb{background:0 0;border:none;color:var(--accent);cursor:pointer;font-size:.8rem;padding:2px 4px;border-radius:3px;white-space:nowrap}.tn-crumb:hover{background:var(--hover)}.tn-crumb.current{color:var(--fg);font-weight:600;cursor:default}.tn-crumb.current:hover{background:0 0}.tn-crumb-sep{color:var(--fg-muted);font-size:.75rem}.tn-search-input{padding:4px 8px;font-size:.78rem;border:1px solid var(--border);border-radius:5px;background:var(--card);color:var(--fg);width:140px;outline:0;transition:width .2s}.tn-search-input:focus{width:200px;border-color:var(--accent)}.tn-view-toggle{display:flex;gap:2px}.tn-view-btn{padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--card);cursor:pointer;color:var(--fg-muted)}.tn-view-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tn-view-btn:hover:not(.active){background:var(--hover)}.tn-filter-count{font-size:.75rem;color:var(--fg-muted);margin-right:8px;white-space:nowrap}.tn-panels{display:flex;flex:1;overflow:hidden}.tn-explorer{flex:1;overflow:auto;min-width:300px}.tn-resize-handle{width:4px;cursor:col-resize;background:var(--border);flex-shrink:0;transition:background .15s}.tn-resize-handle:hover{background:var(--accent)}.tn-detail-pane{flex-shrink:0;overflow-y:auto;overflow-x:hidden;border-left:1px solid var(--border);background:var(--card)}.tn-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--fg-muted);gap:12px;font-size:.82rem;padding:2rem;text-align:center}.tn-dp-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--border);font-weight:600;font-size:.85rem;flex-shrink:0}.tn-dp-info{text-align:center;padding:12px 14px 8px}.tn-dp-icon{margin-bottom:6px}.tn-dp-name{font-weight:600;font-size:.92rem;word-break:break-all;margin-bottom:4px}.tn-dp-meta{font-size:.75rem;color:var(--fg-muted)}.tn-detail-folder-info{font-size:.78rem;color:var(--accent);margin:4px 0;padding:4px 8px;background:rgba(74,158,255,.08);border-radius:4px;display:inline-block}.tn-dp-preview{min-height:120px;overflow:auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.tn-dp-preview .tn-loading{padding:2rem}.tn-dp-preview img,.tn-dp-preview video{max-width:100%}.tn-dp-preview iframe{width:100%;min-height:400px;border:none}.tn-dp-details{padding:8px 14px}.tn-dp-actions{display:flex;gap:6px;padding:8px 14px;flex-wrap:wrap}.tn-detail-action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--card);cursor:pointer;font-size:.78rem;color:var(--fg);transition:background .15s}.tn-detail-action-btn:hover{background:var(--hover)}.tn-detail-action-btn.tn-btn-danger{color:#e53935;border-color:#e53935}.tn-detail-action-btn.tn-btn-danger:hover{background:rgba(229,57,53,.08)}.tn-preview-dl{display:flex;align-items:center;color:var(--fg);padding:4px;border-radius:4px;text-decoration:none}.tn-preview-dl:hover{background:var(--hover)}.tn-detail-table{width:100%;border-collapse:collapse;font-size:.78rem}.tn-detail-table td{padding:4px 6px;border-bottom:1px solid var(--border);vertical-align:top}.tn-detail-table td:first-child{color:var(--fg-muted);white-space:nowrap;width:75px}.tn-detail-val{word-break:break-all;max-width:220px}.tn-detail-table code{font-family:monospace;font-size:.78rem;background:var(--hover);padding:1px 4px;border-radius:3px}.tn-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;padding:.75rem}.tn-grid-item{position:relative;display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem .5rem;border-radius:8px;cursor:pointer;transition:background .15s,box-shadow .15s;text-align:center}.tn-grid-item:hover{background:var(--hover);box-shadow:0 1px 4px rgba(0,0,0,.06)}.tn-grid-item.tn-selected{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px;background:rgba(74,158,255,.06)}.tn-grid-icon{margin-bottom:4px}.tn-thumb{width:80px;height:60px;object-fit:cover;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.12)}.tn-grid-name{font-size:.78rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.tn-grid-size{font-size:.68rem;color:var(--fg-muted);margin-top:2px}.tn-grid-actions{display:none;position:absolute;bottom:4px;right:4px;gap:2px}.tn-grid-item:hover .tn-grid-actions{display:flex}.tn-folder-meta{font-size:.65rem;color:var(--fg-muted);margin-top:2px;min-height:14px}.tn-check{width:14px;height:14px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.tn-grid-item .tn-check{position:absolute;top:6px;left:6px;opacity:0;transition:opacity .15s}.tn-grid-item .tn-check:checked,.tn-grid-item:hover .tn-check{opacity:1}.tn-list-item .tn-check{margin-right:6px}.tn-file-list{display:flex;flex-direction:column}.tn-list-header{display:flex;align-items:center;padding:6px 8px;gap:4px;border-bottom:1px solid var(--border);font-size:.72rem;font-weight:600;text-transform:uppercase;color:var(--fg-muted);letter-spacing:.03em;position:sticky;top:0;background:var(--bg);z-index:2}.tn-lh-name{flex:1}.tn-lh-size,.tn-li-size{width:80px}.tn-lh-type,.tn-li-type{width:70px;font-size:.72rem;color:var(--fg-muted)}.tn-lh-actions,.tn-li-actions{width:80px;text-align:right}.tn-sortable{cursor:pointer;user-select:none}.tn-sortable:hover{color:var(--accent)}.tn-list-filter{display:flex;align-items:center;padding:4px 8px;border-bottom:1px solid var(--border);gap:4px;background:var(--bg-alt,rgba(0,0,0,.02));position:sticky;top:30px;z-index:2}.tn-lf-name{flex:1}.tn-lf-size{width:80px}.tn-lf-type{width:70px}.tn-lf-actions{width:80px}.tn-list-filter input,.tn-list-filter select{width:100%;padding:3px 6px;font-size:.72rem;border:1px solid var(--border);border-radius:4px;background:var(--card);color:var(--fg);outline:0}.tn-list-filter input:focus,.tn-list-filter select:focus{border-color:var(--accent)}.tn-list-item{display:flex;align-items:center;padding:5px 8px;gap:4px;border-bottom:1px solid var(--border);font-size:.8rem;cursor:pointer;transition:background .12s}.tn-list-item:hover{background:var(--hover)}.tn-list-item.tn-selected{background:rgba(74,158,255,.08)}.tn-li-name{flex:1;display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tn-li-size{font-size:.75rem;color:var(--fg-muted)}.tn-li-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s;justify-content:flex-end}.tn-list-item:hover .tn-li-actions{opacity:1}.tn-action-btn{width:22px;height:22px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.05);color:var(--fg-muted);transition:background .12s}.tn-action-btn:hover{background:rgba(0,0,0,.1)}.tn-action-danger:hover{color:#e53935;background:rgba(229,57,53,.1)}[data-theme=dark] .tn-action-btn{background:rgba(255,255,255,.08)}[data-theme=dark] .tn-action-btn:hover{background:rgba(255,255,255,.15)}.tn-grid-item:focus-visible,.tn-list-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.tn-bulk-bar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:var(--accent);color:#fff;font-size:.82rem;font-weight:600;z-index:10}.tn-bulk-btn{padding:5px 12px;border-radius:5px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.15);color:#fff;cursor:pointer;font-size:.78rem}.tn-bulk-btn:hover{background:rgba(255,255,255,.25)}.tn-bulk-btn.tn-btn-danger{background:#e53935;border-color:#e53935}.tn-preview-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.tn-preview-overlay.open{opacity:1}.tn-preview-modal{width:92vw;max-width:1200px;height:88vh;background:var(--card);border-radius:10px;box-shadow:0 16px 48px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}.tn-preview-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--border);min-height:42px;gap:8px}.tn-preview-header-left{display:flex;flex-direction:column;min-width:0}.tn-preview-filename{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-preview-meta{font-size:.72rem;color:var(--fg-muted)}.tn-preview-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.tn-preview-nav{background:0 0;border:1px solid var(--border);border-radius:4px;width:28px;height:28px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--fg)}.tn-preview-nav:hover{background:var(--hover)}.tn-preview-pos{font-size:.72rem;color:var(--fg-muted);white-space:nowrap}.tn-preview-close{background:0 0;border:none;font-size:1.3rem;cursor:pointer;color:var(--fg-muted);padding:2px 6px;border-radius:4px}.tn-preview-close:hover{background:var(--hover)}.tn-preview-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center}.tn-preview-img-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:8px}.tn-preview-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.tn-preview-code{width:100%;height:100%;margin:0;padding:12px 16px;overflow:auto;font-size:.8rem;font-family:"JetBrains Mono","Fira Code",monospace;line-height:1.5;background:var(--bg-alt,#f5f5f5);color:var(--fg);white-space:pre;tab-size:2;text-align:left}.tn-preview-markdown{width:100%;height:100%;padding:16px 24px;overflow:auto;font-size:.85rem;line-height:1.6;text-align:left}.tn-preview-markdown pre{background:var(--bg-alt);padding:8px;border-radius:4px;overflow-x:auto}.tn-preview-iframe{width:100%;height:100%;border:none}.tn-preview-media-wrap{text-align:center;padding:2rem}.tn-preview-media-name{font-weight:600;margin-bottom:16px}.tn-preview-audio{width:100%;max-width:500px}.tn-preview-video-wrap{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px}.tn-preview-video-wrap .plyr{width:100%;max-height:100%;border-radius:8px;overflow:hidden}.tn-preview-video-wrap .plyr video{max-height:calc(88vh - 60px)}.tn-preview-video{max-width:100%;max-height:100%}.tn-inline-video-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.tn-inline-video-wrap .plyr{width:100%;border-radius:4px}.tn-inline-video-wrap .plyr video{max-height:100%}:root{--plyr-color-main:var(--accent,#6366f1)}[data-theme=dark] .plyr{--plyr-video-background:#0a0a0a}[data-theme=dark] .plyr__controls{background:linear-gradient(transparent,rgba(0,0,0,.85))!important}[data-theme=dark] .plyr__menu__container{background:#1e1e2e;color:#cdd6f4;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px rgba(0,0,0,.5)}[data-theme=dark] .plyr__menu__container label,[data-theme=dark] .plyr__menu__container span{color:#cdd6f4}[data-theme=dark] .plyr__menu__container [role=menuitemradio]::before{background:#313244}[data-theme=dark] .plyr__menu__container [role=menuitemradio][aria-checked=true]::before{background:var(--accent,#6366f1)}.tn-preview-warn{background:#fff3e0;color:#e65100;padding:6px 12px;border-radius:6px;font-size:.75rem;margin-bottom:8px}.tn-preview-nopreview{text-align:center;padding:3rem 2rem}.tn-preview-nopreview-ext{font-size:1.2rem;font-weight:700;color:var(--fg-muted);margin-bottom:4px}.tn-preview-nopreview-size{font-size:.8rem;color:var(--fg-muted);margin-bottom:12px}.tn-preview-nopreview-msg{font-size:.82rem;color:var(--fg-muted);margin-bottom:16px}.tn-preview-nopreview-dl{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;background:var(--accent);color:#fff;text-decoration:none;font-size:.85rem;font-weight:600}.tn-preview-nopreview-dl:hover{opacity:.9}.tn-inline-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);min-height:38px}.tn-inline-title{font-weight:600;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.tn-inline-meta{font-size:.72rem;color:var(--fg-muted)}.tn-inline-close{background:0 0;border:none;font-size:1.1rem;cursor:pointer;color:var(--fg-muted);padding:2px 4px}.tn-inline-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center}.tn-xlsx-table{border-collapse:collapse;font-size:.75rem;width:100%}.tn-xlsx-table td,.tn-xlsx-table th{border:1px solid var(--border);padding:3px 6px;text-align:left;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.tn-xlsx-table th{background:var(--bg-alt);font-weight:600;position:sticky;top:0;z-index:1}.tn-xlsx-tabs{display:flex;gap:2px;padding:4px 8px;border-bottom:1px solid var(--border);overflow-x:auto}.tn-xlsx-tab{padding:3px 10px;border:1px solid var(--border);border-radius:4px 4px 0 0;background:var(--card);cursor:pointer;font-size:.72rem;white-space:nowrap}.tn-xlsx-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tn-img-viewer{display:flex;flex-direction:column;width:100%;height:100%}.tn-img-zoom-bar{display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:center}.tn-zoom-btn{width:26px;height:26px;border:1px solid var(--border);border-radius:4px;background:var(--card);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;color:var(--fg)}.tn-zoom-btn:hover{background:var(--hover)}.tn-zoom-level{font-size:.72rem;color:var(--fg-muted);min-width:40px;text-align:center}.tn-img-scroll{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;cursor:grab}.tn-img-scroll:active{cursor:grabbing}.tn-inline-img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .15s ease;border-radius:4px}[data-theme=dark] .tn-preview-warn{background:#3e2723;color:#ffab91}[data-theme=dark] .tn-preview-modal{box-shadow:0 16px 48px rgba(0,0,0,.6)}.tn-upload-progress{padding:6px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;background:var(--bg-alt,rgba(0,0,0,.02))}.tn-upload-item{display:flex;flex-direction:column;gap:2px}.tn-upload-info{display:flex;justify-content:space-between;font-size:.72rem}.tn-upload-name{color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.tn-upload-status{color:var(--fg-muted);font-weight:600}.tn-upload-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.tn-upload-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .2s;width:0%}.tn-upload-done .tn-upload-fill{background:#4caf50;width:100%!important}.tn-upload-error .tn-upload-fill{background:#e53935;width:100%!important}.tn-upload-done .tn-upload-status{color:#4caf50}.tn-upload-error .tn-upload-status{color:#e53935}.tn-drag-active{position:relative}.tn-drag-active::after{content:"Lepaskan file untuk upload";position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(74,158,255,.08);border:2px dashed var(--accent);border-radius:8px;font-size:1rem;font-weight:600;color:var(--accent);pointer-events:none}.tn-skeleton-item{pointer-events:none}.tn-skel-bar,.tn-skel-block,.tn-skel-circle,.tn-skel-icon,.tn-skel-text{background:linear-gradient(90deg,var(--border) 25%,var(--bg-alt,#eee) 50%,var(--border) 75%);background-size:200% 100%;animation:tn-shimmer 1.5s infinite;border-radius:4px}.tn-skel-icon{width:32px;height:32px;margin:0 auto 6px;border-radius:6px}.tn-skel-text{height:10px;width:80%;margin:3px auto}.tn-skel-text.short{width:50%}.tn-skel-text.wide{width:60%;height:14px}.tn-skel-bar{height:28px;width:100%}.tn-skel-circle{width:40px;height:40px;border-radius:50%;margin:0 auto 8px}.tn-skel-block{height:80px;width:100%;margin:8px 0}.tn-dp-skeleton{padding:20px 14px}@keyframes tn-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.tn-context-menu{position:fixed;z-index:1100;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:4px 0;min-width:180px;animation:tn-ctx-in .12s ease}@keyframes tn-ctx-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tn-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 14px;border:none;background:0 0;font-size:.8rem;color:var(--fg);cursor:pointer;text-align:left}.tn-ctx-item:hover{background:var(--hover)}.tn-ctx-danger{color:#e53935}.tn-ctx-danger:hover{background:rgba(229,57,53,.08)}.tn-ctx-separator{height:1px;background:var(--border);margin:4px 0}[data-theme=dark] .tn-context-menu{box-shadow:0 8px 24px rgba(0,0,0,.4)}.tn-status-bar{display:flex;justify-content:space-between;align-items:center;padding:3px 12px;font-size:.7rem;color:var(--fg-muted);border-top:1px solid var(--border);background:var(--bg-alt,rgba(0,0,0,.02));flex-shrink:0;min-height:22px}.tn-status-conn{display:flex;align-items:center;gap:4px}.tn-status-err{color:#e53935}.tn-mobile-sheet{display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--card);border-top:1px solid var(--border);border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.15);max-height:70vh;overflow-y:auto;animation:tn-sheet-up .25s ease}.tn-mobile-sheet.open{display:block}@keyframes tn-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}.tn-sheet-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:8px auto}.tn-sheet-backdrop{display:none;position:fixed;inset:0;z-index:899;background:rgba(0,0,0,.4)}.tn-sheet-backdrop.open{display:block}@media (max-width:768px){.tn-file-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.375rem}.tn-toolbar{padding:.375rem .5rem;flex-wrap:nowrap;overflow-x:auto}.tn-tool-btn span{display:none}.tn-detail-pane{display:none}.tn-resize-handle{display:none}.tn-preview-modal{width:98vw;height:95vh;border-radius:6px}.tn-search-input{width:80px}.tn-search-input:focus{width:120px}.tn-breadcrumb{max-width:50vw}.tn-mobile-sheet.open{display:block}.tn-status-bar{font-size:.65rem;padding:2px 8px}}@media (max-width:480px){.tn-file-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.25rem;padding:.5rem}.tn-grid-item{padding:.5rem .25rem .375rem}.tn-grid-name{font-size:.7rem}.tn-toolbar-actions{gap:3px}.tn-search-bar{display:none}}.aifix-panel{position:fixed;top:0;right:-440px;width:420px;max-width:calc(100vw - 16px);height:100vh;z-index:1199;background:var(--bg-panel,#1a1a22);border-left:1px solid var(--border,#2a2a35);display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 32px rgba(0,0,0,.4);font-size:13px}.aifix-panel--open{right:0}@media (max-width:480px){.aifix-panel{width:100vw;right:-100vw}}.aifix-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border,#2a2a35);flex-shrink:0;background:var(--bg-header,#141418)}.aifix-header-left{display:flex;align-items:center;gap:10px;min-width:0}.aifix-title{font-weight:600;font-size:14px;color:var(--fg,#e0e0e0);white-space:nowrap}.aifix-header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.aifix-agent-badge{font-size:11px;padding:2px 8px;border-radius:10px;white-space:nowrap;font-weight:500}.aifix-agent-badge.online{background:rgba(72,199,142,.15);color:#48c78e}.aifix-agent-badge.offline{background:rgba(255,82,82,.15);color:#ff5252}.aifix-btn-icon{width:28px;height:28px;border-radius:6px;border:none;background:0 0;color:var(--fg-muted,#6b6b80);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .15s,color .15s}.aifix-btn-icon:hover{background:var(--bg-hover,rgba(255,255,255,.07));color:var(--fg,#e0e0e0)}.aifix-context-bar{padding:8px 14px;border-bottom:1px solid var(--border,#2a2a35);flex-shrink:0;background:var(--bg-sub,#161620)}.aifix-ctx-label{font-size:11px;color:var(--accent,#c9a84c);font-weight:500;display:block;margin-bottom:5px}.aifix-file-tags{display:flex;flex-wrap:wrap;gap:4px}.aifix-file-tag{font-size:10px;background:var(--bg-hover,rgba(255,255,255,.06));color:var(--fg-muted,#888);padding:2px 6px;border-radius:4px;font-family:monospace;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.aifix-output{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}.aifix-output::-webkit-scrollbar{width:4px}.aifix-output::-webkit-scrollbar-thumb{background:var(--border,#2a2a35);border-radius:4px}.aifix-empty{color:var(--fg-muted,#6b6b80);font-size:12px;line-height:1.6;padding:20px 8px;text-align:center}.aifix-msg{border-radius:8px;padding:10px 12px;line-height:1.55;word-break:break-word;font-size:12.5px}.aifix-msg--user{background:var(--accent-bg,rgba(201,168,76,.12));border:1px solid rgba(201,168,76,.2);color:var(--fg,#e0e0e0);margin-left:24px;white-space:pre-wrap}.aifix-msg--ai{background:var(--bg-hover,rgba(255,255,255,.04));border:1px solid var(--border,#2a2a35);color:var(--fg,#e0e0e0)}.aifix-msg--error{background:rgba(255,82,82,.1);border:1px solid rgba(255,82,82,.25);color:#ff7070;font-size:12px}.aifix-msg--system{background:0 0;color:var(--fg-muted,#6b6b80);font-size:11px;text-align:center;border:none;padding:4px}.aifix-msg-body{min-height:1em}.aifix-msg-body pre.aifix-code{background:var(--bg,#0e0e12);border:1px solid var(--border,#2a2a35);border-radius:6px;padding:8px 10px;overflow-x:auto;font-size:11.5px;margin:6px 0;font-family:"JetBrains Mono","Fira Code","Cascadia Code",monospace;white-space:pre}.aifix-msg-body code{background:var(--bg,#0e0e12);border-radius:3px;padding:1px 5px;font-family:monospace;font-size:11px;color:#c9a84c}.aifix-thinking{color:var(--fg-muted,#6b6b80);font-style:italic;font-size:12px}.aifix-cursor{display:inline-block;animation:aifix-blink .8s step-end infinite;color:var(--accent,#c9a84c);font-weight:700;margin-left:1px}@keyframes aifix-blink{0%,100%{opacity:1}50%{opacity:0}}.aifix-msg-meta{font-size:10px;color:var(--fg-muted,#6b6b80);margin-top:6px;padding-top:4px;border-top:1px solid var(--border,#2a2a35)}.aifix-input-area{padding:10px 12px;border-top:1px solid var(--border,#2a2a35);flex-shrink:0;display:flex;flex-direction:column;gap:8px;background:var(--bg-panel,#1a1a22)}.aifix-textarea{width:100%;border:1px solid var(--border,#2a2a35);border-radius:8px;background:var(--bg,#0e0e12);color:var(--fg,#e0e0e0);font-size:13px;padding:9px 12px;resize:vertical;min-height:72px;font-family:inherit;line-height:1.5;outline:0;transition:border-color .15s;box-sizing:border-box}.aifix-textarea:focus{border-color:var(--accent,#c9a84c)}.aifix-textarea::placeholder{color:var(--fg-muted,#6b6b80)}.aifix-actions{display:flex;gap:8px}.aifix-run-btn,.aifix-stop-btn{flex:1;padding:8px 14px;border-radius:7px;border:none;cursor:pointer;font-size:13px;font-weight:600;transition:background .15s,opacity .15s}.aifix-run-btn{background:var(--accent,#c9a84c);color:#000}.aifix-run-btn:hover:not(:disabled){background:var(--accent-dark,#b8933e)}.aifix-run-btn:disabled{opacity:.5;cursor:not-allowed}.aifix-stop-btn{background:rgba(255,82,82,.15);border:1px solid rgba(255,82,82,.3);color:#ff7070}.aifix-stop-btn:hover:not(:disabled){background:rgba(255,82,82,.25)}.aifix-stop-btn:disabled{opacity:.5;cursor:not-allowed}.aifix-footer{padding:6px 14px;font-size:10px;color:var(--fg-muted,#555);border-top:1px solid var(--border,#2a2a35);text-align:center;flex-shrink:0}[data-theme=light] .aifix-panel{background:#f5f5f7;border-left-color:#d8d8e0}[data-theme=light] .aifix-header{background:#ebebef}[data-theme=light] .aifix-context-bar{background:#f0f0f4}[data-theme=light] .aifix-msg--user{background:rgba(201,168,76,.08)}[data-theme=light] .aifix-msg--ai{background:#fff;border-color:#d8d8e0}[data-theme=light] .aifix-textarea{background:#fff;border-color:#c8c8d0;color:#1a1a22}[data-theme=light] .aifix-msg-body pre.aifix-code{background:#f0f0f4;border-color:#d8d8e0}[data-theme=light] .aifix-footer{color:#999;border-color:#d8d8e0}.shortcuts-table{width:100%;border-collapse:collapse;font-size:13px}.shortcuts-table thead tr{background:var(--bg-sub,#161620);position:sticky;top:0;z-index:1}.shortcuts-table th{padding:8px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted,#6b6b80);border-bottom:1px solid var(--border,#2a2a35)}.shortcuts-table td{padding:9px 16px;color:var(--fg,#e0e0e0);border-bottom:1px solid var(--border,#2a2a35);vertical-align:middle}.shortcuts-table td:first-child{width:200px;white-space:nowrap}.shortcuts-table tbody tr:hover{background:var(--bg-hover,rgba(255,255,255,.04))}.shortcuts-table tbody tr:last-child td{border-bottom:none}.shortcuts-table kbd{display:inline-block;padding:2px 7px;font-size:11px;font-family:"JetBrains Mono","Fira Code",monospace;background:var(--bg,#0e0e12);border:1px solid var(--border,#2a2a35);border-bottom-width:2px;border-radius:4px;color:var(--accent,#c9a84c);white-space:nowrap}[data-theme=light] .shortcuts-table th{background:#ebebef}[data-theme=light] .shortcuts-table kbd{background:#fff;border-color:#c8c8d0}