:root{--bg:#eef3f1;--bg-accent:#d9ebe3;--ink:#15241f;--muted:#4f625a;--card:#f7fbf9;--surface:#fff;--line:#c9d8d1;--brand:#0f6b4c;--brand-ink:#f2fff8;--danger:#a33b2d;--ok:#0f6b4c;--radius:14px;--shadow:0 12px 28px #0f241c14;--font:"Source Sans 3", "Segoe UI", sans-serif;--display:Manrope, "Source Sans 3", sans-serif;--hover:#e8eee9;--selected:#eef7f2;--selected-strong:#e5f3eb;--link-hover:#155339;--dropzone-bg:#fffdf880;--dropzone-panel:linear-gradient(180deg, #f7fbf8, #eef5f0);--thumb-empty:#f3f6f4;--thumb-empty-ink:#b0beb6;--checker-a:#eceff1;--checker-b:#d5d9de;--notice-bg:#fff8f0;--notice-panel:linear-gradient(180deg, #fffaf4, #f7f1ea);--notice-border:#e2c4a8;--notice-ink:#6a4a2a;--overlay:#0c18148c;--bg-spot-1:#cfe8dc;--bg-spot-2:#d5e4ef;--bg-top:#f4f8f6;--bg-bottom:#e7efeb;--on-dark:#fff;color-scheme:light}html[data-theme=dark]{--bg:#121a17;--bg-accent:#1c2f28;--ink:#e7f0eb;--muted:#9aafa4;--card:#1a2420;--surface:#1e2a25;--line:#314239;--brand:#3dba85;--brand-ink:#062218;--danger:#e08a7c;--ok:#3dba85;--shadow:0 12px 28px #0006;--hover:#26352e;--selected:#1f3a2e;--selected-strong:#244536;--link-hover:#6fd4a8;--dropzone-bg:#14201ca6;--dropzone-panel:linear-gradient(180deg, #1c2924, #17221e);--thumb-empty:#24332c;--thumb-empty-ink:#7f958a;--checker-a:#2a3832;--checker-b:#22302a;--notice-bg:#2a241c;--notice-panel:linear-gradient(180deg, #2e281f, #241f19);--notice-border:#6b5640;--notice-ink:#e0c4a0;--overlay:#040a08b8;--bg-spot-1:#1a3329;--bg-spot-2:#1a2835;--bg-top:#141c19;--bg-bottom:#101714;--on-dark:#fff;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font);color:var(--ink);background:radial-gradient(1100px 520px at 8% -12%, var(--bg-spot-1) 0%, transparent 55%), radial-gradient(900px 420px at 100% 0%, var(--bg-spot-2) 0%, transparent 48%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg) 40%, var(--bg-bottom) 100%);margin:0;padding:0}a{color:var(--brand);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--link-hover)}.wrap{width:min(960px,100% - 2rem);margin:0 auto}.site-header,.site-footer{justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;display:flex}.site-header{border-bottom:1px solid var(--line);margin-bottom:1.5rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;align-items:flex-start;margin-top:3rem;padding:1.5rem 0 2.5rem;font-size:.95rem}.brand{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-size:1.45rem;font-weight:800;text-decoration:none}.nav{align-items:center;gap:1rem;display:flex}.auth-bar{align-items:center;gap:.55rem;display:inline-flex}.auth-bar--skeleton{width:2.25rem;height:2.25rem}.auth-bar__user{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.9rem;font-weight:600;overflow:hidden}.auth-bar__btn{appearance:none;color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.auth-bar__btn--link{text-decoration:none}.auth-bar__btn--link:hover,.auth-bar__btn:hover{color:var(--link-hover)}.auth-callback{justify-items:start;gap:1rem;display:grid}.nav a{color:var(--muted);font-weight:600;text-decoration:none}.nav a:hover,.lang-switch{color:var(--brand)}.nav-icon-link{width:2.25rem;height:2.25rem;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.nav-icon-link:hover{color:var(--brand);background:var(--hover)}.feedback-rail{z-index:40;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);width:3.25rem;box-shadow:0 10px 28px color-mix(in srgb, var(--ink) 12%, transparent);backdrop-filter:blur(10px);border-radius:14px;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .4rem;display:flex;position:fixed;top:50%;right:1rem;transform:translateY(-50%)}.feedback-rail__label{writing-mode:vertical-rl;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.7rem;font-weight:600;line-height:1.2;transform:rotate(180deg)}.feedback-rail__stars{flex-direction:column;align-items:center;gap:.1rem;display:flex}.feedback-rail__star{color:color-mix(in srgb, #f59e0b 55%, var(--line));font-size:1.15rem;line-height:1;text-decoration:none;transition:color .15s,transform .15s}.feedback-rail__star:hover{color:#f59e0b;transform:scale(1.12)}.feedback-rail__link{width:2rem;height:2rem;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;margin-top:.15rem;transition:color .15s,background .15s;display:inline-flex}.feedback-rail__link:hover{color:var(--brand);background:var(--hover)}.hero{padding:1rem 0 2rem}.hero h1{font-family:var(--display);letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.hero p{max-width:40rem;color:var(--muted);margin:0;font-size:1.05rem}.privacy-badge{background:var(--bg-accent);color:var(--brand);border-radius:999px;margin-top:1rem;padding:.35rem .7rem;font-size:.85rem;font-weight:700;display:inline-flex}button.privacy-badge-btn{font:inherit;cursor:pointer;border:1px solid #0000;margin-top:0;font-size:.85rem;font-weight:700;transition:border-color .15s,background .15s;animation:.28s ease-out both badge-in}@keyframes badge-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}button.privacy-badge-btn:hover{border-color:color-mix(in srgb, var(--brand) 35%, var(--line))}button.privacy-badge-btn[aria-pressed=true]{border-color:var(--brand);background:var(--selected)}.hero-badges{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:1rem;display:flex}.hero-badges .privacy-badge{margin-top:0}.hero-example-slot:empty{display:none}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0 2rem;display:grid}.tool-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;padding:1.2rem;text-decoration:none;transition:transform .15s,border-color .15s;display:block}.tool-card:hover{border-color:color-mix(in srgb, var(--brand) 35%, var(--line));transform:translateY(-2px)}.tool-card h2{margin:0 0 .4rem;font-size:1.15rem}.tool-card p{color:var(--muted);margin:0;font-size:.95rem}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.muted{color:var(--muted)}.ad-slot{border:1px dashed var(--line);border-radius:var(--radius);min-height:90px;color:var(--muted);background:var(--dropzone-bg);place-items:center;margin:1.25rem 0;font-size:.85rem;display:grid;overflow:hidden}.ad-slot--live{background:0 0;border-style:solid;border-color:#0000;place-items:stretch stretch}.ad-slot--live .adsbygoogle{width:100%;min-height:90px;display:block}.tool-app{gap:1rem;display:grid}.tool-limit{color:var(--muted);margin:0;font-size:.92rem}.tool-options{flex-wrap:wrap;gap:1rem 1.5rem;display:flex}.tool-options label{gap:.35rem;font-size:.92rem;font-weight:600;display:grid}.tool-options select,.tool-options input[type=range]{width:min(220px,100%)}.dropzone{border:2px dashed color-mix(in srgb, var(--brand) 28%, var(--line));border-radius:var(--radius);background:var(--dropzone-panel);text-align:center;place-items:center;gap:.45rem;padding:2rem 1.25rem;display:grid}.dropzone.is-over{border-color:var(--brand);background:var(--selected-strong)}.dropzone-title{letter-spacing:.01em;margin:0;font-size:1.12rem;font-weight:700}.dropzone-or{color:var(--muted);text-transform:uppercase;font-size:.85em;font-weight:600}.dropzone-paste{appearance:none;font:inherit;color:var(--brand);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-weight:800;text-decoration:underline}.dropzone-paste:hover{color:var(--ink)}.dropzone-paste:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:2px}.dropzone-hint{color:var(--muted);font-size:.92rem}.dropzone-limit{color:var(--muted);margin-top:.15rem;font-size:.85rem}.btn{appearance:none;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:.7rem 1rem;font-weight:700}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--brand-ink)}.btn-secondary{background:var(--hover);color:var(--ink)}.btn-ghost{color:var(--muted);background:0 0}.file-btn{margin-top:.6rem;display:inline-block}.file-btn-lg{margin-top:0;margin-bottom:.35rem;padding:.95rem 1.55rem;font-size:1.05rem}.file-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.file-row{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;grid-template-columns:7.2rem minmax(0,1fr) auto;align-items:center;gap:.75rem 1rem;padding:.8rem .9rem;transition:border-color .15s,background .15s,box-shadow .15s;animation:.32s ease-out both file-row-in;display:grid}@keyframes file-row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.file-row.no-thumbs{grid-template-columns:minmax(0,1fr) auto}.file-row.is-selected{border-color:var(--brand);background:var(--selected);box-shadow:inset 3px 0 0 var(--brand)}.file-row.is-selected.is-drop-target{background:var(--selected-strong)}.file-thumbs{flex-shrink:0;align-items:center;gap:.4rem;width:7.2rem;min-height:52px;display:flex}.tool-heavy-hint{margin-top:-.25rem}.tool-options-hint{max-width:42rem;margin:-.15rem 0 0;font-size:.9rem;line-height:1.35}.text-result-panel{gap:.65rem;margin-top:.85rem;display:grid}.text-result-area{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;min-height:12rem;color:var(--ink);font:inherit;border-radius:12px;padding:.85rem 1rem;line-height:1.45}.text-result-actions{flex-wrap:wrap;gap:.45rem;display:flex}.size-grew-hint{color:var(--notice-ink);font-weight:600}.tool-example{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:.45rem;padding:.75rem .85rem;animation:.3s ease-out both tool-example-in;display:grid}@keyframes tool-example-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tool-example-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;font-size:.92rem;display:flex}.tool-example-toggle{cursor:zoom-in;text-align:left;background:0 0;border:0;border-radius:10px;width:100%;margin:0;padding:0;display:block}.tool-example.is-expanded .tool-example-toggle{cursor:zoom-out}.tool-example-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.tool-example-compare{pointer-events:none}.tool-example:not(.is-expanded) .tool-example-compare .preview-frame-media{min-height:88px;max-height:110px}.tool-example:not(.is-expanded) .tool-example-compare .preview-frame-media img{max-height:110px}.tool-example.is-expanded .tool-example-compare .preview-frame-media{min-height:220px;max-height:420px}.tool-example.is-expanded .tool-example-compare .preview-frame-media img{max-height:420px}.tool-example--shrink-after .tool-example-compare .preview-frame:last-child .preview-frame-media{background:var(--thumb-empty);place-items:center;display:grid}.tool-example--shrink-after .tool-example-compare .preview-frame:last-child .preview-frame-media img{object-fit:contain;width:42%;height:auto;max-height:42%}.tool-example--shrink-after.is-expanded .tool-example-compare .preview-frame:last-child .preview-frame-media img{width:38%;max-height:min(28vh,220px)}.preview-checker{background-color:var(--checker-a);background-image:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-b) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-b) 75%);background-position:0 0,0 7px,7px -7px,-7px 0;background-size:14px 14px}.preview-thumb-btn{cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0}.preview-thumb-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.preview-thumb-frame{border:1px solid var(--line);border-radius:8px;width:52px;height:52px;display:block;position:relative;overflow:hidden}.preview-thumb-frame.is-result{box-shadow:inset 0 0 0 2px var(--brand)}.preview-thumb-frame img,.preview-thumb-frame video{object-fit:cover;width:100%;height:100%;display:block}.preview-frame-media video{background:#000;width:100%;max-height:min(70vh,28rem);display:block}.preview-thumb-placeholder{background:var(--thumb-empty);color:var(--thumb-empty-ink);border-style:dashed;justify-content:center;align-items:center;display:inline-flex}.preview-thumb-dot{opacity:.75;background:currentColor;border-radius:50%;width:.45rem;height:.45rem}.preview-thumb-loupe{width:1.15rem;height:1.15rem;color:var(--on-dark);pointer-events:none;background:#0c1814b8;border-radius:999px;place-items:center;display:grid;position:absolute;bottom:3px;right:3px}.preview-thumb-loupe svg{display:block}.preview-compare{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.85rem;display:grid}.preview-frame{grid-template-rows:auto 1fr;gap:.4rem;min-width:0;height:100%;margin:0;display:grid}.preview-frame figcaption{color:var(--muted);font-size:.85rem;font-weight:700}.preview-frame-media{border:1px solid var(--line);background:var(--surface);box-sizing:border-box;border-radius:12px;place-items:center;height:100%;min-height:280px;max-height:420px;display:grid;position:relative;overflow:hidden}.preview-frame-media img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:420px;display:block}.preview-frame-actions{opacity:0;pointer-events:none;z-index:2;gap:.35rem;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:.55rem;right:.55rem;transform:translateY(-4px)}.preview-frame-media:hover .preview-frame-actions,.preview-frame-media:focus-within .preview-frame-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.preview-frame-action{width:2.05rem;height:2.05rem;color:var(--on-dark);cursor:pointer;background:#15241fc7;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 4px 14px #0f241c33}.preview-frame-action:hover{background:var(--brand)}.preview-frame-action.is-muted{opacity:.45}.preview-frame-action.is-muted:hover{opacity:.7}.preview-side{gap:.65rem;min-width:0;display:grid}.preview-side-actions{flex-wrap:wrap;gap:.45rem;display:flex}.btn.is-downloaded,.btn-icon.is-downloaded{opacity:.45}.btn.is-downloaded:hover,.btn.is-downloaded:focus-visible,.btn-icon.is-downloaded:hover,.btn-icon.is-downloaded:focus-visible{opacity:1}.btn-download-labels{place-items:center;display:inline-grid}.btn-download-labels>*{white-space:nowrap;grid-area:1/1}.btn-download-labels .btn-label-alt,.btn.is-downloaded:hover .btn-label-idle,.btn.is-downloaded:focus-visible .btn-label-idle{visibility:hidden}.btn.is-downloaded:hover .btn-label-alt,.btn.is-downloaded:focus-visible .btn-label-alt{visibility:visible}.preview-frame-action:focus-visible{outline:2px solid var(--on-dark);outline-offset:2px}@media (hover:none){.preview-frame-actions{opacity:1;pointer-events:auto;transform:none}}.preview-frame-placeholder .preview-frame-media{color:var(--muted);font-size:.95rem}.preview-lightbox .preview-compare{align-items:stretch}.preview-lightbox .preview-side{flex-direction:column;gap:.65rem;min-height:0;display:flex}.preview-lightbox .preview-side>.preview-frame{flex:auto;height:auto;min-height:0}.preview-lightbox .preview-side>.preview-frame .preview-frame-media{box-sizing:border-box;height:100%;min-height:0;max-height:none}.preview-lightbox .preview-side-actions{margin-top:auto}.preview-lightbox .preview-frame-placeholder .preview-frame-media{box-sizing:border-box;min-height:0}.preview-empty-dot{color:var(--muted);user-select:none;font-size:1.35rem;line-height:1}.preview-frame-waiting{color:var(--brand);position:relative}.preview-frame-waiting .wait-anim{width:min(70%,200px);height:min(45%,140px)}.preview-waiting-inner{text-align:center;place-items:center;gap:.7rem;padding:1rem;display:grid}.preview-waiting-label{color:var(--muted);font-size:.92rem;font-weight:600}.file-status-wait{align-items:center;gap:.4rem;min-height:1.35rem;display:inline-flex}.file-status-time{font-variant-numeric:tabular-nums;white-space:nowrap}.batch-elapsed{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;display:inline-flex}.preview-lightbox{z-index:80;background:var(--overlay);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.preview-lightbox-card{background:var(--surface);border:1px solid var(--line);width:min(960px,100%);max-height:min(90vh,900px);box-shadow:var(--shadow);border-radius:14px;gap:.85rem;padding:1rem;display:grid;overflow:auto}.preview-lightbox-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.preview-lightbox-actions{justify-content:flex-end;display:flex}.confirm-card{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:14px;gap:.85rem;padding:1.1rem 1.15rem;display:grid}.confirm-text{margin:0;font-weight:600;line-height:1.45}.confirm-check{color:var(--muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.92rem;display:flex}.confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.url-notice{border:1px solid var(--notice-border);background:var(--notice-bg);color:var(--notice-ink);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem .9rem;font-size:.92rem;line-height:1.4;display:flex}.dropzone-notice{text-align:left;width:min(100%,32rem)}.dropzone.has-notice{border-color:var(--notice-border);background:var(--notice-panel)}.file-status-download{align-items:center;gap:.45rem;display:inline-flex}.wait-wheel{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:.95rem;height:.95rem;animation:.7s linear infinite wait-wheel}@keyframes wait-wheel{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.wait-wheel{opacity:.6;border-right-color:currentColor;animation:none}}.wait-anim{vertical-align:middle;color:currentColor;justify-content:center;align-items:center;display:inline-flex}.wait-sm{width:1.55rem;height:1.1rem}.wait-md{width:2.75rem;height:1.55rem}.wait-lg{width:100%;min-width:8rem;height:100%;min-height:5.5rem;color:var(--brand)}.wait-orbit,.wait-scan,.wait-stack,.wait-spark,.wait-check,.wait-bars,.wait-ring,.wait-wave,.wait-flip,.wait-dots{width:100%;height:100%;display:block;position:relative}.wait-orbit span{background:currentColor;border-radius:50%;width:.35em;height:.35em;margin:-.175em;animation:1.1s linear infinite wait-orbit;position:absolute;top:50%;left:50%}.wait-sm .wait-orbit span{font-size:1rem}.wait-md .wait-orbit span{font-size:1.35rem}.wait-lg .wait-orbit span{font-size:2.75rem}.wait-orbit span:first-child{opacity:1;animation-delay:0s}.wait-orbit span:nth-child(2){opacity:.7;animation-delay:-.36s}.wait-orbit span:nth-child(3){opacity:.4;animation-delay:-.72s}.wait-lg .wait-scan-frame{border-width:2.5px;border-radius:6px;inset:12% 16%}.wait-lg .wait-scan-beam{height:3px;left:16%;right:16%}.wait-lg .wait-stack span{border-width:2.5px;border-radius:3px;height:22%;left:18%;right:18%}@keyframes wait-orbit{0%{transform:rotate(0)translate(.7em)rotate(0)}to{transform:rotate(360deg)translate(.7em)rotate(-360deg)}}.wait-scan-frame{opacity:.55;border:1.5px solid;border-radius:2px;position:absolute;inset:8% 18%}.wait-scan-beam{background:currentColor;height:2px;animation:1.25s ease-in-out infinite wait-scan;position:absolute;top:12%;left:18%;right:18%;box-shadow:0 0 6px}@keyframes wait-scan{0%,to{opacity:.35;top:14%}50%{opacity:1;top:78%}}.wait-stack span{background:0 0;border:1.5px solid;border-radius:1px;height:28%;animation:1.4s ease-in-out infinite wait-stack;position:absolute;left:22%;right:22%}.wait-stack span:first-child{animation-delay:0s;top:18%}.wait-stack span:nth-child(2){opacity:.75;animation-delay:.12s;top:36%}.wait-stack span:nth-child(3){opacity:.5;animation-delay:.24s;top:54%}@keyframes wait-stack{0%,to{transform:translate(0)rotate(0)}35%{transform:translate(18%)rotate(6deg)}70%{transform:translate(-12%)rotate(-4deg)}}.wait-spark span{background:currentColor;border-radius:50%;width:.28em;height:.28em;margin:-.14em;animation:1s ease-in-out infinite wait-spark;position:absolute;top:50%;left:50%}.wait-sm .wait-spark span{font-size:1rem}.wait-md .wait-spark span{font-size:1.35rem}.wait-lg .wait-spark span{font-size:2.75rem}.wait-spark span:first-child{--a:0deg;animation-delay:0s}.wait-spark span:nth-child(2){--a:72deg;animation-delay:80ms}.wait-spark span:nth-child(3){--a:144deg;animation-delay:.16s}.wait-spark span:nth-child(4){--a:216deg;animation-delay:.24s}.wait-spark span:nth-child(5){--a:288deg;animation-delay:.32s}@keyframes wait-spark{0%,to{transform:rotate(var(--a)) translateY(0) scale(.55);opacity:.35}50%{transform:rotate(var(--a)) translateY(-.55em) scale(1);opacity:1}}.wait-check-svg{width:100%;height:100%;display:block;overflow:visible}.wait-check-box,.wait-check-mark{stroke:currentColor;stroke-width:2px}.wait-check-box{opacity:.45;animation:1.4s ease-in-out infinite wait-check-box}.wait-check-mark{stroke-dasharray:24;stroke-dashoffset:24px;animation:1.4s ease-in-out infinite wait-check-draw}.wait-sm .wait-check-svg{width:1.05rem;height:1.05rem;margin:auto}.wait-md .wait-check-svg{width:1.45rem;height:1.45rem;margin:auto}.wait-lg .wait-check-svg{width:min(4.5rem,42%);height:min(4.5rem,42%);margin:auto;position:absolute;inset:0}@keyframes wait-check-draw{0%,12%{stroke-dashoffset:24px;opacity:.35}40%,62%{stroke-dashoffset:0;opacity:1}88%,to{stroke-dashoffset:24px;opacity:.35}}@keyframes wait-check-box{0%,to{opacity:.35}40%,62%{opacity:.7}}.preview-thumb-placeholder .wait-anim{width:100%;height:100%;color:var(--brand)}.preview-thumb-placeholder .wait-sm{width:100%;height:100%}.preview-thumb-placeholder .wait-check-svg{width:1.45rem;height:1.45rem}.wait-bars{justify-content:center;align-items:flex-end;gap:.18em;height:100%;font-size:1rem;display:flex}.wait-sm .wait-bars{font-size:.85rem}.wait-md .wait-bars{font-size:1.15rem}.wait-lg .wait-bars{font-size:2.2rem}.wait-bars span{transform-origin:bottom;background:currentColor;border-radius:999px;width:.22em;height:.9em;animation:.9s ease-in-out infinite wait-bars;display:block}.wait-bars span:first-child{animation-delay:0s}.wait-bars span:nth-child(2){animation-delay:.12s}.wait-bars span:nth-child(3){animation-delay:.24s}.wait-bars span:nth-child(4){animation-delay:.36s}.wait-bars span:nth-child(5){animation-delay:.48s}@keyframes wait-bars{0%,to{opacity:.45;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}.wait-ring{place-items:center;display:grid}.wait-ring-arc{box-sizing:border-box;border:.14em solid color-mix(in srgb, currentColor 28%, transparent);border-top-color:currentColor;border-radius:50%;width:1.1em;height:1.1em;animation:.85s linear infinite wait-ring}.wait-sm .wait-ring-arc{font-size:1.05rem}.wait-md .wait-ring-arc{font-size:1.4rem}.wait-lg .wait-ring-arc{font-size:3rem}@keyframes wait-ring{to{transform:rotate(360deg)}}.wait-wave{justify-content:center;align-items:center;gap:.28em;font-size:1rem;display:flex}.wait-sm .wait-wave{font-size:.95rem}.wait-md .wait-wave{font-size:1.25rem}.wait-lg .wait-wave{font-size:2.35rem}.wait-wave span{background:currentColor;border-radius:50%;width:.42em;height:.42em;animation:.95s ease-in-out infinite wait-wave}.wait-wave span:first-child{animation-delay:0s}.wait-wave span:nth-child(2){animation-delay:.1s}.wait-wave span:nth-child(3){animation-delay:.2s}.wait-wave span:nth-child(4){animation-delay:.3s}.wait-wave span:nth-child(5){animation-delay:.4s}@keyframes wait-wave{0%,to{opacity:.35;transform:translateY(.4em)}50%{opacity:1;transform:translateY(-.4em)}}.wait-flip{perspective:120px;place-items:center;display:grid}.wait-flip span{background:color-mix(in srgb, currentColor 12%, transparent);transform-origin:50%;border:.12em solid;border-radius:.12em;width:.95em;height:1.2em;animation:1.2s ease-in-out infinite wait-flip}.wait-sm .wait-flip span{font-size:.95rem}.wait-md .wait-flip span{font-size:1.25rem}.wait-lg .wait-flip span{font-size:2.6rem}@keyframes wait-flip{0%,to{transform:rotateY(0)}50%{transform:rotateY(180deg)}}.wait-dots{justify-content:center;align-items:center;gap:.28em;font-size:1rem;display:flex}.wait-sm .wait-dots{font-size:.85rem}.wait-md .wait-dots{font-size:1.15rem}.wait-lg .wait-dots{font-size:2.2rem}.wait-dots span{background:currentColor;border-radius:50%;width:.32em;height:.32em;animation:.7s ease-in-out infinite wait-dots}.wait-dots span:first-child{animation-delay:0s}.wait-dots span:nth-child(2){animation-delay:.12s}.wait-dots span:nth-child(3){animation-delay:.24s}@keyframes wait-dots{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-.45em)}}.btn-primary .wait-anim{color:var(--brand-ink)}.wait-anim.is-paused,.wait-anim.is-paused span,.wait-anim.is-paused .wait-scan-beam,.wait-anim.is-paused .wait-ring-arc,.wait-anim.is-paused .wait-check-box,.wait-anim.is-paused .wait-check-mark,body.is-preview-lightbox-open .file-list .wait-anim,body.is-preview-lightbox-open .file-list .wait-anim span,body.is-preview-lightbox-open .file-list .wait-anim .wait-scan-beam,body.is-preview-lightbox-open .file-list .wait-anim .wait-ring-arc,body.is-preview-lightbox-open .file-list .wait-anim .wait-check-box,body.is-preview-lightbox-open .file-list .wait-anim .wait-check-mark{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.wait-orbit span,.wait-scan-beam,.wait-stack span,.wait-spark span,.wait-check-box,.wait-check-mark,.wait-bars span,.wait-ring-arc,.wait-wave span,.wait-flip span,.wait-dots span,.file-row,.tool-example,button.privacy-badge-btn{animation:none}.wait-check-mark{stroke-dashoffset:0;opacity:1}.wait-bars span{opacity:.8;transform:scaleY(.7)}}.file-row[draggable=true]{cursor:grab}.file-row.is-dragging{opacity:.55;cursor:grabbing}.file-row.is-drop-target{border-color:var(--brand);background:var(--selected)}.file-meta{gap:.2rem;min-width:0;display:grid}.file-meta.has-drag{grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem}.file-meta.has-drag .file-name,.file-meta.has-drag .file-size{grid-column:2}.file-drag-hint{color:var(--muted);letter-spacing:-.12em;user-select:none;grid-row:1/span 2;font-size:.85rem;line-height:1}.file-drag-hint.is-idle{opacity:.35;cursor:default}.file-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.file-size{color:var(--muted);min-height:1.25em;font-size:.85rem}.file-size.ok{color:var(--ok)}.file-size.file-error{color:var(--danger);white-space:normal;line-height:1.35}.file-size.file-status-wait{font-variant-numeric:tabular-nums}.file-row.has-phase-plan{align-items:start}.file-row.has-phase-plan .file-actions{padding-top:.15rem}.file-phase-plan{min-width:0;margin-top:.35rem}.file-meta.has-drag .file-phase-plan{grid-column:1/-1}.file-phase-toggle{color:var(--brand);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:0;margin:0 0 .25rem;padding:0;font-size:.82rem;font-weight:600;display:inline-flex}.file-phase-toggle:hover{text-decoration:underline}.file-phase-toggle-summary{color:var(--muted);font-weight:500}.file-phase-list{gap:.2rem;margin:0;padding:.15rem 0 0;list-style:none;display:grid}.file-phase-step{color:var(--muted);font-variant-numeric:tabular-nums;grid-template-columns:.7rem minmax(0,1fr) auto;align-items:baseline;gap:.45rem;font-size:.82rem;display:grid}.file-phase-step.is-active{color:var(--text);font-weight:600}.file-phase-step.is-done{color:var(--muted)}.file-phase-step.is-pending{opacity:.72}.file-phase-marker{background:var(--line);border-radius:50%;justify-self:center;width:.45rem;height:.45rem;margin-top:.35em}.file-phase-step.is-active .file-phase-marker{background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent)}.file-phase-step.is-done .file-phase-marker{background:var(--ok)}.file-phase-time.is-pending{opacity:.55}.file-phase-time.is-live{color:var(--text)}.file-status-queue{color:var(--brand);font-weight:700}.file-error{color:var(--danger);font-size:.85rem}.file-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.btn-icon{width:2.25rem;height:2.25rem;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover:not(:disabled){color:var(--ink);background:var(--hover)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-row-process{white-space:nowrap;min-width:7.5rem;padding:.45rem .75rem;font-size:.88rem}.tool-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;display:flex}.tool-actions-main{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.tool-actions-count{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.batch-done-notice{background:color-mix(in srgb, var(--ok) 14%, transparent);max-width:min(100%,28rem);color:var(--ok);border-radius:8px;align-items:center;gap:.45rem;padding:.35rem .55rem;font-size:.9rem;font-weight:600;display:inline-flex}.batch-done-notice>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.batch-done-notice__close{color:inherit;flex-shrink:0;padding:.1rem .35rem;font-size:.82rem}.settings-page h1{margin-bottom:1rem}.settings-app{gap:1.75rem;display:grid}.settings-section h2{margin:0 0 .45rem;font-size:1.15rem}.settings-hint{max-width:42rem;margin:0 0 1rem}.settings-save-status{gap:.25rem;display:grid}.settings-autosave-hint{margin-bottom:0}.settings-saved{min-height:1.25rem;color:var(--ok);opacity:0;margin:0;font-size:.92rem;font-weight:700;transition:opacity .2s}.settings-saved.is-on{opacity:1}.settings-notice{color:var(--danger);margin:0 0 .75rem;font-weight:600}.settings-wait-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:stretch;gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.settings-wait-grid>li{min-height:0;display:flex}.settings-wait-card{border:1px solid var(--line);background:var(--surface);cursor:pointer;box-sizing:border-box;border-radius:12px;flex:1;grid-template-rows:auto 1fr;gap:.65rem;width:100%;min-height:100%;padding:.75rem;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.settings-wait-card.is-on{border-color:var(--brand);background:var(--selected);box-shadow:inset 3px 0 0 var(--brand)}.settings-wait-preview{border:1px dashed var(--line);background:var(--card);min-height:110px;color:var(--brand);border-radius:10px;place-items:center;display:grid;overflow:hidden}.settings-wait-preview .wait-anim{width:70%;height:4.5rem}.settings-wait-meta{align-items:flex-start;gap:.45rem;margin-top:auto;font-size:.92rem;font-weight:600;display:flex}.settings-wait-meta input{accent-color:var(--brand);flex-shrink:0;margin:.15rem 0 0}.settings-wait-name{flex:1;min-width:0;min-height:2.6em;line-height:1.3}.settings-sound-pref{cursor:pointer;user-select:none;align-items:center;gap:.45rem;font-size:.95rem;display:inline-flex}.settings-sound-pref input{accent-color:var(--brand);margin:0}.theme-toggle{border:1px solid var(--line);background:var(--card);border-radius:999px;flex-wrap:wrap;gap:.35rem;padding:.25rem;display:inline-flex}.theme-toggle-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.4rem .85rem;font-size:.9rem;font-weight:600}.theme-toggle-btn.is-active{background:var(--brand);color:var(--brand-ink)}.theme-toggle-compact{min-width:2.25rem;padding-left:.55rem;padding-right:.55rem;font-size:1.05rem;line-height:1}.prose{color:var(--muted);line-height:1.6}.prose h1{color:var(--ink)}.related{margin-top:2rem}.related h2{margin-bottom:.75rem;font-size:1.1rem}.more-tools{margin:.5rem 0 2rem}.more-tools-title{color:var(--muted);margin:0 0 .6rem;font-size:1rem;font-weight:700}.more-tools-list{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.more-tools-list a{color:var(--muted);font-size:.95rem;font-weight:600;text-decoration:none}.more-tools-list a:hover{color:var(--brand);text-decoration:underline}.crop-panel{gap:.6rem;display:grid}.crop-stage{user-select:none;touch-action:none;background:#1c2420;border-radius:10px;width:min(100%,640px);margin:0 auto;position:relative;overflow:hidden}.crop-stage img{pointer-events:none;width:100%;height:auto;display:block}.crop-box{border:2px solid var(--on-dark);cursor:move;position:absolute;box-shadow:0 0 0 9999px #00000073}.crop-handle{background:var(--on-dark);border-radius:2px;width:12px;height:12px;position:absolute}.crop-handle.nw{cursor:nwse-resize;top:-6px;left:-6px}.crop-handle.ne{cursor:nesw-resize;top:-6px;right:-6px}.crop-handle.sw{cursor:nesw-resize;bottom:-6px;left:-6px}.crop-handle.se{cursor:nwse-resize;bottom:-6px;right:-6px}.combined-result{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;font-weight:600;display:flex}.tool-options input[type=number]{border:1px solid var(--line);width:min(140px,100%);font:inherit;border-radius:8px;padding:.4rem .5rem}@media (width<=640px){.file-row{grid-template-columns:7.2rem minmax(0,1fr)}.file-row.no-thumbs{grid-template-columns:minmax(0,1fr)}.file-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end}.preview-compare{grid-template-columns:1fr}.site-header{flex-direction:column;align-items:flex-start}.feedback-rail{width:2.75rem;padding:.55rem .3rem;right:.5rem}.feedback-rail__label{display:none}.feedback-rail__star{font-size:1rem}}
