@font-face{font-family:Nanum Gothic;src:url(/fonts/NanumGothic-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Nanum Gothic;src:url(/fonts/NanumGothic-Bold.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Nanum Myeongjo;src:url(/fonts/NanumMyeongjo-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Nanum Myeongjo;src:url(/fonts/NanumMyeongjo-Bold.ttf)format("truetype");font-weight:700;font-style:normal}:root{--bg:#fff;--paper:#fff;--paper-muted:#fafafa;--ink:#0d0d0d;--ink-soft:#4f4f4f;--ink-faint:#767676;--line:#0d0d0d0f;--line-strong:#0d0d0d1a;--accent:#18e299;--accent-deep:#0fa76e;--danger:#d45656;--danger-soft:#d456561a;--success-soft:#18e2991f;--shadow:#00000008 0 2px 4px;--radius-xl:24px;--radius-lg:16px;--radius-md:12px;--content-width:1180px;--font-ui:"Inter", "Nanum Gothic", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-display:"Inter", "Nanum Gothic", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-mono:"Geist Mono", "D2Coding", "SFMono-Regular", Consolas, monospace;font-family:var(--font-ui);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#18e2992e,#0000 28rem),linear-gradient(#fff 0% 100%);font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:0 0;min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}#root{min-height:100svh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(calc(100% - 32px), var(--content-width));flex-direction:column;gap:18px;margin:0 auto;padding:28px 0 48px;display:flex}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 10px;font-size:.78rem}.shell-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.shell-header__copy{max-width:760px}.shell-header__copy h1{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(2.2rem,5vw,4rem);line-height:1.08}.shell-header__copy p:last-child{color:var(--ink-soft);margin:16px 0 0;font-size:1.02rem}.language-switch{border:1px solid var(--line);background:var(--paper-muted);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.language-switch__button{min-height:36px;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:0 14px;font-weight:500}.language-switch__button.is-active{color:#fff;background:#0d0d0d}.upload-stage,.queue{padding:24px}.upload-stage{flex-direction:column;gap:18px;display:flex}.upload-stage__header{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:18px;display:grid}.upload-stage__header h2,.queue h2{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.15}.upload-stage__subtitle,.queue-subtitle{color:var(--ink-soft);margin:10px 0 0}.upload-stage__status{border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(#ffffffeb,#d4fae852);flex-direction:column;gap:10px;padding:18px;display:flex}.upload-stage__progress,.meter-label,.queue-header,.queue-toolbar,.job-card__header,.job-card__footer,.job-actions,.notice-bar,.license-links{align-items:center;display:flex}.upload-stage__progress,.meter-label,.queue-header,.job-card__header,.job-card__footer{justify-content:space-between;gap:10px}.upload-stage__status p{color:var(--ink-soft);margin:0}.upload-drop{border:1px dashed var(--line-strong);border-radius:var(--radius-xl);background:linear-gradient(#fff,#18e29914);grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;transition:border-color .18s,background .18s,transform .18s;display:grid}.upload-drop.is-active{border-color:var(--accent);background:linear-gradient(#fff,#18e29929);transform:translateY(-1px)}.upload-drop__icon{aspect-ratio:1;color:#fff;letter-spacing:.08em;background:linear-gradient(#0d0d0d,#202020);border-radius:24px;place-items:center;width:88px;font-size:1.1rem;font-weight:600;display:grid}.upload-drop__copy strong{color:var(--ink);font-size:1.1rem;display:block}.upload-drop__copy p,.upload-drop__copy span{color:var(--ink-soft);margin:6px 0 0;display:block}.notice-bar{flex-direction:column;align-items:stretch;gap:10px}.notice-pill,.status-badge,.queue-meta span,.ad-slot__eyebrow{border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:.86rem;display:inline-flex}.notice-pill{border:1px solid var(--line);background:var(--paper-muted);width:fit-content;color:var(--ink-soft)}.notice-pill--success{color:var(--accent-deep);background:#18e2991f;border-color:#18e29933}.notice-pill--error{background:var(--danger-soft);color:var(--danger);border-color:#d456562e}.fidelity-note,.site-footer__note,.ad-slot p,.license-drawer__content p,.job-meta p,.job-error{color:var(--ink-soft);margin:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:16px}.metric-card span{color:var(--ink-soft);font-size:.92rem;display:block}.metric-card strong{color:var(--ink);margin-top:8px;font-size:1.5rem;line-height:1;display:block}.progress-track{background:#18e2991f;border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-track--large{height:12px}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent-deep), var(--accent));height:100%;transition:width .22s}.button{appearance:none;color:#fff;background:#0d0d0d;border:1px solid #0000;border-radius:999px;min-height:44px;padding:0 18px;font-weight:500;transition:transform .18s,border-color .18s,background .18s;box-shadow:0 1px 2px #0000000f}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.56;cursor:not-allowed}.button--ghost{color:var(--ink);border-color:var(--line-strong);box-shadow:none;background:#fff}.button--small{min-height:38px;padding:0 14px;font-size:.9rem}.ad-slot{flex-direction:column;gap:10px;padding:18px 20px;display:flex}.ad-slot ins{min-height:90px}.ad-slot__eyebrow{width:fit-content;color:var(--accent-deep);background:#18e2991a;border:1px solid #18e29933}.queue-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:10px}.queue-meta{flex-wrap:wrap;gap:10px;margin:2px 0 18px;display:flex}.queue-meta span{border:1px solid var(--line);background:var(--paper-muted);color:var(--ink-soft)}.empty-state{border-radius:var(--radius-lg);border:1px dashed var(--line-strong);text-align:center;background:#fff;padding:34px 18px}.empty-state p{color:var(--ink);margin:0 0 6px;font-size:1.05rem}.empty-state span{color:var(--ink-soft)}.job-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.job-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff;padding:18px}.job-meta{min-width:0}.job-meta h3{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;line-height:1.35;overflow:hidden}.job-title-row{align-items:center;gap:10px;display:flex}.job-card__progress{margin-top:14px}.job-card__footer{flex-wrap:wrap;margin-top:8px}.status-badge{border:1px solid #0000}.status-badge--success{color:var(--accent-deep);background:#18e2991f;border-color:#18e29933}.status-badge--error{background:var(--danger-soft);color:var(--danger);border-color:#d456562e}.status-badge--working{background:var(--paper-muted);color:var(--ink-soft);border-color:var(--line)}.job-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.job-error{color:var(--danger);margin-top:8px}.site-footer{padding-top:6px}.site-footer__note{color:var(--ink-faint);font-size:.92rem}.license-drawer{border-top:1px solid var(--line);color:var(--ink-faint);margin-top:10px;padding-top:10px}.license-drawer summary{cursor:pointer;color:var(--ink-soft);font-size:.94rem;font-weight:500}.license-drawer__content{flex-direction:column;gap:12px;margin-top:12px;font-size:.9rem;display:flex}.license-links{flex-wrap:wrap;gap:10px}.license-links span{color:var(--ink-faint)}.license-links a{color:var(--ink-soft);text-underline-offset:3px;text-decoration:underline}.license-block{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--paper-muted);padding:12px 14px}.license-block strong{color:var(--ink)}.license-block pre,.license-block p{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);margin:8px 0 0;font-size:.82rem;line-height:1.55}@media (width<=980px){.shell-header,.upload-stage__header,.upload-drop{grid-template-columns:1fr}.shell-header{flex-direction:column}.language-switch{width:fit-content}.upload-drop__icon{width:72px}}@media (width<=720px){.app-shell{width:min(calc(100% - 18px), var(--content-width));padding-top:16px}.upload-stage,.queue,.ad-slot{padding:18px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-header,.job-card__header,.job-actions,.queue-toolbar{flex-direction:column;align-items:stretch}.job-meta h3{white-space:normal}.upload-drop .button,.queue-toolbar .button,.job-actions .button{width:100%}}@media (width<=480px){.metric-grid{grid-template-columns:1fr}.language-switch{width:100%}.language-switch__button{flex:1 1 0}}
