._playerWallet_1pkr2_3{display:flex;flex-direction:column;gap:var(--radius-md);padding:var(--radius-md);background-color:var(--ui-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);box-shadow:0 8px 32px #0000005e;max-width:100%;margin:0 auto;color:var(--font-color)}._globalControls_1pkr2_17{display:flex;gap:var(--radius-sm);justify-content:center;margin-bottom:var(--radius-sm);padding:var(--radius-sm);background-color:#0000001a;border-radius:var(--radius-md);border:1px solid var(--border-color)}._globalButton_1pkr2_28{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--primary-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}._globalButton_1pkr2_28:hover{background-color:var(--primary-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-accent-rgb),.3)}._globalButton_1pkr2_28:active{transform:translateY(0)}._globalButton_1pkr2_28 svg{width:1rem;height:1rem;flex-shrink:0}._globalButton_1pkr2_28:focus{outline:2px solid var(--primary-accent);outline-offset:2px}._walletSection_1pkr2_64{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#0003;transition:all .3s ease;overflow:hidden}._walletSection_1pkr2_64:hover{border-color:var(--primary-accent);box-shadow:0 0 15px rgba(var(--primary-accent-rgb),.3)}._sectionHeader_1pkr2_77{padding:var(--radius-sm) var(--radius-md);font-weight:600;font-size:1.1rem;color:var(--font-color);cursor:pointer;background-color:#0000004d;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:all .3s ease;list-style:none;border-bottom:1px solid var(--border-color);display:flex;flex-direction:row;gap:.6rem;align-items:center}._sectionHeaderContent_1pkr2_94{display:flex;align-items:center;gap:var(--radius-sm);width:100%}._sectionHeaderContent_1pkr2_94 svg{width:2rem;height:2rem;color:var(--gold-accent)}._waifu-coin_1pkr2_106{color:var(--gold-accent)}._sectionTitle_1pkr2_109{flex:1;font-weight:600;font-size:1.1rem;color:var(--font-color)}._sectionBadge_1pkr2_116{background-color:var(--primary-accent);color:#fff;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:700;min-width:1.5rem;text-align:center;box-shadow:0 2px 4px #0003}._sectionIconSvg_1pkr2_128{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--gold-accent)}._sectionHeader_1pkr2_77:hover{background-color:rgba(var(--primary-accent-rgb),.1);color:var(--primary-accent)}._sectionHeader_1pkr2_77::marker{display:none}._sectionHeader_1pkr2_77:after{content:"▼";font-size:.8rem;color:var(--font-color-secondary);transition:transform .3s ease}._walletSection_1pkr2_64[open] ._sectionHeader_1pkr2_77:after{transform:rotate(180deg)}._walletContent_1pkr2_155{padding:var(--radius-md);display:flex;flex-direction:column;gap:var(--radius-md)}._walletItem_1pkr2_162{display:flex;align-items:center;gap:.75rem;padding:var(--radius-sm);background-color:#00000026;border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:all .2s ease}._walletItem_1pkr2_162:hover{background-color:#00000040;border-color:var(--primary-accent)}._walletItem_1pkr2_162 svg{width:1.25rem;height:1.25rem;flex-shrink:0;align-self:center}._walletItem_1pkr2_162 span{display:flex;align-items:center;gap:.25rem;font-weight:500;color:var(--font-color)}._currencyName_1pkr2_194{font-weight:500;color:var(--font-color);flex:1}._shardItem_1pkr2_201{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.25rem}._shardItem_1pkr2_201._r_1pkr2_211{background-color:rgba(var(--rarity-r-color),.2);color:var(--rarity-r-color);border:1px solid var(--rarity-r-color)}._shardItem_1pkr2_201._sr_1pkr2_217{background-color:rgba(var(--rarity-sr-color),.2);color:var(--rarity-sr-color);border:1px solid var(--rarity-sr-color)}._shardItem_1pkr2_201._ssr_1pkr2_223{background-color:rgba(var(--rarity-ssr-color),.2);color:var(--rarity-ssr-color);border:1px solid var(--rarity-ssr-color)}._shardIconSvg_1pkr2_229{width:.875rem;height:.875rem;flex-shrink:0}._keyItem_1pkr2_236{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.25rem}._keyItem_1pkr2_236._r_1pkr2_211{background-color:rgba(var(--rarity-r-color),.2);color:var(--rarity-r-color);border:1px solid var(--rarity-r-color)}._keyItem_1pkr2_236._sr_1pkr2_217{background-color:rgba(var(--rarity-sr-color),.2);color:var(--rarity-sr-color);border:1px solid var(--rarity-sr-color)}._keyItem_1pkr2_236._ssr_1pkr2_223{background-color:rgba(var(--rarity-ssr-color),.2);color:var(--rarity-ssr-color);border:1px solid var(--rarity-ssr-color)}._essenceItem_1pkr2_265{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.25rem}._essenceItem_1pkr2_265._fire_1pkr2_275{background-color:rgba(var(--element-fire-color),.2);color:var(--element-fire-color);border:1px solid var(--element-fire-color)}._essenceItem_1pkr2_265._water_1pkr2_281{background-color:rgba(var(--element-water-color),.2);color:var(--element-water-color);border:1px solid var(--element-water-color)}._essenceItem_1pkr2_265._air_1pkr2_287{background-color:rgba(var(--element-air-color),.2);color:var(--element-air-color);border:1px solid var(--element-air-color)}._essenceItem_1pkr2_265._earth_1pkr2_293{background-color:rgba(var(--element-earth-color),.2);color:var(--element-earth-color);border:1px solid var(--element-earth-color)}._essenceItem_1pkr2_265._transcendental_1pkr2_299{background-color:rgba(var(--primary-accent-rgb),.2);color:var(--primary-accent);border:1px solid var(--primary-accent)}._essenceIconSvg_1pkr2_305{width:1rem;height:1rem;flex-shrink:0}@media(max-width:1024px){._playerWallet_1pkr2_3,._walletContent_1pkr2_155{padding:var(--radius-sm);gap:var(--radius-sm)}}@media(max-width:768px){._playerWallet_1pkr2_3,._globalControls_1pkr2_17{padding:.5rem;gap:.5rem}._globalButton_1pkr2_28{padding:.4rem .8rem;font-size:.8rem;gap:.4rem}._sectionHeader_1pkr2_77{padding:.5rem .75rem;font-size:1rem}._sectionHeaderContent_1pkr2_94{gap:.5rem}._sectionTitle_1pkr2_109{font-size:1rem}._sectionBadge_1pkr2_116{font-size:.7rem;padding:.1rem .4rem;min-width:1.25rem}._sectionIconSvg_1pkr2_128{width:1rem;height:1rem}._walletContent_1pkr2_155{padding:.75rem;gap:.75rem}._walletItem_1pkr2_162{flex-direction:row;align-items:center;gap:.5rem;padding:.5rem}._walletItem_1pkr2_162 span{flex-wrap:wrap}._shardItem_1pkr2_201,._keyItem_1pkr2_236,._essenceItem_1pkr2_265{justify-content:space-between}}@media(max-width:480px){._playerWallet_1pkr2_3{padding:.25rem;gap:.25rem}._globalControls_1pkr2_17{padding:.25rem;flex-direction:column;gap:.25rem}._globalButton_1pkr2_28{padding:.3rem .6rem;font-size:.75rem;gap:.3rem}._globalButton_1pkr2_28 svg{width:.875rem;height:.875rem}._walletContent_1pkr2_155{padding:.5rem;gap:.5rem}._walletItem_1pkr2_162{padding:.25rem;gap:.25rem}._sectionHeader_1pkr2_77{padding:.5rem;font-size:.95rem}._sectionHeaderContent_1pkr2_94{gap:.25rem}._sectionTitle_1pkr2_109{font-size:.95rem}._sectionBadge_1pkr2_116{font-size:.65rem;padding:.075rem .3rem;min-width:1rem}._sectionIconSvg_1pkr2_128{width:.875rem;height:.875rem}._shardItem_1pkr2_201,._keyItem_1pkr2_236,._essenceItem_1pkr2_265{padding:.125rem .25rem;font-size:.8rem;gap:.125rem}._walletItem_1pkr2_162 svg{width:1.25rem;height:1.25rem}._shardIconSvg_1pkr2_229,._essenceIconSvg_1pkr2_305{width:.875rem;height:.875rem}}@media(prefers-reduced-motion:reduce){._walletSection_1pkr2_64,._sectionHeader_1pkr2_77,._sectionHeader_1pkr2_77:after,._walletItem_1pkr2_162{transition:none}}@media(prefers-contrast:high){._playerWallet_1pkr2_3,._walletSection_1pkr2_64,._walletItem_1pkr2_162{border:2px solid var(--font-color)}._shardItem_1pkr2_201,._keyItem_1pkr2_236,._essenceItem_1pkr2_265{border:2px solid}}._sectionHeader_1pkr2_77:focus{outline:2px solid var(--primary-accent);outline-offset:2px}._sectionHeader_1pkr2_77:focus-visible{outline:2px solid var(--primary-accent);outline-offset:2px}._sr-only_1pkr2_500{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}._overlay_5oi78_4{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;animation:_fadeIn_5oi78_1 .3s ease-out}._fab_5oi78_17{position:fixed;bottom:var(--radius-lg);right:var(--radius-lg);width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-accent) 0%,var(--primary-accent-hover) 100%);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;z-index:1000;font-size:1.5rem}._fab_5oi78_17:hover{transform:scale(1.1);box-shadow:0 6px 20px #0006}._fab_5oi78_17:active{transform:scale(.95)}._fab_5oi78_17:focus{outline:2px solid var(--primary-accent);outline-offset:2px}._fab_5oi78_17 svg{width:24px;height:24px}._popover_5oi78_57{position:fixed;bottom:calc(var(--radius-lg) + 72px);right:var(--radius-lg);max-width:90vw;max-height:80vh;background-color:var(--ui-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:0 20px 40px #00000080;z-index:1000;animation:_slideUpFadeIn_5oi78_1 .3s ease-out;overflow:hidden;display:flex;flex-direction:column;min-width:50%}._popoverHeader_5oi78_76{display:flex;align-items:center;justify-content:space-between;padding:var(--radius-md);border-bottom:1px solid var(--border-color);background-color:#0003}._popoverTitle_5oi78_85{margin:0;font-size:1.25rem;font-weight:600;color:var(--font-color)}._closeButton_5oi78_92{background:none;border:none;color:var(--font-color-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center}._closeButton_5oi78_92:hover{background-color:#ffffff1a;color:var(--font-color)}._closeButton_5oi78_92:focus{outline:2px solid var(--primary-accent);outline-offset:2px}._closeButton_5oi78_92 svg{width:20px;height:20px}._popoverContent_5oi78_120{flex:1;overflow-y:auto;max-height:calc(80vh - 80px)}@keyframes _fadeIn_5oi78_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUpFadeIn_5oi78_1{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){._fab_5oi78_17{bottom:var(--radius-md);right:var(--radius-md);width:48px;height:48px;font-size:1.25rem}._fab_5oi78_17 svg{width:20px;height:20px}._popover_5oi78_57{bottom:calc(var(--radius-md) + 64px);right:var(--radius-md);left:var(--radius-md);max-width:none;max-height:70vh}._popoverHeader_5oi78_76{padding:var(--radius-sm)}._popoverTitle_5oi78_85{font-size:1.1rem}._closeButton_5oi78_92 svg{width:18px;height:18px}}@media(max-width:480px){._fab_5oi78_17{bottom:var(--radius-sm);right:var(--radius-sm);width:44px;height:44px;font-size:1.1rem}._fab_5oi78_17 svg{width:18px;height:18px}._popover_5oi78_57{bottom:calc(var(--radius-sm) + 56px);right:var(--radius-sm);left:var(--radius-sm);max-height:60vh}._popoverContent_5oi78_120{max-height:calc(60vh - 60px)}}@media(prefers-reduced-motion:reduce){._overlay_5oi78_4,._popover_5oi78_57,._fab_5oi78_17{animation:none}._fab_5oi78_17,._closeButton_5oi78_92{transition:none}}@media(prefers-contrast:high){._fab_5oi78_17,._popover_5oi78_57{border:2px solid var(--font-color)}._closeButton_5oi78_92{border:1px solid var(--font-color)}}._popover_5oi78_57:focus-within{outline:2px solid var(--primary-accent);outline-offset:2px}:root{--bg-dark-gradient: linear-gradient(135deg, #3a3a5e 0%, #2a2a3e 100%);--bg-color: #2a2a3e;--table-bg-dark: #2a2a3e;--table-bg-light: #4a4a68;--table-bg-gradient: radial-gradient(circle, var(--table-bg-light) 0%, var(--table-bg-dark) 100%);--ui-bg: rgba(44, 44, 62, .85);--ui-bg-glass: rgba(44, 44, 62, .6);--border-color: #5a5a78;--font-color: #e8e8f5;--font-color-secondary: #b0b0c8;--card-bg: #fdfaf4;--primary-accent: #c77dff;--primary-accent-hover: #d99fff;--primary-accent-rgb: 199, 125, 255;--gold-accent: #FFD700;--gold-accent-rgb: 255, 215, 0;--red-suit: #ff6b6b;--black-suit: #2c2c3e;--waifu-bubble: #e9e0f8;--human-bubble: #d4eaf7;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 999px;--element-fire-color: #ff7f50;--element-water-color: #4fc3f7;--element-air-color: #fff176;--element-earth-color: #aed581;--rarity-r-color: #c77dff;--rarity-sr-color: #4dd0e1;--rarity-ssr-color: #FFD700;--classic-card-aspect-ratio: 1.7857;--poker-card-aspect-ratio: 1.4;--card-aspect-ratio: var(--classic-card-aspect-ratio);--card-width-clamp: clamp(54px, 6.5vw, 90px);--card-height-from-vw: calc(var(--card-width-clamp) * var(--card-aspect-ratio));--card-height-from-vh: calc(30vh - 50px) ;--card-height: min(var(--card-height-from-vw), var(--card-height-from-vh));--card-width: calc(var(--card-height) / var(--card-aspect-ratio));--card-border-radius: clamp(6px, 1.2vw, 10px);--played-card-offset: calc(var(--card-width) * .5 + .25rem);--top-bar-height: 55px;--bottom-bar-height: 55px}html{height:100%}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg-dark-gradient);color:var(--font-color);height:100%;overflow:hidden}#root{width:100%;height:100%}.app-container{display:flex;flex-direction:row;width:100%;height:100%;max-width:1600px;margin:auto;position:relative}.app-container.deck-style-poker{--card-aspect-ratio: var(--poker-card-aspect-ratio)}.app-container.chat-disabled .game-board{flex:1;border-radius:var(--radius-lg);border-right-width:2px}.spinner{border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top:4px solid #fff;width:40px;height:40px;animation:spin 1s linear infinite;margin:auto}.element-icon.fire{color:var(--element-fire-color)}.element-icon.water{color:var(--element-water-color)}.element-icon.air{color:var(--element-air-color)}.element-icon.earth{color:var(--element-earth-color)}@media(max-width:1024px){.app-container{flex-direction:column;height:100%;max-height:none}.app-container.chat-disabled .game-board{border-radius:0;border-right-width:0}.app-container.chat-open-mobile .chat-panel{transform:translate(0)}.app-container.chat-open-mobile:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:999}}@media(max-width:768px){:root{--card-width-clamp: clamp(70px, 18vw, 90px)}}body.platform-web{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rise{0%{transform:translateY(0) scale(.5);opacity:1}to{transform:translateY(-100%) scale(1);opacity:0}}@keyframes pulse-cyan{0%{box-shadow:0 0 12px 4px #00e5ff,0 4px 8px #0003}50%{box-shadow:0 0 20px 8px #00e5ff,0 4px 8px #0003}to{box-shadow:0 0 12px 4px #00e5ff,0 4px 8px #0003}}@keyframes pulse-curse{0%{box-shadow:inset 0 0 15px 5px #8a2be299}50%{box-shadow:inset 0 0 25px 8px #8a2be2e6}to{box-shadow:inset 0 0 15px 5px #8a2be299}}@keyframes pulse-badge{0%{transform:scale(1);box-shadow:0 0 #d92d2db3}70%{transform:scale(1);box-shadow:0 0 0 8px #d92d2d00}to{transform:scale(1);box-shadow:0 0 #d92d2d00}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes fade-in-out{0%{opacity:0;transform:translateY(10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up .4s ease-out forwards}@keyframes float-up{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(1.2)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse-outcome{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes dice-spin{0%{transform:rotateX(0) rotateY(0) scale(.5)}to{transform:rotateX(1080deg) rotateY(720deg) scale(1)}}@keyframes coin-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes gacha-particle-fly{0%{transform:rotate(0) translateY(0) scale(1);opacity:1}to{transform:rotate(var(--angle)) translateY(var(--distance, 70vh)) scale(0);opacity:0}}@keyframes gacha-flash{0%{transform:translate(-50%,-50%) scale(0);opacity:.7}50%{opacity:.4}to{transform:translate(-50%,-50%) scale(3);opacity:0}}@keyframes play-human-p1{0%{top:85%;transform:translate(-50%) scale(1.1)}to{top:50%;transform:translate(calc(-50% + var(--played-card-offset)),-50%) scale(1)}}@keyframes play-ai-p0{0%{top:15%;transform:translate(-50%) scale(1)}to{top:50%;transform:translate(calc(-50% - var(--played-card-offset)),-50%) scale(1)}}@keyframes play-ai-p1{0%{top:15%;transform:translate(-50%) scale(1)}to{top:50%;transform:translate(calc(-50% + var(--played-card-offset)),-50%) scale(1)}}@keyframes play-human-p0{0%{top:85%;transform:translate(-50%) scale(1.1)}to{top:50%;transform:translate(calc(-50% - var(--played-card-offset)),-50%) scale(1)}}.animating-card-container{position:absolute;left:50%;z-index:50;pointer-events:none;transform:translate(4vw)}.animating-card-container .card,.drawing-card-container .card{opacity:0;animation:fade-in .1s forwards}.animating-card-container.player-human.position-1{animation:play-human-p1 .5s ease-in-out forwards}.animating-card-container.player-ai.position-0{animation:play-ai-p0 .5s ease-in-out forwards}.animating-card-container.player-ai.position-1{animation:play-ai-p1 .5s ease-in-out forwards}@keyframes draw-to-human{0%{top:50%;left:10%;transform:translateY(-50%) rotate(0) scale(1);opacity:1}to{top:90%;left:50%;transform:translate(-50%,-50%) rotate(180deg) scale(.5);opacity:0}}@keyframes draw-to-ai{0%{top:50%;left:10%;transform:translateY(-50%) rotate(0) scale(1);opacity:1}to{top:10%;left:50%;transform:translate(-50%,-50%) rotate(-180deg) scale(.5);opacity:0}}.drawing-card-container{position:absolute;top:50%;left:10%;transform:translateY(-50%);z-index:40;pointer-events:none}.drawing-card-container.destination-human{animation-name:draw-to-human;animation-duration:.5s;animation-timing-function:ease-out;animation-fill-mode:forwards}.drawing-card-container.destination-ai{animation-name:draw-to-ai;animation-duration:.5s;animation-timing-function:ease-out;animation-fill-mode:forwards}.drawing-card-container.order-1{animation-delay:.15s}@media(max-width:1024px){.animating-card-container{transform:translate(0)}@keyframes play-human-p0{0%{top:85%;transform:translate(-50%) scale(1.1)}to{top:50%;transform:translate(calc(-50% - var(--played-card-offset)),-50%) scale(1)}}@keyframes play-human-p1{0%{top:85%;transform:translate(-50%) scale(1.1)}to{top:50%;transform:translate(calc(-50% + var(--played-card-offset)),-50%) scale(1)}}@keyframes play-ai-p0{0%{top:15%;transform:translate(-50%) scale(1)}to{top:50%;transform:translate(calc(-50% - var(--played-card-offset)),-50%) scale(1)}}@keyframes play-ai-p1{0%{top:15%;transform:translate(-50%) scale(1)}to{top:50%;transform:translate(calc(-50% + var(--played-card-offset)),-50%) scale(1)}}}.menu{display:flex;flex-direction:column;align-items:center;height:100%;text-align:center;padding:3rem 1rem;position:relative;overflow-y:auto;overflow-x:hidden;z-index:1}.menu-content{background-color:var(--ui-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:var(--radius-lg);max-width:95%;width:1200px;z-index:2;border:1px solid var(--border-color);box-shadow:0 8px 32px #0000005e;position:relative;margin-top:auto;margin-bottom:auto;display:flex;flex-direction:column;gap:1rem}.menu-background{position:fixed;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.8);transform:scale(1.1);z-index:-1}.player-wallet{display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap;background-color:#0000004d;padding:.75rem 1.5rem;border-radius:var(--radius-full);margin:1rem 0 2rem;border:1px solid var(--border-color)}.wallet-item{display:flex;align-items:center;gap:1rem;font-size:1.1rem;font-weight:700}.wallet-item>svg{width:28px;height:28px;color:var(--gold-accent)}.wallet-item .shard-item,.wallet-item .key-item{display:flex;align-items:center;gap:.3rem}.wallet-item .shard-icon-svg{width:24px;height:24px}.wallet-item .key-item svg{width:24px;height:24px}.shard-item.r,.key-item.r{color:var(--rarity-r-color)}.shard-item.sr,.key-item.sr{color:var(--rarity-sr-color)}.shard-item.ssr,.key-item.ssr{color:var(--rarity-ssr-color)}.wallet-item .essence-item{display:flex;align-items:center;gap:.3rem}.wallet-item .essence-item .element-icon,.wallet-item .essence-item .essence-icon-svg{width:24px;height:24px}.essence-item.fire{color:var(--element-fire-color)}.essence-item.water{color:var(--element-water-color)}.essence-item.air{color:var(--element-air-color)}.essence-item.earth{color:var(--element-earth-color)}.essence-item.transcendental{color:var(--primary-accent)}.menu-title-container{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:.5rem}.menu h1{font-size:clamp(2.5rem,10vw,4rem);text-shadow:0 2px 10px rgba(0,0,0,.5)}.menu-actions{position:relative;display:flex;align-items:center;gap:.5rem}.actions-popup{display:none;flex-direction:column;position:absolute;top:calc(100% + 8px);right:0;background-color:var(--ui-bg);border-radius:var(--radius-sm);box-shadow:0 4px 15px #0000004d;z-index:10;border:1px solid var(--border-color);width:max-content;overflow:hidden;animation:fade-in .2s ease-out}.actions-popup.open{display:flex}.actions-popup .rules-button{width:100%;border-radius:0;border:none;padding:.75rem 1rem;justify-content:flex-start;gap:.75rem;font-size:1rem;font-weight:400;transition:background-color .2s}.actions-popup .rules-button:hover,.actions-popup .rules-button:focus{background-color:rgba(var(--primary-accent-rgb),.2);transform:none;box-shadow:none;outline:none}.actions-popup .rules-button span{display:inline;color:var(--font-color)}.actions-popup .rules-button svg{color:var(--font-color-secondary)}.more-menu-button{position:relative;display:flex;background:none;border:none;color:#fffc;cursor:pointer;padding:0;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.more-menu-button:hover,.more-menu-button:focus{background-color:#ffffff1a;outline:none}.rules-button{background:none;border:1px solid var(--border-color);color:var(--font-color-secondary);border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;font-weight:700;transition:all .2s ease;flex-shrink:0;text-decoration:none}.rules-button:hover,.rules-button:focus{background-color:var(--primary-accent);color:#fff;border-color:var(--primary-accent);transform:scale(1.1);outline:none;box-shadow:0 0 10px rgba(var(--primary-accent-rgb),.5)}.rules-button.active{background-color:var(--primary-accent);color:#fff;border-color:var(--primary-accent)}.rules-button svg{width:20px;height:20px}.menu-subtitle{font-size:clamp(1rem,4vw,1.2rem);max-width:600px;margin:0 auto;color:var(--font-color-secondary)}.project-description{display:none}.settings-selector{display:flex;align-items:center;gap:.75rem}.settings-selector label{font-size:1.1rem;color:var(--font-color-secondary);transition:color .2s}.settings-selector.disabled>label{color:#888;cursor:not-allowed}.select-wrapper{position:relative;display:inline-flex;align-items:center;border-radius:var(--radius-sm);background-color:#0000004d;border:1px solid var(--border-color);transition:border-color .2s,box-shadow .2s}.select-wrapper:hover,.select-wrapper:focus-within{border-color:var(--primary-accent);box-shadow:0 0 5px rgba(var(--primary-accent-rgb),.5)}.select-wrapper:after{content:"";position:absolute;top:50%;right:.8rem;width:7px;height:7px;border-bottom:2px solid var(--font-color-secondary);border-right:2px solid var(--font-color-secondary);transform:translateY(-75%) rotate(45deg);pointer-events:none;transition:transform .2s ease,border-color .2s ease}.select-wrapper:focus-within:after{border-color:#fff}.select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:transparent;border:none;color:#fff;font-size:1rem;padding:.5rem 2.5rem .5rem .8rem;width:100%;cursor:pointer;outline:none}.select-wrapper select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.select-wrapper select option{background-color:var(--table-bg-dark);color:var(--font-color);padding:.5rem .8rem}.preset-select-wrapper>.select-wrapper{flex-grow:1}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color);transition:.4s;border-radius:28px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--primary-accent)}input:checked+.slider:before{transform:translate(22px)}.toggle-switch input:disabled+.slider{cursor:not-allowed;background-color:#444}.toggle-switch input:disabled+.slider:before{background-color:#ccc}.waifu-selection{margin-top:2rem;width:100%}.menu-section h2,.waifu-selection h2{font-size:1.8rem;margin-bottom:0;color:var(--primary-accent)}.waifu-carousel-wrapper{position:relative;display:flex;align-items:center}.carousel-nav-button{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:#0006;border:1px solid var(--border-color);color:#fff;border-radius:50%;cursor:pointer;transition:all .2s ease}.carousel-nav-button:hover,.carousel-nav-button:focus{background-color:var(--primary-accent);transform:translateY(-50%) scale(1.1);outline:none}.carousel-nav-button svg{width:24px;height:24px}.waifu-selector-container{display:flex;justify-content:center;gap:1.5rem;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding:2rem 0;margin:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-grow:1}.waifu-selector-container::-webkit-scrollbar{display:none}.waifu-card,.random-waifu-card{flex-shrink:0;scroll-snap-align:center;background-color:#ffffff0d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;width:220px;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.waifu-card:hover,.random-waifu-card:hover{transform:translateY(-10px);background-color:#ffffff1a;box-shadow:0 8px 20px #0000004d}.waifu-card.selected,.random-waifu-card.selected{transform:translateY(-10px) scale(1.05);background-color:rgba(var(--primary-accent-rgb),.15);box-shadow:0 0 25px rgba(var(--primary-accent-rgb),.7),0 8px 20px #0000004d;border-color:var(--primary-accent)}.waifu-card.disabled,.random-waifu-card.disabled{cursor:not-allowed;opacity:.6;filter:grayscale(80%)}.waifu-card.disabled:hover,.random-waifu-card.disabled:hover{transform:none;background-color:#ffffff0d;box-shadow:none}.waifu-card img{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:top;margin-bottom:1rem;border:3px solid var(--primary-accent)}.waifu-card h3{font-size:1.4rem;margin-bottom:.5rem}.waifu-card p{font-size:.9rem;color:var(--font-color-secondary);margin:0}.random-waifu-card{justify-content:center}.random-waifu-card svg{width:80px;height:80px;margin-bottom:1rem;color:var(--primary-accent)}.random-waifu-card h3{font-size:1.4rem}.start-game-container{margin-top:2.5rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.start-game-button{font-size:1.8rem;padding:1rem 3rem;border-radius:var(--radius-full);border:none;background:linear-gradient(45deg,var(--primary-accent),var(--primary-accent-hover));color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #0003}.start-game-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 6px 20px #0000004d,0 0 20px rgba(var(--primary-accent-rgb),.5)}.start-game-button:disabled{background:#555;color:#999;cursor:not-allowed;box-shadow:none;transform:none}.promo-buttons-container{margin:2.5rem 0;text-align:center;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.missions-promo-button,.gallery-promo-button{background:linear-gradient(45deg,var(--gold-accent),#f7971e);border:none;border-radius:var(--radius-full);color:var(--black-suit);font-size:clamp(1.2rem,4vw,1.5rem);font-weight:700;padding:1rem 2.5rem;cursor:pointer;transition:all .3s ease;text-shadow:1px 1px 1px rgba(255,255,255,.3);display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;position:relative;overflow:hidden}.missions-promo-button{background:linear-gradient(45deg,var(--primary-accent),var(--primary-accent-hover));color:#fff;box-shadow:0 4px 15px #0003,0 0 5px rgba(var(--primary-accent-rgb),.7)}.missions-promo-button:hover,.missions-promo-button:focus,.gallery-promo-button:hover,.gallery-promo-button:focus{transform:translateY(-5px);outline:none}.gallery-promo-button:hover,.gallery-promo-button:focus{box-shadow:0 8px 25px #0000004d,0 0 10px rgba(var(--gold-accent-rgb),1)}.missions-promo-button:hover,.missions-promo-button:focus{box-shadow:0 8px 25px #0000004d,0 0 10px rgba(var(--primary-accent-rgb),1)}.missions-promo-button:before,.gallery-promo-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);transition:all .6s ease}.missions-promo-button:hover:before,.gallery-promo-button:hover:before{left:100%}.missions-promo-button .notification-badge{position:absolute;top:8px;right:8px;width:12px;height:12px;background-color:var(--red-suit);border-radius:50%;border:2px solid var(--primary-accent-hover);animation:pulse-badge 1.5s infinite}.menu-footer{margin-top:1.5rem;font-size:.9rem;opacity:.8;text-align:center}.menu-footer button.link-button{background:none;border:none;color:var(--font-color-secondary);text-decoration:none;cursor:pointer;font-size:inherit;font-family:inherit;padding:0;transition:all .2s ease}.menu-footer button.link-button:hover{color:#fff;text-decoration:underline}.app-version{margin-top:.75rem;font-size:.8rem;color:#888}.menu-section{display:block;width:100%;margin-bottom:1.5rem}.game-mode-carousel-wrapper{position:relative}.game-mode-selection{display:flex;gap:1.5rem;justify-content:center}.game-mode-card{background-color:#ffffff0d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;flex:1;max-width:250px;cursor:pointer;transition:all .2s ease;text-align:center;color:var(--font-color)}.game-mode-card:hover{background-color:#ffffff1a;border-color:var(--primary-accent)}.game-mode-card.selected{background-color:rgba(var(--primary-accent-rgb),.15);border-color:var(--primary-accent);box-shadow:0 0 15px rgba(var(--primary-accent-rgb),.5)}.game-mode-card h3{margin:0;font-size:1.2rem;color:var(--font-color)}.game-mode-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.difficulty-carousel-wrapper{position:relative;display:flex;align-items:center}.difficulty-selection{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;padding-top:10px;flex-grow:1}.difficulty-selection.disabled .difficulty-card{cursor:not-allowed;opacity:.5;filter:grayscale(50%)}.difficulty-selection.disabled .difficulty-card:hover{background-color:#ffffff0d;border-color:var(--border-color)}.difficulty-selection.disabled .difficulty-card.selected{transform:none}.difficulty-card{background-color:#ffffff0d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;flex:1;min-width:120px;max-width:150px;cursor:pointer;transition:all .2s ease;text-align:center;color:var(--font-color)}.difficulty-card:hover{background-color:#ffffff1a;border-color:var(--primary-accent)}.difficulty-card.selected{transform:translateY(-5px) scale(1.05);background-color:rgba(var(--primary-accent-rgb),.15);border-color:var(--primary-accent);box-shadow:0 0 15px rgba(var(--primary-accent-rgb),.5)}.difficulty-card h3{margin:0;font-size:1rem;color:var(--font-color)}.difficulty-icon{font-size:1.5rem;line-height:1;display:block;margin-bottom:.5rem;white-space:nowrap}.difficulty-icon.nightmare-icon{text-shadow:0 0 4px rgba(255,107,107,.7)}.difficulty-locked-message{margin-top:1.5rem;padding:1rem;background:#0003;border-radius:var(--radius-md);border:1px solid var(--border-color)}.difficulty-locked-message h3{margin-top:.5rem;color:var(--font-color)}.difficulty-locked-message p{font-size:.9rem;color:var(--font-color-secondary);margin:.5rem 0 0}.difficulty-details-panel{background-color:#0003;border-radius:var(--radius-md);padding:1.5rem;margin-top:1.5rem;border:1px solid var(--border-color);max-width:700px;margin-left:auto;margin-right:auto}.difficulty-description{font-size:1rem;color:var(--font-color-secondary);line-height:1.5;margin:0 0 1.5rem;min-height:48px}.difficulty-rewards{display:flex;justify-content:space-around;gap:1rem;text-align:center}.reward-item{display:flex;flex-direction:column;gap:.25rem}.reward-item span{font-size:.9rem;color:var(--font-color-secondary)}.reward-item strong{font-size:1.1rem;font-weight:700;color:var(--gold-accent)}.reward-item.multiplier strong{color:var(--primary-accent)}.difficulty-rewards.roguelike{flex-direction:column;align-items:stretch;gap:.5rem}.difficulty-rewards.roguelike .reward-item{display:flex;flex-direction:row;justify-content:space-between;padding:.25rem 0}.difficulty-rewards.roguelike .reward-item:first-child{font-size:1.1em;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem}.difficulty-rewards.roguelike .reward-item:first-child strong{color:var(--gold-accent)}.featured-waifu-container{margin:2rem auto 1rem;width:100%;max-width:700px;min-height:160px;display:flex;justify-content:center;align-items:center}.featured-waifu-placeholder{width:100%;height:100%}.featured-waifu-display{display:flex;flex-direction:row;align-items:center;gap:2rem;padding:1.5rem;width:100%;background-color:#0003;border-radius:var(--radius-md);text-align:left}.featured-waifu-avatar{width:120px;height:120px;flex-shrink:0;border-radius:50%;border:3px solid var(--primary-accent);object-fit:cover;object-position:top;box-shadow:0 4px 15px #0000004d;transition:border-color .4s ease}.featured-waifu-desc{font-size:1rem;line-height:1.6;color:var(--font-color-secondary);margin:0}.featured-waifu-display.random .featured-waifu-avatar{display:flex;align-items:center;justify-content:center;background-color:#0003}.featured-waifu-display.random .featured-waifu-avatar svg{width:60%;height:60%;color:var(--primary-accent)}.featured-waifu-container.difficulty-easy .featured-waifu-avatar{border-color:var(--element-earth-color)}.featured-waifu-container.difficulty-medium .featured-waifu-avatar{border-color:var(--element-water-color)}.featured-waifu-container.difficulty-hard .featured-waifu-avatar{border-color:var(--gold-accent)}.featured-waifu-container.difficulty-nightmare .featured-waifu-avatar{border-color:var(--element-fire-color)}.featured-waifu-container.difficulty-apocalypse .featured-waifu-avatar{border-color:var(--red-suit)}.challenge-matches{background:#00000040;border-radius:var(--radius-md);padding:1.5rem;margin-top:1rem;border:1px solid var(--border-color)}.challenge-matches h2{font-size:1.5rem;color:var(--gold-accent);margin-top:0;margin-bottom:.5rem}.challenge-matches p{color:var(--font-color-secondary);margin-bottom:1.5rem;font-size:.9rem;max-width:600px;margin-left:auto;margin-right:auto}.challenge-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.challenge-button{background:none;border:2px solid;border-radius:var(--radius-full);color:#fff;padding:.6rem 1.2rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.challenge-button svg{width:20px;height:20px}.challenge-button.r{border-color:var(--rarity-r-color);color:var(--rarity-r-color)}.challenge-button.sr{border-color:var(--rarity-sr-color);color:var(--rarity-sr-color)}.challenge-button.ssr{border-color:var(--rarity-ssr-color);color:var(--rarity-ssr-color)}.challenge-button.r:hover:not(:disabled){background-color:var(--rarity-r-color);color:#fff;box-shadow:0 0 10px var(--rarity-r-color)}.challenge-button.sr:hover:not(:disabled){background-color:var(--rarity-sr-color);color:#fff;box-shadow:0 0 10px var(--rarity-sr-color)}.challenge-button.ssr:hover:not(:disabled){background-color:var(--rarity-ssr-color);color:var(--black-suit);box-shadow:0 0 10px var(--rarity-ssr-color)}.challenge-button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(50%)}@media(min-width:769px){.waifu-carousel-wrapper{padding:0}.carousel-nav-button{display:none}.waifu-selector-container{padding:2rem}}@media(max-width:1024px){.menu{justify-content:flex-start}.waifu-card,.random-waifu-card{width:180px}.waifu-card img{width:100px;height:100px}}@media(max-width:768px){.menu{padding:1.5rem 1rem;justify-content:flex-start}.menu-content{width:100%;height:auto;max-width:100%;margin:0 auto;overflow-y:visible;padding:1.5rem 1rem}.menu-title-container{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem;margin-bottom:.5rem;flex-wrap:nowrap}.menu h1{flex-grow:1;text-align:center;font-size:clamp(1.8rem,7vw,2.5rem);order:2}.menu-actions{order:3;position:relative}.menu-subtitle{margin:.5rem 0 1rem;font-size:1rem}.player-wallet{order:2;margin:1rem 0 1.5rem;gap:1rem}.wallet-item{font-size:1rem;gap:.75rem}.start-game-container{margin:1.5rem 0}.start-game-button{font-size:1.5rem;padding:.8rem 2rem}.promo-buttons-container{margin:1rem 0}.missions-promo-button,.gallery-promo-button{font-size:1.2rem;padding:.8rem 2rem}.waifu-selection{margin-top:1rem}.menu-section h2,.waifu-selection h2{display:block}.menu .project-description{display:none}.waifu-carousel-wrapper{padding:0 30px}.carousel-nav-button{width:36px;height:36px}.carousel-nav-button.prev{left:-5px}.carousel-nav-button.next{right:-5px}.game-mode-carousel-wrapper{position:relative;display:flex;align-items:center;padding:0 30px}.game-mode-selection{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem;margin:0 -1rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-grow:1}.game-mode-selection::-webkit-scrollbar{display:none}.game-mode-card{flex:0 0 160px;scroll-snap-align:center;transform:scale(.9);opacity:.7;transition:transform .3s ease,opacity .3s ease,border-color .3s ease,box-shadow .3s ease}.game-mode-card:hover{background-color:#ffffff1a;border-color:var(--primary-accent)}.game-mode-card.selected{transform:scale(1);opacity:1}.difficulty-carousel-wrapper{padding:0 30px}.waifu-selector-container{justify-content:flex-start;gap:1rem;padding:1rem;margin:0 -1rem}.waifu-selector-container::-webkit-scrollbar{display:none}.waifu-card,.random-waifu-card{width:160px;transform:scale(.9);opacity:.7;transition:transform .3s ease,opacity .3s ease,border-color .3s ease,box-shadow .3s ease}.waifu-card:hover,.random-waifu-card:hover{transform:scale(.95);opacity:.9;background-color:#ffffff1a;box-shadow:none}.waifu-card.selected,.random-waifu-card.selected{transform:scale(1);opacity:1;border-color:var(--primary-accent);box-shadow:0 0 25px rgba(var(--primary-accent-rgb),.7)}.featured-waifu-container{margin:1.5rem 0}.featured-waifu-display{flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 1rem;text-align:center}.featured-waifu-avatar{width:100px;height:100px}.featured-waifu-desc{font-size:.9rem}.game-mode-card h3{font-size:1rem}.game-mode-icon{font-size:2rem}.difficulty-selection{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem;margin:0 -1rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.difficulty-selection::-webkit-scrollbar{display:none}.difficulty-card{flex:0 0 140px;scroll-snap-align:center}.difficulty-details-panel{padding:1rem}.difficulty-description{min-height:60px}.difficulty-rewards{flex-direction:column;align-items:center;gap:.75rem}.menu-footer{margin-top:1.5rem}.menu-section-header h2{font-size:1.5rem}}@media(max-width:480px){.waifu-selector-container{gap:.75rem}.waifu-card,.random-waifu-card{width:140px}.waifu-card img{width:70px;height:70px}.game-mode-card{flex-basis:140px}.difficulty-card{flex-basis:120px;padding:.75rem}.difficulty-card h3{font-size:.9rem}}.menu-section-header{cursor:pointer;display:grid;grid-template-columns:36px 1fr 36px;align-items:center;width:100%;border-bottom:1px solid var(--border-color);padding-bottom:.75rem;margin-bottom:0;background:none;border-top:none;border-left:none;border-right:none;font:inherit;color:inherit;text-align:left;padding-left:0;padding-right:0}.details-header{margin-top:1.5rem}.menu-section-header.non-collapsible{border-bottom:none;padding-bottom:0;margin-bottom:1.5rem;cursor:default;display:flex;justify-content:center}.menu-section-header.non-collapsible>.collapse-icon{display:none}.menu-section-header h2,.menu-section-header h3{grid-column:2;text-align:center;margin:0;padding:0}.menu-section-header h2{color:var(--primary-accent);font-size:1.8rem}.details-header h3{color:var(--primary-accent);font-size:1.3rem}.collapse-icon{grid-column:3;justify-self:end;display:flex;align-items:center;justify-content:center;color:var(--font-color-secondary);padding:.25rem}.collapse-icon svg{width:28px;height:28px;transition:transform .3s ease}.collapse-icon.open svg{transform:rotate(180deg)}.collapsible-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease-in-out;overflow:hidden}.collapsible-content.open{grid-template-rows:1fr}.collapsible-content>div{min-height:0}@media(max-width:768px){.menu-section-header h2{font-size:1.5rem}}.game-board{flex:3;display:flex;flex-direction:column;height:100%;background:var(--table-bg-gradient);border:2px solid #1e1e2f;box-shadow:inset 0 0 20px #00000080;border-right-width:1px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);position:relative;padding-top:10px}.game-board-background-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.game-board-background{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.1);transition:filter .5s ease-out}.player-area{flex:1;display:flex;flex-direction:column;align-items:center;padding:1rem;min-height:calc(var(--card-height) + 3rem);position:relative;z-index:1}.human-area{justify-content:flex-end;padding-bottom:calc(var(--bottom-bar-height) + 1.5rem)}.ai-area{justify-content:flex-start;padding-top:calc(var(--top-bar-height) + 1rem)}.table-area{flex:2;display:flex;justify-content:center;align-items:center;position:relative;z-index:2}.hand{display:flex;gap:clamp(6px,1.5vw,15px);justify-content:center;min-height:var(--card-height);perspective:1000px}.waifu-status-container{z-index:30}.card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-border-radius);box-shadow:0 1px 2px #0000001a,0 4px 8px #0000001a;position:relative;-webkit-user-select:none;user-select:none;transition:transform .2s ease-out,box-shadow .2s,filter .2s;overflow:hidden;background-color:var(--card-bg)}.card img{width:100%;height:100%;display:block}.card.playable{cursor:pointer}.card.playable:hover,.card.playable:focus{transform:translateY(-20px) scale(1.1);box-shadow:0 12px 24px #00000040,0 0 15px rgba(var(--primary-accent-rgb),.5);outline:2px solid var(--primary-accent);z-index:10}.hand .card.draggable{cursor:grab}.hand .card.draggable:active{cursor:grabbing}.hand .card.is-dragging{opacity:.3;transform:scale(.95);pointer-events:none}.card-drag-clone .card{box-shadow:0 15px 30px #0000004d,0 0 20px rgba(var(--primary-accent-rgb),.6)}.card.element-fire{box-shadow:0 0 12px 4px var(--element-fire-color),0 4px 8px #0003}.card.element-water{box-shadow:0 0 12px 4px var(--element-water-color),0 4px 8px #0003}.card.element-air{box-shadow:0 0 12px 4px var(--element-air-color),0 4px 8px #0003}.card.element-earth{box-shadow:0 0 12px 4px var(--element-earth-color),0 4px 8px #0003}.card.fortified{box-shadow:0 0 15px 5px var(--element-earth-color),0 4px 8px #0003;outline:2px solid var(--element-earth-color)}.card.cursed:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--card-border-radius);box-shadow:inset 0 0 15px 5px #8a2be2cc;animation:pulse-curse 2s infinite;pointer-events:none}.card.burned{filter:grayscale(80%) sepia(100%) hue-rotate(-50deg) saturate(6)}.card.burned:after{content:"0";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;font-weight:700;color:var(--red-suit);text-shadow:0 0 10px black,0 0 10px black;opacity:.8}.incinerate-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.incinerate-particles .particle{position:absolute;bottom:5%;width:4px;height:4px;background:#ff5722;border-radius:50%;opacity:0;animation:rise 2s infinite ease-out;box-shadow:0 0 5px #ff5722,0 0 10px #ffc107,0 0 15px #ff9800}.incinerate-particles .particle:nth-child(1){left:20%;animation-delay:.5s}.incinerate-particles .particle:nth-child(2){left:80%;animation-delay:.2s}.incinerate-particles .particle:nth-child(3){left:50%;animation-delay:1.2s}.incinerate-particles .particle:nth-child(4){left:30%;animation-delay:1.8s}.incinerate-particles .particle:nth-child(5){left:65%;animation-delay:.8s}.incinerate-particles .particle:nth-child(6){left:15%;animation-delay:2.2s}.incinerate-particles .particle:nth-child(7){left:85%;animation-delay:1.5s}.incinerate-particles .particle:nth-child(8){left:40%;animation-delay:0s}.incinerate-particles .particle:nth-child(9){left:55%;animation-delay:2.5s}.incinerate-particles .particle:nth-child(10){left:75%;animation-delay:1s}.card.targeting{cursor:crosshair;outline:3px dashed var(--red-suit);transform:scale(1.05);box-shadow:0 0 15px 5px var(--red-suit)}.card.effect-active{animation:pulse-cyan 1.5s infinite}.card.effect-inactive{filter:grayscale(50%) opacity(.7)}.card-element-icon{position:absolute;bottom:4px;right:4px;width:clamp(18px,2.2vw,24px);height:clamp(18px,2.2vw,24px);background-color:#0009;border-radius:50%;display:flex;justify-content:center;align-items:center;padding:2px;box-shadow:0 1px 3px #00000080;pointer-events:none}.card-element-icon .element-icon{width:100%;height:100%}.card-back img{width:100%;height:100%;object-fit:cover;border-radius:var(--card-border-radius)}.played-cards{display:flex;gap:1rem;align-items:center;justify-content:center;min-height:calc(var(--card-height) + 1rem);min-width:calc(var(--card-width) * 2 + 1rem);position:relative;transform:translate(4vw)}.played-cards .card{transition:transform .5s ease-in-out}.top-left-actions{position:absolute;top:calc(var(--top-bar-height) + 10px);left:15px;z-index:20;display:flex;flex-direction:column;gap:10px}.back-button,.support-button,.music-button,.legend-button{background:#0006;border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s}.back-button:hover,.back-button:focus,.support-button:hover,.support-button:focus,.music-button:hover,.music-button:focus,.legend-button:hover,.legend-button:focus{background:rgba(var(--primary-accent-rgb),.3);border-color:var(--primary-accent);transform:scale(1.1);box-shadow:0 0 10px rgba(var(--primary-accent-rgb),.5);outline:none}.music-button.active{background:var(--primary-accent);color:#fff;border-color:var(--primary-accent-hover)}.back-button svg,.support-button svg,.music-button svg,.legend-button svg{width:24px;height:24px}.deck-area-wrapper{position:absolute;top:50%;left:15px;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:.75rem}.deck-container{z-index:20;display:flex;align-items:center;height:var(--card-height)}.deck-pile-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:2}.deck-size-indicator{background-color:#000000b3;color:#fff;font-weight:700;font-size:.8rem;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.briscola-card-rotated{transform:rotate(90deg);position:relative;z-index:1;margin-left:calc(var(--card-height) * -.25)}.deck-container .card{border-radius:calc(var(--card-border-radius) * .7);box-shadow:0 2px 4px #0000004d;pointer-events:none}.deck-container .card.playable:hover,.deck-container .card.playable:focus{transform:none;box-shadow:0 2px 4px #0000004d;outline:none;cursor:default}.dungeon-modifier-display{background:rgba(var(--primary-accent-rgb),.2);border:1px solid var(--primary-accent);padding:.4rem 1rem;border-radius:var(--radius-full);font-weight:700;color:var(--primary-accent);box-shadow:0 0 10px rgba(var(--primary-accent-rgb),.3);cursor:pointer;white-space:nowrap;transition:all .2s ease;position:relative;left:-10px;top:-15px}.dungeon-modifier-display:hover{background-color:rgba(var(--primary-accent-rgb),.4);transform:scale(1.05)}.briscola-reminder{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.7;animation:fade-in .5s}.briscola-reminder-label{font-size:1.1rem;font-weight:700;color:#fff;background:#0009;padding:.5rem 1rem;border-radius:var(--radius-sm);text-shadow:0 1px 2px rgba(0,0,0,.5)}.waifu-status-button{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;position:relative;line-height:0;box-shadow:0 2px 8px #0006;transition:transform .2s ease}.waifu-status-button:hover,.waifu-status-button:focus{transform:scale(1.1);outline:2px solid var(--primary-accent)}.waifu-status-avatar{width:45px;height:45px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--primary-accent)}.waifu-status-badge{position:absolute;top:-2px;right:-2px;background-color:var(--red-suit);color:#fff;border-radius:50%;min-width:22px;height:22px;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg-color);box-shadow:0 1px 3px #0000004d;pointer-events:none}.waifu-status-badge.typing{min-width:auto;width:14px;height:14px;padding:0;animation:pulse-badge 1.5s infinite}.waifu-message-bubble{position:absolute;top:calc(100% + 10px);right:0;background-color:var(--waifu-bubble);color:var(--black-suit);padding:.75rem 2.5rem .75rem 1rem;border-radius:12px;max-width:320px;min-width:150px;font-size:.95rem;line-height:1.4;box-shadow:0 4px 12px #0000004d;z-index:21;animation:fade-in-out 5s ease-in-out forwards;opacity:0;text-align:left;word-break:break-word}.waifu-message-bubble strong{font-weight:900}.waifu-message-bubble:after{content:"";position:absolute;top:-10px;right:15px;width:0;height:0;border:10px solid transparent;border-bottom-color:var(--waifu-bubble);border-top:0}.bubble-close-button{display:block;position:absolute;top:8px;right:8px;background:none;border:none;color:var(--black-suit);opacity:.5;cursor:pointer;transition:opacity .2s;padding:0;line-height:0}.bubble-close-button:hover,.bubble-close-button:focus{opacity:1;outline:none}.top-bar,.bottom-bar{position:absolute;left:0;right:0;display:flex;align-items:center;padding:0 15px;background:#1e1e2d80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:25}.top-bar{top:0;height:var(--top-bar-height);padding-top:0;border-bottom:1px solid rgba(var(--primary-accent-rgb),.2);justify-content:space-between}.bottom-bar{bottom:0;height:var(--bottom-bar-height);padding-bottom:0;border-top:1px solid rgba(var(--primary-accent-rgb),.2);justify-content:flex-start;gap:1rem}.ai-info-group{display:flex;align-items:center;gap:.75rem}.player-score{background:#0006;padding:.4rem .8rem;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;box-shadow:none;position:relative;display:flex;align-items:center;gap:.75rem;border:none;color:var(--font-color)}.player-score.human-score{pointer-events:none;cursor:default}.human-score-container{display:none}.last-trick-recap{background:#0006;border:1px solid var(--border-color);color:#fff;padding:.3rem .6rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.8rem;transition:all .2s}.last-trick-recap:hover{background:#000c;transform:none}.last-trick-recap .card{--card-height: 40px;--card-width: calc(40px / var(--card-aspect-ratio));--card-border-radius: 3px;box-shadow:none}.last-trick-recap .last-trick-icon,.menu-burger-icon{display:none}.turn-message-container{flex-grow:1;text-align:center;font-size:1rem;font-style:italic;color:#fff;white-space:nowrap}.turn-message{padding:0;background:none;box-shadow:none;justify-content:center}.bottom-left-actions{position:absolute;bottom:calc(var(--bottom-bar-height) + 10px);left:15px;z-index:20;display:flex;flex-direction:column;gap:10px}.power-animation{position:absolute;font-size:1.5rem;font-weight:700;color:var(--gold-accent);text-shadow:0 0 5px rgba(0,0,0,.8);pointer-events:none;z-index:100;animation:float-up 1.5s ease-out forwards}.power-animation.element-fire{color:var(--element-fire-color)}.power-animation.element-air{color:var(--element-air-color)}.power-animation.human{bottom:calc(var(--bottom-bar-height) + 10px);left:25%}.power-animation.ai{top:calc(var(--top-bar-height) + 10px);left:25%}.ability-indicator{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:#0006;border-radius:50%;border:1px solid var(--border-color);transition:all .2s ease-in-out}.ability-indicator.ready{border-color:var(--gold-accent);box-shadow:0 0 8px rgba(var(--gold-accent-rgb),.7)}.ability-indicator.player-human.ready{cursor:pointer;background-color:rgba(var(--gold-accent-rgb),.2)}.ability-indicator.player-human.ready:hover{background-color:rgba(var(--gold-accent-rgb),.4);transform:scale(1.1)}.ability-indicator.disabled{cursor:not-allowed;filter:grayscale(1);opacity:.6}.ability-indicator.disabled:hover{transform:none;background-color:#0006}.ability-icon{width:100%;height:100%;border-radius:50%;display:flex;justify-content:center;align-items:center}.ability-icon svg{width:24px;height:24px}.cooldown-badge{position:absolute;bottom:-2px;right:-2px;background-color:var(--red-suit);color:#fff;font-size:.8rem;font-weight:700;min-width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-color);box-shadow:0 1px 3px #0006}.incinerate-cancel-container{position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - var(--card-height) * .7));z-index:55;display:flex;flex-direction:column;align-items:center;gap:.5rem}.cancel-ability-button{background:var(--red-suit);color:#fff;border:none;padding:.5rem 1rem;font-size:.9rem;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;box-shadow:0 2px 5px #0000004d}.cancel-ability-button:hover{background:#e53e3e}.undo-ability-button{background:#f39c12;color:#fff;border:none;padding:.5rem 1rem;font-size:.9rem;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;box-shadow:0 2px 5px #0000004d}.undo-ability-button:hover{background:#e67e22}.followers-container{bottom:calc(var(--bottom-bar-height) + 1rem);left:15px;transform:none;flex-direction:row;gap:.5rem;z-index:26}.follower-ability-button{position:relative;cursor:pointer;transition:all .2s ease;background:#0006;border:2px solid var(--border-color);border-radius:var(--radius-md);padding:.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:90px;color:var(--font-color);font-family:inherit;font-size:inherit}.followers-container .tooltip-wrapper:hover .follower-ability-button:not(:disabled){transform:scale(1.05);border-color:var(--primary-accent);box-shadow:0 0 10px rgba(var(--primary-accent-rgb),.5);z-index:1}.follower-ability-button .follower-waifu-avatar{width:50px;height:50px;border-radius:50%;border:2px solid var(--primary-accent);box-shadow:0 2px 8px #00000080}.follower-ability-name{font-size:.8rem;font-weight:700;text-align:center;line-height:1.2;min-height:1.92rem}.follower-ability-button:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.6}.followers-container .tooltip-wrapper:hover .follower-ability-button:disabled{transform:none;box-shadow:none;border-color:var(--border-color)}.used-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;border-radius:calc(var(--radius-md) - 2px)}.used-overlay svg{width:40px;height:40px;color:var(--red-suit)}.human-abilities-container{position:absolute;bottom:calc(var(--bottom-bar-height) + 1rem);right:15px;z-index:100;display:flex;flex-direction:column;gap:10px}.drop-zones-container{position:absolute;top:auto;bottom:calc(var(--bottom-bar-height) + var(--card-height) + 4rem);left:0;width:100%;z-index:50;display:flex;justify-content:center;gap:2rem;pointer-events:none;height:auto}.drop-zone{width:240px;height:160px;pointer-events:auto;transition:all .3s ease-in-out;display:flex;justify-content:center;align-items:center;opacity:0;animation:fade-in .3s forwards}.drop-zone .drop-zone-content{background-color:var(--ui-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;border-radius:var(--radius-lg);border:3px dashed var(--border-color);transition:all .3s ease-in-out;pointer-events:none;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;box-sizing:border-box}.drop-zone h3{font-size:1.8rem;color:var(--font-color-secondary);text-shadow:0 2px 5px rgba(0,0,0,.5);margin:0;transition:all .3s ease-in-out;line-height:1.3}.drop-zone.active .drop-zone-content{transform:scale(1.1);border-style:solid}.drop-zone.left.active .drop-zone-content{border-color:#fff}.drop-zone.right.active .drop-zone-content{border-color:var(--primary-accent)}.drop-zone.right.active h3{color:var(--primary-accent);text-shadow:0 0 10px rgba(var(--primary-accent-rgb),.5)}.drop-zone.cancel{position:absolute;bottom:0;left:0;width:100%;height:calc(var(--card-height) + 2rem + var(--bottom-bar-height));z-index:51;pointer-events:auto}.drop-zone.cancel .drop-zone-content{background-color:#2c2c3ecc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-color:var(--font-color-secondary)}.drop-zone.cancel h3{color:var(--font-color-secondary)}.drop-zone.cancel.active .drop-zone-content{border-color:var(--red-suit)}.drop-zone.cancel.active h3{color:var(--red-suit)}@media(max-width:1024px){.game-board{flex:1;width:100%;height:100%;border-radius:0;border:none;padding-bottom:2.5rem}.game-board-background-wrapper,.app-container.chat-disabled .game-board-background-wrapper{border-radius:0}.played-cards{transform:translate(0)}.deck-container{height:var(--card-height)}.follower-ability-button .follower-waifu-avatar{width:40px;height:40px}.top-left-actions,.bottom-left-actions{display:none}.top-bar{justify-content:space-between;gap:1rem}.ai-info-group{order:1}.waifu-status-container{order:2}.bottom-bar{justify-content:space-between;gap:0}.turn-message-container{position:absolute;bottom:var(--bottom-bar-height);left:0;width:100%;z-index:26;margin-left:0;background:#0a0a14bf;padding:.4rem 1rem;box-shadow:0 2px 5px #0000004d;text-align:center}.turn-message{padding:0;background:none;box-shadow:none}.human-score-container{display:block;position:relative}.player-score.human-score{cursor:pointer;pointer-events:auto;background:#0006;transition:background-color .2s}.player-score.human-score:hover,.player-score.human-score:focus{background:#0009;outline:none}.menu-burger-icon{display:block;width:20px;height:20px;color:var(--font-color-secondary)}.player-actions-popup{position:absolute;top:calc(100% + 10px);left:0;background-color:var(--ui-bg);border-radius:var(--radius-sm);border:1px solid var(--border-color);box-shadow:0 4px 15px #0000004d;z-index:100;width:max-content;display:flex;flex-direction:column;overflow:hidden;animation:fade-in .2s ease-out}.popup-action-button{display:flex;align-items:center;gap:.75rem;background:none;border:none;color:var(--font-color);padding:.75rem 1rem;text-align:left;width:100%;cursor:pointer;font-size:1rem;transition:background-color .2s}.popup-action-button:hover,.popup-action-button:focus{background-color:rgba(var(--primary-accent-rgb),.2);outline:none}.popup-action-button svg{width:20px;height:20px;color:var(--font-color-secondary)}.popup-action-button.active,.popup-action-button.active svg{color:var(--primary-accent)}.last-trick-recap{width:130px;justify-content:center}.last-trick-recap .last-trick-text{display:none}.last-trick-recap .last-trick-icon{display:block;width:32px;height:32px;flex-shrink:0}.human-abilities-container{bottom:calc(var(--bottom-bar-height) + 4.5rem)}.drop-zones-container{flex-direction:column-reverse;top:var(--top-bar-height);bottom:calc(var(--bottom-bar-height) + var(--card-height) + 2rem);height:auto;padding:1rem 0;gap:1rem}.drop-zone{width:100%;height:50%}.drop-zone .drop-zone-content{padding:1rem;width:80%;height:80%}.drop-zone h3{font-size:1.5rem}.drop-zone.cancel{height:calc(var(--card-height) + 2rem);bottom:var(--bottom-bar-height)}}@media(max-width:768px){.player-area{padding:.5rem}.ai-area,.human-area{flex:1 1 35%}.table-area{flex:1 1 30%;justify-content:flex-end;padding-right:1rem}.ai-area{padding-top:calc(var(--top-bar-height) + .5rem)}.human-area{padding-bottom:calc(var(--bottom-bar-height) + 1rem)}.played-cards{min-width:auto}.waifu-message-bubble{position:fixed;top:calc(var(--top-bar-height) + 10px);left:5%;right:5%;width:90%;max-width:90%;font-size:1rem}.waifu-message-bubble:after{right:30px}}@media(max-width:480px){.ai-area,.human-area{flex-basis:35%}.table-area{flex-basis:30%;justify-content:flex-end;padding-right:1rem;gap:0}.played-cards{order:2}.waifu-message-bubble{max-width:90%;min-width:90%;font-size:.9rem}}@media(min-width:1025px){.drop-zone.cancel{width:240px;height:160px;left:0;right:0;margin-left:auto;margin-right:auto;transform:none;bottom:calc(var(--bottom-bar-height) + 1rem)}}.chat-panel{flex:1;display:flex;flex-direction:column;background-color:#e9e0f8e6;border-left:2px solid #1e1e2f;border-radius:0 var(--radius-lg) var(--radius-lg) 0;height:100%;max-height:100vh;overflow:hidden}.chat-header{height:var(--top-bar-height);box-sizing:border-box;padding:0 1rem;background-color:#2c2c3eb3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--font-color);border-bottom:1px solid var(--border-color);display:flex;align-items:center;position:relative;gap:.75rem;top:7px}.chat-header-avatar-button{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;line-height:0}.chat-header-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--primary-accent);transition:transform .2s ease}.chat-header-avatar-button:hover .chat-header-avatar,.chat-header-avatar-button:focus .chat-header-avatar{transform:scale(1.1)}.chat-header h2{font-size:1.2rem;margin:0;flex-grow:1;text-align:left}.chat-modal-close{display:none;position:absolute;top:50%;right:.5rem;transform:translateY(-50%);background:none;border:none;color:#fff;cursor:pointer;padding:.5rem}.chat-modal-close svg{display:block}.chat-messages{flex-grow:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.message-container{display:flex;max-width:85%}.message-container.human{align-self:flex-end;justify-content:flex-end}.message-container.ai{align-self:flex-start;justify-content:flex-start}.message{padding:.6rem 1rem;border-radius:var(--radius-md);color:var(--black-suit);line-height:1.4;font-size:.95rem;word-break:break-word;box-shadow:0 2px 5px #0000001a}.message strong{font-weight:900}.message-container.ai .message{background-color:#fff;border-bottom-left-radius:4px}.message-container.human .message{background-color:var(--human-bubble);border-bottom-right-radius:4px}.typing-indicator span{height:8px;width:8px;background-color:#888;border-radius:50%;display:inline-block;animation:bounce 1.4s infinite ease-in-out both}.typing-indicator span:nth-of-type(1){animation-delay:-.32s}.typing-indicator span:nth-of-type(2){animation-delay:-.16s}.chat-input-form{display:flex;height:var(--bottom-bar-height);box-sizing:border-box;align-items:center;padding:0 .75rem;border-top:1px solid var(--border-color);background-color:#fff;gap:.5rem;position:relative;bottom:-6px}.chat-input-wrapper{position:relative;flex-grow:1}.chat-input-form input{width:100%;border:1px solid #ccc;border-radius:var(--radius-full);padding:.6rem 4.5rem .6rem 1rem;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}.chat-input-form input:focus{border-color:var(--primary-accent);box-shadow:0 0 5px rgba(var(--primary-accent-rgb),.5)}.chat-input-form button{background:none;border:none;cursor:pointer;padding:0 .5rem;color:var(--primary-accent);transition:color .2s;align-self:center}.chat-input-form button:hover,.chat-input-form button:focus{color:var(--primary-accent-hover)}.chat-input-form button:disabled{color:#aaa;cursor:not-allowed}.char-counter{position:absolute;top:50%;right:2.5rem;transform:translateY(-50%);font-size:.8rem;color:#888;pointer-events:none}.char-counter.limit-near{color:var(--red-suit);font-weight:700}@media(max-width:1024px){.chat-panel{position:fixed;top:0;right:0;width:100%;height:100%;z-index:1000;border-radius:0;border:none;transform:translate(100%);transition:transform .3s ease-in-out;box-shadow:-5px 0 15px #0003}.chat-modal-close{display:block}}/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
*/.game-over-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;cursor:pointer;overflow-y:auto;padding:1rem}.game-over-modal,.rules-modal,.waifu-details-modal,.confirmation-modal,.gallery-modal,.event-modal,.history-modal,.kasumi-swap-modal,.sound-editor-modal,.gacha-multi-unlock-modal,.crafting-minigame-modal,.challenge-key-selection-modal{background-color:var(--ui-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2rem 3rem;border-radius:var(--radius-md);text-align:center;border:1px solid var(--border-color);box-shadow:0 10px 30px #00000080,0 0 15px rgba(var(--primary-accent-rgb),.1);max-width:90%;width:500px;cursor:default;position:relative}.modal-close-button{position:absolute;top:1rem;right:1rem;background:none;border:1px solid var(--border-color);color:var(--font-color-secondary);cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;padding:0}.elemental-cycle-display.modal-version{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:1.2rem;color:var(--font-color-secondary);padding:.75rem;background-color:#0003;border-radius:var(--radius-sm)}.waifu-details-modal{padding:2rem;width:400px;max-height:90vh;overflow-y:auto;text-align:center}.waifu-details-image{width:200px;height:200px;border-radius:50%;object-fit:cover;object-position:top;margin:0 auto 1.5rem;border:5px solid var(--primary-accent);box-shadow:0 5px 15px #0000004d,0 0 15px rgba(var(--primary-accent-rgb),.5)}.waifu-details-modal h3{font-size:2rem;color:var(--primary-accent);margin-bottom:1rem}.waifu-details-modal p{font-size:1.1rem;line-height:1.6;color:#ddd;text-align:left;margin-bottom:1.5rem}.confirmation-modal h2{font-size:1.8rem;margin-bottom:1rem;color:var(--font-color);padding-right:3.5rem}.confirmation-modal p{font-size:1.1rem;line-height:1.5;margin-bottom:2rem;color:var(--font-color-secondary)}.confirmation-modal .modal-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.confirmation-modal .modal-actions button{font-size:1.1rem;padding:.7rem 1.5rem;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all .2s;min-width:120px}.button-secondary{background-color:var(--border-color);color:#fff;border:1px solid transparent}.button-secondary:hover,.button-secondary:focus{background-color:#6c6c8e}.button-danger{background-color:#c53030;color:#fff}.button-danger:hover,.button-danger:focus{background-color:#e53e3e}.rules-modal.legal-modal{max-height:80vh;max-width:90%;width:800px;overflow-y:auto;text-align:left}.legal-modal h3{font-size:1.3rem;color:#a0d8a2;margin-top:1.5rem;margin-bottom:.75rem}.legal-modal p,.legal-modal li{font-size:1rem;line-height:1.6}.legal-modal ul{padding-left:1.5rem;margin-bottom:1rem}.legal-modal a{color:var(--primary-accent);text-decoration:underline}.legal-modal a:hover{color:var(--primary-accent-hover)}.legal-modal p,.legal-modal ul{margin-bottom:1rem}.gallery-modal{width:900px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;padding:2rem}.gallery-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;flex-shrink:0}.tab-button{background:none;border:none;color:var(--font-color-secondary);font-size:1.2rem;font-weight:700;padding:.75rem 1.5rem;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem}.tab-button svg{flex-shrink:0;width:24px;height:24px}.tab-button:hover{color:#fff}.tab-button.active{color:var(--primary-accent);border-bottom-color:var(--primary-accent)}.gallery-content,.gallery-tab-content,.crafting-tab-content{flex-grow:1;display:flex;flex-direction:column;min-height:0}.gacha-controls{display:flex;justify-content:center;gap:1.5rem;padding:1rem;margin-bottom:1.5rem;background:#00000040;border-radius:var(--radius-md);flex-shrink:0}.gacha-controls button{font-size:1.2rem;padding:.7rem 1.5rem;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all .2s ease;font-weight:700}.gacha-controls button:first-child{background:linear-gradient(45deg,var(--primary-accent),var(--primary-accent-hover));color:#fff}.gacha-controls button:last-child{background:linear-gradient(45deg,var(--gold-accent),#f7971e);color:var(--black-suit)}.gacha-controls button:disabled{background:#444;color:#888;cursor:not-allowed;opacity:.7}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;flex-grow:1;overflow-y:auto;padding:.5rem}.gallery-item{border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 4px 8px #0003;position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background-color:#0000004d;height:0;padding-bottom:56.25%}.gallery-item:hover{transform:scale(1.05);box-shadow:0 8px 16px #0000004d}.gallery-item.rarity-r{box-shadow:0 0 0 3px var(--rarity-r-color),0 4px 8px #0003}.gallery-item.rarity-sr{box-shadow:0 0 0 3px var(--rarity-sr-color),0 4px 8px #0003}.gallery-item.rarity-ssr{box-shadow:0 0 0 3px var(--rarity-ssr-color),0 4px 8px #0003}.gallery-item:not(.locked).rarity-r:hover{transform:scale(1.05);box-shadow:0 0 0 4px var(--rarity-r-color),0 8px 16px #0000004d,0 0 15px var(--rarity-r-color)}.gallery-item:not(.locked).rarity-sr:hover{transform:scale(1.05);box-shadow:0 0 0 4px var(--rarity-sr-color),0 8px 16px #0000004d,0 0 15px var(--rarity-sr-color)}.gallery-item:not(.locked).rarity-ssr:hover{transform:scale(1.05);box-shadow:0 0 0 4px var(--rarity-ssr-color),0 8px 16px #0000004d,0 0 15px var(--rarity-ssr-color)}.gallery-item.locked{background-color:#0000004d;border:1px solid rgba(255,255,255,.1);cursor:default}.gallery-item.locked.rarity-r{box-shadow:0 0 0 3px #c77dff66,0 4px 8px #0003}.gallery-item.locked.rarity-sr{box-shadow:0 0 0 3px #4dd0e166,0 4px 8px #0003}.gallery-item.locked.rarity-ssr{box-shadow:0 0 0 3px #ffd70066,0 4px 8px #0003}.gallery-item.locked:hover{transform:none}.locked-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.locked-overlay svg{width:50px;height:50px;color:#fff6}.gallery-item img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.gallery-modal .modal-actions{display:flex;justify-content:center;gap:1rem;margin-top:0}.gallery-modal .modal-actions button{font-size:1.2rem;padding:.7rem 1.5rem;border-radius:var(--radius-full)}.gallery-modal .modal-actions button.button-secondary:hover{background-color:#6c6c8e}.gallery-modal .modal-actions button:disabled{background:#444;color:#888;cursor:not-allowed}.gallery-legend{display:flex;justify-content:flex-start;align-items:center;gap:1.5rem;margin-bottom:1rem;padding-left:.2rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#ccc}.legend-color-box{width:16px;height:16px;border-radius:4px}.legend-color-box.r{background-color:var(--rarity-r-color)}.legend-color-box.sr{background-color:var(--rarity-sr-color)}.legend-color-box.ssr{background-color:var(--rarity-ssr-color)}.crafting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;padding:1rem;overflow-y:auto}.crafting-card{background:#0000004d;border-radius:var(--radius-md);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;border:2px solid;box-shadow:0 4px 15px #0000004d;justify-content:space-between}.crafting-card.rarity-r,.crafting-card.from-r{border-color:var(--rarity-r-color)}.crafting-card.rarity-sr,.crafting-card.from-sr{border-color:var(--rarity-sr-color)}.crafting-card.rarity-ssr,.crafting-card.from-ssr{border-color:var(--rarity-ssr-color)}.crafting-card-header{text-align:center}.crafting-card-header h3{font-size:1.5rem;margin:0;font-weight:700}.crafting-card-header .rarity-r{color:var(--rarity-r-color)}.crafting-card-header .rarity-sr{color:var(--rarity-sr-color)}.crafting-card-header .rarity-ssr{color:var(--rarity-ssr-color)}.crafting-card.rarity-r .crafting-card-header h3{color:var(--rarity-r-color)}.crafting-card.rarity-sr .crafting-card-header h3{color:var(--rarity-sr-color)}.crafting-card.rarity-ssr .crafting-card-header h3{color:var(--rarity-ssr-color)}.crafting-card-header span{font-size:.9rem;color:var(--font-color-secondary)}.elemental-conversion-rule{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:1.2rem;flex-wrap:wrap;color:var(--font-color)}.elemental-conversion-rule .element-icon,.elemental-conversion-rule .essence-icon{width:1.2em;height:1.2em;vertical-align:middle;margin:0 .1em}.elemental-conversion-rule .essence-icon{color:var(--primary-accent)}.crafting-shard-info{font-size:1.2rem;font-weight:700;background:#0006;padding:.5rem 1rem;border-radius:var(--radius-sm)}.crafting-card button{font-size:1.1rem;padding:.6rem 1.8rem;border-radius:var(--radius-full);border:none;cursor:pointer;font-weight:700;transition:all .2s;width:100%;margin-top:1rem}.crafting-card.rarity-r button{background:var(--rarity-r-color);color:#fff}.crafting-card.rarity-sr button{background:var(--rarity-sr-color);color:#fff}.crafting-card.rarity-ssr button{background:var(--rarity-ssr-color);color:#2a2a3e}.crafting-card.from-r button,.crafting-card.from-sr button{background:var(--primary-accent);color:#fff}.crafting-card button:hover:not(:disabled){transform:scale(1.05);filter:brightness(1.1)}.crafting-card button:disabled{background:#555;color:#999;cursor:not-allowed;opacity:.7}.crafting-recipe{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;background-color:#0000004d;padding:.75rem;border-radius:var(--radius-sm);flex-wrap:wrap;margin:1rem 0}.recipe-materials{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.recipe-material{display:flex;flex-direction:column;align-items:center;gap:.25rem;background-color:#0006;padding:.5rem;border-radius:var(--radius-sm);min-width:50px}.recipe-material .shard-item,.recipe-material .essence-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.recipe-material .shard-item .shard-icon-svg{width:100%;height:100%}.essence-icon{color:var(--primary-accent)}.material-amount-wrapper{display:flex;align-items:baseline;gap:.2rem;font-size:.9rem;font-weight:700;color:var(--font-color)}.material-amount.insufficient{color:var(--red-suit)}.material-required{color:var(--font-color-secondary);font-size:.8em}.recipe-separator{font-size:1.5rem;color:var(--font-color-secondary);align-self:center}.recipe-arrow{font-size:2rem;color:var(--font-color-secondary)}.recipe-result{display:flex;flex-direction:column;align-items:center;gap:.25rem}.recipe-result .key-item{width:32px;height:32px}.recipe-result span:last-child{font-size:1.2rem;font-weight:700;color:var(--font-color)}.gacha-unlock-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:100}.gacha-unlock-overlay .particle{position:absolute;top:50%;left:50%;border-radius:50%;animation-name:gacha-particle-fly;animation-timing-function:cubic-bezier(.1,.8,.7,1);animation-fill-mode:forwards}.gacha-unlock-overlay .flash{position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;transform-origin:center;animation:gacha-flash .5s ease-out forwards}.gacha-unlock-overlay.rarity-r .particle{width:8px;height:8px;background:var(--rarity-r-color);box-shadow:0 0 4px var(--rarity-r-color);animation-duration:1.5s}.gacha-unlock-overlay.rarity-sr .flash{background:radial-gradient(circle,#fffc,#4dd0e180 50%,#4dd0e100 70%)}.gacha-unlock-overlay.rarity-sr .particle{animation-duration:2s}.gacha-unlock-overlay.rarity-sr .particle:nth-child(2n){width:10px;height:10px;background:var(--rarity-sr-color);box-shadow:0 0 6px var(--rarity-sr-color)}.gacha-unlock-overlay.rarity-sr .particle:nth-child(odd){width:5px;height:15px;background:#fff;border-radius:2px;box-shadow:0 0 8px #fff}.gacha-unlock-overlay.rarity-ssr .flash{background:radial-gradient(circle,#fff,#ffd70099 50%,#ffd70000 70%)}.gacha-unlock-overlay.rarity-ssr .particle{animation-duration:2.5s}.gacha-unlock-overlay.rarity-ssr .particle:nth-child(5n){width:12px;height:12px;background:hsl(calc(var(--angle-deg) * 1),100%,70%);box-shadow:0 0 8px hsl(calc(var(--angle-deg) * 1),100%,70%);--angle-deg: calc(360 / 60 * var(--i))}.gacha-unlock-overlay.rarity-ssr .particle:nth-child(5n+1){width:7px;height:20px;border-radius:3px;background:hsl(calc(var(--angle-deg) * 1.2),100%,75%);box-shadow:0 0 10px hsl(calc(var(--angle-deg) * 1.2),100%,75%)}.gacha-unlock-overlay.rarity-ssr .particle:nth-child(5n+2){width:8px;height:8px;background:#fff;animation-duration:1.5s}.gacha-unlock-overlay.rarity-ssr .particle:nth-child(5n+3){width:10px;height:10px;background:hsl(calc(var(--angle-deg) * .8),100%,65%);box-shadow:0 0 7px hsl(calc(var(--angle-deg) * .8),100%,65%)}.gacha-unlock-overlay.rarity-ssr .particle:nth-child(5n+4){width:15px;height:15px;background:transparent;border:2px solid hsl(calc(var(--angle-deg) * 1.5),100%,80%);animation-duration:3s}.gacha-rolling-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99}.gacha-coin{width:150px;height:150px;border-radius:50%;background:linear-gradient(45deg,var(--gold-accent),#f7971e);display:flex;justify-content:center;align-items:center;color:sienna;font-size:4rem;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.3);box-shadow:0 0 20px var(--gold-accent),inset 0 0 10px #ffffff4d;animation:coin-spin 1.5s linear infinite;transform-style:preserve-3d}.gacha-coin svg{width:80px;height:80px;color:#fff;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.gacha-unlock-modal{background-color:var(--ui-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2rem;border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border-color);box-shadow:0 10px 30px #00000080;max-width:90vw;width:800px;max-height:90vh;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.gacha-unlock-modal .unlocked-image{max-width:100%;max-height:65vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 10px 40px #0006}.gacha-unlock-modal .unlocked-rarity-banner{font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:0;text-shadow:0 0 10px black,0 0 20px black;animation:pulse-outcome 1.5s infinite;width:100%;text-align:center}.unlocked-rarity-banner.rarity-r{color:var(--rarity-r-color)}.unlocked-rarity-banner.rarity-sr{color:var(--rarity-sr-color)}.unlocked-rarity-banner.rarity-ssr{color:var(--rarity-ssr-color)}.gacha-unlock-modal .modal-actions{margin-top:0}.gacha-multi-unlock-modal{width:90vw;max-width:1200px;max-height:90vh;display:flex;flex-direction:column}.gacha-multi-unlock-modal h2{font-size:2rem;color:var(--primary-accent);margin-bottom:.5rem;padding-right:3.5rem}.gacha-multi-unlock-modal .refund-info{font-size:1.1rem;color:var(--font-color-secondary);margin-bottom:1.5rem}.multi-unlock-grid{flex-grow:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;overflow-y:auto;padding:.5rem;min-height:0}.multi-unlock-item{position:relative;border-radius:var(--radius-sm);overflow:hidden}.multi-unlock-item img{width:100%;height:100%;object-fit:cover;display:block}.multi-unlock-rarity{position:absolute;top:8px;left:8px;background:#000000b3;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.9rem;font-weight:700}.multi-unlock-rarity.rarity-r{color:var(--rarity-r-color)}.multi-unlock-rarity.rarity-sr{color:var(--rarity-sr-color)}.multi-unlock-rarity.rarity-ssr{color:var(--rarity-ssr-color)}.gacha-multi-unlock-modal .modal-actions{margin-top:1.5rem;text-align:center}.fullscreen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:10001}.fullscreen-content{position:relative;max-width:95vw;max-height:95vh;display:flex}.fullscreen-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 10px 30px #00000080}.fullscreen-actions{position:absolute;top:15px;right:15px;display:flex;gap:10px}.fullscreen-button{background:#0009;border:none;border-radius:50%;width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background-color .2s,transform .2s}.fullscreen-button:hover,.fullscreen-button:focus{background:#000c;transform:scale(1.1);outline:none}.fullscreen-button svg{width:24px;height:24px}.fullscreen-button .spinner{width:24px;height:24px;border-width:3px}.event-modal{max-height:85vh;overflow-y:auto}.event-modal p{font-size:1.1rem;color:var(--font-color-secondary);line-height:1.6;margin-bottom:2rem}.event-choices{display:flex;flex-direction:column;gap:1rem}.event-choice-button{background-color:#ffffff0d;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1rem;text-align:left;color:#fff;cursor:pointer;transition:all .2s ease;width:100%}.event-choice-button:hover,.event-choice-button:focus{background-color:#ffffff1a;border-color:var(--primary-accent);outline:none}.event-choice-button strong{display:block;font-size:1.2rem;color:#a0d8a2;margin-bottom:.5rem}.event-choice-button span{font-size:.9rem;color:#bbb}.elemental-clash-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:10001;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.elemental-clash-modal{background-color:var(--ui-bg);padding:2rem;border-radius:var(--radius-md);text-align:center;border:2px solid var(--gold-accent);box-shadow:0 0 30px rgba(var(--gold-accent-rgb),.5);animation:fade-in .3s ease-out;min-width:400px;position:relative;cursor:default}.elemental-clash-modal h2{font-size:2.5rem;color:var(--gold-accent);margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:2px;padding-right:0}.elemental-clash-modal.weakness{border-color:var(--primary-accent);box-shadow:0 0 30px rgba(var(--primary-accent-rgb),.5)}.elemental-clash-modal.weakness h2{color:var(--primary-accent)}.clash-results{display:flex;justify-content:space-around;gap:3rem;margin-bottom:2rem;min-height:280px;align-items:center}.clash-player-result{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-sm);transition:all .3s}.clash-player-result .card{pointer-events:none}.clash-player-result.winner{transform:scale(1.1);background-color:rgba(var(--primary-accent-rgb),.2);box-shadow:0 0 15px var(--primary-accent)}.clash-player-result.tie{background-color:#ffffff1a}.clash-player-result h3{font-size:1.2rem;margin-bottom:0;color:var(--font-color-secondary)}.clash-roll{font-size:2.5rem;font-weight:700;color:#fff;text-shadow:0 0 8px rgba(var(--gold-accent-rgb),.7);width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:var(--radius-md);border:2px solid var(--gold-accent);box-shadow:0 4px 10px #0000004d}.weakness-indicator{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem}.weakness-indicator .element-icon{width:48px;height:48px}.weakness-indicator span{font-size:1.5rem;font-weight:700;color:var(--font-color-secondary)}.clash-outcome{font-size:1.8rem;font-weight:700;color:#a0d8a2;animation:pulse-outcome 1s infinite;min-height:2.2rem}.clash-rolling-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;width:100%}.clash-cards-preview{display:flex;justify-content:space-around;width:100%;gap:2rem}.dice-animation-wrapper{width:100%;min-height:120px;display:flex;justify-content:space-around;align-items:center;perspective:1000px;gap:2rem}.dice-container{position:relative;width:80px;height:80px;transform-style:preserve-3d;animation:dice-spin 3s ease-out forwards}.dice-container:nth-child(2){animation-delay:.1s}.dice-face{position:absolute;width:100%;height:100%;background:#00000080;border:2px solid var(--gold-accent);border-radius:var(--radius-md);display:flex;justify-content:center;align-items:center;font-size:2.5rem;font-weight:700;color:#fff;text-shadow:0 0 8px rgba(var(--gold-accent-rgb),.7);transform:translateZ(0);box-shadow:0 4px 10px #0000004d}.history-modal{width:800px;max-width:95%;display:flex;flex-direction:column;max-height:85vh}.history-content{flex-grow:1;overflow-y:auto;margin:1.5rem 0;padding-right:1rem}.history-header{display:grid;grid-template-columns:.5fr 1fr 1fr 1fr .8fr .8fr 1.5fr;gap:1rem;font-weight:700;color:var(--font-color-secondary);padding-bottom:.75rem;border-bottom:1px solid var(--border-color);text-align:center}.history-list{display:flex;flex-direction:column;gap:1rem}.history-entry{display:grid;grid-template-columns:.5fr 1fr 1fr 1fr .8fr .8fr 1.5fr;gap:1rem;align-items:center;text-align:center;background-color:#0003;padding:.5rem;border-radius:var(--radius-sm)}.history-modal.classic-mode .history-header,.history-modal.classic-mode .history-entry{grid-template-columns:.5fr 1fr 1fr .8fr .8fr}.history-entry .card{--card-height: 54px;--card-width: 30px;margin:0 auto;box-shadow:0 1px 3px #0003}.history-clash-result{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:.9rem;font-weight:700}.history-clash-result .element-icon{width:20px;height:20px}.history-points.human{color:#a0d8a2;font-weight:700}.history-points.ai{color:#e57373;font-weight:700}.history-bonus-reason{font-size:.8rem;color:var(--font-color-secondary);line-height:1.3}.history-ability-entry{grid-column:1 / -1;text-align:center;padding:.75rem;font-style:italic;background-color:rgba(var(--primary-accent-rgb),.1);border-radius:var(--radius-sm);margin:.5rem 0;color:var(--font-color);font-size:.95rem}.kasumi-swap-modal .modal-content{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.kasumi-swap-modal p{font-size:1.1rem;margin:0}.kasumi-swap-cards{display:flex;gap:2rem;align-items:center}.kasumi-swap-cards .card{pointer-events:none}.kasumi-swap-modal .hand{justify-content:center;flex-wrap:wrap}.kasumi-swap-modal .hand .card{cursor:pointer}.kasumi-swap-modal .hand .card:hover{transform:translateY(-10px)}.kasumi-swap-modal .modal-actions button{margin-top:0}.sound-editor-modal{width:auto;max-width:95%;display:flex;flex-direction:column;max-height:85vh}.sound-editor-content{overflow-y:auto;margin:2rem 0;padding:0 1rem}.sound-editor-controls{display:flex;flex-direction:column;gap:1rem}.sound-editor-control{display:flex;flex-direction:column;text-align:left;gap:.5rem}.sound-editor-control label{font-size:1.1rem;color:var(--font-color-secondary);display:flex;justify-content:space-between}.sound-editor-control label span{font-weight:700;color:#fff}.sound-editor-control input[type=range]{width:100%}.sound-editor-control select{font-size:1rem;padding:.5rem .8rem;border-radius:var(--radius-sm);background-color:#333;color:#fff;border:1px solid var(--border-color);cursor:pointer}.sound-editor-modal .modal-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem}.sound-editor-modal .modal-actions button{font-size:1.1rem;padding:.7rem 1.5rem;border-radius:var(--radius-full);border:none;cursor:pointer;min-width:150px}.sound-editor-modal .modal-actions button.button-primary{background:var(--primary-accent);color:#fff}.sound-editor-modal .modal-actions button.button-primary:hover{background:var(--primary-accent-hover)}.sound-editor-drums,.sound-editor-chords{margin-top:1.5rem;text-align:left}.sound-editor-drums h3,.sound-editor-chords h3{font-size:1.3rem;color:var(--primary-accent);margin-bottom:1rem}.drum-sequencer,.chord-sequencer{display:flex;flex-direction:column;gap:.5rem;background-color:#0003;padding:1rem;border-radius:var(--radius-sm);overflow-x:auto}.drum-row,.chord-row{display:flex;align-items:center;gap:1rem;min-height:40px}.drum-label{font-size:.9rem;font-weight:700;color:var(--font-color-secondary);width:100px;flex-shrink:0;text-align:right;padding-right:1rem}.drum-steps,.chord-steps{display:grid;grid-template-columns:repeat(16,minmax(35px,1fr));gap:6px;min-width:650px}.step-button{width:100%;aspect-ratio:1 / 1;border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:#ffffff0d;cursor:pointer;transition:all .1s ease-in-out}.step-button:hover{background-color:#ffffff1a;border-color:var(--primary-accent-hover)}.step-button.beat-strong{background-color:#0003}.step-button.active{background-color:var(--primary-accent);border-color:var(--primary-accent-hover);box-shadow:0 0 8px rgba(var(--primary-accent-rgb),.5)}.step-chord-wrapper{display:flex;align-items:center;justify-content:center}.step-select{width:100%;padding:.3rem;font-size:.8rem;appearance:none;background-color:var(--border-color);color:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;cursor:pointer}.preset-select-wrapper{display:flex;gap:.5rem}.preset-select-wrapper select{flex-grow:1}.delete-preset-button{background:var(--red-suit);color:#fff;border:none;border-radius:var(--radius-sm);padding:0 1rem;cursor:pointer;font-size:.9rem;transition:background-color .2s}.delete-preset-button:hover{background:#e53e3e}.save-preset-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);text-align:left}.save-preset-section h3{font-size:1.3rem;color:var(--primary-accent);margin-bottom:1rem}.save-preset-controls{display:flex;gap:.5rem}.save-preset-controls input{flex-grow:1;font-size:1rem;padding:.5rem .8rem;border-radius:var(--radius-sm);background-color:#0000004d;color:#fff;border:1px solid var(--border-color)}.save-preset-controls button{background:var(--primary-accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:0 1.5rem;cursor:pointer;font-size:1rem;transition:background-color .2s}.save-preset-controls button:hover{background-color:var(--primary-accent-hover)}.save-preset-controls button:disabled{background-color:#555;cursor:not-allowed}.support-modal-poll{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.support-modal-poll h3{font-size:1.3rem;color:#a0d8a2;margin-bottom:.75rem}.support-modal-poll p{font-size:.95rem;color:var(--font-color-secondary);margin-bottom:1.5rem;line-height:1.5}.support-modal-poll .poll-actions{display:flex;justify-content:center;gap:1rem}.support-modal-poll .poll-actions button{min-width:100px;margin-top:0;font-size:1rem;padding:.5rem 1rem;border-radius:var(--radius-full);cursor:pointer;transition:all .2s;flex-shrink:0}.support-modal-poll .poll-thanks{font-size:1.2rem;font-weight:700;color:var(--primary-accent)}.settings-modal-content{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem;text-align:left}.settings-modal-content .settings-selector{display:flex;justify-content:space-between;align-items:center}.settings-modal-content .settings-selector label{font-size:1.1rem}.crafting-minigame-modal{width:700px;max-width:90vw;text-align:center;overflow:visible}.crafting-minigame-modal h2{color:var(--gold-accent)}.crafting-minigame-modal p{font-size:1.1rem;color:var(--font-color-secondary);margin-bottom:2rem}.minigame-container{width:100%;padding:1rem;background-color:#0000004d;border-radius:var(--radius-md);margin-bottom:2rem}.minigame-track{width:100%;height:40px;background-color:#222;border-radius:var(--radius-sm);position:relative;overflow:hidden;border:2px solid var(--border-color)}.minigame-zone{position:absolute;top:0;height:100%}.minigame-success-zone{background:#4caf5066;border-left:2px solid #4CAF50;border-right:2px solid #4CAF50;z-index:1}.minigame-marker{background:linear-gradient(var(--primary-accent),var(--primary-accent-hover));box-shadow:0 0 10px var(--primary-accent);width:10px;z-index:2;border-radius:2px}.minigame-result{font-size:2rem;font-weight:700;margin-top:2rem;min-height:2.5rem}.minigame-result.success{color:var(--gold-accent);animation:pulse-outcome 1s infinite}.minigame-result.failure{color:var(--red-suit)}.minigame-timer{font-size:2rem;font-weight:700;color:var(--gold-accent);margin-bottom:2rem;text-shadow:0 0 10px rgba(var(--gold-accent-rgb),.5)}.minigame-countdown{font-size:clamp(6rem,25vmin,10rem);font-weight:700;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5);position:relative;animation:pulse-outcome 1s ease-in-out infinite;min-width:1ch;text-align:center;margin:2rem 0;line-height:1}.challenge-key-selection-modal{display:flex;flex-direction:column;gap:1.5rem;width:600px;max-width:90vw}.challenge-key-selection-modal .challenge-buttons{margin-top:1rem;justify-content:space-around}.challenge-key-selection-modal .challenge-button{min-width:150px}.missions-modal{width:800px;max-width:95vw}.missions-list{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:.5rem}.mission-item{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;background:#00000040;padding:1rem 1.5rem;border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all .3s ease}.mission-item.claimed{opacity:.6;filter:grayscale(50%)}.mission-item:not(.claimed) .claim-button:not(:disabled){border:1px solid var(--gold-accent);box-shadow:0 0 10px rgba(var(--gold-accent-rgb),.5)}.mission-details{display:flex;flex-direction:column;gap:.75rem;text-align:left;flex-grow:1;min-width:0}.mission-right-panel{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.mission-description{font-size:1.1rem;font-weight:500;margin:0;color:var(--font-color);line-height:1.4}.mission-progress-bar{width:100%;height:24px;background-color:#0006;border-radius:var(--radius-full);position:relative;overflow:hidden;border:1px solid var(--border-color)}.mission-progress-bar .progress{height:100%;background:linear-gradient(90deg,var(--primary-accent),var(--primary-accent-hover));border-radius:var(--radius-full);transition:width .5s ease}.mission-progress-bar .progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}.mission-rewards-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:130px}.mission-right-panel .rewards-label{display:none;font-size:.9rem;color:var(--font-color-secondary);font-weight:500;margin-bottom:.5rem}.mission-rewards{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem}.mission-reward-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:50px}.reward-icon-wrapper{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000004d}.reward-icon-wrapper svg{width:20px;height:20px;color:var(--gold-accent)}.reward-icon-wrapper .element-icon{width:24px;height:24px}.reward-icon-wrapper .shard-icon{width:100%;height:100%;background:none}.mission-reward-item span{font-size:.9rem;font-weight:700}.shard-icon{font-size:1.2rem;font-weight:700;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000004d}.shard-icon.r{color:var(--rarity-r-color)}.shard-icon.sr{color:var(--rarity-sr-color)}.shard-icon.ssr{color:var(--rarity-ssr-color)}.mission-action{display:flex;justify-content:center;align-items:center;min-height:48px;width:130px}.claim-button{font-size:1.1rem;padding:.6rem 1.8rem;border-radius:var(--radius-full);border:none;background:linear-gradient(45deg,var(--gold-accent),#f7971e);color:var(--black-suit);cursor:pointer;transition:all .2s;font-weight:700;box-shadow:0 4px 10px #0003}.claim-button:hover,.claim-button:focus{transform:translateY(-2px);box-shadow:0 6px 15px #0000004d,0 0 10px rgba(var(--gold-accent-rgb),.5)}.claim-button:disabled{background:linear-gradient(45deg,#7d7d7d,#5a5a5a);color:#aaa;cursor:not-allowed;box-shadow:none;border:1px solid #444}.claim-button:disabled:hover,.claim-button:disabled:focus{transform:none;box-shadow:none}.mission-item.claimed .mission-action:after{content:"✓";font-size:2rem;color:var(--gold-accent);font-weight:700;text-shadow:0 0 8px rgba(var(--gold-accent-rgb),.5)}.follower-ability-row .follower-avatar-small{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--primary-accent);flex-shrink:0}@media(max-width:768px){.missions-modal,.gallery-modal{width:95vw;max-width:95vw;padding:1.5rem 1rem}.mission-item{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.mission-right-panel{flex-direction:column;gap:1rem;align-items:stretch}.mission-rewards-container{min-width:0;align-items:flex-start}.mission-right-panel .rewards-label{display:block}.mission-rewards{justify-content:flex-start}.mission-action{width:100%;margin-top:.5rem}.claim-button{width:100%}.gallery-tabs .tab-button span{display:none}.gallery-tabs .tab-button{padding:.75rem;flex-grow:1}}.game-over-modal h2,.rules-modal h2,.event-modal h2,.history-modal h2,.kasumi-swap-modal h2,.sound-editor-modal h2,.crafting-minigame-modal h2,.challenge-key-selection-modal h2{font-size:2rem;margin-bottom:1rem;color:var(--primary-accent);padding-right:3.5rem;text-shadow:0 0 10px rgba(var(--primary-accent-rgb),.3)}.game-over-modal p,.rules-modal p,.event-modal p,.crafting-minigame-modal p,.challenge-key-selection-modal p{font-size:1.2rem;margin-bottom:.5rem;color:var(--font-color-secondary)}.modal-close-button:hover,.modal-close-button:focus{color:#fff;border-color:#fff;transform:scale(1.1);outline:none;background-color:#ffffff1a}.modal-close-button svg{width:20px;height:20px}.game-over-winnings{font-size:1.4rem;font-weight:700;color:var(--gold-accent);margin:1rem 0 .5rem;text-shadow:0 0 8px rgba(var(--gold-accent-rgb),.5)}.game-over-modal h3{font-size:1.5rem;margin:.5rem 0 1.5rem;color:var(--font-color)}.game-over-modal .modal-actions button,.rules-modal .modal-actions button,.history-modal .modal-actions button,.kasumi-swap-modal .modal-actions button,.gacha-unlock-modal .modal-actions button,.gacha-multi-unlock-modal .modal-actions button{font-size:1.2rem;padding:.7rem 2rem;border-radius:var(--radius-full);border:none;background:linear-gradient(45deg,var(--primary-accent),var(--primary-accent-hover));color:#fff;cursor:pointer;transition:all .2s;margin-top:1.5rem}.game-over-modal .modal-actions button:hover,.game-over-modal .modal-actions button:focus,.rules-modal .modal-actions button:hover,.rules-modal .modal-actions button:focus,.history-modal .modal-actions button:hover,.history-modal .modal-actions button:focus,.kasumi-swap-modal .modal-actions button:hover,.kasumi-swap-modal .modal-actions button:focus,.gacha-unlock-modal .modal-actions button:hover,.gacha-unlock-modal .modal-actions button:focus,.gacha-multi-unlock-modal .modal-actions button:hover,.gacha-multi-unlock-modal .modal-actions button:focus{transform:translateY(-2px);box-shadow:0 4px 15px rgba(var(--primary-accent-rgb),.4)}.game-over-modal .quota-info{margin-top:1rem;font-size:.9rem;color:var(--font-color-secondary);font-style:italic}.game-over-modal .modal-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1.5rem}.game-over-modal .modal-actions button,.gacha-unlock-modal .modal-actions button,.gacha-multi-unlock-modal .modal-actions button{margin-top:0}.game-over-modal h2{padding-right:0}.dungeon-opponent-display{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:1.5rem 0}.dungeon-opponent-display img{width:120px;height:120px;border-radius:50%;border:3px solid var(--primary-accent);object-fit:cover;object-position:top}.dungeon-opponent-display h3{font-size:1.5rem;color:var(--font-color);margin:0}.modifier-details{margin-top:1rem}.modifier-details h4{font-size:1.2rem;color:var(--gold-accent);margin:0 0 .5rem}.modifier-details p{font-size:1rem;color:var(--font-color-secondary);margin:0}.rules-modal{text-align:left;max-height:85vh;overflow-y:auto}.rules-modal p{font-size:1.1rem;line-height:1.5;margin-bottom:1.5rem}.rules-modal h3.rules-subtitle{font-size:1.5rem;color:#a0d8a2;margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.rules-points-list{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem}.rules-point-item{display:flex;justify-content:space-between;font-size:1.1rem;padding:.4rem 0;border-bottom:1px solid var(--border-color)}.rules-point-item span:first-child{font-weight:700}.rules-info-list{list-style:none;padding:0;margin:1rem 0;display:flex;flex-direction:column;gap:.8rem}.rules-info-item{font-size:1.1rem;background-color:#0003;padding:.8rem 1rem;border-radius:var(--radius-sm);border-left:4px solid var(--primary-accent)}.rules-info-item.active-difficulty{border-left-color:var(--gold-accent);background-color:rgba(var(--gold-accent-rgb),.1);font-weight:700}.rules-modal .modal-actions{text-align:center}.roguelike-powers-rules-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.power-rule-entry{background-color:#0003;padding:1rem;border-radius:var(--radius-sm);border-left:4px solid #a0d8a2}.power-rule-entry strong{font-size:1.2rem;color:#a0d8a2}.power-rule-entry ul{list-style:none;padding:0;margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.power-rule-entry li{font-size:.95rem;color:var(--font-color-secondary);line-height:1.4}.power-rule-entry li span{font-weight:700;color:#ccc;margin-right:.5rem}.roguelike-rewards-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-top:1rem;background-color:#0003;padding:1rem;border-radius:var(--radius-sm)}.reward-difficulty-column strong{display:block;margin-bottom:.75rem;font-size:1.1rem;text-align:center;padding-bottom:.5rem;border-bottom:2px solid}.reward-difficulty-column ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.reward-difficulty-column li{display:flex;justify-content:space-between;font-size:.95rem}.reward-difficulty-column li span:last-child{font-weight:700;color:var(--gold-accent)}.reward-difficulty-column.difficulty-easy strong{border-color:var(--element-earth-color);color:var(--element-earth-color)}.reward-difficulty-column.difficulty-medium strong{border-color:var(--element-water-color);color:var(--element-water-color)}.reward-difficulty-column.difficulty-hard strong{border-color:var(--element-fire-color);color:var(--element-fire-color)}.reward-difficulty-column.difficulty-nightmare strong{border-color:var(--rarity-r-color);color:var(--rarity-r-color)}.elemental-powers-legend-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.elemental-powers-legend-list .elemental-power-row{display:flex;align-items:center;gap:1rem;font-size:1.1rem;background-color:#0003;padding:.75rem;border-radius:var(--radius-sm)}.elemental-powers-legend-list .elemental-power-row .element-icon{width:28px;height:28px;flex-shrink:0}.elemental-powers-legend-list .elemental-power-description{text-align:left;line-height:1.4}.elemental-powers-legend-list .elemental-power-description strong{margin-right:.5rem}.power-selection-screen{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--bg-color);color:#fff;text-align:center;padding:2rem;position:relative;overflow-y:auto;overflow-x:hidden}.power-selection-content,.roguelike-map-content{background-color:var(--ui-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:var(--radius-lg);max-width:95%;width:1000px;z-index:2;border:1px solid var(--border-color)}.power-selection-screen h1{font-size:clamp(2.5rem,8vw,3.5rem);color:var(--primary-accent);margin-bottom:1rem}.power-selection-screen p{font-size:1.2rem;margin-bottom:3rem;color:var(--font-color-secondary)}.power-cards-container{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.power-card{background-color:#ffffff0d;border:2px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;width:280px;cursor:pointer;transition:all .3s ease;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:180px;position:relative;overflow:hidden}.power-card:hover,.power-card:focus{transform:translateY(-10px) scale(1.05);background-color:#ffffff1a;box-shadow:0 8px 25px #0006;border-color:var(--primary-accent);outline:none}.power-card h3{font-size:1.5rem;color:#a0d8a2;margin-bottom:1rem}.power-card p{font-size:1rem;line-height:1.5;margin-bottom:0;color:#ddd}.power-card.upgrade{border-color:var(--gold-accent)}.power-card.upgrade:hover,.power-card.upgrade:focus{box-shadow:0 0 25px var(--gold-accent),0 8px 25px #0006}.upgrade-banner{position:absolute;top:15px;right:-35px;background:var(--gold-accent);color:#333;padding:.3rem 3rem;transform:rotate(45deg);font-weight:700;font-size:.9rem}.power-selection-actions{margin-top:3rem}.power-selection-actions button{font-size:1.1rem;padding:.7rem 1.5rem;border-radius:var(--radius-full);cursor:pointer;transition:all .2s;min-width:120px}.roguelike-map-content h1{font-size:clamp(2rem,6vw,2.5rem);color:var(--primary-accent);margin-bottom:2rem}.map-container{display:flex;align-items:center;justify-content:flex-start;gap:0;padding:2rem 4rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.map-container::-webkit-scrollbar{display:none}.map-node{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;flex-shrink:0;width:150px;position:relative;opacity:.4;transition:opacity .4s ease,transform .4s ease}.map-node-icon{width:100px;height:100px;border-radius:50%;border:4px solid var(--border-color);background-color:#0006;display:flex;align-items:center;justify-content:center;transition:all .4s ease}.map-node.boss .map-node-icon{border-radius:var(--radius-md)}.map-node.powerup .map-node-icon{background:none;border:none}.map-node-icon img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:50%}.map-node.boss .map-node-icon img{border-radius:calc(var(--radius-md) - 4px)}.map-node-icon svg{width:70%;height:70%;color:var(--gold-accent);filter:drop-shadow(0 0 5px rgba(var(--gold-accent-rgb),.7))}.map-node-label{font-size:1rem;font-weight:700;color:var(--font-color)}.map-connector{flex-grow:1;height:4px;background-color:var(--primary-accent);min-width:50px;min-height:4px;position:relative;opacity:.4;transition:opacity .4s ease;top:-15px}.map-connector:after{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:var(--primary-accent);box-shadow:0 0 8px var(--primary-accent);transition:width .5s ease .2s}.map-node.completed,.map-connector.completed{opacity:1}.map-connector.completed:after{width:100%}.map-node.current{opacity:1;transform:scale(1.1)}.map-node.current .map-node-icon{border-color:var(--primary-accent);box-shadow:0 0 20px rgba(var(--primary-accent-rgb),.7)}.map-node.current .map-node-icon svg{color:var(--primary-accent);filter:drop-shadow(0 0 10px rgba(var(--primary-accent-rgb),1))}.map-actions{margin-top:3rem}.map-actions button{font-size:1.5rem;padding:.8rem 2.5rem;border-radius:var(--radius-full);border:none;background:linear-gradient(45deg,var(--primary-accent),var(--primary-accent-hover));color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #0003}.map-actions button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 6px 20px #0000004d,0 0 20px rgba(var(--primary-accent-rgb),.5)}@media(max-width:768px){.power-selection-screen{padding:0;justify-content:flex-start;overflow-y:hidden}.power-selection-content,.roguelike-map-content{width:100%;height:100%;max-width:100%;border-radius:0;border:none;box-shadow:none;margin:0;overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:1.5rem 1rem}.power-selection-screen h1{font-size:clamp(2rem,7vw,2.5rem);margin-bottom:.75rem}.power-selection-screen p{font-size:1.1rem;margin-bottom:1.5rem}.power-cards-container{flex-direction:column;align-items:center;gap:1rem;width:100%}.power-card{width:100%;max-width:450px;padding:1.25rem;min-height:auto}.power-card h3{font-size:1.3rem}.power-card p{font-size:.95rem}.power-selection-actions{margin-top:2rem}.roguelike-map-content{justify-content:flex-start}.map-container{flex-direction:column;overflow:hidden;gap:20px;padding:1rem;width:100%;align-items:center;justify-content:flex-start}.map-node{width:100%;max-width:300px}.map-connector{width:4px;min-width:unset;background-color:var(--primary-accent);min-height:50px;height:120px;flex-grow:0}.map-connector:after{width:100%;height:0;transition:height .5s ease .2s}.map-connector.completed:after{height:100%;width:100%}.map-actions{margin-top:2rem}}.tutorial-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;pointer-events:none}.tutorial-overlay-pane{position:absolute;background:#000000bf;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:all .3s ease-in-out}.tutorial-bubble{position:absolute;background:var(--ui-bg);color:#fff;padding:1rem 1.5rem;border-radius:var(--radius-md);max-width:350px;width:90%;box-shadow:0 5px 15px #00000080;border:1px solid var(--border-color);z-index:10001;pointer-events:auto;transition:all .3s ease-in-out;animation:fade-in .3s ease-out}.tutorial-bubble p{font-size:1.1rem;line-height:1.5;margin:0 0 1.5rem}.tutorial-buttons{display:flex;justify-content:space-between;align-items:center}.tutorial-step-counter{font-size:.9rem;color:var(--font-color-secondary);font-weight:700}.tutorial-buttons button{font-size:1rem;padding:.6rem 1.2rem;border-radius:var(--radius-full);border:none;background-color:var(--primary-accent);color:#fff;cursor:pointer;transition:background-color .2s}.tutorial-buttons button:hover,.tutorial-buttons button:focus{background-color:var(--primary-accent-hover)}.tutorial-buttons .skip-button{background:none;color:#ccc;text-decoration:underline}.tutorial-buttons .skip-button:hover,.tutorial-buttons .skip-button:focus{background:none;color:#fff}.snackbar{min-width:250px;max-width:90%;background-color:var(--primary-accent);color:#fff;border-radius:var(--radius-sm);padding:12px 16px;position:fixed;z-index:10000;left:50%;transform:translate(-50%);bottom:30px;font-size:1rem;box-shadow:0 4px 10px #0000004d;opacity:0;visibility:hidden;transition:opacity .3s,bottom .3s,visibility 0s .3s;display:flex;align-items:center;justify-content:space-between;gap:1rem}.snackbar.show{opacity:1;visibility:visible;bottom:50px;transition:opacity .3s,bottom .3s,visibility 0s}.snackbar.warning{background-color:#ffc107;color:#212121}.snackbar.warning .snackbar-close-button{color:#212121}.snackbar.warning .snackbar-close-button:hover,.snackbar.warning .snackbar-close-button:focus{background-color:#0000001a}.snackbar span{text-align:left}.snackbar-close-button{background:none;border:none;color:#fff;cursor:pointer;padding:4px;margin:-4px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s,background-color .2s;flex-shrink:0}.snackbar-close-button:hover,.snackbar-close-button:focus{opacity:1;background-color:#00000026;outline:none}
