Enhance 5 layout themes with structural CSS — topbar, nav accents, mini-bar, ambient layers
This commit is contained in:
@@ -2850,6 +2850,41 @@ html[data-layout="sanctuary-stage"] .main > *:last-child {
|
||||
html[data-layout="sanctuary-stage"] .mini-bar {
|
||||
bottom: calc(56px + env(safe-area-inset-bottom));
|
||||
}
|
||||
html[data-layout="sanctuary-stage"] .topbar {
|
||||
background: rgba(9, 11, 16, 0.6);
|
||||
backdrop-filter: blur(20px) saturate(1.4);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(1.4);
|
||||
border-bottom: 1px solid rgba(245, 158, 11, 0.12);
|
||||
box-shadow: none;
|
||||
}
|
||||
html[data-layout="sanctuary-stage"] .player-stage {
|
||||
position: relative;
|
||||
}
|
||||
html[data-layout="sanctuary-stage"] .player-stage::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(245, 158, 11, 0.07), transparent 70%);
|
||||
z-index: 0;
|
||||
}
|
||||
html[data-layout="sanctuary-stage"] .bottom-nav {
|
||||
background: rgba(9, 11, 16, 0.85);
|
||||
backdrop-filter: blur(20px) saturate(1.4);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(1.4);
|
||||
border-top: 1px solid rgba(245, 158, 11, 0.12);
|
||||
}
|
||||
html[data-layout="sanctuary-stage"] .bottom-nav-btn.active { color: #fbbf24; }
|
||||
html[data-layout="sanctuary-stage"] .mini-bar-inner {
|
||||
background: rgba(9, 11, 16, 0.85);
|
||||
backdrop-filter: blur(20px) saturate(1.4);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(1.4);
|
||||
border-top: 1px solid rgba(245, 158, 11, 0.12);
|
||||
}
|
||||
html[data-layout="sanctuary-stage"] .brand-mark {
|
||||
background: linear-gradient(145deg, #fbbf24, #d97706);
|
||||
box-shadow: 0 6px 18px -4px rgba(245, 158, 11, 0.5), inset 0 1px 0 rgba(255,255,255,0.25);
|
||||
}
|
||||
|
||||
/* --- Liturgical Chronicle --------------------------------------------------
|
||||
* Light parchment palette with burgundy accent and serif typography.
|
||||
@@ -2928,6 +2963,43 @@ html[data-layout="living-hymnal"] body::before {
|
||||
radial-gradient(900px 600px at 18% -10%, rgba(99, 102, 241, 0.08), transparent 60%),
|
||||
radial-gradient(700px 500px at 100% 110%, rgba(99, 102, 241, 0.04), transparent 55%);
|
||||
}
|
||||
html[data-layout="living-hymnal"] .sidebar {
|
||||
background: linear-gradient(180deg, #0d0d10, #09090b);
|
||||
border-right: 1px solid #27272a;
|
||||
}
|
||||
html[data-layout="living-hymnal"] .nav-item {
|
||||
border-radius: 8px;
|
||||
padding-left: 18px;
|
||||
}
|
||||
html[data-layout="living-hymnal"] .nav-item.active::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 3px;
|
||||
height: 60%;
|
||||
background: #6366f1;
|
||||
border-radius: 0 3px 3px 0;
|
||||
}
|
||||
html[data-layout="living-hymnal"] .topbar {
|
||||
background: #0d0d10;
|
||||
border-bottom: 1px solid #27272a;
|
||||
backdrop-filter: none;
|
||||
-webkit-backdrop-filter: none;
|
||||
}
|
||||
html[data-layout="living-hymnal"] .mini-bar-inner {
|
||||
background: linear-gradient(180deg, #18181b, #0d0d10);
|
||||
border-top: 1px solid #27272a;
|
||||
}
|
||||
html[data-layout="living-hymnal"] .playlist-item {
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.04);
|
||||
padding: 8px 10px;
|
||||
}
|
||||
html[data-layout="living-hymnal"] .brand-mark {
|
||||
background: linear-gradient(145deg, #818cf8, #4f46e5);
|
||||
box-shadow: 0 6px 18px -4px rgba(99, 102, 241, 0.5), inset 0 1px 0 rgba(255,255,255,0.25);
|
||||
}
|
||||
|
||||
/* --- Sunday Broadcaster ----------------------------------------------------
|
||||
* Near-black with crimson/rose accent for a live-broadcast feel.
|
||||
@@ -2950,13 +3022,55 @@ html[data-layout="broadcaster"] body::before {
|
||||
radial-gradient(900px 600px at 18% -10%, rgba(244, 63, 94, 0.09), transparent 60%),
|
||||
radial-gradient(700px 500px at 100% 110%, rgba(244, 63, 94, 0.04), transparent 55%);
|
||||
}
|
||||
html[data-layout="broadcaster"] .sidebar {
|
||||
background: linear-gradient(180deg, #0a0a0e, #050507);
|
||||
}
|
||||
html[data-layout="broadcaster"] .topbar {
|
||||
border-bottom: 2px solid rgba(244, 63, 94, 0.25);
|
||||
position: relative;
|
||||
min-height: 58px;
|
||||
background: linear-gradient(180deg, #0a0a0e 0%, #050507 100%);
|
||||
border-bottom: 2px solid rgba(244, 63, 94, 0.3);
|
||||
}
|
||||
html[data-layout="broadcaster"] .topbar::after {
|
||||
content: '● LIVE';
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
font-size: 11px;
|
||||
font-weight: 800;
|
||||
color: #f43f5e;
|
||||
letter-spacing: 0.08em;
|
||||
font-family: system-ui, sans-serif;
|
||||
pointer-events: none;
|
||||
}
|
||||
html[data-layout="broadcaster"] .brand-mark {
|
||||
background: linear-gradient(145deg, #fb7185, #e11d48);
|
||||
box-shadow: 0 6px 18px -4px rgba(244, 63, 94, 0.5), inset 0 1px 0 rgba(255,255,255,0.25);
|
||||
}
|
||||
html[data-layout="broadcaster"] .nav-item.active {
|
||||
background: rgba(244, 63, 94, 0.08);
|
||||
color: #fb7185;
|
||||
}
|
||||
html[data-layout="broadcaster"] .nav-item.active::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 3px;
|
||||
height: 60%;
|
||||
background: #f43f5e;
|
||||
border-radius: 0 3px 3px 0;
|
||||
}
|
||||
html[data-layout="broadcaster"] .mini-bar-inner {
|
||||
background: linear-gradient(180deg, #141418, #0a0a0e);
|
||||
border-top: 1px solid rgba(244, 63, 94, 0.15);
|
||||
}
|
||||
html[data-layout="broadcaster"] .playlist-item.active {
|
||||
background: rgba(244, 63, 94, 0.08);
|
||||
border-left: 3px solid #f43f5e;
|
||||
}
|
||||
|
||||
/* --- Contemplative Sanctuary ------------------------------------------------
|
||||
* Deep blue-black with teal accent and serif typography. Sidebar collapses
|
||||
@@ -2986,6 +3100,49 @@ html[data-layout="contemplative"] .bottom-nav { display: flex; }
|
||||
html[data-layout="contemplative"] .mini-bar {
|
||||
bottom: calc(56px + env(safe-area-inset-bottom));
|
||||
}
|
||||
html[data-layout="contemplative"] .topbar {
|
||||
background: transparent;
|
||||
border-bottom: 1px solid rgba(45, 212, 191, 0.08);
|
||||
backdrop-filter: none;
|
||||
-webkit-backdrop-filter: none;
|
||||
}
|
||||
html[data-layout="contemplative"] .brand,
|
||||
html[data-layout="contemplative"] .topbar {
|
||||
font-family: Georgia, 'Times New Roman', serif;
|
||||
}
|
||||
html[data-layout="contemplative"] .player-stage {
|
||||
position: relative;
|
||||
}
|
||||
html[data-layout="contemplative"] .player-stage::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(45, 212, 191, 0.06), transparent 70%);
|
||||
z-index: 0;
|
||||
}
|
||||
html[data-layout="contemplative"] .bottom-nav {
|
||||
background: rgba(10, 14, 20, 0.9);
|
||||
backdrop-filter: blur(20px) saturate(1.4);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(1.4);
|
||||
border-top: 1px solid rgba(45, 212, 191, 0.1);
|
||||
}
|
||||
html[data-layout="contemplative"] .bottom-nav-btn.active { color: #5eead4; }
|
||||
html[data-layout="contemplative"] .mini-bar-inner {
|
||||
background: rgba(10, 14, 20, 0.9);
|
||||
backdrop-filter: blur(20px) saturate(1.5);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(1.5);
|
||||
border-top: 1px solid rgba(45, 212, 191, 0.1);
|
||||
}
|
||||
html[data-layout="contemplative"] .playlist-item.active {
|
||||
background: rgba(45, 212, 191, 0.06);
|
||||
border-left: 2px solid #2dd4bf;
|
||||
}
|
||||
html[data-layout="contemplative"] .nav-item.active { color: #5eead4; }
|
||||
html[data-layout="contemplative"] .brand-mark {
|
||||
background: linear-gradient(145deg, #5eead4, #0d9488);
|
||||
box-shadow: 0 6px 18px -4px rgba(45, 212, 191, 0.4), inset 0 1px 0 rgba(255,255,255,0.25);
|
||||
}
|
||||
|
||||
/* --- Bento Hub -------------------------------------------------------------
|
||||
* GitHub-dark-ish with honey-gold accent. Tighter borders give a
|
||||
@@ -3018,10 +3175,51 @@ html[data-layout="bento-hub"] .brand-mark {
|
||||
box-shadow: 0 6px 18px -4px rgba(234, 179, 8, 0.45), inset 0 1px 0 rgba(255,255,255,0.25);
|
||||
}
|
||||
html[data-layout="bento-hub"] .sidebar {
|
||||
border-right-color: var(--line);
|
||||
background: #13181f;
|
||||
border-right: 1px solid #30363d;
|
||||
}
|
||||
html[data-layout="bento-hub"] .brand {
|
||||
border-bottom: 1px solid #21262d;
|
||||
padding-bottom: 18px;
|
||||
}
|
||||
html[data-layout="bento-hub"] .nav-item {
|
||||
border-radius: 6px;
|
||||
}
|
||||
html[data-layout="bento-hub"] .nav-item.active {
|
||||
background: rgba(234, 179, 8, 0.08);
|
||||
color: #fbbf24;
|
||||
}
|
||||
html[data-layout="bento-hub"] .nav-item.active::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 3px;
|
||||
height: 60%;
|
||||
background: #eab308;
|
||||
border-radius: 0 3px 3px 0;
|
||||
}
|
||||
html[data-layout="bento-hub"] .playlist-item {
|
||||
background: #0d1117;
|
||||
border: 1px solid #21262d;
|
||||
border-radius: 8px;
|
||||
margin: 3px 0;
|
||||
padding: 8px 12px;
|
||||
}
|
||||
html[data-layout="bento-hub"] .playlist-item.active {
|
||||
border-color: #eab308;
|
||||
background: rgba(234, 179, 8, 0.05);
|
||||
}
|
||||
html[data-layout="bento-hub"] .topbar {
|
||||
border-bottom-color: var(--line);
|
||||
background: #13181f;
|
||||
border-bottom: 2px solid #21262d;
|
||||
backdrop-filter: none;
|
||||
-webkit-backdrop-filter: none;
|
||||
}
|
||||
html[data-layout="bento-hub"] .mini-bar-inner {
|
||||
background: linear-gradient(180deg, #1c2333, #13181f);
|
||||
border-top: 1px solid #30363d;
|
||||
}
|
||||
|
||||
/* Grid-column overrides only apply on screens wide enough for an inline sidebar
|
||||
|
||||
Reference in New Issue
Block a user