.pwgen-hero{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-primary) 100%);padding:var(--space-12) 0;color:var(--color-white)}.pwgen-hero-content{max-width:600px}.pwgen-hero-content h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-white);margin-bottom:var(--space-3)}.pwgen-hero-content p{font-size:var(--font-size-lg,1.125rem);color:rgb(255 255 255 / .8);margin:0}.pwgen-section{padding:var(--space-10) 0;background:var(--color-bg)}.pwgen-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-6);align-items:start}.pwgen-card{background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-border-light);padding:var(--space-6)}.pwgen-card-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-4)}.pwgen-output-area{margin-bottom:var(--space-6)}.pwgen-password-display{display:flex;align-items:center;gap:var(--space-2);background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);min-height:60px;transition:border-color 0.2s}.pwgen-password-display:focus-within{border-color:var(--color-primary)}.pwgen-password-text{flex:1;font-family:'SF Mono','Cascadia Code','Fira Code','JetBrains Mono',monospace;font-size:1.125rem;word-break:break-all;line-height:1.5;color:var(--color-text);user-select:all}.pwgen-copy-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff0;border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);transition:all 0.2s;position:relative}.pwgen-copy-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pwgen-copy-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--color-text);color:#fff;font-size:.75rem;padding:4px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.2s,transform 0.2s}.pwgen-copy-tooltip.visible{opacity:1;transform:translateX(-50%) translateY(0)}.pwgen-strength-bar{height:6px;background:#e5e7eb;border-radius:3px;margin-top:var(--space-2);overflow:hidden}.pwgen-strength-fill{height:100%;border-radius:3px;transition:width 0.4s ease,background-color 0.4s ease;width:0}.pwgen-strength-info{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:.875rem}.pwgen-strength-label{font-weight:600}.pwgen-crack-time{color:#6b7280}.pwgen-step{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light)}.pwgen-step:last-of-type{border-bottom:none;margin-bottom:var(--space-4);padding-bottom:0}.pwgen-step-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.pwgen-step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.875rem;font-weight:700;flex-shrink:0}.pwgen-step-header h3{font-size:1.125rem;font-weight:600;color:var(--color-text)}.pwgen-length-control{margin-bottom:var(--space-4)}.pwgen-length-display{text-align:center;margin-bottom:var(--space-2)}.pwgen-length-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text)}.pwgen-length-unit{font-size:var(--font-size-base);color:#6b7280;margin-left:4px}.pwgen-range{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:linear-gradient(to right,#ef4444 0%,#eab308 30%,#22c55e 60%,#16a34a 100%);border-radius:4px;outline:none;cursor:pointer}.pwgen-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--color-primary);cursor:pointer;box-shadow:0 2px 6px rgb(0 0 0 / .15)}.pwgen-range:hover::-webkit-slider-thumb{transform:scale(1.15)}.pwgen-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--color-primary);cursor:pointer;box-shadow:0 2px 6px rgb(0 0 0 / .15)}.pwgen-range:hover::-moz-range-thumb{transform:scale(1.15)}.pwgen-length-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#9ca3af;margin-top:4px}.pwgen-presets{display:flex;flex-wrap:wrap;gap:8px}.pwgen-preset{padding:6px 14px;border:1px solid var(--color-border-light);border-radius:20px;background:#fff;font-size:.8125rem;color:var(--color-text);cursor:pointer;transition:all 0.2s}.pwgen-preset:hover{border-color:var(--color-primary);color:var(--color-primary)}.pwgen-preset.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pwgen-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-4)}.pwgen-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:all 0.2s;user-select:none}.pwgen-option:hover{border-color:var(--color-primary);background:#faf8ff}.pwgen-option input[type="checkbox"]{display:none}.pwgen-option-check{flex-shrink:0;width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;position:relative;transition:all 0.2s}.pwgen-option input:checked~.pwgen-option-check{background:var(--color-primary);border-color:var(--color-primary)}.pwgen-option input:checked~.pwgen-option-check::after{content:'';position:absolute;top:2px;left:5px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.pwgen-option input:disabled~.pwgen-option-check{background:#e5e7eb;border-color:#d1d5db}.pwgen-option input:disabled~.pwgen-option-content{opacity:.5}.pwgen-option-content{display:flex;flex-direction:column;min-width:0}.pwgen-option-label{font-size:.875rem;font-weight:600;color:var(--color-text)}.pwgen-option-example{font-size:.75rem;color:#6b7280}.pwgen-exclude-group,.pwgen-count-group{margin-bottom:var(--space-3)}.pwgen-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:6px}.pwgen-input,.pwgen-select{width:100%;padding:8px 12px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text);background:#fff;transition:border-color 0.2s}.pwgen-input:focus,.pwgen-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(114 79 255 / .1)}.pwgen-generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.0625rem;font-weight:700;cursor:pointer;transition:all 0.2s}.pwgen-generate-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgb(114 79 255 / .3)}.pwgen-generate-btn:active{transform:translateY(0)}.pwgen-btn-pulse{animation:pwgenPulse 0.3s ease}@keyframes pwgenPulse{0%{transform:scale(1)}50%{transform:scale(.97)}100%{transform:scale(1)}}.pwgen-multi-output{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.pwgen-multi-output h4{font-size:.9375rem;font-weight:600;margin-bottom:var(--space-2)}.pwgen-multi-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg);border-radius:var(--radius-md);margin-bottom:6px}.pwgen-multi-index{font-size:.75rem;color:#9ca3af;min-width:20px}.pwgen-multi-password{flex:1;font-family:'SF Mono','Cascadia Code','Fira Code',monospace;font-size:.8125rem;word-break:break-all;user-select:all}.pwgen-multi-copy{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff0;border:1px solid var(--color-border-light);border-radius:6px;cursor:pointer;color:#6b7280;transition:all 0.2s;position:relative}.pwgen-multi-copy:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pwgen-copy-all-btn{display:block;width:100%;padding:8px;margin-top:var(--space-2);background:#fff0;border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--color-primary);cursor:pointer;transition:all 0.2s}.pwgen-copy-all-btn:hover{background:#faf8ff;border-color:var(--color-primary)}.pwgen-privacy-notice{display:flex;align-items:flex-start;gap:8px;margin-top:var(--space-4);padding:var(--space-3);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);font-size:.8125rem;color:#166534;line-height:1.5}.pwgen-privacy-notice svg{flex-shrink:0;margin-top:2px;color:#16a34a}.pwgen-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.pwgen-tips-card .pwgen-tips-list{list-style:none;padding:0;margin:0}.pwgen-tips-list li{position:relative;padding:8px 0 8px 24px;font-size:.875rem;color:#374151;line-height:1.5;border-bottom:1px solid #f3f4f6}.pwgen-tips-list li:last-child{border-bottom:none}.pwgen-tips-list li::before{content:'';position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.pwgen-reference-intro{font-size:.8125rem;color:#6b7280;margin-bottom:var(--space-3);line-height:1.5}.pwgen-reference-table{width:100%;border-collapse:collapse;font-size:.8125rem}.pwgen-reference-table th{text-align:left;padding:8px 6px;font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-border-light)}.pwgen-reference-table td{padding:8px 6px;color:#374151;border-bottom:1px solid #f3f4f6}.pwgen-reference-table tbody tr:last-child td{border-bottom:none}.pwgen-content-section{padding:var(--space-12) 0;background:#fff}.pwgen-content{max-width:var(--container-max);margin:0 auto}.pwgen-content h2{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);margin-top:var(--space-8);margin-bottom:var(--space-3)}.pwgen-content h2:first-child{margin-top:0}.pwgen-content h3{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin-top:var(--space-6);margin-bottom:var(--space-2)}.pwgen-content p{font-size:var(--font-size-base);color:#374151;line-height:1.75;margin-bottom:var(--space-3)}.pwgen-content ul{margin:0 0 var(--space-4) 0;padding:0;list-style:none}.pwgen-content ul li{position:relative;padding-left:24px;font-size:var(--font-size-base);color:#374151;line-height:1.75;margin-bottom:6px}.pwgen-content ul li::before{content:'';position:absolute;left:0;top:12px;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.pwgen-tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:var(--space-6) 0}.pwgen-tip-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-4)}.pwgen-tip-card h4{font-size:1rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.pwgen-tip-card p{font-size:.875rem;color:#6b7280;margin-bottom:0}.pwgen-conclusion{background:#faf8ff;border:1px solid #e9e3ff;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);margin-top:var(--space-4)}.pwgen-conclusion ul{margin:0;padding:0;list-style:none}.pwgen-conclusion ul li{position:relative;padding-left:20px;margin-bottom:var(--space-2)}.pwgen-conclusion ul li::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}.pwgen-conclusion ul li:last-child{margin-bottom:0}.pwgen-faq-section{padding:var(--space-12) 0;background:var(--color-bg)}.pwgen-faq-title{font-size:var(--font-size-2xl);font-weight:700;text-align:center;margin-bottom:var(--space-8)}.pwgen-faq-accordion{max-width:var(--container-max);margin:0 auto}.pwgen-faq-item{background:#fff;border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden;transition:border-color 0.2s}.pwgen-faq-item:hover{border-color:var(--color-primary)}.pwgen-faq-question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4);background:none;border:none;font-size:1rem;font-weight:600;color:var(--color-text);cursor:pointer;text-align:left;gap:var(--space-2)}.pwgen-faq-question:hover{color:var(--color-primary)}.pwgen-faq-chevron{flex-shrink:0;transition:transform 0.3s;color:#9ca3af}.pwgen-faq-item.open .pwgen-faq-chevron{transform:rotate(180deg);color:var(--color-primary)}.pwgen-faq-answer-inner{padding:0 var(--space-4) var(--space-4)}.pwgen-faq-answer-inner p{font-size:.9375rem;color:#6b7280;line-height:1.75;margin:0}.pwgen-related-section{padding:var(--space-10) 0 var(--space-12);background:#fff}.pwgen-related-title{font-size:var(--font-size-2xl);font-weight:700;text-align:center;margin-bottom:var(--space-6)}.pwgen-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.pwgen-related-card{display:block;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-6);text-decoration:none;text-align:center;transition:all 0.2s}.pwgen-related-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .08)}.pwgen-related-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#ede9fe;color:var(--color-primary);margin-bottom:var(--space-3)}.pwgen-related-card h3{font-size:1rem;font-weight:700;color:var(--color-text);margin-bottom:6px}.pwgen-related-card p{font-size:.8125rem;color:#6b7280;margin:0;line-height:1.5}@media (max-width:1024px){.pwgen-layout{grid-template-columns:1fr}.pwgen-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}}@media (max-width:768px){.pwgen-hero{padding:var(--space-8) 0}.pwgen-hero-content h1{font-size:var(--font-size-2xl)}.pwgen-hero-content p{font-size:var(--font-size-base)}.pwgen-section{padding:var(--space-6) 0}.pwgen-options-grid{grid-template-columns:1fr 1fr}.pwgen-tips-grid{grid-template-columns:1fr}.pwgen-sidebar{grid-template-columns:1fr}.pwgen-related-grid{grid-template-columns:1fr}.pwgen-card{padding:var(--space-4)}.pwgen-password-display{padding:var(--space-3);min-height:52px}.pwgen-password-text{font-size:.9375rem}.pwgen-step-header h3{font-size:1rem}.pwgen-length-value{font-size:var(--font-size-2xl)}.pwgen-generate-btn{padding:12px 20px;font-size:1rem}.pwgen-content-section{padding:var(--space-8) 0}.pwgen-content h2{font-size:var(--font-size-xl);margin-top:var(--space-6)}.pwgen-content h3{font-size:var(--font-size-base)}.pwgen-faq-section{padding:var(--space-8) 0}.pwgen-faq-title{font-size:var(--font-size-xl);margin-bottom:var(--space-4)}.pwgen-faq-question{padding:var(--space-3);font-size:.9375rem}.pwgen-faq-answer-inner{padding:0 var(--space-3) var(--space-3)}.pwgen-related-section{padding:var(--space-8) 0}.pwgen-related-title{font-size:var(--font-size-xl)}}@media (max-width:480px){.pwgen-hero-content h1{font-size:var(--font-size-xl)}.pwgen-presets{gap:6px}.pwgen-preset{padding:5px 10px;font-size:.75rem}.pwgen-card{padding:var(--space-3)}.pwgen-card-title{font-size:var(--font-size-base)}.pwgen-step{margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.pwgen-range::-webkit-slider-thumb{width:28px;height:28px}.pwgen-range::-moz-range-thumb{width:28px;height:28px}.pwgen-option{padding:8px 10px;gap:8px}.pwgen-option-label{font-size:.8125rem}.pwgen-multi-password{font-size:.75rem}.pwgen-strength-info{flex-direction:column;align-items:flex-start;gap:2px}.pwgen-tip-card{padding:var(--space-3)}.pwgen-conclusion{padding:var(--space-3)}}@media (pointer:coarse){.pwgen-option{min-height:48px}.pwgen-preset{min-height:40px;display:flex;align-items:center}.pwgen-copy-btn{width:44px;height:44px}.pwgen-multi-copy{width:40px;height:40px}.pwgen-faq-question{min-height:48px}}@supports (padding:max(0px)){.pwgen-hero,.pwgen-section,.pwgen-content-section,.pwgen-faq-section,.pwgen-related-section{padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right))}}