/* All styles are scoped to .pps-wrap to avoid affecting your theme */

.pps-wrap{
  max-width:720px;
  margin:0 auto;
  padding:18px;
  background:transparent;
  color:#111;
}

.pps-h2{
  font-size:26px;
  margin:6px 0 10px;
  line-height:1.2;
}

.pps-subtitle{
  margin:0 0 16px;
  color:#555;
  line-height:1.45;
}

.pps-upload-box{
  display:block;
  padding:16px;
  border:2px dashed #9aa3af;
  text-align:center;
  cursor:pointer;
  background:#fff;
  border-radius:12px;
  user-select:none;
}

.pps-upload-box:hover{ border-color:#2563eb; }
.pps-upload-box input{ display:none; }

.pps-limit-note{
  font-size:14px;
  color:#666;
  margin:10px 0 0;
  text-align:center;
}

.pps-loading{
  text-align:center;
  color:#2563eb;
  font-weight:600;
  margin:16px 0;
}

.pps-report{
  background:#fff;
  margin-top:18px;
  padding:16px;
  border-radius:12px;
  box-shadow:0 1px 2px rgba(0,0,0,0.06);
}

.pps-h3{
  margin:0 0 10px;
  font-size:18px;
}

.pps-results{
  padding-left:18px;
  margin:8px 0 0;
}

.pps-results li{ margin-bottom:8px; color:#222; }

.pps-options{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e5e7eb;
}

.pps-options label{
  display:block;
  margin-bottom:8px;
  color:#222;
}

.pps-btn-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.pps-btn{
  padding:12px 16px;
  font-size:16px;
  border:none;
  border-radius:10px;
  background:#2563eb;
  color:#fff;
  cursor:pointer;
  flex:1;
  min-width:180px;
}

.pps-btn:hover{ background:#1e40af; }

.pps-btn-secondary{
  background:#e5e7eb;
  color:#111;
}

.pps-btn-secondary:hover{ background:#d1d5db; }

.pps-footer-note{
  margin-top:14px;
  text-align:center;
  color:#666;
  font-size:14px;
}

.pps-hidden{ display:none; }

@media (max-width:600px){
  .pps-h2{ font-size:22px; }
  .pps-btn{ min-width:100%; }
}
