 body,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 p,
 a,
 span {
     font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;
     margin: 0;
     padding: 0;
     line-height: 1.28;
     color: #333;
 }

 body {
     background-color: #ededed;
     background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAIklEQVQIW2NkQAKrVq36zwjjgzhhYWGMYAEYB8RmROaABADeOQ8CXl/xfgAAAABJRU5ErkJggg==');
     font-size: 11px;
     display: flex;
     flex-direction: column;
     align-items: center;
     min-height: 100vh;
     position: relative;
 }

 body.logged-out .blue-bar,
 body.logged-out .wrapper {
     display: none;
 }

 .login-screen {
     position: fixed;
     inset: 0;
     display: none;
     align-items: center;
     justify-content: center;
     z-index: 2000;
 }

 body.logged-out .login-screen {
     display: flex;
 }

 .login-box {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 8px;
     width: min(90vw, 420px);
     text-align: center;
 }

 .login-title {
     color: #1f3c78;
     font-weight: bold;
     font-size: 14px;
 }

.login-subhint {
    color: rgba(31, 60, 120, 0.85);
    font-size: 10px;
}

 .login-hint {
    color: rgba(43, 43, 43, 0.3);
     font-size: 11px;
 }

 .login-input {
     width: 260px;
     max-width: 100%;
     height: 24px;
     border: 1px solid #a8b7d8;
     padding: 0 6px;
     font-family: inherit;
     font-size: 11px;
     background: rgba(255, 255, 255, 0.85);
 }

 .login-button {
     background-color: #5b74a8;
     color: #fff;
     border: 1px solid #29447e;
     border-radius: 2px;
     padding: 5px 14px;
     font-size: 11px;
     font-weight: bold;
     cursor: pointer;
 }

 .login-button:hover {
     background-color: #4f6aa3;
 }

 .login-error {
     color: #b30000;
     min-height: 14px;
     font-size: 10px;
 }

 body::before {
     content: "";
     position: fixed;
     inset: 0;
     pointer-events: none;
     z-index: 9999;
     background: repeating-linear-gradient(
         to bottom,
         rgba(0, 0, 0, 0.14) 0px,
         rgba(0, 0, 0, 0.14) 1px,
         transparent 1px,
         transparent 4px
     );
     opacity: 0.35;
     animation: crt-scanlines 0.12s linear infinite;
 }

 body::after {
     content: "";
     position: fixed;
     inset: 0;
     pointer-events: none;
     z-index: 10000;
     background: linear-gradient(
         to bottom,
         transparent 0%,
         rgba(255, 255, 255, 0.12) 45%,
         rgba(255, 255, 255, 0.25) 50%,
         rgba(255, 255, 255, 0.12) 55%,
         transparent 100%
     );
     background-size: 100% 260px;
     background-repeat: no-repeat;
     mix-blend-mode: soft-light;
     opacity: 0.45;
     animation: crt-roll 6s linear infinite;
 }

 @keyframes crt-scanlines {
     from { transform: translateY(0); }
     to { transform: translateY(4px); }
 }

 @keyframes crt-roll {
     from { background-position: 0 -260px; }
     to { background-position: 0 100vh; }
 }

 a {
     color: #3b5998;
     cursor: pointer;
     text-decoration: none;
 }

 a:hover {
     text-decoration: underline;
 }

 /* Top Blue Bar */
 .blue-bar {
     background-color: #3b5998;
     width: 100%;
     height: 40px;
     display: flex;
     justify-content: center;
     border-bottom: 1px solid #133783;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
     position: sticky;
     top: 0;
     z-index: 100;
 }

 .blue-bar-inner {
     width: 980px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     height: 100%;
     padding: 0 10px;
 }

 .logo {
     color: white;
     font-size: 24px;
     font-weight: bold;
     font-family: 'klavika', 'lucida grande', sans-serif;
     letter-spacing: -1px;
     text-decoration: none;
 }

 .logo:hover {
     color: white;
     text-decoration: none;
 }

 .top-nav {
     display: flex;
     gap: 15px;
     align-items: center;
 }

 .top-nav a {
     color: white;
     font-weight: bold;
     font-size: 12px;
     padding: 5px;
 }

 .top-nav a:hover {
     background-color: #4b67a1;
     text-decoration: none;
     border-radius: 2px;
 }

 .top-settings {
     display: flex;
     gap: 10px;
 }

 .top-settings a {
     color: #d8dfea;
     font-size: 11px;
 }

 .top-settings a:hover {
     color: white;
 }

 /* Main Content wrapper */
 .wrapper {
     width: 980px;
     display: flex;
     margin-top: 15px;
     gap: 15px;
     padding: 10px;
     background: rgba(255, 255, 255, 0.4);
     border: 1px solid #ccc;
     border-radius: 3px;
 }

 /* LEFT SIDEBAR */
 .left-col {
     width: 200px;
     display: flex;
     flex-direction: column;
     gap: 15px;
 }

 .profile-pic-container {
     background: white;
     padding: 5px;
     border: 1px solid #ccc;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
 }

 .profile-pic {
     width: 190px;
     height: 250px;
     background-color: #d8dfea;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #888;
     font-size: 12px;
     overflow: hidden;
     position: relative;
 }

 .profile-pic img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .profile-links {
     display: flex;
     flex-direction: column;
     margin-top: 5px;
 }

 .profile-links a {
     padding: 4px 6px;
     border-bottom: 1px solid #e9e9e9;
 }

 .profile-links a:hover {
     background-color: #f7f7f7;
     text-decoration: none;
 }

 .side-box {
     background: white;
     border: 1px solid #c9d0da;
     padding: 10px;
     border-radius: 3px;
 }

 .side-box-header {
     background-color: #f2f2f2;
     color: #333;
     font-weight: bold;
     padding: 4px 6px;
     margin: -10px -10px 10px -10px;
     border-bottom: 1px solid #c9d0da;
     font-size: 11px;
     display: flex;
     justify-content: space-between;
 }

 .side-box-header span {
     color: #3b5998;
     cursor: pointer;
 }

 .quote {
     font-size: 12px;
     color: #333;
     font-style: italic;
 }

 .info-row {
     display: flex;
     margin-bottom: 5px;
 }

 .info-label {
     width: 70px;
     color: #888;
 }

 .info-value {
     color: #333;
     font-weight: normal;
 }

 .friends-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 5px;
     margin-top: 5px;
 }

 .friend-item {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 3px;
 }

 .friend-pic {
     width: 50px;
     height: 50px;
     background-color: #333;
 }

 .friend-name {
     font-size: 9px;
     color: #3b5998;
     text-align: center;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
     width: 50px;
 }

 .albums-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 5px;
 }

 .album-pic {
     width: 80px;
     height: 60px;
     background-color: #ccc;
 }

 /* RIGHT SIDEBAR / WALL */
 .right-col {
     width: 740px;
     background: white;
     border: 1px solid #ccc;
     padding: 10px;
     border-radius: 3px;
     position: relative;
 }

 /* Tabs */
 .tabs {
     display: flex;
     border-bottom: 1px solid #c9d0da;
     background: #f2f2f2;
     padding: 0 10px;
     margin: -10px -10px 10px -10px;
     border-top-left-radius: 3px;
     border-top-right-radius: 3px;
 }

 .tab {
     padding: 8px 12px;
     font-weight: bold;
     color: #3b5998;
     cursor: pointer;
     border: 1px solid transparent;
     border-bottom: none;
     margin-bottom: -1px;
 }

 .tab.active {
     background: white;
     border-color: #c9d0da;
     color: #333;
 }

 .tab:hover:not(.active) {
     background-color: #e9e9e9;
 }

 .tab-panel {
     display: none;
 }

 .tab-panel.active {
     display: block;
 }

 .info-page-grid {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 10px;
     margin-top: 8px;
 }

 .info-page-card {
     border: 1px solid #d8dfea;
     background: #fff;
     padding: 10px;
 }

 .info-page-card h4 {
     color: #3b5998;
     font-size: 12px;
     margin-bottom: 4px;
 }

 .info-page-card p {
     font-size: 11px;
     line-height: 1.4;
 }

