*{box-sizing:border-box}[hidden]{display:none!important}:root{color-scheme:dark;--ink:#fff7fd;--muted:#b8a8c5;--pink:#ff6aa9;--mint:#65f0c3;--sky:#6fd6ff;--violet:#a67bff;--gold:#ffd868}html,body{margin:0;min-height:100%;overflow:hidden;background:#170b22}body{font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;color:var(--ink)}button{font:inherit}.game{min-height:710px;padding:12px;background:radial-gradient(circle at 8% 0,rgba(255,99,176,.2),transparent 29%),radial-gradient(circle at 92% 2%,rgba(105,217,255,.18),transparent 29%),radial-gradient(circle at 50% 100%,rgba(102,240,190,.1),transparent 35%),linear-gradient(180deg,#1b0d29,#090711)}.top,.intro,.stage,.done{max-width:920px;margin:0 auto}.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.eyebrow{margin:0;color:#ff9bc6;font-size:10px;font-weight:950;letter-spacing:.18em}h1{margin:2px 0 0;font-size:clamp(22px,3vw,29px)}.top-actions{display:flex;gap:7px}.top-actions>*{border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.055);color:#f8e9f2;padding:7px 10px;font-size:11px;font-weight:850}.intro,.done{min-height:570px;border:1px solid rgba(255,120,178,.18);border-radius:27px;background:radial-gradient(circle at 50% 40%,rgba(255,94,172,.1),transparent 35%),rgba(20,8,28,.82);display:grid;place-content:center;justify-items:center;text-align:center;padding:30px}.jelly-logo{position:relative;width:142px;height:124px;display:grid;place-items:center}.jelly-logo i,.done-jelly i{position:absolute;inset:8px 12px 5px;border-radius:46% 54% 48% 52%/54% 48% 52% 46%;background:radial-gradient(circle at 30% 23%,#fff 0 6%,#ffb1d5 10%,#ff66aa 42%,#9a52f5 100%);box-shadow:0 0 42px rgba(255,94,175,.38);animation:wobble 2.2s ease-in-out infinite}.jelly-logo b{position:relative;z-index:2;font-size:45px;color:#fff;text-shadow:0 3px 12px rgba(59,11,79,.5)}.intro>span,.done>span{color:#ff9bc8;font-size:10px;font-weight:950;letter-spacing:.16em}.intro h2,.done h2{margin:7px 0 8px;font-size:clamp(30px,5vw,47px);letter-spacing:-.045em}.intro p,.done p{max-width:650px;margin:0;color:#ae9db8;line-height:1.7}.intro-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin:17px 0}.intro-badges b{padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.045);font-size:10px;color:#eadceb}.primary{border:0;border-radius:15px;padding:13px 27px;background:linear-gradient(135deg,#ff67ad,#8d79ff 52%,#60e6cf);color:#fff;font-weight:950;cursor:pointer;box-shadow:0 13px 30px rgba(255,85,166,.23)}.stage{border:1px solid rgba(255,120,181,.16);border-radius:24px;padding:10px;background:linear-gradient(160deg,#1a0d24,#0b0812)}.hud{display:grid;grid-template-columns:.85fr .8fr .9fr 1.2fr;gap:6px;margin-bottom:7px}.hud>div{min-height:55px;padding:7px 9px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.04)}.hud span{display:block;color:#9a88a6;font-size:9px;font-weight:900}.hud strong{font-size:19px}.next-box{display:flex;align-items:center;justify-content:space-between;gap:8px}.mini-jelly{width:37px;height:32px;display:block;border-radius:46% 54% 50% 50%/58% 55% 45% 42%;background:radial-gradient(circle at 30% 22%,#fff 0 7%,var(--jelly) 29%,#30183b 100%);box-shadow:0 0 15px var(--jelly);border:1px solid rgba(255,255,255,.65)}.collection-bar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:7px;padding:7px 8px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025)}.collection-grid{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}.collection-grid i{position:relative;height:24px;border-radius:8px;background:#211327;border:1px solid rgba(255,255,255,.06);opacity:.42}.collection-grid i::after{content:attr(data-lv);position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:900;color:#76647f}.collection-grid i.unlocked{background:linear-gradient(145deg,var(--c),#35133e);box-shadow:0 0 12px var(--c);opacity:1}.collection-grid i.unlocked::after{color:white}.collection-bar p{margin:0;color:#9a87a7;font-size:9px;white-space:nowrap}.arena{position:relative;width:min(100%,610px);height:min(62vh,600px);min-height:480px;margin:auto;overflow:hidden;border:1px solid rgba(255,125,186,.17);border-radius:20px;background:radial-gradient(circle at 50% 5%,rgba(255,130,192,.09),transparent 25%),linear-gradient(180deg,#130b1c,#08070d);touch-action:none;user-select:none;box-shadow:inset 0 0 70px rgba(113,43,129,.12)}canvas{display:block;width:100%;height:100%}.danger{position:absolute;left:0;right:0;top:17%;height:4px;border-top:1px dashed rgba(255,101,130,.55);pointer-events:none}.danger span{position:absolute;right:7px;top:-18px;padding:2px 5px;border-radius:5px;background:#190d1dcc;color:#ff9bac;font-size:8px;font-weight:900}.danger i{display:block;width:0;height:3px;margin-top:-2px;background:linear-gradient(90deg,#ffcc69,#ff547d);box-shadow:0 0 10px rgba(255,83,125,.5);transition:width .08s linear}.guide{position:absolute;top:48px;bottom:0;width:1px;background:linear-gradient(180deg,rgba(255,190,219,.65),transparent 52%);pointer-events:none}.drop-preview{position:absolute;top:8px;width:48px;height:42px;border-radius:46% 54% 50% 50%/58% 55% 45% 42%;transform:translateX(-50%);pointer-events:none;border:1px solid rgba(255,255,255,.7);box-shadow:0 0 18px var(--jelly);background:radial-gradient(circle at 30% 22%,#fff 0 7%,var(--jelly) 29%,#2b1733 100%);transition:left .04s linear}.drop-preview::before,.drop-preview::after{content:"";position:absolute;top:18px;width:4px;height:5px;border-radius:50%;background:#40213e}.drop-preview::before{left:15px}.drop-preview::after{right:15px}.toast{position:absolute;left:50%;top:28%;transform:translate(-50%,-50%);max-width:80%;padding:7px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(22,8,29,.91);color:#fff6d2;font-size:11px;font-weight:950;text-align:center;opacity:0;transition:opacity .15s;pointer-events:none}.toast.show{opacity:1}.stage-bottom{display:grid;gap:5px;margin-top:7px}.stage-bottom p{margin:0;text-align:center;color:#9a89a4;font-size:10px}.legend{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.legend span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.035);color:#756a7e;font-size:8px}.done-jelly{position:relative;width:145px;height:120px}.done-jelly i{inset:0}.done strong{font-size:34px;color:#ff94c5;margin-top:4px}.done .primary{margin-top:17px}.result-feedback{margin-top:13px;min-width:min(420px,90%);padding:12px 14px;border:1px solid rgba(255,215,100,.25);border-radius:15px;background:rgba(255,211,90,.07);color:#fff0aa;font-weight:900}.result-feedback.record{animation:recordPop .55s ease-out;box-shadow:0 0 32px rgba(255,211,90,.15)}@keyframes wobble{0%,100%{transform:scale(1,1)}35%{transform:scale(1.05,.95) rotate(-2deg)}70%{transform:scale(.96,1.04) rotate(2deg)}}@keyframes recordPop{0%{transform:scale(.78);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1)}}@media(max-width:700px){html,body{min-height:0;max-width:100%;overflow-x:hidden}.game{min-height:0;padding:5px;overflow-x:hidden}.top{min-height:29px;margin-bottom:4px}.top>div:first-child{display:flex;gap:7px;align-items:baseline}.eyebrow{font-size:8px}.top h1{font-size:18px}.top-actions>*{padding:5px 8px;font-size:9px}.intro,.done{min-height:0;padding:18px 12px;border-radius:18px}.jelly-logo{width:95px;height:82px}.intro h2,.done h2{font-size:27px;margin:4px 0 5px}.intro p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.45}.intro-badges{margin:11px 0}.primary{padding:11px 20px}.stage{padding:6px;border-radius:16px}.hud{grid-template-columns:repeat(4,1fr);gap:3px}.hud>div{min-height:46px;padding:5px 6px}.hud strong{font-size:15px}.next-box{gap:3px}.next-box span{font-size:8px}.mini-jelly{width:30px;height:26px}.collection-bar{grid-template-columns:1fr;padding:5px;gap:4px}.collection-bar p{display:none}.collection-grid{gap:2px}.collection-grid i{height:20px}.arena{height:min(68dvh,575px);min-height:455px;border-radius:15px}.stage-bottom{margin-top:4px}.legend{display:none}.done-jelly{width:100px;height:80px}}@media(max-width:390px){.top-actions #mode{display:none}.hud span{font-size:8px}.hud strong{font-size:14px}.arena{min-height:445px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* v0.10.0 common fullscreen bridge */
html.host-fullscreen,html.host-fullscreen body{width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important}
html.host-fullscreen .game{width:100%!important;min-height:100dvh!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:6px!important}
@media(max-width:700px){
 html.host-fullscreen .topbar,html.host-fullscreen .top,html.host-fullscreen main.game>header{display:none!important}
 html.host-fullscreen .intro,html.host-fullscreen .done,html.host-fullscreen .result,html.host-fullscreen .complete,html.host-fullscreen .stage,html.host-fullscreen .arena,html.host-fullscreen .panel{min-height:0!important;max-height:none!important}
 html.host-fullscreen .summary{display:none!important}
 html.host-fullscreen .intro,html.host-fullscreen .done{padding-top:10px!important;padding-bottom:10px!important}
 html.host-fullscreen .help,html.host-fullscreen .hint,html.host-fullscreen .legend{max-height:34px;overflow:hidden}
}

/* v0.10.0 jelly mobile/fullscreen play area */
@media(max-width:700px){.hud{margin-bottom:3px!important}.hud>div{min-height:38px!important;padding:3px 4px!important}.hud span{font-size:7px!important}.hud strong{font-size:13px!important}.mini-jelly{width:25px!important;height:22px!important}.collection-bar{margin-bottom:3px!important;padding:3px 4px!important}.collection-grid i{height:16px!important}.arena{height:min(72dvh,600px)!important;min-height:410px!important}.stage-bottom{display:none!important}}
@media(max-width:700px){html.host-fullscreen .stage{height:100dvh!important;padding:3px!important;display:flex!important;flex-direction:column!important}html.host-fullscreen .hud{flex:0 0 auto!important}html.host-fullscreen .collection-bar{flex:0 0 auto!important}html.host-fullscreen .arena{flex:1 1 auto!important;height:auto!important;min-height:0!important;width:min(100%,610px)!important}html.host-fullscreen .stage-bottom{display:none!important}}
