:root{
  --pf-green-700: #1b5e20;
  --pf-green-500: #2e7d32;
  --pf-green-100: #e8f5e9;
  --pf-text: #0b2a16;
  --pf-muted: #52635a;
  --pf-radius: 12px;
  --pf-container-max: 900px;
}

.pf-card{
  display:flex;
  justify-content:center;
  padding:2rem 1rem;
  background: linear-gradient(180deg, rgba(46,125,50,0.03), rgba(0,0,0,0));
}

.pf-container{
  width:100%;
  max-width: var(--pf-container-max);
  background:#fff;
  border-radius: var(--pf-radius);
  box-shadow: 0 6px 20px rgba(12, 40, 20, 0.06);
  border-left: 6px solid var(--pf-green-500);
  padding: 1.4rem 1.6rem;
}

.pf-header h1{
  margin:0;
  font-size:1.45rem;
  color: var(--pf-green-700);
  display:flex;
  align-items:center;
  gap:0.5rem;
}

.pf-lead{
  margin:0.3rem 0 0;
  color: var(--pf-muted);
  font-size:0.98rem;
}

.pf-field{
  margin-top: 1rem;
  background: var(--pf-green-100);
  padding: 0.9rem;
  border-radius: 10px;
  text-align: left;
}

.pf-label{
  display:block;
  font-weight:700;
  color: var(--pf-green-700);
  margin-bottom:0.35rem;
  font-size:0.95rem;
}

.pf-input{
  width:100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #dcdcdc;
  font-size: 15px;
  outline: none;
  background:#fff;
}

.pf-input:focus{
  border-color: rgba(46,125,50,0.45);
  box-shadow: 0 0 0 4px rgba(46,125,50,0.12);
}

.pf-help{
  display:block;
  margin-top:0.45rem;
  color: var(--pf-muted);
  font-size:0.9rem;
}

.pf-turnstile{
  margin-top: 1rem;
  display:flex;
  justify-content:center;
}

.pf-button-wrapper{
  margin-top: 1.3rem;
  display:flex;
  justify-content:center;
}

.pf-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#55a630;
  color:#fff;
  padding: 1.05rem 1.7rem;
  border-radius: 40px;
  font-weight: 700;
  letter-spacing: 0.3px;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.pf-button:hover{
  background:#4c942b;
  color:#fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.14);
}

.pf-button:disabled{
  opacity:0.65;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.pf-result{
  margin-top: 1rem;
  color: var(--pf-text);
  line-height: 1.6;
  text-align: center;
}

.pf-result .pf-ok{
  display:inline-block;
  text-align:center;
  background:#f3fff3;
  border:1px solid rgba(46,125,50,0.25);
  padding:0.85rem 1rem;
  border-radius:10px;
}

.pf-result .pf-bad{
  display:inline-block;
  text-align:center;
  background:#fff7f7;
  border:1px solid rgba(180,0,0,0.18);
  padding:0.85rem 1rem;
  border-radius:10px;
}

.pf-debug{
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff8e1;
  border: 1px solid #f1d38a;
  color: #6a4b00;
  font-size: 13px;
  text-align: left;
  word-break: break-word;
}