@font-face{font-family:Marcellus;font-style:normal;font-display:swap;font-weight:400;src:url(./marcellus-latin-400-normal-86dSXJnk.woff2)format("woff2"),url(./marcellus-latin-400-normal-AvMY561b.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(./manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(./manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(./manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(./manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(./manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(./manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}:root{--ink:#3b2e5a;--ink2:#2c2246;--ink3:#4b3d6e;--lilac:#d9cdf0;--mute:#a99cc8;--frost:#f6f4fb;--apricot:#f7b58f;--apricot2:#f7a26b;--silver:#c7ccd6;--level:#b6e04a;--level2:#8fb92c;--title:"Marcellus", Georgia, serif;--text:"Manrope", system-ui, sans-serif;--top:env(safe-area-inset-top,0px);--bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{-webkit-tap-highlight-color:transparent;background:#2c2148;height:100%;margin:0;overflow:hidden}body{font:500 16px/1.45 var(--text);color:var(--frost);-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}svg.piece-svg{stroke:none}.game{position:fixed;inset:0}.stage{position:absolute;inset:0}.stage canvas{display:block}.game.art .shelf,.game.art .cord,.game.art .tip,.game.art .banner,.game.art .compass,.game.art .dust-chip{display:none}.tag-btn{background:var(--frost);min-width:52px;height:50px;color:var(--ink);font:700 16px/1 var(--text);transform-origin:50% -10px;border:0;border-radius:6px 14px 14px 6px;justify-content:center;align-items:center;gap:8px;padding:0 18px 0 26px;display:inline-flex;position:relative;box-shadow:0 3px #2c224659,0 8px 18px #140e2859}.tag-btn:before{content:"";background:#3b2e5a40;border-radius:50%;width:9px;height:9px;margin-top:-4.5px;position:absolute;top:50%;left:9px;box-shadow:inset 0 1px 2px #0000004d}.tag-btn:active:not(:disabled){animation:.5s ease-out sway}.tag-btn:disabled{opacity:.45;cursor:default}.tag-btn.big{height:56px;font:400 19px/1 var(--title);letter-spacing:.02em;padding:0 24px 0 32px}.tag-btn.go{background:var(--level);color:var(--ink2)}.tag-btn.share{background:var(--apricot);color:var(--ink2)}.tag-btn svg{width:22px;height:22px}@keyframes sway{30%{transform:rotate(-4deg)}60%{transform:rotate(2.5deg)}to{transform:rotate(0)}}.round{width:46px;height:46px;color:var(--frost);background:#f6f4fb1a;border:0;border-radius:50%;flex:none;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 1.5px #f6f4fb59}.round:active:not(:disabled){background:#f6f4fb38}.round:disabled{opacity:.35}.round .price,.handle em{background:var(--apricot);min-width:21px;height:21px;color:var(--ink2);font:800 11.5px/21px var(--text);border-radius:11px;padding:0 5px;font-style:normal;position:absolute;top:-6px;right:-6px}.call{animation:1.2s ease-in-out infinite call}@keyframes call{50%{transform:scale(1.08)}}.shelf{z-index:5;padding:0 10px calc(10px + var(--bottom));pointer-events:none;flex-direction:column;align-items:stretch;display:flex;position:absolute;bottom:0;left:0;right:0}.shelf>*{pointer-events:auto}.shelf:has(>.tag-btn){padding-bottom:calc(18px + var(--bottom));flex-direction:row;justify-content:space-between;align-items:flex-end}.rail{background:linear-gradient(#3b2e5aeb,#2c2246f5);border-radius:22px;align-items:center;gap:8px;min-height:76px;padding:8px 10px;display:flex;position:relative;box-shadow:inset 0 1px #f6f4fb2e,0 -2px 16px #140e2859}.basket{background:repeating-linear-gradient(90deg,#f7b58f29 0 6px,#f7b58f12 6px 12px),#1e163480;border-radius:16px;flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:2px 4px;min-width:0;min-height:60px;padding:4px 6px;display:flex;box-shadow:inset 0 2px 6px #00000059,inset 0 0 0 1.5px #f7b58f59}.basket.empty{background:#b6e04a1f;box-shadow:inset 0 0 0 1.5px #b6e04a80}.basket .done{color:var(--level);text-align:center;font-size:14px;font-weight:700}.piece{touch-action:none;background:0 0;border:0;border-radius:12px;place-items:center;min-width:36px;height:50px;padding:0 1px;transition:transform .14s;display:grid}.piece svg{filter:drop-shadow(0 2px 2px #00000059)}.piece.picked{box-shadow:inset 0 0 0 2px var(--level);background:#b6e04a2e;transform:translateY(-8px)scale(1.12)}.home{background:var(--apricot);color:var(--ink2);font:800 13px var(--text);border:0;border-radius:12px;order:-1;align-self:center;margin-bottom:8px;padding:6px 14px}.dust-chip{left:12px;top:calc(12px + var(--top));z-index:6;height:32px;color:var(--frost);font:700 14px var(--text);background:#2c2246b8;border:0;border-radius:16px;align-items:center;gap:6px;padding:0 12px;display:inline-flex;position:absolute;box-shadow:inset 0 0 0 1.5px #f6f4fb33}.lefty .dust-chip{left:auto;right:12px}.dust{background:radial-gradient(circle, #fff 0 18%, var(--apricot) 22% 46%, transparent 50%);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:16px;height:16px;display:inline-block;transform:scale(1.3)}.cord{z-index:6;width:66px;height:calc(64vh + var(--pull,0px));pointer-events:none;flex-direction:column;align-items:center;transition:height .12s;display:flex;position:absolute;top:0;right:8px}.cord.hide{display:none}.lefty .cord{left:8px;right:auto}.cord .line{background:linear-gradient(180deg, #c7ccd61f, var(--silver));flex:1;width:2px}.cord .line.low{background:var(--silver);flex:none;height:24vh}.tag.level{pointer-events:auto;background:var(--frost);width:62px;min-height:60px;color:var(--ink);transform-origin:50% 0;clip-path:polygon(24% 0,76% 0,100% 16%,100% 100%,0 100%,0 16%);border:0;border-radius:6px 6px 11px 11px;flex:none;justify-items:center;gap:1px;margin:2px 0;padding:15px 4px 7px;animation:2.4s ease-in-out hang;display:grid;position:relative;box-shadow:0 4px 12px #140e2866}.tag.level .hole{background:#3b2e5a4d;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:5px;left:50%}.tag.level b{font:400 23px/1.05 var(--title)}.tag.level b.long{font-size:16px}.tag.level b.longer{font-size:12.5px}.tag.level small{color:#6c5f8f;text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}@keyframes hang{15%{transform:rotate(6deg)}35%{transform:rotate(-4deg)}55%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}to{transform:rotate(0)}}.cord .handle{pointer-events:auto;touch-action:none;background:radial-gradient(circle at 40% 30%, #e3f59a 0 12%, var(--level) 45%, var(--level2) 100%);width:54px;height:70px;color:var(--ink2);border:0;border-radius:27px 27px 30px 30px;flex:none;place-items:center;margin-top:-2px;padding:0;display:grid;position:relative;box-shadow:0 6px 16px #140e2873,inset 0 -5px #0000001f}.cord .handle span{font:800 11.5px/1.05 var(--text);letter-spacing:.02em;text-transform:uppercase;text-align:center;width:40px}.cord .handle:not(.ready):not(.steady){background:radial-gradient(circle at 40% 30%, #f3effa 0 12%, var(--lilac) 45%, #a99cc8 100%)}.cord .handle.steady{background:radial-gradient(circle at 40% 30%, #ffe0c8 0 12%, var(--apricot) 45%, var(--apricot2) 100%)}.cord .handle.ready{animation:1.4s ease-in-out infinite call}.cord.shake .handle{animation:.4s ease-in-out 2 shake}.cord.call .handle{animation:1.2s ease-in-out infinite call}@keyframes shake{25%{transform:translate(-4px)rotate(-6deg)}75%{transform:translate(4px)rotate(6deg)}}.compass{left:12px;top:calc(54px + var(--top));z-index:6;width:44px;height:44px;color:var(--frost);background:#2c2246cc;border:0;border-radius:50%;place-items:center;display:none;position:absolute;box-shadow:inset 0 0 0 1.5px #f6f4fb4d}.compass.show{display:grid}.lefty .compass{left:auto;right:12px}.tip{left:50%;top:calc(52px + var(--top));z-index:4;opacity:0;pointer-events:none;text-align:center;width:min(100vw - 100px,440px);transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%,-8px)}.tip.show{opacity:1;transform:translate(-50%)}.tip span{color:var(--ink);background:#f6f4fbf2;border-radius:14px;padding:9px 15px;font-size:14.5px;font-weight:600;line-height:1.35;display:inline-block;box-shadow:0 3px 12px #140e2859}.numbers{left:60px;right:80px;top:calc(110px + var(--top));z-index:4;color:var(--frost);text-shadow:0 0 3px #000;pointer-events:none;font:11px/1.3 ui-monospace,monospace;display:none;position:absolute}.numbers.show{display:block}.banner{z-index:7;min-width:220px;max-width:86vw;color:var(--frost);text-align:center;opacity:0;visibility:hidden;pointer-events:none;background:#2c2246eb;border-radius:18px;justify-items:center;gap:2px;padding:14px 26px 15px;transition:opacity .28s,transform .28s,visibility .28s;display:grid;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)scale(.96);box-shadow:inset 0 0 0 1.5px #f6f4fb33}.banner.show{opacity:1;visibility:visible;transform:translate(-50%,-50%)scale(1)}.banner b{font:400 34px/1.15 var(--title)}.banner small{color:var(--lilac);font-size:14px}.banner small.light{color:var(--apricot)}.banner small.surprise{color:var(--level);font-weight:700}.banner .dots{gap:6px;margin-top:6px;display:flex}.banner .dots i{background:var(--frost);border-radius:50%;width:8px;height:8px;animation:.9s ease-in-out infinite dot}.banner .dots i:nth-child(2){animation-delay:.15s}.banner .dots i:nth-child(3){animation-delay:.3s}@keyframes dot{50%{opacity:.5;transform:translateY(-5px)}}.toast{left:50%;top:calc(52px + var(--top));z-index:8;background:var(--frost);max-width:min(100vw - 100px,460px);color:var(--ink);text-align:center;opacity:0;pointer-events:none;border-radius:14px;padding:10px 16px;font-size:15px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;transform:translate(-50%,-10px);box-shadow:0 4px 14px #140e2866}.toast.show{opacity:1;transform:translate(-50%)}.ghost{z-index:9;pointer-events:none;width:0;height:0;display:none;position:absolute;top:0;left:0}.ghost.show{display:block}.ghost svg{filter:drop-shadow(0 6px 8px #00000073);position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.guide{z-index:12;pointer-events:none;opacity:0;width:0;height:0;transition:opacity .2s;position:absolute;top:0;left:0}.guide.show{opacity:1}.guide .hand{width:46px;height:58px;fill:var(--frost);stroke:var(--ink);stroke-width:2.4px;transform-origin:17px 0;animation:1.1s ease-in-out infinite tap;position:absolute;top:0;left:-17px}.guide .ripple{border:4px solid var(--level);border-radius:50%;width:48px;height:48px;animation:1.1s ease-out infinite ring;position:absolute;top:-24px;left:-24px}.guide .say{white-space:nowrap;background:var(--frost);color:var(--ink);font:800 14px/1.2 var(--text);border-radius:10px;padding:6px 12px;position:absolute;top:64px;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #140e2873}.guide.low .say{top:-98px}.guide .arm{width:0;height:0;position:absolute;top:0;left:0}.guide.low .arm{transform:rotate(180deg)}.guide .say:empty{display:none}@keyframes tap{0%,to{transform:translate(6px,10px)}45%{transform:translate(0)}55%{transform:translate(0)scale(.94)}}@keyframes ring{0%,40%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.3)}}.overlay{z-index:10;background:#140e288c;place-items:start center;padding:46px 16px 18px;display:none;position:absolute;inset:0;overflow:auto}.overlay.show{display:grid}.card{background:linear-gradient(180deg, #fbfaff, var(--frost));width:min(100%,420px);color:var(--ink);text-align:center;transform-origin:50% -60px;border-radius:10px 10px 22px 22px;margin-top:6px;padding:26px 22px 22px;animation:.9s ease-out both swing-in;position:relative;box-shadow:0 18px 44px #0a061880}.card .string{background:var(--silver);width:1.5px;height:54px;position:absolute;top:-52px}.card .string.l{transform-origin:bottom;left:22%;transform:rotate(9deg)}.card .string.r{transform-origin:bottom;right:22%;transform:rotate(-9deg)}@keyframes swing-in{0%{opacity:0;transform:translateY(-40px)rotate(-6deg)}40%{opacity:1;transform:translateY(0)rotate(3deg)}65%{transform:rotate(-1.6deg)}85%{transform:rotate(.7deg)}to{transform:rotate(0)}}.card h2.logo{border:0;margin:0;padding:6px 0 8px}.card h2.logo img{width:min(300px,84%);height:auto;margin:0 auto;display:block}.card h2{font:400 27px/1.15 var(--title);color:var(--ink);border-bottom:1.5px solid #3b2e5a26;margin:4px 0 8px;padding-bottom:10px}.card .sub{color:#6c5f8f;margin:0 0 10px}.card .facts{color:var(--ink3);margin:8px 0;font-weight:700}.card .row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.card .link{color:#6c5f8f;background:0 0;border:0;margin-top:12px;font-size:15px;text-decoration:underline}.card .x{width:40px;height:40px;color:var(--ink);font:700 24px/1 var(--text);background:#3b2e5a14;border:0;border-radius:50%;position:absolute;top:10px;right:10px}.card .small{color:#6c5f8f;margin:14px 0 0;font-size:13px}.card .small a{color:inherit}.card .earned{font:800 22px var(--text);color:var(--ink);align-items:center;gap:8px;margin:6px 0 0;display:inline-flex}.card .markline{color:#5d8a12;margin:4px 0;font-weight:800}.soon{background:var(--apricot);color:var(--ink2);border-radius:8px;margin-left:6px;padding:1px 7px;font-size:12px}.card .list{text-align:left;gap:6px;margin-top:10px;display:grid}.card .item{color:var(--ink);background:#3b2e5a0f;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-weight:700;display:flex;box-shadow:inset 0 0 0 1px #3b2e5a14}.card .item b{color:#8f84ab;font-size:14px;display:inline-flex}.card .item b.on{color:#5d8a12}.card .item:disabled{opacity:.6}.card .lab{align-items:center;gap:8px;margin-top:12px;display:flex}.card .lab input{border:2px solid var(--lilac);width:110px;height:44px;color:var(--ink);font:700 16px var(--text);background:#fff;border-radius:10px;padding:0 10px}.card .lab span{color:#6c5f8f;font-size:12px}.card .doc{text-align:left;font-size:15px}.card .doc h3{font:400 18px var(--title);margin:14px 0 4px}.card .doc a{color:var(--ink3)}.medal{width:120px;height:70px;margin:2px auto 6px;position:relative}.medal:before{content:"";background:var(--silver);border-radius:3px;height:6px;position:absolute;top:34px;left:6px;right:6px;box-shadow:0 2px #3b2e5a40}.medal:after{content:"";background:var(--silver);width:2px;height:34px;position:absolute;top:0;left:50%}.medal i{width:46px;height:24px;box-shadow:inset 0 0 0 2px var(--level2);background:#b6e04a59;border-radius:12px;margin-left:-23px;position:absolute;top:24px;left:50%}.medal i:after{content:"";background:var(--level);width:14px;height:14px;box-shadow:0 0 10px var(--level);border-radius:50%;margin-left:-7px;position:absolute;top:5px;left:50%}.medal.mark i:before{content:"";width:26px;height:26px;box-shadow:0 0 0 2px var(--ink3);background:radial-gradient(circle at 35% 35%,#fff6dd,#fbe4ba 55%,#e8c88f);border-radius:50%;position:absolute;top:18px;right:-52px}.stars{flex-wrap:wrap;justify-content:center;gap:5px;max-width:300px;margin:10px auto;display:flex}.stars i,.sstars i{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#3b2e5a2e;width:10px;height:10px}.stars i.on,.sstars i.on{background:#e9b04f}.stars i.new{animation:.8s ease-out .5s both twinkle}@keyframes twinkle{0%{opacity:0;transform:scale(2.4)rotate(45deg)}to{opacity:1;transform:scale(1)rotate(0)}}.lesson{text-align:left;align-items:center;gap:14px;margin:12px 0;display:flex}.lesson h3{font:400 19px var(--title);color:var(--ink);margin:0 0 2px}.lesson p{color:#4f4370;margin:0;font-size:14.5px}.pic{background:linear-gradient(#5b4a8a,#3b2e5a);border-radius:14px;flex:none;place-items:center;width:70px;height:70px;display:grid;position:relative;overflow:hidden}.pic.pic-pips{justify-content:center;align-items:center;gap:2px;display:flex}.pic-cord:before{content:"";background:var(--silver);width:2px;height:40px;position:absolute;top:0;left:50%}.pic-cord:after{content:"";background:var(--level);border-radius:11px 11px 12px 12px;width:22px;height:26px;margin-left:-10px;position:absolute;top:36px;left:50%}.pic-level:before{content:"";background:var(--silver);border-radius:2px;height:4px;position:absolute;top:33px;left:10px;right:10px}.pic-level:after{content:"";width:18px;height:14px;box-shadow:0 0 0 2px var(--level);border-radius:7px;position:absolute;top:28px;left:26px}.pic-near i{background:var(--silver);height:3px;position:absolute;top:24px;left:8px;right:8px}.pic-near i:before{content:"";background:var(--silver);width:2px;height:14px;position:absolute;top:-14px;left:50%}.pic-near i:after{content:"";background:#fff0a6;border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:4px}.pic-near b{background:#efe6ff;border-radius:50%;width:18px;height:18px;position:absolute;top:30px;left:39px}.pic-nest:before{content:"";background:var(--silver);height:3px;box-shadow:-8px 26px 0 0 var(--silver);position:absolute;top:18px;left:10px;right:10px}.pic-nest:after{content:"";background:#fff0a6;border-radius:50%;width:10px;height:10px;position:absolute;top:50px;left:6px;box-shadow:22px 0 #fff0a6,44px -26px 0 4px #efe6ff}.pic-tip:before{content:"";background:var(--silver);height:3px;position:absolute;top:34px;left:10px;right:10px;transform:rotate(14deg)}.pic-tip:after{content:"";border:7px solid #0000;border-top:11px solid var(--apricot);width:0;height:0;position:absolute;top:44px;right:12px}.dome-list{text-align:left;gap:6px;margin-top:8px;display:grid}.sky-row{background:#3b2e5a0f;border-radius:12px;padding:9px 12px}.sky-row.done{box-shadow:inset 0 0 0 1.5px #e9b04f}.sky-row .sname{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sky-row .sname b{font:400 17px var(--title)}.sky-row .sname small{color:#6c5f8f;white-space:nowrap;font-size:12px}.sky-row .sstars{gap:3px;margin:6px 0 2px;display:flex}.sky-row .sstars i{flex:1;height:10px}@media (width>=700px){.shelf{width:640px;left:50%;right:auto;transform:translate(-50%)}.cord{height:60vh;right:6vw}.lefty .cord{left:6vw}.tip,.toast{top:calc(14px + var(--top))}}@media (width<=360px){.piece{min-width:32px}.round{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.call,.guide .hand,.guide .ripple,.banner .dots i,.stars i.new,.cord .handle.ready,.tag.level,.card{animation:none}}.stage:after{content:"";pointer-events:none;background:radial-gradient(130% 95% at 50% 45%,#0000 60%,#0e0a1c66 100%);position:absolute;inset:0}
