:root{color:#18212f;background:#f6f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;-webkit-text-size-adjust:100%}button,select,textarea,input{font:inherit}button,.button-link{align-items:center;background:#fff;border:1px solid #d7dde5;border-radius:8px;color:#18212f;cursor:pointer;display:inline-flex;font-weight:650;gap:8px;justify-content:center;min-height:44px;padding:0 14px;text-decoration:none;transition:border-color .15s ease,transform .15s ease,background .15s ease}button:hover,.button-link:hover{border-color:#96a3b5;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.primary{background:#0f766e;border-color:#0f766e;color:#fff}.app-shell{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 330px;margin:0 auto;max-width:1240px;min-height:100vh;padding:28px}.workspace{display:flex;flex-direction:column;gap:18px;min-width:0}.topbar{align-items:center;display:flex;justify-content:space-between;min-height:72px}.brand{align-items:center;display:flex;gap:14px}.brand-mark{align-items:center;background:#111827;border-radius:8px;color:#fff;display:flex;height:44px;justify-content:center;width:44px}h1,h2,h3,p{margin:0}h1{font-size:26px;letter-spacing:0;line-height:1.2}h2{font-size:20px;letter-spacing:0}h3{font-size:17px;letter-spacing:0}.brand p,.input-head p,.metadata p,.job-head p,.status-row p{color:#64748b;line-height:1.5}.input-band,.job-band,.download-pane,.preview-pane,.notice,.status-panel{background:#fff;border:1px solid #e0e5eb;border-radius:8px}.input-band{display:flex;flex-direction:column;gap:14px;padding:18px}.input-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}select{background:#fff;border:1px solid #d7dde5;border-radius:8px;color:#18212f;min-height:44px;padding:0 12px;width:max-content}textarea{border:1px solid #cbd5e1;border-radius:8px;color:#18212f;min-height:148px;padding:14px;resize:vertical;width:100%;line-height:1.55}textarea:focus,select:focus{border-color:#0f766e;outline:3px solid rgba(15,118,110,.14)}.toolbar{display:flex;flex-wrap:wrap;gap:10px}.toolbar.compact{margin-top:14px}.icon-button{border-radius:8px;min-height:42px;padding:0;width:42px}.notice{align-items:flex-start;display:flex;gap:10px;padding:14px}.notice.error{background:#fff7ed;border-color:#fed7aa;color:#9a3412}pre{font:inherit;margin:0;overflow-x:auto;white-space:pre-wrap}.result-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 360px}.preview-pane{min-width:0;overflow:hidden}.preview-pane img,.empty-thumb{aspect-ratio:16 / 9;background:#d8dee8;display:block;object-fit:cover;width:100%}.metadata{display:flex;flex-direction:column;gap:8px;padding:16px}.metadata span{color:#0f766e;font-weight:750}.metadata a{align-items:center;color:#0f766e;display:inline-flex;gap:6px;text-decoration:none}.download-pane{display:flex;flex-direction:column;gap:14px;padding:16px}.section-title{align-items:center;display:flex;gap:8px}.format-select{display:flex;flex-direction:column;gap:8px}.format-select span{color:#475569;font-weight:700}.format-details{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.format-details div{background:#f1f5f9;border-radius:8px;padding:10px}.format-details dt{color:#64748b;font-size:12px;font-weight:700;margin-bottom:4px}.format-details dd{margin:0;overflow-wrap:anywhere}.download-actions{display:grid;gap:10px;grid-template-columns:1fr}.warning{background:#fefce8;border:1px solid #fde68a;border-radius:8px;color:#854d0e;padding:10px}.job-band{padding:16px}.job-head,.job-foot{align-items:center;display:flex;gap:16px;justify-content:space-between}.progress-track{background:#e2e8f0;border-radius:999px;height:10px;margin:14px 0 8px;overflow:hidden}.progress-track div{background:#0f766e;height:100%;transition:width .25s ease}.job-foot{color:#64748b;font-size:14px}.status-panel{align-self:start;display:flex;flex-direction:column;gap:16px;padding:18px;position:sticky;top:24px}.status-row{align-items:center;display:grid;gap:10px;grid-template-columns:12px minmax(0,1fr)}.dot{border-radius:999px;height:10px;width:10px}.dot.ok{background:#16a34a}.dot.bad{background:#dc2626}.download-dir,.setup-note{background:#f1f5f9;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px}.download-dir span{color:#64748b;font-weight:700}code{overflow-wrap:anywhere}.setup-note{background:#fff7ed;color:#9a3412}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.app-shell,.result-layout{grid-template-columns:1fr}.app-shell{gap:18px}.status-panel{position:static}}@media(max-width:640px){.app-shell{gap:14px;min-height:100svh;padding:12px;padding-bottom:calc(18px + env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-top:max(12px,env(safe-area-inset-top))}.topbar,.input-head,.job-head,.job-foot{align-items:stretch;flex-direction:column}h1{font-size:21px}h2{font-size:18px}h3{font-size:16px}.brand{align-items:flex-start;gap:10px}.brand-mark{flex:0 0 auto;height:40px;width:40px}.brand p,.input-head p,.metadata p,.job-head p,.status-row p{font-size:14px}.input-band,.job-band,.download-pane,.metadata,.status-panel{padding:14px}.input-head select{width:100%}textarea{font-size:16px;min-height:176px}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar .primary,.toolbar.compact .primary{grid-column:1 / -1}.preview-pane img,.empty-thumb{aspect-ratio:4 / 5}.format-details{grid-template-columns:1fr}button,.button-link{width:100%}.job-foot{gap:4px}}@media(hover:none){button:hover,.button-link:hover{transform:none}}
