*,:before,:after{box-sizing:border-box}@font-face{font-family:Fraunces Soft;src:url(/assets/fraunces-soft-BcTrfiA6.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Fraunces Soft fallback;src:local(Georgia),local(Noto Serif),local(DejaVu Serif),local(Times New Roman);size-adjust:104%;ascent-override:94%;descent-override:24%;line-gap-override:0%}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14110f;--card:#1e1915;--card-hi:#262019;--frame:#0f0d0b;--line:#2e2620;--line-hi:#4d4033;--ink:#f3e9dc;--ink-2:#b9aa98;--ink-3:#8a7c6e;--accent:#e9c99a;--link:#e9c99a;--teal:#8ccfc4;--chip:#fff0dc09;--wash:#fff0dc0f;--shadow:#0009;--inner:#fff0dc08;--sheet:#1e1915f7;--glow-sand:#e9c99a13;--glow-teal:#4ca09629;--ring:#aae1d76b;--button:#f3e9dc;--button-hi:#fff6ea;--button-ink:#14110f;--display:"Fraunces Soft", "Fraunces Soft fallback", Georgia, serif;--ease:cubic-bezier(.22, .8, .3, 1)}:root[data-theme=light] :is(.site,.about-sheet,.toy-loading){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5eee2;--card:#fffaf2;--card-hi:#fffdf9;--frame:#e8ddcb;--line:#e4d7c3;--line-hi:#cfbea4;--ink:#2b231c;--ink-2:#5e5145;--ink-3:#85766a;--accent:#b07b42;--link:#1d6b66;--teal:#2a7d76;--chip:#5a3c1e0b;--wash:#5a3c1e12;--shadow:#5c402447;--inner:#fff9;--sheet:#fffaf2fa;--glow-sand:#e2b67833;--glow-teal:#46a09629;--ring:#2478705c;--button:#2b231c;--button-hi:#3d3228;--button-ink:#fbf5ec}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;overscroll-behavior:none;font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pond{z-index:0;pointer-events:none;contain:strict;--px:76%;--py:300px;--rw:760px;background:radial-gradient(52% 60% at var(--px) var(--py), var(--glow-teal), transparent 70%), radial-gradient(60% 70% at 12% -10%, var(--glow-sand), transparent 70%);height:680px;position:absolute;top:0;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.pond i{left:calc(var(--px) - var(--rw) / 2);top:calc(var(--py) - var(--rw) * .17);width:var(--rw);height:calc(var(--rw) * .34);border:1.5px solid var(--ring);opacity:0;border-radius:50%;position:absolute;transform:scale(.06)}.pond i:first-child{opacity:.55;transform:scale(.34)}.pond i:nth-child(2){opacity:.38;transform:scale(.56)}.pond i:nth-child(3){opacity:.22;transform:scale(.78)}.pond i:nth-child(4){opacity:.1;transform:scale(1)}@media (prefers-reduced-motion:no-preference){.pond i{will-change:transform, opacity;animation:14s cubic-bezier(.25,.6,.35,1) infinite ripple}.pond i:first-child{animation-delay:-1s}.pond i:nth-child(2){animation-delay:-4.5s}.pond i:nth-child(3){animation-delay:-8s}.pond i:nth-child(4){animation-delay:-11.5s}}@keyframes ripple{0%{opacity:0;transform:scale(.06)}10%{opacity:.75}to{opacity:0;transform:scale(1)}}.hub-page{position:relative;overflow-x:clip}.hub-page>:not(.pond,.site-bar){z-index:1;position:relative}.hub{width:100%;max-width:1080px;padding:0 max(22px, env(safe-area-inset-right)) 0 max(22px, env(safe-area-inset-left));margin:0 auto}.hub-head{max-width:760px;padding:clamp(36px,8vw,92px) 0 clamp(8px,2vw,20px)}.hub-head h1{font-family:var(--display);font-optical-sizing:none;letter-spacing:-.022em;text-wrap:balance;max-width:11.5em;margin:0;font-size:clamp(42px,7.2vw,76px);font-weight:540;line-height:1.02}.hub-head p{color:var(--ink-2);text-wrap:balance;max-width:33em;margin:clamp(16px,2.4vw,22px) 0 0;font-size:clamp(17px,2vw,19.5px);line-height:1.55}.hub-promises{flex-wrap:wrap;gap:6px 18px;margin:clamp(18px,2.6vw,26px) 0 0;padding:0;list-style:none;display:flex}.hub-promises li{color:var(--ink-2);letter-spacing:.005em;align-items:center;gap:8px;font-size:14.5px;display:inline-flex}.hub-promises li:before{content:"";background:var(--teal);opacity:.85;border-radius:50%;width:6px;height:6px}.hub-filter{margin:clamp(30px,5vw,52px) 0 0}.hub-chips{flex-wrap:wrap;gap:8px;display:flex}.hub-chip{border:1px solid var(--line);background:var(--chip);min-height:40px;color:var(--ink-2);font:inherit;letter-spacing:.005em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:0 16px;font-size:15px;display:inline-flex}.hub-chip:hover{color:var(--ink);border-color:var(--line-hi)}.hub-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hub-chip[aria-pressed=true]{color:var(--ink);background:var(--wash);border-color:var(--line-hi)}.hub-chip[aria-pressed=true]:before{content:"";background:var(--teal);border-radius:50%;width:6px;height:6px;margin-left:-2px}.hub-filter-note{color:var(--ink-3);min-height:1.4em;margin:12px 0 0;font-size:14.5px;line-height:1.4}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:16px 0 0;padding:0;list-style:none;display:grid}.hub-grid>li{display:flex}.hub-card{color:inherit;background:var(--card);border:1px solid var(--line);box-shadow:0 1px 0 var(--inner) inset, 0 12px 30px -20px var(--shadow);transition:transform .35s var(--ease), border-color .35s var(--ease), background-color .35s var(--ease), box-shadow .35s var(--ease);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:22px;flex-direction:column;flex:1;text-decoration:none;display:flex;overflow:hidden}.hub-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hub-card-frame{aspect-ratio:16/10;background:var(--frame);display:block;overflow:hidden}.hub-card-art{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);display:block}.hub-card-text{flex-direction:column;gap:6px;padding:16px 18px 20px;display:flex}.hub-card-text strong{font-family:var(--display);letter-spacing:-.008em;font-size:21px;font-weight:600;line-height:1.15}.hub-card-text span{color:var(--ink-2);font-size:15px;line-height:1.45}.hub-card:active{transition-duration:.12s;transform:scale(.985)}@media (hover:hover){.hub-card:hover{border-color:var(--line-hi);background:var(--card-hi);box-shadow:0 1px 0 var(--inner) inset, 0 22px 44px -24px var(--shadow);transform:translateY(-3px)}.hub-card:hover .hub-card-art{transform:scale(1.035)}.hub-card:hover:active{transform:translateY(-1px)scale(.99)}}.hub-card-frame{position:relative}.hub-card-frame:before{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fff0dc0d,inset 0 -28px 30px -26px #0a08068c}:root[data-theme=light] .hub-card-frame:before{box-shadow:inset 0 0 0 1px #3c28140f,inset 0 -24px 26px -24px #3c28144d}.hub-card-frame:after{content:"";pointer-events:none;opacity:0;background:#0c0a0880;position:absolute;inset:0}.hub-card.is-opening{border-color:var(--line-hi)}.hub-card.is-opening .hub-card-frame:after{animation:.4s .15s forwards veil-in,1.6s ease-in-out .55s infinite breathe}.hub-soon{color:var(--ink-3);text-align:center;margin:30px 0 0;font-size:15px}.hub-soon:before,.hub-soon:after{content:"";vertical-align:middle;background:var(--line-hi);width:28px;height:1px;margin:0 12px;display:inline-block}@media (prefers-reduced-motion:no-preference){.hub-head,.hub-grid>li{animation:rise .5s var(--ease) both}.hub-grid>li{animation-delay:calc(var(--i,0) * 35ms)}}@keyframes rise{0%{opacity:.001;transform:translateY(8px)}to{opacity:1;transform:none}}@media (pointer:coarse) and (min-width:600px) and (max-width:1100px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.hub-card-text{padding:18px 20px 22px}.hub-card-text strong{font-size:24px}.hub-card-text span{font-size:16.5px}}@media (max-width:640px){.pond{--px:82%;--py:150px;--rw:520px;height:520px}.hub-grid{gap:14px}.hub-card{border-radius:20px}}@media (min-width:340px) and (max-width:599px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hub-card{border-radius:18px}.hub-card-frame{aspect-ratio:4/3}.hub-card-text{gap:4px;padding:11px 12px 14px}.hub-card-text strong{font-size:17px}.hub-card-text span{font-size:13.5px;line-height:1.4}.hub-chips{gap:6px}.hub-chip{padding:0 14px}}@media (prefers-reduced-motion:reduce){.hub-card,.hub-card-art,.hub-chip{transition:none}.hub-card:hover,.hub-card:active,.hub-card:hover .hub-card-art{transform:none}}.toy-loading{background:var(--bg);touch-action:none;place-items:center;display:grid;position:fixed;inset:0}.toy-loading-dot{background:var(--accent);opacity:0;border-radius:50%;width:14px;height:14px;animation:.4s .25s forwards veil-in,1.8s ease-in-out .65s infinite breathe}@keyframes veil-in{to{opacity:.7}}@media (prefers-reduced-motion:reduce){.toy-loading-dot,.hub-card.is-opening .hub-card-frame:after{animation:.4s .25s forwards veil-in}}.shell-note{color:var(--ink);width:100%;max-width:520px;min-height:100%;padding:max(48px, env(safe-area-inset-top)) 24px max(48px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;margin:0 auto;display:flex}.shell-note h1{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:36px;font-weight:560;line-height:1.1}.shell-note p{color:var(--ink-2);margin:10px 0 0;font-size:17px;line-height:1.45}.shell-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px;display:flex}.shell-button{background:var(--button);min-height:44px;color:var(--button-ink);cursor:pointer;transition:transform .15s var(--ease), background-color .2s ease;border:0;border-radius:999px;align-items:center;padding:0 20px;font-weight:650;text-decoration:none;display:inline-flex}.shell-button:hover{background:var(--button-hi)}.shell-button:active{transform:scale(.97)}.shell-link{color:var(--link)}.sand{background:var(--ui);touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.sand-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.sand-back,.sand-bar button{cursor:pointer;color:#fff8ee;background:0 0;border:0;border-radius:999px;place-items:center;width:44px;height:44px;display:grid}.sand-back{top:max(14px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(10px);background:#14100c52;transition:opacity .6s;position:absolute;left:14px}.sand-bar{left:50%;bottom:max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);background:#14100c57;border-radius:999px;align-items:center;gap:6px;padding:6px;transition:opacity .6s;display:flex;position:absolute;transform:translate(-50%)}.sand-bar button[aria-pressed=true]{background:#fff8ee2e}.sand-bar button:hover{background:#fff8ee1f}.seg{gap:2px;display:flex}.swatches{gap:2px;padding:0 4px;display:flex}.sand-bar .swatch{border:2px solid #ffffff40;width:34px;height:34px;margin:5px 0}.sand-bar .swatch[aria-pressed=true]{border-color:#fff8ee;box-shadow:0 0 0 2px #00000040}.sand.is-quiet .sand-bar,.sand.is-quiet .sand-back{opacity:.18}.sand.is-quiet .sand-bar:hover,.sand.is-quiet .sand-back:hover{opacity:1}.sand-hint{text-align:center;pointer-events:none;color:#fffaf0d9;text-shadow:0 1px 8px #00000059;margin:0;font-size:19px;animation:3.6s ease-in-out infinite breathe;position:absolute;top:42%;left:0;right:0}@keyframes breathe{0%,to{opacity:.45}50%{opacity:.95}}@media (prefers-reduced-motion:reduce){.sand-hint{animation:none}}.sand-fail{max-width:520px;margin:0 auto;padding:48px 24px}.sand-fail a{color:#e9c99a}@media (max-width:440px){.sand-bar{gap:3px;padding:5px}.swatches{padding:0 2px}.sand-bar .swatch{width:30px;height:30px}}@media (max-width:380px){.sand-bar{gap:2px}.sand-bar .swatch{width:28px;height:28px}}.site{min-height:100%;padding-top:env(safe-area-inset-top);background:var(--bg);color:var(--ink);flex-direction:column;display:flex}.site>main{flex:1 0 auto}.site-bar{z-index:5;width:100%;max-width:1080px;padding:14px max(22px, env(safe-area-inset-right)) 0 max(22px, env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex;position:relative}.brand{min-width:0;min-height:44px;color:var(--ink);border-radius:12px;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{border-radius:10px;flex:none;display:block;box-shadow:0 6px 14px -8px #143c3cb3,0 0 0 1px #fff0dc0f}.brand-word{aspect-ratio:916/152;width:auto;height:21px;margin-top:1px;display:block}.brand-small{gap:9px;min-height:40px}.brand-small .brand-mark{box-shadow:none;border-radius:8px}.brand-small .brand-word{height:16px}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a,.install-button{min-height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:15px;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--ink);background:var(--chip)}.install-button{color:var(--ink);border:1px solid var(--line-hi);background:var(--chip)}.install-button:hover{background:var(--wash)}.theme-toggle{position:relative}.theme-button{width:40px;height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.theme-button:hover,.theme-button[aria-expanded=true]{color:var(--ink);background:var(--chip)}.theme-icon-light{display:none}:root[data-theme=light] .theme-icon-light{display:block}:root[data-theme=light] .theme-icon-dark{display:none}.theme-menu{z-index:10;background:var(--card);border:1px solid var(--line-hi);min-width:150px;box-shadow:0 18px 40px -16px var(--shadow);border-radius:16px;flex-direction:column;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0}@media (prefers-reduced-motion:no-preference){.theme-menu{animation:menu-in .18s var(--ease) both;transform-origin:100% 0}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.theme-menu button{min-height:40px;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;padding:0 12px;font-size:15px;display:flex}.theme-menu button:hover,.theme-menu button:focus-visible{background:var(--chip);color:var(--ink);outline:none}.theme-menu button[aria-checked=true]{color:var(--ink);background:var(--wash)}.theme-menu button[aria-checked=true]:after{content:"";background:var(--teal);border-radius:50%;width:7px;height:7px;margin-left:auto}.hub-about{background:var(--card);border:1px solid var(--line);box-shadow:0 1px 0 var(--inner) inset;border-radius:28px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:32px 56px;margin:64px 0 0;padding:clamp(26px,4vw,44px);scroll-margin-top:24px;display:grid}.hub-about h2{font-family:var(--display);letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(25px,3vw,30px);font-weight:560;line-height:1.15}.hub-about p{color:var(--ink-2);text-wrap:pretty;margin:0 0 12px;font-size:16px;line-height:1.65}.hub-faq details{border-bottom:1px solid var(--line)}.hub-faq details:last-child{border-bottom:0}.hub-faq summary{cursor:pointer;color:var(--ink);padding:15px 36px 15px 0;font-size:16.5px;font-weight:600;list-style:none;position:relative}.hub-faq summary::-webkit-details-marker{display:none}.hub-faq summary:after{content:"";border-right:1.75px solid var(--ink-3);border-bottom:1.75px solid var(--ink-3);width:8px;height:8px;transition:transform .25s var(--ease);margin-top:-6px;position:absolute;top:50%;right:8px;transform:rotate(45deg)}.hub-faq details[open] summary:after{transform:translateY(3px)rotate(225deg)}.hub-faq summary:hover:after{border-color:var(--ink)}.hub-faq details p{margin:-2px 0 16px;font-size:15.5px}@media (max-width:640px){.hub-about{border-radius:24px;margin-top:48px;padding:24px 20px 14px}}.site-foot{width:100%;max-width:1080px;padding:24px max(22px, env(safe-area-inset-right)) max(28px, calc(env(safe-area-inset-bottom) + 18px)) max(22px, env(safe-area-inset-left));color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:48px auto 0;font-size:14px;display:flex}.site-foot-brand{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.site-foot-brand>span{color:var(--ink-3)}.site-foot nav{gap:2px;margin-left:-10px;display:flex}.site-foot nav a{color:var(--ink-2);border-radius:10px;padding:10px;text-decoration:none}.site-foot nav a:hover{color:var(--ink);background:var(--chip)}.site-foot p{width:100%;margin:0}@media (min-width:720px){.site-foot p{width:auto}.site-foot nav{margin-left:0}}.site-foot .site-foot-credit{border-top:1px solid var(--line);text-align:center;width:100%;padding-top:14px;font-size:13px}.page{width:100%;max-width:720px;padding:clamp(24px, 6vw, 64px) max(22px, env(safe-area-inset-right)) 0 max(22px, env(safe-area-inset-left));margin:0 auto}.page h1,.page .info-title{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(34px,5.6vw,52px);font-weight:560;line-height:1.06}.page h2{letter-spacing:-.01em;margin:32px 0 8px;font-size:20px}.page p,.page li,.page dd{color:var(--ink-2);font-size:16.5px;line-height:1.6}.page a{color:var(--link)}.page-text section p{margin:0 0 12px}.page-updated{margin-top:36px;color:var(--ink-3)!important;font-size:14px!important}.page-actions{flex-wrap:wrap;align-items:center;gap:18px;margin:32px 0 0;display:flex}.page-actions .shell-button{text-decoration:none}.toy-static-opening{align-items:center;gap:10px;display:flex;color:var(--ink-3)!important;margin:0 0 16px!important;font-size:15px!important}.toy-static-opening .toy-loading-dot{opacity:1;width:10px;height:10px;animation:none;position:static}.info-lede{margin:14px 0 0;font-size:17.5px!important}.info-head{letter-spacing:-.01em;margin:28px 0 8px;font-size:18px}.info-list{margin:0;padding-left:1.2em}.info-list li{margin:4px 0}.info-list li::marker{color:var(--teal)}.info-faq{margin:0}.info-faq div{border-bottom:1px solid var(--line);padding:10px 0}.info-faq div:last-child{border-bottom:0}.info-faq dt{color:var(--ink);font-size:16px;font-weight:600}.info-faq dd{margin:4px 0 0}.info-links{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.info-links a{border:1px solid var(--line-hi);border-radius:999px;padding:7px 13px;font-size:15px;text-decoration:none;display:inline-block;color:var(--ink)!important}.info-links a:hover{background:var(--wash)}.about-button{z-index:3;top:max(14px, env(safe-area-inset-top));left:calc(max(14px, env(safe-area-inset-left)) + 52px);color:#fff8ee;cursor:pointer;-webkit-backdrop-filter:blur(10px);touch-action:manipulation;background:#14100c52;border:0;border-radius:999px;place-items:center;width:44px;height:44px;padding:0;transition:opacity .6s;display:grid;position:fixed}.fullscreen-button{left:calc(max(14px, env(safe-area-inset-left)) + 104px)}.sound-button{left:auto;right:calc(max(14px, env(safe-area-inset-right)) + 52px)}.about-button.is-quiet{opacity:.3}.about-button.is-quiet:hover,.about-button.is-quiet:focus-visible{opacity:1}@media (pointer:fine){.about-button{opacity:.75}.about-button:hover{opacity:1}}.about-sheet{border:1px solid var(--line);background:var(--sheet);width:min(600px,100% - 24px);max-height:min(760px,100% - 32px);color:var(--ink);box-shadow:0 24px 60px -20px var(--shadow);overscroll-behavior:contain;border-radius:24px;padding:0;overflow:hidden}.about-sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a080680}.about-sheet[open]{animation:about-in .24s var(--ease) both}@keyframes about-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.about-sheet[open]{animation:none}}.about-body{max-height:min(758px,100vh - 34px);overscroll-behavior:contain;max-height:min(758px,100dvh - 34px);padding:26px 24px 22px;position:relative;overflow-y:auto}.about-body .info-title{font-family:var(--display);letter-spacing:-.02em;margin:0 44px 0 0;font-size:26px;font-weight:560;line-height:1.15}.about-body p,.about-body li,.about-body dd{color:var(--ink-2);font-size:15.5px;line-height:1.55}.about-body .info-lede{font-size:16px!important}.about-body .info-head{margin-top:22px;font-size:16px}.about-close{background:var(--chip);width:40px;height:40px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.about-close:hover{background:var(--wash)}.about-foot{margin:22px 0 0;color:var(--ink-3)!important;font-size:14px!important}.about-foot a{color:var(--link)}.not-found{min-height:0;padding-top:clamp(32px,10vh,120px);padding-bottom:0}.not-found-toys{margin-top:30px}
