@font-face{font-family:"Clash Grotesk";src:url("../clash-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Clash Grotesk";src:url("../clash-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Clash Grotesk";src:url("../clash-600.woff2") format("woff2");font-weight:600;font-display:swap}
:root{--paper:#edf3f0;--step:#dfe9e4;--ink:#10231f;--muted:#3f5650;--pine:#123029;--pine2:#1c4c3f;--gold:#f4c95d;--red:#c9352c;--on:#fff;--r:20px;--m:12px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.45 "Clash Grotesk",ui-sans-serif,system-ui,sans-serif}
a{color:inherit}img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}
h1,h2,h3{font-weight:500;letter-spacing:-.03em;line-height:.98}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--m);padding:var(--m);align-items:start}
.stage{position:sticky;top:var(--m);height:calc(100svh - 2*var(--m));order:2;display:flex;flex-direction:column;background:var(--pine);border-radius:var(--r);overflow:hidden}
.tv{position:relative;flex:1;min-height:0;color:#fff}
.caption{height:56px;display:flex;align-items:center;padding:0 24px;background:var(--step);color:var(--ink);font-size:16px;font-weight:500}
#snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.screen{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.03);transition:opacity .7s var(--ease),transform 1.1s var(--ease),visibility 0s .7s;display:flex;flex-direction:column;justify-content:center}
.screen.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .7s var(--ease),transform 1.1s var(--ease)}
.screen img{width:100%;height:100%;object-fit:contain}

