:root{--bg-primary: #0a0a0f;--bg-secondary: #14141f;--bg-card: #1a1a2e;--accent: #6c5ce7;--accent-light: #a29bfe;--success: #00b894;--warning: #fdcb6e;--danger: #e17055;--text-primary: #ffffff;--text-secondary: #b2b2cc;--text-muted: #636380;--border: #2a2a3e;--radius: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1;padding:16px;padding-top:calc(var(--tg-safe-area-inset-top, 0px) + var(--tg-content-safe-area-inset-top, 0px) + 16px);padding-bottom:80px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 12px;color:var(--text-muted);text-decoration:none;font-size:10px;transition:color .2s}.nav-item.active{color:var(--accent)}.nav-icon{font-size:20px}.card{background:var(--bg-card);border-radius:var(--radius);padding:16px;border:1px solid var(--border)}.card-header{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--radius);border:none;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;width:100%}.btn:active{opacity:.8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.page-header{font-size:24px;font-weight:700;margin-bottom:16px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-value{font-size:24px;font-weight:700}.stat-label{font-size:12px;color:var(--text-secondary)}.energy-bar{display:flex;align-items:center;gap:8px}.energy-icon{font-size:18px}.energy-text{font-size:14px;color:var(--text-secondary)}.onboarding{min-height:100vh;display:flex;flex-direction:column;padding:24px}.onboarding-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}.onboarding-emoji{font-size:64px}.onboarding-title{font-size:28px;font-weight:700}.onboarding-text{font-size:16px;color:var(--text-secondary);line-height:1.5}.onboarding-footer{padding:16px 0}.step-dots{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.step-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.step-dot.active{background:var(--accent);width:24px;border-radius:4px}.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%}.goal-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center;cursor:pointer;transition:border-color .2s}.goal-card.selected{border-color:var(--accent)}.goal-emoji{font-size:32px;margin-bottom:8px}.goal-label{font-size:14px;font-weight:600}.sneaker-card{background:var(--bg-card);border-radius:var(--radius);padding:16px;border:1px solid var(--border);display:flex;gap:12px;align-items:center}.sneaker-image{width:60px;height:60px;border-radius:8px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:32px}.sneaker-info{flex:1}.sneaker-name{font-weight:600}.sneaker-meta{font-size:12px;color:var(--text-secondary)}.mission-card{background:var(--bg-card);border-radius:var(--radius);padding:16px;border:1px solid var(--border)}.mission-title{font-weight:600;margin-bottom:4px}.mission-desc{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.mission-reward{font-size:13px;color:var(--accent-light)}.list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:none}.leaderboard-row{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.leaderboard-rank{width:32px;font-weight:700;color:var(--text-secondary)}.leaderboard-rank.top-1{color:gold}.leaderboard-rank.top-2{color:silver}.leaderboard-rank.top-3{color:#cd7f32}.leaderboard-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-secondary)}.leaderboard-name{flex:1;font-weight:500}.leaderboard-value{font-weight:700;color:var(--accent-light)}.workout-hud{position:fixed;top:0;left:0;right:0;z-index:50;padding:calc(var(--tg-safe-area-inset-top, 0px) + var(--tg-content-safe-area-inset-top, 0px) + 16px) 16px 16px;background:linear-gradient(to bottom,rgba(0,0,0,.8),transparent)}.workout-counter{font-size:72px;font-weight:900;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5)}.workout-status{text-align:center;font-size:18px;color:var(--accent-light);text-transform:uppercase}.tabs{display:flex;gap:4px;background:var(--bg-secondary);border-radius:var(--radius);padding:4px;margin-bottom:16px}.tab{flex:1;padding:8px;text-align:center;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;border:none;background:none}.tab.active{background:var(--accent);color:#fff}.time-picker{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.time-option{padding:8px 16px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;font-size:14px}.time-option.selected{border-color:var(--accent);background:var(--accent)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}.admin-table th{color:var(--text-secondary);font-weight:500}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.badge-success{background:#00b89433;color:var(--success)}.badge-warning{background:#fdcb6e33;color:var(--warning)}.badge-danger{background:#e1705533;color:var(--danger)}
