:root{color-scheme:light;--primary: oklch(.4 .13 0);--primary-hover: oklch(.34 .12 0);--primary-soft: oklch(.955 .018 0);--background: oklch(1 0 0);--surface: oklch(.97 .004 0);--ink: oklch(.19 .018 0);--muted: oklch(.455 .018 0);--border: oklch(.875 .008 0);--success: oklch(.43 .105 150);--success-soft: oklch(.94 .026 150);--error: oklch(.45 .16 25);--error-soft: oklch(.96 .025 25);--focus: oklch(.4 .13 0 / .24);--ease: cubic-bezier(.22, 1, .36, 1);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--background);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.topbar{width:min(1120px,calc(100% - 40px));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:16px;font-weight:760;letter-spacing:-.02em}.brand-mark{display:inline-flex;align-items:end;gap:2px;width:21px;height:21px;padding:4px;background:var(--primary);border-radius:5px}.brand-mark span{display:block;width:3px;border-radius:1px;background:var(--background)}.brand-mark span:nth-child(1){height:7px}.brand-mark span:nth-child(2){height:13px}.brand-mark span:nth-child(3){height:10px}.constraints{display:flex;gap:8px}.constraint,.auto-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:680}.engine-status:before{content:"";width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--primary);animation:engine-pulse 1.2s var(--ease) infinite}.engine-status.is-ready{color:var(--success)}.engine-status.is-ready:before{background:var(--success);animation:none}.engine-status.is-fallback{color:var(--muted)}.engine-status.is-fallback:before{background:var(--muted);animation:none}.shell{width:min(760px,calc(100% - 40px));margin:64px auto 0}.intro{text-align:center;margin-bottom:32px}.intro h1{max-width:680px;margin:0 auto;font-size:38px;line-height:1.08;letter-spacing:-.035em;font-weight:760;text-wrap:balance}.intro p{max-width:620px;margin:16px auto 0;color:var(--muted);line-height:1.65;text-wrap:pretty}.workspace{position:relative}.state-panel{padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--background)}.drop-zone{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:32px 20px;border:1.5px dashed oklch(.72 .025 0);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease)}.drop-zone:hover,.drop-zone.is-dragging{border-color:var(--primary);background:var(--primary-soft)}.drop-zone.is-dragging{box-shadow:0 4px 8px #7b1f4524}.drop-zone:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.drop-zone strong{font-size:18px;letter-spacing:-.015em}.drop-zone>span:not(.upload-icon):not(.select-button){color:var(--muted);font-size:13px;text-align:center}.upload-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:5px;border-radius:12px;background:var(--background);color:var(--primary)}.upload-icon svg,.primary-button svg,.secondary-button svg,.icon-button svg,.success-mark svg,.privacy-note svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.select-button{margin-top:10px;padding:9px 15px;border:1px solid var(--border);border-radius:8px;background:var(--background);font-size:14px;font-weight:680}.file-card{min-height:104px;display:flex;align-items:center;gap:16px;padding:12px;border-radius:12px;background:var(--surface)}.file-card video{width:108px;height:80px;object-fit:cover;border-radius:8px;background:#0b0b0b}.file-info{min-width:0;display:flex;flex:1;flex-direction:column;gap:7px}.file-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.file-info span{color:var(--muted);font-size:13px}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.icon-button:hover{background:#e9e2e4;color:var(--ink)}.target-row{min-height:72px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.target-row>div{display:flex;flex-direction:column;gap:4px}.target-label{color:var(--muted);font-size:12px;font-weight:650}.target-row strong{font-size:14px}.auto-badge{background:var(--primary-soft);color:var(--primary)}.primary-button,.secondary-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:8px;font-size:15px;font-weight:720;text-decoration:none;cursor:pointer;transition:background-color .16s var(--ease),transform .16s var(--ease)}.primary-button{width:100%;border:0;background:var(--primary);color:var(--background)}.primary-button:hover:not(:disabled){background:var(--primary-hover)}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{background:#c2b3b7;cursor:not-allowed}.primary-button svg{width:19px;height:19px}.secondary-button{border:1px solid var(--border);background:var(--background);color:var(--ink)}.secondary-button:hover{background:var(--surface)}.processing-panel{min-height:490px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.processing-visual{position:relative;width:116px;height:116px;margin-bottom:24px}.frame{position:absolute;inset:14px;border:2px solid var(--primary);border-radius:10px;background:var(--background)}.frame-a{transform:translate(-10px,8px);opacity:.22}.frame-b{transform:translate(0);opacity:.5}.frame-c{transform:translate(10px,-8px);background:var(--primary-soft);animation:frame-process 1.8s var(--ease) infinite}.processing-copy{position:relative}.progress-value{display:inline-block;margin-bottom:8px;color:var(--primary);font-size:13px;font-weight:760}.processing-copy h2,.result-heading h2{margin:0;font-size:22px;letter-spacing:-.025em}.processing-copy p,.result-heading p{margin:7px 0 0;color:var(--muted);font-size:14px}.progress-track{width:min(420px,100%);height:6px;margin-top:28px;overflow:hidden;border-radius:999px;background:var(--surface)}.progress-track span{display:block;width:12%;height:100%;border-radius:inherit;background:var(--primary);transition:width .7s var(--ease)}.steps{width:min(480px,100%);margin:18px 0 0;padding:0;display:flex;justify-content:space-between;list-style:none;color:var(--muted);font-size:12px}.steps li{position:relative}.steps li.is-current,.steps li.is-done{color:var(--ink);font-weight:680}.steps li.is-done:before{content:"✓ ";color:var(--success)}.result-panel{padding:32px}.result-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.success-mark{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--success-soft);color:var(--success)}.result-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:24px}.gif-preview-wrap{min-height:300px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background-color:var(--surface);background-image:linear-gradient(45deg,oklch(.92 0 0) 25%,transparent 25%),linear-gradient(-45deg,oklch(.92 0 0) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,oklch(.92 0 0) 75%),linear-gradient(-45deg,transparent 75%,oklch(.92 0 0) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.gif-preview-wrap img{display:block;width:100%;max-height:410px;object-fit:contain}.metrics{margin:0;display:grid;grid-template-columns:1fr;align-content:start}.metrics div{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.metrics dt{color:var(--muted);font-size:13px}.metrics dd{margin:0;text-align:right;font-size:15px;font-weight:720}.result-actions{margin-top:24px;display:grid;grid-template-columns:1fr auto;gap:10px}.error-message{margin-top:14px;padding:16px;display:flex;align-items:center;gap:12px;border-radius:10px;background:var(--error-soft);color:var(--error)}.error-icon{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--error);color:var(--background);font-weight:800}.error-message div{flex:1}.error-message strong{font-size:14px}.error-message p{margin:3px 0 0;color:var(--ink);font-size:13px;line-height:1.45}.error-message button{border:0;background:transparent;color:var(--error);font-size:13px;font-weight:750;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.privacy-note{display:flex;justify-content:center;align-items:center;gap:8px;margin:17px 0 0;color:var(--muted);font-size:12px}.privacy-note svg{width:16px;height:16px}footer{width:min(1120px,calc(100% - 40px));margin:64px auto 0;padding:24px 0 32px;border-top:1px solid var(--border);color:var(--muted);text-align:center;font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes frame-process{0%,to{transform:translate(10px,-8px)}50%{transform:translate(4px,-3px)}}@keyframes engine-pulse{0%,to{opacity:.35}50%{opacity:1}}@media(max-width:680px){.topbar{width:min(100% - 28px,1120px);min-height:62px}.constraint:last-child{display:none}.shell{width:min(100% - 28px,760px);margin-top:40px}.intro{margin-bottom:24px}.intro h1{font-size:30px}.intro p{font-size:14px}.state-panel{padding:14px}.drop-zone{min-height:246px;padding:24px 14px}.target-row{padding:0 4px}.target-row strong{font-size:13px}.processing-panel{min-height:440px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;text-align:left}.result-panel{padding:20px 14px}.result-content{grid-template-columns:1fr;gap:12px}.gif-preview-wrap{min-height:240px}.metrics{grid-template-columns:1fr 1fr;gap:0 14px}.metrics div{min-height:62px;display:block;padding:10px 0}.metrics dd{margin-top:5px;text-align:left}.result-actions{grid-template-columns:1fr}.error-message{align-items:flex-start;flex-wrap:wrap}footer{margin-top:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
