.sp-page{--sp-paper: #F4F6FB;--sp-surface: #FFFFFF;--sp-ink: #14213D;--sp-dim: #5B6577;--sp-line: rgb(20 33 61 / 10%);--sp-red: #E2574C;--sp-sage: #19B394;--sp-gold: #F2C548;--sp-sky: #DCEEFB;--sp-trail: #E07B39;--sp-display: "Lexend", system-ui, sans-serif;--sp-ease: cubic-bezier(.16, 1, .3, 1);--sp-col: 1040px;--sp-gutter-l: max(14px, calc(50% - var(--sp-col) / 2 - 36px));--sp-gutter-r: max(14px, calc(50% - var(--sp-col) / 2 - 36px));background:var(--sp-paper);color:var(--sp-ink);font-family:var(--sp-display);min-height:100vh}.sp-page h1,.sp-page h2{font-family:var(--sp-display);letter-spacing:-.02em;line-height:1.1;margin:0}.sp-link{color:var(--sp-ink);text-decoration:underline;text-underline-offset:3px}.sp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:650;font-size:1.05rem;text-decoration:none;transition:transform .16s var(--sp-ease),box-shadow .16s var(--sp-ease)}.sp-btn:active{transform:scale(.97)}.sp-btn-primary{background:var(--sp-red);color:#fff;box-shadow:0 2px 4px #14213d1a,0 10px 24px #e2574c4d}.sp-btn-quiet{background:var(--sp-surface);color:var(--sp-ink);box-shadow:0 1px 2px #14213d14,0 3px 10px #14213d14}.sp-page :focus-visible{outline:3px solid #3FA7D6;outline-offset:3px}.sp-trail{position:relative}.sp-trail-svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;overflow:visible}.sp-trail-ghost{fill:none;stroke:var(--sp-line);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 12}.sp-trail-line{fill:none;stroke:var(--sp-trail);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.sp-trail-head{fill:var(--sp-trail);stroke:#fff;stroke-width:4}.sp-page:not(.sp-armed) .sp-trail-svg{display:none}.sp-stop{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--sp-surface);border:4px solid var(--sp-line);z-index:4}.sp-stop-start{left:var(--sp-gutter-l);bottom:18px;transform:translate(-50%);background:var(--sp-sage);border-color:#fff;width:26px;height:26px}.sp-stop-finish{position:relative;flex:none;background:var(--sp-red);border-color:#fff;width:26px;height:26px}.sp-stop-label{position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);font-size:.72rem;font-weight:700;color:var(--sp-dim);white-space:nowrap}.sp-game .sp-stop{top:26px;right:var(--sp-gutter-r);transform:translate(50%);transition:background .3s,border-color .3s}.sp-game.sp-flip .sp-stop{right:auto;left:var(--sp-gutter-l);transform:translate(-50%)}.sp-armed .sp-game.sp-on .sp-stop{background:var(--sp-trail);border-color:#fff}.sp-hero{position:relative;max-width:var(--sp-col);margin:0 auto;padding:56px 28px 88px}.sp-hero-text{max-width:640px}.sp-name{display:flex;align-items:center;gap:14px;font-weight:650;font-size:1rem;color:var(--sp-dim);margin-bottom:22px}.sp-icon{width:72px;height:72px;border-radius:17px;box-shadow:0 2px 4px #14213d1f,0 10px 24px #14213d2e}.sp-hero h1{font-size:clamp(2.3rem,6vw,4rem);font-weight:760}.sp-lede{font-size:1.15rem;line-height:1.55;color:var(--sp-ink);margin:20px 0 28px;max-width:34em}.sp-ctas{display:flex;flex-wrap:wrap;gap:12px}.sp-status{margin:18px 0 0;font-size:.95rem;color:var(--sp-dim);line-height:1.5;max-width:34em}.sp-game{position:relative;max-width:var(--sp-col);margin:0 auto;padding:84px 28px 40px;display:grid;gap:28px;align-items:center}.sp-game h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:720}.sp-game-text p{font-size:1.1rem;line-height:1.6;margin:14px 0 0;max-width:32em}.sp-game-demo{display:grid;place-items:center}@media(min-width:820px){.sp-game{grid-template-columns:1fr 1fr;gap:56px}.sp-game.sp-flip .sp-game-text{order:2}}.sp-color{position:relative;width:min(340px,82vw);aspect-ratio:600 / 804;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 2px 4px #14213d14,0 16px 36px #14213d24}.sp-color img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.sp-color-fill{clip-path:inset(0 0 0 0)}.sp-armed .sp-game:not(.sp-on) .sp-color-fill{clip-path:inset(100% 0 0 0)}.sp-armed .sp-color-fill{transition:clip-path 1.2s var(--sp-ease) .16s}.sp-match{display:flex;gap:18px;perspective:900px}.sp-card{position:relative;width:min(150px,38vw);aspect-ratio:3 / 4;transform-style:preserve-3d;transform:rotateY(180deg);border-radius:14px}.sp-card>*{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;overflow:hidden;backface-visibility:hidden;box-shadow:0 2px 4px #14213d1a,0 12px 28px #14213d2e}.sp-card-back svg{width:100%;height:100%;display:block}.sp-card-face{transform:rotateY(180deg);width:100%;height:100%;object-fit:cover;background:#fff;outline:4px solid transparent;transition:outline-color .3s .9s}.sp-game.sp-on .sp-card-face,.sp-page:not(.sp-armed) .sp-card-face{outline-color:var(--sp-sage)}.sp-armed .sp-card{transition:transform .7s var(--sp-ease)}.sp-armed .sp-game:not(.sp-on) .sp-card{transform:rotateY(0)}.sp-maze{width:min(360px,84vw);height:auto;aspect-ratio:61 / 83;border-radius:14px;background:#fff;box-shadow:0 2px 4px #14213d14,0 16px 36px #14213d24}.sp-maze-line{fill:none;stroke:var(--sp-trail);stroke-width:.9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.sp-armed .sp-maze-line{transition:stroke-dashoffset 2.6s linear .2s}.sp-armed .sp-game:not(.sp-on) .sp-maze-line{stroke-dashoffset:1}.sp-dot-start{fill:var(--sp-sage);stroke:#fff;stroke-width:.4}.sp-dot-finish{fill:var(--sp-red);stroke:#fff;stroke-width:.4}.sp-quest{position:relative;width:min(300px,70vw);aspect-ratio:360 / 576;border-radius:18px;overflow:hidden;box-shadow:0 2px 4px #14213d1a,0 16px 36px #14213d2e}.sp-quest img{width:100%;height:100%;image-rendering:pixelated;display:block}.sp-sprite{position:absolute;left:36.7%;width:26.7%;aspect-ratio:1;background-size:400% 100%;background-position:0 0;image-rendering:pixelated}.sp-nephi{top:39%}.sp-sam{top:16.6%}.sp-armed .sp-sprite{transition:transform 1.5s steps(6,end) .2s}.sp-armed .sp-game:not(.sp-on) .sp-sprite{transform:translateY(-38%)}.sp-armed .sp-game.sp-on .sp-sprite{animation:sp-bob .25s steps(2) .2s 6}@keyframes sp-bob{50%{margin-top:-2px}}.sp-practical,.sp-resources,.sp-faq,.sp-closing{max-width:var(--sp-col);margin:0 auto;padding:72px 28px 0}.sp-practical h2,.sp-resources h2,.sp-faq h2,.sp-closing h2{font-size:clamp(1.7rem,3.6vw,2.3rem);font-weight:720}.sp-practical ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:14px;max-width:40em}.sp-practical li{display:flex;gap:12px;align-items:flex-start;font-size:1.08rem;line-height:1.5}.sp-practical li svg{color:var(--sp-sage);flex:none;margin-top:3px}.sp-resources>p{font-size:1.08rem;line-height:1.6;max-width:38em;margin:14px 0 0}.sp-resources ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}@media(min-width:820px){.sp-resources ul{grid-template-columns:repeat(3,1fr)}}.sp-resources li{background:var(--sp-surface);border-radius:18px;padding:18px 20px;box-shadow:0 1px 2px #14213d0f,0 3px 10px #14213d0f;display:grid;gap:6px}.sp-resources li a{font-weight:700;font-size:1.08rem;color:var(--sp-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--sp-sage);text-decoration-thickness:2px}.sp-resources li span{color:var(--sp-dim);line-height:1.45}.sp-not-affiliated{font-size:.95rem;color:var(--sp-dim)}.sp-faq details{border-bottom:1px solid var(--sp-line);padding:16px 0;max-width:46em}.sp-faq details:first-of-type{margin-top:14px}.sp-faq summary{cursor:pointer;font-weight:650;font-size:1.08rem;list-style-position:outside}.sp-faq details p{margin:10px 0 0;line-height:1.6;color:var(--sp-ink)}.sp-closing{padding-bottom:96px;text-align:left}.sp-closing>p{font-size:1.08rem;line-height:1.6;margin:14px 0 26px;max-width:34em}.sp-closing-cta{display:flex;align-items:center;gap:20px;padding-bottom:18px}.sp-legal{max-width:720px;margin:0 auto;padding:48px 24px 80px;line-height:1.6}.sp-legal h1{font-size:2.2rem;margin:18px 0 8px}.sp-legal h2{font-size:1.25rem;margin:32px 0 6px}.sp-legal-updated{color:var(--sp-dim);font-size:.9rem}.sp-legal-lede{font-size:1.12rem}.sp-back{font-size:.95rem}@media(prefers-reduced-motion:reduce){.sp-page *,.sp-page *:before,.sp-page *:after{transition:none!important;animation:none!important}}
