[hidden]{display:none!important}:root{--paper:#f6f0e4;--card:#fffaf0;--ink:#1d1a17;--accent:#c2412d;--gold:#e8b923;--soft:#e9dfcc;--green:#2f8a4c;--sky:#5b8fc7;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--pad-h:0px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);overscroll-behavior:none;background:#e8f2ea;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);-webkit-overflow-scrolling:touch;touch-action:pan-y;border-radius:18px;width:min(440px,100vw - 24px);max-height:calc(100dvh - 24px);padding:18px 18px 16px;animation:.35s cubic-bezier(.2,1.4,.4,1) cardIn;position:relative;overflow:auto}@keyframes cardIn{0%{opacity:0;transform:translateY(26px)scale(.94)}}.card.wide{width:min(760px,100vw - 20px)}.card.center{text-align:center}.card h2{margin:0 0 8px;font-size:24px}.card h3{margin:16px 0 6px;font-size:18px}.card .lead{margin:0 0 12px;font-size:16px}.lead.small,.small{font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.center{justify-content:center}.row.two>*{flex:1 1 0}.col{flex-direction:column;align-items:stretch;gap:9px;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}button.daily{background:#fdf0c4}button.online{background:#d8ecfb}button.cont{background:#d9f0e0}button small{opacity:.8;font-size:13px;font-weight:700}.closex{z-index:2;width:46px;height:46px;position:absolute;top:10px;right:10px;border-radius:50%!important;padding:0!important}.sheethead{min-height:46px;padding-right:54px;position:relative}.sheethead .closex{top:-4px;right:-4px}.bar2{border:2px solid var(--ink);background:var(--soft);border-radius:8px;height:12px;overflow:hidden}.bar2 i{background:linear-gradient(90deg, var(--accent), var(--gold));width:0;height:100%;transition:width .3s;display:block}.screen{z-index:30;background:#f6f0e4db;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.screen.clear{background:0 0}.round{border:2.5px solid var(--ink);background:var(--card);width:46px;height:46px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;place-items:center;padding:0;font-size:15px;font-weight:900;display:grid}.cornermute{top:calc(10px + var(--safe-t));z-index:31;position:fixed;right:10px}#title{background:linear-gradient(#f6f0e400 0 24%,#f6f0e4f0 48%);align-items:end}.titlewrap{text-align:center;width:min(560px,100vw - 24px);margin-bottom:max(10px, var(--safe-b));flex-direction:column;align-items:center;gap:8px;display:flex}.logo{letter-spacing:1px;text-shadow:3px 3px 0 #fffaf0, 5px 5px 0 var(--ink);margin:0;font-size:clamp(52px,15vw,96px);line-height:.92}.logo span{animation:2.2s ease-in-out infinite alternate logoBob;display:inline-block}.logo span:first-child{color:var(--accent)}.logo span:last-child{color:#1f6fb2;animation:2.4s cubic-bezier(.3,1.6,.5,1) infinite logoDrop}@keyframes logoBob{0%{transform:translateY(0)rotate(-2deg)scale(1)}to{transform:translateY(-6px)rotate(2deg)scale(1.04)}}@keyframes logoDrop{0%,60%{transform:translateY(0)scale(1)}70%{transform:translateY(-14px)scale(.95,1.06)}82%{transform:translateY(0)scale(1.08,.9)}90%{transform:translateY(-3px)scale(.98,1.02)}to{transform:none}}.sub{max-width:480px;margin:0;font-size:16px;font-weight:650}.titlewrap .col{width:min(430px,100%)}.titlewrap .row button{flex:auto;padding:8px 10px}.lvl{margin:0;font-size:14px;font-weight:800}.lvl .xpbar{border:2px solid var(--ink);background:var(--soft);vertical-align:-1px;border-radius:6px;width:120px;height:10px;margin:0 6px;display:inline-block;overflow:hidden}.lvl .xpbar u{background:linear-gradient(90deg,#1f6fb2,#13845e);height:100%;display:block}.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:.85;font-size:13px;font-weight:800;position:fixed}.credit-foot a{background:#fffaf0d9;border-radius:8px;padding:1px 6px;text-decoration:none}body.playing .credit-foot{display:none}.hud{padding:calc(6px + var(--safe-t)) 8px 4px;z-index:10;pointer-events:none;justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.chip{border:2.5px solid var(--ink);min-height:44px;box-shadow:2px 2px 0 var(--ink);white-space:nowrap;background:#fffaf0f0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:1px 10px;font-weight:800;line-height:1.05;display:inline-flex}.chip small{opacity:.7;text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:800}.chip b{font-variant-numeric:tabular-nums;font-size:18px}.chip.score b{min-width:4ch}.chip.bump b{animation:.35s bump;display:inline-block}@keyframes bump{40%{transform:scale(1.3)}}.chip.ants b{color:#6b4b1f}.chip.ants.soon{background:#ffe2c4;animation:.5s infinite alternate pulse}@keyframes pulse{to{transform:scale(1.06)}}#rounds{letter-spacing:2px;font-size:18px}.netbar{left:50%;top:calc(56px + var(--safe-t));z-index:12;color:#fffaf0;white-space:nowrap;pointer-events:none;text-overflow:ellipsis;background:#1d1a17db;border-radius:999px;max-width:calc(100vw - 20px);padding:5px 14px;font-size:14px;font-weight:800;position:fixed;overflow:hidden;transform:translate(-50%)}.coach{z-index:14;left:50%;top:calc(58px + var(--safe-t));border:3px solid var(--ink);width:min(420px,100vw - 20px);box-shadow:4px 4px 0 var(--ink);pointer-events:auto;background:#fffaf0;border-radius:16px;align-items:center;gap:8px;padding:8px 10px;animation:.3s cubic-bezier(.2,1.4,.4,1) cardIn;display:flex;position:fixed;transform:translate(-50%)}.coach p{flex:1;margin:0;font-size:15px;font-weight:750}.coach p b{color:var(--accent)}.coach button{border:2px solid var(--ink);background:var(--soft);border-radius:999px;flex:none;min-height:44px;padding:4px 10px;font-size:13px;font-weight:800}.coach.ok{background:#e2f5e7}@media (width>=1000px) and (aspect-ratio>=4/3){.coach{flex-direction:column;align-items:stretch;width:min(300px,50vw - 300px);top:40%;left:auto;right:16px;transform:none}}.banner{z-index:15;text-align:center;pointer-events:none;position:fixed;top:30%;left:0;right:0}.banner b{color:var(--accent);text-shadow:3px 3px 0 #fffaf0, 5px 5px 0 var(--ink);font-size:clamp(34px,10vw,64px);font-weight:900;display:inline-block}.banner small{text-shadow:2px 2px #fffaf0;font-size:18px;font-weight:800;display:block}.banner.show b{animation:.9s cubic-bezier(.2,1.6,.4,1) bannerIn}@keyframes bannerIn{0%{opacity:0;transform:scale(.3)rotate(-8deg)}60%{opacity:1;transform:scale(1.1)rotate(2deg)}}.count{z-index:16;pointer-events:none;color:#1f6fb2;text-shadow:4px 4px 0 #fffaf0, 7px 7px 0 var(--ink);place-items:center;font-size:clamp(80px,26vw,160px);font-weight:900;display:grid;position:fixed;inset:0}.count.go{color:var(--accent)}.count span{animation:.6s cubic-bezier(.2,1.8,.4,1) countIn;display:inline-block}@keyframes countIn{0%{opacity:0;transform:scale(2.2)}50%{opacity:1}}.keys{left:50%;bottom:calc(10px + var(--safe-b));z-index:9;border:2px solid var(--ink);pointer-events:none;white-space:nowrap;background:#fffaf0e6;border-radius:999px;padding:4px 14px;font-size:14px;font-weight:750;position:fixed;transform:translate(-50%)}.pad{z-index:11;padding:6px max(8px, env(safe-area-inset-left)) calc(8px + var(--safe-b)) max(8px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.pad .cluster{pointer-events:auto;gap:6px;display:flex}.pad button{border:2.5px solid var(--ink);width:clamp(50px,14.6vw,72px);height:clamp(54px,8.4vh,70px);box-shadow:0 4px 0 var(--ink);touch-action:none;background:#fffaf0f5;border-radius:18px;place-items:center;padding:0;font-size:26px;font-weight:900;display:grid}.pad button.on{box-shadow:0 1px 0 var(--ink);background:#fff1c1;transform:translateY(3px)}.pad button.cw{background:#d8ecfb}.pad button.drop{background:#ffe2d9}body.land .pad{align-items:center;padding-top:60px;top:0;bottom:0}body.land .pad .cluster,body.land .pad .cluster:first-child{flex-direction:column}.rungs{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px;margin-top:10px;display:grid}.rung{text-align:center;justify-items:center;gap:2px;position:relative;border-radius:16px!important;min-height:150px!important;padding:8px!important;font-size:14px!important;display:grid!important}.rung img{object-fit:contain;width:auto;max-width:120px;height:82px;animation:1.2s ease-in-out infinite alternate hop}.rung .nm{font-size:14px;line-height:1.15}.rung .n{opacity:.7;font-size:13px;position:absolute;top:6px;left:10px}.rung .s{color:var(--gold);letter-spacing:1px;text-shadow:-1px -1px 0 var(--ink), 1px -1px 0 var(--ink), -1px 1px 0 var(--ink), 1px 1px 0 var(--ink);font-size:18px}.rung .s .off{color:#e1d6c2}.rung.next{animation:1.2s ease-in-out infinite alternate nextGlow;background:#fff1c1!important}.rung.locked img{opacity:.3}.teetag{background:var(--gold);border:1.5px solid var(--ink);vertical-align:1px;border-radius:999px;padding:0 6px;font-size:11px;font-weight:900;display:inline-block}.rung.locked{cursor:default}@keyframes nextGlow{to{box-shadow:0 0 0 4px var(--gold), 2px 2px 0 var(--ink)}}@keyframes hop{0%{transform:translateY(0)scale(1)}to{transform:translateY(-4px)scale(.96,1.05)}}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{min-height:44px;padding:6px 12px}.tabs button.on{background:var(--ink);color:#fffaf0}.vsrow{grid-template-columns:1fr auto 1fr;align-items:end;gap:6px;margin:4px 0 10px;display:grid}.vsrow .side{justify-items:center;gap:4px;display:grid}.vsrow .side img{object-fit:contain;max-width:100%;height:clamp(110px,24vh,190px);animation:1s ease-in-out infinite alternate hop}.vsrow .side:last-child img{animation:1s ease-in-out infinite alternate hopFlip;transform:scaleX(-1)}@keyframes hopFlip{0%{transform:scaleX(-1)translateY(0)}to{transform:scaleX(-1)translateY(-5px)scale(.96,1.05)}}.vsrow .side b{font-size:16px;line-height:1.15}.vsrow .vs{color:var(--accent);text-shadow:2px 2px 0 #fffaf0, 4px 4px 0 var(--ink);align-self:center;font-size:42px;font-weight:900;animation:1s infinite alternate logoBob}.crewline{flex-wrap:wrap;justify-content:center;gap:4px;margin:4px 0;display:flex}.crewline canvas{width:42px;height:42px}.vstee a{border-bottom:2px solid var(--accent);padding:4px 0;font-weight:800;text-decoration:none;display:inline-block}.stars{justify-content:center;gap:8px;margin:6px 0;display:flex}.stars span{color:#e1d6c2;text-shadow:-2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink), 2px 2px 0 var(--ink);font-size:50px;transition:color .2s}.stars span.on{color:var(--gold);animation:.6s cubic-bezier(.2,2,.4,1) starBig}@keyframes starBig{0%{transform:scale(2.4)rotate(-40deg)}}.bigscore{font-variant-numeric:tabular-nums;font-size:40px;font-weight:900}.tally{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin:10px 0;display:grid}.tally div{border:2px solid var(--ink);background:#fff;border-radius:12px;padding:4px 6px;font-size:14px}.tally b{font-size:20px;display:block}.newbest{background:var(--gold);border:2px solid var(--ink);border-radius:999px;padding:2px 12px;font-weight:900;animation:.6s 3 bump;display:inline-block}.reshead{justify-content:center;align-items:flex-end;gap:12px;display:flex}.reshead img{object-fit:contain;width:auto;max-width:42%;height:120px}.reshead img.lose{opacity:.8;transform:rotate(-12deg)}.reshead img.win{animation:.5s ease-in-out infinite alternate hop}.met{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:10px 0;display:grid}.met>div{border:2px solid var(--ink);background:#fff;border-radius:12px;justify-items:center;gap:2px;padding:6px;font-size:13px;font-weight:700;animation:.4s both cardIn;display:grid}.met img{object-fit:contain;width:64px;height:64px}.met a{padding:3px 0;font-size:14px;font-weight:800}.real{text-align:left;background:#fff;border:2px dashed #6a6460;border-radius:14px;margin:14px 0 6px;padding:10px 12px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.real .lbl{letter-spacing:.5px;text-transform:uppercase;color:#6a6460;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.real .row2{align-items:center;gap:10px;display:flex}.real img{object-fit:contain;flex:none;width:56px;height:64px}.real b{font-size:15px;display:block}.real a{color:#1d1a17;border-bottom:2px solid var(--accent);margin:4px 10px 0 0;padding:4px 0;font-size:15px;font-weight:800;text-decoration:none;display:inline-block}.nudge{border:2px solid var(--ink);background:#fff5d6;border-radius:12px;margin:8px 0;padding:6px 10px;font-size:15px;font-weight:750}.share{white-space:pre-wrap;text-align:left;border:2px solid var(--ink);background:#fff;border-radius:12px;margin:10px 0;padding:10px;font-family:ui-monospace,Menlo,monospace;font-size:15px}.medals{justify-content:center;gap:10px;margin:8px 0;display:flex}.medals span{opacity:.25;filter:grayscale();font-size:34px}.medals span.got{opacity:1;filter:none;animation:.6s cubic-bezier(.2,2,.4,1) both starBig}.xpline{margin:6px 0;font-weight:800}.xpline .xpbar{border:2px solid var(--ink);background:var(--soft);vertical-align:-2px;border-radius:7px;width:160px;height:12px;margin:0 6px;display:inline-block;overflow:hidden}.xpline .xpbar u{background:linear-gradient(90deg,#1f6fb2,#13845e);width:0;height:100%;transition:width 1s ease-out;display:block}.unlock{border:2.5px solid var(--ink);background:#e2f5e7;border-radius:14px;margin:8px 0;padding:8px 10px;font-weight:800;animation:.5s both cardIn}.crewgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:8px;display:grid}.crew{border:2.5px solid var(--ink);text-align:left;background:#fff;border-radius:14px;gap:4px;padding:8px;display:grid}.crew b{font-size:16px}.crew.sel{box-shadow:0 0 0 3px var(--gold);background:#fff1c1}.crew.lock{opacity:.6}.crew .crewline{justify-content:flex-start}.crew button{justify-self:start;min-height:44px!important;padding:4px 12px!important;font-size:14px!important}.metgrid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;display:grid}.mcard{border:2px solid var(--ink);text-align:center;background:#fff;border-radius:12px;justify-items:center;gap:2px;padding:6px;font-size:13px;font-weight:700;display:grid}.mcard img{object-fit:contain;width:64px;height:64px}.mcard .q{color:#9a8d75;border:2px dashed #b9ad97;border-radius:12px;place-items:center;width:64px;height:64px;font-size:34px;font-weight:900;display:grid}.mcard .cnt{color:var(--accent);font-weight:900}.mcard a{padding:3px 0;font-size:13px;font-weight:800}.lessons{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px;display:grid}.lesson{text-align:left;gap:1px;border-radius:14px!important;min-height:74px!important;padding:6px 10px!important;font-size:14px!important;display:grid!important}.lesson .n{opacity:.7;font-size:12px}.lesson .s{color:var(--gold);text-shadow:-1px -1px 0 var(--ink), 1px -1px 0 var(--ink), -1px 1px 0 var(--ink), 1px 1px 0 var(--ink);font-size:16px}.lesson .s .off{color:#e1d6c2}.lesson.next{background:#fff1c1!important}.lesson.locked{opacity:.5}.howpage{text-align:center;min-height:300px}.howpage h2{margin-top:4px}.howpage p{max-width:540px;margin:8px auto;font-size:16px}.howpage canvas.demo{border:2.5px solid var(--ink);background:#fffaf0;border-radius:14px;width:min(320px,80vw);height:auto}.howpage .pics{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:8px;margin:10px 0;display:flex}.howpage .pics img{object-fit:contain;width:auto;max-width:90px;height:74px;animation:1s ease-in-out infinite alternate hop}.howpage .kinds{grid-template-columns:repeat(5,1fr);gap:4px;max-width:380px;margin:8px auto;font-size:13px;font-weight:800;display:grid}.howpage .kinds div{justify-items:center;display:grid}.howpage .kinds canvas{width:54px;height:54px}.howpage .keysgrid{text-align:left;grid-template-columns:auto 1fr;gap:4px 12px;max-width:360px;margin:8px auto;font-size:15px;display:grid}.howpage .keysgrid b{text-align:right}.dots{gap:6px;display:inline-flex}.dots i{border:1.5px solid var(--ink);background:#d8ccb6;border-radius:50%;width:10px;height:10px}.dots i.on{background:var(--accent)}.tip{text-align:left;background:#eef6e6;border:2px dashed #6f9a5a;border-radius:12px;align-items:center;gap:10px;margin:8px 0;padding:8px 10px;font-size:15px;display:flex}.tip img{object-fit:contain;flex:none;width:52px;height:52px}.statgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.statgrid div{border:2px solid var(--ink);background:#fff;border-radius:12px;padding:6px 10px;font-size:14px}.statgrid b{font-size:22px;display:block}@media (width<=420px){.chip{padding:1px 7px}.chip b{font-size:16px}.chip small{font-size:10px}.hud{gap:4px;padding-left:4px;padding-right:4px}.card{padding:14px 12px 12px}.rungs{grid-template-columns:repeat(2,1fr)}.rung img{height:64px}.stars span{font-size:42px}.reshead img{height:92px}}
