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

body {
  background: #f7f7f7;
  padding-top: 40px; /* space for ticker */
  overflow: hidden; /* disable scrolling */
}

.buttons {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 40px;
}

.circle-btn {
  width: 80px;
  height: 80px;
  border: 3px solid #000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: filter 0.2s;
}

.circle-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.circle-btn:hover {
  filter: brightness(1.3);
}

/* --- Collage grid --- */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  grid-auto-rows: 120px;
  gap: 2px; /* 50% thinner border */
  width: 100vw;
  min-height: calc(100vh - 40px);
  background: #000; /* black borders between images */
}

.square img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- News ticker --- */
.ticker {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: #ffffff;
  border-bottom: 2px solid #000;
  overflow: hidden;
  z-index: 1000;
}

.ticker-inner {
  display: flex;
  width: max-content;
  animation: ticker-scroll 20s linear infinite;
}

.ticker-item {
  font-family: "Times New Roman", Times, serif;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: #000;
  line-height: 40px;
  padding-right: 60px;
  white-space: nowrap;
}

@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* --- Central panel --- */
.panel {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 420px;
  max-width: 90%;
  background: #ffffff;
  border: 2px solid #000;
  padding: 24px 32px 28px;
  text-align: center;
  z-index: 500;
  box-shadow: 0 4px 12px rgba(0,0,0,0.35);
}

.panel-title {
  font-family: "Times New Roman", Times, serif;
  font-size: 26px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.panel-img {
  width: 100%;
  height: auto;
}

.panel-buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
}

.buy-btn {
  background: #000;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 18px;
  padding: 14px 32px;
  border: none;
  border-radius: 8px;
  text-decoration: none;
  cursor: pointer;
  animation: crazy 1.2s infinite ease-in-out;
  box-shadow: 0 0 15px #ff00ff;
}

@keyframes crazy {
  0%   { transform: scale(1);     background:#ff0000; box-shadow: 0 0 10px #ff0000; }
  25%  { transform: scale(1.25);  background:#00ff00; box-shadow: 0 0 20px #00ff00; }
  50%  { transform: scale(0.9) rotate(5deg);  background:#0000ff; box-shadow: 0 0 20px #0000ff; }
  75%  { transform: scale(1.35) rotate(-5deg); background:#ffff00; box-shadow: 0 0 25px #ffff00; }
  100% { transform: scale(1);     background:#ff00ff; box-shadow: 0 0 10px #ff00ff; }
}

.buy-btn:hover {
  filter: brightness(1.2);
}

/* --- Brand panel --- */
.brand-panel {
  position: absolute;
  top: calc(50% + 260px);
  left: 50%;
  transform: translateX(-50%);
  background:#ffffff;
  border:2px solid #000;
  padding: 8px 24px;
  z-index: 450;
}

.brand-text {
  font-family: "Times New Roman", Times, serif;
  font-size: 36px;
  font-weight: 700;
}

/* --- Suitcoin terminal --- */
.terminal {
  position: fixed;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  width: 432px; /* 20% larger */
  max-width: 95vw;
  background: #e0e0e0;
  border: 2px solid #000;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  font-family: "Courier New", monospace;
  z-index: 400;
}

.terminal-header {
  background: #2b2b2b;
  color: #fff;
  padding: 6px 10px;
  font-size: 18px;
  font-weight: 700;
}

.terminal-body {
  padding: 10px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

.article-item {
  display: block;
  background: #ffffff;
  border: 1px solid #000;
  margin-bottom: 10px;
  padding: 8px;
}

.article-big {
  font-size: 18px;
  font-weight: 700;
}

.article-small {
  transition: opacity 0.4s ease;
  font-size: 14px;
}
