@font-face{font-family:Creepster;font-style:normal;font-display:swap;font-weight:400;src:url(./creepster-latin-400-normal-DnKpM-ys.woff2)format("woff2"),url(./creepster-latin-400-normal-DFidaany.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-english-sc-latin-400-normal-CW_nhHm4.woff2)format("woff2"),url(./im-fell-english-sc-latin-400-normal-DPW2r_p4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--safe-l:max(24px, env(safe-area-inset-left));--safe-r:max(24px, env(safe-area-inset-right));--safe-t:max(24px, env(safe-area-inset-top));--safe-b:max(24px, env(safe-area-inset-bottom));--bone:#e8dfc4;--ember:#ffb347;--blood:#b3242c;--ecto:#8ff5e0;--ink:#05070a;--display:"Creepster", "Chiller", fantasy;--serif:"IM Fell English SC", "Palatino Linotype", Georgia, serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--ink);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{color:var(--bone);font-family:var(--serif);-webkit-user-select:none;user-select:none;touch-action:none;font-size:14px}#app{position:fixed;top:0;bottom:0;left:0;right:0}canvas{display:block;position:absolute;top:0;bottom:0;left:0;right:0}.hidden{display:none!important}.fog{pointer-events:none;mix-blend-mode:screen;opacity:.35;filter:blur(18px);position:absolute;top:-20%;bottom:-20%;left:-20%;right:-20%}.fog-a{background:radial-gradient(40% 30% at 30% 60%,#8caab459,#0000 70%),radial-gradient(35% 25% at 75% 35%,#7896aa4d,#0000 70%);animation:38s linear infinite alternate drift}.fog-b{background:radial-gradient(30% 20% at 60% 75%,#a0b4be4d,#0000 70%),radial-gradient(25% 25% at 15% 25%,#82a0aa40,#0000 70%);animation:52s linear infinite alternate-reverse drift}@keyframes drift{0%{transform:translate(-6%,2%)}to{transform:translate(6%,-3%)}}.vignette{pointer-events:none;background:radial-gradient(#0000 45%,#000000d9 100%);position:absolute;top:0;bottom:0;left:0;right:0}body.hurt .vignette{animation:.6s ease-out hurt}@keyframes hurt{0%{background:radial-gradient(#78000040 30%,#5a0000f2 100%)}to{background:radial-gradient(#0000 45%,#000000d9 100%)}}.flicker{animation:4.5s infinite flicker}@keyframes flicker{0%,18%,22%,25%,53%,57%,to{opacity:1;text-shadow:0 0 6px #ff8c3ccc,0 0 22px #ff501e8c,0 0 44px #b3242c80}20%,24%,55%{opacity:.55;text-shadow:none}}#hud{top:var(--safe-t);left:var(--safe-l);right:var(--safe-r);pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute}.hud-left{flex-direction:column;gap:4px;display:flex}.tide-label{font-family:var(--display);letter-spacing:1px;color:var(--ember);text-shadow:0 0 10px #ff782899;font-size:22px;line-height:1}.hearts{gap:4px;display:flex}.heart{width:20px;height:20px;fill:var(--blood);filter:drop-shadow(0 0 4px #ff2828b3)}.heart.lost{fill:#ffffff1f;filter:none}.hud-center{flex-direction:column;align-items:center;gap:3px;min-width:180px;display:flex}.oil-caption,.souls{letter-spacing:1px;color:#e8dfc4cc;font-size:12px}.oil{background:#00000080;border:1px solid #ffbe6480;border-radius:6px;width:180px;height:10px;overflow:hidden}.oil-fill{background:linear-gradient(90deg, #8a3b12, var(--ember), #ffe6a6);height:100%;transition:width .1s linear;box-shadow:0 0 10px #ffaa3ccc}.oil-fill.dry{box-shadow:none;background:#5a1c14;animation:.4s infinite blink}@keyframes blink{50%{opacity:.3}}.icon-btn{pointer-events:auto;background:#05070a99;border:1px solid #e8dfc459;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid}.icon-btn svg{width:22px;height:22px;fill:var(--bone)}#controls{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.stick{bottom:var(--safe-b);pointer-events:auto;touch-action:none;border-radius:50%;width:124px;height:124px;position:absolute}#moveStick{left:var(--safe-l)}#aimStick{right:var(--safe-r)}.stick-ring{background:radial-gradient(circle,#e8dfc40f,#00000059);border:2px solid #e8dfc440;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 18px #000c}.stick.aim .stick-ring{border-color:#ffb34759}.stick.held .stick-ring{border-color:#e8dfc499}.knob{background:radial-gradient(circle at 35% 30%,#6b6a63,#24231f);border:1px solid #e8dfc466;border-radius:50%;width:52px;height:52px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #000000b3}.lantern-knob{background:radial-gradient(circle at 40% 35%,#ffe7a8,#c46a1a 60%,#3d1a05);box-shadow:0 0 18px #ffa03c99}.stick-cap{letter-spacing:1px;color:#e8dfc48c;font-size:12px;display:none;position:absolute;bottom:-2px;left:50%;transform:translate(-50%,100%)}.flare-btn{right:calc(var(--safe-r) + 136px);bottom:calc(var(--safe-b) + 8px);pointer-events:auto;width:60px;height:60px;color:var(--ecto);background:radial-gradient(circle,#8ff5e02e,#0009);border:2px solid #8ff5e080;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;box-shadow:0 0 14px #8ff5e04d}.flare-btn svg{width:26px;height:26px;fill:var(--ecto)}.flare-btn span{background:var(--ink);border:1px solid var(--ecto);min-width:22px;height:22px;font-size:12px;line-height:20px;font-family:var(--serif);border-radius:11px;position:absolute;top:-4px;right:-4px}.flare-btn.empty{opacity:.35;box-shadow:none}.flare-btn:active,.big-btn:active,.icon-btn:active{transform:scale(.94)}.banner{text-align:center;pointer-events:none;position:absolute;top:32%;left:50%;transform:translate(-50%,-50%)}.banner.fade{animation:2.4s forwards bannerIn}@keyframes bannerIn{0%{opacity:0;letter-spacing:12px}15%{opacity:1;letter-spacing:3px}80%{opacity:1}to{opacity:0}}.banner-title{font-family:var(--display);color:var(--ember);font-size:54px;line-height:1}.banner-sub{color:var(--bone);text-shadow:0 0 8px #000;margin-top:6px;font-size:16px}.screen{padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);text-align:center;background:radial-gradient(#05070a59,#05070ae0);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.title{font-family:var(--display);color:var(--ember);letter-spacing:3px;margin:0;font-size:76px;font-weight:400;line-height:.95}.title.small{font-size:52px}#endScreen.won .title{color:#ffe9b0}.subtitle{color:#e8dfc4e0;max-width:520px;margin:0;font-size:15px}.howto{color:#e8dfc4bf;gap:18px;margin:4px 0 6px;font-size:13px;display:flex}.howto .glyph{color:var(--ember);margin-right:6px}.big-btn{min-width:220px;min-height:52px;font-family:var(--display);letter-spacing:2px;color:var(--ink);background:radial-gradient(circle at 50% 30%, #ffe2a0, var(--ember) 55%, #9a3d0d);border:none;border-radius:26px;padding:0 26px;font-size:26px;box-shadow:0 0 24px #ff96328c,inset 0 -3px #0000004d}.text-btn{min-height:44px;font-family:var(--serif);color:#e8dfc4bf;text-underline-offset:4px;background:0 0;border:none;padding:0 16px;font-size:14px;text-decoration:underline}.rotate{z-index:10;background:var(--ink);color:var(--bone);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;font-size:16px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.rotate svg{fill:none;width:72px;height:72px;stroke:var(--ember);stroke-width:3px;stroke-linecap:round;animation:2s ease-in-out infinite tilt}@keyframes tilt{50%{transform:rotate(-90deg)}}@media (orientation:portrait){.rotate{display:flex}}@media (max-height:360px){.title{font-size:60px}.howto{display:none}}@media (prefers-reduced-motion:reduce){.fog,.flicker,.banner.fade{animation:none}}
