@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
.hsa-v2{--canvas:#f6f2ff;--surface:#fff;--ink:#222642;--muted:#626079;--purple:#6343bb;--soft:#e9dffd;--line:#ddd4f0;--success:#16724c;--mint:#d8f3e4;--success-bg:#e0f5e9;--error:#c44832;--peach:#fff0e7;margin:0;background:var(--canvas);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:24px}.hsa-v2 *{box-sizing:border-box}.hsa-v2 button,.hsa-v2 input,.hsa-v2 textarea{font:inherit}.hsa-v2 button,.hsa-v2 a{-webkit-tap-highlight-color:transparent}.hsa-v2 button{cursor:pointer}.hsa-v2 button:disabled{opacity:.6;cursor:wait}.hsa-v2 a{color:inherit}.hsa-v2 :focus-visible{outline:3px solid var(--purple);outline-offset:4px}.hsa-v2 h1,.hsa-v2 h2,.hsa-v2 h3,.hsa-v2 p{margin:0}.hsa-v2 h1{font-size:48px;line-height:52px;letter-spacing:-1.5px}.hsa-v2 h2{font-size:32px;line-height:38px;letter-spacing:-.6px}.hsa-v2 h3{font-size:24px;line-height:30px;letter-spacing:-.3px}.hsa-v2 img{max-width:100%;object-fit:contain}.skip-link{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.loading{padding:48px;text-align:center}.game-shell{max-width:1440px;min-height:100svh;padding:48px;margin:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50.4px;margin-bottom:28px}.brand-group{display:flex;align-items:center;gap:12px;min-width:0}.brand-group>a{display:flex;flex-shrink:0}.brand-logo{width:151.2px;height:50.4px}.header .tagline{font-size:14px;line-height:20px;color:var(--muted);text-align:center}.partner{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;max-width:160px}.partner img{width:148px;height:44px;object-fit:contain}.partner strong{font-size:14px;line-height:20px;overflow-wrap:anywhere}.brand-group>.partner{border-left:1px solid var(--line);padding-left:12px}.partner-welcome{border:0;max-width:none;padding:10px 12px;border-radius:16px;background:white;justify-content:flex-start;width:100%;min-height:64px}.partner-welcome>span{color:var(--muted);font-size:14px;line-height:20px;max-width:200px;flex:1}.partner-welcome img{width:140px;height:44px}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:56px;padding:14px 24px;border:1px solid transparent;border-radius:100px;background:var(--surface);font-size:16px;font-weight:700;line-height:24px;text-decoration:none;gap:8px;color:var(--ink);transition:transform .15s,background-color .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--ink);color:white}.button.eligible{background:var(--success);color:white}.button.outline{background:white;border-color:var(--line)}.button.small{min-height:44px;padding:10px 14px;font-size:14px;line-height:20px}.button.lavender{background:var(--soft);color:var(--purple);font-weight:400}.button.text{background:transparent;min-height:44px;padding:8px 0;justify-content:flex-start;font-weight:400;color:var(--purple);font-size:14px}.button.icon{min-height:32px;padding:3px 12px;background:transparent;color:var(--purple)}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 18px;border-radius:100px;background:var(--soft);color:var(--purple);font-size:14px;line-height:20px}.pill.success{background:var(--mint);color:var(--success)}.pill.neutral{background:white;color:var(--ink)}.caption{font-size:14px;line-height:20px}.muted{color:var(--muted)}.check{color:var(--success)}.center{text-align:center}.body-large{font-size:20px;line-height:30px}.personal-best{display:flex;gap:8px;align-items:center;color:var(--purple);font-size:14px;line-height:20px}.personal-best>span{font-size:28px;line-height:30px}.welcome-layout{display:grid;grid-template-columns:minmax(0,490fr) minmax(0,638fr);gap:56px;align-items:center;min-height:calc(100svh - 174px)}.welcome-copy{display:flex;flex-direction:column;gap:20px;align-items:flex-start;min-width:0}.welcome-copy h1{font-size:64px;line-height:68px;letter-spacing:-2px}.welcome-copy>.button.primary{width:340px;max-width:100%}.welcome-pill{letter-spacing:.84px;font-weight:700}.welcome-hint{font-size:20px;line-height:30px;color:var(--muted)}.welcome-art{min-width:0}.welcome-art>p{font-size:20px;line-height:30px;color:var(--purple);text-align:center;margin-top:12px}.discovery-deck{height:430px;width:100%;position:relative;isolation:isolate}.orbit{position:absolute;width:410px;height:410px;left:14%;top:8px;z-index:-1}.peach{position:absolute;width:114px;height:114px;left:67%;top:215px;z-index:-1}.teaser{position:absolute;width:28.2%;height:260px;background:white;box-shadow:0 12px 28px #3d266b1a;padding:16px;border-radius:28px;display:flex;flex-direction:column;justify-content:center;gap:10px;text-align:center;left:0;top:104px;transform:rotate(14deg)}.teaser .product-image{height:180px;width:100%;min-height:0}.teaser p{font-size:16px;line-height:24px;overflow-wrap:anywhere}.teaser-1{left:35%;top:64px;transform:rotate(-1deg)}.teaser-2{left:64%;top:89px;transform:rotate(-9deg)}.countdown{display:flex;flex-direction:column;align-items:center;gap:20px;justify-content:center;min-height:calc(100svh - 190px);text-align:center}.countdown h1{font-size:40px;line-height:48px}.count-circle{height:290px;width:290px;background:var(--soft);border-radius:50%;display:grid;place-items:center;font-size:64px;line-height:68px;font-weight:700;color:var(--purple);position:relative}.count-circle span{position:absolute;top:24px;right:12px;font-size:28px}.game-layout{display:grid;grid-template-columns:minmax(0,520fr) minmax(0,600fr);column-gap:64px;align-items:center}.game-progress{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;position:relative;padding-bottom:38px;color:var(--purple);font-size:14px;line-height:20px}.game-progress .timer{position:absolute;left:calc(50% - 34px);top:0;background:white;padding:9px 18px;border-radius:100px;font-size:16px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.progress-dots{display:flex;gap:8px;position:absolute;bottom:0;left:0}.progress-dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}.progress-dots .active,.progress-dots .done{background:var(--purple)}.game-art{position:relative;isolation:isolate;padding:55px 40px 0;min-width:0;align-self:start}.game-orbit{max-height:100%;position:absolute;z-index:-1;width:94%;aspect-ratio:1;border-radius:50%;background:var(--soft);top:0;left:3%}.question-card{background:white;padding:24px;border-radius:28px;text-align:center;transform:rotate(2deg);box-shadow:0 12px 28px #3d266b14;display:flex;flex-direction:column;align-items:center;gap:10px;touch-action:pan-y}.question-card .product-image{width:280px;height:280px}.question-card h2{font-size:24px;line-height:30px;overflow-wrap:anywhere}.game-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-top:6px}.game-copy .body-large{color:var(--muted)}.game-copy .pill{font-size:12px}.game-copy h1{font-size:32px;line-height:38px;letter-spacing:-.6px}.answer-buttons{display:flex;gap:16px;width:100%}.answer-buttons>.button{flex:1;padding-inline:12px}.leave{margin-top:20px;color:var(--muted)!important}.mobile-game-title,.mobile-score,.swipe-hints{display:none}.form-layout{display:grid;grid-template-columns:minmax(0,520fr) minmax(0,600fr);gap:64px;align-items:start}.form-intro{display:flex;flex-direction:column;gap:22px;padding-top:24px}.form-intro>.pill{align-self:flex-start;font-weight:700;letter-spacing:.8px}.form-score{padding-left:16px}.score-circle{width:230px;height:230px;border-radius:50%;background:var(--soft);display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;color:var(--purple)}.score-circle strong{font-size:64px;line-height:68px;letter-spacing:-3px}.score-circle>span{font-size:14px;line-height:20px;font-weight:700;letter-spacing:.8px}.form-description{font-size:16px;line-height:24px;color:var(--muted);margin-top:8px!important}.round-summary{display:flex;gap:10px}.round-summary .pill{font-size:14px}.player-form{padding:32px;background:white;border-radius:28px;display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:14px;line-height:20px;color:var(--muted)}.field input{width:100%;height:54px;padding:14px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:18px;min-width:0}.field input::placeholder{color:var(--ink);opacity:1}.field input[aria-invalid=true]{border-color:var(--error)}.consent-row{display:flex;gap:10px;align-items:flex-start;position:relative;min-height:44px}.consent-row input{appearance:none;flex-shrink:0;border:1.5px solid #7354b2;border-radius:7px;width:32px;height:32px;margin:6px;cursor:pointer;position:relative}.consent-row input:checked:after{content:'✓';position:absolute;left:2px;top:-2px;color:#5c3ba8;font-size:29px;font-weight:700;line-height:32px}.consent-row label{padding-block:8px;flex:1;cursor:pointer}.consent-row a{position:relative}.field-error,.error-message{color:var(--error);font-size:14px;line-height:20px}.field-error:empty{display:none}.error-message{padding:14px;border-radius:16px;background:var(--peach);margin-block:12px}.error-message .button{margin:8px 0 0;display:flex}.privacy-note{text-align:center}.header.compact{margin-bottom:10px;justify-content:flex-start}.header.compact .tagline{display:none}.results-layout{display:grid;grid-template-columns:minmax(0,480fr) minmax(0,656fr);gap:48px}.results-primary{display:flex;flex-direction:column;gap:18px}.results-primary h1{font-size:48px;line-height:52px;letter-spacing:-1.7px}.results-primary>.pill{align-self:flex-start;font-size:14px;font-weight:700;letter-spacing:.8px}.score-summary{display:flex;align-items:center;gap:18px}.score-summary h3{margin-bottom:10px}.result-actions{display:flex;flex-direction:column;gap:10px}.result-actions>div:not(.result-footer){display:flex;gap:12px}.result-actions>div>.button{flex:1;padding-inline:14px;min-height:44px}.result-footer{display:flex;align-items:center;gap:12px}.result-footer>.button{flex-shrink:0}.coupon-card{display:flex;width:100%;gap:12px;align-items:center;justify-content:space-between;padding:14px;background:var(--ink);color:white;border:none;border-radius:24px;text-align:left}.coupon-card>span:first-child{display:flex;flex-direction:column;gap:6px}.coupon-card strong{font-size:32px;line-height:38px;white-space:nowrap}.coupon-card small{font-size:14px;line-height:20px}.coupon-code{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px dashed white;border-radius:8px;padding:14px 10px;min-width:46%;font-size:16px;line-height:24px}.result-coupon{display:flex;flex-direction:column;gap:18px}.quick-ranking{display:none}.surprising h2{font-size:32px;line-height:38px;margin-bottom:6px}.surprising h2 a{text-underline-offset:4px}.carousel{display:flex;gap:10px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.carousel::-webkit-scrollbar{display:none}.discovery-card{flex:0 0 76%;border-radius:28px;padding:12px;background:var(--soft);display:flex;align-items:center;gap:12px;scroll-snap-align:start;min-width:0}.discovery-card>.product-image{width:120px;height:120px;flex-shrink:0}.discovery-details{min-width:0;flex:1}.discovery-details h3{font-size:24px;line-height:30px;margin-bottom:6px;overflow-wrap:anywhere}.discovery-details>p{font-size:16px;line-height:24px;color:var(--muted);margin-bottom:10px}.discovery-actions{display:flex;gap:10px;align-items:center}.eligible-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:4px 12px;border-radius:100px;background:var(--success-bg);font-size:14px;line-height:20px;color:var(--success);white-space:nowrap}.discovery-actions>.button{min-height:44px;white-space:nowrap;padding-inline:20px}.carousel-nav{display:flex;justify-content:space-between;align-items:center;min-height:34px;color:var(--purple);font-size:14px;line-height:20px}.carousel-nav>div{display:flex}.results-secondary{min-width:0}.leaderboard-panel{background:white;padding:14px;border-radius:28px;display:flex;flex-direction:column;gap:8px;min-width:0;margin-top:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:32px;line-height:38px}.ranking-identity{display:flex;align-items:center;justify-content:space-between;color:var(--purple);font-size:14px;line-height:20px;min-height:34px}.ranking-identity .partner img{height:32px;width:110px}.rank-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--soft);padding:10px;border-radius:14px;color:var(--purple);font-size:14px;line-height:20px;border:0;text-align:left}.rank-summary>span{color:var(--ink);font-weight:700;white-space:nowrap}.ranking-legend{color:var(--muted);font-weight:700}.ranking-scroll{max-height:320px;overflow:auto;position:relative;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.ranking-scroll table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:16px;line-height:24px}.ranking-scroll thead{position:sticky;top:0;background:white;z-index:1}.ranking-scroll th{font-size:14px;line-height:20px;color:var(--muted);text-align:left;padding:0 8px}.ranking-scroll td{padding:9px 8px}.ranking-scroll tbody th{font-size:16px;line-height:24px;font-weight:400;color:var(--ink);overflow-wrap:anywhere}.ranking-scroll td:first-child{color:var(--purple);width:36px}.ranking-scroll td:nth-last-child(-n+2),.ranking-scroll th:nth-last-child(-n+2){text-align:right;white-space:nowrap}.ranking-scroll .winner{background:var(--canvas)}.ranking-scroll .is-you{background:var(--soft);font-weight:700}.ranking-scroll tr>:first-child{border-radius:12px 0 0 12px}.ranking-scroll tr>:last-child{border-radius:0 12px 12px 0}.full-leaderboard{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.full-leaderboard .full{margin-top:0}.full-leaderboard .ranking-scroll{max-height:55svh}.full-leaderboard>.button.primary{max-width:420px;width:100%;align-self:center}.review{display:flex;flex-direction:column;gap:24px}.review h1{margin:16px 0 24px}.filters{display:flex;gap:8px}.filters .button{min-height:44px;padding:10px 24px;font-size:14px;line-height:20px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 56px}.review-item{display:flex;flex-direction:column;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px;min-width:0}.review-product{display:flex;gap:14px;align-items:flex-start}.review-product>.product-image{width:72px;height:72px;padding:8px;border-radius:50%;background:white;flex-shrink:0}.review-product>div{min-width:0}.review-product h2{font-size:24px;line-height:30px;letter-spacing:0;overflow-wrap:anywhere;margin-bottom:6px}.answer-status{padding:12px;border-radius:18px;font-size:14px;line-height:20px;display:flex;flex-direction:column;gap:5px}.answer-status.correct{background:var(--success-bg);color:var(--success)}.answer-status.missed{background:var(--peach);color:var(--error)}.review>.button{align-self:center;min-width:340px}.shop-invitation{display:block;padding:20px;border-radius:28px;background:var(--mint);text-decoration:none;color:var(--ink)}.shop-invitation>p{color:var(--success);margin-top:6px}.overlay{position:fixed;inset:0;background:#22264259;z-index:50;padding:24px;overflow-y:auto;display:flex;align-items:safe center;justify-content:center;overscroll-behavior:contain}.dialog{background:white;border-radius:32px;width:min(100%,550px);padding:24px;position:relative;display:flex;flex-direction:column;gap:16px;max-height:calc(100svh - 48px);overflow-y:auto;box-shadow:0 20px 80px #22264215}.dialog h1{font-size:40px;line-height:46px;letter-spacing:-1px}.dialog h2{font-size:32px;line-height:38px}.dialog-close{position:absolute;top:8px;right:8px;width:32px;height:32px;font-size:24px;line-height:24px;border:0;border-radius:50%;background:white;color:var(--muted);z-index:2}.dialog .surprising h2{font-size:32px;line-height:38px}.dialog .discovery-card{flex-basis:97%}.dialog .coupon-card{flex-shrink:0}.dialog .coupon-terms{overflow:auto;max-height:150px;min-height:110px;font-size:14px;line-height:20px;color:var(--muted)}.dialog.reward{gap:10px}.dialog.reward>h2{padding-right:12px}.dialog.feedback{padding:30px;gap:22px;width:min(100%,500px)}.dialog.feedback>.pill{align-self:flex-start}.peach-pill{background:var(--peach);color:var(--error)}.dialog.feedback h1{font-size:40px;line-height:46px}.dialog.feedback .caption>.pill{min-height:32px;padding:4px 18px;margin-right:6px}.dialog.exit{gap:24px}.dialog.explore{padding:24px;gap:20px;text-align:center}.dialog.explore>.pill{align-self:center;font-weight:700}.dialog.explore h1{font-size:48px;line-height:52px}.dialog.explore .shop-invitation,.explore-link{text-align:left}.explore-link{display:block;background:var(--soft);padding:20px 22px;border-radius:28px;text-decoration:none;color:var(--purple)!important}.explore-link small{font-size:14px;line-height:20px;color:var(--muted);display:block;margin-top:6px}.overlay-share,.overlay-instagram{background:var(--canvas)}.dialog.share,.dialog.instagram{background:var(--canvas);box-shadow:none;width:min(100%,560px);max-height:none;padding:0;border-radius:0;overflow:visible}.dialog.share .dialog-close,.dialog.instagram .dialog-close{display:none}.share-panel{display:flex;flex-direction:column;gap:16px}.share-panel h1{font-size:48px;line-height:52px}.share-score{padding:24px;background:var(--soft);border-radius:24px;display:flex;flex-direction:column;gap:10px}.share-score img{width:120px;height:40px;align-self:flex-start}.share-score p{font-size:20px;line-height:30px}.share-score strong{color:var(--purple);font-size:32px;line-height:38px}.copy-preview{padding:20px;background:white;border-radius:28px;font-size:14px;line-height:20px;overflow-wrap:anywhere}.copy-preview>p:first-child{color:var(--purple);margin-bottom:10px}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-grid .button{min-height:44px}.image-fallback{display:flex;align-items:center;justify-content:center;min-height:100px;font-size:14px;color:var(--muted);background:#f8f8f8;padding:12px}.busy-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 24px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:0 4px 24px #22264222;z-index:60}.empty-state{padding:20px;color:var(--muted)}
@media(min-width:1440px){.game-shell{padding:48px 64px}.welcome-layout{gap:64px}.results-layout{gap:64px}}
@media(max-width:1100px) and (min-width:701px){.game-shell{padding:32px}.welcome-layout{gap:30px}.welcome-copy h1{font-size:56px;line-height:60px}.discovery-deck{height:360px}.teaser{height:220px;padding:12px}.teaser .product-image{height:145px}.orbit{width:90%;height:auto}.welcome-hint br{display:none}.game-layout,.form-layout{gap:32px}.question-card .product-image{width:100%;height:230px}.game-art{padding-inline:18px}.results-layout{gap:26px;grid-template-columns:minmax(0,44fr) minmax(0,56fr)}.score-circle{width:180px;height:180px}.score-circle strong{font-size:56px;line-height:60px}.results-primary h1{font-size:40px;line-height:46px}.score-summary{gap:12px}.score-summary h3{font-size:20px;line-height:26px}.discovery-card{flex-basis:90%}.discovery-card>.product-image{width:90px;height:100px}.discovery-details h3{font-size:20px;line-height:26px}.discovery-details>p{font-size:14px;line-height:20px}.player-form{padding:24px}.header .tagline{max-width:180px}}
@media(max-width:700px){.game-shell{padding:24px;max-width:540px;min-height:100svh}.header{gap:8px;min-height:44px;margin-bottom:16px}.brand-logo{width:120px;height:40px}.has-partner .header:not(:has(+.welcome-layout)) .brand-logo{width:88.2px;height:29.4px}.brand-group{gap:5.5px}.brand-group>.partner{padding-left:5.5px;max-width:90px}.brand-group .partner img{width:83px;height:32px}.brand-group .partner strong{font-size:12px;line-height:16px;max-width:83px}.header>.button{width:150px;max-width:47%;padding-inline:10px;flex-shrink:0;white-space:nowrap}.header .tagline{display:none}.hsa-v2 h1{font-size:32px;line-height:38px;letter-spacing:-.7px}.hsa-v2 h2{font-size:24px;line-height:30px}.hsa-v2 h3{font-size:20px;line-height:26px}.desktop-only{display:none!important}.welcome-layout{display:flex;flex-direction:column;gap:0;min-height:0;position:relative;padding-bottom:12px}.welcome-copy{display:contents}.partner-welcome{order:0;min-height:64px;margin-bottom:10px}.partner-welcome>span{max-width:150px}.welcome-pill{order:1;align-self:center;margin-bottom:10px;max-width:100%;padding-inline:18px;white-space:nowrap}.welcome-copy h1{order:2;text-align:center;font-size:44px;line-height:48px;letter-spacing:-1.5px;width:100%;margin-bottom:16px}.welcome-art{order:3;width:100%;margin-bottom:18px}.welcome-art>p{display:none}.discovery-deck{height:190px;margin:12px auto 8px;width:100%;max-width:380px}.orbit{width:180px;height:180px;top:0;left:calc(50% - 90px)}.peach{width:56px;height:56px;left:72%;top:103px}.teaser{width:29%;height:150px;padding:10px;border-radius:24px;top:33px;left:8%;gap:8px;transform:rotate(13deg)}.teaser .product-image{height:103px;width:100%}.teaser p{font-size:14px;line-height:20px}.teaser-1{left:36%;top:8px;transform:rotate(0)}.teaser-2{left:64%;top:20px;transform:rotate(-10deg)}.welcome-hint{order:4;text-align:center;font-size:20px;line-height:30px;width:100%;margin-bottom:10px!important}.welcome-layout .personal-best{order:5;align-self:flex-start;margin-bottom:12px}.welcome-copy>.button{order:6;width:100%!important}.welcome-copy>.button.text{order:7;margin-top:8px}.personal-best{gap:12px}.countdown{min-height:calc(100svh - 108px);gap:18px}.countdown>.pill{padding-inline:22px;font-size:14px}.countdown h1{font-size:32px;line-height:38px}.count-circle{width:230px;height:230px;font-size:32px;line-height:38px}.game-layout{display:flex;flex-direction:column;gap:0}.game-progress{width:100%;height:56px;padding-bottom:22px}.game-progress .timer{position:static;min-width:68px;text-align:center}.game-progress>.mobile-score{margin-left:auto;margin-right:32px;color:var(--ink);font-weight:700;display:block}.progress-dots{bottom:2px;gap:8px}.mobile-game-title{display:block;text-align:center;margin:6px 0 16px!important}.desktop-game-title{display:none}.game-art{padding:12px 24px 0;width:100%}.game-orbit{width:86%;left:7%;top:0}.question-card{padding:18px 18px 24px;gap:10px;transform:rotate(2deg);border-radius:28px}.question-card .product-image{height:160px;width:180px}.question-card h2{font-size:24px;line-height:30px;max-width:100%;transform:rotate(-2deg)}.game-copy{gap:10px;align-items:stretch;padding-top:10px;width:100%}.game-copy .body-large{text-align:center;font-size:20px;line-height:30px}.answer-buttons{gap:12px}.answer-buttons .button{padding-inline:10px}.swipe-hints{display:flex;justify-content:space-around;color:var(--muted);font-size:14px;line-height:20px;margin-top:-2px}.game-copy .personal-best{margin-top:0}.leave{align-self:center;margin-top:10px!important}.form-layout{display:flex;flex-direction:column;gap:8px}.form-intro{display:contents}.form-intro>.pill{font-weight:700;align-self:flex-start;order:0}.form-intro h1{order:1}.form-score{display:none}.form-description{order:3;margin-top:0!important}.round-summary{order:2;margin-bottom:0}.round-summary .pill{font-size:16px;min-height:44px;padding-inline:22px}.player-form{order:4;width:100%;background:transparent;border-radius:0;padding:0;gap:8px}.field{gap:6px}.field input{height:48px;padding:11px 14px}.consent-instruction{margin-top:0!important}.consent-row{gap:8px}.consent-row label{padding-block:4px}.consent-row input{margin:6px;flex-basis:32px}.privacy-note{margin-top:0!important}.header.compact{margin-bottom:8px}.results-layout{display:flex;flex-direction:column;gap:0;position:relative}.results-primary{display:contents}.results-primary>.pill{order:0;margin-bottom:14px;align-self:flex-start}.results-primary h1{order:1;font-size:32px;line-height:38px;letter-spacing:-1px;margin-bottom:16px}.score-summary{order:2;gap:18px;margin-bottom:16px}.score-circle{width:178px;height:178px}.score-circle strong{font-size:64px;line-height:68px}.score-summary h3{font-size:24px;line-height:30px;margin-bottom:8px}.score-summary .caption{font-size:14px;line-height:20px}.quick-ranking{display:flex;order:3;width:100%;min-height:44px;padding:10px 12px;margin-bottom:14px;font-size:14px;line-height:20px}.result-coupon{order:7;margin:18px 0;gap:6px}.results-secondary{display:contents}.surprising{order:4;min-width:0;margin-bottom:12px}.surprising h2{font-size:24px;line-height:30px;margin-bottom:6px}.discovery-card{flex-basis:84%;display:grid;grid-template-columns:104px minmax(0,1fr);padding:10px;gap:10px;align-items:center;border-radius:28px}.discovery-card>.product-image{width:104px;height:104px}.discovery-details{display:contents}.discovery-details h3{font-size:20px;line-height:26px;grid-column:2;margin:0}.discovery-details>p{grid-column:1/-1;font-size:16px;line-height:24px;margin:0}.discovery-actions{grid-column:1/-1;justify-content:space-between}.discovery-actions>.button{min-height:44px;font-size:14px;padding-inline:20px}.carousel-nav{font-size:14px;line-height:20px}.result-actions{order:8}.result-actions>div>.button{font-size:16px;padding-inline:10px}.result-footer{gap:12px}.result-footer .caption{max-width:170px}.results-layout>.leaderboard-panel{order:6}.leaderboard-panel{order:6;margin-top:0;padding:14px;gap:8px}.section-heading h2{font-size:32px;line-height:38px}.ranking-identity .partner{display:none}.rank-summary{gap:8px;padding:10px}.rank-summary>span{font-size:14px;line-height:20px}.ranking-scroll{max-height:380px}.ranking-scroll td{padding:9px 6px}.ranking-scroll th{padding-inline:6px}.ranking-scroll tbody th{font-size:16px;line-height:24px}.ranking-scroll td:first-child{width:34px}.full-leaderboard{gap:14px}.full-leaderboard .ranking-scroll{max-height:54svh}.review{gap:14px}.review h1{font-size:48px;line-height:52px;letter-spacing:-1.5px;margin:10px 0 20px}.filters{gap:8px}.filters .button{padding:10px 14px;flex:1;min-width:0;white-space:nowrap}.review-grid{display:flex;flex-direction:column;gap:18px}.review-product h2{font-size:24px;line-height:30px}.review-product>div{flex:1}.review>.button{min-width:0;width:100%}.review .shop-invitation h3{font-size:24px;line-height:30px}.overlay{padding:24px;align-items:safe center}.dialog{padding:20px;border-radius:32px;max-height:calc(100svh - 48px);gap:14px}.dialog h1,.dialog.feedback h1{font-size:32px;line-height:38px;letter-spacing:-.6px}.dialog h2{font-size:24px;line-height:30px}.dialog.feedback{padding:24px;gap:20px}.dialog.feedback .caption>.pill{font-size:14px;margin-right:5px;padding-inline:16px}.dialog.reward .surprising{margin:0}.dialog.reward .surprising h2{font-size:24px;line-height:30px}.dialog.reward .discovery-card{grid-template-columns:104px minmax(0,1fr);flex-basis:95%;padding:10px}.dialog.reward .discovery-details h3{font-size:20px;line-height:26px}.dialog.reward .discovery-details>p{font-size:16px;line-height:24px}.dialog.reward .carousel-nav{padding-top:4px}.coupon-card{padding:14px;gap:12px}.coupon-card strong{font-size:32px;line-height:38px}.coupon-card small{font-size:14px;line-height:20px}.coupon-code{padding:10px 8px;min-width:49%;font-size:16px;line-height:24px}.dialog.reward .coupon-terms{max-height:130px;min-height:100px}.dialog.explore{margin-top:20px;padding:24px;gap:16px}.dialog.explore h1{font-size:48px;line-height:52px}.dialog.explore .shop-invitation h3{font-size:24px;line-height:30px}.dialog.explore .shop-invitation,.explore-link{padding:20px 18px}.dialog.share,.dialog.instagram{max-height:none}.share-panel{gap:14px}.share-panel h1{font-size:48px;line-height:52px;letter-spacing:-1.5px}.share-score{padding:20px;gap:10px}.share-score img{width:120px;height:40px}.share-score strong{font-size:32px;line-height:38px}.social-grid{gap:10px}.copy-preview{padding:16px}.dialog-close{width:32px;height:32px;top:4px;right:4px}}
@media(max-width:360px){.game-shell{padding:18px}.header{gap:6px}.header>.button{font-size:12px;width:136px;max-width:45%;padding-inline:8px}.brand-logo{width:106px;height:35px}.has-partner .header:not(:has(+.welcome-layout)) .brand-logo{width:72px;height:24px}.brand-group .partner img{width:64px;height:28px}.brand-group .partner strong{max-width:64px;font-size:11px;line-height:14px}.welcome-copy h1{font-size:40px;line-height:44px}.welcome-pill{font-size:12px;padding-inline:16px}.teaser{height:140px;width:29%;padding:8px}.teaser .product-image{height:88px}.teaser p{font-size:12px;line-height:18px}.discovery-deck{height:175px}.welcome-hint{font-size:20px;line-height:30px}.score-circle{width:148px;height:148px}.score-circle strong{font-size:54px;line-height:60px}.score-summary{gap:14px}.score-summary h3{font-size:20px;line-height:26px}.score-summary .caption{font-size:12px;line-height:18px}.discovery-card{flex-basis:94%}.round-summary .pill{padding-inline:16px}.result-footer>.button{padding-inline:10px;font-size:12px}.result-footer .caption{font-size:12px;line-height:18px}.dialog{padding:18px}.overlay{padding:16px}.dialog.reward .discovery-card{grid-template-columns:90px minmax(0,1fr)}.dialog.reward .discovery-card>.product-image{width:90px;height:90px}.coupon-card{padding:12px;gap:8px}.coupon-card strong{font-size:28px;line-height:34px}.coupon-code{font-size:14px;padding:10px 6px}.coupon-code small{font-size:12px}.dialog.explore h1,.share-panel h1,.review h1{font-size:42px;line-height:46px}.game-progress>.mobile-score{margin-right:16px}.question-card .product-image{height:150px}.game-art{padding-inline:18px}.answer-buttons{gap:10px}.answer-buttons .button{font-size:14px;padding-inline:8px}.rank-summary{flex-wrap:wrap;gap:2px}.ranking-scroll table{font-size:14px;line-height:20px}.ranking-scroll tbody th{font-size:14px;line-height:20px}.ranking-scroll td,.ranking-scroll th{padding-inline:4px}.review-product h2{font-size:22px;line-height:28px}}
.hsa-v2 .button{font-weight:700}.dialog .surprising{order:initial}.dialog textarea{width:100%;min-height:100px;padding:12px;resize:vertical;color:var(--ink);border:1px solid var(--line);border-radius:12px}.question-card.feedback-correct{outline:3px solid var(--success);box-shadow:0 12px 28px #16724c22}.correct-label{position:absolute;top:12px;right:12px;background:var(--success-bg);color:var(--success);border-radius:100px;padding:5px 12px;font-size:14px;line-height:20px;font-weight:700}.dialog-close{width:44px;height:44px;background:transparent}
@media(max-width:700px){.results-layout .result-actions{gap:6px}.result-actions .result-footer>.button{flex:0 0 150px;white-space:nowrap;padding-inline:10px;font-size:14px}.dialog.reward .surprising{order:initial}.dialog.reward .coupon-terms{flex-shrink:0}.dialog.reward>h2{flex-shrink:0}}
@media(max-width:360px){.result-actions .result-footer>.button{flex-basis:132px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.hsa-v2 *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Decorative layers must never intercept answers or session-recovery controls. */
.hsa-v2 .orbit,.hsa-v2 .peach,.hsa-v2 .game-orbit{pointer-events:none}
/* Real catalog names can be much longer than the teaser labels in Figma. */
.hsa-v2 .teaser p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0}
.hsa-v2 .teaser .product-image{flex:1 1 0;min-height:0}

/* Keep the mobile decoration inside its card area, even with short product names. */
@media(max-width:700px){.hsa-v2 .game-orbit{height:100%;aspect-ratio:auto}}
.hsa-v2 .test-account-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;margin-bottom:20px;background:var(--surface);font-size:14px;line-height:20px}
.hsa-v2 .test-account-notice .button{flex-shrink:0}
@media(max-width:700px){.hsa-v2 .test-account-notice{flex-direction:column;align-items:stretch}}

.carousel {overflow-x:auto;overflow-y:hidden}
.carousel-nav .button.icon {min-width:44px;min-height:44px}
@media(pointer:fine){
  .carousel {cursor:grab}
  .carousel.is-dragging {cursor:grabbing;scroll-snap-type:none;user-select:none}
}
@media(min-width:701px){
  .screen-results {max-width:1180px;padding:clamp(24px,3vw,44px)}
  .screen-results .header {margin-bottom:20px}
  .results-layout {grid-template-columns:minmax(0,0.85fr) minmax(0,1.35fr);gap:clamp(24px,4vw,56px)}
  .results-primary {gap:14px}
  .results-primary h1 {font-size:clamp(32px,3vw,42px);line-height:1.12}
  .results-primary .score-circle {width:clamp(140px,14vw,184px);height:auto;aspect-ratio:1;flex-shrink:0}
  .results-primary .score-circle strong {font-size:clamp(44px,4vw,58px);line-height:1.1}
  .results-secondary .surprising h2,.results-secondary .section-heading h2 {font-size:26px;line-height:32px}
  .results-secondary .discovery-details h3 {font-size:20px;line-height:25px}
  .results-secondary .discovery-details>p {font-size:15px;line-height:21px}
  .results-secondary .discovery-card>.product-image {width:96px;height:96px}
  .results-secondary .ranking-scroll td {padding-block:6px}
}
/* Keep the mobile action surface opaque all the way to the viewport edges.
   Reserve its rendered height so the last coupon can scroll fully above it. */
@media(max-width:700px) and (min-height:521px){
  .results-layout {padding-bottom:var(--result-action-height,190px)}
  .results-layout .result-actions {
    --gutter:clamp(18px,5vw,24px);
    position:fixed;inset:auto 0 0;z-index:2;
    background:var(--canvas);border-top:1px solid var(--line);
    padding:8px max(var(--gutter), calc((100% - 540px)/2 + 24px), env(safe-area-inset-right))
      max(8px,env(safe-area-inset-bottom))
      max(var(--gutter), calc((100% - 540px)/2 + 24px), env(safe-area-inset-left));
  }
}
