.auth-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .24s ease;z-index:var(--z-modal, 1000)}.auth-modal.is-visible{opacity:1;pointer-events:auto}.auth-modal__backdrop{position:absolute;inset:0;background:#00000073}.auth-modal__panel{position:relative;width:min(520px,calc(100% - 32px));background:var(--surface);color:var(--text);border:1px solid color-mix(in srgb,var(--text) 12%,transparent);box-shadow:0 18px 38px #00000047;border-radius:18px;padding:56px 40px 36px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:left;z-index:var(--z-modal-front, 1010)}:root[data-theme=light] .auth-modal__panel,body:not(.dark-mode) .auth-modal__panel{box-shadow:0 12px 30px #00000014}.auth-modal__close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:none;background:var(--button-bg);color:var(--button-text);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center}.auth-modal__back{position:absolute;top:14px;left:14px;width:38px;height:38px;border-radius:50%;border:none;background:var(--button-bg);color:var(--button-text);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.auth-modal__back:hover{background:color-mix(in srgb,var(--accent) 25%,transparent)}.auth-modal__back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-modal__badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text);margin-bottom:10px}.auth-modal__intro{margin:0 0 24px;color:color-mix(in srgb,var(--text) 80%,transparent)}.auth-footnote{margin-top:18px;font-size:13px;color:color-mix(in srgb,var(--text) 60%,transparent)}.auth-footnote+.auth-footnote{margin-top:.25rem}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.auth-form input,.auth-form select{width:100%}.turnstile-slot{min-height:65px}.turnstile-slot>div{margin:0 auto}.password-toggle{border:none;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-weight:600;padding:.35rem .75rem;border-radius:999px;cursor:pointer}.auth-form__split{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.auth-submit{margin-top:6px;width:100%;background:var(--accent);border:none;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-contrast)}.auth-submit.secondary{margin-top:10px;background:transparent;color:var(--text);border:1px solid color-mix(in srgb,var(--text) 25%,transparent)}#login-form .auth-submit.btn-signup,#login-form .auth-submit.btn-enter{background:var(--surface-raised, #242526);color:var(--text);border:1px solid var(--border-color, #343536);box-shadow:none}#login-form .auth-submit.btn-signup:hover,#login-form .auth-submit.btn-enter:hover{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}#login-form .auth-submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-remember{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--text) 6%,transparent);font-weight:600;border:1px solid var(--input-border)}.auth-remember input{flex-shrink:0;width:18px;height:18px;accent-color:var(--accent);margin:0}.auth-remember span{color:var(--text)}.auth-forgot{margin:.75rem 0 0;text-align:center;font-size:.85rem;color:color-mix(in srgb,var(--text) 60%,transparent)}.auth-forgot a{color:var(--accent);font-weight:600;text-decoration:none}.auth-forgot a:hover{text-decoration:underline}.forgot-resend-link{background:none;border:none;color:var(--accent);font-weight:600;font-size:inherit;cursor:pointer;text-decoration:none;padding:0}.forgot-resend-link:hover{text-decoration:underline}.auth-mode-toggle{display:flex;gap:.75rem;margin:1.25rem 0}.auth-mode-toggle .mode-btn{flex:1;border:2px solid color-mix(in srgb,var(--accent) 35%,transparent);background:transparent;color:var(--text);padding:.65rem 0;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.auth-mode-toggle .mode-btn.is-active,.auth-mode-toggle .mode-btn:hover,.auth-mode-toggle .mode-btn:focus-visible{background:var(--accent);color:var(--accent-contrast);box-shadow:0 10px 25px color-mix(in srgb,var(--accent) 35%,transparent);transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}body.modal-open{overflow:hidden}.code-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .24s ease;z-index:var(--z-modal, 1000)}.code-modal.is-visible{opacity:1;pointer-events:auto}.code-modal__backdrop{position:absolute;inset:0;background:#00000073}.code-modal__panel{position:relative;width:min(420px,calc(100% - 32px));background:var(--surface);color:var(--text);border:1px solid color-mix(in srgb,var(--text) 12%,transparent);box-shadow:0 18px 38px #00000047;border-radius:16px;padding:28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:left;z-index:var(--z-modal-front, 1010)}.code-modal__title{margin:0 0 1rem;font-size:1.75rem;color:var(--accent);text-align:center}.code-modal__panel p{margin:0 0 1.5rem;text-align:center}.code-modal__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:var(--button-bg);color:var(--button-text);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.code-form{display:flex;flex-direction:column;gap:12px}.code-form label{font-weight:500;color:var(--text)}.code-form input{padding:12px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-size:16px;letter-spacing:.2em;text-align:center}.code-form input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:transparent}.code-digits{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-width:320px;margin:0 auto}.code-digit{width:100%;padding:12px;text-align:center;font-size:20px;letter-spacing:2px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text)}.code-digit:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:transparent}.code-form .auth-submit{margin-top:1rem;padding:.75rem}.password-hint{margin:4px 0 0;font-size:.8rem;line-height:1.4;color:color-mix(in srgb,var(--text) 55%,transparent);transition:color .2s ease}.password-hint.is-invalid{color:var(--error, #e74c3c)}.password-hint.is-valid{color:var(--success, #2e7d32)}
