:root{font-family:system-ui,"Noto Sans TC",sans-serif;color:#172033;background:#f4f6fa}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}
.game-shell{--primary:#2563eb;--secondary:#ff6b3d;min-height:100svh;background-size:cover;background-position:center;background-attachment:fixed;display:flex;flex-direction:column}
.brand{padding:24px;display:flex;justify-content:flex-start;min-height:84px}.company-logo{width:auto;max-width:180px;height:40px;object-fit:contain}
.game-content{width:min(100%,560px);padding:16px 24px 32px;margin:0 auto;flex:1}.title{text-align:center;margin:12px 0;font-size:32px}.title-visual{width:100%;max-height:180px;object-fit:contain}.subtitle{text-align:center;white-space:pre-line;line-height:1.6;margin:12px 0 28px}.module-slot{isolation:isolate;position:relative;min-height:280px}.campaign-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}.cta,.share{border:0;border-radius:14px;padding:12px 20px;text-decoration:none;cursor:pointer}.cta{background:var(--primary);color:white}.share{background:white;color:#172033;border:1px solid #cbd5e1}.notice{white-space:pre-line;font-size:12px;line-height:1.7;max-width:680px;margin:0 auto;padding:20px 24px 32px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--secondary);outline-offset:3px}@media(max-width:480px){.brand{padding:18px}.game-content{padding:8px 18px 24px}.company-logo{max-width:148px;height:34px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.boot-card{max-width:440px;padding:40px 24px;margin:80px auto;text-align:center}.identity-controls{margin:0 0 28px}.serial-form{display:grid;grid-template-columns:1fr auto;gap:10px}.serial-form label{grid-column:1/-1;font-weight:600;font-size:14px}.serial-input{min-width:0;width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.verify-button,.retry-button,.again,.result-area button{border:0;border-radius:12px;padding:12px 16px;background:var(--primary);color:#fff;cursor:pointer}.runtime-status{font-size:14px;line-height:1.65;color:#46536b;overflow-wrap:anywhere}.result-area{margin-top:24px;padding:24px;border-radius:20px;background:#fff;box-shadow:0 10px 30px #17203312;overflow-wrap:anywhere}.result-area h2{font-size:24px;margin:0 0 10px}.prize-name{font-size:20px;font-weight:700}.result-area button,.reward-link{display:inline-block;margin:8px 8px 8px 0}.prize-code{font-family:monospace;padding:12px;background:#f4f6fa;border-radius:10px;user-select:all}.claim-form{display:grid;gap:12px}.claim-form label{display:grid;gap:6px}.claim-form input{width:100%;padding:12px;border-radius:10px;border:1px solid #cbd5e1}button:disabled{opacity:.6;cursor:default}.subtitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-content{overflow-wrap:anywhere}.module-slot{contain:layout style}
.game-shell{min-height:100vh;min-height:100svh;color:var(--text-color,#172033)}.brand-placeholder{font-size:14px;letter-spacing:.1em;color:#64748b}img{max-width:100%}
