:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14131a;--bg-glow:#1b1a23;--surface:#201f29;--surface-raised:#2a2834;--surface-sunk:#1a1922;--border:#322f3d;--border-soft:#292733;--text:#f2efe9;--text-muted:#a29daf;--text-faint:#928da0;--red:#d05a42;--blue:#4a7cb8;--yellow:#d9a63c;--green:#5a9070;--purple:#8a6aa8;--gold:#d9a63c;--radius-sm:10px;--radius:15px;--radius-lg:24px;--pad-x:clamp(20px, 5vw, 40px);--measure:62ch;--gap:16px;--doc-header:0rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--text);background:var(--bg);background-image:radial-gradient(120% 70% at 50% -10%, var(--bg-glow) 0%, transparent 60%);background-repeat:no-repeat;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}a{color:var(--text);-webkit-text-decoration-color:var(--text-faint);text-decoration-color:var(--text-faint);text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}h1,h2,h3{text-wrap:balance;line-height:1.2}img{max-width:100%}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}.wrap{width:100%;max-width:1040px;padding:0 var(--pad-x);margin:0 auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;color:var(--bg);background:var(--gold);border-radius:var(--radius-sm);padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;position:absolute;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:22px 0;display:flex}.brand{letter-spacing:.16em;color:var(--text);text-transform:uppercase;align-items:center;gap:11px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.site-nav{flex-wrap:wrap;align-items:center;gap:6px clamp(14px,3vw,26px);font-size:14px;display:flex}.site-nav a{color:var(--text-muted);white-space:nowrap;text-decoration:none}.site-nav a:hover{color:var(--text)}.mark{gap:var(--mark-gap,2px);width:var(--mark-size,30px);height:var(--mark-size,30px);padding:var(--mark-gap,2px);background:var(--surface);border-radius:calc(var(--mark-size,30px) / 4.5);box-shadow:inset 0 0 0 1px var(--border);flex-shrink:0;grid-template-columns:repeat(4,1fr);display:grid}.mark i{border-radius:calc(var(--mark-size,30px) / 14);background:var(--cell,transparent)}.hero{text-align:center;padding-block:clamp(48px,11vw,104px) clamp(40px,8vw,72px)}.hero .mark{--mark-size:clamp(84px, 22vw, 116px);--mark-gap:5px;box-shadow:inset 0 0 0 1px var(--border), 0 24px 60px -30px #d9a63c80;margin:0 auto clamp(26px,5vw,38px)}.hero h1{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(38px,11vw,76px);font-weight:800}.tagline{max-width:34ch;color:var(--text-muted);margin:14px auto 0;font-size:clamp(16px,3.6vw,20px)}.hero--home{text-align:left;align-items:center;gap:clamp(30px,6vw,56px);display:grid}.hero--home .mark{--mark-size:54px;--mark-gap:3px;box-shadow:inset 0 0 0 1px var(--border), 0 18px 44px -26px #d9a63c8c;margin:0 0 22px}.hero--home h1{letter-spacing:.1em;font-size:clamp(34px,8.4vw,62px)}.hero--home .tagline{max-width:30ch;color:var(--text);margin-inline:0;font-size:clamp(17px,4vw,22px)}.hero--home .lede{margin-top:16px}@media (width>=760px){.hero--home{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)}.hero-shot{margin-right:0}}.hero-shot{width:100%;max-width:300px;margin:0 auto}@media (width>=1100px){.hero-shot{max-width:336px}}.actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(28px,5vw,40px);display:flex}.actions--start{justify-content:flex-start}.button{color:#1a1820;background:linear-gradient(180deg, #fbf9f4 0%, var(--text) 100%);border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:0 30px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .1s ease-out;display:inline-flex;box-shadow:0 3px #a9a49b}.button:active{transform:translateY(2px);box-shadow:0 1px #a9a49b}.button--ghost{color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--text) 50%, var(--bg));background:0 0}.hint{color:var(--text-faint);margin-top:16px;font-size:13px}.section{border-top:1px solid var(--border);padding-block:clamp(44px,8vw,76px)}.section--plain{border-top:0;padding-top:0}.section h2{margin:0 0 10px;font-size:clamp(23px,5vw,30px)}.eyebrow{letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin:0 0 8px;font-size:12.5px;font-weight:800}.lede{max-width:var(--measure);color:var(--text-muted);margin:0}.small{color:var(--text-muted);font-size:13.5px}.grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:clamp(26px,5vw,38px);display:grid}.grid--narrow{grid-template-columns:repeat(auto-fit,minmax(192px,1fr))}.card{background:linear-gradient(168deg, var(--surface-raised) 0%, var(--surface) 100%);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border);padding:22px}.card h3{margin:0 0 6px;font-size:16.5px}.card p{color:var(--text-muted);margin:0;font-size:14.5px}.card--link{color:inherit;text-decoration:none;transition:box-shadow .14s;display:block}.card--link:hover{box-shadow:inset 0 0 0 1px var(--gold)}.rules{text-align:center;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:clamp(18px,4vw,30px);margin-top:clamp(26px,5vw,38px);display:grid}.rule .mark{--mark-size:clamp(96px, 26vw, 132px);--mark-gap:5px;margin:0 auto 14px}.rule p{max-width:26ch;color:var(--text-muted);margin:0 auto;font-size:14.5px}.stats{grid-template-columns:repeat(auto-fit,minmax(166px,1fr));gap:clamp(20px,3.4vw,30px);margin-top:clamp(28px,5vw,40px);display:grid}.stat{border-top:2px solid var(--border);padding-top:15px}.stat-num{font-size:clamp(27px,6vw,38px);font-weight:800;line-height:1.1;display:block}.stat-label{color:var(--text-muted);margin-top:4px;font-size:14.5px;display:block}.stat-note{color:var(--text-muted);margin-top:3px;font-size:13px;display:block}.shot{background:var(--surface);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--border), 0 30px 60px -42px #000000f2;display:block;overflow:hidden}.shot img{width:100%;height:auto;display:block}.features{gap:clamp(44px,7vw,76px);margin-top:clamp(30px,5vw,46px);display:grid}.feature{align-items:center;gap:clamp(20px,4vw,46px);display:grid}.feature-shot{width:100%;max-width:280px;margin:0 auto}.feature h3{margin:0 0 9px;font-size:clamp(19px,4.2vw,24px)}.feature p{max-width:54ch;color:var(--text-muted);margin:0}.feature p+p{margin-top:12px}.feature .small{color:var(--text-faint)}@media (width>=760px){.feature{grid-template-columns:280px minmax(0,1fr)}.feature--flip{grid-template-columns:minmax(0,1fr) 280px}.feature--flip .feature-shot{order:2}}.swipe{margin-top:clamp(26px,5vw,38px)}.swipe-boards{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.swipe-board{--cell:clamp(40px, 10.5vw, 66px);--g:6px;--step:calc(var(--cell) + var(--g));grid-template-columns:repeat(4, var(--cell));gap:var(--g);padding:var(--g);background:var(--surface);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--border);display:grid;position:relative}.swipe-cell{aspect-ratio:1;background:var(--surface-sunk);border-radius:var(--radius-sm)}.swipe-cell--wall{background:repeating-linear-gradient(-45deg, var(--border) 0 3px, var(--surface-raised) 3px 8px)}.swipe-piece{top:var(--g);left:var(--g);width:var(--cell);height:var(--cell);background:var(--cell-colour);border-radius:var(--radius-sm);transform:translate(calc(var(--x1) * var(--step)), calc(var(--y) * var(--step)));position:absolute;box-shadow:inset 0 -3px #0000002e}@media (prefers-reduced-motion:no-preference){.swipe-piece{animation:5s cubic-bezier(.22,.75,.2,1) infinite swipe-slide}}@keyframes swipe-slide{0%,24%{transform:translate(calc(var(--x1) * var(--step)), calc(var(--y) * var(--step)))}44%,86%{transform:translate(calc(var(--x2) * var(--step)), calc(var(--y) * var(--step)))}to{transform:translate(calc(var(--x1) * var(--step)), calc(var(--y) * var(--step)))}}.swipe-arrow{top:calc(var(--g) + var(--step));width:100%;height:var(--cell);opacity:0;background:linear-gradient(90deg, transparent 0%, var(--text) 78%);clip-path:polygon(0% 50%,26% 2%,26% 32%,100% 32%,100% 68%,26% 68%,26% 98%);position:absolute;left:0}@media (prefers-reduced-motion:no-preference){.swipe-arrow{animation:5s ease-in-out infinite swipe-arrow}}@keyframes swipe-arrow{0%,10%{opacity:0;transform:translate(22%)}20%,42%{opacity:.8}42%{transform:translate(-14%)}54%,to{opacity:0;transform:translate(-14%)}}.swipe-board--after,.swipe-then{display:none}.swipe-caption{color:var(--text-faint);text-align:center;margin:18px 0 0;font-size:14px}@media (prefers-reduced-motion:reduce){.swipe-boards{gap:26px}.swipe-board--after{display:grid}.swipe-then{color:var(--text-muted);font-size:28px;font-weight:700;line-height:1;display:block}}.prose{max-width:var(--measure);padding:clamp(30px,6vw,56px) 0 clamp(50px,9vw,90px)}.prose h1{margin:0 0 6px;font-size:clamp(28px,6vw,38px)}.prose h2{margin:34px 0 8px;font-size:1.28em}.prose h3{margin:22px 0 6px;font-size:1.06em}.prose :is(h1,h2,h3)[id]{scroll-margin-top:calc(var(--doc-header) + 1.5rem)}.prose p,.prose li{color:var(--text-muted)}.prose li{margin-bottom:6px}.prose .updated{color:var(--text-faint);font-size:13.5px}.prose table{border-collapse:collapse;width:100%;margin:14px 0;font-size:14px}.prose th,.prose td{color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);padding:9px 12px}.prose th{color:var(--text)}.scroll{overscroll-behavior-x:contain;overflow-x:auto}.site-footer{color:var(--text-faint);border-top:1px solid var(--border);padding:34px 0 46px;font-size:13.5px}.site-footer .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 22px;display:flex}.site-footer a{color:var(--text-muted);text-decoration:none}.site-footer a:hover{color:var(--text)}.hero--compact{padding-bottom:clamp(24px,4vw,40px)}.hero--compact .mark{--mark-size:clamp(64px, 16vw, 88px)}.hero--compact h1{font-size:clamp(32px,8vw,54px)}.notice{background:var(--surface);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border);margin-top:18px;padding:15px 19px 17px;position:relative;overflow:hidden}.notice[hidden],.notice-go[hidden],.notice-stay[hidden],.notice-bar[hidden]{display:none}.notice-text{color:var(--text);margin:0;font-size:15px;font-weight:600}.notice-actions{flex-wrap:wrap;align-items:center;gap:8px 20px;margin:9px 0 0;font-size:14px;display:flex}.notice-go{color:var(--gold);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.notice-stay{font:inherit;color:var(--text-muted);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--text-faint);text-decoration-color:var(--text-faint);text-underline-offset:3px;background:0 0;border:0;padding:0}.notice-stay:hover{color:var(--text)}.notice-bar{background:var(--gold);transform-origin:0;width:100%;height:2px;animation:notice-countdown var(--notice-ms,1.2s) linear both;display:block;position:absolute;bottom:0;left:0}@keyframes notice-countdown{0%{transform:scaleX(0)}}.stores{grid-template-columns:repeat(auto-fit,minmax(min(100%,258px),1fr));gap:16px;display:grid}.store{text-align:center;background:linear-gradient(168deg, var(--surface-raised) 0%, var(--surface) 100%);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border);flex-direction:column;align-items:center;padding:26px 22px 24px;display:flex}.store h2{letter-spacing:.14em;color:var(--text-muted);text-transform:uppercase;margin:0 0 18px;font-size:14px;font-weight:800}.store-code{background:#fff;border-radius:12px;width:100%;max-width:232px;padding:10px}.store-code svg{width:100%;height:auto;display:block}.store-code--soon{aspect-ratio:1;border:2px dashed var(--border);background:0 0;place-items:center;padding:0;display:grid}.store-code--soon span{letter-spacing:.2em;color:var(--text-faint);text-transform:uppercase;font-size:12px;font-weight:800}.store-badge{--badge-h:48px;border-radius:8px;margin-top:18px;padding:2px;line-height:0;display:block}.store-badge img{width:auto;height:var(--badge-h);display:block}#store-android .store-badge img{height:calc(var(--badge-h) * 1.488)}.store-badge:focus-visible{outline-offset:3px;outline:2px solid}@media (hover:hover){.store-badge:hover img{opacity:.88}}@media (prefers-reduced-motion:no-preference){.store-badge img{transition:opacity .12s}}.store-soon{color:var(--text);margin:18px 0 0;font-size:16px;font-weight:700}.store-note{max-width:32ch;color:var(--text-faint);text-wrap:pretty;margin:12px 0 0;font-size:13px}.store-requires{color:var(--text-muted)}.store[data-own]{order:-1}.store[data-own] .store-code,.store[data-own] .store-scan,.store-scan--other,html[data-store=android] .store-scan--desktop,html[data-store=ios] .store-scan--desktop{display:none}html[data-store=android] .store-scan--other,html[data-store=ios] .store-scan--other{display:inline}.store-requires{font-weight:600;display:block}@media (width<=560px){.store-code{order:2;max-width:148px;margin-top:16px}.store-badge{order:1;margin-top:4px}.store-note{order:3}.store-code--soon{order:1;max-width:148px}.store-soon{order:2}}.doc-layout{padding-block:clamp(26px,5vw,46px) clamp(34px,7vw,64px)}.prose.doc{overflow-wrap:break-word;max-width:55ch;margin-inline:auto;padding:0;font-size:17px;line-height:1.68}.prose.doc :is(h2,h3){color:var(--text);font-weight:650}.prose.doc>h1{margin-bottom:.45rem}.prose.doc>h2{letter-spacing:-.01em;margin:2.4em 0 .5em}.prose.doc>h3{margin:1.9em 0 .35em}.prose.doc :is(p,li,td){color:color-mix(in oklab, var(--text) 86%, var(--bg))}.prose.doc>:is(p,ul,ol){margin:0 0 1.05em}.prose.doc :is(ul,ol){padding-inline-start:1.35em}.prose.doc li{margin-bottom:.4em}.prose.doc li::marker{color:var(--text-faint)}.prose.doc strong{color:var(--text);font-weight:650}.prose.doc>h1+p{color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:1.8em;padding-bottom:1.3em;font-size:.9em;line-height:1.75}.prose.doc hr{background:var(--border);border:0;height:1px;margin:3em 0 0}.prose.doc hr+h2{margin-top:1.5em}.prose.doc a{-webkit-text-decoration-color:color-mix(in oklab, var(--gold) 55%, transparent);text-decoration-color:color-mix(in oklab, var(--gold) 55%, transparent)}.prose.doc a:hover{-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.prose.doc blockquote{background:var(--surface);border-inline-start:3px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.4em 0;padding:.85em 1.1em;font-size:.95em}.prose.doc blockquote>:last-child{margin-bottom:0}.prose.doc code{background:var(--surface);border-radius:5px;padding:.12em .36em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.87em}.prose.doc pre{background:var(--surface);border-radius:var(--radius-sm);padding:1em;font-size:.87em;line-height:1.5;overflow-x:auto}.prose.doc pre code{background:0 0;padding:0}.doc-toc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 2.2rem;padding:12px 16px}.doc-toc__title{color:var(--gold);text-transform:uppercase;letter-spacing:.09em;cursor:pointer;margin:0;font-size:12px;font-weight:700}.doc-toc__title::marker{color:var(--text-faint)}.doc-toc__date{color:var(--text-faint);margin:3px 0 10px;font-size:12.5px}.doc-toc__list{margin:0;padding:0;list-style:none}.doc-toc__list a{color:var(--text-muted);border-inline-start:2px solid var(--border);padding:5px 0 5px 11px;font-size:13.5px;line-height:1.4;text-decoration:none;display:block}.doc-toc__list a:hover{color:var(--text);border-inline-start-color:var(--gold)}@media (width<=61.999rem){.doc-toc__list{scrollbar-width:thin;max-height:36vh;overflow-y:auto}}@media (width>=62rem){.doc-layout--toc{grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:clamp(30px,4vw,58px);display:grid}.doc-layout--toc .prose.doc{margin-inline:0}.doc-toc__title{cursor:default;list-style:none}.doc-toc__title::-webkit-details-marker{display:none}.doc-toc{top:calc(var(--doc-header) + 1.5rem);max-height:calc(100vh - var(--doc-header) - 3rem);overscroll-behavior:contain;scrollbar-width:thin;background:0 0;border:0;padding:0 0 0 2px;position:sticky;overflow-y:auto}}.doc-related h2{margin-top:0}.doc-related .grid{margin-top:18px}.doc-back{margin:26px 0 0;font-size:14px}.doc-back a{color:var(--text-muted)}.doc-print{display:none}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#000;background:#fff}.prose.doc,.prose.doc :is(p,li,td,th,h1,h2,h3,strong,a,blockquote,code){color:#000}.prose.doc a{text-decoration:underline}.prose.doc :is(blockquote,code,pre){background:0 0}.prose.doc blockquote{border-inline-start:2px solid #000}.prose.doc :is(code,pre){border:1px solid #000}.prose.doc hr{opacity:.3;background:#000}.prose.doc>h1+p{color:#000;border-bottom-color:#000}.prose.doc .scroll{overflow:visible}.skip-link,.site-header,.doc-toc,.doc-related,.site-footer{display:none}.doc-print{margin:0 0 1.5rem;font-size:9pt;display:block}@page{margin:18mm 16mm}.doc-layout,.doc-layout--toc{padding:0;display:block}.prose.doc{max-width:none;font-size:10.5pt;line-height:1.5}.prose.doc :is(h1,h2,h3){break-after:avoid;page-break-after:avoid}.prose.doc :is(blockquote,pre,li,tr){break-inside:avoid;page-break-inside:avoid}.prose.doc p{orphans:3;widows:3}.prose.doc a[href^=http]:after{word-break:break-all;content:" (" attr(href) ")";font-size:8.5pt}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
