[hidden]{display:none!important}:root{--paper:#f6f0e4;--card:#fffaf0;--ink:#1d1a17;--accent:#c2412d;--gold:#e8b923;--soft:#e9dfcc;--green:#2f8a4c;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--band:0px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);overscroll-behavior:none;background:#bfe6f5;margin:0;font:16px/1.35 ui-rounded,Trebuchet MS,system-ui,sans-serif;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}canvas#game{width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:var(--ink);cursor:pointer;touch-action:manipulation}a{color:var(--ink)}.card{background:var(--card);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:18px;width:min(440px,100vw - 24px);max-height:calc(100dvh - 24px);padding:18px 18px 16px;position:relative;overflow:auto}.card.wide{width:min(640px,100vw - 20px)}.card h2{margin:0 0 8px;font-size:24px}.card .lead{margin:0 0 12px;font-size:15px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.center{justify-content:center}.col{flex-direction:column;align-items:stretch;gap:10px;display:flex}.screen button{border:2.5px solid var(--ink);background:var(--card);min-height:46px;box-shadow:2px 2px 0 var(--ink);border-radius:999px;padding:8px 16px;font-size:16px;font-weight:800;transition:transform .1s}.screen button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.screen button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#fff}button.big{min-height:58px;font-size:22px}.closex{width:44px;height:44px;position:absolute;top:10px;right:10px;border-radius:50%!important;padding:0!important}.bar{border:2px solid var(--ink);background:var(--soft);border-radius:8px;height:12px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--accent), var(--gold));width:0;height:100%;transition:width .3s;display:block}.screen{z-index:30;background:#f6f0e4e6;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.screen.clear{background:0 0}#loading .card{text-align:center}.round{border:2.5px solid var(--ink);background:var(--card);width:44px;height:44px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;place-items:center;padding:0;font-size:16px;font-weight:900;display:grid}#title{background:linear-gradient(#f6f0e400 0 38%,#f6f0e4d9 62%);align-items:end}.titlewrap{text-align:center;width:min(640px,100vw - 24px);margin-bottom:max(18px, var(--safe-b));flex-direction:column;align-items:center;gap:10px;display:flex}.logo{letter-spacing:1px;text-shadow:3px 3px 0 #fffaf0, 5px 5px 0 var(--ink);margin:0;font-size:clamp(48px,14vw,88px);line-height:.95}.logo span:first-child{color:var(--accent)}.logo span{animation:2.2s ease-in-out infinite alternate logoBob;display:inline-block}.logo span:last-child{color:var(--green);animation-delay:-1.1s}@keyframes logoBob{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-7px)rotate(2deg)}}.sub{max-width:460px;margin:0;font-size:16px;font-weight:650}.titlewrap .col{width:min(340px,100%)}.titlewrap .row{justify-content:center}.titlewrap .row button{flex:auto;padding:8px 10px}.savenote{opacity:.85;min-height:1em;margin:0;font-size:14px}.credit{font-weight:800}.backlink{font-size:15px;font-weight:700}.credit-foot{right:8px;bottom:calc(4px + var(--safe-b));z-index:5;opacity:.75;font-size:12px;font-weight:800;position:fixed}.credit-foot a{text-decoration:none}body.playing .credit-foot{display:none}.hud{padding:calc(6px + var(--safe-t)) 8px 6px;z-index:10;pointer-events:none;align-items:center;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.lvname{border:2.5px solid var(--ink);white-space:nowrap;text-overflow:ellipsis;background:#fffaf0eb;border-radius:999px;flex:0 auto;min-width:0;padding:4px 12px;font-size:14px;font-weight:700;overflow:hidden}.lvname b{color:var(--accent)}.stats{align-items:center;gap:6px;margin-left:auto;display:flex}.stat{border:2.5px solid var(--ink);font-variant-numeric:tabular-nums;background:#fffaf0eb;border-radius:999px;align-items:center;gap:4px;min-height:32px;padding:3px 9px;font-size:14px;font-weight:800;display:flex}.stat i{font-size:13px;font-style:normal}.stat img{height:18px}.stat.buddy{padding:2px 6px}.stat.buddy img{opacity:.35;height:26px;transition:opacity .3s,transform .3s}.stat.buddy.got img{opacity:1;animation:.5s cubic-bezier(.2,1.6,.4,1) hopIn}#timer{text-align:right;min-width:3.2em}@media (width<=520px){.lvname span{display:none}.stat{padding:3px 7px}#timer{min-width:2.6em}}.coach{left:50%;top:calc(54px + var(--safe-t));z-index:11;background:var(--card);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:16px;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 20px);padding:8px 8px 8px 14px;animation:.35s cubic-bezier(.2,1.5,.4,1) coachIn;display:flex;position:fixed;transform:translate(-50%)}.coach p{margin:0;font-size:16px;font-weight:800}.coach p kbd{font:inherit;background:var(--soft);border:2px solid var(--ink);border-radius:6px;padding:0 5px}.coach button{border:2px solid var(--ink);background:var(--soft);white-space:nowrap;border-radius:999px;min-height:34px;padding:2px 10px;font-size:13px;font-weight:800}@keyframes coachIn{0%{opacity:0;transform:translate(-50%)translateY(-14px)scale(.9)}}.banner{text-align:center;z-index:12;pointer-events:none;position:fixed;top:30%;left:0;right:0}.banner b{color:#fffaf0;text-shadow:3px 3px 0 var(--ink), -2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink);font-size:clamp(34px,10vw,64px);display:block}.banner small{background:var(--card);border:2.5px solid var(--ink);border-radius:999px;margin-top:6px;padding:4px 14px;font-size:17px;font-weight:800;display:inline-block}.banner.show{animation:1.3s both bannerIn}@keyframes bannerIn{0%{opacity:0;transform:scale(.4)}18%{opacity:1;transform:scale(1.12)}28%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.pad{height:calc(var(--band) + var(--safe-b));padding:10px 14px calc(10px + var(--safe-b));z-index:9;background:linear-gradient(#1d1a1700,#1d1a1747 30%,#1d1a1761);border-top:3px solid #1d1a178c;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.stick{width:min(46vw,200px);height:calc(var(--band) - 22px);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);touch-action:none;background:#fffaf0e0;border-radius:26px;position:relative}.stick .ar{color:var(--ink);opacity:.75;pointer-events:none;font-size:26px;font-weight:900;position:absolute}.stick .ar.l{font-size:34px;top:50%;left:12px;transform:translateY(-50%)}.stick .ar.r{font-size:34px;top:50%;right:12px;transform:translateY(-50%)}.stick .ar.u{opacity:.5;font-size:18px;top:4px;left:50%;transform:translate(-50%)}.stick .ar.d{opacity:.5;font-size:18px;bottom:4px;left:50%;transform:translate(-50%)}.stick .ar.on{opacity:1;color:var(--accent)}.stick i{background:var(--ink);opacity:0;pointer-events:none;border-radius:50%;width:46px;height:46px;transition:opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stick.held i{opacity:.25}.btns{align-items:flex-end;gap:12px;display:flex;position:relative}.btns button{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);touch-action:none;border-radius:50%;padding:0;font-weight:900}.btns .jump{background:var(--accent);color:#fff;width:92px;height:92px;font-size:17px}.btns .dash{background:var(--gold);width:72px;height:72px;margin-bottom:26px;font-size:14px}.btns button.on{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)scale(.95)}.btns .dash.spent{opacity:.45}@media (height<=560px) and (orientation:landscape){.btns .jump{width:78px;height:78px}.btns .dash{width:62px;height:62px;margin-bottom:18px}}.map{place-items:initial;background:linear-gradient(#fdf3dc,#e9dfcc);flex-direction:column;padding:0;display:flex}.maptop{padding:calc(8px + var(--safe-t)) 10px 8px;border-bottom:3px solid var(--ink);background:var(--card);align-items:center;gap:8px;display:flex}.totals{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;font-size:14px;font-weight:800;display:flex}.totals span{background:var(--soft);border:2px solid var(--ink);white-space:nowrap;border-radius:999px;padding:2px 9px}.mapscroll{-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:1;padding:6px 10px 20px;overflow:hidden auto}.world{border:3px solid var(--ink);max-width:720px;box-shadow:4px 4px 0 var(--ink);border-radius:22px;margin:10px auto 18px;position:relative;overflow:hidden}.world.garden{background:linear-gradient(#bfe6f5,#e6f3d0 60%,#a8d27a)}.world.caves{color:#fffaf0;background:linear-gradient(#2a2238,#4a3b5c)}.world.night{color:#fffaf0;background:linear-gradient(#0f1633,#3b3f7a)}.world h3{z-index:2;margin:0;padding:12px 14px 0;font-size:22px;position:relative}.world .blurb{z-index:2;margin:2px 14px 6px;font-size:14px;font-weight:650;position:relative}.world .deco{pointer-events:none;opacity:.9;position:absolute}.world.locked .nodes{filter:none}.nodes{z-index:2;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 8px;padding:8px 12px 16px;display:grid;position:relative}.node{aspect-ratio:1/1.08;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;position:relative;border:3px solid var(--ink)!important;background:var(--card)!important;color:var(--ink)!important;border-radius:18px!important;min-height:0!important;padding:2px!important}.node b{font-size:20px;line-height:1}.node small{font-size:12px;font-weight:800;line-height:1.1}.node .medal{font-size:20px;position:absolute;top:-9px;right:-7px}.node img{filter:drop-shadow(1px 1px #00000040);height:clamp(34px,5vw,52px);position:absolute;bottom:-8px;left:-8px}.node.locked{opacity:.5}.node.next{animation:1.1s ease-in-out infinite alternate nodePulse;background:#ffe9a8!important}.node.boss{border-radius:50%!important}@keyframes nodePulse{0%{transform:scale(1)}to{transform:scale(1.07)}}.mapbar{padding:8px 10px calc(10px + var(--safe-b));border-top:3px solid var(--ink);background:var(--card);flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.mapbar button{flex:auto;max-width:220px;padding:8px 10px}.mapbar .daily{background:#e3dcf6}@media (width<=420px){.nodes{gap:10px 6px;padding:6px 8px 14px}.node b{font-size:18px}.node small{font-size:11px}}.howpage{text-align:center;min-height:300px}.howpage h2{margin-top:4px}.howpage .pics{justify-content:center;align-items:flex-end;gap:14px;height:120px;margin:8px 0 10px;display:flex}.howpage .pics img{object-fit:contain;max-width:30%;max-height:110px;animation:1s ease-in-out infinite alternate bob}.howpage .pics img:nth-child(2){animation-delay:-.35s}.howpage .pics img:nth-child(3){animation-delay:-.7s}.howpage p{margin:6px 0;font-size:16px}.howpage kbd{font:inherit;background:var(--soft);border:2px solid var(--ink);border-radius:6px;padding:0 5px;font-weight:800}.dots{gap:6px;display:flex}.dots i{border:2px solid var(--ink);border-radius:50%;width:10px;height:10px}.dots i.on{background:var(--ink)}@keyframes bob{0%{transform:translateY(0)rotate(-3deg)}to{transform:translateY(-8px)rotate(3deg)}}@keyframes hopIn{0%{opacity:0;transform:scale(.3)translateY(20px)}}.sheetcard{flex-direction:column;width:min(720px,100vw - 16px);height:min(86dvh,820px);padding:14px 12px 12px;display:flex}.sheethead{align-items:center;padding-right:48px;display:flex}.sheethead h2{margin:0}.sheetbody{touch-action:pan-y;flex:1;margin-top:8px;overflow-y:auto}.sheetbody .lead{margin:0 0 10px;font-size:15px}.grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.cardlet{border:2.5px solid var(--ink);text-align:center;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;display:flex}.cardlet img{object-fit:contain;max-width:100%;height:84px}.cardlet b{font-size:13px;line-height:1.15}.cardlet small{opacity:.8;font-size:12px}.cardlet a{font-size:13px;font-weight:800}.cardlet .q{background:var(--soft);color:#9b907e;border-radius:12px;place-items:center;width:84px;height:84px;font-size:40px;font-weight:900;display:grid}.cardlet.tee{background:#fff6e0}.cardlet.pick{cursor:pointer}.cardlet.pick.sel{outline:4px solid var(--accent);outline-offset:1px}.sec{margin:14px 2px 6px;font-size:17px}.shop-link{background:var(--accent);border:2px solid var(--ink);border-radius:999px;padding:2px 9px;text-decoration:none;display:inline-block;color:#fff!important}.donecard{text-align:center}.donecard h2{margin-bottom:2px;font-size:28px}.donehead{justify-content:center;align-items:flex-end;gap:12px;height:130px;display:flex;position:relative}.donehead img{object-fit:contain;max-width:40%;max-height:120px;animation:.6s cubic-bezier(.2,1.6,.4,1) both hopIn}.donehead img+img{animation-delay:.15s}.numbers{flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0;display:flex}.numbers div{background:var(--soft);border:2.5px solid var(--ink);border-radius:12px;min-width:84px;padding:5px 12px}.numbers b{font-variant-numeric:tabular-nums;font-size:22px;display:block}.numbers small{font-size:13px;font-weight:700}.medals{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0;display:flex}.medals div{border:2.5px solid var(--ink);opacity:.4;background:#fff;border-radius:12px;width:70px;padding:4px 2px}.medals div span{font-size:26px;display:block}.medals div small{font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.medals div.got{opacity:1;background:#fff3c4;animation:.5s cubic-bezier(.2,1.6,.4,1) both hopIn}.rescue{border:2.5px dashed var(--ink);text-align:left;background:#fff;border-radius:14px;justify-content:center;align-items:center;gap:10px;max-width:460px;margin:8px auto;padding:8px 10px;display:flex}.rescue img{object-fit:contain;max-width:90px;height:72px}.rescue p{margin:0 0 4px;font-size:15px}.rescue .links{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.share{white-space:pre-wrap;background:var(--soft);border:2px solid var(--ink);text-align:left;-webkit-user-select:text;user-select:text;border-radius:10px;max-width:360px;margin:8px auto;padding:8px;font-size:15px}#donebtns{margin-top:10px}#arcade-kit{margin-top:14px}.wipe{z-index:20;pointer-events:none;background:var(--ink);position:fixed;inset:0}
