.auth-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1100;padding:1.5rem;overflow-y:auto}.auth-modal.is-open{display:flex}.auth-modal__overlay{position:absolute;inset:0;background:var(--color-bg-overlay);backdrop-filter:blur(12px)}.auth-modal__dialog{position:relative;z-index:1;width:min(520px,92%);max-height:calc(100vh - 3rem);border-radius:1.1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);box-shadow:0 32px 60px var(--color-shadow-strong);padding:1.75rem;color:var(--color-text-secondary);overflow-y:auto}.auth-modal__close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--color-text-muted);font-size:1.8rem;line-height:1;cursor:pointer;transition:color .2s ease}.auth-modal__close:hover{color:#fff}.auth-modal__content{display:flex;flex-direction:column;gap:1.25rem}.auth-modal__header h2{margin:0;color:var(--color-heading);font-size:clamp(1.4rem,1.6vw + 1rem,2rem);text-shadow:var(--hero-text-shadow)}.auth-modal__header p{margin:.4rem 0 0;color:var(--color-text-secondary);line-height:1.5}.auth-modal__tabs{display:inline-flex;gap:.4rem;padding:.3rem;background:var(--color-surface-contrast);border-radius:999px;border:1px solid var(--color-border-subtle);width:fit-content}.auth-modal__tab{border:none;border-radius:999px;padding:.7rem 1.4rem;background:transparent;color:var(--color-text-secondary);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;cursor:pointer;transition:all .2s ease}.auth-modal__tab.is-active{background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--button-primary-shadow)}.auth-modal__forms{display:grid}.auth-form{display:grid;gap:1.1rem}.auth-form[hidden]{display:none}.auth-form input{width:100%;padding:.85rem 1rem;border-radius:.85rem;border:1px solid var(--color-border-subtle);background:var(--color-surface-contrast);color:var(--color-text-primary);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.auth-form input:focus{outline:none;border-color:var(--color-highlight);box-shadow:0 0 0 3px #23c2c92e}.auth-form__input--invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.auth-form__submit{margin-top:.25rem;padding:.9rem 1rem;border-radius:.85rem;border:none;background:var(--button-primary-bg);color:var(--button-primary-text);font-weight:700;letter-spacing:.03em;cursor:pointer;transition:transform .2s ease,box-shadow .3s ease}.auth-form__submit:hover{transform:translateY(-1px);background:var(--button-primary-hover);box-shadow:var(--button-primary-shadow)}.auth-form__submit--secondary{background:transparent;border:1px solid var(--color-border-subtle);color:var(--color-text-primary)}.auth-form__submit--secondary:hover{background:#ffffff0a;box-shadow:none}.auth-form__link{text-align:center;color:var(--color-accent-cool-strong);font-size:.9rem;text-decoration:none;transition:color .2s ease}.auth-form__link:hover,.auth-form__link:focus-visible{color:var(--color-accent-cool)}.auth-form__helper{margin:0;line-height:1.6;color:var(--color-text-secondary)}.auth-form__actions{display:flex;flex-direction:column;gap:.75rem}.auth-form__actions .auth-form__link{align-self:center;cursor:pointer}@media(min-width:640px){.auth-form__actions{flex-direction:row;align-items:center;justify-content:space-between;gap:.85rem}.auth-form__actions .auth-form__submit{flex:1 0 auto}.auth-form__actions .auth-form__link{margin-left:auto}}.auth-modal__actions{display:flex;flex-direction:column;gap:.75rem}.auth-modal__actions .auth-form__submit,.auth-modal__actions .auth-form__link{width:100%}.auth-modal__feedback{min-height:1.35rem;margin-top:1.25rem;font-size:.95rem;color:var(--color-highlight)}.auth-modal__feedback.is-error{color:#f87171}.auth-modal__assurance{padding:1.2rem;border-radius:.9rem;background:var(--color-surface-contrast);border:1px solid var(--color-border-subtle)}.auth-modal__assurance h3{margin:0 0 .75rem;font-size:1rem;color:var(--color-feature-accent);text-transform:uppercase;letter-spacing:.05em}.auth-modal__assurance ul{margin:0;padding-left:1.1rem;color:var(--color-text-secondary);font-size:.92rem;line-height:1.6}.auth-modal__assurance li{margin-bottom:.35rem}[data-auth-gated][hidden],[data-auth-paywall][hidden]{display:none!important}.auth-paywall{border-radius:1.1rem;border:1px solid var(--color-border-subtle);background:linear-gradient(145deg,#0c1020f2,#070a14eb);box-shadow:0 20px 45px #03091b8c;padding:1.4rem;display:flex;flex-direction:column;gap:1rem;color:var(--color-text-secondary)}.auth-paywall__badge{text-transform:uppercase;font-size:.78rem;letter-spacing:.2em;color:var(--color-accent-warm-strong);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.35rem 1rem;width:max-content;background:#ffffff14}.auth-paywall__title{margin:0;font-size:1.2rem;color:var(--color-heading)}.auth-paywall__body{margin:0;color:var(--color-text-secondary);line-height:1.5}.auth-paywall__features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.auth-paywall__features li{display:flex;gap:.5rem;border:1px solid var(--color-border-subtle);border-radius:.85rem;padding:.55rem .6rem;background:#ffffff05}.auth-paywall__features span{font-size:1.25rem}.auth-paywall__features strong{display:block;color:var(--color-heading);font-size:.95rem}.auth-paywall__features p{margin:.15rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.auth-paywall__cta{display:grid;grid-template-columns:1fr auto;gap:.65rem}.auth-paywall__cta input{width:100%;padding:.95rem 1rem;border-radius:.95rem;border:1px solid var(--color-border-subtle);background:var(--color-surface-contrast);color:var(--color-text-primary);font-size:1rem}.auth-paywall__cta input:focus{outline:none;border-color:var(--color-highlight);box-shadow:0 0 0 3px #23c2c940}.auth-paywall__subscribe{padding:1rem 1.25rem;border:none;border-radius:.95rem;background:var(--button-primary-bg);color:var(--button-primary-text);font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:var(--button-primary-shadow);transition:transform .2s ease,box-shadow .3s ease}.auth-paywall__subscribe:hover{transform:translateY(-1px);box-shadow:0 18px 36px #0ea5e940}.auth-paywall__hint{margin:0;font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.auth-paywall__hint strong{color:var(--color-heading)}.auth-paywall__status{min-height:1.25rem;color:var(--color-highlight);font-size:.9rem;margin:0}.auth-paywall__status.is-error{color:#f87171}@media(max-width:640px){.auth-paywall__cta{grid-template-columns:1fr}}@media(max-width:60rem){.auth-modal__dialog{width:min(540px,95%);padding:2.1rem 1.85rem;max-height:calc(100vh - 2rem)}.auth-modal__tabs{width:100%;justify-content:center}}@media(max-width:40rem){.auth-modal__dialog{padding:1.85rem 1.5rem}.auth-modal__tab{flex:1;text-align:center}}
