*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{background:#10182a;color:#f8f4e8;font-family:system-ui,-apple-system,"PingFang SC",sans-serif;overflow:hidden}button{font:inherit;color:inherit;touch-action:manipulation}.bounce-game{position:relative;width:min(100vw,480px);height:100dvh;min-height:600px;margin:auto;overflow:hidden;background:linear-gradient(180deg,#18243c 0%,#27395c 47%,#815e79 100%);box-shadow:0 0 70px #050813}.aurora,.aurora i{position:absolute;inset:0;pointer-events:none}.aurora{overflow:hidden}.aurora:before{content:"";position:absolute;width:170px;height:170px;right:-40px;top:90px;border-radius:50%;background:#fff1a8;box-shadow:0 0 50px #ffeaa555}.aurora:after{content:"·　✦　　　·　　✧　　　·　✦";position:absolute;top:79px;left:17px;color:#fff4bc;font-size:12px;letter-spacing:7px;opacity:.7}.aurora i{width:150%;height:180px;left:-25%;top:20%;border-radius:50%;filter:blur(28px);opacity:.16;transform:rotate(-8deg);background:#66e3d1}.aurora i:nth-child(2){top:48%;background:#f39ab4;transform:rotate(11deg)}.aurora i:nth-child(3){top:70%;background:#ffe692;transform:rotate(-5deg)}
.topbar{position:relative;z-index:5;height:76px;padding:14px 16px 8px;display:flex;align-items:center;justify-content:space-between}.brand small{display:block;color:#b9c9dd;font-size:9px;letter-spacing:2px}.brand strong{display:block;margin-top:2px;font-size:21px;letter-spacing:1px}.top-actions{display:flex;gap:7px}.top-actions button{width:39px;height:39px;border:1px solid #ffffff4d;border-radius:13px;background:#ffffff17;box-shadow:inset 0 1px #ffffff55;font-weight:800}.top-actions button:active{transform:scale(.94)}.top-actions button[aria-pressed=false]{opacity:.42}
.mission{position:relative;z-index:4;height:60px;margin:0 13px 8px;padding:9px 13px;display:grid;grid-template-columns:57px 1fr 67px;align-items:center;gap:10px;border:1px solid #ffffff5e;border-radius:17px;background:#fdf7ebed;color:#354052;box-shadow:0 8px 22px #0a102533}.mission small{display:block;color:#84899a;font-size:8px}.mission b{font-size:15px}.progress i{display:block;height:7px;margin-bottom:5px;border-radius:8px;background:#dce1df;overflow:hidden}.progress i span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#73bfae,#f2be6d,#e77c92);transition:width .25s}.progress small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score{text-align:right}.score b{color:#cf687d;font-variant-numeric:tabular-nums}
.arena-wrap{position:relative;z-index:3;height:calc(100dvh - 230px);min-height:370px;margin:0 10px;border:1px solid #ffffff38;border-radius:25px;overflow:hidden;background:linear-gradient(#111b31aa,#28365355);box-shadow:inset 0 0 40px #050b1d55,0 12px 30px #11142645}canvas{display:block;width:100%;height:100%;touch-action:none}.combo{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) scale(.75);opacity:0;color:#fff5b2;font-size:33px;font-weight:900;letter-spacing:1px;text-shadow:0 3px #bd6076,0 8px 25px #060a19;pointer-events:none}.combo.show{animation:comboPop .75s}.skill-toast{position:absolute;left:50%;top:14px;transform:translate(-50%,-12px);min-width:155px;padding:8px 13px;border:1px solid #ffffff70;border-radius:15px;background:#172139e8;text-align:center;opacity:0;pointer-events:none}.skill-toast b{display:block;color:#ffe99d;font-size:12px}.skill-toast span{display:block;margin-top:1px;color:#dbe8f0;font-size:9px}.skill-toast.show{animation:toastIn 1.15s}
.ready-card,.pause-card{position:absolute;z-index:8;inset:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;border:1px solid #ffffff5c;border-radius:23px;background:linear-gradient(150deg,#23314aee,#57455ced);text-align:center;backdrop-filter:blur(10px);box-shadow:0 18px 40px #080c19aa}.ready-card.hide{opacity:0;pointer-events:none;transform:scale(1.04);transition:.35s}.ready-card small{color:#efc6cf;letter-spacing:3px}.ready-card h1{margin:7px 0;font-size:28px}.ready-card p{max-width:310px;margin:4px 0 15px;color:#d8dcea;font-size:12px;line-height:1.8}.orb-demo{height:58px;display:flex;align-items:center;gap:10px}.orb-demo i{width:22px;height:22px;border-radius:50%;background:#fff5ba;box-shadow:0 0 18px #fff5ba;animation:demoBounce 1s ease-in-out infinite alternate}.orb-demo i:nth-child(2){width:34px;height:34px;background:#7edccc;box-shadow:0 0 22px #7edccc;animation-delay:-.35s}.orb-demo i:nth-child(3){background:#ef8da2;box-shadow:0 0 18px #ef8da2;animation-delay:-.7s}.legend{display:flex;gap:8px;margin-bottom:18px}.legend span{padding:6px 8px;border-radius:10px;background:#ffffff12;font-size:9px}.legend i{display:inline-grid;width:20px;height:20px;margin-right:3px;place-items:center;border-radius:50%;font-style:normal}.legend .split{background:#72d5c4}.legend .blast{background:#ee8da4}.legend .rain{background:#f3c86f}.ready-card button,.pause-card button{min-width:180px;padding:13px 20px;border:0;border-radius:15px;background:linear-gradient(135deg,#ffdb85,#e98c9f);color:#3b3444;font-weight:900;box-shadow:0 7px 0 #a85f76}.ready-card button:active,.pause-card button:active{transform:translateY(4px);box-shadow:0 3px 0 #a85f76}.pause-card[hidden]{display:none}.pause-card b{font-size:24px}.pause-card span{margin:8px 0 20px;color:#d6dbea;font-size:11px}
.controls{position:relative;z-index:4;height:70px;display:grid;grid-template-columns:65px 1fr 65px;align-items:center;padding:3px 9px}.dog{position:relative;height:64px}.dog svg{width:63px;height:63px;filter:drop-shadow(0 5px 5px #1117)}.dog i{position:absolute;top:-3px;left:42px;width:max-content;padding:3px 6px;border-radius:8px;background:#fff7e8;color:#64606a;font-size:7px;font-style:normal;opacity:0}.dog.cheer i{animation:dogBubble 1.1s}.dog.cheer svg{animation:dogCheer .55s}.doubao{transform:scaleX(-1)}.doubao i{transform:scaleX(-1);left:auto;right:42px}.touch-track{position:relative;height:48px;border:1px solid #ffffff4d;border-radius:19px;background:#121b2d66;box-shadow:inset 0 5px 12px #080c1866;touch-action:none}.touch-track:before{content:"";position:absolute;left:10px;right:10px;top:50%;height:3px;border-radius:4px;background:#ffffff25}.touch-track>i{position:absolute;left:50%;top:50%;width:46px;height:17px;transform:translate(-50%,-50%);border-radius:12px;background:linear-gradient(#fff2bd,#edae71);box-shadow:0 4px 0 #a96362,0 0 14px #ffe5a177}.touch-track span{position:absolute;inset:0;display:grid;place-items:center;color:#ffffff9c;font-size:8px;transition:.2s}.touch-track.active span{opacity:0}footer{position:relative;z-index:3;display:flex;justify-content:center;gap:25px;color:#d8ccda;font-size:8px;letter-spacing:.5px}
dialog{width:min(350px,calc(100% - 34px));padding:27px;border:1px solid #fff;border-radius:26px;background:#fff7e8;color:#4b4c55;text-align:center;box-shadow:0 25px 75px #080d1bc7}dialog::backdrop{background:#11182bd9;backdrop-filter:blur(7px)}dialog small{color:#ca6f82;letter-spacing:3px}dialog h2{margin:7px 0;font-size:26px}dialog p{font-size:12px;line-height:1.7;color:#7c7880}.result-burst{color:#eebc58;font-size:25px}.final-score{margin:17px 0;padding:12px;border-radius:16px;background:#f1e3d2}.final-score small{letter-spacing:1px}.final-score strong{display:block;color:#c85f78;font-size:34px}dialog button{width:100%;padding:13px;border:0;border-radius:14px;background:#798e78;color:#fff;font-weight:800}dialog a{display:inline-block;margin-top:15px;color:#887381;font-size:11px}
@keyframes comboPop{35%,70%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}to{opacity:0;transform:translate(-50%,-85%) scale(.9)}}@keyframes toastIn{20%,75%{opacity:1;transform:translate(-50%,0)}}@keyframes demoBounce{to{transform:translateY(-17px)}}@keyframes dogBubble{20%,75%{opacity:1;transform:translateY(-5px)}}@keyframes dogCheer{35%{transform:translateY(-6px) rotate(-8deg)}70%{transform:rotate(7deg)}}
@media(max-height:700px){.topbar{height:63px;padding-top:8px}.brand strong{font-size:18px}.mission{height:53px}.arena-wrap{height:calc(100dvh - 201px);min-height:330px}.controls{height:64px}.dog,.dog svg{height:58px;width:58px}.ready-card{padding:16px}.ready-card p{line-height:1.55;margin-bottom:10px}.orb-demo{height:42px}.legend{margin-bottom:12px}}
@media(max-width:350px){.mission{grid-template-columns:67px 1fr 57px;margin-inline:7px}.arena-wrap{margin-inline:6px}.controls{grid-template-columns:54px 1fr 54px}.dog svg{width:55px}.legend{gap:4px}.legend span{padding:5px}.ready-card h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
@media(max-height:600px){.bounce-game{min-height:100dvh}}
@media(min-width:351px){.mission{grid-template-columns:72px 1fr 67px}}
.legend{flex-wrap:wrap;justify-content:center;gap:6px;max-width:280px}
.legend .magnet{background:#b6a4df}.legend .prism{background:#8fc8ed}
.legend .double{background:#ee8da4}
.legend .ice{background:#b8dcf3;color:#243148}
.legend .chain{background:#d5a7e8;color:#243148}.legend .key{background:#ffe17d;color:#243148}
.topbar .game-home{position:absolute;left:14px;top:4px;padding:3px 8px;border:1px solid #fff0c447;border-radius:10px;background:#ffffff10;color:#ffe9bc;text-decoration:none;font-size:8px;box-shadow:inset 0 1px #ffffff2b}.topbar .brand{padding-top:11px}.topbar .game-home:active{transform:translateY(2px)}
