.cc04-optimized-page { background: #f5f5f7; color: #1d1d1f; }
.cc04o-main { overflow: clip; }
.cc04o-commerce .product-gallery-thumbs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cc04o-spec-section { padding-bottom: 64px; }
.cc04o-details {
  width: min(calc(100% - 36px), 790px);
  margin: 0 auto;
  background: #000;
}
.cc04o-panel { position: relative; width: 100%; container-type: inline-size; overflow: hidden; }
.cc04o-panel > picture, .cc04o-panel > picture > img { display: block; width: 100%; height: auto; }
.cc04o-overlay { position: absolute; inset: 0; pointer-events: auto; z-index: 2; }
.cc04o-text {
  position: absolute; margin: 0; color: var(--color, #fff); font-family: Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: var(--fs); line-height: var(--lh, 1.2); font-weight: var(--weight, 400); text-align: var(--align, left);
  white-space: pre-line; overflow-wrap: break-word; word-break: normal; letter-spacing: var(--tracking, 0); text-wrap: pretty;
  pointer-events: auto; user-select: text; -webkit-user-select: text; cursor: text;
}
.cc04o-text[data-compact="true"] { line-height: var(--lh, 1.08); }
.cc04o-text[data-role="body"] { line-height: var(--lh, 1.45); }
.cc04o-text[data-role="plot"] { font-family: Arial, sans-serif; }
.cc04o-text[data-role="display"],
.cc04o-text[data-role="display-accent"],
.cc04o-text[data-role="display-spectrum"],
.cc04o-text[data-role="display-shadow"] {
  font-style: italic;
  text-wrap: balance;
}
.cc04o-text[data-role="display"],
.cc04o-text[data-role="display-accent"] {
  color: transparent;
  background: linear-gradient(180deg, #fff 0%, #ededed 42%, #b8b8b8 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.cc04o-text[data-role="display-accent"] {
  text-shadow:
    .32cqw 0 .08cqw rgba(227, 39, 64, .82),
    -.38cqw 0 .08cqw rgba(34, 112, 189, .82);
}
.cc04o-text[data-role="display-spectrum"] {
  color: transparent;
  background: linear-gradient(90deg, #e83552 0%, #a77f9e 52%, #3478ce 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cc04o-text[data-role="display-shadow"] {
  color: #fff;
  text-shadow:
    .32cqw 0 .08cqw rgba(227, 39, 64, .82),
    -.38cqw 0 .08cqw rgba(34, 112, 189, .82);
}
html:not(:lang(zh)) .cc04o-text[data-key="01.title"],
html:not(:lang(zh)) .cc04o-text[data-key="02.title"] {
  white-space: pre !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  text-wrap: nowrap !important;
  text-align: center !important;
}
@supports not (-webkit-background-clip: text) {
  .cc04o-text[data-role="display"],
  .cc04o-text[data-role="display-accent"],
  .cc04o-text[data-role="display-spectrum"] { color: #e5e5e5; background: none; }
}
html:not(:lang(zh)) .cc04o-text { font-size: var(--fs); }
html:not(:lang(zh)) .cc04o-text[data-single-line="true"] {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  text-wrap: nowrap;
}
/* Chinese specifications use editable text on the existing blank artwork. */
html:lang(zh) .cc04o-panel-spec .cc04o-text[data-role="spec-label"],
html:lang(zh) .cc04o-panel-spec .cc04o-text[data-role="spec-value"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  font-size: 3.6cqw !important;
  line-height: 5.58cqw !important;
}
html:lang(zh) .cc04o-panel-spec .cc04o-text[data-role="spec-value"] { left: 34.1% !important; width: 59% !important; }
html:lang(zh) .cc04o-panel-spec .cc04o-text[data-key="12.title"] {
  width: max-content;
  background: linear-gradient(90deg, #e83552 0%, #a77f9e 52%, #3478ce 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent;
  font-size: 6.5cqw;
}
html:lang(zh) .cc04o-text {
  color: transparent !important;
  background: none !important;
  -webkit-text-fill-color: transparent;
  text-shadow: none !important;
}
.cc04o-panel-spec .cc04o-text[data-role="spec-label"],
.cc04o-panel-spec .cc04o-text[data-role="spec-value"] {
  color: #d5d6da !important;
  font-size: 2.6cqw !important;
  font-weight: 400 !important;
  line-height: 4.86cqw !important;
  white-space: pre;
  overflow-wrap: normal;
  text-wrap: nowrap;
}
.cc04o-text[data-key="12.title"] {
  white-space: nowrap;
  overflow-wrap: normal;
  text-wrap: nowrap;
}
.cc04o-text[data-role="color-label"] {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 5%;
  line-height: 1;
  font-style: italic;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  text-wrap: nowrap;
}
.cc04o-text[data-role="scene-title"] {
  white-space: pre-line;
  line-height: 1.12;
}
.cc04o-text[data-role="icon-label"] {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  text-wrap: nowrap;
  line-height: 1;
}
.cc04o-text[data-role="frame-label"] {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 2%;
  overflow: hidden;
  white-space: normal;
  line-height: 1;
  text-align: center;
}
.cc04o-text[data-role="frame-label"] > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  white-space: pre;
  line-height: 1;
  text-align: center;
}
.cc04o-text[data-role="ear-tip-title"] {
  color: transparent;
  background: linear-gradient(90deg, #e83552 0%, #b25a88 50%, #3478ce 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: normal;
  line-height: 1.08;
}
.cc04o-text[data-key="03.title"],
.cc04o-text[data-key="04.footBody"],
.cc04o-text[data-key="04.gunBody"] {
  white-space: pre;
  overflow-wrap: normal;
  word-break: keep-all;
  text-wrap: nowrap;
  line-height: 1.08;
}
.cc04o-text[data-key="04.footTitle"],
.cc04o-text[data-key="04.gunTitle"] {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  text-wrap: nowrap;
}

@media (max-width: 700px) {
  .cc04o-commerce .product-gallery-thumbs { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
  .cc04o-spec-section { padding-bottom: 28px; }
  .cc04o-details { width: calc(100% - 20px); }
}
