2025-08-08 21:14:41 +02:00
|
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
:root {
|
|
|
|
|
color-scheme: light dark;
|
2025-08-09 01:22:59 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* Apple Light Theme Variables */
|
|
|
|
|
--bg-color: #f5f5f7;
|
|
|
|
|
--bg-sidebar: rgba(245, 245, 247, 0.6);
|
|
|
|
|
--bg-player: rgba(255, 255, 255, 0.7);
|
|
|
|
|
--bg-card: #ffffff;
|
|
|
|
|
--bg-card-hover: #f0f0f2;
|
|
|
|
|
--bg-input: rgba(0, 0, 0, 0.05);
|
2025-08-09 01:22:59 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
--text-primary: #1d1d1f;
|
|
|
|
|
--text-secondary: #86868b;
|
|
|
|
|
--text-inverse: #ffffff;
|
2025-08-09 01:22:59 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
--border-color: rgba(0, 0, 0, 0.1);
|
|
|
|
|
--border-card: rgba(0, 0, 0, 0.05);
|
|
|
|
|
|
|
|
|
|
--accent-blue: #0071e3;
|
|
|
|
|
--accent-red: #ff3b30;
|
|
|
|
|
--accent-green: #34c759;
|
|
|
|
|
|
|
|
|
|
--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
|
|
|
|
|
--shadow-md: 0 4px 16px rgba(0, 0, 0, 0.06);
|
|
|
|
|
--shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.08);
|
2025-08-09 01:22:59 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* Dimensions */
|
|
|
|
|
--sidebar-w: 260px;
|
|
|
|
|
--player-h: 80px;
|
2025-08-09 01:22:59 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
[data-theme="dark"] {
|
|
|
|
|
--bg-color: #000000;
|
|
|
|
|
--bg-sidebar: rgba(28, 28, 30, 0.5);
|
|
|
|
|
--bg-player: rgba(28, 28, 30, 0.65);
|
|
|
|
|
--bg-card: rgba(44, 44, 46, 0.7);
|
|
|
|
|
--bg-card-hover: rgba(58, 58, 60, 0.9);
|
|
|
|
|
--bg-input: rgba(255, 255, 255, 0.1);
|
|
|
|
|
|
|
|
|
|
--text-primary: #f5f5f7;
|
|
|
|
|
--text-secondary: #86868b;
|
|
|
|
|
--text-inverse: #ffffff;
|
|
|
|
|
|
|
|
|
|
--border-color: rgba(255, 255, 255, 0.1);
|
|
|
|
|
--border-card: rgba(255, 255, 255, 0.05);
|
|
|
|
|
|
|
|
|
|
--accent-blue: #0a84ff;
|
|
|
|
|
--accent-red: #ff453a;
|
|
|
|
|
--accent-green: #32d74b;
|
|
|
|
|
|
|
|
|
|
--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
|
|
|
--shadow-md: 0 4px 16px rgba(0, 0, 0, 0.3);
|
|
|
|
|
--shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.4);
|
2025-08-09 01:22:59 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
* {
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
margin: 0;
|
|
|
|
|
padding: 0;
|
2025-08-09 01:22:59 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
body {
|
|
|
|
|
font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
|
|
|
background-color: var(--bg-color);
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
-webkit-font-smoothing: antialiased;
|
|
|
|
|
-moz-osx-font-smoothing: grayscale;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
/* Prevent body scroll, layout handles it */
|
|
|
|
|
height: 100vh;
|
|
|
|
|
width: 100vw;
|
2025-08-09 01:22:59 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Layout & Structure ---------------- */
|
|
|
|
|
|
|
|
|
|
.app-layout {
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 100vh;
|
|
|
|
|
width: 100vw;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
position: relative;
|
2025-08-09 01:22:59 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.sidebar {
|
|
|
|
|
width: var(--sidebar-w);
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
background: var(--bg-sidebar);
|
|
|
|
|
border-right: 1px solid var(--border-color);
|
|
|
|
|
backdrop-filter: blur(25px) saturate(200%);
|
|
|
|
|
-webkit-backdrop-filter: blur(25px) saturate(200%);
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
z-index: 10;
|
|
|
|
|
padding: 32px 16px;
|
|
|
|
|
overflow-y: auto;
|
2025-08-09 01:22:59 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.main-content {
|
|
|
|
|
flex: 1;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
height: 100vh;
|
|
|
|
|
padding-bottom: var(--player-h);
|
|
|
|
|
/* Space for bottom player */
|
|
|
|
|
overflow: hidden;
|
2025-08-09 01:22:59 +02:00
|
|
|
position: relative;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Typography ---------------- */
|
|
|
|
|
|
|
|
|
|
h1,
|
|
|
|
|
h2,
|
|
|
|
|
h3,
|
|
|
|
|
h4 {
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
letter-spacing: -0.5px;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.title-large {
|
|
|
|
|
font-size: 34px;
|
|
|
|
|
font-weight: 800;
|
|
|
|
|
letter-spacing: -1px;
|
|
|
|
|
margin-bottom: 24px;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.sidebar-title {
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
letter-spacing: 0.5px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
margin: 24px 0 8px 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ---------------- Sidebar Items ---------------- */
|
|
|
|
|
|
|
|
|
|
.nav-item {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
padding: 8px 12px;
|
|
|
|
|
border-radius: 8px;
|
2025-08-09 00:59:13 +02:00
|
|
|
cursor: pointer;
|
2026-02-26 13:47:54 +01:00
|
|
|
color: var(--text-primary);
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
transition: background 0.2s ease;
|
|
|
|
|
margin-bottom: 2px;
|
|
|
|
|
border: none;
|
|
|
|
|
background: transparent;
|
|
|
|
|
width: 100%;
|
|
|
|
|
text-align: left;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.nav-item:hover {
|
|
|
|
|
background: var(--bg-card);
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.nav-item.active {
|
|
|
|
|
background: var(--bg-input);
|
|
|
|
|
color: var(--accent-blue);
|
2025-08-09 00:59:13 +02:00
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Header Area ---------------- */
|
2025-08-09 00:59:13 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.top-bar {
|
|
|
|
|
padding: 24px 40px;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
align-items: flex-end;
|
|
|
|
|
border-bottom: 1px solid transparent;
|
|
|
|
|
backdrop-filter: blur(20px);
|
|
|
|
|
position: sticky;
|
|
|
|
|
top: 0;
|
|
|
|
|
z-index: 5;
|
|
|
|
|
transition: all 0.3s ease;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.top-bar.scrolled {
|
|
|
|
|
background: var(--bg-player);
|
|
|
|
|
border-bottom: 1px solid var(--border-color);
|
|
|
|
|
padding: 16px 40px;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.top-bar .title-large {
|
|
|
|
|
margin: 0;
|
|
|
|
|
transition: font-size 0.3s ease;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.top-bar.scrolled .title-large {
|
|
|
|
|
font-size: 24px;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.header-actions {
|
|
|
|
|
display: flex;
|
|
|
|
|
gap: 12px;
|
|
|
|
|
align-items: center;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Search & Inputs ---------------- */
|
2025-08-09 00:59:13 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.search-box {
|
|
|
|
|
position: relative;
|
|
|
|
|
width: 280px;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.input-modern {
|
|
|
|
|
width: 100%;
|
|
|
|
|
background: var(--bg-input);
|
|
|
|
|
border: 1px solid transparent;
|
|
|
|
|
border-radius: 12px;
|
|
|
|
|
padding: 12px 16px 12px 36px;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
transition: all 0.2s ease;
|
|
|
|
|
font-family: inherit;
|
2025-08-09 00:59:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.input-modern:focus {
|
|
|
|
|
outline: none;
|
|
|
|
|
border-color: var(--accent-blue);
|
|
|
|
|
box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.2);
|
|
|
|
|
background: var(--bg-card);
|
2025-08-09 01:31:55 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
[data-theme="dark"] .input-modern:focus {
|
|
|
|
|
box-shadow: 0 0 0 4px rgba(10, 132, 255, 0.3);
|
2025-08-09 01:31:55 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.search-icon {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 10px;
|
|
|
|
|
top: 50%;
|
|
|
|
|
transform: translateY(-50%);
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
}
|
2025-08-08 21:21:23 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Track Grid ---------------- */
|
2025-08-09 00:41:13 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.track-container {
|
|
|
|
|
padding: 0 40px 40px 40px;
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
flex: 1;
|
2025-08-09 10:58:36 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.track-grid {
|
|
|
|
|
display: grid;
|
|
|
|
|
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
|
|
|
gap: 20px;
|
2025-08-09 14:52:27 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.track-card {
|
|
|
|
|
background: var(--bg-card);
|
|
|
|
|
border: 1px solid var(--border-card);
|
|
|
|
|
border-radius: 16px;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
text-align: center;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
|
|
|
box-shadow: var(--shadow-sm);
|
|
|
|
|
position: relative;
|
|
|
|
|
aspect-ratio: 1 / 1;
|
2025-08-09 14:52:27 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.track-card:hover {
|
|
|
|
|
transform: scale(1.03) translateY(-4px);
|
|
|
|
|
box-shadow: var(--shadow-md);
|
|
|
|
|
background: var(--bg-card-hover);
|
|
|
|
|
}
|
2025-08-09 21:18:01 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.track-icon {
|
|
|
|
|
width: 64px;
|
|
|
|
|
height: 64px;
|
|
|
|
|
background: linear-gradient(135deg, var(--bg-input), var(--border-color));
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
margin-bottom: 16px;
|
|
|
|
|
font-size: 28px;
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
transition: all 0.3s ease;
|
2025-08-09 00:41:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.track-card:hover .track-icon {
|
|
|
|
|
background: var(--accent-blue);
|
|
|
|
|
color: white;
|
|
|
|
|
transform: scale(1.1);
|
|
|
|
|
box-shadow: 0 8px 16px rgba(0, 113, 227, 0.4);
|
|
|
|
|
}
|
2025-08-09 01:06:51 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.track-name {
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 15px;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
display: -webkit-box;
|
|
|
|
|
-webkit-line-clamp: 2;
|
|
|
|
|
-webkit-box-orient: vertical;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
word-break: break-word;
|
|
|
|
|
}
|
2025-08-09 00:41:13 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.fav-btn {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 12px;
|
|
|
|
|
right: 12px;
|
|
|
|
|
background: transparent;
|
|
|
|
|
border: none;
|
|
|
|
|
color: var(--text-secondary);
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
opacity: 0;
|
|
|
|
|
transition: all 0.2s ease;
|
|
|
|
|
font-size: 20px;
|
2025-08-09 00:41:13 +02:00
|
|
|
}
|
2026-02-26 13:47:54 +01:00
|
|
|
|
|
|
|
|
.track-card:hover .fav-btn,
|
|
|
|
|
.fav-btn.active {
|
|
|
|
|
opacity: 1;
|
2025-08-09 00:41:13 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.fav-btn.active {
|
|
|
|
|
color: #ff9f0a;
|
|
|
|
|
/* Apple Orange */
|
2025-08-10 21:38:07 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Bottom Control Bar ---------------- */
|
|
|
|
|
|
|
|
|
|
.bottom-player {
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: var(--player-h);
|
|
|
|
|
background: var(--bg-player);
|
|
|
|
|
border-top: 1px solid var(--border-color);
|
|
|
|
|
backdrop-filter: blur(30px) saturate(200%);
|
|
|
|
|
-webkit-backdrop-filter: blur(30px) saturate(200%);
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
padding: 0 32px;
|
|
|
|
|
z-index: 20;
|
2025-08-10 21:38:07 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.player-section {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 16px;
|
|
|
|
|
flex: 1;
|
|
|
|
|
}
|
2025-08-09 02:33:48 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.player-section.center {
|
|
|
|
|
justify-content: center;
|
|
|
|
|
flex: 2;
|
2025-08-08 14:47:18 +02:00
|
|
|
}
|
2026-02-26 13:47:54 +01:00
|
|
|
|
|
|
|
|
.player-section.right {
|
|
|
|
|
justify-content: flex-end;
|
2025-08-08 14:41:05 +02:00
|
|
|
}
|
2026-02-26 13:47:54 +01:00
|
|
|
|
|
|
|
|
/* ---------------- Buttons & Controls ---------------- */
|
|
|
|
|
|
|
|
|
|
.btn-icon {
|
|
|
|
|
width: 40px;
|
|
|
|
|
height: 40px;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
border: none;
|
|
|
|
|
background: transparent;
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
display: flex;
|
2025-08-09 01:44:57 +02:00
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
2025-08-08 23:25:34 +02:00
|
|
|
cursor: pointer;
|
2026-02-26 13:47:54 +01:00
|
|
|
transition: all 0.2s;
|
2025-08-08 23:25:34 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.btn-icon:hover {
|
|
|
|
|
background: var(--bg-input);
|
|
|
|
|
}
|
2025-08-08 23:40:26 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.btn-icon.active {
|
|
|
|
|
color: var(--accent-blue);
|
2025-08-08 23:25:34 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.btn-primary {
|
|
|
|
|
background: var(--accent-blue);
|
|
|
|
|
color: white;
|
|
|
|
|
border: none;
|
|
|
|
|
padding: 10px 20px;
|
|
|
|
|
border-radius: 999px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 14px;
|
2025-08-08 23:25:34 +02:00
|
|
|
cursor: pointer;
|
2026-02-26 13:47:54 +01:00
|
|
|
transition: all 0.2s ease;
|
|
|
|
|
box-shadow: 0 4px 12px rgba(0, 113, 227, 0.3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-primary:hover {
|
|
|
|
|
transform: scale(1.05);
|
|
|
|
|
filter: brightness(1.1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btn-danger {
|
|
|
|
|
background: rgba(255, 59, 48, 0.1);
|
|
|
|
|
color: var(--accent-red);
|
2025-08-08 23:25:34 +02:00
|
|
|
border: none;
|
2026-02-26 13:47:54 +01:00
|
|
|
padding: 10px 20px;
|
|
|
|
|
border-radius: 999px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: all 0.2s ease;
|
2025-08-08 23:25:34 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.btn-danger:hover {
|
|
|
|
|
background: var(--accent-red);
|
|
|
|
|
color: white;
|
|
|
|
|
box-shadow: 0 4px 12px rgba(255, 59, 48, 0.3);
|
2025-08-08 23:05:58 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* Partymode Chaos Animation Style */
|
|
|
|
|
.btn-chaos {
|
|
|
|
|
background: linear-gradient(45deg, #ff2a6d, #d1f7ff, #05d9e8, #01012b);
|
|
|
|
|
background-size: 300% 300%;
|
|
|
|
|
color: white;
|
|
|
|
|
border: none;
|
|
|
|
|
padding: 10px 20px;
|
|
|
|
|
border-radius: 999px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
animation: bgPulse 3s ease infinite;
|
|
|
|
|
box-shadow: 0 4px 15px rgba(5, 217, 232, 0.5);
|
|
|
|
|
transition: transform 0.2s;
|
2025-08-08 23:25:34 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.btn-chaos:hover {
|
|
|
|
|
transform: scale(1.05);
|
2025-08-08 23:25:34 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
@keyframes bgPulse {
|
|
|
|
|
0% {
|
|
|
|
|
background-position: 0% 50%;
|
|
|
|
|
}
|
2025-08-08 23:25:34 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
50% {
|
|
|
|
|
background-position: 100% 50%;
|
|
|
|
|
}
|
2025-08-08 23:25:34 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
100% {
|
|
|
|
|
background-position: 0% 50%;
|
|
|
|
|
}
|
2025-08-08 23:05:58 +02:00
|
|
|
}
|
2025-08-08 01:23:52 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Select & Volume ---------------- */
|
2025-08-08 23:25:34 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.select-modern {
|
|
|
|
|
appearance: none;
|
|
|
|
|
background: var(--bg-input);
|
|
|
|
|
border: 1px solid transparent;
|
|
|
|
|
padding: 8px 36px 8px 16px;
|
|
|
|
|
border-radius: 999px;
|
|
|
|
|
color: var(--text-primary);
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: all 0.2s ease;
|
|
|
|
|
font-family: inherit;
|
2025-08-08 23:25:34 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.select-modern:hover {
|
|
|
|
|
background: var(--bg-card);
|
|
|
|
|
border-color: var(--border-color);
|
|
|
|
|
}
|
2025-08-08 01:23:52 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.select-modern:focus {
|
|
|
|
|
outline: none;
|
|
|
|
|
border-color: var(--accent-blue);
|
|
|
|
|
box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.2);
|
|
|
|
|
}
|
2025-08-09 02:12:52 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.volume-container {
|
2025-08-09 02:12:52 +02:00
|
|
|
display: flex;
|
2026-02-26 13:47:54 +01:00
|
|
|
align-items: center;
|
2025-08-09 02:35:14 +02:00
|
|
|
gap: 12px;
|
2026-02-26 13:47:54 +01:00
|
|
|
width: 140px;
|
2025-08-09 02:12:52 +02:00
|
|
|
}
|
2026-02-26 13:47:54 +01:00
|
|
|
|
|
|
|
|
.volume-slider {
|
|
|
|
|
appearance: none;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 4px;
|
|
|
|
|
background: var(--border-color);
|
|
|
|
|
border-radius: 2px;
|
|
|
|
|
outline: none;
|
|
|
|
|
background-image: linear-gradient(var(--text-secondary), var(--text-secondary));
|
|
|
|
|
background-size: var(--_fill, 0%) 100%;
|
|
|
|
|
background-repeat: no-repeat;
|
2025-08-09 15:43:57 +02:00
|
|
|
}
|
2026-02-26 13:47:54 +01:00
|
|
|
|
|
|
|
|
.volume-slider::-webkit-slider-thumb {
|
|
|
|
|
appearance: none;
|
|
|
|
|
width: 16px;
|
|
|
|
|
height: 16px;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: var(--text-primary);
|
|
|
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
2025-08-08 01:23:52 +02:00
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
2025-08-09 01:06:51 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Admin Badges & Checkboxes ---------------- */
|
2025-08-07 23:24:56 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.admin-checkbox {
|
2025-08-08 03:21:01 +02:00
|
|
|
position: absolute;
|
2026-02-26 13:47:54 +01:00
|
|
|
top: 12px;
|
|
|
|
|
left: 12px;
|
|
|
|
|
appearance: none;
|
|
|
|
|
width: 20px;
|
|
|
|
|
height: 20px;
|
|
|
|
|
border: 2px solid var(--border-color);
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
background: var(--bg-card);
|
2025-08-08 03:21:01 +02:00
|
|
|
cursor: pointer;
|
2026-02-26 13:47:54 +01:00
|
|
|
transition: all 0.2s;
|
|
|
|
|
z-index: 2;
|
2025-08-08 03:21:01 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.admin-checkbox:checked {
|
|
|
|
|
background: var(--accent-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center center;
|
|
|
|
|
background-size: 14px;
|
|
|
|
|
border-color: var(--accent-blue);
|
|
|
|
|
}
|
2025-08-07 23:24:56 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.badge-new {
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
left: 50%;
|
|
|
|
|
transform: translate(-50%, 50%);
|
|
|
|
|
background: var(--accent-blue);
|
|
|
|
|
color: white;
|
|
|
|
|
font-size: 10px;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
padding: 2px 8px;
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
box-shadow: 0 2px 8px rgba(0, 113, 227, 0.4);
|
2025-08-09 16:43:05 +02:00
|
|
|
}
|
2025-08-08 01:40:49 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.badge-custom {
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: -4px;
|
|
|
|
|
right: -4px;
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
|
2025-08-08 01:56:30 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
/* ---------------- Error & Notification ---------------- */
|
2025-08-07 23:24:56 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.notification {
|
2025-08-08 18:51:57 +02:00
|
|
|
position: fixed;
|
2026-02-26 13:47:54 +01:00
|
|
|
bottom: calc(var(--player-h) + 20px);
|
|
|
|
|
left: 50%;
|
|
|
|
|
transform: translateX(-50%);
|
|
|
|
|
padding: 12px 24px;
|
2025-08-08 18:51:57 +02:00
|
|
|
border-radius: 999px;
|
2026-02-26 13:47:54 +01:00
|
|
|
font-weight: 500;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
z-index: 100;
|
|
|
|
|
backdrop-filter: blur(20px);
|
|
|
|
|
-webkit-backdrop-filter: blur(20px);
|
|
|
|
|
box-shadow: var(--shadow-lg);
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 8px;
|
|
|
|
|
animation: slideUp 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
2025-08-08 18:51:57 +02:00
|
|
|
}
|
2025-08-07 23:24:56 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
@keyframes slideUp {
|
|
|
|
|
from {
|
|
|
|
|
transform: translate(-50%, 20px);
|
|
|
|
|
opacity: 0;
|
|
|
|
|
}
|
2025-08-09 02:43:35 +02:00
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
to {
|
|
|
|
|
transform: translate(-50%, 0);
|
|
|
|
|
opacity: 1;
|
|
|
|
|
}
|
2025-08-09 10:34:42 +02:00
|
|
|
}
|
|
|
|
|
|
2026-02-26 13:47:54 +01:00
|
|
|
.notification.error {
|
|
|
|
|
background: rgba(255, 59, 48, 0.9);
|
|
|
|
|
color: white;
|
2025-08-09 10:34:42 +02:00
|
|
|
}
|
2026-02-26 13:47:54 +01:00
|
|
|
|
|
|
|
|
.notification.info {
|
|
|
|
|
background: rgba(52, 199, 89, 0.9);
|
|
|
|
|
color: white;
|
2025-08-09 10:34:42 +02:00
|
|
|
}
|
2026-02-26 13:47:54 +01:00
|
|
|
|
|
|
|
|
/* Responsive */
|
|
|
|
|
@media (max-width: 768px) {
|
|
|
|
|
.app-layout {
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.sidebar {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 60px;
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
border-right: none;
|
|
|
|
|
border-bottom: 1px solid var(--border-color);
|
|
|
|
|
overflow-x: auto;
|
|
|
|
|
overflow-y: hidden;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.sidebar-title {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.nav-item {
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
margin-right: 8px;
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
width: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.main-content {
|
|
|
|
|
padding-bottom: calc(var(--player-h) + 60px);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bottom-player {
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
height: auto;
|
|
|
|
|
padding: 16px;
|
|
|
|
|
gap: 16px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.search-box {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
2025-08-09 02:43:35 +02:00
|
|
|
}
|