:root{color:var(--text-primary);background:var(--bg-body);font-synthesis:none;text-rendering:optimizelegibility;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--duration-fast:.18s;--duration-base:.26s;--duration-slow:.42s;--stagger-gap:60ms;--bg-body:#f7fbf6;--bg-shell:#f7fbf6;--bg-gradient:#d0f1cc5c;--bg-card:#ffffffd6;--bg-card-solid:#fff;--bg-card-hover:#ffffffd9;--bg-upload:#fbfefb;--bg-dropzone-hover:#f6fcf2;--bg-dropzone-drag:#f0f9eb;--bg-editor:#ffffffe6;--bg-editor-sidebar:#fbfdfb;--bg-editor-stage:#f5f8f4;--bg-editor-panel:#fff;--bg-editor-footer:#fcfefb;--bg-input:#fbfdfb;--bg-thumb:#eef5eb;--bg-file-hover:#f9fcf8;--bg-selected:#f2faee;--bg-count:#f0f9eb;--bg-download:#f0f9eb;--bg-download-hover:#e5f6de;--bg-remove-hover:#fff5f5;--bg-icon-green:#edf8e8;--bg-feature-green:#eef8e9;--bg-feature-purple:#f3edff;--bg-feature-orange:#fff3e9;--text-primary:#18332b;--text-title:#16372b;--text-secondary:#81928a;--text-hero:#82968c;--text-muted:#9cac9f;--text-label:#416452;--text-file:#486355;--text-file-meta:#a0afa7;--text-state:#8c9e94;--text-nav:#789087;--text-nav-hover:#5c7a6c;--text-nav-active:#21483a;--text-button:#557064;--text-button-hover:#3d5a4d;--text-dropzone:#405c4c;--text-dropzone-link:#72b641;--text-editor-tab:#9aaba2;--text-editor-tab-hover:#6a8c77;--accent:#83c84f;--accent-hover:#70b445;--accent-light:#9ad36d;--success:#72b84b;--success-text:#73b347;--error:#d47a7a;--error-text:#ce7c7c;--error-bg:#dd8a8a;--notice:#c7836e;--border:#dfebdd;--border-light:#e8f0e6;--border-lighter:#edf2eb;--border-input:#e1eae0;--border-input-hover:#b3d9a5;--border-input-focus:#9bce83;--border-strong:#e5eee3;--border-card-hover:#d4e8cd;--border-button:#d9ead3;--border-button-hover:#b8d9ad;--shadow-color:#2649360e;--shadow-color-hover:#26493614;--shadow-card:#26493612;--shadow-canvas:#1b382624;--shadow-feature:#26493617;--shadow-accent:#6fa44c1f;--accent-lighter:#83c84f1a;--accent-soft:#83c84f1f;--accent-ghost:#83c84f38;--accent-shadow:#74b84733;--accent-shadow-hover:#74b8474d;--white:#fff;--crop-overlay:#11261b7a;--crop-overlay-hover:#11261b85;--crop-handle-border:#366a4666;--crop-handle-border-hover:#366a4680;--thumb-overlay:#192e23a6;--feature-purple:#956be5;--feature-orange:#e98b48;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--accent);font-family:Inter,Segoe UI,Noto Sans SC,system-ui,-apple-system,sans-serif}.theme-toggle{position:relative}.theme-toggle{white-space:nowrap;justify-content:center;min-width:76px;position:relative}.theme-toggle svg{width:17px;height:17px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg-body);min-width:320px;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}input,select,textarea,button{color-scheme:inherit}input,select,textarea{caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.65}::selection{background:var(--accent);color:var(--white)}input:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}textarea:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}textarea:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}select:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}select:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}select:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-input) inset;transition:background-color 5000s ease-in-out}*{scrollbar-width:thin;scrollbar-color:var(--border-input) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-input);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-input-hover)}input[type=range]{appearance:none;cursor:pointer;background:0 0;border-radius:4px;height:4px}input[type=range]::-webkit-slider-runnable-track{background:var(--border-lighter);border-radius:4px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);width:14px;height:14px;box-shadow:0 2px 6px var(--shadow-accent);transition:transform var(--duration-fast) var(--ease-spring), background var(--duration-fast);border-radius:50%;margin-top:-5px}input[type=range]::-webkit-slider-thumb:hover{background:var(--accent-hover);transform:scale(1.15)}input[type=range]::-moz-range-track{background:var(--border-lighter);border-radius:4px;height:4px}input[type=range]::-moz-range-thumb{background:var(--accent);width:14px;height:14px;box-shadow:0 2px 6px var(--shadow-accent);transition:transform var(--duration-fast) var(--ease-spring), background var(--duration-fast);border:0;border-radius:50%}input[type=range]::-moz-range-thumb:hover{background:var(--accent-hover);transform:scale(1.15)}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:18px;height:18px}[data-theme=dark]{--bg-body:#0f1714;--bg-shell:#0f1714;--bg-gradient:#315e2b40;--bg-card:#ffffff14;--bg-card-solid:#181f1c;--bg-card-hover:#ffffff1f;--bg-upload:#161f1b;--bg-dropzone-hover:#243930;--bg-dropzone-drag:#2a4036;--bg-editor:#ffffff14;--bg-editor-sidebar:#141c19;--bg-editor-stage:#111916;--bg-editor-panel:#141c19;--bg-editor-footer:#161f1c;--bg-input:#1a2420;--bg-thumb:#2a4036;--bg-file-hover:#ffffff14;--bg-selected:#2a4036;--bg-count:#2a4036;--bg-download:#2a4036;--bg-download-hover:#335244;--bg-remove-hover:#3a2020;--bg-icon-green:#2a4036;--bg-feature-green:#2a4036;--bg-feature-purple:#272035;--bg-feature-orange:#33251b;--text-primary:#e8f4ef;--text-title:#e8f4ef;--text-secondary:#9ab8a7;--text-hero:#9ab8a7;--text-muted:#7d9a8a;--text-label:#b8d0c2;--text-file:#b8d0c2;--text-file-meta:#7d9a8a;--text-state:#8fa898;--text-nav:#9ab8a7;--text-nav-hover:#b8d0c2;--text-nav-active:#e8f4ef;--text-button:#a8c4b3;--text-button-hover:#c4ddd0;--text-dropzone:#b8d0c2;--text-dropzone-link:#8fd45a;--text-editor-tab:#8fa898;--text-editor-tab-hover:#b8d0c2;--accent:#8fd45a;--accent-hover:#9edc6e;--accent-light:#a3dd73;--success:#7ec85a;--success-text:#8fd45a;--error:#e08a8a;--error-text:#e08a8a;--error-bg:#c76a6a;--notice:#d99a7e;--border:#3a5a4a;--border-light:#2a3f36;--border-lighter:#334c40;--border-input:#4a6b55;--border-input-hover:#6b9b55;--border-input-focus:#8fd45a;--border-strong:#3a5a4a;--border-card-hover:#4a7a5a;--border-button:#4a7a5a;--border-button-hover:#6b9b55;--shadow-color:#00000040;--shadow-color-hover:#00000059;--shadow-card:#0000004d;--shadow-canvas:#0006;--shadow-feature:#00000059;--shadow-accent:#52963233;--accent-lighter:#8fd45a26;--accent-soft:#8fd45a33;--accent-ghost:#8fd45a40;--accent-shadow:#52963240;--accent-shadow-hover:#52963259;--white:#e8f4ef;--crop-overlay:#000000a6;--crop-overlay-hover:#000000b3;--crop-handle-border:#fff3;--crop-handle-border-hover:#ffffff4d;--thumb-overlay:#000000a6;--feature-purple:#a47cf5;--feature-orange:#f59a5a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 var(--accent)}70%{box-shadow:0 0 0 12px #8fd45a00}to{box-shadow:0 0 #8fd45a00}}@keyframes dashMove{to{stroke-dashoffset:-20px}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}70%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes drawCheck{0%{stroke-dasharray:24;stroke-dashoffset:24px}to{stroke-dasharray:24;stroke-dashoffset:0}}.app-shell{background:radial-gradient(circle at 15% 2%, var(--bg-gradient), transparent 28%), var(--bg-body);min-height:100vh;overflow:hidden}.app-shell main>*{animation:fadeInUp var(--duration-slow) var(--ease-out-expo) both}.app-shell main>:first-child{animation-delay:0s}.app-shell main>:nth-child(2){animation-delay:var(--stagger-gap)}.app-shell main>:nth-child(3){animation-delay:calc(var(--stagger-gap) * 2)}.topbar{border-bottom:1px solid var(--border-light);background:color-mix(in srgb, var(--bg-shell) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:72px;animation:fadeInDown var(--duration-slow) var(--ease-out-expo) both;align-items:center;gap:76px;padding:0 max(34px,50vw - 600px);display:flex}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.brand{color:var(--text-primary);letter-spacing:-.8px;transition:transform var(--duration-fast) var(--ease-spring);align-items:center;gap:10px;font-size:21px;font-weight:700;text-decoration:none;display:flex}.brand:hover{transform:scale(1.03)}.brand>span:last-child>span{color:var(--accent-light)}.brand-mark{width:31px;height:31px;color:var(--accent);transition:transform var(--duration-base) var(--ease-spring);place-items:center;display:grid;transform:rotate(-7deg)}.brand:hover .brand-mark{transform:rotate(0)scale(1.08)}.brand-mark svg{stroke:none;width:31px;height:31px}.nav-links{align-items:center;gap:38px;height:100%;display:flex}.nav-link{height:100%;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-smooth);background:0 0;border:0;align-items:center;padding:0;font-size:14px;text-decoration:none;display:flex;position:relative}.nav-link:after{content:"";background:var(--accent);height:2px;transition:left var(--duration-base) var(--ease-out-expo), right var(--duration-base) var(--ease-out-expo), opacity var(--duration-fast);opacity:0;border-radius:2px;position:absolute;bottom:0;left:50%;right:50%}.nav-link:hover{color:var(--text-nav-hover)}.nav-link.active{color:var(--text-nav-active);font-weight:600}.nav-link.active:after{opacity:1;left:0;right:0}.header-actions{align-items:center;gap:18px;margin-left:auto;display:flex}.icon-button,.header-button{color:var(--text-nav);transition:color var(--duration-fast), transform var(--duration-fast) var(--ease-spring), background var(--duration-fast);background:0 0;border:0;align-items:center;gap:7px;display:flex}.icon-button{border-radius:8px;padding:7px}.icon-button:hover{color:var(--text-nav-hover);background:var(--accent-lighter);transform:translateY(-1px)rotate(4deg)}.icon-button svg{width:19px;height:19px}.header-button{color:var(--text-button);border-radius:8px;padding:8px 14px;font-size:13px}.header-button:hover{color:var(--text-button-hover);background:var(--accent-lighter);transform:translate(2px)}.header-button svg{width:13px;height:13px;transition:transform var(--duration-base) var(--ease-spring)}.header-button:hover svg{transform:translate(3px)}.menu-toggle,.mobile-nav,.mobile-nav-overlay{display:none}.mobile-nav-overlay{z-index:90;opacity:0;transition:opacity var(--duration-base) var(--ease-smooth);background:#00000059;position:fixed;inset:0}.mobile-nav{z-index:100;border:1px solid var(--border-light);background:color-mix(in srgb, var(--bg-shell) 95%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(260px,100vw - 24px);box-shadow:0 20px 50px var(--shadow-color);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-smooth), transform var(--duration-base) var(--ease-out-expo);border-radius:14px;flex-direction:column;gap:2px;padding:10px;position:fixed;top:62px;right:12px;transform:translateY(-10px)scale(.98)}.mobile-nav .nav-link{border-radius:10px;height:auto;padding:11px 14px;font-size:14px}.mobile-nav .nav-link:hover{background:var(--accent-lighter)}.mobile-nav .nav-link.active{background:var(--bg-selected)}.mobile-nav .nav-link.active:after{display:none}main{width:min(100% - 48px,1040px);margin:0 auto}.hero{text-align:center;padding:72px 20px 43px}.eyebrow{color:var(--accent-light);letter-spacing:.18em;animation:fadeInUp var(--duration-slow) var(--ease-out-expo) both;align-items:center;gap:8px;margin-bottom:17px;font-family:DM Mono,monospace;font-size:10px;font-weight:500;display:inline-flex}.eyebrow span{background:var(--accent-light);border-radius:50%;width:5px;height:5px;animation:2.2s ease-in-out infinite pulseDot;display:block}@keyframes pulseDot{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}h1{color:var(--text-title);letter-spacing:-.055em;animation:fadeInUp var(--duration-slow) var(--ease-out-expo) .1s both;margin:0;font-size:clamp(31px,4vw,46px);font-weight:700;line-height:1.22}h1 em{color:var(--accent-light);font-style:normal;position:relative}h1 em:after{content:"";background:var(--accent-ghost);transform-origin:0;height:6px;animation:underlineGrow .8s var(--ease-out-expo) .6s forwards;border-radius:3px;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}@keyframes underlineGrow{to{transform:scaleX(1)}}.hero p{color:var(--text-hero);animation:fadeInUp var(--duration-slow) var(--ease-out-expo) .2s both;margin:16px 0 0;font-size:14px;line-height:1.75}.mobile-break{display:none}.workspace{position:relative}.upload-card,.conversion-card{border:1px solid var(--border);background:var(--bg-card);box-shadow:0 14px 38px var(--shadow-color);transition:transform var(--duration-base) var(--ease-out-expo), box-shadow var(--duration-base) var(--ease-out-expo);border-radius:15px}.upload-card:hover,.conversion-card:hover{box-shadow:0 20px 46px var(--shadow-color-hover);transform:translateY(-2px)}.upload-card{padding:22px 27px 20px}.upload-card-top,.conversion-head,.settings-head{justify-content:space-between;align-items:center;display:flex}.section-label{color:var(--text-label);letter-spacing:.01em;align-items:center;gap:11px;font-size:13px;font-weight:600;display:flex}.step-number{color:var(--accent-light);font-family:DM Mono,monospace;font-size:11px;font-weight:500}.private-badge{color:var(--text-secondary);animation:fadeIn var(--duration-base) var(--ease-out-expo) .3s both;align-items:center;gap:6px;font-size:11px;display:flex}.private-badge svg{width:14px;height:14px;color:var(--success)}.drop-zone{border:1.5px dashed var(--border-input);background:var(--bg-upload);min-height:260px;transition:border-color var(--duration-base), background var(--duration-base), transform var(--duration-base) var(--ease-spring), box-shadow var(--duration-base);cursor:pointer;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;margin:19px 0 14px;display:flex}.drop-zone:hover{border-color:var(--accent-light);background:var(--bg-dropzone-hover);box-shadow:0 12px 32px var(--accent-lighter);transform:translateY(-2px)}.drop-zone.dragging{border-color:var(--accent);background:var(--bg-dropzone-drag);box-shadow:0 0 0 4px var(--accent-soft);animation:1.6s ease-out infinite pulseRing;transform:scale(1.015)}.upload-icon{width:50px;height:50px;color:var(--accent-light);background:var(--bg-icon-green);border-radius:15px;place-items:center;animation:3s ease-in-out infinite float;display:grid}.drop-zone.dragging .upload-icon{animation:bounce .6s var(--ease-spring)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.upload-icon svg{stroke-width:1.4px;width:26px;height:26px;transition:transform var(--duration-base) var(--ease-spring)}.drop-zone:hover .upload-icon svg{transform:translateY(-2px)}.drop-zone h2{color:var(--text-dropzone);animation:fadeInUp var(--duration-base) var(--ease-out-expo) .2s both;margin:17px 0 6px;font-size:15px;font-weight:500}.drop-zone h2 button{color:var(--text-dropzone-link);text-underline-offset:3px;transition:color var(--duration-fast), transform var(--duration-fast) var(--ease-spring);background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.drop-zone h2 button:hover{color:var(--accent-hover);transform:scale(1.05)}.drop-zone p{color:var(--text-secondary);animation:fadeInUp var(--duration-base) var(--ease-out-expo) .25s both;margin:0;font-size:11px}.upload-footnote{color:var(--text-muted);animation:fadeIn var(--duration-base) var(--ease-out-expo) .3s both;justify-content:center;align-items:center;gap:6px;font-size:10px;display:flex}.upload-footnote svg{width:13px;height:13px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.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}.conversion-card{padding:23px 27px 26px}.subtle-text{color:var(--text-muted);margin:9px 0 0 23px;font-size:11px}.count-pill{color:var(--success-text);background:var(--bg-dropzone-drag);animation:popIn var(--duration-base) var(--ease-spring);border-radius:5px;margin-left:4px;padding:4px 8px;font-size:10px;font-weight:500}.text-button{color:var(--text-secondary);transition:color var(--duration-fast), transform var(--duration-fast) var(--ease-spring);background:0 0;border:0;align-items:center;gap:6px;font-size:11px;display:flex}.text-button:hover{color:var(--error);transform:translate(-2px)}.text-button svg{width:14px;height:14px;transition:transform var(--duration-fast) var(--ease-spring)}.text-button:hover svg{transform:scale(1.15)rotate(8deg)}.file-list{border:1px solid var(--border-lighter);border-radius:9px;margin-top:18px;overflow:hidden}.file-row{border-bottom:1px solid var(--border-lighter);min-height:68px;transition:background var(--duration-fast), transform var(--duration-fast) var(--ease-out-expo);align-items:center;gap:13px;padding:9px 15px;display:flex;position:relative}.file-row:last-child{border-bottom:0}.file-row:hover{background:var(--bg-file-hover);transform:translate(2px)}.file-row-enter-active,.file-row-leave-active{transition:all var(--duration-base) var(--ease-out-expo)}.file-row-enter-from,.file-row-leave-to{opacity:0;transform:translateY(12px)scale(.98)}.file-row-move{transition:transform var(--duration-base) var(--ease-out-expo)}.file-thumb{background:var(--bg-thumb);width:49px;height:49px;transition:transform var(--duration-fast) var(--ease-spring);border-radius:7px;flex:none;position:relative;overflow:hidden}.file-row:hover .file-thumb{transform:scale(1.04)}.file-thumb img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-base) var(--ease-out-expo)}.file-row:hover .file-thumb img{transform:scale(1.08)}.file-thumb span{color:#fff;background:var(--thumb-overlay);border-radius:3px;padding:2px 3px;font-family:DM Mono,monospace;font-size:7px;position:absolute;bottom:3px;left:3px}.file-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.file-info strong{color:var(--text-file);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.file-info span{color:var(--text-file-meta);font-size:10px}.file-row:hover .file-info span{color:var(--text-file-meta)}.file-state{width:76px;color:var(--text-state);transition:color var(--duration-fast);align-items:center;gap:5px;font-size:10px;display:flex}.file-state.done{color:var(--success)}.file-state.error{color:var(--error)}.file-state svg{stroke-width:2.2px;width:14px;height:14px}.file-state.done svg{animation:drawCheck .5s var(--ease-out-expo) both}.state-dot,.error-mark{background:var(--text-muted);border-radius:50%;width:6px;height:6px;display:inline-block}.error-mark{color:#fff;background:var(--error-bg);width:15px;height:15px;animation:popIn var(--duration-base) var(--ease-spring);place-items:center;font-size:10px;font-weight:700;display:grid}.spinner{border:2px solid var(--border-lighter);border-top-color:var(--success);border-radius:50%;width:13px;height:13px;animation:.8s linear infinite spin;display:inline-block}.spinner.light{border-color:#fff #ffffff59 #ffffff59}@keyframes spin{to{transform:rotate(360deg)}}.row-download,.row-remove{width:28px;height:28px;transition:transform var(--duration-fast) var(--ease-spring), background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.row-download{color:var(--success);background:var(--bg-dropzone-drag)}.row-download:hover{background:var(--bg-download-hover);box-shadow:0 3px 8px var(--shadow-accent);transform:scale(1.12)translateY(-1px)}.row-remove{color:var(--text-muted)}.row-remove:hover{color:var(--error);background:var(--bg-remove-hover);transform:scale(1.12)rotate(90deg)}.row-download svg,.row-remove svg{width:16px;height:16px;transition:transform var(--duration-base) var(--ease-spring)}.row-download:hover svg{transform:translateY(1px)}.row-error{color:var(--error-text);animation:shake .4s var(--ease-smooth);font-size:9px;position:absolute;bottom:3px;right:54px}.add-more{color:var(--success);transition:color var(--duration-fast), transform var(--duration-fast) var(--ease-spring);background:0 0;border:0;align-items:center;gap:7px;margin:13px 0 0 4px;padding:0;font-size:11px;display:flex}.add-more:hover{color:var(--accent-hover);transform:translate(3px)}.add-more svg{width:15px;height:15px;transition:transform var(--duration-base) var(--ease-spring)}.add-more:hover svg{transform:rotate(90deg)}.divider{background:linear-gradient(90deg, transparent, var(--border-light) 20%, var(--border-light) 80%, transparent);background-size:200% 100%;height:1px;margin:22px 0 20px;animation:3s linear infinite shimmer}.settings-hint{color:var(--text-muted);animation:fadeIn var(--duration-base) var(--ease-out-expo) .4s both;font-size:10px}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.setting-field{color:var(--text-secondary);transition:transform var(--duration-fast) var(--ease-out-expo);flex-direction:column;gap:9px;font-size:11px;display:flex}.setting-field:hover{transform:translateY(-1px)}.setting-field b{float:right;color:var(--success);font-family:DM Mono,monospace;font-size:10px;font-weight:400}.select-wrap{position:relative}.select-wrap select{appearance:none;width:100%;height:40px;color:var(--text-primary);border:1px solid var(--border-input);background:var(--bg-input);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast) var(--ease-out-expo);border-radius:7px;outline:none;padding:0 36px 0 12px;font-size:12px}.select-wrap select:hover{border-color:var(--border-input-hover)}.select-wrap select:focus{border-color:var(--border-input-focus);box-shadow:0 0 0 3px var(--accent-soft);transform:translateY(-1px)}.select-wrap svg{width:15px;height:15px;color:var(--text-secondary);pointer-events:none;transition:transform var(--duration-fast) var(--ease-spring);position:absolute;top:12px;right:12px}.select-wrap:hover svg{transform:translateY(1px)}.quality-field input{width:100%;height:40px;accent-color:var(--accent);cursor:pointer}.quality-field input::-webkit-slider-runnable-track{background:var(--border-lighter);height:4px;transition:background var(--duration-fast);border-radius:4px}.quality-field input:hover::-webkit-slider-runnable-track{background:var(--border-card-hover)}.quality-field input::-webkit-slider-thumb{transition:transform var(--duration-fast) var(--ease-spring)}.quality-field input:active::-webkit-slider-thumb{transform:scale(1.2)}.notice{color:var(--notice);animation:slideInRight var(--duration-base) var(--ease-out-expo), shake .35s var(--ease-smooth) .25s;align-items:center;gap:6px;margin:15px 0 0;font-size:10px;display:flex}.notice svg{width:14px;height:14px}.action-row{align-items:center;gap:11px;margin-top:22px;display:flex}.convert-button,.download-all{border-radius:7px;justify-content:center;align-items:center;gap:8px;height:41px;font-size:12px;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden}.convert-button{color:#fff;background:var(--accent);min-width:170px;box-shadow:0 5px 12px var(--accent-shadow);transition:background var(--duration-fast), transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast);border:0}.convert-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 9px 18px var(--accent-shadow-hover);transform:translateY(-2px)}.convert-button:active:not(:disabled){transform:translateY(0)scale(.98)}.convert-button:after{content:"";background:radial-gradient(circle at var(--x,50%) var(--y,50%), #ffffff59 0%, transparent 60%);opacity:0;transition:opacity var(--duration-fast);position:absolute;inset:0}.convert-button:hover:after{opacity:1}.convert-button svg{fill:currentColor;stroke:none;width:16px;height:16px;transition:transform var(--duration-base) var(--ease-spring)}.convert-button:hover svg{transform:rotate(12deg)scale(1.1)}.download-all{color:var(--success);border:1px solid var(--border-button);background:var(--bg-dropzone-hover);transition:border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast);padding:0 15px}.download-all:hover{border-color:var(--border-button-hover);background:var(--bg-card-hover);box-shadow:0 6px 14px var(--shadow-accent);transform:translateY(-2px)}.download-all svg{width:16px;height:16px;transition:transform var(--duration-base) var(--ease-spring)}.download-all:hover svg{transform:translateY(2px)}.feature-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin:26px 0 51px;display:grid}.feature-card{border:1px solid var(--border-strong);background:var(--bg-card);min-height:96px;transition:transform var(--duration-base) var(--ease-out-expo), box-shadow var(--duration-base) var(--ease-out-expo), border-color var(--duration-fast), background var(--duration-fast);animation:fadeInUp var(--duration-slow) var(--ease-out-expo) both;cursor:default;border-radius:11px;align-items:flex-start;gap:14px;padding:20px 19px;display:flex}.feature-card:first-child{animation-delay:calc(var(--stagger-gap) * 3)}.feature-card:nth-child(2){animation-delay:calc(var(--stagger-gap) * 4)}.feature-card:nth-child(3){animation-delay:calc(var(--stagger-gap) * 5)}.feature-card:hover{border-color:var(--border-card-hover);background:var(--bg-card-hover);box-shadow:0 16px 40px var(--shadow-feature);transform:translateY(-4px)}.feature-icon{width:32px;height:32px;transition:transform var(--duration-base) var(--ease-spring), box-shadow var(--duration-base);border-radius:9px;flex:none;place-items:center;display:grid}.feature-card:hover .feature-icon{transform:scale(1.12)rotate(-4deg);box-shadow:0 6px 14px #00000040}.feature-icon svg{width:17px;height:17px;transition:transform var(--duration-base) var(--ease-spring)}.feature-card:hover .feature-icon svg{transform:scale(1.1)}.feature-icon.green{color:var(--success);background:var(--bg-feature-green)}.feature-icon.purple{color:var(--feature-purple);background:var(--bg-feature-purple)}.feature-icon.orange{color:var(--feature-orange);background:var(--bg-feature-orange)}.feature-card h3{color:var(--text-label);transition:color var(--duration-fast);margin:0 0 7px;font-size:12px;font-weight:600}.feature-card:hover h3{color:var(--text-button-hover)}.feature-card p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.7}footer{width:min(100% - 48px,1040px);min-height:67px;color:var(--text-muted);border-top:1px solid var(--border-light);animation:fadeInUp var(--duration-slow) var(--ease-out-expo) calc(var(--stagger-gap) * 6) both;align-items:center;gap:11px;margin:0 auto;font-size:10px;display:flex}.footer-dot{background:var(--text-muted);width:3px;height:3px;transition:transform var(--duration-fast) var(--ease-spring), background var(--duration-fast);border-radius:50%}footer:hover .footer-dot{background:var(--accent);transform:scale(1.5)}.footer-right{transition:color var(--duration-fast);margin-left:auto}footer:hover .footer-right{color:var(--text-nav-hover)}.editor-card{border:1px solid var(--border);background:var(--bg-editor);box-shadow:0 14px 38px var(--shadow-card);border-radius:15px;overflow:hidden}.editor-head{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:21px 24px 18px;display:flex}.editor-head-actions{align-items:center;gap:15px;display:flex}.editor-layout{grid-template-columns:164px minmax(0,1fr) 286px;min-height:520px;display:grid}.editor-sidebar{border-right:1px solid var(--border-light);background:var(--bg-input);padding:17px 12px}.editor-side-title{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 5px 12px;font-size:11px;font-weight:600;display:flex}.editor-side-title span{min-width:20px;color:var(--success-text);background:var(--bg-count);text-align:center;border-radius:4px;padding:3px 5px;font-family:DM Mono,monospace;font-size:9px}.editor-file{width:100%;color:var(--text-secondary);text-align:left;transition:transform var(--duration-fast) var(--ease-out-expo), background var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:5px;margin-bottom:9px;padding:6px;display:flex}.editor-file:hover{background:var(--bg-file-hover);transform:translate(3px)}.editor-file.selected{color:var(--text-file);border-color:var(--border-button-hover);background:var(--bg-selected);box-shadow:0 4px 10px var(--shadow-accent);transform:translate(4px)}.editor-file img{object-fit:cover;background:var(--bg-thumb);width:100%;height:82px;transition:transform var(--duration-base) var(--ease-out-expo);border-radius:5px}.editor-file:hover img{transform:scale(1.03)}.editor-file span{text-overflow:ellipsis;white-space:nowrap;transition:color var(--duration-fast);font-size:10px;overflow:hidden}.editor-file small{color:var(--text-file-meta);transition:color var(--duration-fast);font-size:9px}.editor-stage{background:var(--bg-editor-stage);flex-direction:column;min-width:0;padding:0 21px 18px;display:flex}.stage-toolbar{height:54px;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:10px;display:flex}.stage-toolbar span{align-items:center;gap:6px;display:flex}.stage-toolbar span svg{width:14px;height:14px;color:var(--success)}.stage-toolbar button{color:var(--text-secondary);transition:color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast) var(--ease-spring);background:0 0;border:0;border-radius:5px;padding:5px 8px;font-size:10px}.stage-toolbar button:hover{color:var(--success);background:var(--accent-lighter);transform:translateY(-1px)}.canvas-wrap{border:1px solid var(--border-input);background-color:var(--bg-editor-stage);background-image:linear-gradient(45deg, var(--border-lighter) 25%, transparent 25%), linear-gradient(-45deg, var(--border-lighter) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--border-lighter) 75%), linear-gradient(-45deg, transparent 75%, var(--border-lighter) 75%);min-height:390px;transition:box-shadow var(--duration-base);background-position:0 0,0 9px,9px -9px,-9px 0;background-size:18px 18px;border-radius:8px;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.canvas-wrap:hover{box-shadow:inset 0 0 0 1px var(--accent-soft)}.canvas-wrap canvas{max-width:100%;max-height:100%;box-shadow:0 8px 22px var(--shadow-canvas);transition:opacity var(--duration-base) var(--ease-smooth);display:block}.canvas-wrap canvas.is-hidden{opacity:0}.canvas-frame{max-width:100%;max-height:100%;display:flex;position:relative}.canvas-frame canvas{max-width:100%;max-height:100%}.crop-overlay{touch-action:none;position:absolute;inset:0}.crop-selection{border:1.5px solid var(--white);box-shadow:0 0 0 9999px var(--crop-overlay), 0 0 0 1px var(--crop-handle-border);cursor:move;touch-action:none;transition:box-shadow var(--duration-fast);position:absolute}.crop-selection:hover{box-shadow:0 0 0 9999px var(--crop-overlay-hover), 0 0 0 1px var(--crop-handle-border-hover)}.crop-selection:before,.crop-selection:after{content:"";pointer-events:none;position:absolute}.crop-selection:before{border-top:1px solid #ffffff59;border-bottom:1px solid #ffffff59;inset:33.333% 0}.crop-selection:after{border-left:1px solid #ffffff59;border-right:1px solid #ffffff59;inset:0 33.333%}.crop-handle{z-index:2;border:2px solid var(--white);background:var(--accent);width:10px;height:10px;box-shadow:0 1px 4px var(--shadow-canvas);touch-action:none;transition:transform var(--duration-fast) var(--ease-spring), background var(--duration-fast);border-radius:3px;position:absolute}.crop-handle:hover{background:var(--accent-hover);transform:scale(1.25)}.crop-handle.nw{cursor:nwse-resize;top:-5px;left:-5px}.crop-handle.n{cursor:ns-resize;top:-5px;left:calc(50% - 5px)}.crop-handle.ne{cursor:nesw-resize;top:-5px;right:-5px}.crop-handle.e{cursor:ew-resize;top:calc(50% - 5px);right:-5px}.crop-handle.sw{cursor:nesw-resize;bottom:-5px;left:-5px}.crop-handle.s{cursor:ns-resize;bottom:-5px;left:calc(50% - 5px)}.crop-handle.se{cursor:nwse-resize;bottom:-5px;right:-5px}.crop-handle.w{cursor:ew-resize;top:calc(50% - 5px);left:-5px}.editor-loading{z-index:1;color:var(--text-secondary);animation:fadeIn var(--duration-base) var(--ease-smooth);align-items:center;gap:8px;font-size:11px;display:flex;position:absolute}.stage-caption{color:var(--text-muted);justify-content:space-between;padding-top:12px;font-family:DM Mono,monospace;font-size:9px;display:flex}.editor-panel{border-left:1px solid var(--border-light);background:var(--bg-editor-panel)}.editor-tabs{border-bottom:1px solid var(--border-lighter);grid-template-columns:repeat(5,1fr);padding:10px 10px 0;display:grid}.editor-tabs button{min-width:0;color:var(--text-editor-tab);transition:color var(--duration-fast), transform var(--duration-fast) var(--ease-out-expo);background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:7px 2px 10px;font-size:9px;display:flex;position:relative}.editor-tabs button svg{width:16px;height:16px;transition:transform var(--duration-base) var(--ease-spring)}.editor-tabs button:hover{color:var(--text-editor-tab-hover);transform:translateY(-2px)}.editor-tabs button:hover svg{transform:scale(1.1)}.editor-tabs button.active{color:var(--success);font-weight:600}.editor-tabs button.active:after{content:"";background:var(--accent);height:2px;animation:tabSlide .3s var(--ease-out-expo);border-radius:3px;position:absolute;bottom:-1px;left:6px;right:6px}.repair-mode .editor-tabs{display:none}.repair-mode .editor-panel{border-top:0}.app-shell:not(.repair-mode) .editor-tabs{grid-template-columns:repeat(4,1fr)}.app-shell:not(.repair-mode) .editor-tabs button:last-child{display:none}@keyframes tabSlide{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.edit-controls{animation:fadeIn var(--duration-base) var(--ease-smooth);padding:22px 18px}.background-removal-panel{border-top:1px solid var(--border-light);background:var(--bg-editor-panel)}.opencv-filters-panel{border-top:1px solid var(--border-light);background:var(--bg-editor-panel);animation:fadeIn var(--duration-base) var(--ease-smooth);padding:22px 23px}.opencv-filters-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:19px;display:flex}.opencv-filters-heading h3{color:var(--text-label);margin:0 0 6px;font-size:13px;font-weight:600}.opencv-filters-heading p{max-width:720px;color:var(--text-file-meta);margin:0;font-size:10px;line-height:1.6}.opencv-filters-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px 14px;display:grid}.opencv-filters-grid .check-row{margin:8px 0}.opencv-filters-grid .range-control{margin:8px 0 0}.control-heading{margin-bottom:21px}.control-heading h3{color:var(--text-label);margin:0 0 6px;font-size:13px;font-weight:600}.control-heading span{color:var(--text-file-meta);font-size:10px}.ratio-list,.quick-size{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:20px;display:grid}.ratio-list button,.quick-size button{height:29px;color:var(--text-secondary);border:1px solid var(--border-input);background:var(--bg-input);transition:color var(--duration-fast), border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast);border-radius:5px;font-size:9px}.ratio-list button:hover,.quick-size button:hover{color:var(--success);border-color:var(--border-button-hover);background:var(--bg-selected);box-shadow:0 3px 8px var(--shadow-accent);transform:translateY(-1px)}.ratio-list button:active,.quick-size button:active{transform:scale(.96)}.input-grid{grid-template-columns:1fr 1fr;gap:13px 9px;display:grid}.input-grid label{color:var(--text-secondary);flex-direction:column;gap:7px;font-size:10px;display:flex;position:relative}.input-grid input{width:100%;height:34px;color:var(--text-file);border:1px solid var(--border-input);background:var(--bg-input);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast) var(--ease-out-expo);border-radius:5px;outline:none;padding:0 8px;font-family:DM Mono,monospace;font-size:10px}.input-grid input:hover{border-color:var(--border-input-hover)}.input-grid input:focus{border-color:var(--border-input-focus);box-shadow:0 0 0 2px var(--accent-lighter);transform:translateY(-1px)}.input-grid small{color:var(--text-muted);font-size:8px;position:absolute;bottom:10px;right:8px}.control-tip{color:var(--text-muted);margin:18px 0 0;font-size:9px;line-height:1.6}.repair-actions{gap:8px;margin-top:20px;display:flex}.repair-actions button{height:32px;color:var(--text-secondary);border:1px solid var(--border-input);background:var(--bg-dropzone-hover);transition:color var(--duration-fast), border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast) var(--ease-spring);border-radius:5px;flex:1;font-size:10px}.repair-actions button:hover{color:var(--accent-hover);border-color:var(--border-button-hover);background:var(--bg-dropzone-drag);transform:translateY(-1px)}.repair-start-bar{border-top:1px solid var(--border-lighter);background:var(--bg-editor-panel);align-items:center;gap:10px;padding:13px 18px;display:flex}.repair-start-bar>span{color:var(--text-muted);font-size:10px}.repair-start-button{min-width:132px;height:34px;color:var(--white);background:var(--accent);box-shadow:0 5px 14px var(--accent-soft);transition:transform var(--duration-fast) var(--ease-spring), background var(--duration-fast), box-shadow var(--duration-fast);border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:600;display:inline-flex}.repair-start-button:hover:not(:disabled){background:var(--accent-light);box-shadow:0 7px 18px var(--accent-soft);transform:translateY(-1px)}.repair-start-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.check-row{color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast);align-items:center;gap:8px;margin:19px 0;font-size:10px;display:flex}.check-row:hover{color:var(--text-nav-hover)}.check-row input{opacity:0;position:absolute}.custom-check{border:1px solid var(--border-input);background:var(--white);width:15px;height:15px;transition:border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast);border-radius:4px;display:inline-block}.check-row:hover .custom-check{border-color:var(--border-input-hover);transform:scale(1.08)}.check-row input:checked+.custom-check{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--white);animation:popIn .25s var(--ease-spring)}.range-control{color:var(--text-secondary);margin-bottom:21px;font-size:10px;display:block}.range-control span{justify-content:space-between;margin-bottom:9px;display:flex}.range-control b{color:var(--success);transition:color var(--duration-fast), transform var(--duration-fast) var(--ease-spring);font-family:DM Mono,monospace;font-size:9px;font-weight:400}.range-control:hover span b,.range-control:focus-within span b{color:var(--accent-hover);transform:scale(1.1)}.range-control input,.editor-export input{width:100%;height:4px;accent-color:var(--accent);cursor:pointer;transition:opacity var(--duration-fast)}.range-control input:hover,.editor-export input:hover{opacity:.85}.transform-buttons{grid-template-columns:1fr 1fr;gap:9px;display:grid}.transform-buttons button{min-height:67px;color:var(--text-secondary);border:1px solid var(--border-input);background:var(--bg-input);transition:color var(--duration-fast), border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:9px;display:flex}.transform-buttons button svg{width:18px;height:18px;transition:transform var(--duration-base) var(--ease-spring)}.transform-buttons button:hover{color:var(--success);border-color:var(--border-button-hover);background:var(--bg-selected);box-shadow:0 5px 12px var(--shadow-accent);transform:translateY(-2px)}.transform-buttons button:hover svg{transform:scale(1.12)rotate(-6deg)}.transform-buttons button.selected{color:var(--success);border-color:var(--border-button-hover);background:var(--bg-selected);box-shadow:inset 0 0 0 1px var(--accent-soft);animation:popIn .3s var(--ease-spring)}.transform-buttons button:active{transform:scale(.97)}.angle-readout{color:var(--text-muted);justify-content:space-between;margin-top:19px;padding-top:15px;font-size:10px;display:flex}.angle-readout strong{color:var(--success);transition:color var(--duration-fast), transform var(--duration-fast) var(--ease-spring);font-family:DM Mono,monospace;font-weight:500}.angle-readout strong.changed{animation:popIn .25s var(--ease-spring)}.editor-footer{border-top:1px solid var(--border-light);background:var(--bg-editor-footer);align-items:center;gap:19px;min-height:73px;padding:15px 23px;display:flex}.opencv-badge{color:var(--text-secondary);white-space:nowrap;flex:none;align-items:center;gap:6px;font-family:DM Mono,monospace;font-size:9px;display:inline-flex}.opencv-badge i{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 3px var(--bg-icon-green);border-radius:50%;animation:2s ease-in-out infinite pulseDot;display:inline-block}.editor-export{color:var(--text-secondary);flex:1;align-items:center;gap:9px;font-size:10px;display:flex}.editor-export select{height:30px;color:var(--text-file);border:1px solid var(--border-input);background:var(--white);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast) var(--ease-out-expo);border-radius:5px;outline:none;padding:0 7px;font-size:10px}.editor-export select:hover{border-color:var(--border-button-hover)}.editor-export select:focus{border-color:var(--border-input-focus);box-shadow:0 0 0 2px var(--accent-lighter);transform:translateY(-1px)}.editor-export input{max-width:90px;margin-left:5px}.editor-export b{min-width:30px;color:var(--success);font-family:DM Mono,monospace;font-size:9px;font-weight:400}.editor-notice{color:var(--success);animation:slideInRight var(--duration-base) var(--ease-out-expo);margin:0;font-size:9px}.editor-footer .convert-button{min-width:164px}@media (width<=700px){.topbar{gap:0;height:62px;padding:0 16px}.nav-links{display:none}.menu-toggle{margin-left:auto;display:inline-flex}.mobile-nav.open,.mobile-nav-overlay.open{opacity:1;pointer-events:auto;display:flex;transform:translateY(0)scale(1)}.header-actions{gap:8px}.header-actions .theme-toggle span{display:none}.header-button{padding:8px 12px;font-size:12px}main{width:min(100% - 28px,1040px)}.hero{padding:44px 5px 27px}.hero h1{font-size:clamp(22px,6.5vw,34px)}.hero p{font-size:13px}.mobile-break{display:block}.upload-card,.conversion-card{padding-left:16px;padding-right:16px}.private-badge,.settings-hint{display:none}.drop-zone{min-height:220px}.drop-zone h2{font-size:13px}.drop-zone p{text-align:center;max-width:240px;line-height:1.6}.file-row{gap:9px;padding:10px 9px}.file-thumb{width:44px;height:44px}.file-info strong{font-size:12px}.file-info span{font-size:10px}.file-state{width:auto;font-size:9px}.row-error{white-space:nowrap;text-overflow:ellipsis;max-width:150px;right:45px;overflow:hidden}.settings-grid{grid-template-columns:1fr;gap:14px}.action-row{flex-wrap:wrap}.convert-button{flex:1}.feature-grid{grid-template-columns:1fr;margin-bottom:28px}footer{flex-wrap:wrap;width:min(100% - 28px,1040px);padding:17px 0}.footer-right{width:100%;margin:0}}@media (width<=900px){.editor-layout{grid-template-columns:125px minmax(0,1fr)}.editor-panel{border-top:1px solid var(--border-light);border-left:0;grid-column:1/-1}.editor-tabs{grid-template-columns:repeat(5,minmax(68px,1fr))}.app-shell:not(.repair-mode) .editor-tabs{grid-template-columns:repeat(4,minmax(80px,1fr))}.edit-controls,.opencv-filters-panel{padding:20px 24px}.opencv-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.editor-card{border-radius:18px;margin:0 -1px}.editor-head{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 14px}.editor-head-actions{justify-content:flex-end;gap:8px;width:100%}.editor-head-actions .text-button{padding:7px 9px;font-size:10px}.editor-layout{min-height:0;display:block}.editor-sidebar{border-right:0;border-bottom:1px solid var(--border-light);-webkit-overflow-scrolling:touch;gap:7px;padding:10px 12px;display:flex;overflow-x:auto}.editor-side-title{min-width:45px;padding:11px 3px 0;line-height:1.6;display:block}.editor-side-title span{width:fit-content;display:block}.editor-file{flex:none;width:72px;margin:0;padding:5px}.editor-file img{height:50px}.editor-file span,.editor-file small{font-size:8px}.editor-stage{min-height:300px;padding:0 10px 12px}.canvas-wrap{min-height:240px}.editor-tabs{padding:8px 6px 0}.editor-tabs button{padding:8px 2px 11px;font-size:10px}.editor-tabs button svg{width:18px;height:18px}.edit-controls,.opencv-filters-panel{padding:18px 14px}.opencv-filters-heading{flex-direction:column;gap:10px}.opencv-filters-grid{grid-template-columns:1fr;gap:14px}.ratio-list,.quick-size{grid-template-columns:repeat(2,1fr)}.ratio-list button,.quick-size button{height:36px;font-size:11px}.input-grid input{height:38px;font-size:12px}.range-control input,.editor-export input{height:6px}.transform-buttons button{min-height:72px;font-size:11px}.repair-actions{flex-direction:column}.repair-start-bar{flex-direction:column;align-items:stretch;gap:8px}.repair-start-button{width:100%;min-width:0;height:40px}.editor-footer{flex-direction:column;align-items:stretch;gap:12px;padding:15px}.editor-export{flex-wrap:wrap;gap:10px}.editor-export input{flex:1;max-width:none}.editor-footer .convert-button{width:100%;min-width:0;height:42px}.editor-notice{order:3}}.workspace-enter-active,.workspace-leave-active{transition:opacity var(--duration-base) var(--ease-smooth), transform var(--duration-base) var(--ease-out-expo)}.workspace-enter-from{opacity:0;transform:translateY(14px)scale(.99)}.workspace-leave-to{opacity:0;transform:translateY(-10px)scale(.99)}.edit-panel-enter-active,.edit-panel-leave-active{transition:opacity var(--duration-fast) var(--ease-smooth), transform var(--duration-fast) var(--ease-out-expo)}.edit-panel-enter-from{opacity:0;transform:translate(10px)}.edit-panel-leave-to{opacity:0;transform:translate(-10px)}.skip-link{z-index:20;color:var(--white);background:var(--text-primary);box-shadow:0 4px 14px var(--shadow-color);border-radius:7px;padding:10px 14px;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}:where(button,a,input,select,[tabindex]):focus-visible{outline:3px solid var(--border-input-focus);outline-offset:3px}.drop-zone:focus-visible{border-color:var(--border-input-focus);box-shadow:0 0 0 4px var(--accent-soft);outline:3px solid var(--border-input-focus);outline-offset:3px}.visually-hidden:focus-visible{color:var(--text-primary);background:var(--white);inset:0 auto auto 0;clip:auto!important;width:auto!important;height:auto!important;margin:0!important;padding:8px!important;position:fixed!important;overflow:visible!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.skip-link:focus,:where(button,a,input,select,[tabindex]):focus-visible{outline-offset:3px;outline:2px solid highlight}}.blog-page{width:min(1180px,100% - 64px);margin:0 auto;padding:48px 0 92px}.blog-intro{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:56px;padding:34px 0 62px;display:grid}.blog-intro h1{max-width:680px;color:var(--text-title);letter-spacing:-.045em;margin:16px 0 18px;font-size:clamp(38px,5vw,68px);line-height:1.08}.blog-intro p{max-width:640px;color:var(--text-secondary);margin:0;font-size:17px;line-height:1.9}.blog-intro img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);width:100%;box-shadow:0 18px 44px var(--shadow-card);border-radius:22px}.blog-section-heading{color:var(--text-title);justify-content:space-between;align-items:center;margin-bottom:18px;font-size:19px;font-weight:700;display:flex}.blog-section-heading small{color:var(--text-muted);font-family:DM Mono,monospace;font-size:12px;font-weight:400}.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.blog-card{border:1px solid var(--border);background:var(--bg-card);min-height:286px;box-shadow:0 8px 24px var(--shadow-color);transition:transform var(--duration-base) var(--ease-out-expo), border-color var(--duration-base), box-shadow var(--duration-base);border-radius:18px;flex-direction:column;padding:24px;display:flex}.blog-card:hover{border-color:var(--border-card-hover);box-shadow:0 16px 34px var(--shadow-card);transform:translateY(-4px)}.blog-card-meta{color:var(--text-muted);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:10px;font-family:DM Mono,monospace;font-size:11px;display:flex}.blog-card-meta span:first-child{color:var(--accent-hover)}.blog-card h2{color:var(--text-title);letter-spacing:-.02em;margin:22px 0 12px;font-size:20px;line-height:1.45}.blog-card h2 a{color:inherit;text-decoration:none}.blog-card h2 a:hover{color:var(--accent-hover)}.blog-card>p{color:var(--text-secondary);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.75;display:-webkit-box;overflow:hidden}.blog-card-foot{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:22px;font-family:DM Mono,monospace;font-size:11px;display:flex}.blog-card-foot a,.article-aside-card a,.article-cta a{color:var(--accent-hover);font-weight:600;text-decoration:none}.blog-card-foot a:hover,.article-aside-card a:hover,.article-cta a:hover{color:var(--text-primary)}.article-page{max-width:1080px;margin:0 auto}.article-back{color:var(--text-secondary);margin-bottom:34px;font-size:14px;text-decoration:none;display:inline-block}.article-back:hover{color:var(--accent-hover)}.article-header{max-width:880px;padding-bottom:48px}.article-header h1{color:var(--text-title);letter-spacing:-.045em;margin:20px 0 18px;font-size:clamp(36px,5vw,62px);line-height:1.14}.article-header p{max-width:780px;color:var(--text-secondary);margin:0;font-size:17px;line-height:1.9}.article-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:72px;display:grid}.article-content{min-width:0}.article-intro{border-left:3px solid var(--accent);background:var(--accent-lighter);color:var(--text-primary);border-radius:0 12px 12px 0;margin:0 0 42px;padding:22px 24px;font-size:17px;line-height:1.95}.article-section{margin-bottom:42px}.article-section h2,.article-takeaways h2{color:var(--text-title);letter-spacing:-.025em;margin:0 0 16px;font-size:25px;line-height:1.35}.article-section p{color:var(--text-primary);margin:0 0 16px;font-size:16px;line-height:2}.article-section ul,.article-takeaways ul{color:var(--text-primary);margin:16px 0 0;padding-left:22px}.article-section li,.article-takeaways li{margin:9px 0;padding-left:4px;line-height:1.8}.article-section li::marker{color:var(--accent-hover)}.article-takeaways li::marker{color:var(--accent-hover)}.article-section pre{border:1px solid var(--border);background:var(--bg-editor-stage);color:var(--text-primary);border-radius:12px;margin:22px 0 0;padding:22px 20px;position:relative;overflow:auto}.article-section pre code{white-space:pre;font-family:DM Mono,monospace;font-size:12px;line-height:1.8}.article-section pre small{color:var(--text-muted);text-transform:uppercase;font-family:DM Mono,monospace;font-size:10px;position:absolute;top:9px;right:13px}.article-takeaways{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;margin-top:50px;padding:24px}.article-aside{position:sticky;top:28px}.article-aside-card,.article-cta{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;padding:20px}.article-aside-card h2{color:var(--text-title);margin:0 0 14px;font-size:15px}.article-aside-card a{border-top:1px solid var(--border-light);justify-content:space-between;gap:12px;padding:11px 0;font-size:13px;display:flex}.article-cta{background:var(--accent-lighter);margin-top:14px}.article-cta strong{color:var(--text-title);font-size:15px;line-height:1.5;display:block}.article-cta p{color:var(--text-secondary);margin:8px 0 16px;font-size:13px;line-height:1.7}.article-cta a{font-size:13px}.seo-content{width:min(1180px,100% - 64px);margin:0 auto;padding:18px 0 72px}.seo-content-intro{max-width:760px;margin-bottom:24px}.seo-content-intro h2{color:var(--text-title);letter-spacing:-.03em;margin:14px 0 10px;font-size:clamp(25px,3vw,34px);line-height:1.3}.seo-content-intro p{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.85}.seo-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:34px;display:grid}.seo-facts article{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;gap:12px;min-height:96px;padding:17px;display:flex}.seo-facts p{color:var(--text-primary);margin:0;font-size:13px;line-height:1.75}.seo-fact-marker{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;flex:0 0 7px;margin-top:7px}.faq-list{border-top:1px solid var(--border);max-width:900px}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{color:var(--text-title);cursor:pointer;justify-content:space-between;gap:16px;padding:17px 2px;font-size:14px;font-weight:600;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--accent-hover);transition:transform var(--duration-fast);font-size:20px;font-weight:400;line-height:1}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:820px;color:var(--text-secondary);margin:-4px 32px 18px 2px;font-size:14px;line-height:1.8}@media (width<=900px){.blog-page{width:min(100% - 40px,720px)}.blog-intro{grid-template-columns:1fr;gap:28px}.blog-intro img{width:min(360px,100%)}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr;gap:34px}.article-aside{grid-template-columns:1fr 1fr;gap:14px;display:grid;position:static}.article-cta{margin-top:0}.seo-content{width:min(100% - 40px,720px)}.seo-facts{grid-template-columns:1fr}}@media (width<=580px){.blog-page{width:calc(100% - 32px);padding-top:26px}.blog-intro{padding-bottom:42px}.blog-intro h1{font-size:42px}.blog-intro p,.article-header p{font-size:15px}.blog-grid{grid-template-columns:1fr}.blog-card{min-height:250px}.article-header h1{font-size:36px}.article-section h2,.article-takeaways h2{font-size:22px}.article-section p,.article-intro{font-size:15px;line-height:1.85}.article-aside{grid-template-columns:1fr}.seo-content{width:calc(100% - 32px);padding-bottom:50px}}
