Файл: assets/style.css
Строк: 2065
@charset "UTF-8";
@import
url('/assets/css/billabong.css');
:root {
--bg-body: #000000;
--bg-card: #000000;
--text-main: #f5f5f5;
--text-secondary:
#a8a8a8;
--border-color: #262626;
--primary-blue: #0057B8;
--primary-yellow: #FFD700;
--button-blue: #0095f6;
--sidebar-width: 245px;
--hover-overlay: rgba(255, 255, 255,
0.1);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
background-color: var(--bg-body); color: var(--text-main); font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
Arial, sans-serif; overflow-x: hidden; }
a { color: var(--text-main);
text-decoration: none; }
a.link-blue { color: var(--button-blue);
font-weight: 600; font-size: 12px; }
.main-wrapper { display: flex;
max-width: 1300px; margin: 0 auto; justify-content: center; }
/* SIDEBAR
LEFT */
.sidebar-left { position: fixed; top: 0; left: 0; width: 72px;
height: 100vh; border-right: 1px solid var(--border-color); padding: 12px;
display: none; flex-direction: column; z-index: 10; background:
var(--bg-body); transition: width 0.2s; }
@media (min-width: 1264px) {
.sidebar-left { width: var(--sidebar-width); padding: 24px 12px;
align-items: flex-start; }
.nav-row span { display: inline-block
!important; }
.brand-logo { display: block !important; padding-left:
12px; }
.logo-icon { display: none !important; }
}
@media
(min-width: 768px) {
.sidebar-left { display: flex; }
.app-header, .bottom-nav { display: none !important; }
.feed-container
{ margin-left: 72px; }
}
@media (min-width: 1264px) { .feed-container {
margin-left: var(--sidebar-width); } }
/* Force collapse sidebar when
panel is open OR sidebar-collapsed class is present */
body.panel-open
.sidebar-left,
.sidebar-left.sidebar-collapsed { width: 72px !important;
align-items: center; } /* Reset align from flex-start */
body.panel-open
.nav-row span,
.sidebar-left.sidebar-collapsed .nav-row span { display:
none !important; }
body.panel-open
.brand-logo,
.sidebar-left.sidebar-collapsed .brand-logo { display: none
!important; }
body.panel-open
.logo-icon,
.sidebar-left.sidebar-collapsed .logo-icon { display: block
!important; }
body.panel-open
.sidebar-left,
.sidebar-left.sidebar-collapsed { padding: 12px; } /* Reset
padding */
.brand-logo { margin-bottom: 30px; font-family: 'Billabong',
cursive; font-size: 28px; background: linear-gradient(45deg,
var(--primary-blue), var(--primary-yellow)); -webkit-background-clip: text;
background-clip: text; -webkit-text-fill-color: transparent; display: none;
padding-top: 10px; }
.logo-icon { display: block; margin-bottom: 30px;
padding: 10px; }
.nav-row { display: flex; align-items: center; padding:
12px; margin: 4px 0; border-radius: 8px; cursor: pointer; transition:
background 0.2s; color: var(--text-main); width: 100%; }
.nav-row:hover {
background-color: var(--hover-overlay); }
.nav-row svg { width: 24px;
height: 24px; flex-shrink: 0; transition: transform 0.2s; }
.nav-row span
{ margin-left: 16px; font-size: 16px; font-weight: 400; display: none;
}
.nav-row.active span { font-weight: 700; }
.nav-row:active svg {
transform: scale(0.9); }
.nav-row.panel-active {
border: 1px solid
var(--border-color);
background:
var(--hover-overlay);
}
.nav-row.panel-active span { font-weight: 700;
}
.nav-row.panel-active svg { transform: scale(1.1); }
/* MORE MENU
POPOVER */
.more-menu-popover {
position: fixed;
bottom: 80px;
left: 12px;
width: 266px;
background: #262626;
border-radius: 16px;
padding: 8px;
display: none;
z-index:
100;
box-shadow: 0 4px 24px rgba(0,0,0,0.5);
}
.more-menu-item {
display: flex;
align-items: center;
padding: 12px 16px;
cursor: pointer;
border-radius: 8px;
color: white;
transition: background 0.2s;
font-size: 15px;
text-decoration:
none;
}
.more-menu-item:hover {
background:
rgba(255,255,255,0.1);
}
.more-menu-item svg {
margin-right: 12px;
width: 18px;
height: 18px;
}
.more-menu-separator {
height:
6px;
background: #363636;
margin: 8px -8px;
border-bottom:
1px solid #121212;
border-top: 1px solid
#121212;
}
.more-menu-separator.thin {
height: 1px;
border:
none;
background: #363636;
margin: 8px 0;
}
/* FEED
*/
.feed-container { width: 100%; max-width: 630px; padding-bottom: 60px;
padding-top: 30px; }
.feed-container.reels-view { max-width: 100%;
padding: 0; background: black; }
/* REELS PAGE */
.reels-container {
height: 100vh;
overflow-y: scroll;
scroll-snap-type: y
mandatory;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 60px; /* Space for top tabs
*/
}
/* Hide scrollbar for reels-container
*/
.reels-container::-webkit-scrollbar { display: none;
}
.reels-nav-tabs {
position: fixed;
top: 0;
left: 72px;
/* collapsed sidebar */
right: 0;
height: 60px;
display:
flex;
justify-content: center;
align-items: center;
gap:
20px;
background: black;
z-index: 10;
font-weight:
600;
}
@media (min-width: 1264px) {
.reels-nav-tabs { left:
var(--sidebar-width); }
}
body.panel-open .reels-nav-tabs { left: 72px;
}
.reels-nav-tabs span { cursor: pointer; color: var(--text-secondary);
font-size: 16px; }
.reels-nav-tabs span.active { color: white;
border-bottom: 2px solid white; padding-bottom: 4px; }
.reel-wrapper {
height: calc(100vh - 80px); /* slightly less than full viewport to show
centering */
scroll-snap-align: start;
display: flex;
align-items: flex-end;
justify-content: center;
margin-bottom:
20px;
position: relative;
width: 600px; /* reel width + actions
*/
}
.reel-item {
position: relative;
height: 100%;
aspect-ratio: 9/16;
background: #111;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 0 20px
rgba(0,0,0,0.5);
}
.reel-item video {
width: 100%;
height:
100%;
object-fit: cover;
}
.reel-overlay {
position:
absolute;
bottom: 0;
left: 0;
right: 0;
padding:
20px;
background: linear-gradient(transparent, rgba(0,0,0,0.7));
color: white;
z-index: 2;
}
.reel-user {
display: flex;
align-items: center;
gap: 10px;
margin-bottom:
12px;
}
.reel-user .user-avatar { width: 32px; height: 32px; border: 1px
solid white; }
.reel-username { font-weight: 600; font-size: 14px;
}
.btn-follow {
background: transparent;
border: 1px solid
white;
color: white;
padding: 4px 12px;
border-radius:
8px;
font-size: 12px;
font-weight: 600;
cursor:
pointer;
}
.reel-caption { font-size: 14px; margin-bottom: 12px;
line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display:
-webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient:
vertical; }
.reel-music {
display: flex;
align-items:
center;
gap: 6px;
font-size: 13px;
background:
rgba(255,255,255,0.1);
padding: 4px 10px;
border-radius: 4px;
width: fit-content;
}
.reel-actions-side {
display: flex;
flex-direction: column;
justify-content: flex-end;
padding-left:
12px;
padding-bottom: 20px;
gap: 16px;
height:
100%;
}
.reel-action-btn {
display: flex;
flex-direction:
column;
align-items: center;
gap: 4px;
cursor:
pointer;
}
.reel-action-btn span { font-size: 12px; font-weight: 400;
color: white; }
.reel-action-btn svg:hover { color: var(--text-secondary);
}
.reel-action-btn.liked svg { color: #ed4956; fill: #ed4956;
}
.reel-audio-preview {
width: 32px;
height: 32px;
border-radius: 4px;
border: 2px solid white;
overflow: hidden;
margin-top: 10px;
}
.reel-audio-preview img { width: 100%; height:
100%; object-fit: cover; }
.reels-side-nav {
position: fixed;
right: 32px;
top: 50%;
transform: translateY(-50%);
display:
flex;
flex-direction: column;
gap: 12px;
z-index:
10;
}
.reel-nav-arrow {
width: 32px;
height: 32px;
background: #262626;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: white;
}
.reel-nav-arrow:hover { background: #363636; }
/*
REELS Volume/Mute */
.reel-mute-btn {
position: absolute;
top:
16px;
right: 16px;
background: rgba(0,0,0,0.5);
border-radius: 50%;
width: 32px;
height: 32px;
display:
flex;
align-items: center;
justify-content: center;
cursor:
pointer;
z-index: 5;
}
.feed-container.reels-view { display: flex;
justify-content: center; }
/* SIDEBAR RIGHT */
.sidebar-right { width:
320px; display: none; padding: 30px 0 0 40px; }
@media (min-width: 1100px)
{ .sidebar-right { display: block; } .main-wrapper { justify-content:
flex-start; } }
.mini-profile, .suggestion-item { display: flex;
align-items: center; justify-content: space-between; margin-bottom: 12px;
}
.user-info-stacked { display: flex; flex-direction: column; }
.u-name {
font-weight: 600; font-size: 14px; }
.u-sub { color:
var(--text-secondary); font-size: 12px; }
.suggestions-header { display:
flex; justify-content: space-between; margin-bottom: 15px; font-size: 14px;
font-weight: 600; color: var(--text-secondary); }
/* BUTTONS
*/
.btn-primary {
background: var(--button-blue);
color:
white;
border: none;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
font-size: 14px;
text-decoration: none;
display: inline-block;
text-align: center;
}
.btn-primary:hover {
background: #1877f2;
}
.btn-secondary {
background: #363636;
color: white;
border: none;
border-radius: 8px;
font-weight:
600;
cursor: pointer;
font-size: 14px;
text-decoration:
none;
display: inline-block;
text-align:
center;
}
.btn-secondary:hover {
background: #262626;
}
/* POSTS
*/
.post-card { background: var(--bg-card); border-bottom: 1px solid
var(--border-color); margin-bottom: 15px; }
.post-header { padding: 14px
4px; display: flex; align-items: center; }
.user-avatar { width: 32px;
height: 32px; border-radius: 50%; margin-right: 10px; object-fit: cover;
}
.username { font-weight: 600; font-size: 14px; color: var(--text-main);
}
.more-btn { margin-left: auto; background: none; border: none; color:
var(--text-main); cursor: pointer; }
.post-image { width: 100%;
border-radius: 4px; border: 1px solid var(--border-color); display: block;
}
.post-actions { padding: 12px 0 8px; display: flex; gap: 16px;
}
.action-btn { background: none; border: none; color: var(--text-main);
cursor: pointer; padding: 0; }
.action-btn svg { width: 24px; height:
24px; }
.like-btn.liked { color: #ed4956; }
.post-likes { margin-bottom:
8px; font-size: 14px; font-weight: 600; }
.post-caption { font-size: 14px;
padding: 4px 4px 8px; }
.post-comment-input-area {
display: flex;
align-items: center;
padding: 12px 4px;
border-top: 1px solid
var(--border-color);
margin-top: 8px;
}
.post-comment-input-area svg
{
margin-right: 12px;
color:
var(--text-main);
}
.card-comment-input {
flex: 1;
background:
transparent;
border: none;
color: var(--text-main);
font-size: 14px;
outline: none;
}
.card-post-btn {
background:
none;
border: none;
color: var(--button-blue);
font-weight:
600;
font-size: 14px;
cursor: pointer;
margin-left:
12px;
}
.card-post-btn:disabled {
opacity: 0.5;
cursor:
default;
}
.post-comments-preview {
padding: 4px 4px
8px;
}
.comment-preview {
margin-bottom: 8px;
font-size:
14px;
line-height: 18px;
}
.view-all-comments {
background:
none;
border: none;
color: var(--text-secondary);
font-size:
14px;
cursor: pointer;
padding: 4px
0;
}
.view-all-comments:hover {
color:
var(--text-main);
}
.comment-action-btn {
background: none;
border: none;
color: var(--text-secondary);
font-size: 12px;
cursor: pointer;
padding: 0;
font-weight:
600;
}
.comment-action-btn:hover {
color:
var(--text-main);
}
.comment-like-btn {
background: none;
border: none;
cursor: pointer;
padding: 4px;
color:
var(--text-secondary);
}
.comment-like-btn:hover {
color:
var(--text-main);
}
.post-time { margin-top: 8px; font-size: 10px; color:
var(--text-secondary); text-transform: uppercase; }
/* STORIES
*/
.stories-bar { padding: 16px 0; margin-bottom: 24px; display: flex;
overflow-x: auto; gap: 16px; background: var(--bg-body); border-bottom: 1px
solid var(--border-color); }
.story-item { display: flex; flex-direction:
column; align-items: center; cursor: pointer; width: 66px; }
.story-ring {
width: 66px; height: 66px; border-radius: 50%; padding: 2px; background:
linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888,
#2e86de); }
.story-ring.add-story { background: none; border: 1px solid
var(--border-color); display: flex; align-items: center; justify-content:
center; }
.story-ring img { width: 100%; height: 100%; border-radius: 50%;
border: 2px solid black; object-fit: cover; }
.story-username { font-size:
12px; margin-top: 4px; overflow: hidden; text-overflow: ellipsis;
white-space: nowrap; width: 100%; text-align: center; }
/* STORY VIEWER
OVERLAY */
.story-viewer-overlay { position: fixed; top: 0; left: 0;
width: 100%; height: 100%; background: #1a1a1a; z-index: 2000; display:
none; justify-content: center; align-items: center;
}
.story-viewer-overlay.active { display: flex; }
.story-container-frame
{ width: 100%; max-width: 400px; height: 100vh; max-height: 800px;
background: black; position: relative; border-radius: 8px; overflow:
hidden; display: flex; justify-content: center; align-items: center;
}
@media (min-width: 768px) { .story-container-frame { height: 90vh; }
}
.story-media-content { width: 100%; height: 100%; object-fit: contain;
position: absolute; top: 0; left: 0; z-index: 1;
}
.story-progress-container { position: absolute; top: 10px; left: 10px;
right: 10px; height: 2px; background: rgba(255,255,255,0.3); z-index: 10;
border-radius: 2px; display: flex; gap: 4px; }
.story-progress-bar {
flex-grow: 1; height: 100%; background: transparent; border-radius: 2px;
overflow: hidden; }
.progress-fill { height: 100%; width: 0%; background:
white; }
.story-header-info { position: absolute; top: 20px; left: 10px;
right: 10px; z-index: 10; display: flex; align-items: center; color: white;
text-shadow: 0 1px 2px rgba(0,0,0,0.5); }
#story-user-avatar { width:
32px; height: 32px; border-radius: 50%; margin-right: 10px; border: 1px
solid rgba(255,255,255,0.2); }
#story-user-name { font-weight: 600;
font-size: 14px; margin-right: 10px; }
#story-time { font-size: 12px;
opacity: 0.7; }
.close-story-btn { margin-left: auto; background: none;
border: none; color: white; font-size: 24px; cursor: pointer; padding: 0
10px; }
.story-nav-area { position: absolute; top: 0; bottom: 0; width:
30%; z-index: 5; }
.story-nav-area.left { left: 0;
}
.story-nav-area.right { right: 0; }
/* REELS */
.reels-container {
width: 100%;
height: 100vh;
overflow-y: scroll;
scroll-snap-type: y mandatory;
scrollbar-width: none; /* Hide
scrollbar Firefox */
-ms-overflow-style: none; /* Hide scrollbar
IE/Edge */
display: flex;
flex-direction: column;
align-items: center;
background: black;
padding-top:
0;
}
.reels-container::-webkit-scrollbar {
display: none;
}
.reel-wrapper {
position: relative;
width: 100%;
height: 100vh;
scroll-snap-align: start;
display: flex;
justify-content: center;
align-items: center;
}
.reel-item {
position: relative;
width: 100%;
max-width: 350px; /* Instagram
web reel width */
height: calc(100vh - 40px);
max-height:
850px;
background: #111;
border-radius: 4px;
overflow:
hidden;
border: 1px solid var(--border-color);
box-shadow: 0 0
20px rgba(0,0,0,0.5);
}
@media (max-width: 450px) {
.reel-item {
width: 100%; max-width: 100%; height: 100vh; border-radius: 0; border:
none; }
}
.reel-item video {
width: 100%;
height: 100%;
object-fit: cover;
cursor: pointer;
}
/* OVERLAYS
*/
.reel-overlay {
position: absolute;
bottom: 0;
left:
0;
width: 100%;
padding: 20px;
background:
linear-gradient(to top, rgba(0,0,0,0.8), transparent 60%);
pointer-events: none; /* Let clicks pass through to video
*/
}
.reel-user {
display: flex;
align-items: center;
margin-bottom: 12px;
pointer-events: auto;
}
.reel-user-info {
display: flex;
align-items: center;
}
.reel-username {
color: white;
font-weight: 600;
margin-right: 10px;
font-size: 14px;
text-shadow: 0 1px 2px
rgba(0,0,0,0.3);
}
.reel-user .user-avatar {
width: 32px;
height: 32px;
border-radius: 50%;
margin-right: 10px;
border: 1px solid rgba(255,255,255,0.2);
}
.btn-follow {
background: transparent;
border: 1px solid rgba(255,255,255,0.6);
color: white;
padding: 4px 10px;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
cursor: pointer;
backdrop-filter: blur(4px);
}
.reel-caption {
font-size: 14px;
color: white;
margin-bottom: 12px;
line-height: 1.4;
text-shadow: 0 1px 2px rgba(0,0,0,0.3);
max-height: 80px;
overflow: hidden;
pointer-events: auto;
}
.reel-music {
display: flex;
align-items: center;
font-size: 12px;
color:
white;
gap: 6px;
margin-bottom: 8px;
}
/* RIGHT SIDE ACTIONS
*/
.reel-actions-side {
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
margin-left: 20px;
margin-bottom: 40px; /* Align with bottom of video */
align-self:
flex-end; /* Stick to bottom right corner of wrapper */
padding-bottom: 60px; /* Offset for desktop */
}
.reel-action-btn {
display: flex;
flex-direction: column;
align-items: center;
color: white;
cursor: pointer;
transition: transform
0.1s;
}
.reel-action-btn:active { transform: scale(0.9);
}
.reel-action-btn svg {
margin-bottom: 6px;
filter:
drop-shadow(0 2px 5px rgba(0,0,0,0.5));
}
.reel-action-btn span {
font-size: 12px;
font-weight: 600;
text-shadow: 0 1px 2px
rgba(0,0,0,0.5);
}
.reel-action-btn.liked { color: #ed4956;
}
.reel-action-btn.liked svg { fill: #ed4956; stroke: none; } /* Wait,
standard heart is stroke, filled is fill */
.reel-audio-preview {
width: 24px;
height: 24px;
border-radius: 4px;
border: 2px
solid white;
overflow: hidden;
margin-top:
10px;
}
.reel-audio-preview img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* PROFILE PAGE */
.profile-header { display:
flex; max-width: 935px; margin: 0 auto 44px; padding: 30px 20px 0;
align-items: flex-start; }
.profile-avatar-container { flex-grow: 1;
margin-right: 30px; display: flex; justify-content: center;
}
.profile-avatar-large { width: 150px; height: 150px; border-radius: 50%;
object-fit: cover; }
.profile-info { flex-grow: 2; color:
var(--text-main); }
.profile-actions { display: flex; align-items: center;
margin-bottom: 20px; flex-wrap: wrap; gap: 10px; }
.profile-username {
font-size: 20px; font-weight: 400; margin-right: 20px; }
.btn-profile {
background-color: #363636; color: white; border: none; padding: 7px 16px;
border-radius: 8px; font-weight: 600; font-size: 14px; cursor: pointer;
text-decoration: none; }
.btn-profile:hover { background-color: #262626;
}
.profile-stats { display: flex; margin-bottom: 20px; font-size: 16px;
}
.profile-stats span { margin-right: 40px; }
.stat-count { font-weight:
700; }
.profile-fullname { font-weight: 600; }
.highlights { display:
flex; gap: 40px; padding: 0 40px 44px; max-width: 935px; margin: 0 auto;
overflow-x: auto; }
.highlight-item { display: flex; flex-direction:
column; align-items: center; gap: 10px; cursor: pointer;
}
.highlight-circle { width: 77px; height: 77px; border-radius: 50%;
border: 1px solid #363636; background: #121212; display: flex;
justify-content: center; align-items: center; color: #a8a8a8;
}
.profile-tabs { display: flex; justify-content: center; border-top: 1px
solid var(--border-color); color: var(--text-secondary); font-size: 12px;
font-weight: 600; letter-spacing: 1px; gap: 60px; max-width: 935px; margin:
0 auto; }
.tab-item { padding: 18px 0; cursor: pointer; display: flex;
align-items: center; gap: 6px; text-transform: uppercase;
}
.tab-item.active { border-top: 1px solid var(--text-main); margin-top:
-1px; color: var(--text-main); }
.tab-item svg { width: 12px; height:
12px; }
.profile-grid-wrapper { max-width: 935px; margin: 0 auto;
}
.profile-grid { display: grid; grid-template-columns: repeat(3, 1fr);
gap: 4px; }
.grid-post { aspect-ratio: 1; overflow: hidden; cursor:
pointer; position: relative; }
.grid-post img, .grid-post video { width:
100%; height: 100%; object-fit: cover; }
.grid-post:hover
.grid-item-overlay { display: flex; }
.grid-item-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.3);
display: none;
justify-content: center;
align-items: center;
gap: 30px;
color: white;
font-weight: 700;
font-size: 16px;
z-index:
5;
}
.grid-item-overlay .overlay-stat {
display: flex;
align-items: center;
gap: 7px;
}
/* MODALS */
.type-icon {
position: absolute;
top: 8px;
right: 8px;
filter:
drop-shadow(0 0 4px rgba(0,0,0,0.5));
}
.modal-overlay { position:
fixed; top: 0; left: 0; width: 100%; height: 100%; background:
rgba(0,0,0,0.65); z-index: 1000; display: none; justify-content: center;
align-items: center; }
.modal-overlay.active { display: flex; }
.modal {
background: #262626; border: 1px solid #363636; color: white; width: 100%;
max-width: 500px; border-radius: 12px; overflow: hidden; }
.modal-header {
border-bottom: 1px solid #363636; display: flex; justify-content:
space-between; padding: 12px 16px; font-weight: 600; align-items: center;
}
.modal-body { padding: 20px; display: flex; flex-direction: column;
}
.close-btn { background: none; border: none; color: white; cursor:
pointer; font-size: 20px; }
.upload-label { border: 1px dashed #363636;
padding: 40px; text-align: center; border-radius: 8px; cursor: pointer;
margin-bottom: 16px; }
.caption-input { background: #121212; border: 1px
solid #363636; color: white; padding: 10px; width: 100%; border-radius:
6px; min-height: 80px; resize: vertical; margin-bottom: 16px;
}
.btn-primary { background: var(--button-blue); color: white; border:
none; padding: 8px 16px; border-radius: 4px; font-weight: 600; cursor:
pointer; width: 100%; }
/* SETTINGS PAGE LAYOUT */
.settings-wrapper {
display: flex; max-width: 935px; margin: 30px auto; background:
var(--bg-card); border: 1px solid var(--border-color); border-radius: 3px;
min-height: 80vh; }
.settings-sidebar { width: 25%; border-right: 1px
solid var(--border-color); }
.settings-header-title { padding: 20px 0 20px
30px; font-size: 20px; font-weight: 700; margin: 0; }
.meta-promo-box {
margin: 0 10px 10px; padding: 15px; background: #1f1f1f; border-radius:
8px; color: var(--button-blue); font-weight: 600; font-size: 13px; cursor:
pointer; }
.meta-promo-box:hover { background: #2a2a2a; }
.meta-logo-row
{ display: flex; align-items: center; gap: 5px; margin-bottom: 5px; color:
white; }
.settings-menu-item { padding: 16px 30px; font-size: 16px;
cursor: pointer; border-left: 2px solid transparent; color:
var(--text-main); }
.settings-menu-item:hover { background: #121212;
border-left: 2px solid #dbdbdb; }
.settings-menu-item.active {
font-weight: 600; border-left: 2px solid var(--text-main);
}
.settings-content { width: 75%; padding: 30px 40px;
}
.edit-profile-header { font-size: 20px; margin-bottom: 30px;
}
.settings-avatar-row { display: flex; align-items: center; background:
#262626; padding: 10px 20px; border-radius: 12px; margin-bottom: 30px;
justify-content: space-between; }
.settings-avatar-info { display: flex;
align-items: center; gap: 15px; }
.settings-avatar-img { width: 50px
!important; height: 50px !important; border-radius: 50%; object-fit: cover;
flex-shrink: 0; }
img { max-width: 100%; }
.settings-username-stack {
display: flex; flex-direction: column; }
.settings-btn-change-photo {
background: #0095f6; color: white; font-weight: 600; padding: 7px 16px;
border-radius: 8px; font-size: 14px; border: none; cursor: pointer;
}
.settings-btn-change-photo:hover { background: #1877f2;
}
.settings-form-group { margin-bottom: 20px; }
.settings-label {
display: block; font-weight: 600; margin-bottom: 8px; font-size: 14px;
}
.settings-input { width: 100%; background: transparent; border: 1px
solid var(--border-color); border-radius: 3px; padding: 10px; color:
var(--text-main); font-size: 16px; }
.settings-input:focus { border-color:
#a8a8a8; outline: none; }
.settings-textarea { width: 100%; background:
transparent; border: 1px solid var(--border-color); border-radius: 3px;
padding: 10px; color: var(--text-main); font-size: 14px; resize: vertical;
min-height: 60px; }
.char-count { text-align: right; font-size: 12px;
color: var(--text-secondary); margin-top: 5px; }
/* POST OPTIONS MODAL
*/
.options-modal-content {
background: #262626;
width: 400px;
border-radius: 12px;
overflow: hidden;
display: flex;
flex-direction: column;
}
.options-btn {
background: none;
border: none;
padding: 14px;
color: white;
font-size:
14px;
border-bottom: 1px solid #363636;
cursor: pointer;
text-align: center;
width: 100%;
}
.options-btn:last-child {
border-bottom: none;
}
.options-btn.destructive {
color: #ed4956;
font-weight: 700;
}
.options-btn:active {
background:
rgba(255,255,255,0.05);
}
/* EMOJI PICKER */
.emoji-picker-panel {
position: absolute;
bottom: 50px;
left: 0;
width: 320px;
background: #262626;
border-radius: 12px;
box-shadow: 0 4px
24px rgba(0,0,0,0.5);
z-index: 1001;
display: none;
flex-direction: column;
padding: 16px;
}
.emoji-picker-panel.active
{ display: flex; }
.emoji-section-title {
font-size: 14px;
color: var(--text-secondary);
margin-bottom: 12px;
font-weight:
600;
}
.emoji-grid {
display: grid;
grid-template-columns:
repeat(7, 1fr);
gap: 8px;
max-height: 200px;
overflow-y:
auto;
}
.emoji-item {
font-size: 24px;
cursor: pointer;
text-align: center;
padding: 4px;
border-radius: 4px;
transition: background 0.2s;
}
.emoji-item:hover {
background:
rgba(255,255,255,0.1);
}
.emoji-picker-panel::-webkit-scrollbar { width:
4px; }
.emoji-picker-panel::-webkit-scrollbar-thumb { background: #363636;
border-radius: 2px; }
/* SIDEBAR MORE MENU */
.more-menu-popover {
position: absolute;
bottom: 70px;
left: 10px;
width:
266px;
background: #262626;
border-radius: 16px;
box-shadow:
0 4px 24px rgba(0,0,0,0.5);
display: none;
flex-direction:
column;
padding: 8px;
z-index:
2000;
}
.more-menu-popover.active {
display:
flex;
}
.more-menu-item {
display: flex;
align-items: center;
padding: 12px 16px;
color: white;
text-decoration: none;
font-size: 14px;
border-radius: 8px;
cursor: pointer;
transition: background 0.2s;
gap: 12px;
}
.more-menu-item:hover {
background: rgba(255,255,255,0.05);
}
.more-menu-item span {
flex-grow: 1;
}
.more-menu-separator {
height: 6px;
background:
#363636;
margin: 8px -8px;
}
.more-menu-separator.thin {
height: 1px;
margin: 4px -8px;
}
.form-note { font-size: 12px;
color: var(--text-secondary); margin-top: 10px; line-height: 1.4;
}
.toggle-row { display: flex; justify-content: space-between;
align-items: center; margin-top: 20px; padding: 15px; border: 1px solid
var(--border-color); border-radius: 12px; }
.toggle-switch { position:
relative; display: inline-block; width: 44px; height: 24px;
}
.toggle-switch input { opacity: 0; width: 0; height: 0;
}
.toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0;
right: 0; bottom: 0; background-color: #363636; transition: .4s;
border-radius: 34px; }
.toggle-slider:before { position: absolute;
content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px;
background-color: white; transition: .4s; border-radius: 50%;
}
input:checked + .toggle-slider { background-color: var(--text-main);
}
input:checked + .toggle-slider:before { transform: translateX(20px);
background-color: black; }
@media (max-width: 768px) {
.settings-wrapper { flex-direction: column; border: none; margin: 0; }
.settings-sidebar { width: 100%; display: none; }
.settings-content {
width: 100%; padding: 20px; }
.profile-header { flex-direction: row;
padding: 20px 16px 0; max-width: 100%; margin-bottom: 0; }
.profile-avatar-large { width: 77px; height: 77px; }
.profile-avatar-container { margin-right: 20px; flex-grow: 0; }
.profile-stats { padding: 12px 0; border-top: 1px solid
var(--border-color); justify-content: space-around; text-align: center;
margin: 24px -16px 0; width: calc(100% + 32px); }
.profile-stats span
{ margin-right: 0; display: flex; flex-direction: column; font-size: 14px;
}
.profile-info { width: 100%; }
.profile-actions {
flex-direction: column; align-items: stretch; margin-bottom: 0; }
.btn-profile { width: 100%; text-align: center; margin: 0 0 6px 0; }
.highlights { padding: 0 16px 20px; max-width: 100%; }
.profile-tabs {
justify-content: space-around; gap: 0; max-width: 100%; }
.tab-item
span { display: none; }
.tab-item svg { width: 24px; height: 24px;
}
}
/* MESSENGER (DIRECT) */
.feed-container.messenger-view {
max-width: 100%;
padding: 0;
margin-left: 72px;
}
@media
(min-width: 1264px) {
.feed-container.messenger-view { margin-left:
var(--sidebar-width); }
}
/* Hide right sidebar on messenger view
*/
.messenger-view ~ .sidebar-right {
display: none
!important;
}
.messenger-container {
display: flex;
height:
100vh;
width: 100%;
background:
var(--bg-body);
}
.messenger-sidebar {
width: 380px;
border-right: 1px solid var(--border-color);
display: flex;
flex-direction: column;
overflow:
hidden;
}
.messenger-sidebar-header {
padding: 36px 20px 10px
20px;
display: flex;
align-items: center;
justify-content:
space-between;
}
.messenger-user-selector {
display: flex;
align-items: center;
gap: 8px;
cursor:
pointer;
}
.messenger-user-selector h2 {
font-size: 20px;
font-weight: 700;
}
.new-message-btn {
background: none;
border: none;
color: white;
cursor: pointer;
padding: 8px;
border-radius: 50%;
}
.new-message-btn:hover { background:
var(--hover-overlay); }
.messenger-notes-row {
display: flex;
gap: 20px;
padding: 15px 20px 25px;
overflow-x: auto;
scrollbar-width: none;
}
.messenger-notes-row::-webkit-scrollbar {
display: none; }
.note-item {
display: flex;
flex-direction:
column;
align-items: center;
min-width:
72px;
}
.note-avatar-wrapper {
position: relative;
width:
72px;
height: 72px;
}
.note-avatar {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit:
cover;
}
.note-bubble {
position: absolute;
top: -5px;
left: 50%;
transform: translateX(-50%);
background: #262626;
color: #a8a8a8;
padding: 6px 10px;
border-radius: 12px;
font-size: 11px;
white-space: nowrap;
box-shadow: 0 4px 12px
rgba(0,0,0,0.5);
border: 1px solid
#363636;
}
.messenger-list-header {
display: flex;
justify-content: space-between;
padding: 10px 20px;
align-items:
center;
}
.messenger-list-header h3 {
font-size: 16px;
font-weight: 700;
}
.requests-link {
color:
var(--text-secondary);
font-size: 14px;
font-weight: 600;
cursor: pointer;
}
.messenger-list {
flex-grow: 1;
overflow-y: auto;
}
.chat-item {
display: flex;
align-items:
center;
padding: 12px 20px;
cursor: pointer;
transition:
background 0.2s;
}
.chat-item:hover {
background:
var(--hover-overlay);
}
.chat-avatar {
width: 56px;
height:
56px;
border-radius: 50%;
margin-right: 12px;
object-fit:
cover;
}
.chat-info {
display: flex;
flex-direction:
column;
justify-content: center;
overflow:
hidden;
}
.chat-name {
font-weight: 400;
font-size: 14px;
margin-bottom: 2px;
}
.chat-last-msg {
color:
var(--text-secondary);
font-size: 12px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width:
240px;
}
.messenger-chat-area {
flex-grow: 1;
display:
flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
background:
var(--bg-body);
}
.chat-placeholder .placeholder-icon {
margin-bottom: 20px;
display: flex;
justify-content:
center;
}
.chat-placeholder .placeholder-icon svg {
border: 2px
solid white;
border-radius: 50%;
padding: 20px;
width:
96px;
height: 96px;
}
.chat-placeholder h2 {
font-size:
20px;
font-weight: 400;
margin-bottom:
10px;
}
.chat-placeholder p {
color: var(--text-secondary);
font-size: 14px;
margin-bottom: 24px;
max-width: 320px;
line-height: 1.4;
}
/* MOBILE MESSENGER */
@media (max-width: 768px)
{
.messenger-sidebar { width: 100%; border: none; }
.messenger-chat-area { display: none; }
.messenger-view.feed-container
{ margin-left: 0; }
}
/* AUTH PAGES */
.auth-container {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color:
var(--bg-body);
}
.auth-box {
width: 350px;
background-color:
var(--bg-card);
border: 1px solid var(--border-color);
padding:
40px;
display: flex;
flex-direction: column;
align-items:
center;
margin-bottom: 10px;
}
.auth-box .logo {
font-family:
'Billabong', cursive;
font-size: 3rem;
margin-bottom: 30px;
background: linear-gradient(45deg, var(--primary-blue),
var(--primary-yellow));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
cursor: default;
}
.auth-form {
width: 100%;
display: flex;
flex-direction: column;
gap: 8px;
}
.auth-form input {
background: #121212;
border: 1px solid var(--border-color);
border-radius: 3px;
padding: 9px 8px;
font-size: 14px;
color: var(--text-main);
width: 100%;
margin-bottom:
6px;
}
.auth-form input:focus {
border-color: #a8a8a8;
outline: none;
}
.auth-form button {
background:
var(--button-blue);
color: white;
border: none;
border-radius: 8px;
padding: 7px 16px;
font-weight: 600;
font-size: 14px;
cursor: pointer;
margin-top: 15px;
height:
32px;
width: 100%;
transition: background-color
0.2s;
}
.auth-form button:hover {
background-color:
#1877f2;
}
.auth-switch {
margin-top: 20px;
font-size:
14px;
color: var(--text-main);
text-align:
center;
}
.auth-switch a {
color: var(--button-blue);
font-weight: 600;
}
@media (max-width: 450px) {
.auth-box {
border: none; background: transparent; padding: 20px; width: 100%;
}
}
/* NOTIFICATIONS PANEL */
.notifications-panel {
position:
fixed;
top: 0;
left: 72px; /* Matches collapsed sidebar width
*/
width: 397px;
height: 100vh;
background-color: black;
border-right: 1px solid var(--border-color);
border-left: 1px solid
var(--border-color); /* Separator from sidebar icons */
z-index: 15;
/* Above content, but maybe we want sidebar icons above this? Sidebar is
z-10. Let's make this z-5 but then it's under sidebar text? Sidebar text is
inside sidebar. */
/* Strategy: Make this z-index 11, so it covers the
expanded sidebar text if needed, OR just sit next to it.
If sidebar
is 245px, and this is at 72px, it covers the right part of sidebar. Ideally
sidebar should shrink.
For now, let's just make it slide out. */
transform: translateX(-150%);
transition: transform 0.3s
ease-in-out;
border-top-right-radius: 16px;
border-bottom-right-radius: 16px;
}
.notifications-panel.active {
transform: translateX(0);
}
.notifications-header {
padding:
24px;
padding-bottom: 12px;
}
.notifications-header h2 {
font-size: 24px;
font-weight: 700;
margin-bottom:
12px;
}
.notifications-scroll-area {
height: calc(100% - 100px);
overflow-y: auto;
}
.notif-section-title {
padding: 12px
24px;
font-weight: 600;
font-size: 16px;
}
.notif-item {
display: flex;
align-items: center;
padding: 12px 24px;
cursor: pointer;
}
.notif-item:hover {
background-color:
var(--hover-overlay);
}
.notif-avatar {
width: 44px;
height:
44px;
border-radius: 50%;
margin-right: 14px;
flex-shrink:
0;
}
.notif-text {
font-size: 14px;
margin-right: 14px;
flex-grow: 1;
line-height: 1.4;
}
.notif-username {
font-weight: 600;
}
.notif-time {
color:
var(--text-secondary);
}
.notif-media img {
width: 44px;
height: 44px;
object-fit: cover;
border-radius: 4px; /* Instagram
typically squares or slight radius */
}
/* SEARCH Panel specific
*/
.search-field input::placeholder {
color:
#8e8e8e;
}
#search-panel .panel-header {
margin-bottom:
20px;
}
.search-field:focus-within {
background: #363636
!important;
}
#search-results-list .notification-item {
padding:
8px 16px;
border-radius: 8px;
margin: 0
8px;
}
.search-remove-btn:hover {
color: white
!important;
}
@media (max-width: 768px) {
.notifications-panel {
left: 0;
width: 100%;
border-left: none;
z-index: 25; /* On top of everything on mobile */
}
}
/* POST
DETAIL MODAL */
.post-detail-close {
position: fixed; /* Fixed
relative to viewport, not container */
top: 20px;
right: 20px;
color: white;
font-size: 25px; /* Slightly smaller */
cursor:
pointer;
background: none;
border: none;
z-index:
1200;
}
.post-detail-card {
display: flex;
background:
black;
width: 100%;
max-width: calc(100vh * 1.5); /* Ratio approx
*/
height: 95vh;
max-height: 900px;
border-radius: 4px; /*
Instagram web doesn't have large radius here usually, maybe tiny */
overflow: hidden;
}
.post-detail-media {
background: black;
flex-grow: 1;
display: flex;
align-items: center;
justify-content: center;
min-width: 0;
width: auto;
border-right: 1px solid var(--border-color);
}
.post-detail-media img,
.post-detail-media video {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.post-detail-sidebar {
width: 400px; /*
Fixed width */
min-width: 400px; /* Prevent shrink */
max-width:
500px;
background: black;
display: flex;
flex-direction:
column;
}
.detail-header {
height: 60px;
border-bottom: 1px
solid var(--border-color);
display: flex;
align-items: center;
padding: 14px 16px;
flex-shrink: 0;
}
.detail-header .user-avatar
{ margin-right: 14px; width: 32px; height: 32px; border-radius: 50%;
}
.detail-header-info { display: flex; flex-direction: column;
margin-right: auto; }
.detail-header .username { font-weight: 600;
font-size: 14px; color: white; text-decoration: none; }
.detail-location {
font-size: 12px; color: var(--text-secondary); margin-top: -2px;
}
.detail-options-btn { background: none; border: none; color: white;
cursor: pointer; padding: 8px; margin-right: -8px; }
.detail-scroll-area
{
flex-grow: 1; /* Fills remaining space */
overflow-y: auto;
padding: 16px;
scrollbar-width: thin; /* Firefox
*/
}
.detail-scroll-area::-webkit-scrollbar { width: 0; } /* Hide
scrollbar for cleaner look */
.detail-footer {
border-top: 1px
solid var(--border-color);
padding: 6px 16px;
background:
black;
flex-shrink: 0;
display: flex;
flex-direction:
column;
}
.detail-actions-row {
display: flex;
align-items:
center;
justify-content: space-between;
margin-top: 6px;
margin-bottom: 8px;
}
.detail-actions-row .left-actions { display: flex;
gap: 16px; }
.detail-actions-row svg { cursor: pointer; }
.detail-likes
{
font-weight: 600;
font-size: 14px;
margin-bottom: 4px;
color: white;
}
.detail-time {
font-size: 10px;
text-transform: uppercase;
color: var(--text-secondary);
margin-bottom: 12px;
}
.detail-input-area {
display: flex;
align-items: center;
border-top: 1px solid var(--border-color);
padding: 12px 0;
margin-top: 4px;
}
.detail-input-area svg {
margin-right: 12px; cursor: pointer; } /* Smile icon */
.detail-input-area
input {
background: none;
border: none;
color: white;
flex-grow: 1;
font-size: 14px;
}
.detail-input-area input:focus {
outline: none; }
.detail-input-area button {
background: none;
border: none;
color: var(--button-blue);
font-weight: 600;
cursor: pointer;
font-size: 14px;
}
.detail-input-area
button:disabled { opacity: 0.5; cursor: default; }
/* POST OPTIONS MODAL
*/
.options-modal-content {
background: #262626;
width: 400px;
border-radius: 12px;
overflow: hidden;
display: flex;
flex-direction: column;
animation: zoomIn 0.1s
ease-out;
}
@keyframes zoomIn {
from { transform: scale(1.1);
opacity: 0; }
to { transform: scale(1); opacity: 1;
}
}
.options-btn {
background: none;
border: none;
border-bottom: 1px solid #363636;
color: white;
padding: 14px;
font-size: 14px;
cursor: pointer;
text-align: center;
width: 100%;
font-weight: 400;
}
.options-btn:last-child {
border-bottom: none;
}
.options-btn.destructive {
color: #ed4956;
font-weight: 700;
}
.options-btn:active {
background:
rgba(255,255,255,0.05);
}
@media (max-width: 450px) {
.options-modal-content {
width: calc(100% - 40px);
}
}
/* COMMENTS Styling */
.comment-row {
display: flex;
margin-bottom: 16px;
align-items: flex-start;
}
.comment-avatar {
width: 32px;
height: 32px;
border-radius: 50%;
margin-right: 12px;
flex-shrink: 0;
}
.comment-row-content {
flex-grow: 1;
display: flex;
flex-direction:
column;
}
.comment-text-block {
font-size: 14px;
line-height:
18px;
color: white;
}
.comment-username {
font-weight: 600;
margin-right: 4px;
color: white;
text-decoration:
none;
}
.comment-username:hover { text-decoration: underline;
}
.comment-text {
word-break: break-word;
}
.comment-meta {
font-size: 12px;
color: var(--text-secondary);
display: flex;
gap: 12px;
margin-top: 4px;
font-weight: 400;
}
.comment-meta
span { cursor: pointer; }
.comment-like-icon {
width: 12px;
height: 12px;
margin-left: 10px;
margin-top: 8px;
color:
var(--text-secondary);
cursor: pointer;
}
.comment-like-icon:hover
{ color: #ed4956; }
@media (max-width: 768px) {
.post-detail-card {
flex-direction: column; height: 100vh; max-height: none; width: 100%;
border-radius: 0; }
.post-detail-media { width: 100%; height: 50vh;
flex-grow: 0; border-right: none; border-bottom: 1px solid
var(--border-color); }
.post-detail-sidebar { width: 100%; min-width:
0; flex-grow: 1; }
.detail-scroll-area { height: auto; flex-grow: 1;
}
.post-detail-close { top: 10px; right: 10px; font-size: 24px;
z-index: 2000; }
}
/* MOBILE RESPONSIVE NAV */
.bottom-nav { position:
fixed; bottom: 0; left: 0; width: 100%; height: 50px; background: black;
border-top: 1px solid var(--border-color); display: flex; justify-content:
space-around; align-items: center; z-index: 1000; padding: 0 10px;
}
.bottom-nav .nav-item { display: flex; align-items: center;
justify-content: center; height: 100%; flex-grow: 1; cursor: pointer;
color: white; -webkit-tap-highlight-color: transparent; }
.bottom-nav
.nav-item svg { width: 24px; height: 24px; }
.bottom-nav .nav-item:active
{ opacity: 0.5; }
.app-header { position: fixed; top: 0; left: 0; width:
100%; height: 44px; background: black; border-bottom: 1px solid
var(--border-color); display: flex; justify-content: space-between;
align-items: center; padding: 0 16px; z-index: 1000; }
/* CREATE MODAL
REDESIGN */
#create-modal .modal {
background: #262626;
border-radius: 12px;
overflow: hidden;
width: 600px;
max-width: 900px;
height: 600px;
display: flex;
flex-direction: column;
transition: all 0.3s ease;
}
#create-modal
.modal-body {
flex-grow: 1;
display: flex;
flex-direction:
column;
align-items: center;
justify-content: center;
padding: 24px;
}
.upload-icon-container {
margin-bottom: 20px;
color: white;
}
.drag-text {
font-size: 20px;
color:
white;
margin-bottom: 24px;
font-weight: 300;
}
.select-btn
{
cursor: pointer;
font-size: 14px;
padding: 7px 16px;
border-radius: 8px;
}
.create-step-2 {
display: flex;
width:
100%;
height: 100%;
}
.create-preview-container {
background:
black;
height: 100%;
}
.create-sidebar {
background:
#262626;
height: 100%;
}
.caption-input:focus {
outline:
none;
}
/* EXPLORE SEARCH BOX */
.sidebar-search-box {
background: #262626;
border-radius: 8px;
padding: 8px 16px;
display: flex;
align-items: center;
gap: 12px;
margin: 20px
0;
max-width: 350px;
}
.sidebar-search-box svg {
color:
var(--text-secondary);
}
.sidebar-search-box input {
background:
transparent;
border: none;
color: white;
font-size: 16px;
width: 100%;
}
.sidebar-search-box input:focus {
outline:
none;
}
.sidebar-search-box input::placeholder {
color:
var(--text-secondary);
}
/* POST DETAIL MODAL */
.post-detail-close
{
position: fixed;
top: 20px;
right: 20px;
background:
none;
border: none;
color: white;
font-size: 30px;
cursor: pointer;
z-index: 1200;
}
.post-detail-card {
display:
flex;
background: black;
width: 90%;
max-width: 1200px;
height: 90%;
border-radius: 4px;
overflow:
hidden;
}
.post-detail-media {
flex: 1.2;
background: black;
display: flex;
align-items: center;
justify-content:
center;
}
.post-detail-media img, .post-detail-media video {
max-width: 100%;
max-height: 100%;
object-fit:
contain;
}
.post-detail-sidebar {
flex: 0.8;
background:
black;
display: flex;
flex-direction: column;
border-left:
1px solid var(--border-color);
}
.detail-header {
display: flex;
align-items: center;
padding: 14px;
border-bottom: 1px solid
var(--border-color);
}
.detail-header-info {
margin-left: 12px;
flex: 1;
}
.detail-location {
display: block;
font-size:
12px;
}
.detail-scroll-area {
flex: 1;
overflow-y: auto;
padding: 14px;
}
.detail-scroll-area::-webkit-scrollbar { width: 0;
}
.detail-footer {
padding: 14px;
border-top: 1px solid
var(--border-color);
}
.detail-actions-row {
display: flex;
justify-content: space-between;
margin-bottom: 8px;
}
.left-actions
{ display: flex; gap: 16px; }
.detail-likes { font-weight: 600; font-size:
14px; margin-bottom: 4px; }
.detail-time { font-size: 10px; color:
var(--text-secondary); text-transform: uppercase; }
.detail-input-area
{
display: flex;
align-items: center;
padding: 12px 0;
margin-top: 8px;
border-top: 1px solid
var(--border-color);
}
.detail-input-area input {
flex: 1;
background: transparent;
border: none;
color: white;
padding-left: 12px;
outline: none;
}
.detail-input-area button {
background: none;
border: none;
color: var(--button-blue);
font-weight: 600;
cursor: pointer;
}
.comment-row {
display:
flex;
margin-bottom: 16px;
}
.comment-avatar {
width: 32px;
height: 32px;
border-radius: 50%;
margin-right:
12px;
}
.comment-row-content { flex: 1; }
.comment-username {
font-weight: 600; margin-right: 8px; }
.comment-meta {
font-size:
12px;
color: var(--text-secondary);
margin-top: 4px;
display: flex;
gap: 12px;
}
/* MESSENGER TABS */
.messenger-tabs
{
display: flex;
border-bottom: 1px solid var(--border-color);
padding: 0 20px;
}
.messenger-tab {
flex: 1;
text-align:
center;
padding: 16px 0;
font-weight: 600;
font-size:
16px;
cursor: pointer;
color: var(--text-secondary);
transition: color 0.2s;
}
.messenger-tab.active {
color: white;
border-bottom: 1px solid white;
margin-bottom:
-1px;
}
.messenger-tab:hover:not(.active) {
color:
var(--text-main);
}
/* MESSENGER LAYOUT */
.messenger-container {
display: flex;
height: 100vh;
width: 100%;
}
@media
(min-width: 768px) {
.messenger-container { margin-left: 72px; width:
calc(100% - 72px); }
}
@media (min-width: 1264px) {
/* If sidebar
is collapsed (view=direct), we might want to manually adjust margin-left to
72px for .messenger-container to be safe.
However, if .sidebar-left
is 72px due to collapse, we can just use 72px here. */
.messenger-container { margin-left: 72px; width: calc(100% - 72px); }
/* Overwrite the default rule which was margin-left: var(--sidebar-width)
*/
}
.messenger-sidebar {
width: 397px;
border-right: 1px
solid var(--border-color);
display: flex;
flex-direction:
column;
background: black;
height:
100%;
}
.messenger-sidebar-header {
height: 75px;
display:
flex;
align-items: center;
justify-content: space-between;
padding: 0 20px;
}
.messenger-user-selector {
display: flex;
align-items: center;
cursor: pointer;
}
.messenger-user-selector h2
{ font-size: 20px; font-weight: 700; margin-right: 8px;
}
.new-message-btn {
background: none;
border: none;
color: white;
cursor: pointer;
}
.messenger-notes-row {
display: flex;
gap: 16px;
overflow-x: auto;
padding: 20px;
border-bottom: 1px solid transparent;
/* Instagram adds border if
scrolled, let's just minimal */
}
.messenger-notes-row::-webkit-scrollbar
{ display: none; }
.note-item {
display: flex;
flex-direction:
column;
align-items: center;
cursor: pointer;
width: 86px;
flex-shrink: 0;
}
.note-avatar-wrapper {
position: relative;
width: 60px;
height: 60px;
margin-bottom:
4px;
}
.note-avatar {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
}
.note-bubble {
position: absolute;
top: -24px;
left: 50%;
transform:
translateX(-50%);
background: #262626;
color: white;
padding: 8px 12px;
border-radius: 16px;
font-size: 13px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100px;
text-align: center;
z-index: 10;
box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.note-bubble.plus {
top:
2px;
right: 2px;
left: auto;
transform: none;
width:
20px;
height: 20px;
background: #262626;
border: 2px solid
#000;
border-radius: 50%;
display: flex;
align-items:
center;
justify-content: center;
padding: 0;
font-size:
14px;
color: white;
z-index: 5;
box-shadow:
none;
}
.note-sub {
font-size: 11px;
color:
var(--text-secondary);
text-align: center;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space:
nowrap;
}
.messenger-list-header {
display: flex;
justify-content: space-between;
align-items: center;
padding:
10px 20px;
}
.messenger-list-header h3 { font-size: 16px; font-weight:
700; }
.requests-link { color: var(--text-secondary); font-size: 14px;
cursor: pointer; }
.requests-link:hover { color: var(--text-main);
}
.messenger-list {
flex-grow: 1;
overflow-y:
auto;
}
.chat-item {
display: flex;
align-items: center;
padding: 8px 20px;
cursor: pointer;
}
.chat-item:hover { background:
#121212; }
.chat-avatar { width: 56px; height: 56px; border-radius: 50%;
margin-right: 12px; object-fit: cover; }
.chat-info { display: flex;
flex-direction: column; justify-content: center; }
.chat-name { font-size:
14px; color: white; margin-bottom: 2px; }
.chat-last-msg { font-size:
14px; color: var(--text-secondary); white-space: nowrap; overflow: hidden;
text-overflow: ellipsis; max-width: 200px; }
.messenger-chat-area {
flex-grow: 1;
display: flex;
flex-direction: column;
height:
100%;
background: black;
}
.chat-placeholder {
display: flex;
flex-direction: column;
align-items: center;
justify-content:
center;
height: 100%;
text-align: center;
}
.placeholder-icon
{
width: 96px;
height: 96px;
border: 2px solid white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 10px;
}
.placeholder-icon
svg { stroke-width: 1px; }
.chat-placeholder h2 { font-size: 20px;
font-weight: 400; margin-bottom: 8px; }
.chat-placeholder p { color:
var(--text-secondary); font-size: 14px; margin-bottom: 20px; }
@media
(max-width: 768px) {
.messenger-sidebar { width: 100%; border-right:
none; }
.messenger-chat-area { display: none; }
/* If chat
opened, special class would hide sidebar and show chat-area, handled in JS
potentially or simple CSS toggle */
}