@font-face{font-family:DotGothic16;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/dotgothic.woff2)format("woff2")}:root{--ink:#33304a;--win:#2b2f5e;--paper:#fffef7;--pink:#ff5fa2;--yellow:#ffd23e;--cyan:#2fc0e8}html,body{height:100%;margin:0;overflow:hidden}body{color:var(--paper);-webkit-font-smoothing:none;-webkit-user-select:none;user-select:none;font-family:DotGothic16,Hiragino Maru Gothic ProN,BIZ UDGothic,monospace}#game{touch-action:manipulation;background:#f8ecd9;position:fixed;inset:0;overflow:hidden}#game.shake{animation:.35s linear shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px,4px)}40%{transform:translate(7px,-3px)}60%{transform:translate(-5px,2px)}80%{transform:translate(4px,-2px)}}canvas{image-rendering:pixelated}#wallpaper{z-index:1;position:absolute;inset:0}#windowframe{z-index:2;position:absolute}#shelf{z-index:6;image-rendering:pixelated;background-repeat:repeat-x;position:absolute;left:0;right:0}#floor{z-index:3;image-rendering:pixelated;background-repeat:repeat-x;position:absolute;bottom:0;left:0;right:0}#baseboard{z-index:3;border-top:3px solid var(--ink);background:#c98a4e;position:absolute;left:0;right:0}.item{z-index:10;will-change:transform;position:absolute}.item.wobble{animation:.12s linear infinite wob}@keyframes wob{0%,to{margin-left:0}50%{margin-left:-4px}}.item.pop{animation:.25s steps(3,end) popin}@keyframes popin{0%{transform:scale(.2)}to{transform:scale(1)}}#cat,#bellycat{z-index:12;will-change:transform;position:absolute}.shard{z-index:9;animation:.5s ease-out forwards shardfly;position:absolute}@keyframes shardfly{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy))}}.win{background:var(--win);color:var(--paper);border:3px solid var(--paper);box-shadow:0 0 0 3px var(--win),5px 7px 0 3px #33304a40;border-radius:8px;padding:8px 14px}#hud{z-index:50;pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}#hud .win{letter-spacing:1px;white-space:nowrap;font-size:clamp(14px,3.6vw,19px)}#hud b{color:var(--yellow);font-weight:400}#fx{z-index:45;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bubble{background:var(--paper);color:var(--ink);border:3px solid var(--ink);white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:clamp(13px,3.4vw,17px);animation:1.15s ease-out forwards pop;position:absolute;transform:translate(-50%,-100%);box-shadow:3px 3px #33304a4d}.bubble.love{background:var(--pink);color:var(--paper)}.bubble.bad{background:var(--ink);color:var(--paper);border-color:var(--paper)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-100%)scale(.4)}12%{opacity:1;transform:translate(-50%,-115%)scale(1.08)}20%{transform:translate(-50%,-115%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-160%)}}.heart{z-index:46;font-size:18px;animation:.95s ease-out forwards floatUp;position:absolute}@keyframes floatUp{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:1}to{opacity:0;transform:translate(var(--dx),-70px) scale(1.15)}}#hint{z-index:48;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);white-space:nowrap;pointer-events:none;border-radius:8px;padding:4px 10px;font-size:clamp(13px,3.4vw,17px);animation:.5s ease-in-out infinite alternate hintbob;display:none;position:absolute;transform:translate(-50%,-100%);box-shadow:3px 3px #33304a4d}@keyframes hintbob{0%{margin-top:-6px}to{margin-top:-14px}}.overlay{z-index:100;background:#2b2f5e8c;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.overlay .win{text-align:center;max-width:min(500px,92vw);padding:26px 22px 24px}h1{letter-spacing:1px;text-shadow:3px 3px 0 var(--ink);text-wrap:balance;white-space:nowrap;margin:10px 0 6px;font-size:clamp(25px,6.8vw,44px);font-weight:400}h1 .y{color:var(--yellow)}h1 .p{color:var(--pink)}h1 .paw{vertical-align:middle;font-size:.55em;animation:1s ease-in-out infinite alternate pawwig;display:inline-block}@keyframes pawwig{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.deco{letter-spacing:10px;margin-bottom:4px;font-size:clamp(15px,4vw,20px);animation:1.2s ease-in-out infinite alternate hintbob}#title-screen .win{box-shadow:0 0 0 3px var(--win),0 0 0 7px #ff9ec4,7px 10px 0 7px #33304a40}#pvwrap{display:inline-block;position:relative}#pvwrap .fl{font-size:clamp(16px,4.5vw,24px);animation:1.6s ease-in-out infinite alternate floaty;position:absolute}@keyframes floaty{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.lead{text-wrap:balance;margin:6px 0 14px;font-size:clamp(14px,3.8vw,18px);line-height:1.9}.small{opacity:.85;margin-top:14px;font-size:clamp(12px,3.2vw,14px);line-height:1.8}.btn{letter-spacing:1px;background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);cursor:pointer;border-radius:8px;margin:6px;padding:12px 22px;font-family:inherit;font-size:clamp(16px,4.2vw,20px)}.btn:active{box-shadow:none;transform:translateY(5px)}.btn:focus-visible{outline:3px dashed var(--cyan);outline-offset:3px}.btn.primary{background:var(--pink);color:var(--paper)}.btn .arrow{animation:1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}#result-count{color:var(--yellow);text-shadow:3px 3px 0 var(--ink);margin:6px 0;font-size:clamp(40px,11vw,66px)}#result-rank{color:var(--pink);background:var(--paper);border:3px solid var(--ink);border-radius:6px;margin:2px 0 16px;padding:4px 12px;font-size:clamp(15px,4vw,19px);display:inline-block}#mute{z-index:60;background:var(--win);border:3px solid var(--paper);cursor:pointer;border-radius:8px;width:44px;height:44px;padding:0;font-size:20px;position:absolute;bottom:12px;right:12px}#footer{z-index:40;color:var(--paper);border:2px solid var(--paper);white-space:nowrap;background:#2b2f5ed9;border-radius:6px;padding:4px 10px;font-size:clamp(11px,3vw,13px);text-decoration:none;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}#footer:hover{background:var(--win)}#crt{z-index:120;pointer-events:none;background:repeating-linear-gradient(0deg,#1410320d 0 2px,#0000 2px 4px);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){#hint,.btn .arrow,.item.wobble{animation:none}}
