:root{color:#e2e8f0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a2e;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:#4fc3b1;font-weight:500;text-decoration:none}a:hover{color:#5ceaad;text-decoration:underline}#root{max-width:100%;margin:0;padding:0}.playground{background:#1a1a2e;min-height:100vh}.playground-header{text-align:center;background:linear-gradient(135deg,#16213e 0%,#1a1a2e 100%);border-bottom:1px solid #2a2a4a;padding:2rem}.playground-header h1{background:linear-gradient(135deg,#4fc3b1 0%,#5ceaad 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:2.25rem}.playground-header p{color:#8892b0;margin:0;font-size:1.125rem}.playground-content{grid-template-columns:1fr;gap:1.5rem;max-width:1200px;margin:0 auto;padding:2rem;display:grid}@media (width>=1024px){.playground-content{grid-template-columns:1.2fr 1fr}}.demo-section{background:#16213e;border:1px solid #2a2a4a;border-radius:.75rem;padding:1.5rem}.demo-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.demo-header h2{color:#e2e8f0;margin:0;font-size:1.25rem}.config-toggle{color:#4fc3b1;cursor:pointer;background:0 0;border:1px solid #4fc3b1;border-radius:.375rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;transition:all .2s}.config-toggle:hover{background:#4fc3b11a}.demo-container{flex-direction:column;gap:1.5rem;display:flex}.password-field{width:100%}.password-label{color:#ccd6f6;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.password-description{color:#8892b0;margin-bottom:.75rem;font-size:.8125rem}.password-wrapper{position:relative}.password-input{color:#e2e8f0;box-sizing:border-box;background:#0a0f1e;border:1px solid #2a2a4a;border-radius:.5rem;width:100%;padding:.75rem 5rem .75rem 1rem;font-size:1rem;transition:all .2s}.password-input:focus{border-color:#4fc3b1;outline:none;box-shadow:0 0 0 2px #4fc3b126}.password-input::placeholder{color:#4a5568}.toggle-button{color:#4fc3b1;cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;transition:background-color .2s;position:absolute;top:50%;right:.375rem;transform:translateY(-50%)}.toggle-button:hover{background-color:#4fc3b11a}.validation-list{margin-top:.75rem}.validation-list ul{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.validation-list li{border-radius:.375rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500}.validation-list li[data-severity=error]{color:#fc8181;background-color:#e53e3e26;border:1px solid #e53e3e33}.validation-list li[data-severity=warning]{color:#fbd38d;background-color:#ed893626;border:1px solid #ed893633}.validation-list li[data-severity=success]{color:#68d391;background-color:#48bb7826;border:1px solid #48bb7833}.validation-result{background:#0a0f1e;border:1px solid #2a2a4a;border-radius:.5rem;padding:1.25rem}.result-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.result-header h3{color:#ccd6f6;margin:0;font-size:1rem}.status-badge{letter-spacing:.025em;border-radius:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.status-badge.valid{color:#68d391;background:#48bb7826;border:1px solid #48bb784d}.status-badge.invalid{color:#fc8181;background:#e53e3e26;border:1px solid #e53e3e4d}.strength-meter{margin-bottom:1.25rem}.strength-info{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.strength-label{color:#8892b0;font-size:.8125rem;font-weight:600}.strength-value{font-size:.875rem;font-weight:700}.strength-bar{gap:.375rem;height:.375rem;display:flex}.strength-segment{background-color:#2a2a4a;border-radius:.25rem;flex:1;transition:background-color .3s}.checks-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;display:grid}.check-item{border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;display:flex}.check-item.passed{color:#68d391;background:#48bb781a}.check-item.failed{color:#fc8181;background:#e53e3e1a}.check-icon{font-size:.875rem;font-weight:700}.check-name{text-transform:capitalize}.config-section{background:#16213e;border:1px solid #2a2a4a;border-radius:.75rem;height:fit-content;padding:1.5rem}.config-section h2{color:#e2e8f0;margin:0 0 1.25rem;font-size:1.25rem}.config-options{flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;display:flex}.config-option{flex-direction:column;gap:.25rem;display:flex}.option-header{justify-content:space-between;align-items:center;display:flex}.option-header label{color:#ccd6f6;font-size:.8125rem;font-weight:600}.toggle-input{appearance:none;cursor:pointer;background:#2a2a4a;border:none;border-radius:1rem;width:2.5rem;height:1.375rem;transition:background-color .2s;position:relative}.toggle-input:checked{background:#4fc3b1}.toggle-input:before{content:"";background:#fff;border-radius:50%;width:1rem;height:1rem;transition:transform .2s;position:absolute;top:.1875rem;left:.1875rem}.toggle-input:checked:before{transform:translate(1.125rem)}.number-input{color:#e2e8f0;text-align:center;background:#0a0f1e;border:1px solid #2a2a4a;border-radius:.375rem;width:5rem;padding:.25rem .5rem;font-size:.8125rem;font-weight:600}.number-input:focus{border-color:#4fc3b1;outline:none}.option-description{color:#8892b0;margin:0;font-size:.6875rem;line-height:1.4}.code-preview{background:#0a0f1e;border:1px solid #2a2a4a;border-radius:.5rem;padding:1.25rem;overflow-x:auto}.code-preview h3{color:#8892b0;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;font-size:.75rem}.code-preview pre{margin:0}.code-preview code{color:#4fc3b1;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.6}.playground-footer{text-align:center;border-top:1px solid #2a2a4a;padding:1.25rem}.playground-footer p{color:#8892b0;margin:0;font-size:.875rem}@media (width<=768px){.playground-header h1{font-size:1.75rem}.playground-content{padding:1rem}.checks-grid{grid-template-columns:1fr}}
