:root{font-family:'Trebuchet MS',Arial,sans-serif;color:#10264c;background:#f9f6ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;font-size:14px;font-weight:bold;color:inherit;background:#fff9;border:1px solid #18365c25;border-radius:24px;padding:11px 17px;cursor:pointer}button:hover{background:#fff;transform:translateY(-1px)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,canvas:focus-visible,a:focus-visible{outline:3px solid #995cf6;outline-offset:4px}header{max-width:1330px;margin:auto;padding:26px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #10264c12}.brand{text-decoration:none;color:#10264c;font-size:32px;letter-spacing:-2px;font-weight:1000;display:flex;align-items:center;gap:12px}.brand span{font-size:11px;letter-spacing:2px;background:#f5d9e5;border-radius:7px;padding:7px}.tagline{font-size:14px;color:#62728b}main{max-width:1260px;margin:30px auto 22px;display:grid;grid-template-columns:1fr 420px 230px;gap:50px;align-items:center;padding:0 25px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;color:#69788f}h1{font-size:36px;letter-spacing:-1.7px;line-height:1.12;margin:17px 0}h1 span{color:#9364be}p{font-size:15px;color:#748092;line-height:1.65}.hero-loopy{position:relative;max-width:280px;margin:24px 0 10px;padding:12px 30px 16px;background:radial-gradient(ellipse,#dfecf880,transparent 68%)}.hero-loopy img{width:100%;filter:drop-shadow(0 13px 9px #507a9915)}.hero-loopy span{position:absolute;right:-7px;bottom:20px;font-size:15px;color:#7a64a4;transform:rotate(-10deg)}.how{border-top:1px solid #10264c15;padding-top:22px}.how>b{font-size:14px}.how p{font-size:13px;margin:10px 0}.how p span{color:#aa92b8;margin-right:8px;font-size:11px}.game{align-self:start}.scorebar{height:78px;display:flex;gap:38px;align-items:center;padding:0 19px 14px}.scorebar>div{display:flex;flex-direction:column;gap:4px}.scorebar span{font-size:10px;letter-spacing:1.6px;font-weight:bold;color:#6b788c}.scorebar strong{font-size:29px;line-height:1}.scorebar .next{margin-left:auto;flex-direction:row;align-items:center;gap:10px}.next span{max-width:65px;font-size:9px}.next img{width:49px;height:49px;object-fit:contain}.arena{position:relative;border:3px solid #e2d8eb;border-top:0;border-radius:15px 15px 35px 35px;background:linear-gradient(#faf6ff,#f0eefb 75%,#eae4f7);box-shadow:0 12px 0 -5px #dcd3e9,0 25px 55px #6d599c10;overflow:hidden}canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}.overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:#f6f1f8db;backdrop-filter:blur(5px);padding:20px}.overlay[hidden]{display:none}.overlay img{display:block;width:160px;height:140px;object-fit:contain;margin:30px auto 8px;animation:float 3s ease-in-out infinite}.overlay h2{font-size:28px;margin:10px 0;letter-spacing:-1px}.overlay .eyebrow{font-size:9px}.primary{background:#152b50;color:white;border:0;padding:15px 33px;box-shadow:0 5px 0 #091c34}.primary:hover{background:#27426b}.game-foot{display:flex;align-items:center;gap:6px;margin-top:22px;min-height:40px}.game-foot span{font-size:11px;color:#728098;flex:1}.game-foot button{padding:8px 11px;font-size:12px}.evolution{padding-left:2px}.evolution h2{font-size:25px;letter-spacing:-.8px;line-height:1.2;margin:13px 0 20px}.level{display:flex;gap:12px;align-items:center;margin:7px 0;padding:4px 0}.level img{width:51px;height:50px;object-fit:contain}.level div{flex:1}.level b{font-size:13px}.level small{display:block;font-size:12px;margin-top:3px;color:#8891a2}.level>span{font-size:11px;border:1px solid #152b5014;border-radius:50%;width:23px;height:23px;text-align:center;line-height:22px;color:#94a0b1}.tip{font-size:12px;border-top:1px solid #10264c15;padding-top:18px;margin-top:22px}footer{max-width:1250px;margin:25px auto 0;padding:20px 25px;border-top:1px solid #10264c10;font-size:10px;letter-spacing:1.5px;color:#8190a4}footer>span{margin:0 8px}.credit{float:right;letter-spacing:0}dialog{border:1px solid #dfd4e7;border-radius:24px;padding:30px;max-width:calc(100% - 30px);color:#152b50;background:#fbf7fd}dialog::backdrop{background:#14244055;backdrop-filter:blur(4px)}dialog h2{font-size:23px}dialog>div{display:flex;gap:12px;margin-top:25px}@keyframes float{50%{transform:translateY(-7px) rotate(2deg)}}@media(min-width:1400px){main{margin-top:40px}}@media(max-width:1100px){main{grid-template-columns:1fr 390px;gap:35px;max-width:900px}.evolution{grid-column:1/-1}.evolution h2,.evolution>.eyebrow,.tip{display:none}#levels{display:flex;justify-content:space-between}.level{flex-direction:column;gap:4px}.level>span,.level small{display:none}h1{font-size:32px}}@media(max-width:680px){header{padding:16px 20px}.brand{font-size:27px}.brand span{font-size:9px}.tagline{display:none}header button{font-size:12px;padding:9px 12px}main{display:flex;flex-direction:column;gap:16px;margin:14px auto 0;padding:0 16px;max-width:450px}.intro{display:none}.game{width:100%}.scorebar{height:58px;gap:30px;padding:0 10px 10px}.scorebar strong{font-size:25px}.arena{border-radius:12px 12px 28px 28px}.game-foot{margin-top:17px}.evolution{width:100%;padding:0}.level img{width:38px;height:39px}.level b{font-size:10px}.level{margin:0}footer{margin-top:12px;text-align:center;font-size:8px;padding:16px 10px}.credit{display:block;float:none;margin-top:10px}canvas{width:100%;height:auto}.overlay img{margin-top:18px;width:130px;height:110px}.overlay h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}

/* Touch controls stay outside the playfield so fingers do not hide the Loopy. */
.aim-pad{display:none;align-items:center;gap:12px;margin-top:21px}.aim-pad label{font-size:12px;color:#66758d;max-width:55px}.aim-pad input{flex:1;min-width:0;accent-color:#9e6bc6;height:44px;touch-action:pan-y}.aim-pad button{padding:12px 16px;font-size:13px;min-height:44px}.game-foot button{min-width:44px;min-height:44px}.level b{font-size:14px}.level small{font-size:13px}.scorebar span{font-size:11px}.scorebar .next span{font-size:10px}.game-foot span{font-size:12px}.overlay .eyebrow{font-size:11px}.how p{font-size:14px}.tip{font-size:13px}
@media(max-width:680px){.aim-pad{display:flex}.game-foot{margin-top:10px}.level b{font-size:11px}.level img{width:40px;height:43px}.game{max-width:420px}.arena{width:100%}.scorebar{gap:22px}header{padding:12px 20px}.game-foot span{font-size:12px}.overlay p{font-size:15px}}

.audio-controls{display:flex;align-items:center;gap:10px}.audio-controls input{width:72px;accent-color:#9d6bc6;min-height:36px}.mission{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#80529f;padding:9px 14px;margin-bottom:10px;background:#ece2f5;border-radius:12px}.mission #found{font-size:12px;white-space:nowrap}.level.locked img{filter:grayscale(.75);opacity:.43}.level.locked b,.level.locked small{opacity:.6}.level.found>span{background:#e9d9f4;color:#82549f;border-color:transparent}.level.just-found img{animation:discover .7s ease-out}.level img{transition:filter .3s,opacity .3s}@keyframes discover{0%{transform:scale(.7)}45%{transform:scale(1.24) rotate(-8deg)}75%{transform:scale(.94) rotate(4deg)}100%{transform:scale(1)}}@media(max-width:680px){.audio-controls{gap:5px}.audio-controls input{width:45px}.mission{font-size:12px;padding:9px 10px}.mission #found{font-size:11px}.tagline{display:none}}

/* Loopy's jelly playground */
:root{background:#b8edff}body{background:linear-gradient(#effcff40,#effcff30),url('assets/jelly-world.jpg') center bottom / cover fixed no-repeat;min-height:100svh}header{background:#e7faffed;border:2px solid #fff9;border-radius:0 0 28px 28px;padding:13px 30px;gap:20px}.brand{gap:7px}.brand img{width:170px;height:77px;object-fit:contain}.brand span{background:#fff;color:#8060ad;font-size:11px}.achievement-button{background:#fff;white-space:nowrap}.achievement-button span{margin-left:7px;font-size:12px;color:#8c69ae}.intro,.evolution{background:#f8fdffdc;border:2px solid #fff;border-radius:28px;padding:25px;box-shadow:0 8px 28px #5587ae12}main{grid-template-columns:1fr 420px 240px;gap:28px;align-items:start;max-width:1290px}.intro{margin-top:50px}.evolution{margin-top:50px}.game{background:#f9fcfff2;padding:16px;border:3px solid white;border-radius:28px;box-shadow:0 12px 0 -5px #b8cae4,0 20px 45px #4676a92b}.arena{background:linear-gradient(#edfaffed,#f1e5ffed);border-color:#cbbdeb}.scorebar{padding-left:4px;padding-right:4px;gap:24px}.mode-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.mode-row label{font-size:13px;font-weight:bold}select{font:inherit;font-size:14px;color:#213555;background:#fff;border:1px solid #cabbdf;border-radius:12px;padding:9px 12px;max-width:100%}#mode-help{font-size:12px;margin:5px 0 12px;color:#71768d}.drop-timer{margin:10px 3px 13px}.drop-timer>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;margin-bottom:6px;color:#60728a}.drop-timer strong{color:#8056a4;font-size:15px}#timer-track{height:7px;overflow:hidden;border-radius:8px;background:#e4e6f3}#timer-fill{width:100%;height:100%;border-radius:8px;background:#7cbcc5}#timer-track.urgent #timer-fill{background:#f486a1}.mission{font-size:12px;padding:8px 10px}.mission #found{font-size:11px}.hero-loopy{margin:14px 0}.how{padding-top:14px}.hero-loopy span{right:0}.intro h1{font-size:31px}.evolution h2{font-size:24px}.level{gap:8px}.level img{width:43px;height:43px}.level b{font-size:13px}.level small{font-size:12px}.level>span{flex-shrink:0}footer{background:#effaffcc;border-radius:20px 20px 0 0;color:#546b8a}#achievement-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;max-width:calc(100% - 24px);background:#243e65;color:white;padding:16px 22px;border:2px solid #b3e5f9;border-radius:20px;box-shadow:0 8px 26px #25345333;font-size:14px}#achievement-toast[hidden]{display:none}#achievements-dialog{width:740px;max-height:85svh;padding:25px;overflow-y:auto;background:#f1faff}#achievements-dialog .achievement-heading{display:flex;justify-content:space-between;align-items:start;margin:0}.achievement-heading h2{margin:0 0 6px}.achievement-heading p{margin:0}#achievements-dialog>label{font-size:13px;margin-right:10px}.save-note{font-size:12px!important;color:#738197}#achievement-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.achievement{display:flex;gap:12px;padding:15px;border:1px solid #dfe4ef;border-radius:18px;background:white}.achievement.earned{border-color:#b699da;background:#faf2ff}.achievement .medal{font-size:27px;color:#ac93bd}.achievement.earned .medal{color:#d89b36}.achievement>div{flex:1;min-width:0}.achievement small{font-size:11px;color:#8c72a3}.achievement h3{font-size:16px;margin:5px 0}.achievement p{font-size:12px;line-height:1.5;margin:5px 0 9px}.achievement progress{display:block;width:100%;height:8px;accent-color:#ad87d3}.achievement-progress{font-size:11px;color:#7f7394}#achievements-dialog h2{font-size:24px}#achievements-dialog #achievement-list{display:grid}.achievement-heading button{min-width:42px}.achievement-heading>div{margin:0}#mode:focus-visible,select:focus-visible{outline:3px solid #a772d3;outline-offset:2px}
@media(max-width:1100px){main{grid-template-columns:1fr 410px;max-width:900px}.evolution{grid-column:1/-1;margin:0;padding:12px}.intro{padding:21px}#levels{gap:10px}.level small{display:none}.level{margin:0}.brand img{width:145px;height:64px}}
@media(max-width:680px){body{background-attachment:scroll;background-size:auto 100%;background-position:center top}header{padding:8px 12px;gap:8px;flex-wrap:wrap;justify-content:space-between}.brand{gap:2px}.brand img{width:110px;height:48px}.brand span{font-size:9px;padding:5px;letter-spacing:1px}.achievement-button{padding:8px 10px;font-size:11px}.achievement-button span{font-size:10px;margin-left:3px}.audio-controls{margin-left:auto}.audio-controls button{font-size:11px;padding:8px}.audio-controls input{width:48px}main{padding:0 10px;margin-top:12px;gap:14px}.game{padding:12px 10px;width:100%;border-radius:24px}.scorebar{gap:22px;height:54px}.scorebar strong{font-size:23px}.scorebar .next{gap:4px}.scorebar .next img{width:38px;height:38px}.mode-row label{font-size:12px}#mode-help{font-size:11px}.drop-timer>div:first-child{font-size:11px}.evolution{padding:8px 5px;border-radius:18px}.level{gap:3px}#levels{gap:3px}.level img{width:35px;height:36px}.level b{font-size:9px}.aim-pad{margin-top:15px}#achievement-list{grid-template-columns:1fr}#achievements-dialog{padding:18px}#achievements-dialog h2{font-size:20px}.achievement-heading p{font-size:13px}footer{font-size:9px}.intro{display:none}.overlay h2{font-size:25px}.overlay>div>p{font-size:13px}}

/* Keep the arena prominent, with secondary controls in a compact menu. */
.brand img{width:150px;height:84px;object-fit:contain}.brand{display:block}#settings-open{background:#fff}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}#settings-dialog{width:430px;max-height:85svh;overflow:auto;background:#effbff}#settings-dialog>.settings-heading{margin:0 0 18px}#settings-dialog h2{margin:0;font-size:24px}#settings-dialog h3{font-size:16px;margin-top:25px}#settings-dialog .audio-controls{margin:0;justify-content:space-between}#settings-dialog .audio-controls input{width:130px}#settings-dialog .mode-row{margin:0}#settings-dialog>p{font-size:14px}#settings-apply{margin-top:10px}.overlay .round-result>img{width:115px;height:100px;margin:8px auto}.round-result h2{font-size:24px}.result-stats{display:flex;justify-content:center;gap:45px;margin:16px 0}.result-stats>div{display:flex;flex-direction:column;gap:5px}.result-stats small{font-size:12px;color:#7b7d94}.result-stats b{font-size:28px}.round-result .record-note{color:#855cb1;font-size:14px;font-weight:bold;margin:10px 0}.new-awards{background:#eaddf5;border-radius:15px;padding:10px;margin:12px 0}.new-awards>b{font-size:13px}.new-awards p{font-size:12px;margin:5px 0}.round-result>p{font-size:13px}.round-result .primary{margin-top:10px}canvas{image-rendering:auto}
@media(max-width:680px){header{flex-wrap:nowrap;padding:6px 12px;gap:5px}.brand img{width:94px;height:55px}.achievement-button{font-size:11px;padding:9px 8px}#settings-open{font-size:11px;padding:9px 8px}main{margin-top:9px}.game{width:min(100%,max(290px,calc(71.186svh - 168px)));align-self:center}.mission{padding:6px 9px;margin-bottom:7px}.drop-timer{margin:7px 3px 10px}.scorebar{height:49px}.aim-pad{margin-top:10px}.game-foot{margin-top:5px}.game-foot button{min-height:38px}.game-foot span{font-size:11px}.evolution{max-width:420px}.overlay .round-result>img{width:80px;height:70px;margin:5px auto}.round-result h2{font-size:21px}.result-stats{margin:9px 0;gap:32px}.result-stats b{font-size:24px}.new-awards{padding:7px;margin:8px 0}.round-result .record-note{font-size:12px}.round-result .primary{padding:12px 22px}.overlay{padding:12px}#settings-dialog .audio-controls input{width:120px}.achievement-button span{margin-left:4px}}

.mission{flex-wrap:wrap}.mission progress{width:100%;height:5px;accent-color:#ed70a6;border:0}.mode-screen{width:100%}.overlay .mode-screen>h2{margin:6px 0}.overlay .mode-screen>p{margin:8px 0 14px}.mode-choices{display:grid;gap:8px;margin:0 auto 14px;max-width:300px}.mode-card{display:flex;align-items:center;text-align:left;gap:12px;border:2px solid #cddae9;background:#fff;padding:8px 12px;border-radius:18px;width:100%}.mode-card[aria-pressed=true]{border-color:#a15ae5;background:#f5e9ff;box-shadow:0 3px 0 #dac0f1}.overlay .mode-card img{width:46px;height:48px;object-fit:contain;margin:0}.mode-card span{display:grid;gap:3px}.mode-card b{font-size:18px}.mode-card small{font-size:13px;line-height:1.35;color:#50617e}.menu-credit{display:block;font-size:12px;color:#596880;margin-top:12px}.choose-mode{display:block;margin:10px auto 0}.overlay{overflow-y:auto}.overlay>div{max-height:100%;padding:14px}.mode-card:focus-visible{outline:3px solid #125da8;outline-offset:2px}@media(max-width:650px){.game{width:min(100%,380px)}.overlay .mode-screen>p{font-size:14px}.mode-choices{gap:6px}.mode-card{padding:6px 10px}.overlay .mode-card img{height:38px;width:40px}.menu-credit{margin-top:8px}}

#achievement-toast{display:flex;align-items:center;gap:14px;max-width:min(420px,calc(100vw - 24px));padding:18px 22px;background:linear-gradient(120deg,#fff5ac,#ffe4fa,#dcf9ff);color:#182b56;border:3px solid white;border-radius:24px;box-shadow:0 10px 35px #7046a650;pointer-events:none;animation:award-reveal .5s cubic-bezier(.2,1.5,.5,1)}#achievement-toast[hidden]{display:none}#achievement-toast b{display:block;font-size:20px}#achievement-toast small{font-size:12px;font-weight:bold;color:#75488f}#achievement-toast p{font-size:14px;margin:5px 0 0}.award-star{font-size:44px;color:#da9400;animation:star-pop .7s ease-out}.award-spark{font-size:30px;color:#b865dd}#achievement-toast[data-tier=Legendaris]{border-color:#e8b83a;box-shadow:0 0 40px #f8c45d80}@keyframes award-reveal{from{opacity:0;translate:0 30px;scale:.75}to{opacity:1;translate:0 0;scale:1}}@keyframes star-pop{from{rotate:-90deg;scale:.3}to{rotate:0deg;scale:1}}.account-action{display:block;padding:12px;text-align:center;border-radius:16px;margin:12px 0}.account-action[hidden]{display:none}#account-label{overflow-wrap:anywhere}#save-status{font-size:14px}#account-dialog{max-width:420px}.audio-controls{flex-wrap:wrap}.audio-controls label{font-size:14px}.audio-controls input{min-width:100px}.arena{touch-action:none}#aim{touch-action:pan-x}header{flex-wrap:wrap}@media(max-width:650px){header{gap:6px}header button{font-size:13px;padding:8px}.game{width:min(100%,max(290px,calc(71.186svh - 162px)))}.intro{display:none}.game-foot{flex-wrap:wrap}#achievement-toast{bottom:14px;padding:12px;gap:8px}#achievement-toast b{font-size:17px}}@media(prefers-reduced-motion:reduce){#achievement-toast,.award-star{animation:none}}

.strategy-bar{display:flex;gap:8px;margin-top:13px}.strategy-bar button{flex:1;min-height:44px;padding:8px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:5px}.strategy-bar img{width:28px;height:25px;object-fit:contain}.strategy-bar img[hidden]{display:none}.strategy-bar button:disabled{cursor:default}.strategy-help{font-size:12px;line-height:1.4;margin:7px 0 0;text-align:center;color:#5c6c88}#rescue[aria-pressed=true]{background:#ffe39d;border-color:#d9a82b}#settings-dialog>label{display:block;margin:14px 0 6px;font-size:14px}#reward-theme,#reward-music{width:100%}body[data-theme=candy]{background-image:linear-gradient(#ffe2f27a,#ffb6d14a),url('assets/jelly-world.jpg')}body[data-theme=candy] .arena{background:linear-gradient(#fff0f8,#ffdfef);border-color:#efa9cf}body[data-theme=ocean]{background-image:linear-gradient(#bcf8ff65,#72c5ff35),url('assets/jelly-world.jpg')}body[data-theme=ocean] .arena{background:linear-gradient(#e7ffff,#c3ecff);border-color:#89cadf}body[data-theme=sunset]{background-image:linear-gradient(#ffc5a267,#e2a3ff45),url('assets/jelly-world.jpg')}body[data-theme=sunset] .arena{background:linear-gradient(#ffefce,#f5d6ff);border-color:#d4a5e5}@media(max-width:680px){.game{width:min(100%,390px)}.strategy-bar{margin-top:10px}.strategy-bar button{font-size:12px}.game-foot span{font-size:12px}.game-foot{margin-top:2px}.strategy-help{font-size:11px}}
