/* === [ MINISWEEPER GAME RETRO OS ] === */

.minesweeper-body {
  padding: 16px;
  background-color: var(--win-gray);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: hidden;
}

/* minisweeper board frame container double ridge */
.minesweeper-wrapper {
  padding: 8px;
  background-color: var(--win-gray);
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  border-top: 1px solid var(--win-white);
  border-left: 1px solid var(--win-white);
  border-right: 1px solid var(--win-frame);
  border-bottom: 1px solid var(--win-frame);
  box-shadow: inset 1px 1px 0px var(--win-gray-light),
              inset -1px -1px 0px var(--win-gray-dark);
}

/* top status bar counters dan smiley button */
.minesweeper-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 6px;
  background-color: var(--win-gray);
  border-top: 1px solid var(--win-gray-dark);
  border-left: 1px solid var(--win-gray-dark);
  border-right: 1px solid var(--win-white);
  border-bottom: 1px solid var(--win-white);
  box-shadow: inset 1px 1px 0px var(--win-frame),
              inset -1px -1px 0px var(--win-gray-light);
}

.seven-segment {
  background-color: #000000;
  color: #ff0000;
  font-family: var(--font-mono);
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 2px;
  padding: 2px 6px;
  min-width: 48px;
  text-align: center;
  border-top: 1px solid var(--win-gray-dark);
  border-left: 1px solid var(--win-gray-dark);
  border-right: 1px solid var(--win-white);
  border-bottom: 1px solid var(--win-white);
  user-select: none;
}

.smiley-btn {
  width: 26px;
  height: 26px;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--win-gray);
  cursor: pointer;
  padding: 0;
  border-top: 1px solid var(--win-white);
  border-left: 1px solid var(--win-white);
  border-right: 1px solid var(--win-frame);
  border-bottom: 1px solid var(--win-frame);
  box-shadow: inset 1px 1px 0px var(--win-gray-light),
              inset -1px -1px 0px var(--win-gray-dark);
}

.smiley-btn:active {
  border-top: 1px solid var(--win-frame);
  border-left: 1px solid var(--win-frame);
  border-right: 1px solid var(--win-white);
  border-bottom: 1px solid var(--win-white);
  box-shadow: inset 1px 1px 0px var(--win-gray-dark),
              inset -1px -1px 0px var(--win-gray-light);
  padding: 1px 0 0 1px;
}

/* eight by eight cell board grid */
.minesweeper-grid {
  display: grid;
  grid-template-columns: repeat(8, 24px);
  grid-template-rows: repeat(8, 24px);
  gap: 0;
  background-color: var(--win-gray-dark);
  padding: 3px;
  border-top: 1px solid var(--win-gray-dark);
  border-left: 1px solid var(--win-gray-dark);
  border-right: 1px solid var(--win-white);
  border-bottom: 1px solid var(--win-white);
  box-shadow: inset 1px 1px 0px var(--win-frame),
              inset -1px -1px 0px var(--win-gray-light);
}

/* individual game cell button */
.ms-cell {
  width: 24px;
  height: 24px;
  background-color: var(--win-gray);
  border-top: 1px solid var(--win-white);
  border-left: 1px solid var(--win-white);
  border-right: 1px solid var(--win-frame);
  border-bottom: 1px solid var(--win-frame);
  box-shadow: inset 1px 1px 0px var(--win-gray-light),
              inset -1px -1px 0px var(--win-gray-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-title);
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  user-select: none;
}

.ms-cell:active {
  border-top: 1px solid var(--win-frame);
  border-left: 1px solid var(--win-frame);
  border-right: 1px solid var(--win-white);
  border-bottom: 1px solid var(--win-white);
  box-shadow: inset 1px 1px 0px var(--win-gray-dark),
              inset -1px -1px 0px var(--win-gray-light);
}

.ms-cell.revealed {
  border: 1px solid var(--win-gray-dark);
  box-shadow: none;
  background-color: var(--win-gray);
  cursor: default;
}

/* classic number color coding */
.ms-cell.val-1 { color: #0000ff; }
.ms-cell.val-2 { color: #008000; }
.ms-cell.val-3 { color: #ff0000; }
.ms-cell.val-4 { color: #000080; }
.ms-cell.val-5 { color: #800000; }
.ms-cell.val-6 { color: #008080; }
.ms-cell.val-7 { color: #000000; }
.ms-cell.val-8 { color: #808080; }
.ms-cell.mine { background-color: #ff4444; }
