@font-face{font-family:Schoolbell;font-style:normal;font-display:swap;font-weight:400;src:url(./schoolbell-latin-400-normal-D_Z2-wWK.woff2)format("woff2"),url(./schoolbell-latin-400-normal-C8qtHTDx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#2a1f3d;--gold:#f7c948;--ink:#1d1d24;--paper:#fbf7ec;--dim:#ffffff8c}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);color:#fff;min-height:100%}body{background-color:var(--bg);image-rendering:pixelated;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-size:144px 144px;font-family:Schoolbell,cursive}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.app{flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:6px 16px 18px;display:flex}.top{justify-content:space-between;align-items:center;width:100%;max-width:640px;display:flex}.brand{text-align:center}h1{letter-spacing:2px;font-size:30px;font-weight:400;line-height:1.1}h1 span{color:var(--gold)}.sub{color:var(--gold);letter-spacing:1px;min-height:20px;font-size:16px}.icon{place-items:center;width:40px;height:40px;font-size:30px;display:grid}.icon:hover,.daynav button:hover:not(:disabled){color:var(--gold)}.bars{align-items:flex-end;gap:3px;height:20px;display:flex}.bars i{background:currentColor;border-radius:1px;width:5px;transform:rotate(-3deg)}.bars i:first-child{height:10px}.bars i:nth-child(2){height:20px}.bars i:nth-child(3){height:14px}.daynav{justify-content:space-between;align-items:center;width:100%;max-width:600px;margin:2px 0 4px;font-size:18px;display:flex}.daynav button:disabled{opacity:.2;cursor:default}#dayinfo{color:var(--dim);font-size:16px}.boardwrap{touch-action:manipulation;position:relative}#board{image-rendering:pixelated;cursor:pointer;border-radius:4px;display:block;box-shadow:0 6px #00000040}#fx{pointer-events:none;position:absolute;inset:0;overflow:hidden}.loading{color:var(--gold);background:#2a1f3dcc;place-items:center;font-size:22px;display:grid;position:absolute;inset:0}.loading[hidden]{display:none}.pop{color:#fff;text-shadow:0 2px #00000073;white-space:nowrap;font-size:22px;animation:.9s ease-out forwards pop;position:absolute;transform:translate(-50%,-50%)}.pop.gold{color:var(--gold)}.pop.bad{color:#ff7a6b}.zz{color:#fff;text-shadow:0 2px #0006;font-size:18px;animation:2.4s ease-out infinite zz;position:absolute}@keyframes pop{0%{opacity:0;transform:translate(-50%,-20%)scale(.6)}20%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}to{opacity:0;transform:translate(-50%,-160%)scale(1)}}@keyframes zz{0%{opacity:0;transform:translate(0)rotate(-8deg)}30%{opacity:1}to{opacity:0;transform:translate(14px,-30px)rotate(10deg)}}.hud{white-space:nowrap;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:6px;width:100%;max-width:600px;margin-top:10px;font-size:22px;display:grid}#score{text-align:right}#catstate{color:var(--dim);font-size:17px}#catstate.asleep{color:var(--gold)}.bump{animation:.26s ease-out bump;display:inline-block}@keyframes bump{40%{transform:scale(1.25)}}.actions{gap:14px;margin-top:12px;display:flex}.btn{color:var(--ink);background:var(--paper);clip-path:polygon(1% 4%,99% 0,100% 94%,2% 100%);padding:6px 22px;font-size:22px;transition:transform .1s,filter .15s}.btn:nth-child(2){clip-path:polygon(0 0,98% 5%,100% 100%,3% 95%)}.btn:hover:not(:disabled){transform:rotate(-1.5deg)scale(1.04)}.btn:active:not(:disabled){transform:scale(.96)}.btn.gold{background:var(--gold)}.btn:disabled{opacity:.35;cursor:default}.btn.icon2{padding:6px 14px}.btn.icon2.off{opacity:.6;text-decoration:line-through}.shake{animation:.3s shake}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.banner{text-align:center;max-width:460px;color:var(--ink);background:var(--gold);clip-path:polygon(0 6%,100% 0,99% 100%,1% 94%);margin:14px 0 0;padding:8px 16px;font-size:20px}.howto{color:#ffffffd9;max-width:560px;margin:30px auto 50px;padding:0 20px;font-size:19px;line-height:1.45}.howto h2{color:var(--gold);margin-bottom:8px;font-size:26px;font-weight:400}.howto p{margin-bottom:10px}.howto b{color:#fff;font-weight:400;-webkit-text-decoration:underline wavy #f7c94899;text-decoration:underline wavy #f7c94899}.small{color:var(--dim);font-size:16px}.modal{z-index:20;background:#120c1ebf;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.card{background:var(--paper);width:min(400px,100%);max-height:92svh;color:var(--ink);text-align:center;clip-path:polygon(0 1%,100% 0,99% 99%,1% 100%);padding:22px 22px 20px;animation:.26s cubic-bezier(.2,1.4,.5,1) cardin;position:relative;overflow:auto}@keyframes cardin{0%{opacity:0;transform:scale(.85)rotate(-2deg)}}.card h3{margin-bottom:6px;font-size:28px;font-weight:400}.card p{color:#3b3b46;margin-bottom:10px;font-size:18px;line-height:1.4}.card .close{z-index:2;color:var(--ink);width:36px;height:36px;font-size:26px;position:absolute;top:4px;right:8px}.card .hero{clip-path:polygon(0 3%,100% 0,99% 97%,1% 100%);background:#2b7a46;justify-content:center;align-items:center;gap:10px;margin:-4px -4px 14px;padding:10px;display:flex}.card .hero canvas{width:56px;height:56px;image-rendering:pixelated}.card .btn{margin:4px 6px}.card .btn.dark{background:var(--ink);color:#fff}.big{margin:6px 0;font-size:46px;line-height:1}.big small{color:#6b6b78;font-size:22px}.stars{letter-spacing:6px;margin:4px 0 8px;font-size:40px}.stars span{color:#d9d3c2;display:inline-block}.stars span.on{color:var(--gold);text-shadow:0 2px #c99a1a;animation:.42s cubic-bezier(.2,1.6,.5,1) backwards star}@keyframes star{0%{transform:scale(0)rotate(-60deg)}}.statrow{justify-content:space-around;margin:12px 0;display:flex}.statrow div{font-size:30px;line-height:1}.statrow small{color:#6b6b78;margin-top:4px;font-size:14px;display:block}.count{color:#6b6b78;margin-top:8px;font-size:18px}.toast{background:var(--paper);color:var(--ink);z-index:30;clip-path:polygon(0 4%,100% 0,99% 100%,1% 96%);pointer-events:none;padding:8px 18px;font-size:19px;transition:transform .25s;position:fixed;top:18px;left:50%;transform:translate(-50%,calc(-100% - 30px))}.toast.on{transform:translate(-50%)}@media (width<=400px){h1{font-size:26px}.hud{font-size:17px}#catstate{font-size:14px}.btn{padding:6px 16px;font-size:20px}}.daynav[hidden]{display:none}@media (orientation:landscape) and (height<=500px){.howto{display:none}.app{padding-top:0}h1{font-size:22px}.sub{font-size:14px}.hud{margin-top:4px}.actions{margin-top:6px}}@media (width<=400px){.hud{grid-template-columns:1fr 1fr;row-gap:0}#catstate{text-align:center;grid-area:2/1/auto/3}}@media (orientation:landscape) and (height<=500px){.app{grid-template-columns:auto minmax(220px,300px);place-content:center;column-gap:20px;padding:8px 16px;display:grid}.app>*{grid-column:2}.boardwrap{grid-area:1/1/span 6}.hud{grid-template-columns:1fr 1fr}#catstate{text-align:center;grid-area:2/1/auto/3}}.linkbtn{color:var(--gold);border-bottom:2px dashed #f7c94880;margin-top:12px;padding:2px 4px;font-size:19px}.linkbtn:hover{color:#fff}.linkbtn[hidden]{display:none}.scrollhint{color:var(--dim);margin-top:10px;font-size:16px;text-decoration:none}.clip{text-align:center;margin:8px auto 18px}#demo{width:min(100%,380px);image-rendering:pixelated;border-radius:4px;box-shadow:0 6px #00000040}#democap{min-height:2.9em;color:var(--gold);margin-top:8px;font-size:19px}.global{margin:4px 0 10px}.chart{border-bottom:2px solid #d9d3c2;align-items:flex-end;gap:3px;height:70px;padding:0 4px;display:flex}.chart i{background:#d9d3c2;border-radius:2px 2px 0 0;flex:1;animation:.5s ease-out backwards grow}.chart i.me{background:var(--gold);box-shadow:inset 0 0 0 2px #c99a1a}@keyframes grow{0%{height:0}}.chartlab{color:#6b6b78;justify-content:space-between;padding:2px 4px 0;font-size:14px;display:flex}.small2{color:#3b3b46;margin-top:6px;font-size:17px}.small2 b{color:#c99a1a;font-size:20px;font-weight:400}
