.stpo-wrap{
  --accent:#f88452;
  --accent-dark:#e76834;
  --soft:#fff4ed;
  --line:#f3b394;
  --text:#111827;
  --muted:#667085;
  max-width:900px;
  margin:22px auto;
  color:var(--text);
  font-family:inherit;
}
.stpo-wrap *{box-sizing:border-box}
.stpo-version{text-align:right;color:#98a2b3;font-size:12px;margin-bottom:6px}
.stpo-head{text-align:center;margin-bottom:18px}
.stpo-head h1{font-size:27px;line-height:1.2;margin:0 0 7px;color:var(--text)}
.stpo-head p{margin:0;color:var(--muted)}
.stpo-card{
  background:#fff;
  border:1px solid #eaecf0;
  border-radius:16px;
  padding:20px;
  margin:0 0 16px;
  box-shadow:0 5px 18px rgba(16,24,40,.05);
}
.stpo-card h2{font-size:18px;margin:0 0 16px;color:var(--text)}
.stpo-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stpo-drop{
  min-height:176px;
  border:2px dashed var(--line);
  border-radius:14px;
  background:#fffaf7;
  padding:20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  cursor:pointer;
  transition:.15s ease;
}
.stpo-drop:hover{border-color:var(--accent);background:var(--soft)}
.stpo-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.stpo-upload-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;font-size:18px;margin-bottom:9px}
.stpo-drop strong{font-size:15px}
.stpo-drop small{color:var(--muted);margin-top:3px}
.stpo-file-label{
  max-width:100%;
  margin-top:10px;
  padding:5px 9px;
  background:#fff;
  border:1px solid #eaecf0;
  border-radius:999px;
  color:#475467;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.stpo-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.stpo-settings label{display:block;font-size:13px;font-weight:800;color:#344054}
.stpo-settings select,.stpo-settings input[type="text"]{
  width:100%;
  height:44px;
  margin-top:7px;
  padding:0 12px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#101828;
  outline:none;
}
.stpo-settings select:focus,.stpo-settings input[type="text"]:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(248,132,82,.12)}
.stpo-range-row{height:44px;margin-top:7px;padding:0 11px;border:1px solid #d0d5dd;border-radius:10px;display:flex;align-items:center;gap:12px}
.stpo-range-row input{width:100%;accent-color:var(--accent)}
.stpo-range-row span{min-width:44px;text-align:right;font-size:12px;color:#475467}
.stpo-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.stpo-actions button,.stpo-download{
  min-height:43px;
  border:0;
  border-radius:10px;
  padding:0 18px;
  font-weight:800;
  cursor:pointer;
  background:var(--accent);
  color:#fff;
}
.stpo-actions button:hover,.stpo-download:hover:not(:disabled){background:var(--accent-dark)}
.stpo-actions .stpo-light{background:#fff;color:#344054;border:1px solid #d0d5dd}
.stpo-download:disabled{opacity:.45;cursor:not-allowed}
.stpo-progress{margin:6px 0 15px}
.stpo-progress-track{height:9px;background:#f2f4f7;border-radius:999px;overflow:hidden;margin-bottom:8px}
.stpo-progress-track span{display:block;width:0;height:100%;background:var(--accent);transition:width .16s ease}
.stpo-progress strong{font-size:13px}
.stpo-result{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.stpo-result p{margin:0;color:var(--muted);font-size:13px}
.stpo-status{
  border:1px solid #eaecf0;
  border-radius:10px;
  padding:10px 12px;
  background:#f9fafb;
  color:#475467;
  font-size:13px;
  font-weight:700;
}
.stpo-status.stpo-error{background:#fff1f1;border-color:#fecaca;color:#b42318}
.stpo-status.stpo-ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.stpo-note{text-align:center;margin-top:10px;color:#98a2b3;font-size:12px}
@media(max-width:700px){
  .stpo-upload-grid,.stpo-settings{grid-template-columns:1fr}
  .stpo-card{padding:16px}
  .stpo-head h1{font-size:23px}
  .stpo-actions button,.stpo-download{width:100%}
  .stpo-result{display:block}
  .stpo-result p{text-align:center;margin-top:10px}
}