/* Palette tokens are scoped to the authentication UI. */
:root .xg-auth-shell, :root[data-xg-auth-theme="blue"] .xg-auth-shell {
 --xg-canvas:#0c1628;--xg-panel:#16243a;--xg-input:#101c30;--xg-soft:#203149;--xg-ink:#eaf0f7;--xg-muted:#a7b6cd;--xg-line:#2b3e57;--xg-accent:#dfc18b;--xg-art:#1b2d45;--xg-artedge:#536d8d;--xg-artflesh:#bba57d;--xg-artwhite:#d8c49c;--xg-artseed:#435875;--xg-shadow:#01060e24;
}
:root[data-xg-auth-theme="gold"] .xg-auth-shell {
 --xg-canvas:#101114;--xg-panel:#1b1c20;--xg-input:#141519;--xg-soft:#292720;--xg-ink:#f1ece2;--xg-muted:#b4ac9f;--xg-line:#3b372f;--xg-accent:#dcbc82;--xg-art:#26251f;--xg-artedge:#77705a;--xg-artflesh:#bda16e;--xg-artwhite:#e0c892;--xg-artseed:#5d533e;--xg-shadow:#00000024;
}
/* Xigua Account 3.0 — black gold / navy gold account access. */
.xg-auth-shell { --xa-ink:var(--xg-ink);--xa-muted:var(--xg-muted);--xa-line:var(--xg-line);--xa-green:var(--xg-accent);--xa-soft:var(--xg-soft); box-sizing:border-box;width:100%;min-height:100vh;min-height:100svh;padding:32px 32px 20px;background:var(--xg-canvas);color:var(--xa-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
.xg-auth-shell *,.xg-auth-shell *::before,.xg-auth-shell *::after { box-sizing:border-box; }
.xg-auth-shell a { text-decoration:none; }
.xg-auth-container { width:100%;max-width:1040px;margin:0 auto; }
.xg-auth-top { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:34px; }
.xg-site-brand { display:flex;align-items:center;gap:11px;color:var(--xg-ink);font-weight:750;font-size:17px;letter-spacing:.025em; }
.xg-site-brand img { width:37px;height:37px;object-fit:cover;border-radius:11px; }
.xg-store-back { display:flex;align-items:center;gap:10px;font-size:12px;color:var(--xg-muted); }
.xg-store-back > span { font-size:20px; }
.xg-auth-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center;gap:70px; }
.xg-auth-story { min-width:0;padding:20px 0; }
.xg-story-eyebrow { display:flex;align-items:center;gap:8px;color:var(--xg-muted);font-size:12px;letter-spacing:.06em; }
.xg-story-eyebrow i { width:6px;height:6px;background:var(--xg-accent);border-radius:50%;box-shadow:0 0 0 4px var(--xg-soft); }
.xg-auth-story h2 { margin:26px 0 20px;color:var(--xg-ink);font-size:54px;line-height:1.34;font-weight:750;letter-spacing:-.05em; }
.xg-story-dot { color:var(--xg-accent);margin-left:5px; }
.xg-auth-story > p { color:var(--xg-muted);font-size:13px;line-height:2;margin:0; }
.xg-melon-scene { height:220px;position:relative;display:grid;place-items:center;margin:8px 0 12px;isolation:isolate; }
.xg-melon-scene::before { content:"";position:absolute;width:210px;height:210px;left:calc(50% - 105px);top:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--xg-art),var(--xg-art) 75%);z-index:-1; }
.xg-scene-ring { position:absolute;width:350px;height:104px;border:1px solid var(--xg-line);border-radius:50%;transform:rotate(-17deg); }
.xg-scene-ring--two { width:295px;height:170px;transform:rotate(24deg);border-style:dashed;opacity:.6; }
.xg-melon { position:relative;width:230px;height:127px;border-radius:10px 10px 130px 130px;padding:7px 8px 12px;background:var(--xg-artedge);box-shadow:inset 0 -6px var(--xg-artedge),0 18px 26px var(--xg-shadow);transform:rotate(-13deg); }
.xg-melon-flesh { display:block;position:relative;width:100%;height:100%;background:var(--xg-artflesh);border:6px solid var(--xg-artwhite);border-radius:4px 4px 115px 115px; }
.xg-melon-flesh i { position:absolute;width:4px;height:8px;border-radius:70% 70% 60% 60%;background:var(--xg-artseed);left:23%;top:22%;transform:rotate(-28deg); }
.xg-melon-flesh i:nth-child(2) { left:48%;top:24%;transform:rotate(8deg); }
.xg-melon-flesh i:nth-child(3) { left:73%;top:22%;transform:rotate(28deg); }
.xg-melon-flesh i:nth-child(4) { left:36%;top:59%;transform:rotate(-20deg); }
.xg-melon-flesh i:nth-child(5) { left:61%;top:59%;transform:rotate(25deg); }
.xg-scene-star { position:absolute;font-size:30px;color:var(--xg-artseed);right:35px;top:25px;font-weight:300; }
.xg-scene-caption { position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:8px;color:var(--xg-muted);letter-spacing:.2em;white-space:nowrap; }
.xg-story-foot { display:flex;align-items:center;gap:16px;font-size:11px;color:var(--xg-muted);margin-top:24px; }
.xg-foot-number { color:var(--xg-muted);letter-spacing:.08em; }
.xg-auth-shell .xg-auth-card { min-width:0;width:100%;max-width:none;margin:0;padding:30px 34px 27px;border:1px solid var(--xg-line);border-radius:24px;background:var(--xg-panel);box-shadow:0 8px 34px var(--xg-shadow);backdrop-filter:none;-webkit-backdrop-filter:none; }
.xg-auth-tabs { display:flex;gap:25px;border-bottom:1px solid var(--xg-line);margin-bottom:25px; }
.xg-auth-tabs a { position:relative;display:block;padding:0 2px 13px;color:var(--xg-muted);font-size:13px;font-weight:600; }
.xg-auth-tabs a[aria-current="page"] { color:var(--xg-accent); }
.xg-auth-tabs a[aria-current="page"]::after { content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--xg-accent);border-radius:2px; }
.xg-auth-heading h1 { margin:0 0 9px;font-size:25px;line-height:1.4;font-weight:750;letter-spacing:-.025em;color:var(--xg-ink); }
.xg-auth-heading p { font-size:12px;color:var(--xg-muted);line-height:1.7;margin:0 0 26px; }
.xg-auth-shell form { margin:0; }
.xg-auth-field { display:flex;flex-direction:column;gap:9px;position:relative; }
.xg-auth-field label { order:-1;position:static;transform:none;padding:0;margin:0;opacity:1;color:var(--xg-muted);font-size:12px;font-weight:600;pointer-events:auto;line-height:1.4; }
.xg-auth-shell .form-control { display:block;width:100%;height:48px;min-height:48px;padding:12px 13px;font-family:inherit;font-size:16px;line-height:1.5;border:1px solid var(--xg-line);border-radius:9px;background:var(--xg-input);color:var(--xg-ink);box-shadow:none;transition:border-color .18s,box-shadow .18s; }
.xg-auth-shell .form-control::placeholder { color:var(--xg-muted);font-size:12px; }
.xg-auth-shell .form-control:focus { outline:0;border-color:var(--xg-accent);background:var(--xg-panel);box-shadow:0 0 0 3px var(--xg-shadow); }
.xg-auth-gap { margin-bottom:18px; }
.xg-auth-shell .xg-password-input { padding-right:62px; }
.xg-password-toggle { position:absolute;right:5px;bottom:5px;width:48px;height:38px;border:0;background:transparent;color:var(--xg-muted);font-size:11px;border-radius:6px;cursor:pointer; }
.xg-password-toggle:hover { background:var(--xg-soft); }
.xg-auth-shell .form-check { display:flex;align-items:center;gap:7px;padding:0;margin:0;min-height:24px; }
.xg-auth-shell .form-check input { appearance:auto;accent-color:var(--xg-accent);position:static;width:14px;height:14px;margin:0;border-radius:4px;cursor:pointer; }
.xg-auth-shell .form-check label { font-size:11px;color:var(--xg-muted);cursor:pointer;font-weight:400; }
.xg-auth-shell .text-link { font-size:11px;color:var(--xg-muted);font-weight:500; }
.xg-auth-shell .text-link:hover,.xg-auth-bottom a:hover { color:var(--xg-accent);text-decoration:underline; }
.xg-auth-shell .d-grid { display:grid;gap:10px; }
.xg-auth-shell .btn { font-family:inherit;font-size:13px;font-weight:600;min-height:46px;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1.5; }
.xg-auth-shell .d-grid > .btn { width:100%; }
.xg-auth-shell .btn-gradient { background:var(--xg-accent);color:var(--xg-panel);border:1px solid var(--xg-accent);box-shadow:0 4px 12px var(--xg-shadow);letter-spacing:.12em;margin-top:2px; }
.xg-auth-shell .btn-gradient:hover { background:var(--xg-accent);border-color:var(--xg-accent);box-shadow:0 6px 16px var(--xg-shadow); }
.xg-auth-shell [hidden] { display:none !important; }
.xg-auth-shell .row { margin-inline:-5px; }
.xg-auth-shell .row > [class*="col-"] { padding-inline:5px; }
.xg-auth-shell .image-code { display:block;width:100%;height:48px;max-width:180px;object-fit:contain;cursor:pointer;border-radius:8px;background:var(--xg-soft); }
.xg-auth-shell .row:has(.image-code) > .d-flex { padding-top:26px; }
.xg-auth-shell .send-email-code,.xg-auth-shell .send-phone-captcha { margin-top:26px;min-height:48px;height:auto;padding:7px !important;border:1px solid var(--xg-line);background:var(--xg-soft);color:var(--xg-accent);font-size:10px;line-height:1.4;box-shadow:none; }
.xg-quick-area { margin-top:24px; }
.xg-quick-title { display:flex;align-items:center;gap:12px;color:var(--xg-muted);font-size:10px;line-height:1.5;margin-bottom:14px; }
.xg-quick-title::before,.xg-quick-title::after { content:"";height:1px;flex:1;background:var(--xg-line); }
.xg-provider-row { display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px; }
.xg-auth-shell .xg-provider-row > .xg-provider { min-width:0;width:100%;height:76px;min-height:76px;padding:11px 4px 10px;margin:0 !important;display:flex !important;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid var(--xg-line);border-radius:10px;background:var(--xg-panel);box-shadow:none;text-decoration:none !important;letter-spacing:0;color:var(--xg-muted);font-size:11px;line-height:1.3;cursor:pointer; }
.xg-auth-shell .xg-provider-row > .xg-provider:hover { background:var(--xg-soft);border-color:var(--xg-line);transform:translateY(-1px);box-shadow:none; }
.xg-provider-row .oauth-login-content,.xg-provider-row .xg-provider > .btn { display:contents !important; }
.xg-provider-row .btn-passkey__badge,.xg-provider-row .oauth-login-icon { display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;background:none;box-shadow:none;border:0;border-radius:0;padding:0;color:var(--xg-accent); }
.xg-provider-row svg,.xg-provider-row .btn-passkey__icon,.xg-provider-row .oauth-login-icon svg { display:block;width:22px !important;height:22px !important;flex:none; }
.xg-auth-shell .xg-provider-row .oauth-login-text,.xg-provider-row .xg-provider > .btn > span { font-size:11px !important;font-weight:500;line-height:1.3;color:var(--xg-muted) !important;transform:none;font-family:inherit;white-space:nowrap; }
.xg-provider-source { margin-top:10px;color:var(--xg-muted);font-size:11px; }
.xg-provider-source .oauth-login-wrap { margin:0; }
.xg-auth-bottom { margin:23px 0 0;text-align:center;color:var(--xg-muted);font-size:11px; }
.xg-auth-bottom a { color:var(--xg-accent);font-weight:600;margin-left:5px; }
.xg-auth-footer { display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.04em;color:var(--xg-muted);margin-top:28px;padding-top:16px;border-top:1px solid var(--xg-line); }
.xg-auth-shell :is(a,button,input):focus-visible { outline:2px solid var(--xg-accent);outline-offset:3px; }
@media(min-width:1400px) { .xg-auth-shell { padding-top:45px; }.xg-auth-top { margin-bottom:45px; } }
@media(max-width:900px) { .xg-auth-layout { gap:35px;grid-template-columns:minmax(0,1fr) minmax(0,410px); }.xg-auth-story h2 { font-size:43px; }.xg-scene-ring { width:285px; }.xg-auth-story > p { font-size:11px; } }
@media(max-width:760px) { .xg-auth-shell { padding:24px 20px 20px; }.xg-auth-container { max-width:440px; }.xg-auth-top { margin-bottom:30px; }.xg-site-brand { font-size:15px;gap:9px; }.xg-site-brand img { width:32px;height:32px;border-radius:9px; }.xg-store-back { font-size:10px;gap:5px; }.xg-store-back > span { font-size:17px; }.xg-auth-layout { display:block; }.xg-auth-story { display:none; }.xg-auth-shell .xg-auth-card { padding:26px 26px 25px;border-radius:20px; }.xg-auth-heading h1 { font-size:24px; }.xg-auth-heading p { margin-bottom:24px; }.xg-auth-tabs { margin-bottom:24px; }.xg-auth-footer { margin-top:26px; }.xg-auth-shell .xg-provider-row > .xg-provider { height:76px; } }
@media(max-width:360px) { .xg-auth-shell { padding-inline:14px; }.xg-auth-shell .xg-auth-card { padding-inline:20px; }.xg-provider-row { gap:7px; } }
@media(prefers-reduced-motion:reduce) { .xg-auth-shell * { transition:none !important;scroll-behavior:auto; }.xg-auth-shell .xg-provider-row > .xg-provider:hover { transform:none; } }
/* The controller owns availability; grid styling must never reveal a hidden passkey button. */
.xg-auth-shell .xg-provider-row > .xg-provider[hidden] { display:none !important; }

