/* Basic Reset & Theme */
.pwg-root{--pwg-brand:#5850EC; --pwg-bg: #0b1220; --pwg-card: rgba(255,255,255,0.08); --pwg-text:#E5E7EB; --pwg-soft:#9CA3AF;}
.pwg-root.pwg-theme-light{--pwg-bg: #f5f7fb; --pwg-card:#ffffff; --pwg-text:#111827; --pwg-soft:#6B7280;}
@media (prefers-color-scheme: light){
  .pwg-root.pwg-theme-auto{--pwg-bg: #f5f7fb; --pwg-card:#ffffff; --pwg-text:#111827; --pwg-soft:#6B7280;}
}
@media (prefers-color-scheme: dark){
  .pwg-root.pwg-theme-auto{--pwg-bg: #0b1220; --pwg-card:rgba(255,255,255,0.08); --pwg-text:#E5E7EB; --pwg-soft:#9CA3AF;}
}
.pwg-root{font-family:system-ui, -apple-system, Segoe UI, Roboto, Noto Sans, Helvetica, Arial, sans-serif; color:var(--pwg-text);}
.pwg-card{max-width:720px;margin:24px auto;padding:20px;border:1px solid rgba(0,0,0,0.06);background:linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.06)) , var(--pwg-card);backdrop-filter: blur(6px);}
.pwg-rounded-2xl{border-radius:20px;}
.pwg-shadow-lg{box-shadow:0 20px 40px rgba(0,0,0,0.15);}

.pwg-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.pwg-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;}
.pwg-icon{width:22px;height:22px;fill:var(--pwg-brand);}

.pwg-btn{border:none;padding:10px 14px;border-radius:12px;background:var(--pwg-brand);color:#fff;font-weight:600;cursor:pointer;transition:transform .06s ease, opacity .2s;}
.pwg-btn:hover{opacity:.95;}
.pwg-btn:active{transform:translateY(1px);}

.pwg-output{display:flex;gap:10px;align-items:center;margin:14px 0;}
.pwg-password{flex:1;padding:14px 12px;border-radius:14px;border:1px solid rgba(0,0,0,0.08);background:#fff;color:#111827;font-size:1.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pwg-root:not(.pwg-theme-light) .pwg-password{background:rgba(255,255,255,0.1);color:#fff;border-color:rgba(255,255,255,0.15);}

.pwg-controls{display:grid;gap:12px;margin:8px 0;}
.pwg-controls label{display:block;color:var(--pwg-soft);font-weight:600;}
.pwg-length{width:100%;}
.pwg-length-val{display:inline-block;min-width:2ch;margin-left:8px;color:var(--pwg-text)}

.pwg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
@media (min-width:520px){.pwg-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.pwg-grid label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(0,0,0,0.06);border-radius:10px;background:rgba(255,255,255,0.6);}
.pwg-root:not(.pwg-theme-light) .pwg-grid label{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);}

.pwg-strength{margin-top:10px;display:grid;gap:8px;}
.pwg-strength-label{font-size:.9rem;color:var(--pwg-soft);}
.pwg-bar{height:10px;background:rgba(0,0,0,0.08);border-radius:999px;overflow:hidden;}
.pwg-root:not(.pwg-theme-light) .pwg-bar{background:rgba(255,255,255,0.12);}
.pwg-bar-fill{height:100%;width:0%;background:linear-gradient(90deg, var(--pwg-brand), #22d3ee);transition:width .25s ease;}

.pwg-footer{margin-top:8px;color:var(--pwg-soft);}

/* Utility */
.pwg-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
