:root{--sky-top: #2a1f5c;--sky-bottom: #5b3f8f;--accent: #ffe98a;--ink: #3b2a6b;--panel: rgba(255, 250, 255, .92);--panel-line: #d9cdf5;--lav: #b9a6ef;--peach: #ffc6a8;--sky: #9fd8ff;--pink: #ffb3d1;--ui-scale: 1;--font: "Jua", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif}html.big-ui{--ui-scale: 1.22}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body{font-family:var(--font);color:var(--ink);background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-bottom) 100%);background-color:var(--sky-top);transition:background .6s}#stage,#stage canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none;display:block}#ui{position:fixed;inset:0;pointer-events:none;font-size:calc(16px * var(--ui-scale))}#ui button,#ui input,.result,.nest,.modal,.title-screen{pointer-events:auto}.hidden{display:none!important}button{font-family:inherit;color:inherit;cursor:pointer}.btn{border:none;border-radius:999px;padding:.7em 1.4em;font-size:1.1em;background:#fff;color:var(--ink);box-shadow:0 4px #3b2a6b40,0 6px 18px #140a3c40;transition:transform .1s,filter .2s}.btn:active{transform:translateY(3px) scale(.98);box-shadow:0 1px #3b2a6b40}.icon-btn{border:none;background:#ffffffd9;width:2.4em;height:2.4em;border-radius:50%;font-size:1em;box-shadow:0 3px #3b2a6b33}.cur{display:inline-flex;align-items:center;gap:.3em;background:#ffffffe0;padding:.25em .8em .25em .5em;border-radius:999px;font-size:1.15em;box-shadow:0 3px #3b2a6b2e}.cur i{font-style:normal}.hud{position:absolute;inset:0;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto 1fr;align-items:start;align-content:start;gap:8px}.hud-left{display:flex}.hud-right{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}html.left-hand .hud-left{order:3;justify-content:flex-end}html.left-hand .hud-right{order:1;justify-content:flex-start}html.left-hand .hud-center{order:2}.candle-wrap{display:flex;align-items:center;gap:6px;background:#ffffffd9;border-radius:999px;padding:6px 12px 6px 8px;box-shadow:0 3px #3b2a6b2e}.candle-icon{font-size:1.1em}.candle{position:relative;width:clamp(90px,22vw,180px);height:16px;border-radius:999px;background:#ebe4fb;box-shadow:inset 0 2px 3px #3b2a6b2e}.wax{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(180deg,#fff8d6,#ffe08a);box-shadow:inset 0 -3px #d9a93a59}.flame{position:absolute;top:-15px;width:14px;height:20px;margin-left:-7px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff 0 25%,#ffe98a 45%,#ffb36b 80%);box-shadow:0 0 10px 3px #ffdc7899;animation:flicker 1.2s ease-in-out infinite;transform-origin:50% 100%}@keyframes flicker{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(.92,1.08) rotate(3deg)}}.candle.sleepy{animation:tremble .5s ease-in-out infinite}.candle.sleepy .flame{opacity:.75}.candle.out .flame{opacity:0;transition:opacity .4s}@keyframes tremble{0%,to{transform:translate(0)}25%{transform:translate(-1.2px)}75%{transform:translate(1.2px)}}.candle-time{min-width:2.4em;text-align:right;font-size:1.05em}.hud-center{display:flex;flex-direction:column;align-items:center;gap:6px}.stage-chip{background:#ffffffd9;border-radius:999px;padding:4px 14px;font-size:.95em;box-shadow:0 3px #3b2a6b2e;white-space:nowrap}.boss-prog{position:relative;width:clamp(120px,30vw,240px);height:22px;border-radius:999px;background:#ffffff59;overflow:hidden;box-shadow:inset 0 0 0 2px #fff9}.boss-prog .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#cdbcf3,#b8a5e8);transition:width .2s}.boss-prog.boss .fill{background:linear-gradient(90deg,#ffb3d1,#ff8fb8)}.boss-prog span{position:relative;display:block;text-align:center;line-height:22px;font-size:.85em;color:#fff;text-shadow:0 1px 2px rgba(59,42,107,.7)}.fever-banner{position:absolute;top:26%;left:50%;transform:translate(-50%,-10px) scale(.8);opacity:0;color:#fff7c2;font-size:1.8em;text-shadow:0 2px 0 #b07ad9,0 0 16px rgba(255,230,140,.9);transition:opacity .25s,transform .25s;white-space:nowrap}.fever-banner.show{opacity:1;transform:translate(-50%) scale(1)}html.reduce-flash .fever-banner{text-shadow:0 2px 0 #b07ad9}.toast{position:absolute;top:38%;left:50%;transform:translate(-50%) scale(.9);opacity:0;background:#ffffffeb;border-radius:999px;padding:.5em 1.3em;font-size:1.3em;box-shadow:0 4px #3b2a6b33;transition:opacity .3s,transform .3s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%) scale(1)}.finger-hint{position:absolute;left:50%;top:68%;font-size:3em;opacity:0;transition:opacity .4s}.finger-hint.show{opacity:1}.finger-hint span{display:inline-block;animation:finger 2.2s ease-in-out infinite;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}@keyframes finger{0%,to{transform:translate(-130%) rotate(-12deg)}50%{transform:translate(30%,-20%) rotate(10deg)}}.result{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px max(18px,env(safe-area-inset-bottom));pointer-events:none}.result-panel{pointer-events:auto;width:min(440px,100%);background:var(--panel);border-radius:28px;padding:18px 18px 20px;text-align:center;box-shadow:0 6px 0 var(--panel-line),0 20px 40px #140a3c59;transform:translateY(120%);transition:transform .45s cubic-bezier(.2,1.3,.4,1)}.result.open .result-panel{transform:translateY(0)}.result-title{font-size:1.1em;opacity:.8}.result-count{font-size:3em;line-height:1.2;color:#e2a92c;text-shadow:0 3px 0 #fff1b8}.result-count i{font-style:normal;margin-right:.15em}.result-extra{display:flex;flex-direction:column;gap:4px;margin:6px 0 14px;font-size:.98em}.result-extra .clear{color:#b070d0;font-size:1.15em}.result-extra .best{color:#e08a2c}.result-extra .total{opacity:.75;font-size:.9em}.result-btns{display:flex;gap:10px;justify-content:center}.btn-nest{background:linear-gradient(180deg,#fff,#f3edff)}.btn-nest.glow{background:linear-gradient(180deg,#fff6c8,#ffe08a);animation:glow 1.4s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 4px #d9a93a,0 0 #ffe08ab3}50%{box-shadow:0 4px #d9a93a,0 0 0 10px #ffe08a00}}html.reduce-flash .btn-nest.glow{animation:none;box-shadow:0 4px #d9a93a}.btn-again{background:linear-gradient(180deg,#e8f6ff,#bfe6ff)}.title-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:14vh 16px 12vh;cursor:pointer}.title-logo{text-align:center;color:#fff}.title-ko{font-size:clamp(2.4em,9vw,4.2em);text-shadow:0 4px 0 #8a6fd1,0 10px 30px rgba(20,10,60,.5)}.title-ko em{font-style:normal;color:var(--accent)}.title-en{font-size:1.2em;opacity:.85;letter-spacing:.08em;margin-top:4px}.title-tap{color:#fff;font-size:1.3em;background:#ffffff2e;padding:.5em 1.4em;border-radius:999px;animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.6}50%{opacity:1}}.nest{position:absolute;inset:0;display:flex;flex-direction:column;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:8px}.nest-top{display:flex;align-items:center;gap:8px}.nest-title{color:#fff;font-size:1.4em;text-shadow:0 2px 0 rgba(59,42,107,.5);margin-right:auto}.nest-cur{display:flex;gap:6px}.stage-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.stage-row::-webkit-scrollbar{display:none}.stage-btn{flex:0 0 auto;display:flex;align-items:center;gap:4px;border:none;border-radius:999px;padding:.35em .9em .35em .6em;background:#ffffff8c;font-size:.95em}.stage-btn.on{background:#fff;box-shadow:0 0 0 3px var(--accent)}.stage-btn.locked{opacity:.55;cursor:default}.stage-btn .ck{font-size:.85em}.tree-vp{position:relative;flex:1;min-height:160px;overflow:hidden;border-radius:24px;background:#ffffff0f;box-shadow:inset 0 0 0 2px #ffffff1f;touch-action:none;cursor:grab}.tree-inner{position:absolute;left:0;top:0;transform-origin:0 0}.tree-lines{position:absolute;left:0;top:0;overflow:visible}.tree-lines line{stroke-width:6;stroke-linecap:round}.tree-lines line.lit{stroke:#fff3b0}.tree-lines line.open{stroke:#ffffff8c;stroke-dasharray:2 10}.tree-lines line.dim{stroke:#ffffff2e;stroke-dasharray:2 10}.tree-nodes{position:absolute;inset:0}.node{position:absolute;width:62px;height:62px;margin:-31px 0 0 -31px;border:none;border-radius:50%;background:color-mix(in srgb,var(--c, #fff) 40%,#ffffff);box-shadow:0 4px color-mix(in srgb,var(--c, #fff) 60%,#6a5aa0),inset 0 0 0 3px #fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;transition:transform .15s}.node .ic{font-size:26px;line-height:1}.node .lv{position:absolute;bottom:-9px;background:#fff;border-radius:999px;font-size:12px;padding:1px 7px;box-shadow:0 2px #3b2a6b33}.node.owned{background:var(--c)}.node.maxed{box-shadow:0 4px #d9a93a,inset 0 0 0 4px #ffe08a}.node.can:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid #fff3b0;animation:ping 1.6s ease-out infinite}html.reduce-flash .node.can:after{animation:none;opacity:.8}@keyframes ping{0%{transform:scale(.9);opacity:1}to{transform:scale(1.25);opacity:0}}.node.sel{transform:scale(1.12);box-shadow:0 4px #6a5aa0,0 0 0 4px #fff}.node.teaser{background:#ffffff2e;box-shadow:inset 0 0 0 2px #ffffff59;color:#ffffffb3;cursor:default}.node.teaser .ic{font-size:22px}.node.root{width:80px;height:80px;margin:-40px 0 0 -40px;background:#fff;box-shadow:0 5px #8fb8e0,inset 0 0 0 4px #bfe6ff;pointer-events:none}.node.root .ic{font-size:34px}.node.root .nm{font-size:13px}.node.pop{animation:pop .35s ease-out}@keyframes pop{0%{transform:scale(1.12)}40%{transform:scale(1.35)}to{transform:scale(1.12)}}.detail{background:var(--panel);border-radius:22px;padding:10px 14px;min-height:92px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;box-shadow:0 4px 0 var(--panel-line)}.detail-hint{grid-column:1 / -1;text-align:center;opacity:.75}.detail-head{display:flex;gap:10px;align-items:center}.detail-head .ic{font-size:2em}.detail-head b{font-size:1.15em;font-weight:400}.detail-head small{opacity:.6}.detail-head p{margin:2px 0 0;font-size:.9em;opacity:.8}.detail-eff{grid-column:1;font-size:.95em;color:#6a55b0;margin-top:4px}.detail-eff i{font-style:normal;opacity:.6}.detail-eff b{font-weight:400;color:#d0742c}.btn-buy{grid-column:2;grid-row:1 / span 2;background:linear-gradient(180deg,#fff6c8,#ffe08a);box-shadow:0 4px #d9a93a;min-width:6em}.btn-buy.no{background:#eee8f7;box-shadow:0 4px #cfc5e6;color:#9a8fb8}.btn-play{font-size:1.35em;padding:.65em;background:linear-gradient(180deg,#e8f6ff,#9fd8ff);box-shadow:0 5px #6aaee8,0 10px 24px #140a3c4d}.modal{position:absolute;inset:0;background:#1e124673;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{width:min(420px,100%);max-height:100%;overflow-y:auto;background:var(--panel);border-radius:26px;padding:14px 18px 18px;box-shadow:0 6px 0 var(--panel-line)}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-weight:400;font-size:1.4em}.modal-body{display:flex;flex-direction:column;gap:10px;margin-top:10px}.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1.05em}.set-row input[type=range]{width:46%;accent-color:#9a86d1}.switch{appearance:none;width:48px;height:28px;border-radius:999px;background:#ddd4f3;position:relative;cursor:pointer;transition:background .2s;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #0003}.switch:checked{background:#9a86d1}.switch:checked:after{left:23px}.btn-danger{background:#ffe3ea;color:#b0465f;font-size:.95em;margin-top:6px}.modal-foot{text-align:center;font-size:.8em;opacity:.55;margin:4px 0 0}.fatal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-size:1.3em;pointer-events:auto;padding:16px}@media(max-width:520px){.hud{grid-template-columns:1fr 1fr}.hud-center{grid-column:1 / -1;grid-row:2}.cur{font-size:1em}.node{width:56px;height:56px;margin:-28px 0 0 -28px}.detail{grid-template-columns:1fr}.btn-buy{grid-column:1;grid-row:auto;margin-top:8px}}@media(prefers-reduced-motion:reduce){.finger-hint span,.flame,.title-tap,.node.can:after,.btn-nest.glow{animation:none}}
