:root{--background:#fafafa;--surface:#fff;--surface-subtle:#f5f5f5;--text:#111;--muted:#6b6b6b;--border:#e5e5e5;--primary:#2f6feb;--success:#137a3f;--danger:#dc2626;color:var(--text);background:var(--background);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--text);margin:0;line-height:1.5}button,input{font:inherit}button{border:0}button:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:disabled,.file-button.is-disabled{cursor:not-allowed;opacity:.5}#root{min-height:100vh}.app-shell{width:min(1040px,100% - 32px);margin:0 auto;padding:32px 0 48px}.app-header{gap:4px;margin-bottom:16px;display:grid}.app-header-main{justify-content:space-between;align-items:center;gap:12px;display:flex}h1,h2,p,dl,dd{margin:0}h1,h2{color:var(--text);font-weight:600;line-height:1.2}h1{font-size:24px}h2{font-size:16px}p{color:var(--muted)}.app-header p{font-size:14px}.update-history-trigger{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:600;display:inline-flex}.update-history-trigger:hover{border-color:var(--primary);color:var(--primary)}.update-history-trigger svg,.icon-button svg{width:18px;height:18px}.update-history-backdrop{z-index:1000;background:#1111116b;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.update-history-dialog{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(520px,100vw - 24px);max-height:calc(100dvh - 24px);display:grid;overflow:hidden}.update-history-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.icon-button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;display:inline-grid}.icon-button:hover{border-color:var(--border);background:var(--surface-subtle);color:var(--text)}.update-history-body{overscroll-behavior:contain;min-height:0;padding:0 16px 16px;overflow-y:auto}.update-history-list{margin:0;padding:0;list-style:none}.update-history-entry{border-bottom:1px solid var(--border);padding:16px 0}.update-history-entry:last-child{border-bottom:0}.update-history-entry time{color:var(--muted);font-size:13px;font-weight:600}.update-history-entry h3{color:var(--text);margin:4px 0 8px;font-size:16px;font-weight:600;line-height:1.3}.update-history-entry ul{color:var(--muted);gap:5px;margin:0;padding-left:18px;font-size:14px;display:grid}.converter-tool{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);min-width:0;display:grid;overflow:hidden}.workflow-band{min-width:0;padding:20px}.dropzone{gap:16px;display:grid}.dropzone.is-dragging{outline:2px solid var(--primary);outline-offset:-2px;background:#2f6feb0f}.conversion-panel{border-left:1px solid var(--border);align-content:start;gap:16px;display:grid}.result-panel,.status-message{border-top:1px solid var(--border);grid-column:1/-1}.result-panel{gap:16px;display:grid}.band-heading{align-items:flex-start;gap:12px;display:flex}.band-heading>div{gap:4px;display:grid}.band-heading p,.result-heading p{font-size:14px}.band-step{color:var(--muted);font-size:12px;font-weight:600}.dropzone-icon{width:22px;height:22px;color:var(--primary);flex:none}.upload-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.file-button,.primary-button,.ghost-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-size:14px;font-weight:600;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.file-button,.ghost-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.file-button:hover:not(.is-disabled),.ghost-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.file-button:focus-within{outline:2px solid var(--primary);outline-offset:2px}.file-button svg,.primary-button svg,.ghost-button svg{width:18px;height:18px}.file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dropzone-hint,.limit-line{font-size:13px}.limit-line{color:var(--text);font-weight:600}.selected-file{border-top:1px solid var(--border);gap:8px;padding-top:14px;display:grid}.selected-file div{grid-template-columns:76px minmax(0,1fr);gap:10px;font-size:14px;display:grid}.selected-file dt{color:var(--muted)}.selected-file dd{overflow-wrap:anywhere;min-width:0;color:var(--text);font-weight:500}.conversion-progress,.download-progress{gap:7px;display:grid}.conversion-progress p,.download-progress p{font-size:13px}progress{width:100%;height:8px;accent-color:var(--primary)}.button-row{flex-wrap:wrap;gap:8px;display:flex}.primary-button{border:1px solid var(--primary);background:var(--primary);color:var(--surface)}.primary-button:hover:not(:disabled){filter:brightness(.9)}.result-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.result-heading>div{gap:4px;display:grid}.result-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.result-card{border:1px solid var(--border);border-radius:6px;grid-template-columns:66px minmax(0,1fr);gap:12px;min-width:0;padding:10px;display:grid}.result-thumbnail{aspect-ratio:3/4;border:1px solid var(--border);background:var(--surface-subtle);border-radius:4px;width:66px;overflow:hidden}.result-thumbnail img{object-fit:contain;width:100%;height:100%;display:block}.result-details{align-content:center;gap:4px;min-width:0;display:grid}.result-file-name{overflow-wrap:anywhere;min-width:0;color:var(--text);font-size:14px;font-weight:600}.result-dimensions{color:var(--muted);font-size:13px}.status-message{color:var(--muted);align-items:flex-start;gap:9px;padding:13px 20px;font-size:14px;display:flex}.status-message svg{flex:none;width:18px;height:18px;margin-top:1px}.status-message-text{overflow-wrap:anywhere;min-width:0}.status-message--info svg{color:var(--primary)}.status-message--success{color:var(--success)}.status-message--error{color:var(--danger)}.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}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}.spin{animation:none}}@media (width<=700px){.app-shell{width:calc(100% - 24px);padding-top:24px}.app-header-main{align-items:flex-start;gap:4px}.converter-tool{grid-template-columns:minmax(0,1fr)}.conversion-panel{border-top:1px solid var(--border);border-left:0}.result-panel,.status-message{grid-column:auto}.workflow-band{padding:16px}.status-message{padding:12px 16px}.button-row,.button-row button,.result-heading .primary-button{width:100%}.result-heading{align-items:stretch}.result-list{grid-template-columns:minmax(0,1fr)}.update-history-header{padding:10px 12px}.update-history-body{padding-left:12px;padding-right:12px}}@media (width<=360px){.app-header{grid-template-columns:minmax(0,1fr)}.app-header-main{display:contents}.app-header h1{grid-area:1/1}.app-header p{grid-area:2/1}.app-header .update-history-trigger{grid-area:3/1;justify-self:end}}
