/* memXplorer: the browser window, and the sites of the Mem Network. */

/* ---- Browser chrome --------------------------------------------------- */
.memxplorer .window-body { padding-top: 0; }
.xp-toolbar { display: flex; gap: 2px; align-items: center; padding: 2px 0; flex: none; border-bottom: 1px solid var(--shadow); }
.xp-tool { display: flex; flex-direction: column; align-items: center; min-width: 52px; height: auto; padding: 2px 6px; line-height: 1.1; }
.xp-glyph { font-size: 15px; }
.xp-throbber {
  width: 38px; height: 34px; display: grid; place-items: center; background: #000;
  border: 2px solid; border-color: var(--shadow) var(--hilite) var(--hilite) var(--shadow);
}
.xp-throbber.spinning img { animation: xp-spin 1s linear infinite; }
@keyframes xp-spin { to { transform: rotateY(360deg); } }
.xp-address-row, .xp-links { display: flex; gap: 4px; align-items: center; padding: 3px 0; flex: none; border-bottom: 1px solid var(--shadow); }
.xp-row-label { color: #444; padding: 0 2px; }
.xp-address { flex: 1; min-width: 0; height: 22px; padding: 2px 4px; font: inherit; user-select: text; -webkit-user-select: text; }
.xp-address-row .btn { min-width: 40px; }
.xp-links { overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.xp-link { display: inline-flex; gap: 3px; align-items: center; background: none; border: 1px solid transparent; padding: 1px 5px; cursor: pointer; white-space: nowrap; }
.xp-link:hover { border-color: var(--hilite) var(--shadow) var(--shadow) var(--hilite); }
.xp-page {
  flex: 1; min-height: 0; overflow: auto; margin-top: 3px; padding: 8px 10px;
  background: #fff; color: #000; font: 16px "Times New Roman", Times, serif;
  border: 2px solid; border-color: var(--shadow) var(--hilite) var(--hilite) var(--shadow);
  user-select: text; -webkit-user-select: text;
}
.xp-page:focus { outline: none; }
.xp-page a { color: #0000ee; }
.xp-page a:visited { color: #551a8b; }
.xp-page img, .xp-page svg { image-rendering: auto; }
.xp-page p { margin: 0 0 1em; }
.xp-page input[type=text], .xp-page input[type=password], .xp-page textarea { font: 14px Arial, sans-serif; padding: 2px; border: 2px inset #ccc; }
.xp-page .btn { height: auto; min-height: 23px; font: 12px "MS Sans Serif", Tahoma, sans-serif; }
.xp-progress { flex: 0 0 140px; min-width: 0; padding: 2px; }
.xp-progress-bar { height: 100%; width: 0; background: repeating-linear-gradient(90deg, var(--sel) 0 8px, transparent 8px 10px); }
.xp-progress:not(.active) .xp-progress-bar { width: 0 !important; }

/* Shared 90s bits */
.hit-counter { display: inline-flex; gap: 1px; vertical-align: middle; }
.hit-counter span { background: #000; color: #3f3; font: bold 13px "Courier New", monospace; padding: 0 3px; }
hr.rainbow { height: 6px; border: 0; background: linear-gradient(90deg, red, orange, yellow, lime, cyan, blue, violet); }
.webring { margin: 12px auto; background: #fff; color: #000; font: 13px Arial, sans-serif; text-align: center; }
.blink, .new-badge { animation: xp-blink 1s steps(1) infinite; }
@keyframes xp-blink { 50% { visibility: hidden; } }
.new-badge { display: inline-block; background: #d00; color: #ff0; font: bold 12px Arial, sans-serif; padding: 1px 4px; }

/* ---- Error & plain pages ---------------------------------------------- */
.site-error .ie-error { max-width: 520px; font: 13px Verdana, Tahoma, sans-serif; }
.site-error .ie-error h1 { font-size: 18px; font-weight: normal; border-bottom: 1px solid #ccc; padding-bottom: 6px; }
.site-error .small, .site-plain address { font-size: 12px; color: #555; }

/* ---- Ask Mem ------------------------------------------------------------ */
.site-askmem { background: #fdfaf0; font-family: Arial, Helvetica, sans-serif; }
.am-top { display: flex; gap: 16px; align-items: center; justify-content: center; padding: 6px 0 12px; }
.am-butler { width: 80px; height: 110px; flex: none; }
.am-top.small .am-butler { width: 48px; height: 66px; }
.am-logo { margin: 0; font: italic bold 38px Georgia, "Times New Roman", serif; color: #8b1c1c; }
.am-top.small .am-logo { font-size: 26px; }
.am-form { display: flex; gap: 6px; margin-top: 6px; }
.am-form .am-q { width: min(340px, 60vw); font-size: 15px !important; }
.am-cols { display: flex; gap: 12px; flex-wrap: wrap; }
.am-box { flex: 1 1 240px; background: #fff; border: 1px solid #d8cfb0; padding: 8px 12px; margin-bottom: 12px; }
.am-box h3 { margin: 0 0 6px; color: #8b1c1c; font-size: 15px; }
.am-box ul { margin: 0; padding-left: 20px; }
.am-box li { margin: 3px 0; }
.am-reply { font: italic 18px Georgia, serif; color: #333; }
.am-foot { text-align: center; font-size: 12px; color: #777; }

/* ---- Lockheed shareholder portal --------------------------------------- */
.site-lockheed { font-family: Arial, Helvetica, sans-serif; padding: 0; }
.site-lockheed > *:not(.lm-head):not(.lm-ticker):not(.lm-nav) { margin-left: 10px; margin-right: 10px; }
.lm-head { background: linear-gradient(90deg, #000033, #000080); }
/* The logo is navy; show it white on the navy header. */
.lm-logo { filter: brightness(0) invert(1); max-width: 100%; height: auto; }
.lm-ticker { display: block; background: #000; color: #3f3; font: bold 14px "Courier New", monospace; padding: 3px 0; }
.lm-nav { background: #c0c8e0; font-size: 13px; text-align: center; }
.lm-nav a { color: #000066; font-weight: bold; }
.lm-side { background: #eef0f8; border: 1px solid #99a; }
.lm-table { font-size: 14px; }
.lm-foot { font-size: 11px; color: #666; }

/* ---- CIA ------------------------------------------------------------------ */
.site-cia { background: #e9e9e2; }
.cia-emblem { width: 110px; height: 110px; cursor: pointer; }
.cia-nav { background: #0b2a5b; font: bold 12px Arial, sans-serif; text-align: center; margin: 8px 0 12px; }
.cia-nav a, .cia-nav a:visited { color: #fff; }
.redact { background: #000; color: #000; letter-spacing: -2px; user-select: none; }
.cia-foot { font-size: 11px; color: #555; text-align: center; }

/* ---- GeoCities front page ------------------------------------------------ */
.site-geocities { font-family: Arial, Helvetica, sans-serif; }

/* ---- Big Ron's Heating & Cooling ----------------------------------------- */
.site-ron {
  background: #fdf2e0 repeating-linear-gradient(45deg, transparent 0 12px, rgba(255, 120, 0, 0.12) 12px 24px);
  font-family: "Comic Sans MS", "Comic Sans", cursive;
}
.ron-marquee { display: block; background: #c00; padding: 4px 0; }
.ron-box { background: #fff; border: 3px ridge #f90; font-family: Arial, sans-serif; }

/* ---- Dale's Monster Truck Page ------------------------------------------ */
.site-dale { background: #111 radial-gradient(#333 1px, transparent 1px) 0 0 / 8px 8px; color: #fff; font-family: Arial, sans-serif; }
.site-dale a, .site-dale a:visited { color: #ffcc00; }
.dale-flames {
  height: 26px; margin: -8px -10px 6px;
  background: linear-gradient(0deg, #ff3b00, #ffae00 60%, transparent), repeating-radial-gradient(circle at 10px 26px, #ff6a00 0 10px, transparent 10px 20px);
  animation: dale-flicker 0.4s steps(2) infinite;
}
@keyframes dale-flicker { 50% { filter: hue-rotate(15deg) brightness(1.15); } }
.dale-marquee { display: block; }
.truck { width: 200px; height: 133px; }
.truck-big { width: min(480px, 100%); height: auto; }
.dale-gallery td { background: #222; border: 2px solid #ffcc00; }
.dale-top5 { display: inline-block; text-align: left; color: #fff; }
.dale-stats { margin: 8px auto; }
.dale-entries td { border-bottom: 1px dashed #555; }

/* ---- MEMnet --------------------------------------------------------------- */
.site-memnet { background: #d4d0c8; font: 13px Tahoma, Verdana, sans-serif; padding: 0; }
.mn-head { background: linear-gradient(90deg, #202020, #404850); }
.mn-who { color: #ffd400; font-size: 12px; }
.mn-nav { background: #808080; text-align: center; font-weight: bold; }
.mn-nav a, .mn-nav a:visited { color: #fff; }
.mn-body { padding: 10px 14px; }
.mn-card { background: #fff; border: 2px solid; border-color: #808080 #fff #fff #808080; }
.mn-menu td { padding: 1px 8px 1px 0; }
.mn-note { max-width: 360px; font-size: 11px; color: #555; }
.mn-frame { display: inline-block; padding: 8px; background: #c9a227; border: 4px ridge #8a6d10; }
.mn-foot { font-size: 11px; color: #555; text-align: center; padding: 0 10px 10px; }

/* ---- Phones ------------------------------------------------------------ */
@media (max-width: 640px), (max-height: 500px) and (pointer: coarse) {
  .xp-label, .xp-links .xp-row-label, .xp-address-row .xp-row-label { display: none; }
  .xp-tool { min-width: 40px; }
  .xp-progress { flex-basis: 70px; }
  .xp-page { font-size: 15px; padding: 6px; }
  .am-top { flex-direction: column; text-align: center; }
  .am-form { justify-content: center; }
  .truck { width: 140px; height: 93px; }
  .xp-page table { max-width: 100%; }
}
