:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#171a1f;background:#f5f1e8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,a{font:inherit}.appShell{min-height:100vh;padding:32px;background:linear-gradient(135deg,rgba(230,57,70,.16),transparent 28%),linear-gradient(315deg,rgba(42,157,143,.2),transparent 32%),#f5f1e8}.workspace{max-width:1180px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:16px}.brandMark{display:inline-grid;width:54px;height:54px;place-items:center;color:#fffdf7;background:#111418;border:3px solid #e63946;border-radius:8px;box-shadow:8px 8px #f4c430}h1{margin:0;font-size:clamp(2rem,4vw,4.5rem);line-height:.95;letter-spacing:0}p{margin:6px 0 0;color:#59606b;font-size:1rem}.iconButton{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid #d5cfbf;border-radius:8px;color:#171a1f;background:#fffaf0;cursor:pointer}.contentGrid{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:22px;align-items:start}.controlsPanel,.previewPanel{border:1px solid #ded8c9;border-radius:8px;background:#fffcf4e0;box-shadow:0 20px 50px #1f222614}.controlsPanel{display:grid;gap:16px;padding:18px}.uploadBox{display:grid;grid-template-columns:44px minmax(0,1fr) 36px;gap:14px;align-items:center;min-height:96px;padding:16px;border:2px dashed #b7ad98;border-radius:8px;background:#fffaf0;cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}.uploadBox:hover,.uploadBox.hasFile{border-color:#2a9d8f;background:#f3fffc}.uploadBox:hover{transform:translateY(-1px)}.uploadBox input{display:none}.uploadIcon,.uploadAction{display:inline-grid;place-items:center;color:#fffdf7;background:#1e272e;border-radius:8px}.uploadIcon{width:44px;height:44px}.uploadAction{width:36px;height:36px;background:#e63946}.uploadText{min-width:0}.uploadText strong,.downloadBar strong{display:block;overflow:hidden;color:#171a1f;text-overflow:ellipsis;white-space:nowrap}.uploadText small,.downloadBar small{display:block;margin-top:5px;color:#69717d;line-height:1.35}.settings{display:grid;gap:12px;padding:14px;border-radius:8px;background:#191d22}.rangeControl{display:grid;grid-template-columns:1fr auto;gap:8px 12px;color:#fffaf0}.rangeControl span{display:inline-flex;align-items:center;gap:8px}.rangeControl strong{color:#f4c430}.rangeControl input{grid-column:1 / -1;accent-color:#e63946}.primaryButton,.downloadButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:0;border-radius:8px;color:#fffdf7;background:#e63946;font-weight:800;text-decoration:none;cursor:pointer}.primaryButton:disabled,.downloadButton.disabled{cursor:not-allowed;opacity:.45}.spin{animation:spin 1s linear infinite}.progressArea{display:grid;gap:8px}.statusLine{display:flex;justify-content:space-between;gap:12px;color:#414852;font-size:.92rem}.progressTrack{overflow:hidden;height:12px;border-radius:8px;background:#dfd7c6}.progressFill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#e63946,#f4c430,#2a9d8f);transition:width .18s ease}.hint{margin:0;color:#b12a34;font-size:.9rem}.previewPanel{overflow:hidden}.previewFrame{display:grid;min-height:460px;place-items:center;background:linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%) 0 0 / 28px 28px,#111418}.previewFrame video{display:block;width:100%;max-height:68vh;background:#050607}.emptyPreview{display:grid;gap:14px;place-items:center;color:#fffaf0}.downloadBar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px}.downloadBar>div{min-width:0}.downloadButton{min-width:136px;padding:0 18px;background:#2a9d8f}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){.appShell{padding:18px}.topbar,.downloadBar{align-items:stretch}.contentGrid,.topbar{grid-template-columns:1fr}.contentGrid,.topbar{display:grid}.iconButton{justify-self:end}.previewFrame{min-height:300px}}@media(max-width:560px){.brand{align-items:flex-start}.brandMark{width:46px;height:46px;box-shadow:5px 5px #f4c430}.uploadBox{grid-template-columns:38px minmax(0,1fr)}.uploadAction{display:none}.downloadBar{display:grid}.downloadButton{width:100%}}
