.fmf-app{--fmf-ink:#3d2f5c;--fmf-rose:#ff8fae;--fmf-lilac:#a98dff;--fmf-gold:#ffd98a;--fmf-cream:#fff8f3;--fmf-glass:rgba(61,47,92,0.74);--play-accent:#ff8fae;--play-ink:#3d2f5c;--play-paper:#fff8f3;overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100dvh;background:#ead2c0;color:#fff}.fmf-scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:none}.fmf-app:not([data-phase=play]) :is(.fmf-head,.fmf-stats,.fmf-toast,.fmf-hint,.fmf-panel,.fmf-pace){display:none}.fmf-head{position:absolute;z-index:4;left:0;right:0;top:calc(env(safe-area-inset-top, 0px) + 10px);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:8px;gap:8px;padding:0 12px;pointer-events:none}.fmf-head>*{pointer-events:auto}.fmf-icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--fmf-glass);color:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:0 3px 0 rgba(30,20,50,.25)}.fmf-icon-btn .off,.fmf-icon-btn[aria-pressed=true] .on{display:none}.fmf-icon-btn[aria-pressed=true] .off{display:inline}.fmf-pill{justify-self:center;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 6px;border-radius:22px;background:var(--fmf-glass);border:2px solid rgba(255,255,255,.85);box-shadow:0 3px 0 rgba(30,20,50,.25);pointer-events:none}.fmf-pill b{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--fmf-lilac);font-size:17px}.fmf-pill span{font:800 15px/1 Playful,sans-serif;white-space:nowrap}.fmf-stats{position:absolute;z-index:4;left:12px;right:12px;top:calc(env(safe-area-inset-top, 0px) + 62px);display:grid;grid-template-columns:.8fr 1fr .9fr 1fr;grid-gap:6px;gap:6px;pointer-events:none;max-width:440px;margin:0 auto}.fmf-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px 4px 7px;border-radius:14px;min-width:0;background:var(--fmf-glass);border:2px solid rgba(255,255,255,.5);box-shadow:0 3px 0 rgba(30,20,50,.2)}.fmf-box>span{font:800 9px/1 Playful,sans-serif;letter-spacing:1.1px;opacity:.8;white-space:nowrap}.fmf-box>b{font:800 20px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--fmf-gold)}.fmf-time-box.low b{color:#ff9fb6;animation:fmf-pulse .8s ease-in-out infinite}@keyframes fmf-pulse{50%{transform:scale(1.15)}}.fmf-toast{position:absolute;z-index:7;left:50%;top:24%;transform:translate(-50%,10px) scale(.9);opacity:0;pointer-events:none;font:800 20px/1.1 Playful,sans-serif;color:#fff;text-align:center;width:max-content;max-width:calc(100% - 28px);-webkit-text-stroke:6px var(--fmf-ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--fmf-ink);transition:opacity .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}.fmf-toast.show{opacity:1;transform:translate(-50%)}.fmf-toast[data-kind=good]{color:#fff1c2;-webkit-text-stroke-color:#5a3c8f;text-shadow:0 4px 0 #5a3c8f}.fmf-toast[data-kind=bad]{color:#ffe1e8;-webkit-text-stroke-color:#8a2346;text-shadow:0 4px 0 #8a2346}.fmf-hint{position:absolute;z-index:5;left:50%;bottom:calc(env(safe-area-inset-bottom, 0px) + 192px);transform:translateX(-50%);margin:0;padding:7px 13px;border-radius:14px;background:var(--fmf-glass);border:2px solid rgba(255,255,255,.55);font:700 13px/1.25 Playful,sans-serif;text-align:center;width:max-content;max-width:calc(100% - 32px);opacity:0;transition:opacity .25s;pointer-events:none}.fmf-hint.show{opacity:1}.fmf-pace{--p:0.5;position:absolute;z-index:5;left:50%;bottom:calc(env(safe-area-inset-bottom, 0px) + 124px);transform:translateX(-50%);width:min(280px,calc(100% - 40px));padding:6px 10px 8px;border-radius:14px;background:var(--fmf-glass);border:2px solid rgba(255,255,255,.55);opacity:0;transition:opacity .25s;pointer-events:none}.fmf-pace.show{opacity:1}.fmf-pace-top{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:5px}.fmf-pace-top b{font:800 11px/1 Playful,sans-serif;letter-spacing:1.3px}.fmf-pace-ic{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 65% 35%,transparent 0 38%,#ffe6a0 40%);box-shadow:0 0 8px #ffe6a0}.fmf-pace[data-kind=flow] .fmf-pace-ic{border-radius:4px;background:repeating-linear-gradient(90deg,#9fe8ff 0 3px,transparent 3px 5px);box-shadow:0 0 8px #9fe8ff}.fmf-pace.beat .fmf-pace-ic{animation:fmf-beat .35s ease-out}@keyframes fmf-beat{30%{transform:scale(1.5)}}.fmf-pace-bar{position:relative;height:12px;border-radius:6px;display:grid;grid-template-columns:19% 59% 22%;overflow:visible;border:2px solid rgba(255,255,255,.8)}.fmf-pace-bar span{display:block}.fmf-pace-bar .z-slow{background:#7cc6ff;border-radius:4px 0 0 4px}.fmf-pace-bar .z-good{background:linear-gradient(90deg,#6ee8b8,#b6ffd9 50%,#6ee8b8)}.fmf-pace-bar .z-fast{background:#ffa15a;border-radius:0 4px 4px 0}.fmf-pace-bar u{position:absolute;top:-6px;left:calc(var(--p) * 100%);width:6px;height:20px;margin-left:-3px;border-radius:3px;background:#fff;box-shadow:0 0 0 2px var(--fmf-ink);transition:left .08s linear}.fmf-pace[data-touch=false] .fmf-pace-bar u{opacity:.4}.fmf-pace[data-state=fast]{border-color:#ffb27a}.fmf-pace[data-state=slow][data-touch=true]{border-color:#9fd6ff}.fmf-panel{position:absolute;z-index:6;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom, 0px) + 10px);max-width:520px;margin:0 auto;padding:8px;border-radius:22px;color:var(--fmf-ink);display:grid;grid-template-columns:1.55fr 1fr;grid-gap:8px;gap:8px;background:var(--fmf-cream);border:3px solid #fff;box-shadow:0 5px 0 #c9b2e6,0 12px 26px rgba(61,47,92,.25)}.fmf-heads{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px;gap:6px;min-width:0}.fmf-app .fmf-head-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;min-width:0;cursor:pointer;touch-action:manipulation;border-radius:16px;border:3px solid #f0e6f4;background:#fff;color:var(--fmf-ink);box-shadow:0 3px 0 rgba(61,47,92,.18);transition:transform .12s,border-color .15s}.fmf-head-btn b{font:800 14px/1 Playful,sans-serif}.fmf-head-btn em{font:700 10px/1 Playful,sans-serif;font-style:normal;color:#8a7aa3;white-space:nowrap}.fmf-head-btn.big[aria-checked=true]{border-color:var(--fmf-rose);transform:translateY(-3px);box-shadow:0 5px 0 #d65f84}.fmf-head-btn.small[aria-checked=true]{border-color:var(--fmf-lilac);transform:translateY(-3px);box-shadow:0 5px 0 #7357d6}.fmf-head-btn.want{animation:fmf-want .7s ease-in-out infinite}.fmf-head-btn.big.want{border-color:var(--fmf-rose);background:#fff0f4}.fmf-head-btn.small.want{border-color:var(--fmf-lilac);background:#f4f0ff}@keyframes fmf-want{50%{transform:translateY(-4px) scale(1.05)}}.fmf-wheel{display:block;height:22px;border-radius:6px}.fmf-wheel.big{width:34px;background:repeating-linear-gradient(90deg,#ffb0c4 0 5px,#ffd3df 5px 7px);box-shadow:inset 0 -4px 0 rgba(214,95,132,.4),0 0 0 2px #d65f84}.fmf-wheel.small{width:20px;height:14px;margin:4px 0;background:repeating-linear-gradient(90deg,#b9a2ff 0 4px,#ddd2ff 4px 6px);box-shadow:inset 0 -3px 0 rgba(115,87,214,.4),0 0 0 2px #7357d6}.fmf-card-route{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;padding:6px 4px;border-radius:16px;background:linear-gradient(180deg,#4a3a6e,#3d2f5c);color:#fff}.fmf-card-route b{font:800 13px/1.1 Playful,sans-serif;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fmf-route-beads{display:flex;gap:5px;align-items:center;justify-content:center;flex-wrap:wrap}.fmf-route-beads i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 2px var(--fmf-rose);transition:background .2s,transform .3s cubic-bezier(.3,1.8,.5,1)}.fmf-route-beads i.small{box-shadow:inset 0 0 0 2px var(--fmf-lilac)}.fmf-route-beads i.on{background:var(--fmf-gold);box-shadow:0 0 8px var(--fmf-gold);transform:scale(1.15)}.fmf-route-beads i.route{width:22px;border-radius:6px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}.fmf-route-beads i.route.on{background:var(--fmf-gold)}.playful-game .fmf-menu,.playful-game .fmf-results{background:linear-gradient(180deg,rgba(61,47,92,0) 30%,rgba(61,47,92,.45));backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:flex-start;padding:12vh 12px calc(env(safe-area-inset-bottom, 0px) + 12px)}.fmf-card{position:relative;width:min(440px,100%);margin:auto auto 0;flex:none;color:var(--fmf-ink);border-radius:26px;padding:14px;text-align:center;border:3px solid #fff;background:radial-gradient(circle at 12px 12px,rgba(169,141,255,.14) 3px,transparent 4px) 0 0 /24px 24px,#fff8f3;box-shadow:0 7px 0 #c9b2e6,0 20px 50px rgba(61,47,92,.35)}.fmf-kicker{display:inline-block;font:800 10px/1 Playful,sans-serif;letter-spacing:1.6px;color:#fff;background:var(--fmf-lilac);border-radius:8px;padding:5px 9px}.fmf-logo{margin:8px 0 6px;font:800 38px/.92 Playful,sans-serif;letter-spacing:1px;color:var(--fmf-gold);-webkit-text-stroke:4px var(--fmf-ink);paint-order:stroke fill;text-shadow:0 6px 0 #ff9fb6;transform:rotate(-2deg)}.fmf-rules{list-style:none;margin:8px 0 10px;padding:10px;text-align:left;display:grid;grid-gap:6px;gap:6px;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 2px #f0e6f4}.fmf-rules li{display:flex;gap:7px;align-items:baseline;font:600 12.5px/1.3 Playful,sans-serif;color:#574a72}.fmf-rules li span{flex:none;width:18px;text-align:center}.fmf-rules li p{margin:0}.fmf-rules b{color:#c2457a}.playful-game .fmf-card button.big{width:100%;background:var(--fmf-rose);color:#fff;border-color:#d65f84;box-shadow:inset 0 3px 0 #ffc8d6,0 5px 0 #d65f84;font-size:22px}.fmf-menu-best{margin:8px 0 0;font:800 13px/1 Playful,sans-serif;color:#8a5a00;min-height:13px}.fmf-note{margin:6px 0 0;font:700 11px/1.25 Playful,sans-serif;color:#8a7aa3}.fmf-r-title{margin:6px 0 0;font:800 28px/1 Playful,sans-serif}.fmf-r-title.good{color:#7357d6}.fmf-r-title.bad{color:#8a2346}.fmf-r-score{display:flex;align-items:baseline;justify-content:center;gap:6px}.fmf-r-score b{font:800 50px/1 Playful,sans-serif;color:var(--fmf-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fmf-r-score span{font:800 15px/1 Playful,sans-serif;color:#8a7aa3}.fmf-stars{display:flex;justify-content:center;gap:6px;margin:2px 0}.fmf-stars i{width:30px;height:30px;background:rgba(61,47,92,.18);-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transition:transform .3s cubic-bezier(.3,1.8,.5,1),background .2s}.fmf-stars i.on{background:#ffc61a;transform:scale(1.18) rotate(-6deg)}.fmf-r-line{margin:6px 0 8px;font:700 13px/1.3 Playful,sans-serif;color:#574a72}.fmf-r-stats{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px}.fmf-r-stats li{display:flex;flex-direction:column;gap:3px;padding:7px 2px;border-radius:12px;background:#fff}.fmf-r-stats b{font:800 18px/1 Playful,sans-serif;color:var(--fmf-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fmf-r-stats span{font:700 10px/1 Playful,sans-serif;color:#8a7aa3}.fmf-r-best{margin:2px 0 10px;font:800 13px/1 Playful,sans-serif;color:#c2457a;min-height:13px}.fmf-r-row{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.playful-game .fmf-r-row .share-btn{margin-top:10px;padding:8px 14px;font-size:15px}.fmf-app .fmf-link-btn{margin-top:10px;background:#fff;color:var(--fmf-ink);border:2px solid #f0e6f4;border-radius:14px;padding:9px 14px;font:800 15px/1.2 Playful,sans-serif;cursor:pointer}.playful-game .fmf-loading{background:radial-gradient(ellipse at 50% 40%,#fff8f3,#d9c4ee)}@media (min-width:760px) and (min-aspect-ratio:1/1){.playful-game .fmf-menu,.playful-game .fmf-results{background:linear-gradient(90deg,rgba(61,47,92,0) 45%,rgba(61,47,92,.4));align-items:flex-end;justify-content:flex-start;padding:24px 5vw 24px 24px}.fmf-card{margin:auto 0}.fmf-logo{font-size:48px}}@media (max-height:700px){.fmf-rules{display:none}}