* { box-sizing: border-box; }
body {
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  background-image:
    repeating-linear-gradient(45deg, #e9edf5 0, #e9edf5 2px, #ffffff 2px, #ffffff 40px);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #000000;
}
a { color: #0000CC; text-decoration: underline; }
a:hover { color: #cc0000; }

/* ===== TOP MASTHEAD ===== */
#masthead {
  background-color: #ffffff;
  border-bottom: 4px solid #003399;
}
#masthead-inner {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
}
#logo {
  font-family: "Comic Sans MS", cursive;
  font-size: 34px;
  font-weight: bold;
  color: #003399;
  letter-spacing: -1px;
  text-decoration: none;
}
#logo span { color: #ff6600; }

/* ===== NAV BAR ===== */
#navbar {
  background-color: #003399;
  border-bottom: 1px solid #001a4d;
}
#navbar table {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  border-collapse: collapse;
}
#navbar td {
  padding: 4px 10px;
  font-weight: bold;
  color: #ffffff;
  font-size: 11px;
  border-right: 1px solid #2255bb;
  white-space: nowrap;
}
#navbar a {
  color: #ffffff;
  text-decoration: none;
}
#navbar a:hover { color: #ffcc00; text-decoration: underline; }
#navbar td.social a { display: inline-flex; align-items: center; gap: 4px; }
#navbar .navicon { width: 13px; height: 13px; vertical-align: middle; }

/* ===== MAIN WRAPPER ===== */
#wrapper {
  max-width: 960px;
  margin: 0 auto;
  background: #ffffff;
  border-left: 1px solid #cdd6e6;
  border-right: 1px solid #cdd6e6;
}

/* ===== PROFILE HEADER BAND ===== */
#profileband {
  background: #d7e3f7;
  border-bottom: 1px solid #a9bfe0;
  padding: 6px 10px;
  font-size: 11px;
}
.glitter {
  font-family: "Comic Sans MS", cursive;
  font-size: 26px;
  font-weight: bold;
  background: linear-gradient(90deg, #ff00cc, #3333ff, #00ccff, #33ff33, #ffcc00, #ff0066);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 1px 1px 0 rgba(255,255,255,0.4);
  display: inline-block;
}
.marquee-wrap {
  background: #ffff99;
  border: 1px dashed #cc9900;
  padding: 2px 4px;
  font-weight: bold;
  color: #cc3300;
  overflow: hidden;
  white-space: nowrap;
  display: inline-block;
  max-width: 400px;
  vertical-align: middle;
}
.marquee-track {
  display: inline-block;
  padding-left: 100%;
  animation: scrollleft 12s linear infinite;
}
@keyframes scrollleft {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* ===== LAYOUT TABLE ===== */
#maincontent { padding: 10px; }
.layout { width: 100%; border-collapse: collapse; }
.layout > tbody > tr > td { vertical-align: top; }
td.leftcol { width: 220px; padding-right: 10px; }
td.rightcol { padding-left: 0; }

/* ===== MODULE BOX (classic beveled table look) ===== */
.module { margin-bottom: 10px; border: 1px solid #6688bb; }
.module .modtitle {
  background: #003399;
  background-image: linear-gradient(#4477cc, #003399);
  color: #ffffff;
  font-weight: bold;
  font-size: 12px;
  padding: 3px 6px;
}
.module .modbody { padding: 6px; background: #f5f8fd; }
.module .modbody.white { background: #ffffff; }

.placeholderbox {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #003399;
  background: #dbe4f5;
  color: #6688bb;
  font-size: 11px;
  font-style: italic;
}
.picframe { text-align: center; }

table.infotable { width: 100%; border-collapse: collapse; font-size: 11px; }
table.infotable td { padding: 2px 0; vertical-align: top; }
table.infotable td.label { font-weight: bold; color: #003399; width: 80px; }

/* Contacting module - 2 col icon grid */
table.contactgrid { width: 100%; border-collapse: collapse; }
table.contactgrid td { padding: 3px 2px; font-size: 11px; vertical-align: middle; width: 50%; }
.contacticon {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
  vertical-align: middle;
}

.stat-row td { padding: 1px 4px; font-size: 11px; border-bottom: 1px dotted #cdd6e6; }
.stat-row td.k { font-weight: bold; color: #003399; }
.stat-row td.v { text-align: right; }

/* Top 8 / all-friends grid */
.friendgrid { width: 100%; border-collapse: collapse; }
.friendgrid td {
  width: 25%;
  text-align: center;
  padding: 6px;
  font-size: 10px;
  vertical-align: top;
}
.friendthumb {
  width: 90px;
  height: 90px;
  margin: 0 auto 3px;
}
.friendname { color: #0000CC; font-weight: bold; }
.friendname.plain { color: #000000; font-weight: bold; }

/* Comments */
.comment { border-bottom: 1px solid #dde5f2; padding: 8px 4px; }
.comment:last-child { border-bottom: none; }
.commentpic {
  width: 60px; height: 60px;
  float: left; margin-right: 8px;
}
.commentmeta { font-size: 10px; color: #666; }
.commentname { color: #0000CC; font-weight: bold; }
.clear { clear: both; }

/* Pics / videos grid pages */
.mediagrid { width: 100%; border-collapse: collapse; }
.mediagrid td {
  width: 33.33%;
  text-align: center;
  padding: 8px;
  vertical-align: top;
}
.mediathumb { width: 100%; height: 140px; }

#footer {
  background: #003399;
  color: #cdd9f0;
  text-align: center;
  font-size: 10px;
  padding: 8px;
}
#footer a { color: #ffffff; }

hr.sep { border: none; border-top: 1px dashed #a9bfe0; margin: 6px 0; }
