@font-face{font-family:'CustomFont';src:url('../assets/fonts/font.ttf') format('truetype')}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'CustomFont',sans-serif;background:linear-gradient(135deg,#e0e0e0,#34495e);color:#e0e0e0;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;overflow-y:auto;touch-action:manipulation;padding:16px 0 120px}
.game-container{width:92vw;max-width:420px;background:#1e1e1e;border-radius:15px;padding:14px;box-shadow:0 10px 20px rgba(0,0,0,.6);text-align:center;position:relative}
.home-link{position:absolute;top:12px;right:12px;width:32px;height:32px;background:#333;border:2px solid #444;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#ecf0f1;font-size:.9em;z-index:10}
.home-link:active{background:#1EE6FF;border-color:#1EE6FF;transform:scale(.9)}
.title{font-size:1.3em;font-weight:bold;color:#1EE6FF;margin-bottom:10px}
.options{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}
.opt{font-size:.8rem;color:#ccc;background:#2a2a2a;padding:6px 10px;border-radius:8px;border:1px solid #333;cursor:pointer}
.opt input{margin-right:4px}
.length-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 12px;background:#2a2a2a;border-radius:8px;border:1px solid #333;font-size:.85rem;color:#aaa}
.length-bar strong{color:#FFE300}
input[type=range]{width:55%;accent-color:#1EE6FF}
.password-box{background:#111;border:2px solid #333;border-radius:10px;padding:14px;font-size:1.1em;font-family:monospace;color:#66FF0E;word-break:break-all;margin-bottom:10px;min-height:50px;display:flex;align-items:center;justify-content:center;letter-spacing:1px}
.actions{display:flex;gap:8px;margin-bottom:10px}
.btn{flex:1;padding:12px;border:none;border-radius:10px;font-size:.9rem;font-weight:bold;cursor:pointer;font-family:'CustomFont',sans-serif;transition:transform .15s}
.btn:active{transform:scale(.95)}
.btn.gen{background:linear-gradient(145deg,#27ae60,#2ecc71);color:#fff;border:2px solid #2ecc71}
.btn.copy{background:linear-gradient(145deg,#2980b9,#3498db);color:#fff;border:2px solid #3498db}
.btn.save{background:linear-gradient(145deg,#f39c12,#f1c40f);color:#1e1e1e;border:2px solid #f1c40f}
.save-section{display:flex;gap:8px;margin-bottom:10px}
.name-input{flex:1;padding:10px;border-radius:8px;border:2px solid #333;background:#1a1a1a;color:#ecf0f1;font-size:.85rem;font-family:'CustomFont',sans-serif}
.name-input::placeholder{color:#555}
.saved-list{max-height:150px;overflow-y:auto;text-align:left;font-size:.75rem}
.saved-list::-webkit-scrollbar{width:4px}
.saved-list::-webkit-scrollbar-thumb{background:#444;border-radius:2px}
.saved-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#151515;border-radius:8px;margin-bottom:4px;border:1px solid #222}
.saved-item .s-name{color:#FFE300;font-weight:bold}
.saved-item .s-pwd{color:#66FF0E;font-family:monospace;word-break:break-all;flex:1;margin:0 8px;font-size:.85rem}
.saved-item .s-del{color:#F50055;cursor:pointer;font-size:1em;padding:2px 6px}
.saved-item .s-share{color:#1EE6FF;cursor:pointer;font-size:1em;padding:2px 6px}
.s-actions{display:flex;gap:4px}
*:focus,*:active{outline:none;-webkit-tap-highlight-color:transparent}
footer{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#ecf0f1;font-size:.8em;position:fixed;bottom:4px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);padding:10px 20px;box-sizing:border-box;background:#1e1e1e;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.5);z-index:1000}
.footer-content{text-align:center;border-top:1px solid #444;padding-top:10px}
.footer-links{text-align:center;margin-top:10px}
.terms-link{color:#8a2be2;text-decoration:none}
@media(max-width:420px){.password-box{font-size:.95rem;padding:10px}}
