.app{max-width:480px;margin:0 auto;padding:16px 16px 100px;min-height:100vh}.header{text-align:center;padding:20px 0 12px;background:linear-gradient(135deg,#1b5e20,#2e7d32,#43a047);border-radius:16px;margin-bottom:20px;color:#fff}.header-icon{font-size:36px;margin-bottom:4px}.header-title{font-size:22px;font-weight:700;letter-spacing:-.3px}.header-subtitle{font-size:13px;opacity:.8;margin-top:4px}.password-display{display:flex;align-items:center;justify-content:space-between;background:var(--tg-theme-secondary-bg-color);border:2px solid #43a04733;border-radius:12px;padding:16px;margin-bottom:10px;cursor:pointer;transition:border-color .2s;min-height:64px}.password-display:hover{border-color:#43a04766}.password-text{font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:18px;font-weight:600;word-break:break-all;line-height:1.4;flex:1;margin-right:12px;-webkit-user-select:all;user-select:all}.copy-btn{background:none;border:none;font-size:22px;cursor:pointer;color:var(--tg-theme-hint-color);padding:4px 8px;border-radius:8px;transition:background .2s;flex-shrink:0}.copy-btn:hover{background:#0000000d}.strength-section{display:flex;align-items:center;gap:10px;margin-bottom:16px}.strength-bar-track{flex:1;height:6px;background:var(--tg-theme-secondary-bg-color);border-radius:3px;overflow:hidden}.strength-bar-fill{height:100%;border-radius:3px;transition:width .4s ease,background-color .4s ease}.strength-label{font-size:12px;font-weight:600;white-space:nowrap;min-width:72px;text-align:right}.generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;font-size:17px;font-weight:600;color:var(--tg-theme-button-text-color);background:linear-gradient(135deg,#2e7d32,#43a047);border:none;border-radius:12px;cursor:pointer;transition:opacity .2s,transform .1s;margin-bottom:16px}.generate-btn:active{transform:scale(.98);opacity:.9}.generate-icon{font-size:20px}.mode-selector{display:flex;gap:8px;margin-bottom:16px}.mode-btn{flex:1;padding:10px 8px;font-size:13px;font-weight:600;border:2px solid var(--tg-theme-secondary-bg-color);background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}.mode-btn.active{border-color:#43a047;background:#43a04715}.options-section{background:var(--tg-theme-secondary-bg-color);border-radius:12px;padding:4px 0;margin-bottom:16px}.option-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.option-row+.option-row{border-top:1px solid rgba(0,0,0,.06)}.option-label{font-size:14px;color:var(--tg-theme-text-color)}.slider-row{flex-direction:column;align-items:stretch;gap:8px}.length-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:#ddd;border-radius:3px;outline:none}.length-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--tg-theme-button-color);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px #0003}.length-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--tg-theme-button-color);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px #0003}.toggle-switch{position:relative;display:inline-block;cursor:pointer}.toggle-switch input{display:none}.toggle-track{display:block;width:48px;height:28px;background:#ccc;border-radius:14px;position:relative;transition:background .3s}.toggle-switch input:checked+.toggle-track{background:#43a047}.toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 1px 3px #00000026}.toggle-switch input:checked+.toggle-track .toggle-thumb{transform:translate(20px)}.batch-btn{display:block;width:100%;padding:12px;font-size:14px;font-weight:600;color:var(--tg-theme-text-color);background:var(--tg-theme-secondary-bg-color);border:2px dashed #43a04744;border-radius:12px;cursor:pointer;transition:border-color .2s;margin-bottom:12px}.batch-btn:hover{border-color:#43a04788}.batch-btn.locked{opacity:.7}.batch-list{background:var(--tg-theme-secondary-bg-color);border-radius:12px;margin-bottom:16px;overflow:hidden}.batch-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;transition:background .15s}.batch-item:hover{background:#00000008}.batch-item+.batch-item{border-top:1px solid rgba(0,0,0,.06)}.batch-pw{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;word-break:break-all;flex:1;margin-right:8px}.batch-copy{font-size:16px;color:var(--tg-theme-hint-color);flex-shrink:0}.usage-info{text-align:center;font-size:13px;color:var(--tg-theme-hint-color);margin-bottom:20px}.premium-badge{display:inline-block;background:linear-gradient(135deg,#fdd835,#ff9800);color:#333;font-weight:700;padding:4px 14px;border-radius:20px;font-size:12px}.history-section{margin-bottom:16px}.section-title{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--tg-theme-text-color)}.history-list{background:var(--tg-theme-secondary-bg-color);border-radius:12px;overflow:hidden}.history-item{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;cursor:pointer;transition:background .15s}.history-item:hover{background:#00000008}.history-item+.history-item{border-top:1px solid rgba(0,0,0,.06)}.history-pw{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;word-break:break-all;color:var(--tg-theme-hint-color);flex:1;margin-right:8px}.history-copy{font-size:14px;color:var(--tg-theme-hint-color);flex-shrink:0}.dev-toggle{text-align:center;padding:12px 0}.dev-btn{font-size:11px;color:var(--tg-theme-hint-color);background:none;border:1px dashed var(--tg-theme-hint-color);border-radius:8px;padding:6px 16px;cursor:pointer;opacity:.6}.dev-btn:hover{opacity:1}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:fadeIn .2s ease}.modal{background:var(--tg-theme-bg-color);border-radius:20px;padding:28px 24px;max-width:340px;width:100%;text-align:center;animation:slideUp .3s ease}.modal-icon{font-size:48px;margin-bottom:12px}.modal-title{font-size:20px;font-weight:700;margin-bottom:8px}.modal-desc{font-size:14px;color:var(--tg-theme-hint-color);margin-bottom:16px;line-height:1.5}.modal-features{list-style:none;margin-bottom:20px;text-align:left;padding:0 8px}.modal-features li{font-size:14px;position:relative;padding:6px 0 6px 24px}.modal-features li:before{content:"✓";position:absolute;left:0;color:#43a047;font-weight:700}.modal-buy-btn{display:block;width:100%;padding:14px;font-size:16px;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff9800,#fdd835);border:none;border-radius:12px;cursor:pointer;margin-bottom:10px;transition:opacity .2s}.modal-buy-btn:active{opacity:.85}.modal-close-btn{display:block;width:100%;padding:12px;font-size:14px;color:var(--tg-theme-hint-color);background:none;border:none;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2678b6;--tg-theme-button-color: #50a8eb;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f0f0f0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);min-height:100vh;-webkit-font-smoothing:antialiased}
