:root{--bg:oklch(13% 0.02 275);--bg-elev:oklch(18% 0.025 275);--surface:oklch(22% 0.03 275/0.6);--line:oklch(40% 0.03 275/0.4);--text:oklch(96% 0.01 275);--muted:oklch(70% 0.02 275);--accent:oklch(72% 0.18 30);--accent-2:oklch(74% 0.16 200);--ok:oklch(76% 0.18 150);--radius:16px;--space:clamp(1rem,0.6rem + 1.6vw,2rem);--text-hero:clamp(2.2rem,1.2rem + 3.6vw,4rem);--ease:cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(120% 80% at 85% -10%,oklch(30% .08 30/.25),transparent 60%),radial-gradient(100% 70% at 0 110%,oklch(30% .08 220/.2),transparent 55%),var(--bg);color:var(--text);font-family:-apple-system,Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;min-height:100dvh;line-height:1.5;letter-spacing:-.01em}.wrap{max-width:980px;margin:0 auto;padding:var(--space);padding-bottom:6rem}.masthead{display:flex;align-items:baseline;gap:.75rem;padding:2.5rem 0 1.5rem}.logo{font-weight:800;font-size:1.05rem;letter-spacing:.04em;padding:.3rem .6rem;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,oklch(74% .18 30/.18),transparent)}.masthead .sub{color:var(--muted);font-size:.85rem}.hero{padding:1rem 0 2.5rem}.hero h1{font-size:var(--text-hero);font-weight:800;line-height:1.02;letter-spacing:-.03em;background:linear-gradient(180deg,var(--text),oklch(78% .02 275));-webkit-background-clip:text;background-clip:text;color:transparent}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{color:var(--muted);margin-top:1rem;max-width:46ch;font-size:1.05rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.1rem,.8rem + 1vw,1.8rem);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.drop{display:grid;place-items:center;gap:.6rem;text-align:center;border:1.5px dashed var(--line);border-radius:var(--radius);padding:clamp(2rem,1.5rem + 4vw,4rem);cursor:pointer;transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease)}.drop.over,.drop:hover{border-color:var(--accent);background:oklch(74% .18 30/.06);transform:translateY(-2px)}.drop .big{font-size:1.2rem;font-weight:700}.drop .hint{color:var(--muted);font-size:.85rem}.drop input{display:none}.signals{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.4rem}@media (max-width:560px){.signals{grid-template-columns:1fr}}.sig{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s var(--ease),background .2s var(--ease)}.sig[data-on=true]{border-color:var(--accent-2);background:oklch(74% .16 200/.08)}.sig .dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--line);transition:background .2s}.sig[data-on=true] .dot{background:var(--accent-2);box-shadow:0 0 12px var(--accent-2)}.sig .t{font-weight:700}.sig .d{color:var(--muted);font-size:.82rem}.row{display:flex;gap:.8rem;align-items:center;margin-top:1.4rem;flex-wrap:wrap}button.cta{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:800;color:oklch(15% .02 275);background:linear-gradient(180deg,var(--accent),oklch(64% .18 30));padding:.85rem 1.5rem;border-radius:12px;letter-spacing:-.01em;transition:transform .2s var(--ease),box-shadow .2s var(--ease),opacity .2s;box-shadow:0 8px 28px oklch(64% .18 30/.35)}button.cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 36px oklch(64% .18 30/.45)}button.cta:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.drop:focus-visible,.sig:focus-visible,button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.file-chip{color:var(--muted);font-size:.9rem}.file-chip b{color:var(--text)}.progress{margin-top:1.6rem}.bar{height:10px;border-radius:999px;background:var(--bg-elev);overflow:hidden;border:1px solid var(--line)}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .6s var(--ease)}.stage{margin-top:.7rem;display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}.stage b{color:var(--text)}.result{margin-top:1.6rem;display:grid;gap:1rem}.result video{width:100%;max-width:340px;border-radius:14px;border:1px solid var(--line);background:#000;justify-self:center}.err{margin-top:1rem;color:oklch(72% .18 25);font-size:.9rem}@media (prefers-reduced-motion:reduce){*{transition:none!important}}