coleswebsite/css/mobile.css
2025-06-04 14:23:00 -05:00

403 lines
7.1 KiB
CSS

/* Mobile optimizations */
.id-card {
width: 92vw;
height: auto !important;
padding: 16px;
border-radius: 20px;
max-width: 100%;
overflow-y: auto;
box-sizing: border-box;
max-height: 85vh !important;
display: flex;
flex-direction: column;
align-items: center;
}
.card-tabs {
position: static !important;
top: 0;
left: 0;
display: flex;
justify-content: center;
width: 100%;
margin-bottom: 16px;
gap: 8px;
}
.card-tab {
flex: 1;
max-width: 100px;
text-align: center;
padding: 8px 0;
font-size: 0.9rem;
}
.content-wrapper {
flex-direction: column !important;
padding: 0;
gap: 8px;
width: 100%;
align-items: center;
justify-content: center;
margin-top: 5px;
}
.left-section,
.right-section {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
margin: 0;
padding: 0;
transform: none !important;
}
.center-content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
margin: 0 auto;
padding: 0;
position: relative;
}
/* Profile Picture Container */
.status-wrapper {
position: relative;
width: 86px;
height: 86px;
margin: 0 auto 10px auto;
padding: 0;
display: block;
}
/* Profile Picture */
.status-wrapper img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80px;
height: 80px;
border-width: 3px;
margin: 0;
padding: 0;
}
/* Status Indicator Dot */
.status-dot {
position: absolute;
bottom: 0;
right: 0;
width: 14px;
height: 14px;
z-index: 10;
margin: 0;
padding: 0;
}
.username {
font-size: 1.2rem;
margin: 4px 0 2px 0;
text-align: center;
width: 100%;
}
.intro {
font-size: 1rem;
margin: 2px 0 6px 0;
text-align: center;
width: 100%;
}
/* Discord Activity Box */
.discord-box {
padding: 10px;
border-radius: 8px;
margin: 5px auto;
width: 100%;
box-sizing: border-box;
max-width: 280px;
text-align: center;
align-self: center;
}
.link {
width: 100%;
max-width: 280px;
margin: 4px 0;
padding: 8px 14px;
font-size: 0.95rem;
}
#home-tab {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
#activity-tab {
padding: 0 !important;
overflow-y: auto;
height: auto !important;
width: 100%;
}
.logs-tab-content {
padding: 10px 5px;
width: 100%;
}
.logs-tab-content h2 {
text-align: center;
font-size: 1.2rem;
margin-top: 0;
margin-bottom: 12px;
}
.activity-wrapper {
padding: 10px;
margin-bottom: 8px;
position: relative;
}
.activity-icon {
width: 50px;
height: 50px;
}
.activity-info .activity-title {
font-size: 0.9rem;
}
.activity-info .activity-subtitle {
font-size: 0.75rem;
}
/* Activity type badge adjustments for mobile */
.activity-type {
position: absolute;
top: 5px;
right: 5px;
font-size: 0.65rem;
padding: 1px 4px;
}
/* Mobile-specific progress bar styles */
.spotify-progress {
display: flex;
align-items: center;
gap: 6px;
margin-top: 4px;
width: 100%;
justify-content: center;
}
.spotify-progress .time {
font-size: 0.65rem;
color: #b7a4d4;
flex-shrink: 0;
}
.spotify-progress .bar {
flex: 1;
max-width: 160px; /* Limit width to help with centering */
height: 3px;
background: #2b1f4c;
border-radius: 2px;
overflow: hidden;
position: relative;
}
.spotify-progress .fill {
height: 100%;
background: var(--accent-color);
border-radius: 2px;
position: absolute;
top: 0;
left: 0;
}
/* Force centered text with important for mobile */
.presence-entry {
margin-bottom: 8px;
width: 100%;
text-align: center !important;
justify-content: center !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
}
.presence-entry .music-info {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
text-align: center !important;
width: 100%;
}
.presence-entry .music-info .song-title,
.presence-entry .music-info .artist {
text-align: center !important;
width: 100%;
margin: 0 auto;
}
/* Smaller Spotify icon for mobile */
.spotify-icon {
width: 12px;
height: 12px;
margin-right: 3px;
vertical-align: middle;
}
/* Album art positioning and sizing for mobile */
.presence-entry .album-art {
width: 50px !important;
height: 50px !important;
margin: 0 auto 8px auto !important;
display: block !important;
border-radius: 50% !important;
border: 2px solid #b592ff !important;
object-fit: cover !important;
}
/* Structure album art and text vertically on mobile */
.presence-entry {
flex-direction: column !important;
}
.pagination-controls {
margin-top: 12px;
flex-wrap: wrap;
justify-content: center;
}
.pagination-controls button {
padding: 4px 8px;
min-width: 30px;
margin: 2px;
}
/* Fix for the scrollable content areas */
.tab-page {
overflow-y: auto;
-webkit-overflow-scrolling: touch;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
/* Reset any problematic styles */
#home-tab .left-section,
#home-tab .right-section {
transform: none !important;
}
/* Override any styles that might interfere with our positioning */
.left-section .status-wrapper .status-online,
.left-section .status-wrapper .status-idle,
.left-section .status-wrapper .status-dnd,
.left-section .status-wrapper .status-offline {
padding: 0 !important;
margin: 0 !important;
position: absolute !important;
bottom: 0 !important;
right: 0 !important;
}
/* Add spinning animation for Spotify album art */
.spotify-presence .album-art {
animation: spin 10s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
/* Fix for song title centering specifically */
.presence-entry .music-info .song-title {
text-align: center !important;
width: 100% !important;
display: flex !important;
justify-content: center !important;
align-items: center !important;
margin: 0 auto !important;
}
/* Keep the Spotify icon aligned with text */
.presence-entry .song-title .spotify-icon,
.presence-entry .song-title img {
margin-right: 4px !important;
flex-shrink: 0 !important;
}
/* Force anchor tag styling to be centered */
.presence-entry a.song-title {
text-align: center !important;
display: inline-flex !important;
justify-content: center !important;
width: 100% !important;
color: inherit !important;
text-decoration: none !important;
}
/* Activity filters for mobile */
.activity-filters {
flex-wrap: wrap;
gap: 6px;
margin-bottom: 10px;
}
.filter-btn {
padding: 4px 10px;
font-size: 0.8rem;
flex: 1;
min-width: 70px;
max-width: 80px;
}
/* Projects tab mobile styling */
#projects-tab {
padding: 0 !important;
overflow-y: auto;
height: auto !important;
width: 100%;
}
.projects-content {
padding: 10px 5px !important;
}
.projects-grid {
gap: 10px !important;
}
.project-card {
min-width: 140px !important;
}
.project-image {
height: 120px !important;
}
.project-title {
font-size: 1rem !important;
}
.project-desc {
font-size: 0.8rem !important;
}
.coming-soon {
font-size: 0.9rem !important;
margin-top: 5px !important;
}