:root{--bg:#f7f7f8;--surface:#fff;--surface-2:#f1f2f4;--text:#16181d;--muted:#5f6672;--border:#e3e5e9;--accent:#d6342c;--accent-hover:#b92a23;--accent-soft:#fdecea;--ok:#1f8a4c;--warn-bg:#fff4e0;--warn-text:#8a5300;--error-bg:#fdecea;--error-text:#a3221b;--cat-organize:#2f6fdb;--cat-security:#1f8a4c;--cat-edit:#8b46d6;--cat-layout:#0b7f86;--cat-forms:#a8580f;--cat-optimize:#c2410c;--cat-toPdf:#c9302c;--cat-fromPdf:#4352c9;--radius:14px;--shadow:0 1px 2px #1018280d, 0 4px 16px #1018280a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1115;--surface:#171a20;--surface-2:#1e222a;--text:#e9ebef;--muted:#9aa2ae;--border:#2a2f39;--accent:#ef5a50;--accent-hover:#ff6d63;--accent-soft:#3a1d1b;--warn-bg:#3a2c12;--warn-text:#ffc66b;--error-bg:#3a1d1b;--error-text:#ff9a92;--cat-organize:#6b9cff;--cat-security:#4cc27f;--cat-edit:#b98af0;--cat-layout:#2fb3ba;--cat-forms:#d98a3d;--cat-optimize:#ee7a3c;--cat-toPdf:#ee5f57;--cat-fromPdf:#7f8cf2;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1115;--surface:#171a20;--surface-2:#1e222a;--text:#e9ebef;--muted:#9aa2ae;--border:#2a2f39;--accent:#ef5a50;--accent-hover:#ff6d63;--accent-soft:#3a1d1b;--warn-bg:#3a2c12;--warn-text:#ffc66b;--error-bg:#3a1d1b;--error-text:#ff9a92;--cat-organize:#6b9cff;--cat-security:#4cc27f;--cat-edit:#b98af0;--cat-layout:#2fb3ba;--cat-forms:#d98a3d;--cat-optimize:#ee7a3c;--cat-toPdf:#ee5f57;--cat-fromPdf:#7f8cf2;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.container{max-width:1120px;margin:0 auto;padding:0 16px}.container.narrow{max-width:760px}.muted{color:var(--muted)}.small{font-size:.85rem}.header{z-index:10;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:12px;height:60px;display:flex}.logo{white-space:nowrap;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.logo-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.lang{background:var(--surface-2);border-radius:999px;gap:4px;padding:3px;display:flex}.lang a{color:var(--muted);border-radius:999px;padding:3px 10px;font-size:.85rem}.lang a.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.hero{text-align:center;padding:56px 0 24px}.hero h1{letter-spacing:-.01em;margin:16px 0 12px;font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.2}.hero p{color:var(--muted);max-width:620px;margin:0 auto;font-size:1.08rem}.pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-block}.category h2,.other{color:var(--muted);margin:32px 0 12px;font-size:1.05rem;font-weight:600}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-rows:auto auto;grid-template-columns:44px 1fr;column-gap:12px;padding:16px;transition:transform .12s,border-color .12s;display:grid}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-icon,.tool-icon{color:#fff;border-radius:12px;grid-row:span 2;place-items:center;width:44px;height:44px;font-size:1.3rem;display:grid}.cat-organize .card-icon,.tool-icon.cat-organize{background:var(--cat-organize)}.cat-security .card-icon,.tool-icon.cat-security{background:var(--cat-security)}.cat-edit .card-icon,.tool-icon.cat-edit{background:var(--cat-edit)}.cat-layout .card-icon,.tool-icon.cat-layout{background:var(--cat-layout)}.cat-forms .card-icon,.tool-icon.cat-forms{background:var(--cat-forms)}.cat-optimize .card-icon,.tool-icon.cat-optimize{background:var(--cat-optimize)}.cat-toPdf .card-icon,.tool-icon.cat-toPdf{background:var(--cat-toPdf)}.cat-fromPdf .card-icon,.tool-icon.cat-fromPdf{background:var(--cat-fromPdf)}.card-name{font-weight:650}.card-desc{color:var(--muted);font-size:.88rem;line-height:1.4}.tool-head{text-align:center;padding:40px 0 20px}.tool-head .tool-icon{width:56px;height:56px;margin:0 auto;font-size:1.6rem}.tool-head h1{margin:14px 0 6px;font-size:clamp(1.6rem,4vw,2.2rem)}.tool-head p{color:var(--muted);margin:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:20px;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:40px 16px;transition:border-color .12s,background .12s;display:flex}.dropzone:hover,.dropzone:focus-visible,.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft);outline:none}.drop-icon{color:var(--accent);font-size:2rem}.file-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.file-list li{background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.file-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.badge{background:var(--surface);border-radius:6px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:.8rem;font-weight:700;display:inline-grid}.badge.warn{background:var(--warn-bg);color:var(--warn-text)}.icon-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;width:30px;height:30px}.icon-btn:disabled{opacity:.35;cursor:default}.fields{gap:14px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:.92rem;font-weight:600}.field-help{color:var(--muted);font-size:.82rem}.field input,.field select,.field textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 12px}.field input.check{width:20px;height:20px;accent-color:var(--accent)}.field input.color{width:64px;height:38px;padding:2px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 20px;font-weight:600}.btn.small{padding:4px 12px;font-size:.85rem}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;min-width:180px}.btn.primary:hover{background:var(--accent-hover)}.btn:disabled{opacity:.6;cursor:progress}.error{background:var(--error-bg);color:var(--error-text);border-radius:10px;padding:10px 14px}.result-title{text-align:center;color:var(--ok);font-size:1.3rem;font-weight:700}.footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:56px;padding:24px 0;font-size:.85rem}@media (max-width:560px){.nav>a{display:none}.hero{padding-top:36px}}.organizer-help{margin-bottom:8px}.organizer{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.page-card{background:var(--surface-2);cursor:grab;border:2px solid #0000;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.page-card.dragging{opacity:.4}.page-card.deleted .thumb-wrap{opacity:.25}.page-card.deleted{border-color:var(--error-text)}.thumb-wrap{background:var(--surface);border-radius:6px;place-items:center;height:150px;display:grid;overflow:hidden}.thumb-wrap img{max-width:100%;max-height:140px;box-shadow:var(--shadow);transition:transform .15s}.page-card-bar,.move-row{justify-content:center;align-items:center;gap:4px;display:flex}.reader{flex-direction:column;gap:10px;display:flex}.reader-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.reader-page input{width:64px;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:4px 6px}.reader-sep{flex:0 0 8px}.reader-search{min-width:140px;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;flex:1;padding:6px 10px}.reader-hits{flex-direction:column;gap:4px;max-height:160px;display:flex;overflow:auto}.hit{text-align:left;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:.88rem}.hit.active{border-color:var(--accent)}.reader-view{background:var(--surface-2);text-align:center;border-radius:10px;max-height:80vh;padding:12px;overflow:auto}.reader-view.busy img{opacity:.6}.reader-view img{box-shadow:var(--shadow);background:#fff}.drawing{flex-direction:column;gap:8px;display:flex}.drawing-surface{background:var(--surface-2);border-radius:10px;padding:8px;position:relative}.drawing-surface img,.drawing-surface canvas{border-radius:4px;width:100%;height:auto;display:block}.drawing-surface img{box-shadow:var(--shadow);background:#fff}.drawing-surface canvas{cursor:crosshair;width:calc(100% - 16px);height:calc(100% - 16px);position:absolute;inset:8px}.logo-text{white-space:nowrap}.nav-links{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:2px;padding:4px;display:flex}.nav-links a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:.93rem;font-weight:500}.nav-links a:hover{color:var(--text);background:var(--surface-2)}.nav-links a.active{color:var(--accent);background:var(--accent-soft);font-weight:650}.header-actions{align-items:center;gap:6px;display:flex}.search-trigger{border:1px solid var(--border);background:var(--surface-2);height:36px;color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:.9rem;display:flex}.search-trigger:hover{border-color:var(--accent);color:var(--text)}kbd{border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;border-bottom-width:2px;border-radius:6px;padding:1px 6px;font-family:inherit;font-size:.75rem}.head-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:relative}.head-btn:hover,.head-btn[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.count-badge{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:17px;position:absolute;top:1px;right:0}.popover-anchor{position:relative}.popover{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:280px;max-height:70vh;padding:6px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 32px #10182829}.popover-title{color:var(--muted);padding:6px 10px;font-size:.8rem;font-weight:650}.popover-empty{color:var(--muted);margin:4px 10px 10px;font-size:.9rem}.popover-item{border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:.93rem;display:flex}.popover-item:hover,.popover-item.active{background:var(--surface-2)}.popover-clear{border:0;border-top:1px solid var(--border);width:100%;color:var(--muted);font:inherit;cursor:pointer;background:0 0;margin-top:4px;padding:8px;font-size:.85rem}.popover-clear:hover{color:var(--accent)}.mini-icon{color:#fff;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.cat-organize .mini-icon{background:var(--cat-organize)}.cat-layout .mini-icon{background:var(--cat-layout)}.cat-edit .mini-icon{background:var(--cat-edit)}.cat-forms .mini-icon{background:var(--cat-forms)}.cat-security .mini-icon{background:var(--cat-security)}.cat-optimize .mini-icon{background:var(--cat-optimize)}.cat-toPdf .mini-icon{background:var(--cat-toPdf)}.cat-fromPdf .mini-icon{background:var(--cat-fromPdf)}.menu-anchor{display:none}.mobile-lang{border-top:1px solid var(--border);margin-top:4px;padding:8px 6px 4px}.palette-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c1073;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:min(620px,100%);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000004d}.palette-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:14px 16px;display:flex}.palette-input input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:1.05rem}.palette-list{margin:0;padding:6px;list-style:none;overflow:auto}.palette-list ul{margin:0;padding:0;list-style:none}.palette-section{color:var(--muted);padding:8px 10px 4px;font-size:.78rem;font-weight:650}.palette-item{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.palette-item.active{background:var(--accent-soft)}.palette-name{flex:1;min-width:0}.palette-cat{color:var(--muted);white-space:nowrap;font-size:.78rem}.palette-empty{text-align:center;color:var(--muted);padding:24px}.palette-hint{border-top:1px solid var(--border);color:var(--muted);padding:8px 16px;font-size:.78rem}.hero.compact{padding:40px 0 8px}.browser{margin-top:12px}.search-big{background:var(--surface);border:2px solid var(--border);max-width:680px;height:56px;box-shadow:var(--shadow);color:var(--muted);border-radius:16px;align-items:center;gap:12px;margin:8px auto 28px;padding:0 14px 0 18px;transition:border-color .12s,box-shadow .12s;display:flex}.search-big:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.search-big input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:1.05rem}.search-big input::-webkit-search-cancel-button{display:none}.search-clear{background:var(--surface-2);width:30px;height:30px;color:var(--muted);cursor:pointer;border:0;border-radius:8px;place-items:center;display:grid}.tabs{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);scrollbar-width:thin;border-radius:14px;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.tab{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 14px;font-size:.92rem;display:inline-flex}.tab:hover{background:var(--surface-2);color:var(--text)}.tab.active{background:var(--accent);color:#fff}.tab-fav svg{color:#f5a524}.tab.active.tab-fav svg{color:#fff}.tab-count{opacity:.75;font-size:.78rem}.result-status{color:var(--muted);margin:18px 4px 4px;font-size:.9rem}.category-head{margin:28px 0 12px}.category-head h2{color:var(--text);margin:0;font-size:1.15rem}.category-head p{color:var(--muted);margin:2px 0 0;font-size:.88rem}.grid.flat{margin-top:12px}.tcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .12s,border-color .12s;position:relative}.tcard:hover{border-color:var(--accent);transform:translateY(-2px)}.tcard-main{border-radius:inherit;grid-template-rows:auto auto auto;grid-template-columns:44px 1fr;align-content:start;column-gap:12px;height:100%;padding:16px 40px 16px 16px;display:grid}.tcard-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tcard .card-icon{grid-row:span 2}.tcard-cat{background:var(--surface-2);color:var(--muted);border-radius:999px;grid-column:2;justify-self:start;margin-top:8px;padding:1px 8px;font-size:.75rem}.tcard-fav{width:30px;height:30px;color:var(--muted);opacity:.55;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.tcard:hover .tcard-fav,.tcard-fav:focus-visible{opacity:1}.tcard-fav:hover{background:var(--surface-2)}.tcard-fav.on{color:#f5a524;opacity:1}.empty-state{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);margin:24px 0;padding:40px 20px}.prose{padding:40px 0 24px}.prose h1{margin:0 0 8px;font-size:clamp(1.7rem,4vw,2.3rem)}.prose .lead{color:var(--muted);font-size:1.1rem}.prose h2{margin:28px 0 6px;font-size:1.15rem}.prose p{margin:0 0 8px}.faq{flex-direction:column;gap:10px;margin-top:20px;display:flex}.faq details{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px 18px}.faq summary{cursor:pointer;padding:12px 0;font-weight:650}.faq details p{color:var(--muted);margin:0 0 14px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:8px 20px;display:flex}.footer-links{gap:16px;display:flex}.footer-links a:hover{color:var(--accent)}@media (max-width:960px){.nav-links,.lang-desktop{display:none}.menu-anchor{display:block}}@media (max-width:560px){.search-trigger-text,.search-trigger kbd,.logo-text,.search-big kbd{display:none}.tabs{flex-wrap:nowrap;overflow-x:auto}.search-trigger{background:0 0;border-color:#0000;justify-content:center;width:36px;padding:0}}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wf-app{border-bottom:1px solid var(--border);grid-template-columns:260px minmax(0,1fr) 330px;height:calc(100dvh - 61px);min-height:560px;display:grid}.wf-app.no-panel{grid-template-columns:260px minmax(0,1fr)}.wf-app h2{margin:0;font-size:1.05rem}.wf-pad{padding:10px 14px}.wf-toolbox{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.wf-toolbox-head{padding:16px 16px 8px}.wf-toolbox-head p{margin:4px 0 0}.wf-search{border:1px solid var(--border);color:var(--muted);background:var(--bg);border-radius:999px;align-items:center;gap:8px;margin:4px 12px 10px;padding:7px 12px;display:flex}.wf-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1}.wf-search button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;display:grid}.wf-search:focus-within{border-color:var(--accent)}.wf-toolbox-list{border-top:1px solid var(--border);flex:1;overflow-y:auto}.wf-toolbox-list ul{margin:0;padding:2px 8px 8px;list-style:none}.wf-cat{border-bottom:1px solid var(--border)}.wf-cat-head{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:11px 14px;font-weight:600;display:flex}.wf-cat-head:hover{background:var(--surface-2)}.wf-count{color:var(--muted);margin-left:auto;font-size:.78rem;font-weight:500}.wf-tool{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:9px;padding:6px 6px 6px 8px;font-size:.9rem;display:flex}.wf-tool:hover{background:var(--surface-2)}.wf-tool:active{cursor:grabbing}.wf-tool .mini-icon{border-radius:6px;width:24px;height:24px}.wf-tool-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.wf-tool-add{width:26px;height:26px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.wf-tool:hover .wf-tool-add,.wf-tool-add:focus-visible{opacity:1}.wf-tool-add:hover{background:var(--surface);color:var(--accent)}.wf-toolbox-foot{border-top:1px solid var(--border);text-align:center;padding:10px 14px}.wf-center{flex-direction:column;min-width:0;min-height:0;display:flex}.wf-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.wf-title{align-items:center;gap:6px;margin:0 6px 0 0;font-size:1rem;display:inline-flex}.wf-bar .btn{align-items:center;gap:6px;min-width:0;padding:6px 12px;display:inline-flex}.wf-bar .btn.primary{min-width:0}.btn.danger{color:var(--error-text)}.btn.danger:hover:not(:disabled){border-color:var(--error-text)}.wf-bar-spacer{flex:1}.wf-pill{background:var(--surface-2);border-radius:999px;align-items:center;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.btn .wf-pill{background:var(--accent);color:#fff}.wf-problems-badge{background:var(--warn-bg);color:var(--warn-text);font:inherit;cursor:pointer;border:1px solid #f0c36d;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.icon-btn.on{color:var(--accent)}.wf-banner{background:var(--warn-bg);color:var(--warn-text);border-bottom:1px solid #f0c36d;padding:10px 16px;font-size:.9rem}.wf-banner strong{align-items:center;gap:6px;display:inline-flex}.wf-banner ul{margin:4px 0 0;padding-left:26px}.wf-msg{justify-content:space-between;align-items:center;gap:10px;margin:8px 14px 0;display:flex}.wf-files{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:6px;margin:0;padding:8px 14px;list-style:none;display:flex}.wf-files li{border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 10px;font-size:.85rem;display:inline-flex}.wf-files .file-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.wf-files button{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.wf-files button:hover{background:var(--surface-2);color:var(--error-text)}.wf-canvas{background:var(--bg);flex:1;min-height:0;position:relative}.wf-canvas-tools{z-index:5;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;top:12px;left:12px}.wf-canvas-tools .sep{background:var(--border);width:1px;height:18px;margin:0 4px}.wf-empty{z-index:4;text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(440px,100% - 32px);box-shadow:var(--shadow);color:var(--muted);pointer-events:none;padding:26px 24px;position:absolute;top:18%;left:50%;transform:translate(-50%)}.wf-empty svg{color:var(--accent)}.wf-empty h2{color:var(--text);margin:10px 0 8px;font-size:1.2rem}.wf-empty p{margin:0 0 8px;line-height:1.6}.wf-result-card{z-index:6;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:8px;width:min(520px,100% - 32px);max-height:45%;padding:14px 16px;display:flex;position:absolute;bottom:18px;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 30px #00000026}.wf-result-card.done{border-color:var(--ok)}.wf-result-card.done>strong{color:var(--ok)}.wf-result-card.error{border-color:var(--error-text);background:var(--error-bg)}.wf-result-note{color:var(--muted);margin:0;font-size:.85rem}.wf-result-error{color:var(--error-text);margin:0 24px 0 0;font-weight:600}.wf-result-close{position:absolute;top:8px;right:8px}.wf-result-card ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wf-result-card li{align-items:center;gap:10px;display:flex}.wf-result-card li .file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.wf-result-card>.btn.primary{align-self:flex-start;min-width:0}.wf-save-hint{justify-content:center;align-items:center;gap:6px;margin:0;padding:8px;display:flex}.wf-canvas .react-flow{--xy-background-color:var(--bg);--xy-background-pattern-dots-color:color-mix(in srgb, var(--muted) 45%, transparent);--xy-edge-stroke:color-mix(in srgb, var(--cat-organize) 70%, var(--muted));--xy-edge-stroke-selected:var(--accent);--xy-edge-stroke-width:2;--xy-connectionline-stroke:var(--accent);--xy-controls-button-background-color:var(--surface);--xy-controls-button-background-color-hover:var(--surface-2);--xy-controls-button-color:var(--text);--xy-controls-button-color-hover:var(--text);--xy-controls-button-border-color:var(--border);--xy-controls-box-shadow:var(--shadow);--xy-minimap-background-color:var(--surface);--xy-minimap-mask-background-color:color-mix(in srgb, var(--bg) 70%, transparent);--xy-minimap-node-background-color:var(--surface-2);--xy-minimap-node-stroke-color:var(--border);--xy-node-boxshadow-selected:none;--xy-selection-background-color:color-mix(in srgb, var(--accent) 10%, transparent);--xy-selection-border:1px dotted var(--accent);color:var(--text)}.wf-canvas .react-flow__controls,.wf-canvas .react-flow__minimap{border:1px solid var(--border);border-radius:10px;overflow:hidden}.wf-node{border:1.5px solid var(--border);background:var(--surface);width:210px;box-shadow:var(--shadow);border-radius:14px;padding:10px 12px 8px;font-size:.85rem;position:relative}.wf-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.wf-node.warn{border-color:#e0a63a}.wf-node.is-running{border-color:var(--accent)}.wf-node.is-done{border-color:var(--ok)}.wf-node.is-error{border-color:var(--error-text);background:var(--error-bg)}.wf-node-top{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.wf-chip{color:#fff;background:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:120px;padding:1px 8px;font-size:.7rem;font-weight:600;overflow:hidden}.cat-organize .wf-chip{background:var(--cat-organize)}.cat-layout .wf-chip{background:var(--cat-layout)}.cat-edit .wf-chip{background:var(--cat-edit)}.cat-forms .wf-chip{background:var(--cat-forms)}.cat-security .wf-chip{background:var(--cat-security)}.cat-optimize .wf-chip{background:var(--cat-optimize)}.cat-toPdf .wf-chip,.cat-toPdf .mini-icon{background:var(--cat-toPdf)}.cat-fromPdf .wf-chip,.cat-fromPdf .mini-icon{background:var(--cat-fromPdf)}.wf-node-state{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:110px;font-size:.72rem;display:inline-flex;overflow:hidden}.wf-node-state .dot{opacity:.6;background:currentColor;border-radius:50%;width:6px;height:6px}.wf-node-state.running{color:var(--accent)}.wf-node-state.done{color:var(--ok)}.wf-node-state.error{color:var(--error-text);font-weight:600}.wf-node.warn .wf-node-state.idle{color:var(--warn-text)}.wf-node-main{align-items:center;gap:9px;display:flex}.wf-node-text{flex-direction:column;min-width:0;display:flex}.wf-node-name{align-items:center;gap:5px;font-weight:700;line-height:1.3;display:flex}.wf-node-step{background:var(--surface-2);min-width:17px;height:17px;color:var(--muted);border-radius:9px;place-items:center;padding:0 4px;font-size:.68rem;display:inline-grid}.wf-node-slug{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;overflow:hidden}.wf-node-ports{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;margin-top:9px;padding-top:7px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem;display:flex}.wf-node-ports span{align-items:center;gap:5px;display:inline-flex}.wf-node-ports i{background:var(--cat-organize);border-radius:50%;width:6px;height:6px}.wf-node-ports i.other{background:#d6336c}.wf-node .wf-handle{border:2px solid var(--surface);background:var(--cat-organize);width:12px;height:12px}.wf-node .wf-handle.out.other{background:#d6336c}.wf-source-dot{border:2px solid var(--surface);background:var(--ok);border-radius:50%;width:12px;height:12px;margin-top:-6px;position:absolute;top:50%;left:-6px}.wf-side{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.wf-side-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.wf-side-head h2{flex:1;min-width:0}.wf-side-body{flex-direction:column;flex:1;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.wf-side-body>p{margin:0}.wf-side-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.wf-side-foot .btn{align-items:center;gap:5px;min-width:0;display:inline-flex}.wf-settings .fields{gap:12px}.wf-missing{background:var(--warn-bg);color:var(--warn-text);border-radius:8px;margin:0;padding:8px 10px;font-size:.85rem}.wf-tabs{border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.wf-tabs button{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 6px;font-size:.85rem;display:inline-flex}.wf-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.wf-groups{flex-wrap:wrap;gap:6px;display:flex}.wf-groups button{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.82rem}.wf-groups button.active{background:var(--accent);border-color:var(--accent);color:#fff}.wf-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.wf-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:flex-start;gap:4px;display:flex}.wf-card:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.wf-card-main{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;padding:12px 14px;display:flex}.wf-card-main strong.ok{color:var(--ok)}.wf-card-main strong.bad{color:var(--error-text)}.wf-card-chain{color:var(--muted);font-size:.78rem}.wf-card-meta{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.wf-card-meta span{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:.72rem}.wf-card-actions{flex-direction:column;padding:6px 6px 0 0;display:flex}.wf-save{gap:8px;display:flex}.wf-save input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;flex:1;padding:6px 10px}.wf-save .btn{white-space:nowrap;min-width:0}.wf-note{color:var(--ok);margin:0;font-size:.9rem}@media (max-width:1100px){.wf-app,.wf-app.no-panel{grid-template-rows:calc(100dvh - 61px) auto;grid-template-columns:220px minmax(0,1fr);height:auto}.wf-app .wf-side{border-left:0;border-top:1px solid var(--border);grid-column:1/-1;max-height:440px}}@media (max-width:720px){.wf-app,.wf-app.no-panel{grid-template-rows:auto 70dvh auto;grid-template-columns:minmax(0,1fr)}.wf-toolbox{border-right:0;border-bottom:1px solid var(--border);max-height:260px}.wf-toolbox-head p,.wf-toolbox-foot{display:none}.wf-tool-add{opacity:1}.wf-canvas .react-flow__minimap{display:none}.wf-title{width:100%}}.studio-shell{flex-direction:column;min-height:calc(100vh - 61px);display:flex}.studio-start{text-align:center;border:2px dashed #0000;border-radius:20px;max-width:720px;margin:0 auto;padding:72px 16px 40px}.studio-start.dragging,.studio.dragging{border-color:var(--accent);background:var(--accent-soft)}.studio-start h1{margin:16px 0 10px;font-size:clamp(1.8rem,4.5vw,2.6rem)}.studio-start>p{color:var(--muted);font-size:1.05rem}.studio-start-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 8px;display:flex}.studio-start-actions .btn{align-items:center;gap:8px;display:inline-flex}.studio-points{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:24px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.studio-points li:before{content:"✓ ";color:var(--ok);font-weight:700}.studio{border:2px dashed #0000;flex-direction:column;flex:1;min-height:0;display:flex}.studio-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.studio-tabs{align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.studio-tab{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex:none;align-items:center;max-width:220px;display:flex}.studio-tab.active{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.studio-tab button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.studio-tab>button:first-child{text-overflow:ellipsis;white-space:nowrap;padding:6px 4px 6px 12px;font-size:.88rem;overflow:hidden}.studio-tab-close{border-radius:6px;place-items:center;width:26px;height:26px;margin-right:3px;display:grid;color:var(--muted)!important}.studio-tab-close:hover{background:var(--surface-2)!important;color:var(--accent)!important}.studio-tab-add{border:1px dashed var(--border);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;flex:none;place-items:center;display:grid}.studio-tab-add:hover{border-color:var(--accent);color:var(--accent)}.studio-bar-actions{flex:none;align-items:center;gap:6px;display:flex}.studio-bar-actions .btn{align-items:center;gap:6px;display:inline-flex}.head-btn:disabled{opacity:.35;cursor:default;background:0 0}.studio-body{flex:1;grid-template-columns:290px 1fr;min-height:0;display:grid}.studio-side{background:var(--surface);border-right:1px solid var(--border);max-height:calc(100vh - 115px);padding:14px;position:sticky;top:61px;overflow-y:auto}.studio-group+.studio-group{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.studio-group h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:.82rem;font-weight:700}.studio-group>p{margin:0 0 8px}.studio-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.studio-actions button,.studio-tools button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:.86rem;display:flex}.studio-actions button:hover:not(:disabled),.studio-tools button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.studio-actions button:disabled,.studio-tools button:disabled{opacity:.45;cursor:default}.studio-actions svg{color:var(--muted);flex:none}.studio-tools{gap:6px;display:grid}.studio-tools.list{max-height:320px;padding-right:2px;overflow-y:auto}.studio-tools .mini-icon{border-radius:6px;width:22px;height:22px}.studio-search{border:1px solid var(--border);background:var(--surface-2);height:36px;color:var(--muted);border-radius:10px;align-items:center;gap:8px;margin:6px 0 8px;padding:0 10px;display:flex}.studio-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:.9rem}.studio-panel-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.studio-panel .fields{grid-template-columns:1fr}.studio-panel-actions{gap:8px;margin-top:14px;display:flex}.studio-main{min-width:0;padding:14px 18px 24px}.studio-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.studio-status-right{align-items:center;gap:14px;display:flex}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.86rem}.studio-zoom{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.studio-zoom input{width:110px}.studio-busy,.studio-notice,.studio-extras{border-radius:10px;margin:6px 0 10px;padding:8px 12px;font-size:.9rem}.studio-busy{background:var(--warn-bg);color:var(--warn-text)}.studio-notice{background:color-mix(in srgb, var(--ok) 12%, transparent);color:var(--ok)}.studio-extras{background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.studio-loading{text-align:center;padding:40px 0}.studio-pages{gap:14px;margin-top:8px;display:grid}.studio-page{color:inherit;font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex;position:relative}.studio-page:hover{background:var(--surface-2)}.studio-page.selected{border-color:var(--accent);background:var(--accent-soft)}.studio-page.dragging{opacity:.4}.studio-thumb{aspect-ratio:3/4;place-items:center;width:100%;display:grid}.studio-thumb img{background:#fff;max-width:100%;max-height:100%;box-shadow:0 1px 4px #0000002e}.studio-page-no{color:var(--muted);font-size:.8rem}.studio-page.selected .studio-page-no{color:var(--accent);font-weight:700}.studio-keys{margin-top:24px}@media (max-width:820px){.studio-body{grid-template-columns:1fr}.studio-main{order:-1}.studio-side{border-right:0;border-top:1px solid var(--border);max-height:none;position:static}.studio-bar{flex-wrap:wrap}}.studio-views{background:var(--surface-2);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.studio-views button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:4px 12px;font-size:.85rem;display:inline-flex}.studio-views button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.sv{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;height:max(480px,100vh - 190px);display:flex;overflow:hidden}.sv-bar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:6px 8px;display:flex}.sv-group{align-items:center;gap:2px;display:flex}.sv-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.sv-btn:hover:not(:disabled),.sv-btn.on{background:var(--surface-2);color:var(--text)}.sv-btn.on{color:var(--accent)}.sv-btn:disabled{opacity:.35;cursor:default}.sv-sep{background:var(--border);width:1px;height:20px;margin:0 6px}.sv-page{border:1px solid var(--border);background:var(--surface);width:48px;height:30px;color:var(--text);font:inherit;text-align:right;border-radius:7px;margin-left:6px;padding:0 6px}.sv-of{color:var(--muted);white-space:nowrap;margin:0 6px;font-size:.86rem}.sv-zoom{border:1px solid var(--border);background:var(--surface-2);height:30px;color:var(--text);font:inherit;border-radius:7px;margin-left:4px;padding:0 6px;font-size:.86rem}.sv-find{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--muted);align-items:center;gap:6px;padding:6px 10px;display:flex}.sv-find input{border:1px solid var(--border);background:var(--surface);min-width:0;max-width:360px;height:30px;color:var(--text);font:inherit;border-radius:7px;flex:1;padding:0 10px}.sv-find input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.sv-find-count{min-width:64px;font-size:.84rem}.sv-body{flex:1;min-height:0;display:flex}.sv-side{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;width:168px;display:flex}.sv-side-tabs{border-bottom:1px solid var(--border);gap:2px;padding:6px;display:flex}.sv-side-tabs button{width:32px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.sv-side-tabs button.on{background:var(--accent-soft);color:var(--accent)}.sv-side-body{flex:1;padding:10px;overflow-y:auto}.sv-thumb{width:100%;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;margin-bottom:10px;padding:6px;font-size:.78rem;display:flex}.sv-thumb img{background:#fff;max-width:100%;box-shadow:0 1px 3px #0003}.sv-thumb:hover{background:var(--surface-2)}.sv-thumb.on{border-color:var(--accent);color:var(--accent);font-weight:700}.sv-outline{margin:0;padding:0;list-style:none}.sv-outline button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:5px 6px;font-size:.84rem;display:flex}.sv-outline button:hover:not(:disabled),.sv-outline button.active{background:var(--surface-2)}.sv-outline button:disabled{color:var(--muted);cursor:default}.sv-scroll{background:color-mix(in srgb, var(--surface-2) 70%, var(--bg));flex:1;min-width:0;padding:16px;position:relative;overflow:auto}.sv-page-box{background:#fff;margin:0 auto 16px;position:relative;box-shadow:0 1px 6px #0000002e}.sv-page-box img{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.sv-hit{mix-blend-mode:multiply;pointer-events:none;background:#ffd5006b;border-radius:2px;position:absolute}.sv-hit.active{background:#ff84008c;outline:2px solid #e66400e6}@media (max-width:820px){.sv{height:75vh}.sv-side,.sv-side-toggle{display:none}}.sv-loading{color:#9aa2ae;place-items:center;font-size:.85rem;display:grid;position:absolute;inset:0}
