/* ==========================================================
   styles2.css - dark "black & green" mode
   (responsive: everything scales with viewport width)
   1rem = 15px 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: #33e06a;
  background-color: #050a06;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(0, 255, 100, 0.04) 0px,
      rgba(0, 255, 100, 0.04) 1px,
      transparent 1px,
      transparent 4px
    ),
    radial-gradient(ellipse at 50% 30%, #0a1a10 0%, #050a06 70%);
  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: #0c140e;
  border: 1px solid #00e05a;
  box-shadow:
    inset 1px 1px 0 #1a3020,
    inset -1px -1px 0 #030804,
    0.3rem 0.3rem 0 rgba(0, 0, 0, 0.7),
    0 0 1.09rem rgba(0, 255, 90, 0.15);
}

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

#titlebar {
  display: flex;
  align-items: center;
  height: 2rem;
  padding: 0 0.27rem 0 0.45rem;
  background: linear-gradient(180deg, #12301c 0%, #0a2012 45%, #06180c 55%, #0a2012 100%);
  border-bottom: 1px solid #00a040;
}

#titlebar-icon {
  color: #00ff66;
  font-size: 1rem;
  margin-right: 0.55rem;
  text-shadow: 0 0 0.36rem rgba(0, 255, 100, 0.8);
}

#titlebar-text {
  flex: 1;
  font-size: 1.3rem;
  font-weight: bold;
  color: #5aff8f;
  text-shadow: 0 0 0.45rem rgba(0, 255, 100, 0.5);
  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: #4dff7f;
  background: linear-gradient(180deg, #102818 0%, #06180c 100%);
  border: 1px solid #00a040;
  box-shadow: inset 1px 1px 0 rgba(0, 255, 100, 0.25), inset -1px -1px 0 rgba(0, 0, 0, 0.8);
  cursor: default;
  user-select: none;
}

.tb-btn:hover {
  color: #aaffc0;
  background: linear-gradient(180deg, #1a4028 0%, #0a2012 100%);
}

.tb-close {
  color: #ff5555;
  border-color: #802020;
  box-shadow: inset 1px 1px 0 rgba(255, 100, 100, 0.25), inset -1px -1px 0 rgba(0, 0, 0, 0.8);
}

.tb-close:hover {
  color: #ffaaaa;
  background: linear-gradient(180deg, #3a1010 0%, #1a0505 100%);
}

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

#menubar {
  display: flex;
  gap: 0.18rem;
  padding: 0.27rem 0.36rem;
  background: #0c140e;
  border-bottom: 1px solid #1a3822;
  box-shadow: 0 1px 0 #030804;
}

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

.menu-item:hover {
  background: #00a040;
  color: #02140a;
}

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

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

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

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

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

.panel {
  margin-bottom: 0.91rem;
  background: #0e1a10;
  border: 2px solid;
  border-color: #1f4028 #030804 #030804 #1f4028;
}

.panel-header {
  padding: 0.18rem 0.55rem;
  font-size: 1rem;
  font-weight: bold;
  color: #66ff99;
  background: linear-gradient(180deg, #0a2414 0%, #041208 50%, #02100a 51%, #041208 100%);
  text-shadow: 0 0 0.45rem rgba(0, 255, 100, 0.6);
  border-bottom: 1px solid #0a4020;
}

.panel-body {
  padding: 0.73rem 0.91rem;
  border: 2px solid;
  border-color: #030804 #1f4028 #1f4028 #030804;
  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: #00ff88;
}

a:visited {
  color: #66dd44;
}

a:hover {
  color: #ccffb0;
  text-shadow: 0 0 0.55rem rgba(0, 255, 120, 0.8);
}

a:active {
  color: #ffffff;
}

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

#counter {
  margin-top: 1.09rem;
  padding: 0.45rem 0.73rem;
  text-align: center;
  color: #2ab055;
  background: #08120a;
  border: 2px solid;
  border-color: #030804 #1f4028 #1f4028 #030804;
}

.led {
  display: inline-block;
  font-family: "Courier New", monospace;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.18rem;
  color: #00ff44;
  text-shadow: 0 0 0.45rem rgba(0, 255, 68, 0.9);
  background: #010402;
  border: 2px solid;
  border-color: #010402 #1a3822 #1a3822 #010402;
  padding: 0 0.36rem;
}

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

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

.status-cell {
  padding: 0.09rem 0.73rem;
  font-size: 0.91rem;
  color: #2ab055;
  background: #0c140e;
  border: 1px solid;
  border-color: #030804 #1f4028 #1f4028 #030804;
  white-space: nowrap;
}

.status-wide {
  flex: 1;
}
