/* A light, theme-colored vector sphere; the original heavy sprite is not loaded. */
.hero-art{width:260px;margin-right:48px}
.hero-art .math-orb{width:228px;aspect-ratio:1;margin:0 auto 12px;background-image:none;color:var(--brand-primary);pointer-events:none}
.math-orb svg{display:block;width:100%;height:100%;overflow:visible}
.hero-art span{font-size:10px;letter-spacing:1.5px;color:var(--brand-muted)}
.auth-tabs{border-radius:10px;background:var(--brand-bg);padding:5px;margin-bottom:24px}
.login .auth-tabs button{flex:1;min-height:40px;margin:0;background:transparent;color:var(--brand-muted);font-size:14px}
.login .auth-tabs button.active{background:var(--brand-surface);color:var(--brand-primary);box-shadow:0 1px 5px #143d2410}
.login{max-width:480px;margin:20px auto 36px;padding:32px 36px}
.login h2{font-size:25px}.login .auth-intro{margin:8px 0 24px;font-size:13px}
.login label{margin-top:18px}.login input{margin-top:7px;min-height:46px}
.login .auth-note{font-size:12px;margin:18px 0 0;color:var(--brand-muted)}
.login .auth-error{font-size:13px;color:#a22b32;margin:16px 0 0;overflow-wrap:anywhere}
.login .guest-entry{margin-top:12px}.login .auth-switch{margin-top:18px;border:0;background:transparent;color:var(--brand-primary);padding:8px;min-height:40px;font-size:13px}
.access-choice{max-width:840px;margin:52px auto 64px;text-align:center;outline:none}
.access-choice h2{font-size:30px}.access-choice>p:not(.eyebrow){color:var(--brand-muted)}
.access-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;text-align:left}
.access-card{display:flex;flex-direction:column;border:1px solid var(--brand-line);border-radius:18px;padding:30px;background:var(--brand-surface)}
.access-card.member{background:var(--brand-tint)}.access-card h3{margin:0 0 12px;font-size:22px}
.access-card .access-price{font-size:28px;margin:0 0 12px}.access-price span{font-size:13px;font-weight:400;color:var(--brand-muted)}
.access-card ul{padding-left:20px;color:var(--brand-muted);font-size:14px;line-height:1.8;margin:0 0 26px}
.access-card button{width:100%;margin-top:auto}.access-card .access-footnote{font-size:12px;margin:12px 0 0;color:var(--brand-muted)}
body[data-session="onboarding"] .hero{display:none}
.account-overview{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:center;margin-bottom:24px}
.account-status{text-align:center;padding:12px 16px;background:var(--brand-bg);border-radius:16px}
.account-orb{width:188px;margin:0 auto 10px;color:var(--brand-primary)}.account-orb svg{display:block;width:100%;height:auto}
.account-orb-caption{font-size:10px;letter-spacing:1px;color:var(--brand-muted);margin:6px 0 20px}
.account-access-label{display:inline-block;padding:7px 14px;border-radius:999px;background:var(--brand-tint);color:var(--brand-primary);font-weight:600;font-size:14px}
.account-expiry{font-size:12px;line-height:1.8;color:var(--brand-muted);overflow-wrap:anywhere}
@media(max-width:650px){.account-overview{grid-template-columns:1fr;gap:16px}.account-status{padding:16px}.account-orb{width:128px}.account-orb-caption{margin-bottom:14px}}
@media(max-width:650px){.login{padding:24px;margin-top:12px}.access-choice{margin:28px auto}.access-choice h2{font-size:25px}.access-cards{grid-template-columns:1fr;gap:14px;margin-top:22px}.access-card{padding:24px}.access-card ul{margin-bottom:18px}}
