@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:#000;font-family:"Press Start 2P",monospace;image-rendering:pixelated;image-rendering:crisp-edges}.game-canvas{display:block;width:100vw;height:100vh;image-rendering:pixelated;image-rendering:crisp-edges}.cinematic-container{width:100vw;height:100vh;background:#0a0a1a;position:relative;overflow:hidden;cursor:pointer}.cinema-canvas{display:block;width:100vw;height:100vh;image-rendering:pixelated;image-rendering:crisp-edges}.intro-screen{width:100vw;height:100vh;background:#0a0a1a;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;animation:introFadeIn .6s ease-out}@keyframes introFadeIn{0%{opacity:0}to{opacity:1}}.intro-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.star{position:absolute;width:3px;height:3px;background:#fff;animation:twinkle 2s ease-in-out infinite alternate;box-shadow:0 0 4px #fff8}@keyframes twinkle{0%{opacity:.2;transform:scale(.8)}to{opacity:1;transform:scale(1.3)}}.intro-logo{text-align:center;z-index:1;opacity:0;transform:scale(.5);transition:all .8s cubic-bezier(.34,1.56,.64,1)}.intro-logo.animate{opacity:1;transform:scale(1)}.logo-container{position:relative;display:inline-block;padding:2rem 3rem}.logo-sword{font-size:3rem;margin-bottom:.5rem;animation:swordFloat 2s ease-in-out infinite;filter:drop-shadow(0 0 8px #ffd700)}@keyframes swordFloat{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}.game-title{font-size:3.5rem;letter-spacing:.15em;color:#fff;text-shadow:3px 3px 0 #1a5c10,-1px -1px 0 #1a5c10,1px -1px 0 #1a5c10,-1px 1px 0 #1a5c10,0 0 20px #3B8C2A88,0 0 40px #3B8C2A44;margin:0;line-height:1.2}.title-letter{display:inline-block;animation:letterBounce .6s ease-out both}@keyframes letterBounce{0%{transform:translateY(-40px);opacity:0}60%{transform:translateY(4px)}to{transform:translateY(0);opacity:1}}.logo-subtitle{font-size:.7rem;color:#aaa;letter-spacing:.4em;margin-top:.5rem}.logo-pixel-border{height:4px;margin:.8rem auto 0;width:80%;background:repeating-linear-gradient(90deg,#3B8C2A 0px,#3B8C2A 6px,transparent 6px,transparent 10px)}.logo-pixel-border.bottom{margin-top:.5rem;background:repeating-linear-gradient(90deg,#1a5c10 0px,#1a5c10 6px,transparent 6px,transparent 10px)}.intro-info{margin-top:3rem;text-align:center;z-index:1}.intro-pixel-char{width:32px;height:48px;margin:0 auto 1.5rem;position:relative;animation:charWalk .6s steps(2) infinite}.intro-pixel-char:before{content:"";position:absolute;width:20px;height:20px;background:#ffd5a0;top:0;left:6px;box-shadow:8px 8px #000,14px 8px #000,0 -4px #5c3317,8px -4px #5c3317,2px 20px #36c,8px 20px #36c,14px 20px #36c,2px 26px #36c,8px 26px #36c,14px 26px #36c,4px 32px #348,8px 32px #348,12px 32px #348,4px 38px #348,12px 38px #348}@keyframes charWalk{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}.press-start{font-size:.85rem;color:gold;text-shadow:0 0 10px #FFD70066;transition:opacity .15s}.press-start.hidden{opacity:0}.intro-menu{margin-top:2.5rem;z-index:1;animation:menuSlideUp .5s ease-out .3s both}@keyframes menuSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.start-btn{font-family:"Press Start 2P",monospace;font-size:.75rem;color:gold;background:linear-gradient(180deg,#1a3a1a,#0e2a0e);border:2px solid #3B8C2A;padding:.8rem 2rem;cursor:pointer;letter-spacing:.1em;transition:all .2s;box-shadow:0 0 15px #3b8c2a4d,inset 0 1px #ffffff1a;position:relative;overflow:hidden}.start-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,215,0,.1),transparent);transform:translate(-100%);animation:btnShine 2.5s ease-in-out infinite}@keyframes btnShine{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.start-btn:hover{background:linear-gradient(180deg,#224a22,#163816);border-color:gold;box-shadow:0 0 25px #ffd7004d,inset 0 1px #ffffff26;transform:scale(1.05)}.start-btn:active{transform:scale(.98);box-shadow:0 0 10px #3b8c2a66}.start-icon{margin-right:.5rem;font-size:.6rem}.intro-controls{position:absolute;bottom:3rem;z-index:1;text-align:center}.control-row{font-size:.5rem;color:#888;margin:.5rem 0;display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}.key{background:#222;border:1px solid #555;border-bottom:2px solid #444;padding:.2rem .5rem;font-size:.45rem;color:#ddd;border-radius:3px;font-family:"Press Start 2P",monospace}.intro-footer{position:absolute;bottom:1rem;font-size:.4rem;color:#444;letter-spacing:.2em;z-index:1}.footer-link{color:#888;text-decoration:none;transition:color .2s}.footer-link:hover{color:gold}.death-screen{width:100vw;height:100vh;background:#1a0000;display:flex;align-items:center;justify-content:center;animation:deathFade 1s ease-out}@keyframes deathFade{0%{background:red}to{background:#1a0000}}.death-content{text-align:center}.death-title{font-size:3rem;color:#f33;text-shadow:0 0 20px #FF000088,0 0 40px #FF000044;margin-bottom:2rem;animation:deathPulse 1.5s ease-in-out infinite}@keyframes deathPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.death-score,.death-level,.death-days{font-size:.8rem;color:#faa;margin:.5rem 0}.death-prompt{font-size:.7rem;color:gold;margin-top:2rem}.blink{animation:blinkAnim 1s step-end infinite}@keyframes blinkAnim{0%,to{opacity:1}50%{opacity:0}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.craft-panel,.inventory-panel{background:#1a1a2e;border:3px solid #3B8C2A;padding:2rem;min-width:400px;max-width:90vw;box-shadow:0 0 30px #3b8c2a4d}.craft-panel h2,.inventory-panel h2{font-size:1.2rem;color:gold;text-align:center;margin-bottom:1.5rem;text-shadow:0 0 10px #FFD70044;border-bottom:2px solid #3B8C2A44;padding-bottom:.5rem}.recipes{display:flex;flex-direction:column;gap:.5rem}.recipe{display:flex;align-items:center;gap:.8rem;padding:.5rem;font-size:.5rem;border:1px solid #333;transition:background .15s}.can-craft{border-color:#3b8c2a;cursor:pointer}.can-craft:hover{background:#1a3a1a}.cant-craft{opacity:.5}.recipe-key{color:gold;min-width:2rem}.recipe-name{color:#fff;min-width:5rem}.recipe-ingredients{color:#aaa;flex:1}.recipe-arrow{color:#3b8c2a}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-bottom:1.5rem}.inventory-item{background:#16213e;border:1px solid #333;padding:.5rem;display:flex;justify-content:space-between;font-size:.5rem}.item-name{color:#ddd}.item-count{color:gold}.empty{font-size:.5rem;color:#666;text-align:center;padding:1rem}.toolbar{border-top:2px solid #3B8C2A44;padding-top:1rem}.toolbar h3{font-size:.6rem;color:#aaa;margin-bottom:.5rem}.toolbar-items{display:flex;gap:.4rem;flex-wrap:wrap}.tool-slot{background:#16213e;border:1px solid #333;padding:.4rem .6rem;font-size:.4rem;color:#888}.tool-slot.active{border-color:gold;color:gold}.hint{font-size:.45rem;color:#666;text-align:center;margin-top:1rem}.game-wrapper{position:relative;width:100vw;height:100vh;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.joystick-zone{position:fixed;bottom:0;left:0;width:40vw;height:50vh;z-index:5;pointer-events:none}.joystick-base{position:fixed;bottom:24px;left:24px;width:100px;height:100px;border-radius:50%;background:#ffffff14;border:2px solid rgba(255,255,255,.2);z-index:6;pointer-events:none;display:none;align-items:center;justify-content:center}.joystick-base.active{background:#ffffff1f;border-color:#ffffff59}.joystick-thumb{width:40px;height:40px;border-radius:50%;background:#ffffff4d;border:2px solid rgba(255,255,255,.5);transition:transform .05s linear}@media(hover:none)and (pointer:coarse){.joystick-base{display:flex}}.mobile-controls{position:fixed;bottom:20px;right:20px;z-index:6;display:none;flex-direction:column;align-items:center;gap:10px}.action-row{display:flex;gap:10px}.action-btn{width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#ffffff14;color:#fff;font-family:"Press Start 2P",monospace;font-size:.45rem;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.action-btn:active{background:#fff3;transform:scale(.92)}.attack-btn{width:70px;height:70px;border-color:#f33;background:#ff323226;color:#f44;font-size:.5rem}.attack-btn:active{background:#ff323259}.inv-btn{border-color:#48f;background:#4488ff1f;color:#69f}.inv-btn:active{background:#4488ff4d}.craft-btn{border-color:gold;background:#ffd7001f;color:gold}.craft-btn:active{background:#ffd7004d}.mobile-toolbar{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:6;display:none;gap:4px;background:#00000080;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.15)}.toolbar-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#888;font-family:"Press Start 2P",monospace;font-size:.35rem;padding:6px 8px;border-radius:3px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.toolbar-btn.active{border-color:gold;color:gold;background:#ffd70026}.toolbar-btn:active{background:#ffffff26}@media(hover:none)and (pointer:coarse){.mobile-controls,.mobile-toolbar{display:flex}}.mobile-btn.close-btn{display:block;width:100%;margin-top:1rem;padding:.6rem 1rem;background:#3b8c2a;border:none;color:#fff;font-family:"Press Start 2P",monospace;font-size:.5rem;cursor:pointer;border-radius:4px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-btn.close-btn:active{background:#2a6a1e}.mobile-hint{color:#666!important;font-style:italic;font-size:.4rem!important}@media(max-width:600px){.game-title{font-size:1.8rem}.logo-subtitle{font-size:.5rem}.craft-panel,.inventory-panel{min-width:90vw;padding:1rem}.recipe{font-size:.4rem;flex-wrap:wrap;gap:.3rem}.intro-controls{bottom:1.5rem}.intro-footer{bottom:.5rem;font-size:.35rem}.death-title{font-size:1.8rem}.death-score,.death-level,.death-days{font-size:.6rem}.death-prompt{font-size:.5rem}.tool-slot{padding:.5rem .8rem;font-size:.45rem}}
