{"product_id":"ancient-chinese-theme-keycap-set","title":"Ancient Chinese Theme Artisan Keycap Set","description":"\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Nunito:wght@400;700;800;900\u0026family=Inter:wght@400;500;600;700\u0026display=swap');\n.qm {\n  --qm-purple:      #4A0E6B;\n  --qm-purple-deep: #2D0A3A;\n  --qm-purple-soft: #8A3DAF;\n  --qm-purple-glow: rgba(74,14,107,0.55);\n  --qm-gold:        #D4AF37;\n  --qm-gold-soft:   #F0D07A;\n  --qm-gold-deep:   #9A7C10;\n  --qm-crimson:     #8B1A1A;\n  --qm-crimson-soft:#C44040;\n  --qm-ink:         #0A0A0F;\n  --qm-ink-2:       #140820;\n  --qm-parch:       #F5F0E8;\n  --qm-parch-2:     #EDE8DC;\n  --qm-parch-3:     #F9F6F0;\n  --qm-text:        #2A1500;\n  --qm-muted:       #5A3E2B;\n  --qm-line:        rgba(212,175,55,0.22);\n  --qm-line-soft:   rgba(212,175,55,0.12);\n  --qm-shadow:      0 20px 52px -20px rgba(10,8,15,0.60);\n  --qm-shadow-sm:   0 10px 26px -12px rgba(10,8,15,0.38);\n  --qm-glow:        0 0 28px rgba(212,175,55,0.40);\n  --qm-glow-p:      0 0 26px rgba(74,14,107,0.50);\n  --qm-display:     'Nunito','Trebuchet MS',Arial,sans-serif;\n  --qm-body:        'Inter',system-ui,-apple-system,sans-serif;\n  --qm-radius:      16px;\n  --qm-radius-lg:   22px;\n  --qm-maxw:        1280px;\n  --qm-gap:         clamp(14px,2.2vw,22px);\n  --qm-section:     clamp(44px,7vw,80px);\n  font-family: var(--qm-body);\n  color: var(--qm-text);\n  line-height: 1.7;\n  font-size: 18px;\n  max-width: var(--qm-maxw);\n  margin: 0 auto;\n  padding: 0 4px;\n  text-align: center;\n  -webkit-font-smoothing: antialiased;\n  box-sizing: border-box;\n}\n.qm *, .qm *::before, .qm *::after { box-sizing: border-box; }\n.qm p  { margin: 0 0 1em; font-size: clamp(15px,1.6vw,17.5px); }\n.qm p:last-child { margin-bottom: 0; }\n.qm strong { font-weight: 800; }\n.qm h1,.qm h2,.qm h3,.qm h4 { margin: 0; line-height: 1.15; }\n\/* PAGE FRAME *\/\n.qm__sheet {\n  position: relative;\n  background: radial-gradient(110% 60% at 50% -8%,rgba(74,14,107,0.08),transparent 50%),\n              linear-gradient(180deg,#F9F6F0 0%,#EDE8DC 55%,#E5DDD0 100%);\n  border: 2px solid rgba(212,175,55,0.20);\n  border-radius: var(--qm-radius-lg);\n  overflow: hidden;\n  box-shadow: var(--qm-shadow);\n}\n.qm__inner { position: relative; z-index: 1; padding: clamp(22px,5vw,56px); }\n\/* HERO *\/\n.qm__hero {\n  position: relative; text-align: center;\n  padding: clamp(28px,5.5vw,58px) clamp(10px,3vw,36px) clamp(32px,5.5vw,60px);\n  border-radius: var(--qm-radius);\n  background: radial-gradient(70% 90% at 50% 0%,rgba(74,14,107,0.45),transparent 55%),\n              linear-gradient(160deg,#0A0A0F 0%,#140820 60%,#0A0A0F 100%);\n  color: var(--qm-parch); overflow: hidden;\n  border: 2px solid rgba(212,175,55,0.35);\n  box-shadow: inset 0 0 60px rgba(0,0,0,0.60), var(--qm-shadow);\n}\n.qm__ambience {\n  position: absolute; inset: 0; pointer-events: none;\n  background-image:\n    radial-gradient(1.6px 1.6px at 12% 16%,rgba(212,175,55,0.75),transparent),\n    radial-gradient(1.3px 1.3px at 82% 12%,rgba(212,175,55,0.60),transparent),\n    radial-gradient(1.5px 1.5px at 34% 72%,rgba(138,61,175,0.70),transparent),\n    radial-gradient(1.2px 1.2px at 68% 54%,rgba(212,175,55,0.55),transparent),\n    radial-gradient(1.4px 1.4px at 86% 80%,rgba(138,61,175,0.60),transparent),\n    radial-gradient(1.3px 1.3px at 22% 86%,rgba(212,175,55,0.50),transparent);\n  animation: qm-drift 7s ease-in-out infinite alternate;\n}\n@keyframes qm-drift {\n  0%   { opacity:0.5; transform:translateY(0); }\n  100% { opacity:1;   transform:translateY(-6px); }\n}\n.qm__eyebrow {\n  position: relative; z-index: 2;\n  display: inline-flex; align-items: center; gap: 10px;\n  font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase;\n  font-size: clamp(10px,1.4vw,12px); color: var(--qm-gold-soft);\n  padding: 9px 18px; border: 1px solid rgba(212,175,55,0.45); border-radius: 999px;\n  background: rgba(212,175,55,0.10); margin-bottom: 8px;\n  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;\n}\n.qm__eyebrow:hover { transform: translateY(-2px) scale(1.03); background:rgba(212,175,55,0.20); box-shadow:var(--qm-glow); }\n.qm__title {\n  position: relative; z-index: 2;\n  font-family: var(--qm-display); font-weight: 900; line-height: 1.05;\n  margin: clamp(30px,4.5vw,48px) 0 0;\n  font-size: clamp(28px,5.5vw,58px); color: var(--qm-parch);\n  text-shadow: 0 3px 0 rgba(0,0,0,0.50), 0 0 32px rgba(74,14,107,0.40);\n}\n.qm__title .qm__accent {\n  background: linear-gradient(180deg,#F0D07A 0%,#D4AF37 50%,#9A7C10 100%);\n  -webkit-background-clip: text; background-clip: text;\n  -webkit-text-fill-color: transparent; color: transparent;\n}\n.qm__title .qm__purple {\n  background: linear-gradient(180deg,#D4A8F0 0%,#8A3DAF 50%,#4A0E6B 100%);\n  -webkit-background-clip: text; background-clip: text;\n  -webkit-text-fill-color: transparent; color: transparent;\n}\n.qm__subtitle {\n  position: relative; z-index: 2; font-style: italic;\n  font-size: clamp(15px,2vw,20px); color: rgba(245,240,232,0.86);\n  max-width: 1200px; margin: clamp(16px,3vw,24px) auto 0;\n}\n.qm__hero-rule {\n  position: relative; z-index: 2;\n  display: flex; align-items: center; justify-content: center; gap: 14px;\n  margin: clamp(22px,4vw,30px) auto 0; max-width: 1200px;\n}\n.qm__hero-rule::before,.qm__hero-rule::after {\n  content: \"\"; height: 1px; flex: 1;\n  background: linear-gradient(90deg,transparent,rgba(212,175,55,0.75),transparent);\n}\n.qm__hero-rule span { font-size: 16px; letter-spacing: 0.15em; }\n.qm__badges {\n  position: relative; z-index: 2;\n  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;\n  margin-top: clamp(22px,4vw,30px);\n}\n.qm__badge {\n  display: inline-flex; align-items: center; gap: 8px;\n  font-size: clamp(11px,1.4vw,13px); font-weight: 700; color: var(--qm-parch);\n  padding: 10px 16px; border-radius: 999px;\n  border: 1px solid rgba(212,175,55,0.36); background: rgba(245,240,232,0.06);\n  transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;\n}\n.qm__badge:hover { transform: translateY(-3px); background:rgba(212,175,55,0.15); border-color:var(--qm-gold); box-shadow:var(--qm-glow); }\n\/* SECTION *\/\n.qm__section { margin-top: var(--qm-section); }\n.qm__head { text-align: center; margin-bottom: clamp(28px,4vw,44px); }\n.qm__kicker {\n  display: flex; align-items: center; justify-content: center; gap: 12px;\n  font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase;\n  font-size: clamp(10px,1.4vw,12px); color: var(--qm-purple); margin-bottom: 12px;\n}\n.qm__kicker::before,.qm__kicker::after { content: \"✦\"; color: var(--qm-gold); font-size: 10px; }\n.qm__h2 {\n  font-family: var(--qm-display); font-weight: 900; text-align: center;\n  font-size: clamp(25px,4.4vw,42px); line-height: 1.1; margin: 0 auto 12px;\n  color: var(--qm-text); max-width: 1200px;\n}\n.qm__lead { text-align: center; max-width: 1200px; margin: 0 auto; color: var(--qm-muted); font-size: clamp(15px,1.7vw,18px); }\n.qm__divider {\n  display: flex; align-items: center; justify-content: center; gap: 16px;\n  margin: clamp(16px,3vw,22px) auto 0; max-width: 1200px;\n}\n.qm__divider::before,.qm__divider::after {\n  content: \"\"; height: 1px; flex: 1;\n  background: linear-gradient(90deg,transparent,var(--qm-gold),transparent);\n}\n.qm__divider-dot {\n  width: 8px; height: 8px; border-radius: 50%; background: var(--qm-gold);\n  box-shadow: 0 0 0 4px rgba(212,175,55,0.20);\n}\n.qm__prose { max-width: 1200px; margin: 0 auto; text-align: center; }\n.qm__prose p { color: var(--qm-text); }\n\/* MEDIA *\/\n.qm__media-full {\n  width: 100%; border-radius: var(--qm-radius); overflow: hidden;\n  border: 2px solid rgba(212,175,55,0.20); box-shadow: var(--qm-shadow-sm);\n  line-height: 0; background: var(--qm-parch-3);\n  transition: transform 0.4s ease, box-shadow 0.4s ease;\n}\n.qm__media-full:hover { transform: translateY(-4px); box-shadow: var(--qm-shadow); }\n.qm__media-full img { width: 100%; display: block; height: auto; }\n\/* CINEMATIC *\/\n.qm__media-cinematic {\n  width: 100%; overflow: hidden; border-radius: var(--qm-radius);\n  border: 2px solid rgba(212,175,55,0.20); box-shadow: var(--qm-shadow-sm); line-height: 0;\n  background: var(--qm-parch-3);\n  transition: transform 0.4s ease, box-shadow 0.4s ease;\n}\n.qm__media-cinematic:hover { transform: translateY(-4px); box-shadow: var(--qm-shadow); }\n.qm__media-cinematic img { width: 100%; height: clamp(220px,32vw,440px); object-fit: cover; object-position: center; display: block; }\n\/* GRID *\/\n.qm__grid2 { display: grid; grid-template-columns: repeat(2,1fr); gap: clamp(12px,1.8vw,18px); }\n.qm__grid3 { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(12px,1.8vw,18px); }\n.qm__grid-img {\n  position: relative; overflow: hidden; border-radius: var(--qm-radius);\n  border: 2px solid rgba(212,175,55,0.18); line-height: 0;\n  background: var(--qm-parch-3); box-shadow: var(--qm-shadow-sm);\n  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;\n}\n.qm__grid-img:hover { transform: translateY(-5px); box-shadow: var(--qm-shadow); border-color: rgba(212,175,55,0.50); }\n.qm__grid-img img { width: 100%; height: auto; display: block; transition: transform 0.6s ease; }\n.qm__grid-img:hover img { transform: scale(1.04); }\n\/* FEATURES *\/\n.qm__features { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--qm-gap); }\n.qm__feature {\n  position: relative; text-align: center; background: var(--qm-parch-3);\n  border: 2px solid rgba(212,175,55,0.16); border-radius: var(--qm-radius);\n  padding: clamp(20px,3vw,28px); overflow: hidden;\n  flex: 1 1 240px; max-width: 340px;\n  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;\n}\n.qm__feature::after {\n  content: \"\"; position: absolute; top: 0; left: 0; right: 0; height: 3px;\n  background: linear-gradient(90deg,var(--qm-purple-deep),var(--qm-purple-soft),var(--qm-gold));\n  opacity: 0; transition: opacity 0.35s ease;\n}\n.qm__feature:hover { transform: translateY(-6px); box-shadow: var(--qm-shadow-sm); border-color: rgba(212,175,55,0.45); }\n.qm__feature:hover::after { opacity: 1; }\n.qm__feature-icon {\n  display: flex; align-items: center; justify-content: center;\n  width: 52px; height: 52px; border-radius: 14px; font-size: 24px; margin: 0 auto 14px;\n  background: linear-gradient(145deg,#0A0A0F,#140820);\n  border: 2px solid rgba(212,175,55,0.40);\n  box-shadow: inset 0 0 14px rgba(74,14,107,0.20);\n  transition: transform 0.4s ease, box-shadow 0.4s ease;\n}\n.qm__feature:hover .qm__feature-icon { transform: rotate(-6deg) scale(1.10); box-shadow: inset 0 0 14px rgba(74,14,107,0.30), var(--qm-glow-p); }\n.qm__feature h3 { font-family: var(--qm-display); font-weight: 800; font-size: clamp(16px,2vw,19px); margin: 0 0 8px; color: var(--qm-text); }\n.qm__feature p  { margin: 0; font-size: clamp(14px,1.5vw,15.5px); color: var(--qm-muted); line-height: 1.65; }\n\/* SPOTLIGHT *\/\n.qm__spotlight {\n  position: relative; text-align: center; border-radius: var(--qm-radius-lg); overflow: hidden;\n  padding: clamp(30px,5vw,58px);\n  background: radial-gradient(70% 110% at 50% 0%,rgba(74,14,107,0.38),transparent 52%),\n              linear-gradient(155deg,#0A0A0F,#140820);\n  color: var(--qm-parch); border: 2px solid rgba(212,175,55,0.32); box-shadow: var(--qm-shadow);\n}\n.qm__spotlight .qm__kicker { color: var(--qm-gold-soft); }\n.qm__spotlight .qm__kicker::before,.qm__spotlight .qm__kicker::after { color: var(--qm-gold-soft); }\n.qm__spotlight h2 {\n  font-family: var(--qm-display); font-weight: 900; font-size: clamp(24px,4vw,40px);\n  margin: 0 auto 14px; color: var(--qm-parch); max-width: 1200px;\n}\n.qm__spotlight \u003e p { max-width: 1200px; color: rgba(245,240,232,0.85); margin: 0 auto; font-size: clamp(15px,1.7vw,17.5px); }\n.qm__spec-grid {\n  display: grid; grid-template-columns: repeat(auto-fit,minmax(185px,1fr));\n  gap: 14px; margin-top: clamp(26px,3.5vw,36px);\n}\n.qm__spec {\n  border: 1px solid rgba(212,175,55,0.28); border-radius: 12px; padding: 18px 16px 16px;\n  background: rgba(245,240,232,0.04);\n  transition: background 0.3s ease, transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;\n}\n.qm__spec:hover { background:rgba(212,175,55,0.12); transform:translateY(-4px); border-color:var(--qm-gold); box-shadow:var(--qm-glow); }\n.qm__spec-k { font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; font-size: 10.5px; color: var(--qm-gold-soft); margin-bottom: 6px; }\n.qm__spec-v { font-size: clamp(15px,1.8vw,18px); color: var(--qm-parch); font-weight: 700; font-family: var(--qm-display); }\n\/* TRUST *\/\n.qm__trust { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 14px; margin-top: clamp(22px,3vw,30px); }\n.qm__trust-item {\n  display: flex; align-items: center; gap: 12px; padding: 16px 18px;\n  background: var(--qm-parch-3); border: 2px solid rgba(212,175,55,0.16); border-radius: var(--qm-radius); text-align: left;\n  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;\n}\n.qm__trust-item:hover { transform: translateY(-4px); box-shadow: var(--qm-shadow-sm); border-color: rgba(212,175,55,0.50); }\n.qm__trust-ic { width: 42px; height: 42px; flex: none; border-radius: 12px; display: grid; place-items: center; font-size: 19px; background: linear-gradient(135deg,rgba(212,175,55,0.10),rgba(74,14,107,0.08)); border: 1px solid rgba(212,175,55,0.20); }\n.qm__trust-t { font-weight: 800; font-size: 14px; color: var(--qm-text); }\n.qm__trust-s { font-size: 12.5px; color: var(--qm-muted); }\n\/* TABLE *\/\n.qm__table-wrap {\n  max-width: 1200px; margin: 0 auto;\n  border: 2px solid rgba(212,175,55,0.20); border-radius: var(--qm-radius); overflow: hidden;\n  background: var(--qm-parch-3);\n}\n.qm__table { width: 100%; border-collapse: collapse; text-align: left; font-size: clamp(14px,1.7vw,16.5px); }\n.qm__table tr + tr { border-top: 1px solid var(--qm-line-soft); }\n.qm__table tr:hover { background: rgba(212,175,55,0.05); }\n.qm__table th, .qm__table td { padding: 15px 22px; vertical-align: top; }\n.qm__table th { width: 38%; font-family: var(--qm-display); font-weight: 800; font-size: 0.83em; letter-spacing: 0.04em; text-transform: uppercase; color: var(--qm-purple); background: rgba(212,175,55,0.06); }\n.qm__table td { color: var(--qm-text); font-weight: 600; }\n\/* ALERT *\/\n.qm__alert {\n  max-width: 1200px; margin: clamp(18px,3vw,26px) auto 0;\n  display: flex; align-items: flex-start; gap: 14px; text-align: left;\n  padding: 18px 22px; border-radius: var(--qm-radius);\n  border: 2px solid rgba(196,43,43,0.30); background: rgba(196,43,43,0.06);\n  color: #7a1818; font-size: 15px; font-weight: 600;\n}\n.qm__alert-ic { font-size: 20px; flex: none; }\n\/* COLOUR STORY *\/\n.qm__colour-story {\n  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px,3vw,32px);\n  align-items: center; margin-top: clamp(28px,4vw,40px);\n}\n.qm__colour-bar {\n  border-radius: var(--qm-radius); overflow: hidden;\n  border: 2px solid rgba(212,175,55,0.22); box-shadow: var(--qm-shadow-sm);\n}\n.qm__colour-swatch {\n  height: clamp(120px,18vw,200px);\n  background: linear-gradient(135deg, #4A0E6B 0%, #2D0A3A 40%, #140820 70%, #0A0A0F 100%);\n  display: flex; align-items: flex-end; padding: 18px 22px;\n}\n.qm__colour-label {\n  font-family: var(--qm-display); font-weight: 800; color: var(--qm-gold-soft);\n  font-size: clamp(13px,2vw,18px); letter-spacing: 0.08em; text-transform: uppercase;\n  text-shadow: 0 2px 12px rgba(0,0,0,0.80);\n}\n.qm__colour-steps {\n  display: flex; border-top: 1px solid rgba(212,175,55,0.18);\n}\n.qm__colour-step {\n  flex: 1; padding: 10px 8px; font-size: 11px; font-weight: 700;\n  letter-spacing: 0.12em; text-transform: uppercase;\n  display: flex; flex-direction: column; gap: 4px; align-items: center;\n  background: var(--qm-parch-3);\n}\n.qm__colour-dot {\n  width: 20px; height: 20px; border-radius: 50%;\n  border: 1px solid rgba(0,0,0,0.10);\n}\n.qm__colour-step span { font-size: 10px; color: var(--qm-muted); }\n.qm__colour-text { text-align: left; }\n.qm__colour-text h3 { font-family: var(--qm-display); font-weight: 900; font-size: clamp(20px,3vw,28px); margin: 0 0 14px; color: var(--qm-text); }\n.qm__colour-text p  { font-size: clamp(14px,1.6vw,16px); color: var(--qm-muted); margin: 0 0 12px; }\n\/* COMPAT GRID *\/\n.qm__compat { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 12px; margin-top: clamp(22px,3vw,32px); }\n.qm__compat-item {\n  border: 2px solid rgba(212,175,55,0.18); border-radius: 12px; padding: 16px 12px;\n  background: var(--qm-parch-3); text-align: center;\n  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;\n}\n.qm__compat-item:hover { transform: translateY(-4px); border-color: rgba(212,175,55,0.50); box-shadow: var(--qm-shadow-sm); }\n.qm__compat-icon { font-size: 26px; margin-bottom: 8px; display: block; }\n.qm__compat-name { font-family: var(--qm-display); font-weight: 800; font-size: 14px; color: var(--qm-text); margin-bottom: 3px; }\n.qm__compat-note { font-size: 11.5px; color: var(--qm-muted); }\n\/* WHATS IN BOX *\/\n.qm__box-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 14px; margin-top: clamp(22px,3vw,32px); }\n.qm__box-item {\n  background: var(--qm-parch-3); border: 2px solid rgba(212,175,55,0.16);\n  border-radius: var(--qm-radius); padding: 22px 16px; text-align: center;\n  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;\n}\n.qm__box-item:hover { transform: translateY(-5px); box-shadow: var(--qm-shadow-sm); border-color: rgba(212,175,55,0.45); }\n.qm__box-icon { font-size: 32px; display: block; margin-bottom: 10px; }\n.qm__box-qty { font-family: var(--qm-display); font-weight: 900; font-size: clamp(18px,2.5vw,24px); color: var(--qm-purple); line-height: 1; margin-bottom: 4px; }\n.qm__box-name { font-weight: 700; font-size: clamp(13px,1.5vw,15px); color: var(--qm-text); margin-bottom: 3px; }\n.qm__box-sub { font-size: 12px; color: var(--qm-muted); }\n\/* DARK PANEL PROSE *\/\n.qm__dark-prose {\n  border-radius: var(--qm-radius); padding: clamp(24px,4vw,40px);\n  background: linear-gradient(145deg,#0A0A0F,#140820);\n  border: 2px solid rgba(212,175,55,0.28); box-shadow: var(--qm-shadow);\n  max-width: 1200px; margin: 0 auto; text-align: left;\n}\n.qm__dark-prose p { color: rgba(245,240,232,0.84); font-size: clamp(14.5px,1.6vw,16.5px); margin-bottom: 1.1em; }\n.qm__dark-prose p:last-child { margin-bottom: 0; }\n.qm__dark-prose strong { color: var(--qm-gold-soft); }\n\/* TWO-COL LAYOUT *\/\n.qm__two-col {\n  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px,3vw,32px);\n  align-items: start; margin-top: clamp(24px,3.5vw,36px);\n}\n\/* STAT ROW *\/\n.qm__stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: clamp(22px,3vw,30px); }\n.qm__stat {\n  background: linear-gradient(145deg,#0A0A0F,#140820); border: 2px solid rgba(212,175,55,0.30);\n  border-radius: var(--qm-radius); padding: 20px 14px; text-align: center;\n  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;\n}\n.qm__stat:hover { transform: translateY(-4px); border-color: var(--qm-gold); box-shadow: var(--qm-glow); }\n.qm__stat-num { font-family: var(--qm-display); font-weight: 900; font-size: clamp(26px,4vw,40px); color: var(--qm-gold); line-height: 1; }\n.qm__stat-unit { font-size: 13px; color: rgba(212,175,55,0.65); font-weight: 700; display: block; margin-top: 2px; }\n.qm__stat-label { font-size: clamp(11px,1.3vw,13px); color: rgba(245,240,232,0.70); margin-top: 6px; font-weight: 600; letter-spacing: 0.04em; }\n\/* FAQ *\/\n.qm__faq { max-width: 1200px; margin: 0 auto; text-align: left; }\n.qm__faq-item { border: 2px solid rgba(212,175,55,0.16); border-radius: 12px; background: var(--qm-parch-3); margin-bottom: 12px; overflow: hidden; transition: border-color 0.3s ease, box-shadow 0.3s ease; }\n.qm__faq-item:hover { border-color: rgba(212,175,55,0.45); box-shadow: var(--qm-shadow-sm); }\n.qm__faq-item.qm--open { border-color: rgba(212,175,55,0.55); box-shadow: var(--qm-shadow-sm); }\n.qm__faq-q { cursor: pointer; padding: 18px 22px; font-family: var(--qm-display); font-weight: 800; font-size: clamp(15px,1.8vw,17px); color: var(--qm-text); display: flex; align-items: center; justify-content: space-between; gap: 14px; user-select: none; transition: color 0.25s ease; }\n.qm__faq-q:hover { color: var(--qm-purple); }\n.qm__faq-icon { font-weight: 900; font-size: 22px; color: var(--qm-gold); flex: none; line-height: 1; transition: transform 0.45s cubic-bezier(.4,0,.2,1); display: inline-block; }\n.qm__faq-item.qm--open .qm__faq-icon { transform: rotate(45deg); }\n.qm__faq-panel { max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.5s cubic-bezier(.4,0,.2,1), opacity 0.38s ease; }\n.qm__faq-body { padding: 2px 22px 20px; color: var(--qm-muted); font-size: 15.5px; line-height: 1.7; }\n\/* CTA *\/\n.qm__cta {\n  position: relative; text-align: center; border-radius: var(--qm-radius-lg); overflow: hidden;\n  padding: clamp(36px,6vw,64px) clamp(20px,4vw,40px);\n  background: radial-gradient(70% 110% at 50% 0%,rgba(74,14,107,0.42),transparent 55%),\n              linear-gradient(155deg,#0A0A0F,#140820);\n  color: var(--qm-parch); border: 2px solid rgba(212,175,55,0.38); box-shadow: var(--qm-shadow);\n}\n.qm__cta h2 { position: relative; z-index: 2; font-family: var(--qm-display); font-weight: 900; font-size: clamp(25px,5vw,46px); margin: 0 0 14px; color: var(--qm-parch); text-shadow: 0 0 28px rgba(212,175,55,0.50); }\n.qm__cta p  { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; color: rgba(245,240,232,0.86); font-size: clamp(15px,1.8vw,19px); font-style: italic; }\n.qm__cta-btn {\n  position: relative; z-index: 2;\n  display: inline-flex; align-items: center; gap: 12px;\n  margin-top: clamp(22px,3.5vw,30px);\n  font-family: var(--qm-display); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; font-size: clamp(12px,1.6vw,14px);\n  color: var(--qm-gold-soft); padding: 16px 32px;\n  border: 2px solid rgba(212,175,55,0.55); border-radius: 999px;\n  background: rgba(212,175,55,0.10); cursor: pointer; text-decoration: none;\n  transition: background 0.4s ease, border-color 0.4s ease, transform 0.4s ease, box-shadow 0.4s ease, color 0.4s ease;\n}\n.qm__cta-btn:hover { background:rgba(212,175,55,0.20); border-color:rgba(212,175,55,0.70); transform:translateY(-2px); box-shadow:0 8px 24px -8px rgba(212,175,55,0.32), 0 0 20px rgba(212,175,55,0.20); color:rgba(245,240,232,0.98); }\n@media (max-width:900px) {\n  .qm { font-size:17px; }\n  .qm__stats { grid-template-columns: repeat(2,1fr); }\n  .qm__colour-story, .qm__two-col { grid-template-columns: 1fr; }\n}\n@media (max-width:600px) {\n  .qm { padding:0; font-size:16.5px; }\n  .qm__inner { padding:18px 14px; }\n  .qm__grid2,.qm__grid3,.qm__trust,.qm__spec-grid { grid-template-columns:1fr; }\n  .qm__features { flex-direction: column; }\n  .qm__feature { max-width: 100%; }\n  .qm__stats { grid-template-columns: repeat(2,1fr); }\n  .qm__compat { grid-template-columns: repeat(2,1fr); }\n}\n@media (prefers-reduced-motion:reduce) { .qm * { animation:none !important; transition:none !important; } }\n\u003c\/style\u003e\n\n\u003cdiv class=\"qm\" lang=\"en\"\u003e\n\u003cdiv class=\"qm__sheet\"\u003e\n\u003cdiv class=\"qm__inner\"\u003e\n\n\u003c!-- ═══════════════════════════════ HERO ═══════════════════════════════ --\u003e\n\u003cheader class=\"qm__hero\"\u003e\n  \u003cdiv class=\"qm__ambience\"\u003e\u003c\/div\u003e\n\n  \u003cspan class=\"qm__eyebrow\"\u003eKeyArtisan  ×  Ancient Chinese Collection\u003c\/span\u003e\n\n  \u003ch1 class=\"qm__title\"\u003e\n    \u003cspan class=\"qm__accent\"\u003eAncient Chinese\u003c\/span\u003e\u003cbr\u003e\n    \u003cspan class=\"qm__purple\"\u003eImperial Theme\u003c\/span\u003e Keycap Set\n  \u003c\/h1\u003e\n\n  \u003cp class=\"qm__subtitle\"\u003e\n    172 keycaps forged in the spirit of classical China — a sweeping gradient from\n    deep imperial purple to absolute ink black, rendered through five-sided heat\n    sublimation on premium PBT. Cherry profile. MX compatible.\n    Built for ANSI · ISO · Alice layouts and every standard size.\n  \u003c\/p\u003e\n\n  \u003cdiv class=\"qm__hero-rule\"\u003e\u003cspan\u003e🏮 ☯ 🐉\u003c\/span\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"qm__badges\"\u003e\n    \u003cspan class=\"qm__badge\"\u003e\u003cspan\u003e🟣\u003c\/span\u003e\u003cspan\u003ePurple → Black Gradient\u003c\/span\u003e\u003c\/span\u003e\n    \u003cspan class=\"qm__badge\"\u003e\u003cspan\u003e🔥\u003c\/span\u003e\u003cspan\u003e5-Side Heat Sublimation\u003c\/span\u003e\u003c\/span\u003e\n    \u003cspan class=\"qm__badge\"\u003e\u003cspan\u003e📐\u003c\/span\u003e\u003cspan\u003eCherry Profile\u003c\/span\u003e\u003c\/span\u003e\n    \u003cspan class=\"qm__badge\"\u003e\u003cspan\u003e🗝️\u003c\/span\u003e\u003cspan\u003e172 Keycaps\u003c\/span\u003e\u003c\/span\u003e\n    \u003cspan class=\"qm__badge\"\u003e\u003cspan\u003e⌨️\u003c\/span\u003e\u003cspan\u003eANSI · ISO · Alice\u003c\/span\u003e\u003c\/span\u003e\n    \u003cspan class=\"qm__badge\"\u003e\u003cspan\u003e↔️\u003c\/span\u003e\u003cspan\u003eIncludes 7U Spacebar\u003c\/span\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/header\u003e\n\n\u003c!-- ═══════════════════════════════ HERO IMAGE ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__media-full\"\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ KEY STATS ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__stats\"\u003e\n    \u003cdiv class=\"qm__stat\"\u003e\n      \u003cdiv class=\"qm__stat-num\"\u003e172\u003c\/div\u003e\n      \u003cspan class=\"qm__stat-unit\"\u003ekeycaps\u003c\/span\u003e\n      \u003cdiv class=\"qm__stat-label\"\u003eComplete Coverage\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__stat\"\u003e\n      \u003cdiv class=\"qm__stat-num\"\u003e5\u003c\/div\u003e\n      \u003cspan class=\"qm__stat-unit\"\u003esides\u003c\/span\u003e\n      \u003cdiv class=\"qm__stat-label\"\u003eHeat Sublimation\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__stat\"\u003e\n      \u003cdiv class=\"qm__stat-num\"\u003e7\u003c\/div\u003e\n      \u003cspan class=\"qm__stat-unit\"\u003esizes\u003c\/span\u003e\n      \u003cdiv class=\"qm__stat-label\"\u003eLayout Support\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__stat\"\u003e\n      \u003cdiv class=\"qm__stat-num\"\u003e0\u003c\/div\u003e\n      \u003cspan class=\"qm__stat-unit\"\u003efade risk\u003c\/span\u003e\n      \u003cdiv class=\"qm__stat-label\"\u003ePermanent Dye-Fused\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ THE STORY ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__head\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003eThe Inspiration\u003c\/div\u003e\n    \u003ch2 class=\"qm__h2\"\u003eFrom Ancient Ink to Modern Keys\u003c\/h2\u003e\n    \u003cdiv class=\"qm__divider\"\u003e\u003cspan class=\"qm__divider-dot\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__prose\"\u003e\n    \u003cp\u003e\n      Ancient China gave the world lacquerware, silk dyes and imperial pigments of extraordinary depth.\n      Artisans ground lapis and madder root into colour that has endured for thousands of years on\n      bronze vessels, jade screens and palace walls. The \u003cstrong\u003eAncient Chinese Theme Keycap Set\u003c\/strong\u003e\n      carries that legacy forward — every key a brushstroke, the full board a canvas that shifts from\n      deep imperial purple at the escape key through twilight violet across the alphas and into absolute\n      ink black at the lower rows.\n    \u003c\/p\u003e\n    \u003cp\u003e\n      This is not a cosmetic gradient. It is a deliberate chromatic arc that mirrors the moment a master\n      calligrapher's brush lifts from an ink stone, trailing pigment from its richest, most saturated\n      bloom into darkness — focused, controlled, inevitable. Placed on your desk, the set reads as a\n      single unified composition rather than a collection of individual keys.\n    \u003c\/p\u003e\n    \u003cp\u003e\n      The design language draws on oracle-bone script, lacquerware geometry and the negative-space\n      philosophy of Chinese brush painting: let the darkness speak. The result is a board that commands\n      attention without ornamentation — quiet confidence, deep craft.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ COLOUR STORY ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__head\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003eColour Palette\u003c\/div\u003e\n    \u003ch2 class=\"qm__h2\"\u003eThe Gradient, Explained\u003c\/h2\u003e\n    \u003cdiv class=\"qm__divider\"\u003e\u003cspan class=\"qm__divider-dot\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__colour-story\"\u003e\n    \u003cdiv class=\"qm__colour-bar\"\u003e\n      \u003cdiv class=\"qm__colour-swatch\"\u003e\n        \u003cdiv class=\"qm__colour-label\"\u003ePurple · Violet · Ink · Black\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__colour-steps\"\u003e\n        \u003cdiv class=\"qm__colour-step\"\u003e\n          \u003cdiv class=\"qm__colour-dot\" style=\"background:#4A0E6B;\"\u003e\u003c\/div\u003e\n          \u003cspan style=\"color:var(--qm-text);font-weight:800;\"\u003eImperial\u003c\/span\u003e\n          \u003cspan\u003ePurple\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"qm__colour-step\"\u003e\n          \u003cdiv class=\"qm__colour-dot\" style=\"background:#2D0A3A;\"\u003e\u003c\/div\u003e\n          \u003cspan style=\"color:var(--qm-text);font-weight:800;\"\u003eDeep\u003c\/span\u003e\n          \u003cspan\u003eViolet\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"qm__colour-step\"\u003e\n          \u003cdiv class=\"qm__colour-dot\" style=\"background:#140820;\"\u003e\u003c\/div\u003e\n          \u003cspan style=\"color:var(--qm-text);font-weight:800;\"\u003eMidnight\u003c\/span\u003e\n          \u003cspan\u003eInk\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"qm__colour-step\"\u003e\n          \u003cdiv class=\"qm__colour-dot\" style=\"background:#0A0A0F;border:1px solid rgba(0,0,0,0.12);\"\u003e\u003c\/div\u003e\n          \u003cspan style=\"color:var(--qm-text);font-weight:800;\"\u003eAbsolute\u003c\/span\u003e\n          \u003cspan\u003eBlack\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"qm__colour-text\"\u003e\n      \u003ch3\u003eInspired by Imperial Lacquerware\u003c\/h3\u003e\n      \u003cp\u003e\n        The palette opens at \u003cstrong\u003eImperial Purple (#4A0E6B)\u003c\/strong\u003e — the colour reserved for dynasty\n        and nobility in classical Chinese culture — present on the function row and escape key where your\n        eye naturally lands first.\n      \u003c\/p\u003e\n      \u003cp\u003e\n        Across the number row and upper alphas the colour deepens to \u003cstrong\u003eDeep Violet (#2D0A3A)\u003c\/strong\u003e,\n        evoking the moment lacquer begins to cure and darken, becoming richer and more complex.\n      \u003c\/p\u003e\n      \u003cp\u003e\n        The lower alphas and modifiers transition through \u003cstrong\u003eMidnight Ink (#140820)\u003c\/strong\u003e — the\n        exact shade of freshly ground ink on a Han-dynasty ink stone — before arriving at\n        \u003cstrong\u003eAbsolute Black (#0A0A0F)\u003c\/strong\u003e on the bottom row: total darkness, total stillness.\n      \u003c\/p\u003e\n      \u003cp\u003e\n        \u003cstrong\u003eNo green. No teal. No cool-blue undertone.\u003c\/strong\u003e The entire arc is warm-purple to\n        warm-black — an intentional choice that reads as classical rather than synthetic.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ FULL IMAGE 2 ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__media-full\"\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ FEATURES ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__head\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003eWhat Sets It Apart\u003c\/div\u003e\n    \u003ch2 class=\"qm__h2\"\u003eSix Reasons to Choose This Set\u003c\/h2\u003e\n    \u003cdiv class=\"qm__divider\"\u003e\u003cspan class=\"qm__divider-dot\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__features\"\u003e\n\n    \u003carticle class=\"qm__feature\"\u003e\n      \u003cdiv class=\"qm__feature-icon\"\u003e🔥\u003c\/div\u003e\n      \u003ch3\u003eFull Five-Side Heat Sublimation\u003c\/h3\u003e\n      \u003cp\u003e\n        Thermal dye-sub covers all five faces of every keycap — top, front, left, right and back.\n        The gradient wraps the entire key body, reads cleanly from every angle, and cannot peel\n        or chip because the colour is fused into the PBT at a molecular level.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"qm__feature\"\u003e\n      \u003cdiv class=\"qm__feature-icon\"\u003e🧱\u003c\/div\u003e\n      \u003ch3\u003ePremium PBT Plastic\u003c\/h3\u003e\n      \u003cp\u003e\n        PBT (Polybutylene Terephthalate) is harder, denser and more heat-stable than ABS.\n        It resists the shine, yellowing and finger-oil absorption that plagues cheaper caps —\n        keeping your set looking as crisp on day 1,000 as it did on day one.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"qm__feature\"\u003e\n      \u003cdiv class=\"qm__feature-icon\"\u003e📐\u003c\/div\u003e\n      \u003ch3\u003eCherry Profile Sculpt\u003c\/h3\u003e\n      \u003cp\u003e\n        Cherry profile is a low-to-mid-height classic: a slightly angled top surface that guides\n        your fingertips to the centre of each key, a satisfying travel depth, and a grounded\n        thock that stays composed at any typing pace.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"qm__feature\"\u003e\n      \u003cdiv class=\"qm__feature-icon\"\u003e🗝️\u003c\/div\u003e\n      \u003ch3\u003e172 Keys — One Set, Every Build\u003c\/h3\u003e\n      \u003cp\u003e\n        A 172-key count is rare at this price point. Extra modifiers, alternate legends, ISO keys,\n        Alice-specific keys and a 7U spacebar are all included so you can fit virtually any\n        standard layout without hunting for add-on kits.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"qm__feature\"\u003e\n      \u003cdiv class=\"qm__feature-icon\"\u003e🔩\u003c\/div\u003e\n      \u003ch3\u003eUniversal MX Compatibility\u003c\/h3\u003e\n      \u003cp\u003e\n        Standard MX cross-stem mount fits Cherry MX, Gateron, Kailh, Outemu, Durock and\n        every other MX-clone switch. Box MX switches are also supported. Works across\n        hot-swap and soldered PCBs alike.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n    \u003carticle class=\"qm__feature\"\u003e\n      \u003cdiv class=\"qm__feature-icon\"\u003e🛡️\u003c\/div\u003e\n      \u003ch3\u003eOil-Resistant Surface Coating\u003c\/h3\u003e\n      \u003cp\u003e\n        An anti-oil treatment on the keycap surface repels skin oils and daily grime,\n        maintaining the matte finish and deep colour fidelity for years of heavy use — no\n        polishing, no greasy high-traffic keys.\n      \u003c\/p\u003e\n    \u003c\/article\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ SPOTLIGHT — MATERIAL ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__spotlight\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003eMaterial Science\u003c\/div\u003e\n    \u003ch2\u003ePBT That Goes the Distance\u003c\/h2\u003e\n    \u003cp\u003e\n      Not all PBT is equal. Thin-walled PBT flexes and produces a hollow, tinny sound.\n      This set uses \u003cstrong\u003ethick-wall PBT stock\u003c\/strong\u003e — the walls are substantial enough\n      to produce a dense, satisfying thock, to hold the heat-sublimation dye without\n      colour bleed, and to resist the micro-abrasion of ten-thousand daily keystrokes\n      without thinning. Combined with the oil-resistant coating, the surface stays\n      perfectly matte: no polish, no gloss, no compromise.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"qm__spec-grid\"\u003e\n      \u003cdiv class=\"qm__spec\"\u003e\n        \u003cdiv class=\"qm__spec-k\"\u003eMaterial\u003c\/div\u003e\n        \u003cdiv class=\"qm__spec-v\"\u003ePremium PBT\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__spec\"\u003e\n        \u003cdiv class=\"qm__spec-k\"\u003ePrinting\u003c\/div\u003e\n        \u003cdiv class=\"qm__spec-v\"\u003e5-Side Dye-Sub\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__spec\"\u003e\n        \u003cdiv class=\"qm__spec-k\"\u003eProfile\u003c\/div\u003e\n        \u003cdiv class=\"qm__spec-v\"\u003eCherry\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__spec\"\u003e\n        \u003cdiv class=\"qm__spec-k\"\u003eSurface\u003c\/div\u003e\n        \u003cdiv class=\"qm__spec-v\"\u003eOil-Resistant\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__spec\"\u003e\n        \u003cdiv class=\"qm__spec-k\"\u003eWall Thickness\u003c\/div\u003e\n        \u003cdiv class=\"qm__spec-v\"\u003eThick-Wall\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__spec\"\u003e\n        \u003cdiv class=\"qm__spec-k\"\u003eFade Resistance\u003c\/div\u003e\n        \u003cdiv class=\"qm__spec-v\"\u003ePermanent\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ CINEMATIC IMAGE ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__media-cinematic\"\u003e\n    \u003cimg src=\"https:\/\/img.alicdn.com\/imgextra\/i4\/2602679771\/O1CN01OMQqBp2M3ArU7e9Cr_!!2602679771.jpg\" alt=\"Ancient Chinese Theme Keycap Set — atmospheric desk shot\" loading=\"lazy\"\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ WHAT'S IN THE BOX ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__head\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003ePackage Contents\u003c\/div\u003e\n    \u003ch2 class=\"qm__h2\"\u003eWhat's in the Box\u003c\/h2\u003e\n    \u003cdiv class=\"qm__divider\"\u003e\u003cspan class=\"qm__divider-dot\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n    \u003cp class=\"qm__lead\"\u003eEvery standard key, modifier variant and layout extra you need — all in one package.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__box-grid\"\u003e\n    \u003cdiv class=\"qm__box-item\"\u003e\n      \u003cspan class=\"qm__box-icon\"\u003e🔤\u003c\/span\u003e\n      \u003cdiv class=\"qm__box-qty\"\u003e104\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-name\"\u003eAlpha \u0026amp; Modifier Keys\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-sub\"\u003eANSI full-size base set\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__box-item\"\u003e\n      \u003cspan class=\"qm__box-icon\"\u003e🌍\u003c\/span\u003e\n      \u003cdiv class=\"qm__box-qty\"\u003e12\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-name\"\u003eISO Legends\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-sub\"\u003eEnter, extra modifiers\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__box-item\"\u003e\n      \u003cspan class=\"qm__box-icon\"\u003e🐱\u003c\/span\u003e\n      \u003cdiv class=\"qm__box-qty\"\u003e16\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-name\"\u003eAlice Keys\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-sub\"\u003eAlice \u0026amp; Arisu layouts\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__box-item\"\u003e\n      \u003cspan class=\"qm__box-icon\"\u003e⬜\u003c\/span\u003e\n      \u003cdiv class=\"qm__box-qty\"\u003e1\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-name\"\u003e7U Spacebar\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-sub\"\u003eWider board support\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__box-item\"\u003e\n      \u003cspan class=\"qm__box-icon\"\u003e🔧\u003c\/span\u003e\n      \u003cdiv class=\"qm__box-qty\"\u003e8\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-name\"\u003eExtra Modifiers\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-sub\"\u003eAlternate legends\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__box-item\"\u003e\n      \u003cspan class=\"qm__box-icon\"\u003e🧰\u003c\/span\u003e\n      \u003cdiv class=\"qm__box-qty\"\u003e31\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-name\"\u003eSpares \u0026amp; Extras\u003c\/div\u003e\n      \u003cdiv class=\"qm__box-sub\"\u003eNumpad, function row\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__trust\"\u003e\n    \u003cdiv class=\"qm__trust-item\"\u003e\n      \u003cdiv class=\"qm__trust-ic\"\u003e📦\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"qm__trust-t\"\u003eProtective Packaging\u003c\/div\u003e\n        \u003cdiv class=\"qm__trust-s\"\u003eFoam-lined, travel-safe tray\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__trust-item\"\u003e\n      \u003cdiv class=\"qm__trust-ic\"\u003e🚚\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"qm__trust-t\"\u003eWorldwide Tracked Shipping\u003c\/div\u003e\n        \u003cdiv class=\"qm__trust-s\"\u003eDelivered carefully, every time\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__trust-item\"\u003e\n      \u003cdiv class=\"qm__trust-ic\"\u003e🔒\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"qm__trust-t\"\u003eSecure Checkout\u003c\/div\u003e\n        \u003cdiv class=\"qm__trust-s\"\u003eEncrypted payment processing\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__trust-item\"\u003e\n      \u003cdiv class=\"qm__trust-ic\"\u003e💬\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"qm__trust-t\"\u003e24-Hour Support\u003c\/div\u003e\n        \u003cdiv class=\"qm__trust-s\"\u003eReply within one business day\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ LAYOUT COMPATIBILITY ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__head\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003eLayout Compatibility\u003c\/div\u003e\n    \u003ch2 class=\"qm__h2\"\u003eFits Virtually Every Standard Keyboard\u003c\/h2\u003e\n    \u003cdiv class=\"qm__divider\"\u003e\u003cspan class=\"qm__divider-dot\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n    \u003cp class=\"qm__lead\"\u003e\n      172 keycaps. Three layout standards. Seven form factors. One set.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__compat\"\u003e\n    \u003cdiv class=\"qm__compat-item\"\u003e\n      \u003cspan class=\"qm__compat-icon\"\u003e⌨️\u003c\/span\u003e\n      \u003cdiv class=\"qm__compat-name\"\u003e60%\u003c\/div\u003e\n      \u003cdiv class=\"qm__compat-note\"\u003eHHKB, Poker, Anne Pro\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__compat-item\"\u003e\n      \u003cspan class=\"qm__compat-icon\"\u003e⌨️\u003c\/span\u003e\n      \u003cdiv class=\"qm__compat-name\"\u003e65%\u003c\/div\u003e\n      \u003cdiv class=\"qm__compat-note\"\u003eArrow cluster, no F-row\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__compat-item\"\u003e\n      \u003cspan class=\"qm__compat-icon\"\u003e⌨️\u003c\/span\u003e\n      \u003cdiv class=\"qm__compat-name\"\u003e68%\u003c\/div\u003e\n      \u003cdiv class=\"qm__compat-note\"\u003eLeopold FC660, similar\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__compat-item\"\u003e\n      \u003cspan class=\"qm__compat-icon\"\u003e⌨️\u003c\/span\u003e\n      \u003cdiv class=\"qm__compat-name\"\u003e75%\u003c\/div\u003e\n      \u003cdiv class=\"qm__compat-note\"\u003eKeychron K2, Royal Kludge\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__compat-item\"\u003e\n      \u003cspan class=\"qm__compat-icon\"\u003e⌨️\u003c\/span\u003e\n      \u003cdiv class=\"qm__compat-name\"\u003eTKL\u003c\/div\u003e\n      \u003cdiv class=\"qm__compat-note\"\u003eTenkeyless, no numpad\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__compat-item\"\u003e\n      \u003cspan class=\"qm__compat-icon\"\u003e⌨️\u003c\/span\u003e\n      \u003cdiv class=\"qm__compat-name\"\u003eFull-Size\u003c\/div\u003e\n      \u003cdiv class=\"qm__compat-note\"\u003e100% with numpad\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"qm__compat-item\"\u003e\n      \u003cspan class=\"qm__compat-icon\"\u003e🐱\u003c\/span\u003e\n      \u003cdiv class=\"qm__compat-name\"\u003eAlice\u003c\/div\u003e\n      \u003cdiv class=\"qm__compat-note\"\u003eArisu, Alice, Satisfaction\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__dark-prose\" style=\"margin-top:clamp(22px,3vw,32px);\"\u003e\n    \u003cp\u003e\n      \u003cstrong\u003eANSI support\u003c\/strong\u003e covers the standard US layout — straight left-shift, single-row enter,\n      backslash above enter. The included keys cover every position from the numpad through the function\n      row and down to the bottom-row modifiers.\n    \u003c\/p\u003e\n    \u003cp\u003e\n      \u003cstrong\u003eISO support\u003c\/strong\u003e adds the tall angled enter, a shorter left-shift with an extra key to\n      its right, and the additional modifier found on European and UK layouts. ISO legends are included\n      in the kit at no extra charge — no separate ISO add-on kit required.\n    \u003c\/p\u003e\n    \u003cp\u003e\n      \u003cstrong\u003eAlice\/Arisu support\u003c\/strong\u003e addresses the unique split-spacebar arrangement, rotated inner\n      columns and distinctive modifier positions found on ergonomic Alice-layout boards.\n      A dedicated set of Alice keys is included, plus the \u003cstrong\u003e7U spacebar\u003c\/strong\u003e for boards that\n      use a wider single spacebar rather than the split pair.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ FULL PRODUCT IMAGE 3 ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__media-full\"\u003e\n    \u003cimg src=\"https:\/\/img.alicdn.com\/bao\/uploaded\/i1\/2602679771\/O1CN01CFad782M3ArdNYhWB_!!2602679771.jpg\" alt=\"Ancient Chinese Theme Keycap Set — Cherry profile side view\" loading=\"lazy\"\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ CHERRY PROFILE DETAIL ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__head\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003eProfile Deep Dive\u003c\/div\u003e\n    \u003ch2 class=\"qm__h2\"\u003eWhy Cherry Profile Works\u003c\/h2\u003e\n    \u003cdiv class=\"qm__divider\"\u003e\u003cspan class=\"qm__divider-dot\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__two-col\"\u003e\n    \u003cdiv class=\"qm__dark-prose\"\u003e\n      \u003cp\u003e\n        \u003cstrong\u003eCherry profile\u003c\/strong\u003e is one of the most refined sculpted profiles in mechanical\n        keyboard history. Developed over decades of commercial keyboard design, it sits lower than\n        OEM profile — reducing the risk of strain during extended sessions — while maintaining enough\n        height for a full, satisfying key-travel sensation.\n      \u003c\/p\u003e\n      \u003cp\u003e\n        Each row has a specific sculpt angle: the function row is relatively flat, the number row\n        angles slightly backward, and the rows below it progressively tilt forward, guiding the hand\n        into a natural resting arch. The result is a cohesive typing experience where each finger\n        meets its key at the ideal contact angle without compensation.\n      \u003c\/p\u003e\n      \u003cp\u003e\n        \u003cstrong\u003eSound character:\u003c\/strong\u003e Cherry profile's shorter walls compared to SA or MT3 let\n        switch sound travel directly upward rather than resonating inside a tall key chamber. Combined\n        with thick-wall PBT, this produces a clean, focused thock — present but never boomy.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv\u003e\n      \u003cdiv class=\"qm__features\" style=\"flex-direction:column; gap:12px; margin-top:0;\"\u003e\n        \u003carticle class=\"qm__feature\" style=\"max-width:100%; flex:none; text-align:left; padding:18px 20px;\"\u003e\n          \u003cdiv style=\"display:flex; gap:14px; align-items:flex-start;\"\u003e\n            \u003cdiv class=\"qm__feature-icon\" style=\"flex:none; margin:0;\"\u003e🎯\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003ch3 style=\"text-align:left;\"\u003eAccurate Finger Placement\u003c\/h3\u003e\n              \u003cp\u003eSculpted rows guide each finger to the centre of its key with minimal lateral drift.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"qm__feature\" style=\"max-width:100%; flex:none; text-align:left; padding:18px 20px;\"\u003e\n          \u003cdiv style=\"display:flex; gap:14px; align-items:flex-start;\"\u003e\n            \u003cdiv class=\"qm__feature-icon\" style=\"flex:none; margin:0;\"\u003e📏\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003ch3 style=\"text-align:left;\"\u003eLow-Profile Comfort\u003c\/h3\u003e\n              \u003cp\u003eLower than OEM, reducing wrist extension and shoulder strain during marathon sessions.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"qm__feature\" style=\"max-width:100%; flex:none; text-align:left; padding:18px 20px;\"\u003e\n          \u003cdiv style=\"display:flex; gap:14px; align-items:flex-start;\"\u003e\n            \u003cdiv class=\"qm__feature-icon\" style=\"flex:none; margin:0;\"\u003e🔊\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003ch3 style=\"text-align:left;\"\u003eClean Acoustic Signature\u003c\/h3\u003e\n              \u003cp\u003eFocused, composed thock — never hollow or plastic-sounding.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"qm__feature\" style=\"max-width:100%; flex:none; text-align:left; padding:18px 20px;\"\u003e\n          \u003cdiv style=\"display:flex; gap:14px; align-items:flex-start;\"\u003e\n            \u003cdiv class=\"qm__feature-icon\" style=\"flex:none; margin:0;\"\u003e🤝\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003ch3 style=\"text-align:left;\"\u003eWidely Familiar\u003c\/h3\u003e\n              \u003cp\u003eStandard in commercial keyboards — no adaptation period for most typists.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ SPECS TABLE ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__head\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003eFull Specifications\u003c\/div\u003e\n    \u003ch2 class=\"qm__h2\"\u003eTechnical Details\u003c\/h2\u003e\n    \u003cdiv class=\"qm__divider\"\u003e\u003cspan class=\"qm__divider-dot\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__table-wrap\"\u003e\n    \u003ctable class=\"qm__table\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003cth\u003eProduct Name\u003c\/th\u003e\n          \u003ctd\u003eAncient Chinese Theme Keycap Set\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eColour Theme\u003c\/th\u003e\n          \u003ctd\u003eImperial Purple → Deep Violet → Midnight Ink → Absolute Black\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eMaterial\u003c\/th\u003e\n          \u003ctd\u003ePBT (Polybutylene Terephthalate) — Thick-Wall\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eSurface Treatment\u003c\/th\u003e\n          \u003ctd\u003eOil-Resistant Matte Coating\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003ePrinting Method\u003c\/th\u003e\n          \u003ctd\u003eFull Five-Side Heat Sublimation — permanent, non-peelable\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eKeycap Profile\u003c\/th\u003e\n          \u003ctd\u003eCherry Profile (sculpted, row-specific)\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eTotal Key Count\u003c\/th\u003e\n          \u003ctd\u003e172 keycaps\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eStem Type\u003c\/th\u003e\n          \u003ctd\u003eMX Cross Stem — Standard \u0026amp; Box MX compatible\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eSpacebar Sizes\u003c\/th\u003e\n          \u003ctd\u003eStandard 6.25U included · 7U spacebar included\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eLayout Standards\u003c\/th\u003e\n          \u003ctd\u003eANSI  ·  ISO  ·  Alice\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eSize Compatibility\u003c\/th\u003e\n          \u003ctd\u003e✓ 60%  ·  ✓ 65%  ·  ✓ 68%  ·  ✓ 75%  ·  ✓ TKL  ·  ✓ Full-size  ·  ✓ Alice\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003eCompatible Switches\u003c\/th\u003e\n          \u003ctd\u003eCherry MX, Gateron, Kailh, Outemu, Durock, all MX-clone variants, Box MX\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003ePackage Weight\u003c\/th\u003e\n          \u003ctd\u003eApprox. 700 g\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth\u003ePackage Contents\u003c\/th\u003e\n          \u003ctd\u003e172 keycaps in a foam-lined protective tray\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__alert\"\u003e\n    \u003cspan class=\"qm__alert-ic\"\u003e❌\u003c\/span\u003e\n    \u003cdiv\u003e\n      \u003cstrong\u003eCompatibility Notice:\u003c\/strong\u003e This set requires \u003cstrong\u003estandard MX-style mechanical switches\u003c\/strong\u003e\n      and is not compatible with low-profile switches (Kailh Choc, Gateron Low-Profile, etc.), laptop keyboards,\n      membrane keyboards, or optical switch boards without MX-cross stems. Keyboards and accessories shown\n      in product images are \u003cstrong\u003efor display only and are not included\u003c\/strong\u003e.\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ CINEMATIC FINAL IMAGE ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__media-cinematic\"\u003e\n    \u003cimg src=\"https:\/\/img.alicdn.com\/imgextra\/i1\/2602679771\/O1CN01MZtbZE2M3ArZkaIji_!!2602679771.jpg\" alt=\"Ancient Chinese Theme Keycap Set — cinematic profile view\" loading=\"lazy\"\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ FAQ ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__head\"\u003e\n    \u003cdiv class=\"qm__kicker\"\u003eQuestions \u0026amp; Answers\u003c\/div\u003e\n    \u003ch2 class=\"qm__h2\"\u003eFrequently Asked Questions\u003c\/h2\u003e\n    \u003cdiv class=\"qm__divider\"\u003e\u003cspan class=\"qm__divider-dot\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qm__faq\"\u003e\n\n    \u003cdiv class=\"qm__faq-item qm--open\"\u003e\n      \u003cdiv class=\"qm__faq-q\"\u003e\n        What exactly is \"five-side heat sublimation\" and why does it matter?\n        \u003cspan class=\"qm__faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__faq-panel\"\u003e\n        \u003cdiv class=\"qm__faq-body\"\u003e\n          Most keycap sets print only the top surface — the legend you see when looking down. Five-side\n          heat sublimation prints all five exposed faces of each keycap: top, front, back, left and right. The\n          process works by pressing a specially prepared transfer paper against the keycap surface at high\n          temperature. The dye sublimates — turns directly from solid to gas — and bonds into the PBT at a\n          molecular level, becoming part of the material rather than a layer on top of it.\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003eWhy it matters:\u003c\/strong\u003e The colour cannot peel, chip, crack or fade with normal use.\n          The gradient reads seamlessly from every angle — when you look at your keys from the side,\n          you see the same deep purple-to-black arc as from above. It is the most durable and visually\n          consistent printing method available for keycaps.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"qm__faq-item\"\u003e\n      \u003cdiv class=\"qm__faq-q\"\u003e\n        Which keyboard layouts and sizes does this set support?\n        \u003cspan class=\"qm__faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__faq-panel\"\u003e\n        \u003cdiv class=\"qm__faq-body\"\u003e\n          The 172-key count provides coverage for all major standard layouts:\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003eLayout standards:\u003c\/strong\u003e ANSI · ISO · Alice — all three are covered with\n          dedicated keys included in the package.\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003eForm factor sizes:\u003c\/strong\u003e 60% · 65% · 68% · 75% · TKL (80%) · Full-size (100%) · Alice.\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003eSpacebar:\u003c\/strong\u003e Both a standard 6.25U and a 7U spacebar are included,\n          covering virtually all standard and wider-format boards.\u003cbr\u003e\u003cbr\u003e\n          If you have a boutique or highly non-standard layout (e.g. Ortholinear, Numpad-only, split ergonomic),\n          please contact us with your specific key list before ordering and we will confirm compatibility.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"qm__faq-item\"\u003e\n      \u003cdiv class=\"qm__faq-q\"\u003e\n        What switch types are compatible?\n        \u003cspan class=\"qm__faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__faq-panel\"\u003e\n        \u003cdiv class=\"qm__faq-body\"\u003e\n          Any switch with a standard MX cross-stem mount is compatible:\u003cbr\u003e\u003cbr\u003e\n          ✓ Cherry MX (all variants — Red, Brown, Blue, Black, Silent, Speed, etc.)\u003cbr\u003e\n          ✓ Gateron (standard and milky housing, all weights)\u003cbr\u003e\n          ✓ Kailh (standard box and non-box MX stems)\u003cbr\u003e\n          ✓ Outemu, Akko, Durock, Boba U4\/U4T and all MX clones\u003cbr\u003e\n          ✓ Box MX switches (Kailh Box, etc.)\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003eNot compatible:\u003c\/strong\u003e Low-profile switches (Kailh Choc, Gateron KS-33 Low Profile),\n          optical switches without MX stems, Alps SKCL\/SKCM, Topre, membrane domes, or laptop butterfly\/scissor mechanisms.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"qm__faq-item\"\u003e\n      \u003cdiv class=\"qm__faq-q\"\u003e\n        Will the colours fade, shine or yellow over time?\n        \u003cspan class=\"qm__faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__faq-panel\"\u003e\n        \u003cdiv class=\"qm__faq-body\"\u003e\n          No — and there are two independent reasons why.\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003eFade:\u003c\/strong\u003e Heat sublimation bonds the dye into the PBT material itself, not onto the\n          surface. There is no coating or ink layer to flake. The colour is as permanent as the plastic.\n          Even after years of daily use under direct light, the gradient will remain consistent.\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003eShine \u0026amp; yellowing:\u003c\/strong\u003e This is a PBT-specific advantage. ABS plastic, used in many\n          cheaper keycap sets, contains additives that react with UV light and oxidise over time, turning yellow\n          and developing a slick, shiny surface. PBT does not contain these additives. It is also significantly\n          harder, so it resists the polishing effect of fingertip oils and daily friction. The oil-resistant\n          surface coating adds a further barrier. The matte texture you feel on day one is the same texture\n          you will feel in two years.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"qm__faq-item\"\u003e\n      \u003cdiv class=\"qm__faq-q\"\u003e\n        What is Cherry profile and how does it compare to OEM or SA?\n        \u003cspan class=\"qm__faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__faq-panel\"\u003e\n        \u003cdiv class=\"qm__faq-body\"\u003e\n          Keycap profiles define the height and angle of each key row, which affects ergonomics, sound and feel.\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003eCherry profile\u003c\/strong\u003e sits lower than OEM — the keycaps are shorter, which reduces the\n          distance your wrists must angle upward. Each row is sculpted at a slightly different angle to match\n          the natural curve of the hand. It is widely considered the \"most neutral\" sculpted profile: familiar\n          enough for most typists to adapt to immediately, comfortable for long sessions, and acoustically\n          clean due to shorter key walls.\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003evs OEM:\u003c\/strong\u003e OEM is taller and less sculpted. Many mass-market boards ship with OEM.\n          Cherry feels slightly lower and more precise by comparison.\u003cbr\u003e\u003cbr\u003e\n          \u003cstrong\u003evs SA:\u003c\/strong\u003e SA is very tall and spherical-top. It is visually dramatic but requires more\n          adaptation for fast typists. Cherry is faster to learn and more suitable for productivity use.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"qm__faq-item\"\u003e\n      \u003cdiv class=\"qm__faq-q\"\u003e\n        Is the 7U spacebar included, and which boards need it?\n        \u003cspan class=\"qm__faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__faq-panel\"\u003e\n        \u003cdiv class=\"qm__faq-body\"\u003e\n          Yes — a \u003cstrong\u003e7U spacebar is included\u003c\/strong\u003e in this 172-key set at no extra cost.\u003cbr\u003e\u003cbr\u003e\n          Most standard keyboards use a 6.25U spacebar. Some older designs — including certain full-size\n          boards and some budget keyboards — use a wider 7U spacebar. If you are unsure which size your\n          board uses, check your keyboard's product listing or measure your existing spacebar: a 7U spacebar\n          is noticeably wider than the standard 6.25U.\u003cbr\u003e\u003cbr\u003e\n          Alice-layout boards typically use a split spacebar (two separate keys), and Alice-specific\n          spacebar keys are also included in this set.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"qm__faq-item\"\u003e\n      \u003cdiv class=\"qm__faq-q\"\u003e\n        Is the keyboard shown in the product photos included?\n        \u003cspan class=\"qm__faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__faq-panel\"\u003e\n        \u003cdiv class=\"qm__faq-body\"\u003e\n          No. This listing is for the \u003cstrong\u003ekeycap set only\u003c\/strong\u003e — 172 keycaps in a protective foam tray.\u003cbr\u003e\u003cbr\u003e\n          The keyboard cases, boards, switches, cables, desk mats, wrist rests and all other accessories or\n          props visible in the product photography are included for visual reference only to show how the\n          set looks when installed. They are not shipped with your order.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"qm__faq-item\"\u003e\n      \u003cdiv class=\"qm__faq-q\"\u003e\n        How is the gradient applied across the rows?\n        \u003cspan class=\"qm__faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"qm__faq-panel\"\u003e\n        \u003cdiv class=\"qm__faq-body\"\u003e\n          The gradient is applied at the individual key level using the heat-sublimation process — each\n          key receives a precise section of the overall colour arc based on its row position.\u003cbr\u003e\u003cbr\u003e\n          The palette flows from top to bottom of the board:\u003cbr\u003e\u003cbr\u003e\n          🟣 \u003cstrong\u003eFunction row \/ Escape:\u003c\/strong\u003e Imperial Purple (#4A0E6B) — the richest, most saturated tone.\u003cbr\u003e\n          🟣 \u003cstrong\u003eNumber row \/ Upper alphas:\u003c\/strong\u003e Deep Violet (#2D0A3A) — cooler and darker.\u003cbr\u003e\n          ⬛ \u003cstrong\u003eHome row \/ Mid alphas:\u003c\/strong\u003e Midnight Ink (#140820) — deep, near-black purple.\u003cbr\u003e\n          ⬛ \u003cstrong\u003eLower rows \/ Modifiers:\u003c\/strong\u003e Absolute Black (#0A0A0F) — pure darkness.\u003cbr\u003e\u003cbr\u003e\n          Because five-side sublimation wraps all faces, the gradient reads consistently whether you are\n          looking down at the keys, viewing the board from the side, or examining individual keycaps up close.\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ═══════════════════════════════ CTA ═══════════════════════════════ --\u003e\n\u003csection class=\"qm__section\"\u003e\n  \u003cdiv class=\"qm__cta\"\u003e\n    \u003cdiv class=\"qm__ambience\"\u003e\u003c\/div\u003e\n    \u003ch2\u003eImperial Craft. Permanent Colour. Every Keystroke.\u003c\/h2\u003e\n    \u003cp\u003e\n      172 keys. Purple to black. Five sides heat-sublimated. PBT that will not fade or shine.\n      Ancient Chinese heritage expressed through modern precision engineering.\n    \u003c\/p\u003e\n    \u003ca href=\"#\" class=\"qm__cta-btn\"\u003e\n      \u003cspan\u003e🏮\u003c\/span\u003e\u003cspan\u003eAdd to Cart\u003c\/span\u003e\n    \u003c\/a\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c\/div\u003e\n\u003c!-- \/.qm__inner --\u003e\n\u003c\/div\u003e\n\u003c!-- \/.qm__sheet --\u003e\n\u003c\/div\u003e\u003c!-- \/.qm --\u003e\n\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cscript\u003e\n(function(){\n  document.querySelectorAll('.qm__faq-item').forEach(function(item){\n    var q = item.querySelector('.qm__faq-q');\n    var panel = item.querySelector('.qm__faq-panel');\n    \/\/ open default item\n    if(item.classList.contains('qm--open') \u0026\u0026 panel){\n      panel.style.maxHeight = panel.scrollHeight + 'px';\n      panel.style.opacity = '1';\n    }\n    if(q \u0026\u0026 panel){\n      q.addEventListener('click', function(){\n        var isOpen = item.classList.contains('qm--open');\n        \/\/ close all\n        document.querySelectorAll('.qm__faq-item').forEach(function(i){\n          i.classList.remove('qm--open');\n          var p = i.querySelector('.qm__faq-panel');\n          if(p){ p.style.maxHeight = '0'; p.style.opacity = '0'; }\n        });\n        if(!isOpen){\n          item.classList.add('qm--open');\n          panel.style.maxHeight = panel.scrollHeight + 'px';\n          panel.style.opacity = '1';\n        }\n      });\n    }\n  });\n})();\n\u003c\/script\u003e","brand":"KeyArtisan","offers":[{"title":"Default Title","offer_id":48833895727261,"sku":"ANCH-THEME-172","price":83.9,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0684\/6962\/0893\/files\/O1CN01Ht6zbX2M3Ara6QP8N__2602679771.webp?v=1787588079","url":"https:\/\/keyartisan.net\/products\/ancient-chinese-theme-keycap-set","provider":"KeyArtisan","version":"1.0","type":"link"}