78 lines
3.4 KiB
CSS
78 lines
3.4 KiB
CSS
/* ── Post Button (topbar CTA) ── */
|
|
.f-post-btn {
|
|
display: flex; align-items: center; gap: 10px;
|
|
padding: 12px 28px; border-radius: 16px;
|
|
font-family: var(--font); font-weight: 900; font-size: 0.95rem; letter-spacing: 0.3px;
|
|
color: var(--teal);
|
|
background: rgba(var(--teal-rgb), 0.12); backdrop-filter: blur(14px);
|
|
border: 1px solid rgba(var(--teal-rgb), 0.25);
|
|
box-shadow: 0 8px 24px rgba(0,0,0,0.35), inset 0 0 12px rgba(var(--teal-rgb), 0.15), 0 0 18px rgba(var(--teal-rgb), 0.15);
|
|
cursor: pointer; transition: all 0.25s ease;
|
|
position: relative; overflow: hidden;
|
|
}
|
|
.f-post-btn::before {
|
|
content: ""; position: absolute; inset: 0;
|
|
background: linear-gradient(120deg, rgba(255,255,255,0.25), rgba(255,255,255,0.05) 40%, transparent 60%);
|
|
opacity: 0.4; pointer-events: none;
|
|
}
|
|
.f-post-btn:hover {
|
|
transform: translateY(-2px) scale(1.02);
|
|
border-color: rgba(var(--teal-rgb), 0.5);
|
|
box-shadow: 0 12px 32px rgba(0,0,0,0.45), inset 0 0 18px rgba(var(--teal-rgb), 0.25), 0 0 26px rgba(var(--teal-rgb), 0.35);
|
|
}
|
|
.f-post-btn:active {
|
|
transform: translateY(0) scale(0.98);
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.4), inset 0 0 10px rgba(var(--teal-rgb), 0.2);
|
|
}
|
|
/* ── Login Button (topbar) ── */
|
|
.f-login-btn {
|
|
display: flex; align-items: center; gap: 6px;
|
|
padding: 8px 18px; border-radius: 14px;
|
|
font-family: var(--font); font-weight: 800; font-size: 0.85rem; letter-spacing: 0.3px;
|
|
color: var(--teal);
|
|
background: rgba(var(--teal-rgb), 0.12); backdrop-filter: blur(14px);
|
|
border: 1px solid rgba(var(--teal-rgb), 0.25);
|
|
box-shadow: 0 6px 18px rgba(0,0,0,0.35), inset 0 0 10px rgba(var(--teal-rgb), 0.12), 0 0 14px rgba(var(--teal-rgb), 0.12);
|
|
cursor: pointer; transition: all 0.25s ease;
|
|
position: relative; overflow: hidden; white-space: nowrap;
|
|
}
|
|
.f-login-btn::before {
|
|
content: ""; position: absolute; inset: 0;
|
|
background: linear-gradient(120deg, rgba(255,255,255,0.25), rgba(255,255,255,0.05) 40%, transparent 60%);
|
|
opacity: 0.4; pointer-events: none;
|
|
}
|
|
.f-login-btn:hover {
|
|
transform: translateY(-2px) scale(1.02);
|
|
border-color: rgba(var(--teal-rgb), 0.5);
|
|
box-shadow: 0 10px 26px rgba(0,0,0,0.45), inset 0 0 14px rgba(var(--teal-rgb), 0.22), 0 0 20px rgba(var(--teal-rgb), 0.3);
|
|
}
|
|
.f-login-btn:active {
|
|
transform: translateY(0) scale(0.98);
|
|
box-shadow: 0 3px 10px rgba(0,0,0,0.4), inset 0 0 8px rgba(var(--teal-rgb), 0.18);
|
|
}
|
|
|
|
.f-post-btn span {
|
|
display: flex; align-items: center; justify-content: center;
|
|
width: 22px; height: 22px; border-radius: 50%;
|
|
background: rgba(var(--teal-rgb), 0.2); box-shadow: 0 0 10px rgba(var(--teal-rgb), 0.4);
|
|
font-size: 1.2rem; transform: translateY(-2px);
|
|
}
|
|
|
|
/* ── Feed Empty / Error States ── */
|
|
.f-center {
|
|
flex: 1; display: flex; flex-direction: column;
|
|
align-items: center; justify-content: center;
|
|
gap: 12px; color: var(--muted); text-align: center; padding: 40px;
|
|
}
|
|
.f-center-icon { font-size: 2.8rem; opacity: .3; }
|
|
.f-center-title { font-size: 1rem; font-weight: 700; color: var(--muted); }
|
|
.f-center-sub { font-size: .82rem; line-height: 1.6; }
|
|
|
|
/* ── Loading Spinner ── */
|
|
.f-spinner-wrap { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .88rem; }
|
|
.f-spinner {
|
|
width: 20px; height: 20px;
|
|
border: 2px solid rgba(var(--teal-rgb), .2); border-top-color: var(--teal);
|
|
border-radius: 50%; animation: spin .7s linear infinite; flex-shrink: 0;
|
|
}
|