:root{color-scheme:light;--bg:#f6f7f2;--panel:#edf1e8;--line:#d3dbcf;--ink:#24392d;--muted:#59695c;--accent:#c4e69a;--accent-ink:#3e642e;--on-accent:#172412;--radius:16px;--font:"Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}html{min-width:320px;scrollbar-color:var(--line) var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent-ink);outline-offset:6px}::selection{background:var(--accent);color:var(--on-accent)}svg{display:block;flex-shrink:0;width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button{cursor:pointer}.shell{max-width:1120px;margin:auto;padding:0 48px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:700;letter-spacing:.04em}.brandmark{width:31px;height:31px;color:var(--accent-ink)}.demo{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:6px 9px;white-space:nowrap}.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:64px;align-items:center;padding:80px 0 72px;min-height:570px}.intro h1{font-size:64px;line-height:1.25;letter-spacing:-.035em;margin:0 0 24px;font-weight:750}.intro h1 span{display:block;color:var(--accent-ink)}.intro p{color:var(--muted);font-size:16px;line-height:1.9;margin:0}.intro .short-rule{height:2px;width:48px;background:var(--accent);margin:34px 0 20px}.intro .game{font-size:13px;letter-spacing:.1em;color:var(--muted)}.choices{display:flex;flex-direction:column;gap:16px}.choice{display:block;border-radius:var(--radius);padding:26px 28px;position:relative;transition:background-color .18s,transform .18s}.choice:hover{transform:translateY(-3px)}.choice:active{transform:translateY(0)}.choice-primary{background:var(--accent);color:var(--on-accent)}.choice-primary:hover{background:#b8dc88}.choice-secondary{background:var(--panel);border:1px solid var(--line)}.choice-secondary:hover{background:#e3eadc}.choice-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.choice-icon{width:29px;height:29px}.choice-tag{font-size:12px;opacity:.8}.choice h2{font-size:27px;margin:0 0 7px;letter-spacing:-.025em}.choice p{font-size:14px;margin:0;line-height:1.7;color:#354929}.choice-secondary p{color:var(--muted)}.choice-bottom{margin-top:24px;padding-top:17px;border-top:1px solid #87ac4c;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700}.choice-secondary .choice-bottom{border-color:var(--line);color:var(--accent-ink)}.choice-bottom svg{width:20px;height:20px;transition:transform .18s}.choice:hover .choice-bottom svg{transform:translateX(4px)}.guide{border-top:1px solid var(--line);padding:26px 0;display:flex;gap:34px;align-items:center}.guide h2{font-size:14px;margin:0;flex-shrink:0;font-weight:500;color:var(--muted)}.steps{display:flex;align-items:center;gap:24px;font-size:14px}.steps svg{width:16px;height:16px;color:#829589}.footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:24px 0 32px;color:var(--muted);font-size:12px;line-height:1.7}.footer a{text-decoration:underline;text-underline-offset:4px}.subpage{max-width:620px;margin:40px auto 70px}.back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-bottom:40px;padding:8px 0}.back svg{width:18px;height:18px}.sub-icon{width:44px;height:44px;color:var(--accent-ink);margin-bottom:20px}.subpage h1{font-size:38px;letter-spacing:-.03em;margin:0 0 14px}.lead{color:var(--muted);font-size:15px;line-height:1.85;margin:0 0 28px}.demo-note{background:#e8efdf;color:#42553a;border-radius:8px;padding:15px 18px;font-size:13px;line-height:1.8}.contact-panel{background:#fcfcf8;border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin-top:24px;text-align:center}.contact-panel h2{font-size:19px;margin:17px 0 8px}.contact-panel p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.placeholder{width:116px;height:116px;border:1px dashed #718477;border-radius:12px;margin:auto;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.placeholder svg{width:32px;height:32px}.qr-image{display:block;width:180px;max-width:100%;height:auto;background:white;padding:10px;margin:auto;border-radius:8px}.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:17px 20px;background:var(--accent);color:var(--on-accent);font-size:15px;font-weight:700;border:0;border-radius:10px;margin-top:24px;min-height:54px}.primary-button:hover{background:#b8dc88}.secondary-link{display:block;text-align:center;padding:18px 8px;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:5px}.details{margin-top:30px;border-top:1px solid var(--line)}.details summary{cursor:pointer;padding:20px 0;font-size:14px}.details p{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 22px}.status{min-height:22px;font-size:13px;color:var(--accent-ink);margin-top:12px}.route-caption{color:var(--muted);font-size:12px;margin-top:18px;text-align:center}.platform-icon{margin:0 auto 20px;width:44px;height:44px;color:var(--accent-ink)}
.qr-frame{width:min(100%,320px);margin:0 auto;background:#fff;border-radius:10px;overflow:hidden}
.qr-frame .qr-image{width:100%;padding:0;border-radius:0}
.qr-frame-screenshot{position:relative;aspect-ratio:1}
/* Original 864px-wide screenshot: show only the complete square code and its white margin. */
.qr-frame-screenshot .qr-image{position:absolute;top:-81.05%;left:-6.84%;width:113.68%;max-width:none;height:auto}
.contact-panel .contact-account{margin-top:16px;color:var(--ink);font-size:17px;overflow-wrap:anywhere;user-select:text}
.qr-original{display:inline-block;margin-top:18px;padding:4px;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.choice-heading{display:flex;align-items:center;gap:20px;margin-bottom:14px}
.choice-avatar{display:block;flex:0 0 88px;width:88px;height:88px;object-fit:contain}
.choice-heading h2{margin:0 0 7px}
@media(max-width:700px){.choice-heading{gap:16px;margin-bottom:12px}.choice-avatar{flex-basis:76px;width:76px;height:76px}}
@media(min-width:1000px){.intro h1{font-size:70px}.hero{gap:72px}}
@media(max-width:700px){.shell{padding:0 24px}.topbar{height:76px}.brand{font-size:15px;gap:9px}.brandmark{width:27px;height:27px}.demo{font-size:11px;padding:4px 7px}.hero{display:block;padding:36px 0 28px;min-height:0}.intro h1{font-size:44px;line-height:1.2;margin:0 0 15px;letter-spacing:-.035em}.intro h1 span{display:inline}.intro p{font-size:14px;line-height:1.8}.intro .short-rule,.intro .game{display:none}.choices{margin-top:28px;gap:14px}.choice{padding:20px 22px}.choice-top{margin-bottom:12px}.choice-icon{width:25px;height:25px}.choice h2{font-size:24px}.choice p{font-size:13px}.choice-bottom{margin-top:17px;padding-top:13px;font-size:13px}.guide{padding:22px 0;display:block}.guide h2{margin-bottom:14px;font-size:12px}.steps{justify-content:space-between;gap:8px;font-size:12px}.steps svg{width:14px;height:14px}.footer{display:block;padding:19px 0 max(24px,env(safe-area-inset-bottom));font-size:11px}.footer span{display:block;margin-bottom:5px}.subpage{margin:20px auto 40px}.back{margin-bottom:25px}.subpage h1{font-size:32px}.contact-panel{padding:28px 20px}}
@media(max-width:359px){.shell{padding:0 18px}.intro h1{font-size:38px}.brand{font-size:14px}.choice{padding:18px 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
.intro{position:relative}
.brand-logo{display:block;flex-shrink:0;width:44px;height:44px;object-fit:contain;background:#142025;border-radius:8px}
.ambient-mascot{display:block;object-fit:contain;pointer-events:none;user-select:none;animation:mascot-bob 6s ease-in-out infinite}
.intro-mascot{position:absolute;width:120px;height:120px;right:0;bottom:0}
.footer-decorated{display:grid;grid-template-columns:1fr auto 72px;align-items:center;gap:20px}
.footer-mascot{width:72px;height:72px;animation-delay:-3s}
@keyframes mascot-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@media(min-width:701px) and (max-width:999px){.intro-mascot{width:80px;height:80px}.footer-decorated{grid-template-columns:1fr 1fr 64px}.footer-mascot{width:64px;height:64px}}
@media(max-width:700px){.intro-mascot{width:76px;height:76px;top:54px;bottom:auto;right:2px}.footer-decorated{grid-template-columns:1fr 64px;column-gap:16px;row-gap:2px}.footer-decorated span{grid-column:1;margin:0}.footer-mascot{grid-column:2;grid-row:1 / 3;width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.ambient-mascot{animation:none}}

/* Customer contact: keep the code and its actions together, close to the page title. */
.customer-page{max-width:720px;margin-top:24px}
.customer-page .back{min-height:44px;margin-bottom:16px}
.customer-page .lead{margin-bottom:24px}
.customer-contact{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:32px;margin-top:0;text-align:left}
.contact-visual{text-align:center;min-width:0}
.customer-contact #qr-slot{width:100%;max-width:280px;aspect-ratio:1;margin:auto;display:grid;align-items:center}
.customer-contact .qr-frame{width:100%}
.customer-contact .qr-original{margin-top:8px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px}
.contact-info{min-width:0;overflow-wrap:anywhere}
.customer-contact h2{font-size:24px;margin:0 0 12px}
.customer-contact .primary-button{margin-top:20px}
.customer-contact .status:empty{display:none}
.customer-page .details{margin-top:16px}
@media(max-width:700px){
 .customer-page{margin-top:16px}
 .customer-page .lead{margin-bottom:20px}
 .customer-contact{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px;text-align:center}
 .customer-contact #qr-slot{max-width:240px}
 .customer-contact h2{font-size:22px;margin-bottom:8px}
 .customer-contact .contact-account{margin-top:12px}
 .customer-contact .primary-button{margin-top:16px}
}
