:root{--primary: #1677ff;--primary-soft: #e8f1ff;--primary-glow: rgba(22, 119, 255, .14);--bg: #ffffff;--panel-bg: #ffffff;--panel-bg-2: #f7f9fc;--text: #1f2733;--muted: #6b7a90;--border: #e4e9f2;--border-strong: #c8d6ea;--danger: #cf1322;--radius: 16px;--radius-sm: 10px;--shadow: 0 2px 10px rgba(15, 35, 70, .05);--shadow-hover: 0 12px 28px rgba(22, 119, 255, .12);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--header-bg: rgba(255, 255, 255, .92);--hero-bg: transparent}:root[data-theme=azure]{--primary: #1677ff;--primary-soft: #e8f1ff;--primary-glow: rgba(22, 119, 255, .14);--bg: #ffffff;--panel-bg: #ffffff;--panel-bg-2: #f7f9fc;--text: #1f2733;--muted: #6b7a90;--border: #e4e9f2;--border-strong: #c8d6ea;--radius: 16px;--radius-sm: 10px;--shadow: 0 2px 10px rgba(15, 35, 70, .05);--shadow-hover: 0 12px 28px rgba(22, 119, 255, .12)}:root[data-theme=minimal]{--primary: #111111;--primary-soft: #f5f5f5;--primary-glow: rgba(17, 17, 17, .08);--bg: #ffffff;--panel-bg: #ffffff;--panel-bg-2: #fafafa;--text: #111111;--muted: #888888;--border: #e8e8e8;--border-strong: #cccccc;--radius: 2px;--radius-sm: 0;--shadow: none;--shadow-hover: none;--font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;--header-bg: #ffffff}:root[data-theme=minimal] .header{border-bottom:1px solid #111}:root[data-theme=minimal] .logo{color:#111;letter-spacing:1px}:root[data-theme=minimal] .nav-link{border-radius:0}:root[data-theme=minimal] .nav-link:hover{background:transparent;color:#111;text-decoration:underline;text-underline-offset:6px}:root[data-theme=minimal] .nav-link.active{background:#111;color:#fff}:root[data-theme=minimal] .hero{text-align:left;padding:40px 0 4px}:root[data-theme=minimal] .hero h1{font-size:40px;font-weight:800;letter-spacing:0}:root[data-theme=minimal] .hero p{font-size:15px}:root[data-theme=minimal] .category{margin-top:34px}:root[data-theme=minimal] .category-title{font-size:13px;font-weight:600;letter-spacing:2px;color:#888;border-bottom:1px solid #e8e8e8;padding-bottom:10px;text-transform:uppercase}:root[data-theme=minimal] .category-icon{display:none}:root[data-theme=minimal] .tool-card{background:#fff;border:1px solid #e8e8e8;border-radius:0;padding:20px}:root[data-theme=minimal] .tool-card:hover{transform:none;border-color:#111;box-shadow:none}:root[data-theme=minimal] .tool-icon{width:auto;height:auto;background:none;color:#111;font-size:20px;border-radius:0}:root[data-theme=minimal] .panel{border-radius:0;box-shadow:none}:root[data-theme=minimal] .dropzone{border-radius:0}:root[data-theme=midnight]{--primary: #7aa2ff;--primary-soft: rgba(122, 162, 255, .14);--primary-glow: rgba(122, 162, 255, .25);--bg: #0d1117;--panel-bg: #161c26;--panel-bg-2: #121722;--text: #e6edf7;--muted: #8a97ad;--border: #262f42;--border-strong: #3a4a6d;--danger: #ff7875;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 18px rgba(0, 0, 0, .4);--shadow-hover: 0 14px 34px rgba(0, 0, 0, .55);--header-bg: rgba(13, 17, 23, .8);--hero-bg: radial-gradient( 90% 100% at 50% 0%, rgba(122, 162, 255, .14), transparent 65% )}:root[data-theme=midnight] .header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=midnight] .tool-card{background:linear-gradient(180deg,#ffffff0e,#ffffff05);border:1px solid rgba(255,255,255,.09)}:root[data-theme=midnight] .tool-card:hover{border-color:var(--primary);box-shadow:0 0 0 1px #7aa2ff40,0 14px 34px #0000008c}:root[data-theme=midnight] .tool-icon{background:#7aa2ff1f;box-shadow:inset 0 0 0 1px #7aa2ff33}:root[data-theme=midnight] .panel{background:#161c26db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=midnight] .file-item,:root[data-theme=midnight] .page-card,:root[data-theme=midnight] .image-result-card{background:#161c26b3}:root[data-theme=forest]{--primary: #2e7d4f;--primary-soft: #e8f3ec;--primary-glow: rgba(46, 125, 79, .16);--bg: #f4f7f1;--panel-bg: #ffffff;--panel-bg-2: #eef4e9;--text: #24342a;--muted: #71806c;--border: #dfe8d8;--border-strong: #b9d1b5;--radius: 12px;--radius-sm: 8px;--shadow: 0 3px 12px rgba(46, 125, 79, .08);--shadow-hover: 0 12px 26px rgba(46, 125, 79, .16);--header-bg: #2b5d3e;--hero-bg: linear-gradient(180deg, #e7f2e5, transparent)}:root[data-theme=forest] .header{border-bottom:none}:root[data-theme=forest] .logo{color:#fff}:root[data-theme=forest] .nav-link{color:#ffffffdb;border-radius:999px}:root[data-theme=forest] .nav-link:hover{background:#ffffff29;color:#fff}:root[data-theme=forest] .nav-link.active{background:#fff;color:#2b5d3e}:root[data-theme=forest] .tool-card{background:#fff;border:1px solid var(--border);border-top:4px solid var(--primary);padding-top:24px}:root[data-theme=forest] .tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--primary)}:root[data-theme=forest] .category-icon{background:var(--primary-soft);color:var(--primary)}:root[data-theme=sunset]{--primary: #e8590c;--primary-soft: #ffece0;--primary-glow: rgba(232, 89, 12, .16);--bg: #fff7f2;--panel-bg: #ffffff;--panel-bg-2: #fff1e8;--text: #4a2b1c;--muted: #b07a5c;--border: #f7e3d5;--border-strong: #f2c9ae;--radius: 18px;--radius-sm: 12px;--shadow: 0 4px 16px rgba(232, 89, 12, .1);--shadow-hover: 0 14px 30px rgba(232, 89, 12, .2);--header-bg: rgba(255, 255, 255, .9);--hero-bg: linear-gradient(120deg, #ffd9a8, #ffb199)}:root[data-theme=sunset] .hero{padding:50px 0 42px;border-radius:20px}:root[data-theme=sunset] .hero h1{color:#7a2e0b}:root[data-theme=sunset] .hero p{color:#7a2e0bd9}:root[data-theme=sunset] .tool-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border)}:root[data-theme=sunset] .tool-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#ff9a3c,#ff5e62)}:root[data-theme=sunset] .category-icon{background:linear-gradient(135deg,#ff9a3c,#ff5e62);color:#fff}:root[data-theme=sunset] .panel{border:1px solid var(--border)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family);color:var(--text);background:var(--bg);transition:background .3s,color .3s}.app{display:flex;flex-direction:column;min-height:100vh}.page-container{flex:1;width:100%;max-width:1060px;margin:0 auto;padding:24px 16px 48px}.header{position:sticky;top:0;z-index:10;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-inner{max-width:1060px;margin:0 auto;padding:0 16px;height:64px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:20px;font-weight:700;color:var(--primary);text-decoration:none}.nav{display:flex;align-items:center;gap:8px}.nav-link{padding:8px 14px;border-radius:999px;color:var(--text);text-decoration:none;font-size:14px;transition:background .2s,color .2s}.nav-link:hover{background:var(--primary-soft);color:var(--primary)}.nav-link.active{background:var(--primary);color:#fff}.nav-link.tools-dropdown{cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.theme-menu-item{display:flex;align-items:center;gap:9px;padding-right:8px}.theme-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #0000001a}.theme-menu-name{font-weight:600;min-width:52px}.theme-menu-desc{color:var(--muted);font-size:12px}.hero{text-align:center;padding:44px 0 20px;background:var(--hero-bg);border-radius:0 0 var(--radius) var(--radius)}.hero h1{font-size:42px;margin:0 0 12px;letter-spacing:1px;color:var(--text)}.hero p{color:var(--muted);font-size:17px;margin:0}.category{margin-top:34px}.category-title{display:flex;align-items:center;gap:10px;font-size:20px;margin:0 0 14px;color:var(--text)}.category-icon{width:34px;height:34px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:16px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:20px;margin-top:0}.tool-card{display:block;position:relative;background:var(--panel-bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:26px 22px;text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s,border-color .2s}.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--primary)}.tool-icon{width:54px;height:54px;border-radius:14px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:25px}.tool-card h3{margin:16px 0 8px;font-size:19px}.tool-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.tool-page-title{text-align:center;margin:32px 0 8px}.tool-page-title h2{font-size:30px;margin:0 0 8px;color:var(--text)}.tool-page-title p{color:var(--muted);margin:0}.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-top:20px;box-shadow:var(--shadow)}.panel h3{margin:0 0 16px;font-size:16px;color:var(--text)}.option-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.option-label{color:var(--muted);font-size:14px;white-space:nowrap}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--panel-bg-2);padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.dropzone:hover,.dropzone.dragover{border-color:var(--primary);background:var(--primary-soft)}.dropzone .dz-icon{font-size:40px;color:var(--primary)}.dropzone .dz-title{font-size:17px;font-weight:600;margin:10px 0 4px;color:var(--text)}.dropzone .dz-hint{color:var(--muted);font-size:13px;margin:0}.file-sort-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.file-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);transition:box-shadow .2s,border-color .2s,opacity .2s}.file-item.dragging{border-color:var(--primary);box-shadow:var(--shadow-hover);opacity:.85}.file-drag-handle{color:var(--muted);cursor:grab;font-size:16px}.file-info{flex:1;min-width:0}.file-name{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{color:var(--muted);font-size:12px;margin-top:2px}.file-actions{display:flex;gap:6px;flex-shrink:0}.page-preview{text-align:center;padding:12px}.page-preview canvas{box-shadow:var(--shadow-hover);border-radius:8px}.preview-info{color:var(--muted);font-size:13px;margin-top:10px}.preview-error{color:var(--danger);padding:20px}.crop-stage{position:relative;display:inline-block;width:100%;max-width:720px;touch-action:none}.crop-stage canvas{display:block;width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow-hover)}.crop-loading{padding:60px 0;text-align:center}.crop-rect{position:absolute;border:2px solid var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent);cursor:move}.crop-rect.dragging{background:color-mix(in srgb,var(--primary) 22%,transparent)}.crop-handle{position:absolute;width:13px;height:13px;border:2px solid var(--primary);background:var(--panel-bg);border-radius:3px}.crop-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}.crop-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}.crop-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.crop-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:14px}.page-card{border:2px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-bg);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;-webkit-user-select:none;user-select:none}.page-card:hover{border-color:color-mix(in srgb,var(--primary) 60%,transparent);box-shadow:var(--shadow);transform:translateY(-2px)}.page-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.page-card.organize{cursor:grab}.page-card.organize.dragging{opacity:.7;border-color:var(--primary);transform:scale(.98)}.page-card-thumb{position:relative;aspect-ratio:3 / 4;background:var(--panel-bg-2);display:flex;align-items:center;justify-content:center;overflow:hidden}.page-thumb-img{width:100%;height:100%;object-fit:contain;display:block}.page-thumb-placeholder{color:var(--muted);font-size:12px;padding:12px;text-align:center}.page-card-footer{display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:13px;color:var(--text)}.page-check{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#fff;flex-shrink:0;transition:background .15s,border-color .15s}.page-check.checked{background:var(--primary);border-color:var(--primary)}.page-order-badge{position:absolute;top:6px;left:6px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--primary);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px var(--primary-glow)}.page-remove-btn{position:absolute;top:6px;right:6px;opacity:0;transition:opacity .15s}.page-card:hover .page-remove-btn{opacity:1}.result-area{margin-top:20px}.result-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;flex-wrap:wrap}.result-name{font-weight:600;color:var(--text)}.image-result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.image-result-card{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-bg);text-align:center;padding-bottom:10px}.image-result-card img{width:100%;max-height:180px;object-fit:contain;background:var(--panel-bg-2)}.image-result-name{font-size:12px;color:var(--text);margin:8px 8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-result-meta{color:var(--muted);font-size:12px;margin:2px 0 8px}.footer{border-top:1px solid var(--border);text-align:center;padding:20px;color:var(--muted);font-size:13px}.footer-icp{margin-top:6px}.footer-icp a{color:var(--muted);text-decoration:none}.footer-icp a:hover{color:var(--primary);text-decoration:underline}@media (max-width: 640px){.hero h1{font-size:30px}.nav-link{padding:6px 10px;font-size:13px}.theme-menu-desc{display:none}}
