*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at top,#ffffff,#eef2f8 55%);color:#1b1f2a}.app-shell{padding:32px 0 48px}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1}.footer{background:rgba(255,255,255,.9);padding:15px 0;position:fixed;bottom:0;width:100%;box-shadow:0 -5px 15px #0000001a;z-index:900}.footer-content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-weight:500;color:#4b5563}.footer-text{display:inline-flex;align-items:center;gap:6px}.footer-divider{color:#cbd5f5}.footer-link{color:#1d4ed8;text-decoration:none;font-weight:600}.footer-link:hover{text-decoration:underline}.footer-icon-link{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#3498db;font-size:22px}.footer-icon-link:hover{text-decoration:none;color:#2980b9}.footer-heart{display:inline-flex;align-items:center;font-size:16px}.footer p{margin:0;color:#2c3e50;font-weight:500}.footer i.fa-heart{color:#e74c3c;animation:heartBeat 1.5s infinite}.footer a{color:#3498db;text-decoration:none;font-weight:600;transition:color .3s ease}.footer a:hover{color:#2980b9}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.15)}40%{transform:scale(1)}60%{transform:scale(1.2)}to{transform:scale(1)}}.app-main{padding-bottom:80px}.game-title{font-weight:700;letter-spacing:.5px;color:#1b1f2a}.board-card{background:#ffffff!important;border:1px solid #e3e8f3;box-shadow:0 18px 35px #1e3a8a14}.side-card{background:#ffffff!important;border:1px solid #e3e8f3;box-shadow:0 16px 30px #1e3a8a14}.side-content{display:flex;flex-direction:column}.game-status{color:#4b5565;font-weight:500}.timer-box{display:flex;justify-content:center;padding:12px 0}.timer{display:flex;flex-direction:column;gap:18px;align-items:center;width:100%}.upload-box{width:100%;margin:8px 0 4px}.upload-input{display:none}.upload-label{display:inline-flex;justify-content:center;align-items:center;width:100%;padding:10px 14px;border-radius:10px;border:2px dashed #cbd5e1;color:#334155;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}.upload-label:hover{background:#f1f5f9;border-color:#94a3b8}.play-button{transition:transform .2s ease,box-shadow .2s ease;padding:12px 18px!important;font-weight:700!important;letter-spacing:.5px}.play-button.highlight{animation:playShake .8s ease;box-shadow:0 16px 24px #2563eb59}@keyframes playShake{0%{transform:translate(0) scale(1)}15%{transform:translate(-8px) scale(1.02)}30%{transform:translate(8px) scale(1.03)}45%{transform:translate(-10px) scale(1.04)}60%{transform:translate(10px) scale(1.03)}75%{transform:translate(-6px) scale(1.02)}to{transform:translate(0) scale(1)}}.timer-display{font-weight:700;letter-spacing:3px;color:#111827}.reset-button{margin-top:8px!important;padding:12px 18px!important;font-weight:700!important;letter-spacing:.5px;box-shadow:0 10px 18px #894ae633}.stat-line{font-weight:700!important;color:#1f2937}.cards-grid{padding:8px}.cards{background-image:url(/assets/cover-88a2ae5b.png);display:flex;justify-content:center;align-items:center;border-radius:14px;transform:rotateY(180deg);transition:transform .5s;background-size:cover;background-position:center;width:100%;aspect-ratio:1 / 1;cursor:pointer;box-shadow:0 12px 22px #3b82f626;border:1px solid rgba(148,163,184,.4)}@keyframes hideCard{0%,70%{transform:rotateY(0)}to{transform:rotateY(180deg)}}.cards img{transition:transform .5s;transform:scale(0);width:100%;height:100%;object-fit:contain;padding:6px;border-radius:12px}@keyframes hideImage{0%,70%{transform:scale(1)}to{transform:scale(0)}}.cards.active{transform:rotateY(0)}.cards.active img{transform:scale(1)}.cards.preview{transform:rotateY(0)}.cards.preview img{transform:scale(1)}.cards.correct{background:#22c55e;box-shadow:0 12px 22px #22c55e59;border:2px solid #16a34a}.cards.wrong{background:#ef4444;box-shadow:0 12px 22px #ef444459;border:2px solid #dc2626}@media (max-width: 900px){.app-shell{padding:20px 0 32px}.cards-grid{padding:4px}}
