:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;margin:0;padding:0}body{position:fixed;top:0;left:0;min-width:100%;min-height:100%;overscroll-behavior:none;display:flex;justify-content:center;align-items:center;background-color:#1a1a1a;background-image:url(/backgrounds/pc_background.jpg);background-size:cover;background-position:center}#root{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.game-viewport{width:100%;height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column}@media (min-aspect-ratio: 9/16){.game-viewport{width:auto;height:90vh;max-width:500px;max-height:950px;aspect-ratio:9 / 16;border-radius:20px;box-shadow:0 0 20px #00000080}}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s;color:#fff}button:disabled{color:#666}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.App{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;box-sizing:border-box;text-align:center;overflow:hidden;padding-top:50px;position:relative}body{background-color:#1a1a1a;color:#fff;font-family:Helvetica Neue,sans-serif;margin:0;-webkit-user-select:none;user-select:none}.game-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;width:100%;padding:20px;padding-top:env(safe-area-inset-top,20px);box-sizing:border-box;overflow:hidden;position:absolute;top:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat}.stage-change-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:10;display:flex;justify-content:center;align-items:center;color:#fff;font-size:22px;font-weight:700;border-radius:10px}.loading-screen{display:flex;justify-content:center;align-items:center;height:100vh;font-size:24px;font-weight:700}.error-screen{color:#fcc;text-align:left;padding:20px}.error-screen pre{white-space:pre-wrap;word-break:break-all;background-color:#333;padding:10px;border-radius:5px;font-size:12px}.character-card img{width:80px;height:80px;object-fit:cover;border-radius:5px}.characters-screen{height:100%;width:100%;overflow-y:auto;padding:20px;box-sizing:border-box;background-color:#1a1a1a;display:flex;flex-direction:column}.character-list-simple{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:15px}.character-card-simple{position:relative;cursor:pointer;border:2px solid #444;border-radius:8px;overflow:hidden;transition:opacity .3s,filter .3s}.character-card-simple.disabled{opacity:.5;filter:grayscale(80%);cursor:not-allowed}.character-card-simple img{width:100%;height:100%;object-fit:cover;display:block}.character-card-overlay{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:5px;text-align:center}.character-card-overlay .rarity{font-size:12px;font-weight:700;margin:0}.character-card-overlay .level{font-size:14px;margin:0}.character-detail-screen{padding:20px}.character-detail-card{background-color:#2a2a2a;border-radius:10px;padding:20px;text-align:center}.character-detail-image{width:200px;height:200px;object-fit:contain;background-color:#222;border-radius:10px;border:3px solid #555}.character-stats{text-align:left;margin:20px 0}.level-up-button{background-color:#4caf50;color:#fff;padding:10px 20px;border:none;border-radius:5px;font-size:16px;cursor:pointer}.level-up-button:disabled{background-color:#2a5a2c;color:#666}.team-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.team-select-button{background-color:#007bff;color:#fff;padding:8px 16px;border:none;border-radius:5px;cursor:pointer;font-size:16px}.team-select-button:disabled{background-color:#004a99;color:#666}.selection-circle{position:absolute;top:5px;right:5px;width:24px;height:24px;background-color:#0009;border:2px solid white;border-radius:50%;z-index:2;display:flex;justify-content:center;align-items:center}.selection-checkmark{color:#4caf50;font-size:18px;font-weight:700}.character-gacha-image{width:100px;height:100px;object-fit:contain;background-color:#222;border-radius:5px}.shop-item{display:flex;flex-direction:column;align-items:center;justify-content:center}.shop-item button{background-color:transparent;border:2px solid white;color:#fff;padding:8px 12px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:700;width:100%;margin-top:10px;transition:background-color .2s,color .2s}.shop-item button:disabled{border-color:#666;color:#666;cursor:not-allowed}.shop-item button:not(:disabled):hover{background-color:#fff;color:#1a1a1a}.character-card-simple.rarity-common{box-shadow:0 0 8px 2px #c8c8c880}.character-card-simple.rarity-rare{box-shadow:0 0 10px 3px #3498db99}.character-card-simple.rarity-epic{box-shadow:0 0 12px 4px #9b59b699}.character-card-simple.rarity-legendary{box-shadow:0 0 15px 5px #f39c12b3}.gacha-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%;height:100%;background-color:#1a1a1a}.gacha-screen h2{font-size:2.5em}.gacha-screen .gems-display{font-size:1.5em}.shop-screen{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;overflow-y:auto;padding:20px;box-sizing:border-box;background-color:#1a1a1a}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:20px;width:100%;justify-content:center}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#2c2c2c;padding:20px;border-radius:10px;box-shadow:0 5px 15px #00000080;width:80%;max-width:400px}.filter-sort-controls h4{margin-top:0;margin-bottom:10px;border-bottom:1px solid #555;padding-bottom:5px}.filter-sort-controls .sort-by-group,.filter-sort-controls .order-group{margin-bottom:20px}.filter-sort-controls button{background-color:#444;color:#fff;border:1px solid #666;padding:8px 12px;margin:5px;border-radius:5px;cursor:pointer;transition:background-color .2s,border-color .2s}.filter-sort-controls button.active{background-color:#007bff;border-color:#0056b3;font-weight:700}.filter-sort-controls .done-button{width:100%;background-color:#4caf50;font-size:16px;padding:12px;margin-top:10px}.character-card-simple.disabled{opacity:.4;filter:grayscale(100%);cursor:not-allowed;border-color:#333}.header-bar{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px;box-sizing:border-box}.gold-display{font-size:1.2em;font-weight:700}.detail-separator{border:none;border-top:1px solid #444;margin:20px 0}.level-up-section h4{text-align:center;margin-bottom:15px;font-size:1.2em}.bulk-level-up-buttons{display:flex;gap:10px;justify-content:center}.confirmation-modal-content{text-align:center}.confirmation-modal-content h3{margin-top:0}.confirmation-modal-content p{margin:10px 0;font-size:1.1em}.confirmation-modal-buttons{margin-top:20px;display:flex;justify-content:space-around}.home-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:1rem;background-size:cover;background-position:center;box-sizing:border-box}.character-display-container{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0}.home-screen-character{max-width:200px;max-height:100%;object-fit:contain}.navigation-buttons{display:flex;flex-direction:column;gap:1rem;width:80%;max-width:300px;flex-shrink:0}.enemy-image{transition:transform .1s ease-in-out,opacity .2s ease-in-out;max-width:200px;max-height:200px;cursor:pointer}.enemy-image.hurt{transform:scale(.95)}.enemy-image.dead{opacity:0;transform:scale(1.1) rotate(15deg);transition:opacity .5s ease-out,transform .5s ease-out}.story-mode-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px;box-sizing:border-box;background-size:cover;background-position:center}.hud{font-size:20px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);width:100%;max-width:400px;text-align:center}.player-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:clamp(16px,4vw,22px)}.status-bar-container{width:100%;margin:15px 0}.bar-label{text-align:left;font-size:16px;margin-bottom:3px}.status-bar{width:100%;height:24px;background-color:#333;border:2px solid #555;border-radius:12px;overflow:hidden;position:relative}.status-bar-fill{height:100%;transition:width .2s ease-out;border-radius:10px}.status-bar-fill.health{background:linear-gradient(to right,#f44336,#d32f2f)}.status-bar-fill.boss{background:linear-gradient(to right,#9c27b0,#7b1fa2)}.bar-text{position:absolute;width:100%;text-align:center;line-height:24px;font-weight:700;color:#fff;text-shadow:1px 1px 2px black;font-size:clamp(14px,3vw,18px)}.yokai-area{flex-grow:0;margin-top:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;position:relative}.stage-navigation{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:10px}.stage-display{font-size:clamp(20px,5vw,28px);font-weight:700;min-width:150px;text-align:center}.arrow-button{background-color:#444;border:1px solid #666;color:#fff;font-size:24px;font-weight:700;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.arrow-button:disabled{background-color:#222;color:#555;cursor:not-allowed;border-color:#333}.yokai-image{width:60vw;max-width:300px;cursor:pointer;transition:transform .1s ease-in-out}.yokai-area.loading .enemy-image{cursor:wait}.advancing-overlay{position:absolute;inset:0;background-color:#00000080;z-index:20;display:flex;justify-content:center;align-items:center}.advancing-box{background-color:#000000d9;color:#fff;padding:20px 0;width:100%;text-align:center;font-size:24px;font-weight:700;border-top:2px solid #555;border-bottom:2px solid #555}@keyframes coin-drop{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.gold-coin{font-size:24px;cursor:pointer;-webkit-user-select:none;user-select:none;animation:coin-drop .3s ease-out forwards;transition:opacity .2s ease-in-out;z-index:5}@keyframes float-up{to{transform:translateY(-60px);opacity:0}}.floating-number{position:absolute;font-size:20px;font-weight:700;pointer-events:none;text-shadow:1px 1px 2px rgba(0,0,0,.8);animation:float-up 1s ease-out forwards}.floating-number.damage{color:#ff4d4d}.floating-number.gold{color:gold}.story-mode-content{width:100%;max-width:500px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.gacha-reveal-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100;padding:10px;box-sizing:border-box;cursor:pointer}.gacha-reveal-area{perspective:1000px;display:flex;justify-content:center;align-items:center}.gacha-card{width:280px;height:400px;position:relative;transform-style:preserve-3d;transition:transform .8s,box-shadow .3s;border-radius:18px}.gacha-card.rarity-common{box-shadow:0 0 15px 5px #aaa9}.gacha-card.rarity-rare{box-shadow:0 0 20px 7px #3498dbb3}.gacha-card.rarity-epic{box-shadow:0 0 25px 9px #9b59b6b3}.gacha-card.rarity-legendary{box-shadow:0 0 30px 11px #f1c40fcc}@keyframes rainbow-glow{0%,to{box-shadow:0 0 30px 10px red}16%{box-shadow:0 0 30px 10px #ff7f00}32%{box-shadow:0 0 30px 10px #ff0}48%{box-shadow:0 0 30px 10px #0f0}64%{box-shadow:0 0 30px 10px #00f}80%{box-shadow:0 0 30px 10px indigo}}.gacha-card.is-shiny{animation:rainbow-glow 4s linear infinite}.gacha-card.is-shiny .gacha-card-front{border-color:#f1c40f}.gacha-card.is-revealed{transform:rotateY(180deg)}.gacha-card-inner{position:absolute;width:100%;height:100%;text-align:center;transition:transform .8s;transform-style:preserve-3d}.gacha-card-front,.gacha-card-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:3px solid;box-sizing:border-box}.gacha-card-front{background:linear-gradient(45deg,#6d6d6d,#4f4f4f);color:#fff;font-size:120px;border-color:#888}.gacha-card-back{background-color:#333;color:#fff;transform:rotateY(180deg);padding:20px}.gacha-card-back .character-gacha-image{width:180px;height:180px;object-fit:contain;border-radius:10px;margin-bottom:15px;background-color:#222}.gacha-card-back h3{margin:0;font-size:28px}.gacha-card-back .rarity-text{font-size:20px;font-weight:700;text-shadow:none;margin:5px 0 15px}.gacha-card-back .gacha-status-text{font-size:18px;color:#ccc}.gacha-card-back.rarity-common,.gacha-card.rarity-common .gacha-card-front{border-color:#aaa}.gacha-card-back.rarity-rare,.gacha-card.rarity-rare .gacha-card-front{border-color:#3498db}.gacha-card-back.rarity-epic,.gacha-card.rarity-epic .gacha-card-front{border-color:#9b59b6}.gacha-card-back.rarity-legendary,.gacha-card.rarity-legendary .gacha-card-front{border-color:#f1c40f}.rarity-text.rarity-common{color:#aaa}.rarity-text.rarity-rare{color:#3498db}.rarity-text.rarity-epic{color:#9b59b6}.rarity-text.rarity-legendary{color:#f1c40f}.bottom-nav{width:100%;height:65px;background-color:#0a0a0a80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;justify-content:space-around;align-items:center;padding:0 10px;box-sizing:border-box;flex-shrink:0;border-top:1px solid rgba(255,255,255,.1)}.nav-button{background-color:transparent;border:none;padding:0;margin:0;cursor:pointer;flex-grow:1;display:flex;justify-content:center;align-items:center;height:100%}.nav-button:hover{background-color:#ffffff1a;border-radius:8px}.nav-icon{height:100%;width:auto;object-fit:contain}.nav-button.home-button{background-color:#f44336;color:#fff;font-weight:700;border-radius:8px;height:45px}.transition-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:9999;overflow:hidden;pointer-events:none}.left-door,.right-door{position:absolute;width:50%;height:100%;top:0}.left-door{left:0;transform:translate(-100%)}.right-door{right:0;transform:translate(100%)}.door-panel{position:absolute;width:100%;height:100%;object-fit:cover}.door-panel.handle{z-index:2}.right-door .door-panel{transform:scaleX(-1)}@keyframes slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}.transition-overlay.closing .left-door{animation:slide-in-left .4s ease-in-out forwards}.transition-overlay.closing .right-door{animation:slide-in-right .4s ease-in-out forwards}.transition-overlay.opening .left-door{animation:slide-out-left .4s ease-in-out forwards}.transition-overlay.opening .right-door{animation:slide-out-right .4s ease-in-out forwards}
