/* GLOBAL */
body {
  margin: 0;
  padding: 0;
  font-family: Arial, Verdana, Tahoma, sans-serif;
  font-size: 12px;
  color: #f5f5f5;
}

/* DIAGONAL GLITTER BACKGROUND */
.glitter-bg {
  background-image:
    linear-gradient(135deg, rgba(255, 105, 180, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 105, 180, 0.4) 50%, rgba(255, 105, 180, 0.4) 75%, transparent 75%, transparent),
    url("data/images/bgtile.png"),
    url("data/images/bgtile1.png");
  background-size: 40px 40px, 80px 80px, 80px 80px;
  background-position: 0 0, 0 0, 40px 40px;
}

/* PAGE WRAPPER */
#page-wrapper {
  width: 820px;
  margin: 0 auto;
  background-color: rgba(0, 0, 0, 0.85);
  border: 2px solid #ff69b4;
  box-shadow: 0 0 20px #ff69b4;
}

/* HEADER */
#header {
  padding: 10px 15px;
  border-bottom: 1px solid #ff69b4;
  background: linear-gradient(90deg, #000000, #330033, #000000);
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

#ms-header-logo {
  width: 80px;
  height: 40px;
  background-color: #111;
  border: 1px solid #ff69b4;
  position: relative;
}

#ms-header-logo::before,
#ms-header-logo::after {
  content: "";
  position: absolute;
  background-color: #ff69b4;
  border-radius: 50%;
}

#ms-header-logo::before {
  width: 14px;
  height: 14px;
  left: 10px;
  top: 12px;
}

#ms-header-logo::after {
  width: 10px;
  height: 10px;
  left: 26px;
  top: 16px;
}

#header h1 {
  margin: 0;
  font-size: 20px;
  color: #ff69b4;
  text-shadow: 2px 2px #000;
}

.tagline {
  margin: 4px 0 8px;
  font-size: 11px;
  color: #ffb6c1;
}

/* NAVIGATION */
#nav {
  margin-top: 5px;
}

#nav a {
  color: #ff69b4;
  text-decoration: none;
  margin-right: 10px;
  font-size: 11px;
  padding: 2px 6px;
  border: 1px solid #ff69b4;
  background-color: #111;
}

#nav a:hover,
#nav a.active {
  background-color: #ff69b4;
  color: #000;
}

/* MAIN LAYOUT */
#content {
  display: flex;
  padding: 10px;
}

#left-column {
  width: 260px;
  margin-right: 10px;
}

#right-column {
  flex: 1;
}

/* BOXES */
.profile-box,
.contact-box,
.details-box,
.interests-box,
.likes-box,
.heroes-box,
.meet-box,
.about-box,
.top8-box {
  border: 1px solid #ff69b4;
  background-color: #111;
  padding: 8px;
  margin-bottom: 10px;
}

.profile-box h2,
.contact-box h2,
.details-box h2,
.interests-box h2,
.likes-box h2,
.heroes-box h2,
.meet-box h2,
.about-box h2,
.top8-box h2,
#guestbook h2 {
  margin: 0 0 6px;
  font-size: 13px;
  color: #ff69b4;
  text-transform: uppercase;
}

/* PROFILE PHOTO */
.profile-photo {
  display: block;
  width: 240px;
  height: 240px;
  border: 2px solid #ff69b4;
  margin-bottom: 6px;
}

/* CONTACT BOX */
.contact-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact-box li {
  margin-bottom: 4px;
}

.contact-box a {
  font-size: 11px;
  color: #ff69b4;
  text-decoration: none;
}

.contact-box a:hover {
  text-decoration: underline;
}

/* DETAILS BOX */
.details-box table {
  width: 100%;
  font-size: 11px;
}

.details-box td:first-child {
  width: 35%;
  color: #ffb6c1;
}

/* INTERESTS / LIKES / HEROES / MEET */
.interests-box p,
.likes-box p,
.heroes-box p,
.meet-box p {
  font-size: 11px;
  line-height: 1.4;
}

