@font-face{font-family:Lilita;src:url(/fonts/LilitaOne.ttf)format("truetype");font-display:block}@font-face{font-family:Kanit;src:url(/fonts/Kanit-Bold.ttf)format("truetype");font-weight:700;font-display:block}@font-face{font-family:Kanit;src:url(/fonts/Kanit-Medium.ttf)format("truetype");font-weight:500;font-display:block}:root{--ink:#2b1606;--wood:#8a5528;--wood-hi:#b9783b;--wood-lo:#5a3314;--parch:#fbe9c4;--parch-lo:#e9cd94;--gold:#ffd23f;--red:#e2402f;--green-a:#8ef05a;--green-b:#3faa1e;--blue-a:#6cc6ff;--blue-b:#2a75d8;--orange-a:#ffc062;--orange-b:#e67a12;--purple-a:#c58cff;--purple-b:#7a3fd6;--font:"Kanit", "Lilita", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{color:#fff;height:100%;font-family:var(--font);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;background:#1d130b;margin:0;overflow:hidden}#c{width:100vw;height:100vh;touch-action:none;height:100dvh;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:5;position:fixed;inset:0}#ui .layer{position:absolute;inset:0}#ui button,#ui .modal-wrap,#ui .node{pointer-events:auto}img{-webkit-user-drag:none}.btn{--a:var(--green-a);--b:var(--green-b);font-family:var(--font);color:#fff;cursor:pointer;border:4px solid var(--ink);background:linear-gradient(180deg, var(--a) 0%, var(--b) 100%);min-width:120px;box-shadow:inset 0 4px 0 #ffffff73, inset 0 -6px 0 #00000038, 0 6px 0 var(--ink), 0 10px 18px #00000059;text-shadow:0 3px #00000059,0 0 2px #00000080;border-radius:22px;padding:10px 26px 12px;font-size:clamp(18px,2.4vw,26px);font-weight:700;transition:transform 80ms,box-shadow 80ms,filter .15s;position:relative}.btn:hover{filter:brightness(1.08)}.btn:active{box-shadow:inset 0 4px 0 #fff6, inset 0 -3px 0 #0003, 0 1px 0 var(--ink), 0 3px 8px #0000004d;transform:translateY(5px)}.btn.green{--a:var(--green-a);--b:var(--green-b)}.btn.blue{--a:var(--blue-a);--b:var(--blue-b)}.btn.orange{--a:var(--orange-a);--b:var(--orange-b)}.btn.purple{--a:var(--purple-a);--b:var(--purple-b)}.btn.disabled{--a:#b8b0a6;--b:#7b736a}.btn.big{border-width:5px;border-radius:30px;padding:12px 54px 16px;font-size:clamp(28px,4.4vw,46px)}.btn.round{--a:#ffd36a;--b:#e5901c;border-radius:50%;place-items:center;width:58px;min-width:0;height:58px;padding:0;display:grid}.btn.round.small{width:52px;height:52px}.btn .glyph{font-family:Lilita,system-ui;font-size:24px;line-height:1}.btn .glyph.pause{letter-spacing:-2px;font-size:22px}.btn.pulse{animation:1.6s ease-in-out infinite pulse}.btn.dim{filter:grayscale(.8)brightness(.8)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.ico{object-fit:contain;filter:drop-shadow(0 2px #00000059);width:34px;height:34px}.ribbon{border:4px solid var(--ink);box-shadow:inset 0 3px 0 #ffffff59, 0 5px 0 var(--ink);background:linear-gradient(#ff6a50,#c92a1e);border-radius:8px;padding:4px 34px 8px;display:inline-block;position:relative}.ribbon:before,.ribbon:after{content:"";border:4px solid var(--ink);z-index:-1;background:#9c1f15;width:26px;height:100%;position:absolute;top:10px}.ribbon:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,40% 50%);left:-22px}.ribbon:after{clip-path:polygon(0 0,100% 0,60% 50%,100% 100%,0 100%);right:-22px}.ribbon span{font-family:var(--font);color:#fff;text-shadow:0 3px #0006;white-space:nowrap;font-size:clamp(20px,3vw,32px);font-weight:700}.logo{flex-direction:column;align-items:center;display:flex;position:relative;transform:rotate(-3deg)}.logo-word{letter-spacing:2px;font-family:Lilita,sans-serif;font-size:clamp(56px,11vw,150px);line-height:.95;position:relative}.logo-word span{white-space:nowrap;display:block}.lw-back{color:var(--ink);-webkit-text-stroke:16px var(--ink);text-shadow:0 12px 0 var(--ink), 0 18px 30px #00000073}.lw-front{background:linear-gradient(#fff7b0 0%,#ffd23f 38%,#ff9a1f 72%,#e2580f 100%);color:#0000;-webkit-text-stroke:2px #78320059;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.lw-front:after{content:""}.logo-rock{filter:drop-shadow(0 6px #00000059);width:clamp(44px,7vw,96px);animation:2.6s ease-in-out infinite bob;position:absolute;top:-34%;right:-5%;transform:rotate(18deg)}.logo .ribbon{margin-top:-6px;transform:rotate(2deg)}.logo .ribbon span{font-size:clamp(26px,4.4vw,52px)}.logo.small .logo-word{font-size:clamp(40px,7vw,80px)}@keyframes bob{0%,to{transform:rotate(18deg)translateY(0)}50%{transform:rotate(10deg)translateY(-10px)}}#loading{z-index:50;place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0;overflow:hidden}#loading.out{opacity:0;pointer-events:none}.load-bg{filter:saturate(1.1);background:#2a170a url(/art/loading.webp) 50%/cover;animation:18s ease-in-out infinite alternate kb;position:absolute;inset:-20px}.load-bg:after{content:"";background:radial-gradient(at 50% 35%,#0000 30%,#140800a6 100%),linear-gradient(#0000 55%,#140800bf);position:absolute;inset:0}@keyframes kb{0%{transform:scale(1.05)}to{transform:scale(1.14)translate(-1%,1%)}}.load-inner{flex-direction:column;align-items:center;gap:26px;margin-top:-6vh;display:flex;position:relative}.load-bar{border:4px solid var(--ink);width:min(520px,78vw);height:30px;box-shadow:inset 0 4px 0 #00000059, 0 5px 0 var(--ink);background:#3b2412;border-radius:18px;position:relative;overflow:visible}#load-fill{background:linear-gradient(#ffe680,#ffb21f 55%,#e2780f);border-radius:13px;width:0;height:100%;transition:width .25s;box-shadow:inset 0 3px #ffffff80}.load-rock{width:46px;display:none;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}#load-text{text-shadow:0 2px #000,0 0 10px #0009;font-size:clamp(16px,2.2vw,22px);font-weight:700}.screen{position:absolute;inset:0}.title-screen{padding:calc(4vh + var(--safe-t)) 16px calc(5vh + var(--safe-b));background:radial-gradient(at 50% 100%,#1e0c008c,#0000 55%);flex-direction:column;justify-content:space-between;align-items:center;display:flex}.title-screen .logo{margin-top:1vh;animation:.8s cubic-bezier(.2,1.6,.4,1) both drop}@keyframes drop{0%{opacity:0;transform:translateY(-60px)rotate(-8deg)scale(.7)}to{opacity:1;transform:rotate(-3deg)}}.title-bottom{flex-direction:column;align-items:center;gap:18px;display:flex}.row{gap:14px;display:flex}.title-tip{bottom:calc(10px + var(--safe-b));text-align:center;opacity:.85;text-shadow:0 2px #000;font-size:14px;font-weight:500;position:absolute;left:0;right:0}.map-screen{overflow:hidden}.map-bg{background-position:50%;background-size:cover;animation:.6s both mapin;position:absolute;inset:0}@keyframes mapin{0%{filter:brightness(.6);transform:scale(1.08)}to{filter:none;transform:scale(1)}}.map-vignette{pointer-events:none;background:radial-gradient(#0000 50%,#140a008c 100%);position:absolute;inset:0}.map-path{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-path path{fill:none;stroke-linecap:round}.map-path .road-edge{stroke:#46280f8c;stroke-width:22px}.map-path .road{stroke:#e8c88a;stroke-width:15px}.map-path .road-dash{stroke:#fff4d6;stroke-width:4px;stroke-dasharray:2 16}.node{border:5px solid var(--ink);cursor:pointer;width:clamp(56px,7vw,78px);height:clamp(56px,7vw,78px);box-shadow:inset 0 -6px 0 #00000040, inset 0 4px 0 #ffffff80, 0 6px 0 var(--ink), 0 10px 18px #0006;color:#fff;background:radial-gradient(circle at 35% 30%,#ffe9a0,#f5b52c 55%,#c47410);border-radius:50%;place-items:center;padding:0;font-family:Lilita;transition:transform .1s;animation:.5s cubic-bezier(.2,1.6,.4,1) both nodein;display:grid;position:absolute;transform:translate(-50%,-50%)}.node:nth-of-type(odd){animation-delay:50ms}.node:active{transform:translate(-50%,-46%)}.node .num{text-shadow:0 3px #5a2800cc,0 0 3px #00000080;font-size:clamp(24px,3vw,34px)}.node.boss{background:radial-gradient(circle at 35% 30%,#ffb0a0,#e3402f 55%,#8c160c);width:clamp(70px,9vw,96px);height:clamp(70px,9vw,96px)}.node.locked{background:radial-gradient(circle at 35% 30%,#d8d2c8,#9e968b 60%,#6a635b)}.node-lock{object-fit:contain;width:60%;height:60%}.node.current{box-shadow:0 0 0 6px #ffffffbf, 0 0 34px 10px #ffe678e6, 0 6px 0 var(--ink);animation:.5s both nodein,1.4s ease-in-out .5s infinite glow}@keyframes glow{0%,to{filter:brightness()}50%{filter:brightness(1.18)}}@keyframes nodein{0%{transform:translate(-50%,-50%)scale(0)}to{transform:translate(-50%,-50%)scale(1)}}.node-stars{gap:0;display:flex;position:absolute;bottom:-22px}.nstar{filter:drop-shadow(0 2px #00000080);width:22px;height:22px}.nstar:nth-child(2){transform:translateY(5px)}.nstar.off{filter:grayscale()brightness(.45)drop-shadow(0 2px #00000080)}.here{color:#fff;text-shadow:0 3px 0 var(--ink);font-size:30px;animation:.8s ease-in-out infinite hop;position:absolute;top:-42px}@keyframes hop{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.topbar{top:calc(12px + var(--safe-t));left:calc(12px + var(--safe-l));right:calc(12px + var(--safe-r));justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute}.world-title{align-items:center;gap:30px;display:flex}.ribbon.wide span{font-size:clamp(16px,2.4vw,28px)}.arrow-space{width:52px}.pills{gap:8px;display:flex}.pill{pointer-events:none;border:3px solid var(--ink);background:#281405c7;border-radius:30px;align-items:center;gap:6px;padding:4px 16px 4px 6px;display:flex;box-shadow:inset 0 2px #ffffff26,0 4px #0006}.pill b{text-shadow:0 2px #000;font-family:Lilita;font-size:clamp(18px,2.2vw,26px);font-weight:400}.map-bottom{right:calc(16px + var(--safe-r));bottom:calc(16px + var(--safe-b));position:absolute}.shopbtn{align-items:center;gap:8px;display:flex}.shopbtn .ico{width:40px;height:40px}.modal-wrap{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;background:#0f06008c;place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:linear-gradient(180deg, var(--wood-hi), var(--wood) 30%, var(--wood-lo));border:5px solid var(--ink);width:min(520px,92vw);max-height:92vh;box-shadow:inset 0 4px 0 #ffffff40, inset 0 -8px 0 #00000040, 0 10px 0 var(--ink), 0 20px 50px #0009;border-radius:26px;flex-direction:column;align-items:center;padding:46px 22px 22px;animation:.35s cubic-bezier(.2,1.6,.4,1) popin;display:flex;position:relative}.modal.wide{width:min(680px,94vw)}@keyframes popin{0%{opacity:0;transform:scale(.6)}}.modal-title{position:absolute;top:-26px}.modal-body{background:linear-gradient(180deg, var(--parch), var(--parch-lo));width:100%;color:var(--ink);border:4px solid var(--ink);border-radius:16px;padding:16px;overflow:auto;box-shadow:inset 0 3px 8px #78460a59}.modal-btns{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.modal-btns .btn{min-width:110px;padding:8px 20px 10px;font-size:clamp(17px,2.2vw,22px)}.credits p{margin:6px 0;font-size:15px;font-weight:500;line-height:1.45}.pause-body{justify-content:center;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.shop{flex-direction:column;gap:10px;display:flex}.shop-row{background:#ffffff73;border:3px solid #5a320a59;border-radius:14px;align-items:center;gap:12px;padding:10px;display:flex}.shop-icon{border:3px solid var(--ink);background:radial-gradient(circle,#4b2a8a,#1d0f3a);border-radius:14px;flex:none;place-items:center;width:70px;height:70px;display:grid}.shop-icon .ico{width:54px;height:54px}.shop-info{flex:1;min-width:0}.shop-name{font-size:22px;font-weight:700}.shop-name small{opacity:.7;font-size:14px;font-weight:500}.shop-desc{opacity:.85;font-size:14px;font-weight:500}.pips{gap:5px;margin-top:5px;display:flex}.pips i{background:#b9a582;border:2px solid #3c1e0599;border-radius:50%;width:18px;height:18px}.pips i.on{background:radial-gradient(circle at 35% 30%,#fff3a0,#f5b52c 60%,#c47410)}.btn.buy{border-radius:16px;min-width:0;padding:6px 14px 8px;font-size:20px}.price{align-items:center;gap:4px;font-family:Lilita;font-weight:400;display:flex}.price .ico{width:26px;height:26px}.maxed{color:#3a7a10;padding:0 10px;font-weight:700}.shop-foot{justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.shop-foot b{font-family:Lilita;font-size:22px;font-weight:400}.result{flex-direction:column;align-items:center;gap:10px;display:flex}.res-stars{align-items:flex-end;gap:6px;margin:4px 0;display:flex}.rstar{width:clamp(70px,12vw,104px);height:auto;transition:filter .2s}.rstar.s1{width:clamp(88px,15vw,128px);transform:translateY(-14px)}.rstar.off{filter:grayscale()brightness(.5)opacity(.8)}.rstar.got{animation:.45s cubic-bezier(.2,1.8,.4,1) starpop}.rstar.s1.got{animation:.45s cubic-bezier(.2,1.8,.4,1) starpop1}@keyframes starpop{0%{opacity:0;transform:scale(2.2)rotate(-40deg)}}@keyframes starpop1{0%{opacity:0;transform:translateY(-14px)scale(2.2)rotate(-40deg)}to{transform:translateY(-14px)}}.res-gain{border:3px solid var(--ink);color:#fff;background:#3a1c66;border-radius:30px;align-items:center;gap:8px;padding:6px 22px 6px 10px;display:flex}.res-gain .ico{width:40px;height:40px}.res-gain b{text-shadow:0 2px #000;font-family:Lilita;font-size:32px;font-weight:400}.lose-face{flex-direction:column;align-items:center;display:flex}.big-enemy{width:110px;height:110px;animation:1.2s ease-in-out infinite wobble}.lose-face p{text-align:center;margin:6px 0 0;font-size:18px;font-weight:700}@keyframes wobble{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.hud{position:absolute;inset:0}.hud-tl{top:calc(10px + var(--safe-t));left:calc(10px + var(--safe-l));align-items:center;gap:30px;display:flex;position:absolute}.ribbon.level span{font-size:clamp(18px,2.4vw,26px)}.hud-tc{top:calc(12px + var(--safe-t));position:absolute;left:50%;transform:translate(-50%)}.hud-tr{top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r));position:absolute}.pill.enemy .ico{width:40px;height:40px}.hud-bc{bottom:calc(12px + var(--safe-b));border:3px solid var(--ink);background:#28140599;border-radius:40px;gap:10px;padding:8px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.ammo,.ability{border:4px solid var(--ink);cursor:pointer;width:clamp(62px,8vw,82px);height:clamp(62px,8vw,82px);box-shadow:inset 0 3px 0 #ffffff40, 0 4px 0 var(--ink);background:radial-gradient(circle at 35% 30%,#5a6b80,#263040 70%);border-radius:50%;place-items:center;padding:0;transition:transform .1s,box-shadow .15s;display:grid;position:relative}.ammo .ico,.ability .ico{width:74%;height:74%}.ammo.sel{box-shadow:0 0 0 4px #ffe066, 0 0 22px 6px #ffdc5abf, 0 4px 0 var(--ink);transform:translateY(-4px)scale(1.06)}.ammo.empty,.ability.empty{filter:grayscale()brightness(.6)}.badge{border:3px solid var(--ink);color:#fff;text-shadow:0 2px #0006;background:linear-gradient(#ff6a50,#c92a1e);border-radius:15px;min-width:30px;height:30px;padding:0 6px;font-family:Lilita;font-size:18px;line-height:24px;position:absolute;bottom:-6px;right:-6px}.hud-br{bottom:calc(14px + var(--safe-b));right:calc(14px + var(--safe-r));gap:14px;display:flex;position:absolute}.ability{border-color:var(--ink);box-shadow:0 0 0 4px #e7a63c, 0 4px 0 var(--ink);background:radial-gradient(circle at 35% 30%,#ffb35c,#a33a10 70%)}.ability[data-ab=meteor]{box-shadow:0 0 0 4px #7aa7ff, 0 4px 0 var(--ink);background:radial-gradient(circle at 35% 30%,#a8c8ff,#2b3fa0 70%)}.ab-label{white-space:nowrap;text-shadow:0 2px #000,0 0 4px #000;font-size:13px;font-weight:700;position:absolute;bottom:-24px;left:50%;transform:translate(-50%)}.hud-br{bottom:calc(26px + var(--safe-b))}.giveup{right:calc(14px + var(--safe-r));bottom:calc(130px + var(--safe-b));--a:var(--orange-a);--b:var(--orange-b);min-width:0;padding:6px 16px 8px;font-size:18px;position:absolute}.hidden{display:none!important}.hint{left:50%;bottom:calc(120px + var(--safe-b));white-space:nowrap;opacity:0;text-shadow:0 2px #000;background:#140a009e;border-radius:20px;padding:8px 20px;font-size:clamp(16px,2vw,22px);font-weight:700;transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%)translateY(10px)}.hint.show{opacity:1;transform:translate(-50%)}.level-banner{text-align:center;z-index:8;pointer-events:none;transition:opacity .5s,transform .5s;animation:.5s cubic-bezier(.2,1.6,.4,1) bannerin;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}.level-banner.out{opacity:0;transform:translate(-50%,-80%)}.lb-sub{color:#ffe27a;text-shadow:0 3px 0 var(--ink), 0 0 12px #00000080;font-family:Kanit;font-size:clamp(20px,3vw,30px);font-weight:700}.lb-title{color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:0 5px 0 var(--ink), 0 10px 26px #00000080;white-space:nowrap;font-family:Kanit;font-size:clamp(34px,6vw,72px);font-weight:700}@keyframes bannerin{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}}.pop{color:#fff;text-shadow:0 3px 0 var(--ink), 0 0 8px #0009;z-index:9;pointer-events:none;white-space:nowrap;font-family:Kanit;font-size:28px;font-weight:700;animation:1.1s ease-out forwards popup;position:fixed;transform:translate(-50%,-50%)}.pop.gem{color:#e4c2ff;font-size:34px}.pop.kill{color:#ffe066}@keyframes popup{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}15%{opacity:1;transform:translate(-50%,-80%)scale(1.2)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}.toast{border:3px solid var(--ink);z-index:30;background:#140a00cc;border-radius:18px;padding:10px 22px;font-size:18px;font-weight:700;transition:opacity .4s;position:fixed;top:18%;left:50%;transform:translate(-50%)}.toast.out{opacity:0}@media (max-aspect-ratio:1){.hud-tl{gap:24px}.hud-tc{top:calc(74px + var(--safe-t))}.hud-bc{left:calc(10px + var(--safe-l));bottom:calc(12px + var(--safe-b));gap:6px;padding:6px 8px;transform:none}.hud-br{gap:10px}.hint{bottom:calc(160px + var(--safe-b));white-space:normal;text-align:center;width:max-content;max-width:88vw}.world-title{gap:18px;position:absolute;top:66px;left:50%;transform:translate(-50%)}.topbar .pills{margin-left:auto}.giveup{bottom:calc(150px + var(--safe-b))}}@media (max-height:460px){.ammo,.ability{width:56px;height:56px}.btn.big{padding:8px 36px 10px;font-size:28px}.logo-word{font-size:clamp(44px,9vw,90px)}}body.from-kid .hud-tl,body.from-kid .topbar{left:calc(76px + var(--safe-l))}.btn.farm-btn{--a:#ffe08a;--b:#f0a020;color:#5a2d00;text-shadow:0 2px #fff6;border-radius:26px;min-width:0;height:52px;padding:0 20px;font-size:18px}@media (max-height:460px){.title-tip{display:none}}
