/* AlphaPride web system: warm ivory, midnight ink, restrained bullion. Shared across public/member journeys. */
.ap-web {
  --bg:#f8f6f0; --card:#ffffff; --card-2:#f0ede5; --surface:#ffffff;
  --fg:#17232a; --ink:#17232a; --body:#42505a; --muted:#53616a; --muted2:#53616a; --muted-2:#53616a;
  --line:#d8ddd9; --line-soft:#e4e7e1; --gold:#cda950; --gold-text:#755611; --orange:#cda950; --orange-ink:#755611;
  --gold-soft:#f4ecd6; --pos:#16734d; --neg:#a32f35; --r:18px; --radius:16px;
  --display:"Sora", "Geist", system-ui, sans-serif; --head:"Sora", "Geist", system-ui, sans-serif;
  --body-font:"IBM Plex Sans", "Geist", system-ui, sans-serif;
  background:var(--bg); color:var(--fg); font-family:var(--body-font); font-variant-numeric:tabular-nums;
}
.ap-web h1,.ap-web h2,.ap-web h3 {font-family:var(--display);text-transform:none;letter-spacing:-.035em;line-height:1.15;text-wrap:balance}
.ap-web h1 {font-size:clamp(2.5rem,5vw,5rem)}
.ap-web h2 {font-size:clamp(1.7rem,3vw,2.8rem)}
.ap-web .hero-h {font-size:clamp(3.5rem,7.8vw,7rem);letter-spacing:-.065em;line-height:1.02}
.ap-web .hero-p {max-width:54ch;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.75}
.ap-web .hero {padding-block:clamp(40px,6vw,90px);background:radial-gradient(ellipse at 80% 30%,#efe4c850,transparent 60%)}
.ap-web .hdr,.ap-web .top {background:#f8f6f0f2;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.ap-web .hdr-in,.ap-web .top .wrap {min-height:80px}
.ap-web .wordmark {font:700 1.3rem/1.1 var(--display);letter-spacing:.04em}
.ap-web .wordmark > span > span {color:var(--fg)}
.ap-web .btn {border-radius:10px;min-height:44px;font-size:14px;line-height:1.25;text-decoration:none;transition:background .18s,box-shadow .18s,transform .18s}
.ap-web .app-launch {display:inline-flex;gap:8px;align-items:center;justify-content:center;background:#17232a;color:#fff;border:1px solid #17232a;font-weight:650;white-space:nowrap;padding:12px 18px}
.ap-web .app-launch:hover {background:#293c47;color:#fff;box-shadow:0 6px 18px #17232a22}
.ap-web .btn-line {background:white;border-color:#b8c0bc;color:var(--fg)}
.ap-web .btn-gold {background:var(--gold);color:#17232a}
.ap-web a:focus-visible,.ap-web button:focus-visible,.ap-web input:focus-visible,.ap-web select:focus-visible,.ap-web summary:focus-visible {outline:3px solid #87620f;outline-offset:4px}
.ap-web input,.ap-web select,.ap-web textarea {border-radius:10px;font-size:16px}
.ap-web .panel,.ap-web .curve-band,.ap-web .fact,.ap-web .example {border-radius:18px;border-color:var(--line);box-shadow:0 6px 24px #17232a05}
.ap-web .panel {padding:clamp(20px,4vw,36px)}
.ap-web .section,.ap-web section[id] {scroll-margin-top:100px}
.ap-web .hero-copy {gap:22px}
.ap-web .facts {gap:12px}
.ap-web .badge {color:#42505a;border-color:#d8ddd9;background:#fff}
.ap-web .mega-links a {border-color:var(--line);padding:16px}
.ap-web .m-link {min-height:44px;padding-block:12px}
.ap-web .app-mobile {font-weight:700;color:var(--gold-text)}
.ap-web .auth {padding-block:clamp(40px,7vw,100px)}
.ap-web .side {max-width:52ch}
.ap-web .auth-grid {gap:clamp(24px,7vw,100px)}
.ap-web .page-head {padding-block:34px;gap:18px}
.ap-web .eyebrow {display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#755611;font-weight:700;margin-bottom:10px}
.ap-web .app-bridge {display:flex;align-items:center;justify-content:space-between;gap:28px;margin-block:48px;padding:32px;border:1px solid var(--line);border-radius:20px;background:#fff;max-width:1200px;width:calc(100% - 40px)}
.ap-web .app-bridge p {margin-top:12px;max-width:65ch;color:var(--muted);font-size:15px}
.ap-web .app-bridge h2 {font-size:clamp(1.5rem,3vw,2rem)}
.ap-web .foot {border-top:1px solid var(--line)}
.ap-web .top-right {display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ap-web .performance-panels {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:28px}
.ap-web .performance-panel {padding:24px;background:white;border:1px solid var(--line);border-radius:18px;min-width:0}
.ap-web .performance-panel h2 {font-size:1.4rem;margin-bottom:12px}
.ap-web .performance-panel svg {display:block;width:100%;height:auto}
.ap-web .performance-panel p {font-size:13px;color:var(--muted);margin-top:12px}
.ap-web .monthly-cells {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ap-web .month-cell {border:1px solid var(--line);padding:12px;border-radius:10px;font-size:13px;display:flex;flex-direction:column;gap:6px}
.ap-web .month-cell b {font-size:18px}
.ap-web .style-row {display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-block:14px;font-size:14px}
.ap-web .style-row span {color:var(--muted)}
.ap-web .mode-controls {display:flex;flex-wrap:wrap;gap:8px;margin-block:16px}
.ap-web .mode-controls button[aria-pressed="true"] {background:#17232a;color:white}
.ap-web .status-row {flex-wrap:wrap}
@media(max-width:1080px){.ap-web .hdr-in{gap:8px}.ap-web .hdr-right{gap:4px}.ap-web .hdr .wallet-btn{display:none}.ap-web .hdr-link{padding-inline:8px}.ap-web .top .wrap{gap:12px}.ap-web .main-nav{gap:18px}}
@media(max-width:600px){.ap-web .hdr-in{min-height:72px}.ap-web .logo{font-size:14px}.ap-web .logo-coin{width:30px;height:30px}.ap-web .hdr-right .hdr-link{display:none}.ap-web .hdr-right .app-launch{padding:10px;font-size:12px}.ap-web .hero{padding-top:36px}.ap-web .hero-grid{gap:32px}.ap-web .hero-copy .cta-row{gap:10px}.ap-web .hero-copy .cta-row .btn{flex:1 1 145px}.ap-web .app-bridge{flex-direction:column;align-items:flex-start;padding:24px;margin-block:30px}.ap-web .app-bridge .btn{width:100%}.ap-web .performance-panels{grid-template-columns:1fr}.ap-web .top .wrap{gap:12px}.ap-web .top-right{margin-left:auto}.ap-web .top-right .who{max-width:100px;overflow:hidden;text-overflow:ellipsis}.ap-web .main-nav{order:3;width:100%;border-top:1px solid var(--line);padding-top:8px}.ap-web .wordmark{font-size:1.1rem}.ap-web .performance-panel{padding:18px}.ap-web .table-scroll{max-width:100%;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){.ap-web *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.ap-web .hdr .logo span{display:block;position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:12px;letter-spacing:.04em}}

/* Distinct account journeys, one brand. The server sets the initial view. */
.ap-web .auth-grid{align-items:start;gap:48px;max-width:1000px}
.ap-web .auth-story{padding:28px 0}
.ap-web .auth-story h1{font-size:clamp(2.25rem,5vw,3.6rem)}
.ap-web .auth-panel{border-top:3px solid var(--gold);padding:28px;max-width:460px;width:100%}
.ap-web .auth-switch{display:flex;gap:20px;align-items:center;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:14px;font-size:14px}
.ap-web .auth-switch a{color:var(--muted);min-height:36px;display:inline-flex;align-items:center}
.ap-web[data-auth-view="login"] #tab-login,.ap-web[data-auth-view="signup"] #tab-request{color:var(--gold-text);font-weight:700}
.ap-web .join-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;margin:24px 0;font-size:12px}
.ap-web .join-steps li{border-top:2px solid var(--gold);padding-top:10px}
.ap-web .join-steps b{display:block;font-size:20px;color:var(--gold-text);margin-bottom:4px}
.ap-web[data-auth-view="login"] .join-steps{display:none}
.ap-web[data-auth-view="signup"] .auth-story{background:linear-gradient(135deg,var(--gold-soft),transparent);padding:28px;border-radius:18px}
.ap-web .auth-info,.ap-web .field-info{font-size:12px;color:var(--muted);margin-block:10px}
.ap-web .auth-info summary,.ap-web .field-info summary{cursor:pointer;min-height:28px}
.ap-web .auth-info p{font-size:13px}
.ap-web .auth .form{gap:14px}
@media(max-width:600px){.ap-web .auth{padding-block:28px}.ap-web .auth-grid{gap:22px}.ap-web .auth-story,.ap-web[data-auth-view="signup"] .auth-story{padding:18px 0;background:none}.ap-web .auth-panel{padding:20px}.ap-web .auth-story h1{font-size:2.3rem}.ap-web .auth-story p{font-size:14px}.ap-web .join-steps{margin-block:16px}}

/* Author styles must never reveal inactive auth, verification or recovery panes. */
.ap-web [hidden]{display:none!important}

.ap-web .auth-story{border:0;font-weight:400}
.ap-web .auth .linkbtn{border:0;background:none;color:var(--gold-text);padding:8px 0;min-height:36px;text-align:left;cursor:pointer}
.ap-web[data-auth-view] .app-bridge{display:none}

/* Searchable audit history: compact by default; retained, never deleted. */
.record-history { margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:12px; min-width:0; }
.record-history > summary { cursor:pointer; font-weight:600; padding:4px 0; }
.record-history > div { display:grid; gap:10px; margin-top:12px; min-width:0; }
.record-history input { width:100%; min-width:0; box-sizing:border-box; }
.record-history summary:focus-visible { outline:2px solid var(--focus, var(--gold-text)); outline-offset:4px; }
.record-history .item { overflow-wrap:anywhere; }

/* Guest registration stays visible outside the mobile menu. */
.ap-web .signup-cta {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;background:var(--gold);color:var(--ink);border:1px solid var(--gold-text);font-weight:700;white-space:nowrap}
.ap-web .signup-cta:hover {background:var(--gold-soft);color:var(--ink)}
.ap-web .top-right {flex-wrap:wrap}
@media(max-width:600px){.ap-web .hdr-right .signup-cta{padding:10px;font-size:12px}.ap-web .top-right .btn{padding:10px;font-size:12px}}
@media(max-width:380px){.ap-web .hdr-right .app-launch{display:none}}