[data-screen=survey]{padding:clamp(16px,2.4vw,36px);gap:clamp(10px,1.3vw,18px);z-index:2}
.scorebar{display:flex;gap:10px;justify-content:center}
.score{display:flex;gap:12px;align-items:baseline;padding:8px 16px;border-radius:12px;background:var(--pine2);font-size:16px}
.score b{font-weight:500}.score output{color:var(--gold);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}
.q{font-size:clamp(24px,2.7vw,42px);line-height:1.05;letter-spacing:-.02em;font-weight:500;text-align:center;text-wrap:balance}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,.8vw,12px);perspective:900px}
.tile{position:relative;height:clamp(52px,6.6vh,76px);border:0;border-radius:12px;background:var(--pine2);color:var(--gold);font:inherit;font-size:clamp(16px,1.4vw,22px);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 14px;transition:transform .16s var(--ease),background .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.tile:hover{background:#245c4c}.tile:active{transform:scale(.97)}
.tile .ans,.tile .pts{display:none}
.tile.on{justify-content:space-between;background:#fff;color:var(--ink);cursor:default;animation:flip .5s var(--ease)}
.tile.on .num{display:none}.tile.on .ans,.tile.on .pts{display:block}
.tile .ans{text-align:left;line-height:1.1}
.tile .pts{min-width:42px;padding:3px 8px;border-radius:8px;background:var(--red);color:#fff;font-variant-numeric:tabular-nums}
html:not(.js) .tile{justify-content:space-between;background:#fff;color:var(--ink)}html:not(.js) .tile .num{display:none}html:not(.js) .tile .ans,html:not(.js) .tile .pts{display:block}
@keyframes flip{from{transform:rotateX(-88deg)}to{transform:none}}
.controls{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.pot{font-size:18px;font-weight:500}.pot output{color:var(--gold);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;margin-left:4px}
.strikes{display:flex;gap:6px}.strikes i{position:relative;width:30px;height:30px;border-radius:8px;background:var(--pine2);transition:background .2s}
.strikes i.hit{background:var(--red);animation:shake .34s var(--ease)}
.strikes i.hit::after{content:"\00d7";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:600;line-height:1}
@keyframes shake{0%{transform:scale(1.5) rotate(-8deg)}60%{transform:scale(.94) rotate(3deg)}100%{transform:none}}
.key{min-height:44px;padding:0 16px;border:0;border-radius:99px;background:var(--pine2);color:#fff;font:500 16px/1 "Clash Grotesk",sans-serif;cursor:pointer;transition:transform .16s var(--ease),background .2s;touch-action:manipulation}
.key:hover{background:#245c4c}.key:active{transform:scale(.96)}.key.strike{background:var(--red)}.key.strike:hover{background:#ae2b24}.key.gold{background:var(--gold);color:var(--ink)}.key.gold:hover{background:#f8d67c}
.key:disabled{opacity:.55;cursor:default}

.sheet{order:1;min-width:0;padding:0 clamp(20px,3.6vw,64px)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:84px}
.mark img{width:172px}
.links{display:flex;gap:24px}.links a{text-decoration:none;font-size:16px;font-weight:500;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s var(--ease);padding-bottom:2px}
.links a:hover{background-size:100% 2px}
.hero{min-height:calc(100svh - 96px);display:flex;flex-direction:column;justify-content:center;padding:0 0 72px;scroll-margin-top:0}
h1{font-size:clamp(52px,7.3vw,112px);line-height:.92;letter-spacing:-.04em;margin-bottom:36px}h1 span{display:block}
.lead{font-size:24px;line-height:1.3;max-width:27em;margin-bottom:36px}
.soon{font-weight:500;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:0;border-radius:99px;background:var(--red);color:#fff;font:500 18px/1 "Clash Grotesk",sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .16s var(--ease),background .2s}
.btn:hover{background:#ae2b24}.btn:active{transform:scale(.97)}
.btn.invert{background:var(--gold);color:var(--ink)}.btn.invert:hover{background:#f8d67c}
.buy{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.plain{font-weight:500}
.row{display:flex;gap:8px;padding:6px;background:#fff;border-radius:99px;max-width:560px}
input[type=email]{flex:1;min-width:0;height:56px;padding:0 20px;border:0;border-radius:99px;background:transparent;color:var(--ink);font:inherit}
input[type=email]::placeholder{color:#5d7069}
.check{display:flex;gap:10px;margin-top:14px;font-size:16px;line-height:1.3;color:var(--muted)}.check input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--red)}
.error{margin-bottom:12px;color:#a62a22;font-weight:500}
.done{font-size:24px;line-height:1.25;font-weight:500;color:var(--pine2);max-width:22em}

section{scroll-margin-top:24px}
h2{font-size:clamp(38px,3.8vw,56px)}
.games{padding-top:40px}
.game{min-height:88svh;display:flex;flex-direction:column;justify-content:center;padding:40px 0}
.game h3{font-size:clamp(34px,3.2vw,48px);margin-bottom:20px}
.game .line{font-size:24px;line-height:1.3;max-width:26em;margin-bottom:28px}
.big{font-size:24px;font-weight:500;line-height:1;margin-bottom:24px}.big b{display:inline-block;font-weight:500;font-size:clamp(52px,7.3vw,112px);line-height:.9;letter-spacing:-.04em;color:var(--red);margin-right:6px}
.phone-shot{display:none}
.game li{position:relative;padding:4px 0 4px 24px}.game li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:10px;border-radius:50%;background:var(--pine2)}
.more,.tag{align-self:flex-start;margin-top:24px;font-weight:500}
.more{transition:color .2s}.more:hover{color:var(--red)}

.deal{margin:48px calc(-1*clamp(20px,3.6vw,64px)) 0;padding:clamp(56px,6vw,96px) clamp(20px,3.6vw,64px);background:var(--pine);color:#fff;border-radius:var(--r)}
.deal h2{font-size:clamp(46px,5.5vw,84px);margin-bottom:28px}.deal #deal{color:var(--gold)}
.deal p{font-size:24px;line-height:1.3;max-width:26em;margin-bottom:32px}
.inside{padding:160px 0 80px}.inside h2{margin-bottom:40px}
.rows li{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:10px 0;font-size:24px;line-height:1.2}
.rows b{font-weight:500;color:var(--red);font-variant-numeric:tabular-nums}
.how{padding-top:80px}.how li{min-height:66svh;display:flex;flex-direction:column;justify-content:center}
.how h3{font-size:clamp(34px,3.2vw,48px);margin-bottom:18px}.how li p{font-size:24px;line-height:1.3;max-width:25em}
.faq{padding:120px 0 40px}.faq h2{margin-bottom:32px}
details{padding:14px 0}summary{position:relative;list-style:none;cursor:pointer;font-size:24px;font-weight:500;line-height:1.2;padding-right:36px;transition:color .2s}
summary::-webkit-details-marker{display:none}summary:hover{color:var(--red)}
summary::after{content:"";position:absolute;right:6px;top:.3em;width:10px;height:10px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);transition:transform .28s var(--ease)}
details[open] summary::after{transform:translateY(5px) rotate(225deg)}
details p{padding-top:10px;max-width:32em}
.close{padding:140px 0 120px}.close p{font-size:24px;line-height:1.3;max-width:20em;margin-bottom:28px;font-weight:500}

.foot{position:relative;height:66svh;min-height:440px;margin-top:var(--m);overflow:hidden;color:#fff;background:var(--red)}
.foot-top{position:absolute;left:32px;right:32px;top:32px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:16px;font-weight:500}
.wordmark{position:absolute;left:24px;right:24px;bottom:56px;font-size:13.4vw;line-height:.96;letter-spacing:-.05em;font-weight:500;white-space:nowrap;overflow:hidden;margin:0;padding-bottom:.06em}
.wordmark span{display:inline-block}
.legal{position:absolute;left:32px;bottom:18px;font-size:15px}

.tv.cover{display:grid;place-items:center;padding:clamp(16px,2.4vw,40px)}.tv.cover img{width:100%;height:100%;object-fit:contain}
.p-hero{min-height:calc(100svh - 96px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-bottom:64px}
.p-title{font-size:clamp(46px,5.4vw,84px);line-height:.96;letter-spacing:-.04em;margin-bottom:24px}
.p-price{margin:4px 0 28px;font-size:24px}.p-price b{font-weight:500;font-size:clamp(46px,5.4vw,84px);letter-spacing:-.04em;color:var(--red);line-height:1}.p-price s{color:var(--muted)}
.p-note{margin-top:20px;font-size:16px;color:var(--muted)}
.prose{padding-bottom:40px;max-width:38em}.prose h2,.prose h3,.prose h4{font-size:28px;line-height:1.1;margin:44px 0 12px;letter-spacing:-.02em}.prose p{margin:0 0 14px}.prose ul{margin:0 0 14px}.prose li{position:relative;padding:4px 0 4px 24px}.prose li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:10px;border-radius:50%;background:var(--pine2)}
.p-more{padding:80px 0 120px}.rows a{text-decoration:none;transition:color .2s}.rows a:hover{color:var(--red)}

.zs-shops{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.zs-shops h2{margin:0;font-size:16px;font-weight:500;letter-spacing:0;line-height:1.2}
.zs-shops ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.zs-shops a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:99px;background:#fff;color:#10231f;font-size:16px;font-weight:500;text-decoration:none;transition:transform .16s cubic-bezier(.16,1,.3,1),opacity .2s}
.zs-shops a:hover{opacity:.86}.zs-shops a:active{transform:scale(.96)}
.foot .zs-shops{position:absolute;left:32px;right:32px;top:84px}
@media (max-width:900px){
  body{font-size:17px}
  .page{display:flex;flex-direction:column;gap:0;padding:0 0 0}.sheet{display:contents}.nav{order:0}.hero,.p-hero{order:1}.stage{order:2}.sheet>section{order:3}.sheet>*{margin-inline:20px}.sheet>.deal{margin-inline:0;padding-inline:20px}
  .stage{position:relative;top:auto;height:auto;min-height:0;margin:0 12px;align-self:stretch;border-radius:var(--r)}.tv{height:400px;flex:none}
  .phone-shot{display:block;width:100%;border-radius:var(--r);margin-bottom:24px}
  .caption{display:none}
  [data-screen=survey]{padding:10px 12px;gap:6px}
  .scorebar .score{padding:3px 12px}.score output{font-size:20px}
  .q{font-size:20px}.tile{height:42px;font-size:16px;padding:0 10px}.tile .pts{min-width:32px;padding:1px 6px}.tiles{gap:5px}
  .controls{gap:6px}.controls .pot{display:none}.key.strike{min-height:40px}.key{min-height:44px;padding:0 13px;font-size:15px}
  .screen img{object-fit:contain}
  .nav{height:72px}.links{display:none}.mark img{width:150px}
  .hero{min-height:auto;padding:8px 0 36px}.p-hero{min-height:auto;padding:8px 0 36px}.p-title{font-size:12vw}.tv.cover{height:auto;aspect-ratio:1}
  h1{font-size:clamp(52px,14vw,92px);margin-bottom:20px}.lead,.game .line,.deal p,.how li p,.rows li,.close p{font-size:20px}
  .row{flex-direction:column;background:none;padding:0;border-radius:0}input[type=email]{flex:none;background:#fff}.row .btn{width:100%}
  .game{min-height:0;padding:40px 0}.deal{border-radius:0}.deal h2{font-size:12vw}
  .inside{padding:100px 0 40px}.how li{min-height:0;padding:36px 0}.rows{max-width:520px}.close p{max-width:none}.big b{font-size:clamp(52px,14vw,92px)}summary{font-size:20px}.faq{padding-top:80px}.close{padding:120px 0}
  .foot{height:64svh}.foot-top{left:20px;right:20px;top:24px}.foot .zs-shops{left:20px;right:20px;top:112px}.wordmark{left:16px;right:16px;font-size:23vw;white-space:normal;bottom:44px}.wordmark span{display:block}.legal{left:20px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.screen,.screen.is-on,.tile,.btn,.key,summary::after{transition:none}.tile.on,.strikes i.hit{animation:none}.screen{transform:none}#snow{display:none}}
/* Frequently bought together */
.fbt{padding:56px 0 8px}
.fbt h2{font:500 28px/1.15 "Clash Grotesk",sans-serif;margin:0 0 18px}
.fbt-box{background:var(--step);border-radius:var(--r);padding:20px}
.fbt-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fbt-items li{position:relative;display:flex;flex-direction:column;gap:6px}
.fbt-items li+li::before{content:"+";position:absolute;left:-12px;top:62px;transform:translateX(-50%);font:500 22px/1 "Clash Grotesk",sans-serif;color:var(--muted)}
.fbt-item{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:8px;align-items:start;cursor:pointer}.fbt-pic{grid-column:1/-1}.fbt-price{grid-column:2}
.fbt-item input{grid-row:2;width:22px;height:22px;margin:1px 0 0;accent-color:var(--pine2);cursor:pointer}
.fbt-pic{display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--paper);transition:opacity .2s}
.fbt-pic img{width:100%;height:100%;object-fit:cover;display:block}
.fbt-name{font-size:15px;line-height:1.3}
.fbt-price{font-weight:600;color:var(--red);font-variant-numeric:tabular-nums}
.fbt-item:has(input:not(:checked)) .fbt-pic{opacity:.4}
.fbt-link{font-size:14px;color:var(--muted);padding-left:32px}
.fbt-buy{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid rgba(16,35,31,.12)}
.fbt-total{margin:0;font-size:20px}.fbt-total b{font-variant-numeric:tabular-nums}
.fbt .btn[disabled]{opacity:.45;cursor:not-allowed}
.fbt-deal{margin:14px 0 0;font-size:17px}.fbt-deal a{color:var(--red)}
@media (max-width:560px){.fbt-items{grid-template-columns:1fr}.fbt-items li+li::before{display:none}.fbt-item{display:flex;flex-direction:row;align-items:center}.fbt-pic{width:84px;flex:none}.fbt-item input{position:static;flex:none;order:-1}.fbt-name{flex:1}.fbt-price{flex:none}.fbt-link{padding-left:34px}.fbt-buy .btn{width:100%}}
/* More Christmas gifts */
.gifts{padding:72px 0 8px}.shop-all{padding-top:48px}.gifts h2{margin-bottom:10px}.gifts-lead{font-size:20px;line-height:1.35;max-width:30em;margin:0 0 24px;color:var(--muted)}
.gift-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.gift{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);background:#fff;border-radius:var(--r);padding:10px 10px 14px;transition:transform .16s var(--ease),box-shadow .16s}
.gift:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(16,35,31,.12)}
.gift img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:14px;display:block}
.gift-name{font-size:17px;line-height:1.25;font-weight:500}.gift-price b{color:var(--red);font-size:19px}.gift-price s{color:var(--muted);font-size:15px;margin-left:4px}
@media (max-width:560px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gift{padding:6px 6px 10px;gap:6px}.gift img{border-radius:10px}.gift-name{font-size:14px}.gift-price b{font-size:16px}.gift-price s{font-size:13px}}
@media (max-width:900px){.sheet>.shop-all{order:2}.stage{order:3}.sheet>section:not(.shop-all){order:4}}
/* Look inside thumbnails on product pages */
.look{display:flex;gap:10px;padding:0 clamp(16px,2.4vw,40px) clamp(16px,2vw,28px);overflow-x:auto;scrollbar-width:thin}
.look button{flex:none;width:76px;height:76px;padding:0;border:3px solid transparent;border-radius:12px;background:#fff;cursor:pointer;overflow:hidden;opacity:.75;transition:opacity .2s,border-color .2s}
.look button.on,.look button:hover{border-color:var(--gold);opacity:1}.look button img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.tv.cover{display:flex;align-items:center;justify-content:center;overflow:hidden}.tv.cover img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.look{flex:none;position:relative;z-index:1}
/* Newer shops' home page (Kids, Games, Books) */
.sh-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}
.sh .mark{display:flex;align-items:center;gap:12px;text-decoration:none}.sh-name{font-size:22px;font-weight:600;color:var(--pine);padding-left:12px;border-left:2px solid var(--step)}
.sh .links a{text-decoration:none;font-weight:500}.sh .links a:hover{color:var(--red)}
.sh-hero{padding:clamp(20px,4vw,56px) 0 12px}
.sh-hero h1{font-size:clamp(46px,7vw,96px);max-width:11em;margin-bottom:clamp(20px,3vw,36px);color:var(--ink)}
.sh-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);margin-bottom:clamp(24px,3vw,40px)}
.sh-strip a{display:block;border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.08);transform:rotate(calc((var(--k) - 1) * 1.5deg));transition:transform .25s var(--ease)}
.sh-strip a:hover{transform:rotate(0) translateY(-4px)}.sh-strip img{width:100%;aspect-ratio:1;object-fit:cover}
.sh-hero .lead{color:var(--muted)}
.sh-signup{max-width:640px}.sh-soon{font-weight:600;font-size:20px;margin-bottom:12px;color:var(--pine)}
.sh-row{display:flex;gap:10px;background:#fff;border-radius:99px;padding:6px}.sh-row input{flex:1;min-width:0;border:0;background:none;padding:0 18px;font:inherit;font-size:18px;outline:none}
.sh-signup .check{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:14px;color:var(--muted)}
.sh-note{padding:14px 18px;border-radius:14px;background:var(--step);font-weight:500;max-width:640px}.sh-err{background:#fde3df}
.sh-shop{padding-bottom:80px}.sh-later{color:var(--muted);font-size:15px;font-weight:500}
@media (max-width:560px){.sh-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sh-strip a{border-radius:12px}.sh-row{flex-direction:column;background:none;padding:0;border-radius:0}.sh-row input{background:#fff;border-radius:99px;min-height:54px}.sh-name{font-size:18px}}
