:root {
  --color-primary: #e60012;
  --color-signal: #f68d1f;
  --color-amber: #ecab37;
  --color-nav-gold: #e48600;
  --color-canvas: #7a8aba;
  --color-canvas-soft: #9fbee7;
  --color-lavender: #acace7;
  --color-periwinkle: #8ba1d4;
  --color-chrome-indigo: #3d4f97;
  --color-muted-indigo: #60619c;
  --color-platinum: #dedede;
  --color-surface: #ffffff;
  --color-carbon: #21242e;
  --color-hairline: #5a5f8c;
  --color-ink: #21242e;
  --color-ink-soft: #3d4f97;
  --color-on-primary: #ffffff;
  --color-systems-teal: #206479;
  --color-games-red: #a7282b;

  --rounded-none: 0px;
  --rounded-xs: 2px;
  --rounded-sm: 4px;
  --rounded-md: 6px;
  --rounded-lg: 10px;
  --rounded-full: 9999px;

  --font-display: "Arial Black", Arial, system-ui, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-body: Arial, Helvetica, system-ui, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { background: #4a5a8a; }
body {
  margin: 12px auto 32px;
  max-width: 980px;
  font-family: var(--font-body);
  color: var(--color-ink);
  background: var(--color-canvas);
  line-height: 1.4;
  font-size: 12px;
  border: 2px solid var(--color-chrome-indigo);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.4), 6px 8px 0 rgba(33,36,46,.3);
}
a { color: var(--color-ink-soft); font-weight: 700; text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { max-width: 940px; margin: 0 auto; padding: 0 12px; }

.header {
  background: var(--color-carbon);
  background-image: radial-gradient(rgba(255,255,255,.14) 0.7px, transparent 0.8px);
  background-size: 3px 3px;
  padding: 8px 0;
}
.header-inner { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.logo {
  background: #fff;
  color: var(--color-primary);
  font-family: var(--font-display);
  font-size: 14px;
  padding: 2px 14px;
  border-radius: 9999px;
  border: 2px solid var(--color-primary);
  text-transform: uppercase;
}
.logo:hover { text-decoration: none; color: var(--color-primary); }
.search { flex: 1; min-width: 180px; display: flex; gap: 4px; }
.search input {
  flex: 1;
  padding: 2px 6px;
  border: 1px solid var(--color-hairline);
  font: inherit;
  height: 22px;
  border-radius: 2px;
}
.search button {
  padding: 4px 10px;
  border: 0;
  background: var(--color-amber);
  color: var(--color-carbon);
  font: 700 11px var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  cursor: pointer;
  border-radius: 2px;
  box-shadow: inset 1px 1px 0 #fff2b0, 1px 1px 0 #b07a12;
}
.links { display: flex; gap: 10px; font-size: 11px; }
.links a { color: var(--color-nav-gold); text-transform: uppercase; letter-spacing: 0.4px; }

.nav {
  background: var(--color-canvas-soft);
  border-bottom: 2px solid var(--color-chrome-indigo);
}
.nav-inner { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 4px 12px; }
.nav a {
  color: var(--color-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.nav a.on { color: var(--color-primary); }

.hero { padding: 10px 0; }
.ph {
  background: repeating-linear-gradient(90deg, #5a6a9a 0 2px, #3d4f97 2px 4px), #206479;
  color: #c0d5e6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  border: 2px solid var(--color-chrome-indigo);
  border-radius: 4px;
}
.banner {
  height: 140px;
  background: linear-gradient(135deg, var(--color-lavender), var(--color-games-red));
  color: #fff;
  font-family: var(--font-display);
  font-size: 28px;
  text-transform: uppercase;
  text-shadow: 3px 3px 0 #21242e;
  -webkit-text-stroke: 1px #21242e;
}

.section { padding: 12px 0; }
.section h2 {
  font-size: 11px;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: linear-gradient(180deg, #9bb0d8, var(--color-canvas));
  border: 1px solid var(--color-chrome-indigo);
  padding: 6px 8px;
}

.cats { display: flex; flex-wrap: wrap; gap: 6px; }
.cats a {
  background: var(--color-amber);
  color: var(--color-carbon);
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  border-radius: 2px;
  box-shadow: inset 1px 1px 0 #fff2b0, 1px 1px 0 #b07a12;
}
.cats a:hover { text-decoration: none; }

.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.item {
  background: #fff;
  border: 1px solid var(--color-chrome-indigo);
  padding: 6px;
  color: var(--color-ink);
  border-radius: 4px;
  box-shadow: 1px 1px 0 var(--color-chrome-indigo);
}
.item:hover { text-decoration: none; }
.item .ph { height: 90px; margin-bottom: 6px; }
.item h3 { margin: 0 0 4px; font-size: 12px; text-transform: uppercase; }
.price { color: var(--color-primary); font-weight: 700; }
.sub { color: var(--color-muted-indigo); font-size: 10px; }

.layout { display: grid; grid-template-columns: 180px 1fr; gap: 12px; padding: 12px 0; }
.side a {
  display: block;
  padding: 8px;
  color: var(--color-nav-gold);
  background: var(--color-carbon);
  margin-bottom: 4px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  background-image: radial-gradient(rgba(255,255,255,.1) 0.7px, transparent 0.8px);
  background-size: 3px 3px;
}
.side a.on { color: #fff; outline: 2px solid var(--color-amber); }

.detail { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 12px 0; }
.detail .ph { height: 240px; }
.detail h1 {
  font-family: var(--font-display);
  font-size: 22px;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.sku { color: var(--color-ink-soft); font-size: 11px; margin-bottom: 8px; }
.spec { list-style: none; margin: 0 0 12px; padding: 0; }
.spec li { padding: 6px 8px; background: var(--color-platinum); margin-bottom: 4px; border-radius: 4px; }

.btn {
  display: inline-block;
  padding: 8px 14px;
  border: 0;
  background: var(--color-signal);
  color: #fff;
  font: 700 11px var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  cursor: pointer;
  margin-right: 6px;
  border-radius: 2px;
  box-shadow: inset 1px 1px 0 #ffd08a, 1px 1px 0 #b85a00;
}
.btn:hover { text-decoration: none; color: #fff; }
.btn-line {
  background: var(--color-amber);
  color: var(--color-carbon);
  box-shadow: inset 1px 1px 0 #fff2b0, 1px 1px 0 #b07a12;
}
.btn-line:hover { color: var(--color-carbon); }

table { width: 100%; border-collapse: collapse; font-size: 12px; background: var(--color-platinum); }
th, td { border-bottom: 1px dotted var(--color-muted-indigo); padding: 8px; text-align: left; }
.qty { width: 48px; padding: 2px; }

.user-list { list-style: none; margin: 0; padding: 0; }
.user-list li {
  background: #fff;
  border: 1px solid var(--color-chrome-indigo);
  padding: 8px;
  margin-bottom: 6px;
  border-radius: 4px;
}

.footer {
  background: var(--color-carbon);
  background-image: radial-gradient(rgba(255,255,255,.12) 0.7px, transparent 0.8px);
  background-size: 3px 3px;
  padding: 16px 12px;
  color: var(--color-canvas-soft);
  font-size: 10px;
}
.footer p { margin: 0 0 4px; }

@media (max-width: 800px) {
  body { margin: 0; max-width: none; }
  .products { grid-template-columns: repeat(2, 1fr); }
  .layout, .detail { grid-template-columns: 1fr; }
}

.ph { overflow: hidden; }
.ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
