/* Slide 2: preserve the current art, change only position and motion behavior. */
.home-gift-group{left:0;top:428px;animation:none}.home-carl-group{animation:none}
.home-carl-floor{animation:none;background:transparent;box-shadow:none}
.home-carl-floor::after{content:'';position:absolute;inset:-3px;border:3px solid transparent;border-top-color:white;border-bottom-color:#fff7;border-radius:50%;animation:winston-floor-spin 3s linear infinite}
@keyframes winston-floor-spin{to{transform:rotate(360deg)}}
#app[data-route=roles] *,#app[data-route=roles] *::before,#app[data-route=roles] *::after{animation:none!important;transition:none!important}
#app[data-route=intro] .source-button,#app[data-route=intro] .source-button *{animation:none!important;transition:none!important;visibility:visible!important}
.winston-preview{z-index:5;line-height:1.4;font:20px/1.4 'NotoSansTC-Medium';cursor:pointer;padding:0;margin:0}
.winston-social{position:absolute;left:150px;top:860px;width:420px;display:flex;gap:30px;justify-content:center;z-index:4}.winston-social a{font:23px 'NotoSansTC-Medium';color:#2d6ee9;text-decoration:underline}
.source-field select{width:100%;height:100%;margin:0;background:#dcf3ff;border:0;border-radius:18px;padding:10px 22px;color:#174b7f;font:24px 'NotoSansTC-SemiBold'}
.handoff-map .store-map{height:300px}.store-marker-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:185px;overflow:auto;padding:10px 2px}.store-marker{display:flex;align-items:center;gap:10px;padding:9px;border:2px solid #c4dcff;border-radius:14px;background:white;color:#154b83;font:20px/1.4 'NotoSansTC-Medium';text-align:left;cursor:pointer}.store-marker svg{width:24px;height:30px;flex-shrink:0}.store-marker[aria-pressed=true]{background:#e6f5ff;border-color:#2d6ee9}
@media(prefers-reduced-motion:reduce){.home-carl-floor::after{animation:none}}
.motion-paused .home-carl-floor::after{animation-play-state:paused}

.winston-receipt-note{position:absolute;left:85px;top:330px;width:550px;height:80px;background:white;color:#174b7f;font:23px/1.5 'NotoSansTC-Medium';margin:0;padding:12px;box-sizing:border-box}.winston-receipt-upload{position:absolute;left:259px;top:657px;width:202px;height:54px;font:23px/54px 'NotoSansTC-SemiBold';text-align:center;pointer-events:none}.report-bag{padding:25px;background:#e0f5ff;border-radius:20px;margin:25px 0}.report-bag progress{width:100%;height:22px}.report-bag p{margin:12px 0}

.handoff-map .store-marker-list{position:absolute;left:10px;right:10px;top:310px;bottom:10px;max-height:none;align-content:start;overflow:auto;background:#edf7fc;z-index:1}

.winston-preview{white-space:normal;overflow-wrap:anywhere;text-align:center}

.winston-receipt-heading{position:absolute;left:225px;top:220px;width:325px;margin:0;text-align:center;color:white;font:32px/1.4 'NotoSansTC-Bold';letter-spacing:5px}.winston-receipt-upload{left:106px;top:559px;width:auto;height:40px;font:24px/40px 'NotoSansTC-SemiBold';text-align:left}
.source-choice-label[for=registration-invoice-3] .source-run{font-family:'NotoSansTC-Bold',sans-serif!important}

.shipment-notices{margin:32px 0 0;padding-left:30px;font:20px/1.8 "NotoSansTC-Regular",sans-serif;color:#173e67;overflow-wrap:anywhere}.shipment-notices li+li{margin-top:16px}
.v4-floor-ring{stroke-dasharray:40 16 5 16;animation:v4-floor-orbit 4s linear infinite;pointer-events:none}.v4-star{animation:v4-sparkle 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes v4-floor-orbit{to{stroke-dashoffset:-154}}@keyframes v4-sparkle{50%{opacity:.45;scale:.8}}.motion-paused .v4-floor-ring,.motion-paused .v4-star{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.v4-floor-ring,.v4-star{animation:none}}

/* AI consumer artboard 4: 165px captions, 15.414px type, 20px leading.
   Only the requested copy, order, customer prize art and prices change. */
.v4-rules-intro{padding:0 6px 28px;color:#111;text-align:left}
.v4-rules-intro header{margin-bottom:28px}
.v4-rules-intro h2,.v4-rules-intro h3{font:24px/39px 'ZEISSTextTT-Bold','NotoSansTC-Bold',sans-serif;font-synthesis:none;color:#2d6ee9;margin:0}
.v4-rules-intro p{font:24px/39px 'ZEISSTextTT-Medium','NotoSansTC-Medium',sans-serif;margin:0}
.v4-rules-intro .v4-period{font-size:21px;line-height:34px;margin-top:5px}
.v4-rules-intro section+section{margin-top:46px}
.v4-prizes{display:grid;grid-template-columns:repeat(3,165px);justify-content:space-between;gap:0;margin:28px 0 0}
.v4-prizes figure{margin:0;min-width:0;text-align:center}
.v4-prize-art{height:122px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.v4-prizes img{display:block;max-width:165px;width:100%;height:122px;object-fit:contain}
.v4-prizes figcaption{background:#dce8ff;border-radius:16px;padding:9px 4px;color:#162d5b;font:15.414px/20.008px 'ZEISSTextTT-Medium','NotoSansTC-Medium',sans-serif;font-synthesis:none}
.v4-prize-price{display:block;margin-top:4px;white-space:nowrap}
.rules-frame-intro{height:auto;overflow:visible;pointer-events:auto}.terms-popup-intro,.terms-popup-intro-stage{height:auto!important}.terms-popup-intro-stage{position:relative!important;transform:none!important;width:100%!important}

.report-bag-image{display:block;width:240px;height:240px;object-fit:contain;margin:20px auto}.report-bag{text-align:center}

.v4-guide-prizes{position:absolute;left:105px;top:1120px;width:530px;height:190px;display:flex;align-items:center;justify-content:space-between;gap:18px}.v4-guide-prizes img{width:164px;height:175px;object-fit:contain}

/* Match v4 dealer cards while allowing real weekly rows and notices to flow. */
.report-page .report-columns{display:flex;justify-content:space-between;padding:18px 15px 0;color:#505a63;font-size:24px}
.report-page .report-week summary{display:grid;grid-template-columns:1fr 70px 90px;align-items:center;gap:10px;list-style:none}
.report-week summary::-webkit-details-marker{display:none}.report-expand{font-size:21px;color:#53a4c7;text-align:right}
.report-week summary strong,.report-total,.report-bag strong{font-family:'ZEISSTextTT-Bold','NotoSansTC-Bold',sans-serif;color:#10458f}
.report-week[open] .report-expand{font-size:0}.report-week[open] .report-expand:after{content:'收合 ▴';font-size:21px}
.report-page .report-bag{border:2px solid #d6f2ff;border-radius:36px;background:#eefaff;padding:22px 26px;margin:26px 0 0}
.report-bag-intro{display:grid;grid-template-columns:95px 1fr;align-items:center;gap:20px;text-align:left}.report-bag-intro .report-bag-image{width:95px;height:150px;margin:0}.report-bag-intro p{font-size:25px;color:#111;line-height:1.5}.report-bag-intro strong{font-size:42px;color:#086aff}
.report-bag-stats{display:grid;grid-template-columns:1fr 155px;align-items:stretch;gap:18px;color:#111;text-align:left}.report-bag-stats p{font-size:20px;margin:5px 0}.report-bag-stats strong{font-size:42px;color:#086aff}.report-bag-stats>div:first-child>p:first-child{display:flex;align-items:baseline;gap:4px}.report-bag-stats>div:first-child>p:first-child strong{margin-left:auto}
.bag-progress{display:flex;gap:4px;margin:6px 0 15px;height:21px}.bag-progress i{background:#85a3c3;flex:1;border-radius:4px}.bag-progress .filled{background:#086aff}.report-bag-stats .bag-next{font-size:17px;white-space:nowrap}.bag-next b{color:#086aff}.bag-earned{padding:10px;text-align:center;background:#c4efff;border-radius:20px}.bag-earned p{font-size:21px}
.report-page .handoff-report .report-rewards article{background:white;border-radius:28px;border:16px solid #dff4ff;outline:14px solid #dff4ff;margin:45px 14px;padding:20px 14px}.report-page .handoff-report .report-rewards article>p:not(.reward-status){font-size:28px;font-family:'ZEISSTextTT-Bold','NotoSansTC-Bold',sans-serif;color:#10458f;line-height:1.6}.report-page .handoff-report .report-rewards h3{max-width:340px;font-size:25px;margin-top:-48px;margin-bottom:16px}.report-reward-note{font-size:21px;line-height:1.6;margin:28px 0}

.report-page .handoff-report h1.report-native-heading{width:550px;height:75px;padding:0;margin:0 0 15px;background:none;border-radius:0}.report-native-heading:before,.report-native-heading:after{display:none}
.report-page .handoff-report .report-total{height:108px;padding:18px;line-height:72px;font-size:70px}.report-page .handoff-report .report-total small{font-size:35px;color:#000}
.report-bag-stats p{line-height:1.4;margin:4px 0}.report-bag-intro p{margin:0}.report-page .report-bag{margin-top:28px}

.report-page .report-total{position:relative}.report-total-label{position:absolute;left:35px;font:35px/72px 'NotoSansTC-Medium';color:#000}.report-page [data-report=shipments] .report-total small{position:absolute;right:35px;line-height:72px}
.report-page .handoff-report .report-progress{padding:24px 0 12px}.report-page .report-progress progress{margin:0;height:31px;width:100%;appearance:none;border:none;border-radius:20px;overflow:hidden;background:#e2e2e2}.report-progress progress::-webkit-progress-bar{background:#e2e2e2}.report-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#00529e,#3073ee);border-radius:20px}.report-tier-labels{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin-top:10px;color:#999;font:26px/1.35 'ZEISSTextTT-Bold','NotoSansTC-Bold'}.report-tier-labels .reached{color:#0d3f99}
.report-page .report-columns{display:grid;grid-template-columns:1fr 210px}.report-columns span:last-child{text-align:center}[data-report=shipments] .report-columns span:last-child{text-align:right}[data-report=shipments] .report-week summary{grid-template-columns:1fr 80px}[data-report=shipments] .report-expand{display:none}
.report-page .handoff-report h2.report-native-heading{position:relative;width:550px;height:75px;padding:0;margin:0 0 32px;background:none;border-radius:0}.report-page .report-native-heading:before,.report-page .report-native-heading:after{display:none}
.report-reward-grid{background:#dff4ff;border-radius:36px;padding:25px 36px 30px}.report-sprint{background:linear-gradient(110deg,#2566e4,#377cf1);color:white;font:32px/55px 'NotoSansTC-Bold';letter-spacing:5px;margin:0 180px 42px -42px;text-align:center;clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%)}
.report-page .handoff-report .report-rewards article{border:0;outline:0;margin:55px 0 28px;padding:18px 15px}.report-page .handoff-report .report-rewards h3{margin-top:-45px}.report-page .handoff-report .reward-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Pills use a defined content box; inherited paragraph leading must not shift labels. */
.report-page .handoff-report .report-rewards h3{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:58px;height:58px;padding:0 18px;line-height:1;margin-top:-47px;margin-bottom:20px;font-family:'ZEISSTextTT-Bold','NotoSansTC-Bold',sans-serif;font-size:28px;white-space:nowrap}
.report-page .handoff-report>button{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
/* These are already-bold font files. Avoid synthetic bold, and align their
   measured ink box (not only the mixed-font line box) within the 58px pill. */
.report-page .handoff-report .report-rewards h3{font-weight:400;font-synthesis:none;padding-top:7px}
.report-total,.report-week summary strong,.report-bag strong{font-weight:400;font-synthesis:none}
.report-page .handoff-report>button{font-family:'NotoSansTC-Bold',sans-serif;font-weight:400}

.v4-light-star{mix-blend-mode:plus-lighter;filter:drop-shadow(0 0 3px #fff9);pointer-events:none}.v4-light-star-animated{animation:v4-light-breathe 3.8s ease-in-out infinite}@keyframes v4-light-breathe{0%,100%{opacity:.72}50%{opacity:1}}.motion-paused .v4-light-star-animated{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.v4-light-star-animated{animation:none}}

/* Native date control fills the original field on Safari as well as Chromium. */
.source-field input[type=date]{display:block;box-sizing:border-box;width:100%;min-width:0;height:100%;min-height:60px;color:#0d3f99;background:transparent;-webkit-appearance:none;appearance:none}
.source-field input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.4em}
.source-field input[type=date]+.source-field-placeholder{display:none}

/* Modal content uses viewport pixels, unlike the scaled 720px artwork page. */
#modal.terms-modal .v4-rules-intro{padding:0 0 18px;min-width:0}
#modal.terms-modal .v4-rules-intro h2,#modal.terms-modal .v4-rules-intro h3{font-size:17px;line-height:1.5}
#modal.terms-modal .v4-rules-intro p{font-size:14px;line-height:1.7}
#modal.terms-modal .v4-rules-intro .v4-period{font-size:13px;line-height:1.6}
#modal.terms-modal .v4-rules-intro header{margin-bottom:18px}
#modal.terms-modal .v4-rules-intro section+section{margin-top:24px}
#modal.terms-modal .v4-prizes{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:16px;width:100%}
#modal.terms-modal .v4-prize-art{height:80px;margin-bottom:8px}
#modal.terms-modal .v4-prizes img{max-width:100%;height:80px}
#modal.terms-modal .v4-prizes figcaption{font-size:11px;line-height:1.5;padding:7px 3px;border-radius:10px;overflow-wrap:anywhere}
#modal.terms-modal .v4-prize-price{white-space:normal}
#modal.terms-modal .terms-copy{font-size:13px;line-height:1.7;overflow-x:hidden}
#modal.terms-modal .terms-section h3{font-size:16px}

.source-field.store-search-field{display:flex;flex-direction:column;background:#dff2fc;border-radius:18px;overflow:hidden}
.source-field.store-search-field .store-search{position:static;width:100%;height:42%;min-height:0;padding:3px 20px;font-size:19px;border:0;border-bottom:1px solid #acd3e9;border-radius:0;background:#f1faff;box-shadow:none}
.source-field.store-search-field select{position:static;width:100%;height:58%;min-height:0;padding:2px 20px;font-size:22px;border-radius:0;background:transparent}
.source-field.store-search-field:focus-within{outline:2px solid #0867d6}
.v4-home-motion{transform-box:fill-box;transform-origin:center}
.v4-map-float{animation:v4-map-float 5s ease-in-out infinite}
.v4-carl-float{animation:v4-carl-float 3.8s ease-in-out infinite}
.v4-coin-float{animation:v4-coin-float 3.2s ease-in-out infinite}
@keyframes v4-map-float{50%{transform:translateY(-7px)}}
@keyframes v4-carl-float{50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes v4-coin-float{50%{transform:translateY(-4px)}}
.motion-paused .v4-home-motion{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.v4-home-motion{animation:none}}

.source-button[aria-disabled="true"]{opacity:.5;filter:grayscale(.7);cursor:pointer}

.v4-pin-bounce{animation:v4-pin-bounce 3s ease-in-out infinite}
.v4-pin-halo{transform-box:fill-box;transform-origin:center;animation:v4-pin-halo 3s ease-out infinite;pointer-events:none}
@keyframes v4-pin-bounce{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes v4-pin-halo{0%{scale:.7;opacity:.85}85%,100%{scale:1.6;opacity:0}}
.motion-paused .v4-pin-bounce,.motion-paused .v4-pin-halo{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.v4-pin-bounce,.v4-pin-halo{animation:none}}

.source-field.store-combobox{z-index:8;overflow:visible;background:#dff2fc;border-radius:18px}
.source-field.store-combobox select[hidden]{display:none}
.source-field.store-combobox input.store-search{width:100%;height:100%;min-height:76px;padding:14px 24px;font-size:24px;border:2px solid transparent;border-radius:18px;background:#dff2fc;color:#174b7f}
.source-field.store-combobox input.store-search:focus{border-color:#0867d6;outline:none}
.store-results{position:absolute;top:100%;left:0;right:0;max-height:340px;overflow-y:auto;background:white;border:2px solid #3384d3;border-radius:12px;box-shadow:0 8px 22px #153c6530;z-index:20;overscroll-behavior:contain}
.store-results[hidden]{display:none}
.store-results button{display:block;position:static;width:100%;min-height:66px;padding:14px 22px;border:0;border-bottom:1px solid #d5e6f3;background:#fff;color:#174b7f;font:22px 'NotoSansTC-Regular',sans-serif;text-align:left;cursor:pointer}
.store-results button:hover,.store-results button[aria-selected=true]{background:#dff2fc}
.store-empty{padding:20px;font-size:22px;color:#4d6581}

/* Keep the open store results above stage-level photo preview controls. */
.source-form:has(.store-results:not([hidden])){z-index:30}
.source-field.store-combobox:has(.store-results:not([hidden])){z-index:40}

.standee-step2{position:absolute;left:206px;top:704px;width:273px;height:152px;object-fit:contain;background:#fff;z-index:2}

.invoice-business-label{font:24px/1.3 "NotoSansTC-Bold",sans-serif;color:#000;white-space:nowrap;display:flex;flex-direction:column;justify-content:center}

.store-location-bar{position:absolute;left:73px;top:502px;width:575px;z-index:5;background:white;padding:5px 8px;display:flex;align-items:center;gap:10px;font-size:15px;min-height:40px;border-radius:10px}
.store-location-bar button{flex-shrink:0;border:1px solid #176bd2;background:#e1f3ff;border-radius:8px;padding:7px 10px;color:#124d87;font:18px sans-serif;cursor:pointer}
.store-location-bar span{line-height:1.35}.store-location-bar a{font-size:11px;color:#47647e}
.handoff-map{top:552px;height:543px}

.registration-deadline{position:absolute;left:300px;top:772px;width:330px;margin:0;color:#666;font-size:18px;line-height:1.5;text-align:right;z-index:2}

.home-action-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px;font-weight:700;letter-spacing:7px;padding-left:7px;line-height:1;pointer-events:none;white-space:nowrap}

.guide-headline{position:absolute;left:265px;top:215px;width:235px;text-align:center;font-size:22px;font-weight:700;line-height:1.6;color:#10458f;z-index:2}
.v4-guide-prizes{top:1100px;height:235px;align-items:stretch;gap:10px}
.v4-guide-prizes figure{margin:0;flex:1;min-width:0;text-align:center}
.v4-guide-prizes figcaption{height:72px;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1.4;color:#12457d}
.v4-guide-prizes img{width:100%;height:140px}
.activities-prize-caption{position:absolute;left:195px;top:438px;width:337px;font-size:19px;line-height:1.3;text-align:center;color:#2c70ef;font-weight:700;z-index:2;background:#f5fbff}
.dealer-reward-title{position:absolute;left:211px;top:322px;width:358px;height:66px;margin:0;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:22px;line-height:1.3;color:#fff;z-index:3}
.report-bag-intro{grid-template-columns:180px 1fr}
.report-bag-intro .report-bag-image{width:180px;height:215px}
.bag-detail-button{padding:0!important;margin:0!important;border:0!important;border-radius:10px!important;background:transparent!important;width:180px!important;cursor:zoom-in}

.unified-action-label{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1.15;letter-spacing:2px;padding-left:2px;white-space:nowrap;pointer-events:none}
#modal button,.handoff-logout,.backend-panel>button{display:inline-flex;align-items:center;justify-content:center;line-height:1.2}
.report-total,.report-bag strong,.report-week summary strong{font-weight:700}

#modal .modal-icon{display:flex;align-items:center;justify-content:center;line-height:1;padding:0;letter-spacing:0}

.unified-action-label,.home-action-label{padding-top:.22em}
#modal .modal-icon{left:50%;transform:translateX(-50%);padding-top:.12em}

.login-unused-field{position:absolute;left:70px;top:705px;width:580px;height:175px;background:white}
.login-field-title{position:absolute;left:85px;width:550px;text-align:center;font-size:28px;font-weight:700;line-height:1.5;color:#174780}
.dealer-login-input input{font-size:30px!important;line-height:1.5!important;text-align:center;padding:12px 20px!important}
.dealer-login-input input[name="salesCode"]{text-transform:uppercase}
#dealer-login-store{display:block;width:100%;font-size:18px;margin:16px 0;padding:12px}

.report-shipment-heading{position:absolute;left:165px;right:68px;top:0;bottom:0;display:flex;align-items:center;justify-content:center;color:white;font-size:23px;line-height:1.2;padding-top:.15em;white-space:nowrap}

/* Align the login confirmation glyphs with the pill and arrow optical centre. */
#app[data-route="login"] .source-button[type="submit"] .source-run{transform:translateY(4px)}

.v4-guide-prizes figcaption,.v4-prizes figcaption strong{font-weight:700}
.store-marker img{width:26px;height:36px;object-fit:contain;flex-shrink:0}

.v4-stock-float{animation:v4-stock-float 4.5s ease-in-out infinite;transform-origin:50% 75%}
@keyframes v4-stock-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.v4-stock-float{animation:none}}

.dealer-reward-title{left:78px;top:300px;width:564px;height:126px;padding:14px 24px 14px 70px;border-radius:65px;background:linear-gradient(110deg,#0755ac,#3076ef);font-size:28px;line-height:1.35;gap:8px;letter-spacing:1px}
.dealer-reward-title span:first-child{font-size:31px}
.dealer-reward-title::before{content:'$';position:absolute;left:23px;top:45px;width:38px;height:38px;background:white;color:#125bb6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:29px;line-height:1}