.tech-stack-card {
    grid-column: 1 / -1;
}

.tech-stack-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
}

.tech-category {
    border: none;
    background: transparent;
    padding: 8px;
}

.tech-category h5 {
    color: #3b5998;
    font-size: 11px;
    margin: 0 0 6px 0;
}

.tech-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tech-tag {
    display: inline-block;
    border: 1px solid #a8b7d8;
    border-radius: 999px;
    background: transparent;
    color: #3b5998;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: bold;
}

 .photos-page-grid {
     display: grid;
     grid-template-columns: repeat(4, minmax(0, 1fr));
     gap: 8px;
     margin-top: 8px;
 }

 .photo-card {
     border: 1px solid #d8dfea;
     background: #fff;
     padding: 4px;
 }

 .photo-card img {
     width: 100%;
     height: 95px;
     object-fit: cover;
     display: block;
     border: 1px solid #c9d0da;
 }

 .photo-card span {
     display: block;
     text-align: center;
     color: #3b5998;
     font-size: 10px;
     margin-top: 4px;
     font-weight: bold;
 }

 .media-list,
 .notes-list {
     display: flex;
     flex-direction: column;
     gap: 10px;
     margin-top: 8px;
 }

 .media-item,
 .note-item {
     border: 1px solid #d8dfea;
     background: #fff;
     padding: 10px;
 }

 .media-item h4,
 .note-item h4 {
     color: #3b5998;
     font-size: 12px;
     margin-bottom: 4px;
 }

 .media-item p,
 .note-item p {
     font-size: 11px;
     margin-bottom: 5px;
 }

 /* Update Status */
 .status-update {
     background-color: #f7f7f7;
     border: 1px solid #c9d0da;
     padding: 10px;
     margin-bottom: 20px;
     border-radius: 3px;
 }

 .status-tabs {
     display: flex;
     gap: 15px;
     margin-bottom: 5px;
 }

 .status-tab {
     font-weight: bold;
     color: #3b5998;
     cursor: pointer;
     display: flex;
     align-items: center;
     gap: 4px;
 }

 .status-input-container {
     display: flex;
     gap: 10px;
     align-items: center;
 }

 .status-input {
     flex-grow: 1;
     height: 25px;
     border: 1px solid #bdc7d8;
     padding: 0 5px;
     font-family: inherit;
     color: #777;
 }

 .post-btn {
     background-color: #5b74a8;
     color: white;
     border: 1px solid #29447e;
     padding: 5px 15px;
     font-weight: bold;
     cursor: pointer;
     font-size: 11px;
     border-radius: 2px;
 }

 .post-btn:hover {
     background-color: #4f6aa3;
 }

 /* Feed Posts */
 .feed-filters {
     display: flex;
     justify-content: flex-end;
     gap: 10px;
     color: #888;
     font-size: 10px;
     margin-bottom: 10px;
     border-bottom: 1px solid #e9e9e9;
     padding-bottom: 5px;
 }

 .feed-filters span {
     color: #3b5998;
     cursor: pointer;
 }

 .feed-filters span.active {
     background: #d8dfea;
     color: #333;
     padding: 1px 4px;
     border-radius: 2px;
 }

 .post {
     display: flex;
     gap: 10px;
     margin-bottom: 15px;
     border-bottom: 1px solid #e9e9e9;
     padding-bottom: 15px;
 }

 .post-pic {
     width: 50px;
     height: 50px;
     background-color: #d8dfea;
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #888;
     font-size: 10px;
     overflow: hidden;
 }

 .post-pic img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .post-content {
     flex-grow: 1;
 }

 .post-header {
     margin-bottom: 3px;
 }

 .post-name {
     color: #3b5998;
     font-weight: bold;
     text-decoration: none;
 }

 .post-name:hover {
     text-decoration: underline;
 }

 .post-text {
     color: #333;
     font-size: 12px;
     line-height: 1.4;
     margin-top: 2px;
 }

 .post-text p {
     margin-bottom: 8px;
 }

 .post-actions {
     font-size: 9px;
     color: #888;
     margin-top: 8px;
     display: flex;
     gap: 10px;
     align-items: center;
 }

 .post-actions a {
     color: #3b5998;
 }

 .post-time {
     color: #888;
 }

 .post-icon {
     color: #888;
     margin-right: 3px;
 }

 /* Specific elements */
 .the-social-network-banner {
     text-align: center;
     font-size: 24px;
     font-weight: bold;
     font-family: inherit;
     letter-spacing: -1px;
     margin: 30px 0;
     color: #111;
 }

 .action-post {
     display: flex;
     align-items: center;
     gap: 5px;
     margin-bottom: 15px;
     border-bottom: 1px solid #e9e9e9;
     padding-bottom: 15px;
 }

 .action-icon {
     width: 16px;
     height: 16px;
     background: #d8dfea;
     margin-right: 5px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 10px;
 }

 /* -------------------------------------
           RESPONSIVE DESIGN (Media Queries)
           ------------------------------------- */

 /* Tablets and smaller */
 @media screen and (max-width: 990px) {
     .blue-bar-inner {
         width: 100%;
         padding: 0 15px;
     }

     .wrapper {
         width: 95%;
         margin-top: 10px;
     }

     .right-col {
         width: auto;
         flex-grow: 1;
     }
 }

 /* Small Tablets / Large Phones */
 @media screen and (max-width: 768px) {
     .wrapper {
         flex-direction: column;
     }

     .left-col {
         width: 100%;
         flex-direction: row;
         flex-wrap: wrap;
         justify-content: space-between;
         gap: 10px;
     }

     .profile-pic-container {
         width: calc(33.33% - 10px);
         min-width: 150px;
     }

     .profile-pic {
         width: 100%;
         height: 200px;
     }

     .side-box {
         flex: 1;
         min-width: 250px;
     }

     .right-col {
         width: 100%;
         padding: 10px;
     }

     .info-page-grid {
         grid-template-columns: 1fr;
     }

    .tech-stack-grid {
        gap: 8px;
    }

     .photos-page-grid {
         grid-template-columns: repeat(3, minmax(0, 1fr));
     }
 }

 /* Mobile Phones */
 @media screen and (max-width: 600px) {
     .blue-bar {
         height: auto;
         padding: 10px 0;
     }

     .blue-bar-inner {
         flex-direction: column;
         gap: 10px;
         text-align: center;
     }

     .top-nav {
         justify-content: center;
         flex-wrap: wrap;
     }

     .top-settings {
         justify-content: center;
     }

     .left-col {
         flex-direction: column;
     }

     .profile-pic-container {
         width: 100%;
         display: flex;
         flex-direction: column;
         align-items: center;
     }

     .profile-pic {
         width: 200px;
         height: 200px;
     }

     .profile-links {
         width: 200px;
         text-align: center;
     }

     .tabs {
         flex-wrap: wrap;
         margin: -10px -10px 10px -10px;
         padding: 5px;
         justify-content: center;
     }

     .tab {
         padding: 6px 10px;
         font-size: 10px;
     }

     .status-tabs {
         flex-wrap: wrap;
         justify-content: center;
         gap: 10px;
     }

     .status-input-container {
         flex-direction: column;
         align-items: stretch;
     }

     .post-btn {
         width: 100%;
         padding: 8px;
     }

     .feed-filters {
         flex-wrap: wrap;
         justify-content: center;
     }

     .post {
         flex-direction: column;
     }

     .post-pic {
         width: 40px;
         height: 40px;
         margin-bottom: 5px;
     }

     .the-social-network-banner {
         font-size: 18px;
     }

     .photos-page-grid {
         grid-template-columns: repeat(2, minmax(0, 1fr));
     }

    .tech-tag {
        padding: 3px 7px;
        font-size: 9px;
    }
 }