.stats-panel { padding: 1.5rem; background: #0f172a; border-radius: 0.5rem; height: 100%; overflow-y: auto; } .stats-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; flex-wrap: wrap; gap: 1rem; } .stats-header h2 { font-size: 1.5rem; font-weight: 700; color: #f9fafb; margin: 0; } .time-filter { display: flex; gap: 0.5rem; background: #1e293b; padding: 0.25rem; border-radius: 0.5rem; } .time-filter button { padding: 0.5rem 1rem; background: transparent; border: none; border-radius: 0.375rem; color: #94a3b8; font-weight: 600; cursor: pointer; transition: all 0.2s; } .time-filter button:hover { color: #e5e7eb; background: #334155; } .time-filter button.active { background: #3b82f6; color: white; } .loading { text-align: center; padding: 2rem; color: #94a3b8; font-size: 0.875rem; } /* Turtle Stats */ .turtle-stats { margin-bottom: 2rem; } .turtle-stats h3 { font-size: 1.125rem; font-weight: 600; color: #f9fafb; margin-bottom: 1rem; } .stat-section { background: #1e293b; border-radius: 0.5rem; padding: 1.5rem; } .total-mined { text-align: center; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #334155; } .stat-value { font-size: 3rem; font-weight: 700; color: #3b82f6; line-height: 1; } .stat-label { font-size: 0.875rem; color: #94a3b8; margin-top: 0.5rem; text-transform: uppercase; letter-spacing: 0.05em; } .blocks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; } .block-stat { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem; background: #0f172a; border-radius: 0.375rem; transition: all 0.2s; } .block-stat:hover { background: #1e293b; transform: translateY(-2px); } .block-emoji { font-size: 2rem; line-height: 1; } .block-info { flex: 1; } .block-name { font-size: 0.875rem; font-weight: 600; color: #e5e7eb; margin-bottom: 0.25rem; } .block-count { font-size: 0.75rem; color: #10b981; font-weight: 600; } /* Leaderboard */ .leaderboard { margin-bottom: 2rem; } .leaderboard h3 { font-size: 1.125rem; font-weight: 600; color: #f9fafb; margin-bottom: 1rem; } .leaderboard-list { background: #1e293b; border-radius: 0.5rem; padding: 1rem; } .leaderboard-item { display: flex; align-items: center; gap: 1rem; padding: 0.75rem; margin-bottom: 0.5rem; background: #0f172a; border-radius: 0.375rem; transition: all 0.2s; } .leaderboard-item:last-child { margin-bottom: 0; } .leaderboard-item:hover { background: #1e293b; transform: translateX(4px); } .leaderboard-item.rank-1 { border-left: 3px solid #fbbf24; } .leaderboard-item.rank-2 { border-left: 3px solid #9ca3af; } .leaderboard-item.rank-3 { border-left: 3px solid #cd7f32; } .rank { font-size: 1.5rem; font-weight: 700; min-width: 3rem; text-align: center; } .miner-info { flex: 1; } .miner-name { font-size: 0.875rem; font-weight: 600; color: #e5e7eb; margin-bottom: 0.25rem; } .miner-stats { font-size: 0.75rem; color: #94a3b8; } .miner-score { font-size: 1.25rem; font-weight: 700; color: #3b82f6; } /* All Turtles Overview */ .all-turtles-stats h3 { font-size: 1.125rem; font-weight: 600; color: #f9fafb; margin-bottom: 1rem; } .turtles-summary-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; } .turtle-summary-card { background: #1e293b; border-radius: 0.5rem; padding: 1rem; transition: all 0.2s; } .turtle-summary-card:hover { background: #334155; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); } .turtle-summary-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; padding-bottom: 0.75rem; border-bottom: 1px solid #334155; } .turtle-id { font-size: 0.875rem; font-weight: 600; color: #e5e7eb; } .turtle-total { font-size: 1.25rem; font-weight: 700; color: #3b82f6; } .turtle-top-blocks { display: flex; gap: 0.5rem; } .mini-block-stat { display: flex; align-items: center; gap: 0.25rem; padding: 0.375rem 0.5rem; background: #0f172a; border-radius: 0.25rem; flex: 1; } .mini-emoji { font-size: 1rem; } .mini-count { font-size: 0.75rem; font-weight: 600; color: #10b981; } /* Empty State */ .empty-state { text-align: center; padding: 4rem 2rem; } .empty-icon { font-size: 4rem; margin-bottom: 1rem; opacity: 0.5; } .empty-title { font-size: 1.25rem; font-weight: 600; color: #e5e7eb; margin-bottom: 0.5rem; } .empty-text { font-size: 0.875rem; color: #94a3b8; } .no-data { text-align: center; padding: 2rem; color: #94a3b8; font-size: 0.875rem; } /* Mobile Responsive */ @media (max-width: 768px) { .stats-panel { padding: 1rem; } .stats-header { flex-direction: column; align-items: flex-start; } .time-filter { width: 100%; } .time-filter button { flex: 1; padding: 0.625rem; } .blocks-grid { grid-template-columns: 1fr; } .turtles-summary-grid { grid-template-columns: 1fr; } .stat-value { font-size: 2.5rem; } } @media (max-width: 480px) { .stats-header h2 { font-size: 1.25rem; } .leaderboard-item { padding: 0.5rem; gap: 0.5rem; } .rank { font-size: 1.25rem; min-width: 2.5rem; } }