:root{font-family:var(--ds-font-sans, system-ui, sans-serif)}.compress-root{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;color:var(--ds-color-ink, #1e293b)}.compress-root *,.compress-root *:before,.compress-root *:after{box-sizing:border-box}.compress-topbar{flex:none;height:56px;padding:0 20px;border-bottom:1px solid var(--ds-color-border, #dbe3f0);display:flex;align-items:center;gap:16px;background:color-mix(in srgb,var(--ds-color-surface, #ffffff) 94%,transparent)}.compress-brand{display:flex;align-items:center;gap:11px;min-width:0}.compress-brand-mark{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--ds-color-primary, #4f46e5);box-shadow:0 5px 12px #4f46e533;font-size:15px;font-weight:700}.compress-brand-copy{display:block;min-width:0}.compress-brand-copy strong,.compress-brand-copy small{display:block}.compress-brand-copy strong{font-size:14px;font-weight:700;letter-spacing:.01em;color:var(--ds-color-ink, #172033)}.compress-brand-copy small{margin-top:1px;color:var(--ds-color-muted, #64748b);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compress-topbar-count{flex:1;min-width:0;text-align:center;font-size:12px;color:var(--ds-color-ink-muted, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compress-topbar-actions{display:flex;align-items:center;gap:8px;flex:none}.secondary-button{min-height:44px;padding:8px 16px;border:1px solid var(--ds-color-border, #cbd5e1);border-radius:10px;background:#fff;color:var(--ds-color-ink, #1e293b);font-size:14px;font-weight:600;cursor:pointer}.secondary-button:hover{background:var(--ds-color-surface-hover, #f1f5f9)}.compress-body{flex:1;min-height:0;display:flex}.compress-settings{flex:none;width:288px;min-width:288px;border-right:1px solid var(--ds-color-border, #dbe3f0);overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:20px;background:var(--ds-color-surface, #f8fafc)}.settings-title{margin:0;font-size:15px;font-weight:700}body.site-page .settings-title{font-size:15px}.settings-group{display:flex;flex-direction:column;gap:8px}.settings-label{font-size:13px;font-weight:600;color:var(--ds-color-ink, #1e293b);display:block}.option-segments{display:flex;flex-wrap:wrap;gap:6px}.option-segment{flex:1 1 auto;min-height:40px;min-width:0;padding:6px 10px;border:1px solid var(--ds-color-border, #dbe3f0);border-radius:8px;background:#fff;color:var(--ds-color-ink, #1e293b);font-size:13px;font-weight:600;cursor:pointer}.option-segment.active{border-color:var(--ds-color-primary, #4f46e5);background:var(--ds-color-primary-soft, #eef2ff);color:var(--ds-color-primary, #4f46e5)}.settings-hint{font-size:12px;color:var(--ds-color-ink-muted, #64748b)}.preset-segments{display:flex;gap:6px}.preset-segment{flex:1;min-height:40px;padding:6px 8px;border:1px solid var(--ds-color-border, #dbe3f0);border-radius:8px;background:#fff;color:var(--ds-color-ink, #1e293b);font-size:13px;font-weight:600;cursor:pointer}.preset-segment.active{border-color:var(--ds-color-primary, #4f46e5);background:var(--ds-color-primary-soft, #eef2ff);color:var(--ds-color-primary, #4f46e5)}.settings-advanced{border-top:1px solid var(--ds-color-border, #e2e8f0);padding-top:12px}.settings-advanced summary{cursor:pointer;font-size:13px;font-weight:600}.settings-quality-row{display:grid;grid-template-columns:44px 1fr 48px;align-items:center;gap:8px;margin-top:10px}.settings-quality-row input[type=range]{width:100%}.settings-quality-value{text-align:right;font-size:13px;font-variant-numeric:tabular-nums}.settings-custom-size{display:flex;gap:12px}.settings-custom-size label{display:flex;align-items:center;gap:6px}.settings-custom-size input{width:88px;min-height:36px;padding:4px 8px;border:1px solid var(--ds-color-border, #dbe3f0);border-radius:8px;font-size:13px}.settings-check{display:flex;align-items:center;gap:8px;font-size:13px;min-height:32px}.settings-check input{width:16px;height:16px}.compress-main{flex:1;min-width:0;overflow-y:auto;padding:20px 24px}.compress-notice{margin-bottom:16px;padding:10px 14px;border-radius:8px;background:var(--ds-color-info-bg, #eff6ff);color:var(--ds-color-info-ink, #1d4ed8);font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;border:2px dashed var(--ds-color-border, #cbd5e1);border-radius:16px;padding:32px;gap:16px;transition:background-color .15s ease}.empty-state.dragging{background:var(--ds-color-info-bg, #eff6ff);border-color:var(--ds-color-primary, #4f46e5)}.empty-state-hint{margin:0;font-size:14px;color:var(--ds-color-ink-muted, #64748b)}.primary-button{min-height:44px;padding:10px 20px;border:none;border-radius:10px;background:var(--ds-color-primary, #4f46e5);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.primary-button:hover{background:var(--ds-color-primary-hover, #4338ca)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.text-button{border:none;background:none;color:var(--ds-color-primary, #4f46e5);font-size:14px;cursor:pointer;padding:8px 12px;min-height:44px}.text-button.compress-clear{color:var(--ds-color-danger, #b91c1c)}.file-queue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:15px;font-weight:600}.file-queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.file-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--ds-color-border, #e2e8f0);border-radius:12px;background:#fff}.file-row.is-dirty{border-color:var(--ds-color-warning, #d97706)}.file-row-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--ds-color-surface, #f1f5f9)}.file-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row-meta{font-size:13px;color:var(--ds-color-ink-muted, #64748b)}.file-row-status{font-size:13px;color:var(--ds-color-primary, #4f46e5)}.file-row.status-failed .file-row-status{color:var(--ds-color-danger, #b91c1c)}.file-row.status-completed .file-row-status,.file-row.status-unchanged .file-row-status{color:var(--ds-color-success, #166534)}.file-row.is-dirty .file-row-status{color:var(--ds-color-warning, #d97706)}.file-row-progress{width:100%;height:6px}.file-row-error{font-size:13px;color:var(--ds-color-danger, #b91c1c)}.file-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.mini-button{min-height:44px;padding:8px 14px;border:1px solid var(--ds-color-border, #dbe3f0);border-radius:8px;background:#fff;color:var(--ds-color-ink, #1e293b);font-size:13px;cursor:pointer}.mini-button:hover{background:var(--ds-color-surface-hover, #f1f5f9)}.file-row-remove{color:var(--ds-color-danger, #b91c1c)}.file-row-requeue{color:var(--ds-color-warning, #b45309);border-color:var(--ds-color-warning, #fcd34d)}.compress-summary{flex:none;height:64px;padding:0 20px;border-top:1px solid var(--ds-color-border, #dbe3f0);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ds-color-surface, #f8fafc)}.summary-text{font-size:14px;color:var(--ds-color-ink, #1e293b)}.summary-text strong{font-variant-numeric:tabular-nums}.summary-idle{color:var(--ds-color-ink-muted, #64748b)}.preview-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0f172a80}.preview-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;border-radius:16px;background:#fff;box-shadow:0 20px 50px #0f172a4d;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ds-color-border, #e2e8f0)}.preview-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-body{padding:16px;display:flex;flex-direction:column;gap:12px;overflow:auto}.preview-toggle{display:flex;gap:6px}.preview-toggle-button{min-height:40px;padding:6px 16px;border:1px solid var(--ds-color-border, #dbe3f0);border-radius:8px;background:#fff;color:var(--ds-color-ink, #1e293b);font-size:13px;font-weight:600;cursor:pointer}.preview-toggle-button.active{border-color:var(--ds-color-primary, #4f46e5);background:var(--ds-color-primary-soft, #eef2ff);color:var(--ds-color-primary, #4f46e5)}.preview-canvas{display:flex;align-items:center;justify-content:center;min-height:240px;background:repeating-conic-gradient(var(--ds-color-surface, #f1f5f9) 0% 25%,#fff 0% 50%) 0 0 / 24px 24px;border-radius:12px;overflow:hidden}.preview-canvas img{max-width:100%;max-height:56vh;object-fit:contain}.preview-info{font-size:13px;color:var(--ds-color-ink-muted, #64748b);text-align:center}.compress-root{height:100%}html,body,#root{height:100%;margin:0}.mobile-root{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;color:var(--ds-color-ink, #172033);background:var(--ds-color-canvas, #f7f9ff)}.mobile-root *,.mobile-root *:before,.mobile-root *:after{box-sizing:border-box}.mobile-topbar{flex:none;display:flex;align-items:center;gap:8px;min-height:56px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--ds-color-border, #d9e0ec);background:var(--ds-color-surface, #ffffff)}.mobile-topbar-count{flex:1;min-width:0;font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-topbar-actions{display:flex;align-items:center;gap:6px;flex:none}.mobile-add{min-height:44px;min-width:44px;padding:10px 16px;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:10px;background:var(--ds-color-surface, #ffffff);color:var(--ds-color-ink, #172033);font-size:14px;font-weight:600;cursor:pointer}.mobile-clear{min-height:44px;min-width:44px;color:var(--ds-color-danger, #ef4444)}.mobile-summary{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 16px;border-bottom:1px solid var(--ds-color-border, #d9e0ec);background:var(--ds-color-surface, #ffffff)}.mobile-summary-row{display:flex;flex-direction:column;gap:2px;min-width:0}.mobile-summary-label{font-size:12px;color:var(--ds-color-muted, #64748b)}.mobile-summary-row strong{font-size:15px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-summary-saving{color:var(--ds-color-success, #166534)}.mobile-summary .summary-idle{grid-column:1 / -1;font-size:14px;color:var(--ds-color-muted, #64748b);text-align:center;padding:4px 0}.mobile-main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.mobile-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mobile-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:12px;background:var(--ds-color-surface, #ffffff)}.mobile-card.is-dirty{border-color:var(--ds-color-warning, #d97706)}.mobile-card-top{display:flex;gap:12px;min-width:0}.mobile-card-thumb{flex:none;width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--ds-color-canvas, #f1f5f9)}.mobile-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mobile-card-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-card-meta{font-size:13px;color:var(--ds-color-muted, #64748b)}.mobile-card-status{font-size:13px;color:var(--ds-color-primary, #4f46e5)}.mobile-card.status-failed .mobile-card-status{color:var(--ds-color-danger, #ef4444)}.mobile-card.status-completed .mobile-card-status,.mobile-card.status-unchanged .mobile-card-status{color:var(--ds-color-success, #166534)}.mobile-card.is-dirty .mobile-card-status{color:var(--ds-color-warning, #d97706)}.mobile-card-progress{width:100%;height:6px}.mobile-card-error{font-size:13px;color:var(--ds-color-danger, #ef4444)}.mobile-card-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.mobile-card-actions .mini-button{min-height:44px;min-width:44px;padding:10px 14px;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:8px;background:var(--ds-color-surface, #ffffff);color:var(--ds-color-ink, #172033);font-size:13px;cursor:pointer}.mobile-card-actions .mobile-card-requeue{color:var(--ds-color-warning, #b45309);border-color:var(--ds-color-warning, #fcd34d)}.mobile-card-actions .mobile-card-remove{color:var(--ds-color-danger, #ef4444)}.mobile-bottombar{flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--ds-color-border, #d9e0ec);background:var(--ds-color-surface, #ffffff)}.mobile-settings-trigger{flex:1;min-height:44px;min-width:44px;padding:10px 12px;border:1px solid var(--ds-color-border, #d9e0ec);border-radius:10px;background:var(--ds-color-surface, #ffffff);color:var(--ds-color-ink, #172033);font-size:14px;font-weight:600;cursor:pointer}.mobile-download-all{flex:1;min-height:44px;min-width:44px;padding:10px 12px;border:none;border-radius:10px;background:var(--ds-color-primary, #4f46e5);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.mobile-download-all:disabled{opacity:.5;cursor:not-allowed}.sheet-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#0f172a73}.settings-sheet{width:100%;max-height:min(86dvh,calc(100dvh - env(safe-area-inset-top)));display:flex;flex-direction:column;border-radius:16px 16px 0 0;background:var(--ds-color-surface, #ffffff);box-shadow:0 -12px 40px #0f172a40;overflow:hidden}.sheet-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--ds-color-border, #d9e0ec)}.sheet-title{margin:0;font-size:16px;font-weight:700}body.site-page .sheet-title{font-size:16px}.settings-sheet .option-segments{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.settings-sheet .option-segment{min-height:44px;padding:8px 10px;font-size:13px}.sheet-close{min-height:44px;min-width:44px;border:none;background:none;font-size:22px;line-height:1;color:var(--ds-color-muted, #64748b);cursor:pointer}.sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;display:flex;flex-direction:column;gap:18px}.sheet-footer{flex:none;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--ds-color-border, #d9e0ec)}.sheet-apply{width:100%;min-height:48px;border:none;border-radius:10px;background:var(--ds-color-primary, #4f46e5);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.mobile-main .empty-state{min-height:220px}@media(prefers-reduced-motion:reduce){.sheet-backdrop,.settings-sheet,.mobile-root *{transition:none!important;animation:none!important}}
