:root{--bg: #f3efe7;--surface: #fffdf9;--surface-2: #f7f2ea;--border: #e5ded1;--border-strong: #cec5b4;--dot: color-mix(in srgb, var(--border-strong) 55%, transparent);--text: #1e1b16;--text-dim: #6c6558;--text-faint: #9c9385;--accent: #b5451b;--accent-deep: #8e3411;--accent-soft: #f8e7db;--accent-glow: rgb(181 69 27 / 16%);--on-accent: #fff;--ok: #2d7a4d;--warn: #a26d0b;--bad: #b23434;--radius: 14px;--radius-lg: 22px;--shadow-sm: 0 1px 2px rgb(30 27 22 / 5%);--shadow: 0 1px 2px rgb(30 27 22 / 4%), 0 12px 32px -14px rgb(30 27 22 / 14%);--shadow-lg: 0 2px 4px rgb(30 27 22 / 4%), 0 28px 64px -28px rgb(30 27 22 / 28%);--ease: cubic-bezier(.2, .7, .2, 1);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, monospace}@media(prefers-color-scheme:dark){:root{--bg: #141210;--surface: #1d1a16;--surface-2: #25211b;--border: #322e27;--border-strong: #4a4439;--dot: color-mix(in srgb, var(--border-strong) 45%, transparent);--text: #ece6da;--text-dim: #a59d8e;--text-faint: #7a7365;--accent: #e48a5d;--accent-deep: #c9683b;--accent-soft: #35231a;--accent-glow: rgb(228 138 93 / 18%);--on-accent: #1b120c;--ok: #6fc48f;--warn: #d9a54b;--bad: #e08080;--shadow-sm: 0 1px 2px rgb(0 0 0 / 30%);--shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 12px 32px -14px rgb(0 0 0 / 50%);--shadow-lg: 0 2px 4px rgb(0 0 0 / 30%), 0 28px 64px -28px rgb(0 0 0 / 70%)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;background:radial-gradient(1000px 520px at 50% -180px,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),linear-gradient(to bottom,transparent,var(--bg) 640px),radial-gradient(var(--dot) 1px,transparent 1.2px) 0 0 / 22px 22px,var(--bg);color:var(--text);font-family:Segoe UI Variable Text,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Segoe UI Variable Display,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;letter-spacing:-.015em;text-wrap:balance}:lang(zh) :is(h1,h2,h3,.hero__lede,.dropzone__title,.dropzone__hint){word-break:keep-all;overflow-wrap:anywhere}:lang(ja) :is(h1,h2,h3,.hero__lede,.dropzone__title,.dropzone__hint){word-break:auto-phrase}::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--text-dim)}.eyebrow:before{content:"";width:18px;height:2px;border-radius:2px;background:var(--accent)}.app{max-width:1080px;margin:0 auto;padding:var(--s-4) var(--s-5) var(--s-7);display:flex;flex-direction:column;gap:var(--s-6)}.main{display:grid;gap:var(--s-6)}.masthead{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.masthead__brand{display:flex;align-items:center;gap:10px}.logo{flex:none;display:block;filter:drop-shadow(0 4px 10px var(--accent-glow))}.masthead__name{font-size:17px;font-weight:700;letter-spacing:-.01em}.masthead__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);font-size:12.5px;font-weight:600;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 color-mix(in srgb,var(--ok) 50%,transparent)}.ghlink{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s,transform .25s var(--ease)}.ghlink:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.lang{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim)}.lang__icon{width:18px;height:18px}.lang select{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);padding:6px 10px;font:inherit;font-size:13px;cursor:pointer;transition:border-color .15s}.lang select:hover{border-color:var(--border-strong)}.hero{display:grid;gap:var(--s-2);justify-items:center;text-align:center}.hero__title{margin:0;font-size:clamp(30px,4.4vw,42px);font-weight:800;line-height:1.15;letter-spacing:-.025em}.hero__lede{margin:0;max-width:560px;font-size:16px;line-height:1.55;color:var(--text-dim);text-wrap:balance}.panel{width:100%;margin-top:var(--s-2);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.panel__bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;padding:14px 18px 0;border-top:1px solid var(--border)}.panel__output{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;flex:1 1 auto;min-width:0}.panel__output .segmented--large{flex:1 1 260px;max-width:440px}.panel__more{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:8px 12px 8px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-dim);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.panel__more:hover,.panel__more--open{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.panel__more svg{flex:none}.panel__dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.panel__chevron{display:inline-block;font-size:17px;line-height:1;color:var(--text-faint);transform:rotate(90deg);transition:transform .3s var(--ease)}.panel__more--open .panel__chevron{transform:rotate(-90deg)}.panel__hint{margin:0;padding:8px 18px 14px;font-size:13px;color:var(--text-dim)}.panel__body{display:grid;gap:12px;padding:14px 14px 12px}.dropzone{position:relative;width:100%;border:1.5px dashed var(--border-strong);border-radius:16px;background:var(--surface-2);text-align:center;transition:border-color .2s,background .2s,box-shadow .3s var(--ease)}.dropzone:not(.dropzone--disabled):hover,.dropzone:focus-within,.app[data-dragging] .dropzone{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface));box-shadow:0 0 0 4px var(--accent-glow);outline:none}.dropzone__picker{display:block;width:100%;padding:26px var(--s-5) 22px;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:center;cursor:pointer}.dropzone__picker:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.dropzone--with-sample .dropzone__picker{padding-bottom:0}.dropzone--compact{padding:0}.dropzone--compact .dropzone__picker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;padding:12px 16px;text-align:left}.dropzone--compact .dropzone__orb{width:36px;height:36px;margin:0;box-shadow:none;animation:none}.dropzone--compact .dropzone__icon{width:18px;height:18px}.dropzone--compact .dropzone__title{margin:0;font-size:14px;font-weight:600}.dropzone--compact .dropzone__button{margin:0;padding:6px 12px;font-size:13px}.dropzone--disabled{opacity:.5}.dropzone--disabled .dropzone__picker{cursor:not-allowed}.dropzone__orb{position:relative;display:grid;place-items:center;width:58px;height:58px;margin:0 auto;border-radius:50%;background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 6%,transparent);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .2s}.dropzone__icon{width:27px;height:27px;transition:transform .35s var(--ease)}.dropzone:hover .dropzone__orb,.app[data-dragging] .dropzone__orb{background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 11px color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-3px)}.dropzone:hover .dropzone__icon{transform:translateY(-2px)}.dropzone__title{display:block;margin:14px 0 5px;font-weight:700;font-size:19px;letter-spacing:-.015em;text-wrap:balance}.dropzone__hint{display:block;margin:0;color:var(--text-dim);font-size:14px;line-height:1.7;text-wrap:balance}@media(pointer:coarse){.dropzone__hint-line{display:none}}.dropzone__hint-line{display:block}.dropzone__button{display:inline-block;margin-top:14px;padding:10px 22px;font-size:15px;pointer-events:none}.dropzone__sample{display:flex;align-items:center;justify-content:center;width:fit-content;min-height:36px;margin:4px auto 14px;padding:6px 4px;font-size:13.5px}.features{display:grid;gap:var(--s-3)}.features__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)}.features__item{display:grid;gap:10px;align-content:start;min-width:0;padding:18px 17px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),border-color .2s,box-shadow .35s var(--ease)}.features__item:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:var(--shadow)}.features__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);transition:transform .35s var(--ease),background .2s,color .2s}.features__item:hover .features__icon{transform:rotate(-6deg) scale(1.08);background:var(--accent);color:var(--on-accent)}.features__icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.features__title{margin:0;font-size:15px;font-weight:700;line-height:1.4}.features__body{margin:6px 0 0;font-size:13.5px;line-height:1.65;color:var(--text-dim)}.segmented{display:inline-flex;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.segmented__item{padding:6px 14px;border:none;border-radius:8px;background:none;color:var(--text-dim);font:inherit;font-size:13.5px;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.segmented__item:hover{color:var(--text)}.segmented__item--on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.segmented--large{position:relative;display:grid;grid-template-columns:repeat(var(--count, 3),minmax(0,1fr));gap:0;padding:4px;border-radius:12px}.segmented--large:before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--count, 3));border-radius:9px;background:var(--surface);box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);transform:translate(calc(var(--index, 0) * 100%));transition:transform .35s var(--ease)}.segmented--large .segmented__item{position:relative;padding:11px 16px;font-size:15px;border-radius:9px;background:none;box-shadow:none}.segmented--large .segmented__item--on{color:var(--accent-deep)}.advanced{background:var(--surface-2);border-top:1px solid var(--border)}.advanced__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4) var(--s-6);padding:4px 18px 20px}.advanced__body>.field:first-child,.advanced__reset{grid-column:1 / -1}.advanced__reset{justify-self:start;font-size:13px}.field{border:none;margin:0;padding:var(--s-4) 0 0;min-width:0}.field__label{padding:0;font-size:13px;font-weight:700;color:var(--text)}.field__hint{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--text-dim)}.field__hint--warn{color:var(--warn)}.field .segmented{margin-top:10px}.field__row{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13.5px}.field__row>span:first-child{min-width:150px;color:var(--text-dim)}.field__row select,.field__row input[type=number]{padding:6px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:inherit;font:inherit;font-size:13.5px}.field__row input[type=range]{flex:1;accent-color:var(--accent)}.field__row output{font-variant-numeric:tabular-nums;color:var(--text-dim);min-width:34px}.field__row .segmented{margin-top:0}.subfield{display:grid;gap:10px;margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.segmented-wrap{display:grid;gap:6px;min-width:0;justify-items:start}.segmented-wrap--compact .segmented__item{padding:4px 10px;font-size:13px}.field__row .segmented-wrap{flex:1}.cache-row{display:flex;align-items:center;gap:10px}.checks{display:grid;gap:10px;margin-top:12px}.check{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.check--disabled{opacity:.45;cursor:not-allowed}.link{background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:3px;transition:text-decoration-color .15s}.link:hover{text-decoration-color:var(--accent)}.link:disabled{opacity:.5;cursor:default}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .25s var(--ease),transform .25s var(--ease)}.btn:hover{background:var(--surface-2);border-color:var(--text-faint);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0) scale(.98);box-shadow:none}.btn--primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 90%,#fff),var(--accent));border-color:var(--accent-deep);color:var(--on-accent);font-weight:600;box-shadow:inset 0 1px #ffffff38,0 8px 20px -8px color-mix(in srgb,var(--accent) 70%,transparent)}.btn--primary:hover{background:linear-gradient(180deg,var(--accent),var(--accent-deep));border-color:var(--accent-deep);box-shadow:inset 0 1px #ffffff2e,0 12px 26px -8px color-mix(in srgb,var(--accent) 75%,transparent)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn--ghost{background:none;border-color:transparent;color:var(--text-dim)}.btn--ghost:hover{color:var(--text);border-color:var(--border)}.btn--icon{width:30px;height:30px;padding:0;border-color:transparent;background:none;font-size:18px;color:var(--text-faint)}.btn--icon:hover{background:var(--surface-2);border-color:transparent;color:var(--text);transform:none;box-shadow:none}.queue__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:32px}.queue__head h2{margin:0;font-size:15px}.queue__actions{display:flex;gap:var(--s-2)}.queue__list{display:grid;gap:var(--s-3)}.job{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:grid;gap:12px;transition:border-color .3s,box-shadow .3s}.job>*{min-width:0}.job--running{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 3px var(--accent-glow)}.job--error{border-color:color-mix(in srgb,var(--bad) 45%,var(--border))}.job--done{border-color:color-mix(in srgb,var(--ok) 35%,var(--border))}.job__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.job__id{min-width:0;display:grid;gap:2px}.job__name{display:block;min-width:0;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job__meta{font-size:12.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}.job__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex:none;align-items:center}.bar{height:6px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.bar__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-deep),var(--accent));transition:width .3s var(--ease)}.job--done .bar__fill{background:var(--ok)}.job--error .bar__fill,.job--cancelled .bar__fill{background:var(--border-strong)}.job--running .bar__fill{position:relative;overflow:hidden}.job--running .bar__fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 45%),transparent);animation:bar-shimmer 1.4s infinite}.job__status{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin-top:8px;font-size:12.5px;color:var(--text-dim)}.job__stage{font-weight:600;color:var(--text)}.job--running .job__stage{color:var(--accent-deep)}.job__message{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job__live{flex:1 1 auto;min-width:0;display:flex;gap:8px;align-items:baseline}.job__time{margin-left:auto;flex:none;font-variant-numeric:tabular-nums;white-space:nowrap}.job__eta{color:var(--text)}.job__password{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;background:var(--accent-soft);border-radius:10px;font-size:13.5px}.job__password input{flex:1;min-width:150px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:inherit;font:inherit}.job__notice{display:grid;gap:8px;justify-items:start;padding:10px 14px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);font-size:13px;line-height:1.6;color:var(--text-dim)}.job__notice p{margin:0}.job__notice--bad{background:color-mix(in srgb,var(--bad) 7%,transparent);border-color:color-mix(in srgb,var(--bad) 30%,transparent);color:var(--text)}.job__summary{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--text-dim);font-variant-numeric:tabular-nums}.job__toggle{justify-self:start;background:none;border:none;padding:0;color:var(--accent);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.report{display:grid;gap:12px;padding-top:8px;border-top:1px dashed var(--border)}.report>*{min-width:0}.report__feedback{margin:0;font-size:13px}.report__feedback a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.report__stats{display:flex;flex-wrap:wrap;gap:8px}.stat{display:grid;gap:1px;padding:8px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;min-width:76px}.stat__value{font-weight:700;font-variant-numeric:tabular-nums}.stat__label{font-size:11.5px;color:var(--text-dim)}.report summary{cursor:pointer;font-size:13.5px;color:var(--text-dim)}.report__warnings ul{margin:8px 0 0;padding-left:18px;font-size:13px;display:grid;gap:4px}.report__warnings code{font-family:var(--mono);font-size:11.5px;padding:1px 5px;border-radius:5px;background:var(--surface-2);border:1px solid var(--border);color:var(--warn)}.table-scroll{overflow-x:auto;margin-top:8px}.report table{border-collapse:collapse;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}.report th,.report td{padding:6px 9px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.report th:first-child,.report td:first-child{text-align:left}.report th{color:var(--text-dim);font-weight:600}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:600}.pill--ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.pill--warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.pill--bad{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}.content{display:grid;gap:var(--s-3)}.seo{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow-sm)}.seo h2{margin:0 0 var(--s-4);font-size:19px}.seo p{margin:0;font-size:14.5px;line-height:1.7;color:var(--text)}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}.steps li{display:grid;gap:12px;align-content:start;font-size:14.5px;line-height:1.7}.steps__num{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:800;box-shadow:0 6px 14px -6px color-mix(in srgb,var(--accent) 70%,transparent)}.seo--why{background:linear-gradient(135deg,var(--accent-soft),var(--surface) 70%);border-color:color-mix(in srgb,var(--accent) 24%,var(--border));border-left:4px solid var(--accent)}.seo--why p{max-width:62ch;font-size:15px}.faq{display:grid}.faq__item{border-top:1px solid var(--border)}.faq__item:first-child{border-top:none}.faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);font-size:15px;font-weight:600;padding:14px 0;transition:color .15s}.faq__item summary:hover{color:var(--accent-deep)}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:16px;font-weight:400;line-height:1;transition:transform .3s var(--ease),background .15s,color .15s}.faq__item[open] summary:after{transform:rotate(45deg);background:var(--accent-soft);color:var(--accent)}.faq__item p{padding:0 40px 16px 0;color:var(--text-dim)}.footer{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:center;color:var(--text-dim);font-size:12.5px;border-top:1px solid var(--border);padding-top:var(--s-5)}.footer__links{display:flex;flex-wrap:wrap;gap:4px 14px}.footer__links a{color:var(--text-dim);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.footer__links a:hover{color:var(--accent);text-decoration-color:currentColor}.banner{margin:0;padding:10px 14px;border-radius:10px;font-size:13.5px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim)}.banner--warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.interstitial{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.interstitial__card{max-width:520px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:28px;display:grid;gap:12px}.interstitial__top{display:flex;justify-content:space-between;align-items:center}.interstitial__card h1{margin:4px 0 0;font-size:22px}.interstitial__card p{margin:0;font-size:14.5px;line-height:1.65}.interstitial__url{font-family:var(--mono);font-size:12.5px;word-break:break-all;padding:8px 10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim)}.interstitial__actions{display:grid;gap:8px}.interstitial__foot{color:var(--text-dim);font-size:12.5px!important}.drop-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--bg) 88%,transparent);pointer-events:none}.drop-overlay__box{width:min(560px,100%);padding:64px 24px;border:2px dashed var(--accent);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent-deep);font-size:22px;font-weight:700;text-align:center;box-shadow:0 0 0 0 var(--accent-glow)}.toast{position:fixed;left:50%;bottom:28px;z-index:60;transform:translate(-50%);max-width:min(520px,calc(100% - 32px));padding:11px 18px;border-radius:12px;background:var(--text);color:var(--bg);font-size:13.5px;box-shadow:var(--shadow-lg)}.prerender{max-width:760px;margin:0 auto;padding:32px 20px;line-height:1.7}.btn:focus-visible,.segmented__item:focus-visible,.job__toggle:focus-visible,.link:focus-visible,.advanced__summary:focus-visible,.faq__item summary:focus-visible,.ghlink:focus-visible,.lang select:focus-visible,.field__row select:focus-visible,.field__row input:focus-visible,.check input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:no-preference){.reveal{animation:reveal .7s var(--ease) both;animation-delay:calc(var(--i, 0) * 90ms)}.features__item{animation:reveal .6s var(--ease) both;animation-delay:calc(.26s + var(--i, 0) * 80ms)}.dropzone__orb{animation:float 3.4s ease-in-out infinite}.dropzone:hover .dropzone__orb,.app[data-dragging] .dropzone__orb{animation:none}.badge:before{animation:pulse 2.6s ease-out infinite}.job{animation:rise .35s var(--ease) both}.drop-overlay{animation:fade .18s ease-out both}.drop-overlay__box{animation:pop-in .3s var(--ease) both,glow 1.6s ease-in-out infinite}.advanced,.faq__item[open] p,.report,.panel__hint{animation:fade-down .25s var(--ease) both}.toast{animation:toast-in .3s var(--ease) both}.job--done .job__actions .btn--primary{animation:pop .45s cubic-bezier(.2,.9,.3,1.3) both}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@keyframes reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes fade-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.85)}to{transform:scale(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 18px transparent}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 45%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes bar-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(width<=900px){.features__list{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:1fr;gap:var(--s-4)}.steps li{grid-template-columns:auto 1fr;align-items:start}.advanced__body{grid-template-columns:1fr}}@media(width<=560px){.app{padding:var(--s-4) 14px var(--s-7);gap:var(--s-5)}.main{gap:var(--s-5)}.masthead__actions{width:100%;justify-content:space-between}.hero__title{font-size:28px}.hero__lede{font-size:15px}.dropzone__picker{padding:22px var(--s-4) 18px}.dropzone--with-sample .dropzone__picker{padding-bottom:0}.dropzone__sample{margin-bottom:12px}.dropzone__title{font-size:18px}.features__list{grid-template-columns:1fr}.features__item{grid-template-columns:auto 1fr;align-items:start}.segmented--large .segmented__item{padding:10px 8px;font-size:14px}.seo{padding-left:18px;padding-right:18px}.panel__bar,.panel__hint,.panel__body,.advanced__body{padding-left:14px;padding-right:14px}.panel__more{margin-left:0;width:100%;justify-content:center}.panel__output .segmented--large{max-width:none}.job__head{flex-wrap:wrap}.job__actions{width:100%;justify-content:flex-start}.field__row>span:first-child{min-width:110px}.field__row{flex-wrap:wrap}.field__row .segmented-wrap{flex:1 1 auto}.faq__item p{padding-right:0}}.toolnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}.toolnav__group{display:grid;gap:6px;min-width:0}.toolnav__label{justify-self:center;color:var(--text-faint);font-size:12px;font-weight:700;letter-spacing:.06em;white-space:nowrap;transition:color .2s}.toolnav__group--on .toolnav__label{color:var(--text-dim)}.toolnav__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:0;padding:3px;list-style:none;background:var(--surface-2);border:1px solid var(--border);border-radius:999px}.toolnav__item{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:7px 8px;border-radius:999px;color:var(--text-dim);font-size:13.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}.toolnav__item>span:not(.toolnav__activity){overflow:hidden;text-overflow:ellipsis}.toolnav__item:hover{color:var(--text);background:color-mix(in srgb,var(--surface) 55%,transparent)}.toolnav__item--on,.toolnav__item--on:hover{background:var(--surface);color:var(--accent-deep);box-shadow:var(--shadow-sm),0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.toolnav__item svg{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.toolnav__activity{position:absolute;top:-6px;right:2px;display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text-dim);font-size:10.5px;font-variant-numeric:tabular-nums;line-height:1;box-shadow:var(--shadow-sm)}.toolnav__activity[data-busy]{border-color:var(--accent);background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 3px var(--accent-glow)}.toolnav__item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(width<=900px){.toolnav{grid-template-columns:minmax(0,1fr);gap:8px}.toolnav__group{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px}.toolnav__label{justify-self:start}}.tool{width:100%}.tool[hidden]{display:none}.panel__lead{flex:1 1 260px;min-width:0;margin:0;font-size:13px;line-height:1.55;color:var(--text-dim)}.panel__bar--solo{padding-bottom:14px}.composer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.composer__head h2{margin:0;font-size:15px}.composer__hint{margin:2px 0 0;font-size:12.5px;color:var(--text-dim)}.composer__head--inline{row-gap:0}.composer__head--inline h2{flex:1;min-width:0}.composer__head--inline .composer__hint{flex-basis:100%}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:12px;margin:0;padding:0;list-style:none}.thumb{position:relative;display:grid;gap:6px;padding:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;cursor:grab;user-select:none;transition:border-color .2s,box-shadow .2s,opacity .2s}.thumb:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.thumb--dragging{opacity:.4}.thumb--before:before,.thumb--after:after{content:"";position:absolute;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent)}.thumb--before:before{left:-8px}.thumb--after:after{right:-8px}.thumb__frame{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:var(--surface);border-radius:8px;overflow:hidden}.thumb__frame img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;transition:transform .25s var(--ease)}.thumb__index{position:absolute;left:6px;top:6px;display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:700}.thumb__name{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb__meta{font-size:11.5px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb__tools{display:flex;gap:4px}.thumb__tools button{flex:1;padding:4px 0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-dim);font:inherit;font-size:13px;line-height:1.2;cursor:pointer}.thumb__tools button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.thumb__tools button:disabled{opacity:.35;cursor:default}.composer__bar{gap:12px}.composer__name{display:flex;align-items:center;gap:8px;flex:1 1 260px;min-width:0;font-size:13.5px;color:var(--text-dim)}.composer__name input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13.5px}.composer__ext{font-family:var(--mono);font-size:12.5px}.composer__bar .btn--primary{margin-left:auto}.composer__progress{display:grid;gap:8px;padding:14px 18px;border-top:1px solid var(--border);font-size:13px;color:var(--text-dim)}.composer__result{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--border)}.composer__result p{margin:0;font-size:13.5px}.composer__error{color:var(--bad)}@media(width<=560px){.toolnav{gap:6px}.toolnav__group{grid-template-columns:64px minmax(0,1fr);gap:6px}.toolnav__label{font-size:11.5px;letter-spacing:.02em}.toolnav__item{padding:7px 4px;min-height:38px;font-size:13px}.toolnav__item svg{display:none}.thumbs{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.thumb__tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.thumb__tools button{min-height:38px;font-size:15px}.composer__head .queue__actions{width:100%}.composer__head .queue__actions .btn{flex:1;min-height:40px;padding-left:8px;padding-right:8px}.composer__bar .btn--primary{width:100%;margin-left:0}}.hero__title,.hero__lede{animation:tool-in .35s var(--ease) both}@keyframes tool-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hero__title,.hero__lede{animation:none}}.thumb__index{box-shadow:0 1px 4px #00000059}.thumb__tools button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.editor{display:grid;gap:10px;padding:0 18px 16px}.editor__toggle{justify-self:start;font-size:13.5px}.editor__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);color:var(--text);font-size:13.5px}.editor__head .link{flex:none}.editor textarea{width:100%;min-height:220px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text);font:13.5px/1.6 var(--mono);resize:vertical}.editor textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.editor__actions{display:flex;justify-content:flex-end;gap:10px}@media(width<=560px){.editor{padding-left:14px;padding-right:14px}}.skip-link{position:absolute;left:16px;top:-64px;z-index:70;padding:8px 14px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:600;text-decoration:none;box-shadow:var(--shadow);transition:top .15s var(--ease)}.skip-link:focus-visible{top:16px;outline:2px solid var(--text);outline-offset:2px}.main:focus{outline:none}.field__row input[type=text]{flex:1 1 160px;min-width:0;max-width:260px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:inherit;font:inherit;font-size:13.5px}.field__row input[aria-invalid=true]{border-color:var(--bad)}.editor__sample{margin-right:auto;align-self:center;font-size:13.5px}@media(hover:none){.btn:hover,.ghlink:hover,.features__item:hover,.features__item:hover .features__icon,.dropzone:hover .dropzone__orb,.dropzone:hover .dropzone__icon{transform:none}}.imgrow__thumb,.compare__frame,.compare__side img{background:conic-gradient(#ebe7e0 25%,#d4cfc6 0 50%,#ebe7e0 0 75%,#d4cfc6 0) 0 0 / 14px 14px}.imglist{display:grid;gap:8px;max-height:min(640px,66vh);margin:0;padding:0;overflow:auto;overscroll-behavior:contain;list-style:none}.imgrow{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px 8px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;content-visibility:auto;contain-intrinsic-size:auto 74px;transition:border-color .2s,background .2s}.imgrow--processing{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent-soft) 40%,var(--surface-2))}.imgrow--failed{border-color:color-mix(in srgb,var(--bad) 40%,var(--border))}.imgrow__thumb{display:grid;place-items:center;width:56px;height:56px;padding:0;border:1px solid var(--border);border-radius:9px;overflow:hidden;cursor:zoom-in}.imgrow__thumb:disabled{cursor:default}.imgrow__thumb:not(:disabled):hover{border-color:var(--accent)}.imgrow__thumb img{width:100%;height:100%;object-fit:contain}.imgrow__badge{font-size:11px;font-weight:700;color:var(--text-dim)}.imgrow__info{display:grid;gap:2px;min-width:0}.imgrow__name{overflow:hidden;color:var(--text);font-size:13.5px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.imgrow__dir{color:var(--text-faint);font-weight:400}.imgrow__meta{display:flex;flex-wrap:wrap;gap:0 8px;color:var(--text-dim);font-size:12.5px;font-variant-numeric:tabular-nums}.imgrow__arrow{color:var(--text-faint)}.imgrow__out{color:var(--text)}.imgrow__note{color:var(--text-dim);font-size:12px;line-height:1.5}.imgrow__note--warn{color:var(--warn)}.imgrow__note--bad{color:var(--bad)}.imgrow__side{display:flex;align-items:center;gap:10px}.imgrow__status{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:52px;color:var(--text-dim);font-size:12.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.imgrow--processing .imgrow__status{color:var(--accent-deep)}.imgrow--failed .imgrow__status{color:var(--bad)}.imgrow__status--good{color:var(--ok)}.imgrow__status--warn{color:var(--warn)}.imgrow__actions{display:flex;align-items:center;gap:2px}.btn--small{padding:4px 10px;border-radius:8px;font-size:13px}.spinner{width:12px;height:12px;border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.imgopts__main{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:10px 12px;min-width:0}.imgopts__label{color:var(--text-dim);font-size:13.5px;font-weight:600;white-space:nowrap}.imgopts__main select,.imgopts__main input[type=number]{padding:6px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:inherit;font:inherit;font-size:13.5px}.imgopts__main select:focus-visible,.imgopts__main input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.imgopts__more{padding:6px 18px 16px}.imgopts__more .field__row>span:first-child{min-width:72px}.unit-input{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:13px}.unit-input input{width:88px}.swatch-field{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:13px;cursor:pointer}.swatch{position:relative;display:inline-block;flex:none;width:30px;height:30px;overflow:hidden;border:1px solid var(--border-strong);border-radius:8px;cursor:pointer}.swatch input{position:absolute;inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px);padding:0;border:none;background:none;cursor:pointer}.swatch:focus-within{outline:2px solid var(--accent);outline-offset:2px}.imgbar{position:relative;justify-content:space-between}.imgbar__progress{position:absolute;top:-1px;right:0;left:0;height:3px;overflow:hidden;background:color-mix(in srgb,var(--accent) 14%,transparent)}.imgbar__fill{height:100%;background:var(--accent);transition:width .3s var(--ease)}.imgbar__summary{flex:1 1 240px;min-width:0;margin:0;color:var(--text-dim);font-size:13.5px;font-variant-numeric:tabular-nums}.imgbar__actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.saving{color:var(--ok);font-weight:700}.saving--worse{color:var(--warn)}.dropzone--with-folder{display:flex;align-items:center}.dropzone--with-folder .dropzone__picker{flex:1}.dropzone__folder{flex:none;margin-right:16px;font-size:13px}.thumb--failed{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 18%,transparent)}.compare{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.compare::backdrop{background:#1412108c;backdrop-filter:blur(2px)}.compare__box{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;max-height:calc(100vh - 34px)}.compare__head{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 18px;border-bottom:1px solid var(--border)}.compare__title{flex:1;min-width:0;margin:0;overflow:hidden;font-size:15px;white-space:nowrap;text-overflow:ellipsis}.compare__actual{flex:none;font-size:13px}.compare__stage{display:grid;place-items:center;min-height:0;padding:12px;overflow:hidden;background:var(--surface-2)}.compare__stage--actual{place-items:start center;overflow:auto}.compare__frame{position:relative;width:min(100%,calc((100vh - 220px) * var(--ratio, 1.5)));aspect-ratio:var(--ratio, 1.5);user-select:none}.compare__stage--actual .compare__frame{max-width:none;aspect-ratio:auto}.compare__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.compare__stage--actual .compare__img{image-rendering:pixelated}.compare__divider{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent);box-shadow:0 0 0 1px #fff9;pointer-events:none}.compare__divider:after{content:"⇆";position:absolute;top:50%;left:50%;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:15px;transform:translate(-50%,-50%);box-shadow:var(--shadow)}.compare__tag{position:absolute;top:8px;padding:2px 8px;border-radius:999px;background:#1412109e;color:#fff;font-size:12px;pointer-events:none}.compare__tag--left{left:8px}.compare__tag--right{right:8px}.compare__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare__frame:has(.compare__range:focus-visible) .compare__divider{box-shadow:0 0 0 4px var(--accent-glow)}.compare__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.compare__side{display:grid;justify-items:center;gap:6px;margin:0}.compare__side img{max-width:100%;max-height:calc(100vh - 260px);border-radius:8px;object-fit:contain}.compare__side figcaption{color:var(--text-dim);font-size:12.5px}.compare__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:10px 18px;border-top:1px solid var(--border);color:var(--text-dim);font-size:13px;font-variant-numeric:tabular-nums}.compare__hint{margin:0;padding:0 18px 12px;color:var(--text-faint);font-size:12.5px}@media(width<=560px){.imglist{max-height:70vh}.imgrow{grid-template-columns:48px minmax(0,1fr);gap:8px 10px}.imgrow__thumb{width:48px;height:48px}.imgrow__side{grid-column:1 / -1;justify-content:space-between}.imgrow--ready,.imgrow--queued{grid-template-columns:48px minmax(0,1fr) auto}.imgrow--ready .imgrow__side,.imgrow--queued .imgrow__side{grid-column:auto}.imgrow--ready .imgrow__status{display:none}.imgrow__actions .btn--small{min-height:36px}.imgrow__actions .btn--icon{width:36px;height:36px}.imgbar__actions{width:100%}.imgbar__actions .btn{flex:1;min-height:42px}.dropzone--with-folder{flex-direction:column}.dropzone__folder{margin:0 0 12px}.compare{width:100vw;height:100vh;max-height:100vh;border-radius:0}.compare__box{height:100%;max-height:none}.compare__pair{grid-template-columns:1fr}}
