@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";:root{--pixel-font: "Press Start 2P", "Courier New", monospace;--bg-dark: #1a0033;--bg-light: #2d1b4e;--accent-pink: #ff00ff;--accent-cyan: #00ffff;--accent-yellow: #ffff00;--text-white: #ffffff;--text-shadow: #000000;--hp-green: #00ff00;--hp-red: #ff0000}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--pixel-font);background:var(--bg-dark);color:var(--text-white);overflow:hidden;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.App{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0a001a,#1a0033,#2d004d);position:relative;overflow:hidden}.App:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:1000;animation:scanline 8s linear infinite}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(10px)}}h1,h2,h3{text-shadow:3px 3px 0 var(--text-shadow),-1px -1px 0 var(--text-shadow),1px -1px 0 var(--text-shadow),-1px 1px 0 var(--text-shadow),1px 1px 0 var(--text-shadow);letter-spacing:2px}h1{font-size:2rem;margin-bottom:2rem;color:var(--accent-yellow);animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:3px 3px 0 var(--text-shadow),0 0 10px var(--accent-yellow),0 0 20px var(--accent-yellow)}to{text-shadow:3px 3px 0 var(--text-shadow),0 0 20px var(--accent-yellow),0 0 30px var(--accent-yellow),0 0 40px var(--accent-yellow)}}h2{font-size:1.2rem;color:var(--accent-pink);margin-bottom:1rem}p{font-size:.75rem;line-height:1.8;margin-bottom:1rem}button{font-family:var(--pixel-font);font-size:.8rem;padding:1rem 2rem;background:linear-gradient(180deg,var(--accent-pink) 0%,#cc00cc 100%);border:3px solid var(--text-white);color:var(--text-white);cursor:pointer;text-transform:uppercase;letter-spacing:1px;position:relative;transition:all .1s;box-shadow:5px 5px #00000080,inset -2px -2px #0000004d,inset 2px 2px #ffffff4d}button:hover{background:linear-gradient(180deg,var(--accent-cyan) 0%,#00cccc 100%);transform:translate(-2px,-2px);box-shadow:7px 7px #00000080,inset -2px -2px #0000004d,inset 2px 2px #ffffff4d}button:active{transform:translate(2px,2px);box-shadow:3px 3px #00000080,inset -2px -2px #0000004d,inset 2px 2px #ffffff4d}.career-select,.character-select,.house-screen,.route-select,.battle-screen,.victory-screen{width:90%;max-width:1200px;padding:3rem;background:#0d001af2;border:5px solid var(--accent-pink);box-shadow:0 0 30px var(--accent-pink),inset 0 0 20px #f0f3;position:relative;z-index:10;text-align:center}.careers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.career-card{background:linear-gradient(135deg,#2d1b4ecc,#1a0033e6);border:3px solid var(--accent-cyan);padding:2rem;cursor:pointer;transition:all .2s;position:relative}.career-card:hover{border-color:var(--accent-yellow);transform:scale(1.05);box-shadow:0 0 20px var(--accent-yellow)}.career-card h3{font-size:1rem;color:var(--accent-cyan);margin-bottom:.5rem}.career-card .tagline{font-size:.7rem;color:var(--accent-pink);font-style:italic;margin-bottom:1rem}.career-card .description{font-size:.65rem;line-height:1.6}.characters-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;margin-top:2rem}.character-card{background:#2d1b4ecc;border:3px solid var(--accent-pink);padding:1.5rem;cursor:pointer;transition:all .2s;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.character-card:hover{border-color:var(--accent-yellow);transform:translateY(-10px);box-shadow:0 10px 30px var(--accent-yellow)}.character-sprite{width:64px;height:64px;background:var(--accent-cyan);margin-bottom:1rem;border:2px solid var(--text-white);image-rendering:pixelated}.character-card h3{font-size:.8rem;margin-bottom:.5rem}.character-card .trait{font-size:.6rem;color:var(--accent-cyan)}.stats-bar{display:flex;justify-content:space-between;margin-top:2rem;padding:1rem;background:#00000080;border:2px solid var(--accent-cyan);font-size:.7rem}.stat{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-label{color:var(--accent-yellow)}.stat-value{font-size:1rem;color:var(--hp-green)}.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.routes button{padding:3rem 2rem;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}@media(max-width:768px){h1{font-size:1.5rem}h2{font-size:1rem}p{font-size:.65rem}button{font-size:.7rem;padding:.8rem 1.5rem}.careers-grid{grid-template-columns:1fr}.characters-grid{grid-template-columns:repeat(2,1fr)}.routes{grid-template-columns:1fr}}.game-world{width:100vw;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column}.game-instructions{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#000c;color:var(--accent-yellow);padding:.5rem 1.5rem;border:2px solid var(--accent-cyan);border-radius:8px;font-size:.9rem;z-index:100;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.stats-hud{position:absolute;top:80px;left:20px;background:#000c;padding:1rem;border:3px solid var(--accent-cyan);border-radius:8px;z-index:100;min-width:250px}.stats-hud .stat{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;color:var(--text-white);font-size:.8rem}.stat-bar{flex:1;height:12px;background:#ffffff1a;border:1px solid var(--accent-cyan);border-radius:6px;overflow:hidden}.stat-fill{height:100%;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-pink));transition:width .3s ease}.game-viewport{flex:1;position:relative;width:100%;overflow:hidden;display:flex;align-items:flex-end;padding-bottom:100px}.background-layer{position:absolute;top:20%;left:0;height:200px;white-space:nowrap;pointer-events:none;transition:transform .05s linear;z-index:1}.game-container{position:relative;height:400px;transition:transform .05s linear;z-index:2}.ground{position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-pink));box-shadow:0 0 10px var(--accent-cyan)}.player{position:absolute;bottom:50px;width:50px;height:80px;z-index:10;transition:transform .05s linear}.player.facing-left{transform:scaleX(-1)}.player-sprite{font-size:4rem;text-shadow:0 0 10px rgba(0,255,255,.5);animation:bob 1s ease-in-out infinite}.player.walking .player-sprite{animation:walk .5s steps(2) infinite,bob 1s ease-in-out infinite}@keyframes walk{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.item{position:absolute;bottom:50px;width:40px;height:40px;animation:float 2s ease-in-out infinite;cursor:pointer}.item-sprite{font-size:2.5rem;filter:drop-shadow(0 0 8px rgba(255,255,0,.6))}.item-label{position:absolute;top:-30px;left:50%;transform:translate(-50%);white-space:nowrap;color:var(--accent-yellow);font-size:.7rem;background:#000c;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--accent-yellow)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.encounter{position:absolute;bottom:50px;width:60px;height:80px}.enemy-sprite{font-size:4rem;animation:enemyIdle 1.5s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(255,0,0,.5))}.enemy-label{position:absolute;top:-35px;left:50%;transform:translate(-50%);white-space:nowrap;color:var(--accent-pink);font-size:.8rem;font-weight:700;background:#000000e6;padding:.3rem .6rem;border-radius:4px;border:2px solid var(--accent-pink);text-transform:uppercase}@keyframes enemyIdle{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.coffee-shop{position:absolute;bottom:50px;width:150px;height:200px}.shop-building{font-size:8rem;animation:glow 2s ease-in-out infinite}.shop-sign{position:absolute;top:-40px;left:50%;transform:translate(-50%);color:var(--accent-yellow);font-size:1.2rem;font-weight:700;background:#000000e6;padding:.5rem 1rem;border-radius:8px;border:3px solid var(--accent-yellow);text-shadow:0 0 10px var(--accent-yellow)}@keyframes glow{0%,to{filter:drop-shadow(0 0 20px rgba(255,255,0,.8))}50%{filter:drop-shadow(0 0 40px rgba(255,255,0,1))}}.progress-bar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:80%;max-width:600px;height:30px;background:#000c;border:2px solid var(--accent-cyan);border-radius:15px;overflow:hidden;z-index:100}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-pink));transition:width .3s ease;box-shadow:0 0 20px var(--accent-cyan)}.progress-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-white);font-size:.8rem;font-weight:700;text-shadow:0 0 5px rgba(0,0,0,.8);z-index:1}@media(max-width:768px){.stats-hud{top:60px;left:10px;padding:.5rem;min-width:200px;font-size:.7rem}.game-instructions{top:10px;font-size:.7rem;padding:.3rem 1rem}.player-sprite,.enemy-sprite{font-size:3rem}.shop-building{font-size:6rem}}.battle-screen{width:90%;max-width:1200px;height:80vh;padding:2rem;background:#0d001af2;border:5px solid var(--accent-pink);box-shadow:0 0 30px var(--accent-pink),inset 0 0 20px #f0f3;position:relative;z-index:10;display:flex;flex-direction:column}.battle-transition{overflow:hidden}.transition-effect{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;display:flex;align-items:center;justify-content:center}.transition-swipe{position:absolute;top:0;left:-100%;width:100%;height:100%;background:repeating-linear-gradient(45deg,#000,#000 10px,#fff 10px 20px);animation:swipe-in .5s ease-out forwards}@keyframes swipe-in{0%{left:-100%}50%{left:0%}to{left:100%}}.battle-alert{font-size:3rem;color:var(--accent-yellow);animation:battle-flash .5s ease-in-out .3s;z-index:101;text-shadow:4px 4px 0 var(--text-shadow),0 0 20px var(--accent-yellow),0 0 40px var(--accent-yellow)}@keyframes battle-flash{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}}.battle-header{text-align:center;margin-bottom:1rem}.battle-arena{flex:1;display:flex;flex-direction:column;justify-content:space-between}.enemy-section{display:flex;align-items:center;justify-content:space-between;padding:2rem;background:#0000004d;border:2px solid var(--accent-cyan);margin-bottom:2rem}.enemy-sprite{width:128px;height:128px;image-rendering:pixelated;animation:enemy-bounce 2s ease-in-out infinite}@keyframes enemy-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hp-bar-container{flex:1;margin-left:2rem}.hp-label{font-size:.7rem;color:var(--accent-yellow);margin-bottom:.5rem}.hp-bar{width:100%;height:30px;background:#000;border:3px solid #fff;position:relative;overflow:hidden}.hp-fill{height:100%;transition:width .5s ease-out,background .3s;box-shadow:inset 0 0 10px #ffffff80}.hp-text{font-size:.8rem;margin-top:.5rem;text-align:right}.battle-dialogue{margin-bottom:2rem}.dialogue-box{background:#000c;border:3px solid var(--accent-pink);padding:1.5rem;position:relative}.dialogue-box:before{content:"";position:absolute;bottom:-15px;left:20%;width:0;height:0;border-style:solid;border-width:15px 15px 0 15px;border-color:var(--accent-pink) transparent transparent transparent}.dialogue-box:after{content:"";position:absolute;bottom:-9px;left:calc(20% + 3px);width:0;height:0;border-style:solid;border-width:12px 12px 0 12px;border-color:rgba(0,0,0,.8) transparent transparent transparent}.dialogue-box p{font-size:.8rem;line-height:1.6;margin:0;animation:text-appear .5s ease-out}@keyframes text-appear{0%{opacity:0}to{opacity:1}}.battle-choices{text-align:center}.battle-choices h3{font-size:.9rem;color:var(--accent-cyan);margin-bottom:.5rem}.choice-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.choice-button{flex:1;min-width:200px;max-width:350px;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem;text-align:left;font-size:.7rem}.choice-text{font-size:.75rem;line-height:1.4}.choice-effect{font-size:.6rem;color:var(--accent-yellow);margin-top:.5rem}.player-stats-battle{display:flex;justify-content:space-around;padding:1rem;background:#00000080;border:2px solid var(--accent-cyan);margin-top:1rem}.player-stats-battle .stat{display:flex;flex-direction:column;align-items:center;gap:.3rem}.player-stats-battle .stat-label{font-size:1.2rem}.player-stats-battle .stat-value{font-size:.8rem;color:var(--hp-green)}@media(max-width:768px){.battle-screen{height:95vh;padding:1rem}.battle-alert{font-size:2rem}.enemy-section{flex-direction:column;gap:1rem}.hp-bar-container{margin-left:0;width:100%}.choice-buttons{flex-direction:column}.choice-button{min-width:100%}}.victory-screen{width:90%;max-width:1000px;padding:3rem;background:#0d001af2;border:5px solid var(--accent-yellow);box-shadow:0 0 50px var(--accent-yellow),inset 0 0 30px #ff03;position:relative;z-index:10;text-align:center;animation:victory-enter 1s ease-out}@keyframes victory-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.victory-animation{margin-bottom:3rem}.victory-title{font-size:3rem;color:var(--accent-yellow);animation:victory-pulse 2s ease-in-out infinite;margin-bottom:2rem}@keyframes victory-pulse{0%,to{transform:scale(1);text-shadow:3px 3px 0 var(--text-shadow),0 0 20px var(--accent-yellow)}50%{transform:scale(1.1);text-shadow:3px 3px 0 var(--text-shadow),0 0 40px var(--accent-yellow),0 0 60px var(--accent-yellow)}}.victory-emoji{font-size:6rem;animation:victory-bounce 1s ease-in-out infinite;margin:2rem 0}@keyframes victory-bounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-20px) rotate(-5deg)}75%{transform:translateY(-20px) rotate(5deg)}}.victory-subtitle{font-size:1rem;color:var(--accent-pink);margin-bottom:2rem}.victory-content{background:#0000004d;border:3px solid var(--accent-cyan);padding:2rem;margin-bottom:2rem}.victory-content h2{color:var(--accent-cyan);margin-bottom:2rem}.final-stats h3{font-size:1rem;color:var(--accent-yellow);margin-bottom:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#00000080;border:2px solid var(--accent-pink)}.stat-icon{font-size:2rem}.stat-name{font-size:.6rem;color:var(--accent-cyan)}.stat-final{font-size:1.2rem;color:var(--hp-green);font-weight:700}.victory-message{margin:2rem 0;padding:1.5rem;background:#00000080;border-left:4px solid var(--accent-pink)}.victory-message p{font-size:.8rem;line-height:1.8;margin-bottom:.8rem}.victory-punchline{color:var(--accent-yellow);font-weight:700;margin-top:1.5rem!important}.victory-quote{margin:2rem 0;padding:1rem;border-top:2px solid var(--accent-cyan);border-bottom:2px solid var(--accent-cyan)}.victory-quote p{font-size:.9rem;font-style:italic;color:var(--accent-pink);margin-bottom:.5rem}.victory-quote span{font-size:.7rem;color:var(--accent-cyan)}.play-again-button{margin-top:2rem;font-size:1rem;padding:1.5rem 3rem;background:linear-gradient(180deg,var(--accent-yellow) 0%,#cccc00 100%);animation:button-glow 2s ease-in-out infinite alternate}@keyframes button-glow{0%{box-shadow:5px 5px #00000080,0 0 20px var(--accent-yellow)}to{box-shadow:5px 5px #00000080,0 0 40px var(--accent-yellow),0 0 60px var(--accent-yellow)}}.play-again-button:hover{background:linear-gradient(180deg,var(--accent-cyan) 0%,#00cccc 100%)}@media(max-width:768px){.victory-screen{padding:2rem}.victory-title{font-size:2rem}.victory-emoji{font-size:4rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.victory-message p{font-size:.7rem}}.game-footer{position:fixed;bottom:0;left:0;width:100%;background:#000000e6;border-top:2px solid var(--accent-cyan);padding:.5rem 1rem;z-index:1000;font-size:.6rem}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footer-title{color:var(--accent-yellow);font-size:.7rem}.footer-copyright{color:var(--text-white)}.footer-links a{color:var(--accent-cyan);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--accent-pink)}.footer-disclaimer{color:#888;font-size:.55rem;font-style:italic}@media(max-width:768px){.footer-content{flex-direction:column;text-align:center;gap:.3rem}.game-footer{padding:.75rem .5rem}}
