:root {
    --auth3-ink: #14231d;
    --auth3-muted: #66756e;
    --auth3-green: #087a58;
    --auth3-mint: #2ed6a1;
    --auth3-paper: #fbfffd;
    --auth3-line: rgba(8, 122, 88, .16);
    --auth3-danger: #d92d4f;
}

.ampol-auth-body { margin: 0; background: #eaf6f1; color: var(--auth3-ink); }
.ampol-auth-body .auth-page { min-height: 100dvh; padding: 24px; background: radial-gradient(circle at 12% 14%, rgba(46,214,161,.22), transparent 31%), radial-gradient(circle at 86% 82%, rgba(107,79,255,.14), transparent 31%), #eef8f4; }
.ampol-auth-body .auth-page__mesh { opacity: .2; }
.ampol-auth-body .auth-shell { width: min(1120px, 100%); min-height: min(760px, calc(100dvh - 48px)); margin: auto; display: grid; grid-template-columns: 1.04fr .96fr; border: 1px solid rgba(255,255,255,.9); border-radius: 36px; overflow: hidden; background: rgba(255,255,255,.73); box-shadow: 0 28px 90px rgba(20,59,44,.16); backdrop-filter: blur(24px); }
.ampol-auth-body .auth-showcase { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; padding: 38px; overflow: hidden; color: #fff; background: linear-gradient(145deg,#071c16 0%,#0a3a2d 58%,#087a58 100%); }
.ampol-auth-body .auth-showcase::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 50% 38%,rgba(49,240,177,.2),transparent 34%), linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:auto,32px 32px,32px 32px; }
.ampol-auth-body .auth-showcase__top,.ampol-auth-body .auth-showcase__copy,.ampol-auth-body .auth-motion-scene { position:relative; z-index:1; }
.ampol-auth-body .auth-showcase__top { display:flex; gap:10px; align-items:center; font-size:11px; letter-spacing:.16em; color:#b8dace; }
.ampol-auth-body .auth-showcase__top b { margin-inline-start:auto; border:1px solid rgba(255,255,255,.2); border-radius:99px; padding:5px 10px; }
.ampol-auth-body .auth-live-dot { width:8px; height:8px; border-radius:50%; background:#38efb5; box-shadow:0 0 0 7px rgba(56,239,181,.1),0 0 20px #38efb5; }
.ampol-auth-body .auth-motion-scene { min-height:330px; display:grid; place-items:center; }
.ampol-auth-body .auth-verify-device { width:min(310px,82%); padding:22px; border-radius:30px; border:1px solid rgba(255,255,255,.15); background:rgba(3,24,18,.66); box-shadow:0 28px 55px rgba(0,0,0,.28); transform:rotate(-2deg); }
.ampol-auth-body .auth-verify-device__head { display:flex; align-items:center; gap:10px; }
.ampol-auth-body .auth-mini-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#06271d; background:#3de7b0; font-weight:900; }
.ampol-auth-body .auth-verify-device__head div { display:flex; flex-direction:column; }
.ampol-auth-body .auth-verify-device__head small { color:#80a99a; }
.ampol-auth-body .auth-verify-device__head i { margin-inline-start:auto; width:8px; height:8px; border-radius:50%; background:#3de7b0; }
.ampol-auth-body .auth-verify-device__shield { margin:28px auto 16px; width:94px; height:94px; display:grid; place-items:center; border-radius:28px; color:#43e9b4; border:1px solid rgba(67,233,180,.3); background:rgba(67,233,180,.07); }
.ampol-auth-body .auth-verify-device__shield svg { width:54px; stroke:currentColor; stroke-width:2.2; }
.ampol-auth-body .auth-verify-device__shield .is-checking,.ampol-auth-body .auth-verify-device__shield .is-success { display:none; }
.ampol-auth-body .auth-verify-device>p { text-align:center; color:#b8dace; font-size:13px; }
.ampol-auth-body .auth-demo-code { display:flex; gap:7px; justify-content:center; margin:16px 0; }
.ampol-auth-body .auth-demo-code span { display:grid; place-items:center; width:35px; height:42px; border-radius:10px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); font-style:normal; }
.ampol-auth-body .auth-demo-code i { font-style:normal; }
.ampol-auth-body .auth-demo-verify { display:flex; justify-content:center; align-items:center; height:42px; border-radius:13px; color:#06271d; background:#3de7b0; font-size:10px; letter-spacing:.08em; }
.ampol-auth-body .auth-demo-verify svg,.ampol-auth-body .auth-demo-verify__loader,.ampol-auth-body .auth-demo-verify b span+span { display:none; }
.ampol-auth-body .auth-showcase__copy span { color:#5bffca; font-size:12px; }
.ampol-auth-body .auth-showcase__copy h2 { margin:10px 0; color:#fff; font-size:36px; line-height:1.45; }
.ampol-auth-body .auth-showcase__copy strong { color:#57e9ba; }
.ampol-auth-body .auth-showcase__copy p { margin:0; color:#9bbcaf; }
.ampol-auth-body .auth-panel-column { padding:26px 48px 24px; display:flex; flex-direction:column; min-width:0; }
.ampol-auth-body .auth-topbar { display:flex; align-items:center; justify-content:space-between; }
.ampol-auth-body .auth-brand { display:flex; align-items:center; gap:10px; color:var(--auth3-ink); text-decoration:none; font-size:14px; font-weight:800; }
.ampol-auth-body .auth-brand__mark { display:grid; place-items:center; width:42px; height:42px; color:#fff; background:linear-gradient(145deg,#0a8964,#075b43); border-radius:14px; box-shadow:0 8px 20px rgba(8,122,88,.25); }
.ampol-auth-body .auth-brand b { color:var(--auth3-green); }
.ampol-auth-body .auth-language { padding:9px 13px; border:1px solid var(--auth3-line); border-radius:12px; color:var(--auth3-green); text-decoration:none; font-size:12px; }
.ampol-auth-body .auth-main-card { flex:1; display:flex; align-items:center; margin:18px 0 4px; border:0; background:transparent; box-shadow:none; padding:0; }
.auth-v3-flow { width:100%; max-width:440px; margin:auto; }
.auth-v3-heading { margin-bottom:26px; }
.auth-v3-step { display:inline-flex; padding:7px 11px; color:var(--auth3-green); background:rgba(46,214,161,.11); border:1px solid var(--auth3-line); border-radius:99px; font-size:11px; font-weight:700; }
.auth-v3-heading h1 { margin:18px 0 8px; color:var(--auth3-ink); font-size:clamp(27px,3vw,38px); line-height:1.35; letter-spacing:-.04em; }
.auth-v3-heading>p { margin:0; color:var(--auth3-muted); font-size:14px; line-height:2; }
.auth-v3-heading>p b { color:var(--auth3-green); }
.auth-v3-form { display:grid; gap:16px; }
.auth-v3-field { display:grid; gap:8px; }
.auth-v3-field>span { display:flex; align-items:center; justify-content:space-between; }
.auth-v3-field>span b { font-size:13px; color:var(--auth3-ink); }
.auth-v3-field>span small { font-size:10px; color:#8a9791; }
.auth-v3-input { height:60px; display:flex; align-items:center; gap:10px; padding:0 16px; border:1.5px solid rgba(12,63,46,.13); border-radius:18px; background:#fff; box-shadow:0 8px 22px rgba(16,67,48,.05); transition:.2s; }
.auth-v3-input:focus-within { border-color:var(--auth3-mint); box-shadow:0 0 0 4px rgba(46,214,161,.12),0 12px 28px rgba(16,67,48,.08); }
.auth-v3-input.is-error { border-color:rgba(217,45,79,.5); background:#fff8fa; box-shadow:0 0 0 4px rgba(217,45,79,.08); }
.auth-v3-input input { flex:1; min-width:0; border:0!important; outline:0!important; box-shadow:none!important; background:transparent!important; color:var(--auth3-ink)!important; font:inherit; font-size:15px; }
.auth-v3-input input::placeholder { color:#abb5b0; }
.auth-v3-input i { font-style:normal; color:#84938d; font-size:12px; }
.auth-v3-input em { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; color:var(--auth3-green); background:#e9f8f2; font-style:normal; font-weight:800; }
.auth-v3-hint,.auth-v3-error { display:block; font-size:11px; line-height:1.8; }
.auth-v3-hint { color:#829089; }.auth-v3-error { color:var(--auth3-danger); font-weight:700; }
.auth-v3-remember { display:flex; gap:10px; align-items:center; padding:12px 14px; border:1px solid var(--auth3-line); border-radius:15px; background:rgba(255,255,255,.6); }
.auth-v3-remember input { width:19px; height:19px; accent-color:var(--auth3-green); }
.auth-v3-remember span { display:flex; flex-direction:column; }.auth-v3-remember b { font-size:12px; }.auth-v3-remember small { color:#87948e; font-size:10px; }
.auth-v3-submit { height:60px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; border:0; border-radius:18px; color:#fff; background:linear-gradient(110deg,#087a58,#14a777); box-shadow:0 14px 30px rgba(8,122,88,.25); font:inherit; font-weight:800; cursor:pointer; }
.auth-v3-submit i { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; color:#075b43; background:#fff; font-style:normal; }
.auth-v3-submit:disabled { opacity:.48; cursor:not-allowed; box-shadow:none; }
.auth-v3-trust { margin-top:18px; display:flex; justify-content:space-between; gap:7px; color:#687971; font-size:9px; }
.auth-v3-trust span { display:flex; gap:4px; align-items:center; }.auth-v3-trust i { color:var(--auth3-green); font-style:normal; }
.auth-v3-shield { width:72px; height:72px; display:grid; place-items:center; margin:16px 0 0; border-radius:24px; color:var(--auth3-green); background:linear-gradient(145deg,#e5fff6,#fff); border:1px solid var(--auth3-line); box-shadow:0 12px 28px rgba(8,122,88,.12); letter-spacing:4px; }
.auth-v3-shield.is-error { color:var(--auth3-danger); background:#fff0f3; }.auth-v3-shield.is-success { color:#fff; background:#0f9f73; font-size:25px; }
.auth-v3-code { position:relative; display:flex; gap:8px; direction:ltr; }
.auth-v3-code__capture { position:absolute!important; inset:0!important; opacity:.01!important; width:100%!important; height:100%!important; cursor:text; z-index:3; }
.auth-v3-code span { flex:1; height:58px; display:grid; place-items:center; border:1.5px solid rgba(12,63,46,.14); border-radius:15px; color:#aeb8b3; background:#fff; font-weight:900; font-size:19px; }
.auth-v3-code span.is-filled { color:var(--auth3-ink); border-color:var(--auth3-mint); }.auth-v3-code span.is-active { box-shadow:0 0 0 3px rgba(46,214,161,.12); }
.auth-v3-code.is-error span { border-color:rgba(217,45,79,.4); background:#fff7f8; }.auth-v3-code.is-success span { border-color:#18b985; background:#edfff8; }
.auth-v3-result { min-height:50px; display:flex; align-items:center; gap:10px; padding:10px 13px; border-radius:15px; color:#587068; background:#f0f8f5; }
.auth-v3-result>i { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:10px; background:#fff; color:var(--auth3-green); font-style:normal; font-weight:900; }
.auth-v3-result span { display:flex; flex-direction:column; }.auth-v3-result b { font-size:11px; }.auth-v3-result small { font-size:9px; line-height:1.6; }
.auth-v3-result.is-error { color:#a81e3d; background:#fff0f3; }.auth-v3-result.is-error>i { color:var(--auth3-danger); }.auth-v3-result.is-success { color:#08704f; background:#e9fff7; }
.auth-v3-timer { display:flex; align-items:center; justify-content:space-between; color:var(--auth3-muted); font-size:10px; }.auth-v3-timer span { direction:ltr; font-weight:900; color:var(--auth3-green); }
.auth-v3-otp-actions { display:flex; justify-content:center; gap:18px; margin-top:17px; font-size:11px; }.auth-v3-otp-actions form { margin:0; }.auth-v3-otp-actions button,.auth-v3-otp-actions a { border:0; background:none; color:var(--auth3-green); text-decoration:none; font:inherit; cursor:pointer; }.auth-v3-otp-actions button:disabled { color:#9ba7a2; }
.auth-v3-verified,.auth-v3-privacy { display:flex; align-items:center; gap:11px; }
.auth-v3-verified { width:max-content; margin-top:16px; padding:9px 12px; border:1px solid var(--auth3-line); border-radius:14px; background:#e9fff7; }
.auth-v3-verified>i,.auth-v3-privacy>i { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#fff; background:var(--auth3-green); font-style:normal; }
.auth-v3-verified span,.auth-v3-privacy span { display:flex; flex-direction:column; }.auth-v3-verified b,.auth-v3-privacy b { font-size:11px; }.auth-v3-verified small,.auth-v3-privacy small { color:#73857d; font-size:9px; }
.auth-v3-privacy { padding:12px; border:1px solid var(--auth3-line); border-radius:16px; background:#f2faf7; }.auth-v3-privacy>i { background:#dff7ee; color:var(--auth3-green); }
.ampol-auth-body .auth-status { margin:0 0 14px; padding:10px 12px; border-radius:13px; color:#08704f; background:#e9fff7; font-size:11px; }
.ampol-auth-body .auth-copyright { margin:auto auto 0; color:#8b9892; font-size:9px; }
.ampol-auth-body .faq-assistant,.ampol-auth-body .ampol-faq-bot { display:none!important; }

@media (max-width: 760px) {
    .ampol-auth-body .auth-page { padding:0; background:#f5fbf8; }
    .ampol-auth-body .auth-shell { width:100%; min-height:100dvh; display:block; border:0; border-radius:0; background:#f9fdfb; box-shadow:none; }
    .ampol-auth-body .auth-showcase { min-height:154px; height:154px; padding:20px 20px 18px; border-radius:0 0 34px 34px; background:linear-gradient(135deg,#06251b,#087557); }
    .ampol-auth-body .auth-showcase__top { font-size:9px; }.ampol-auth-body .auth-showcase__top b { padding:3px 8px; }
    .ampol-auth-body .auth-motion-scene,.ampol-auth-body .auth-showcase__copy p,.ampol-auth-body .auth-showcase__copy span { display:none; }
    .ampol-auth-body .auth-showcase__copy h2 { margin:0; font-size:23px; line-height:1.45; }
    .ampol-auth-body .auth-panel-column { min-height:calc(100dvh - 154px); padding:0 18px 16px; }
    .ampol-auth-body .auth-topbar { order:-1; width:calc(100% - 8px); margin:-27px auto 18px; padding:10px 12px; border-radius:18px; background:rgba(255,255,255,.96); box-shadow:0 12px 30px rgba(11,70,50,.15); z-index:3; }
    .ampol-auth-body .auth-brand__mark { width:36px; height:36px; border-radius:12px; }.ampol-auth-body .auth-language { padding:7px 10px; }
    .ampol-auth-body .auth-main-card { align-items:flex-start; margin:0; padding:0; }
    .auth-v3-flow { max-width:none; padding:4px 2px 10px; }
    .auth-v3-heading { margin-bottom:20px; }.auth-v3-heading h1 { margin-top:14px; font-size:28px; }.auth-v3-heading>p { font-size:12px; line-height:1.9; }
    .auth-v3-step { font-size:9px; padding:6px 9px; }
    .auth-v3-input,.auth-v3-submit { height:56px; border-radius:16px; }
    .auth-v3-code { gap:5px; }.auth-v3-code span { height:52px; border-radius:13px; font-size:17px; }
    .auth-v3-trust { gap:4px; font-size:8px; }
    .auth-v3-shield { width:58px; height:58px; border-radius:19px; margin-top:12px; }
    .auth-v3-complete .auth-v3-heading { margin-bottom:14px; }
    .ampol-auth-body .auth-copyright { padding-top:10px; }
}

@media (max-width: 360px) {
    .ampol-auth-body .auth-panel-column { padding-inline:13px; }
    .auth-v3-code span { height:48px; font-size:15px; }
    .auth-v3-trust { flex-wrap:wrap; justify-content:center; }
}

/* Dark account themes receive their own high-contrast auth palette. */
:is(html[data-theme="solar"],html[data-theme="graphite"]) {
    --auth3-ink: #f8faf9;
    --auth3-muted: #c5cec9;
    --auth3-paper: #242a31;
    --auth3-line: rgba(255,255,255,.16);
}

html[data-theme="solar"] { --auth3-green:#f6c915; --auth3-mint:#ffe466; }
html[data-theme="graphite"] { --auth3-green:#6ee7b7; --auth3-mint:#a7f3d0; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .ampol-auth-body .auth-panel-column { background:linear-gradient(160deg,#252b33,#1b2026); }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .ampol-auth-body .auth-main-card { background:transparent!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-heading h1,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-field>span b,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-remember b { color:var(--auth3-ink)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-heading>p,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-hint,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-field>span small,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-remember small,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-timer,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-trust { color:var(--auth3-muted)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-step { color:var(--auth3-green)!important; background:color-mix(in srgb,var(--auth3-green) 12%,transparent)!important; border-color:color-mix(in srgb,var(--auth3-green) 28%,transparent)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-input,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-code span { color:#f8faf9!important; background:#171c22!important; border-color:rgba(255,255,255,.18)!important; box-shadow:none; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-input input { color:#f8faf9!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-input input::placeholder { color:#87918d!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-input em { color:#111820!important; background:var(--auth3-green)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-input.is-error { border-color:#ff6684!important; background:#2c1d23!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-remember,
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-privacy { color:var(--auth3-ink)!important; background:#20262d!important; border-color:rgba(255,255,255,.14)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-code span.is-filled { border-color:var(--auth3-green)!important; color:#fff!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-result { color:#e4ebe7!important; background:#171c22!important; border:1px solid rgba(255,255,255,.12); }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-result>i { color:#111820!important; background:var(--auth3-green)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-result.is-error { color:#ffc1cd!important; background:#321d24!important; border-color:rgba(255,102,132,.35); }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-result.is-success { color:#c8ffe9!important; background:#17342a!important; border-color:rgba(110,231,183,.3); }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-submit { color:#10151a!important; background:linear-gradient(110deg,var(--auth3-green),var(--auth3-mint))!important; box-shadow:0 14px 30px color-mix(in srgb,var(--auth3-green) 20%,transparent)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-submit i { color:#10151a!important; background:rgba(255,255,255,.72)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-shield { color:var(--auth3-green)!important; background:#171c22!important; border-color:color-mix(in srgb,var(--auth3-green) 35%,transparent)!important; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .ampol-auth-body .auth-status { color:#d8ffe8!important; background:#17372b!important; border:1px solid rgba(104,235,174,.25); }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .ampol-auth-body .auth-copyright { color:#aeb8b3!important; }

@media (max-width:760px) {
    :is(html[data-theme="solar"],html[data-theme="graphite"]) .ampol-auth-body .auth-shell { background:#1b2026; }
    :is(html[data-theme="solar"],html[data-theme="graphite"]) .ampol-auth-body .auth-topbar { background:#252b33; }
    :is(html[data-theme="solar"],html[data-theme="graphite"]) .ampol-auth-body .auth-brand { color:#f8faf9; }
}

@media (prefers-reduced-motion: reduce) { .ampol-auth-body * { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Account creation identity card — presentation only; OTP flow stays untouched. */
.auth-v3-gender{margin:0;padding:0;border:0}.auth-v3-gender legend{display:flex;width:100%;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--auth3-ink)}.auth-v3-gender legend b{font-size:13px}.auth-v3-gender legend small{color:var(--auth3-muted);font-size:9px}.auth-v3-gender>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.auth-v3-gender label{position:relative;cursor:pointer}.auth-v3-gender input{position:absolute;opacity:0;pointer-events:none}.auth-v3-gender label>span{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;min-height:70px;align-items:center;border:1.5px solid var(--auth3-line);border-radius:18px;padding:10px;background:color-mix(in srgb,var(--auth3-paper) 94%,var(--auth3-green) 6%);transition:.22s}.auth-v3-gender label i{grid-row:1/3;display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--auth3-green) 12%,transparent);color:var(--auth3-green);font:900 23px/1 sans-serif;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--auth3-green) 18%,transparent)}.auth-v3-gender label b{align-self:end;color:var(--auth3-ink);font-size:11px}.auth-v3-gender label small{align-self:start;color:var(--auth3-muted);font-size:8px}.auth-v3-gender label:has(input:checked)>span{border-color:var(--auth3-green);transform:translateY(-2px);box-shadow:0 0 0 4px color-mix(in srgb,var(--auth3-green) 10%,transparent),0 12px 28px color-mix(in srgb,var(--auth3-green) 13%,transparent)}.auth-v3-gender label:has(input:checked) i{background:var(--auth3-green);color:var(--auth3-paper);box-shadow:0 0 22px color-mix(in srgb,var(--auth3-green) 45%,transparent)}
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-gender legend,:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-gender label b{color:var(--auth3-ink)}:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-gender label>span{background:#171c22;border-color:rgba(255,255,255,.16)}
@media(max-width:760px){.auth-v3-gender label>span{min-height:60px;grid-template-columns:36px 1fr;padding:8px;border-radius:15px}.auth-v3-gender label i{width:36px;height:36px;border-radius:12px;font-size:20px}.auth-v3-complete .auth-v3-form{gap:12px}}

/* AMPOL Auth v3.1 — player gate, theme-aware OTP and automatic verification */
html[data-theme="emerald"] { --auth-game-neon:#2ee6a6; --auth-game-deep:#031e18; --auth-game-glow:rgba(46,230,166,.22); }
html[data-theme="crimson"] { --auth-game-neon:#ff765f; --auth-game-deep:#250c12; --auth-game-glow:rgba(255,118,95,.22); }
html[data-theme="sapphire"] { --auth-game-neon:#43b9ff; --auth-game-deep:#06182d; --auth-game-glow:rgba(67,185,255,.22); }
html[data-theme="graphite"] { --auth-game-neon:#7df2bd; --auth-game-deep:#090d12; --auth-game-glow:rgba(125,242,189,.2); }
html[data-theme="violet"] { --auth-game-neon:#b88cff; --auth-game-deep:#160b30; --auth-game-glow:rgba(184,140,255,.24); }
html[data-theme="solar"] { --auth-game-neon:#ffda32; --auth-game-deep:#171503; --auth-game-glow:rgba(255,218,50,.2); }

.auth-shell.is-otp-screen { position:relative; isolation:isolate; border-color:color-mix(in srgb,var(--auth-game-neon) 38%,transparent); box-shadow:0 34px 110px rgba(0,0,0,.22),0 0 0 1px color-mix(in srgb,var(--auth-game-neon) 9%,transparent),0 0 65px var(--auth-game-glow); }
.auth-shell.is-otp-screen::after { content:"PLAYER // AUTH"; position:absolute; z-index:0; inset:auto 1.2rem .65rem auto; color:color-mix(in srgb,var(--auth-game-neon) 14%,transparent); font:900 .54rem/1 Figtree,sans-serif; letter-spacing:.28em; pointer-events:none; }
.auth-shell.is-otp-screen .auth-showcase { background:radial-gradient(circle at 50% 42%,var(--auth-game-glow),transparent 17rem),linear-gradient(145deg,var(--auth-game-deep),color-mix(in srgb,var(--auth-game-deep) 76%,var(--auth-game-neon))); }
.auth-shell.is-otp-screen .auth-showcase::after { content:""; position:absolute; inset:0; opacity:.28; pointer-events:none; background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.025) 6px); mix-blend-mode:screen; }
.auth-shell.is-otp-screen .auth-showcase__top { color:color-mix(in srgb,var(--auth-game-neon) 78%,white); }
.auth-shell.is-otp-screen .auth-verify-device { border-color:color-mix(in srgb,var(--auth-game-neon) 32%,transparent); background:linear-gradient(155deg,color-mix(in srgb,var(--auth-game-deep) 88%,white 12%),var(--auth-game-deep)); box-shadow:0 34px 80px rgba(0,0,0,.48),0 0 48px var(--auth-game-glow),inset 0 0 0 1px rgba(255,255,255,.035); }
.auth-shell.is-otp-screen .auth-verify-device::before,.auth-shell.is-otp-screen .auth-verify-device::after { content:""; position:absolute; z-index:3; width:34px; height:34px; pointer-events:none; background:none; transform:none; animation:none; }
.auth-shell.is-otp-screen .auth-verify-device::before { inset:10px auto auto 10px; border-block-start:2px solid var(--auth-game-neon); border-inline-start:2px solid var(--auth-game-neon); }
.auth-shell.is-otp-screen .auth-verify-device::after { inset:auto 10px 10px auto; border-block-end:2px solid var(--auth-game-neon); border-inline-end:2px solid var(--auth-game-neon); }
.auth-shell.is-otp-screen .auth-mini-mark,.auth-shell.is-otp-screen .auth-demo-verify { background:linear-gradient(120deg,var(--auth-game-neon),color-mix(in srgb,var(--auth-game-neon) 66%,white)); color:var(--auth-game-deep); }
.auth-shell.is-otp-screen .auth-verify-device__shield { color:var(--auth-game-neon); border-color:color-mix(in srgb,var(--auth-game-neon) 38%,transparent); background:color-mix(in srgb,var(--auth-game-neon) 11%,transparent); box-shadow:0 0 42px var(--auth-game-glow),inset 0 0 34px color-mix(in srgb,var(--auth-game-neon) 8%,transparent); }
.auth-shell.is-otp-screen .auth-demo-code span { border-color:color-mix(in srgb,var(--auth-game-neon) 24%,transparent); box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--auth-game-neon) 22%,transparent); }
.auth-shell.is-otp-screen .auth-showcase__copy>span,.auth-shell.is-otp-screen .auth-showcase__copy strong { color:var(--auth-game-neon); }

.auth-game-hud { position:absolute; z-index:7; display:grid; min-width:92px; gap:3px; border:1px solid color-mix(in srgb,var(--auth-game-neon) 28%,transparent); border-radius:12px; padding:8px 10px; color:#fff; background:color-mix(in srgb,var(--auth-game-deep) 82%,transparent); box-shadow:0 12px 28px rgba(0,0,0,.2); backdrop-filter:blur(12px); }
.auth-game-hud small { color:color-mix(in srgb,var(--auth-game-neon) 62%,#fff); font:800 7px/1 Figtree,sans-serif; letter-spacing:.13em; }
.auth-game-hud b { color:#fff; font:950 10px/1.2 Figtree,sans-serif; letter-spacing:.08em; }
.auth-game-hud.is-level { inset:17% auto auto 1%; transform:rotate(-3deg); }
.auth-game-hud.is-status { inset:auto 0 15% auto; grid-template-columns:8px 1fr; }
.auth-game-hud.is-status i { grid-row:1/3; align-self:center; width:7px; height:7px; border-radius:50%; background:var(--auth-game-neon); box-shadow:0 0 14px var(--auth-game-neon); animation:authGameOnline 1.5s ease-in-out infinite; }

.auth-v3-otp { position:relative; max-width:470px; border:1px solid color-mix(in srgb,var(--auth3-green) 18%,transparent); border-radius:28px; padding:24px; overflow:hidden; background:linear-gradient(145deg,color-mix(in srgb,var(--auth3-paper) 86%,transparent),color-mix(in srgb,var(--auth3-green) 4%,var(--auth3-paper))); box-shadow:0 24px 60px rgba(14,45,34,.1),inset 0 1px rgba(255,255,255,.5); }
.auth-v3-otp::before { content:""; position:absolute; inset:-1px; z-index:-1; opacity:.28; background:linear-gradient(115deg,transparent 20%,var(--auth-game-glow),transparent 65%); transform:translateX(-80%); animation:authGameScan 4.8s ease-in-out infinite; }
.auth-v3-otp-kicker { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.auth-v3-auto-pill { display:inline-flex; align-items:center; gap:7px; border:1px solid color-mix(in srgb,var(--auth3-green) 20%,transparent); border-radius:999px; padding:6px 9px; color:var(--auth3-green); background:color-mix(in srgb,var(--auth3-green) 7%,transparent); font-size:9px; font-weight:850; }
.auth-v3-auto-pill i { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 0 5px color-mix(in srgb,currentColor 12%,transparent),0 0 12px currentColor; animation:authGameOnline 1.5s ease-in-out infinite; }
.auth-v3-otp-title { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:16px; margin-top:18px; }
.auth-v3-otp .auth-v3-heading { margin-bottom:20px; }
.auth-v3-otp .auth-v3-heading h1 { margin:0 0 5px; font-size:clamp(25px,2.5vw,34px); }
.auth-v3-otp .auth-v3-heading p { font-size:12px; line-height:1.85; }
.auth-v3-otp .auth-v3-shield { width:62px; height:62px; margin:0; border-radius:20px; font-size:20px; letter-spacing:0; transition:.25s ease; }
.auth-v3-otp .auth-v3-shield.is-checking { animation:authGameSpin 1s linear infinite; }
.auth-v3-code-wrap { display:grid; gap:9px; border:1px solid color-mix(in srgb,var(--auth3-green) 16%,transparent); border-radius:20px; padding:13px; background:color-mix(in srgb,var(--auth3-paper) 78%,transparent); box-shadow:inset 0 0 28px color-mix(in srgb,var(--auth3-green) 4%,transparent); }
.auth-v3-code-label { display:flex; justify-content:space-between; gap:12px; color:var(--auth3-ink); font-size:10px; font-weight:850; }
.auth-v3-code-label small { color:var(--auth3-muted); font-size:9px; }
.auth-v3-code span { position:relative; overflow:hidden; height:62px; border-radius:14px; background:color-mix(in srgb,var(--auth3-paper) 90%,var(--auth3-green) 10%); box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--auth3-green) 8%,transparent); }
.auth-v3-code span::after { content:""; position:absolute; inset:auto 22% 8px; height:2px; border-radius:99px; background:color-mix(in srgb,var(--auth3-muted) 24%,transparent); transition:.2s ease; }
.auth-v3-code span.is-filled::after { inset-inline:12%; background:var(--auth3-green); box-shadow:0 0 9px var(--auth3-green); }
.auth-v3-code.is-complete span { box-shadow:0 0 0 1px color-mix(in srgb,var(--auth3-green) 34%,transparent),0 8px 20px color-mix(in srgb,var(--auth3-green) 8%,transparent); }
.auth-v3-code.is-checking span { animation:authCodeCheck .8s ease-in-out infinite alternate; }
.auth-v3-code.is-checking span:nth-child(2){animation-delay:.04s}.auth-v3-code.is-checking span:nth-child(3){animation-delay:.1s}.auth-v3-code.is-checking span:nth-child(4){animation-delay:.16s}.auth-v3-code.is-checking span:nth-child(5){animation-delay:.22s}.auth-v3-code.is-checking span:nth-child(6){animation-delay:.28s}.auth-v3-code.is-checking span:nth-child(7){animation-delay:.34s}
.auth-v3-otp .auth-v3-result { border:1px solid color-mix(in srgb,var(--auth3-green) 13%,transparent); background:color-mix(in srgb,var(--auth3-green) 6%,var(--auth3-paper)); }
.auth-v3-otp .auth-v3-timer { border-radius:12px; padding:7px 10px; background:color-mix(in srgb,var(--auth3-green) 5%,transparent); }
.auth-v3-submit--fallback { height:54px; border:1px solid color-mix(in srgb,var(--auth3-green) 28%,transparent); background:linear-gradient(110deg,var(--auth3-green),color-mix(in srgb,var(--auth3-green) 65%,var(--auth3-mint))); }
.auth-v3-otp-actions { flex-wrap:wrap; }

:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-otp { background:linear-gradient(145deg,#242a31,#191e24); border-color:color-mix(in srgb,var(--auth3-green) 26%,transparent); box-shadow:0 24px 70px rgba(0,0,0,.3),0 0 42px var(--auth-game-glow); }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-code-wrap { background:#171c22; border-color:rgba(255,255,255,.12); }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-code-label { color:#f8faf9; }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-auto-pill { color:var(--auth3-green); }
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-otp .auth-v3-timer { background:#171c22; }

@keyframes authGameOnline { 50% { opacity:.42; transform:scale(.82); } }
@keyframes authGameScan { 45%,100% { transform:translateX(82%); } }
@keyframes authGameSpin { to { transform:rotate(360deg); } }
@keyframes authCodeCheck { to { transform:translateY(-3px); border-color:var(--auth3-green); } }

@media(max-width:760px) {
    .auth-shell.is-otp-screen .auth-showcase { min-height:132px; height:132px; }
    .auth-shell.is-otp-screen .auth-panel-column { min-height:calc(100dvh - 132px); }
    .auth-shell.is-otp-screen .auth-game-hud { display:none; }
    .auth-v3-otp { max-width:none; border:0; border-radius:22px; padding:17px 2px 10px; background:transparent; box-shadow:none; overflow:visible; }
    .auth-v3-otp::before { display:none; }
    .auth-v3-otp-title { gap:12px; margin-top:14px; }
    .auth-v3-otp .auth-v3-heading h1 { font-size:25px; }
    .auth-v3-otp .auth-v3-heading p { font-size:11px; }
    .auth-v3-otp .auth-v3-shield { width:54px; height:54px; border-radius:17px; }
    .auth-v3-code-wrap { padding:11px 9px; border-radius:17px; }
    .auth-v3-code span { height:54px; border-radius:12px; }
    :is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-otp { background:transparent; box-shadow:none; }
}

@media(max-width:380px) {
    .auth-v3-auto-pill { padding:5px 7px; font-size:8px; }
    .auth-v3-otp-title { grid-template-columns:1fr; }
    .auth-v3-otp .auth-v3-shield { display:none; }
    .auth-v3-code { gap:4px; }
    .auth-v3-code span { height:49px; min-width:0; font-size:16px; }
}

/* AMPOL Auth v3.2 — gamer entrance screen, scoped to the first login step. */
.auth-shell.is-login-screen{position:relative;isolation:isolate;border-color:color-mix(in srgb,var(--auth-game-neon) 34%,transparent);box-shadow:0 34px 110px rgba(0,0,0,.24),0 0 62px var(--auth-game-glow)}
.auth-shell.is-login-screen::after{content:"PLAYER // ENTRY";position:absolute;z-index:0;inset:auto 1.2rem .65rem auto;color:color-mix(in srgb,var(--auth-game-neon) 14%,transparent);font:900 .54rem/1 Figtree,sans-serif;letter-spacing:.28em;pointer-events:none}
.auth-shell.is-login-screen .auth-showcase{background:radial-gradient(circle at 50% 42%,var(--auth-game-glow),transparent 18rem),linear-gradient(145deg,var(--auth-game-deep),color-mix(in srgb,var(--auth-game-deep) 76%,var(--auth-game-neon)))}
.auth-shell.is-login-screen .auth-showcase::after{content:"";position:absolute;inset:0;opacity:.24;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.025) 6px);mix-blend-mode:screen}
.auth-shell.is-login-screen .auth-showcase__top,.auth-shell.is-login-screen .auth-showcase__copy>span,.auth-shell.is-login-screen .auth-showcase__copy strong{color:var(--auth-game-neon)}
.auth-shell.is-login-screen .auth-verify-device{border-color:color-mix(in srgb,var(--auth-game-neon) 32%,transparent);background:linear-gradient(155deg,color-mix(in srgb,var(--auth-game-deep) 88%,white 12%),var(--auth-game-deep));box-shadow:0 34px 80px rgba(0,0,0,.48),0 0 48px var(--auth-game-glow),inset 0 0 0 1px rgba(255,255,255,.035)}
.auth-shell.is-login-screen .auth-mini-mark,.auth-shell.is-login-screen .auth-demo-verify{color:var(--auth-game-deep);background:linear-gradient(120deg,var(--auth-game-neon),color-mix(in srgb,var(--auth-game-neon) 66%,white))}
.auth-shell.is-login-screen .auth-verify-device__shield{color:var(--auth-game-neon);border-color:color-mix(in srgb,var(--auth-game-neon) 38%,transparent);background:color-mix(in srgb,var(--auth-game-neon) 11%,transparent);box-shadow:0 0 42px var(--auth-game-glow)}
.auth-shell.is-login-screen .auth-game-hud{--auth-game-neon:var(--auth3-green)}
.auth-v3-login{position:relative;max-width:470px;overflow:hidden;border:1px solid color-mix(in srgb,var(--auth3-green) 18%,transparent);border-radius:28px;padding:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--auth3-paper) 88%,transparent),color-mix(in srgb,var(--auth3-green) 4%,var(--auth3-paper)));box-shadow:0 24px 60px rgba(14,45,34,.1),inset 0 1px rgba(255,255,255,.5)}
.auth-v3-login::before{content:"";position:absolute;inset:-1px;z-index:-1;opacity:.28;background:linear-gradient(115deg,transparent 20%,var(--auth-game-glow),transparent 65%);transform:translateX(-80%);animation:authGameScan 4.8s ease-in-out infinite}
.auth-v3-login-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-v3-login-kicker>i{display:flex;align-items:center;gap:7px;color:var(--auth3-green);font-style:normal}.auth-v3-login-kicker>i b{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;color:var(--auth-game-deep);background:var(--auth-game-neon);font:900 11px Figtree,sans-serif;box-shadow:0 0 20px var(--auth-game-glow)}.auth-v3-login-kicker>i small{font:850 7px Figtree,sans-serif;letter-spacing:.12em}
.auth-v3-login-heading{margin-bottom:20px}.auth-v3-login-heading h1{margin-top:20px;font-size:clamp(29px,3vw,39px)}.auth-v3-login .auth-v3-form{gap:14px}.auth-v3-login .auth-v3-input{border-color:color-mix(in srgb,var(--auth3-green) 22%,transparent);background:color-mix(in srgb,var(--auth3-paper) 92%,var(--auth3-green) 8%)}.auth-v3-login .auth-v3-remember{background:color-mix(in srgb,var(--auth3-green) 5%,var(--auth3-paper))}.auth-v3-login .auth-v3-submit{position:relative;overflow:hidden}.auth-v3-login .auth-v3-submit::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.22),transparent 62%);transform:translateX(-110%);animation:authLoginButtonScan 3.2s ease-in-out infinite}.auth-v3-login .auth-v3-submit>*{position:relative;z-index:1}
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-login{background:linear-gradient(145deg,#242a31,#191e24);border-color:color-mix(in srgb,var(--auth3-green) 27%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.32),0 0 42px var(--auth-game-glow)}
:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-login .auth-v3-input input:-webkit-autofill,:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-login .auth-v3-input input:-webkit-autofill:hover,:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-login .auth-v3-input input:-webkit-autofill:focus{-webkit-text-fill-color:#f8faf9!important;box-shadow:0 0 0 1000px #171c22 inset!important;transition:background-color 9999s ease-out 0s}
@keyframes authLoginButtonScan{45%,100%{transform:translateX(110%)}}
@media(max-width:760px){.auth-shell.is-login-screen .auth-showcase{min-height:132px;height:132px}.auth-shell.is-login-screen .auth-panel-column{min-height:calc(100dvh - 132px)}.auth-shell.is-login-screen .auth-game-hud{display:none}.auth-v3-login{max-width:none;border:0;border-radius:22px;padding:17px 2px 10px;background:transparent;box-shadow:none;overflow:visible}.auth-v3-login::before{display:none}.auth-v3-login-heading h1{font-size:27px}:is(html[data-theme="solar"],html[data-theme="graphite"]) .auth-v3-login{background:transparent;box-shadow:none}}
