@font-face{font-family:Nunito;src:url(../fonts/nunito-cyrillic.woff2) format("woff2");font-weight:200 1000;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;src:url(../fonts/nunito-latin.woff2) format("woff2");font-weight:200 1000;font-display:swap}:root{--ink: #4a3426;--cream: #fff8ec;--green: #7fb069;--green-d: #4f7f40;--gold: #f2b33d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#24324a;overscroll-behavior:none}body{font-family:Nunito,Arial Rounded MT Bold,system-ui,sans-serif;color:var(--ink);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}#backdrop{position:fixed;inset:-60px;background:radial-gradient(circle at 50% 30%,#a9cbe2,#3d5a78);filter:blur(10px)}#app{position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%);width:min(100vw,75vh);width:min(100vw,75dvh);overflow:hidden;background:#cfe6f2;box-shadow:0 0 60px #00000059}#app:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:50;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .2 0 0 0 1.4 -.3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}.screen,.stage{position:absolute;inset:0;overflow:hidden}.world{position:absolute;left:0;top:0;width:1000px;height:1600px;transform-origin:0 0}.world .bg,.crop .bg{position:absolute;left:0;top:0;width:1000px;height:1600px;display:block;pointer-events:none}.stage.blurred .bg{filter:blur(7px) saturate(.9) brightness(1.06);transform:scale(1.03)}.stage.blurred:after{content:"";position:absolute;inset:0;background:linear-gradient(#fff8ec59,#fff8ec26)}.obj{position:absolute}.obj .in{width:100%;height:100%}.obj svg,.art{width:100%;height:100%;display:block;overflow:visible}.obj.decor{pointer-events:none}.btn{position:relative;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;flex:none;background:radial-gradient(circle at 35% 28%,#a8d892,#6fa65b 70%);border:3px solid var(--cream);box-shadow:0 5px 0 var(--green-d),0 9px 16px #141e2847;transition:transform .08s,box-shadow .08s}.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--green-d),0 4px 8px #141e2847}.btn .ico{width:70%;height:70%}.btn.small{width:52px;height:52px}.btn.big{width:112px;height:112px;border-width:5px}.btn.big .ico{width:64%;height:64%;margin-left:6%}.btn.home .ico,.btn.home2 .ico,.btn.home3 .ico{margin:0}@keyframes breathe{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.07)}}.btn.play{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 7%);transform:translate(-50%);animation:breathe 2.4s ease-in-out infinite}.btn.play:active{transform:translate(-50%) translateY(4px);animation:none}.bar{position:absolute;left:0;right:0;top:0;z-index:20;padding:calc(env(safe-area-inset-top) + 10px) 12px 0;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.bar>*{pointer-events:auto}.bar .music{margin-top:7px}.bubble{min-width:100px;height:100px;padding:6px 14px 8px;border-radius:30px;background:#fff8ecf2;border:3px solid #fff;box-shadow:0 6px 18px #1e283c40;display:flex;flex-direction:column;align-items:center;justify-content:center}.bubble .pic{width:66px;height:66px}.bubble .pic .ico{width:100%;height:100%}.dots{display:flex;gap:5px;margin-top:3px;min-height:11px}.dot{width:11px;height:11px;border-radius:50%;background:#e3d8c4;box-shadow:inset 0 1px 2px #00000026}.dot.on{background:var(--gold);box-shadow:0 0 7px #f7d14c}.fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:30}.hand{position:absolute;left:0;top:0;width:86px;height:86px;opacity:0;transform-origin:30% 6%;filter:drop-shadow(0 6px 6px rgba(0,0,0,.28))}.hand-svg{width:100%;height:100%;display:block;overflow:visible}.spark{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px}.spark svg{width:100%;height:100%;display:block}.ripple{position:absolute;width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:50%;border:3px solid rgba(255,255,255,.9)}.glow{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ffeea0e6,#ffeea059 45%,#ffeea000 70%)}.lcard{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:25;width:min(82%,340px);padding:18px 18px 22px;border-radius:36px;background:var(--cream);border:4px solid #fff;box-shadow:0 14px 40px #1e283c59;display:flex;flex-direction:column;align-items:center}.lcard-l{font-weight:900;font-size:150px;line-height:1;color:#c0563a;text-shadow:0 4px 0 #f0d6b8}.lcard-p{width:150px;height:150px;margin-top:4px}.diff-wrap{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center}.frame{position:relative;overflow:hidden;border-radius:22px;border:4px solid #fff;box-shadow:0 8px 22px #1e283c4d;flex:none;background:#cfe6f2}.crop{position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden}.dring{position:absolute;border-radius:50%;border:9px solid #ffd45a;box-shadow:0 0 0 4px #fffc,0 0 24px #ffd25ae6,inset 0 0 0 4px #fffc;pointer-events:none}.grid{position:absolute;left:0;right:0;display:grid;justify-content:center;align-content:start}.card{position:relative;border-radius:26px;perspective:800px;transition:transform .25s}.card .face{position:absolute;inset:0;border-radius:26px;border:4px solid #fff;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .45s ease;box-shadow:0 7px 18px #1e283c47}.card .front{background:var(--cream);padding:12%}.card .back{background:radial-gradient(circle at 40% 30%,#bfe39a,#79b45a);padding:22%;transform:rotateY(180deg)}.card.memory .face{transition:transform .45s ease,opacity 0s linear .22s}.card.memory .front{transform:rotateY(180deg);opacity:0}.card.memory .back,.card.memory.up .front{transform:rotateY(0);opacity:1}.card.memory.up .back{transform:rotateY(-180deg);opacity:0}.card.sel{transform:translateY(-8px) scale(1.05)}.card.sel .face{box-shadow:0 0 0 5px var(--gold),0 12px 24px #1e283c4d}.card.done{pointer-events:none}.card.done .front{background:#fff6d6;box-shadow:0 0 0 5px #ffd45a,0 0 22px #ffd25acc}.odd-area{position:absolute;inset:0}.plate{position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fffdf6,#f6ead2);border:4px solid #fff;box-shadow:0 8px 20px #1e283c40;display:grid;place-items:center;transition:box-shadow .3s}.plate .pin{width:72%;height:72%}.plate.same{box-shadow:0 0 0 6px #7fb069e6,0 8px 20px #1e283c40}.plate.odd{box-shadow:0 0 0 7px #ffd45a,0 0 30px #ffd25ae6;z-index:2}.done-ov{position:absolute;inset:0;z-index:40;background:radial-gradient(circle at 50% 45%,#fff8ecd1,#fff8ec8c)}.flowers{position:absolute;top:calc(env(safe-area-inset-top) + 22px);left:50%;transform:translate(-50%);display:flex;gap:8px}.bl{width:46px;height:46px;opacity:.28;filter:grayscale(1)}.bl.on{opacity:1;filter:none}.bl.new{animation:newbl 1.2s .5s ease-out both}@keyframes newbl{0%{transform:scale(0)}60%{transform:scale(1.5)}to{transform:scale(1)}}.big-bl{position:absolute;left:50%;top:42%;width:min(56%,260px);aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 10px 18px rgba(200,120,140,.4))}.btn.next{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 9%);transform:translate(-50%)}.btn.next:active{transform:translate(-50%) translateY(4px)}.btn.home2{position:absolute;left:16px;bottom:calc(env(safe-area-inset-bottom) + 16px)}.title{position:absolute;left:0;right:0;top:17%;text-align:center;z-index:5}.t1{font-weight:900;font-size:clamp(40px,12vw,64px);line-height:1;color:#fff;text-shadow:0 3px 0 #6f9a5a,0 6px 16px rgba(30,50,40,.45);letter-spacing:.5px}.t2{margin-top:10px;font-weight:800;font-size:clamp(16px,4.6vw,22px);color:#fff;text-shadow:0 2px 8px rgba(30,50,40,.6)}.splash .gear,.map .gear{position:absolute}.splash .gear{right:14px;top:calc(env(safe-area-inset-top) + 14px);background:radial-gradient(circle at 35% 28%,#c7d3c0,#8ea58a 70%);box-shadow:0 4px #66806a,0 8px 12px #0003}.map .gear{position:relative;background:radial-gradient(circle at 35% 28%,#c7d3c0,#8ea58a 70%);box-shadow:0 4px #66806a,0 8px 12px #0003}.gear .hold{position:absolute;inset:-7px;border-radius:50%;border:5px solid transparent}.gear.holding .hold{border-color:#fff;animation:hold 1.5s linear both;clip-path:polygon(50% 50%,50% 0,50% 0)}@keyframes hold{0%{clip-path:polygon(50% 50%,50% 0,50% 0,50% 0,50% 0,50% 0)}25%{clip-path:polygon(50% 50%,50% 0,100% 0,100% 0,100% 0,100% 0)}50%{clip-path:polygon(50% 50%,50% 0,100% 0,100% 100%,100% 100%,100% 100%)}75%{clip-path:polygon(50% 50%,50% 0,100% 0,100% 100%,0 100%,0 100%)}to{clip-path:polygon(50% 50%,50% 0,100% 0,100% 100%,0 100%,0 0)}}.medal{position:absolute;border-radius:50%;border:10px solid var(--cream);box-shadow:0 10px #5a463240,0 16px 30px #1e283c4d;background-repeat:no-repeat}.medal.locked{filter:grayscale(.85) brightness(.9) contrast(.85)}.medal.locked:after{content:"";position:absolute;inset:0;border-radius:50%;background:#fff8ec40}.medal.cur{animation:medal 2.2s ease-in-out infinite}@keyframes medal{0%,to{box-shadow:0 10px #5a463240,0 0 #ffd76400,0 16px 30px #1e283c4d}50%{box-shadow:0 10px #5a463240,0 0 0 22px #ffd7648c,0 16px 30px #1e283c4d}}.mdots{position:absolute;width:160px;display:flex;justify-content:center;gap:6px}.mdot{width:26px;height:26px;border-radius:50%;background:#fff8eccc;box-shadow:0 2px 4px #0003}.mdot.on{background:none;box-shadow:none;transform:scale(1.25)}.intro .veil{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#fff8ec8c,#fff8ec00 60%)}.medal.big{left:50%;top:44%;transform:translate(-50%,-50%);border-width:12px}.ribbon{position:absolute;left:50%;top:calc(44% + 175px);transform:translate(-50%);white-space:nowrap;padding:10px 26px 12px;border-radius:40px;background:var(--cream);border:3px solid #fff;font-weight:900;font-size:clamp(24px,7vw,34px);color:#6a4a32;box-shadow:0 8px 20px #1e283c4d;animation:rib .7s .4s ease-out both}@keyframes rib{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.finale .sky{position:absolute;inset:0}.finale .bl{position:absolute;width:13%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 10px rgba(255,220,230,.7))}.btn.home3{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 8%);transform:translate(-50%)}.btn.again{position:absolute;right:18px;bottom:calc(env(safe-area-inset-bottom) + 18px)}.parents{position:absolute;inset:0;z-index:60;background:#141e2d8c;display:flex;align-items:flex-end;justify-content:center;touch-action:pan-y}.pp{position:relative;width:100%;max-height:92%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--cream);border-radius:28px 28px 0 0;padding:22px 20px calc(env(safe-area-inset-bottom) + 24px);font-size:15px;line-height:1.45;user-select:text;-webkit-user-select:text;touch-action:pan-y}.pp h2{margin:0 0 8px;font-size:24px;font-weight:900}.pp h3{margin:18px 0 8px;font-size:18px;font-weight:900}.pp p{margin:6px 0}.pp .muted{color:#7a6450}.pp .small{font-size:13px;margin-top:16px}.pp-x{position:absolute;right:12px;top:10px;width:44px;height:44px;font-size:32px;line-height:1;color:#7a6450}.sws{display:grid;gap:8px;margin-top:12px}.sw{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:16px;background:#fff;font-weight:800;text-align:left}.sw i{width:48px;height:28px;border-radius:14px;background:#d9cfc0;position:relative;transition:background .2s;flex:none}.sw i:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #00000040}.sw.on i{background:var(--green)}.sw.on i:after{left:23px}.pl-ch{margin:8px 0 12px}.pl-t{font-weight:900;margin-bottom:6px}.pl-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.pl-l{padding:8px 2px 6px;border-radius:14px;background:#fff;font-weight:900;font-size:18px;display:flex;flex-direction:column;align-items:center}.pl-l small{font-size:10px;font-weight:700;color:#8a7460}.pl-l.on{background:#e6f2d8}.pl-reset{margin-top:14px;width:100%;padding:12px;border-radius:16px;background:#f4e1d6;color:#9a4a2e;font-weight:900}#rotate{display:none;position:fixed;inset:0;z-index:100;background:#2e4462;align-items:center;justify-content:center}#rotate .phone{width:70px;height:116px;border:6px solid #fff8ec;border-radius:16px;animation:rot 2.4s ease-in-out infinite}@keyframes rot{0%,20%{transform:rotate(-90deg)}50%,80%{transform:rotate(0)}to{transform:rotate(-90deg)}}@media (orientation: landscape) and (max-height: 500px){#rotate{display:flex}}
