/* LUA (Moon) + MODAL genérico + AUTH (login/signup/reset). */

/* MOON */
.moon-wrap{max-width:680px;margin:0 auto;padding:24px 20px 40px;}
.moon-header{text-align:center;margin-bottom:28px;}
.moon-icon-big{font-size:60px;margin-bottom:10px;line-height:1;}
.moon-phase-name{font-family:var(--font-heading);font-size:24px;margin-bottom:6px;}
.moon-date-str{font-size:var(--font-size-md);color:var(--text-muted);}
.moon-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:12px;}
.moon-card-title{font-family:var(--font-heading);font-size:var(--font-size-lg);margin-bottom:8px;color:var(--accent);}
.moon-card-text{font-size:var(--font-size-base);color:var(--text-muted);line-height:1.7;}
.moon-phases-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.phase-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 6px;text-align:center;}
.phase-icon{font-size:var(--font-size-2xl);margin-bottom:6px;}
.phase-name{font-size:var(--font-size-2xs);color:var(--text-dim);letter-spacing:0.08em;text-transform:uppercase;line-height:1.3;}
.phase-date{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:3px;}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(var(--black-rgb),0.75);z-index:200;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.modal-overlay.visible{opacity:1;pointer-events:all;}
.modal-sheet{background:var(--surface);border-radius:24px 24px 0 0;padding:28px 28px calc(28px + var(--safe-bottom,0px));width:100%;max-width:680px;transform:translateY(100%);transition:transform 0.4s cubic-bezier(0.25,0.8,0.25,1);}
.modal-overlay.visible .modal-sheet{transform:translateY(0);}
.modal-handle{width:40px;height:4px;background:var(--border-hover);border-radius:2px;margin:0 auto 22px;}
.modal-icon{font-size:44px;text-align:center;margin-bottom:10px;}
.modal-title{font-family:var(--font-heading);font-size:var(--font-size-2xl);text-align:center;margin-bottom:8px;}
.modal-text{font-size:var(--font-size-base);color:var(--text-muted);text-align:center;line-height:1.6;margin-bottom:22px;}
.modal-stars{display:flex;justify-content:center;gap:10px;margin-bottom:22px;}
.modal-star{font-size:34px;cursor:pointer;transition:transform 0.2s;filter:grayscale(1) opacity(0.35);}
.modal-star.lit{filter:none;transform:scale(1.15);}
.btn-modal-skip{width:100%;background:none;border:none;color:var(--text-dim);font-family:var(--font-body);font-size:var(--font-size-base);cursor:pointer;padding:10px;}
/* AUTH */
.auth-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:32px 24px;}
.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px;}
.auth-logo{text-align:center;margin-bottom:8px;}
.auth-logo-icon{display:flex;align-items:center;justify-content:center;}
.auth-logo-text{font-family:var(--font-heading);font-size:var(--font-size-2xl);letter-spacing:4px;color:var(--text);margin-top:6px;}
.btn-google{width:100%;padding:14px;background:var(--surface2);border:1px solid rgba(var(--overlay-rgb),0.12);border-radius:12px;color:var(--text);font-family:var(--font-body);font-size:var(--font-size-body);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:border-color .2s,transform 0.15s ease-out;}
.btn-google:active{transform:scale(0.97);}
.btn-google:hover{border-color:var(--accent);}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:var(--font-size-md);}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.auth-input{width:100%;padding:13px 16px;background:var(--surface2);border:1px solid rgba(var(--overlay-rgb),0.12);border-radius:12px;color:var(--text);font-family:var(--font-body);font-size:var(--font-size-body);box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s;}
.auth-input:focus{border-color:rgba(var(--accent-rgb),0.6);box-shadow:0 0 0 2px rgba(var(--accent-rgb),0.12);}
.auth-input::placeholder{color:rgba(var(--overlay-rgb),0.35);}
.pwd-field{position:relative;}
.pwd-field .auth-input,.pwd-field .ob-input{padding-right:44px;}
.pwd-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;background:none;border:none;cursor:pointer;color:var(--text-dim);padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;}
.pwd-toggle:hover{color:var(--text);}
.pwd-toggle svg{width:19px;height:19px;}
.pwd-toggle .pwd-icon-off{display:none;}
.pwd-toggle.showing .pwd-icon-on{display:none;}
.pwd-toggle.showing .pwd-icon-off{display:block;}
.auth-btn-main{width:100%;padding:13px 16px;background:linear-gradient(135deg,var(--gradient-start) 0%,var(--gradient-mid1) 33%,var(--gradient-mid2) 66%,var(--gradient-end) 100%);border:none;border-radius:12px;color:var(--color-white);font-family:var(--font-body);font-size:var(--font-size-body);font-weight:600;cursor:pointer;margin-top:12px;}
.auth-links{display:flex;justify-content:space-between;margin-top:12px;}
.auth-link{background:none;border:none;color:var(--color-auth-link);font-family:var(--font-body);font-size:var(--font-size-md);font-weight:400;cursor:pointer;padding:0;transition:color .2s;}
.auth-link:hover{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;}
.auth-link-primary{color:rgba(var(--overlay-rgb),0.85);font-weight:600;}
.auth-msg{font-size:var(--font-size-md);text-align:center;padding:8px 0;display:none;}

