*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100dvh;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow-x:hidden}img{max-width:100%;display:block}button,input{font:inherit}button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}input[type=range]{appearance:none;border-radius:var(--radius-max);background:var(--border-strong);width:100%;height:2px;transition:background .3s}input[type=range]:disabled{opacity:.4}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 2px var(--bg-surface);transition:transform .2s var(--ease-out);cursor:grab;border-radius:50%}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.3)}input[type=range]::-moz-range-thumb{appearance:none;background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 2px var(--bg-surface);transition:transform .2s var(--ease-out);cursor:grab;border:none;border-radius:50%}input[type=range]:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.3)}input[type=number]{width:100%;color:var(--text-primary);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;padding:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden],.pm-hidden{display:none!important}.pm-visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@keyframes status-breathe{0%,to{opacity:1}50%{opacity:.4}}@keyframes text-breathe{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.pm-workspace{background:var(--bg-page);flex-direction:column;width:100vw;min-height:100dvh;padding-bottom:22px;display:flex;position:relative}.pm-header{width:min(100% - 64px,1180px);height:52px;z-index:var(--z-header);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.pm-brand{pointer-events:auto;align-items:center;gap:10px;display:flex}.pm-brand strong{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);letter-spacing:-.01em;font-weight:600}.pm-logo{flex-shrink:0;width:34px;height:34px}.pm-logo svg{width:100%;height:100%}.pm-header-controls{pointer-events:auto;align-items:center;gap:8px;display:flex}.pm-theme-toggle{background:var(--bg-elevated);width:40px;height:40px;color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border:none;border-radius:50%;place-items:center;display:grid}.pm-theme-toggle svg{width:18px;height:18px;transition:opacity .15s var(--ease-out), transform .15s var(--ease-out);grid-area:1/1}.pm-theme-icon-sun{opacity:1;transform:rotate(0)}.pm-theme-icon-moon{opacity:0;transform:rotate(-90deg)}:root[data-theme=dark] .pm-theme-icon-sun{opacity:0;transform:rotate(90deg)}:root[data-theme=dark] .pm-theme-icon-moon{opacity:1;transform:rotate(0)}.pm-locale-switch{border-radius:var(--radius-max);background:var(--bg-elevated);pointer-events:auto;border:none;align-items:center;gap:4px;padding:4px;display:inline-flex}.pm-locale-btn{border-radius:var(--radius-max);min-width:44px;height:32px;color:var(--text-tertiary);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.08em;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:0 12px;font-weight:500}.pm-locale-btn[data-active=true]{background:var(--accent);color:var(--text-on-accent)}.pm-upload-area{width:min(100% - 64px,1180px);transition:padding var(--duration-base) var(--ease-out), gap var(--duration-base) var(--ease-out);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;margin:0 auto;padding:84px 0 20px;display:flex}.pm-dropzone-area{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-surface);text-align:center;cursor:pointer;width:100%;min-height:min(50vh,420px);transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), min-height var(--duration-base) var(--ease-out), border-radius var(--duration-base) var(--ease-out), padding var(--duration-base) var(--ease-out);justify-content:center;align-items:center;padding:40px 28px;display:flex}.pm-dropzone-area input{display:none}.pm-dropzone-area.drag-over{border-color:var(--accent);background:var(--accent-soft)}.pm-dropzone-area.drag-over .pm-dropzone-cta{background:var(--accent-hover)}.pm-dropzone-footer{flex-direction:column;align-items:center;gap:12px;display:flex}.pm-dropzone-cta{border-radius:var(--radius-max);background:var(--accent);min-height:48px;color:var(--text-on-accent);font-family:var(--font-sans);font-size:var(--text-base);transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border:1px solid #0000;align-items:center;gap:10px;padding:0 24px;font-weight:600;display:inline-flex}.pm-dropzone-cta-icon{width:1.1rem;height:1.1rem;transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0;display:block}.pm-dropzone-helper{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-base)}.pm-dropzone-specs{justify-items:center;gap:4px;display:grid}.pm-dropzone-meta{color:var(--text-tertiary);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.pm-hero-feature{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:inline-flex}.pm-hero-feature-item,.pm-hero-feature-divider{color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.pm-upload-area.is-compact{flex:none;gap:8px;padding:84px 0 14px}.pm-upload-area.is-compact .pm-dropzone-area{border-radius:var(--radius-lg);border-width:1px;height:auto;min-height:116px;padding:14px 16px 12px}.pm-upload-area.is-compact .pm-dropzone-footer{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%}.pm-upload-area.is-compact .pm-dropzone-cta{min-height:38px;font-size:var(--text-sm);padding:0 14px}.pm-upload-area.is-compact .pm-dropzone-helper{font-size:var(--text-sm)}.pm-upload-area.is-compact .pm-dropzone-specs{gap:10px;display:flex}.pm-upload-area.is-compact .pm-hero-feature{display:none}.pm-toast{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);z-index:1000;padding:8px 16px;font-weight:600;position:fixed;top:18px;left:50%;transform:translate(-50%)translateY(-8px)}.pm-toast.pm-show{opacity:1;transform:translate(-50%)translateY(0)}.pm-toast[data-tone=success]{color:var(--success);background:var(--success-soft)}.pm-toast[data-tone=error]{color:var(--danger);background:var(--danger-soft)}.pm-footer{width:min(100% - 64px,1180px);margin:0 auto;padding:24px 0}.pm-legal-links{width:100%;color:var(--text-tertiary);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:8px;font-weight:600;display:inline-flex}.pm-legal-links a{color:var(--text-tertiary)}@media (hover:hover){.pm-theme-toggle:hover{color:var(--text-primary);background:var(--border)}.pm-locale-btn:hover{color:var(--text-primary)}.pm-dropzone-area:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.pm-dropzone-area:hover .pm-dropzone-cta{background:var(--accent-hover);border-color:#ffffff57;transform:translateY(-1px)}.pm-dropzone-area:hover .pm-dropzone-cta-icon{transform:translate(2px)}.pm-legal-links a:hover{color:var(--text-primary)}}.pm-batch-progress{width:min(100% - 64px,1180px);margin:0 auto 10px}.pm-batch-progress p{color:var(--text-tertiary);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-weight:600}.pm-batch-progress-track{border-radius:var(--radius-max);background:var(--border);width:100%;height:4px;overflow:hidden}.pm-batch-progress-track span{background:var(--accent);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--pm-progress,0));transition:transform var(--duration-base) var(--ease-out);will-change:transform;display:block}.pm-file-list{--file-count:1;width:min(100% - 64px,1180px);height:auto;max-height:min(calc(var(--file-count) * 56px + 220px), 420px);border-top:1px solid var(--border);opacity:1;flex:none;margin:0 auto;overflow-y:auto}.pm-file-list[hidden]{display:none}.pm-file-list.pm-fade-out{opacity:0;transition:opacity .12s var(--ease-out)}.pm-file-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;min-height:56px;padding:0 8px;display:grid;position:relative}.pm-file-row[data-status=compressing]:after{content:"";background:var(--accent,#047857);border-radius:1px;width:30%;height:2px;animation:1.2s ease-in-out infinite pm-compress-slide;position:absolute;bottom:0;left:0}@keyframes pm-compress-slide{0%{width:30%;left:0}50%{width:40%;left:40%}to{width:0%;left:100%}}.pm-file-row-enter{animation:pm-row-enter .24s var(--ease-out)}.pm-file-row-main{cursor:pointer;min-width:0;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:12px;margin:0;padding:8px;display:flex}.pm-file-row.is-selected .pm-file-row-main{border-left-color:var(--accent);background:var(--accent-soft);transform:translate(2px)}.pm-file-row-thumb{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:40px;height:40px}.pm-file-row-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;overflow:hidden}.pm-file-row-result{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.pm-file-row[data-status=compressing] .pm-file-row-result{animation:1.5s ease-in-out infinite text-breathe}@keyframes pm-row-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pm-file-row-exit{animation:pm-row-exit .15s var(--ease-out) forwards;pointer-events:none}@keyframes pm-row-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-8px)}}.pm-file-row-remove{width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;display:inline-grid}.pm-file-row-remove svg{width:16px;height:16px}.pm-file-row-download{width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:inline-grid}.pm-file-row-download svg{width:16px;height:16px}.pm-file-row-download:disabled{opacity:.45;cursor:default}.pm-file-row-download.pm-tap{animation:pm-tap-pulse .2s var(--ease-out)}@keyframes pm-tap-pulse{0%{transform:scale(1)}40%{transform:scale(.82)}to{transform:scale(1)}}.pm-batch-actions{justify-content:center;align-items:center;gap:8px;width:min(100% - 64px,1180px);margin:8px auto 0;display:flex}.pm-batch-actions[hidden]{display:none}.pm-batch-actions #downloadZipBtn{background:var(--accent);color:var(--text-on-accent);border:none}.pm-batch-actions #downloadZipBtn:hover:not(:disabled){background:var(--accent-hover);color:var(--text-on-accent)}.pm-result-ad{width:min(100% - 64px,1180px);margin:14px auto 0}.pm-result-ad[hidden]{display:none}.pm-result-ad-frame{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;min-height:260px;overflow:hidden}.pm-result-ad-slot{width:100%;min-height:260px;display:block}.pm-file-row-detail{width:100%;animation:pm-file-detail-in .22s var(--ease-out);transform-origin:top;margin:0 auto 10px;padding:12px 8px 10px}.pm-file-row-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-bottom:10px;display:grid}.pm-file-row-metrics .metric-card{opacity:0;min-width:0;animation:pm-metric-item-in .24s var(--ease-out) forwards;padding:0 14px;transform:translateY(6px)}.pm-file-row-metrics .metric-card:nth-child(2){animation-delay:40ms}.pm-file-row-metrics .metric-card:nth-child(3){animation-delay:80ms}.pm-file-row-metrics .metric-card:nth-child(4){animation-delay:.12s}.pm-file-row-metrics .metric-card:first-child{padding-left:0}.pm-file-row-metrics .metric-card:last-child{padding-right:0}.pm-file-row-metrics strong{color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.04em;white-space:nowrap;font-size:clamp(1.5rem,2.1vw,2.4rem);font-weight:500;line-height:.95;display:block}.pm-file-row-metrics strong small{color:var(--text-tertiary);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:0;margin-left:6px;font-weight:500}.pm-file-row-metrics span{color:var(--text-tertiary);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;margin-top:6px;font-weight:600;display:block}@media (hover:hover){.pm-file-row-main:hover{background:var(--bg-elevated)}.pm-file-row-remove:hover,.pm-file-row-download:hover:not(:disabled){color:var(--text-primary);background:var(--bg-elevated)}}@keyframes pm-file-detail-in{0%{opacity:0;transform:translateY(-6px)scaleY(.98)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes pm-metric-item-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.pm-file-row-main,.pm-file-row-enter,.pm-file-row-exit,.pm-file-row-detail,.pm-file-row-metrics .metric-card,.pm-file-row-download.pm-tap,.pm-file-list.pm-fade-out{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}.pm-btn-icon{width:40px;height:40px;color:var(--text-tertiary);transition:color .15s, transform var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:50%;place-items:center;display:grid}.pm-btn-icon svg{width:20px;height:20px}.pm-btn-strong{border-radius:var(--radius-sm);background:var(--accent);height:40px;color:var(--text-on-accent);font-weight:500;font-size:var(--text-sm);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 24px;display:inline-flex}.pm-btn-secondary{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-strong)}.pm-btn-strong.disabled,.pm-btn-strong:disabled,.pm-btn-icon:disabled{pointer-events:none;opacity:.4!important;transform:none!important}@media (hover:hover){.pm-btn-icon:hover:not(:disabled){color:var(--text-primary);transform:scale(.97)}.pm-btn-strong:hover:not(.disabled):not(:disabled){background:var(--accent-hover);transform:scale(.98)}.pm-btn-secondary:hover:not(.disabled):not(:disabled){background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}}.pm-content{width:min(100% - 64px,1180px);margin:0 auto;padding:0 0 68px}.pm-section{padding:120px 0 0}.pm-section h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.02em;margin:0 0 48px;font-weight:400;position:relative}.pm-section h2:before{content:"";background:var(--text-tertiary);width:40px;height:1px;margin-bottom:12px;display:block}.pm-section h3{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);margin:0 0 8px;font-weight:500}.pm-section p{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-secondary);max-width:680px;margin:0;font-weight:400;line-height:1.7}.pm-steps-grid{grid-template-columns:repeat(3,1fr);gap:48px;display:grid}.pm-step-number{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--text-tertiary);letter-spacing:-.04em;margin-bottom:16px;font-weight:500;line-height:1;display:block}.pm-section-icon{width:24px;height:24px;color:var(--text-tertiary);margin-bottom:16px;display:block}.pm-step,.pm-grid-2x2>div{height:100%;padding:0}.pm-grid-2x2{grid-template-columns:repeat(2,1fr);gap:40px 48px;display:grid}.pm-faq-list{gap:12px;max-width:680px;display:grid}.pm-faq-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.pm-faq-item summary{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;padding:20px 24px;font-weight:500;list-style:none;display:flex}.pm-faq-item summary::-webkit-details-marker{display:none}.pm-faq-item summary:after{content:"";border-right:1.5px solid var(--text-tertiary);border-bottom:1.5px solid var(--text-tertiary);width:8px;height:8px;transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0;margin-left:16px;transform:rotate(45deg)}.pm-faq-item[open] summary:after{transform:rotate(-135deg)}.pm-faq-item[open]{border-color:var(--border-strong);background:var(--accent-soft)}.pm-faq-item.pm-faq-closing{border-color:var(--border);background-color:var(--bg-surface)}.pm-faq-item.pm-faq-closing summary:after{transform:rotate(45deg)}.pm-faq-body{height:0;transition:height var(--duration-fast) var(--ease-out);overflow:hidden}.pm-faq-item[open] .pm-faq-body{height:auto}.pm-faq-body>p{min-height:0}.pm-faq-item p{font-size:var(--text-sm);color:var(--text-secondary);margin:0;padding:0 24px 20px;line-height:1.7}@media (hover:hover){.pm-faq-item summary:hover{color:var(--accent)}}@media (prefers-color-scheme:dark){.pm-faq-item,.pm-faq-item.pm-faq-closing{background:var(--bg-elevated)}}@media (width<=960px){.pm-workspace{padding-bottom:20px}.pm-header,.pm-upload-area,.pm-batch-progress,.pm-file-list,.pm-batch-actions,.pm-result-ad,.pm-footer{width:calc(100% - 40px)}.pm-upload-area,.pm-upload-area.is-compact{padding-top:72px}.pm-file-row-metrics{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}.pm-file-row-metrics .metric-card{padding:0 0 0 14px}.pm-file-row-metrics .metric-card:nth-child(odd){padding-left:0;padding-right:14px}.pm-content{width:calc(100% - 40px)}}@media (width<=768px){.pm-workspace{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.pm-header{height:48px;top:14px}.pm-brand strong{font-size:.9375rem}.pm-locale-btn{min-width:40px;padding:0 10px}.pm-upload-area{padding-top:64px;padding-bottom:10px}.pm-upload-area.is-compact{padding-top:64px}.pm-upload-area.is-compact .pm-dropzone-area{min-height:98px;padding:12px 10px 10px}.pm-upload-area.is-compact .pm-dropzone-specs{flex-wrap:wrap;justify-content:center;gap:8px}.pm-dropzone-area{min-height:min(42vh,340px);padding:30px 12px}.pm-dropzone-cta{min-height:44px;padding:0 18px}.pm-dropzone-helper{font-size:var(--text-sm)}.pm-file-row{grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px}.pm-file-row-main{gap:10px;padding:8px 6px}.pm-file-row-thumb{width:36px;height:36px}.pm-file-row-remove,.pm-file-row-download{width:44px;min-width:44px;height:44px;min-height:44px}.pm-batch-actions{flex-wrap:wrap}.pm-batch-actions .pm-btn-strong{width:100%}.pm-result-ad-frame,.pm-result-ad-slot{min-height:200px}.pm-legal-links{justify-content:flex-start}.pm-toast{top:56px}.pm-section{padding-top:60px}.pm-section h2{margin-bottom:32px}.pm-steps-grid{grid-template-columns:1fr;gap:24px}.pm-grid-2x2{grid-template-columns:1fr;row-gap:32px}.pm-content{padding:0 0 40px}.pm-step,.pm-grid-2x2>div{padding:0}.pm-faq-item summary{padding:18px 16px}.pm-faq-item p{padding:0 16px 18px}}
