@import "https://fonts.googleapis.com/css2?family=Nunito:wght@500;700;800;900&display=swap";:root{color:#263442;font-synthesis:none;background:#eaf6fc;font-family:Nunito,ui-rounded,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;overflow:hidden}body{touch-action:none}button{font:inherit;cursor:pointer;color:inherit;border:0}.app-shell{background:radial-gradient(circle at 50% 20%,#fff 0,#eaf6fc 68%);place-items:center;min-height:100dvh;padding:0 14px;display:grid}.game-frame{aspect-ratio:390/844;background:#f5fbff;border-radius:28px;width:min(100%,480px);height:min(100dvh,860px);position:relative;overflow:hidden;box-shadow:0 24px 70px #69a5c529}.ambient{filter:blur(1px);opacity:.5;border-radius:50%;position:absolute}.ambient-a{background:#d7effb;width:120px;height:120px;top:170px;right:-48px}.ambient-b{background:#fff1df;width:100px;height:100px;bottom:120px;left:-45px}.home-screen,.how-screen{text-align:center;flex-direction:column;align-items:center;height:100%;padding:84px 30px 28px;display:flex;position:relative}.brand{letter-spacing:-3px;z-index:1;font-size:57px;font-weight:900;line-height:.83}.brand-drop{color:#3f8ef7;position:relative}.brand-dot{color:#ffbe5c;font-size:19px;position:absolute;top:16px;right:-12px}.brand p{letter-spacing:2px;color:#71899a;margin:23px 0 0;font-size:11px;font-weight:800}.brand i{color:#ffbe5c;font-style:normal}.demo{color:#324a5f;width:235px;height:190px;margin:24px auto 18px;position:relative}.demo span{font-size:35px;line-height:.4;position:absolute}.demo span:first-child{top:20px;left:22px}.demo span:nth-child(2){color:#65798a;top:67px;right:20px}.demo span:nth-child(3){color:#f28c72;top:91px;left:97px}.demo b{color:#3f8ef7;font-size:40px;position:absolute;bottom:28px;left:103px}.demo small{color:#92b4c8;font-size:13px;font-weight:900;position:absolute;bottom:0;left:73px}.falling{color:#324a5f;opacity:.12;font-size:30px;animation:5s linear infinite fall;position:absolute}.f1{top:-40px;left:10%}.f2{color:#f28c72;animation-delay:1.7s;top:-100px;right:11%}.f3{color:#65798a;animation-delay:3s;top:-180px;left:54%}@keyframes fall{to{transform:translateY(1050px)rotate(10deg)}}.records{gap:38px;margin:0 0 25px;display:flex}.records div{flex-direction:column;gap:2px;display:flex}.records b{font-size:21px}.records span{letter-spacing:1.1px;color:#8aa4b5;font-size:9px;font-weight:900}.primary,.secondary{letter-spacing:1.3px;border-radius:18px;width:100%;max-width:260px;height:56px;font-weight:900;transition:transform .2s,box-shadow .2s}.primary{color:#fff;background:#3f8ef7;box-shadow:0 10px 20px #3f8ef733}.primary:hover{transform:translateY(-2px);box-shadow:0 14px 24px #3f8ef744}.play{font-size:16px}.play span{margin-right:6px;font-size:13px}.secondary{color:#668092;background:#fff;box-shadow:0 5px 18px #82bad41c}.how{margin-top:11px;font-size:12px}.sound{color:#91adbc;background:0 0;margin-top:auto;font-size:16px}.how-screen{padding-top:70px}.back{color:#688797;background:#fff;border-radius:14px;align-self:flex-start;width:42px;height:42px;font-size:22px;box-shadow:0 5px 16px #81b6cb22}.mini-title{letter-spacing:1.5px;margin:62px 0 30px;font-size:27px;font-weight:900}.tutorial-art{background:#eaf6fc;border-radius:28px;width:250px;height:210px;position:relative}.tutorial-art span{color:#324a5f;font-size:42px;position:absolute;top:32px;left:106px}.tutorial-art b{color:#f28c72;font-size:24px;position:absolute;top:80px;left:117px}.tutorial-art strong{color:#3f8ef7;font-size:19px;position:absolute;bottom:43px;left:48px}.how-screen h2{margin:30px 0 8px;font-size:19px}.how-screen p{color:#7791a0;margin:0 0 28px;line-height:1.5}.game-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.hud{pointer-events:none;padding:30px 24px;position:absolute;inset:0}.hearts{gap:4px;font-size:22px;display:flex}.heart{color:#c7dce6}.heart.full{color:#ff6b6b;text-shadow:0 3px 8px #ff6b6b44}.hud-score{letter-spacing:.3px;font-size:20px;font-weight:900;position:absolute;top:32px;right:54px}.pause-btn{pointer-events:auto;color:#7d99a9;background:#fff;border-radius:10px;width:30px;height:30px;font-weight:900;position:absolute;top:25px;right:18px;box-shadow:0 4px 14px #75aac21f}.hud-time{text-align:center;color:#7792a1;letter-spacing:1px;font-size:13px;font-weight:800;position:absolute;top:65px;left:0;right:0}.combo{text-align:center;color:#f28c72;font-size:19px;font-weight:900;animation:.25s pop;position:absolute;top:88px;left:0;right:0}.effect,.flow,.toast{text-align:center;letter-spacing:1px;font-weight:900;position:absolute;left:0;right:0}.effect{font-size:10px;top:116px}.slow{color:#a78be8}.shield{color:#47bca9}.flow{color:#ffbe5c;font-size:12px;animation:1s infinite pulse;top:142px}.toast{color:#324a5f;text-shadow:0 2px #fff;font-size:16px;animation:1.2s forwards toast;bottom:148px}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes pulse{50%{opacity:.45}}@keyframes toast{0%{opacity:0;transform:translateY(10px)}20%,75%{opacity:1}to{opacity:0;transform:translateY(-22px)}}.modal-wrap{z-index:5;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#d9eff6a8;place-items:center;padding:28px;display:grid;position:absolute;inset:0}.modal{text-align:center;background:#fff;border-radius:27px;width:100%;padding:30px 24px 25px;box-shadow:0 20px 55px #54849b3d}.modal-kicker{letter-spacing:2px;color:#9ab4c1;font-size:10px;font-weight:900}.modal h1{letter-spacing:-1px;margin:8px 0 24px;font-size:34px}.modal .primary,.modal .secondary{margin:10px auto 0;display:block}.text-btn{color:#7792a1;background:0 0;margin-top:16px;font-size:13px;font-weight:900}.result-score{color:#3f8ef7;font-size:48px;font-weight:900;line-height:1}.result-label{letter-spacing:2px;color:#9ab4c1;margin:6px 0 25px;font-size:10px;font-weight:900}.result-grid{border-top:1px solid #edf4f7;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:5px;padding:18px 0 15px;display:grid}.result-grid span{color:#8ca5b3;flex-direction:column;gap:3px;font-size:9px;font-weight:900;display:flex}.result-grid b{color:#314554;font-size:15px}@media (height<=700px){.home-screen{padding-top:40px}.demo{height:130px;margin:14px auto}.records{margin-bottom:15px}.brand{font-size:48px}}@media (width>=481px){.game-frame{height:min(94dvh,860px)}}
