
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&family=Press+Start+2P&display=swap');
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
margin:0;
font-family:Inter,sans-serif;
background:#0f1220;
color:#f5f5f7;
overflow-x:hidden;
}
#particles{
position:fixed;inset:0;pointer-events:none;z-index:-1;
background-image:
radial-gradient(#9b7cff 1px, transparent 1px),
radial-gradient(#ff9f43 1px, transparent 1px);
background-size:60px 60px,90px 90px;
animation: drift 25s linear infinite;
opacity:.4;
}
@keyframes drift{
from{transform:translateY(0)}
to{transform:translateY(-200px)}
}
nav{
position:sticky;top:0;z-index:10;
display:flex;justify-content:space-between;
padding:1rem 2rem;background:rgba(10,10,20,.9);
backdrop-filter:blur(10px);
}
.logo{font-family:'Press Start 2P';font-size:12px}
nav a{color:#9b7cff;text-decoration:none;margin-left:20px}
.hero{
min-height:100vh;
display:flex;align-items:center;justify-content:center;
text-align:center;
background:linear-gradient(rgba(15,18,32,.75),rgba(15,18,32,.95));
}
h1,h2{font-family:'Press Start 2P';line-height:1.5}
.btn{
display:inline-block;
padding:14px 24px;
margin:10px;
border-radius:8px;
background:#ff9f43;
color:#111;text-decoration:none;font-weight:bold;
transition:.3s;
}
.btn:hover{transform:translateY(-3px)}
.secondary{background:#9b7cff}
section{max-width:1200px;margin:auto;padding:80px 20px}
.gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
}
.gallery img{
width:100%;
border-radius:12px;
cursor:pointer;
transition:.3s;
border:2px solid transparent;
}
.gallery img:hover{
transform:scale(1.03);
border-color:#9b7cff;
box-shadow:0 0 20px #9b7cff;
}
.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
}
.card{
background:#1a1f36;
padding:30px;
border:2px solid #9b7cff;
border-radius:12px;
text-align:center;
transition:.3s;
}
.card:hover{
transform:translateY(-8px);
box-shadow:0 0 25px #9b7cff;
}
.card span{font-size:2rem;color:#ff9f43}
#lightbox{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,.9);
align-items:center;
justify-content:center;
}
#lightbox img{
max-width:90%;
max-height:90%;
}
.status{color:#7dff95}

.shop-frame {
  border: 4px solid #6c63ff;
  border-radius: 14px;
  overflow: hidden;
  background: #1a1f36;
}

/* HEADER */
.shop-top {
  background: #2a2f5a;
  padding: 14px;
  font-family: 'Press Start 2P';
  font-size: 11px;
  border-bottom: 3px solid #ff9f43;
}

/* GRID 2x2 */
.shop-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

/* EACH BOX */
.shop-box {
  border-right: 2px solid #6c63ff;
  border-bottom: 2px solid #6c63ff;
  display: flex;
  flex-direction: column;
}

.shop-box:nth-child(2n) {
  border-right: none;
}

/* TITLE BAR */
.shop-title {
  background: #ffcf66;
  color: #111;
  padding: 8px;
  font-weight: bold;
  border-bottom: 2px solid #6c63ff;
}

/* CONTENT */
.shop-content {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  padding: 16px;
  gap: 16px;
  align-items: stretch; /* KEY */
}

/* BIG IMAGE */
.shop-art {
  flex: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0f1220;
  border: 2px solid #ff9f43;
}

.shop-art img {
  width: 100%;
  height: auto;
  object-fit: contain;
  image-rendering: pixelated;
}

/* TEXT SIDE */
.shop-text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;   /* TOP ALIGN */
  gap: 8px;
  padding-top: 4px;
}
.shop-text .price {
  margin: 0;
  font-size: 20px;
  height: 28px; /* keeps consistent vertical spacing */
}
.shop-text p {
  margin: 0;
  line-height: 1.4;
  min-height: 40px; /* forces equal text blocks */
}

.shop-art {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0f1220;
  border: 2px solid #ff9f43;
  min-height: 260px; /* locks layout */
}

.price {
  color: #ff9f43;
  font-size: 20px;
  margin: 5px 0;
}

/* FOOTER */
.shop-bottom {
  background: #0f1220;
  padding: 14px;
  border-top: 3px solid #6c63ff;
  font-family: monospace;
}

.status {
  color: #7dff95;
}

/* MOBILE */
@media (max-width: 800px) {
  .shop-grid {
    grid-template-columns: 1fr;
  }

  .shop-box {
    border-right: none;
  }
}

.status {
  color: #7dff95;
}

.dialog-box {
  background: #0f1220;
  border: 3px solid #9b7cff;
  padding: 20px;
  max-width: 800px;
  margin: auto;
  font-family: monospace;
  position: relative;
}

.dialog-box::after {
  content: "▶";
  position: absolute;
  bottom: 10px;
  right: 15px;
  animation: blink 1s infinite;
}

@keyframes blink {
  50% { opacity: 0; }
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 20px;
  margin-top: 20px;
}

.contact-card {
  display: flex;
  align-items: center;
  gap: 15px;
  background: #12162a;
  border: 2px solid #9b7cff;
  padding: 18px;
  cursor: pointer;
  transition: .25s;
}

.contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 20px #9b7cff;
}

.contact-card img {
  width: 32px;
  height: 32px;
  filter: brightness(1.2);
}

.contact-card p {
  margin: 0;
  font-weight: bold;
}

.contact-card span {
  font-size: 13px;
  color: #bbb;
}

#copy-msg {
  margin-top: 15px;
  color: #7dff95;
}
.container {
  max-width: 1200px;
  margin: auto;
  padding: 0 20px;
}

#about {
  display: flex;
  justify-content: center;
}

.about-box {
  background: #12162a;
  border: 2px solid #9b7cff;
  padding: 40px;
  margin-top: 30px;

  max-width: 700px;
  width: 100%;

  text-align: center;   /* center text */
  margin-left: auto;
  margin-right: auto;
}
#about h2 {
  text-align: center;
}

.contact-card img {
  width: 32px;
  height: 32px;
  filter: invert(73%) sepia(25%) saturate(500%) hue-rotate(220deg);
}