html,body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#1b1b2f;height:100%;margin:0;overflow:hidden}#game{top:env(safe-area-inset-top,0);right:env(safe-area-inset-right,0);bottom:env(safe-area-inset-bottom,0);left:env(safe-area-inset-left,0);position:fixed}#view{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#ui{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}#ui>*{pointer-events:auto}#rotate,#lost,#nogl{z-index:10;color:#fff;background:#1b1b2f;flex-direction:column;justify-content:center;align-items:center;gap:16px;font:18px/1.4 Fredoka,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:none;position:fixed;top:0;bottom:0;left:0;right:0}#rotate{text-align:center;background:radial-gradient(at 50% 35%,#3a2f6b,#1b1b2f 70%);padding:0 24px}#rotate .pair{border-radius:32px;width:132px;height:132px;box-shadow:0 6px #0000004d,0 0 36px #fff1c459}#rotate .phone{box-sizing:border-box;border:4px solid #fff8ee;border-radius:9px;width:34px;height:62px;margin:10px 0 6px;animation:2.2s ease-in-out infinite tilt;position:relative}#rotate .phone:after{content:"♥";color:#ff9fb8;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#rotate p{margin:0}#rotate .big{color:#fff8ee;text-shadow:0 2px #4a3434;font-size:26px;font-weight:700}#rotate .small{color:#ff9fb8;font-size:16px;font-weight:500}#lost:not([hidden]),#nogl:not([hidden]){display:flex}#nogl{z-index:11;text-align:center;padding:0 24px}#nogl p{max-width:36em;margin:0}#lost button{font:inherit;color:#3b2b2b;background:#ffd84a;border:0;border-radius:999px;padding:12px 24px}@keyframes tilt{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media (orientation:portrait) and (hover:none){#rotate{display:flex}}@media (prefers-reduced-motion:reduce){#rotate .phone{animation:none}}#loader{z-index:9;background:linear-gradient(#3a2f6b,#1b1b2f 85%);justify-content:center;align-items:center;transition:opacity .4s ease-out;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#loader.gone{opacity:0;pointer-events:none}#loader .pair{border-radius:28%;width:min(132px,34vh);height:min(132px,34vh);margin-bottom:9vh;animation:2.4s ease-in-out infinite bob;box-shadow:0 6px #0000004d,0 0 40px #fff1c44d}.loadbar{box-sizing:border-box;color:#d9547a;font-variant-numeric:tabular-nums;pointer-events:none;background:#fff8ee;border:2px solid #4a34341f;border-radius:999px;flex-direction:column;align-items:center;gap:.35em;width:min(100% - 32px,17em);padding:.45em 1.2em .6em;font:700 clamp(14px,1.9vh + .55vw,21px)/1.15 Fredoka,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;position:absolute;bottom:max(14px,7%);left:50%;translate:-50%;box-shadow:0 3px #4a343438,0 8px 18px #4a34342e}#ui>.loadbar{pointer-events:none}.loadbar-track{background:#4a34341f;border-radius:999px;width:100%;height:8px;display:block;overflow:hidden}.loadbar-track i{height:100%;width:calc(var(--p,0) * 100%);border-radius:inherit;background:linear-gradient(90deg,#ff9fb8,#d9547a);min-width:8px;transition:width .3s ease-out;display:block}#loader .loadbar-track i{animation:12s cubic-bezier(.12,.75,.3,1) forwards creep}@keyframes creep{0%{width:2%}to{width:50%}}@keyframes bob{50%{translate:0 -5px}}@media (prefers-reduced-motion:reduce){#loader .pair{animation:none}}.update-pill{z-index:6;box-sizing:border-box;color:#4a3434;background:#fff8ee;border:2px solid #4a34341f;border-radius:999px;align-items:center;gap:.5em;max-width:calc(100% - 24px);padding:.25em .3em .25em 1em;font:600 clamp(13px,1.7vh + .5vw,18px)/1.2 Fredoka,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;transition:opacity .3s ease-in;animation:.3s ease-out pillin;display:flex;position:absolute;bottom:max(12px,3%);right:max(12px,2%);box-shadow:0 3px #4a343438,0 8px 18px #4a34342e}.update-pill.out{opacity:0;pointer-events:none}.update-pill .msg{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.update-pill .short{display:none}.update-pill button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:40px;font-weight:700;display:flex}.update-pill .refresh{color:#5a3208;background:#ffd36b;padding:0 1em;box-shadow:0 2px #4a343433}.update-pill .x{color:#6e5450;width:40px;font-size:1.3em}.update-pill button:focus-visible{outline-offset:2px;outline:3px solid #d9547a}.update-pill button:active{translate:0 1px}@keyframes pillin{0%{opacity:0;translate:0 12px}}@media (max-height:480px){.update-pill{gap:.35em;padding:2px 2px 2px .8em;bottom:4px;right:8px}.update-pill .long{display:none}.update-pill .short{display:inline}.update-pill button{min-height:36px}.update-pill .x{width:36px}}@media (prefers-reduced-motion:reduce){.update-pill{animation:none}}.consent{z-index:7;box-sizing:border-box;color:#4a3434;background:#fff8ee;border:2px solid #4a34341f;border-radius:20px;flex-direction:column;gap:.5em;width:min(100% - 24px,21em);padding:.7em .8em;font:500 clamp(13px,1.5vh + .45vw,16px)/1.3 Fredoka,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;animation:.3s ease-out pillin;display:flex;position:absolute;bottom:max(12px,3%);left:max(12px,2%);box-shadow:0 3px #4a343438,0 8px 18px #4a34342e}.consent .msg{margin:0}.consent .row{gap:.5em;display:flex}.consent button{all:unset;box-sizing:border-box;cursor:pointer;border:2px solid #4a34341f;border-radius:999px;flex:1;justify-content:center;align-items:center;min-height:44px;font-weight:700;display:flex}.consent .decline{color:#4a3434;background:#fff}.consent .accept{color:#5a3208;background:#ffd36b;box-shadow:0 2px #4a343433}.consent button:focus-visible{outline-offset:2px;outline:3px solid #d9547a}.consent button:active{translate:0 1px}@media (max-height:480px){.consent{gap:.35em;width:min(100% - 16px,19em);padding:.5em .6em;font-size:12px;bottom:6px;left:8px}.consent button{min-height:36px}}@media (prefers-reduced-motion:reduce){.consent{animation:none}}@font-face{font-family:Fredoka;src:url(../fonts/Fredoka.woff2)format("woff2");font-weight:300 700;font-display:swap}:root{--ink:#4a3434;--ink-soft:#6e5450;--cream:#fff8ee;--card:#fffaf3;--pink:#ff9fb8;--pink-deep:#d9547a;--gold:#ffd36b;--gold-ink:#9a5a12;--mint:#a8e6c6;--sky:#bfe3f7;--lift:0 3px 0 #4a343438, 0 8px 18px #4a34342e;--r:20px;--sticker:0 2px 0 var(--ink), 2px 0 0 var(--ink), 0 -2px 0 var(--ink), -2px 0 0 var(--ink), 1.5px 1.5px 0 var(--ink), -1.5px 1.5px 0 var(--ink), 1.5px -1.5px 0 var(--ink), -1.5px -1.5px 0 var(--ink), 0 5px 0 #4a343459}#ui{color:var(--ink);font-family:Fredoka,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(14px,1.9vh + .55vw,21px)}#ui button{font-family:inherit}.title{text-align:center;color:var(--cream);letter-spacing:.01em;text-shadow:var(--sticker);pointer-events:none;overflow-wrap:anywhere;padding:0 16px;font-size:clamp(26px,5.4vh + 1.2vw,58px);font-weight:700;line-height:1.1;position:absolute;top:5%;left:0;right:0}.menu{flex-direction:column;gap:.45em;width:min(86vw,19em);max-height:calc(100% - 2em);display:flex;position:absolute;left:50%;transform:translate(-50%)}.menu[hidden]{display:none}.menu.inline{margin:0 auto;position:static;transform:none}.menu.inline button{justify-content:center}.menu button{all:unset;box-sizing:border-box;background:var(--cream);min-height:44px;color:var(--ink);box-shadow:var(--lift);cursor:pointer;border:2px solid #4a34341f;border-radius:999px;justify-content:space-between;align-items:center;gap:1em;padding:.5em 1.1em;font-weight:600;transition:transform .14s,background-color .14s,border-color .14s,box-shadow .14s;display:flex}.menu button .label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu button .sub{color:var(--ink-soft);flex:none;font-size:.82em;font-weight:500}.menu button.focus{border-color:var(--pink-deep);box-shadow:0 0 0 3px #ff9fb88c, var(--lift);background:#fff;transform:translateY(-2px)scale(1.03)}.menu button:focus-visible{outline:3px solid var(--pink-deep);outline-offset:3px}.menu button.focus:focus-visible{outline:none}.menu button:active{transform:translateY(1px)scale(.99);box-shadow:0 1px #4a343440}.menu button:disabled{cursor:default;color:var(--ink-soft);box-shadow:none;background:#efe6dc}.panel{background:var(--card);color:var(--ink);box-shadow:var(--lift);border:2px solid #4a34341a;border-radius:26px;padding:1em 1.4em}.names{background:var(--cream);max-width:30vw;color:var(--ink);box-shadow:var(--lift);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;padding:.1em .7em;font-weight:600;position:absolute;overflow:hidden;transform:translate(-50%)}.title.hub-title{right:38%}.menu.side{width:min(38vw,18em);left:auto;right:max(16px,5%);transform:translateY(-50%)}.menu.inline-width{width:auto;min-width:9em}.menu.inline-width button{justify-content:center}.title.boot-title{font-size:clamp(30px,7.5vh + 1.6vw,74px);animation:.5s ease-out pop;top:7%}.boot-kicker{text-align:center;pointer-events:none;color:var(--pink);letter-spacing:.14em;text-shadow:var(--sticker);font-size:1.15em;font-weight:600;position:absolute;top:calc(7% + 1.2*clamp(30px,7.5vh + 1.6vw,74px));left:0;right:0}.boot-kicker:empty{display:none}.hint.boot-hint{background:var(--cream);color:var(--pink-deep);box-shadow:var(--lift);border:2px solid #4a34341f;padding:.45em 1.5em;font-size:1.1em;font-weight:700;top:auto;bottom:max(14px,7%)}.hint.tap{animation:.3s ease-out pop,2.4s ease-in-out .3s infinite breathe}@media (max-height:480px){.menu.levels.grid{grid-template-columns:1fr 1fr;width:min(100vw - 32px,34em);display:grid}.menu.levels.grid button:last-child{grid-column:1/-1;justify-content:center;justify-self:center;width:calc(50% - .25em)}}.wardrobe{box-sizing:border-box;border-radius:26px;flex-direction:column;gap:.55em;width:min(46vw,25em);max-height:calc(100% - 24px);padding:.7em;animation:.25s ease-out pop;display:flex;position:absolute;top:50%;right:max(16px,4%);translate:0 -50%}.wardrobe button{all:unset;box-sizing:border-box;cursor:pointer;color:var(--ink);text-align:center;font-weight:600;transition:transform .14s,background-color .14s,border-color .14s,box-shadow .14s}.wardrobe button:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px}.wardrobe button.focus:focus-visible{outline:none}.wardrobe button:active{transform:translateY(1px)scale(.98)}.wd-head{align-items:center;gap:.4em;display:flex}.wardrobe .wd-step{background:var(--cream);border:2px solid #4a343424;border-radius:50%;flex:none;width:44px;height:44px;font-size:1.5em;line-height:40px;box-shadow:0 2px #4a343433}.wd-now{text-align:center;flex-direction:column;flex:1;align-items:center;min-width:0;line-height:1.15;display:flex}.wd-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:1.12em;font-weight:700;overflow:hidden}.wd-who{max-width:100%;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.74em;overflow:hidden}.wd-grid{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--pink) transparent;border-radius:16px;flex:auto;grid-template-columns:repeat(auto-fill,minmax(8.6em,1fr));gap:.4em;min-height:0;margin:0 -5px;padding:5px;display:grid;position:relative;overflow-y:auto}.wardrobe .wd-tile{background:var(--cream);overflow-wrap:anywhere;border:2px solid #4a34341a;border-radius:14px;justify-content:center;align-items:center;min-height:44px;padding:.3em .7em;font-size:.8em;line-height:1.15;display:flex;position:relative;box-shadow:0 2px #4a343429}.wardrobe .wd-tile.plain{background:#f3ece4}.wardrobe .wd-power{color:var(--gold-ink);margin-top:.15em;font-size:.78em;font-weight:600;display:block}.wardrobe .wd-power.none{color:var(--ink-soft);font-weight:500}.wardrobe .wd-tile.on{border-color:var(--pink-deep);background:#fff;box-shadow:0 0 0 3px #ff9fb880,0 2px #4a343429}.wd-tile.worn:after{content:"♥";background:var(--pink-deep);color:#fff;text-align:center;border-radius:50%;width:18px;height:18px;font-size:11px;line-height:18px;position:absolute;top:-6px;right:-4px;box-shadow:0 1px #4a34344d}.wd-row{gap:.45em;display:flex}.wardrobe .wd-row button{background:var(--cream);min-height:44px;box-shadow:var(--lift);border:2px solid #4a34341f;border-radius:999px;flex:1;padding:.35em .6em}.wardrobe .wd-row button.focus{border-color:var(--pink-deep);box-shadow:0 0 0 3px #ff9fb88c, var(--lift);background:#fff}.wardrobe .wd-swap:before{content:"⇄";margin-right:.35em}.wardrobe .wd-row .wd-swap.pressed{background:var(--mint)}.wardrobe .wd-row .wd-swap:disabled{cursor:default;opacity:.45;box-shadow:none}.wardrobe .wd-row .wd-wear{background:var(--gold);color:#5a3208}.wd-loading{font-weight:600;position:absolute;top:50%;right:max(16px,4%);transform:translateY(-50%)}.toast{background:var(--card);color:var(--pink-deep);box-shadow:var(--lift);white-space:nowrap;pointer-events:none;border-radius:999px;padding:.3em 1em;font-weight:700;transition:opacity .4s ease-in;animation:.3s ease-out pop;position:absolute;top:29%;left:36%;translate:-50%}.toast.out{opacity:0}@media (max-height:480px){.wardrobe{gap:.45em;width:min(50vw,25em);padding:.55em}.wardrobe .wd-tile{font-size:.88em}}.hud{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}#ui>.hud,#ui>.banner,#ui>.hint,#ui>.popup{pointer-events:none}.hud .score,.hud .fruit,.hud .lives,.hud .power{color:var(--ink);box-shadow:var(--lift);font-variant-numeric:tabular-nums;background:#fff8eeeb;border-radius:999px;padding:.15em .75em;font-weight:700;position:absolute;top:max(10px,2.5%)}.hud .score,.hud .fruit{letter-spacing:.04em;font-size:1.15em;left:50%;transform:translate(-50%)}.hud .energy{background:#4a34348c;border-radius:999px;gap:3px;padding:5px 9px;display:flex;position:absolute;top:calc(max(10px,2.5%) + 2.1em);left:50%;transform:translate(-50%);box-shadow:0 2px #4a343440}.hud .energy i{background:var(--gold);border-radius:4px;width:.5em;height:.85em;box-shadow:inset 0 -2px #9a5a1273}.hud .energy i.off{box-shadow:none;background:#fff8ee38}.hud .energy.low i:not(.off){background:var(--pink);animation:.5s step-end infinite blink}.hud .lives{letter-spacing:2px;font-size:1em;left:max(10px,2%)}.hud .power{top:calc(max(10px,2.5%) + 2.3em);left:max(10px,2%)}.hud .stars{white-space:nowrap;color:var(--ink);box-shadow:var(--lift);letter-spacing:2px;font-variant-numeric:tabular-nums;background:#fff8eeeb;border-radius:999px;padding:.15em .75em;font-weight:700;position:absolute;top:calc(max(10px,2.5%) + 3.7em);left:50%;transform:translate(-50%)}.hud .stars.super{letter-spacing:.04em;background:linear-gradient(90deg,#ff8fb0,#ffd36b,#8fe0a8,#8fd0ff);animation:.3s ease-out pop}.hud .cpower{width:2.7em;height:2.7em;box-shadow:var(--lift);background:conic-gradient(var(--gold) calc(var(--p,1) * 1turn), #4a343473 0);border-radius:50%;place-items:center;display:grid;position:absolute;top:calc(max(10px,2.5%) + 4.6em);left:max(10px,2%)}.hud .cpower i{background:var(--cream);border-radius:50%;grid-area:1/1;place-items:center;width:calc(100% - 7px);height:calc(100% - 7px);font-size:1.25em;font-style:normal;line-height:1;transition:opacity .2s;display:grid}.hud .cpower b{box-sizing:border-box;background:var(--ink);min-width:1.35em;color:var(--cream);text-align:center;border-radius:6px;padding:0 .25em;font-size:.62em;line-height:1.5;position:absolute;bottom:-.3em;right:-.45em}.hud .cpower.cooling i{opacity:.5}.hud .cpower.ready{animation:.3s ease-out pop}.hud .cpower.active{background:conic-gradient(var(--pink) 1turn, var(--pink) 0)}.hud .cpower.active i{background:#fff}.banner{text-align:center;color:var(--cream);text-shadow:var(--sticker);pointer-events:none;padding:0 16px;font-size:2.3em;font-weight:700;animation:.35s ease-out pop;position:absolute;top:36%;left:0;right:0}.popup{color:var(--cream);text-shadow:var(--sticker);pointer-events:none;white-space:nowrap;font-weight:700;animation:.8s ease-out forwards rise;position:absolute;transform:translate(-50%,-50%)}.hint{max-width:calc(100% - 32px);color:var(--cream);text-align:center;pointer-events:none;background:#4a3434c7;border-radius:999px;padding:.3em 1em;font-weight:600;animation:.3s ease-out pop;position:absolute;top:28%;left:50%;translate:-50%}.goal-arrow{box-shadow:var(--lift);pointer-events:none;background:#fff8eee6;border-radius:999px;align-items:center;gap:.1em;padding:.2em .45em .2em .6em;animation:1.4s ease-in-out infinite nudge;display:flex;position:absolute;right:max(10px,2%);translate:0 -50%}.goal-arrow .flag{font-size:1.05em}.goal-arrow .chev{color:var(--pink-deep);font-size:1.6em;font-weight:700;line-height:.8}.goal-arrow.left{flex-direction:row-reverse;padding:.2em .6em .2em .45em;animation-name:nudge-left;left:max(10px,2%);right:auto}.goal-arrow.left .chev{transform:scaleX(-1)}.goal-check{color:#fff;border:2px solid var(--cream);pointer-events:none;background:#57b94a;border-radius:50%;justify-content:center;align-items:center;width:1.5em;height:1.5em;font-weight:700;animation:.35s cubic-bezier(.3,1.6,.5,1) pop;display:flex;position:absolute;translate:-50% -50%;box-shadow:0 2px #4a34344d}.goal-arrow[hidden],.goal-check[hidden]{display:none}#ui>.goal-arrow,#ui>.goal-check,#ui>.clear-card{pointer-events:none}.banner.clear-card{border-radius:var(--r);color:var(--ink);text-shadow:none;box-shadow:var(--lift);background:#fff8eef0;flex-direction:column;align-items:center;gap:.1em;padding:.35em 1.2em .45em;font-size:1em;display:flex;top:22%;left:50%;right:auto;translate:-50%}.clear-title{color:var(--pink-deep);font-size:2em;line-height:1.1}.clear-fruit{gap:.35em;font-size:1.7em;display:flex}.clear-fruit span{animation:.35s cubic-bezier(.3,1.6,.5,1) both pop}.clear-fruit .miss{filter:grayscale();opacity:.35}.clear-note{color:var(--ink-soft);font-size:.9em;font-weight:600}.clear-note.best{color:var(--gold-ink)}@keyframes nudge{50%{transform:translate(5px)}}@keyframes nudge-left{50%{transform:translate(-5px)}}.coach{box-sizing:border-box;max-width:calc(100% - 32px);color:var(--cream);box-shadow:var(--lift);background:#4a3434d1;border-radius:999px;align-items:center;gap:.6em;padding:.2em .25em .2em 1em;font-weight:600;display:flex;position:absolute;top:calc(max(10px,2.5%) + 4.3em);left:50%;translate:-50%}.coach.in{animation:.3s ease-out pop}.coach.praise .coach-text{color:var(--gold)}.coach-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.coach .coach-skip{all:unset;box-sizing:border-box;cursor:pointer;background:var(--cream);min-width:44px;min-height:44px;color:var(--ink);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 1em;font-size:.85em;font-weight:700;display:flex}.coach .coach-skip:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px}.coach .coach-skip:active{transform:scale(.96)}.pausebtn{z-index:3;background:var(--cream);width:48px;height:48px;box-shadow:var(--lift);cursor:pointer;border:2px solid #4a343426;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:max(10px,2.5%);right:max(10px,2%)}.pausebtn span{border-left:5px solid var(--ink);border-right:5px solid var(--ink);box-sizing:border-box;border-radius:2px;width:16px;height:18px}.pausebtn.mutebtn{justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:flex;right:calc(max(10px,2%) + 58px)}.pausebtn:focus-visible{outline:3px solid var(--pink-deep);outline-offset:3px}.pausebtn[hidden]{display:none}.overlay{z-index:4;box-sizing:border-box;background:#2e203080;flex-direction:column;justify-content:center;align-items:center;gap:.6em;padding:12px 16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#ui:has(>.overlay) .hud{visibility:hidden}.overlay h2{color:var(--cream);text-shadow:var(--sticker);margin:0;font-size:2.1em;line-height:1}.overlay .menu{gap:.4em;width:min(86vw,17em)}@media (max-height:480px){.overlay{gap:.45em;padding:8px 16px}.overlay h2{font-size:1.6em}.overlay .menu.inline:has(>:nth-child(6)){grid-template-columns:1fr 1fr;width:min(100vw - 32px,30em);display:grid}.overlay .menu.inline:has(>:nth-child(6)) button{padding:.4em .8em}.overlay .menu.inline:has(>:nth-child(6)) button:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - .2em)}}.overlay .overscore{color:var(--gold);letter-spacing:.04em;text-shadow:var(--sticker);font-size:1.2em;font-weight:700}.touch{touch-action:none;position:absolute;top:0;bottom:0;left:0;right:0}.touch .btn{box-sizing:border-box;width:64px;height:64px;color:var(--ink);text-shadow:0 1px #fff9;background:#fff8ee61;border:3px solid #fff8eed9;border-radius:50%;justify-content:center;align-items:center;font-size:26px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px #4a343440}.touch .btn.down{background:#fff8eec7;transform:translate(-50%,-48%)scale(.94)}.touch .btn.swap{background:#a8e6c699}.touch .btn.power{color:var(--gold-ink);background:#ffd36b8c;font-size:30px}.touch .joy{box-sizing:border-box;background:#fff8ee24;border:3px solid #fff8eeb3;border-radius:50%;width:96px;height:96px;position:absolute;transform:translate(-50%,-50%)}.touch .knob{background:#fff8eed9;border-radius:50%;width:46px;height:46px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px #4a343440}.ending{box-sizing:border-box;text-align:center;flex-direction:column;align-items:center;gap:.5em;width:min(100% - 32px,48em);display:flex;position:absolute;bottom:max(12px,5%);left:50%;transform:translate(-50%)}.ending .msg{white-space:pre;min-height:calc(1.38em * var(--lines,7));justify-content:center;align-items:center;font-weight:500;line-height:1.38;display:flex}.ending .msg-probe{visibility:hidden;white-space:pre;font-weight:500;position:absolute}.ending .next{color:var(--pink-deep);font-size:.9em;font-weight:600;animation:1.2s steps(2,end) infinite blink}.ending .score{color:var(--gold-ink);font-size:1.1em;font-weight:700}.ending .menu{width:auto;min-width:11em}@keyframes breathe{50%{opacity:.7}}@keyframes blink{50%{opacity:.4}}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes rise{to{opacity:0;transform:translate(-50%,-160%)}}@media (prefers-reduced-motion:reduce){#ui *,#ui :after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.about-link{all:unset;box-sizing:border-box;cursor:pointer;min-height:44px;color:var(--ink);background:#fff8eee6;border:2px solid #4a34341f;border-radius:999px;align-items:center;padding:0 1em;font-size:.78em;font-weight:600;transition:transform .14s,background-color .14s;display:flex;position:absolute;bottom:max(10px,2.5%);left:max(12px,2%);box-shadow:0 2px #4a343433}.about-link:hover{background:#fff}.about-link:focus-visible{outline:3px solid var(--pink-deep);outline-offset:3px}.about-link:active{transform:translateY(1px)scale(.98)}.about-link[hidden]{display:none}.about{box-sizing:border-box;flex-direction:column;gap:.5em;width:min(100vw - 32px,34em);max-height:calc(100% - 16px);padding:.8em 1em .9em;animation:.25s ease-out pop;display:flex}.overlay .about h2{color:var(--ink);text-shadow:none;text-align:center;font-size:1.35em}.about-body{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--pink) transparent;border-radius:12px;flex:auto;min-height:0;padding:0 .3em;font-size:.8em;line-height:1.4;overflow-y:auto}.about-body:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px}.about-body section+section{margin-top:.7em}.about-body h3{color:var(--pink-deep);margin:0 0 .2em;font-size:1em}.about-body p{margin:0 0 .35em}.about-body a{color:var(--pink-deep);font-weight:600}.about-body a:focus-visible{outline:2px solid var(--pink-deep);outline-offset:2px;border-radius:4px}.about-credits{margin:0;padding-left:1.2em}.about .about-back{all:unset;box-sizing:border-box;cursor:pointer;background:var(--gold);color:#5a3208;min-width:9em;min-height:44px;box-shadow:var(--lift);border:2px solid #4a34341f;border-radius:999px;justify-content:center;align-self:center;align-items:center;padding:0 1.4em;font-weight:700;display:flex}.about .about-back:focus-visible{outline:3px solid var(--pink-deep);outline-offset:3px}.about .about-back:active{transform:translateY(1px)scale(.98)}@media (max-height:480px){.about{gap:.35em;padding:.55em .8em .65em}.overlay .about h2{font-size:1.1em}}.about .about-analytics{all:unset;box-sizing:border-box;cursor:pointer;background:var(--cream);min-height:44px;color:var(--ink);border:2px solid #4a343424;border-radius:999px;align-items:center;padding:0 1.1em;font-weight:700;display:inline-flex;box-shadow:0 2px #4a34342e}.about .about-analytics[aria-pressed=true]{background:var(--mint)}.about .about-analytics:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px}
