:root{--ink:#2d2a32;--go:#2fa84f;--sky:#8ec5f2;--grass:#58b368;--zone:#fff6d2;--gold:#ffc531;--gold-edge:#e3a008;--trace:#7d828c;--trace-soft:#d0d3d8;--blue:#3b79d3;--ray:#4a88e0;--navy:#17406f;--cloud:#d6e6fb;--yellow:#ffd23f;--yellow-deep:#e0a800;--red:#e55458;--red-deep:#b54245;--green:#4caf50;--green-deep:#2e7d32;--stroke-1:#e8505b;--stroke-2:#2f8adc;--stroke-3:#f2a63d;--stroke-4:#8e6bd1}.theme-red{--bg:#fef0ef;--soft:#fecfcd;--tile:#e55458;--deep:#902f33;--helper:#683736;--on-tile:#fff}.theme-orange{--bg:#fef0e9;--soft:#ffd1b9;--tile:#dd6c18;--deep:#873d02;--helper:#663c23;--on-tile:#fff}.theme-yellow{--bg:#fcf3dd;--soft:#f0deb3;--tile:#fbc629;--deep:#804813;--helper:#64452e;--on-tile:#2d2a32}.theme-green{--bg:#e9f9e6;--soft:#c5e8c0;--tile:#42943a;--deep:#1f6619;--helper:#31512d;--on-tile:#fff}.theme-teal{--bg:#ddfafa;--soft:#aaeaea;--tile:#0d9898;--deep:#036262;--helper:#015353;--on-tile:#fff}.theme-blue{--bg:#ecf5fe;--soft:#c3e0ff;--tile:#2f8adc;--deep:#035798;--helper:#284a6c;--on-tile:#fff}.theme-violet{--bg:#f5f1fe;--soft:#e2d4fe;--tile:#8f68cb;--deep:#614092;--helper:#4e3f68;--on-tile:#fff}.theme-pink{--bg:#ffeef5;--soft:#ffcbe2;--tile:#cf5496;--deep:#87305f;--helper:#64374d;--on-tile:#fff}@font-face{font-family:Quicksand;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/quicksand-latin-400-normal-BSDtH9U0.woff2)format("woff2")}@font-face{font-family:Quicksand;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/quicksand-latin-700-normal-Dpk7G9Y6.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:Quicksand,ui-rounded,Arial Rounded MT Bold,Trebuchet MS,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}a{color:inherit;touch-action:manipulation;text-decoration:none}img,svg{display:block}p,h1,ul{margin:0}:focus-visible{outline:3px solid var(--navy);outline-offset:3px}[hidden]{display:none!important}.star polygon{fill:var(--gold);stroke:var(--gold-edge);stroke-width:1.6px}html:has(body.letter){overscroll-behavior:none;height:100%;overflow:hidden}body.letter{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#fff;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.bar{z-index:1;background:var(--bg);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 12px 6px;display:grid;position:relative}.bar-mid{justify-content:space-between;align-items:center;gap:6px;display:flex}@media (min-width:600px){.bar{grid-template-columns:1fr auto 1fr}.bar>.round{justify-self:start}.bar-mid{gap:16px}}.bar:before{content:"";background:var(--bg);height:60px;position:absolute;bottom:100%;left:-50vw;right:-50vw}.bar:after{content:"";background:radial-gradient(circle at 50% 0, var(--bg) 9.5px, transparent 10px) 0 0 / 20px 10px repeat-x;height:10px;position:absolute;top:calc(100% - 1px);left:0;right:0}.round{width:56px;height:56px;color:var(--deep);box-shadow:0 4px 0 var(--soft);background:#fff;border-radius:28px;flex:none;justify-content:center;align-items:center;font-size:24px;line-height:1;display:flex}.round svg{width:28px;height:28px}.round.step{width:66px}.round.step svg{width:22px;height:22px}.round.ghost{visibility:hidden}.round:active,.say:active{box-shadow:none;transform:translateY(3px)}.say{background:var(--tile);height:56px;color:var(--on-tile);box-shadow:0 4px 0 var(--deep);border-radius:28px;align-items:center;gap:8px;padding:0 8px 0 18px;font-size:28px;line-height:1;display:flex}.say-icon{width:40px;height:40px;color:var(--deep);background:#fff;border-radius:50%;place-items:center;display:grid}.say-icon svg{width:28px;height:28px}.say.playing .w1{animation:.5s ease-in-out infinite alternate wave}.say.playing .w2{animation:.5s ease-in-out .18s infinite alternate wave}.say.playing .say-icon{animation:.5s ease-in-out infinite alternate bop}@keyframes wave{0%{opacity:.15}to{opacity:1}}@keyframes bop{to{transform:scale(1.12)}}.stage{grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0;padding:18px 12px 10px;display:grid}.board{background:var(--bg);touch-action:none;cursor:crosshair;border-radius:26px;min-height:0;position:relative;overflow:hidden}.pad{touch-action:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.pad polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.pad .zone{fill:var(--zone)}.pad .line-top,.pad .line-mid{stroke:var(--sky);stroke-width:1.3px}.pad .line-mid{stroke-width:1px;stroke-dasharray:5.6 3.8}.pad .line-base{stroke:var(--grass);stroke-width:1.6px}.pad .outline{stroke:var(--soft)}.pad .road{stroke:#fff}.pad .dots circle{fill:var(--trace-soft)}.pad .dots[data-state=current] circle{fill:var(--trace)}.pad .marks{visibility:hidden;fill:var(--trace)}[data-mode=trace] .pad .marks[data-state=current]{visibility:visible}.pad .ink.cheer{animation:.45s ease-out cheer}@keyframes cheer{40%{stroke-width:17px}}.pad .badge{visibility:hidden}.pad .badge.on{visibility:visible}.pad .badge.on circle,.pad .badge.on text{transform-box:fill-box;transform-origin:50%;animation:.3s cubic-bezier(.3,1.6,.5,1) both pop}.pad .badge-n{fill:#fff;text-anchor:middle;dominant-baseline:central;font-size:10px;font-weight:700}@keyframes pop{0%{transform:scale(.2)}}.pad .handle .ring{fill:#fff}.pad .handle .go{fill:var(--go)}.pad .handle .halo{fill:var(--go);opacity:0;transform-box:fill-box;transform-origin:50%}.pad .handle[data-state=wait] .halo{animation:1.3s ease-out infinite halo}.pad .handle[data-state=held] .halo{opacity:.22}.pad .handle.beckon .go,.pad .handle.beckon .ring{transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out beckon}@keyframes halo{0%{opacity:.45;transform:scale(.45)}to{opacity:0;transform:scale(1.35)}}@keyframes beckon{20%,60%{transform:scale(1.7)}40%,80%{transform:scale(1)}}.pad .pencil-body{fill:var(--yellow)}.pad .pencil-wood{fill:#f6d7a8}.pad .pencil-lead{fill:var(--ink)}.pad .pencil-band{fill:#c9ced6}.pad .pencil-rubber{fill:#f08aa0}.pad .pencil path,.pad .pencil rect{stroke:var(--navy);stroke-width:1.5px;stroke-linejoin:round}.panel{align-content:start;gap:10px;min-width:0;display:grid}.coach{align-items:center;gap:6px;display:flex}.coach-milo{flex:none;width:58px;height:58px}.cue{border:3px solid var(--soft);background:#fff;border-radius:18px;flex:1;align-items:center;gap:10px;min-height:48px;padding:7px 14px 7px 10px;font-size:17px;line-height:1.2;display:flex}.cue-n{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:grid}.n1{background:var(--stroke-1)}.n2{background:var(--stroke-2)}.n3{background:var(--stroke-3)}.n4{background:var(--stroke-4)}.controls{flex-wrap:wrap;gap:10px;display:flex}.group{background:var(--bg);border-radius:22px;flex:140px;grid-template-columns:1fr 1fr;gap:6px;padding:5px 5px 8px;display:grid}.pick{min-height:60px;color:var(--deep);box-shadow:0 3px 0 var(--soft);background:#fff;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:relative}.pick[aria-pressed=true]{background:var(--tile);color:var(--on-tile);box-shadow:0 3px 0 var(--deep)}.pick:active{transform:translateY(2px)}.pick-glyph{font-size:30px;line-height:1}.pick-word{font-size:12px;line-height:1.15}.pick svg{width:28px;height:28px}.pick .earned{width:26px;height:26px;display:none;position:absolute;top:-7px;right:-5px}.pick.starred .earned{animation:.4s cubic-bezier(.3,1.6,.5,1) both pop;display:block}.pics{grid-template-columns:repeat(3,1fr);gap:6px;padding:0;list-style:none;display:grid}.pics li{flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.disc{border:5px solid var(--soft);background:#fff;border-radius:50%;place-items:center;width:62px;height:62px;display:grid;overflow:hidden}.pics li:nth-child(2) .disc{border-color:#d9f1fd}.pics li:nth-child(3) .disc,.theme-blue .pics li:nth-child(2) .disc{border-color:#fcefc4}.theme-blue .pics li:nth-child(3) .disc,.theme-yellow .pics li:nth-child(3) .disc{border-color:#e2d4fe}.disc img{width:76%;height:auto}.word{font-size:15px;line-height:1.2}@media (orientation:portrait) and (max-height:700px){.coach-milo{display:none}}@media (orientation:portrait) and (max-height:610px){.pics{display:none}}@media (orientation:landscape){.stage{grid-template-rows:none;grid-template-columns:minmax(0,1fr) clamp(216px,31vw,340px);gap:12px;padding:16px 12px 10px}.panel{align-content:center}}@media (orientation:landscape) and (max-height:500px){.pics,.coach-milo{display:none}.bar{padding-top:4px;padding-bottom:6px}.stage{padding-top:14px;padding-bottom:6px}}@media (min-width:700px) and (min-height:700px){.bar{padding:12px 20px 10px}.round,.say{border-radius:32px;height:64px}.round{width:64px;font-size:28px}.round.step{width:84px}.say{padding:0 10px 0 22px;font-size:34px}.say-icon{width:46px;height:46px}.stage{gap:16px;padding:22px 20px 16px}.panel{gap:14px}.pick{min-height:76px}.pick-glyph{font-size:38px}.pick-word{font-size:14px}.pick svg{width:34px;height:34px}.cue{min-height:60px;padding-left:14px;font-size:20px}.cue-n{width:34px;height:34px;font-size:19px}.coach-milo{width:84px;height:84px}.disc{border-width:6px;width:86px;height:86px}.word{font-size:19px}}@media (min-width:700px) and (min-height:700px) and (orientation:portrait){.panel{grid-template-columns:1fr 1fr;align-items:center}.coach{grid-column:1/-1}.controls{flex-direction:column}.group{flex:none}}.party{z-index:10;background:var(--blue) repeating-conic-gradient(from 7deg at 50% 34%, var(--blue) 0 15deg, var(--ray) 15deg 30deg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);place-items:center;animation:.3s ease-out party-in;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden auto}@keyframes party-in{0%{opacity:0}}.bunting{pointer-events:none;width:100%;height:58px;position:absolute;top:0;left:0}.party-main{justify-items:center;gap:10px;width:min(100%,430px);padding:62px 18px 20px;display:grid}.party-art{aspect-ratio:1;width:min(56vw,34vh,250px);position:relative}.star.big{filter:drop-shadow(0 5px #17406f47);width:100%;height:100%;animation:.7s cubic-bezier(.3,1.5,.5,1) both star-in;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.star.big polygon{stroke-width:.9px}@keyframes star-in{0%{opacity:0;transform:scale(.1)rotate(-70deg)}}.party-milo{width:58%;height:auto;animation:.6s ease-in-out .45s 3 alternate both hop;position:absolute;bottom:-4%;left:21%}@keyframes hop{0%{transform:translateY(0)}to{transform:translateY(-9%)}}.spark{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#fff;width:16px;height:16px;animation:1.1s ease-in-out infinite alternate twinkle;position:absolute}.s1{top:22%;left:-8%}.s2{width:22px;height:22px;animation-delay:.3s;top:12%;right:-9%}.s3{animation-delay:.6s;bottom:14%;right:-4%}.s4{width:12px;height:12px;animation-delay:.45s;bottom:6%;left:2%}.s5{width:12px;height:12px;animation-delay:.15s;top:-6%;left:18%}@keyframes twinkle{0%{opacity:.2;transform:scale(.3)}}.party-title{color:var(--yellow);text-shadow:0 3px #17406f73;font-size:clamp(30px,9vw,44px);line-height:1.1}.choices{gap:12px;width:100%;margin-top:4px;display:grid}.choice{min-height:64px;color:var(--navy);background:#fff;border-radius:22px;justify-content:center;align-items:center;gap:12px;padding:8px 18px;font-size:21px;line-height:1.1;display:flex;box-shadow:0 5px #17406f66}.choice svg{flex:none;width:30px;height:30px}.choice-arrow{display:contents}.choice-glyph{background:var(--tile);min-width:46px;height:46px;color:var(--on-tile);border-radius:13px;flex:none;place-items:center;padding:0 9px;font-size:28px;line-height:1;display:grid}.choice.primary{background:var(--yellow);box-shadow:0 5px 0 var(--yellow-deep);animation:1.2s ease-in-out .9s infinite alternate nudge}.choice:active{box-shadow:none;animation:none;transform:translateY(4px)}@keyframes nudge{to{transform:scale(1.04)}}@media (orientation:landscape) and (max-height:620px){.party-main{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:28px;width:min(100%,760px);padding-top:54px}.party-art{grid-row:1/3;width:min(46vh,220px)}.party-title{align-self:end}.choices{grid-template-columns:repeat(3,1fr);align-self:start}.choice{flex-direction:column;gap:4px;padding:10px 8px;font-size:17px}.choice-arrow{display:none}}@media (min-width:700px) and (min-height:700px){.party-main{gap:16px;width:min(100%,560px)}.party-art{width:min(48vw,40vh,320px)}.choice{min-height:80px;font-size:26px}.choice-glyph{min-width:56px;height:56px;font-size:34px}.bunting{height:76px}}body.home{min-height:100vh;background:var(--blue);color:#fff;flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow-x:hidden}body.home:before{content:"";z-index:-1;background:repeating-conic-gradient(from 7deg at 50% 32%, var(--blue) 0 15deg, var(--ray) 15deg 30deg);position:fixed;top:0;bottom:0;left:0;right:0}.home-main{width:100%;max-width:1120px;padding:calc(66px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));flex:1;align-content:start;gap:20px;margin:0 auto;display:grid}.hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;display:grid}.title{text-shadow:0 3px #17406f59;font-size:clamp(27px,8.4vw,54px);line-height:1.04}.t1{color:var(--yellow);display:block}.t2{font-size:1.42em;display:block}.hero-pic{width:clamp(112px,34vw,240px);height:auto;box-shadow:0 0 0 6px var(--yellow), 0 0 0 12px var(--ray);border-radius:50%;grid-area:1/2/3;margin:12px}.lead{align-self:start;font-size:clamp(17px,4.8vw,24px);line-height:1.2}.tiles{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:16px 12px;display:grid}.tile{aspect-ratio:1;background:var(--tile);color:var(--on-tile);box-shadow:0 6px 0 var(--deep);border-radius:22%;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:clamp(26px,7.6vw,38px);display:flex}.tile-glyph{line-height:1}.tile-stars{gap:2px;display:flex}.star.mini{width:17px;height:17px}.star.mini polygon{fill:#ffffff6b;stroke:none}.star.mini.on polygon{fill:var(--gold);stroke:var(--gold-edge);stroke-width:2px}.star.mini.on{animation:.4s cubic-bezier(.3,1.6,.5,1) both pop}.theme-yellow .star.mini polygon{fill:#80481338}.theme-yellow .star.mini.on polygon{fill:#fff;stroke:var(--deep)}a.tile:active{box-shadow:0 2px 0 var(--deep);transform:translateY(4px)}.tile.soon{opacity:.42}.foot{color:var(--navy);text-align:center;padding:0 16px calc(14px + env(safe-area-inset-bottom));background:#fff;margin-top:56px;position:relative}.hills{width:100%;height:46px;position:absolute;bottom:calc(100% - 1px);left:0}.brand{font-size:18px}.promise{color:#3c556f;margin-top:2px;font-size:13px;font-weight:400}@media (min-width:700px){.home-main{padding-top:calc(96px + env(safe-area-inset-top));padding-left:max(28px, env(safe-area-inset-left));padding-right:max(28px, env(safe-area-inset-right));gap:30px}.home .bunting{height:78px}.hero{grid-template-columns:auto auto;justify-content:center;gap:6px 36px}.tiles{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:22px 18px}.tile{font-size:44px}.star.mini{width:22px;height:22px}}@media (min-width:960px) and (orientation:landscape){.home-main{grid-template-columns:minmax(250px,.8fr) 2fr;align-content:center;align-items:center;gap:36px}.hero{text-align:center;grid-template-columns:1fr;justify-items:center;gap:14px}.hero-pic{grid-area:auto;width:min(100%,260px)}.title{font-size:44px}}.lost-main{text-align:center;flex:1;align-content:center;justify-items:center;gap:16px;padding:80px 20px 30px;display:grid}.lost-milo{width:170px;height:auto}.lost-title{color:var(--yellow);font-size:clamp(24px,7vw,36px)}.lost-home{min-width:240px}@media (prefers-reduced-motion:reduce){.party,.star.big,.party-milo,.spark,.choice.primary,.say.playing .say-icon{animation:none}}
