:root{--bg-0: #050505;--bg-1: #0a0a0a;--bg-2: #121212;--bg-3: #1a1a1a;--bg-4: #242424;--ink-0: #d4d4d4;--ink-1: #9a9a9a;--ink-2: #6a6a6a;--ink-3: #3e3e3e;--gold: #d9a94a;--gold-dim: #8c6a26;--gold-deep: #2a1e08;--crimson: #c94a4a;--crimson-dim: #7a2828;--crimson-deep: #2a0c0c;--mana: #5a8ec9;--mana-dim: #2e4a7a;--mana-deep: #0c1a2e;--stam: #6aa85a;--stam-dim: #3e6a34;--stam-deep: #0e1e0a;--panel-bg: #0a0a0a;--panel-border: #2e2e2e;--panel-border-hi: #4a4a4a;--panel-border-lo: #000000;--font-header: "Press Start 2P", monospace;--font-body: "VT323", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:#000;color:var(--ink-0)}body{font-family:var(--font-body);font-size:18px;overflow:hidden;image-rendering:pixelated;-webkit-font-smoothing:none;font-smooth:never;cursor:url(/cursor.png) 0 0,default}canvas{display:block}[style*="cursor: pointer"],[style*="cursor:pointer"]{cursor:url(/cursor-pointer.png) 0 0,pointer!important}.cursor-hidden,.cursor-hidden *{cursor:none!important}.hud-zoom{zoom:var(--ui-scale, 1)}body{user-select:none;-webkit-user-select:none}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(0,0,0,.35) 85%,rgba(0,0,0,.7) 100%);pointer-events:none;z-index:50}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#05070e}::-webkit-scrollbar-thumb{background:var(--panel-border);box-shadow:inset 0 0 0 1px var(--panel-border-hi)}@keyframes fhRaySpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes fhDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.dots:after{content:"";animation:fhDots 1s steps(4) infinite}button{transition:transform 80ms ease-out,filter 80ms ease-out}button:active{transform:translate(2px,2px);filter:brightness(.8)}@keyframes fhIconPop{0%{transform:scale(.7)}55%{transform:scale(1.15)}to{transform:scale(1)}}.fh-pop{animation:fhIconPop .18s ease-out}@keyframes fhToastIn{0%{transform:translate(110%);opacity:0}15%{transform:translate(0);opacity:1}85%{transform:translate(0);opacity:1}to{transform:translate(60%);opacity:0}}.fh-toast{animation:fhToastIn 2.4s ease-out forwards}@keyframes fhToastInLeft{0%{transform:translate(-110%);opacity:0}15%{transform:translate(0);opacity:1}85%{transform:translate(0);opacity:1}to{transform:translate(-60%);opacity:0}}.fh-toast-l{animation:fhToastInLeft 2.4s ease-out forwards}@keyframes fhXpDrop{0%{transform:translateY(0) scale(.85);opacity:0}12%{transform:translateY(-2px) scale(1.08);opacity:1}70%{transform:translateY(-22px) scale(1);opacity:.95}to{transform:translateY(-44px) scale(.95);opacity:0}}.fh-xp-drop{position:absolute;left:0;bottom:100%;margin-bottom:6px;white-space:nowrap;font-family:var(--font-header);font-size:18px;letter-spacing:1.2px;pointer-events:none;animation:fhXpDrop 1.2s ease-out forwards}@keyframes fhXpPulse{0%{transform:scale(1);filter:brightness(1)}20%{transform:scale(1.04);filter:brightness(1.25)}to{transform:scale(1);filter:brightness(1)}}.fh-xp-tracker{animation:fhXpPulse .32s ease-out}@keyframes fhPetEggShake{0%,to{transform:rotate(0) scale(1)}15%{transform:rotate(-12deg) scale(1.04)}30%{transform:rotate(10deg) scale(1.04)}45%{transform:rotate(-8deg) scale(1.06)}60%{transform:rotate(8deg) scale(1.06)}80%{transform:rotate(-4deg) scale(1.1)}}.fh-pet-egg-shake{animation:fhPetEggShake 1.2s ease-in-out infinite;transform-origin:center bottom}@keyframes fhPetEggCrack{0%,to{transform:rotate(0) scale(1.04)}10%{transform:rotate(-22deg) scale(1.1)}20%{transform:rotate(20deg) scale(1.1)}30%{transform:rotate(-18deg) scale(1.14)}40%{transform:rotate(18deg) scale(1.14)}55%{transform:rotate(-10deg) scale(1.18)}70%{transform:rotate(10deg) scale(1.18)}85%{transform:rotate(-4deg) scale(1.2)}}.fh-pet-egg-crack{animation:fhPetEggCrack .48s ease-in-out infinite;transform-origin:center bottom}@keyframes fhPetReveal{0%{transform:scale(.2) rotate(-12deg);opacity:0;filter:brightness(2.5)}35%{transform:scale(1.22) rotate(6deg);opacity:1;filter:brightness(1.7)}65%{transform:scale(.94) rotate(-3deg);opacity:1;filter:brightness(1.1)}to{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}}.fh-pet-reveal{animation:fhPetReveal .85s cubic-bezier(.2,1.1,.4,1) forwards}@keyframes fhPetIdleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes fhTipIn{0%{opacity:0}to{opacity:1}}.fh-tip{animation:fhTipIn .12s ease-out}@keyframes fhTabIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.fh-tab-in{animation:fhTabIn .12s ease-out}@keyframes minigamePerfectPop{0%{transform:translate(-50%) scale(.6);opacity:0}20%{transform:translate(-50%) scale(1.25);opacity:1}60%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%) scale(1) translateY(-12px);opacity:0}}@keyframes craftReveal{0%{transform:scale(.6) rotate(-8deg);filter:brightness(2) drop-shadow(0 0 12px rgba(217,169,74,.9))}55%{transform:scale(1.15) rotate(2deg);filter:brightness(1.4) drop-shadow(0 0 8px rgba(217,169,74,.5))}to{transform:scale(1) rotate(0);filter:brightness(1) drop-shadow(0 0 0 rgba(0,0,0,0))}}@keyframes craftPop{0%{opacity:0;transform:translateY(6px) scale(.8)}25%{opacity:1;transform:translateY(-8px) scale(1.1)}to{opacity:0;transform:translateY(-40px) scale(1)}}@keyframes recipeToastIn{0%{opacity:0;transform:translate(40px)}20%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.panel-crimson{position:relative;--crim-bracket: 14px;--crim-thick: 2px;--crim-color: var(--crimson);--crim-inset: 4px}.panel-crimson:before,.panel-crimson:after,.panel-crimson>.ph-corners:before,.panel-crimson>.ph-corners:after{content:"";position:absolute;width:var(--crim-bracket);height:var(--crim-bracket);pointer-events:none;border:0 solid var(--crim-color);z-index:2}.panel-crimson:before{top:var(--crim-inset);left:var(--crim-inset);border-top-width:var(--crim-thick);border-left-width:var(--crim-thick)}.panel-crimson:after{top:var(--crim-inset);right:var(--crim-inset);border-top-width:var(--crim-thick);border-right-width:var(--crim-thick)}.panel-crimson>.ph-corners:before{bottom:var(--crim-inset);left:var(--crim-inset);border-bottom-width:var(--crim-thick);border-left-width:var(--crim-thick)}.panel-crimson>.ph-corners:after{bottom:var(--crim-inset);right:var(--crim-inset);border-bottom-width:var(--crim-thick);border-right-width:var(--crim-thick)}.panel-crimson>.ph-corners{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}@keyframes fhMenuIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fhDiamondPulse{0%,to{box-shadow:inset 0 0 0 2px var(--crimson),0 0 32px #ff5a5a73,0 4px #0009}50%{box-shadow:inset 0 0 0 2px var(--crimson),0 0 48px #ff5a5aa6,0 4px #0009}}@keyframes fhPageTurn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.fh-page-turn{animation:fhPageTurn .14s ease-out}@keyframes fhLeafNext{0%{opacity:1;transform:rotateY(0);filter:brightness(1);box-shadow:0 0 0 transparent}40%{opacity:1;transform:rotateY(-70deg);filter:brightness(.7);box-shadow:-34px 6px 60px -18px #000000a6}55%{opacity:0;transform:rotateY(-110deg);filter:brightness(.6)}to{opacity:0;transform:rotateY(-180deg);filter:brightness(.5)}}.fh-leaf-next{animation:fhLeafNext 1.5s cubic-bezier(.45,.05,.55,.95) forwards}@keyframes fhLeafPrev{0%{opacity:1;transform:rotateY(0);filter:brightness(1);box-shadow:0 0 0 transparent}40%{opacity:1;transform:rotateY(70deg);filter:brightness(.7);box-shadow:34px 6px 60px -18px #000000a6}55%{opacity:0;transform:rotateY(110deg);filter:brightness(.6)}to{opacity:0;transform:rotateY(180deg);filter:brightness(.5)}}.fh-leaf-prev{animation:fhLeafPrev 1.5s cubic-bezier(.45,.05,.55,.95) forwards}@keyframes fhSpreadFadeOut{0%,25%{opacity:1}to{opacity:0}}.fh-spread-fade-out{animation:fhSpreadFadeOut 1.5s cubic-bezier(.45,.05,.55,.95) forwards}@keyframes fhBookmarkPulse{0%,to{box-shadow:inset 0 0 0 2px var(--crimson),0 0 18px #ff5a5a73}50%{box-shadow:inset 0 0 0 2px var(--crimson),0 0 28px #ff5a5aa6}}@keyframes fh-skystar-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.18)}}
