@charset "UTF-8";
:root {
  --bg:#f7f9fd; --surface:#fff; --ink:#18223b; --muted:#748099; --line:#e6ebf3;
  --blue:#4c63ed; --blue-dark:#3d50d6; --blue-soft:#eef2ff; --radius:22px;
  font-family:"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;
  color:var(--ink);background:var(--bg);font-synthesis:none;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}
body{margin:0;background:radial-gradient(ellipse 65% 470px at 50% 90px,#edf2ff 0%,transparent 100%)}
button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.6;transform:none}a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #8c9aff;outline-offset:4px}
input{min-width:0}h1,h2,h3,p{margin:0}p{line-height:1.75}[hidden]{display:none!important}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.shell{width:min(960px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:absolute;top:-60px;left:20px;padding:12px;background:var(--surface);z-index:10}.skip-link:focus{top:12px}
.site-header{background:#ffffffbd;border-bottom:1px solid #e7ecf580}
.header-inner{max-width:1184px;width:calc(100% - 80px);margin-inline:auto;height:88px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:23px;letter-spacing:-1.2px;font-weight:800}
.brand-symbol{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:var(--blue);color:white;box-shadow:0 4px 12px #4c63ed22}
.brand-symbol .icon{width:25px;height:25px;stroke-width:1.9}.brand>span:last-child{display:flex;align-items:center}
.brand-divider{height:15px;width:1px;background:#d9dfeb;margin:0 14px 0 17px}
.brand-caption{font-size:13px;letter-spacing:-.2px;font-weight:450;color:#65738b}
.header-actions{display:flex;gap:24px;align-items:center}.help-link{color:#65738b;font-size:13px;text-decoration:none}.help-link:hover{color:var(--blue)}
.private-badge{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:500;color:#65738b;background:#f2f5fa;padding:8px 11px;border-radius:8px}
.private-badge .icon{width:14px;height:14px;color:#7c8ba8}
.text-button{background:transparent;color:#65738b;padding:7px 0;display:flex;align-items:center;gap:7px;font-size:12px}.text-button .icon{width:15px;height:15px}
.hero{text-align:center;padding:56px 0 35px}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:2px;color:#65738b}
.eyebrow-line{width:17px;height:2px;border-radius:2px;background:#8fa0ff}
h1{font-size:44px;letter-spacing:-2.5px;line-height:1.45;font-weight:780;margin-top:13px}h1 span{color:var(--blue)}
.hero-description{font-size:14px;color:#65738b;margin-top:12px;letter-spacing:-.3px}.mobile-break{display:none}
.panel{background:var(--surface);border:1px solid #e1e7f2;border-radius:var(--radius);box-shadow:0 12px 38px -17px #3a50931c,0 2px 5px #243a6410}
.converter{padding:28px 32px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.heading-group{display:flex;gap:10px;align-items:center}.heading-group h2{font-size:15px;font-weight:700;letter-spacing:-.4px}
.section-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid #e0e7ff;background:#f3f5ff;color:#667cef;border-radius:9px}
.section-icon .icon{width:19px;height:19px}.format-tag{display:flex;gap:7px;align-items:center;font-size:12px;color:#65738b}
.format-tag>span{width:5px;height:5px;border-radius:50%;background:#8b9af1}
.field-label{display:block;font-size:12px;font-weight:650;color:#58657e;margin-bottom:10px}
.url-field{display:flex;align-items:center;gap:13px;height:68px;padding:8px 10px 8px 20px;border:1.5px solid #dce3f1;border-radius:13px;background:#fbfcff;transition:border-color .18s,box-shadow .18s}
.url-field>.icon{color:#a1adca;width:22px;height:22px}
.url-field:focus-within{border-color:#8495f9;background:white;box-shadow:0 0 0 4px #4c63ed0b}
input[type=url]{background:transparent;border:0;width:100%;height:100%;color:var(--ink);font-size:14px}input[type=url]:focus{outline:none}
input::placeholder{color:#65738b;opacity:1}
.paste-button{display:inline-flex;justify-content:center;align-items:center;gap:7px;white-space:nowrap;font-size:12px;color:#65738b;background:white;border:1px solid #e3e8f2;padding:11px 13px;border-radius:8px;box-shadow:0 1px 3px #253d6b06}
.paste-button .icon{width:14px;height:14px}.paste-button:hover{color:var(--blue);border-color:#bbc6fa}
.input-hint{margin-top:9px;font-size:12px;color:#65738b}
.convert-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:25px 0 28px}
.quality{margin:0;padding:0;border:0;min-width:0}.quality legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:600;color:#65738b}
.quality-options{display:flex;gap:7px}.quality-options label{position:relative;cursor:pointer}
.quality-options input{position:absolute;opacity:0;width:1px;height:1px}
.quality-options label>span{display:flex;align-items:center;gap:4px;height:40px;padding:0 13px;color:#65738b;border:1px solid #e4e9f2;border-radius:8px;font-size:12px;transition:background .15s,border-color .15s}
.quality-options strong{font-size:13px;font-weight:600;color:#65738b}
.quality-options em{display:inline-block;margin-left:4px;font-style:normal;font-size:10px;color:#65738b}
.quality-options input:checked+span{background:#f0f3ff;border-color:#a8b5ff;color:#4c61b8}
.quality-options input:checked+span strong,.quality-options input:checked+span em{color:#4158bd}
.quality-options input:focus-visible+span{outline:3px solid #9aa9ff;outline-offset:3px}
.primary-button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:48px;padding:0 21px;color:white;background:var(--blue);font-size:13px;font-weight:650;border-radius:10px;box-shadow:0 4px 10px #4c63ed20;transition:background .15s,transform .15s}
.primary-button .icon{width:18px;height:18px}.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.convert-button{min-width:195px}
.converter-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #eef1f7;padding:16px 0;color:#65738b;font-size:12px}
.converter-foot>span{display:flex;align-items:center;gap:7px}.converter-foot .icon{width:13px;height:13px;color:#9daac2}
.initial-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 0 45px;font-size:13px;color:var(--muted)}
.spinner{display:inline-block;width:13px;height:13px;border:1.5px solid #dce3fa;border-top-color:#6d81eb;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}
.welcome{text-align:center;padding:2px 0 24px}
.welcome-icon{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 14px;background:var(--blue-soft);color:#7387e6;border:1px solid #e1e7ff;border-radius:14px}
.welcome h3{font-size:17px;font-weight:650;letter-spacing:-.5px}.welcome p{margin-top:7px;font-size:13px;color:#65738b}
.input-row{display:flex;gap:12px;margin-bottom:28px}
input[type=password]{width:100%;padding:15px 18px;border:1px solid #dce3f1;border-radius:10px;background:#fbfcff;font-size:14px;color:var(--ink)}
.input-row .primary-button{min-width:155px}
.feedback{margin:0 0 22px;padding:12px 15px;font-size:12px;color:#a24856;border:1px solid #f1dfe2;background:#fff7f8;border-radius:9px;overflow-wrap:anywhere}
.feedback.success{color:#4c61b8;background:#f5f7ff;border-color:#e3e9ff}
.jobs-section{margin-top:33px}.jobs-heading{display:flex;justify-content:space-between;align-items:center;padding:0 3px;margin-bottom:16px}
.jobs-heading h2{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:-.5px}
.jobs-heading h2>span{font-size:12px;background:#e9eefb;border:1px solid #e1e7f7;color:#6b7fae;min-width:22px;padding:3px 6px;border-radius:6px;text-align:center}
.jobs-heading p{font-size:12px;color:#65738b;margin-top:7px}
.live-indicator{display:flex;align-items:center;gap:6px;color:#65738b;font-size:11px;white-space:nowrap}.live-indicator i{width:5px;height:5px;border-radius:50%;background:#93b5ad}
.empty-state{display:flex;align-items:center;flex-direction:column;padding:28px 16px 25px;border:1px dashed #dce3f1;border-radius:15px;background:#ffffff82;text-align:center}
.empty-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#eef2fc;border:1px solid #e0e7f7;color:#9aabd7;margin-bottom:12px}
.empty-icon .icon{width:21px;height:21px}.empty-state h3{font-size:13px;font-weight:550;color:#65738b}.empty-state p{font-size:12px;color:#65738b;margin-top:6px}
.empty-caption{display:flex;gap:14px;align-items:center;font-size:11px;color:#65738b;margin-top:17px}.empty-caption>span{color:#b4bfd5}
.job-list{display:grid;gap:12px}.job-card{padding:22px;border:1px solid #e2e8f3;background:white;border-radius:15px;box-shadow:0 3px 9px #243e6c04}
.job-top{display:flex;align-items:center;gap:14px}
.job-icon{display:grid;place-items:center;width:43px;height:48px;flex-shrink:0;color:#7185dd;border:1px solid #dfe6fb;background:#f2f5ff;border-radius:10px}.job-icon .icon{width:23px;height:23px}
.job-copy{flex:1;min-width:0}
.job-copy h3{font-size:14px;color:#3b4966;font-weight:650;line-height:1.65;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.job-meta{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center;margin-top:7px;color:#65738b;font-size:12px}
.job-meta>span+span::before{content:"·";margin-right:10px;color:#c0cadb}
.job-format{font-size:10px;color:#65738b;padding:2px 5px;border:1px solid #e3e9f7;border-radius:4px;letter-spacing:.6px}
.job-status{display:flex;align-items:center;gap:7px;font-size:12px;color:#65738b;white-space:nowrap;margin-left:15px}
.job-status.error{color:#a24856}.job-status.expired{color:#65738b}.job-status.queued{padding:6px 9px;background:#f4f6fa;border-radius:6px;color:#65738b}
.job-progress{margin:20px 0 0 57px}.stage-rail{display:flex;align-items:center;margin-bottom:17px}
.stage{display:flex;align-items:center;gap:6px;color:#65738b;font-size:11px;position:relative;flex:1}.stage:last-child{flex:0 0 auto}
.stage::after{content:"";height:1px;background:#e9edf5;flex:1;margin-inline:10px}.stage:last-child::after{display:none}
.stage-dot{display:grid;place-items:center;width:16px;height:16px;font-size:10px;border:1px solid #dfe5f0;background:#fbfcff;border-radius:50%;color:#65738b}
.stage-dot .icon{width:10px;height:10px;stroke-width:2}.stage.is-complete{color:#65738b}
.stage.is-complete .stage-dot{background:#eaf0ff;border-color:#e1e8ff;color:#8298df}.stage.is-current{color:#4c61b8;font-weight:600}
.stage.is-current .stage-dot{background:#4c63ed;border-color:#4c63ed;color:white;box-shadow:0 0 0 3px #eff2ff}
.stage-progress{display:block;appearance:none;width:100%;height:6px;margin:0;background:#edf1fa;border:0;border-radius:10px;overflow:hidden;accent-color:#7388ee}
.stage-progress::-webkit-progress-bar{background:#edf1fa;border-radius:10px}
.stage-progress::-webkit-progress-value{background:#7388ee;border-radius:10px;transition:width .4s}
.stage-progress::-moz-progress-bar{background:#7388ee;border-radius:10px}
.stage-progress:indeterminate{animation:progress-pulse 1.5s ease-in-out infinite}
.stage-progress:indeterminate::-webkit-progress-bar{background:linear-gradient(90deg,#edf1fa 0%,#cdd8ff 50%,#edf1fa 100%);background-size:200% 100%}
.progress-details{display:flex;flex-wrap:wrap;align-items:center;gap:5px 16px;color:#65738b;font-size:11px;line-height:1.8;margin-top:9px}
.progress-details .elapsed-info{margin-left:auto}
.job-error{margin:15px 0 0 57px;padding:12px 15px;color:#a24856;background:#fff7f8;border:1px solid #f4e4e7;border-radius:8px;font-size:12px;overflow-wrap:anywhere}
.job-error>span{display:block;margin-top:4px;color:#a24856;font-size:12px}
.download-button{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;margin-left:15px;background:var(--blue);color:white;border:1px solid var(--blue);padding:11px 15px;border-radius:8px;text-decoration:none;font-size:12px;font-weight:600;transition:background .15s}
.download-button .icon{width:15px;height:15px}.download-button:hover{background:var(--blue-dark)}
.ready-note{margin:10px 0 0 57px;font-size:11px;color:#65738b;display:flex;align-items:center;gap:5px}.ready-note .icon{width:11px;height:11px}
.guide{display:grid;grid-template-columns:240px 1fr;gap:55px;margin-top:44px;padding-top:30px;border-top:1px solid #e5eaf3}
.guide-heading{padding-top:13px}.guide-heading .eyebrow{justify-content:flex-start;font-size:10px;letter-spacing:1.6px;color:#65738b}
.guide-heading h2{font-size:17px;font-weight:600;letter-spacing:-.6px;margin-top:9px;color:#65738b}
.faq-list details{border-bottom:1px solid #e6ebf4}
.faq-list summary{padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;font-size:12px;color:#65738b}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{width:13px;height:13px;color:#a3b0c7;transition:transform .2s}
.faq-list details[open] summary{color:#4c61b8}.faq-list details[open] summary .icon{transform:rotate(180deg)}
.faq-list details p{font-size:12px;color:#65738b;padding:0 17px 16px 0;line-height:1.9}
.notice{display:flex;align-items:flex-start;gap:7px;margin:26px 0 35px;color:#65738b}.notice .icon{width:13px;height:13px;margin-top:3px}.notice p{font-size:11px}
.footer{border-top:1px solid #e4eaf4;padding:24px 0 30px;display:flex;align-items:center;justify-content:space-between;color:#65738b;font-size:11px}
.footer-brand{font-size:14px;color:#65738b;font-weight:650;letter-spacing:-.4px}.footer-brand>span{font-size:11px;font-weight:400;color:#65738b;margin-left:16px}
.footer>span:last-child{display:flex;align-items:center;gap:12px}.footer .icon{width:17px;height:17px;color:#a0b0d5}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress-pulse{50%{opacity:.45}}
@media(min-width:1440px){.hero{padding-top:64px;padding-bottom:40px}}
@media(max-width:760px){
  .shell{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px);height:76px}
  .brand-caption,.brand-divider{display:none}.header-actions{gap:17px}.hero{padding:42px 0 30px}
  h1{font-size:36px;letter-spacing:-2px}.hero-description{font-size:13px}.converter{padding:24px 24px 0}
  .convert-button{min-width:177px;gap:20px}.quality-options label>span{padding-inline:10px}.quality-options{gap:5px}
  .job-card{padding:19px}.job-top{gap:12px}.job-copy h3{font-size:13px}.job-status{font-size:11px;margin-left:5px}
  .download-button{margin-left:5px}.job-progress,.job-error,.ready-note{margin-left:55px}
  .guide{grid-template-columns:180px 1fr;gap:27px}
}
@media(max-width:520px){
  .shell{width:calc(100% - 32px)}.header-inner{width:calc(100% - 36px);height:72px}
  .brand{font-size:21px;gap:9px}.brand-symbol{width:34px;height:34px;border-radius:10px}.brand-symbol .icon{width:22px;height:22px}
  .header-actions{gap:12px}.help-link{display:none}.private-badge{font-size:11px;padding:7px 8px}.private-badge .icon{width:12px;height:12px}
  .text-button{font-size:12px;gap:4px}.text-button .icon{width:13px;height:13px}.hero{padding:35px 0 27px}
  .eyebrow{font-size:10px;letter-spacing:1.6px}h1{font-size:34px;margin-top:12px;letter-spacing:-1.7px;line-height:1.43}
  .mobile-break{display:block}.hero-description{font-size:12px;line-height:1.9;margin-top:12px}
  .converter{padding:22px 18px 0;border-radius:17px}.section-heading{margin-bottom:22px}.heading-group{gap:8px}
  .heading-group h2{font-size:14px}.section-icon{width:28px;height:28px}.format-tag{font-size:10px;gap:5px}
  .url-field{height:61px;padding-left:12px;padding-right:7px;gap:9px;border-radius:10px}.url-field>.icon{width:17px;height:17px}
  input[type=url]{font-size:12px}.paste-button{font-size:11px;padding:10px 8px;gap:5px}.paste-button .icon{width:12px;height:12px}
  .input-hint{font-size:11px}.field-label{font-size:12px}.convert-bottom{display:block;margin:22px 0}
  .quality-options{gap:7px}.quality-options label>span{padding-inline:13px}
  .convert-button{width:100%;margin-top:22px;justify-content:space-between;height:49px}
  .converter-foot{font-size:10px;gap:5px;padding-block:15px}.converter-foot>span{gap:4px}.converter-foot .icon{width:11px;height:11px}
  .input-row{display:block;margin-bottom:22px}.input-row .primary-button{width:100%;margin-top:11px;justify-content:space-between}
  .welcome h3{font-size:15px}.welcome p{font-size:12px}.feedback{font-size:12px}
  .jobs-section{margin-top:27px}.jobs-heading h2{font-size:14px}.jobs-heading p{font-size:11px}.live-indicator{font-size:10px}
  .job-card{padding:17px 14px;border-radius:12px}.job-top{display:grid;grid-template-columns:36px 1fr;align-items:flex-start;gap:0 11px}
  .job-icon{width:36px;height:42px;border-radius:9px}.job-icon .icon{width:20px;height:20px}.job-copy h3{font-size:12px}
  .job-meta{font-size:11px;gap:5px 7px;margin-top:6px}.job-meta>span+span::before{margin-right:7px}
  .job-status{grid-column:2;margin:11px 0 0;font-size:11px}.job-status.queued{justify-self:flex-start;margin-top:10px}
  .download-button{grid-column:2;margin:13px 0 0;width:fit-content;padding:10px 14px;font-size:12px}
  .job-progress{margin:17px 0 0}.job-error{margin:15px 0 0;font-size:12px}.ready-note{margin:11px 0 0 47px;font-size:10px}
  .stage{font-size:10px;gap:4px}.stage::after{margin-inline:6px}.stage-rail{margin-bottom:13px}.stage-dot{width:15px;height:15px;font-size:7px}
  .progress-details{font-size:10px;gap:4px 10px}.progress-details .elapsed-info{margin-left:0}
  .guide{display:block;margin-top:32px;padding-top:22px}.guide-heading{padding-top:0;padding-bottom:12px}
  .guide-heading h2{font-size:15px;margin-top:7px}.faq-list summary{font-size:12px;padding:15px 0}.faq-list details p{font-size:12px}
  .notice{margin:23px 0;gap:6px}.notice p{font-size:10px;line-height:1.9}.notice .icon{width:11px;height:11px}
  .footer{font-size:10px;padding:21px 0 25px}.footer-brand{font-size:13px}.footer-brand>span{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

