.access-page{background:var(--bg);min-height:100vh;padding:0 5vw}.access-nav{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:28px 0;display:flex}.access-nav-logo{font-family:var(--font-syne), "Syne", sans-serif;letter-spacing:-.04em;color:var(--pink);font-size:1.45rem;font-weight:800;text-decoration:none}.access-nav-logo sup{color:var(--muted);letter-spacing:.02em;vertical-align:super;margin-left:4px;font-size:.55rem;font-weight:600}.access-nav-back{color:var(--muted);align-items:center;gap:4px;font-size:.88rem;text-decoration:none;transition:color .2s;display:flex}.access-nav-back:hover{color:var(--text)}.access-card-wrapper{justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:40px 0;display:flex}.access-card{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:480px;padding:40px 36px}.access-eyebrow{font-family:var(--font-syne), "Syne", sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:16px;font-size:.68rem;font-weight:700;display:block}.access-title{font-family:var(--font-syne), "Syne", sans-serif;letter-spacing:-.02em;color:var(--text);margin:0 0 12px;font-size:1.75rem;font-weight:800}.access-description{font-family:var(--font-dm-sans), "DM Sans", sans-serif;color:var(--muted);margin:0 0 28px;font-size:.95rem;line-height:1.6}.access-form{flex-direction:column;gap:14px;display:flex}.access-input{letter-spacing:.02em;width:100%;color:var(--text);background:var(--bg3);border:1px solid var(--border);border-radius:10px;outline:none;padding:14px 18px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Courier New,monospace;font-size:1rem;transition:border-color .2s,box-shadow .2s}.access-input::placeholder{color:var(--subtle)}.access-input:focus{border-color:var(--pink);box-shadow:0 0 0 3px var(--pink-dim)}.access-submit{width:100%;font-family:var(--font-syne), "Syne", sans-serif;color:#fff;background:var(--pink);cursor:pointer;border:none;border-radius:10px;padding:14px 24px;font-size:.95rem;font-weight:700;transition:background .2s,box-shadow .2s,transform .2s}.access-submit:hover:not(:disabled){box-shadow:0 0 28px var(--pink-glow);background:#ff4080;transform:translateY(-1px)}.access-submit:disabled{opacity:.7;cursor:not-allowed}.access-error{font-family:var(--font-dm-sans), "DM Sans", sans-serif;color:var(--red);background:var(--red-dim);border:1px solid #ef444440;border-radius:8px;margin-top:16px;padding:12px 16px;font-size:.88rem;line-height:1.5}.access-divider{background:var(--border);height:1px;margin:28px 0}.access-footer{flex-direction:column;align-items:center;gap:8px;display:flex}.access-footer-text{font-family:var(--font-dm-sans), "DM Sans", sans-serif;color:var(--muted);font-size:.88rem}.access-subscribe-link{font-family:var(--font-syne), "Syne", sans-serif;color:var(--pink);font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s}.access-subscribe-link:hover{color:#ff4080}@media (max-width:540px){.access-page{padding:0 16px}.access-card{padding:32px 24px}.access-title{font-size:1.5rem}.access-nav{flex-direction:column;gap:12px;padding:20px 0}.access-card-wrapper{min-height:calc(100vh - 100px)}}.google-signin-btn{border:1px solid var(--border);color:#1f1f1f;width:100%;font-family:var(--font-body), "DM Sans", sans-serif;cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:.95rem;font-weight:600;transition:opacity .2s,transform .2s;display:inline-flex}.google-signin-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.google-signin-btn:disabled{opacity:.6;cursor:default}.test-signin{border-top:1px dashed #ffffff1f;flex-direction:column;align-items:center;gap:10px;margin-top:16px;padding-top:16px;display:flex}.test-signin-buttons{gap:8px;width:100%;display:flex}.test-signin-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.test-signin-btn:hover:not(:disabled){background:#ffffff0f}.test-signin-btn:disabled{opacity:.6;cursor:default}.access-field{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.access-label{color:var(--text-muted,#8b8aae);font-size:.85rem}.access-section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--pink,#ff1b6b);margin-top:10px;font-size:.75rem}.access-hint{color:var(--text-muted,#8b8aae);font-size:.8rem}.access-role-cards{flex-direction:column;gap:12px;margin-top:8px;display:flex}.access-role-card{text-align:left;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;gap:6px;padding:18px 20px;transition:border-color .2s;display:flex}.access-role-card:hover,.access-role-card:focus-visible{border-color:var(--pink,#ff1b6b);outline:none}.access-role-title{font-size:1rem;font-weight:600}.access-role-body{color:var(--text-muted,#8b8aae);font-size:.9rem}.access-back-link{color:var(--text-muted,#8b8aae);font:inherit;cursor:pointer;text-align:center;background:0 0;border:0;width:100%;margin-top:14px;font-size:.9rem;display:block}.access-back-link:hover{color:var(--text)}.access-checks{flex-wrap:wrap;gap:8px 16px;display:flex}.access-check{color:var(--text);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.access-progress{background:var(--border);border-radius:999px;height:4px;margin-bottom:8px;overflow:hidden}.access-progress>div{background:var(--pink,#ff1b6b);height:100%;transition:width .3s}.access-repeat{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.access-repeat-dates{gap:10px;display:flex}.access-repeat-dates>*{flex:1}.access-tier-list{flex-direction:column;gap:10px;margin:8px 0 20px;padding:0;list-style:none;display:flex}.access-tier-list li{border:1px solid var(--border);opacity:.6;border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.access-tier-list li.is-qualified{opacity:1;border-color:#10b981}.access-submit-link{text-align:center;text-decoration:none;display:block}
