/* ==========================================================
   styles.css - mid-2000s ICE-WM inspired personal page
   (responsive: everything scales with viewport width)
   1rem = 11px at a 1024px-wide viewport, growing with width
   ========================================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: clamp(15px, 0.45vw + 6.3px, 30px);
}

html, body {
  height: 100%;
}

body {
  font-family: Tahoma, Verdana, Arial, sans-serif;
  font-size: 1.1rem;
  color: #1a2a3a;
  background-color: #8ea8c8;
  min-height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 2.18rem 0.73rem;
}

/* ---------- window ---------- */

#window {
  width: clamp(320px, 92vw, 1500px);
  background: #d6e2f0;
  border: 1px solid #3a5a80;
  box-shadow:
    inset 1px 1px 0 #f4f8fc,
    inset -1px -1px 0 #9cb0c8,
    0.3rem 0.3rem 0 rgba(20, 35, 55, 0.35);
}

/* ---------- title bar ---------- */

#titlebar {
  display: flex;
  align-items: center;
  height: 2rem;
  padding: 0 0.27rem 0 0.45rem;
  background: linear-gradient(180deg, #e8f2fc 0%, #b8d2ee 45%, #88aed6 55%, #a8c4e4 100%);
  border-bottom: 1px solid #4a6a90;
}

#titlebar-icon {
  color: #2a4a70;
  font-size: 1rem;
  margin-right: 0.55rem;
  text-shadow: 1px 1px 0 #ffffff;
}

#titlebar-text {
  flex: 1;
  font-size: 1.3rem;
  font-weight: bold;
  color: #12304e;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.8);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#titlebar-buttons {
  display: flex;
  gap: 0.18rem;
  margin-left: 0.55rem;
}

.tb-btn {
  display: inline-block;
  width: 1.45rem;
  height: 1.27rem;
  line-height: 1.09rem;
  text-align: center;
  font-size: 0.82rem;
  font-weight: bold;
  color: #1a3050;
  background: linear-gradient(180deg, #f0f6fc 0%, #c4d6ec 100%);
  border: 1px solid #4a6a90;
  box-shadow: inset 1px 1px 0 #ffffff, inset -1px -1px 0 #8aa4c4;
  cursor: default;
  user-select: none;
}

.tb-close {
  color: #6a1010;
  background: linear-gradient(180deg, #fce8e8 0%, #e0b0b0 100%);
  border-color: #804040;
  box-shadow: inset 1px 1px 0 #ffffff, inset -1px -1px 0 #b07070;
}

/* ---------- menu bar ---------- */

#menubar {
  display: flex;
  gap: 0.18rem;
  padding: 0.27rem 0.36rem;
  background: #d6e2f0;
  border-bottom: 1px solid #9cb0c8;
  box-shadow: 0 1px 0 #f4f8fc;
}

.menu-item {
  padding: 0.09rem 0.64rem;
  color: #1a3050;
  cursor: default;
}

.menu-item:hover {
  background: #88aed6;
  color: #ffffff;
}

.menu-item a {
  text-decoration: none;
}

#menubar iframe {
  display: block;
  width: 100%;
  height: 1.8rem;
  border: none;
}

/* ---------- content ---------- */

#content {
  padding: 0.91rem;
  background: #d6e2f0;
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 3px,
    rgba(255, 255, 255, 0.25) 3px,
    rgba(255, 255, 255, 0.25) 4px
  );
}

/* ---------- beveled panels ---------- */

.panel {
  margin-bottom: 0.91rem;
  background: #e8f0fa;
  border: 2px solid;
  border-color: #f8fbff #6888a8 #6888a8 #f8fbff;
}

.panel-header {
  padding: 0.18rem 0.55rem;
  font-size: 1rem;
  font-weight: bold;
  color: #ffffff;
  background: linear-gradient(180deg, #9ab8dc 0%, #5f84b4 50%, #4a6f9e 51%, #5f84b4 100%);
  text-shadow: 1px 1px 0 rgba(20, 40, 70, 0.6);
  border-bottom: 1px solid #3a5a80;
}

.panel-body {
  padding: 0.73rem 0.91rem;
  border: 2px solid;
  border-color: #6888a8 #f8fbff #f8fbff #6888a8;
  margin: 0;
}

.panel-body p {
  margin: 0 0 0.55rem 0;
  line-height: 1.5;
}

.panel-body p:last-child {
  margin-bottom: 0;
}

.panel-body ul {
  list-style: square;
  margin-left: 1.64rem;
  line-height: 1.8;
}

.panel-body img {
  	width: 100%;
    height: 100%;
	object-fit: contain;
}

/* ---------- links ---------- */

a {
  color: #0a40a0;
}

a:visited {
  color: #5a20a0;
}

a:hover {
  color: #d03000;
}

a:active {
  color: #ff6000;
}

/* ---------- visitor counter ---------- */

#counter {
  margin-top: 1.09rem;
  padding: 0.45rem 0.73rem;
  text-align: center;
  color: #2a4060;
  background: #c8d8ec;
  border: 2px solid;
  border-color: #6888a8 #f8fbff #f8fbff #6888a8;
}

.led {
  display: inline-block;
  font-family: "Courier New", monospace;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.18rem;
  color: #00e000;
  background: #101820;
  border: 2px solid;
  border-color: #101820 #405060 #405060 #101820;
  padding: 0 0.36rem;
}

/* ---------- status bar ---------- */

#statusbar {
  display: flex;
  gap: 0.27rem;
  padding: 0.27rem 0.36rem;
  background: #d6e2f0;
  border-top: 1px solid #f4f8fc;
}

.status-cell {
  padding: 0.09rem 0.73rem;
  font-size: 0.91rem;
  color: #2a4060;
  background: #d6e2f0;
  border: 1px solid;
  border-color: #8aa4c4 #f4f8fc #f4f8fc #8aa4c4;
  white-space: nowrap;
}

.status-wide {
  flex: 1;
}
