@font-face{font-family:Sniglet;font-style:normal;font-display:swap;font-weight:400;src:url(./sniglet-latin-400-normal-D30bKTdt.woff2)format("woff2"),url(./sniglet-latin-400-normal-DesDcgKt.woff)format("woff")}@font-face{font-family:Sniglet;font-style:normal;font-display:swap;font-weight:800;src:url(./sniglet-latin-800-normal-Db1o7iA-.woff2)format("woff2"),url(./sniglet-latin-800-normal-g3yqKLdc.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(./nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--coral:#ff5e5b;--coral-dk:#d63f3d;--aqua:#22d3c5;--aqua-dk:#129c92;--pearl:#f6f3fa;--ink:#0f2350;--sand:#f7e3b5;--lemon:#ffc93c;--title:"Sniglet", system-ui, sans-serif;--text:"Nunito", system-ui, sans-serif;--scallop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 60'%3E%3Cpath d='M32 57 7 25C7 11 18 3 32 3s25 8 25 22z' fill='%23f6f3fa' stroke='%230f2350' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M32 56 14 9M32 56 23 5M32 56V3M32 56l9-51M32 56l18-47M32 56 8 20M32 56l24-36' stroke='%23e3d8f5' stroke-width='2'/%3E%3Cpath d='M26 57h12l-2 3h-8z' fill='%23ff5e5b' stroke='%230f2350' stroke-width='2'/%3E%3C/svg%3E");--scallop-coral:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 60'%3E%3Cpath d='M32 57 7 25C7 11 18 3 32 3s25 8 25 22z' fill='%23ff5e5b' stroke='%230f2350' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M32 56 14 9M32 56 23 5M32 56V3M32 56l9-51M32 56l18-47M32 56 8 20M32 56l24-36' stroke='%23ff8f8c' stroke-width='2'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{background:#2cc8d6;height:100%;margin:0;overflow:hidden}.game{font:700 15px/1.35 var(--text);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;position:fixed;inset:0}.stage{position:absolute;inset:0}.stage canvas{display:block}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}.shell-btn{background:var(--scallop) center / contain no-repeat;border:0;place-items:center;width:58px;height:56px;padding:6px 0 12px;transition:transform .12s;display:grid;position:relative}.shell-btn svg{width:22px;height:22px}.shell-btn:active:not(:disabled){transform:scale(.9)rotate(-4deg)}.shell-btn:disabled{opacity:.45}.shell-btn.small{width:46px;height:44px;padding:3px 0 9px}.shell-btn.small svg{width:18px;height:18px}.shell-btn.wide{background:radial-gradient(circle at 10px 0, transparent 9px, var(--coral) 10px) 0 0 / 20px 100% repeat-x;color:#fff;width:auto;min-width:132px;height:auto;font:400 20px/1 var(--title);box-shadow:0 4px 0 var(--ink);border-radius:0 0 22px 22px;justify-content:center;align-items:center;gap:8px;padding:12px 22px 11px;display:inline-flex}.shell-btn.wide.share{background:radial-gradient(circle at 10px 0, transparent 9px, var(--aqua-dk) 10px) 0 0 / 20px 100% repeat-x}.shell-btn.wide svg{width:20px;height:20px}.corner{left:max(8px, env(safe-area-inset-left));top:max(8px, env(safe-area-inset-top));z-index:4;align-items:center;gap:6px;display:flex;position:absolute}.pearls{border:2px solid var(--ink);background:var(--pearl);height:30px;font:400 16px var(--title);border-radius:999px;align-items:center;gap:4px;padding:0 10px 0 4px;display:flex}.pearls svg,.pearl{vertical-align:-5px;width:22px;height:22px}.corner .home{border:2px solid var(--ink);background:var(--lemon);border-radius:999px;height:30px;padding:0 12px}.faces{left:50%;top:max(8px, env(safe-area-inset-top));z-index:3;text-align:center;pointer-events:none;position:absolute;transform:translate(-50%)}.row-faces{border:2px solid var(--ink);box-shadow:0 3px 0 var(--coral);background:#f6f3faeb;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:2px;max-width:calc(100vw - 220px);padding:4px 10px 2px;display:inline-flex}.face svg{opacity:.55;width:28px;height:28px;transition:opacity .2s;display:block}.face.on svg{opacity:1}.face.on{background:radial-gradient(circle,#ffc93cbf 0 45%,#0000 70%);border-radius:50%}.face.pop{animation:.5s ease-out facepop}@keyframes facepop{0%{transform:scale(.6)}60%{transform:scale(1.3)}to{transform:scale(1)}}.faces small{font:700 12px var(--text);color:#fff;text-shadow:0 1px 2px #0f2350b3;margin-top:3px;display:block}.tube-wrap{left:max(8px, env(safe-area-inset-left));z-index:3;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:52%;transform:translateY(-50%)}.tube{background:linear-gradient(90deg,#ffffff59,#ffffff1f 40%,#ffffff4d);border:3px solid #fff;border-radius:22px;flex-direction:column;align-items:center;gap:2px;width:42px;padding:4px 0 6px;display:flex;box-shadow:0 0 0 2px #0f23508c}.tube b{font:400 22px/1 var(--title);color:#fff;text-shadow:0 2px 0 var(--ink)}.tube small{font:800 10px var(--text);color:#fff;text-shadow:0 1px 1px var(--ink)}.bubbles{flex-direction:column;gap:3px;display:flex}.bubbles i{border:2px solid #ffffff73;border-radius:50%;width:17px;height:17px;transition:transform .25s,opacity .25s}.bubbles i.on{background:radial-gradient(circle at 35% 30%, #fff 0 18%, #b6fff6 30%, var(--aqua) 85%);border-color:#fff}.tube.low{border-color:var(--coral);animation:1s ease-in-out infinite lowpulse}.tube.low b{color:var(--lemon)}.tube.low .bubbles i.on{background:radial-gradient(circle at 35% 30%, #fff 0 18%, #ffc0be 30%, var(--coral) 85%)}@keyframes lowpulse{50%{transform:scale(1.05)}}.level-shell{background:var(--scallop-coral) center / contain no-repeat;color:#fff;border:0;flex-direction:column;justify-content:center;align-items:center;width:56px;height:54px;padding:6px 0 14px;line-height:1;display:flex}.level-shell span{font:800 9px var(--text);text-transform:uppercase;letter-spacing:.04em}.level-shell b{font:400 17px/1 var(--title);text-shadow:0 1px 0 var(--ink)}.level-shell b.long{font-size:13px}.level-shell b.longer{font-size:10px}.tools{right:max(8px, env(safe-area-inset-right));z-index:3;flex-direction:column;gap:14px;display:flex;position:absolute;top:52%;transform:translateY(-50%)}.tools.hide{display:none}.shell-btn.tool .lbl{font:800 11px var(--text);color:#fff;text-shadow:0 1px 2px var(--ink), 0 0 2px var(--ink);white-space:nowrap;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)}.shell-btn .price{background:var(--lemon);border:2px solid var(--ink);font:800 10px var(--text);color:var(--ink);border-radius:999px;padding:1px 5px;position:absolute;top:-4px;right:-6px}.compass{right:max(10px, env(safe-area-inset-right));top:max(10px, env(safe-area-inset-top));z-index:4;border:2px solid var(--ink);background:var(--pearl);opacity:0;pointer-events:none;border-radius:50%;place-items:center;width:40px;height:40px;transition:opacity .2s;display:grid;position:absolute}.compass.show{opacity:1;pointer-events:auto}.compass svg{width:24px;height:24px;transform:rotate(var(--heading,0deg));color:var(--coral)}.tip{z-index:3;text-align:center;pointer-events:none;opacity:0;width:max-content;max-width:min(78vw,420px);transition:opacity .25s;position:absolute;left:50%;transform:translate(-50%)}.tip.show{opacity:1}.tip span{background:var(--ink);color:#fff;font:700 14px/1.3 var(--text);border-radius:12px;padding:5px 12px;display:inline-block}.banner{z-index:6;text-align:center;background:var(--pearl);border:3px solid var(--ink);min-width:220px;max-width:88vw;box-shadow:0 5px 0 var(--coral);opacity:0;pointer-events:none;border-radius:26px 26px 34px 34px;padding:12px 22px 14px;transition:opacity .25s,transform .25s;position:absolute;bottom:max(64px,9vh);left:50%;transform:translate(-50%)scale(.9)}.banner.show{opacity:1;transform:translate(-50%)scale(1)}.banner b{font:400 34px/1.1 var(--title);display:block}.banner small{font:700 13px/1.4 var(--text);display:block}.banner small.surprise{color:var(--coral-dk);margin-top:4px}.banner small.light{opacity:.8;margin-top:4px}.banner .star{vertical-align:-2px;width:13px;height:13px}.banner .dots{gap:6px;margin-top:6px;display:inline-flex}.banner .dots i{background:var(--aqua);border-radius:50%;width:9px;height:9px;animation:.9s infinite dot}.banner .dots i:nth-child(2){animation-delay:.15s}.banner .dots i:nth-child(3){animation-delay:.3s}@keyframes dot{50%{transform:translateY(-5px)}}.toast{left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:7;background:var(--ink);color:#fff;text-align:center;opacity:0;pointer-events:none;border-radius:14px;max-width:min(84vw,460px);padding:8px 14px;transition:opacity .2s,transform .2s;position:absolute;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.numbers{z-index:2;color:#fff;text-shadow:0 1px 1px #000;text-align:center;font:600 10px/1.3 ui-monospace,monospace;display:none;position:absolute;bottom:2px;left:70px;right:70px}.numbers.show{display:block}.guide{z-index:9;pointer-events:none;opacity:0;transition:opacity .2s;position:absolute;top:0;left:0}.guide.show{opacity:1}.guide .ripple{border:3px solid var(--lemon);border-radius:50%;width:44px;height:44px;animation:1.2s infinite ripple;position:absolute;top:-22px;left:-22px}.guide .arm{animation:1.2s infinite tapme;position:absolute;top:6px;left:-8px}.guide .hand{fill:#fff;width:40px;height:50px;stroke:var(--ink);stroke-width:2.4px;stroke-linejoin:round}.guide .say{white-space:nowrap;background:var(--coral);color:#fff;border:2px solid var(--ink);border-radius:999px;padding:4px 11px;font-weight:800;position:absolute;top:62px;left:50%;transform:translate(-50%)}.guide .say:empty{display:none}.guide.low .say{top:-64px}.guide.low .arm{top:-58px;transform:rotate(180deg)}.guide.drag .arm{animation:1.6s infinite dragme}.guide.drag .ripple{display:none}@keyframes ripple{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}@keyframes tapme{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}@keyframes dragme{0%{opacity:0;transform:translate(-60px)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(60px)}}.overlay{z-index:10;opacity:0;pointer-events:none;background:#0f23506b;place-items:center;padding:16px;transition:opacity .2s;display:grid;position:absolute;inset:0}.overlay.show{opacity:1;pointer-events:auto}.clam{width:min(92vw,440px);margin-top:40px;position:relative}.clam .lid{z-index:0;border:3px solid var(--ink);background:repeating-conic-gradient(from -90deg at 50% 100%, var(--coral) 0 7deg, #ff8784 7deg 14deg);transform-origin:50% 100%;border-bottom:0;border-radius:50% 50% 0 0/100% 100% 0 0;height:64px;animation:.56s cubic-bezier(.2,.9,.3,1.2) lid;position:absolute;top:-44px;left:4%;right:4%}.card{z-index:1;text-align:center;background:radial-gradient(120% 60% at 50% 0, #fff, var(--pearl) 60%, #ece5f7);border:3px solid var(--ink);max-height:84vh;box-shadow:0 6px 0 var(--coral-dk);transform-origin:50% 0;border-radius:18px 18px 44px 44px;padding:20px 20px 18px;animation:.52s cubic-bezier(.2,.9,.3,1.1) open;position:relative;overflow:auto}@keyframes lid{0%{transform:translateY(54px)scaleY(.4)}60%{transform:translateY(-6px)rotateX(18deg)}to{transform:none}}@keyframes open{0%{opacity:0;transform:scaleY(.08)}40%{opacity:1}to{transform:none}}.card h2{font:400 28px/1.1 var(--title);margin:2px 0 6px}.card h2.logo img{width:min(260px,70%);height:auto}.card h3{font:400 18px var(--title);margin:0 0 2px}.card p{margin:6px 0;font-weight:600}.card .sub{opacity:.8}.card .x{border:2px solid var(--ink);width:34px;height:34px;font:800 20px/1 var(--text);background:#fff;border-radius:50%;position:absolute;top:8px;right:10px}.card .row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.card .link{background:0 0;border:0;margin-top:10px;font-weight:700;text-decoration:underline}.card .small{opacity:.75;font-size:12px}.card .small a{color:var(--coral-dk)}.card .facts{font-weight:700}.card .earned{font:400 22px var(--title)}.card .markline{border:2px dashed var(--aqua-dk);background:#fff;border-radius:12px;padding:6px 10px}.card .markline.badge{border:2px solid var(--lemon);background:#fff7dc}.lesson{text-align:left;align-items:center;gap:12px;margin:10px 0;display:flex}.lesson .pic{flex-wrap:wrap;flex:0 0 74px;justify-content:center;align-items:center;gap:2px;display:flex}.lesson .pic svg{width:30px;height:30px}.lesson p{margin:0;font-size:14px;font-weight:600}.mini-tube{border:2px solid var(--aqua-dk);border-radius:12px;flex-direction:column;gap:3px;padding:5px 7px;display:inline-flex}.mini-tube i{background:radial-gradient(circle at 35% 30%, #fff 0 18%, #b6fff6 30%, var(--aqua) 85%);border-radius:50%;width:13px;height:13px}.stars{gap:2px;display:inline-flex}.star{fill:#0f235026;stroke:#0f235066;width:22px;height:22px}.star.on{fill:var(--lemon);stroke:var(--ink)}.stars.big .star{width:48px;height:48px}.stars.big .star.on{animation:.4s backwards pop}.stars.big .star:nth-child(2){animation-delay:.18s}.stars.big .star:nth-child(3){animation-delay:.36s}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.trail{justify-content:center;gap:3px;margin:8px 0;display:flex}.trail i{background:#0f235026;border-radius:50%;width:10px;height:10px}.trail i.on{background:var(--aqua)}.trail i.new{background:var(--coral);transform:scale(1.3)}.list{text-align:left;flex-direction:column;gap:6px;margin-top:10px;display:flex}.list .item{border:2px solid var(--ink);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.list .item:disabled{opacity:.55}.list .item svg{flex:none;width:20px;height:20px}.list .item span{flex:1}.list .item b{opacity:.6;align-items:center;gap:3px;font-size:13px;font-weight:800;display:flex}.list .item b.on{opacity:1;color:var(--coral-dk)}.list .item b svg{width:18px;height:18px}.lab{justify-content:center;align-items:center;gap:8px;margin-top:10px;display:flex}.lab input{border:2px solid var(--ink);width:100px;font:inherit;border-radius:10px;padding:8px}.doc{text-align:left;font-size:14px;font-weight:600}.doc h3{margin-top:12px}.map-list{text-align:left;flex-direction:column;gap:10px;margin-top:8px;display:flex}.stop{border:2px solid var(--ink);background:#fff;border-radius:14px;padding:8px}.stop.done{background:#e9fffb}.sname small{opacity:.7;font-size:12px;display:block}.sname .star{vertical-align:-1px;width:12px;height:12px}.dots{grid-template-columns:repeat(10,1fr);gap:4px;margin-top:6px;display:grid}.dot{aspect-ratio:1;border:2px solid var(--ink);font:800 10px var(--text);background:#fff;border-radius:50%;padding:0}.dot:disabled{opacity:.3}.dot.s1{background:#ffe3a3}.dot.s2{background:#ffd166}.dot.s3{background:var(--lemon)}.dot.here{outline:3px solid var(--coral)}.art .corner,.art .faces,.art .tube-wrap,.art .tools,.art .compass,.art .tip,.art .banner,.art .toast,.art .guide,.art .numbers{display:none}@media (width>=900px){.shell-btn.tool{width:66px;height:63px}.shell-btn.tool svg{width:26px;height:26px}.tube{width:48px}.bubbles i{width:20px;height:20px}.face svg{width:34px;height:34px}}
