@font-face { font-family: "UniformCondensedBlack"; src: url("assets/fonts/uniform-condensed-black.ttf") format("truetype"); font-weight: 900; font-display: swap; }
@font-face { font-family: "UniformMedium"; src: url("assets/fonts/uniform-medium.ttf") format("truetype"); font-weight: 500; font-display: swap; }
:root { --cyan:#60c5d8; --volt:#ceff3d; --line:rgba(255,255,255,.13); --muted:#94a0a6; }
* { box-sizing:border-box; }
html { min-height:100%; background:#000; }
body { min-height:100vh; margin:0; background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.63)),url("assets/images/mainheaderbg.png") center/cover fixed; color:#fff; font-family:"UniformMedium",Arial,sans-serif; letter-spacing:0; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; line-height:1; }
.auth-header { position:sticky; top:0; z-index:10; height:70px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 28px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(0,0,0,.96); }
.auth-header .back-link { color:#aab3b8; font-size:14px; }
.auth-header .back-link:hover { color:#fff; }
.auth-header img { width:31px; height:34px; }
.auth-header .header-action { justify-self:end; color:var(--cyan); font-family:"UniformCondensedBlack"; text-transform:uppercase; }
.auth-layout { width:min(1180px,calc(100% - 36px)); margin:0 auto; padding:72px 0 90px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr); gap:clamp(42px,7vw,100px); align-items:start; }
.auth-intro { position:sticky; top:142px; padding-top:18px; }
.auth-kicker { margin:0 0 12px; color:var(--cyan); font-family:"UniformCondensedBlack"; font-size:18px; text-transform:uppercase; }
.auth-title { margin:0; font-family:"UniformCondensedBlack"; font-size:clamp(58px,7vw,98px); line-height:.84; text-transform:uppercase; }
.auth-title span,.form-heading span { color:var(--cyan); }
.auth-copy { max-width:460px; margin:28px 0 0; color:#b2bbc0; font-size:17px; line-height:1.55; }
.trust-list { margin:34px 0 0; padding:0; display:grid; gap:15px; list-style:none; color:#d5dade; }
.trust-list li { display:flex; gap:12px; align-items:center; }
.trust-list li::before { content:""; width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:var(--volt); box-shadow:0 0 18px rgba(206,255,61,.45); }
.auth-card { padding:clamp(24px,4vw,44px); border:1px solid var(--line); border-radius:8px; background:rgba(8,12,15,.94); box-shadow:0 30px 90px rgba(0,0,0,.5); backdrop-filter:blur(16px); }
.form-heading { margin:0 0 28px; font-family:"UniformCondensedBlack"; font-size:34px; text-transform:uppercase; }
.form-section { margin:0 0 30px; padding:0 0 28px; border:0; border-bottom:1px solid var(--line); }
.form-section:last-of-type { border-bottom:0; padding-bottom:0; }
.section-label { margin:0 0 17px; color:#fff; font-family:"UniformCondensedBlack"; font-size:16px; text-transform:uppercase; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:grid; gap:7px; margin-bottom:16px; }
.field:last-child { margin-bottom:0; }
.field label { color:#9da8ad; font-family:"UniformCondensedBlack"; font-size:12px; text-transform:uppercase; }
.field input,.field select { width:100%; height:52px; min-height:0; padding:0 15px; border:1px solid rgba(255,255,255,.12); border-radius:6px; outline:0; background:#11171b; color:#fff; font-size:16px; line-height:52px; }
.field input:focus,.field select:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(96,197,216,.12); }
.field input::placeholder { color:#59636a; }
.field-help { margin:0; color:#707d83; font-size:12px; line-height:1.4; }
.payment-shell { min-height:116px; padding:18px; border:1px solid rgba(96,197,216,.22); border-radius:6px; background:#0b1013; }
.payment-placeholder { display:grid; grid-template-columns:40px 1fr; gap:13px; align-items:center; color:#9aa5aa; font-size:13px; line-height:1.45; }
.payment-placeholder svg { width:36px; fill:var(--cyan); }
.payment-placeholder strong { display:block; margin-bottom:3px; color:#fff; font-family:"UniformCondensedBlack"; font-size:15px; text-transform:uppercase; }
.payment-security { margin:10px 0 0; color:#68757b; font-size:11px; }
.billing-card { width:min(760px,100%); }
.access-code-panel { margin:-8px 0 22px; padding:16px; border:1px solid rgba(96,197,216,.22); border-radius:6px; background:#071114; }
.subscribe-layout { width:100%; margin:0 auto; padding:clamp(12px,3vw,28px) clamp(10px,3vw,18px) 60px; }
.subscription-card { padding:22px; }
.subscribe-layout .subscription-card { width:min(393px,100%); margin:0 auto; padding:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.subscription-card .access-code-panel { margin:0 0 12px; }
.subscription-card .form-status:empty { display:none; }
.subscription-card .form-status { margin:0 0 12px; }
.access-code-panel label { display:block; margin:0 0 8px; color:var(--cyan); font-family:"UniformCondensedBlack"; font-size:13px; text-transform:uppercase; text-align:center; }
.access-code-row { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:8px; align-items:stretch; }
.access-code-row input { width:100%; min-width:0; height:48px; min-height:0; padding:0 13px; border:1px solid rgba(255,255,255,.12); border-radius:6px; outline:0; background:#0d1518; color:#fff; font-size:16px; line-height:48px; text-transform:uppercase; }
.access-code-row input:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(96,197,216,.12); }
.access-code-row button { width:112px; height:48px; min-height:0; padding:0 12px; display:flex; align-items:center; justify-content:center; border:1px solid var(--cyan); border-radius:6px; background:var(--cyan); color:#061012; font-family:"UniformCondensedBlack"; font-size:16px; line-height:1; text-transform:uppercase; cursor:pointer; }
.access-code-row button:disabled { opacity:.55; cursor:wait; }
.access-code-panel p { margin:9px 0 0; color:#7f8b90; font-size:12px; line-height:1.35; text-align:center; }
.billing-mode { margin:-12px 0 24px; padding:10px 12px; border:1px solid rgba(206,255,61,.25); border-radius:6px; background:rgba(206,255,61,.07); color:var(--volt); font-size:12px; text-align:center; }
.revenuecat-checkout { min-height:360px; overflow:hidden; border:1px solid rgba(96,197,216,.2); border-radius:6px; background:#090d0f; }
.subscription-card .revenuecat-checkout { width:100%; height:852px; min-height:852px; }
.subscription-card .revenuecat-checkout > .paywall-container,
.subscription-card .revenuecat-checkout .paywall,
.subscription-card .revenuecat-checkout .paywall-content { min-height:100% !important; height:100% !important; }
.billing-fallback { padding:22px; border:1px solid rgba(255,95,121,.25); border-radius:6px; color:#aeb7bb; line-height:1.5; text-align:center; }
.billing-fallback strong { display:block; margin-bottom:6px; color:#fff; font-family:"UniformCondensedBlack"; text-transform:uppercase; }
.check-row { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; color:#9da8ad; font-size:13px; line-height:1.45; }
.check-row input { width:18px; height:18px; accent-color:var(--cyan); }
.check-row a { color:var(--cyan); }
.submit-button { width:100%; height:56px; min-height:0; margin-top:20px; padding:0 16px; display:flex; align-items:center; justify-content:center; border:1px solid var(--cyan); border-radius:6px; background:var(--cyan); color:#061012; font-family:"UniformCondensedBlack"; font-size:16px; line-height:1; text-transform:uppercase; cursor:pointer; }
.submit-button.secondary { background:transparent; color:#fff; }
.submit-button:disabled { opacity:.55; cursor:wait; }
.form-status { min-height:20px; margin:14px 0 0; color:var(--muted); font-size:13px; text-align:center; }
.form-status[data-tone="error"] { color:#ff5f79; }
.form-status[data-tone="success"] { color:var(--volt); }
.form-switch { margin:24px 0 0; color:#849097; font-size:13px; text-align:center; }
.form-switch a { color:var(--cyan); font-family:"UniformCondensedBlack"; text-transform:uppercase; }
.compact-layout { grid-template-columns:minmax(0,440px); justify-content:center; padding-top:90px; }
.compact-layout .auth-card { width:100%; }
.compact-logo { width:210px; margin:0 auto 34px; display:block; }
[data-auth-verify] .form-heading { text-align:center; }
[data-verify-email] { display:block; text-align:center; overflow-wrap:anywhere; }
.code-row { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.code-row input { min-width:0; height:64px; padding:0; border:1px solid rgba(255,255,255,.12); border-radius:6px; outline:0; background:#11171b; color:#fff; text-align:center; font-family:"UniformCondensedBlack"; font-size:28px; }
.code-row input:focus { border-color:var(--cyan); }
.center-copy { margin:-12px 0 26px; color:#9da8ad; line-height:1.5; text-align:center; }
.center-copy strong { color:#fff; }
.download-actions { display:grid; gap:12px; margin-top:28px; }
.download-button { min-height:58px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:6px; background:#10161a; font-family:"UniformCondensedBlack"; text-transform:uppercase; }
.download-button.primary { border-color:var(--cyan); background:var(--cyan); color:#061012; }
.legal-layout { grid-template-columns:minmax(0,920px); justify-content:center; }
.legal-card { width:100%; }
.legal-card .compact-logo { margin-bottom:26px; }
.legal-updated { margin:-18px 0 24px; color:#7f8b90; font-size:13px; }
.legal-callout { margin:0 0 28px; padding:18px; border:1px solid rgba(206,255,61,.3); border-radius:6px; background:rgba(206,255,61,.06); }
.legal-callout h2,.legal-section h2 { margin:0 0 10px; color:#fff; font-family:"UniformCondensedBlack"; font-size:18px; line-height:1.1; text-transform:uppercase; }
.legal-callout p,.legal-section p { margin:0 0 12px; color:#b6c0c5; font-size:14px; line-height:1.65; }
.legal-callout p:last-child,.legal-section p:last-child { margin-bottom:0; }
.legal-section { padding:24px 0; border-top:1px solid var(--line); }
@media(max-width:880px){.auth-layout{grid-template-columns:1fr;padding-top:44px}.auth-intro{position:static;text-align:center}.auth-copy{margin-inline:auto}.trust-list{width:fit-content;margin-inline:auto;text-align:left}}
@media(max-width:560px){.auth-header{height:62px;padding:0 14px}.auth-header .back-link{font-size:0}.auth-header .back-link::after{content:"Back";font-size:13px}.auth-layout{width:min(100% - 22px,520px);padding:32px 0 60px;gap:30px}.auth-title{font-size:58px}.auth-copy{margin-top:20px;font-size:15px}.trust-list{display:none}.auth-card{padding:22px 16px}.field-grid{grid-template-columns:1fr;gap:0}.access-code-row{grid-template-columns:1fr}.access-code-row button{width:100%}.code-row{gap:5px}.code-row input{height:54px;font-size:23px}}
.subscribe-layout .access-code-row { grid-template-columns:minmax(0,1fr) clamp(96px,28vw,112px); }
.subscribe-layout .access-code-row button { width:100%; }
@media(max-width:370px){.subscribe-layout .access-code-row{grid-template-columns:1fr}.subscribe-layout .access-code-row button{width:100%}}
