@layer components{.hero{padding-bottom:clamp(52px,8vw,104px);overflow:clip}.hero-in{z-index:1;grid-template-columns:minmax(0,1fr);align-items:center;gap:44px;padding-top:clamp(20px,4vw,40px);display:grid;position:relative}.hero-copy{min-width:0}.hero h1 em{color:var(--accent-ink);font-style:normal}.hero .lede{margin-top:20px}@media (min-width:960px){.hero-in{grid-template-columns:minmax(0,1fr) auto;gap:clamp(36px,5vw,80px);padding-top:clamp(24px,3vw,48px)}}.facts{font:500 .8125rem / 1.3 var(--type-face-tile);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;gap:6px 18px;margin:24px 0 0;padding:0;list-style:none;display:flex}.facts li{align-items:center;gap:8px;display:flex}.facts li:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--glow-soft);border-radius:2px}.cta{gap:14px;margin-top:28px;display:grid}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (max-width:559px){.cta-row .store-badge{justify-content:center;width:100%}}.qr{align-items:center;gap:14px;display:flex}.qr-box{width:var(--qr-size,104px);border-radius:calc(var(--radius-button) - 2px);background:var(--tile);color:var(--tile-text);box-shadow:inset 0 1px 0 var(--gloss), 0 0 0 1px var(--line), 0 10px 18px -8px var(--shadow);flex:none;padding:0;overflow:hidden}.qr-code{fill:currentColor;width:100%;height:auto;display:block}.qr p{color:var(--text-muted);margin:0;font-size:.9375rem;line-height:1.35}.qr p b{font:700 1rem / 1.3 var(--type-face-tile);letter-spacing:.02em;color:var(--text);display:block}[data-platform=ios] .cta [data-store=google],[data-platform=android] .cta [data-store=apple],[data-platform=ios] .cta .qr,[data-platform=android] .cta .qr{display:none}.play{--c:clamp(40px, calc((100vw - 2 * var(--gutter) - 74px) / 5), 64px);--cg:var(--tile-gap-phone);--mw:44px;--mg:10px;width:100%;min-width:0;max-width:calc(5 * var(--c) + 4 * var(--cg) + var(--mw) + var(--mg));justify-self:center;gap:14px;display:grid;position:relative}@media (min-width:960px){.play{--c:var(--tile-size-desktop);--cg:var(--tile-gap-desktop);--mw:48px;--mg:14px}}.play-glow{width:170%;height:110%;top:52%;left:50%;translate:-50% -50%}.play-head{justify-content:space-between;align-items:flex-end;gap:12px;padding-top:30px;display:flex}.play-head .eyebrow{min-width:0;margin:0}.sign{border-radius:max(4px, calc(var(--radius-button) - 4px));background:rgba(var(--steam-rgb), .03);box-shadow:inset 0 0 0 1px var(--line);font:700 .9375rem / 1 var(--type-face-tile);letter-spacing:.04em;flex:none;gap:.2em;padding:8px 12px 7px;display:inline-flex;position:relative}.sign span{color:var(--text-muted);text-shadow:0 -1px 0 #00000059, 0 1px 0 rgba(var(--steam-rgb), .08);transition:color .6s,text-shadow .8s;transition-delay:var(--sd,0s)}.play[data-solved] .sign span{color:var(--accent-ink);text-shadow:0 0 12px var(--glow), 0 0 2px var(--accent)}.sign .wisps{opacity:.32;width:62px;height:34px;transition:opacity .8s;position:absolute;bottom:100%;left:50%;translate:-50% 2px}.play[data-solved] .sign .wisps{opacity:1}.board{align-items:stretch;gap:var(--mg);display:flex}.mini{--tile-size:var(--c);grid-template-columns:repeat(5, var(--c));grid-auto-rows:var(--c);gap:var(--cg);display:grid}.mini .tile[data-variant=letter][data-selected]{color:var(--tile-text)}.mini .tile[data-variant=letter][data-selected] .tile-face{background:linear-gradient(180deg, var(--word-highlight), var(--tile-shade));box-shadow:inset 0 1px 0 var(--gloss), inset 0 0 0 2px var(--outline-strong), 0 0 0 4px var(--glow-soft)}.mini .tile[data-variant=slot]:not([data-selected]):hover{box-shadow:inset 0 0 0 1px var(--slot-highlight-edge), inset 0 2px 7px var(--slot-inset)}.mini .tile[data-variant=slot][data-selected] .tile-ch:empty:after{content:"";width:2px;height:calc(var(--s) * .42);background:var(--accent);animation:blink var(--dur-caret-blink) steps(1) infinite;border-radius:1px;display:block}.mini .tile[data-wrong]:before{content:"";background:var(--danger);border-radius:2px;height:3px;position:absolute;bottom:12%;left:24%;right:24%}.mini .tile[data-wrong][data-shake]{animation:shake var(--dur-shake) ease}.mini .tile:after{content:"";z-index:3;border-radius:inherit;opacity:0;pointer-events:none;box-shadow:0 0 0 2px var(--accent-hi), 0 0 26px 5px var(--glow);position:absolute;inset:0}.mini .tile[data-pulse]:after{animation:pulse var(--dur-tile-pulse) var(--ease-steam) both;animation-delay:var(--fx-delay,0s)}.mittari{width:var(--mw);grid-template-rows:auto minmax(0,1fr);justify-items:center;gap:6px;display:grid}.mittari-read{text-align:center;line-height:1}.mittari-read b{font:800 1.25rem / 1 var(--type-face-display);font-variant-numeric:tabular-nums;color:var(--text);display:block}.mittari-read small{font:500 .625rem / 1 var(--type-face-tile);letter-spacing:.1em;color:var(--text-muted);margin-top:2px;display:block}.mittari-plate{border-radius:calc(var(--mw) * .3);background:linear-gradient(180deg, var(--tile), var(--tile-shade));width:100%;color:var(--tile-text);box-shadow:inset 0 1px 0 var(--gloss), inset 0 -2px 0 var(--tile-lip), 0 10px 18px -8px var(--shadow);position:relative}.mittari-plate .mittari-scale,.mittari-plate .mittari-tube{position:absolute;top:14px;bottom:30px}.mittari-plate .mittari-scale{width:52%;left:0}.mittari-plate .mittari-scale i{background:color-mix(in srgb, var(--tile-text) 50%, transparent);width:7px;height:1px;position:absolute;right:0;translate:0 50%}.mittari-plate .mittari-scale b{font:600 .5625rem / 1 var(--type-face-tile);color:var(--tile-text);position:absolute;top:50%;right:10px;translate:0 -50%}.mittari-plate .mittari-tube{background:#0000001a;border-radius:3px;width:6px;left:66%;translate:-50%;box-shadow:inset 0 0 0 1px #00000024}.mittari-plate .mittari-fill{background:linear-gradient(0deg, var(--accent-lo), var(--accent-hi));transition:height var(--dur-thermometer) var(--ease-settle);border-radius:3px;position:absolute;bottom:0;left:0;right:0}.play[data-solved] .mittari-plate .mittari-fill{box-shadow:0 0 12px var(--glow)}.mittari-plate .mittari-bulb{background:radial-gradient(circle at 35% 35%, var(--accent-hi), var(--accent-lo));width:16px;height:16px;box-shadow:0 0 10px var(--glow-soft);border-radius:50%;position:absolute;bottom:10px;left:66%;translate:-50%}.cluebar{border-radius:calc(var(--radius-button) - 2px);background:rgba(var(--steam-rgb), .04);box-shadow:inset 0 0 0 1px var(--line);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;padding:5px;display:grid}.cluebar-nav{width:44px;height:44px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.cluebar-nav:hover{background:rgba(var(--steam-rgb), .08)}.cluebar-nav svg{width:20px;height:20px}.cluebar-text{text-align:center;gap:3px;min-width:0;display:grid}.cluebar-label{font:500 .6875rem / 1.2 var(--type-face-tile);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}.cluebar-clue{font-size:1.0625rem;font-weight:600;line-height:1.25}.kbd{gap:5px;display:grid}@media (max-width:479px){.kbd{margin-inline:calc(4px - var(--gutter))}}.kbd-row{grid-template-columns:repeat(11,minmax(0,1fr));gap:4px;display:grid}.kbd-key{border-radius:var(--radius-key);background:var(--surface);min-width:0;height:44px;color:var(--text);box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 #00000038;font:700 1rem / 1 var(--type-face-tile);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;padding:0;position:relative}.kbd-key:before{content:"";position:absolute;inset:-2.5px -2px}.kbd-key:active,.kbd-key[data-down]{background:var(--accent);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-lip)}.kbd-row:last-child .kbd-key:first-child{grid-column-start:2}.kbd-back{grid-column:span 2;place-items:center;display:grid}.kbd-back svg{width:22px;height:22px}@media (min-width:960px) and (hover:hover) and (pointer:fine){.kbd{display:none}}.play-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.play-status{min-height:2.9em;color:var(--text);flex:200px;margin:0;font-size:.9375rem;line-height:1.45}.play-actions{flex-wrap:wrap;gap:8px;display:flex}.play-count{background:var(--accent);min-width:22px;height:22px;color:var(--accent-text);font:700 .8125rem / 1 var(--type-face-tile);font-variant-numeric:tabular-nums;border-radius:6px;place-items:center;padding:0 5px;display:inline-grid}.sec{padding-block:clamp(64px,9vw,128px)}.sec+.sec{border-top:1px solid var(--line)}.sec-lede{margin-top:20px}.show{padding-block:clamp(64px,9vw,120px) clamp(48px,8vw,128px)}.show-head{gap:16px;max-width:46rem;display:grid}.show-head .eyebrow{margin:0}.swipe{font:500 .75rem / 1 var(--type-face-tile);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:10px;margin:4px 0 0;display:flex}.swipe:after{content:"";opacity:.6;background:currentColor;width:42px;height:1px}.track{margin:40px calc(-1 * var(--gutter)) 0;padding:8px var(--gutter) 20px;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;gap:20px;list-style:none;display:flex;overflow-x:auto}.track::-webkit-scrollbar{display:none}.track:after{content:"";flex:0 0 1px}.shot{scroll-snap-align:start;flex:none;width:min(64vw,250px)}.shot figure{gap:16px;margin:0;display:grid}.phone{--phone-black:#0b0705;--phone-hi:#3d2819;--phone-edge:#ffe4c429;background:linear-gradient(150deg, var(--phone-hi) 0%, var(--phone-black) 28%, var(--phone-black) 72%, var(--phone-hi) 100%);box-shadow:inset 0 0 0 1.5px var(--phone-edge), 0 0 0 1px var(--shadow), 0 34px 60px -26px #0009, 0 0 90px -34px var(--glow);border-radius:15%/7%;padding:3.6%;position:relative}.phone:before{content:"";z-index:2;aspect-ratio:3.5;background:var(--phone-black);border-radius:999px;width:28%;position:absolute;top:2.75%;left:50%;translate:-50%}.screen{aspect-ratio:1320/2868;background:var(--surface);border-radius:12.5%/5.8%;overflow:hidden}.screen img{object-fit:cover;width:100%;height:100%;display:block}.shot figcaption{gap:4px;padding-inline:4px;display:grid}.shot figcaption b{font:700 .8125rem / 1.2 var(--type-face-tile);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}.shot figcaption span{color:var(--text-muted);font-size:.9375rem;line-height:1.4}@media (min-width:900px){.track{justify-content:center;gap:clamp(14px,1.8vw,28px);margin:24px 0 0;padding:72px 0 0;overflow:visible}.shot{width:auto;min-width:0;max-width:200px;transform:translateY(var(--base));flex:1 1 0}.swipe{display:none}}@supports (animation-timeline:view()){@media (min-width:900px) and (prefers-reduced-motion:no-preference){.shot{animation:linear both settle;animation-timeline:view();animation-range:cover}}}.formats{gap:56px;margin-top:44px;display:grid}.format{align-content:start;gap:18px;min-width:0;display:grid}.format>p{max-width:34em;color:var(--text-muted);margin:0}.specimen{--tile-size:clamp(38px, calc((100vw - 2 * var(--gutter) - 48px - 25px) / 6), 54px);border-radius:var(--radius-panel);background:var(--surface);max-width:100%;box-shadow:inset 0 0 0 1px var(--line);justify-self:start;gap:10px;margin:0;padding:clamp(16px,3vw,24px);display:grid}.specimen-grid{gap:10px;display:grid}.strip{gap:5px;display:flex}.specimen .tile-pic .tile-clue{place-items:center;width:100%;height:100%;display:grid}.specimen .tile-pic svg{width:64%;height:auto}.specimen .caret{width:2px;height:calc(var(--s) * .52);background:var(--tile-text);vertical-align:middle;animation:blink var(--dur-caret-blink) steps(1) infinite;border-radius:1px;display:inline-block}.specimen figcaption{max-width:30em;font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-muted);margin-top:6px}.dims{border-top:1px solid var(--line);grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 28px;margin:4px 0 0;padding-top:16px;display:grid}.dims div{gap:4px;display:grid}.dims dt{font:500 .75rem / 1 var(--type-face-tile);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.dims dd{font:700 1.375rem / 1 var(--type-face-tile);font-variant-numeric:tabular-nums;color:var(--text);margin:0}.dims-note{font-size:var(--type-caption-size);color:var(--text-muted);margin:0}@media (min-width:880px){.formats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,80px)}.specimen{--tile-size:clamp(40px, 3.8vw, 54px)}}.together{gap:44px;display:grid}.together .lede+.lede{margin-top:14px}.code{gap:10px;margin-top:28px;display:grid}.code-tiles{--tile-size:46px;gap:6px;display:flex}.code small{font:500 .75rem / 1 var(--type-face-tile);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.modes{margin:0}.mode{border-top:1px solid var(--line);gap:8px;padding-block:22px;display:grid}.mode:last-child{border-bottom:1px solid var(--line)}.mode dt{font:800 1.875rem / 1 var(--type-face-display);align-items:center;gap:16px;display:flex}.mode dd{max-width:32em;color:var(--text-muted);margin:0;padding-left:72px}.glyph{flex:none;align-items:center;gap:5px;width:56px;height:22px;display:flex}.glyph i{background:var(--accent-ink);border-radius:3px;width:12px;height:12px;display:block}.glyph-race i{margin-right:3px}.glyph-coop{gap:0}.glyph-coop i{border-radius:0}.glyph-coop i:first-child{border-radius:3px 0 0 3px}.glyph-coop i:last-child{border-radius:0 3px 3px 0}.glyph-coop i+i{box-shadow:inset 1px 0 0 var(--background)}.glyph-teams{gap:2px}.glyph-teams i:nth-child(2){margin-right:10px}.glyph-turns svg{fill:none;width:30px;height:18px;stroke:var(--accent-ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}@media (min-width:880px){.together{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(40px,6vw,96px)}}@media (max-width:479px){.mode dd{padding-left:0}}.offer{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:44px;display:grid}.offer>div{border-bottom:1px solid var(--line);align-content:start;gap:10px;min-width:0;padding:24px 16px 28px 0;display:grid}.offer>div:nth-child(2n){border-left:1px solid var(--line);padding-left:18px}.offer-num{color:var(--accent-ink)}.offer p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.5}.offer p b{color:var(--text);font-weight:700}.fine{max-width:44em;color:var(--text-muted);margin:24px 0 0;font-size:.9375rem}@media (min-width:880px){.offer{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr))}.offer>div{border-bottom:0;padding:28px 24px 32px}.offer>div:first-child{padding-left:0}.offer>div+div{border-left:1px solid var(--line)}.offer>div:nth-child(2n){padding-left:24px}}.faq{gap:36px;display:grid}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{min-height:64px;font:700 1.125rem / 1.3 var(--type-face-body);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:16px;padding-block:16px;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:11px;height:11px;transition:rotate .2s,translate .2s;translate:0 -3px;rotate:45deg}.faq-item[open] summary:after{translate:0 3px;rotate:225deg}.faq-item summary:hover{color:var(--accent-ink)}.faq-answer{max-width:40em;color:var(--text-muted);margin:0;padding-bottom:22px}.faq-answer a{color:var(--accent-ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}@media (min-width:880px){.faq{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(40px,6vw,96px)}}.dl{padding-block:clamp(80px,11vw,150px) clamp(56px,8vw,104px);overflow:clip}.dl-glow{z-index:0;width:min(900px,160vw);height:440px;bottom:-140px;left:50%;translate:-50%}.dl-in{z-index:1;align-items:end;gap:28px;display:grid;position:relative}.dl h2{font-size:clamp(3.25rem,1.6rem + 6.5vw,7.25rem);font-weight:900;line-height:.88}.dl .wisps{width:120px;height:70px;margin:0 0 6px 6px}.dl .lede{margin-top:18px}.dl-side{gap:14px;display:grid}.dl .cta{--qr-size:140px;margin-top:0}.avail{font-size:var(--type-caption-size);color:var(--text-muted);margin:0}@media (min-width:900px){.dl-in{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,96px)}}}@keyframes pulse{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes blink{50%{opacity:0}}@keyframes settle{0%{transform:translateY(calc(var(--base) * 1.8))}to{transform:translateY(calc(var(--base) * .2))}}
