@font-face{font-family:Gluten;font-style:normal;font-display:swap;font-weight:500;src:url(./gluten-latin-500-normal-BeT30sVh.woff2)format("woff2"),url(./gluten-latin-500-normal-B8aeIrTW.woff)format("woff")}@font-face{font-family:Gluten;font-style:normal;font-display:swap;font-weight:700;src:url(./gluten-latin-700-normal-BYSpJqpR.woff2)format("woff2"),url(./gluten-latin-700-normal-DBIJafzw.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(./dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(./dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(./dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff")}:root{--berry:#c4163c;--berry-dk:#9c0f2e;--snow:#f7f9fc;--frost:#cfe9f4;--ice:#a9d3e6;--pine:#14302b;--gold:#ffcf70;--amber:#f29a1d;--cool:#2f8fc4;--wood:#8a5a3b;--wood-lt:#b07a52;--title:"Gluten", "Trebuchet MS", system-ui, sans-serif;--text:"DM Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:#dfeef6;height:100%;margin:0;overflow:hidden}.game{font:500 15px/1.35 var(--text);color:var(--pine);-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}button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.pebble{min-width:58px;height:54px;color:var(--pine);font:700 11px var(--text);background:linear-gradient(160deg,#fffffff5,#cfe9f4eb 70%);border:2px solid #fffffff2;border-radius:22px 20px 24px 19px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 10px;transition:transform .11s;display:inline-flex;position:relative;box-shadow:0 3px #14302b59,inset 0 -3px #a9d3e6e6,inset 0 2px #fff}.pebble svg{flex:none;width:20px;height:20px}.pebble:active:not(:disabled){transform:translateY(3px)scale(.97);box-shadow:0 1px #14302b59,inset 0 -1px #a9d3e6e6}.pebble:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffffe6 0 18%,#0000 19%) 20% 30%/10px 10px,radial-gradient(circle,#ffffffe6 0 18%,#0000 19%) 70% 60%/12px 12px;position:absolute;inset:-6px}.pebble:active:not(:disabled):after{animation:.38s ease-out puff}@keyframes puff{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.35)}}.pebble:disabled{opacity:.5}.pebble.small{flex-direction:row;gap:6px;min-width:0;height:38px;padding:0 12px;font-size:13px}.pebble.wide{height:52px;font:700 21px/1 var(--title);background:var(--berry);color:#fff;box-shadow:0 4px 0 var(--berry-dk), inset 0 2px 0 #ffffff59;border-color:#fff;flex-direction:row;gap:8px;padding:0 22px}.pebble.wide:active{background:var(--berry-dk)}.pebble.wide.share{background:var(--cool);box-shadow:0 4px #1f6a93,inset 0 2px #ffffff59}.pebble .price{background:var(--gold);border:2px solid var(--pine);font:700 10px var(--text);border-radius:999px;padding:0 5px;position:absolute;top:-9px;right:-6px}.shore{left:50%;bottom:max(6px, env(safe-area-inset-bottom));z-index:3;pointer-events:none;width:min(100vw,520px);height:168px;position:absolute;transform:translate(-50%)}.shore>*{pointer-events:auto;position:absolute}.shore .walk{pointer-events:none;width:100%;height:92px;bottom:0;left:0;right:0;overflow:visible}.shore .walk path{fill:none;stroke:var(--wood);stroke-width:30px;stroke-linecap:round}.shore .walk path.planks{stroke:var(--wood-lt);stroke-width:22px;stroke-dasharray:3 13}.shore .s1{bottom:58px;left:2%}.shore .s2{bottom:22px;left:24%}.shore .s4{bottom:10px;left:50%;transform:translate(-50%)}.shore .s4:active:not(:disabled){transform:translate(-50%)translateY(3px)scale(.97)}.shore .s5{bottom:22px;right:24%}.lantern{background:radial-gradient(circle at 50% 42%, #fffaf0 0 40%, #ffe7b0 60%, var(--gold));border:3px solid #e3a83b;border-radius:22px 22px 28px 28px;flex-direction:column;justify-content:center;align-items:center;width:74px;height:74px;line-height:1;display:flex;bottom:86px;right:2%;box-shadow:0 0 22px #ffcf70bf,0 3px #14302b4d}.lantern:after{content:"";background:var(--pine);border-radius:0 0 3px 3px;width:5px;height:58px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.lantern:before{content:"";background:var(--pine);border-radius:2px;width:4px;height:14px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.lantern b{font:700 30px/1 var(--title)}.lantern small{font:700 10px var(--text);letter-spacing:.08em;text-transform:uppercase;opacity:.75}.lantern .hats{flex-wrap:wrap;justify-content:center;gap:2px;max-width:64px;margin-top:3px;display:flex}.lantern .hats b{border:1.5px solid var(--pine);background:0 0;border-radius:8px 8px 1px 1px;width:8px;height:6px}.lantern .hats b.on{background:var(--berry)}.lantern .hats b.pop{animation:.5s ease-out hatpop}@keyframes hatpop{0%{transform:scale(.4)}60%{transform:scale(1.8)}to{transform:scale(1)}}.lantern.low{border-color:var(--berry);background:radial-gradient(circle at 50% 42%,#fff0f2 0 40%,#ffc2cc 62%,#ff8ea0);animation:1s ease-in-out infinite lowpulse}.lantern.low b{color:var(--berry)}@keyframes lowpulse{50%{box-shadow:0 0 30px #c4163c99,0 3px #14302b4d}}.friend-bar{left:max(10px, env(safe-area-inset-left));top:max(10px, env(safe-area-inset-top));z-index:4;position:absolute}.compass{right:max(10px, env(safe-area-inset-right));top:max(10px, env(safe-area-inset-top));z-index:4;background:var(--snow);opacity:0;pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;width:42px;height:42px;transition:opacity .2s;display:grid;position:absolute;box-shadow:0 2px #14302b4d}.compass.show{opacity:1;pointer-events:auto}.compass svg{width:24px;height:24px;color:var(--pine)}.tip{left:50%;top:max(10px, env(safe-area-inset-top));z-index:3;text-align:center;pointer-events:none;opacity:0;width:max-content;max-width:min(86vw,440px);transition:opacity .25s;position:absolute;transform:translate(-50%)}.tip.show{opacity:1}.tip span{background:var(--pine);color:#fff;font:600 14px/1.3 var(--text);border-radius:14px;padding:6px 14px;display:inline-block;box-shadow:0 3px #14302b4d}.banner{z-index:6;text-align:center;background:var(--snow);min-width:220px;max-width:88vw;box-shadow:0 4px 0 var(--ice), 0 8px 20px #14302b2e;opacity:0;pointer-events:none;border:2px solid #fff;border-radius:22px;padding:10px 22px 12px;transition:opacity .25s,transform .25s;position:absolute;top:max(52px,7vh);left:50%;transform:translate(-50%,-8px)}.banner.show{opacity:1;transform:translate(-50%)}.banner b{font:700 32px/1.1 var(--title);color:var(--berry);display:block}.banner small{font:500 13px/1.4 var(--text);display:block}.banner small.surprise{color:var(--cool);margin-top:4px;font-weight:700}.banner small.light{opacity:.8;margin-top:4px}.banner svg{vertical-align:-2px;width:13px;height:13px}.banner .dots{gap:6px;margin-top:6px;display:inline-flex}.banner .dots i{background:var(--frost);border:2px solid var(--cool);border-radius:50%;width:10px;height:10px;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%{opacity:.3}}.toast{left:50%;bottom:max(150px, calc(env(safe-area-inset-bottom) + 150px));z-index:7;background:var(--pine);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%,16px)}.toast.show{opacity:1;transform:translate(-50%)}.numbers{z-index:2;color:var(--pine);text-shadow:0 1px 1px #fff;text-align:center;pointer-events:none;font:600 10px/1.3 ui-monospace,monospace;display:none;position:absolute;top:2px;left:8px;right:8px}.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 .trail{background:#f29a1d8c;border-radius:50%;width:20px;height:20px;animation:1.6s infinite trail;position:absolute;top:-10px;left:-10px}.guide .arm{animation:1.2s infinite tapme;position:absolute;top:4px;left:-10px}.guide.drag .arm{animation:1.6s ease-in-out infinite dragme}.guide .hand{width:40px;height:50px;fill:var(--berry);stroke:var(--pine);stroke-width:2.4px;stroke-linejoin:round}.guide .say{white-space:nowrap;background:var(--pine);color:#fff;border-radius:12px;padding:4px 12px;font-weight:700;position:absolute;top:62px;left:50%;transform:translate(-50%)}.guide .say:empty{display:none}.guide .stop{border:2px solid var(--pine);width:28px;height:28px;color:var(--pine);font:700 13px/1 var(--text);box-shadow:0 2px 0 var(--pine);pointer-events:none;background:#fff;border-radius:50%;padding:0;position:absolute;top:-36px;left:24px}.guide.show .stop{pointer-events:auto}.guide.low .stop{top:14px}.guide.right .stop{left:-50px}.guide.low .say{top:-64px}@keyframes tapme{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}@keyframes dragme{0%,15%{transform:translate(0)}70%,to{transform:translate(var(--dx,0), var(--dy,0))}}@keyframes trail{0%,15%{opacity:.9;transform:translate(0)scale(.6)}70%{transform:translate(var(--dx,0), var(--dy,0)) scale(1);opacity:.7}to{transform:translate(var(--dx,0), var(--dy,0)) scale(1.3);opacity:0}}.overlay{z-index:10;opacity:0;pointer-events:none;background:#14302b59;place-items:center;padding:16px;transition:opacity .18s;display:grid;position:absolute;inset:0}.overlay.show{opacity:1;pointer-events:auto}.pane{width:min(92vw,440px);animation:.32s ease-out slide;position:relative}@keyframes slide{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.pane .frost{z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 50%, transparent 0 var(--thaw,0%), #f0f8fcf7 calc(var(--thaw,0%) + 12%)), repeating-linear-gradient(35deg, #ffffff80 0 2px, transparent 2px 9px);border-radius:26px;animation:.7s ease-out .12s forwards thaw;position:absolute;inset:0}@property --thaw{syntax:"<percentage>";inherits:false;initial-value:0%}@keyframes thaw{0%{--thaw:0%;opacity:1}85%{opacity:1}to{--thaw:90%;opacity:0}}@media (prefers-reduced-motion:reduce){.pane .frost{display:none}.pane{animation:none}}.card{text-align:center;background:linear-gradient(170deg, #fff, var(--snow) 45%, #eaf5fa);max-height:84vh;box-shadow:0 0 0 2px var(--ice), 0 10px 30px #14302b4d, inset 0 0 0 1px #a9d3e699;border:3px solid #fff;border-radius:26px;padding:22px 22px 20px;position:relative;overflow:auto}.card h2{font:700 28px/1.1 var(--title);color:var(--berry);margin:2px 0 6px}.card h2.logo img{width:min(250px,70%);height:auto}.card h3{font:700 18px var(--title);margin:0 0 2px}.card p{margin:6px 0;font-weight:500}.card .sub{opacity:.8}.card .x{border:2px solid var(--ice);width:36px;height:36px;font:700 20px/1 var(--text);background:#fff;border-radius:50%;position:absolute;top:12px;right:14px}.card .row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:12px;display:flex}.card .link{background:0 0;border:0;margin-top:10px;font-weight:600;text-decoration:underline}.card .small{opacity:.75;font-size:12px}.card .small a{color:var(--berry)}.card .facts{font-weight:600}.card .earned{font:700 22px var(--title)}.card .earned svg{vertical-align:-5px;width:24px;height:24px;color:var(--cool)}.card .markline{border:2px dashed var(--ice);background:#fff;border-radius:14px;padding:6px 10px}.card .markline.badge{border:2px solid var(--gold);background:#fff7e2}.lesson{text-align:left;align-items:center;gap:12px;margin:10px 0;display:flex}.lesson .pic{flex-wrap:wrap;flex:0 0 78px;justify-content:center;align-items:center;gap:2px;display:flex}.lesson .pic svg{width:36px;height:36px}.lesson p{margin:0;font-size:14px;font-weight:500}.mini-lantern{background:radial-gradient(circle, #fffaf0 40%, var(--gold));width:44px;height:44px;font:700 20px var(--title);border:2px solid #e3a83b;border-radius:50%;place-items:center;display:inline-grid}.stars{gap:2px;display:inline-flex}.stars svg{width:22px;height:22px}.stars.big svg{width:48px;height:48px;animation:.4s backwards pop}.stars.big svg:nth-child(2){animation-delay:.18s}.stars.big svg: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:#14302b26;border-radius:50%;width:10px;height:10px}.trail i.on{background:var(--gold);box-shadow:inset 0 0 0 1.5px var(--pine)}.trail i.new{background:var(--berry);transform:scale(1.3)}.list{text-align:left;flex-direction:column;gap:6px;margin-top:10px;display:flex}.list .item{border:2px solid var(--frost);background:#fff;border-radius:16px;align-items:center;gap:10px;padding:10px 14px;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:700;display:flex}.list .item b.on{opacity:1;color:var(--berry)}.list .item b svg{width:18px;height:18px}.lab{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.lab input{border:2px solid var(--ice);width:100px;font:inherit;border-radius:12px;padding:8px}.doc{text-align:left;font-size:14px;font-weight:500}.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(--frost);background:#fff;border-radius:16px;padding:8px}.stop.done{background:#fff7e2}.sname small{opacity:.7;font-size:12px;display:block}.sname svg{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(--ice);font:700 10px var(--text);background:#fff;border-radius:50%;padding:0}.dot:disabled{opacity:.3}.dot.s1{background:#fff1cf}.dot.s2{background:#ffe39b}.dot.s3{background:var(--gold)}.dot.here{outline:3px solid var(--berry)}.art .shore,.art .compass,.art .tip,.art .banner,.art .toast,.art .guide,.art .numbers,.art .friend-bar{display:none}@media (width>=900px){.shore{width:620px;height:180px}.lantern{width:86px;height:86px}.pebble{min-width:66px;height:58px}}