/* ABOUT ME */
.about-box p {
  font-size: 11px;
  line-height: 1.4;
}

/* TOP 8 */
.top8-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  text-align: center;
}

.friend-card {
  background-color: #111;
  border: 1px solid #ff69b4;
  padding: 6px;
}

.friend-card img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border: 2px solid #ff69b4;
  margin-bottom: 4px;
}

.friend-card p {
  font-size: 11px;
  color: #ff69b4;
  margin: 0;
}

/* MYSPACE PLAYER — FULL REBUILD */
#myspace-player {
  width: 500px;
  border: 1px solid #000;
  background: linear-gradient(#5b6473, #343944);
  padding: 4px;
  color: #fff;
  font-size: 11px;
  box-shadow: inset 0 0 2px #000;
  font-family: Arial, Verdana, Tahoma, sans-serif;
}

/* top block */
.mp-top {
  display: flex;
  border-bottom: 1px solid #000;
  padding-bottom: 3px;
  margin-bottom: 3px;
}

.mp-art {
  width: 130px;
  margin-right: 6px;
}

.mp-art img {
  width: 120px;
  height: 120px;
  border: 2px solid #000;
}

/* header text */
.mp-main {
  flex: 1;
}

.mp-header {
  font-size: 10px;
  margin-bottom: 2px;
}

.mp-band {
  font-weight: bold;
  color: #fff;
}

.mp-album,
.mp-year {
  color: #d0d6e5;
}

/* now playing row */
.mp-now-row {
  background: linear-gradient(#3b414c, #262a32);
  border: 1px solid #000;
  padding: 2px 4px;
  margin-bottom: 3px;
}

.mp-now-label {
  font-weight: bold;
  margin-right: 4px;
}

/* controls + progress */
.mp-controls-row {
  display: flex;
  align-items: center;
  margin-bottom: 3px;
}

.mp-buttons {
  display: inline-flex;
  margin-right: 6px;
}

.mp-btn {
  width: 20px;
  height: 16px;
  margin-right: 2px;
  border-radius: 3px;
  border: 1px solid #000;
  background: linear-gradient(#4b5260, #2b3038);
  color: #e0e6ff;
  font-size: 11px;
  line-height: 14px;
  text-align: center;
  padding: 0;
  cursor: pointer;
}

.mp-btn:hover {
  background: linear-gradient(#5b6473, #343944);
}

.mp-progress-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 4px;
}

#mp-progress-bg {
  flex: 1;
  height: 6px;
  background-color: #1f2126;
  border: 1px solid #000;
  position: relative;
}

#mp-progress-bar {
  height: 100%;
  width: 0%;
  background-color: #0066ff;
}

#mp-time {
  font-size: 10px;
  color: #d0d6e5;
}

/* stats */
.mp-stats-row {
  display: flex;
  gap: 8px;
  font-size: 10px;
  margin-bottom: 3px;
  color: #d0d6e5;
}

.mp-stats-row strong {
  color: #fff;
}

/* equalizer */
.mp-eq-row {
  display: flex;
  gap: 2px;
  margin-bottom: 3px;
}

.mp-eq-bar {
  display: inline-block;
  width: 4px;
  height: 10px;
  background-color: #0066ff;
  animation: mpEqPulse 0.8s infinite ease-in-out;
}

.mp-eq-bar:nth-child(2) { animation-delay: 0.1s; }
.mp-eq-bar:nth-child(3) { animation-delay: 0.2s; }
.mp-eq-bar:nth-child(4) { animation-delay: 0.3s; }
.mp-eq-bar:nth-child(5) { animation-delay: 0.4s; }

@keyframes mpEqPulse {
  0% { height: 4px; }
  50% { height: 12px; }
  100% { height: 4px; }
}

/* tracklist */
.mp-tracklist table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
  background-color: #3a3d44;
  margin-bottom: 3px;
}

.mp-tracklist th,
.mp-tracklist td {
  border: 1px solid #000;
  padding: 2px 3px;
}

.mp-tracklist th {
  background-color: #2b2e35;
  font-weight: bold;
  color: #fff;
}

