.card{perspective:1000px;cursor:pointer;aspect-ratio:1;position:relative;user-select:none;-webkit-user-drag:none}.card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s var(--ease-elastic);transform-style:preserve-3d}.card.flipped .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card-front{background:var(--background);border:1px solid var(--glass-border);color:var(--text-main);transform:rotateY(180deg);font-size:2rem}.card-back{background-color:var(--background);background-image:linear-gradient(135deg,transparent,rgba(0,0,0,.15));border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center}.dark .card-back{background-color:#2a2a2a}.card-back:after{content:"?";font-size:1.5rem;font-weight:700;opacity:.3;color:var(--text-muted)}.card.matched .card-front{box-shadow:0 0 15px var(--secondary);border-color:var(--secondary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%{box-shadow:0 0 8px var(--secondary)}50%{box-shadow:0 0 22px var(--secondary),0 0 8px var(--secondary)}to{box-shadow:0 0 8px var(--secondary)}}.app-container{max-width:1400px;margin:0 auto;padding:2rem;min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:2rem}.main-layout{display:flex;gap:2rem;width:100%;align-items:flex-start}.game-board-container{flex:1;display:flex;justify-content:center}.header{width:100%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;padding:1rem 2rem;border-radius:1rem;margin-bottom:2rem;min-height:100px}.title{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;letter-spacing:-.05em}.player-stats{display:flex;align-items:center;gap:2rem;padding:1rem 3rem;border-radius:2rem;margin-bottom:2rem}.player-badge{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem 1.5rem;border-radius:1rem;opacity:.5;transition:all .3s var(--ease-elastic);border:2px solid transparent}.player-badge.active{opacity:1;background:var(--glass-highlight);border-color:var(--player-color);box-shadow:0 0 20px -5px var(--player-color);transform:scale(1.1);border-width:3px;animation:pulseProfile 2s infinite}@keyframes pulseProfile{0%{box-shadow:0 0 10px -5px var(--player-color)}50%{box-shadow:0 0 25px 5px var(--player-color)}to{box-shadow:0 0 10px -5px var(--player-color)}}.player-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--text-muted)}.player-badge.active .player-label{color:var(--player-color)}.player-score{font-size:2rem;font-weight:800}.vs-divider{font-weight:900;font-style:italic;color:var(--text-muted);opacity:.3}@media (max-width:768px){.app-container{padding:.75rem;padding-bottom:80px}.header{flex-direction:column;gap:.75rem;text-align:center;padding:1rem}.header>div:last-child{flex-wrap:wrap;justify-content:center}.header button{min-width:44px!important;min-height:44px!important;padding:.75rem!important}.header button[style*="borderRadius: '50%'"]{padding:.75rem!important}.title{font-size:2rem!important}.stats{font-size:1rem!important;flex-wrap:wrap;justify-content:center}.player-stats{gap:1rem;padding:1rem;flex-wrap:wrap}}.leaderboard-sidebar{width:100%;max-width:400px;margin:0 auto}.game-board-container{width:100%;max-width:100%}.collapsible-footer{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:2px solid var(--glass-border);box-shadow:0-4px 20px #0000004d;z-index:100}.footer-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 2rem;background:0 0;border:0;color:var(--text-main);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.footer-toggle:hover{background:var(--glass-bg);color:var(--primary)}.footer-toggle-text{display:flex;align-items:center;gap:.5rem}.footer-content{padding:2rem;max-height:70vh;overflow-y:auto;animation:slideUp .3s ease-out;border-top:1px solid var(--glass-border)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h4{color:var(--primary);margin-bottom:.75rem;font-size:1.1rem;font-weight:700}.footer-section ul,.footer-section ol{margin-left:1.2rem;line-height:1.8;color:var(--text-main)}.footer-section li{margin-bottom:.5rem}.footer-quote{text-align:center;padding:1.5rem;background:var(--glass-bg);border-radius:.75rem;border:1px solid var(--glass-border);font-style:italic;color:var(--text-muted);font-size:1.1rem}.footer-quote strong{color:var(--primary);font-style:normal}.grid-select{padding:.5rem;border-radius:.5rem;border:1px solid var(--glass-border)}[data-theme=dark] .grid-select,html.dark .grid-select,[data-theme=dark] .grid-select option,html.dark .grid-select option{background-color:#1e293b!important;color:#f8fafc!important}[data-theme=light] .grid-select,html:not(.dark) .grid-select,[data-theme=light] .grid-select option,html:not(.dark) .grid-select option{background-color:#fff!important;color:#0f172a!important}.support-link{color:#0284c7;text-decoration:underline;cursor:pointer}[data-theme=dark] .support-link,html.dark .support-link{color:#38bdf8}@media (max-width:768px){.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-content{padding:1.5rem;max-height:60vh}.footer-toggle{padding:.75rem 1rem;font-size:.9rem}}.sidebar-wrapper{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:2rem;height:fit-content;align-self:start}@media (max-width:1100px){.main-layout{flex-direction:column;align-items:center}.sidebar-wrapper{position:static;width:100%;align-self:auto;align-items:center}}.sidebar-player-badge{padding:.5rem;border-radius:.5rem;border:1px solid transparent;transition:all .2s ease}.sidebar-player-badge:hover{background:var(--glass-highlight);border-color:var(--glass-border);transform:translateY(-2px)}.btn-play-again{background:linear-gradient(to right,var(--primary),var(--secondary));color:#fff;padding:.75rem 2rem;border-radius:2rem;font-size:1.1rem;font-weight:700;box-shadow:0 4px 15px #d946ef66;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;border:0}.btn-play-again:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px #d946ef99}html:not(.dark) .win-modal-panel,[data-theme=light] .win-modal-panel{background:#fff!important;color:#0f172a}html:not(.dark) .win-modal-panel h2,html:not(.dark) .win-modal-panel p,html:not(.dark) .win-modal-panel span,[data-theme=light] .win-modal-panel h2,[data-theme=light] .win-modal-panel p,[data-theme=light] .win-modal-panel span{color:#0f172a}