:root{--bg-base:#1e1e1e;--bg-surface:#252526;--bg-tertiary:#2d2d30;--bg-overlay:#1a1a1a;--bg-element:#333337;--bg-element-hover:#3c3c3c;--bg-element-active:#464647;--border:#3c3c3c;--text-primary:#ccc;--text-secondary:#858585;--text-muted:#5a5a5a;--text-bright:#f0f6fc;--accent:#0078d4;--accent-hover:#1a8ae8;--accent-bright:#79c0ff;--accent-text:#fff;--color-success:#4ec9b0;--color-warning:#cca700;--color-error:#f14c4c;--color-info:#3794ff;--badge-source-bg:#2d4a1a;--badge-source-fg:#4ec9b0;--badge-edit-bg:#1a3660;--badge-edit-fg:#3794ff;--badge-warn-bg:#3a3010;--badge-warn-fg:#cca700;--badge-error-bg:#4a1818;--badge-error-fg:#f14c4c;--scrollbar-track:#252526;--scrollbar-thumb:#3c3c3c;--scrollbar-thumb-hover:#464647;--list-stripe-bg:#fff1;--logo-color:#0078d4;--menubar-bg:#252526;--menubar-hover:#333337;--menubar-text:#ccc;--dropdown-bg:#1e1e1e;--dropdown-hover:#333337;--dropdown-border:#3c3c3c;--toolbar-bg:#1e1e1e;--toolbar-btn-bg:transparent;--toolbar-btn-hover:#333337;--toolbar-btn-active:#3c3c3c;--toolbar-btn-checked:#0078d4;--toolbar-btn-checked-text:#fff;--sp-xs:2px;--sp-sm:4px;--sp-md:8px;--sp-lg:16px;--sp-xl:24px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--font-size-base:13px;--font-size-small:12px;--font-size-xs:11px;--font-size-toolbar-btn:11px;--font-mono:"Cascadia Code","Consolas","Menlo","SFMono-Regular",monospace}:root.light{--bg-base:#fff;--bg-surface:#f3f3f3;--bg-tertiary:#e8e8e8;--bg-overlay:#e0e0e0;--bg-element:#e8e8e8;--bg-element-hover:#d4d4d4;--bg-element-active:#c8c8c8;--border:#d4d4d4;--text-primary:#1e1e1e;--text-secondary:#616161;--text-muted:#a0a0a0;--text-bright:#000;--accent:#005fb8;--accent-hover:#06c;--accent-bright:#005fb8;--accent-text:#fff;--color-success:#16825d;--color-warning:#9d5d00;--color-error:#cd3131;--color-info:#005fb8;--badge-source-bg:#d4edda;--badge-source-fg:#155724;--badge-edit-bg:#cce5ff;--badge-edit-fg:#004085;--badge-warn-bg:#fff3cd;--badge-warn-fg:#856404;--badge-error-bg:#f8d7da;--badge-error-fg:#721c24;--scrollbar-track:#f3f3f3;--scrollbar-thumb:#c8c8c8;--scrollbar-thumb-hover:#a0a0a0;--list-stripe-bg:#0000000d;--logo-color:#005fb8;--menubar-bg:#f3f3f3;--menubar-hover:#e8e8e8;--menubar-text:#1e1e1e;--dropdown-bg:#fff;--dropdown-hover:#f3f3f3;--dropdown-border:#d4d4d4;--toolbar-bg:#fff;--toolbar-btn-bg:transparent;--toolbar-btn-hover:#e8e8e8;--toolbar-btn-active:#d4d4d4;--toolbar-btn-checked:#005fb8;--toolbar-btn-checked-text:#fff}:root.theme-mz{--bg-base:#ececec;--bg-surface:#fff;--bg-tertiary:#f5f5f5;--bg-overlay:#d4d4d4;--bg-element:#f0f0f0;--bg-element-hover:#e1ecf7;--bg-element-active:#cce4f7;--border:#d4d4d4;--text-primary:#000;--text-secondary:#444;--text-muted:#707070;--text-bright:#000;--accent:#0078d4;--accent-hover:#1086e5;--accent-bright:#0078d4;--accent-text:#fff;--color-success:#107c10;--color-warning:#b58300;--color-error:#c42b1c;--color-info:#0078d4;--badge-source-bg:#dff6dd;--badge-source-fg:#0a5b0a;--badge-edit-bg:#d6ecf7;--badge-edit-fg:#003e6f;--badge-warn-bg:#fff4ce;--badge-warn-fg:#8a6500;--badge-error-bg:#fde7e9;--badge-error-fg:brown;--scrollbar-track:#ececec;--scrollbar-thumb:#c8c8c8;--scrollbar-thumb-hover:#a8a8a8;--list-stripe-bg:#e5ecf3;--logo-color:#0078d4;--menubar-bg:#e8e8eb;--menubar-hover:#d8dadf;--menubar-text:#000;--dropdown-bg:#fff;--dropdown-hover:#e1ecf7;--dropdown-border:#d4d4d4;--toolbar-bg:#e8e8eb;--toolbar-btn-bg:transparent;--toolbar-btn-hover:#e1ecf7;--toolbar-btn-active:#cce4f7;--toolbar-btn-checked:#0078d4;--toolbar-btn-checked-text:#fff}:root.font-s{--font-size-base:11px;--font-size-small:10px;--font-size-xs:9px;--font-size-toolbar-btn:10px}:root.font-m{--font-size-base:13px;--font-size-small:12px;--font-size-xs:11px;--font-size-toolbar-btn:11px}:root.font-l{--font-size-base:15px;--font-size-small:14px;--font-size-xs:13px;--font-size-toolbar-btn:13px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic UI,Yu Gothic Medium,Yu Gothic,Meiryo UI,-apple-system,BlinkMacSystemFont,Segoe UI,Ubuntu,Noto Sans CJK JP,system-ui,sans-serif;font-size:var(--font-size-base);background:var(--bg-base);color:var(--text-primary);-webkit-user-select:none;user-select:none;line-height:1.5}html[lang=zh-CN] body,html[lang=zh-Hans] body,html[lang=zh] body{font-family:PingFang SC,Microsoft YaHei UI,Microsoft YaHei,Source Han Sans SC,Noto Sans CJK SC,-apple-system,Segoe UI,sans-serif}html[lang=zh-TW] body,html[lang=zh-HK] body,html[lang=zh-Hant] body{font-family:PingFang TC,Microsoft JhengHei UI,Microsoft JhengHei,Source Han Sans TC,Noto Sans CJK TC,-apple-system,Segoe UI,sans-serif}html[lang^=ko] body{font-family:Apple SD Gothic Neo,Malgun Gothic,맑은 고딕,Noto Sans CJK KR,Source Han Sans KR,-apple-system,Segoe UI,sans-serif}html[lang^=ru] body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,PT Sans,Arial,sans-serif}html[lang^=en] body,html[lang^=de] body,html[lang^=es] body,html[lang^=fr] body,html[lang^=it] body,html[lang^=pl] body,html[lang^=pt] body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}input,textarea,[contenteditable],[contenteditable] *{-webkit-user-select:text;user-select:text}button{font-family:inherit;font-size:var(--font-size-small);cursor:pointer;border:1px solid var(--border);background:var(--bg-element);color:var(--text-primary);border-radius:var(--radius-md);padding:4px 12px;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s}button:hover{background:var(--bg-element-hover);border-color:var(--text-secondary);box-shadow:0 0 0 1px var(--text-secondary) inset}button:active{background:var(--bg-element-active);box-shadow:none}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:inset 0 0 0 1px #ffffff59}button.primary:disabled{opacity:.45;cursor:default}button:disabled{opacity:.4;cursor:default;box-shadow:none}button:disabled:hover{background:var(--bg-element);border-color:var(--border);box-shadow:none}select,input[type=text],input[type=password],input[type=number]{font-family:inherit;font-size:var(--font-size-small);border:1px solid var(--border);background:var(--bg-element);color:var(--text-primary);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;outline:none;padding:3px 6px}select:focus,input:focus{border-color:var(--accent)}textarea{font-family:inherit;font-size:var(--font-size-small);border:1px solid var(--border);background:var(--bg-element);color:var(--text-primary);border-radius:var(--radius-sm);resize:vertical;outline:none;padding:4px 6px}textarea:focus{border-color:var(--accent)}label{-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}#root{height:100vh}#app{flex-direction:column;height:100vh;display:flex}#menubar{background:var(--menubar-bg);border-bottom:1px solid var(--border);height:28px;font-size:var(--font-size-small);flex-shrink:0;align-items:center;padding:0 4px;display:flex}#menubar .mb-logo{height:100%;color:var(--text-primary);border-right:1px solid var(--border);align-items:center;gap:6px;margin-right:4px;padding:0 10px 0 6px;font-weight:600;display:inline-flex}#menubar .mb-logo .mb-logo-mark{color:var(--logo-color);display:inline-flex}#menubar .mb-logo .mb-logo-text{font-size:var(--font-size-small);letter-spacing:.1px}.menu-item{cursor:pointer;color:var(--menubar-text);border-radius:3px;padding:3px 10px;font-weight:400;position:relative}.menu-item:hover,.menu-item.open{background:var(--menubar-hover)}.menu-dropdown{background:var(--dropdown-bg);border:1px solid var(--dropdown-border);border-radius:var(--radius-md);padding:var(--sp-sm) 0;z-index:1000;min-width:220px;display:none;position:absolute;top:100%;left:0;box-shadow:0 4px 16px #0000004d}.menu-dropdown.open{display:block}.menu-dropdown .dd-item{cursor:pointer;white-space:nowrap;font-size:var(--font-size-small);color:var(--text-primary);justify-content:space-between;gap:24px;padding:5px 16px;display:flex}.menu-dropdown .dd-item:hover{background:var(--dropdown-hover)}.menu-dropdown .dd-item.checked:before{content:"✓";color:var(--accent);margin-right:6px}.menu-dropdown .dd-item.disabled{color:var(--text-muted);cursor:default}.menu-dropdown .dd-item.disabled:hover{background:0 0}.menu-dropdown .dd-item .shortcut{color:var(--text-muted);font-size:var(--font-size-xs)}.menu-dropdown .dd-sep{background:var(--border);height:1px;margin:4px 8px}.menu-dropdown .dd-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 16px}.menubar-spacer{flex:1}.menubar-gear{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:24px;height:22px;margin:0 4px 0 2px;padding:2px 6px;line-height:1;display:inline-flex}.menubar-gear:hover{background:var(--menubar-hover);color:var(--text-primary);border-color:var(--text-secondary);box-shadow:0 0 0 1px var(--text-secondary) inset}.menubar-gear.open{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.menubar-gear svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.settings-grid{grid-template-columns:110px 1fr;align-items:center;gap:10px 12px;display:grid}.settings-grid label{font-size:var(--font-size-small);color:var(--text-secondary)}.settings-grid select{width:100%;height:26px;font-size:var(--font-size-small);padding:2px 8px}.settings-hint{font-size:var(--font-size-xs);color:var(--text-muted);grid-column:2;margin-top:-4px;line-height:1.5}#toolbar{background:var(--toolbar-bg);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:3px 2px;min-height:34px;padding:3px 6px;display:flex}#toolbar .sep{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.tb-label{white-space:nowrap}.tb-btn{background:var(--toolbar-btn-bg);color:var(--text-secondary);font-size:var(--font-size-toolbar-btn);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:4px;min-width:28px;height:28px;padding:3px 8px;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.tb-btn:hover{background:var(--toolbar-btn-hover);color:var(--text-primary);border-color:var(--text-secondary);box-shadow:0 0 0 1px var(--text-secondary) inset}.tb-btn:active{background:var(--toolbar-btn-active);box-shadow:none}.tb-btn.active{background:var(--toolbar-btn-checked);color:var(--toolbar-btn-checked-text);border-color:var(--toolbar-btn-checked)}.tb-btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);padding:3px 12px;font-weight:500}.tb-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:inset 0 0 0 1px #ffffff59}.tb-btn.primary:disabled{opacity:.45;cursor:default;box-shadow:none}.tb-btn:disabled{opacity:.4;cursor:default;box-shadow:none}.tb-btn .ico{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.tb-btn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.tb-label{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0 4px}#toolbar select{height:24px;font-size:var(--font-size-xs)}#main{flex:1;display:flex;position:relative;overflow:hidden}#main.drag-over:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 3px var(--accent);background:#0078d40f;position:absolute;inset:0}.tut-overlay{z-index:4000;pointer-events:none;position:fixed;inset:0}.tut-highlight{border:3px solid var(--accent);pointer-events:none;border-radius:6px;transition:top .3s,left .3s,width .3s,height .3s;position:fixed;box-shadow:0 0 0 2px #0078d440,0 0 16px #0078d48c}.tut-tooltip{z-index:4001;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:240px;max-width:360px;color:var(--text-primary);pointer-events:auto;padding:16px 18px;position:fixed;box-shadow:0 8px 32px #00000080}.tut-tooltip h3{color:var(--accent);margin:0 0 8px;font-size:15px}.tut-tooltip p{white-space:pre-line;margin:0 0 14px;font-size:13px;line-height:1.6}.tut-step-indicator{color:var(--text-muted);margin-bottom:8px;font-size:11px}.tut-buttons{justify-content:flex-end;gap:8px;display:flex}.tut-buttons button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;padding:5px 14px;font-size:13px}.tut-buttons button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.tut-buttons button:hover{opacity:.88}.tut-prompt-overlay{z-index:4000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tut-prompt{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:400px;color:var(--text-primary);padding:24px 28px;box-shadow:0 8px 32px #00000080}.tut-prompt h3{margin:0 0 12px;font-size:16px}.tut-prompt p{color:var(--text-secondary);margin:0 0 18px;font-size:13px;line-height:1.6}.tut-prompt-actions{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.tut-prompt-actions button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;padding:7px 18px;font-size:13px}.tut-prompt-actions button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.tut-prompt-check{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.pane-badge-btn{cursor:pointer;font:inherit;border:none}.warn-row{border-bottom:1px solid var(--border);font-size:var(--font-size-small);gap:10px;padding:6px 2px;display:flex}.warn-row:last-child{border-bottom:none}.warn-loc{color:var(--text-secondary);word-break:break-all;flex:0 0 38%}.warn-msg{color:var(--text-primary);flex:1}#sidebar{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;min-width:200px;max-width:460px;transition:width .2s,min-width .2s;display:flex;overflow:hidden}#sidebar.collapsed{border-right:none;width:0;min-width:0;overflow:hidden}.sidebar-section{flex-direction:column;flex:none;display:flex;overflow:hidden}.sidebar-section.active{flex:1 1 0;min-height:0}.sidebar-section-header{cursor:pointer;font-size:var(--font-size-small);color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg-surface);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-weight:600;transition:background .15s;display:flex}.sidebar-section-header:hover{background:var(--bg-element);color:var(--text-primary)}.sidebar-section-header .sb-arrow{text-align:center;flex-shrink:0;width:12px;font-size:9px;transition:transform .15s}.sidebar-section.active .sb-arrow{transform:rotate(90deg)}.sidebar-section-header .sb-count{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:auto;font-weight:400}.section-header-files{border-left:3px solid var(--accent)}.sidebar-section.active>.section-header-files{color:var(--accent);background:#0078d41a}.section-header-dict{border-left:3px solid #cca700}.sidebar-section.active>.section-header-dict{color:#cca700;background:#cca7001a}.section-header-log{border-left:3px solid var(--text-secondary)}.sidebar-section.active>.section-header-log{color:var(--text-primary);background:#8585851a}.sidebar-section-body{flex:1 1 0;min-height:0;overflow:hidden auto}.sidebar-section:not(.active) .sidebar-section-body{display:none}.sb-toolbar{border-bottom:1px solid var(--border);background:var(--bg-surface);align-items:center;gap:4px;padding:4px 8px;display:flex}.sb-toolbar .tb-btn{min-width:22px;height:22px;padding:0 6px}.sb-selectall{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-xs);color:var(--text-secondary);align-items:center;gap:6px;margin-left:2px;display:flex}.sb-selectall .fi-check{width:12px;height:12px;accent-color:var(--accent);flex-shrink:0;margin:0}.sb-selectall:hover{color:var(--text-primary)}.ps-tag.author .fav-ico svg,.fi-fav .fav-ico svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.ps-tag.author.fav{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.ps-fav-plugin{font-size:14px;line-height:1}.ps-tag.author:hover{background:var(--bg-element);border-color:var(--text-secondary);color:var(--text-primary)}.ps-tag.author.fav:hover{background:var(--accent-hover);color:var(--accent-text);border-color:var(--accent-hover)}.ps-tag.author .ps-author-add{opacity:.6;margin-left:1px;font-size:11px}.ps-tag.author:hover .ps-author-add{opacity:1}.ps-tag.author.fav .ps-author-add{color:var(--accent-text);opacity:1}.pe-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.pe-actions button,.sb-dz-search{align-items:center;gap:5px;display:inline-flex}.pe-actions button svg,.sb-dz-search svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:16px;height:16px}.sb-dz-search{margin-top:10px}.ps-fav-legend{color:var(--text-muted);font-size:var(--font-size-xs);align-items:center;gap:16px;padding:2px 0 0;display:flex}.ps-legend-item{align-items:center;gap:4px;display:inline-flex}.ps-legend-item .fav-ico svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.ps-legend-star{color:var(--accent)}.sb-search{min-width:0;height:22px;font-size:var(--font-size-xs);flex:1}.file-list{padding:4px 0}.file-item{font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;line-height:1.5;display:flex}.file-item:nth-child(2n),.history-item:nth-child(2n){background:var(--list-stripe-bg)}.file-item:hover{background:var(--bg-element);color:var(--text-primary)}.file-item.selected{background:var(--accent);color:var(--accent-text)}.file-item .fi-check{width:12px;height:12px;accent-color:var(--accent);flex-shrink:0;margin:0}.file-item.selected .fi-check{accent-color:#fff}.file-item .fi-ico{color:var(--text-muted);flex-shrink:0;align-items:center;display:inline-flex}.file-item.selected .fi-ico{color:var(--accent-text)}.file-item .fi-ico svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:12px;height:12px}.file-item .fi-name{text-overflow:ellipsis;font-family:var(--font-mono);font-size:var(--font-size-xs);flex:1;overflow:hidden}.file-item .fi-count{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.file-item.selected .fi-count{color:#ffffffd9}.file-item .fi-remove{color:inherit;opacity:0;background:0 0;border:none;border-radius:2px;padding:1px 4px;line-height:1}.file-item:hover .fi-remove{opacity:.6}.file-item .fi-remove:hover{opacity:1;box-shadow:none;background:#ffffff1f}.file-item.selected .fi-remove:hover{background:#0000002e}.sb-dropzone{border:1.5px dashed var(--border);border-radius:var(--radius-md);text-align:center;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;margin:12px;padding:24px 12px;transition:border-color .15s,color .15s,background .15s}.sb-dropzone:hover,.sb-dropzone.drag-over{border-color:var(--accent);color:var(--accent);background:#0078d40f}.sb-dropzone .sb-dz-ico{justify-content:center;margin-bottom:8px;display:flex}.sb-dropzone .sb-dz-ico svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:28px;height:28px}.sb-dropzone .sb-dz-text{color:var(--text-secondary);margin-bottom:4px;font-weight:500}.sb-dropzone:hover .sb-dz-text{color:var(--accent)}.sb-dropzone .sb-dz-sub{font-size:var(--font-size-xs);color:var(--text-muted)}#sidebar.drag-over .sidebar-section-body{background:#0078d40f}.dict-row{font-size:var(--font-size-xs);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:3px 10px;display:flex}.dict-row:nth-child(2n){background:var(--list-stripe-bg)}.dict-row .dr-ja{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.dict-row .dr-arrow{color:var(--text-muted);flex-shrink:0}.dict-row .dr-en{text-overflow:ellipsis;min-width:0;color:var(--text-secondary);flex:1;overflow:hidden}.dict-row .dr-del{color:var(--text-muted);opacity:0;background:0 0;border:none;padding:0 4px;font-size:12px;line-height:1}.dict-row:hover .dr-del{opacity:.7}.dict-row .dr-del:hover{opacity:1;color:var(--color-error);box-shadow:none;background:0 0}.dict-add-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr auto;gap:4px;padding:6px 8px;display:grid}.dict-add-row input{width:100%}.dict-add-row .tb-btn{height:22px;padding:0 8px}.log-list{font-family:var(--font-mono);font-size:var(--font-size-xs);padding:4px 0}.log-row{white-space:pre-wrap;word-break:break-all;padding:2px 10px;line-height:1.4}.log-row:nth-child(2n){background:var(--list-stripe-bg)}.log-row .lr-time{color:var(--text-muted);margin-right:6px}.log-row.log-info .lr-msg{color:var(--text-secondary)}.log-row.log-success .lr-msg{color:var(--color-success)}.log-row.log-warning .lr-msg{color:var(--color-warning)}.log-row.log-error .lr-msg{color:var(--color-error)}#content{background:var(--bg-base);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.pane-header{background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:var(--font-size-xs);color:var(--text-secondary);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 8px;min-height:32px;padding:4px 10px;display:flex}.pane-header .pane-label{color:var(--text-primary);font-weight:600;font-size:var(--font-size-small)}.pane-header .pane-badge{font-size:var(--font-size-xs);background:var(--bg-element);color:var(--text-muted);border-radius:3px;padding:1px 6px;font-weight:500}.pane-header .pane-badge.source{background:var(--badge-source-bg);color:var(--badge-source-fg)}.pane-header .pane-badge.info{background:var(--badge-edit-bg);color:var(--badge-edit-fg)}.pane-header .pane-badge.warn{background:var(--badge-warn-bg);color:var(--badge-warn-fg)}.pane-header .pane-badge.error{background:var(--badge-error-bg);color:var(--badge-error-fg)}.pane-header .pane-spacer{flex:1}.pane-body{background:var(--bg-overlay);flex:1;padding:12px 16px;overflow:auto}.pane-empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.pane-empty .pe-icon{color:var(--text-muted);opacity:.5}.pane-empty .pe-icon svg{fill:none;stroke:currentColor;stroke-width:1.2px;width:64px;height:64px}.pane-empty .pe-title{font-size:var(--font-size-base);color:var(--text-secondary)}.pane-empty .pe-hint{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;max-width:380px;line-height:1.6}.result-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden}.result-card-header{background:var(--bg-tertiary);cursor:pointer;font-size:var(--font-size-small);border-bottom:1px solid #0000;align-items:center;gap:8px;padding:6px 12px;display:flex}.result-card-header:hover{background:var(--bg-element)}.result-card.open .result-card-header{border-bottom-color:var(--border)}.result-card-header .rc-arrow{text-align:center;width:10px;color:var(--text-secondary);flex-shrink:0;font-size:9px;transition:transform .15s}.result-card.open .rc-arrow{transform:rotate(90deg)}.result-card-header .rc-name{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary);text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.result-card-header .rc-actions{opacity:0;flex-shrink:0;gap:4px;transition:opacity .12s;display:flex}.result-card:hover .rc-actions,.result-card.open .rc-actions{opacity:1}.result-card-header .rc-actions .tb-btn{min-width:22px;height:22px;padding:0 6px}.result-card-body{max-height:460px;padding:4px 0;overflow-y:auto}.tpair{border-bottom:1px solid var(--border);font-size:var(--font-size-small);grid-template-columns:80px 1fr 1fr;gap:12px;padding:6px 12px;display:grid}.tpair:last-child{border-bottom:none}.tpair:nth-child(2n){background:var(--list-stripe-bg)}.tpair .tp-tag{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--accent-bright);text-overflow:ellipsis;white-space:nowrap;padding-top:4px;overflow:hidden}.tpair .tp-src{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;padding-top:4px}.tpair .tp-tgt{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;padding-top:4px}.tpair textarea.tp-tgt{min-height:26px;font-family:inherit;font-size:var(--font-size-small);white-space:pre-wrap;word-break:break-word;padding:4px 6px}.tpair .tp-tgt.pending{color:var(--text-muted);font-style:italic}.progress-strip{background:var(--bg-tertiary);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:6px 12px;display:flex}.progress-info{font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.progress-info .pi-current{font-family:var(--font-mono)}.progress-bar{background:var(--bg-element);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}#statusbar{background:var(--bg-surface);border-top:1px solid var(--border);font-size:var(--font-size-xs);color:var(--text-secondary);flex-shrink:0;align-items:center;gap:12px;min-height:22px;padding:3px 10px;display:flex}#statusbar .sb-cell{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}#statusbar .sb-cell strong{color:var(--text-primary);font-weight:600}#statusbar .sb-sep{background:var(--border);width:1px;height:12px}#statusbar .sb-spacer{flex:1}#statusbar .sb-btn{color:var(--text-secondary);line-height:1;font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:1px 6px}#statusbar .sb-btn:hover{background:var(--bg-element);color:var(--text-primary);box-shadow:none}#statusbar .sb-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px}#statusbar .sb-dot.ok{background:var(--color-success)}#statusbar .sb-dot.warn{background:var(--color-warning)}#statusbar .sb-dot.error{background:var(--color-error)}.modal-overlay{z-index:600;background:#00000073;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}:root.light .modal-overlay,:root.theme-mz .modal-overlay{background:#00000040}.modal-dialog{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:480px;max-width:92vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0006}.modal-dialog.wide{width:640px}.modal-header{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.modal-header h2{font-size:var(--font-size-base);margin:0;font-weight:600}.modal-close{color:var(--text-muted);background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:16px;line-height:1}.modal-close:hover{background:var(--bg-element-hover);color:var(--text-primary);box-shadow:none}.modal-body{flex:1;min-height:0;padding:14px 16px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.field-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.field-row label{font-size:var(--font-size-small);color:var(--text-secondary);min-width:90px}.field-row .grow{flex:1}.field-row.col{flex-direction:column;align-items:stretch;gap:4px}.field-row.col label{min-width:0}.field-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:-4px;margin-bottom:8px;margin-left:98px}.field-hint.indent{margin-left:22px}.radio-row{font-size:var(--font-size-small);cursor:pointer;align-items:flex-start;gap:6px;padding:3px 0;display:flex}.radio-row input{accent-color:var(--accent);margin-top:3px}.check-row{font-size:var(--font-size-small);cursor:pointer;align-items:center;gap:6px;padding:3px 0;display:flex}.check-row input{accent-color:var(--accent)}.popover{background:var(--dropdown-bg);border:1px solid var(--dropdown-border);border-radius:var(--radius-md);z-index:800;width:340px;padding:10px 12px;position:absolute;box-shadow:0 6px 24px #00000059}.popover .pop-title{font-size:var(--font-size-small);color:var(--text-primary);margin-bottom:8px;font-weight:600}.about-icon-wrap svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:56px;height:56px}.ps-dialog{width:96vw;max-width:96vw;height:92vh;max-height:92vh}.ps-filters{flex-shrink:0;align-items:center;gap:8px;padding:10px 14px 6px;display:flex}.ps-filters .ps-search-input{flex:1;height:28px}.ps-filters select{height:28px}.ps-status{font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;padding:4px 14px}.ps-error{background:var(--badge-error-bg);color:var(--badge-error-fg);border-radius:var(--radius-sm);font-size:var(--font-size-xs);margin:0 14px 6px;padding:6px 10px}.ps-info{background:var(--badge-source-bg);color:var(--badge-source-fg);border-radius:var(--radius-sm);font-size:var(--font-size-xs);margin:0 14px 6px;padding:6px 10px}.ps-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex:1;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));align-content:start;gap:8px;min-height:0;padding:10px;display:grid;overflow-y:auto}.ps-list>.ps-empty,.ps-list>.ps-load-more{grid-column:1/-1}.ps-empty{text-align:center;color:var(--text-muted);font-size:var(--font-size-small);padding:40px 20px}.ps-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.ps-item:nth-child(2n){background:var(--bg-surface)}.ps-item:hover{background:var(--bg-element)}.ps-item-info{flex:1;min-width:0}.ps-item-name{font-family:var(--font-mono);font-size:var(--font-size-small);color:var(--text-primary);word-break:break-all;font-weight:600}.ps-item-desc{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:3px;line-height:1.5}.ps-item-meta{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.ps-tag{background:var(--bg-element);color:var(--text-muted);font-size:var(--font-size-xs);border-radius:2px;align-items:center;padding:1px 6px;display:inline-flex}.ps-tag.target{background:var(--badge-edit-bg);color:var(--badge-edit-fg);font-weight:500}.ps-tag.author{background:var(--badge-source-bg);color:var(--badge-source-fg)}.ps-tag.license{background:var(--bg-element);color:var(--text-secondary)}.ps-item-actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:4px;display:flex}.ps-item-actions button{white-space:nowrap;min-width:130px}.ps-added-badge{background:var(--badge-source-bg);color:var(--badge-source-fg);border-radius:var(--radius-sm);font-size:var(--font-size-xs);justify-content:center;align-items:center;padding:4px 10px;font-weight:500;display:inline-flex}.ps-load-more{justify-content:center;padding:10px;display:flex}#toast{background:var(--bg-element);color:var(--text-primary);border-radius:var(--radius-md);font-size:var(--font-size-small);opacity:0;pointer-events:none;z-index:9999;border:1px solid var(--border);padding:6px 14px;transition:opacity .25s;position:fixed;bottom:36px;left:50%;transform:translate(-50%)}#toast.show{opacity:1}.spinner-inline{border:2px solid var(--border);border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}.mono{font-family:var(--font-mono)}
