:root{color-scheme:light dark;color:var(--text);background:var(--bg-page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg-page: #f5f5f7;--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-subtle: #f3f4f7;--text: #1d1d1f;--text-muted: #6e6e73;--text-faint: #86868b;--line: rgba(15, 23, 42, .1);--line-strong: rgba(15, 23, 42, .16);--border: rgba(15, 23, 42, .1);--muted-border: rgba(15, 23, 42, .07);--ink: #0a0f1f;--accent: #0071e3;--accent-hover: #0077ed;--accent-soft: #e9f2fe;--blue: #0071e3;--blue-dark: #0077ed;--blue-soft: #e9f2fe;--grad: linear-gradient(135deg, #0a84ff 0%, #0071e3 100%);--green: #1a9e54;--green-soft: #e7f8ee;--amber: #b9770a;--amber-soft: #fdf3e2;--red: #e5484d;--red-soft: #fdecec;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 40px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-base: 1.55;--tracking-display: -.035em;--tracking-tight: -.02em;--tracking-normal: -.006em;--tracking-wide: .01em;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--sp-16: 64px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--r-2xl: 28px;--r-full: 999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 2px 6px rgba(15, 23, 42, .05);--shadow-md: 0 2px 4px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .09);--shadow-lg: 0 10px 40px rgba(15, 23, 42, .12), 0 2px 8px rgba(15, 23, 42, .05);--shadow-glow: 0 0 0 1px rgba(0, 113, 227, .18), 0 8px 28px rgba(0, 113, 227, .22);--shadow: var(--shadow-lg);--glass-border: rgba(15, 23, 42, .08);--glass-bg: rgba(255, 255, 255, .62);--blur-glass: blur(18px) saturate(180%);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-inout: cubic-bezier(.42, 0, .58, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .4s}@media(prefers-color-scheme:dark){:root{--bg-page: #0a0c12;--bg-card: #16181d;--bg-elevated: #202329;--bg-subtle: #202329;--text: #f5f5f7;--text-muted: #a1a1a6;--text-faint: #7c7c82;--line: rgba(255, 255, 255, .11);--line-strong: rgba(255, 255, 255, .2);--border: rgba(255, 255, 255, .11);--muted-border: rgba(255, 255, 255, .07);--accent: #0a84ff;--accent-hover: #409cff;--accent-soft: rgba(10, 132, 255, .16);--blue: #0a84ff;--blue-dark: #409cff;--blue-soft: rgba(10, 132, 255, .16);--grad: linear-gradient(135deg, #0a84ff 0%, #2b73ff 100%);--green: #30d158;--green-soft: rgba(48, 209, 88, .16);--amber: #ffd60a;--amber-soft: rgba(255, 214, 10, .13);--red: #ff453a;--red-soft: rgba(255, 69, 58, .15);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45), 0 12px 32px rgba(0, 0, 0, .5);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .6);--shadow-glow: 0 0 0 1px rgba(10, 132, 255, .3), 0 10px 32px rgba(10, 132, 255, .28);--shadow: var(--shadow-lg);--glass-border: rgba(255, 255, 255, .1);--glass-bg: rgba(255, 255, 255, .05)}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-page)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}.page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1100px 540px at 12% -8%,rgba(10,132,255,.14),transparent 62%),radial-gradient(960px 520px at 88% -4%,rgba(0,113,227,.1),transparent 58%),radial-gradient(820px 480px at 50% 112%,rgba(56,189,248,.08),transparent 62%),var(--bg-page)}.payment-relay-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f5f8fc}.payment-relay-card{width:min(560px,100%);display:grid;gap:14px;justify-items:start;border:1px solid var(--border);border-radius:12px;background:#fff;padding:28px;box-shadow:var(--shadow)}.payment-relay-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--blue-soft);color:var(--blue)}.payment-relay-card h1{margin:0;font-size:30px;line-height:1.15}.payment-relay-card p{margin:0;color:var(--text-muted)}.payment-relay-card code{width:100%;border:1px solid var(--muted-border);border-radius:12px;background:#fbfdff;padding:12px;color:#111827;font-size:12px;overflow-wrap:anywhere}.subscription-page{min-height:100vh;padding:clamp(22px,5vw,52px) 18px;background:var(--bg-page);color:var(--text)}.subscription-shell{width:min(980px,100%);margin:0 auto;display:grid;gap:18px}.subscription-header{display:grid;gap:18px}.subscription-back{width:fit-content;color:var(--text-muted);font-size:13px;text-decoration:none}.subscription-back:hover{color:var(--accent)}.subscription-title-row{display:flex;align-items:center;gap:14px}.subscription-mark{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:var(--blue-soft);color:var(--blue)}.subscription-title-row h1{margin:0;font-size:clamp(28px,5vw,40px);line-height:1.12;letter-spacing:0}.subscription-title-row p{margin:6px 0 0;color:var(--text-muted);font-size:15px}.subscription-form,.subscription-result{display:grid;gap:16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-card);padding:clamp(18px,4vw,26px);box-shadow:var(--shadow-sm)}.subscription-session-field textarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.subscription-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.subscription-actions>span{display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:13px}.subscription-alert{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--r-md);padding:13px 14px;font-size:14px}.subscription-alert.failed{border-color:#e5484d47;background:var(--red-soft);color:var(--red)}.subscription-alert.fallback{align-items:flex-start;background:var(--bg-subtle);color:var(--text)}.subscription-alert.fallback>div{min-width:0;display:grid;gap:3px;flex:1}.subscription-alert.fallback span{color:var(--text-muted);line-height:1.45}.subscription-alert.fallback .btn{flex:0 0 auto}.subscription-alert.fallback ul{margin:4px 0 0 18px;padding:0;color:var(--text-muted);line-height:1.5}.subscription-guidance-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.subscription-status-card{display:flex;align-items:center;gap:13px;border:1px solid var(--border);border-radius:var(--r-md);padding:15px;background:var(--bg-subtle)}.subscription-status-card.active{border-color:#1a9e5440;background:var(--green-soft);color:var(--green)}.subscription-status-card.inactive,.subscription-status-card.unknown{border-color:#b9770a40;background:var(--amber-soft);color:var(--amber)}.subscription-status-card div{display:grid;gap:3px}.subscription-status-card strong{font-size:17px}.subscription-status-card span{color:var(--text-muted);font-size:13px}.subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.subscription-cell{min-height:76px;display:grid;align-content:center;gap:7px;border:1px solid var(--muted-border);border-radius:var(--r-md);background:var(--bg-subtle);padding:12px}.subscription-cell span{color:var(--text-muted);font-size:12px}.subscription-cell strong{min-width:0;color:var(--text);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.subscription-portal{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:var(--r-md);padding:15px}.subscription-portal div{min-width:0;display:grid;gap:4px}.subscription-portal strong{font-size:15px}.subscription-portal span{color:var(--text-muted);font-size:13px;overflow-wrap:anywhere}.invoice-assistant-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:70;min-height:46px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(37,99,235,.28);border-radius:12px;background:#2563eb;color:#fff;padding:0 15px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 12px 28px #2563eb3d}.invoice-assistant-fab:hover,.invoice-assistant-fab:focus-visible{background:#1d4ed8;color:#fff;transform:translateY(-1px)}.invoice-assistant-fab:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}.topbar{position:sticky;top:0;z-index:20;height:64px;border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,48px);background:var(--bg-card);color:var(--text)}.brand,.system-pill{display:inline-flex;align-items:center;gap:10px}.topbar-actions{display:inline-flex;align-items:center;gap:12px}.admin-page-card{--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-subtle: #f3f4f7;--text: #1d1d1f;--text-muted: #6e6e73;--text-faint: #86868b;--line: rgba(15, 23, 42, .1);--line-strong: rgba(15, 23, 42, .16);--border: rgba(15, 23, 42, .1);--muted-border: rgba(15, 23, 42, .07)}.admin-window-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-window-head p{margin:0 0 6px;color:var(--text-muted);font-size:13px}.admin-window-head h2{margin:0;color:#111827;font-size:24px;line-height:1.15}.brand{font-size:20px;font-weight:750;letter-spacing:.2px;color:var(--text)}.brand-mark{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--grad);border-radius:11px;box-shadow:0 6px 18px #0071e366}.system-pill{color:var(--text-muted);font-size:13px;white-space:nowrap}.dot{width:8px;height:8px;border-radius:999px;background:#34d399;box-shadow:0 0 0 4px #34d3992e}.language-switcher{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);color:var(--text-muted);padding:4px}.language-switcher svg{margin:0 4px 0 3px}.language-switcher button{min-width:34px;min-height:28px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:750;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.language-switcher button:hover{color:var(--text);background:var(--bg-subtle)}.language-switcher button.active{color:#fff;background:var(--accent);box-shadow:0 2px 8px var(--accent-soft)}.main{width:100%;flex:1;display:flex;flex-direction:column;align-items:center;padding:clamp(30px,5.5vh,54px) 18px 40px}.hero{width:min(920px,100%);display:grid;justify-items:center;gap:12px;text-align:center;margin-bottom:30px}.hero-title{margin:0;font-size:clamp(30px,4.6vw,44px);font-weight:800;line-height:1.12;letter-spacing:var(--tracking-display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-subtitle{margin:0;max-width:560px;color:var(--text-muted);font-size:var(--fs-base);line-height:var(--lh-base)}.hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:2px}.hero-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass-bg);color:var(--text-muted);padding:6px 14px;font-size:13px;font-weight:600;-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass)}.hero-chip svg{color:var(--accent)}.redeem-card{width:min(920px,100%);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--bg-card);box-shadow:var(--shadow-lg);padding:clamp(22px,3vw,36px)}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:26px 18px 34px;color:var(--text-faint);font-size:13px;text-align:center}.footer-sep{opacity:.6}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.step-kicker{margin:0 0 7px;color:var(--text-muted);font-size:13px}h1{margin:0;font-size:28px;line-height:1.18;letter-spacing:0}.status-badge{display:inline-flex;align-items:center;min-width:72px;justify-content:center;border-radius:999px;border:1px solid var(--line);padding:7px 16px;color:var(--text-muted);background:var(--bg-card);font-size:13px;font-weight:var(--fw-semibold)}.status-badge.pending{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 35%,transparent);background:var(--amber-soft)}.status-badge.success{color:var(--green);border-color:color-mix(in srgb,var(--green) 35%,transparent);background:var(--green-soft)}.status-badge.failed{color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,transparent);background:var(--red-soft)}.source-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px}.source-option{position:relative;min-height:68px;display:grid;gap:4px;align-content:center;justify-items:start;border:1px solid var(--border);border-radius:14px;background:#fff;color:#111827;padding:13px 15px;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.source-option:not(.active):hover{border-color:#c1c9f2;background:#fafbff;transform:translateY(-1px)}.source-option.active{border-color:var(--blue);background:linear-gradient(135deg,#eef2ff,#f6f1ff);box-shadow:inset 0 0 0 1px #4f46e540,0 8px 22px #4f46e51f}.source-option.active:after{content:"✓";position:absolute;top:10px;right:12px;width:20px;height:20px;display:grid;place-items:center;border-radius:999px;background:var(--grad);color:#fff;font-size:12px;font-weight:800}.source-option strong{font-size:15px}.source-option span{color:var(--text-muted);font-size:12px}.step-header{display:flex;align-items:center;gap:9px;margin:22px 0 12px;color:var(--text-faint);font-size:15px;font-weight:var(--fw-semibold)}.step-header span{width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;font-size:13px;background:var(--bg-card)}.step-header p{margin:0}.step-header.active{color:var(--text)}.step-header.active span{color:#fff;border-color:transparent;background:var(--grad)}.verify-row{display:grid;grid-template-columns:1fr auto auto;gap:12px}.input-wrap{height:50px;display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:0 14px;background:var(--bg-card);color:var(--text-faint)}.input-wrap:focus-within,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-wrap input,.field input,.field select,.field textarea{width:100%;border:0;outline:0;color:var(--text);background:transparent}.input-wrap input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.btn{min-height:50px;border-radius:13px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;font-size:var(--fs-base);font-weight:var(--fw-semibold);background:var(--bg-card);color:var(--text);transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:scale(.97)}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--accent)}.btn.primary{color:#fff;border-color:transparent;background:var(--grad);box-shadow:0 8px 24px #0071e34d}.btn.primary:not(:disabled):hover{filter:brightness(1.06);box-shadow:0 10px 30px #0071e366}.btn.secondary:not(:disabled):hover{border-color:var(--line-strong);background:var(--bg-subtle)}.btn:disabled{opacity:.56}.btn.wide{width:100%}.btn.compact{min-height:36px;padding:0 12px;font-size:13px}.cdk-block{margin-top:18px;display:grid;gap:10px}.cdk-summary{min-height:56px;display:grid;grid-template-columns:auto minmax(82px,auto) auto minmax(160px,1fr) auto minmax(120px,auto) auto minmax(150px,auto);gap:16px;align-items:center;border:1px solid #bdebd0;border-radius:12px;background:var(--green-soft);padding:13px 16px;color:var(--green)}.cdk-summary.used,.cdk-summary.reserved{border-color:#f2cf8f;background:var(--amber-soft);color:var(--amber)}.cdk-summary.expired{border-color:#fecdd3;background:var(--red-soft);color:var(--red)}.cdk-summary.reserved>svg{color:var(--amber)}.cdk-summary.expired>svg{color:var(--red)}.guofen-summary{min-height:56px;display:grid;grid-template-columns:auto minmax(82px,auto) auto minmax(170px,1fr) auto minmax(90px,auto) auto minmax(150px,auto);gap:16px;align-items:center;border:1px solid #bdebd0;border-radius:12px;background:var(--green-soft);padding:13px 16px;color:var(--green)}.guofen-summary.used{border-color:#f2cf8f;background:var(--amber-soft);color:var(--amber)}.guofen-summary.invalid{border-color:#fecdd3;background:var(--red-soft);color:var(--red)}.cdk-summary div,.guofen-summary div{min-width:0}.cdk-summary span,.guofen-summary span{display:block;color:var(--text-muted);font-size:12px;margin-bottom:2px}.cdk-summary strong,.guofen-summary strong{display:block;color:var(--text);font-size:14px;font-weight:650;overflow-wrap:anywhere}.cdk-binding-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfdff;padding:12px 14px}.cdk-binding-details span{min-width:0;display:grid;gap:2px;color:#111827;font-size:13px;overflow-wrap:anywhere}.cdk-binding-details b{color:var(--text-muted);font-size:12px;font-weight:650}.divider{width:1px;height:28px;background:#cdd8e6}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card{min-height:142px;border:1px solid var(--border);border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:18px 14px;color:#111827;text-align:center;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.product-card:not(:disabled):hover{border-color:#c1c9f2;background:#fafbff;transform:translateY(-2px);box-shadow:0 12px 28px #0f172a14}.product-card.selected{border-color:var(--blue);background:linear-gradient(135deg,#eef2ff,#f6f1ff);box-shadow:inset 0 0 0 1px #4f46e540,0 8px 22px #4f46e51f}.product-card strong{font-size:22px;line-height:1.1}.product-card span:not(.product-logo){color:#364152;font-size:14px}.product-card small{color:var(--text-muted);font-size:12px}.product-card:disabled:not(.selected){color:#9aa5b5;background:#f8fafc}.product-logo{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:21px;font-weight:800}.product-logo.chatgpt{color:#0f9f6e;background:#e9fbf4}.product-logo.claude{color:#9a4a1e;background:#fff1e8}.product-logo.grok{color:#111827;background:#eef2f7}.muted-section{opacity:.58}.form-area{min-height:96px}.empty-copy{margin:0;border:1px dashed var(--border);border-radius:var(--r-md);color:var(--text-muted);padding:18px;background:var(--bg-subtle)}.field-grid{display:grid;gap:16px}.field-grid.two{grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);align-items:start}.receipt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.optional-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field{display:grid;gap:9px;color:var(--text);font-size:14px;font-weight:var(--fw-semibold)}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--r-md);padding:12px 13px;font-size:14px;font-weight:400;background:var(--bg-card);color:var(--text)}.field textarea{resize:vertical;min-height:116px;line-height:1.5}.field em{justify-self:end;color:var(--text-muted);font-style:normal;font-size:12px;font-weight:400;margin-top:-34px;padding-right:10px}.xiaojiu-session-account{width:100%;display:flex;align-items:center;gap:9px;border:1px solid #fecaca;border-radius:var(--r-md);background:#fff1f2;color:#991b1b;padding:11px 13px;font-size:15px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.xiaojiu-session-account.ok svg{color:#16a34a}.xiaojiu-session-account.warn svg{color:var(--red)}.batch-tools{display:grid;gap:14px;margin-top:20px;border-top:1px solid var(--muted-border);padding-top:18px}.batch-tools-head,.batch-tool-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-tools-head strong{color:#111827;font-size:16px;font-weight:750}.batch-tools-head span,.batch-tool-title span{color:var(--text-muted);font-size:12px}.batch-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.batch-tool{display:grid;gap:12px;min-width:0;border:1px solid var(--border);border-radius:12px;background:#fbfdff;padding:14px}.batch-access-panel,.batch-access-active{display:grid;gap:12px;border:1px solid var(--border);border-radius:12px;background:#fbfdff;padding:14px}.batch-access-panel>div:first-child{display:grid;gap:4px}.batch-access-panel strong{font-size:15px}.batch-access-panel span,.batch-access-active span{color:var(--text-muted);font-size:13px}.batch-access-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.batch-access-active{grid-template-columns:1fr auto;align-items:center}.batch-tool-title strong{font-size:14px}.batch-tool-title select{width:auto;min-height:36px;border:1px solid var(--border);border-radius:12px;background:#fff;color:#111827;padding:0 10px}.batch-callback-fields{grid-template-columns:1fr;gap:10px}.developer-api-example,.developer-created-key-row,.developer-key-row{min-width:0}.developer-api-example code,.developer-created-key-row code,.developer-key-row code{white-space:pre-wrap;overflow-wrap:anywhere}.developer-label-input{min-width:min(100%,260px)}.developer-created-key{display:grid;gap:8px}.developer-created-key-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.developer-key-list{display:grid;gap:10px}.developer-key-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px}.developer-key-row.disabled{opacity:.72}.developer-key-row p{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.checkout-region-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.35fr);gap:10px}.checkout-config-panel{margin-bottom:14px}.checkout-config-grid{display:grid;gap:10px}.checkout-config-row{display:grid;grid-template-columns:minmax(90px,.4fr) minmax(130px,.8fr) minmax(110px,.6fr) minmax(110px,.6fr) minmax(160px,1fr);gap:10px;align-items:end;border:1px solid var(--muted-border);border-radius:12px;background:#fff;padding:12px}.checkout-config-row>strong{color:#111827;align-self:center}.checkout-config-row>small{color:var(--text-muted);align-self:center;overflow-wrap:anywhere}.checkout-config-card-route{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;align-items:end;border-top:1px dashed var(--muted-border);padding-top:10px}.checkout-config-card-route>small{grid-column:1 / -1;color:var(--text-muted)}.checkout-config-card-route input:disabled{cursor:not-allowed;opacity:.58}@media(max-width:900px){.checkout-config-row{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-config-card-route,.checkout-config-meta{grid-column:1 / -1}}@media(max-width:600px){.checkout-config-row,.checkout-config-card-route{grid-template-columns:1fr}}.checkout-config-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.checkout-config-monitor{display:grid;gap:8px;margin-top:12px;border:1px solid var(--muted-border);border-radius:12px;background:var(--bg-subtle);padding:12px}.checkout-config-monitor.failed{border-color:#fecdd3;background:var(--red-soft)}.checkout-config-monitor>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:baseline}.checkout-config-monitor span{color:var(--text-muted);font-size:12px}.checkout-config-monitor strong{color:#111827;overflow-wrap:anywhere}.chatgpt-price-summary-panel{margin-bottom:14px}.chatgpt-price-summary-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px;color:var(--text-muted);font-size:12px}.chatgpt-price-cheapest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.chatgpt-price-card,.chatgpt-price-region-row{border:1px solid var(--muted-border);border-radius:12px;background:#fff;padding:12px}.chatgpt-price-card{display:grid;gap:5px}.chatgpt-price-card span,.chatgpt-price-card small,.chatgpt-price-region-row small{color:var(--text-muted)}.chatgpt-price-card strong,.chatgpt-price-card b,.chatgpt-price-region-row strong,.chatgpt-price-region-row span{color:#111827}.chatgpt-price-region-picker{max-width:360px;margin-bottom:10px}.chatgpt-price-region-grid{display:grid;gap:8px}.chatgpt-price-region-row{display:grid;grid-template-columns:minmax(90px,.4fr) minmax(120px,.7fr) minmax(100px,.5fr) minmax(160px,1fr);gap:10px;align-items:center}.smscloud-input-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.4fr);gap:10px}.smscloud-result{display:grid;gap:8px}.smscloud-result span{color:var(--green);font-weight:700}.smscloud-result strong{color:#111827;overflow-wrap:anywhere}.smscloud-result pre{max-height:180px;overflow:auto;margin:0;border:1px solid var(--muted-border);border-radius:12px;background:#fff;padding:10px;color:#111827;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.session-save-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.session-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-list-head strong{color:#111827;font-size:14px}.session-count{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:var(--blue);color:#fff;font-size:12px;font-weight:750}.session-list{display:grid;gap:10px}.session-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--muted-border);border-radius:12px;background:#fff;padding:12px}.session-info{display:grid;min-width:0;gap:3px}.session-info strong{color:#111827;overflow-wrap:anywhere}.session-info span,.session-info small{color:var(--text-muted);overflow-wrap:anywhere}.session-actions,.session-output-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.session-output{display:grid;gap:8px}.session-output strong{color:#111827}.session-output span{color:var(--amber);font-weight:650}.session-output textarea{width:100%;min-height:170px;resize:vertical;border:1px solid var(--muted-border);border-radius:12px;background:#fff;color:#111827;padding:10px;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.batch-result{max-height:210px;overflow:auto;margin:0;border:1px solid var(--muted-border);border-radius:12px;background:#fff;color:#111827;padding:12px;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.batch-message{margin:0;border:1px solid var(--muted-border);border-radius:12px;background:#fff;color:var(--text-muted);padding:11px 12px;font-size:13px}.batch-message.failed{color:var(--red);border-color:#fecdd3;background:var(--red-soft)}.chatgpt-checkout-result{display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:center}.chatgpt-checkout-result span{grid-column:1 / -1;color:var(--green);font-weight:700}.chatgpt-checkout-result a{min-width:0;color:var(--blue);overflow-wrap:anywhere}.chatgpt-probe-results{display:grid;gap:6px}.probe-attempt{display:grid;grid-template-columns:minmax(74px,auto) minmax(0,1fr);gap:10px;align-items:center}.probe-attempt strong{color:#111827;font-size:12px}.probe-attempt span{min-width:0;overflow-wrap:anywhere}.probe-attempt.success span{color:var(--green);font-weight:700}.hint{margin:8px 0 0;border:1px solid var(--muted-border);border-radius:12px;background:var(--bg-subtle);color:var(--text-muted);padding:12px 13px;font-size:13px;line-height:1.5}.hint svg{margin-right:4px;vertical-align:-2px}.hint.warning{color:var(--amber);border-color:#f2cf8f;background:var(--amber-soft)}.org-id-help{display:grid;gap:8px;margin:2px 0 0;border:1px solid #f6e5d7;border-radius:12px;background:#fffaf7;color:#5c4033;padding:16px 18px;font-size:14px;line-height:1.6}.org-id-help strong{color:#1f2937;font-size:15px;font-weight:750}.org-id-help p{margin:0}.org-id-help a{color:#c45112;font-weight:750;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.grok-session-figure{margin:2px 0 0;overflow-x:auto}.grok-session-example{display:block;width:min(100%,860px);min-width:560px;height:auto;border:1px solid #f0d7c2;border-radius:12px;background:#fff}.actions{display:grid;grid-template-columns:1fr 180px;gap:12px;margin-top:18px}.invoice-panel{display:grid;gap:14px;border:1px solid var(--border);border-radius:12px;background:#fbfdff;padding:15px}.invoice-head{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.invoice-head>div{min-width:0;display:grid;gap:5px}.invoice-head strong{display:inline-flex;align-items:center;gap:8px;color:#111827;font-size:15px}.invoice-head span,.invoice-note{color:var(--text-muted);font-size:13px;line-height:1.5}.invoice-query-btn{min-width:140px}.invoice-note{margin:0;border:1px solid var(--muted-border);border-radius:12px;background:#fff;padding:10px 12px}.invoice-note.warning{color:var(--amber);border-color:#f2cf8f;background:var(--amber-soft)}.invoice-note.failed{color:var(--red);border-color:#fecdd3;background:var(--red-soft)}.invoice-meta,.invoice-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.invoice-meta span,.invoice-fields span{min-width:0;display:grid;gap:2px;color:#111827;font-size:13px;overflow-wrap:anywhere}.invoice-meta b,.invoice-fields b{color:var(--text-muted);font-size:12px;font-weight:650}.invoice-items{display:grid;gap:12px}.invoice-item{display:grid;gap:12px;border:1px solid var(--muted-border);border-radius:12px;background:#fff;padding:13px}.invoice-item-head{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.invoice-item-head>strong{color:#111827;font-size:14px}.invoice-actions{display:inline-flex;align-items:center;gap:8px}.invoice-html-preview{display:grid;gap:10px}.invoice-html-preview strong{color:#111827;font-size:13px}.invoice-html-preview iframe{width:100%;min-height:360px;border:1px solid var(--border);border-radius:12px;background:#fff}.status-panel{display:flex;gap:12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-subtle);padding:var(--sp-4);color:var(--text-muted)}.status-panel>svg{flex:0 0 auto;color:var(--text-faint);margin-top:2px}.status-panel.pending{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 35%,transparent);background:var(--amber-soft)}.status-panel.pending>svg{color:var(--amber)}.status-panel.success{color:var(--green);border-color:color-mix(in srgb,var(--green) 35%,transparent);background:var(--green-soft)}.status-panel.success>svg{color:var(--green)}.status-panel.failed{color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,transparent);background:var(--red-soft)}.status-panel.failed>svg,.error-text{color:var(--red)}.status-panel div{min-width:0;display:grid;gap:4px}.status-panel strong{color:var(--text);font-size:15px}.status-panel span{overflow-wrap:anywhere;font-size:13px}.gplay-redeem-panel{display:grid;gap:20px;margin-top:22px;border:1px solid #cfe0ff;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#fff 56%,#f3f8ff);padding:clamp(18px,3vw,28px);box-shadow:0 16px 44px #2563eb14}.gplay-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gplay-progress-step{min-width:0;display:flex;align-items:center;gap:9px;border:1px solid var(--muted-border);border-radius:12px;background:#fff;color:var(--text-faint);padding:10px 12px}.gplay-progress-step>span{width:28px;height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-subtle);font-size:12px;font-weight:800}.gplay-progress-step strong{min-width:0;font-size:13px;overflow-wrap:anywhere}.gplay-progress-step.done,.gplay-progress-step.active{border-color:#b9d2ff;color:#1d4ed8}.gplay-progress-step.done>span{color:#047857;background:#d1fae5}.gplay-progress-step.active>span{color:#fff;background:#2563eb;box-shadow:0 5px 14px #2563eb40}.gplay-verified-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #a7f3d0;border-radius:14px;background:#ecfdf5;color:#047857;padding:13px 15px}.gplay-verified-card>div{min-width:0;display:grid;gap:3px}.gplay-verified-card strong,.gplay-verified-card span{overflow-wrap:anywhere}.gplay-verified-card span{color:#397966;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.gplay-verified-card>b{border-radius:999px;background:#fff;padding:7px 11px;font-size:12px;white-space:nowrap}.gplay-session-step,.gplay-confirm-step{display:grid;gap:16px}.gplay-section-heading{display:grid;gap:5px}.gplay-section-heading h2,.gplay-result h2{margin:0;color:var(--text);font-size:clamp(21px,3vw,27px);letter-spacing:-.02em}.gplay-section-heading>span,.gplay-result>p{color:var(--text-muted);font-size:13px;line-height:1.6}.gplay-eyebrow{margin:0;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gplay-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.gplay-guide a,.gplay-guide>span{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dbe7fb;border-radius:12px;background:#fff;color:#334155;padding:10px;font-size:13px;font-weight:700;text-align:center;text-decoration:none}.gplay-guide a:hover,.gplay-guide a:focus-visible{border-color:#93b7f8;color:#1d4ed8;background:#eff6ff}.gplay-session-field{display:grid;gap:7px}.gplay-session-field>span{color:var(--text);font-size:13px;font-weight:750}.gplay-session-field textarea,.gplay-session-field input{width:100%;border:1px solid var(--line-strong);border-radius:13px;background:#fff;color:var(--text);padding:13px 14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;outline:none}.gplay-session-field textarea{min-height:168px;resize:vertical}.gplay-session-field input{height:46px}.gplay-session-field textarea:focus,.gplay-session-field input:focus{border-color:#4f86e8;box-shadow:0 0 0 3px #2563eb1f}.gplay-session-field em{justify-self:end;color:var(--text-faint);font-size:11px;font-style:normal}.gplay-main-action{width:min(280px,100%);justify-self:end}.gplay-inline-error{border:1px solid #fecdd3;border-radius:11px;background:var(--red-soft);color:var(--red);padding:10px 12px;font-size:13px;line-height:1.5}.gplay-inline-warning{padding:12px 14px;border:1px solid rgba(245,158,11,.45);border-radius:12px;color:#92400e;background:#f59e0b1f}.gplay-account-summary{display:grid;gap:14px;border:1px solid #bfdbfe;border-radius:15px;background:#fff;padding:16px}.gplay-account-title{display:flex;align-items:center;gap:10px;color:#1d4ed8}.gplay-account-title>div{display:grid;gap:2px}.gplay-account-title span{color:var(--text-muted);font-size:12px}.gplay-account-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.gplay-account-summary dl>div{min-width:0;display:grid;gap:5px;border-radius:11px;background:var(--bg-subtle);padding:11px 12px}.gplay-account-summary dt{color:var(--text-muted);font-size:11px}.gplay-account-summary dd{margin:0;color:var(--text);font-size:13px;font-weight:750;overflow-wrap:anywhere}.gplay-stock-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;background:#eef5ff;color:#334155;padding:11px 13px;font-size:13px}.gplay-stock-line strong{color:#1d4ed8}.gplay-confirm-actions{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(220px,1fr);gap:11px}.gplay-result{justify-items:center;text-align:center;color:var(--amber)}.gplay-result.success{border-color:#a7f3d0;background:linear-gradient(145deg,#ecfdf5,#fff);color:#047857}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.invoice-assistant-fab{position:static;display:flex;width:max-content;margin:0 auto max(18px,env(safe-area-inset-bottom))}.topbar{position:static;height:auto;min-height:64px;align-items:flex-start;gap:12px;flex-direction:column;padding:14px 16px 12px}.topbar-actions{width:100%;justify-content:space-between;gap:10px}.system-pill{display:none}.hero{margin-bottom:22px;gap:10px}.hero-subtitle{font-size:14px}.hero-chip{padding:5px 11px;font-size:12px}.footer{flex-direction:column;gap:4px}.footer-sep{display:none}.admin-window-head h2{font-size:21px}.brand{font-size:19px}.main{padding:18px 12px 30px}.redeem-card{padding:18px}.card-head{align-items:flex-start}h1{font-size:24px}.verify-row,.source-selector,.batch-tool-grid,.batch-access-row,.batch-access-active,.field-grid.two,.receipt-fields,.optional-fields,.invoice-head,.invoice-item-head,.actions,.gplay-progress,.gplay-guide,.gplay-account-summary dl,.gplay-confirm-actions{grid-template-columns:1fr}.gplay-progress-step{min-height:48px}.gplay-verified-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.gplay-verified-card>b{grid-column:2;justify-self:start}.gplay-main-action{width:100%;justify-self:stretch}.btn{min-height:46px}.product-grid{grid-template-columns:1fr}.product-card{min-height:100px;align-items:flex-start;text-align:left}.product-logo{position:absolute;right:30px}.cdk-summary,.guofen-summary{grid-template-columns:auto 1fr;align-items:start}.cdk-binding-details,.invoice-meta,.invoice-fields,.subscription-grid{grid-template-columns:1fr}.subscription-title-row,.subscription-portal{align-items:flex-start}.subscription-portal{flex-direction:column}.subscription-portal .btn{width:100%}.invoice-actions{display:grid;grid-template-columns:1fr}.batch-tools-head,.batch-tool-title{align-items:flex-start;flex-direction:column}.cdk-summary>svg,.guofen-summary>svg{grid-row:span 4;margin-top:3px}.divider{display:none}}.link-button{align-self:flex-start;background:none;border:none;color:var(--blue);cursor:pointer;font-size:13px;padding:4px 0}.link-button:hover{color:var(--blue-dark);text-decoration:underline}.xiaojiu-intro{line-height:1.6}.xiaojiu-intro-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.xiaojiu-tour-replay{white-space:nowrap}.xiaojiu-tour{position:fixed;inset:0;z-index:140;pointer-events:none}.xiaojiu-tour-mask{position:fixed;inset:0;width:100vw;height:100vh;fill:#080e1cad;pointer-events:none}.xiaojiu-tour-stage{position:fixed;border:2px solid #ffffff;border-radius:14px;box-shadow:0 0 0 4px #2563eb47,0 18px 48px #0f172a47;pointer-events:none;transition:top .16s var(--ease-out),left .16s var(--ease-out),width .16s var(--ease-out),height .16s var(--ease-out)}.xiaojiu-tour-popover{position:fixed;display:grid;gap:9px;border:1px solid rgba(37,99,235,.22);border-radius:16px;background:#fff;color:var(--text);padding:15px;box-shadow:0 22px 55px #0f172a42;pointer-events:auto}.xiaojiu-tour-popover strong{font-size:17px;line-height:1.25}.xiaojiu-tour-popover p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.55}.xiaojiu-tour-progress{width:max-content;border-radius:999px;background:var(--accent-soft);color:var(--blue);padding:4px 9px;font-size:12px;font-weight:800}.xiaojiu-tour-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center}.xiaojiu-tour-button{min-height:36px;border-radius:10px;border:1px solid var(--border);padding:0 12px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.xiaojiu-tour-button.primary{border-color:transparent;background:var(--grad);color:#fff}.xiaojiu-tour-button.secondary{background:#fff;color:var(--text-muted)}.xiaojiu-tour-button:hover,.xiaojiu-tour-button:focus-visible{transform:translateY(-1px)}.xiaojiu-panel-enter{display:grid;gap:16px;animation:xiaojiuPanelIn .24s var(--ease-out) both}.xiaojiu-flow-progress{scroll-margin-top:84px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:2px 0 4px}.xiaojiu-flow-step{position:relative;min-width:0;display:grid;justify-items:center;gap:7px;color:var(--text-faint);text-align:center}.xiaojiu-flow-step:not(:last-child):after{content:"";position:absolute;top:17px;left:calc(50% + 24px);right:calc(-50% + 24px);height:2px;border-radius:999px;background:#d7dce5}.xiaojiu-flow-step.done:not(:last-child):after,.xiaojiu-flow-step.active:not(:last-child):after{background:linear-gradient(90deg,var(--blue),#9cc8ff)}.xiaojiu-flow-step span{position:relative;z-index:1;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:#eef1f6;color:#8b95a3;font-size:14px;font-weight:800;box-shadow:0 0 0 5px var(--bg-card)}.xiaojiu-flow-step.done span,.xiaojiu-flow-step.active span{border-color:transparent;background:var(--grad);color:#fff}.xiaojiu-flow-step.active span{box-shadow:0 0 0 5px var(--bg-card),0 8px 22px #0071e338}.xiaojiu-flow-step strong{max-width:100%;color:inherit;font-size:12px;font-weight:750;line-height:1.25;overflow-wrap:anywhere}.xiaojiu-flow-step.done strong,.xiaojiu-flow-step.active strong{color:var(--blue)}.xiaojiu-guide-card{display:grid;gap:14px;border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(180deg,#fff,#fbfdff);padding:16px;box-shadow:var(--shadow-sm)}.xiaojiu-guide-head{display:grid;gap:4px}.xiaojiu-guide-head strong{color:var(--text);font-size:16px;line-height:1.25}.xiaojiu-guide-head span{color:var(--text-muted);font-size:13px;line-height:1.45}.xiaojiu-guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.xiaojiu-guide-button{width:100%;min-width:0;min-height:46px;padding:0 16px;text-decoration:none;white-space:normal;text-align:center;overflow-wrap:anywhere}.xiaojiu-guide-button:not(:disabled):hover{transform:translateY(-2px)}.xiaojiu-guide-steps{margin:0;padding-left:20px;color:var(--text-muted);font-size:13px;line-height:1.65}.xiaojiu-guide-steps li+li{margin-top:2px}.xiaojiu-help,.xiaojiu-faq{line-height:1.7;font-size:13px}.xiaojiu-help ol{margin:8px 0;padding-left:20px}.xiaojiu-help li{margin:4px 0}.xiaojiu-help pre{background:#0f172a;color:#e2e8f0;border-radius:12px;padding:12px;overflow-x:auto;font-size:12px;white-space:pre}.xiaojiu-help code{background:var(--blue-soft);border-radius:4px;padding:1px 5px;font-size:12px}.xiaojiu-faq-item{margin:8px 0}.xiaojiu-faq-item p{margin:2px 0 0;color:var(--text-muted)}.xiaojiu-badge{display:inline-block;margin-left:8px;background:var(--amber-soft);color:var(--amber);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.xiaojiu-session-account.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.xiaojiu-session-account.warn{border-color:#fecaca;background:#fff1f2;color:#991b1b}.xiaojiu-renewal-preflight{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:68px;border:1px solid #bfdbfe;border-radius:var(--r-md);background:#eff6ff;color:#1e3a8a;padding:12px 13px}.xiaojiu-renewal-preflight.off,.xiaojiu-renewal-preflight.none{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.xiaojiu-renewal-preflight.external{border-color:#fde68a;background:#fffbeb;color:#92400e}.xiaojiu-renewal-preflight.renewing{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.xiaojiu-renewal-preflight.error{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.xiaojiu-renewal-preflight.promo{border-color:#c4b5fd;background:#f5f3ff;color:#5b21b6}.xiaojiu-renewal-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:#dbeafe;color:#2563eb}.xiaojiu-renewal-preflight.off .xiaojiu-renewal-icon,.xiaojiu-renewal-preflight.none .xiaojiu-renewal-icon{background:#dcfce7;color:#16a34a}.xiaojiu-renewal-preflight.external .xiaojiu-renewal-icon{background:#fef3c7;color:#d97706}.xiaojiu-renewal-preflight.renewing .xiaojiu-renewal-icon{background:#fee2e2;color:#dc2626}.xiaojiu-renewal-preflight.error .xiaojiu-renewal-icon{background:#ffedd5;color:#ea580c}.xiaojiu-renewal-preflight.promo .xiaojiu-renewal-icon{background:#ede9fe;color:#7c3aed}.xiaojiu-renewal-copy{min-width:0;display:grid;gap:3px}.xiaojiu-renewal-copy strong{color:inherit;font-size:14px;line-height:1.35}.xiaojiu-renewal-copy>span{color:color-mix(in srgb,currentColor 78%,#64748b);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.xiaojiu-renewal-action{min-width:145px;min-height:40px;padding:0 14px;border-color:#bfdbfe;color:#2563eb;background:#fff;font-size:13px;text-decoration:none;white-space:normal;text-align:center}.xiaojiu-renewal-preflight.off .xiaojiu-renewal-action,.xiaojiu-renewal-preflight.none .xiaojiu-renewal-action{border-color:#bbf7d0;color:#15803d}.xiaojiu-renewal-preflight.external .xiaojiu-renewal-action{border-color:#fde68a;color:#b45309}.xiaojiu-renewal-preflight.renewing .xiaojiu-renewal-action{border-color:#ef4444;color:#fff;background:#dc2626}.xiaojiu-renewal-preflight.renewing .xiaojiu-renewal-action:hover:not(:disabled){border-color:#b91c1c;background:#b91c1c}.xiaojiu-renewal-preflight.error .xiaojiu-renewal-action{border-color:#fed7aa;color:#c2410c}.xiaojiu-renewal-preflight.promo .xiaojiu-renewal-action{border-color:#c4b5fd;color:#6d28d9}@keyframes xiaojiuPanelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.xiaojiu-intro-row{grid-template-columns:1fr}.xiaojiu-tour-replay{justify-self:start}.xiaojiu-tour-popover{max-width:calc(100vw - 24px);padding:13px}.xiaojiu-tour-actions{grid-template-columns:1fr 1fr}.xiaojiu-tour-actions span{display:none}.xiaojiu-flow-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.xiaojiu-flow-step:not(:last-child):after{display:none}.xiaojiu-guide-actions{grid-template-columns:1fr}.xiaojiu-guide-card{padding:14px}.xiaojiu-renewal-preflight{grid-template-columns:auto minmax(0,1fr)}.xiaojiu-renewal-action{grid-column:1 / -1;width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){.xiaojiu-panel-enter{animation:none}.xiaojiu-tour-stage{transition:none}.xiaojiu-guide-button:not(:disabled):hover{transform:none}}.xiaojiu-autorefresh{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer}.xiaojiu-filter-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.source-option.compact{flex:0 0 auto;padding:4px 12px;font-size:12px;border-radius:999px;cursor:pointer}.xiaojiu-expiry{display:inline-block;margin-left:8px;border-radius:4px;padding:0 6px;font-size:11px;font-weight:600}.xiaojiu-expiry.soon{background:#fef3c7;color:#92400e}.xiaojiu-expiry.expired{background:#fee2e2;color:#b91c1c}.xiaojiu-tier-badge{display:inline-block;margin-right:8px;border-radius:4px;padding:0 6px;font-size:11px;font-weight:700;letter-spacing:.2px}.xiaojiu-tier-badge.tier-pro5x{background:#e0e7ff;color:#3730a3}.xiaojiu-tier-badge.tier-go{background:#dcfce7;color:#166534}.xiaojiu-tier-badge.tier-pro20x{background:#ede9fe;color:#6d28d9}.xiaojiu-promo-badge{display:inline-block;margin-left:8px;border:1px solid transparent;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.35;white-space:nowrap}.xiaojiu-promo-badge.eligible{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9}.xiaojiu-promo-badge.ineligible,.xiaojiu-promo-badge.muted{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.xiaojiu-promo-badge.unknown{border-color:#fde68a;background:#fffbeb;color:#a16207}.turnstile-widget{margin:8px 0}.admin-tabs{display:flex;gap:8px;margin:4px 0 12px;border-bottom:1px solid var(--muted-border)}.admin-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.admin-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.xiaojiu-controls{display:flex;align-items:center;gap:14px;margin:8px 0}.session-url-link{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.session-url-link:hover{color:var(--blue-dark)}.xiaojiu-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.xiaojiu-row{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.xiaojiu-row.open{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue-soft)}.xiaojiu-row-head{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 12px;background:none;border:none;cursor:pointer;text-align:left}.xiaojiu-row-head:hover{background:var(--blue-soft)}.xiaojiu-row-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.xiaojiu-row-title{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}.xiaojiu-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xiaojiu-row-cdk{max-width:100%;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.02em;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.xiaojiu-row-cdk:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.xiaojiu-row-cdk-ok{color:#15803d;text-decoration:none}.xiaojiu-row-meta{font-size:12px;color:var(--text-muted);white-space:nowrap}.xiaojiu-row-caret{color:var(--text-muted);font-size:12px}.xiaojiu-drawer{border-top:1px solid var(--muted-border);padding:12px;display:flex;flex-direction:column;gap:12px;background:#fafbfd}.xiaojiu-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.xiaojiu-step .hint{margin:6px 0 0}.xiaojiu-step summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--text-muted)}.xiaojiu-substep{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.xiaojiu-step-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px dashed var(--muted-border);padding-top:10px}.xiaojiu-import{margin-top:12px;border-top:1px solid var(--muted-border);padding-top:10px}.xiaojiu-import summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-muted)}.xiaojiu-fail-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.xiaojiu-fail-select,.xiaojiu-fail-custom{border:1px solid var(--border);border-radius:12px;padding:6px 10px;font-size:13px;background:#fff;color:#111827}.xiaojiu-fail-custom{flex:1 1 160px;min-width:120px}.xiaojiu-query-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.xiaojiu-query-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.xiaojiu-single-result{margin-top:14px}.xiaojiu-query-row{border:1px solid var(--muted-border);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;background:var(--bg-subtle)}.xiaojiu-query-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.xiaojiu-query-head code{font-size:12px;word-break:break-all}.xiaojiu-query-state{font-size:12px;font-weight:600;white-space:nowrap;color:var(--text-muted)}.xiaojiu-query-state.done{color:var(--green)}.xiaojiu-query-state.failed,.xiaojiu-query-state.invalid{color:var(--red)}.xiaojiu-query-state.pending,.xiaojiu-query-state.processing{color:var(--amber)}.xiaojiu-query-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--text-muted)}.xiaojiu-query-note{margin:0;font-size:12px;color:var(--amber)}.xiaojiu-ledger-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.xiaojiu-ledger-search{flex:1 1 280px;min-width:220px;min-height:38px;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:13px;font-family:inherit;line-height:1.45;resize:vertical}.xiaojiu-ledger-list{display:grid;gap:8px}.xiaojiu-ledger-pager,.xiaojiu-ledger-pages{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.xiaojiu-ledger-pager{justify-content:flex-end}.xiaojiu-queue-pager,.xiaojiu-stats-pager{margin-top:4px}.xiaojiu-page-button{min-width:34px;justify-content:center}.xiaojiu-page-button.active{color:#fff;border-color:var(--accent);background:var(--accent)}.xiaojiu-ledger-row{border:1px solid var(--muted-border);border-radius:10px;padding:10px;display:grid;gap:7px;background:#fff}.xiaojiu-ledger-row.st-done{border-left:3px solid #12b76a}.xiaojiu-ledger-row.st-failed,.xiaojiu-ledger-row.st-expired,.xiaojiu-ledger-row.st-invalid{border-left:3px solid #d92d20}.xiaojiu-ledger-row.st-pending,.xiaojiu-ledger-row.st-processing{border-left:3px solid #f79009}.xiaojiu-ledger-head,.xiaojiu-ledger-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.xiaojiu-ledger-head{justify-content:space-between}.xiaojiu-ledger-head code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all}.xiaojiu-ledger-meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--text-muted);font-size:12px}.xiaojiu-ledger-flow{display:grid;gap:2px;font-size:12px}.xiaojiu-ledger-flow strong{color:var(--text)}.xiaojiu-ledger-flow span,.xiaojiu-ledger-note{color:var(--text-muted);overflow-wrap:anywhere}.xiaojiu-ledger-note{margin:0;font-size:12px}.xiaojiu-ledger-attempts{border-top:1px solid var(--muted-border);padding-top:7px;display:grid;gap:6px}.xiaojiu-ledger-attempts>strong{font-size:12px;color:var(--text)}.xiaojiu-ledger-attempt{border:1px solid var(--muted-border);border-radius:8px;padding:7px;display:grid;gap:5px;background:#fafafa}.xiaojiu-ledger-attempt.st-done{border-left:3px solid #12b76a}.xiaojiu-ledger-attempt.st-failed{border-left:3px solid #d92d20}.xiaojiu-ledger-attempt.st-pending,.xiaojiu-ledger-attempt.st-processing{border-left:3px solid #f79009}.xiaojiu-ledger-attempt-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.xiaojiu-ledger-attempt-head code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--text-muted);word-break:break-all}.xiaojiu-empty{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;padding:12px 2px}.xiaojiu-stats-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.xiaojiu-stats-toolbar label{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.xiaojiu-stats-toolbar select{border:1px solid var(--border);border-radius:8px;padding:7px 9px;background:#fff;color:var(--text);font-size:13px}.xiaojiu-stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}.xiaojiu-stats-summary>div{border:1px solid var(--muted-border);border-radius:8px;padding:10px;background:#fff;display:grid;gap:4px}.xiaojiu-stats-summary span,.xiaojiu-stats-total span{color:var(--text-muted);font-size:12px}.xiaojiu-stats-summary strong,.xiaojiu-stats-total strong{color:var(--text);font-size:22px;line-height:1.1}.xiaojiu-stats-list{display:grid;gap:8px}.xiaojiu-stats-row{border:1px solid var(--muted-border);border-left:3px solid var(--accent);border-radius:10px;padding:10px;background:#fff;display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(70px,.4fr) minmax(220px,1.1fr);gap:8px 12px;align-items:center}.xiaojiu-stats-date{display:grid;gap:3px}.xiaojiu-stats-date strong{font-size:14px;color:var(--text)}.xiaojiu-stats-date span,.xiaojiu-stats-tier{color:var(--text-muted);font-size:12px}.xiaojiu-stats-total{display:grid;gap:3px}.xiaojiu-stats-statuses{display:flex;flex-wrap:wrap;gap:5px 8px}.xiaojiu-stats-tier{grid-column:1 / -1}@media(max-width:760px){.xiaojiu-stats-row{grid-template-columns:1fr}}.xiaojiu-terminal-note{white-space:pre-wrap;word-break:break-word}.xiaojiu-terminal-card-diagnostics{display:block;margin-bottom:4px;color:var(--text)}.xiaojiu-terminal-card-diagnostics+span{display:block}.xiaojiu-history{margin-top:10px;padding:10px 12px;border:1px solid var(--muted-border);border-radius:10px;background:var(--bg-subtle)}.xiaojiu-history-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-muted)}.xiaojiu-history-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.xiaojiu-history-item{display:grid;gap:2px;padding-left:10px;border-left:2px solid var(--line);font-size:12px}.xiaojiu-history-item.st-failed{border-left-color:#d92d20}.xiaojiu-history-item.st-done{border-left-color:#12b76a}.xiaojiu-history-item.st-processing{border-left-color:#f79009}.xiaojiu-history-head{display:flex;gap:8px;align-items:baseline}.xiaojiu-history-status{font-weight:600}.xiaojiu-history-at{color:var(--text-faint);font-size:11px}.xiaojiu-history-note{color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.xiaojiu-query-panel{border:1px solid var(--muted-border);border-radius:12px;padding:12px;margin-top:8px;display:flex;flex-direction:column;gap:8px;background:var(--bg-subtle)}.btn.danger{color:#fff;border-color:transparent;background:var(--red, #e11d48)}.btn.danger:not(:disabled):hover{filter:brightness(1.08)}.spx-open-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:10px 0}.spx-open-card summary{cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:650}.spx-detail-fields{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;align-items:center}.spx-detail-fields .link-button{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.spx-status{font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid #d6dde7;color:var(--text-muted)}.spx-status-active{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.spx-status-frozen{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.spx-status-cancelled,.spx-status-deleted{color:var(--red, #e11d48);border-color:#fecdd3}.spx-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.spx-amount-input{width:110px;min-height:36px;padding:0 10px;border:1px solid #d6dde7;border-radius:10px;font-size:13px}.xiaojiu-cdk-input{width:auto;flex:1 1 240px;min-width:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.xiaojiu-danger-hint{color:var(--red)}.xiaojiu-swap-disposal{margin-top:8px}.xiaojiu-swap-result{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.xiaojiu-swap-result-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.xiaojiu-swap-result-row code{padding:4px 10px;border-radius:8px;background:#0206170f;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:600;letter-spacing:.03em}.xiaojiu-swap-lang{flex:0 0 auto;min-width:96px}.xiaojiu-swap-intro{margin-top:4px}.xiaojiu-swap-warning{font-weight:600}.xiaojiu-swap-input,.xiaojiu-swap-batch{width:100%;box-sizing:border-box;margin-top:4px}.xiaojiu-swap-turnstile{margin:10px 0}.xiaojiu-swap-results{margin-top:14px;display:flex;flex-direction:column;gap:10px}.xiaojiu-swap-table{width:100%;border-collapse:collapse;font-size:13px}.xiaojiu-swap-table th,.xiaojiu-swap-table td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(2,6,23,.08);vertical-align:top;word-break:break-all}.xiaojiu-swap-table th{color:#6b7280;font-weight:600}.xiaojiu-swap-table tr.swapped td{background:#10b98114}.xiaojiu-swap-table code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.xiaojiu-swap-newkey{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.xiaojiu-swap-foot{margin-top:16px;display:flex;align-items:flex-start;gap:6px;color:#6b7280}.spx-txn-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.spx-txn-row{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:13px;padding:7px 10px;border:1px solid #e5eaf1;border-radius:10px;background:#fff}.spx-txn-merchant{font-weight:650}.spx-txn-status.declined{color:var(--red, #e11d48)}.spx-txn-status.pending{color:#b45309}.spx-txn-time,.spx-txn-desc{color:var(--text-muted)}.spx-dashboard{gap:14px;padding:0;border:none;background:transparent}.spx-hero,.spx-panel,.spx-card-row{border:1px solid rgba(148,163,184,.24);border-radius:18px;background:#fff;box-shadow:0 18px 45px #0f172a14}.spx-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;color:#fff;background:radial-gradient(circle at 12% 12%,rgba(125,211,252,.44),transparent 28%),radial-gradient(circle at 88% 20%,rgba(59,130,246,.45),transparent 30%),linear-gradient(135deg,#0f172a,#1d4ed8 58%,#06b6d4)}.spx-hero:after{content:"";position:absolute;inset:auto -12% -38% 42%;height:180px;transform:rotate(-7deg);background:#ffffff24;border-radius:999px}.spx-hero>*{position:relative;z-index:1}.spx-hero-main,.spx-hero-title,.spx-hero-actions,.spx-panel-head,.spx-search-row,.spx-product-preview,.spx-batch-result{display:flex;align-items:center;gap:12px}.spx-hero-main{justify-content:space-between;flex-wrap:wrap}.spx-hero-title svg{padding:10px;width:46px;height:46px;border-radius:16px;color:#dbeafe;background:#ffffff24}.spx-hero-title p,.spx-balance-display span,.spx-balance-display em,.spx-metric-card span,.spx-metric-card em{margin:0;color:#ffffffc2;font-size:12px}.spx-hero-title h3,.spx-balance-display strong{margin:0;color:#fff}.spx-balance-display{display:grid;gap:2px;text-align:right}.spx-balance-display strong{font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.spx-metric-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.spx-metric-card{display:grid;gap:4px;min-width:0;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.spx-metric-card svg{color:#bfdbfe}.spx-metric-card strong{overflow:hidden;color:#fff;font-size:20px;text-overflow:ellipsis;white-space:nowrap}.spx-panel{display:grid;gap:12px;padding:14px}.spx-panel-head{justify-content:space-between;align-items:flex-start}.spx-panel-head.compact{align-items:center}.spx-panel-head>div{display:grid;gap:3px;min-width:0}.spx-panel-head strong{display:inline-flex;align-items:center;gap:6px;color:#111827}.spx-panel-head span,.spx-product-preview em,.spx-card-summary em,.spx-card-balance em,.spx-mini-card span,.spx-price-card em,.spx-detail-facts span{color:var(--text-muted);font-size:12px}.spx-tier-pill,.spx-channel-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:4px 10px;color:#075985;border:1px solid #bae6fd;background:#e0f2fe;font-size:12px;font-weight:750}.spx-tier-supreme{color:#7c2d12;border-color:#fed7aa;background:#fff7ed}.spx-tier-super{color:#065f46;border-color:#a7f3d0;background:#ecfdf5}.spx-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.spx-progress-grid>div{display:grid;gap:6px;padding:10px;border-radius:14px;background:#f8fafc}.spx-progress-grid span,.spx-progress-grid em{color:var(--text-muted);font-size:12px}.spx-progress-grid i{overflow:hidden;height:8px;border-radius:999px;background:#e2e8f0}.spx-progress-grid b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#06b6d4)}.spx-search-row{flex-wrap:wrap}.spx-search-box{flex:1 1 300px;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid #d6dde7;border-radius:14px;background:#fff}.spx-search-box input{flex:1;min-width:0;border:none;outline:none;font:inherit}.spx-sync-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 10px;border-radius:12px;background:#f8fafc;color:#334155;font-size:13px;font-weight:650}.spx-sort-select{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#fff);color:#1e3a8a;font-size:13px;font-weight:750}.spx-sort-select select{border:none;outline:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.spx-product-field{grid-column:span 2}.spx-product-preview{flex-wrap:wrap;align-items:stretch;padding:10px;border:1px solid #dbeafe;border-radius:14px;background:linear-gradient(135deg,#eff6ff,#f8fafc)}.spx-product-preview>div{display:grid;gap:2px;min-width:180px}.spx-product-preview>span:not(.spx-channel-badge){display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;color:#334155;background:#fff;font-size:12px;font-weight:700}.spx-new-card{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:12px;margin-top:12px}.spx-batch-result{flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:14px;background:#ecfdf5;color:#047857}.spx-card-list{display:grid;gap:12px}.spx-card-row{overflow:hidden}.spx-card-row.open{border-color:#60a5fa;box-shadow:0 20px 55px #2563eb29}.spx-card-head{width:100%;display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr) minmax(110px,auto) auto;align-items:center;gap:12px;padding:12px;border:none;background:#fff;cursor:pointer;text-align:left}.spx-card-head:hover{background:#f8fbff}.spx-mini-card,.spx-sensitive-card{display:grid;gap:8px;min-width:0;border-radius:18px;padding:14px;color:#fff;background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.22),transparent 32%),linear-gradient(135deg,#111827,#2563eb);box-shadow:inset 0 0 0 1px #ffffff24}.spx-sensitive-card.compact{min-height:120px}.spx-mini-card-top{display:flex;justify-content:space-between;align-items:center}.spx-mini-card strong,.spx-sensitive-card strong{overflow-wrap:anywhere;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;letter-spacing:.08em}.spx-mini-card em,.spx-sensitive-card em,.spx-sensitive-card span{color:#ffffffbd;font-size:12px}.spx-card-summary,.spx-card-balance{display:grid;gap:4px;min-width:0}.spx-card-summary .spx-status{width:fit-content}.spx-card-summary strong,.spx-card-balance strong{overflow:hidden;color:#111827;text-overflow:ellipsis;white-space:nowrap}.spx-card-balance{text-align:right}.spx-card-balance strong{color:#047857;font-size:18px}.spx-card-drawer{background:linear-gradient(180deg,#eff6ff99,#f8fafcf5)}.spx-detail-grid{display:grid;grid-template-columns:minmax(220px,320px) minmax(220px,1fr);gap:12px}.spx-secret-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.spx-copy-tile{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;min-width:0;border:1px solid #dbeafe;border-radius:14px;background:#fff;padding:10px;color:#111827;cursor:pointer;text-align:left}.spx-copy-tile:hover{border-color:#93c5fd;background:#eff6ff}.spx-copy-tile span{color:var(--text-muted);font-size:12px}.spx-copy-tile strong{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.spx-detail-facts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.spx-detail-facts span{border-radius:999px;padding:6px 10px;background:#fff}.spx-openai-panel{display:grid;gap:10px;border:1px dashed #bfdbfe;border-radius:16px;background:#ffffffb8;padding:12px}.spx-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.spx-price-card{display:grid;gap:4px;border-radius:14px;padding:12px;background:#f8fafc}.spx-price-card.found{border:1px solid #bbf7d0;background:#f0fdf4}.spx-price-card.empty{border:1px solid #e5e7eb}.spx-price-card span{color:#475569;font-size:12px;font-weight:750}.spx-price-card strong{color:#111827;font-size:20px}.spx-pagination{justify-content:center}@media(max-width:820px){.spx-hero,.spx-card-head,.spx-detail-grid,.spx-new-card{grid-template-columns:1fr}.spx-hero-actions,.spx-balance-display,.spx-card-balance{text-align:left;justify-content:flex-start}.spx-metric-grid,.spx-progress-grid,.spx-secret-grid,.spx-price-grid{grid-template-columns:1fr}.spx-product-field{grid-column:auto}}.admin-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 16px 60px;background:#0a0f1f}.admin-page-card{width:min(1180px,100%);display:grid;gap:18px;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:#fff;color:#111827;box-shadow:0 30px 90px #02061780;padding:24px}.admin-page-card .batch-access-panel strong{display:inline-flex;align-items:center;gap:6px}.spx-keys-output{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;resize:vertical;background:var(--bg-subtle);color:var(--text)}@media(prefers-reduced-transparency:reduce){.hero-chip,.language-switcher{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--bg-card)!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.xiaojiu-ledger-expanded{display:grid;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border, #dbe3ee)}.xiaojiu-order-timeline,.xiaojiu-override-dialog{border:1px solid #dbe3ee;border-radius:14px;background:#fff;padding:14px}.xiaojiu-order-timeline-head,.xiaojiu-override-dialog-head,.xiaojiu-timeline-entry-head,.xiaojiu-override-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.xiaojiu-order-timeline-head>div,.xiaojiu-override-dialog-head>div{display:grid;gap:3px}.xiaojiu-order-timeline-head span,.xiaojiu-override-dialog-head span{color:#64748b;font-size:12px}.xiaojiu-timeline-categories,.xiaojiu-timeline-snapshot,.xiaojiu-override-current{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.xiaojiu-timeline-categories .active{color:#fff;border-color:#2563eb;background:#2563eb}.xiaojiu-timeline-summary{margin-top:12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;padding:12px}.xiaojiu-timeline-summary>p{margin:6px 0 0;color:#1e3a8a;line-height:1.6}.xiaojiu-timeline-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:10px}.xiaojiu-timeline-summary-grid span{display:grid;gap:3px;border-radius:8px;background:#fff;padding:8px 10px;color:#334155;font-size:12px}.xiaojiu-timeline-summary-grid b{color:#64748b;font-size:11px}.xiaojiu-timeline-snapshot span,.xiaojiu-override-current>*{border-radius:8px;background:#f1f5f9;padding:6px 9px;font-size:12px}.xiaojiu-timeline-list{display:grid;gap:10px;margin-top:12px}.xiaojiu-timeline-entry{border-left:3px solid #94a3b8;border-radius:9px;background:#f8fafc;padding:10px 12px}.xiaojiu-timeline-entry.cat-payment{border-left-color:#2563eb}.xiaojiu-timeline-entry.cat-verification{border-left-color:#7c3aed}.xiaojiu-timeline-entry.cat-admin{border-left-color:#d97706}.xiaojiu-timeline-entry.cat-error{border-left-color:#dc2626}.xiaojiu-timeline-entry-head{justify-content:flex-start}.xiaojiu-timeline-entry-head time{margin-left:auto;color:#64748b;font-size:12px}.xiaojiu-timeline-entry-head span{border-radius:999px;background:#e2e8f0;padding:2px 7px;font-size:11px}.xiaojiu-timeline-entry p{margin:8px 0;white-space:pre-wrap}.xiaojiu-timeline-entry-meta{display:flex;flex-wrap:wrap;gap:7px 12px;color:#475569;font-size:12px}.xiaojiu-timeline-entry-meta code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.xiaojiu-timeline-entry-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px 12px;margin:9px 0 0;border-top:1px dashed #cbd5e1;padding-top:9px}.xiaojiu-timeline-entry-fields>div{min-width:0}.xiaojiu-timeline-entry-fields dt{color:#64748b;font-size:11px}.xiaojiu-timeline-entry-fields dd{margin:2px 0 0;overflow-wrap:anywhere;color:#334155;font-size:12px}.xiaojiu-timeline-more{margin-top:12px}.xiaojiu-universal-lock-button{justify-self:start}.xiaojiu-override-dialog{border-color:#f59e0b;background:#fffbeb}.xiaojiu-override-warning{margin:12px 0;border:1px solid #f59e0b;border-radius:9px;background:#fff7ed;padding:10px;color:#9a3412;font-weight:600}.xiaojiu-override-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.xiaojiu-override-actions label{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;border:1px solid #dbe3ee;border-radius:10px;background:#fff;padding:10px;cursor:pointer}.xiaojiu-override-actions label.selected{border-color:#d97706;box-shadow:0 0 0 2px #d977061f}.xiaojiu-override-actions label input{grid-row:1 / span 2}.xiaojiu-override-actions label span{color:#64748b;font-size:12px}.xiaojiu-override-reason{display:grid;gap:6px;margin-top:12px}.xiaojiu-override-reason textarea{min-height:88px;resize:vertical;border:1px solid #cbd5e1;border-radius:9px;padding:9px;font:inherit}.xiaojiu-override-operation-id{margin-top:8px;color:#64748b;font-size:12px}.xiaojiu-override-footer{justify-content:flex-end;margin-top:12px}.xiaojiu-ledger-attempt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.pure-protocol-toggle-panel .pure-protocol-toggle-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-3)}.pure-protocol-toggle-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.pure-protocol-toggle-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.pure-protocol-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em}.pure-protocol-pill.is-browser{background:var(--blue-soft);color:var(--blue-dark)}.pure-protocol-pill.is-protocol{background:var(--amber-soft);color:var(--amber)}.pure-protocol-pill.is-business{background:var(--green-soft);color:var(--green)}.adm-shell,.adm-login{color-scheme:light;--bg-page: #f5f5f7;--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-subtle: #f3f4f7;--text: #1d1d1f;--text-muted: #6e6e73;--text-faint: #86868b;--line: rgba(15, 23, 42, .1);--line-strong: rgba(15, 23, 42, .16);--border: rgba(15, 23, 42, .1);--muted-border: rgba(15, 23, 42, .07);--accent: #0071e3;--accent-hover: #0077ed;--accent-soft: #e9f2fe;--blue: #0071e3;--blue-dark: #0077ed;--blue-soft: #e9f2fe;--grad: linear-gradient(135deg, #0a84ff 0%, #0071e3 100%);--green: #1a9e54;--green-soft: #e7f8ee;--amber: #b9770a;--amber-soft: #fdf3e2;--red: #e5484d;--red-soft: #fdecec;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 2px 6px rgba(15, 23, 42, .05);--shadow-md: 0 2px 4px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .09);--glass-border: rgba(15, 23, 42, .08);--glass-bg: rgba(255, 255, 255, .62);--adm-sidebar-w: 232px;--bg-hover: rgba(15, 23, 42, .04);--adm-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Courier New", monospace;background:var(--bg-page);color:var(--text)}.adm-shell{display:grid;grid-template-columns:var(--adm-sidebar-w) minmax(0,1fr);min-height:100vh}.adm-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--line);background:var(--bg-page);display:flex;flex-direction:column;gap:var(--sp-6)}.adm-sidebar-brand{display:grid;gap:2px;padding:var(--sp-1) var(--sp-3) 0}.adm-sidebar-brand p{margin:0;font-size:var(--fs-xs);color:var(--text-faint)}.adm-sidebar-brand h2{margin:0;font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--text)}.adm-nav{display:grid;gap:var(--sp-4);align-content:start}.adm-nav-group{display:grid;gap:2px}.adm-nav-group-title{margin:0;padding:0 var(--sp-3) var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-faint)}.adm-nav-item{display:flex;align-items:center;gap:10px;min-height:34px;width:100%;padding:0 var(--sp-3);border:none;border-radius:var(--r-sm);background:none;text-align:left;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.adm-nav-item svg{flex-shrink:0;color:var(--text-faint)}.adm-nav-item:hover{background:var(--bg-hover);color:var(--text)}.adm-nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-semibold)}.adm-nav-item.active svg{color:var(--accent)}.adm-nav-item .adm-badge{margin-left:auto}.adm-main{min-width:0;display:flex;flex-direction:column}.adm-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:56px;padding:0 var(--sp-8);background:var(--bg-page);border-bottom:1px solid var(--line)}.adm-topbar-title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--text)}.adm-topbar-left{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.adm-topbar-actions{display:flex;align-items:center;gap:var(--sp-2)}.adm-nav-toggle{display:none}.adm-content{width:100%;max-width:1080px;margin:0 auto;padding:var(--sp-6) var(--sp-8) var(--sp-12);display:grid;gap:var(--sp-4);align-content:start}.adm-scrim{display:none}.adm-login{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6)}.adm-login-card{width:min(420px,100%);display:grid;gap:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);box-shadow:var(--shadow-md);padding:var(--sp-8) var(--sp-6)}.adm-login-card>header{display:grid;gap:2px}.adm-login-card>header p{margin:0;font-size:var(--fs-xs);color:var(--text-faint)}.adm-login-card>header h2{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--text)}.adm-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);box-shadow:var(--shadow-xs);padding:var(--sp-6);display:grid;gap:var(--sp-4);min-width:0}.adm-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.adm-card-head strong{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.adm-card-head strong svg{color:var(--text-faint)}.adm-card-head span{display:block;font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-snug)}.adm-card-head>div:first-child{display:grid;gap:var(--sp-1);min-width:0}.adm-section{border-top:1px solid var(--line);padding-top:var(--sp-4);display:grid;gap:var(--sp-3);min-width:0}.adm-section:first-child{border-top:none;padding-top:0}.adm-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.adm-section-head strong{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted)}.adm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.adm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);border-top:1px dashed var(--line);padding-top:var(--sp-3)}.adm-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.adm-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}@media(max-width:1000px){.adm-grid-3{grid-template-columns:1fr}}.adm-disclosure{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-subtle);padding:var(--sp-2) var(--sp-3)}.adm-disclosure>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);padding:var(--sp-1) 0;-webkit-user-select:none;user-select:none}.adm-disclosure>summary::-webkit-details-marker{display:none}.adm-disclosure>summary:before{content:"";width:0;height:0;border-left:5px solid var(--text-faint);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform var(--dur-fast) var(--ease-out);flex-shrink:0}.adm-disclosure[open]>summary:before{transform:rotate(90deg)}.adm-disclosure>summary:hover{color:var(--text)}.adm-disclosure[open]>summary{margin-bottom:var(--sp-2)}.adm-disclosure>:not(summary){min-width:0}.adm-list{display:grid;gap:var(--sp-2)}.adm-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card);overflow:hidden;min-width:0}.admin-autopay-slot-actions{margin-left:auto;display:flex;align-items:center;gap:12px;flex:0 0 auto}.admin-autopay-rotate-button{min-width:96px;min-height:36px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;cursor:pointer}.admin-autopay-rotate-button:disabled{cursor:not-allowed;opacity:.55}.admin-autopay-rotation-progress{margin:0;color:var(--text-muted);font-size:var(--fs-xs)}.adm-row.open{border-color:var(--accent)}.adm-row-head{width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border:none;background:none;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.adm-row-head:hover{background:var(--bg-hover)}.adm-row-main{display:grid;gap:2px;min-width:0;flex:1}.adm-row-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-row-meta{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--sp-2);min-width:0}.adm-row-caret{color:var(--text-faint);flex-shrink:0;display:inline-flex}.adm-row-code{font-family:var(--adm-mono);font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.adm-row-code:hover{text-decoration:underline}.adm-row-code.is-ok{color:var(--green)}.adm-drawer{border-top:1px solid var(--line);background:var(--bg-subtle);padding:var(--sp-4);display:grid;gap:var(--sp-3)}.adm-drawer-zone{border:1px solid var(--line);border-left:3px solid var(--text-faint);border-radius:var(--r-sm);background:var(--bg-card);padding:var(--sp-3) var(--sp-4);display:grid;gap:var(--sp-3);min-width:0}.adm-drawer-zone.is-primary{border-left-color:var(--accent)}.adm-drawer-zone.is-status{border-left-color:var(--amber)}.adm-drawer-zone-title{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-faint);letter-spacing:var(--tracking-wide)}.adm-pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--bg-subtle);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.adm-pill.is-success{background:var(--green-soft);color:var(--green)}.adm-pill.is-danger{background:var(--red-soft);color:var(--red)}.adm-pill.is-warning{background:var(--amber-soft);color:var(--amber)}.adm-pill.is-info{background:var(--accent-soft);color:var(--accent)}.adm-badge{min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);display:inline-grid;place-items:center;background:var(--red);color:#fff;font-size:11px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;line-height:1}.adm-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--text-muted)}.adm-pager-pages{display:flex;align-items:center;gap:2px}.adm-page-btn{min-width:28px;height:28px;padding:0 var(--sp-1);border:none;border-radius:var(--r-sm);background:none;color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.adm-page-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.adm-page-btn.active{background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-semibold)}.adm-page-btn:disabled{opacity:.4;cursor:default}.adm-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3)}.adm-metric{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card);box-shadow:var(--shadow-xs);padding:var(--sp-4);display:grid;gap:var(--sp-1);align-content:start;min-width:0}.adm-metric>span{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-muted)}.adm-metric>span svg{color:var(--text-faint)}.adm-metric>strong{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);color:var(--text);font-variant-numeric:tabular-nums;line-height:var(--lh-tight)}.adm-metric>em{font-style:normal;font-size:var(--fs-xs);color:var(--text-faint)}.adm-kv{display:grid;gap:2px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--bg-subtle);min-width:0}.adm-kv>span{font-size:var(--fs-xs);color:var(--text-muted)}.adm-kv>strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);word-break:break-all;font-variant-numeric:tabular-nums}.adm-kv.clickable{cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.adm-kv.clickable:hover{background:var(--bg-hover)}.adm-code{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-subtle);padding:var(--sp-3);font-family:var(--adm-mono);font-size:var(--fs-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;color:var(--text);margin:0}textarea.adm-code{width:100%;min-height:96px;resize:vertical}.adm-progress{height:6px;border-radius:var(--r-full);background:var(--bg-subtle);overflow:hidden}.adm-progress>b{display:block;height:100%;background:var(--accent);border-radius:inherit}.adm-timeline{margin:0;padding:0;list-style:none;display:grid;gap:var(--sp-2)}.adm-timeline-title{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-faint)}.adm-timeline-item{padding-left:10px;border-left:2px solid var(--line);font-size:var(--fs-xs);color:var(--text-muted);display:grid;gap:2px}.adm-timeline-item strong{color:var(--text);font-weight:var(--fw-semibold)}.adm-timeline-item.is-success{border-left-color:var(--green)}.adm-timeline-item.is-danger{border-left-color:var(--red)}.adm-timeline-item.is-warning{border-left-color:var(--amber)}.adm-timeline-item.is-info{border-left-color:var(--accent)}.adm-seg{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.adm-seg-item{height:26px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-full);background:var(--bg-card);font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.adm-seg-item:hover{background:var(--bg-hover)}.adm-seg-item.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-semibold)}.adm-alert{display:flex;gap:var(--sp-2);align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-subtle);color:var(--text-muted);padding:10px var(--sp-3);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:0}.adm-alert svg{flex-shrink:0;margin-top:1px}.adm-alert.is-info{background:var(--accent-soft);color:var(--accent);border-color:transparent}.adm-alert.is-success{background:var(--green-soft);color:var(--green);border-color:transparent}.adm-alert.is-warning{background:var(--amber-soft);color:var(--amber);border-color:transparent}.adm-alert.is-danger{background:var(--red-soft);color:var(--red);border-color:transparent}.adm-alert.pre{white-space:pre-wrap}.adm-alert.block{flex-direction:column;align-items:stretch;gap:var(--sp-1)}.adm-alert.block code{font-family:var(--adm-mono);font-size:var(--fs-xs)}.adm-content .chatgpt-checkout-result,.adm-content .chatgpt-probe-results,.adm-content .smscloud-result,.adm-content .session-output{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-subtle);padding:var(--sp-3);margin:0}.adm-content .chatgpt-checkout-result a{color:var(--accent)}.adm-content .smscloud-result pre,.adm-content .session-output textarea{font-family:var(--adm-mono);font-size:var(--fs-xs)}.adm-empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-faint);font-size:var(--fs-sm);border:1px dashed var(--line);border-radius:var(--r-md);margin:0}.adm-hint{font-size:var(--fs-xs);color:var(--text-faint);margin:0;line-height:var(--lh-snug)}.adm-hint svg{vertical-align:-2px;margin-right:4px}.adm-shell .btn,.adm-login .btn{min-height:34px;border-radius:var(--r-sm);padding:0 var(--sp-4);font-size:var(--fs-sm);box-shadow:none}.adm-shell .btn:not(:disabled):hover,.adm-login .btn:not(:disabled):hover{transform:none;box-shadow:none}.adm-shell .btn.primary,.adm-login .btn.primary{background:var(--accent)}.adm-shell .btn.primary:not(:disabled):hover,.adm-login .btn.primary:not(:disabled):hover{background:var(--accent-hover);filter:none}.adm-shell .btn.compact{min-height:28px;padding:0 var(--sp-3);font-size:var(--fs-xs)}.adm-shell .btn.danger{background:var(--bg-card);color:var(--red);border:1px solid var(--line)}.adm-shell .btn.danger:not(:disabled):hover{background:var(--red-soft);border-color:transparent}.adm-shell .field>span{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-muted)}.adm-shell .field input,.adm-shell .field select,.adm-shell .field textarea{min-height:34px;font-size:var(--fs-sm);border-radius:var(--r-sm)}.adm-shell .field textarea{min-height:72px}.adm-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.adm-check input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent)}.adm-shell :focus-visible,.adm-login :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.adm-content .batch-tool{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);box-shadow:var(--shadow-xs)}.adm-content .batch-tool.spx-dashboard{border:none;background:none;box-shadow:none;padding:0}.adm-content .batch-tool-title strong{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.adm-content .batch-tool-title span{color:var(--text-muted);font-size:var(--fs-xs)}.adm-content .xiaojiu-query-state{display:inline-flex;align-items:center;height:22px;padding:0 var(--sp-2);border-radius:var(--r-full);background:var(--bg-subtle);color:var(--text-muted);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.adm-content .xiaojiu-query-state.done{background:var(--green-soft);color:var(--green)}.adm-content .xiaojiu-query-state.failed,.adm-content .xiaojiu-query-state.invalid{background:var(--red-soft);color:var(--red)}.adm-content .xiaojiu-query-state.pending,.adm-content .xiaojiu-query-state.processing{background:var(--amber-soft);color:var(--amber)}.adm-content .spx-hero{background:var(--bg-card);color:var(--text);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.adm-content .spx-hero:after{display:none}.adm-content .spx-hero-title h3,.adm-content .spx-balance-display strong{color:var(--text)}.adm-content .spx-balance-display strong{font-variant-numeric:tabular-nums}.adm-content .spx-hero-title p,.adm-content .spx-balance-display span,.adm-content .spx-balance-display em,.adm-content .spx-metric-card span,.adm-content .spx-metric-card em{color:var(--text-muted)}.adm-content .spx-hero-title svg{color:var(--accent);background:var(--accent-soft);border-radius:var(--r-md)}.adm-content .spx-metric-card{border:1px solid var(--line);background:var(--bg-card);border-radius:var(--r-md);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:none;backdrop-filter:none}.adm-content .spx-metric-card strong{color:var(--text);font-variant-numeric:tabular-nums}.adm-content .spx-metric-card svg{color:var(--text-faint)}.adm-content .spx-panel,.adm-content .spx-card-row{border:1px solid var(--line);box-shadow:var(--shadow-xs)}.adm-content .spx-panel{border-radius:var(--r-lg)}.adm-content .spx-card-row{border-radius:var(--r-md)}.adm-content .spx-progress-grid>div{background:var(--bg-subtle);border-radius:var(--r-md)}.adm-content .spx-progress-grid b{background:var(--accent)}.adm-content .spx-search-box,.adm-content .spx-sort-select{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-card);color:var(--text);font-weight:var(--fw-medium)}.adm-content .spx-tier-pill,.adm-content .spx-channel-badge{border:none;background:var(--accent-soft);color:var(--accent);font-weight:var(--fw-semibold)}.adm-content .spx-tier-super{background:var(--green-soft);color:var(--green)}.adm-content .spx-tier-supreme{background:var(--amber-soft);color:var(--amber)}.adm-content .spx-status{border:none;background:var(--bg-subtle);color:var(--text-muted)}.adm-content .spx-status-active{background:var(--green-soft);color:var(--green)}.adm-content .spx-status-frozen{background:var(--accent-soft);color:var(--accent)}.adm-content .spx-status-cancelled,.adm-content .spx-status-deleted{background:var(--red-soft);color:var(--red)}.adm-content .developer-api-example{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-subtle);padding:var(--sp-2) var(--sp-3)}.adm-content .developer-api-example code{font-family:var(--adm-mono);font-size:var(--fs-xs);color:var(--text-muted)}.gplay-legacy-panel{display:grid;gap:var(--sp-4)}.gplay-cdk-panel,.gplay-cdk-panel .adm-card{min-width:0}.gplay-inventory-control{margin-bottom:18px}.gplay-pool-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.gplay-pool-operations{display:grid;gap:16px}.gplay-pool-operations textarea{min-height:132px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gplay-cdk-filters{align-items:end}.gplay-cdk-search{flex:1 1 320px}.gplay-cdk-row code{font-family:var(--adm-mono);overflow-wrap:anywhere}.gplay-cdk-row .adm-row-actions{flex-wrap:wrap;justify-content:flex-end}.gplay-runtime-controls{display:grid;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-subtle)}.gplay-runtime-controls-head,.gplay-runtime-controls-head>div,.gplay-runtime-controls-head strong{display:flex;align-items:center}.gplay-runtime-controls-head{justify-content:space-between;gap:var(--sp-3)}.gplay-runtime-controls-head>div{flex-wrap:wrap;gap:var(--sp-2)}.gplay-runtime-controls-head strong{gap:var(--sp-1)}.gplay-runtime-controls-head span,.gplay-runtime-meta{color:var(--text-muted);font-size:var(--fs-xs)}.gplay-runtime-switch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.gplay-runtime-switch{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-width:0;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-card)}.gplay-runtime-switch span{display:grid;gap:2px;min-width:0}.gplay-runtime-switch small{color:var(--text-muted);white-space:nowrap}.gplay-runtime-switch input{width:34px;height:18px;flex:0 0 auto;accent-color:var(--accent)}.gplay-runtime-meta{margin:0;overflow-wrap:anywhere}.gplay-legacy-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.gplay-legacy-filters{align-items:flex-end}.gplay-legacy-search{flex:1 1 260px}.gplay-legacy-filters .field:not(.gplay-legacy-search){flex:0 1 180px}.gplay-legacy-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);min-width:0}.gplay-legacy-sensitive{display:grid;gap:var(--sp-3);min-width:0}.gplay-legacy-detail-loading{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.gplay-legacy-detail .adm-row-meta code{font-family:var(--adm-mono)}.gplay-legacy-mint-zone .adm-drawer-zone-title{display:flex;align-items:center;gap:var(--sp-1)}.gplay-legacy-mint-blockers{display:grid;gap:var(--sp-1);margin:0;padding-left:var(--sp-5);color:var(--red);font-size:var(--fs-sm)}.gplay-legacy-mint-blockers code,.gplay-legacy-minted-result code{font-family:var(--adm-mono);overflow-wrap:anywhere}.gplay-legacy-confirmations{display:grid;gap:var(--sp-2)}.gplay-legacy-confirmations label{display:flex;align-items:center;gap:var(--sp-2);color:var(--text);font-size:var(--fs-sm)}.gplay-legacy-confirmations input{accent-color:var(--accent)}.gplay-legacy-minted-result{display:grid;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--green);border-radius:var(--r-sm);background:var(--green-soft)}.gplay-legacy-minted-result .btn{justify-self:start}@media(max-width:900px){.adm-shell{grid-template-columns:1fr}.adm-sidebar{display:none}.adm-shell.nav-open .adm-sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:260px;z-index:50;background:var(--bg-card);box-shadow:var(--shadow-md)}.adm-shell.nav-open .adm-scrim{display:block;position:fixed;inset:0;z-index:40;border:none;padding:0;background:#0f172a66}.adm-nav-toggle{display:inline-flex}.adm-topbar{padding:0 var(--sp-4)}.adm-content{padding:var(--sp-4) var(--sp-4) var(--sp-8);gap:var(--sp-3)}.adm-grid-2{grid-template-columns:1fr}.adm-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.adm-card{padding:var(--sp-4)}.gplay-legacy-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.gplay-runtime-switch-grid{grid-template-columns:1fr}}@media(max-width:760px){.adm-row-head{flex-wrap:wrap}.admin-autopay-slot-row-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.admin-autopay-slot-actions{width:100%;margin-left:0;justify-content:flex-end}}@media(max-width:560px){.adm-metric-grid{grid-template-columns:1fr}.adm-row-head{flex-wrap:wrap}.gplay-legacy-metrics,.gplay-legacy-kv-grid{grid-template-columns:1fr}}
/*
 * Local glass redesign for the captured 982xj.xyz frontend.
 * This file intentionally contains no external fonts or image dependencies.
 */

.page {
  color-scheme: dark;
  color: var(--text);
  --bg-page: #070b18;
  --bg-card: rgba(13, 22, 43, 0.72);
  --bg-elevated: rgba(21, 32, 59, 0.82);
  --bg-subtle: rgba(255, 255, 255, 0.065);
  --text: #f6f9ff;
  --text-muted: #b6c2d9;
  --text-faint: #8190ad;
  --line: rgba(255, 255, 255, 0.14);
  --line-strong: rgba(255, 255, 255, 0.24);
  --border: rgba(255, 255, 255, 0.15);
  --muted-border: rgba(255, 255, 255, 0.09);
  --accent: #65d9ff;
  --accent-hover: #8fe6ff;
  --accent-soft: rgba(101, 217, 255, 0.14);
  --blue: #65d9ff;
  --blue-dark: #818cf8;
  --blue-soft: rgba(101, 217, 255, 0.14);
  --grad: linear-gradient(135deg, #4fd8ff 0%, #667eea 54%, #a855f7 100%);
  --green: #5ee6a8;
  --green-soft: rgba(94, 230, 168, 0.14);
  --amber: #ffd078;
  --amber-soft: rgba(255, 208, 120, 0.14);
  --red: #ff8094;
  --red-soft: rgba(255, 128, 148, 0.14);
  --glass-border: rgba(255, 255, 255, 0.16);
  --glass-bg: rgba(15, 24, 48, 0.52);
  --blur-glass: blur(22px) saturate(155%);
  --shadow-lg: 0 30px 90px rgba(1, 4, 15, 0.58), 0 8px 28px rgba(11, 25, 55, 0.32);
  --shadow-glow: 0 0 0 1px rgba(101, 217, 255, 0.2), 0 16px 48px rgba(72, 111, 255, 0.24);
}

body:has(#root > .page) {
  background: #070b18;
}

.page {
  position: relative;
  overflow: clip;
  background:
    radial-gradient(70rem 42rem at -8% -10%, rgba(31, 197, 255, 0.24), transparent 62%),
    radial-gradient(62rem 42rem at 108% 5%, rgba(139, 92, 246, 0.25), transparent 58%),
    radial-gradient(54rem 34rem at 50% 108%, rgba(45, 212, 191, 0.14), transparent 64%),
    linear-gradient(155deg, #070b18 0%, #0a1023 46%, #090d1d 100%);
}

.topbar {
  border-bottom-color: rgba(255, 255, 255, 0.11);
  background: rgba(7, 11, 24, 0.64);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  backdrop-filter: blur(24px) saturate(145%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04), 0 12px 36px rgba(0, 0, 0, 0.12);
}

.brand {
  color: #f8fbff;
  letter-spacing: -0.015em;
}

.brand-mark {
  color: #06111e;
  background: linear-gradient(135deg, #7de3ff, #9b8cff);
  box-shadow: 0 8px 22px rgba(79, 216, 255, 0.28);
}

.language-switcher,
.system-pill,
.hero-chip {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.07);
  -webkit-backdrop-filter: blur(16px) saturate(145%);
  backdrop-filter: blur(16px) saturate(145%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.topbar-actions,
.language-switcher {
  min-width: 0;
}

.language-switcher {
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}

.language-switcher::-webkit-scrollbar {
  display: none;
}

.language-switcher button {
  min-width: 36px;
  min-height: 32px;
  color: #9eabc5;
}

.language-switcher button:hover {
  color: #f7fbff;
  background: rgba(255, 255, 255, 0.08);
}

.language-switcher button.active {
  color: #07101e;
  background: linear-gradient(135deg, #72e3ff, #9d91ff);
  box-shadow: 0 7px 20px rgba(91, 181, 255, 0.26);
}

.system-pill .dot {
  background: #66f2b4;
  box-shadow: 0 0 0 4px rgba(102, 242, 180, 0.11), 0 0 18px rgba(102, 242, 180, 0.58);
}

.hero {
  margin-bottom: clamp(24px, 4vw, 38px);
}

.hero-title {
  background: linear-gradient(100deg, #f8fbff 4%, #77dcff 45%, #b18cff 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 14px 38px rgba(81, 180, 255, 0.18);
}

.hero-subtitle {
  color: #acbad2;
}

.hero-chip {
  color: #cbd5e7;
}

.hero-chip svg {
  color: #70defe;
  filter: drop-shadow(0 0 7px rgba(112, 222, 254, 0.38));
}

/*
 * The backdrop blur lives on a pseudo-element rather than .redeem-card itself.
 * That keeps the fixed onboarding overlay anchored to the viewport.
 */
.redeem-card {
  position: relative;
  overflow: visible;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 28px;
  background: rgba(12, 20, 40, 0.48);
  box-shadow:
    0 34px 100px rgba(0, 2, 12, 0.58),
    0 10px 36px rgba(55, 92, 190, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.13),
    inset 0 -1px 0 rgba(255, 255, 255, 0.035);
}

.redeem-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.035) 48%, rgba(76, 105, 202, 0.09)),
    rgba(9, 16, 34, 0.48);
  -webkit-backdrop-filter: blur(30px) saturate(165%);
  backdrop-filter: blur(30px) saturate(165%);
}

.redeem-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 7%;
  width: 58%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(179, 237, 255, 0.85), transparent);
  box-shadow: 0 0 26px rgba(101, 217, 255, 0.42);
  pointer-events: none;
}

.redeem-card > :not(.xiaojiu-tour) {
  position: relative;
  z-index: 1;
}

.card-head {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.card-head h1 {
  color: #fbfdff;
  letter-spacing: -0.035em;
}

.step-kicker {
  color: #8adff8;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.status-badge {
  border-color: rgba(130, 215, 255, 0.23);
  background: rgba(101, 217, 255, 0.09);
  color: #a8eaff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.xiaojiu-intro-row {
  gap: 12px;
}

.xiaojiu-intro,
.batch-message.neutral {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.055);
  color: #b9c6db;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.step-header {
  color: #d8e2f2;
}

.step-header.active {
  color: #f8fbff;
}

.step-header > :first-child {
  color: #07101e;
  background: linear-gradient(135deg, #6ddfff, #9a8cff);
  box-shadow: 0 8px 20px rgba(81, 177, 255, 0.24);
}

.page .input-wrap,
.page textarea,
.page select {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(4, 10, 26, 0.42);
  color: #f5f8ff;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045), 0 10px 26px rgba(0, 0, 0, 0.1);
}

.page .input-wrap:focus-within,
.page textarea:focus,
.page select:focus {
  border-color: rgba(101, 217, 255, 0.72);
  box-shadow: 0 0 0 4px rgba(101, 217, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.page input,
.page textarea,
.page select {
  color: #f5f8ff;
}

.page input::placeholder,
.page textarea::placeholder {
  color: #74839f;
}

.page .gplay-session-field textarea,
.page .gplay-session-field input,
.page .batch-tool-title select,
.page .xiaojiu-fail-select,
.page .xiaojiu-fail-custom {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(4, 10, 26, 0.48);
  color: #f5f8ff;
}

.page .source-option,
.page .product-card,
.page .xiaojiu-guide-card,
.page .cdk-binding-details,
.page .batch-tool,
.page .batch-access-panel,
.page .batch-access-active,
.page .invoice-panel,
.page .invoice-item,
.page .invoice-note,
.page .xiaojiu-row {
  border-color: rgba(255, 255, 255, 0.13);
  background: rgba(12, 21, 43, 0.58);
  color: #f3f7ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.page .source-option:not(.active):hover,
.page .product-card:not(:disabled):hover {
  border-color: rgba(101, 217, 255, 0.4);
  background: rgba(101, 217, 255, 0.08);
}

.page .source-option.active,
.page .product-card.selected {
  border-color: rgba(117, 220, 255, 0.66);
  background: linear-gradient(135deg, rgba(79, 216, 255, 0.14), rgba(168, 85, 247, 0.13));
  box-shadow: inset 0 0 0 1px rgba(117, 220, 255, 0.14), 0 10px 28px rgba(64, 114, 214, 0.16);
}

.page .product-card span:not(.product-logo) {
  color: #b7c4d9;
}

.page .product-card:disabled:not(.selected) {
  color: #7786a2;
  background: rgba(255, 255, 255, 0.035);
}

.page .btn {
  border-radius: 13px;
}

.page .btn.primary {
  color: #07101e;
  border-color: rgba(255, 255, 255, 0.18);
  background: linear-gradient(135deg, #73e2ff 0%, #8b9bff 58%, #bd82f7 100%);
  box-shadow: 0 12px 30px rgba(75, 149, 255, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.48);
}

.page .btn.primary:hover:not(:disabled) {
  filter: brightness(1.08) saturate(1.08);
  box-shadow: 0 15px 36px rgba(75, 149, 255, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.page .btn.secondary:not(.xiaojiu-renewal-action) {
  color: #dce7f8;
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.page .btn.secondary:not(.xiaojiu-renewal-action):hover:not(:disabled) {
  border-color: rgba(101, 217, 255, 0.42);
  background: rgba(101, 217, 255, 0.1);
}

.page .link-button {
  color: #8bdff9;
}

.page .link-button:hover {
  color: #c0efff;
}

.page .xiaojiu-faq-toggle {
  min-height: 36px;
  padding-block: 6px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.page .xiaojiu-faq-toggle:hover,
.page .xiaojiu-faq-toggle:active,
.page .xiaojiu-faq-toggle:focus-visible {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.page .xiaojiu-tour-mask {
  fill: rgba(2, 6, 18, 0.76);
}

.page .xiaojiu-tour-stage {
  border-color: #88e7ff;
  box-shadow: 0 0 0 4px rgba(101, 217, 255, 0.2), 0 0 38px rgba(101, 217, 255, 0.28), 0 22px 58px rgba(0, 0, 0, 0.48);
}

.page .xiaojiu-tour-popover {
  border-color: rgba(153, 225, 255, 0.25);
  background: rgba(10, 18, 39, 0.86);
  color: #f7faff;
  -webkit-backdrop-filter: blur(24px) saturate(155%);
  backdrop-filter: blur(24px) saturate(155%);
  box-shadow: 0 28px 72px rgba(0, 2, 12, 0.62), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  transition: opacity 0.16s ease-out, border-color 0.16s ease-out, box-shadow 0.16s ease-out;
}

.page .xiaojiu-tour-popover p {
  color: #b7c4da;
}

.page .xiaojiu-tour-progress {
  color: #9be9ff;
  background: rgba(101, 217, 255, 0.1);
}

.page .xiaojiu-tour-button.primary {
  min-height: 42px;
  color: #07101e;
  background: linear-gradient(135deg, #73e2ff, #938cff);
}

.page .xiaojiu-tour-button.secondary {
  min-height: 42px;
  color: #d8e3f5;
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
}

.page .footer {
  color: #7786a2;
}

.invoice-assistant-fab {
  border-color: rgba(145, 225, 255, 0.27);
  background: rgba(15, 26, 53, 0.76);
  color: #dcf5ff;
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
  box-shadow: 0 18px 44px rgba(0, 3, 15, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.09);
}

@media (max-width: 760px) {
  .page .topbar {
    position: relative;
    background: rgba(7, 11, 24, 0.72);
  }

  .page .main {
    padding-top: 24px;
  }

  .page .hero {
    margin-bottom: 24px;
  }

  .page .hero-title {
    font-size: clamp(29px, 10vw, 38px);
  }

  .page .redeem-card {
    border-radius: 24px;
    padding: 20px 17px;
  }

  .page .card-head {
    padding-bottom: 17px;
  }

  .page .xiaojiu-tour-popover {
    background: rgba(9, 17, 36, 0.93);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .page .redeem-card,
  .page .redeem-card::before,
  .page .topbar,
  .page .language-switcher,
  .page .system-pill,
  .page .hero-chip,
  .page .input-wrap,
  .page textarea,
  .page select,
  .page .xiaojiu-tour-popover,
  .invoice-assistant-fab {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .page .redeem-card,
  .page .redeem-card::before {
    background: #111a32 !important;
  }

  .page .topbar,
  .page .language-switcher,
  .page .system-pill,
  .page .hero-chip,
  .page .input-wrap,
  .page textarea,
  .page select,
  .page .xiaojiu-tour-popover,
  .invoice-assistant-fab {
    background: #0f1830 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page .xiaojiu-tour-popover,
  .page .btn,
  .page .language-switcher button {
    transition: none !important;
  }
}
/* Keep the system-capacity indicator on the same visual surface as the topbar. */
.page .system-pill {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
/* Customer status positioning and parallel-order entry behavior. */
#customer-task-experience {
  --cx9-accent: #77d9ff;
  --cx9-accent-2: #9185ff;
  --cx9-tone: 119, 217, 255;
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 16px;
  margin: 6px 0 18px;
  overflow: hidden;
  border: 1px solid rgba(var(--cx9-tone), .2);
  border-radius: 22px;
  background:
    radial-gradient(42rem 20rem at 98% -12%, rgba(var(--cx9-tone), .13), transparent 62%),
    radial-gradient(32rem 18rem at -8% 110%, rgba(137, 111, 255, .09), transparent 68%),
    linear-gradient(155deg, rgba(17, 27, 51, .97), rgba(8, 15, 31, .96));
  padding: clamp(18px, 2.8vw, 26px);
  color: #f7fbff;
  box-shadow: 0 22px 56px rgba(0, 4, 18, .27), inset 0 1px rgba(255,255,255,.07);
  animation: cx9-enter .3s cubic-bezier(.22,1,.36,1) both;
}

#customer-task-experience::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(112deg, rgba(255,255,255,.035), transparent 36%, transparent 72%, rgba(255,255,255,.02));
  pointer-events: none;
}

#customer-task-experience.cx9-status--success { --cx9-accent: #72e3b1; --cx9-accent-2: #3acb8d; --cx9-tone: 114, 227, 177; }
#customer-task-experience.cx9-status--queued { --cx9-accent: #8bdcff; --cx9-accent-2: #8297ff; --cx9-tone: 131, 211, 255; }
#customer-task-experience.cx9-status--notice { --cx9-accent: #83c7ff; --cx9-accent-2: #7898ff; --cx9-tone: 131, 199, 255; }
#customer-task-experience.cx9-status--review { --cx9-accent: #ffd68a; --cx9-accent-2: #ffad62; --cx9-tone: 255, 207, 128; }
#customer-task-experience.cx9-status--failed { --cx9-accent: #f6a9b5; --cx9-accent-2: #e98296; --cx9-tone: 239, 152, 168; }

.cx9-hero,
.cx9-title,
.cx9-meta,
.cx9-sync,
.cx9-actions,
.cx9-guidance {
  display: flex;
  align-items: center;
}

.cx9-hero { justify-content: space-between; gap: 18px; }
.cx9-title { min-width: 0; gap: 14px; }
.cx9-icon {
  flex: 0 0 auto;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--cx9-tone), .26);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(var(--cx9-tone), .2), rgba(var(--cx9-tone), .06));
  color: var(--cx9-accent);
  box-shadow: inset 0 1px rgba(255,255,255,.1), 0 12px 30px rgba(var(--cx9-tone), .1);
}
.cx9-icon svg { width: 25px; height: 25px; }
.cx9-status--pending .cx9-icon svg { animation: cx9-spin 2.6s linear infinite; }
.cx9-status--queued .cx9-icon { box-shadow: inset 0 1px rgba(255,255,255,.11), 0 0 0 5px rgba(var(--cx9-tone),.035), 0 12px 30px rgba(var(--cx9-tone),.11); }
.cx9-copy { min-width: 0; }
.cx9-eyebrow { margin: 0 0 4px; color: var(--cx9-accent); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.cx9-copy h3 { margin: 0; color: #fbfdff; font-size: clamp(20px, 2.8vw, 26px); line-height: 1.2; letter-spacing: -.025em; }
.cx9-copy > p:last-child { max-width: 680px; margin: 7px 0 0; color: #aebbd0; font-size: 13px; line-height: 1.55; }
.cx9-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(var(--cx9-tone), .24);
  border-radius: 999px;
  background: rgba(var(--cx9-tone), .09);
  padding: 8px 12px;
  color: var(--cx9-accent);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.cx9-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(var(--cx9-tone), .09); }
.cx9-status--pending .cx9-pill::before,
.cx9-status--queued .cx9-pill::before { animation: cx9-pulse 1.8s ease-in-out infinite; }

.cx9-journey {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(3, 9, 23, .27);
  padding: 15px 16px 14px;
  box-shadow: inset 0 1px rgba(255,255,255,.03);
}
.cx9-journey.is-terminal { background: rgba(var(--cx9-tone), .035); }
.cx9-journey-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.cx9-journey-head > div { min-width: 0; display: grid; gap: 4px; }
.cx9-journey-head span { color: #71829e; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.cx9-journey-head strong { overflow: hidden; color: #dce7f7; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.cx9-journey-head > b { color: #f4f8ff; font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cx9-journey-head > b.cx9-terminal-label { color: var(--cx9-accent); font-size: 11px; font-weight: 800; }
.cx9-track { height: 6px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.065); }
.cx9-track > i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cx9-accent), var(--cx9-accent-2)); box-shadow: 0 0 16px rgba(var(--cx9-tone), .35); transition: width .5s cubic-bezier(.22,1,.36,1); }

.cx9-steps { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 8px; }
.cx9-step { position: relative; min-width: 0; display: grid; gap: 6px; color: #60708a; }
.cx9-step:not(:last-child)::after { content: ""; position: absolute; top: 10px; left: 26px; right: -7px; height: 1px; background: rgba(255,255,255,.075); }
.cx9-step-marker { position: relative; z-index: 1; width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; background: #101a30; color: #697791; font-size: 9px; font-weight: 900; }
.cx9-step strong { overflow: hidden; font-size: 10px; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.cx9-step.is-done,
.cx9-step.is-active { color: #cfdced; }
.cx9-step.is-done .cx9-step-marker,
.cx9-step.is-active .cx9-step-marker { border-color: transparent; background: linear-gradient(145deg, var(--cx9-accent), var(--cx9-accent-2)); color: #07101e; box-shadow: 0 0 0 4px rgba(var(--cx9-tone), .07); }
.cx9-step.is-active .cx9-step-marker { animation: cx9-pulse 1.8s ease-in-out infinite; }
.cx9-step.is-done:not(:last-child)::after { background: rgba(var(--cx9-tone), .34); }
.cx9-step.is-stopped { color: #eab2bc; }
.cx9-step.is-stopped .cx9-step-marker { border-color: rgba(var(--cx9-tone), .34); background: rgba(var(--cx9-tone), .1); color: var(--cx9-accent); }
.cx9-step.is-skipped { color: #58667d; }
.cx9-step.is-skipped .cx9-step-marker { border-style: dashed; color: #65748d; }

.cx9-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; }
.cx9-metric { min-width: 0; border: 1px solid rgba(255,255,255,.075); border-radius: 13px; background: rgba(255,255,255,.028); padding: 11px 12px; }
.cx9-metric span { display: block; margin-bottom: 5px; color: #71829e; font-size: 10px; }
.cx9-metric strong { display: block; overflow: hidden; color: #e8f0fb; font-size: 12px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.cx9-metric.is-positive strong { color: #7ee4b7; }

.cx11-card-module {
  position: relative;
  display: grid;
  grid-template-columns: minmax(248px, 360px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(18px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid rgba(var(--cx9-tone), .14);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(var(--cx9-tone), .07), rgba(255,255,255,.025));
  padding: clamp(14px, 2.5vw, 20px);
}
.cx11-card-module::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -90px;
  bottom: -130px;
  border-radius: 50%;
  background: rgba(var(--cx9-tone), .08);
  filter: blur(4px);
  pointer-events: none;
}
.cx11-payment-card {
  position: relative;
  z-index: 1;
  min-height: 188px;
  display: grid;
  align-content: space-between;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.19);
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.2), transparent 28%),
    radial-gradient(circle at 12% 110%, rgba(115,229,255,.22), transparent 41%),
    linear-gradient(140deg, #253769 0%, #192656 42%, #4c3886 100%);
  padding: 18px 19px 17px;
  box-shadow: 0 20px 36px rgba(0,2,18,.3), inset 0 1px rgba(255,255,255,.16);
}
.cx11-payment-card::before {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  right: -72px;
  top: -103px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 25px rgba(255,255,255,.025), 0 0 0 52px rgba(255,255,255,.018);
}
.cx11-card-top,
.cx11-card-brand,
.cx11-card-chip-row,
.cx11-card-bottom,
.cx11-card-meta { display: flex; align-items: center; }
.cx11-card-top { position: relative; z-index: 1; justify-content: space-between; gap: 12px; }
.cx11-card-brand { gap: 8px; color: rgba(255,255,255,.92); }
.cx11-card-brand strong { font-size: 9px; letter-spacing: .13em; }
.cx11-card-brand-mark { width: 21px; height: 21px; border: 1px solid rgba(255,255,255,.3); border-radius: 7px; background: linear-gradient(145deg, rgba(255,255,255,.24), rgba(255,255,255,.07)); box-shadow: inset 0 1px rgba(255,255,255,.2); }
.cx11-card-live { border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(3,8,25,.19); padding: 5px 8px; color: #edf8ff; font-size: 9px; font-weight: 800; }
.cx11-card-chip-row { position: relative; z-index: 1; justify-content: space-between; margin-top: 20px; }
.cx11-card-chip { width: 35px; height: 27px; border-radius: 7px; background: linear-gradient(145deg, #f5dc9c, #c29a4c); box-shadow: inset 0 0 0 1px rgba(91,60,12,.22); }
.cx11-card-chip::before { content: ""; display: block; width: 100%; height: 1px; margin-top: 13px; background: rgba(83,56,12,.24); }
.cx11-card-contactless { transform: rotate(90deg); color: rgba(255,255,255,.78); font: 700 18px/1 monospace; letter-spacing: -6px; }
.cx11-card-number { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: 10px; margin-top: 17px; color: rgba(238,245,255,.7); font-size: clamp(15px, 2.2vw, 19px); font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.cx11-card-number strong { color: #fff; font: inherit; text-shadow: 0 2px 10px rgba(0,0,0,.25); }
.cx11-card-bottom { position: relative; z-index: 1; justify-content: space-between; gap: 16px; margin-top: 17px; }
.cx11-card-bottom > span { min-width: 0; display: grid; gap: 2px; }
.cx11-card-bottom small { color: rgba(224,235,255,.57); font-size: 7px; letter-spacing: .1em; }
.cx11-card-bottom b { overflow: hidden; color: #f8fbff; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.cx11-card-bottom > span:last-child { text-align: right; }
.cx11-card-details { position: relative; z-index: 1; min-width: 0; }
.cx11-card-kicker { margin: 0 0 6px; color: var(--cx9-accent); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.cx11-card-details h4 { margin: 0; color: #f4f8ff; font-size: 17px; }
.cx11-card-description { max-width: 520px; margin: 8px 0 0; color: #91a1b9; font-size: 11px; line-height: 1.6; }
.cx11-card-meta { align-items: stretch; gap: 9px; margin-top: 15px; }
.cx11-card-meta > span { min-width: 0; flex: 1 1 0; display: grid; gap: 5px; border: 1px solid rgba(255,255,255,.075); border-radius: 12px; background: rgba(1,7,20,.22); padding: 10px 11px; }
.cx11-card-meta small { color: #687993; font-size: 9px; }
.cx11-card-meta strong { overflow: hidden; color: #dfe9f8; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.cx11-card-meta > span:last-child strong { color: var(--cx9-accent); }

.cx9-guidance { align-items: flex-start; gap: 11px; border: 1px solid rgba(var(--cx9-tone), .16); border-radius: 14px; background: rgba(var(--cx9-tone), .055); padding: 12px 13px; }
.cx9-guidance-icon { flex: 0 0 auto; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; background: rgba(var(--cx9-tone), .11); color: var(--cx9-accent); font-size: 13px; font-weight: 900; }
.cx9-guidance > div { min-width: 0; }
.cx9-guidance strong { display: block; color: #eef5ff; font-size: 12px; }
.cx9-guidance p { margin: 4px 0 0; color: #99a9c1; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }

.cx9-history { border-top: 1px solid rgba(255,255,255,.07); padding-top: 13px; }
.cx9-history summary { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 12px; color: #8798b3; cursor: pointer; list-style: none; }
.cx9-history summary::-webkit-details-marker { display: none; }
.cx9-history summary > span { color: #9cabc1; font-size: 11px; font-weight: 800; }
.cx9-history summary > span::before { content: "›"; display: inline-block; margin-right: 7px; color: var(--cx9-accent); transition: transform .18s ease; }
.cx9-history[open] summary > span::before { transform: rotate(90deg); }
.cx9-history summary em { overflow: hidden; color: #647590; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.cx9-history ol { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.cx9-history li { display: grid; grid-template-columns: 7px minmax(0,1fr) auto; align-items: start; gap: 9px; color: #aebbd0; font-size: 11px; line-height: 1.45; }
.cx9-history li > i { width: 6px; height: 6px; margin-top: 5px; border-radius: 50%; background: var(--cx9-accent); box-shadow: 0 0 0 3px rgba(var(--cx9-tone), .065); }
.cx9-history time { color: #596a84; font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }

.cx9-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 11px; border-top: 1px solid rgba(255,255,255,.07); padding-top: 13px; }
.cx9-meta { min-width: 0; flex-wrap: wrap; gap: 7px 13px; color: #687993; font-size: 10px; }
.cx9-meta code { max-width: min(100%,300px); overflow: hidden; color: #8495af; font: inherit; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.cx9-sync { gap: 7px; }
.cx9-sync > i { width: 6px; height: 6px; border-radius: 50%; background: var(--cx9-accent); box-shadow: 0 0 0 3px rgba(var(--cx9-tone), .07); }
.cx9-status--pending .cx9-sync > i,
.cx9-status--queued .cx9-sync > i,
.cx9-status--review .cx9-sync > i { animation: cx9-pulse 1.8s ease-in-out infinite; }
.cx9-actions { flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.cx9-button { min-height: 34px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.045); padding: 0 11px; color: #b9c7d9; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.cx9-button:hover { transform: translateY(-1px); border-color: rgba(var(--cx9-tone), .28); background: rgba(var(--cx9-tone), .075); color: #fff; }
.cx9-button.primary { border-color: transparent; background: linear-gradient(135deg, var(--cx9-accent), var(--cx9-accent-2)); color: #07101e; }
.cx13-next-order { min-width: 112px; box-shadow: 0 8px 22px rgba(var(--cx9-tone), .14); }

/* The enhancer marks only the original result widgets after the result heading. */
.redeem-card .cx12-native-result { display: none !important; }
.page .status-panel.failed { border-color: rgba(239,152,168,.18); border-radius: 15px; background: rgba(239,152,168,.06); padding: 14px 15px; }

@keyframes cx9-enter { from { opacity: 0; transform: translateY(7px) scale(.997); } to { opacity: 1; transform: none; } }
@keyframes cx9-spin { to { transform: rotate(360deg); } }
@keyframes cx9-pulse { 0%,100% { opacity: .5; transform: scale(.9); } 50% { opacity: 1; transform: scale(1); } }

@media (max-width: 760px) {
  #customer-task-experience { border-radius: 19px; padding: 16px; }
  .cx9-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cx9-steps { grid-template-columns: repeat(5, minmax(58px,1fr)); overflow-x: auto; padding: 2px 1px 5px; scrollbar-width: thin; }
  .cx9-step { min-width: 58px; }
  .cx9-footer { align-items: stretch; }
  .cx9-meta, .cx9-actions { width: 100%; }
  .cx9-actions { justify-content: stretch; }
  .cx9-button { flex: 1 1 130px; }
  .cx11-card-module { grid-template-columns: minmax(0,1fr); }
  .cx11-payment-card { width: min(100%, 390px); justify-self: center; }
}

@media (max-width: 480px) {
  .cx9-hero { display: block; }
  .cx9-title { align-items: flex-start; }
  .cx9-icon { width: 44px; height: 44px; border-radius: 14px; }
  .cx9-copy h3 { font-size: 19px; }
  .cx9-copy > p:last-child { font-size: 12px; }
  .cx9-pill { width: max-content; max-width: calc(100% - 58px); margin: 12px 0 0 58px; }
  .cx9-journey-head { align-items: flex-start; }
  .cx9-journey-head strong { white-space: normal; }
  .cx9-grid { grid-template-columns: 1fr; }
  .cx9-history summary { grid-template-columns: 1fr; gap: 5px; }
  .cx9-history summary em { padding-left: 17px; }
  .cx9-history li { grid-template-columns: 7px minmax(0,1fr); }
  .cx9-history time { display: none; }
  .cx11-card-module { padding: 11px; }
  .cx11-payment-card { min-height: 170px; padding: 15px; border-radius: 16px; }
  .cx11-card-number { gap: 5px; font-size: 14px; }
  .cx11-card-meta { display: grid; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  #customer-task-experience,
  .cx9-status--pending .cx9-icon svg,
  .cx9-status--pending .cx9-pill::before,
  .cx9-status--queued .cx9-pill::before,
  .cx9-status--pending .cx9-sync > i,
  .cx9-status--queued .cx9-sync > i,
  .cx9-status--review .cx9-sync > i,
  .cx9-step.is-active .cx9-step-marker { animation: none; }
  .cx9-track > i,
  .cx9-button,
  .cx9-history summary > span::before { transition: none; }
}
/*
 * AiCloudPlus × AI Recharge prototype
 * Target-only presentation layer. The recharge app bundle remains unchanged.
 */

:root {
  color-scheme: dark;
  --aicloudplus-ink: #08080c;
  --aicloudplus-ink-soft: #101017;
  --aicloudplus-panel: rgba(18, 18, 25, 0.72);
  --aicloudplus-panel-strong: rgba(12, 12, 18, 0.91);
  --aicloudplus-gold: #d9c47c;
  --aicloudplus-gold-bright: #f3dfa0;
  --aicloudplus-gold-dim: rgba(217, 196, 124, 0.18);
  --aicloudplus-cream: #f2eee5;
  --aicloudplus-muted: #aaa7a0;

  --bg-page: var(--aicloudplus-ink);
  --bg-card: var(--aicloudplus-panel);
  --bg-elevated: rgba(30, 29, 34, 0.96);
  --bg-subtle: rgba(255, 255, 255, 0.055);
  --text: var(--aicloudplus-cream);
  --text-muted: #aaa8a2;
  --text-faint: #74736f;
  --line: rgba(243, 223, 160, 0.17);
  --line-strong: rgba(243, 223, 160, 0.34);
  --border: rgba(243, 223, 160, 0.16);
  --muted-border: rgba(255, 255, 255, 0.075);
  --accent: var(--aicloudplus-gold);
  --accent-hover: var(--aicloudplus-gold-bright);
  --accent-soft: rgba(217, 196, 124, 0.14);
  --blue: var(--aicloudplus-gold);
  --blue-dark: var(--aicloudplus-gold-bright);
  --blue-soft: rgba(217, 196, 124, 0.12);
  --grad: linear-gradient(128deg, #fff8df 0%, #dbc57b 48%, #9d8950 100%);
  --green: #7bd3a3;
  --green-soft: rgba(70, 184, 121, 0.13);
  --amber: #eccf76;
  --amber-soft: rgba(236, 207, 118, 0.13);
  --red: #ff8b91;
  --red-soft: rgba(255, 86, 96, 0.12);
  --glass-border: rgba(243, 223, 160, 0.18);
  --glass-bg: rgba(19, 19, 25, 0.58);
  --blur-glass: blur(22px) saturate(128%);
  --shadow: 0 26px 90px rgba(0, 0, 0, 0.48);
  --shadow-lg: 0 26px 90px rgba(0, 0, 0, 0.48);
  --shadow-glow: 0 0 0 1px rgba(243, 223, 160, 0.18),
    0 18px 50px rgba(158, 133, 67, 0.2);
  font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei",
    ui-sans-serif, system-ui, sans-serif;
}

html {
  background: var(--aicloudplus-ink);
}

body {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 50% -15%, rgba(228, 207, 134, 0.08), transparent 30rem),
    var(--aicloudplus-ink);
}

body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  content: "";
  pointer-events: none;
  opacity: 0.72;
  background-image:
    radial-gradient(circle at 8% 17%, rgba(255,255,255,.74) 0 1px, transparent 1.4px),
    radial-gradient(circle at 18% 72%, rgba(217,196,124,.62) 0 1px, transparent 1.4px),
    radial-gradient(circle at 31% 34%, rgba(255,255,255,.48) 0 .8px, transparent 1.2px),
    radial-gradient(circle at 46% 84%, rgba(217,196,124,.54) 0 1px, transparent 1.4px),
    radial-gradient(circle at 63% 19%, rgba(255,255,255,.62) 0 1px, transparent 1.5px),
    radial-gradient(circle at 76% 66%, rgba(217,196,124,.58) 0 1px, transparent 1.5px),
    radial-gradient(circle at 91% 29%, rgba(255,255,255,.52) 0 .9px, transparent 1.3px);
  background-size: 340px 340px, 430px 430px, 280px 280px, 390px 390px,
    320px 320px, 470px 470px, 360px 360px;
}

::selection {
  color: #09090d;
  background: var(--aicloudplus-gold-bright);
}

.page {
  position: relative;
  isolation: isolate;
  --bg-page: var(--aicloudplus-ink);
  --bg-card: var(--aicloudplus-panel);
  --bg-elevated: rgba(30, 29, 34, 0.96);
  --bg-subtle: rgba(255, 255, 255, 0.055);
  --text: var(--aicloudplus-cream);
  --text-muted: #aaa8a2;
  --text-faint: #74736f;
  --line: rgba(243, 223, 160, 0.17);
  --line-strong: rgba(243, 223, 160, 0.34);
  --border: rgba(243, 223, 160, 0.16);
  --muted-border: rgba(255, 255, 255, 0.075);
  --accent: var(--aicloudplus-gold);
  --accent-hover: var(--aicloudplus-gold-bright);
  --accent-soft: rgba(217, 196, 124, 0.14);
  --blue: var(--aicloudplus-gold);
  --blue-dark: var(--aicloudplus-gold-bright);
  --blue-soft: rgba(217, 196, 124, 0.12);
  --grad: linear-gradient(128deg, #fff8df 0%, #dbc57b 48%, #9d8950 100%);
  --glass-border: rgba(243, 223, 160, 0.18);
  --glass-bg: rgba(19, 19, 25, 0.58);
  background:
    radial-gradient(900px 500px at 50% -12%, rgba(224, 198, 112, 0.105), transparent 64%),
    radial-gradient(800px 440px at 100% 58%, rgba(120, 101, 47, 0.09), transparent 70%),
    linear-gradient(180deg, rgba(8, 8, 12, 0.08), #08080c 78%);
}

.page::before,
.page::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(217, 196, 124, 0.12);
  border-radius: 50%;
}

.page::before {
  top: 126px;
  left: -170px;
  width: 360px;
  height: 360px;
}

.page::after {
  right: -270px;
  bottom: 36px;
  width: 560px;
  height: 560px;
}

.topbar {
  height: 72px;
  padding: 0 clamp(20px, 5vw, 72px);
  border-bottom: 1px solid rgba(243, 223, 160, 0.1);
  background: rgba(8, 8, 12, 0.72);
  color: var(--aicloudplus-cream);
  -webkit-backdrop-filter: blur(24px) saturate(130%);
  backdrop-filter: blur(24px) saturate(130%);
}

.brand {
  gap: 12px;
  font-family: "Avenir Next", Avenir, Inter, sans-serif;
  font-size: 17px;
  font-weight: 650;
  font-style: italic;
  letter-spacing: -0.035em;
}

.brand-mark {
  width: 31px;
  height: 31px;
  border: 1px solid rgba(243, 223, 160, 0.62);
  border-radius: 50%;
  background:
    linear-gradient(135deg, rgba(255,255,255,.12), transparent 48%),
    #121218;
  color: var(--aicloudplus-gold-bright);
  box-shadow: inset 0 0 18px rgba(217, 196, 124, 0.1);
}

.brand-mark svg {
  width: 16px;
  height: 16px;
}

.language-switcher,
.system-pill {
  border-color: rgba(243, 223, 160, 0.13);
  background: rgba(20, 20, 27, 0.62);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.language-switcher {
  border-radius: 999px;
  padding: 3px;
}

.language-switcher button {
  color: #8d8b85;
  border-radius: 999px;
}

.language-switcher button:hover {
  color: var(--aicloudplus-cream);
  background: rgba(255, 255, 255, 0.05);
}

.language-switcher button.active {
  color: #111015;
  background: linear-gradient(135deg, var(--aicloudplus-gold-bright), var(--aicloudplus-gold));
  box-shadow: 0 5px 18px rgba(180, 153, 78, 0.2);
}

.system-pill {
  color: var(--text-muted);
}

.system-pill .dot {
  background: #78cf9f;
  box-shadow: 0 0 0 4px rgba(120, 207, 159, 0.1), 0 0 15px rgba(120, 207, 159, 0.45);
}

.main {
  padding: clamp(58px, 8vh, 92px) 20px 74px;
}

.hero {
  position: relative;
  width: min(1080px, 100%);
  gap: 16px;
  margin-bottom: clamp(36px, 5vw, 58px);
}

.hero::before {
  content: "AICLOUDPLUS  ·  AI MEMBERSHIP";
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 3px;
  color: var(--aicloudplus-gold);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.24em;
}

.hero::after {
  content: "";
  position: absolute;
  top: 10px;
  left: calc(50% - 250px);
  width: 500px;
  height: 1px;
  opacity: 0.34;
  background: linear-gradient(90deg, transparent, var(--aicloudplus-gold), transparent);
  transform: translateY(-22px);
}

.hero-title {
  max-width: 940px;
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
  font-size: clamp(44px, 6.4vw, 78px);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.055em;
  background: linear-gradient(118deg, #fffdf6 15%, #e8dbb5 52%, #b8a05e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 12px 46px rgba(0, 0, 0, 0.34);
}

.hero-subtitle {
  max-width: 660px;
  color: #aaa7a0;
  font-size: clamp(14px, 1.4vw, 16px);
  line-height: 1.8;
}

.hero-chips {
  margin-top: 6px;
  gap: 8px;
}

.hero-chip {
  border-color: rgba(243, 223, 160, 0.13);
  background: rgba(255, 255, 255, 0.025);
  color: #aaa7a0;
  padding: 7px 15px;
  font-size: 12px;
  letter-spacing: 0.02em;
}

.hero-chip svg {
  color: var(--aicloudplus-gold);
}

.redeem-card {
  position: relative;
  width: min(1040px, 100%);
  overflow: visible;
  border: 1px solid rgba(243, 223, 160, 0.23);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 34%),
    linear-gradient(160deg, rgba(21, 21, 28, 0.78), rgba(11, 11, 16, 0.7));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 34px 100px rgba(0, 0, 0, 0.52),
    0 0 70px rgba(150, 124, 52, 0.06);
  padding: clamp(26px, 4.2vw, 48px);
  -webkit-backdrop-filter: blur(28px) saturate(130%);
  backdrop-filter: blur(28px) saturate(130%);
}

.redeem-card::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  content: "";
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(440px 230px at 84% 0%, rgba(234, 210, 137, 0.12), transparent 72%),
    radial-gradient(330px 180px at 0% 100%, rgba(234, 210, 137, 0.07), transparent 75%);
  filter: blur(0.2px);
}

.redeem-card::after {
  position: absolute;
  top: 29px;
  left: auto;
  right: 32px;
  z-index: -1;
  width: min(38%, 330px);
  height: 118px;
  content: "MEMBERSHIP · 2026";
  pointer-events: none;
  border-top: 1px solid rgba(243, 223, 160, 0.11);
  border-bottom: 1px solid rgba(243, 223, 160, 0.07);
  background: none;
  box-shadow: none;
  color: rgba(243, 223, 160, 0.08);
  font-family: "Avenir Next", Inter, sans-serif;
  font-size: 10px;
  letter-spacing: 0.26em;
  line-height: 118px;
  text-align: right;
}

.card-head {
  margin-bottom: 28px;
}

.step-kicker {
  color: var(--aicloudplus-gold);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.card-head h1 {
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
  font-size: clamp(29px, 3vw, 37px);
  font-weight: 600;
  letter-spacing: -0.03em;
}

.status-badge {
  border-color: rgba(243, 223, 160, 0.17);
  background: rgba(255, 255, 255, 0.035);
  color: #aaa7a0;
  letter-spacing: 0.03em;
}

.status-badge.pending {
  border-color: rgba(236, 207, 118, 0.3);
  background: var(--amber-soft);
  color: var(--amber);
}

.verify-row,
.guofen-verify-row {
  gap: 12px;
}

.input-wrap {
  min-height: 56px;
  height: 56px;
  border-color: rgba(243, 223, 160, 0.16);
  border-radius: 14px;
  background: rgba(5, 5, 9, 0.46);
  color: #7e7b74;
  box-shadow: inset 0 1px 12px rgba(0, 0, 0, 0.16);
}

.input-wrap:hover {
  border-color: rgba(243, 223, 160, 0.28);
}

.input-wrap:focus-within,
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--aicloudplus-gold);
  box-shadow: 0 0 0 3px rgba(217, 196, 124, 0.1), 0 12px 32px rgba(0, 0, 0, 0.24);
}

.input-wrap input {
  color: var(--aicloudplus-cream);
  letter-spacing: 0.02em;
}

.btn {
  min-height: 56px;
  border-color: rgba(243, 223, 160, 0.17);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--aicloudplus-cream);
}

.btn:hover:not(:disabled) {
  border-color: rgba(243, 223, 160, 0.42);
  transform: translateY(-2px);
}

.btn.primary {
  border-color: rgba(255, 246, 209, 0.5);
  background: linear-gradient(125deg, #f4e5ae 0%, #d5bb69 58%, #aa8e46 100%);
  color: #111015;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.52),
    0 14px 34px rgba(160, 132, 55, 0.2);
}

.btn.primary:hover:not(:disabled) {
  border-color: #fff1bd;
  background: linear-gradient(125deg, #fff0bd 0%, #dec77c 58%, #b5984f 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.58),
    0 18px 40px rgba(160, 132, 55, 0.26);
}

.btn.secondary {
  background: rgba(9, 9, 14, 0.4);
}

.link-button,
.xiaojiu-faq-toggle {
  color: var(--aicloudplus-gold);
}

.batch-panel,
.faq-panel,
.subscription-form,
.subscription-result,
.result-card,
.admin-card,
.invoice-assistant-panel {
  border-color: rgba(243, 223, 160, 0.14) !important;
  background: rgba(11, 11, 17, 0.68) !important;
  box-shadow: none;
}

.batch-message.neutral {
  color: #8b8983;
}

.footer {
  padding-bottom: 40px;
  color: #5f5e5a;
  letter-spacing: 0.015em;
}

.footer-sep {
  color: rgba(217, 196, 124, 0.48);
}

.invoice-assistant-fab {
  border: 1px solid rgba(243, 223, 160, 0.28);
  background: linear-gradient(135deg, #1c1b20, #0c0c11);
  color: var(--aicloudplus-gold-bright);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.46);
}

.invoice-assistant-fab:hover {
  border-color: rgba(243, 223, 160, 0.52);
}

/* New-user guide: fixed from first frame to prevent center-to-target jumping. */
.xiaojiu-tour {
  color: var(--aicloudplus-cream);
}

.xiaojiu-tour-stage {
  border-color: var(--aicloudplus-gold-bright);
  box-shadow:
    0 0 0 4px rgba(217, 196, 124, 0.15),
    0 0 34px rgba(217, 196, 124, 0.18);
  transition: none;
}

.xiaojiu-tour-popover {
  border-color: rgba(243, 223, 160, 0.28);
  background:
    linear-gradient(145deg, rgba(35, 34, 38, 0.98), rgba(12, 12, 17, 0.98));
  color: var(--aicloudplus-cream);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.64);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
}

.xiaojiu-tour-popover p {
  color: #aaa7a0;
}

.xiaojiu-tour-progress {
  background: rgba(217, 196, 124, 0.13);
  color: var(--aicloudplus-gold-bright);
}

.xiaojiu-tour-popover button {
  border-color: rgba(243, 223, 160, 0.2);
  background: rgba(255, 255, 255, 0.04);
  color: var(--aicloudplus-cream);
}

.xiaojiu-tour-popover button:last-child {
  background: linear-gradient(125deg, #f2e2aa, #cfb362);
  color: #111015;
}

@media (max-width: 820px) {
  .topbar {
    height: auto;
    min-height: 66px;
    padding: 10px 16px;
  }

  .topbar-actions {
    gap: 7px;
  }

  .system-pill {
    display: none;
  }

  .language-switcher svg {
    display: none;
  }

  .main {
    padding: 46px 14px 56px;
  }

  .hero {
    gap: 13px;
    margin-bottom: 32px;
  }

  .hero::after {
    left: 10%;
    width: 80%;
  }

  .hero-title {
    font-size: clamp(38px, 12vw, 58px);
    line-height: 1.08;
  }

  .hero-subtitle {
    max-width: 92%;
    line-height: 1.65;
  }

  .redeem-card {
    border-radius: 22px;
    padding: 24px 18px;
  }

  .redeem-card::after {
    display: none;
  }
}

@media (max-width: 560px) {
  .brand {
    font-size: 14px;
  }

  .brand-mark {
    width: 28px;
    height: 28px;
  }

  .language-switcher {
    gap: 1px;
  }

  .language-switcher button {
    min-width: 27px;
    padding: 0 4px;
    font-size: 10px;
  }

  .hero::before {
    font-size: 9px;
    letter-spacing: 0.18em;
  }

  .hero-title {
    font-size: clamp(38px, 13vw, 52px);
  }

  .hero-chips {
    gap: 6px;
  }

  .hero-chip {
    padding: 6px 10px;
    font-size: 11px;
  }

  .card-head {
    align-items: center;
  }

  .card-head h1 {
    font-size: 28px;
  }

  .status-badge {
    min-width: auto;
    padding: 6px 11px;
  }

  .verify-row,
  .guofen-verify-row {
    grid-template-columns: 1fr;
  }

  .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/*
 * The source app ships a high-specificity glass skin. These target-scoped
 * rules deliberately outrank it so no blue/purple accents leak into AiCloudPlus.
 */
.page .topbar {
  border-bottom-color: rgba(243, 223, 160, 0.1);
  background: rgba(8, 8, 12, 0.72);
  box-shadow: none;
}

.page .main {
  padding: clamp(58px, 8vh, 92px) 20px 74px;
}

.page .hero {
  width: min(1080px, 100%);
  margin-bottom: clamp(36px, 5vw, 58px);
}

.page .hero-title {
  background: linear-gradient(118deg, #fffdf6 15%, #e8dbb5 52%, #b8a05e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 12px 46px rgba(0, 0, 0, 0.34);
}

.page .hero-chip {
  border-color: rgba(243, 223, 160, 0.13);
  background: rgba(255, 255, 255, 0.025);
  color: #aaa7a0;
  box-shadow: none;
}

.page .hero-chip svg {
  color: var(--aicloudplus-gold);
  filter: none;
}

.page .redeem-card {
  border-color: rgba(243, 223, 160, 0.23);
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 34%),
    linear-gradient(160deg, rgba(21, 21, 28, 0.78), rgba(11, 11, 16, 0.7));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 34px 100px rgba(0, 0, 0, 0.52),
    0 0 70px rgba(150, 124, 52, 0.06);
}

.page .redeem-card::before {
  inset: -1px;
  z-index: -1;
  background:
    radial-gradient(440px 230px at 84% 0%, rgba(234, 210, 137, 0.12), transparent 72%),
    radial-gradient(330px 180px at 0% 100%, rgba(234, 210, 137, 0.07), transparent 75%);
  -webkit-backdrop-filter: blur(28px) saturate(130%);
  backdrop-filter: blur(28px) saturate(130%);
}

.page .card-head {
  border-bottom-color: rgba(243, 223, 160, 0.1);
}

.page .input-wrap {
  border-color: rgba(243, 223, 160, 0.16);
  background: rgba(5, 5, 9, 0.46);
  color: #7e7b74;
  box-shadow: inset 0 1px 12px rgba(0, 0, 0, 0.16);
}

.page .input-wrap:focus-within {
  border-color: var(--aicloudplus-gold);
  box-shadow: 0 0 0 3px rgba(217, 196, 124, 0.1), 0 12px 32px rgba(0, 0, 0, 0.24);
}

.page input::placeholder,
.page textarea::placeholder {
  color: #74736f;
}

.page .btn {
  min-height: 56px;
  border-color: rgba(243, 223, 160, 0.17);
  border-radius: 14px;
}

.page .btn.primary {
  border-color: rgba(255, 246, 209, 0.5);
  background: linear-gradient(125deg, #f4e5ae 0%, #d5bb69 58%, #aa8e46 100%);
  color: #111015;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.52),
    0 14px 34px rgba(160, 132, 55, 0.2);
}

.page .btn.primary:hover:not(:disabled) {
  border-color: #fff1bd;
  background: linear-gradient(125deg, #fff0bd 0%, #dec77c 58%, #b5984f 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.58),
    0 18px 40px rgba(160, 132, 55, 0.26);
}

.page .btn.secondary:not(.xiaojiu-renewal-action) {
  border-color: rgba(243, 223, 160, 0.17);
  background: rgba(9, 9, 14, 0.4);
  color: var(--aicloudplus-cream);
  box-shadow: none;
}

.page .btn.secondary:not(.xiaojiu-renewal-action):hover:not(:disabled) {
  border-color: rgba(243, 223, 160, 0.42);
  background: rgba(217, 196, 124, 0.07);
}

.page .link-button,
.page .xiaojiu-faq-toggle {
  color: var(--aicloudplus-gold);
}

.page .link-button:hover,
.page .xiaojiu-faq-toggle:hover {
  color: var(--aicloudplus-gold-bright);
}

.page .xiaojiu-tour-stage {
  border-color: var(--aicloudplus-gold-bright);
  box-shadow: 0 0 0 4px rgba(217, 196, 124, 0.15), 0 0 34px rgba(217, 196, 124, 0.18);
  transition: none;
}

.page .xiaojiu-tour-popover {
  border-color: rgba(243, 223, 160, 0.28);
  background: linear-gradient(145deg, rgba(35, 34, 38, 0.98), rgba(12, 12, 17, 0.98));
  color: var(--aicloudplus-cream);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.64);
}

.page .xiaojiu-tour-progress {
  background: rgba(217, 196, 124, 0.13);
  color: var(--aicloudplus-gold-bright);
}
/*
 * Non-flow floating AiCloudPlus card.
 * It is attached to .page, outside .main, so hero and redeem layout stay intact.
 */

.aicloudplus-floating-card-dock {
  --float-rx: 0deg;
  --float-ry: 0deg;
  --float-mx: 50%;
  --float-my: 50%;
  position: absolute;
  z-index: 14;
  top: clamp(108px, 13vh, 142px);
  right: -58px;
  width: clamp(220px, 23vw, 300px);
  perspective: 1000px;
  transition: right 420ms cubic-bezier(.22, 1, .36, 1);
}

.aicloudplus-floating-card-dock:hover,
.aicloudplus-floating-card-dock:focus-within {
  right: clamp(14px, 2.4vw, 34px);
}

.aicloudplus-floating-card-shell {
  position: relative;
  width: 100%;
  animation: aicloudplus-floating-breathe 5.6s ease-in-out infinite;
}

.aicloudplus-floating-card {
  position: relative;
  width: 100%;
  aspect-ratio: 1.586 / 1;
  overflow: hidden;
  border: 1px solid rgba(255, 239, 184, 0.53);
  border-radius: clamp(18px, 2.4vw, 25px);
  outline: none;
  background:
    linear-gradient(120deg, rgba(255,255,255,.14), transparent 30%),
    radial-gradient(circle at 82% 12%, rgba(255,221,117,.22), transparent 30%),
    linear-gradient(140deg, #292620 0%, #111116 49%, #07070a 100%);
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.52),
    0 9px 30px rgba(142, 110, 30, 0.17),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transform:
    rotateZ(-4deg)
    rotateX(var(--float-rx))
    rotateY(var(--float-ry))
    translateZ(0);
  transform-style: preserve-3d;
  transition:
    transform 150ms cubic-bezier(.2, .8, .2, 1),
    border-color 220ms ease,
    box-shadow 220ms ease;
  will-change: transform;
}

.aicloudplus-floating-card:hover,
.aicloudplus-floating-card:focus-visible {
  border-color: rgba(255, 242, 194, 0.82);
  box-shadow:
    0 38px 86px rgba(0, 0, 0, 0.58),
    0 14px 42px rgba(157, 123, 34, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.aicloudplus-floating-card-light,
.aicloudplus-floating-card-grid,
.aicloudplus-floating-card-orbit,
.aicloudplus-floating-card-noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.aicloudplus-floating-card-light {
  z-index: 3;
  opacity: 0.85;
  background:
    radial-gradient(
      190px circle at var(--float-mx) var(--float-my),
      rgba(255, 244, 201, 0.3),
      rgba(213, 179, 76, 0.08) 42%,
      transparent 70%
    );
  mix-blend-mode: screen;
}

.aicloudplus-floating-card-grid {
  z-index: 1;
  left: 47%;
  opacity: 0.23;
  background:
    linear-gradient(rgba(231,204,125,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231,204,125,.16) 1px, transparent 1px);
  background-size: 18px 18px;
  mask-image: linear-gradient(90deg, transparent, #000);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000);
  transform: skewX(-11deg) scale(1.25);
}

.aicloudplus-floating-card-noise {
  z-index: 1;
  opacity: 0.22;
  background-image:
    repeating-radial-gradient(circle at 18% 36%, transparent 0 2px, rgba(255,255,255,.05) 2.5px 3px);
  background-size: 7px 7px;
  mix-blend-mode: soft-light;
}

.aicloudplus-floating-card-orbit {
  z-index: 2;
  top: -46%;
  left: 58%;
  width: 65%;
  height: 118%;
  border: 1px solid rgba(238, 214, 142, 0.22);
  border-radius: 50%;
  box-shadow:
    0 0 0 18px rgba(238, 214, 142, 0.022),
    0 0 0 39px rgba(238, 214, 142, 0.016);
  transform: rotate(23deg);
}

.aicloudplus-floating-card-orbit::before {
  position: absolute;
  top: 48%;
  left: -4px;
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: #f3dfa0;
  box-shadow: 0 0 16px rgba(243, 223, 160, 0.85);
  animation: aicloudplus-floating-signal 2.4s ease-in-out infinite;
}

.aicloudplus-floating-card-content {
  position: relative;
  z-index: 5;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(16px, 2.8vw, 25px);
  transform: translateZ(24px);
}

.aicloudplus-floating-card-top,
.aicloudplus-floating-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.aicloudplus-floating-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff8df;
  font-family: "Avenir Next", Avenir, Inter, sans-serif;
  font-size: clamp(11px, 1.4vw, 15px);
  font-weight: 650;
  font-style: italic;
}

.aicloudplus-floating-brand-mark {
  width: clamp(22px, 2.9vw, 28px);
  height: clamp(22px, 2.9vw, 28px);
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 239, 184, 0.58);
  border-radius: 50%;
  color: #f3dfa0;
  font-size: 11px;
  font-style: normal;
}

.aicloudplus-floating-live {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: rgba(242, 238, 229, 0.62);
  font-size: clamp(6px, .75vw, 8px);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.aicloudplus-floating-live::before {
  width: 5px;
  height: 5px;
  content: "";
  border-radius: 50%;
  background: #7bd3a3;
  box-shadow: 0 0 10px rgba(123, 211, 163, 0.72);
}

.aicloudplus-floating-chip {
  position: relative;
  width: clamp(31px, 4vw, 43px);
  aspect-ratio: 1.28;
  overflow: hidden;
  border: 1px solid rgba(255, 245, 207, 0.55);
  border-radius: 7px;
  background:
    linear-gradient(90deg, transparent 46%, rgba(79,61,16,.34) 47% 53%, transparent 54%),
    linear-gradient(transparent 46%, rgba(79,61,16,.34) 47% 53%, transparent 54%),
    linear-gradient(135deg, #f4e4a9, #b99b49);
}

.aicloudplus-floating-chip::before {
  position: absolute;
  inset: 22% 24%;
  content: "";
  border: 1px solid rgba(78, 58, 12, 0.42);
  border-radius: 3px;
}

.aicloudplus-floating-center {
  display: grid;
  gap: 5px;
  margin: auto 0;
  padding-top: 4%;
}

.aicloudplus-floating-center span {
  color: #d9c47c;
  font-size: clamp(6px, .75vw, 8px);
  font-weight: 700;
  letter-spacing: 0.22em;
}

.aicloudplus-floating-center strong {
  color: #fffaf0;
  font-family: "Songti SC", "STSong", Georgia, serif;
  font-size: clamp(15px, 2vw, 23px);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.aicloudplus-floating-meta {
  display: grid;
  gap: 3px;
}

.aicloudplus-floating-meta:last-child {
  text-align: right;
}

.aicloudplus-floating-card-bottom small {
  color: rgba(242, 238, 229, 0.43);
  font-size: clamp(5px, .6vw, 7px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.aicloudplus-floating-card-bottom strong {
  color: rgba(255, 250, 240, 0.86);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: clamp(7px, .9vw, 10px);
  font-weight: 500;
  letter-spacing: 0.08em;
}

.aicloudplus-floating-tab {
  position: absolute;
  right: 100%;
  top: 50%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-right: 9px;
  color: rgba(217, 196, 124, 0.58);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: right center;
}

.aicloudplus-floating-tab::before {
  width: 16px;
  height: 1px;
  content: "";
  background: rgba(217, 196, 124, 0.44);
}

@keyframes aicloudplus-floating-breathe {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -7px, 0);
  }
}

@keyframes aicloudplus-floating-signal {
  0%,
  100% {
    opacity: 0.5;
    transform: scale(.82);
  }
  50% {
    opacity: 1;
    transform: scale(1.15);
  }
}

@media (max-width: 1000px) {
  .aicloudplus-floating-card-dock {
    top: 112px;
    right: -70px;
    width: 220px;
  }

  .aicloudplus-floating-card-dock:hover,
  .aicloudplus-floating-card-dock:focus-within {
    right: 14px;
  }

  .aicloudplus-floating-tab {
    display: none;
  }
}

@media (max-width: 720px) {
  .aicloudplus-floating-card-dock {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aicloudplus-floating-card-shell,
  .aicloudplus-floating-card-orbit::before {
    animation: none;
  }

  .aicloudplus-floating-card {
    transform: rotateZ(-4deg);
    transition: border-color 120ms ease;
  }
}


/* Shared card branding and ambient motion presentation. */
.page .brand-mark {
  flex: 0 0 clamp(30px, 3.2vw, 36px);
  width: clamp(30px, 3.2vw, 36px);
  height: clamp(30px, 3.2vw, 36px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page .brand-mark .aicloudplus-site-logo,
.aicloudplus-floating-brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 5px 10px rgba(214, 169, 59, .28));
}

.aicloudplus-floating-brand-mark {
  width: clamp(25px, 3.2vw, 32px);
  height: clamp(25px, 3.2vw, 32px);
  border: 0;
  border-radius: 0;
}

.aicloudplus-floating-card-dock {
  top: clamp(72px, 10vh, 112px);
  right: -44px;
  width: clamp(190px, 18vw, 270px);
}

.aicloudplus-floating-card-dock:hover,
.aicloudplus-floating-card-dock:focus-within {
  right: clamp(12px, 2vw, 28px);
}

.aicloudplus-floating-center {
  gap: 8px;
  padding-top: 0;
}

.aicloudplus-floating-card::after {
  position: absolute;
  z-index: 4;
  inset: -35% -70%;
  content: "";
  pointer-events: none;
  background: linear-gradient(110deg, transparent 38%, rgba(255, 247, 216, .42) 49%, rgba(255, 255, 255, .13) 53%, transparent 64%);
  transform: translateX(-42%) rotate(8deg);
  mix-blend-mode: screen;
  animation: aicloudplus-card-shimmer 4.8s cubic-bezier(.4, 0, .2, 1) infinite;
}

.aicloudplus-floating-card-grid {
  animation: aicloudplus-card-grid-drift 7s linear infinite;
}

.aicloudplus-floating-card-orbit {
  transform-origin: 50% 50%;
  animation: aicloudplus-card-orbit 11s linear infinite;
}

.aicloudplus-floating-card-noise {
  animation: aicloudplus-card-noise 3.8s ease-in-out infinite;
}

@keyframes aicloudplus-card-shimmer {
  0%, 16% { opacity: 0; transform: translateX(-48%) rotate(8deg); }
  28% { opacity: .9; }
  48% { opacity: 0; transform: translateX(48%) rotate(8deg); }
  100% { opacity: 0; transform: translateX(48%) rotate(8deg); }
}

@keyframes aicloudplus-card-grid-drift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 36px 18px, 18px 36px; }
}

@keyframes aicloudplus-card-orbit {
  from { transform: rotate(23deg); }
  to { transform: rotate(383deg); }
}

@keyframes aicloudplus-card-noise {
  0%, 100% { opacity: .14; }
  50% { opacity: .28; }
}

@media (max-width: 1000px) {
  .aicloudplus-floating-card-dock {
    top: 76px;
    right: -52px;
    width: 190px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aicloudplus-floating-card::after,
  .aicloudplus-floating-card-grid,
  .aicloudplus-floating-card-orbit,
  .aicloudplus-floating-card-noise {
    animation: none;
  }
}

/* Staged entrance for the ambient circles and floating membership card. */
.page::before,
.page::after {
  translate: 0 0;
  scale: 1;
  clip-path: circle(72% at 50% 50%);
}

.page::before {
  transition:
    translate 1080ms cubic-bezier(.16, 1, .3, 1),
    scale 1080ms cubic-bezier(.16, 1, .3, 1),
    clip-path 920ms cubic-bezier(.22, .78, .22, 1);
}

.page::after {
  transition:
    translate 1240ms cubic-bezier(.16, 1, .3, 1) 100ms,
    scale 1240ms cubic-bezier(.16, 1, .3, 1) 100ms,
    clip-path 1040ms cubic-bezier(.22, .78, .22, 1) 100ms;
}

.page:not(.aicloudplus-ambient-entered)::before {
  translate: -150px 20px;
  scale: .76;
  clip-path: circle(12% at 50% 50%);
  transition: none !important;
}

.page:not(.aicloudplus-ambient-entered)::after {
  translate: 160px 96px;
  scale: .7;
  clip-path: circle(10% at 50% 50%);
  transition: none !important;
}

.page .aicloudplus-floating-card-dock {
  opacity: 1;
  translate: 0 0;
  scale: 1;
  transform-origin: 70% 16%;
  transition:
    right 420ms cubic-bezier(.22, 1, .36, 1),
    opacity 720ms ease-out 90ms,
    translate 980ms cubic-bezier(.16, 1, .3, 1) 90ms,
    scale 980ms cubic-bezier(.16, 1, .3, 1) 90ms;
}

.page .aicloudplus-floating-card-dock.aicloudplus-floating-card-entering {
  opacity: 0;
  translate: 150px -46px;
  scale: .8;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .page::before,
  .page::after,
  .page:not(.aicloudplus-ambient-entered)::before,
  .page:not(.aicloudplus-ambient-entered)::after {
    translate: 0 0;
    scale: 1;
    clip-path: none;
    transition: none !important;
  }

  .page .aicloudplus-floating-card-dock,
  .page .aicloudplus-floating-card-dock.aicloudplus-floating-card-entering {
    opacity: 1;
    translate: 0 0;
    scale: 1;
    transition: right 120ms ease;
  }
}
/*
 * Multi-language layout stability layer.
 * Text may change, but the structural slots keep the same measurements.
 */

/* Stable desktop header columns. */
.page .brand {
  flex: 0 1 365px;
  width: 365px;
  min-width: 0;
  max-width: 365px;
}

.page .brand > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page .topbar-actions {
  flex: 0 0 448px;
  width: 448px;
  min-width: 448px;
  justify-content: flex-end;
}

.page .language-switcher {
  flex: 0 0 231px;
  width: 231px;
  min-width: 231px;
}

.page .system-pill {
  flex: 0 0 205px;
  width: 205px;
  min-width: 205px;
  justify-content: flex-start;
}

/* Reserve the largest translation slots seen across zh/en/vi/ru/tr. */
.page .hero-subtitle {
  min-height: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page .hero-chips {
  min-height: 33px;
  align-content: center;
  align-items: center;
}

.page .xiaojiu-intro-row {
  min-height: 66px;
}

.page .xiaojiu-intro {
  min-height: 66px;
  display: flex;
  align-items: center;
}

.page .xiaojiu-tour-replay {
  align-self: center;
}

/* The longest desktop labels define fixed action columns. */
.page .verify-row,
.page .guofen-verify-row {
  grid-template-columns: minmax(0, 1fr) 178px 178px;
}

.page .verify-row > .btn,
.page .guofen-verify-row > .btn {
  width: 100%;
  min-width: 0;
  white-space: nowrap;
}

@media (max-width: 900px) and (min-width: 761px) {
  .page .brand {
    flex-basis: 330px;
    width: 330px;
    max-width: 330px;
  }

  .page .topbar-actions {
    flex-basis: 418px;
    width: 418px;
    min-width: 418px;
  }

  .page .language-switcher {
    flex-basis: 216px;
    width: 216px;
    min-width: 216px;
  }

  .page .system-pill {
    flex-basis: 190px;
    width: 190px;
    min-width: 190px;
    overflow: hidden;
    white-space: nowrap;
  }
}

@media (max-width: 760px) {
  /* The existing mobile column layout remains; only its slots are normalized. */
  .page .topbar {
    min-height: 101px;
  }

  .page .brand {
    flex: 0 0 28px;
    width: 100%;
    height: 28px;
    max-width: 100%;
  }

  .page .topbar-actions {
    flex: 0 0 40px;
    width: 100%;
    min-width: 0;
    height: 40px;
    justify-content: flex-start;
  }

  .page .language-switcher {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
  }

  .page .hero {
    min-height: 276px;
  }

  .page .hero-title {
    min-height: 83px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .page .hero-subtitle {
    min-height: 70px;
  }

  .page .hero-chips {
    min-height: 64px;
    align-content: center;
  }

  .page .card-head {
    min-height: 122px;
  }

  .page .card-head h1 {
    min-height: 67px;
    display: flex;
    align-items: center;
  }

  .page .step-kicker {
    min-height: 30px;
    display: flex;
    align-items: flex-start;
  }

  .page .status-badge {
    flex: 0 0 112px;
    width: 112px;
    min-width: 112px;
    min-height: 51px;
    padding-inline: 10px;
    line-height: 1.3;
    text-align: center;
    white-space: normal;
  }

  .page .xiaojiu-intro-row,
  .page .xiaojiu-intro {
    min-height: 167px;
  }

  .page .verify-row,
  .page .guofen-verify-row {
    grid-template-columns: 1fr;
  }

  .page .xiaojiu-faq-toggle {
    min-height: 49px;
  }

  .page .redeem-card {
    min-height: 672px;
  }

  .page .footer {
    min-height: 126px;
  }
}
/*
 * Instant language switching with rigid translation slots.
 * No opacity animation, observer, delayed class, or paint containment.
 */

/* Prevent language controls and translated copy from animating. */
.page .language-switcher button,
.page :is(
  .brand > span:last-child,
  .system-pill,
  .hero-title,
  .hero-subtitle,
  .hero-chip,
  .step-kicker,
  .card-head h1,
  .status-badge,
  .xiaojiu-intro,
  .xiaojiu-tour-replay,
  .step-header,
  .input-wrap input,
  .verify-row .btn,
  .xiaojiu-faq-toggle,
  .footer > *
) {
  transition: none !important;
}

/* The logo copy receives the whole remaining brand column. */
.page .brand > span:last-child {
  display: flex;
  flex: 0 0 322px;
  width: 322px;
  height: 24px;
  min-width: 0;
  align-items: center;
  line-height: 24px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page .hero-title {
  display: flex;
  width: 100%;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  text-align: center;
  overflow: hidden;
}

.page .hero-subtitle {
  width: min(660px, 100%);
  max-width: 660px;
  overflow: hidden;
}

.page .hero-chips {
  width: 586px;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 190px));
  justify-content: center;
  overflow: hidden;
}

.page .hero-chip {
  width: 190px;
  min-width: 190px;
  justify-content: center;
  text-align: center;
}

.page .card-head > div:first-child {
  flex: 1 1 auto;
  width: calc(100% - 196px);
  min-width: 0;
}

.page .card-head h1,
.page .step-kicker {
  width: 100%;
  overflow: hidden;
}

.page .status-badge {
  flex: 0 0 178px;
  width: 178px;
  min-width: 178px;
  justify-content: center;
  overflow: hidden;
}

.page .xiaojiu-intro-row {
  grid-template-columns: minmax(0, 1fr) 140px;
  height: 86.5px;
  min-height: 86.5px;
}

.page .xiaojiu-intro {
  width: 100%;
  height: 86.5px;
  min-height: 86.5px;
  align-items: flex-start;
  padding-top: 10px;
  overflow: hidden;
}

.page .xiaojiu-tour-replay {
  width: 140px;
  min-width: 140px;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}

.page .redeem-card > .xiaojiu-faq-toggle {
  display: inline-flex;
  vertical-align: top;
  justify-content: flex-start;
  margin: 0;
  text-align: left;
  overflow: hidden;
}

.page .redeem-card > .xiaojiu-faq-toggle:first-of-type { width: 60%; }
.page .redeem-card > .xiaojiu-faq-toggle:last-of-type { width: 40%; }

/* Fixed footer columns keep the separator and both copy regions stationary. */
.page .footer {
  display: grid;
  grid-template-columns: 312px 8px 500px;
  justify-content: center;
  align-items: center;
  column-gap: 8px;
  height: 84.5px;
  min-height: 84.5px;
}

.page .footer > * {
  display: block;
  height: 18.5px;
  line-height: 18.5px;
  overflow: hidden;
  white-space: nowrap;
}

.page .footer > :first-child { width: 312px; text-align: right; }
.page .footer > .footer-sep { width: 8px; text-align: center; }
.page .footer > :last-child { width: 500px; text-align: left; }

@media (max-width: 900px) and (min-width: 761px) {
  .page .brand > span:last-child {
    flex-basis: 287px;
    width: 287px;
  }

  .page .footer {
    grid-template-columns: minmax(0, 35%) 8px minmax(0, 57%);
  }

  .page .footer > :first-child,
  .page .footer > :last-child { width: 100%; }
}

@media (max-width: 760px) {
  .page .brand { gap: 8px; }

  .page .brand > span:last-child {
    flex: 1 1 auto;
    width: auto;
    height: 24px;
  }

  .page .hero-title { width: 100%; }

  .page .hero-subtitle {
    width: 92%;
    max-width: 92%;
  }

  .page .hero-chips {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .page .hero-chip {
    width: 100%;
    min-width: 0;
    min-height: 64px;
    padding: 6px;
    white-space: normal;
    line-height: 1.35;
  }

  .page .card-head > div:first-child {
    flex: 1 1 auto;
    width: calc(100% - 130px);
    min-width: 0;
  }

  .page .status-badge {
    flex-basis: 112px;
    width: 112px;
    min-width: 112px;
  }

  .page .xiaojiu-intro-row,
  .page .xiaojiu-intro {
    height: 167px;
    min-height: 167px;
  }

  .page .xiaojiu-intro-row {
    grid-template-columns: minmax(0, 1fr) 136px;
  }

  .page .xiaojiu-intro {
    padding-top: 12px;
  }

  .page .xiaojiu-tour-replay {
    width: 136px;
    min-width: 136px;
    white-space: normal;
    line-height: 1.35;
  }

  .page .redeem-card > .xiaojiu-faq-toggle:first-of-type,
  .page .redeem-card > .xiaojiu-faq-toggle:last-of-type {
    width: 100%;
  }

  .page .footer {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 24px 18px 54px;
    justify-items: center;
    align-content: center;
    row-gap: 0;
    width: 100%;
    height: 126px;
    min-height: 126px;
    padding: 12px 16px 18px;
  }

  .page .footer > :first-child,
  .page .footer > .footer-sep,
  .page .footer > :last-child {
    width: 100%;
    text-align: center;
  }

  .page .footer > :first-child { height: 24px; line-height: 24px; }
  .page .footer > .footer-sep { height: 18px; line-height: 18px; }
  .page .footer > :last-child {
    height: 54px;
    line-height: 18px;
    white-space: normal;
  }
}
/*
 * Stable hero chip internals for language switching.
 * The three outer pills, icons, and label regions retain fixed positions.
 */
.page .hero-chip {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  align-items: center;
  justify-content: stretch;
  column-gap: 8px;
  animation: none !important;
  transition: none !important;
  transform: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.page .hero-chip > svg {
  position: static;
  display: block;
  width: 14px;
  height: 14px;
  min-width: 14px;
  transform: none !important;
}

.page .hero-chip-label {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .page .hero-chip {
    grid-template-columns: 14px minmax(0, 1fr);
    column-gap: 6px;
  }

  .page .hero-chip-label {
    display: flex;
    height: 50px;
    align-items: center;
    justify-content: center;
    white-space: normal;
    line-height: 1.2;
  }
}
/*
 * Adaptive-width hero chips with vertical flow locks.
 * Width follows translated copy; y/height and the redemption-card flow stay fixed.
 */
.page .hero {
  height: 216.375px;
  min-height: 216.375px;
  max-height: 216.375px;
}

.page .hero-title {
  height: 60.375px;
  min-height: 60.375px;
  max-height: 60.375px;
  white-space: nowrap;
}

.page .hero-subtitle {
  height: 51px;
  min-height: 51px;
  max-height: 51px;
}

.page .hero-chips {
  display: flex;
  width: fit-content;
  max-width: 100%;
  height: 33px;
  min-height: 33px;
  max-height: 33px;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  overflow: visible;
}

.page .hero-chip {
  grid-template-columns: 14px max-content;
  flex: 0 0 auto;
  width: fit-content;
  min-width: 0;
  max-width: none;
  height: 32.5px;
  min-height: 32.5px;
  max-height: 32.5px;
}

.page .hero-chip-label {
  width: auto;
  min-width: 0;
  max-width: none;
}

.page .redeem-card {
  margin-top: 0;
  transform: none !important;
}

@media (max-width: 760px) {
  .page .hero {
    height: 277.5px;
    min-height: 277.5px;
    max-height: 277.5px;
  }

  .page .hero-title {
    height: 83px;
    min-height: 83px;
    max-height: 83px;
    white-space: normal;
  }

  .page .hero-subtitle {
    height: 70px;
    min-height: 70px;
    max-height: 70px;
  }

  .page .hero-chips {
    width: 100%;
    height: 64px;
    min-height: 64px;
    max-height: 64px;
    overflow: hidden;
  }

  .page .hero-chip {
    grid-template-columns: 14px minmax(0, max-content);
    flex: 0 1 auto;
    width: fit-content;
    max-width: 100%;
    height: 64px;
    min-height: 64px;
    max-height: 64px;
  }

  .page .hero-chip-label {
    width: auto;
    max-width: 100%;
  }
}

/* Premium copy line-height preserves the fixed message-slot geometry. */
.page .hero-subtitle {
  line-height: 24px;
}

@media (max-width: 760px) {
  .page .hero-subtitle {
    line-height: 22px;
  }
}
/*
 * Restore the original compact AiCloudPlus redemption-card composition.
 * Language-dependent copy stays inside one-line slots so the card never shifts vertically.
 */
.page .card-head {
  min-height: 0;
}

.page .card-head > div:first-child {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

.page .card-head h1,
.page .step-kicker {
  width: auto;
}

.page .status-badge {
  flex: 0 0 auto;
  width: auto;
  min-width: 72px;
  max-width: 190px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.page .xiaojiu-intro-row {
  grid-template-columns: minmax(0, 1fr) auto;
  height: auto;
  min-height: 0;
  align-items: center;
}

.page .xiaojiu-intro {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  padding-top: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.page .xiaojiu-tour-replay {
  width: auto;
  min-width: 0;
  white-space: nowrap;
}

.page .verify-row,
.page .guofen-verify-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.page .verify-row > .btn,
.page .guofen-verify-row > .btn {
  width: auto;
  min-width: 0;
  white-space: nowrap;
}

.page .redeem-card > .xiaojiu-faq-toggle:first-of-type,
.page .redeem-card > .xiaojiu-faq-toggle:last-of-type {
  width: auto;
}

.page .redeem-card > .xiaojiu-faq-toggle {
  white-space: nowrap;
  text-overflow: ellipsis;
}

.page .redeem-card {
  height: auto;
  min-height: 0;
  overflow: visible;
}

@media (max-width: 760px) {
  .page .card-head {
    min-height: 0;
  }

  .page .card-head h1,
  .page .step-kicker {
    min-height: 0;
  }

  .page .status-badge {
    flex-basis: auto;
    width: auto;
    min-width: 72px;
    max-width: 112px;
  }

  .page .xiaojiu-intro-row,
  .page .xiaojiu-intro {
    height: auto;
    min-height: 0;
  }

  .page .xiaojiu-intro-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .page .xiaojiu-intro {
    padding-top: 0;
  }

  .page .xiaojiu-tour-replay {
    width: auto;
    min-width: 0;
    white-space: nowrap;
  }

  .page .verify-row,
  .page .guofen-verify-row {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .page .redeem-card > .xiaojiu-faq-toggle:first-of-type,
  .page .redeem-card > .xiaojiu-faq-toggle:last-of-type {
    width: auto;
  }
}

@media (min-width: 761px) {
  .page .redeem-card {
    height: 366.203px;
    min-height: 366.203px;
    max-height: 366.203px;
  }
}

@media (max-width: 760px) {
  .page .card-head {
    height: 88.047px;
    min-height: 88.047px;
    max-height: 88.047px;
  }

  .page .xiaojiu-intro-row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 33.8px 18.5px;
    height: 62.3px;
    min-height: 62.3px;
    max-height: 62.3px;
    gap: 10px;
  }

  .page .xiaojiu-intro {
    height: 33.8px;
    min-height: 33.8px;
    max-height: 33.8px;
  }

  .page .xiaojiu-tour-replay {
    height: 18.5px;
    min-height: 18.5px;
    justify-self: start;
    line-height: 18.5px;
  }

  .page .verify-row,
  .page .guofen-verify-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .page .verify-row > .btn,
  .page .guofen-verify-row > .btn {
    width: 100%;
  }

  .page .redeem-card > .xiaojiu-faq-toggle:first-of-type,
  .page .redeem-card > .xiaojiu-faq-toggle:last-of-type {
    width: 100%;
  }
}

/* Center the automatic product-detection copy without changing the notice height. */
.page .xiaojiu-intro {
  padding: 6px 12px 5px;
}
/* Keep onboarding state stable across language remounts and narrow only the desktop redemption card. */
@media (min-width: 761px) {
  .page .redeem-card {
    width: 79%;
    max-width: 79%;
    margin-inline: auto;
  }
}
/* Cap the complete redemption glass panel on wide screens. */
@media (min-width: 761px) {
  .page main > .redeem-card {
    width: min(79%, 1200px);
    max-width: 1200px;
    margin-inline: auto;
  }
}
/* Keep the wide-screen redemption panel within its compact maximum width. */
@media (min-width: 761px) {
  .page main > .redeem-card {
    width: min(79%, 600px);
    max-width: 600px;
    margin-inline: auto;
  }
}
/* Use the balanced desktop redemption-panel target width. */
@media (min-width: 761px) {
  .page main > .redeem-card {
    width: min(900px, calc(100vw - 40px));
    max-width: none;
    margin-inline: auto;
  }
}
/* Reserve the full desktop serif glyph box so hero-title descenders remain visible. */
@media (min-width: 761px) {
  .page .hero {
    height: 266px;
    min-height: 266px;
    max-height: 266px;
  }

  .page .hero-title {
    height: 110px;
    min-height: 110px;
    max-height: 110px;
    overflow: hidden;
  }
}
/* Desktop viewport fitting keeps the header, hero, redemption card and footer visible initially, then restores scrolling after interaction. */

.page .footer {
  display: flex !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  justify-items: center;
  gap: 8px;
  width: 100%;
  text-align: center;
}

.page .footer > :first-child,
.page .footer > .footer-sep,
.page .footer > :last-child {
  width: auto !important;
  text-align: center !important;
}

@media (min-width: 761px) {
  html,
  body,
  #root {
    min-height: 100%;
  }

  body.aicloudplus-initial-fit {
    overflow: hidden;
  }

  body.aicloudplus-initial-fit #root {
    height: 100dvh;
    overflow: hidden;
  }

  .page {
    min-height: 100dvh;
  }

  .page .topbar {
    position: relative;
    height: clamp(48px, 7.5dvh, 64px);
    min-height: clamp(48px, 7.5dvh, 64px);
    padding-inline: clamp(18px, 3vw, 42px);
  }

  .page .main {
    min-height: 0;
    padding: clamp(8px, 2dvh, 18px) 18px clamp(6px, 1.5dvh, 14px);
  }

  .page .hero {
    width: min(1080px, 100%);
    height: clamp(150px, 25dvh, 215px) !important;
    min-height: clamp(150px, 25dvh, 215px) !important;
    max-height: clamp(150px, 25dvh, 215px) !important;
    grid-template-rows: auto 51px 33px;
    align-content: center;
    gap: clamp(6px, 1.2dvh, 12px);
    margin-bottom: clamp(8px, 2dvh, 20px);
  }

  .page .hero-title {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    font-size: clamp(38px, 7.4dvh, 64px);
    line-height: 1.08;
  }

  .page .hero-subtitle {
    align-self: center;
  }

  .page .hero-chips {
    align-self: center;
  }

  .page main > .redeem-card {
    height: clamp(300px, 43dvh, 350px) !important;
    min-height: clamp(300px, 43dvh, 350px) !important;
    max-height: clamp(300px, 43dvh, 350px) !important;
    padding: clamp(22px, 4dvh, 38px) !important;
  }

  .page .card-head {
    margin-bottom: clamp(14px, 2.2dvh, 20px);
    padding-bottom: clamp(10px, 1.8dvh, 16px);
  }

  .page .step-kicker {
    margin-bottom: 4px;
    font-size: clamp(11px, 1.7dvh, 13px);
  }

  .page .card-head h1 {
    font-size: clamp(22px, 3.4dvh, 28px);
    line-height: 1.12;
  }

  .page .status-badge {
    padding: clamp(5px, 1dvh, 7px) clamp(11px, 1.4vw, 16px);
    font-size: clamp(11px, 1.7dvh, 13px);
  }

  .page .step-header {
    margin-top: clamp(14px, 2dvh, 18px);
    margin-bottom: clamp(8px, 1.4dvh, 12px);
  }

  .page .verify-row,
  .page .guofen-verify-row {
    min-height: clamp(48px, 7dvh, 56px);
  }

  .page .input-wrap,
  .page .verify-row > .btn,
  .page .guofen-verify-row > .btn {
    min-height: clamp(48px, 7dvh, 56px);
    height: clamp(48px, 7dvh, 56px);
  }

  .page .redeem-card > .xiaojiu-faq-toggle {
    min-height: 32px;
    height: 32px;
    padding-block: 4px;
  }

  .page .footer {
    height: clamp(36px, 6dvh, 54px) !important;
    min-height: clamp(36px, 6dvh, 54px) !important;
    padding: 0 18px !important;
    font-size: clamp(11px, 1.6dvh, 13px);
  }

  .page .aicloudplus-floating-card-dock {
    top: clamp(64px, 9dvh, 102px);
  }
}

@media (min-width: 761px) and (max-height: 599px) {
  body.aicloudplus-initial-fit .page {
    width: 116.28%;
    min-height: 116.28dvh;
    margin-left: -8.14%;
    transform: scale(.86);
    transform-origin: top center;
  }
}

@media (max-width: 760px) {
  .page .footer {
    justify-content: center;
    align-content: center;
    height: auto;
    min-height: 92px;
    padding: 14px 16px 18px;
  }

  .page .footer > :first-child,
  .page .footer > :last-child {
    flex: 0 0 100%;
  }

  .page .footer > .footer-sep {
    display: none;
  }
}


/* Keep system status visible in the narrow-desktop header. */
@media (min-width: 761px) and (max-width: 900px) {
  .page .topbar-actions {
    gap: 6px;
  }

  .page .system-pill {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    padding-inline: 6px;
    font-size: 10px;
    white-space: nowrap;
  }
}
/* Reference composition proportions and orbital gold atmosphere retain the AiCloudPlus logo and dynamic card. */

.page {
  overflow-x: clip;
  background:
    radial-gradient(860px 430px at 50% 8%, rgba(211, 179, 86, 0.085), transparent 68%),
    radial-gradient(720px 520px at 98% 74%, rgba(122, 91, 24, 0.07), transparent 72%),
    radial-gradient(620px 460px at 1% 34%, rgba(99, 75, 24, 0.06), transparent 73%),
    linear-gradient(142deg, #080a10 0%, #05070c 52%, #080a0e 100%);
}

/* Layered orbital rings echo the reference without copying its card artwork. */
.page::before,
.page::after {
  z-index: -1;
  border-color: rgba(232, 194, 89, 0.32);
  background:
    radial-gradient(circle, transparent 0 45%, rgba(232, 194, 89, 0.11) 45.2% 45.45%, transparent 45.7% 58%, rgba(232, 194, 89, 0.075) 58.2% 58.45%, transparent 58.7% 71%, rgba(232, 194, 89, 0.055) 71.2% 71.45%, transparent 71.7%),
    radial-gradient(circle at 50% 50%, rgba(226, 188, 79, 0.85) 0 1px, transparent 1.8px);
  background-size: 100% 100%, 24px 24px;
  box-shadow:
    0 0 0 26px rgba(221, 183, 74, 0.035),
    0 0 0 74px rgba(221, 183, 74, 0.022),
    inset 0 0 48px rgba(177, 139, 43, 0.025);
  animation: aicloudplus-page-orbit-breathe 7.6s ease-in-out infinite;
}

.page::before {
  top: 126px;
  left: -352px;
  width: 590px;
  height: 590px;
}

.page::after {
  right: -310px;
  bottom: -245px;
  width: 710px;
  height: 710px;
  animation-delay: -3.8s;
}

.page .topbar,
.page .main,
.page .footer {
  position: relative;
  z-index: 1;
}

.page .topbar {
  border-bottom-color: rgba(226, 190, 88, 0.16);
  background: rgba(6, 8, 13, 0.78);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.015);
}

.page .hero::after {
  opacity: 0.5;
  background: linear-gradient(90deg, transparent, rgba(232, 194, 89, 0.82), transparent);
}

.page .hero-title {
  background: linear-gradient(112deg, #fffdf7 8%, #eee4cc 42%, #f1d37b 66%, #a98a3d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 14px 46px rgba(0, 0, 0, 0.38);
}

.page .hero-subtitle {
  color: rgba(225, 221, 210, 0.72);
}

.page .hero-chip {
  border-color: rgba(226, 190, 88, 0.18);
  background: rgba(12, 14, 20, 0.58);
  color: rgba(231, 226, 214, 0.76);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.page .redeem-card {
  border-color: rgba(232, 194, 89, 0.4);
  background:
    linear-gradient(128deg, rgba(255, 255, 255, 0.07), transparent 34%),
    radial-gradient(520px 210px at 82% 0%, rgba(225, 186, 75, 0.085), transparent 74%),
    linear-gradient(158deg, rgba(22, 24, 30, 0.9), rgba(8, 10, 15, 0.86));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.075),
    0 32px 94px rgba(0, 0, 0, 0.5),
    0 0 72px rgba(157, 118, 29, 0.055);
}

.page .redeem-card::after {
  border-top-color: rgba(232, 194, 89, 0.17);
  border-bottom-color: rgba(232, 194, 89, 0.075);
  color: rgba(232, 194, 89, 0.1);
}

.page .card-head {
  border-bottom-color: rgba(232, 194, 89, 0.14);
}

.page .step-kicker,
.page .xiaojiu-faq-toggle,
.page .link-button {
  color: #e8c454;
}

@keyframes aicloudplus-page-orbit-breathe {
  0%, 100% { opacity: 0.62; filter: brightness(0.86); }
  50% { opacity: 0.95; filter: brightness(1.12); }
}

/* Ordinary and tall desktop displays keep generous vertical rhythm; short windows use the compact viewport-fit layout. */
@media (min-width: 1200px) and (min-height: 800px) {
  .page .topbar {
    height: clamp(61px, 7.6dvh, 72px);
    min-height: clamp(61px, 7.6dvh, 72px);
    padding-inline: clamp(52px, 4.6vw, 78px);
  }

  .page .main {
    padding: clamp(38px, 4.8dvh, 46px) 20px 12px;
  }

  .page .hero {
    width: min(1120px, 100%);
    height: clamp(260px, 31.5dvh, 300px) !important;
    min-height: clamp(260px, 31.5dvh, 300px) !important;
    max-height: clamp(260px, 31.5dvh, 300px) !important;
    grid-template-rows: auto clamp(72px, 9.2dvh, 88px) 58px 34px;
    align-content: start;
    gap: clamp(9px, 1.25dvh, 13px);
    margin-bottom: clamp(22px, 2.9dvh, 29px);
    padding-top: 9px;
  }

  .page .hero-title {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible;
    font-size: clamp(64px, 8dvh, 78px);
    line-height: 1.08;
  }

  .page .hero-subtitle {
    width: min(780px, 78vw);
    max-width: 780px;
    height: 58px;
    min-height: 58px;
    max-height: 58px;
    font-size: clamp(14px, 1.75dvh, 17px);
    line-height: 26px;
  }

  .page .hero-chips {
    height: 34px;
    min-height: 34px;
    max-height: 34px;
    gap: 10px;
  }

  .page .hero-chip {
    height: 34px;
    min-height: 34px;
    max-height: 34px;
    padding-inline: 15px;
  }

  .page main > .redeem-card {
    width: clamp(820px, 58vw, 960px);
    height: clamp(360px, 43dvh, 405px) !important;
    min-height: clamp(360px, 43dvh, 405px) !important;
    max-height: clamp(360px, 43dvh, 405px) !important;
    padding: clamp(37px, 4.7dvh, 45px) !important;
    border-radius: 24px;
  }

  .page .card-head {
    margin-bottom: clamp(18px, 2.5dvh, 24px);
    padding-bottom: clamp(13px, 1.8dvh, 17px);
  }

  .page .step-kicker {
    margin-bottom: 7px;
    font-size: 12px;
  }

  .page .card-head h1 {
    font-size: clamp(30px, 4dvh, 38px);
  }

  .page .step-header {
    margin-top: clamp(14px, 2dvh, 19px);
    margin-bottom: clamp(10px, 1.4dvh, 13px);
  }

  .page .verify-row,
  .page .guofen-verify-row,
  .page .input-wrap,
  .page .verify-row > .btn,
  .page .guofen-verify-row > .btn {
    min-height: clamp(52px, 6.4dvh, 58px);
    height: clamp(52px, 6.4dvh, 58px);
  }

  .page .footer {
    height: clamp(46px, 5.7dvh, 54px) !important;
    min-height: clamp(46px, 5.7dvh, 54px) !important;
    font-size: clamp(12px, 1.55dvh, 14px);
  }

  .page .aicloudplus-floating-card-dock {
    top: clamp(92px, 11.6dvh, 112px);
    right: -54px;
    width: clamp(235px, 17.2vw, 288px);
  }
}

@media (max-width: 1199px), (max-height: 799px) {
  .page::before {
    left: -390px;
  }

  .page::after {
    right: -420px;
    bottom: -320px;
  }
}

@media (max-width: 760px) {
  .page {
    overflow: hidden visible;
  }

  .page::before {
    top: 150px;
    left: -460px;
  }

  .page::after {
    right: -540px;
    bottom: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page::before,
  .page::after {
    animation: none;
  }
}
/* Constrain card shimmer, lower the content below the hero, and animate compact orbital fields. */

/* Rounded GPU clipping plus paint containment prevents composite-layer bleed. */
.page .aicloudplus-floating-card {
  overflow: hidden !important;
  isolation: isolate;
  contain: paint;
  border-radius: clamp(18px, 2.4vw, 25px);
  -webkit-clip-path: inset(0 round clamp(18px, 2.4vw, 25px));
  clip-path: inset(0 round clamp(18px, 2.4vw, 25px));
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* A narrow, feathered beam replaces the previous oversized rectangle. */
.page .aicloudplus-floating-card::after {
  inset: -30% auto -30% -38%;
  width: 28%;
  height: auto;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 248, 218, 0.06) 25%,
    rgba(255, 247, 214, 0.38) 49%,
    rgba(255, 255, 255, 0.16) 58%,
    transparent 100%
  );
  filter: blur(5px);
  mix-blend-mode: screen;
  transform: translate3d(-35%, 0, 0) skewX(-13deg);
  transform-origin: center;
  will-change: transform, opacity;
  animation: aicloudplus-membership-card-shimmer 5.6s cubic-bezier(.4, 0, .2, 1) infinite;
}

@keyframes aicloudplus-membership-card-shimmer {
  0%, 18% {
    opacity: 0;
    transform: translate3d(-35%, 0, 0) skewX(-13deg);
  }
  27% { opacity: 0.42; }
  39% { opacity: 0.78; }
  52% {
    opacity: 0;
    transform: translate3d(520%, 0, 0) skewX(-13deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(520%, 0, 0) skewX(-13deg);
  }
}

/* Move everything from the subtitle down while the hero title stays anchored. */
@media (min-width: 761px) {
  .page .hero-subtitle,
  .page .hero-chips {
    position: relative;
    top: clamp(8px, 1.5dvh, 11px);
  }

  .page .hero {
    margin-bottom: clamp(18px, calc(2dvh + 10px), 30px);
  }
}

@media (min-width: 1200px) and (min-height: 800px) {
  .page .hero-subtitle,
  .page .hero-chips {
    top: clamp(12px, 1.55dvh, 15px);
  }

  .page .hero {
    margin-bottom: clamp(36px, calc(2.9dvh + 14px), 43px);
  }
}

/* Smaller orbital fields with slow drift, breathing and moving dot texture. */
.page::before,
.page::after {
  box-shadow:
    0 0 0 18px rgba(221, 183, 74, 0.032),
    0 0 0 48px rgba(221, 183, 74, 0.018),
    inset 0 0 36px rgba(177, 139, 43, 0.025);
  background-position: center, 0 0;
  transform-origin: center;
  will-change: transform, opacity, background-position, filter;
  animation: aicloudplus-page-orbit-drift 10.8s ease-in-out infinite;
}

.page::before {
  top: 158px;
  left: -258px;
  width: 440px;
  height: 440px;
}

.page::after {
  right: -214px;
  bottom: -154px;
  width: 530px;
  height: 530px;
  animation-duration: 13.6s;
  animation-delay: -6.2s;
  animation-direction: reverse;
}

@keyframes aicloudplus-page-orbit-drift {
  0%, 100% {
    opacity: 0.58;
    filter: brightness(0.86) drop-shadow(0 0 0 rgba(232, 194, 89, 0));
    background-position: center, 0 0;
    transform: rotate(-3deg) scale(0.97);
  }
  48% {
    opacity: 0.94;
    filter: brightness(1.12) drop-shadow(0 0 8px rgba(232, 194, 89, 0.16));
    background-position: center, 12px 8px;
    transform: rotate(2.5deg) scale(1.025);
  }
  72% {
    opacity: 0.74;
    background-position: center, 18px 2px;
    transform: rotate(0deg) scale(1.005);
  }
}

@media (max-width: 1199px), (max-height: 799px) {
  .page::before {
    top: 118px;
    left: -292px;
    width: 420px;
    height: 420px;
  }

  .page::after {
    right: -318px;
    bottom: -194px;
    width: 500px;
    height: 500px;
  }
}

@media (max-width: 760px) {
  .page::before {
    top: 156px;
    left: -326px;
    width: 410px;
    height: 410px;
  }

  .page::after {
    right: -364px;
    bottom: -80px;
    width: 480px;
    height: 480px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page .aicloudplus-floating-card::after,
  .page::before,
  .page::after {
    animation: none;
  }
}
/* Native system typography keeps Chinese and Latin rendering crisp, fast and stable. */

:root {
  --aicloudplus-font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text",
    "SF Pro Display", "Helvetica Neue", "Hiragino Sans GB",
    "Microsoft YaHei", Arial, sans-serif;
  --aicloudplus-font-display: -apple-system, BlinkMacSystemFont,
    "SF Pro Display", "Avenir Next", "Helvetica Neue", "Hiragino Sans GB",
    "Microsoft YaHei", Arial, sans-serif;
  --aicloudplus-font-accent: "Avenir Next", Avenir, "SF Pro Display",
    "Helvetica Neue", "Hiragino Sans GB", sans-serif;
}

html,
body,
button,
input,
textarea,
select {
  font-family: var(--aicloudplus-font-ui);
}

.page {
  font-family: var(--aicloudplus-font-ui);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.page .brand {
  font-family: var(--aicloudplus-font-accent);
  font-weight: 650;
  font-style: normal;
  letter-spacing: -0.025em;
}

.page .hero::before,
.page .step-kicker,
.page .redeem-card::after,
.page .aicloudplus-floating-brand,
.page .aicloudplus-floating-center span,
.page .aicloudplus-floating-live {
  font-family: var(--aicloudplus-font-accent);
}

.page .hero-title {
  font-family: var(--aicloudplus-font-display);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.038em;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1;
}

html:lang(zh-CN) .page .hero-title {
  font-weight: 560;
  letter-spacing: 0.015em;
}

.page .hero-subtitle {
  font-family: var(--aicloudplus-font-ui);
  font-weight: 400;
  letter-spacing: 0.012em;
}

.page .hero-chip,
.page .system-pill,
.page .language-switcher,
.page .status-badge,
.page .xiaojiu-faq-toggle,
.page .footer {
  font-family: var(--aicloudplus-font-ui);
  font-weight: 500;
}

.page .hero-chip {
  letter-spacing: 0.015em;
}

.page .card-head h1 {
  font-family: var(--aicloudplus-font-display);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: 0.025em;
  font-kerning: normal;
}

html:not(:lang(zh-CN)) .page .card-head h1 {
  letter-spacing: -0.018em;
}

.page .step-header,
.page .btn,
.page .input-wrap input,
.page .field input,
.page .field select,
.page .field textarea {
  font-family: var(--aicloudplus-font-ui);
}

.page .step-header,
.page .btn {
  font-weight: 600;
  letter-spacing: 0.01em;
}

.page .input-wrap input,
.page .field input,
.page .field select,
.page .field textarea {
  font-weight: 400;
  letter-spacing: 0.008em;
}

.page .status-badge,
.page .system-pill,
.page .aicloudplus-floating-card-bottom strong {
  font-variant-numeric: tabular-nums;
}

/* Keep the modern glyph box inside the compact desktop title slot. */
@media (min-width: 761px) and (max-height: 799px) {
  .page .hero-title {
    font-size: clamp(38px, 6.6dvh, 50px);
    line-height: 1.02;
  }
}

/* A few extra pixels prevent tall-screen Latin/Cyrillic ascenders from clipping. */
@media (min-width: 1200px) and (min-height: 800px) {
  .page .hero {
    grid-template-rows: auto clamp(74px, 9.4dvh, 92px) 58px 34px;
  }
}

@media (max-width: 760px) {
  .page .hero-title {
    letter-spacing: -0.025em;
  }

  html:lang(zh-CN) .page .hero-title {
    letter-spacing: 0.008em;
  }
}
/* Softer native rounded typography reduces the square system-sans appearance. */

:root {
  --aicloudplus-font-ui: "SF Pro Rounded", "SFNS Rounded", "Yuanti SC",
    -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB",
    "Microsoft YaHei", sans-serif;
  --aicloudplus-font-display: "SF Pro Rounded", "SFNS Rounded", "Yuanti SC",
    -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB",
    sans-serif;
  --aicloudplus-font-accent: "SF Pro Rounded", "SFNS Rounded", "Yuanti SC",
    "Avenir Next", Avenir, "Helvetica Neue", sans-serif;
}

.page .brand {
  font-weight: 620;
  letter-spacing: -0.018em;
}

.page .hero-title {
  font-family: var(--aicloudplus-font-display);
  font-weight: 520;
  letter-spacing: -0.018em;
  text-shadow:
    0 10px 34px rgba(0, 0, 0, 0.34),
    0 0 18px rgba(219, 188, 103, 0.035);
}

html:lang(zh-CN) .page .hero-title {
  font-family: "Yuanti SC", "SF Pro Rounded", "SFNS Rounded",
    "Hiragino Sans GB", sans-serif;
  font-weight: 500;
  letter-spacing: 0.025em;
}

.page .hero-subtitle {
  font-weight: 400;
  letter-spacing: 0.018em;
}

.page .card-head h1 {
  font-family: var(--aicloudplus-font-display);
  font-weight: 520;
  letter-spacing: 0.035em;
}

html:lang(zh-CN) .page .card-head h1 {
  font-family: "Yuanti SC", "SF Pro Rounded", "SFNS Rounded",
    "Hiragino Sans GB", sans-serif;
  font-weight: 500;
  letter-spacing: 0.045em;
}

.page .hero-chip,
.page .system-pill,
.page .language-switcher,
.page .status-badge,
.page .footer {
  font-weight: 450;
}

.page .step-header,
.page .btn {
  font-weight: 560;
  letter-spacing: 0.015em;
}

.page .input-wrap input,
.page .field input,
.page .field select,
.page .field textarea {
  font-weight: 400;
}

.page .step-kicker,
.page .hero::before {
  font-weight: 600;
  letter-spacing: 0.2em;
}

@media (max-width: 760px) {
  .page .hero-title,
  html:lang(zh-CN) .page .hero-title {
    letter-spacing: 0.012em;
  }
}
/* Balanced humanist typography stays crisp without appearing square or bubbly. */

:root {
  --aicloudplus-font-ui: "Avenir Next", Avenir, "Lantinghei SC",
    "FZLanTingHeiS-R-GB", "Helvetica Neue", "Hiragino Sans GB",
    -apple-system, BlinkMacSystemFont, sans-serif;
  --aicloudplus-font-display: "Avenir Next", Avenir, "Lantinghei SC",
    "FZLanTingHeiS-R-GB", "Helvetica Neue", "Hiragino Sans GB", sans-serif;
  --aicloudplus-font-accent: "Avenir Next", Avenir, "Helvetica Neue",
    "Lantinghei SC", "FZLanTingHeiS-R-GB", sans-serif;
}

.page .brand {
  font-weight: 600;
  letter-spacing: -0.022em;
}

.page .hero-title {
  font-family: var(--aicloudplus-font-display);
  font-weight: 500;
  letter-spacing: -0.026em;
  text-shadow: 0 11px 38px rgba(0, 0, 0, 0.36);
}

html:lang(zh-CN) .page .hero-title {
  font-family: "Avenir Next", Avenir, "Lantinghei SC",
    "FZLanTingHeiS-R-GB", "STXihei", "Hiragino Sans GB", sans-serif;
  font-weight: 500;
  letter-spacing: 0.018em;
}

.page .hero-subtitle {
  font-weight: 400;
  letter-spacing: 0.012em;
}

.page .card-head h1,
html:lang(zh-CN) .page .card-head h1 {
  font-family: "Avenir Next", Avenir, "Lantinghei SC",
    "FZLanTingHeiS-R-GB", "STXihei", "Hiragino Sans GB", sans-serif;
  font-weight: 500;
  letter-spacing: 0.028em;
}

.page .hero-chip,
.page .system-pill,
.page .language-switcher,
.page .status-badge,
.page .footer {
  font-weight: 450;
}

.page .step-header,
.page .btn {
  font-weight: 550;
  letter-spacing: 0.012em;
}

.page .input-wrap input,
.page .field input,
.page .field select,
.page .field textarea {
  font-weight: 400;
  letter-spacing: 0.006em;
}

.page .step-kicker,
.page .hero::before {
  font-family: var(--aicloudplus-font-accent);
  font-weight: 600;
}

@media (max-width: 760px) {
  .page .hero-title,
  html:lang(zh-CN) .page .hero-title {
    letter-spacing: 0.008em;
  }
}
/* Sharp typography combines high-contrast display serifs with disciplined UI strokes. */

:root {
  --aicloudplus-font-ui: "DIN Alternate", "Helvetica Neue Condensed Bold",
    "Hiragino Sans GB", "Heiti SC", "STHeiti", sans-serif;
  --aicloudplus-font-display: Didot, Baskerville, "Songti SC", STSong,
    "Hiragino Mincho ProN", serif;
  --aicloudplus-font-accent: "DIN Alternate", "Avenir Next Condensed",
    "Hiragino Sans GB", "Heiti SC", sans-serif;
}

.page {
  font-family: var(--aicloudplus-font-ui);
  font-synthesis: none;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

.page .brand {
  font-family: var(--aicloudplus-font-accent);
  font-weight: 700;
  letter-spacing: -0.018em;
}

.page .hero-title {
  font-family: var(--aicloudplus-font-display);
  font-weight: 600;
  letter-spacing: 0.012em;
  text-shadow: 0 12px 34px rgba(0, 0, 0, 0.42);
}

html:lang(zh-CN) .page .hero-title {
  font-family: "Songti SC", STSong, "Hiragino Mincho ProN", Didot, serif;
  font-weight: 600;
  letter-spacing: 0.052em;
}

.page .hero-subtitle {
  font-family: var(--aicloudplus-font-ui);
  font-weight: 400;
  letter-spacing: 0.018em;
}

.page .card-head h1,
html:lang(zh-CN) .page .card-head h1 {
  font-family: "Songti SC", STSong, "Hiragino Mincho ProN", Didot, serif;
  font-weight: 600;
  letter-spacing: 0.048em;
}

.page .hero-chip,
.page .system-pill,
.page .language-switcher,
.page .status-badge,
.page .footer {
  font-family: var(--aicloudplus-font-ui);
  font-weight: 500;
  letter-spacing: 0.012em;
}

.page .step-header,
.page .btn {
  font-family: var(--aicloudplus-font-ui);
  font-weight: 700;
  letter-spacing: 0.018em;
}

.page .input-wrap input,
.page .field input,
.page .field select,
.page .field textarea {
  font-family: var(--aicloudplus-font-ui);
  font-weight: 400;
  letter-spacing: 0.012em;
}

.page .step-kicker,
.page .hero::before {
  font-family: var(--aicloudplus-font-accent);
  font-weight: 700;
  letter-spacing: 0.2em;
}

@media (max-width: 760px) {
  .page .hero-title,
  html:lang(zh-CN) .page .hero-title {
    letter-spacing: 0.018em;
  }
}
/* Move the complete main composition down as one unit. */

.page .main {
  position: relative;
  top: clamp(8px, 1.3dvh, 12px);
}

@media (max-width: 760px) {
  .page .main {
    top: 8px;
  }
}

/* Move the hero and redemption composition farther down while preserving short-screen fit. */

.page .main {
  top: clamp(16px, 2.9dvh, 27px);
}

@media (max-height: 560px) {
  .page .main {
    top: 12px;
  }
}

@media (max-width: 760px) and (min-height: 561px) {
  .page .main {
    top: clamp(14px, 2.5dvh, 20px);
  }
}
/* Keep the full composition together while applying the lower vertical placement. */

.page .main {
  top: clamp(12px, 2.1dvh, 20px);
}

@media (max-width: 760px) {
  .page .main {
    top: 12px;
  }
}
/* Separate the hero title and redemption panel without introducing page overflow. */

@media (min-width: 761px) {
  .page .hero-title {
    transform: translateY(-14px);
  }

  .page .hero {
    margin-bottom: clamp(30px, calc(2dvh + 22px), 42px);
  }
}

@media (min-width: 761px) and (max-height: 560px) {
  .page .hero-title {
    transform: translateY(-8px);
  }

  .page .hero {
    margin-bottom: clamp(18px, calc(2dvh + 10px), 30px);
  }
}

@media (min-width: 1200px) and (min-height: 800px) {
  .page .hero-title {
    transform: translateY(-20px);
  }

  .page .hero {
    margin-bottom: clamp(54px, calc(2.9dvh + 32px), 61px);
  }

  .page main > .redeem-card {
    height: clamp(342px, calc(43dvh - 18px), 387px) !important;
    min-height: clamp(342px, calc(43dvh - 18px), 387px) !important;
    max-height: clamp(342px, calc(43dvh - 18px), 387px) !important;
    padding: clamp(28px, calc(4.7dvh - 9px), 36px) !important;
  }
}
/* Keep the hero title at its balanced position while retaining the redemption-panel offset. */

.page .hero-title {
  transform: none !important;
}
/* Size the desktop redemption panel for card keys up to 38 characters. */

@media (min-width: 761px) {
  .page main > .redeem-card {
    width: min(750px, calc(100vw - 40px)) !important;
    max-width: 750px !important;
  }
}
/* Accordion-aware layout keeps the closed state within one screen and enables scrolling when content expands. */

@media (min-width: 761px) {
  body.aicloudplus-content-expanded {
    overflow-y: auto !important;
  }

  body.aicloudplus-content-expanded #root {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }

  body.aicloudplus-content-expanded .page {
    height: auto !important;
    min-height: 100dvh !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  body.aicloudplus-content-expanded .page .main {
    flex: none !important;
    min-height: 0 !important;
  }

  body.aicloudplus-content-expanded .page main > .redeem-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.aicloudplus-content-expanded .page .footer {
    flex: 0 0 auto;
  }
}
/* Extended orbital decoration preserves background continuity when expanded content enables document scrolling. */

@media (min-width: 761px) {
  body.aicloudplus-content-expanded .page {
    overflow-y: clip !important;
  }
}
/* Bounded batch input: grow/shrink with content without stretching the page. */

.page .xiaojiu-query-panel textarea.aicloudplus-batch-autogrow {
  overflow-y: auto !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(239, 213, 140, .3) transparent;
  resize: none;
}
/* AiCloudPlus v1.0: refined batch-status query workspace. */

.page .redeem-card .xiaojiu-faq-toggle:has(+ .xiaojiu-query-panel) {
  width: 100%;
  min-height: 42px;
  margin-top: 8px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f1d994;
  border: 1px solid rgba(231, 199, 112, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(226, 190, 94, 0.13), rgba(226, 190, 94, 0.035) 58%, rgba(255, 255, 255, 0.025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  font-weight: 650;
  letter-spacing: 0.01em;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    transform 180ms ease;
}

.page .redeem-card .xiaojiu-faq-toggle:has(+ .xiaojiu-query-panel)::after {
  content: "BATCH";
  margin-left: auto;
  padding: 3px 7px;
  color: rgba(246, 224, 163, 0.72);
  border: 1px solid rgba(231, 199, 112, 0.16);
  border-radius: 999px;
  background: rgba(4, 6, 10, 0.26);
  font: 700 9px/1.2 ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.15em;
}

.page .redeem-card .xiaojiu-faq-toggle:has(+ .xiaojiu-query-panel):hover {
  border-color: rgba(231, 199, 112, 0.36);
  background-color: rgba(226, 190, 94, 0.04);
}

.page .redeem-card > .xiaojiu-query-panel {
  --aicloudplus-batch-gold: #efd58c;
  position: relative;
  isolation: isolate;
  width: 100%;
  box-sizing: border-box;
  margin-top: 8px;
  padding: 12px;
  display: grid;
  gap: 10px;
  overflow: hidden;
  border: 1px solid rgba(231, 199, 112, 0.2);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 0%, rgba(230, 195, 105, 0.13), transparent 31%),
    linear-gradient(145deg, rgba(26, 28, 34, 0.97), rgba(13, 16, 22, 0.985) 56%, rgba(19, 21, 26, 0.97));
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
  animation: aicloudplus-batch-panel-in 360ms cubic-bezier(.2, .72, .2, 1) both;
}

.page .redeem-card > .xiaojiu-query-panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 18px auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(244, 218, 146, 0.72), transparent);
  opacity: 0.78;
}

.page .redeem-card > .xiaojiu-query-panel::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -56px;
  bottom: -72px;
  width: 168px;
  height: 168px;
  border: 1px solid rgba(231, 199, 112, 0.08);
  border-radius: 50%;
  box-shadow:
    0 0 0 22px rgba(231, 199, 112, 0.025),
    0 0 0 46px rgba(231, 199, 112, 0.014);
  pointer-events: none;
}

.page .redeem-card > .xiaojiu-query-panel > * {
  position: relative;
  z-index: 1;
}

.page .redeem-card > .xiaojiu-query-panel > .field {
  gap: 8px;
}

.page .redeem-card > .xiaojiu-query-panel > .field > span {
  position: relative;
  min-height: 22px;
  padding-left: 29px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(248, 241, 222, 0.9);
  font-size: 13px;
  font-weight: 620;
  line-height: 1.55;
  letter-spacing: 0.006em;
}

.page .redeem-card > .xiaojiu-query-panel > .field > span::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 50%;
  width: 16px;
  height: 16px;
  border: 1px solid rgba(239, 213, 140, 0.62);
  border-radius: 5px;
  background:
    linear-gradient(135deg, rgba(239, 213, 140, 0.78) 0 28%, transparent 29% 100%);
  box-shadow: 0 0 16px rgba(225, 187, 88, 0.18);
  transform: translateY(-50%) rotate(45deg);
}

.page .redeem-card > .xiaojiu-query-panel > .field > span::after {
  content: "MAX 100";
  flex: 0 0 auto;
  margin-left: auto;
  padding: 4px 8px;
  color: rgba(246, 224, 163, 0.68);
  border: 1px solid rgba(231, 199, 112, 0.14);
  border-radius: 999px;
  background: rgba(239, 213, 140, 0.045);
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 0.09em;
}

.page .redeem-card > .xiaojiu-query-panel textarea.aicloudplus-batch-autogrow {
  display: block;
  box-sizing: border-box;
  min-height: 80px !important;
  max-height: 144px;
  padding: 10px 12px;
  color: rgba(250, 246, 235, 0.94);
  caret-color: var(--aicloudplus-batch-gold);
  border: 1px solid rgba(255, 255, 255, 0.105);
  border-radius: 14px;
  outline: none;
  background:
    linear-gradient(180deg, rgba(5, 7, 11, 0.72), rgba(8, 10, 15, 0.88));
  box-shadow:
    inset 0 1px 10px rgba(0, 0, 0, 0.28),
    0 1px 0 rgba(255, 255, 255, 0.025);
  font: 500 13px/1.72 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.012em;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}

.page .redeem-card > .xiaojiu-query-panel textarea.aicloudplus-batch-autogrow::placeholder {
  color: rgba(207, 203, 191, 0.34);
}

.page .redeem-card > .xiaojiu-query-panel textarea.aicloudplus-batch-autogrow:hover {
  border-color: rgba(231, 199, 112, 0.22);
}

.page .redeem-card > .xiaojiu-query-panel textarea.aicloudplus-batch-autogrow:focus {
  border-color: rgba(239, 213, 140, 0.62);
  background-color: rgba(8, 10, 15, 0.96);
  box-shadow:
    0 0 0 3px rgba(229, 191, 94, 0.1),
    inset 0 1px 12px rgba(0, 0, 0, 0.3),
    0 12px 28px rgba(0, 0, 0, 0.15);
}

.page .redeem-card > .xiaojiu-query-panel > .xiaojiu-query-actions {
  min-height: 44px;
  margin: 0;
  padding-top: 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.aicloudplus-batch-help { min-width: 0; color: rgba(224, 216, 197, .7); }
.aicloudplus-batch-help > summary {
  min-height: 42px;
  align-content: center;
  cursor: pointer;
  font-size: 12px;
}
.aicloudplus-batch-help > summary:focus-visible {
  outline: 1px solid rgba(239, 213, 140, .62);
  outline-offset: 2px;
  border-radius: 4px;
}
.aicloudplus-batch-help > p {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.page .redeem-card > .xiaojiu-query-panel > .xiaojiu-query-actions .btn {
  min-width: 132px;
  min-height: 42px;
  padding: 0 20px;
  border: 1px solid rgba(255, 237, 185, 0.36);
  border-radius: 12px;
  color: #17140d;
  background:
    linear-gradient(135deg, #f5df9f, #d8ad4e 58%, #bd8930);
  box-shadow:
    0 10px 24px rgba(180, 126, 31, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
  font-size: 13px;
  font-weight: 780;
  letter-spacing: 0.045em;
  transition:
    transform 160ms ease,
    filter 160ms ease,
    box-shadow 160ms ease;
}

.page .redeem-card > .xiaojiu-query-panel > .xiaojiu-query-actions .btn:not(:disabled):hover {
  filter: brightness(1.055);
  transform: translateY(-1px);
  box-shadow:
    0 13px 28px rgba(180, 126, 31, 0.27),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.page .redeem-card > .xiaojiu-query-panel > .xiaojiu-query-actions .btn:not(:disabled):active {
  transform: translateY(0);
}

@keyframes aicloudplus-batch-panel-in {
  from {
    opacity: 0;
    transform: translateY(-7px) scale(0.992);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 600px) {
  .page .redeem-card .xiaojiu-faq-toggle:has(+ .xiaojiu-query-panel) {
    min-height: 40px;
    padding-inline: 12px;
  }

  .page .redeem-card .xiaojiu-faq-toggle:has(+ .xiaojiu-query-panel)::after {
    display: none;
  }

  .page .redeem-card > .xiaojiu-query-panel {
    padding: 12px;
    gap: 10px;
    border-radius: 15px;
  }

  .page .redeem-card > .xiaojiu-query-panel > .field > span {
    align-items: center;
  }

  .page .redeem-card > .xiaojiu-query-panel > .field > span::before {
    top: 50%;
  }

  .page .redeem-card > .xiaojiu-query-panel > .field > span::after {
    margin-left: auto;
  }

  .page .redeem-card > .xiaojiu-query-panel textarea.aicloudplus-batch-autogrow {
    min-height: 80px !important;
    padding: 10px 12px;
  }

  .page .redeem-card > .xiaojiu-query-panel > .xiaojiu-query-actions .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page .redeem-card > .xiaojiu-query-panel {
    animation-duration: 1ms;
  }

  .page .redeem-card .xiaojiu-faq-toggle:has(+ .xiaojiu-query-panel),
  .page .redeem-card > .xiaojiu-query-panel textarea.aicloudplus-batch-autogrow,
  .page .redeem-card > .xiaojiu-query-panel > .xiaojiu-query-actions .btn {
    transition-duration: 1ms;
  }
}
/* Let the redemption panel grow for feedback while the initial empty state retains viewport-fit height. */

@media (min-width: 761px) {
  .page main > .redeem-card:has(> .batch-message:not(.neutral):not(.aicloudplus-inline-card-message-source)) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* Keep native redemption feedback out of the card; the unified progress panel owns this space. */
.page .redeem-card > .step-header:has(+ .status-panel),
.page .redeem-card > .status-panel {
  display: none !important;
}

/* Place empty-card query guidance in the existing introductory notice. */
.page .xiaojiu-intro.aicloudplus-inline-card-message-error {
  color: #ff8094;
  border-color: rgba(255, 128, 148, 0.38);
  background: rgba(255, 128, 148, 0.14);
  font-weight: 600;
}

.page .redeem-card > .aicloudplus-inline-card-message-source,
.page .redeem-card > .aicloudplus-inline-card-message-companion {
  display: none !important;
}

/* Reveal inline errors softly, hold them briefly, fade them out, and restore the default copy. */
.page .redeem-card .xiaojiu-intro.aicloudplus-inline-card-message-error {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 320ms cubic-bezier(.22, .68, .22, 1),
    transform 320ms cubic-bezier(.22, .68, .22, 1) !important;
  will-change: opacity, transform;
}

.page .redeem-card .xiaojiu-intro.aicloudplus-inline-card-message-error.aicloudplus-inline-card-message-entering {
  opacity: 0;
  transform: translateY(3px);
  transition: none !important;
}

.page .redeem-card .xiaojiu-intro.aicloudplus-inline-card-message-error.aicloudplus-inline-card-message-leaving {
  opacity: 0;
  transform: translateY(-3px);
}

.page .redeem-card .xiaojiu-intro.aicloudplus-inline-card-message-restoring {
  animation: aicloudplus-inline-message-restore 240ms ease-out both;
}

@keyframes aicloudplus-inline-message-restore {
  from {
    opacity: 0;
    transform: translateY(2px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page .redeem-card .xiaojiu-intro.aicloudplus-inline-card-message-error {
    transition-duration: 1ms !important;
  }

  .page .redeem-card .xiaojiu-intro.aicloudplus-inline-card-message-restoring {
    animation-duration: 1ms;
  }
}
/* Local test-recharge progress presentation. */

@media (min-width: 761px) {
  body:has(.aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active) {
    overflow-y: auto !important;
  }

  body:has(.aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active) #root {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }

  body:has(.aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active) .page {
    height: auto !important;
    min-height: 100dvh !important;
    overflow-x: clip !important;
    overflow-y: clip !important;
  }

  body:has(.aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active) .page .main {
    flex: none !important;
    min-height: 0 !important;
  }

  body:has(.aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active) .page main > .redeem-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body:has(.aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active) .page .footer {
    flex: 0 0 auto;
  }
}

.page .aicloudplus-test-recharge-panel {
  position: relative;
  z-index: 2;
  width: 100%;
  max-height: 0;
  margin-top: 0;
  padding: 0 16px;
  overflow: hidden;
  opacity: 0;
  border: 1px solid transparent;
  border-radius: 16px;
  background:
    radial-gradient(340px 110px at 92% 0%, rgba(232, 194, 89, 0.09), transparent 72%),
    rgba(255, 255, 255, 0.035);
  transform: translateY(-8px) scale(0.99);
  transition:
    max-height 360ms cubic-bezier(.22, 1, .36, 1),
    margin-top 360ms cubic-bezier(.22, 1, .36, 1),
    padding 360ms cubic-bezier(.22, 1, .36, 1),
    opacity 260ms ease,
    transform 360ms cubic-bezier(.22, 1, .36, 1),
    border-color 260ms ease,
    background 260ms ease;
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active {
  max-height: 168px;
  margin-top: 12px;
  padding: 15px 16px 14px;
  opacity: 1;
  border-color: rgba(232, 194, 89, 0.2);
  transform: translateY(0) scale(1);
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-awaiting-session {
  max-height: 350px;
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-account-visible {
  max-height: 270px;
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-failed.aicloudplus-test-recharge-account-visible {
  max-height: 298px;
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-leaving {
  max-height: 0;
  margin-top: 0;
  padding-block: 0;
  opacity: 0;
  transform: translateY(-6px) scale(0.99);
}

.page .aicloudplus-test-recharge-head,
.page .aicloudplus-test-recharge-stage-row {
  display: flex;
  align-items: center;
}

.page .aicloudplus-test-recharge-head {
  justify-content: space-between;
  gap: 16px;
}

.page .aicloudplus-test-recharge-label {
  color: rgba(232, 224, 204, 0.64);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.page .aicloudplus-test-recharge-percent {
  min-width: 46px;
  color: #f3dfa0;
  font-family: "DIN Alternate", "Avenir Next Condensed", sans-serif;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  text-align: right;
}

.page .aicloudplus-test-recharge-stage-row {
  gap: 9px;
  margin-top: 9px;
  color: #f2eee5;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.page .aicloudplus-test-recharge-pulse {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #e8c659;
  box-shadow: 0 0 0 0 rgba(232, 198, 89, 0.42);
  animation: aicloudplus-test-recharge-progress-pulse 1.35s ease-out infinite;
}

.page .aicloudplus-test-recharge-track {
  position: relative;
  height: 8px;
  margin-top: 11px;
  overflow: hidden;
  border: 1px solid rgba(243, 223, 160, 0.12);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.32);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.32);
}

.page .aicloudplus-test-recharge-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  overflow: hidden;
  border-radius: inherit;
  background: linear-gradient(90deg, #9d8950 0%, #dbc57b 54%, #fff0b2 100%);
  box-shadow: 0 0 16px rgba(232, 198, 89, 0.28);
  transition: width 100ms linear;
}

.page .aicloudplus-test-recharge-fill::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.48), transparent);
  transform: translateX(-100%);
  animation: aicloudplus-test-recharge-progress-shine 1.4s ease-in-out infinite;
}

.page .aicloudplus-test-recharge-detail {
  margin: 9px 0 0;
  color: rgba(219, 215, 204, 0.6);
  font-size: 12px;
  line-height: 1.45;
}

.page .aicloudplus-test-recharge-session {
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-7px);
  transition:
    max-height 360ms cubic-bezier(.22, 1, .36, 1),
    margin-top 360ms cubic-bezier(.22, 1, .36, 1),
    opacity 240ms ease,
    transform 360ms cubic-bezier(.22, 1, .36, 1);
}

.page .aicloudplus-test-recharge-awaiting-session .aicloudplus-test-recharge-session {
  max-height: 176px;
  margin-top: 12px;
  opacity: 1;
  transform: translateY(0);
}

.page .aicloudplus-test-recharge-session-head,
.page .aicloudplus-test-recharge-session-row {
  display: flex;
  align-items: center;
}

.page .aicloudplus-test-recharge-session-head {
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.page .aicloudplus-test-recharge-session-label {
  color: rgba(224, 220, 209, 0.66);
  font-size: 11px;
  font-weight: 650;
}

.page .aicloudplus-test-recharge-type {
  padding: 3px 8px;
  border: 1px solid rgba(232, 194, 89, 0.28);
  border-radius: 999px;
  background: rgba(232, 194, 89, 0.09);
  color: #f3dfa0;
  font-size: 10px;
  letter-spacing: 0.04em;
}

.page .aicloudplus-test-recharge-session-row {
  align-items: flex-end;
  gap: 8px;
}

.page .aicloudplus-test-recharge-session-input {
  min-width: 0;
  min-height: 92px;
  max-height: 142px;
  flex: 1 1 auto;
  padding: 10px 11px;
  border: 1px solid rgba(232, 194, 89, 0.2);
  border-radius: 10px;
  outline: none;
  background: rgba(0, 0, 0, 0.3);
  color: #f2eee5;
  font: inherit;
  font-size: 12px;
  line-height: 1.45;
  resize: vertical;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.page .aicloudplus-test-recharge-session-input::placeholder {
  color: rgba(219, 215, 204, 0.42);
}

.page .aicloudplus-test-recharge-session-input:focus {
  border-color: rgba(232, 194, 89, 0.55);
  box-shadow: 0 0 0 3px rgba(232, 194, 89, 0.08);
}

.page .aicloudplus-test-recharge-session-input.aicloudplus-test-recharge-session-invalid {
  border-color: rgba(255, 105, 113, 0.72);
  background: rgba(255, 86, 96, 0.06);
  box-shadow: 0 0 0 3px rgba(255, 86, 96, 0.08);
  animation: aicloudplus-test-recharge-session-shake 280ms ease;
}

.page .aicloudplus-test-recharge-session-submit {
  height: 38px;
  flex: 0 0 auto;
  padding: 0 13px;
  border: 1px solid rgba(232, 194, 89, 0.34);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(219, 197, 123, 0.24), rgba(157, 137, 80, 0.16));
  color: #f3dfa0;
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}

.page .aicloudplus-test-recharge-session-submit:hover {
  border-color: rgba(232, 194, 89, 0.54);
  background: linear-gradient(135deg, rgba(219, 197, 123, 0.32), rgba(157, 137, 80, 0.22));
}

.page .aicloudplus-test-recharge-account {
  max-height: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition:
    max-height 340ms cubic-bezier(.22, 1, .36, 1),
    margin-top 340ms cubic-bezier(.22, 1, .36, 1),
    opacity 220ms ease,
    transform 340ms cubic-bezier(.22, 1, .36, 1);
}

.page .aicloudplus-test-recharge-account-visible .aicloudplus-test-recharge-account {
  max-height: 70px;
  margin-top: 12px;
  opacity: 1;
  transform: translateY(0);
}

.page .aicloudplus-test-recharge-account-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(232, 194, 89, 0.24);
  border-radius: 11px;
  background: rgba(232, 194, 89, 0.08);
  color: #f3dfa0;
  font-size: 14px;
  font-weight: 800;
}

.page .aicloudplus-test-recharge-account-details {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.8fr) minmax(0, 0.9fr);
  gap: 10px;
}

.page .aicloudplus-test-recharge-account-item {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.page .aicloudplus-test-recharge-account-item + .aicloudplus-test-recharge-account-item {
  padding-left: 10px;
  border-left: 1px solid rgba(232, 194, 89, 0.13);
}

.page .aicloudplus-test-recharge-account-label,
.page .aicloudplus-test-recharge-entitlement-label,
.page .aicloudplus-test-recharge-expiry-label {
  color: rgba(224, 220, 209, 0.52);
  font-size: 10px;
  font-weight: 650;
}

.page .aicloudplus-test-recharge-account-email,
.page .aicloudplus-test-recharge-entitlement,
.page .aicloudplus-test-recharge-expiry {
  overflow: hidden;
  color: #f2eee5;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-complete {
  border-color: rgba(123, 211, 163, 0.28);
  background:
    radial-gradient(360px 120px at 92% 0%, rgba(123, 211, 163, 0.11), transparent 72%),
    rgba(123, 211, 163, 0.045);
}

.page .aicloudplus-test-recharge-complete .aicloudplus-test-recharge-pulse {
  background: #7bd3a3;
  box-shadow: 0 0 16px rgba(123, 211, 163, 0.34);
  animation: none;
}

.page .aicloudplus-test-recharge-complete .aicloudplus-test-recharge-fill {
  background: linear-gradient(90deg, #4e9b71, #7bd3a3 58%, #b8f0ce);
  box-shadow: 0 0 18px rgba(123, 211, 163, 0.26);
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-failed {
  border-color: rgba(255, 139, 145, 0.3);
  background:
    radial-gradient(360px 120px at 92% 0%, rgba(255, 139, 145, 0.1), transparent 72%),
    rgba(255, 86, 96, 0.045);
}

.page .aicloudplus-test-recharge-failed .aicloudplus-test-recharge-pulse {
  background: #ff8b91;
  box-shadow: 0 0 16px rgba(255, 139, 145, 0.3);
  animation: none;
}

.page .aicloudplus-test-recharge-failed .aicloudplus-test-recharge-fill {
  background: linear-gradient(90deg, #8f454c, #d76d76 58%, #ff9aa0);
  box-shadow: 0 0 18px rgba(255, 139, 145, 0.2);
}

@keyframes aicloudplus-test-recharge-progress-pulse {
  0% { box-shadow: 0 0 0 0 rgba(232, 198, 89, 0.42); }
  70% { box-shadow: 0 0 0 7px rgba(232, 198, 89, 0); }
  100% { box-shadow: 0 0 0 0 rgba(232, 198, 89, 0); }
}

@keyframes aicloudplus-test-recharge-progress-shine {
  0%, 24% { transform: translateX(-100%); opacity: 0; }
  42% { opacity: 0.72; }
  76%, 100% { transform: translateX(100%); opacity: 0; }
}

@keyframes aicloudplus-test-recharge-session-shake {
  0%, 100% { transform: translateX(0); }
  30% { transform: translateX(-3px); }
  70% { transform: translateX(3px); }
}

@media (max-width: 760px) {
  .page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active {
    max-height: 184px;
    padding-inline: 14px;
  }

  .page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-awaiting-session {
    max-height: 368px;
  }

  .page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-account-visible {
    max-height: 382px;
  }

  .page .aicloudplus-test-recharge-stage-row {
    font-size: 13px;
  }

  .page .aicloudplus-test-recharge-account {
    align-items: flex-start;
  }

  .page .aicloudplus-test-recharge-account-visible .aicloudplus-test-recharge-account {
    max-height: 148px;
  }

  .page .aicloudplus-test-recharge-account-details {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  .page .aicloudplus-test-recharge-account-item + .aicloudplus-test-recharge-account-item {
    padding-left: 0;
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page .aicloudplus-test-recharge-panel,
  .page .aicloudplus-test-recharge-fill,
  .page .aicloudplus-test-recharge-session,
  .page .aicloudplus-test-recharge-account {
    transition: none;
  }

  .page .aicloudplus-test-recharge-pulse,
  .page .aicloudplus-test-recharge-fill::after {
    animation: none;
  }
}

/* Premium progress-card layout refinement. */
.page .aicloudplus-test-recharge-panel {
  isolation: isolate;
  border-radius: 19px;
  background:
    radial-gradient(420px 180px at 102% -12%, rgba(236, 204, 108, 0.13), transparent 68%),
    radial-gradient(300px 150px at -8% 112%, rgba(117, 91, 34, 0.08), transparent 72%),
    linear-gradient(145deg, rgba(26, 27, 29, 0.96), rgba(13, 16, 21, 0.96));
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    inset 0 0 0 1px rgba(255, 255, 255, 0.012);
}

.page .aicloudplus-test-recharge-panel::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 20px;
  left: 20px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(255, 232, 158, 0.42), transparent);
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active {
  max-height: 220px;
  padding: 18px 18px 17px;
  border-color: rgba(232, 194, 89, 0.25);
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-awaiting-session {
  max-height: 420px;
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-account-visible {
  max-height: 330px;
}

.page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-failed.aicloudplus-test-recharge-account-visible {
  max-height: 350px;
}

.page .aicloudplus-test-recharge-head {
  min-height: 27px;
}

.page .aicloudplus-test-recharge-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(239, 229, 205, 0.72);
  font-size: 10px;
  letter-spacing: 0.18em;
}

.page .aicloudplus-test-recharge-label::before {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #e6c568;
  box-shadow: 0 0 0 4px rgba(230, 197, 104, 0.09), 0 0 14px rgba(230, 197, 104, 0.32);
  content: "";
}

.page .aicloudplus-test-recharge-percent {
  min-width: 56px;
  padding: 5px 10px 4px;
  border: 1px solid rgba(232, 194, 89, 0.22);
  border-radius: 999px;
  background: rgba(232, 194, 89, 0.075);
  color: #f7e5aa;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.page .aicloudplus-test-recharge-stage-row {
  gap: 11px;
  margin-top: 12px;
  color: #fbf7ed;
  font-size: 15px;
  font-weight: 720;
  letter-spacing: 0.01em;
}

.page .aicloudplus-test-recharge-pulse {
  width: 9px;
  height: 9px;
  flex-basis: 9px;
  border: 2px solid rgba(255, 248, 221, 0.42);
  background: #e8c659;
}

.page .aicloudplus-test-recharge-track {
  height: 10px;
  margin-top: 13px;
  border-color: rgba(243, 223, 160, 0.16);
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 9%),
    rgba(0, 0, 0, 0.42);
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.42), 0 1px 0 rgba(255, 255, 255, 0.025);
}

.page .aicloudplus-test-recharge-fill {
  background: linear-gradient(90deg, #a78c43 0%, #d5b95f 50%, #ffe9a0 100%);
  box-shadow: 0 0 20px rgba(232, 198, 89, 0.3);
}

.page .aicloudplus-test-recharge-detail {
  margin: 11px 0 0;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.045);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
  color: rgba(227, 221, 207, 0.62);
  font-size: 11px;
  line-height: 1.45;
}

.page .aicloudplus-test-recharge-session {
  border: 1px solid transparent;
  border-radius: 13px;
}

.page .aicloudplus-test-recharge-awaiting-session .aicloudplus-test-recharge-session {
  max-height: 224px;
  margin-top: 14px;
  padding: 12px;
  border-color: rgba(232, 194, 89, 0.14);
  background: rgba(0, 0, 0, 0.18);
}

.page .aicloudplus-test-recharge-session-head {
  margin-bottom: 10px;
}

.page .aicloudplus-test-recharge-session-label {
  color: rgba(236, 229, 211, 0.66);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.page .aicloudplus-test-recharge-type {
  padding: 4px 10px;
  border-color: rgba(232, 194, 89, 0.3);
  background: rgba(232, 194, 89, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.page .aicloudplus-test-recharge-session-input {
  padding: 11px 12px;
  border-color: rgba(232, 194, 89, 0.17);
  border-radius: 11px;
  background: rgba(4, 6, 10, 0.46);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.2);
}

.page .aicloudplus-test-recharge-session-submit {
  height: 40px;
  padding-inline: 15px;
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(239, 214, 133, 0.25), rgba(157, 137, 80, 0.14));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055), 0 8px 20px rgba(0, 0, 0, 0.12);
}

.page .aicloudplus-test-recharge-account {
  gap: 12px;
}

.page .aicloudplus-test-recharge-account-visible .aicloudplus-test-recharge-account {
  max-height: 92px;
  margin-top: 13px;
}

.page .aicloudplus-test-recharge-account-icon {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  border-color: rgba(232, 194, 89, 0.28);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(232, 194, 89, 0.13), rgba(232, 194, 89, 0.045));
  color: #f8e4a3;
  font-size: 15px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.page .aicloudplus-test-recharge-account-details {
  grid-template-columns: minmax(0, 1.55fr) minmax(112px, 0.78fr) minmax(116px, 0.86fr);
  gap: 8px;
}

.page .aicloudplus-test-recharge-account-item,
.page .aicloudplus-test-recharge-account-item + .aicloudplus-test-recharge-account-item {
  gap: 4px;
  padding: 9px 11px;
  border: 1px solid rgba(255, 255, 255, 0.055);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015));
}

.page .aicloudplus-test-recharge-account-label,
.page .aicloudplus-test-recharge-entitlement-label,
.page .aicloudplus-test-recharge-expiry-label {
  color: rgba(224, 220, 209, 0.48);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.page .aicloudplus-test-recharge-account-email,
.page .aicloudplus-test-recharge-entitlement,
.page .aicloudplus-test-recharge-expiry {
  color: #f8f3e8;
  font-size: 11px;
  font-weight: 720;
}

.page .aicloudplus-test-recharge-complete .aicloudplus-test-recharge-percent {
  border-color: rgba(123, 211, 163, 0.27);
  background: rgba(123, 211, 163, 0.08);
  color: #b8f0ce;
}

.page .aicloudplus-test-recharge-complete .aicloudplus-test-recharge-account-icon,
.page .aicloudplus-test-recharge-complete .aicloudplus-test-recharge-account-item {
  border-color: rgba(123, 211, 163, 0.14);
}

.page .aicloudplus-test-recharge-failed .aicloudplus-test-recharge-percent {
  border-color: rgba(255, 139, 145, 0.27);
  background: rgba(255, 86, 96, 0.08);
  color: #ffb9bd;
}

@media (max-width: 760px) {
  .page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active {
    max-height: 250px;
    padding: 16px 14px 15px;
  }

  .page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-awaiting-session {
    max-height: 520px;
  }

  .page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-account-visible,
  .page .aicloudplus-test-recharge-panel.aicloudplus-test-recharge-active.aicloudplus-test-recharge-failed.aicloudplus-test-recharge-account-visible {
    max-height: 540px;
  }

  .page .aicloudplus-test-recharge-stage-row {
    font-size: 14px;
  }

  .page .aicloudplus-test-recharge-session-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .page .aicloudplus-test-recharge-session-submit {
    width: 100%;
  }

  .page .aicloudplus-test-recharge-account {
    align-items: flex-start;
  }

  .page .aicloudplus-test-recharge-account-visible .aicloudplus-test-recharge-account {
    max-height: 254px;
  }

  .page .aicloudplus-test-recharge-account-details {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  .page .aicloudplus-test-recharge-account-item,
  .page .aicloudplus-test-recharge-account-item + .aicloudplus-test-recharge-account-item {
    padding: 8px 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page .aicloudplus-test-recharge-panel,
  .page .aicloudplus-test-recharge-percent,
  .page .aicloudplus-test-recharge-account-item {
    transition: none;
  }
}
/* Left-side local test controller. */

.aicloudplus-test-control {
  position: fixed;
  top: 50%;
  left: 18px;
  z-index: 70;
  width: 222px;
  overflow: hidden;
  border: 1px solid rgba(232, 194, 89, 0.26);
  border-radius: 18px;
  background:
    radial-gradient(260px 130px at 10% 0%, rgba(232, 194, 89, 0.12), transparent 72%),
    rgba(8, 10, 16, 0.88);
  color: #f2eee5;
  box-shadow: 0 22px 62px rgba(0, 0, 0, 0.46), inset 0 1px 0 rgba(255, 255, 255, 0.045);
  -webkit-backdrop-filter: blur(22px) saturate(130%);
  backdrop-filter: blur(22px) saturate(130%);
  transform: translateY(-50%);
  transition: width 260ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.aicloudplus-test-control-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 11px 12px 10px 14px;
  border-bottom: 1px solid rgba(232, 194, 89, 0.12);
}

.aicloudplus-test-control-kicker,
.aicloudplus-test-control-title {
  display: block;
}

.aicloudplus-test-control-kicker {
  color: rgba(232, 194, 89, 0.65);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.aicloudplus-test-control-title {
  margin-top: 3px;
  color: #f4ead0;
  font-size: 14px;
  font-weight: 700;
}

.aicloudplus-test-control-collapse {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(232, 194, 89, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.045);
  color: #dbc57b;
  font-size: 17px;
  line-height: 1;
}

.aicloudplus-test-control-body {
  max-height: 650px;
  padding: 13px 14px 14px;
  opacity: 1;
  transition: max-height 280ms ease, padding 280ms ease, opacity 180ms ease;
}

.aicloudplus-test-control-field + .aicloudplus-test-control-field {
  margin-top: 10px;
}

.aicloudplus-test-control-scenario-target {
  margin-top: 8px;
  padding: 7px 9px;
  border: 1px solid rgba(255, 139, 145, 0.2);
  border-radius: 9px;
  background: rgba(255, 86, 96, 0.055);
  color: rgba(224, 220, 209, 0.58);
  font-size: 9px;
  line-height: 1.35;
}

.aicloudplus-test-control-scenario-target[hidden] {
  display: none;
}

.aicloudplus-test-control-scenario-target strong {
  color: #ffb1b5;
  font-weight: 750;
}

.aicloudplus-test-control-scenario-target + .aicloudplus-test-control-field {
  margin-top: 10px;
}

.aicloudplus-test-control-label,
.aicloudplus-test-control-progress-head {
  color: rgba(224, 220, 209, 0.68);
  font-size: 11px;
  font-weight: 650;
}

.aicloudplus-test-control-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
}

.aicloudplus-test-control select,
.aicloudplus-test-control input[type="email"],
.aicloudplus-test-control input[type="date"],
.aicloudplus-test-control input[type="number"] {
  width: 100%;
  height: 36px;
  margin-top: 7px;
  border: 1px solid rgba(232, 194, 89, 0.17);
  border-radius: 10px;
  outline: none;
  background: rgba(0, 0, 0, 0.26);
  color: #eee7d7;
  font: inherit;
}

.aicloudplus-test-control select {
  padding: 0 10px;
}

.aicloudplus-test-control input[type="email"],
.aicloudplus-test-control input[type="date"] {
  padding: 0 10px;
  font-size: 11px;
}

.aicloudplus-test-control input[type="date"] {
  color-scheme: dark;
}

.aicloudplus-test-control input[type="number"] {
  width: 54px;
  height: 28px;
  margin: 0;
  padding: 0 6px;
  text-align: center;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.aicloudplus-test-control select:focus,
.aicloudplus-test-control input:focus {
  border-color: rgba(232, 194, 89, 0.54);
  box-shadow: 0 0 0 3px rgba(232, 194, 89, 0.08);
}

.aicloudplus-test-control input[type="range"] {
  width: 100%;
  height: 18px;
  margin: 0;
  accent-color: #dbc57b;
}

.aicloudplus-test-control-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 14px;
}

.aicloudplus-test-control-action {
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid rgba(232, 194, 89, 0.17);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.045);
  color: rgba(238, 231, 215, 0.82);
  font-size: 11px;
  font-weight: 700;
}

.aicloudplus-test-control-action:hover {
  border-color: rgba(232, 194, 89, 0.38);
  background: rgba(232, 194, 89, 0.09);
  color: #fff0b2;
}

.aicloudplus-test-control-action[data-action="run"],
.aicloudplus-test-control-action[data-action="complete"] {
  background: linear-gradient(135deg, rgba(219, 197, 123, 0.22), rgba(157, 137, 80, 0.12));
  color: #f3dfa0;
}

.aicloudplus-test-control-note {
  margin: 11px 0 0;
  color: rgba(204, 198, 184, 0.46);
  font-size: 9px;
  line-height: 1.45;
}

.aicloudplus-test-control.aicloudplus-test-control-collapsed {
  width: 190px;
}

.aicloudplus-test-control-collapsed .aicloudplus-test-control-head {
  border-bottom-color: transparent;
}

.aicloudplus-test-control-collapsed .aicloudplus-test-control-body {
  max-height: 0;
  padding-block: 0;
  opacity: 0;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .aicloudplus-test-control {
    top: auto;
    bottom: 16px;
    left: 14px;
    transform: none;
  }
}

@media (max-width: 760px) {
  .aicloudplus-test-control {
    top: auto;
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
    transform: none;
  }

  .aicloudplus-test-control.aicloudplus-test-control-collapsed {
    right: auto;
    width: 190px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aicloudplus-test-control,
  .aicloudplus-test-control-body {
    transition: none;
  }
}
/* Keep the fixed onboarding guide anchored to the viewport without duplicating the card backdrop filter. */
.page .redeem-card {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  isolation: isolate;
}

/* Real recharge order states */
.aicloudplus-session-privacy {
  display: block;
  margin-top: 10px;
  color: rgba(232, 224, 203, .62);
  font-size: 11px;
  line-height: 1.6;
}
.aicloudplus-order-receipt {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);
  gap: 10px;
  margin-top: 14px;
}
.aicloudplus-order-receipt[hidden] { display: none; }
.aicloudplus-order-receipt > div,
.aicloudplus-recharge-state-grid > span {
  min-width: 0;
  border: 1px solid rgba(224, 188, 91, .16);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255, 230, 151, .045), rgba(4, 4, 8, .44));
  padding: 11px 12px;
}
.aicloudplus-order-receipt small,
.aicloudplus-recharge-state-grid small {
  display: block;
  color: rgba(232, 224, 203, .5);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.aicloudplus-order-receipt strong,
.aicloudplus-recharge-state-grid strong {
  display: block;
  margin-top: 5px;
  color: #f6ebc9;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.aicloudplus-order-receipt > p {
  grid-column: 1 / -1;
  margin: 0;
  border-radius: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(224, 168, 71, .22);
  color: #f1c66f;
  background: rgba(178, 116, 26, .08);
  font-size: 12px;
  line-height: 1.5;
}
.aicloudplus-order-receipt > p.safe {
  color: #91d5b6;
  border-color: rgba(85, 194, 139, .2);
  background: rgba(38, 138, 91, .08);
}
.aicloudplus-recharge-state-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.aicloudplus-batch-status-results {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 6px;
  min-width: 0;
  max-height: min(320px, 45vh);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(239, 213, 140, .3) transparent;
}
.aicloudplus-batch-status-results:focus-visible {
  outline: 1px solid rgba(239, 213, 140, .62);
  outline-offset: 2px;
}
.aicloudplus-batch-status-results > p {
  margin: 0;
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.aicloudplus-batch-status-results [data-batch-error] { color: #eeb88b; }
.aicloudplus-batch-status-results > article {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr);
  gap: 8px 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  min-width: 0;
}
.aicloudplus-batch-status-results > article:last-child { border-bottom: 0; padding-bottom: 0; }
.aicloudplus-batch-key,
.aicloudplus-batch-result-fields > div { display: grid; align-content: start; gap: 4px; min-width: 0; }
.aicloudplus-batch-result-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; min-width: 0; }
.aicloudplus-batch-result-fields .aicloudplus-batch-result-status { grid-column: 1 / -1; grid-row: 1; }
.aicloudplus-batch-status-results strong {
  color: #f4df9d;
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.7;
}
.aicloudplus-batch-status-results small { color: rgba(224, 216, 197, .5); font-size: 10px; line-height: 1.5; }
.aicloudplus-batch-status-results span { color: rgba(240, 234, 219, .78); font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.aicloudplus-batch-status-results [data-batch-state="success"] [data-batch-status] { color: #91d5b6; }
.aicloudplus-batch-status-results [data-batch-state="failed"] [data-batch-status],
.aicloudplus-batch-status-results [data-batch-state="invalid"] [data-batch-status] { color: #eeaaa1; }
.aicloudplus-batch-status-results [data-batch-state="unknown"] [data-batch-status],
.aicloudplus-batch-status-results [data-batch-state="processing"] [data-batch-status],
.aicloudplus-batch-status-results [data-batch-state="queued"] [data-batch-status] { color: #f1c66f; }
[data-action="batch-query"][aria-busy="true"] { cursor: wait; }
[data-action="redeem"][aria-busy="true"],
.aicloudplus-test-recharge-session-submit[aria-busy="true"] {
  cursor: wait;
  opacity: .72;
}
@media (max-width: 680px) {
  .aicloudplus-order-receipt,
  .aicloudplus-recharge-state-grid { grid-template-columns: 1fr 1fr; }
  .aicloudplus-batch-status-results > article { grid-template-columns: minmax(0, 1fr); }
}

/* Desktop batch results: compact fields without hiding or clipping content. */
@media (min-width: 681px) {
  .aicloudplus-batch-status-results > article {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 6px 0;
  }
  .aicloudplus-batch-key {
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
  }
  .aicloudplus-batch-result-fields {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 16px;
  }
  .aicloudplus-batch-result-fields > div {
    display: flex;
    align-items: baseline;
    gap: 4px;
    max-width: 100%;
  }
  .aicloudplus-batch-result-fields .aicloudplus-batch-result-status {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Account/date metadata stays compact and wraps in full, never truncates. */
.aicloudplus-batch-result-fields small { flex-shrink: 0; }
@media (max-width: 680px) {
  .aicloudplus-batch-result-fields { gap: 6px 12px; }
  .aicloudplus-batch-result-fields > div { display: flex; align-items: baseline; gap: 4px; }
  .aicloudplus-batch-result-fields .aicloudplus-batch-account,
  .aicloudplus-batch-result-fields .aicloudplus-batch-date { grid-column: 1 / -1; }
  .aicloudplus-batch-result-fields span { min-width: 0; }
}

/* AiCloudPlus v1.0 — authoritative single-order availability, no synthetic capacity. */
.aicloudplus-recharge-availability{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;margin:16px 0;padding:16px 18px;border:1px solid rgba(215,181,108,.24);border-radius:14px;background:linear-gradient(135deg,rgba(215,181,108,.08),rgba(10,11,15,.6));color:#e8d9b6;overflow-wrap:anywhere}
.aicloudplus-recharge-availability>strong{font-size:15px;line-height:1.5;color:#f4e8cd}
.aicloudplus-recharge-availability>p{grid-column:1;font-size:13px;line-height:1.7;margin:0;color:#c3b9a5}
.aicloudplus-recharge-availability>small{grid-column:1;font-size:11px;color:#a49b88}
.aicloudplus-recharge-availability>small:empty{display:none}
.aicloudplus-availability-refresh{grid-column:2;grid-row:1/4;align-self:center;min-height:40px;padding:8px 12px;border-radius:9px;border:1px solid rgba(215,181,108,.28);color:#e9d4a2;background:#171613;cursor:pointer;font:inherit;font-size:12px}
.aicloudplus-availability-refresh:hover{background:#272319}
.aicloudplus-availability-refresh:focus-visible{outline:2px solid #e9c67f;outline-offset:3px}
.aicloudplus-recharge-availability[data-intake-allowed="true"]{border-color:rgba(117,189,143,.35)}
.redeem-card button:disabled{cursor:not-allowed;opacity:.52;filter:saturate(.45)}
@media(max-width:520px){.aicloudplus-recharge-availability{grid-template-columns:minmax(0,1fr);padding:13px}.aicloudplus-availability-refresh{grid-column:1;grid-row:auto;justify-self:start}.aicloudplus-recharge-availability>p{font-size:12px}}

/* Production API view uses the local customer panel; diagnostic fields stay expandable. */
.aicloudplus-recharge-availability[hidden] { display: none; }
.page .aicloudplus-customer-api-panel.aicloudplus-test-recharge-active { max-height: none !important; }
.page .aicloudplus-customer-api-panel .aicloudplus-test-recharge-session[hidden],
.aicloudplus-customer-order-details[hidden],
.aicloudplus-customer-payment-note[hidden] { display: none; }
.page .aicloudplus-customer-api-panel .aicloudplus-test-recharge-session { max-height: none; }
.page .aicloudplus-customer-api-panel .aicloudplus-test-recharge-account { min-width: 0; }
.page .aicloudplus-customer-api-panel .aicloudplus-test-recharge-account-email { overflow-wrap: anywhere; }
.aicloudplus-customer-payment-note { margin: 12px 0 0; color: #f1c66f; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.aicloudplus-customer-payment-note.safe { color: #91d5b6; }
.aicloudplus-customer-order-details { margin-top: 12px; font-size: 11px; color: rgba(227,221,207,.62); }
.aicloudplus-customer-order-details > summary { cursor: pointer; width: fit-content; padding: 4px 0; }
.aicloudplus-customer-order-details > summary:focus-visible { outline: 2px solid #e9c67f; outline-offset: 3px; border-radius: 3px; }
@media (max-width: 520px) {
  .aicloudplus-customer-api-panel .aicloudplus-order-receipt { grid-template-columns: minmax(0,1fr); }
}

/* Recharge summaries share the intro's timed notice; pending is not an error. */
.page .xiaojiu-intro.aicloudplus-inline-card-message-error[data-aicloudplus-inline-tone="neutral"] {
  color: #f0d292;
  border-color: rgba(225, 185, 100, .32);
  background: rgba(225, 185, 100, .09);
}
.page .xiaojiu-intro.aicloudplus-inline-card-message-error[data-aicloudplus-inline-tone="success"] {
  color: #86e5b6;
  border-color: rgba(104, 216, 161, .35);
  background: rgba(104, 216, 161, .10);
}
.page .redeem-card .aicloudplus-test-recharge-detail[hidden] { display: none !important; }

/* Mobile content flow: release legacy language-switch height locks only here.
 * Desktop geometry, payment state, and the existing effects stay unchanged.
 */
@media (max-width: 760px) {
  .page .topbar {
    height: auto;
    min-height: 0;
    gap: 8px;
    padding: 12px 16px;
  }

  .page .brand > span:last-child {
    height: auto;
    min-height: 24px;
    overflow: visible;
    white-space: normal;
    line-height: 1.45;
  }

  .page .main {
    top: 0;
    padding: 24px 16px 32px;
  }

  .page .hero,
  .page .hero-title,
  .page .hero-subtitle,
  .page .hero-chips,
  .page .hero-chip,
  .page .hero-chip-label,
  .page .card-head,
  .page .card-head h1,
  .page .xiaojiu-intro-row,
  .page .xiaojiu-intro {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }

  .page .hero {
    grid-template-rows: auto;
    gap: 12px;
    margin-bottom: 24px;
  }

  .page .hero-title,
  html:lang(zh-CN) .page .hero-title {
    display: block;
    font-size: clamp(28px, 8.8vw, 38px);
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .page .hero-subtitle {
    display: block;
    width: 100%;
    max-width: 520px;
    font-size: 13px;
    line-height: 1.7;
  }

  .page .hero-chips {
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
  }

  .page .hero-chip {
    grid-template-columns: 14px minmax(0, 1fr);
    min-height: 32px;
    padding: 6px 8px;
  }

  .page .hero-chip-label {
    display: block;
    white-space: normal;
    text-overflow: clip;
    line-height: 1.4;
  }

  .page main > .redeem-card {
    padding: 20px 18px;
    border-radius: 22px;
  }

  .page .card-head {
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }

  .page .card-head h1 {
    display: block;
    font-size: 26px;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  .page .card-head > .status-badge {
    flex: 0 0 auto;
    width: auto;
    min-width: 64px;
    max-width: 42%;
    height: auto;
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    overflow: visible;
  }

  .page .xiaojiu-intro-row {
    grid-template-rows: auto auto;
    gap: 0;
  }

  .page .xiaojiu-intro {
    padding: 9px 12px;
    white-space: normal;
    text-overflow: clip;
    overflow-wrap: anywhere;
    line-height: 1.65;
  }

  .page .xiaojiu-tour-replay {
    justify-self: end;
    width: auto;
    max-width: 100%;
    height: auto;
    min-height: 44px;
    padding: 10px 0;
    line-height: 1.5;
    white-space: normal;
    overflow: visible;
  }

  .page .redeem-card > .step-header {
    margin: 6px 0 12px;
  }

  .page .verify-row,
  .page .guofen-verify-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .page .verify-row > .input-wrap {
    grid-column: 1 / -1;
    min-width: 0;
    min-height: 50px;
  }

  .page .verify-row > .input-wrap input {
    min-width: 0;
    font-size: 16px; /* Prevent iOS focus zoom without disabling user zoom. */
  }

  .page .verify-row > .btn {
    min-width: 0;
    min-height: 48px;
    height: auto;
    padding: 10px 8px;
    font-size: 14px;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .page .redeem-card > .xiaojiu-faq-toggle {
    height: auto;
    min-height: 44px;
    padding: 10px 0;
    white-space: normal;
    text-overflow: clip;
    overflow: visible;
    line-height: 1.5;
  }

  .page .footer {
    height: auto;
    min-height: 0;
    gap: 6px;
    padding: 12px 16px 24px;
  }

  .page .footer > :first-child,
  .page .footer > .footer-sep,
  .page .footer > :last-child {
    height: auto;
    line-height: 1.6;
    white-space: normal;
    overflow: visible;
  }
}
