:root{--primary:#4c94e8;--ink:#16233c;--muted:#6c778b}*{box-sizing:border-box}body{margin:0;background:#f7f9fd;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background-size:cover;background-position:center;background-attachment:fixed}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}.page{max-width:1160px;padding:0 40px;margin:auto}header{height:96px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;font-size:22px}.brand-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--primary);color:white;border-radius:12px;font-size:27px}#logo{width:40px;height:40px;object-fit:contain}.header-chat{font-size:14px;color:var(--muted)}.header-chat span{margin-left:14px}.intro{padding:88px 0 82px;max-width:820px}.eyebrow{font-size:13px;font-weight:600;letter-spacing:2px;color:var(--primary)}h1{font-size:clamp(34px,5vw,62px);letter-spacing:-2px;line-height:1.18;margin:24px 0}#subtitle{font-size:18px;line-height:1.8;color:var(--muted);max-width:660px;white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;gap:14px;margin-top:32px}.primary,.secondary{padding:17px 25px;border-radius:13px;font-weight:600;display:inline-flex;align-items:center;gap:30px}.primary{background:var(--primary);color:white;box-shadow:0 8px 24px #23395518}.secondary{background:white;border:1px solid #e3e8f2}.hint{font-size:13px;color:var(--muted);margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-head h2{font-size:28px;margin:12px 0 24px}.section-head p{color:var(--muted);font-size:14px;margin-bottom:28px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{display:flex;flex-direction:column;min-height:190px;padding:24px;background:#ffffffec;border:1px solid #e5eaf4;border-radius:18px;transition:transform .15s,border-color .15s}.card:hover{transform:translateY(-3px);border-color:var(--primary)}.device{font-size:27px;color:var(--primary);height:46px}.card strong{font-size:18px}.version{font-size:13px;color:var(--muted);margin:8px 0 22px;overflow-wrap:anywhere}.get{margin-top:auto;font-size:14px;color:var(--primary);display:flex;justify-content:space-between}#pending{color:var(--muted);font-size:14px}footer{margin-top:70px;padding:30px 0;border-top:1px solid #e4eaf3;font-size:13px;color:var(--muted);white-space:pre-wrap}[hidden]{display:none!important}a:focus-visible{outline:3px solid var(--primary);outline-offset:4px}@media(max-width:760px){.page{padding:0 24px}header{height:80px}.intro{padding:56px 0}.section-head p{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:20px}h1{letter-spacing:-1px}}@media(max-width:360px){.page{padding:0 18px}.primary,.secondary{padding:15px 16px;gap:12px}.brand{font-size:19px}.header-chat{font-size:12px}.card{padding:16px}.section-head h2{font-size:24px}}
/* Only the explicitly selected customer uses the full poster download layout. */
.poster-download{background:var(--poster-page-background,#073362);background-image:none!important}.poster-download .page{display:none}.poster-wrap{position:relative;width:100%;max-width:560px;margin:0 auto;line-height:0}.download-poster{display:block;width:100%;height:auto}.poster-fallback{min-height:100svh;background:linear-gradient(145deg,#f9e8bd,#f7d497);text-align:center;padding:30vh 24px 0;color:#7a0c06;line-height:1.6}.poster-fallback h1{font-size:36px;letter-spacing:0}.poster-button{position:absolute;top:64%;left:50%;transform:translateX(-50%);width:62%;min-height:50px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--poster-button-background,#1559a6);border:2px solid var(--poster-button-border,#f2c14e);color:var(--poster-button-text,#fff);font-size:clamp(15px,4.2vw,21px);font-weight:700;letter-spacing:1px;padding:8px;text-align:center;overflow-wrap:anywhere;line-height:1.3;text-shadow:0 1px 2px #0006;box-shadow:0 6px 18px #5a0c0673;transition:filter .15s,transform .15s}.poster-button:hover{filter:brightness(1.12);transform:translateX(-50%) translateY(-1px)}.poster-button:active{transform:translateX(-50%)}.poster-button:focus-visible{outline:3px solid #fff;outline-offset:3px}.poster-unavailable{position:absolute;top:64%;width:100%;padding:0 18px;line-height:1.6;text-align:center;color:#7a0c06;font-size:16px}@media(prefers-reduced-motion:reduce){.poster-button{transition:none}.poster-button:hover{transform:translateX(-50%)}}

/* Quanming never paints the generic page or fallback while its published poster loads. */
body[data-customer="quanming"]{background:var(--poster-page-background,#073362)}body[data-customer="quanming"] .page{display:none}.poster-pending .poster-wrap{min-height:100svh}.poster-status{position:absolute;top:42%;width:100%;padding:0 20px;line-height:1.6;text-align:center;color:#fff;font-size:16px}

/* Hold the button until the first configured poster is ready; leave it usable on image failure. */
.poster-pending:not(.poster-load-error) .poster-button{visibility:hidden}
