/* ─── LAYOUT ─── */
.pw-layout{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}

/* ─── CARD ─── */
.pw-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r16);padding:28px;margin-bottom:20px;
}

/* ─── INPUT ─── */
.pw-input-wrap{position:relative;}
.pw-field{padding-right:48px;font-family:'Courier New',Consolas,monospace;font-size:1rem;letter-spacing:.05em;}
.pw-toggle{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;
  transition:color .15s;
}
.pw-toggle:hover{color:var(--head);}

/* ─── STRENGTH BAR ─── */
.pw-strength-bar{
  height:6px;background:var(--border);border-radius:6px;overflow:hidden;
  margin-top:16px;
}
.pw-strength-fill{
  height:100%;border-radius:6px;width:0;
  transition:width .4s ease,background .4s ease;
}
.pw-strength-fill.s0{width:0;background:var(--border);}
.pw-strength-fill.s1{width:20%;background:#DC2626;}
.pw-strength-fill.s2{width:40%;background:#F59E0B;}
.pw-strength-fill.s3{width:60%;background:#F59E0B;}
.pw-strength-fill.s4{width:80%;background:var(--green);}
.pw-strength-fill.s5{width:100%;background:#059669;}

.pw-strength-label{
  font-size:.84rem;font-weight:600;margin-top:8px;
  color:var(--muted);transition:color .3s;
}

/* ─── CRACK TIME ─── */
.pw-time{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:18px;padding:14px 16px;
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r8);
}
.pw-time-label{font-size:.8rem;color:var(--muted);}
.pw-time-value{font-family:'DM Serif Display',serif;font-size:1.1rem;color:var(--head);}

/* ─── CRITERIA ─── */
.pw-criteria-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px;}
.pw-criteria{display:flex;flex-direction:column;gap:10px;}
.pw-crit{
  display:flex;align-items:center;gap:10px;
  font-size:.84rem;color:var(--muted);
  transition:color .2s;
}
.pw-crit.pass{color:var(--green);}
.pw-crit.pass .pw-crit-icon{color:var(--green);}
.pw-crit.fail{color:#DC2626;}
.pw-crit.fail .pw-crit-icon{color:#DC2626;}
.pw-crit-icon{font-size:.9rem;width:18px;text-align:center;flex-shrink:0;}

/* ─── PRIVACY NOTE ─── */
.pw-privacy-note{
  display:flex;align-items:center;gap:8px;
  font-size:.78rem;color:var(--muted);
  padding:12px 16px;background:var(--bg);
  border:1px solid var(--border);border-radius:var(--r8);
}
.pw-privacy-note svg{flex-shrink:0;color:var(--green);}

/* ─── TIPS ─── */
.pw-tip{
  display:flex;gap:14px;padding:16px 0;
  border-bottom:1px solid var(--border);
}
.pw-tip:last-child{border-bottom:none;padding-bottom:0;}
.pw-tip:first-child{padding-top:0;}
.pw-tip-num{
  width:32px;height:32px;background:var(--blue-l);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-size:.7rem;font-weight:700;color:var(--blue);
}
.pw-tip-title{font-size:.875rem;font-weight:600;color:var(--head);margin-bottom:4px;}
.pw-tip-body{font-size:.8125rem;color:var(--muted);line-height:1.65;}
.pw-tip-body code{
  font-family:'Courier New',Consolas,monospace;font-size:.78rem;
  background:var(--bg);padding:2px 6px;border-radius:var(--r4);
  border:1px solid var(--border);color:var(--head);
}

@media(max-width:768px){
  .pw-layout{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .pw-card{padding:22px 18px;}
  .pw-time{flex-direction:column;gap:6px;text-align:center;}
  .pw-time-value{font-size:1rem;}
  .pw-tip{gap:10px;}
  .pw-tip-num{width:28px;height:28px;font-size:.65rem;}
  .pw-tip-body code{font-size:.72rem;word-break:break-all;}
}