.mp-tracklist tbody tr {
  cursor: pointer;
}

.mp-tracklist tbody tr:hover {
  background-color: #4a4d55;
}

.mp-tracklist td:nth-child(1) {
  text-align: center;
  width: 30px;
}

.mp-tracklist td:nth-child(3) {
  text-align: center;
  width: 50px;
}

.mp-tracklist td:nth-child(4),
.mp-tracklist td:nth-child(5),
.mp-tracklist td:nth-child(6),
.mp-tracklist td:nth-child(7),
.mp-tracklist td:nth-child(8) {
  text-align: center;
  width: 60px;
}

.mp-tracklist a {
  color: #c0d6ff;
  text-decoration: none;
}

.mp-tracklist a:hover {
  text-decoration: underline;
}

/* footer */
.mp-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 3px;
  border-top: 1px solid #000;
}

.mp-logo {
  display: flex;
  align-items: center;
  gap: 3px;
}

.mp-logo-blobs span {
  display: inline-block;
  width: 9px;
  height: 9px;
  background-color: #fff;
  border-radius: 50%;
  margin-right: 1px;
}

.mp-logo-text {
  font-size: 9px;
  color: #fff;
}

.mp-logo-main {
  font-weight: bold;
}

.mp-logo-tag {
  font-size: 8px;
  color: #d0d6e5;
}

.mp-standalone-btn {
  font-size: 9px;
  padding: 2px 6px;
  background-color: #2b2e35;
  color: #fff;
  border: 1px solid #000;
  cursor: pointer;
}

.mp-standalone-btn:hover {
  background-color: #3b3e45;
}

/* GUESTBOOK */
#guestbook {
  border: 1px solid #ff69b4;
  background-color: #111;
  padding: 8px;
  margin-bottom: 10px;
}

#guestbook-form {
  margin-bottom: 10px;
}

.form-row {
  margin-bottom: 6px;
}

.form-row label {
  display: inline-block;
  width: 120px;
  font-size: 11px;
}

.form-row input,
.form-row textarea {
  width: 70%;
  font-size: 11px;
  background-color: #222;
  color: #f5f5f5;
  border: 1px solid #ff69b4;
}

#guestbook-form button {
  font-size: 11px;
  padding: 3px 8px;
  background-color: #ff69b4;
  color: #000;
  border: 1px solid #ff69b4;
  cursor: pointer;
}

#guestbook-comments {
  border-top: 1px dashed #ff69b4;
  padding-top: 8px;
}

.gb-comment {
  display: flex;
  margin-bottom: 8px;
  border-bottom: 1px dotted #333;
  padding-bottom: 6px;
}

.gb-avatar {
  width: 40px;
  height: 40px;
  border: 1px solid #ff69b4;
  margin-right: 6px;
  object-fit: cover;
}

.gb-body {
  font-size: 11px;
}

.gb-body .gb-name {
  font-weight: bold;
  color: #ff69b4;
}

/* BULLETINS / BLOG POSTS */
.bulletins {
  border: 1px solid #ff69b4;
  background-color: #111;
  padding: 8px;
  margin-bottom: 10px;
}

.bulletin-intro {
  font-size: 11px;
  color: #ffb6c1;
  margin-bottom: 10px;
}

.bulletin {
  border: 1px solid #333;
  background-color: #1a1a1a;
  padding: 8px;
  margin-bottom: 8px;
}

.bulletin-header {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 4px;
  padding-bottom: 4px;
  border-bottom: 1px dashed #333;
}

.bulletin-title {
  font-weight: bold;
  color: #ff69b4;
  font-size: 12px;
}

.bulletin-header span:last-child {
  font-size: 10px;
  color: #888;
}

.bulletin-body {
  font-size: 11px;
  line-height: 1.5;
  color: #f5f5f5;
}

/* FOOTER */
#footer {
  padding: 6px 10px;
  font-size: 10px;
  text-align: center;
  border-top: 1px solid #ff69b4;
  background-color: #000;
}