.skeleton{background:linear-gradient(90deg,var(--color-gray-100)25%,var(--color-gray-200)50%,var(--color-gray-100)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-battle{gap:var(--space-8);padding:var(--space-8);max-width:var(--max-width);flex-direction:column;margin:0 auto;display:flex}.skeleton-header{text-align:center}.skeleton-title{width:320px;height:56px;margin:0 auto var(--space-4)}.skeleton-tagline{width:400px;height:24px;margin:0 auto}.skeleton-prompt-section{border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-6)}.skeleton-prompt-title{width:80px;height:16px;margin-bottom:var(--space-4)}.skeleton-prompt-text{width:100%;height:56px}.skeleton-players{gap:var(--space-6);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.skeleton-player{border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-6)}.skeleton-player-title{width:120px;height:32px;margin-bottom:var(--space-4)}.skeleton-player-controls{width:100%;height:140px}.skeleton-vs{border-radius:var(--radius-full);width:56px;height:56px}.skeleton-voting{text-align:center;background:var(--color-gray-900);border-radius:var(--radius-lg);padding:var(--space-8)}.skeleton-voting-title{width:300px;height:28px;margin:0 auto var(--space-6);background:linear-gradient(90deg,var(--color-gray-700)25%,var(--color-gray-600)50%,var(--color-gray-700)75%);background-size:200% 100%;animation:1.5s ease-in-out infinite loading}.skeleton-vote-buttons{gap:var(--space-4);grid-template-columns:repeat(2,1fr);max-width:600px;margin:0 auto;display:grid}.skeleton-vote-button{border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-gray-700)25%,var(--color-gray-600)50%,var(--color-gray-700)75%);background-size:200% 100%;height:52px;animation:1.5s ease-in-out infinite loading}@media (max-width:900px){.skeleton-players{grid-template-columns:1fr}.skeleton-vs{display:none}}@media (max-width:600px){.skeleton-vote-buttons{grid-template-columns:1fr}.skeleton-tagline,.skeleton-voting-title{width:90%}}.skeleton-leaderboard-table{border-collapse:collapse;background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);width:100%;overflow:hidden}.skeleton-leaderboard-table thead{background:var(--color-black)}.skeleton-leaderboard-table th{padding:var(--space-4);text-align:left}.skeleton-leaderboard-table th .skeleton{background:linear-gradient(90deg,var(--color-gray-700)25%,var(--color-gray-600)50%,var(--color-gray-700)75%);background-size:200% 100%;height:16px;animation:1.5s ease-in-out infinite loading}.skeleton-leaderboard-table td{padding:var(--space-4);border-bottom:1px solid var(--color-gray-200)}.skeleton-table-cell{height:20px}.skeleton-rank-cell{width:60px}.skeleton-model-cell{width:200px}.skeleton-rating-cell{width:100px}.skeleton-votes-cell{width:80px}.skeleton-timestamp-cell{width:160px}.skeleton-admin-table{border-collapse:collapse;background:var(--color-white);border-radius:var(--radius-lg);width:100%;margin-top:var(--space-4);border:1px solid var(--color-gray-200);overflow:hidden}.skeleton-admin-table thead{background:var(--color-black)}.skeleton-admin-table th{padding:var(--space-4);text-align:left}.skeleton-admin-table th .skeleton{background:linear-gradient(90deg,var(--color-gray-700)25%,var(--color-gray-600)50%,var(--color-gray-700)75%);background-size:200% 100%;height:14px;animation:1.5s ease-in-out infinite loading}.skeleton-admin-table td{padding:var(--space-4);border-bottom:1px solid var(--color-gray-200)}.skeleton-admin-cell{height:16px}
@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.battle-container,.leaderboard-page,.admin-container{animation:.3s ease-out fadeIn}.battle-header{animation:.4s ease-out slideInDown}.prompt-section{animation:.5s ease-out 50ms backwards fadeIn}.battle-section{animation:.5s ease-out .1s backwards fadeIn}.voting-section{animation:.5s ease-out .15s backwards fadeIn}.vote-submitted{animation:.3s ease-out scaleIn,.5s ease-out .3s successPulse}.error-message,.vote-error{animation:.4s ease-out shake}button,a,input,textarea,select{transition:all var(--transition-base)}button:not(:disabled):hover,a:not(.disabled):hover{transform:translateY(-1px)}button:not(:disabled):active,a:not(.disabled):active{transition-duration:50ms;transform:translateY(0)}input:focus,textarea:focus,select:focus{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}tr{transition:background-color var(--transition-fast)}.model-container{transition:transform var(--transition-base),border-color var(--transition-base);animation:.4s ease-out scaleIn}.model-container:hover{transform:translateY(-2px)}.vs-divider span{transition:transform var(--transition-base)}.vs-divider span:hover{transform:scale(1.1)}.status-badge{transition:transform var(--transition-fast)}.status-badge:hover{transform:scale(1.05)}.leaderboard-table tbody tr{animation:.3s ease-out backwards fadeIn}.leaderboard-table tbody tr:first-child{animation-delay:20ms}.leaderboard-table tbody tr:nth-child(2){animation-delay:40ms}.leaderboard-table tbody tr:nth-child(3){animation-delay:60ms}.leaderboard-table tbody tr:nth-child(4){animation-delay:80ms}.leaderboard-table tbody tr:nth-child(5){animation-delay:.1s}.rank-medal{display:inline-block}.loading,.loading-spinner,.spinner{animation:.2s ease-out fadeIn}.vote-submitted,.error,.empty-state{animation:.3s ease-out scaleIn}input[type=checkbox]{transition:transform var(--transition-fast)}input[type=checkbox]:checked{transform:scale(1.05)}.auto-refresh-toggle{transition:color var(--transition-fast)}.auto-refresh-toggle:hover{color:var(--color-black)}.leaderboard-nav,.battle-footer{animation:.5s ease-out .2s backwards fadeIn}.admin-section{animation:.4s ease-out backwards fadeIn}.admin-section:first-child{animation-delay:0s}.admin-section:nth-child(2){animation-delay:50ms}.admin-section:nth-child(3){animation-delay:.1s}.admin-section:nth-child(4){animation-delay:.15s}.form-group{animation:.3s ease-out backwards fadeIn}.form-group:first-child{animation-delay:20ms}.form-group:nth-child(2){animation-delay:40ms}.form-group:nth-child(3){animation-delay:60ms}.form-group:nth-child(4){animation-delay:80ms}.refresh-button:disabled{animation:1.2s ease-in-out infinite pulse}.leaderboard-controls{animation:.4s ease-out 50ms backwards slideInDown}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
