:root{--bg:#0f0e0d;--bg-2:var(--surface-2);--surface:#1d1b19;--surface-2:#26231f;--surface-3:#332f2b;--bg-elev:var(--surface);--panel:var(--surface);--panel-2:var(--surface-2);--hairline:#332f2b;--hairline-2:#43403c;--hairline-3:#ffffff2e;--line:var(--hairline);--line-2:var(--hairline-2);--ink:#f0ece4;--ink-dim:#a8a29c;--ink-muted:#7e7974;--text:var(--ink);--muted:var(--ink-dim);--muted-2:var(--ink-muted);--primary:#c84e18;--primary-hover:#a93f12;--primary-soft:#c84e1824;--accent:#b9975b;--success:#2d7d5f;--success-hover:#23644c;--danger:#c82a3a;--danger-hover:#a62230;--warning:#c98a12;--bg-card:var(--panel-2);--border:var(--line);--text-base:var(--text);--content-font-size:14px;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:15px;--text-lg:18px;--text-xl:20px;--text-display:clamp(42px, 8vw, 62px);--leading-tight:1.1;--leading-snug:1.35;--leading-normal:1.55;--leading-relaxed:1.65;--leading-loose:1.78;--tracking-tight:-.02em;--tracking-label:.06em;--measure:none;--radius-xs:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--r-sm:var(--radius-xs);--r:var(--radius);--r-lg:var(--radius-lg);--r-xl:var(--radius-xl);--r-2xl:18px;--r-3xl:24px;--r-full:999px;--gap:14px;--shadow-lg:0 18px 40px -12px #0000008c;--shadow-glow:0 0 24px -6px #c84e1847;--ease:cubic-bezier(.22, 1, .36, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--dur-1:.14s;--dur-2:.22s;--dur-3:.32s;--font-display:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-jp:"JetBrains Mono", "Noto Sans JP", "Hiragino Kaku Gothic ProN", monospace;--font-mono:"JetBrains Mono", "Consolas", "Menlo", monospace}*,:before,:after{box-sizing:border-box}html{background:var(--bg);height:100%;overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;height:100dvh;overflow:hidden}body{color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:var(--leading-normal);letter-spacing:.01em;width:100%;height:100%;overscroll-behavior:none;isolation:isolate;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-variant-ligatures:common-ligatures;font-feature-settings:"tnum" 0, "ss01" 0;background:0 0;height:100dvh;margin:0;padding:0;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}input,textarea,button,select{font-family:inherit;font-size:inherit}::selection{background:var(--primary-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-2);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--muted-2);background-clip:padding-box}.mono{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal)}.grow{flex:1;min-width:0}.w-full{width:100%}.mt-0{margin-top:0}.m-0{margin:0}.mt-1{margin-top:4px}.mt-2{margin-top:12px}.mt-3{margin-top:18px}.mb-1{margin-bottom:6px}.mb-2{margin-bottom:12px}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-4{gap:16px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.wrap{flex-wrap:wrap}.desktop-only{display:inline-block}.text-muted{color:var(--muted)}.text-white{color:var(--text)}.min-w-200{min-width:200px}.label-bold{font-size:var(--text-sm);color:var(--text);letter-spacing:-.01em;font-weight:700;line-height:var(--leading-snug)}.dashboard-shell{width:100%;height:100dvh;padding:24px clamp(16px,4vw,48px);padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(24px, env(safe-area-inset-bottom));background:0 0;flex-direction:column;display:none;position:relative;overflow-y:auto}.dashboard-shell.open{animation:fade-in var(--dur-3) var(--ease) both;display:flex}.dashboard-aurora,.aurora-blob{display:none}.dashboard-hero{text-align:left;border-bottom:1px solid var(--line);box-sizing:border-box;width:100%;animation:slide-down var(--dur-3) var(--ease) both;z-index:20;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:0 0 16px;display:flex;position:relative;flex-wrap:nowrap!important}.hero-brand{flex-direction:row;flex:auto;align-items:center;gap:14px;min-width:0;display:flex}.hero-logo-img{width:64px;height:64px;box-shadow:0 8px 20px -4px var(--primary-soft), 0 2px 6px #00000040;object-fit:contain;transition:transform var(--dur-2) var(--ease);border-radius:16px;flex-shrink:0;display:block}.hero-logo-img:hover{transform:scale(1.04)}.hero-title-group{flex-flow:wrap;align-items:center;gap:10px;min-width:0;display:flex}.hero-title{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text);white-space:nowrap;margin:0;font-size:24px;font-weight:800;line-height:1.1;display:inline-block}.hero-badge{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary);letter-spacing:.3px;white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700}.hero-actions{flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.hero-actions .dropdown{justify-content:center;align-items:center;display:flex}.btn-settings-gear{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);width:44px;height:44px;color:var(--muted);cursor:pointer;box-sizing:border-box;transition:background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-settings-gear:hover{color:var(--text);border-color:var(--line-2);background:var(--line)}.dashboard-hero-cta{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.btn-cta{border-radius:var(--radius);height:44px;transition:transform var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);justify-content:center;align-items:center;gap:9px;padding:0 20px;font-size:14px;font-weight:700;display:inline-flex}.btn-cta:hover:not(:disabled){transform:translateY(-1px)}.btn-cta.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px var(--primary-soft);border:none}.btn-cta.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 6px 20px var(--primary-soft)}.btn-cta.btn-outline{background:var(--panel-2);color:var(--text);border:1px solid var(--line-2)}.btn-cta.btn-outline:hover:not(:disabled){background:var(--line);border-color:var(--muted-2)}.dashboard-content{z-index:1;flex:1;width:100%;max-width:1400px;margin:0 auto;position:relative}.dashboard-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dashboard-section-title{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.project-count-badge{background:var(--panel-2);min-width:22px;height:20px;color:var(--muted);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.dashboard-filter-bar{align-items:center;gap:10px;width:100%;margin-bottom:22px;display:flex}.search-input-wrap{flex:1;align-items:center;min-width:0;display:flex;position:relative}.search-input-wrap .search-icon{color:var(--muted);pointer-events:none;z-index:2;width:16px;height:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input-wrap .dashboard-search-input,input.dashboard-search-input,.dashboard-search-input{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);width:100%;height:42px;min-height:42px;color:var(--text);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);padding-right:14px;font-family:inherit;font-size:14px;padding-left:42px!important}.search-input-wrap .dashboard-search-input:focus,.dashboard-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.sort-select-wrap{flex-shrink:0;width:140px;position:relative}.sort-select-wrap:after{content:"";background-color:var(--muted);clip-path:polygon(100% 0%,0 0%,50% 100%);pointer-events:none;width:8px;height:5px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.dashboard-sort-select{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);width:100%;height:42px;color:var(--text);cursor:pointer;-webkit-appearance:none;appearance:none;transition:border-color var(--dur-1) var(--ease);outline:none;padding:0 30px 0 14px;font-size:13.5px;font-weight:500}.dashboard-sort-select:focus{border-color:var(--primary)}.dashboard-content.is-empty{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}[hidden]{display:none!important}.project-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:18px;display:grid}.project-card{background:var(--panel-2);border:1px solid var(--line);text-align:left;animation:card-in .4s var(--ease) both;-webkit-backdrop-filter:blur(16px);transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);border-radius:16px;flex-direction:column;gap:15px;padding:20px;display:flex;overflow:hidden;box-shadow:0 4px 16px #00000040}.project-card:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:0 12px 30px -8px #0009}.project-card:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.project-card-corrupt{border-color:#c82a3a66}.project-card-corrupt:hover{border-color:var(--danger)}.project-card-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.project-card-header h3{font-family:var(--font-sans);color:var(--text);word-break:break-word;overflow-wrap:anywhere;letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;font-size:18px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.badge{letter-spacing:.3px;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-json{color:#fff;background:linear-gradient(135deg,#4f46e5,#818cf8);box-shadow:0 2px 8px #6366f140}.badge-luca{color:#fff;background:linear-gradient(135deg,#059669,#34d399);box-shadow:0 2px 8px #34d39940}.badge-custom{color:#fff;background:linear-gradient(135deg,#b45309,#f59e0b);box-shadow:0 2px 8px #f59e0b40}.project-progress-wrap{flex-direction:column;gap:8px;display:flex}.project-progress-labels{justify-content:space-between;align-items:center;line-height:1.2;display:flex}.project-progress-lines{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12.5px}.project-progress-pct{color:var(--text);font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13.5px}.project-progress-track{background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.project-progress-fill{background:linear-gradient(90deg, var(--primary), var(--accent));height:100%;box-shadow:0 0 10px var(--primary-soft);transition:width .4s var(--ease);border-radius:999px}.project-meta-list{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:4px 0 6px;display:flex}.project-meta-row{color:var(--muted);align-items:center;gap:8px;font-size:13px;line-height:1.3;display:flex}.project-meta-row .meta-icon{color:var(--muted-2);flex-shrink:0;width:14px;height:14px}.project-actions-container{flex-direction:column;gap:8px;margin-top:auto;padding-top:4px;display:flex}.btn-open-project{border-radius:var(--radius);background:var(--primary);color:#fff;width:100%;height:42px;box-shadow:0 4px 14px var(--primary-soft);cursor:pointer;transition:transform .15s var(--ease), background-color .15s var(--ease);border:none;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.btn-open-project:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 6px 18px var(--primary-soft);transform:translateY(-1px)}.project-actions-row{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.card-btn-action{border-radius:var(--radius);border:1px solid var(--line-2);height:34px;color:var(--text);cursor:pointer;transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 6px;font-size:12.5px;font-weight:600;display:flex}.card-btn-action:hover:not(:disabled){background:var(--line);border-color:var(--muted-2)}.card-btn-action.btn-delete,.btn-danger-outline{color:#f87171;background:0 0;border-color:#c82a3a59}.card-btn-action.btn-delete:hover:not(:disabled),.btn-danger-outline:hover:not(:disabled){border-color:var(--danger);color:#fff;background:#c82a3a26}.corrupt-box{border-radius:var(--radius);color:#ff8896;background:#c82a3a14;border:1px solid #c82a3a40;padding:10px 12px;font-size:12px;line-height:1.4}.badge{color:#fff;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:var(--leading-snug);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 9px;display:inline-block}.badge-epub{color:#fff;background:linear-gradient(135deg,#0369a1,#38bdf8);box-shadow:0 2px 8px -2px #0ea5e973}.badge-json{background:linear-gradient(135deg, var(--success), #3a9a7d)}.badge-luca{background:linear-gradient(135deg,#3b82f6,#6366f1)}.badge-custom{background:linear-gradient(135deg,#b45309,#f59e0b)}.btn{--btn-bg:var(--panel-2);--btn-bg-hover:var(--line-2);border:1px solid var(--line-2);background:var(--btn-bg);color:var(--text);border-radius:var(--radius);font-size:var(--text-sm);letter-spacing:.01em;font-weight:600;line-height:var(--leading-snug);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-1) var(--ease-soft), border-color var(--dur-1) var(--ease-soft), opacity var(--dur-1) var(--ease-soft);justify-content:center;align-items:center;gap:7px;padding:9px 14px;display:inline-flex}.btn:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--muted-2)}.btn:active:not(:disabled){background:var(--btn-bg-hover);transform:scale(.97)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn:disabled:focus-visible{outline:none}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn.is-loading{pointer-events:none;position:relative;color:#0000!important}.btn.is-loading:after{content:"";color:#fff;border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite btn-spin;position:absolute;top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%)}.btn.is-loading.btn-outline:after,.btn.is-loading.btn-outline:disabled:after{color:var(--text);border-top-color:#0000}@keyframes btn-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.btn-sm{height:32px;min-height:32px;font-size:var(--text-sm);border-radius:var(--radius);padding:0 11px}.btn-xs{height:26px;min-height:26px;font-size:var(--text-2xs);border-radius:var(--radius-xs);padding:0 8px}.btn-px-lg{height:40px;min-height:40px;padding:0 22px}.btn-icon{justify-content:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0}.btn-text{display:inline}.btn-primary{--btn-bg:var(--primary);--btn-bg-hover:var(--primary-hover);color:#fff;border-color:#0000}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow)}.btn-success{--btn-bg:var(--success);--btn-bg-hover:var(--success-hover);color:#fff;border-color:#0000}.btn-danger{--btn-bg:var(--danger);--btn-bg-hover:var(--danger-hover);color:#fff;border-color:#0000}.btn-outline{--btn-bg:transparent;--btn-bg-hover:#ffffff0f;border-color:#ffffff8c}.btn-outline:hover:not(:disabled){border-color:#fffc}.btn-ghost{--btn-bg:transparent;--btn-bg-hover:var(--surface-2,#ffffff0f);border-color:var(--line-2,#fff3);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--hairline-3,#fff6)}.card{background:var(--surface,var(--panel));border:1px solid var(--hairline,var(--line));border-radius:var(--r-lg,var(--radius-lg));-webkit-backdrop-filter:blur(16px);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);flex-shrink:0;padding:14px 16px;box-shadow:0 4px 20px #00000040}.card:hover{border-color:var(--hairline-2)}.plugin-dashboard-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),480px));gap:14px;width:100%;margin:0 0 24px;display:grid}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;width:38px;height:22px;display:inline-flex;position:relative}.switch input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.switch-track{background-color:var(--surface-3);border:1px solid var(--hairline-2);border-radius:var(--r-full);transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);position:absolute;top:0;bottom:0;left:0;right:0}.switch-track:after{content:"";background-color:var(--ink);width:16px;height:16px;transition:transform var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background-color:var(--primary);border-color:var(--primary)}.switch input:checked+.switch-track:after{background-color:#fff;transform:translate(16px)}.app-shell{width:100%;height:100%;height:100dvh;max-height:100dvh;animation:fade-in var(--dur-3) var(--ease) both;padding-bottom:env(safe-area-inset-bottom);background:0 0;flex-direction:column;margin:0;display:flex;overflow:hidden}@media (min-width:1024px){.app-shell{width:min(2000px,99vw);height:calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:max(8px, env(safe-area-inset-top)) auto max(8px, env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}}@media (min-width:1600px){.dashboard-content{max-width:1500px}.project-grid{gap:18px}}.toolbar{padding:10px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 75%, transparent);-webkit-backdrop-filter:blur(16px);z-index:5;padding-top:max(10px, env(safe-area-inset-top));flex-shrink:0;align-items:center;gap:8px;display:flex;position:sticky;top:0}.toolbar-sep{background:var(--line);flex-shrink:0;width:1px;height:22px;margin:0}.toolbar-label{color:var(--muted);font-size:13px;font-weight:500}.toolbar .btn,.toolbar .btn.btn-outline,.toolbar .btn.btn-icon{--btn-bg:var(--panel-2);--btn-bg-hover:var(--line-2);letter-spacing:.01em;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--panel-2);height:34px;min-height:34px;color:var(--text);white-space:nowrap;padding:0 12px;font-size:13px;font-weight:600}.toolbar .btn.btn-icon{justify-content:center;width:34px;min-width:34px;padding:0}.toolbar-dynamic-wrap{flex:1;align-items:center;min-width:0;display:flex;overflow:visible}.toolbar-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.dropdown{display:inline-block;position:relative}.dashboard-hero .dropdown{position:relative}.dashboard-hero .dropdown-content{min-width:220px}.dropdown-content{overscroll-behavior:contain;background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--radius);min-width:200px;max-width:min(280px,100vw - 16px);max-height:min(60vh,420px);box-shadow:var(--shadow-lg);z-index:100;opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);flex-direction:column;padding:4px;display:flex;position:fixed;top:0;left:0;overflow:hidden auto;transform:translateY(-6px)}.dropdown-content.show{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdown-toggle[aria-expanded=true]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.dropdown-right{left:auto;right:0}.dropdown-divider{border:none;border-top:1px solid var(--line);margin:4px 0}.dropdown-nested{width:100%;display:block;position:relative}.dropdown-item{color:var(--text);text-align:left;border-radius:var(--radius-xs);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-snug);cursor:pointer;min-height:38px;transition:background var(--dur-1) var(--ease-soft), color var(--dur-1) var(--ease-soft);white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:11px 12px;display:flex}.dropdown-item .lucide-icon{color:var(--muted);flex-shrink:0}.dropdown-item:hover .lucide-icon{color:var(--text)}.dropdown-item:hover{background:var(--primary-soft);color:var(--text)}.dropdown-item:active{background:color-mix(in srgb, var(--primary) 18%, var(--panel-2))}.dropdown-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.dropdown-item:disabled,.dropdown-item[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.dropdown-header{font-size:var(--text-2xs,11px);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 12px 4px;font-weight:700}#dropdownImportMenu{overflow:visible}#dropdownImportMenu .dropdown-nested{width:100%;display:block;position:relative}#dropdownImportMenu .dropdown-nested>.dropdown-item{border-bottom:none}#dropdownImportMenu #dropdownImportOtherMenu.dropdown-content,#dropdownImportMenu #dropdownImportOtherMenu.dropdown-content.show{z-index:110;opacity:1;pointer-events:auto;background:var(--panel-2);border:1px solid var(--line-2);width:max-content;min-width:100%;box-shadow:var(--shadow-lg);border-radius:var(--radius);margin-top:4px;padding:4px;transition:none;position:absolute;top:100%;bottom:auto;left:0;right:auto;overflow:hidden;transform:none}#dropdownImportMenu #dropdownImportOtherMenu.dropdown-content{display:none}#dropdownImportMenu #dropdownImportOtherMenu.dropdown-content.show{flex-direction:column;display:flex}#dropdownImportMenu #dropdownImportOtherMenu .dropdown-item{text-align:center;padding:8px 12px;font-size:12px}#moreGroup{flex-shrink:0}#moreDropdown{min-width:170px;padding:4px}#moreDropdown .btn{text-align:center;width:100%;box-shadow:none;background:0 0;border:none;border-bottom:1px solid #ffffff59;border-radius:0;justify-content:center;padding:9px 12px}#moreDropdown .btn:last-child{border-bottom:none}#moreDropdown .btn:hover:not(:disabled){background:var(--primary-soft);color:var(--text)}#moreDropdown .dropdown{border-bottom:1px solid #ffffff59;flex-direction:column;width:100%;display:flex}#moreDropdown .dropdown:last-child{border-bottom:none}#moreDropdown .dropdown-content{box-shadow:none;opacity:1;pointer-events:auto;background:#0003;border:none;width:100%;min-width:0;margin:0;padding:4px;transition:none;display:none;position:relative;top:auto;left:auto;right:auto;transform:none}#moreDropdown .dropdown-content.show{display:flex}.form-label,.modal-body label:not(.checkbox-line):not(.hint){color:#f1f5f9;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.hint{color:#94a3b8;max-width:none;font-size:12px;line-height:1.4}.hint-tight{margin-top:-4px}.hint-sm{color:#94a3b8;font-size:11px}.settings-section{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff06;margin-bottom:12px;padding:12px 14px}.settings-section-title{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.checkbox-grid{grid-template-columns:1fr;gap:8px;display:grid}@media (min-width:600px){.checkbox-grid{grid-template-columns:1fr 1fr}}.split-layout{flex:1;grid-template-columns:1fr;min-height:0;display:grid;overflow:hidden}@media (min-width:1024px){.split-layout{grid-template-columns:1.6fr 1.2fr}}.split-layout.hide-tools{grid-template-columns:1fr}.split-layout.hide-tools .panel-right{display:none}.split-layout.hide-tools .panel-left{border-bottom:none;border-right:none}.panel{padding:var(--gap);scrollbar-gutter:stable;flex-direction:column;gap:12px;height:100%;min-height:0;display:flex;overflow-y:auto;container-type:inline-size}.panel>.panel-title:first-child{border-bottom:1px solid var(--line);margin-bottom:0;padding-bottom:10px}.panel-left{border-bottom:1px solid var(--line);background:0 0;position:relative}@media (min-width:1024px){.panel-left{border-bottom:none;border-right:1px solid var(--line)}}.panel-right{background:color-mix(in srgb, var(--panel-2) 35%, transparent);-webkit-backdrop-filter:blur(10px);overflow-y:auto}.panel-header{background:color-mix(in srgb, var(--panel-2) 78%, transparent);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);flex-shrink:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;padding:8px 14px;display:grid;box-shadow:0 2px 8px #0000002e}.panel-title{font-family:var(--font-sans);font-size:var(--text-lg);color:var(--text);letter-spacing:-.015em;text-wrap:balance;margin:0 0 14px;font-weight:700;line-height:1.2}.panel-header .panel-title{font-size:var(--text-base);color:var(--text);white-space:nowrap;margin:0;font-weight:700}.section-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:600;line-height:var(--leading-snug);margin-bottom:8px;display:block}.section-label-lg{font-family:var(--font-sans);font-size:var(--text-md);color:var(--text);letter-spacing:-.015em;margin-bottom:14px;font-weight:700;line-height:1.25}.preview-viewport{border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg) 18%, transparent);-webkit-backdrop-filter:blur(6px);overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;flex:1;min-height:0;position:relative;overflow:auto}.preview-container{will-change:transform;width:100%;min-height:100%;position:relative}.preview-row{background:color-mix(in srgb, var(--panel) 65%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius);contain:layout paint;cursor:pointer;width:calc(100% - 16px);transition:background var(--dur-1) var(--ease-soft), border-color var(--dur-1) var(--ease-soft), box-shadow var(--dur-1) var(--ease-soft);flex-direction:column;margin:0 8px;padding:10px 12px;display:flex;position:relative}.preview-row:hover{background:color-mix(in srgb, var(--panel-2) 75%, transparent);border-color:var(--line-2)}.preview-row:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.preview-row:active{transform:scale(.996)}.preview-row.row-selected{border-color:var(--primary);background:var(--primary-soft)!important}.preview-row.row-selected:hover{border-color:var(--primary)}.preview-row.row-translated{border-left:3px solid var(--success)}.preview-row.row-ai-checked{border-left:3px solid var(--warning)}.preview-row.separator{border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-direction:row;align-items:center;padding:14px 8px 8px}.current-file-bar{background:color-mix(in srgb, var(--panel) 75%, transparent);border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:var(--radius-sm,4px);min-width:0;max-width:100%;font-family:var(--font-mono);color:var(--text);white-space:nowrap;justify-self:center;align-items:center;gap:8px;padding:4px 10px;font-size:11.5px;font-weight:600;display:flex;overflow:hidden}.current-file-bar.is-collapsed{display:none}.current-file-bar:before{content:"";background:var(--primary);width:7px;height:7px;box-shadow:0 0 6px var(--primary);border-radius:50%;flex-shrink:0}.current-file-bar .cfb-label{color:var(--muted);flex-shrink:0;font-weight:600}.current-file-bar .cfb-name{text-overflow:ellipsis;min-width:0;color:var(--text);font-weight:700;overflow:hidden}.current-file-bar .cfb-range{color:var(--muted);flex-shrink:0}.checkbox-cell{align-items:flex-start;gap:10px;width:100%;display:flex}.row-left-controls{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:18px;display:flex}.checkbox-cell input[type=checkbox],.sep-cb{cursor:pointer;width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin-top:3px}.row-left-controls input[type=checkbox]{margin:3px 0 0}.checkbox-cell input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.checkbox-cell input[type=checkbox]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sep-cb:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.preview-row .checkbox-cell{cursor:default}.checkbox-cell .text-content{cursor:pointer}.text-content{font-family:var(--font-mono);font-size:var(--content-font-size);cursor:pointer;flex-direction:column;flex:1;gap:6px;width:100%;min-width:0;max-width:none;display:flex}.text-content .file-meta{color:var(--primary);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;font-weight:700;line-height:var(--leading-snug);font-variant-numeric:tabular-nums;margin-bottom:2px}.text-content .original{color:var(--muted);border-bottom:1px dashed var(--line);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-family:var(--font-jp);line-height:var(--leading-loose);letter-spacing:.02em;padding-bottom:6px}.text-content .translated{color:var(--text);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;line-height:var(--leading-relaxed);letter-spacing:.01em}.cell-muted{font-style:italic;color:var(--muted)!important}.highlight{color:#000;background-color:#facc15d9;border-radius:3px;padding:0 3px;font-weight:600}.progress-wrap{font-size:var(--text-xs);color:var(--text);line-height:var(--leading-snug);font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--panel) 70%, transparent);border:1px solid var(--line);border-radius:var(--radius-sm,4px);flex-shrink:0;justify-self:end;align-items:center;gap:8px;margin-left:auto;padding:3px 8px;display:flex}.progress-track{background:color-mix(in srgb, var(--text) 18%, transparent);border-radius:999px;width:80px;height:6px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #00000040}.progress-fill{background:var(--primary);border-radius:inherit;width:0%;height:100%;transition:width var(--dur-3) var(--ease);box-shadow:0 0 6px var(--primary);position:relative}.progress-wrap #progressText{color:var(--text);font-size:11px;font-weight:600}.card-box{background:color-mix(in srgb, var(--panel-2) 68%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius);flex-shrink:0;padding:14px}.card-box.is-primary{border-color:color-mix(in srgb, var(--primary) 28%, var(--line));box-shadow:0 8px 24px -14px #00000080, 0 0 0 1px var(--primary-soft)}.panel-right>.card-box+.card-box{border-top:1px solid var(--line)}.input-group{align-items:center;gap:8px;display:flex}.text-input,input[type=text],input[type=number],select,textarea{font-family:var(--font-mono);border-radius:var(--radius);border:1px solid var(--line-2);background-color:color-mix(in srgb, var(--bg) 60%, transparent);-webkit-backdrop-filter:blur(8px);height:42px;min-height:42px;color:var(--text);transition:border-color var(--dur-1) var(--ease-soft), box-shadow var(--dur-1) var(--ease-soft);padding:8px 12px;font-size:14px}select{-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a8a29c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;padding-right:32px}.select-sm{height:32px;padding:0 28px 0 10px;font-size:12.5px}.text-input:focus,input[type=number]:focus,select:focus,.input-area:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.text-input:user-invalid{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 18%, transparent)}.input-area:user-invalid{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 18%, transparent)}.field-error{font-size:var(--text-xs);color:var(--danger);line-height:var(--leading-snug);margin-top:6px}.field-error:empty{display:none}.input-area{border-radius:var(--radius);border:1px solid var(--line-2);background:var(--bg);width:100%;min-height:160px;color:var(--text);resize:vertical;font-family:var(--font-mono);letter-spacing:0;transition:border-color var(--dur-1) var(--ease-soft), box-shadow var(--dur-1) var(--ease-soft);padding:8px 10px;font-size:12.5px;line-height:1.45}.input-area.small{height:70px;min-height:70px;padding:6px 8px;font-size:12px;line-height:1.4}#pasteArea,#pasteGlossaryArea,#pasteAiCheckArea{min-height:180px;font-size:12px;line-height:1.45}.prompt-input{border-radius:var(--radius);border:1px solid var(--line-2);background:var(--bg);width:100%;min-height:105px;color:var(--text);resize:vertical;font-family:var(--font-mono);letter-spacing:0;transition:border-color var(--dur-1) var(--ease-soft), box-shadow var(--dur-1) var(--ease-soft);padding:8px 10px;font-size:12px;line-height:1.45}.prompt-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft);outline:none}.text-input:disabled,input[type=number]:disabled,.input-area:disabled,select:disabled{background-color:var(--panel-2);border-color:var(--line-2);color:var(--muted);cursor:not-allowed}.inline-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.status-toast{font-size:var(--text-xs);color:var(--success);border-radius:var(--radius-xs);word-break:break-word;overflow-wrap:break-word;opacity:1;max-height:120px;transition:max-height var(--dur-2) var(--ease-soft), opacity var(--dur-2) var(--ease-soft), margin var(--dur-2) var(--ease-soft), padding var(--dur-2) var(--ease-soft), border-color var(--dur-2) var(--ease-soft);background:#2d7d5f1f;border:1px solid #2d7d5f47;flex-shrink:0;margin-bottom:8px;padding:8px 12px;line-height:1.5;overflow:hidden}.status-toast.empty{opacity:0;pointer-events:none;border-color:#0000;max-height:0;margin:0;padding-top:0;padding-bottom:0}.name-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);min-height:150px;overflow:auto}.proofread-results-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);min-height:200px;max-height:55vh;padding:0;position:relative;overflow:auto}#proofreadContainer{width:100%;min-height:100%;position:relative}.proofread-preview-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:relative}.proofread-preview-row .text-content{flex:1;min-width:0}.proofread-preview-row.row-excluded{opacity:.55;background:var(--bg-surface-subtle,#ffffff05);border-style:dashed;border-color:var(--line)}.proofread-preview-row.row-excluded .highlight{opacity:.6;text-decoration:line-through}.proofread-preview-row.row-excluded:hover{opacity:.8;border-color:var(--line-2)}.proofread-row-actions{flex-shrink:0;align-items:center;gap:4px;margin-top:2px;display:flex}.proofread-exclude-btn{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--panel);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:all var(--dur-1) var(--ease);justify-content:center;align-items:center;padding:0;display:inline-flex}.proofread-exclude-btn:hover{background:var(--panel-2);color:var(--danger,#ef4444);border-color:var(--danger,#ef4444);transform:scale(1.08)}.proofread-exclude-btn.is-excluded{color:var(--primary,#3b82f6);border-color:var(--primary,#3b82f6)}.proofread-exclude-btn.is-excluded:hover{color:var(--success,#10b981);border-color:var(--success,#10b981)}.badge-excluded{color:#ef4444;letter-spacing:.02em;background:#ef44441f;border:1px solid #ef44444d;border-radius:4px;align-items:center;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.name-table{border-collapse:collapse;width:100%}.name-table th,.name-table td{border-bottom:1px solid var(--line);font-size:var(--text-sm);vertical-align:middle;text-align:center;line-height:var(--leading-normal)}.name-table td{cursor:pointer;padding:12px 8px}.name-table td:last-child{padding:8px}.name-table tbody tr:hover td,.name-table tbody tr:focus-within td{background-color:var(--primary-soft)}.name-table .name-translation-input:focus-visible{outline:2px solid var(--primary);outline-offset:-1px}.name-table th{background:var(--panel);z-index:1;color:var(--muted);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);line-height:var(--leading-snug);padding:10px;position:sticky;top:0}.name-table td.mono{font-family:var(--font-mono)}.status-bar{border-top:1px solid var(--line);font-size:var(--text-xs);background:color-mix(in srgb, var(--panel) 75%, transparent);-webkit-backdrop-filter:blur(12px);color:var(--muted);letter-spacing:.02em;line-height:var(--leading-snug);font-variant-numeric:tabular-nums;flex-shrink:0;padding:8px 14px}.modal-backdrop{z-index:2000;overscroll-behavior:contain;background:#000000d1;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.modal-backdrop.open{display:flex}.modal-backdrop.closing{animation:backdrop-fade-out var(--dur-2) var(--ease-soft) forwards;display:flex}@keyframes backdrop-fade-out{0%{opacity:1}to{opacity:0}}#settingsModal,#dashboardSettingsModal,#apiSettingsModal{z-index:2010}#settingsGlossaryModal,#settingsPromptsModal,#dashboardPromptsModal{z-index:2012}#proofreadModal{z-index:2015}#agentMemoryModal,#pluginManagerModal{z-index:2020}#customParserModal{z-index:2025}#shortcutModal{z-index:2028}#lineEditorModal{z-index:2030}.modal{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--line-2);border-radius:var(--radius-xl);width:min(500px,92vw);max-height:90dvh;box-shadow:var(--shadow-lg);flex-direction:column;padding:22px;display:flex;overflow:hidden}.modal-backdrop.open .modal{animation:modal-pop var(--dur-3) var(--ease)}.modal-backdrop.closing .modal{animation:modal-pop-reverse var(--dur-2) var(--ease) forwards}@keyframes modal-pop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:none}}@keyframes modal-pop-reverse{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.96)translateY(8px)}}.modal-wide{width:min(720px,94vw)}.modal-xl{width:min(1100px,96vw);max-height:92dvh}.modal-head{border-bottom:1px solid var(--line);flex-shrink:0;margin-bottom:4px;padding-bottom:14px}.modal-head h3{font-family:var(--font-sans);font-size:var(--text-lg);letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:700;line-height:1.25}.modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.modal-actions{border-top:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.modal-actions span.grow{flex:1}.replacer-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}@media (max-width:640px){.replacer-grid textarea{height:160px!important}.replacer-grid{grid-template-columns:1fr}}.modal h3{font-family:var(--font-sans);font-size:var(--text-lg);letter-spacing:-.015em;margin:0 0 16px;font-weight:700;line-height:1.25}.checkbox-line{font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:32px;padding:6px 0;display:inline-flex}.checkbox-line:hover{color:var(--text)}.checkbox-line:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.checkbox-line input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin:0}.settings-nested-box{border-left:2px solid var(--primary);transition:opacity var(--dur-2) var(--ease-soft);flex-direction:column;gap:6px;margin-left:8px;padding-left:14px;display:flex}.section-disabled{opacity:.4;pointer-events:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.project-card:first-child{animation-delay:0s}.project-card:nth-child(2){animation-delay:60ms}.project-card:nth-child(3){animation-delay:.12s}.project-card:nth-child(4){animation-delay:.18s}.project-card:nth-child(5){animation-delay:.24s}.project-card:nth-child(6){animation-delay:.3s}.project-card:nth-child(7){animation-delay:.36s}.project-card:nth-child(8){animation-delay:.42s}.project-card:nth-child(n+9){animation-delay:.48s}@media (max-width:768px){.desktop-only{display:none!important}.dashboard-shell{padding:16px max(16px, env(safe-area-inset-right)) 20px max(16px, env(safe-area-inset-left))}.dashboard-hero{gap:12px;width:100%;margin-bottom:16px;padding-bottom:16px;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.hero-brand{flex:auto;gap:12px;min-width:0;flex-direction:row!important;align-items:center!important;display:flex!important}.hero-logo-img{border-radius:14px;width:56px;height:56px}.hero-title{font-size:22px}.hero-actions{flex-shrink:0;margin-left:auto;align-items:center!important;display:flex!important}.btn-settings-gear{flex-shrink:0;width:42px;height:42px}.dashboard-filter-row{flex-flow:row;align-items:center;gap:10px}.dashboard-filter{width:auto;min-width:0;max-width:220px;height:36px;font-size:var(--text-sm);flex:1 1 0}.project-grid{grid-template-columns:1fr;gap:12px}.project-card{padding:16px}.toolbar{gap:4px;padding:6px 8px}.toolbar-scroll{align-items:center;gap:4px}.btn-text{display:none}.toolbar .btn{justify-content:center;align-items:center;min-height:38px;padding:8px 10px;font-size:12px;display:inline-flex}.toolbar .btn-icon{width:38px;min-width:38px;height:38px;min-height:38px;padding:8px}.toolbar .dropdown-toggle{padding:8px 10px}.panel-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.panel-header .current-file-bar{grid-area:2/1/auto/-1;justify-self:stretch;width:100%}.current-file-bar{white-space:normal;align-items:flex-start}.current-file-bar .cfb-name{text-overflow:clip;word-break:break-word;overflow:visible}.current-file-bar .cfb-range{margin-left:auto}.split-layout{flex:1!important;grid-template-rows:minmax(32vh,42vh) minmax(0,1fr)!important;grid-template-columns:1fr!important;gap:8px!important;height:100%!important;min-height:0!important;display:grid!important;overflow:hidden!important}.panel-left{background:0 0!important;flex-direction:column!important;flex:none!important;height:auto!important;min-height:32vh!important;max-height:44vh!important;padding:8px!important;display:flex!important;overflow:hidden!important}.panel-right{min-height:0!important;max-height:none!important;padding:10px 10px max(12px, env(safe-area-inset-bottom)) 10px!important;background:color-mix(in srgb, var(--panel-2) 30%, transparent)!important;-webkit-backdrop-filter:blur(8px)!important;flex-direction:column!important;flex:1!important;display:flex!important;overflow-y:auto!important}.split-layout.hide-tools{grid-template-rows:1fr!important}.split-layout.hide-tools .panel-left{flex:1!important;height:100%!important;max-height:none!important}.card-box{margin-bottom:8px;padding:10px}.status-bar{padding:4px 8px;font-size:11px}.floating-btn{bottom:max(16px, env(safe-area-inset-bottom))!important;width:44px!important;height:44px!important;right:12px!important}#btnFloatingAiAgent{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 52px)!important}#btnFloatingLogging{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 104px)!important}.agent-panel{bottom:max(12px, env(safe-area-inset-bottom))!important;border-radius:var(--radius-lg)!important;z-index:150!important;width:auto!important;max-width:none!important;height:72dvh!important;max-height:72dvh!important;position:fixed!important;left:8px!important;right:8px!important}.modal-backdrop{padding:0;padding-bottom:env(safe-area-inset-bottom);align-items:flex-end}.modal,.modal-wide,.modal-xl{width:100%;max-width:100%;height:min(92dvh, calc(100dvh - env(safe-area-inset-top) - 8px));max-height:min(92dvh, calc(100dvh - env(safe-area-inset-top) - 8px));border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:16px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.modal-head{padding-bottom:12px}#pluginManagerModal .modal-body>.flex.wrap>.btn.grow{flex-basis:100%}.modal-head h3{font-size:16.5px}.form-label,.modal-body label:not(.checkbox-line):not(.hint){margin-bottom:3px;font-size:13px}.settings-section{margin-bottom:10px;padding:11px 13px}.settings-section-title{margin-bottom:8px;font-size:12px}.checkbox-line{min-height:28px;padding:3px 0;font-size:13px}.checkbox-line input[type=checkbox]{width:17px;height:17px}.modal-backdrop.open .modal{animation:modal-slide-up var(--dur-3) var(--ease)}.modal-backdrop.closing .modal{animation:modal-slide-up-reverse var(--dur-2) var(--ease) forwards}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes modal-slide-up-reverse{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(100%)}}.modal-actions{flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;display:flex}.modal-actions span.grow{display:none}.modal-actions .btn{text-align:center;flex:calc(50% - 4px);justify-content:center;min-width:95px;min-height:40px;padding:9px 13px;font-size:13.5px}.modal-actions .btn.btn-primary{flex:100%;order:-1;font-weight:700}.proofread-results-wrap{min-height:280px}.name-table-wrap{-webkit-overflow-scrolling:touch;min-height:150px;overflow-x:auto;display:block!important}.name-table-wrap table{width:100%;min-width:320px;display:table!important}.name-table-wrap thead{display:table-header-group!important}.name-table-wrap tbody{display:table-row-group!important}.name-table-wrap th{padding:8px 4px;font-size:12px}.name-table-wrap td{padding:12px 4px;font-size:13px}.text-input,input[type=number],input[type=text],select,textarea{font-family:var(--font-mono);height:42px;min-height:42px;padding:8px 12px;font-size:16px}.btn{min-height:42px;padding:9px 14px;font-size:13.5px}.icon-btn{width:42px;min-width:42px;height:42px;min-height:42px}.btn-xs{min-height:0;padding:6px 10px;font-size:12px}#btnAutoTranslate,#btnAutoGlossaryAi,#btnAutoAiCheck{white-space:normal;word-break:break-word;font-size:13px;line-height:1.3}#rangeFromInput,#rangeToInput{min-width:45%}.input-area{font-family:var(--font-mono);min-height:150px;padding:8px 10px;font-size:16px;line-height:1.45}.input-area.small{height:65px;min-height:65px;padding:6px 8px;font-size:16px;line-height:1.35}#pasteArea,#pasteGlossaryArea,#pasteAiCheckArea{min-height:160px;font-size:16px;line-height:1.45}.prompt-input{font-family:var(--font-mono);min-height:100px;padding:8px 10px;font-size:16px;line-height:1.4}.inline-actions{gap:6px}.inline-actions .btn.grow{min-width:auto}}@media (min-width:769px) and (max-width:1023px){.split-layout{grid-template-rows:minmax(42vh,50vh) 1fr;grid-template-columns:1fr}.panel-left{flex:none;height:auto;min-height:42vh;max-height:52vh}.split-layout.hide-tools{grid-template-rows:1fr}.split-layout.hide-tools .panel-left{flex:1;height:auto;min-height:0;max-height:none}.project-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px) and (max-width:1360px){.project-grid{grid-template-columns:repeat(2,1fr)}.dashboard-content{max-width:1200px}}@media (min-width:375px) and (max-width:768px){.toolbar,.toolbar-scroll{gap:6px}}@media (max-width:374px){.hero-title{font-size:20px}.hero-logo-img{width:48px;height:48px}.project-card h3{font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.aurora-blob{animation:none!important}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.text-input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.input-area:focus-visible{outline:2px solid var(--primary);outline-offset:2px}select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (max-width:639px){input[type=text],input[type=search],input[type=number],input[type=password],select,textarea,.text-input,.input-area,.name-translation-input,#agentInput,#projectFilterInput{font-size:16px}}@media (pointer:coarse){.btn,.dropdown-item,.icon-btn,.preview-row,.text-content{cursor:pointer}.btn,.dropdown-item{min-height:44px}}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--muted-2)}.icon-btn:hover{background:var(--btn-bg-hover,var(--panel));border-color:var(--muted-2)}.project-card:hover{border-color:var(--line-2);border-left-color:var(--primary);transform:translateY(-1px);box-shadow:0 8px 24px -12px #00000073}.preview-row:hover{background:var(--panel-2);border-color:var(--line-2)}.dropdown-item:hover,#moreDropdown .btn:hover:not(:disabled){background:var(--primary-soft);color:var(--text)}.name-table tbody tr:hover td{background-color:var(--primary-soft)}.floating-btn:hover{background:var(--primary-hover);transform:scale(1.08)}}@media (hover:none){.project-card:hover{box-shadow:none;transform:none}}.gap-2{gap:8px}.mb-0{margin-bottom:0}.mt-4{margin-top:24px}.cursor-pointer{cursor:pointer}.modal-md{width:min(460px,92vw)}.file-list-container{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel-2);max-height:56vh;overflow-y:auto}.file-list-item{border-bottom:1px solid var(--line-2);cursor:grab;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;transition:background .15s;display:flex}.file-list-item:hover{background:var(--panel-3)}.file-list-item:last-child{border-bottom:none}.file-list-item.dragging{opacity:.4;background:var(--panel-3)}.file-list-item .file-item-header{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.file-list-item .file-name{white-space:normal;word-break:break-word;overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500;line-height:1.35}.file-list-item .file-item-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.file-list-item .file-meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.file-list-item .file-range{font-family:var(--font-mono,monospace);color:var(--accent);border-radius:var(--radius-xs);border:1px solid var(--line-2);white-space:nowrap;background:#ffffff0a;padding:2px 6px;font-size:11.5px}.file-list-item .file-count{color:var(--muted);white-space:nowrap;font-size:11px}.file-list-item .btn-file-jump{border-radius:var(--radius-xs);cursor:pointer;flex-shrink:0;align-items:center;gap:4px;height:24px;min-height:24px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.file-list-item .btn-file-jump:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.file-list-item .btn-file-jump .lucide-icon{width:12px;height:12px}.file-list-item .file-checkbox{cursor:pointer;flex-shrink:0;margin:0}.file-list-item .drag-handle{cursor:grab;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (max-width:640px){.file-list-item{flex-direction:column;align-items:stretch;gap:8px;padding:10px}.file-list-item .file-item-header{align-items:flex-start}.file-list-item .file-item-header .drag-handle{margin-top:1px}.file-list-item .file-item-header .file-checkbox{margin-top:2px}.file-list-item .file-item-actions{justify-content:space-between;width:100%;padding-left:28px}}.text-danger{color:var(--danger)!important}.text-luca{color:var(--accent);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.luca-ref-label{color:var(--muted);font-size:11px;font-weight:500}.luca-ref{color:var(--muted);border-radius:var(--radius-xs);border-color:#0000;padding:6px 10px;font-size:12px;background:#00000040!important}.dashboard-filter-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.dashboard-filter-row .section-label{white-space:nowrap;margin-bottom:0}.dashboard-filter{width:min(300px,100%);height:36px;font-size:var(--text-sm);flex:0 300px}.dropdown-toggle{cursor:pointer}#dropdownDashboardSettingsMenu,#dropdownSettingsMenu,#dropdownImportMenu{min-width:220px}#dropdownDashboardSettingsMenu .dropdown-item,#dropdownSettingsMenu .dropdown-item,#dropdownImportMenu .dropdown-item{min-height:38px;padding:10px 12px;font-size:13px;font-weight:500}.dropdown-divider{background-color:var(--line);border:none;height:1px;margin:4px 0;overflow:hidden}.toolbar-scroll{scrollbar-width:none;flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow-x:auto}.toolbar-scroll::-webkit-scrollbar{display:none}.toolbar .dropdown .btn{height:34px;min-height:34px;padding:0 12px;font-size:13px}.toolbar-project-name{border-left:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:180px;padding-left:8px;overflow:hidden}.tabs-wrap{gap:8px;display:flex}.workspace-ai-tabs{border-bottom:1px solid var(--line);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.workspace-ai-tabs .btn{border-radius:var(--radius);border:1px solid var(--line-2);font-size:var(--text-xs);background:var(--panel-2);min-height:36px;color:var(--text);padding:8px;font-weight:600;box-shadow:0 1px #0003}.workspace-ai-tabs .btn:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary);color:var(--text)}.workspace-ai-tabs .btn:active:not(:disabled){background:color-mix(in srgb, var(--primary) 18%, var(--panel-2));transform:scale(.98)}.workspace-ai-tabs .btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.workspace-ai-tabs .btn.active,.workspace-ai-tabs .btn.btn-primary,.workspace-ai-tabs .btn[aria-selected=true]{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-glow)}.workspace-ai-tabs .btn:not(.btn-primary):not(.active):not([aria-selected=true]){background:var(--panel-2);border-color:var(--line-2);color:var(--text)}.workspace-ai-tabs .btn:not(.btn-primary):not(.active):not([aria-selected=true]):hover{background:var(--primary-soft);border-color:var(--primary)}.icon-btn{border:1px solid var(--line-2);background:var(--btn-bg,var(--panel-2));width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text);border-radius:var(--radius);cursor:pointer;transition:background var(--dur-1) var(--ease-soft), border-color var(--dur-1) var(--ease-soft), transform .12s ease-out;justify-content:center;align-items:center;padding:0;font-size:14px;display:inline-flex}.icon-btn:hover{background:var(--btn-bg-hover,var(--panel));border-color:var(--muted-2)}.icon-btn:active{transform:scale(.96)}.icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.lucide-icon{vertical-align:middle;flex-shrink:0;display:inline-block}.icon-wrap{justify-content:center;align-items:center;display:inline-flex}.icon-btn .lucide-icon,.btn .lucide-icon{width:16px;height:16px}h3 .lucide-icon{vertical-align:-3px;width:18px;height:18px;margin-right:4px}.floating-btn .lucide-icon{width:20px;height:20px}.floating-btn{bottom:max(16px, env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));background:var(--primary);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:0 4px 16px #00000059, var(--shadow-glow);z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform var(--dur-1) var(--ease), background var(--dur-1) var(--ease-soft), box-shadow var(--dur-1) var(--ease-soft);border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed}.floating-btn:hover{background:var(--primary-hover);transform:scale(1.08)}.floating-btn:active{transform:scale(.95)}.floating-btn:focus-visible{outline:2px solid var(--text);outline-offset:2px;box-shadow:0 0 0 4px var(--primary-soft), var(--shadow-glow)}.collapsible-section{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--panel-2) 65%, transparent);-webkit-backdrop-filter:blur(8px);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);overflow:hidden}.collapsible-section[open]{border-color:var(--line-2);box-shadow:0 2px 8px #00000026}.collapsible-summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-xs);color:var(--text);transition:background-color var(--dur-1) var(--ease);background:0 0;justify-content:space-between;align-items:center;padding:10px 12px;font-weight:600;list-style:none;display:flex}.collapsible-summary::-webkit-details-marker{display:none}.collapsible-summary:hover{background:var(--line)}.collapsible-title{align-items:center;gap:8px;display:inline-flex}.collapsible-title .lucide-icon{color:var(--primary);flex-shrink:0}.collapsible-arrow{color:var(--muted);transition:transform var(--dur-1) var(--ease);font-size:11px}.collapsible-section[open] .collapsible-arrow{transform:rotate(180deg)}.collapsible-body{border-top:1px solid var(--line);background:color-mix(in srgb, var(--panel) 40%, transparent);padding:12px}.flash-highlight{animation:1.5s ease-out forwards flashHighlight}@keyframes flashHighlight{0%{background-color:var(--primary-soft)}to{background-color:#0000}}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.dict-popup{z-index:10000;border-radius:var(--radius-lg);width:min(350px, calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-width:calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:min(400px, calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));min-width:min(250px,100vw - 20px);font-family:var(--font-mono);flex-direction:column;display:flex;position:fixed;overflow:hidden;background:var(--panel-2)!important;border:1px solid var(--line-2)!important;box-shadow:var(--shadow-lg)!important}.dict-popup.show{animation:popupSlideUp var(--dur-2) var(--ease) forwards}.dict-popup-header{cursor:move;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 12px;display:flex;background:var(--panel)!important;border-bottom:1px solid var(--line)!important}.dict-popup-word{color:var(--primary);font-size:16px;font-weight:800}.dict-popup-close{color:var(--muted);cursor:pointer;font-size:16px}.dict-popup-close:hover{color:var(--text)}.dict-popup-content{color:var(--text);padding:12px;font-size:14px;line-height:1.5;overflow-y:auto}.dict-loading{color:var(--muted);align-items:center;gap:8px;font-style:italic;display:flex}.dict-loading:before{content:"";border:2px solid var(--muted);border-top-color:var(--primary);border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin;display:inline-block}.dict-popup-content h1,.dict-popup-content h2,.dict-popup-content h3{color:var(--primary);margin-top:0;font-size:15px}.dict-popup-content p{margin:4px 0}.dict-popup-content ul{margin:4px 0;padding-left:20px}.agent-panel{bottom:max(90px, calc(20px + env(safe-area-inset-bottom) + 64px));right:max(20px, env(safe-area-inset-right));width:min(380px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));height:min(520px, calc(100dvh - 120px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-height:calc(100dvh - 120px - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1050;flex-direction:column;display:flex;position:fixed;left:auto;overflow:hidden}.agent-header{background:var(--panel);border-bottom:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.agent-history{flex-direction:column;flex-grow:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.agent-msg{border-radius:var(--radius);max-width:85%;font-size:var(--text-sm);line-height:var(--leading-normal);letter-spacing:.01em;word-wrap:break-word;overflow-wrap:anywhere;padding:10px 14px}.agent-msg.system{background:var(--bg);color:var(--muted);border:1px solid var(--line);align-self:flex-start;width:100%;max-width:100%;font-size:12px;font-style:italic}.agent-msg.user{background:var(--primary);color:#fff;border-bottom-right-radius:2px;align-self:flex-end}.agent-msg.assistant{background:var(--panel);color:var(--text);border:1px solid var(--line);border-bottom-left-radius:2px;align-self:flex-start}.agent-msg.streaming:after{content:"▍";color:var(--primary);margin-left:2px;font-weight:600;animation:.9s step-end infinite agent-cursor-blink;display:inline-block}@keyframes agent-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.agent-msg pre{background:var(--bg);border-radius:var(--radius-xs);margin:8px 0 0;padding:8px;overflow-x:auto}.agent-msg code{font-family:var(--font-mono);font-size:11px}.agent-input-area{background:var(--panel);border-top:1px solid var(--line);padding:10px 14px}.agent-msg p{margin:0 0 8px}.agent-msg p:last-child{margin:0}.glossary-preview{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);max-height:200px;padding:10px;overflow-y:auto}.glossary-preview-text{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;line-height:var(--leading-normal);margin:0}.proofread-filters{flex-wrap:wrap}.ai-check-results{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:8px;min-height:200px;max-height:55vh;padding:8px;display:flex;position:relative;overflow:auto}.ai-check-results:empty{border:none;min-height:0;padding:0;display:none}.ai-check-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);align-items:flex-start;gap:12px;padding:12px;display:flex}.ai-check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;margin-top:4px}.ai-check-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ai-check-title{color:var(--primary);font-weight:700}.ai-check-reason{color:var(--muted);font-size:12px}.ai-check-body .original{color:var(--muted);border-bottom:1px dashed var(--line-2);white-space:pre-wrap;word-break:break-word;padding-bottom:6px}.ai-check-body .translated{color:var(--text);white-space:pre-wrap;word-break:break-word}.ai-check-filter-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-bottom:4px;padding-bottom:8px;display:flex}.checkbox-container{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.checkbox-container input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.checkbox-mark{border:2px solid var(--line-2);width:16px;height:16px;transition:background var(--dur-1) var(--ease-soft), border-color var(--dur-1) var(--ease-soft);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.checkbox-container input[type=checkbox]:checked+.checkbox-mark{background:var(--primary);border-color:var(--primary)}.checkbox-container input[type=checkbox]:checked+.checkbox-mark:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;display:block;transform:rotate(45deg)translateY(-1px)}body.htl-mode [data-htl-hide=true],body.htl-mode .panel-right,body.htl-mode #btnFloatingApiSettings,body.htl-mode #btnFloatingAiAgent,body.htl-mode #btnFloatingLogging,body.htl-mode #aiAgentChatPanel,body.htl-mode #loggingPanel{display:none!important}body.htl-mode .split-layout{grid-template-rows:1fr!important;grid-template-columns:1fr!important}body.htl-mode .panel-left{border-bottom:none!important;border-right:none!important;flex:1!important;height:100%!important;min-height:0!important;max-height:none!important}.field-group,.form-group{flex-direction:column;gap:8px;display:flex}.name-translation-input{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--radius-xs);width:100%;color:var(--text);font-size:13px;font-family:var(--font-mono);height:34px;transition:border-color var(--dur-1) var(--ease-soft), box-shadow var(--dur-1) var(--ease-soft);padding:6px 10px}.name-translation-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.name-translation-input::placeholder{color:var(--muted-2)}.startup-loader{z-index:9999;background:var(--bg);transition:opacity var(--dur-3) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.startup-loader.fade-out{opacity:0;pointer-events:none}.loader-content{flex-direction:column;align-items:center;gap:24px;display:flex}.loader-spinner{border:4px solid var(--line-2);border-top-color:var(--primary);width:48px;height:48px;animation:loader-spin 1s linear infinite, loader-pulse-glow 2s var(--ease-soft) infinite alternate;border-radius:50%}.loader-title{letter-spacing:-.5px;color:var(--text);animation:loader-pulse-text 2s var(--ease-soft) infinite alternate;margin:0;font-size:24px;font-weight:700}@keyframes loader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loader-pulse-glow{0%{box-shadow:0 0 #c84e1800}to{box-shadow:0 0 20px 2px #c84e1859}}@keyframes loader-pulse-text{0%{opacity:.7;transform:scale(.98)}to{opacity:1;transform:scale(1)}}#notifyHost{left:50%;top:max(12px, env(safe-area-inset-top));z-index:2147483600;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(92vw,520px);display:flex;position:fixed;transform:translate(-50%)}.notify-toast{pointer-events:auto;border-radius:var(--radius);border:1px solid var(--line-2);background:linear-gradient(180deg, var(--panel-2), var(--panel));width:100%;color:var(--text);box-shadow:var(--shadow-lg);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-snug);opacity:0;transition:opacity .2s var(--ease), transform .22s var(--ease), border-color .2s var(--ease);align-items:center;gap:10px;padding:11px 12px;display:flex;transform:translateY(-8px)scale(.985)}.notify-toast.in{opacity:1;transform:translateY(0)scale(1)}.notify-toast.out{opacity:0;transform:translateY(-6px)scale(.985)}.notify-toast.notify-success{border-color:color-mix(in srgb, var(--success) 50%, var(--line-2));box-shadow:0 10px 30px -14px #00000080, 0 0 0 1px color-mix(in srgb, var(--success) 22%, transparent)}.notify-toast.notify-info{border-color:color-mix(in srgb, var(--primary) 45%, var(--line-2));box-shadow:0 10px 30px -14px #00000080, 0 0 0 1px var(--primary-soft)}.notify-toast.notify-warn{border-color:color-mix(in srgb, var(--warning) 55%, var(--line-2))}.notify-toast.notify-danger{border-color:color-mix(in srgb, var(--danger) 55%, var(--line-2))}.notify-text{overflow-wrap:anywhere;flex:1;min-width:0}.notify-text.bump{animation:notify-bump .18s var(--ease)}@keyframes notify-bump{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.notify-count{background:var(--primary);color:#fff;text-align:center;border-radius:999px;flex:none;min-width:28px;padding:2px 7px;font-size:12px;font-weight:800;line-height:1.6}.notify-close{border:1px solid var(--line-2);background:var(--panel);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:999px;flex:none;font-size:16px;line-height:1}.notify-close:hover{color:var(--text);border-color:var(--muted-2)}@media (prefers-reduced-motion:reduce){.notify-toast{transition:none}}.panel-header-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.bubble-badge{min-width:18px;height:18px;font-size:10px;font-weight:700;font-family:var(--font-mono);color:#000;background:#f59e0b;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;line-height:1;transition:background .15s,color .15s;display:inline-flex}.bubble-badge.is-zero{background:var(--line-2);color:var(--muted)}.line-bookmark-btn{border-radius:var(--radius-xs);width:18px;height:18px;color:var(--muted);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform .12s var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:static}.preview-row:hover .line-bookmark-btn{opacity:.55;pointer-events:auto}.line-bookmark-btn:hover{color:#f59e0b;transform:scale(1.2);opacity:1!important}.line-bookmark-btn.is-bookmarked{pointer-events:auto;color:#f59e0b;opacity:1!important}.line-bookmark-btn.is-bookmarked:hover{color:#d97706}.toolbar-bookmark-btn{color:var(--text);align-items:center;gap:6px;display:inline-flex}.toolbar-bookmark-btn svg{color:#f59e0b}#btnLineBookmark.is-bookmarked{background:var(--primary-soft);color:#f59e0b;border-color:#f59e0b99}@media (pointer:coarse){.row-left-controls{gap:8px;width:26px}.line-bookmark-btn{opacity:.35;pointer-events:auto;width:26px;height:26px}.line-bookmark-btn.is-bookmarked{opacity:1}}.bookmark-list-container{flex-direction:column;gap:10px;max-height:55vh;padding-right:4px;display:flex;overflow-y:auto}.bookmark-item-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.bookmark-item-card:hover{border-color:var(--line-2);background:var(--panel-2)}.bookmark-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.bookmark-meta{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex;overflow:hidden}.bookmark-line-badge{background:var(--primary-soft);color:var(--primary);font-family:var(--font-mono);border:1px solid #c84e184d;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:700}.bookmark-file-name{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bookmark-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.bookmark-card-content{cursor:pointer;border-radius:var(--radius-xs);transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);background:#00000038;border:1px solid #ffffff08;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.bookmark-card-content:hover{background:#00000059;border-color:#ffffff14}.bookmark-orig{font-family:var(--font-jp);color:var(--muted);border-bottom:1px dashed var(--line);word-break:break-word;padding-bottom:4px;font-size:13px;line-height:1.45}.bookmark-trans{font-family:var(--font-mono);color:var(--text);word-break:break-word;font-size:13px;line-height:1.45}.bookmark-empty-state{text-align:center;color:var(--muted);padding:36px 16px}.bookmark-empty-icon{opacity:.5;color:#f59e0b;margin-bottom:8px}.bookmark-empty-title{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600}.inline-icon{vertical-align:-1px}.epub-preview-image-wrap{flex-direction:column;align-items:flex-start;gap:6px;margin:6px 0 8px;display:inline-flex}.epub-preview-img{border-radius:var(--radius);border:1px solid var(--line-2);background:var(--panel);object-fit:contain;cursor:zoom-in;max-width:min(100%,340px);max-height:220px;box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);display:block}.epub-preview-img:hover{border-color:var(--primary);box-shadow:0 6px 18px -4px var(--primary-soft);transform:translateY(-2px)}.epub-preview-badge{color:var(--muted);background:var(--panel-2);border:1px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.image-lightbox-backdrop{z-index:10000;-webkit-backdrop-filter:blur(10px);background:#000000e0;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.image-lightbox-backdrop.open{display:flex}.image-lightbox-container{max-width:92vw;max-height:92vh;animation:modal-pop .25s var(--ease) both;justify-content:center;align-items:center;display:flex;position:relative}.image-lightbox-img{object-fit:contain;border-radius:var(--radius-lg);background:#000;border:1px solid #ffffff1f;max-width:90vw;max-height:88vh;box-shadow:0 16px 48px #000000e6}.image-lightbox-close{background:var(--panel-2);width:36px;height:36px;color:var(--text);border:1px solid var(--line-2);cursor:pointer;z-index:10;box-shadow:var(--shadow-lg);transition:transform var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-14px;right:-14px}.image-lightbox-close:hover{background:var(--danger);color:#fff;border-color:var(--danger);transform:scale(1.1)}.inline-icon{vertical-align:-1px;color:#f59e0b}.cp-parser-list{flex-direction:column;gap:8px;max-height:42vh;display:flex;overflow-y:auto}.cp-card{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel-2);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.cp-card-info{min-width:0}.cp-card-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.cp-card-ext{color:var(--muted);font-size:var(--text-xs);font-family:var(--font-mono,monospace);word-break:break-all;margin-top:2px}.cp-card-actions{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}@media (max-width:640px){.cp-card{flex-direction:column;align-items:stretch}}.cp-badge{font-size:var(--text-2xs);border:1px solid var(--line-2);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;border-radius:999px;padding:1px 7px;font-weight:600}.cp-badge-js{color:#e8c76a;border-color:#e8c76a66}.cp-badge-py{color:#7db8e8;border-color:#7db8e866}.cp-badge-on{color:#6fcfa3;border-color:#6fcfa366}.cp-badge-off{color:var(--muted-2)}.cp-empty{border:1px dashed var(--line-2);border-radius:var(--radius-sm);color:var(--muted);text-align:center;padding:18px 14px}.cp-help{color:var(--muted);font-size:var(--text-xs);margin-top:10px}.cp-help summary{cursor:pointer;-webkit-user-select:none;user-select:none}.cp-help-body{padding:8px 2px 2px;line-height:1.55}.cp-help-body code{background:var(--panel-2);border:1px solid var(--line);font-size:var(--text-2xs);border-radius:4px;padding:0 4px}.cp-test-file{color:var(--muted);font-size:var(--text-xs);align-self:center}.cp-test-result{max-height:30vh;margin-top:8px;overflow-y:auto}.cp-test-error{color:var(--danger);border-radius:var(--radius-sm);white-space:pre-wrap;font-size:var(--text-xs);background:#c82a3a14;border:1px solid #c82a3a59;padding:8px 10px}.cp-test-count{color:var(--muted);font-size:var(--text-xs);margin-bottom:6px}.cp-test-table{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.cp-test-table th,.cp-test-table td{border:1px solid var(--line);text-align:left;vertical-align:top;word-break:break-word;padding:4px 8px}.cp-test-table th{background:var(--panel-2);color:var(--muted);font-weight:600}.storage-warning-banner{color:#fca5a5;font-size:var(--text-sm);background:#ef444426;border-bottom:1px solid #ef444459;padding:10px 16px}.storage-warning-inner{align-items:center;gap:10px;max-width:1200px;margin:0 auto;display:flex}.storage-warning-inner svg{stroke:#ef4444;flex-shrink:0}.plugin-list{flex-direction:column;gap:10px;max-height:60vh;margin-top:6px;padding-right:2px;display:flex;overflow-y:auto}.plugin-row{text-align:left;border:1px solid var(--line);border-radius:var(--radius,8px);background:var(--panel-2);flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px;transition:opacity .2s,border-color .2s,background .2s;display:flex}.plugin-row.is-enabled{border-color:var(--line-2);background:var(--panel)}.plugin-row .plugin-name{color:var(--text);letter-spacing:-.01em;font-size:14px;font-weight:700}.plugin-row .plugin-version{font-family:var(--font-mono,monospace);color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px 7px;font-size:11px}.plugin-row .plugin-meta{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;line-height:1.4;display:flex}.plugin-row .plugin-author{color:var(--muted);font-size:11.5px;font-weight:500}.plugin-row .plugin-desc-inline{color:var(--text);opacity:.9;font-size:12.5px}.plugin-row .plugin-consent-note{color:#fca5a5;border-radius:var(--radius-sm,6px);background:#ef44441a;border:1px solid #ef444440;padding:6px 10px;font-size:11.5px}.plugin-badges{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin-top:2px;display:flex}.plugin-badge{font-family:var(--font-mono,monospace);background:var(--bg);color:var(--text);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;font-weight:500;display:inline-flex}.plugin-badge svg{vertical-align:middle;flex-shrink:0;display:inline-block}.plugin-badge-warn{color:#fcd34d;background:#fbbf241f;border-color:#fbbf2466}.plugin-badge-perm{color:var(--muted);border-color:var(--line);background:var(--panel-2)}.plugin-badge-x{opacity:.35;margin-left:2px}.plugin-badge-perm:last-child .plugin-badge-x{display:none}.plugin-row .plugin-actions{border-top:1px solid var(--line);justify-content:flex-start;align-items:center;gap:8px;margin-top:4px;padding-top:6px;display:flex}.plugin-row .plugin-actions .btn{justify-content:center;min-width:0;padding:4px 10px;font-size:11.5px}.plugin-row .btn-uninstall-plugin:hover:not(:disabled){color:#fca5a5;border-color:#f8717173}.switch{cursor:pointer;flex-shrink:0;width:38px;height:22px;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.switch-track{background:var(--line-2);border:1px solid var(--line);border-radius:999px;transition:background .2s,border-color .2s;position:absolute;top:0;bottom:0;left:0;right:0}.switch-track:after{content:"";background:var(--text);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:var(--primary);border-color:var(--primary)}.switch input:checked+.switch-track:after{background:#fff;transform:translate(16px)}.switch input:disabled+.switch-track{opacity:.4;cursor:not-allowed}.switch input:focus-visible+.switch-track{outline:2px solid var(--primary);outline-offset:2px}.plugin-detail{margin-top:6px;display:none}.plugin-row.show-detail .plugin-detail{animation:.18s pluginDetailIn;display:block}@keyframes pluginDetailIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.plugin-detail-grid{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius,8px);grid-template-columns:1fr;gap:14px;padding:12px;display:grid}.plugin-detail-label{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10.5px;font-weight:700}.plugin-detail-perm{border-bottom:1px solid var(--line);align-items:flex-start;gap:9px;padding:6px 0;display:flex}.plugin-detail-perm:last-child{border-bottom:none}.plugin-detail-perm-icon{color:#fcd34d;flex-shrink:0;margin-top:1px}.plugin-detail-perm strong{color:var(--text);font-size:12px;font-weight:600}.plugin-detail-perm span span{color:var(--muted);font-size:11px;line-height:1.4}.plugin-detail-none{color:var(--muted);font-size:12px}.plugin-detail-kv{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:5px 0;font-size:12px;display:flex}.plugin-detail-kv span:last-child{text-align:right;color:var(--text)}.plugin-list.dragover{outline:2px dashed var(--primary);outline-offset:-4px;background:var(--primary-soft)}.plugin-settings-form{flex-direction:column;gap:16px;display:flex}.plugin-settings-own{flex-direction:column;gap:14px;display:flex}.plugin-settings-group{border:1px solid var(--line-2);border-radius:var(--radius,8px);background:var(--panel-2);flex-direction:column;gap:14px;padding:13px 14px;display:flex}.plugin-settings-group-head{border-bottom:1px solid var(--line);flex-direction:column;gap:3px;padding-bottom:10px;display:flex}.plugin-settings-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-size:11px;font-weight:700}.plugin-settings-group-hint{color:var(--muted);font-size:11px}.plugin-settings-row{flex-direction:column;gap:7px;display:flex}.plugin-settings-cell{flex-direction:column;gap:4px;display:flex}.plugin-settings-label{color:var(--text);font-size:12.5px;font-weight:600}.plugin-settings-desc{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.plugin-panels{flex-direction:column;gap:8px;display:flex}.plugin-panel-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius,8px);padding:10px}.plugin-panel-title{font-weight:600;font-size:var(--text-sm);color:var(--text);margin-bottom:6px}.shortcut-list{flex-direction:column;gap:6px;max-height:420px;margin-top:4px;display:flex;overflow-y:auto}.shortcut-status{border-radius:var(--radius-sm,6px);background:var(--line,#ffffff0f);color:var(--text-dim,#a3a3a3);padding:6px 10px;font-size:12px}.shortcut-status.error{color:var(--danger,#ef4444)}.shortcut-group{color:var(--muted,#737373);text-transform:uppercase;letter-spacing:.75px;margin:10px 0 2px;font-size:10.5px;font-weight:700}.shortcut-group:first-child{margin-top:0}.shortcut-row{border:1px solid var(--line,#ffffff14);border-radius:var(--radius,8px);background:var(--surface-1,#ffffff05);align-items:center;gap:10px;padding:7px 10px;display:flex}.shortcut-label{min-width:0;color:var(--text,#f5f5f5);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.shortcut-key{border:1px solid var(--line-2,#ffffff1f);border-radius:var(--radius-sm,6px);background:var(--surface-2,#ffffff0a);min-width:90px;color:var(--text,#f5f5f5);font-family:var(--font-mono,monospace);cursor:pointer;justify-content:center;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .12s;display:inline-flex}.shortcut-key:hover{border-color:var(--primary,#c84e18);background:var(--surface-3,#ffffff14)}.shortcut-key.recording{border-color:var(--primary,#c84e18);background:var(--primary-soft,#c84e1829);color:var(--primary-hover,#a93f12)}.shortcut-key kbd{border-radius:var(--radius-xs,4px);background:var(--surface-3,#ffffff14);border:1px solid var(--line-2,#ffffff26);min-width:20px;height:20px;font-family:var(--font-mono,monospace);color:var(--text,#f5f5f5);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;display:inline-flex}.kbd-plus{color:var(--muted,#737373);font-size:10px}.shortcut-none{color:var(--muted,#737373);font-size:11px;font-style:italic}.shortcut-reset{border-radius:var(--radius-xs,4px);width:26px;height:26px;color:var(--muted,#737373);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.shortcut-reset:hover{background:var(--primary-soft,#c84e1824);color:var(--primary,#c84e18)}.plugin-filters{flex-wrap:wrap;gap:6px;display:flex}.plugin-filters .btn{border-radius:var(--radius,6px);padding:3px 10px;font-size:11.5px}.plugin-filters .btn.is-active{background:var(--surface-3,#ffffff1f);border-color:var(--primary,#c84e18);color:var(--text,#f5f5f5);font-weight:600}.plugin-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.plugin-row{text-align:left;border:1px solid var(--line,#ffffff1a);border-radius:var(--radius-lg,8px);background:var(--surface,#ffffff08);flex-direction:column;align-items:stretch;gap:9px;padding:14px 16px;display:flex}.plugin-row.is-enabled{border-color:var(--line-2,#ffffff2e)}.plugin-row:not(.is-enabled){opacity:.65}.plugin-row .plugin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;display:flex}.plugin-row .plugin-head-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plugin-row .plugin-name{color:var(--text,#f5f5f5);font-size:13.5px;font-weight:600}.plugin-row .plugin-version{font-family:var(--font-mono,monospace);color:var(--muted,#737373);background:var(--surface-2,#ffffff0f);border-radius:9999px;padding:1px 6px;font-size:10.5px}.plugin-row .plugin-meta{color:var(--muted,#737373);flex-wrap:wrap;justify-content:flex-start;gap:4px 10px;font-size:11.5px;display:flex}.plugin-row .plugin-desc-inline{text-overflow:ellipsis;min-width:0;overflow:hidden}.plugin-row .plugin-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.plugin-row .plugin-actions .btn{align-items:center;gap:5px;height:26px;min-height:26px;padding:0 8px;display:inline-flex}.plugin-row .plugin-actions .btn svg{flex-shrink:0}.plugin-badges{flex-wrap:wrap;justify-content:flex-start;gap:4px;display:inline-flex}.plugin-badge{font-family:var(--font-mono,monospace);background:var(--surface-2,#ffffff0f);color:var(--text,#f5f5f5);border:1px solid var(--line,#ffffff1f);white-space:nowrap;border-radius:9999px;padding:2px 7px;font-size:10.5px;font-weight:500}.plugin-badge-parser{color:#fbbf24;background:#fbbf2414;border-color:#fbbf244d}.plugin-badge-settings{color:#fda4af;background:#f8717114;border-color:#f871714d}.plugin-badge-package{color:#fdba74;background:#fb923c14;border-color:#fb923c4d}.plugin-badge-panel{color:#a5b4fc;background:#818cf814;border-color:#818cf84d}.plugin-badge-perm{color:#6ee7b7;background:#6ee7b714;border-color:#6ee7b74d}.plugin-detail{border-top:1px solid var(--line,#ffffff14);margin-top:6px;padding-top:10px;display:none}.plugin-row.show-detail .plugin-detail{display:block}.plugin-detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:640px){.plugin-detail-grid{grid-template-columns:1fr}}.plugin-detail-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted,#737373);margin-bottom:6px;font-size:11px;font-weight:600}.plugin-detail-kv{color:var(--text,#f5f5f5);justify-content:space-between;padding:2px 0;font-size:11.5px;display:flex}.plugin-detail-kv span:first-child{color:var(--muted,#737373)}.plugin-detail-perm{align-items:flex-start;gap:6px;margin-bottom:4px;font-size:11.5px;display:flex}.plugin-detail-perm-icon{flex-shrink:0;margin-top:1px}.plugin-empty{color:var(--muted,#737373);border:1px dashed var(--line,#ffffff26);border-radius:var(--radius-lg,8px);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px 12px;font-size:12.5px;display:flex}.plugin-empty-sub{opacity:.8;font-size:11px}.plugin-list.dragover{border-color:var(--primary,#c84e18);background:var(--primary-soft,#c84e1814)}.opfs-explorer{border:1px solid var(--line-2,#333);border-radius:var(--radius-lg,8px);background:var(--panel,#1a1a1a);flex-direction:column;display:flex;overflow:hidden}.opfs-list{overscroll-behavior:contain;flex-direction:column;max-height:380px;display:flex;overflow-y:auto}.opfs-crumbs{border-bottom:1px solid var(--line,#2a2a2a);background:var(--panel-2,#222);flex-wrap:wrap;align-items:center;gap:2px;padding:8px 12px;display:flex}.opfs-crumb{border-radius:var(--radius,4px);color:var(--muted,#888);font-family:var(--font-mono,monospace);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:11px;transition:background-color .15s,color .15s}.opfs-crumb:hover{background:var(--panel,#1a1a1a);color:var(--text,#eee)}.opfs-crumb.current{color:var(--text,#eee);cursor:default;font-weight:700}.opfs-crumb.current:hover{background:0 0}.opfs-crumb-sep{color:var(--muted,#666);margin:0 2px;font-size:11px}.opfs-item{border-bottom:1px solid var(--line,#222);grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 13px;transition:background-color .15s;display:grid}.opfs-item:last-child{border-bottom:none}.opfs-item:hover{background:var(--panel-2,#252525)}.opfs-item-icon{border-radius:var(--radius,4px);background:var(--panel-2,#2a2a2a);width:28px;height:28px;color:var(--muted,#888);flex-shrink:0;justify-content:center;align-items:center;display:flex}.opfs-item-icon.kind-project,.opfs-item-meta .opfs-tag.kind-project{color:var(--primary,#c84e18);background:var(--primary-soft,#c84e1826)}.opfs-item-icon.kind-epub,.opfs-item-meta .opfs-tag.kind-epub{color:var(--success,#22c55e);background:var(--success-soft,#22c55e26)}.opfs-item-icon.kind-index,.opfs-item-meta .opfs-tag.kind-index{color:var(--muted,#888);background:var(--panel-2,#2a2a2a)}.opfs-item-icon.kind-tmp,.opfs-item-meta .opfs-tag.kind-tmp{color:var(--danger,#ef4444);background:var(--danger-soft,#ef444426)}.opfs-item-icon.kind-folder,.opfs-item-meta .opfs-tag.kind-folder{color:var(--primary,#c84e18);background:var(--primary-soft,#c84e1826)}.opfs-item.is-dir .opfs-item-info{cursor:pointer}.opfs-item.is-dir .opfs-item-info:hover .opfs-item-name{color:var(--primary,#c84e18)}.opfs-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.opfs-item-name{color:var(--text,#eee);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;font-family:var(--font-mono,monospace);letter-spacing:-.1px;overflow:hidden}.opfs-item-meta{color:var(--muted,#888);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.opfs-item-meta .opfs-tag{border-radius:var(--radius,3px);background:var(--panel-2,#2a2a2a);height:17px;color:var(--muted,#aaa);letter-spacing:.2px;text-transform:uppercase;align-items:center;padding:0 7px;font-size:10px;font-weight:600;display:inline-flex}.opfs-item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.opfs-item-btn{border-radius:var(--radius,4px);width:30px;height:30px;color:var(--muted,#888);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.opfs-item-btn:hover:not(:disabled){background:var(--panel-2,#333);color:var(--text,#eee);border-color:var(--line,#444)}.opfs-item-btn:active:not(:disabled){transform:scale(.94)}.opfs-item-btn:disabled{opacity:.35;cursor:not-allowed}.opfs-item-btn.danger:hover:not(:disabled){color:var(--danger,#ef4444);background:var(--danger-soft,#ef444426);border-color:#0000}.opfs-empty,.opfs-loading{color:var(--muted,#888);justify-content:center;align-items:center;gap:10px;padding:32px 16px;font-size:12.5px;display:flex}.opfs-empty svg{color:var(--muted,#666)}@media (max-width:480px){.opfs-item{grid-template-columns:26px 1fr auto;gap:8px;padding:10px 11px}}
