:root{--pink:#ffd6e7;--pink-deep:#ff9ebb;--rose:#b0457a;--lavender:#e6dcff;--mint:#cdefe3;--sky:#d4eaff;--cream:#fff8fb;--ink:#4a3f55;--sub:#8a7f95}*{box-sizing:border-box}body{background:linear-gradient(180deg, #fff0f6 0%, var(--cream) 45%, #f4f0ff 100%);min-height:100vh;color:var(--ink);margin:0;font-family:"M PLUS Rounded 1c",Hiragino Maru Gothic ProN,Yu Gothic UI,sans-serif;line-height:1.7;overflow-x:hidden}.sky{z-index:-1;pointer-events:none;position:fixed;inset:0}.sky span{opacity:.7;background:#fff;border-radius:40px;width:180px;height:56px;animation:38s linear infinite drift;display:block;position:absolute}.sky span:before,.sky span:after{content:"";background:#fff;border-radius:50%;position:absolute}.sky span:before{width:76px;height:76px;top:-38px;left:30px}.sky span:after{width:56px;height:56px;top:-24px;left:92px}.sky .c1{top:18%;left:-200px}.sky .c2{animation-duration:52s;animation-delay:-20s;top:52%;left:-200px;transform:scale(.7)}.sky .c3{animation-duration:44s;animation-delay:-34s;top:80%;left:-200px;transform:scale(.55)}@keyframes drift{to{left:calc(100% + 200px)}}.top{max-width:1040px;margin:0 auto;padding:14px 20px}.brand{color:var(--ink);background:#ffffffb3;border:2px solid #0000;border-radius:30px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-family:inherit;font-size:17px;font-weight:800;line-height:1;display:inline-flex}.brand:hover,.brand[aria-expanded=true]{border-color:var(--pink);background:#fff}.brand img{border-radius:50%}.caret{color:var(--rose);font-size:12px}main{max-width:1040px;margin:0 auto;padding:0 20px 40px}.hero{justify-content:center;align-items:center;gap:28px;padding:20px 0 36px;display:flex}.mascot{flex:none;width:260px;animation:3.4s ease-in-out infinite float;overflow:visible}.m-wave{transform-origin:198px 114px;animation:1.8s ease-in-out infinite wave}.m-spark{transform-origin:50%;transform-box:fill-box;animation:2.4s ease-in-out infinite twinkle}.m-spark2{animation-delay:-1.2s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wave{0%,to{transform:rotate(0)}50%{transform:rotate(-22deg)}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.6)}}.hello{max-width:460px}.bubble{background:#fff;border-radius:20px;margin:0 0 18px;padding:14px 18px;font-size:15px;position:relative;box-shadow:0 6px 18px #b0457a1a}.bubble:before{content:"";border:8px solid #0000;border-left:0;border-right:12px solid #fff;position:absolute;top:26px;left:-12px}.bubble b{color:var(--rose)}h1{letter-spacing:.01em;background:linear-gradient(90deg,#ff7fa6,#a98bff);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:44px;font-weight:800;line-height:1.15}.sub{color:var(--sub);margin:8px 0 0;font-size:16px}.apps h2{text-align:center;margin:0 0 20px;font-size:22px}.apps h2 span{background:#fff;border-radius:20px;padding:4px 22px;display:inline-block;box-shadow:0 4px 12px #b0457a14}.cards{grid-template-columns:repeat(auto-fit,minmax(300px,380px));justify-content:center;gap:20px;display:grid}.card{background:linear-gradient(160deg, var(--tint) 0%, #fff 55%);color:inherit;border:2px solid #fff;border-radius:24px;flex-direction:column;gap:10px;padding:20px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 8px 22px #5a4a6314}.card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #5a4a6324}.card-top{align-items:center;gap:14px;display:flex}.card-top img{border-radius:18px;flex:none;box-shadow:0 4px 10px #5a4a631a}.card h3{margin:0;font-size:21px}.card-desc{color:var(--sub);margin:2px 0 0;font-size:14px}.card-long{margin:0;font-size:14px}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tags li{color:var(--rose);background:#fff;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:700}.play{background:var(--pink-deep);color:#fff;border-radius:20px;align-self:flex-end;margin-top:auto;padding:8px 18px;font-size:15px;font-weight:800}.card:hover .play{background:#ff7fa6}.note{text-align:center;color:var(--sub);margin:22px 0 0;font-size:13px}footer{text-align:center;color:var(--sub);padding:24px 20px 32px;font-size:12px}@media (width<=720px){.hero{text-align:center;flex-direction:column;gap:6px;padding-top:4px}.mascot{width:200px}.bubble:before{border:8px solid #0000;border-top:0;border-bottom:12px solid #fff;margin-left:-8px;top:-12px;left:50%}h1{font-size:34px}.cards{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.mascot,.m-wave,.m-spark,.sky span{animation:none}}
