@charset "UTF-8";
:root{--paper:#f6f6f6;--surface:#fff;--ink:#252525;--muted:#686868;--line:#e3e3e3;--accent:#d92c34;--accent-hover:#c62828;--accent-soft:#fde4e4;--focus:#b91c1c;--radius:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;-webkit-font-smoothing:antialiased;text-size-adjust:100%;-webkit-text-size-adjust:100%}
button,input,select{font:inherit}
a{color:inherit;text-decoration:none}
button,a,summary,select{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.55}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
[hidden]{display:none!important}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.header{max-width:960px;height:68px;margin:auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:9px;font-size:23px;font-weight:750;letter-spacing:-1px;white-space:nowrap}
.brand-mark{width:32px;height:32px;border-radius:10px;background:var(--accent);display:grid;place-items:center;color:#fff}
.brand-mark .icon{width:20px;height:20px;stroke-width:2.2}
.brand-ko{margin-left:8px;font-size:14px;letter-spacing:0;font-weight:500;color:var(--muted)}
.header-nav{display:flex;align-items:center;gap:22px}
.help-link{display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--muted);gap:7px}
.help-link:hover,footer a:hover{color:var(--accent)}
main{max-width:960px;margin:auto;padding:0 20px}
.hero{padding-top:18px}
.hero-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
h1{font-size:38px;line-height:1.2;font-weight:760;letter-spacing:-1.8px;margin:0}
h1>span{position:relative;isolation:isolate;white-space:nowrap}
h1>span:after{content:"";position:absolute;z-index:-1;inset:auto 0 3px;height:11px;background:var(--accent-soft);border-radius:3px}
.intro{margin:0;font-size:15px;color:var(--muted);white-space:nowrap}
.converter{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 3px 18px #00000003}
#convert-form{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px 10px}
form>label{grid-column:1/-1;display:block;font-size:14px;font-weight:650;color:#555}
.url-field{grid-area:2/1/3/2;display:flex;align-items:center;min-width:0;min-height:48px;padding:0 6px 0 13px;gap:10px;border:1px solid #dedede;border-radius:10px;background:#fafafa}
.url-field:focus-within{border-color:#d94c53;box-shadow:0 0 0 3px #d92c3414}
.link-icon{width:19px;height:19px;color:#777}
.url-field input{min-width:0;flex:1;width:100%;height:46px;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px}
.url-field input::placeholder{color:#858585}
.url-field:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.paste{flex-shrink:0;min-height:36px;padding:7px 10px;border:0;border-radius:7px;background:#efefef;font-size:14px;color:#5b5b5b;white-space:nowrap}
.paste:hover{background:#e6e6e6}
.url-hint{grid-area:3/1/4/2;margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.convert-button{grid-area:2/2/3/3;display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:48px;padding:11px 16px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;font-size:16px;font-weight:700}
.convert-button:hover{background:var(--accent-hover)}
.convert-button .icon{width:19px;height:19px}
.server-status{grid-area:3/2/4/3;display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--muted);font-size:14px;line-height:1.5;text-align:right}
.status-dot{width:5px;height:5px;border-radius:50%;background:#858585;flex-shrink:0}
.server-status.ready .status-dot{background:#789745}
.server-status.blocked{color:#975c39}
.server-status.blocked .status-dot{background:#b45a3d}
.cancel-button{grid-column:1/-1;justify-self:center;margin-top:2px}
#convert-form:has(#selection:not([hidden])){display:block}
#convert-form:has(#selection:not([hidden]))>label{margin-bottom:6px}
#convert-form:has(#selection:not([hidden])) .url-hint{display:none}
#convert-form:has(#selection:not([hidden])) .convert-button{width:100%;margin-top:14px}
#convert-form:has(#selection:not([hidden])) .server-status{justify-content:center;margin-top:9px}
#convert-form:has(#selection:not([hidden])) .cancel-button{display:block;margin:10px auto 0}
.video-preview{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:13px;margin:12px 0 14px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.video-preview img{width:72px;height:56px;border-radius:8px;object-fit:cover;background:#f0f0f0}
.video-preview h2{margin:0 0 3px;font-size:18px;line-height:1.4;font-weight:700;letter-spacing:-.3px;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.video-preview p{display:inline;margin:0;font-size:14px;color:var(--muted)}
#video-duration{margin-left:8px;padding-left:8px;border-left:1px solid var(--line);font-size:14px;color:var(--muted);white-space:nowrap}
.option-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px}
.format-picker,.quality-row{min-width:0}
.format-label,.quality-row label{display:block;margin:0 0 6px;color:#555;font-size:14px;font-weight:650}
.formats{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid #e8e8e8;border-radius:9px;background:#f3f3f3}
.format{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:6px 10px;border:1px solid transparent;border-radius:6px;cursor:pointer;color:var(--muted)}
.format input{position:absolute;opacity:0;width:1px;height:1px}
.format:has(input:checked){background:#fff;color:#b1222b;border-color:#efbfc2;box-shadow:0 1px 3px #00000005}
.format:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.format:has(input:disabled){opacity:.4;cursor:not-allowed}
.format b{font-size:15px;font-weight:650;letter-spacing:.2px}
.format-icon{width:18px;height:18px}
.quality-row select{display:block;width:100%;min-width:0;height:46px;padding:8px 12px;border:1px solid #dedede;border-radius:9px;background:#fff;color:#454545;font-size:16px}
.selection-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 14px;margin-top:9px;font-size:14px;color:var(--muted)}
.size-estimate,.tag-note{margin:0;line-height:1.5}
.tag-note{display:flex;align-items:center;gap:4px}
.tag-note .icon{width:14px;height:14px;color:#74874e}
.quality-note{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.result{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px 14px;font-size:15px;line-height:1.5}
.result-top b{min-width:0;overflow-wrap:anywhere}
.result-top>span{flex-shrink:0;color:var(--muted);font-size:14px}
.result p{margin:7px 0;color:var(--muted);font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.result p:empty,.result-top>span:empty{display:none}
.result.error .result-top b{color:#a34d34}
.result .result-action{margin-top:8px;padding:9px 11px;background:#fff4ed;color:#975c39;border-radius:7px}
.retry-button{min-height:40px;padding:8px 12px;border:1px solid #dedede;border-radius:8px;background:#fff;color:#555;font-size:14px}
.retry-button:hover{background:#f5f5f5}
.converter:has(.result:not([hidden])) .server-status{display:none}
progress{display:block;width:100%;height:4px;margin-top:12px;border:0;border-radius:4px;accent-color:var(--accent);background:#f4e8e9;overflow:hidden}
progress::-webkit-progress-bar{background:#f4e8e9}
progress::-webkit-progress-value{background:var(--accent);border-radius:4px}
.desktop-download{display:grid;grid-template-columns:155px minmax(0,1fr);align-items:center;gap:8px 18px;margin-top:16px;padding:17px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);scroll-margin-top:16px}
.desktop-heading h2{margin:0 0 4px;font-size:18px;font-weight:700;letter-spacing:-.4px}
.beta-label{font-size:14px;color:var(--muted)}
.desktop-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.desktop-card{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafafa}
.desktop-card:hover{border-color:#e79da1;background:#fff6f6}
.desktop-card b{display:block;font-size:15px;font-weight:650}
.desktop-card small{display:block;margin-top:2px;font-size:14px;line-height:1.5;color:var(--muted);word-break:keep-all}
.desktop-card>.icon{width:19px;height:19px;color:var(--accent)}
.desktop-note{grid-column:2;margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.desktop-note a{color:#a3222a;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.help-section{margin-top:12px;padding:0 4px}
.help-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:10px 0;font-size:14px;color:#555;cursor:pointer;list-style:none}
.help-toggle .icon{width:17px;height:17px}
summary::-webkit-details-marker{display:none}
.help-panel[open]>.help-toggle .icon,.faq-list>details[open]>summary .icon{transform:rotate(180deg)}
.faq-list{padding-bottom:4px}
.faq-list>details{border-top:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 0;list-style:none;cursor:pointer;font-size:14px;font-weight:550}
.faq-list summary .icon{width:15px;height:15px}
.faq-list p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.75}
footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;max-width:920px;margin:8px auto 20px;padding:14px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
footer>a{display:flex;align-items:center;min-height:36px}
.use-note{margin:0;font-size:14px;line-height:1.6}
.url-hint,.quality-note,.result p,.faq-list p,.desktop-note,.use-note{word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:700px){
 .header{height:62px;padding:0 18px}.brand{font-size:22px}.header-nav{gap:18px}
 main{padding:0 18px}.hero{padding-top:12px}.hero-heading{margin-bottom:14px}
 h1{font-size:32px}.intro{font-size:14px}.converter{padding:18px}
 .desktop-download{grid-template-columns:1fr;padding:15px 18px;gap:12px}
 .desktop-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
 .desktop-heading h2{margin:0;font-size:17px}.desktop-note{grid-column:1}
 footer{margin:8px 18px 18px}
}
@media(max-width:520px){
 .header{height:60px;padding:0 16px}.brand-ko{display:none}.header-nav{gap:16px}
 main{padding:0 16px}.hero{padding-top:10px}.hero-heading{align-items:flex-start;gap:6px;margin-bottom:14px;flex-direction:column}
 h1{font-size:30px;letter-spacing:-1.3px}.intro{font-size:14px}
 .converter{padding:16px}.url-field{gap:6px;padding-left:10px}.link-icon{display:none}
 #convert-form{grid-template-columns:minmax(0,1fr) 88px;gap:8px}
 .paste{padding:7px 8px;min-height:40px}.url-field input{font-size:16px}
 .convert-button{font-size:14px;padding:10px;min-height:48px}
 #convert-form:not(:has(#selection:not([hidden]))) .convert-button .icon{display:none}
 .url-hint{grid-column:1/-1;font-size:14px}
 .server-status{grid-area:4/1/5/3;justify-content:flex-start;text-align:left}
 .cancel-button{grid-row:5}
 .video-preview{grid-template-columns:64px minmax(0,1fr);gap:10px;margin-top:12px;padding-bottom:12px;margin-bottom:12px}
 .video-preview img{width:64px;height:52px}.video-preview h2{font-size:16px}.video-preview p{display:inline;font-size:14px}
 #video-duration{font-size:14px;margin-left:6px;padding-left:6px}
 .option-grid{grid-template-columns:1fr;gap:10px}
 .format-picker,.quality-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center}
 .format-label,.quality-row label{margin:0}.quality-row select{font-size:16px}
 .selection-summary{gap:4px 12px;margin-top:9px}
 #convert-form:has(#selection:not([hidden])) .convert-button{font-size:16px;margin-top:12px}
 .result-top{flex-wrap:wrap}.result-top b{max-width:100%}
 .desktop-download{margin-top:12px;padding:14px}.desktop-options{gap:8px}
 .desktop-card{align-items:flex-start;padding:10px;gap:4px}.desktop-card b{font-size:14px}.desktop-card small{font-size:14px}.desktop-card>.icon{width:16px;height:16px;margin-top:3px}
 .desktop-note{font-size:14px}.help-section{margin-top:6px}
 footer{margin:4px 16px 16px;gap:8px 14px}.use-note{flex-basis:100%;order:3}
}
@media(max-width:360px){.header-nav{gap:12px}.brand{font-size:21px}.brand-mark{width:30px;height:30px}.desktop-card>.icon{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