/* The gold foreground belongs on dark surfaces, while the primary label stays dark. */
.xg-auth-shell .btn-gradient { color:#1b1b1b;background:linear-gradient(105deg,#ead2a2,#d3ac67);border-color:#ddbf85; }
.xg-auth-shell .btn-gradient:hover { color:#151515;background:linear-gradient(105deg,#f2dfb9,#dfbd7d);border-color:#e5c88f; }
.xg-auth-shell .xg-provider-row .oauth-login-icon { background:#fff;border-radius:50%;width:24px;height:24px;padding:2px; }
.xg-auth-shell .xg-provider-row .oauth-login-icon svg { width:20px !important;height:20px !important; }
.xg-auth-shell .form-check input { color-scheme:dark; }
.xg-auth-tools { display:flex;align-items:center;gap:23px; }
.xg-palette-switch { display:flex;padding:3px;border:1px solid var(--xg-line);border-radius:20px;background:var(--xg-input);gap:3px; }
.xg-palette-switch button { border:0;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 11px;border-radius:16px;background:transparent;color:var(--xg-muted);font:inherit;font-size:11px;cursor:pointer; }
.xg-palette-switch button[aria-pressed="true"] { background:var(--xg-soft);color:var(--xg-accent);box-shadow:inset 0 0 0 1px var(--xg-line); }
.xg-palette-switch i { width:6px;height:6px;border-radius:50%;background:#242321;border:1px solid #d5bb85; }
.xg-palette-switch [data-xg-palette="blue"] i { background:#4b709f;border-color:#87a2c3; }
.xg-auth-meta { display:grid;grid-template-columns:1fr 1fr;gap:19px;padding:20px 0 0;margin-top:22px;border-top:1px solid var(--xg-line); }
.xg-meta-label { display:flex;align-items:center;gap:6px;font-size:10px;color:var(--xg-muted);letter-spacing:.04em;margin-bottom:9px; }
.xg-meta-label small { margin-left:auto;font-size:8px;color:var(--xg-muted); }
.xg-meta-dot { width:5px;height:5px;border-radius:50%;background:var(--xg-accent); }
.xg-meta-clock time { display:block;color:var(--xg-accent);font-size:29px;line-height:1.3;font-weight:550;letter-spacing:.035em;font-variant-numeric:tabular-nums; }
.xg-meta-date { display:block;margin-top:7px;color:var(--xg-muted);font-size:9px;line-height:1.6; }
.xg-meta-ip { display:block;color:var(--xg-ink);font-size:14px;line-height:1.6;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.xg-auth-story h2 { font-size:48px; }
.xg-melon-scene { height:180px; }
.xg-melon-scene::before { width:170px;height:170px;left:calc(50% - 85px); }
.xg-melon { width:205px;height:115px; }
.xg-auth-story { padding-block:10px; }
@media(max-width:760px) {
 .xg-auth-tools { gap:10px; }.xg-store-back { display:none; }.xg-palette-switch button { font-size:10px;min-height:28px;padding:5px 9px; }
 .xg-auth-top { margin-bottom:21px; }.xg-auth-layout { display:flex;flex-direction:column;gap:18px; }
 .xg-auth-story { display:contents; }.xg-auth-story > :not(.xg-auth-meta) { display:none; }
 .xg-auth-meta { width:100%;gap:18px;margin:0;padding:14px 16px;background:var(--xg-panel);border:1px solid var(--xg-line);border-radius:14px; }
 .xg-meta-clock time { font-size:24px; }.xg-meta-label { margin-bottom:5px; }.xg-meta-ip { font-size:12px; }.xg-meta-date { font-size:8px;margin-top:4px; }
}

.xg-meta-location { display:block;color:var(--xg-ink);font-size:13px;font-weight:550;line-height:1.6;overflow-wrap:anywhere; }
.xg-meta-network .xg-meta-ip { font-size:11px;color:var(--xg-muted);margin-top:4px; }
@media(max-width:760px) { .xg-meta-location { font-size:11px; }.xg-meta-network .xg-meta-ip { font-size:9px; } }
