#character-guide {
  --cg-bg: light-dark(#f1f5f8, #15212b);
  --cg-panel: light-dark(#ffffff, #1c2d3a);
  --cg-fill: light-dark(#f4f7f9, #243744);
  --cg-ink: light-dark(#213a49, #e3eef3);
  --cg-muted: light-dark(#586e7d, #b3c8d2);
  --cg-line: light-dark(#dce5eb, #405968);
  --cg-accent: light-dark(#16716c, #69cabc);
  --cg-on: light-dark(#ffffff, #102d29);
  --cg-soft: light-dark(#e8f5f2, #24433f);
  --cg-dim: light-dark(#c1ced7, #587586);
  --cg-radius: 14px;
  display: grid;
  grid-template-columns: 164px minmax(0, 1fr);
  border-radius: 16px;
  background: var(--cg-bg);
  color: var(--cg-ink);
  font:
    14px/1.7 "Microsoft YaHei UI",
    "Microsoft YaHei",
    system-ui,
    sans-serif;
  min-width: 0;
  overflow: clip;
  isolation: isolate;
}
#character-guide * {
  box-sizing: border-box;
}
#character-guide [hidden] {
  display: none !important;
}
#character-guide button,
#character-guide input {
  font: inherit;
  touch-action: manipulation;
}
#character-guide button {
  transition:
    background 0.15s,
    border-color 0.15s;
}
#character-guide button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
#character-guide h1,
#character-guide h2,
#character-guide h3,
#character-guide p {
  margin: 0;
}
#character-guide small {
  display: block;
  font-size: 11px;
  font-weight: 400;
}
#character-guide .cg-heading {
  padding: 27px 0 20px;
}
#character-guide h1 {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.5px;
}
#character-guide .cg-heading p {
  margin-top: 9px;
  color: var(--cg-muted);
  font-size: 13px;
}
#character-guide .cg-stages {
  display: flex;
  gap: 12px;
  margin-bottom: 21px;
  max-width: 560px;
}
#character-guide .cg-stage {
  display: flex;
  gap: 7px;
  align-items: center;
  color: var(--cg-muted);
  font-size: 12px;
  flex: 1;
}
#character-guide .cg-stage:not(:last-child):after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--cg-line);
  margin-left: 6px;
}
#character-guide .cg-stage-num {
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--cg-panel);
  display: grid;
  place-items: center;
  flex: none;
}
#character-guide .cg-stage.current {
  color: var(--cg-accent);
}
#character-guide .cg-stage.current .cg-stage-num {
  background: var(--cg-accent);
  color: var(--cg-on);
}
#character-guide .cg-stage.past .cg-stage-num {
  background: var(--cg-soft);
  color: var(--cg-accent);
}
#character-guide .cg-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 218px;
  gap: 18px;
  align-items: start;
}
#character-guide .cg-layout.cg-wide {
  grid-template-columns: minmax(0, 1fr);
}
#character-guide .cg-content {
  background: var(--cg-panel);
  padding: 25px;
  border: 1px solid var(--cg-line);
  border-radius: var(--cg-radius);
  min-width: 0;
  min-height: 440px;
}
#character-guide .cg-content h2 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.3px;
  line-height: 1.5;
}
#character-guide .cg-overline {
  color: var(--cg-accent);
  font-size: 12px;
  margin-bottom: 10px;
}
#character-guide .cg-helper {
  font-size: 13px;
  color: var(--cg-muted);
  margin-top: 9px;
  overflow-wrap: anywhere;
}
#character-guide .cg-entrances {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
  margin: 28px 0 18px;
}
#character-guide .cg-entrance {
  border: 1px solid var(--cg-line);
  border-radius: 12px;
  background: var(--cg-fill);
  padding: 25px 22px;
  text-align: left;
  color: var(--cg-ink);
  min-width: 0;
}
#character-guide .cg-entrance:hover {
  border-color: var(--cg-accent);
  background: var(--cg-soft);
}
#character-guide .cg-entrance-visual {
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cg-accent);
  margin-bottom: 16px;
}
#character-guide .cg-entrance strong {
  display: block;
  font-size: 19px;
  font-weight: 500;
}
#character-guide .cg-entrance small {
  font-size: 13px;
  color: var(--cg-muted);
  margin: 9px 0 20px;
}
#character-guide .cg-entrance-end {
  font-size: 12px;
  color: var(--cg-accent);
}
#character-guide .cg-fan {
  position: relative;
  width: 83px;
  height: 67px;
}
#character-guide .cg-fan:before,
#character-guide .cg-fan:after,
#character-guide .cg-fan > span {
  content: "";
  position: absolute;
  left: 19px;
  top: 3px;
  height: 63px;
  width: 48px;
  border-radius: 8px;
  background: var(--cg-panel);
  border: 1px solid var(--cg-dim);
}
#character-guide .cg-fan:before {
  transform: rotate(-16deg);
  left: 8px;
}
#character-guide .cg-fan:after {
  transform: rotate(16deg);
  left: 31px;
}
#character-guide .cg-fan > span {
  z-index: 1;
  display: grid;
  place-items: center;
  font-size: 30px;
  border-color: var(--cg-accent);
  color: var(--cg-accent);
}
#character-guide .cg-notes {
  padding: 11px 14px;
  border: 1px solid var(--cg-accent);
  border-radius: 8px;
  background: var(--cg-panel);
  display: grid;
  gap: 8px;
  transform: rotate(-5deg);
}
#character-guide .cg-notes > span {
  height: 6px;
  width: 58px;
  border-radius: 3px;
  background: var(--cg-soft);
}
#character-guide .cg-notes > span:last-child {
  width: 38px;
  background: var(--cg-accent);
  opacity: 0.7;
}
#character-guide .cg-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 23px;
}
#character-guide .cg-option {
  position: relative;
  border: 1px solid var(--cg-line);
  border-radius: 10px;
  color: var(--cg-ink);
  background: var(--cg-panel);
  padding: 0;
  overflow: hidden;
  text-align: left;
  min-width: 0;
}
#character-guide .cg-option:hover {
  border-color: var(--cg-accent);
}
#character-guide .cg-option[aria-pressed="true"] {
  border-color: var(--cg-accent);
  box-shadow: inset 0 0 0 1px var(--cg-accent);
  background: var(--cg-soft);
}
#character-guide .cg-check {
  position: absolute;
  right: 8px;
  top: 8px;
  height: 20px;
  width: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--cg-panel);
  border: 1px solid var(--cg-dim);
  color: transparent;
  z-index: 4;
  font-size: 12px;
}
#character-guide .cg-option[aria-pressed="true"] .cg-check {
  color: var(--cg-on);
  background: var(--cg-accent);
  border-color: var(--cg-accent);
}
#character-guide .cg-option-copy {
  display: block;
  padding: 10px 12px 12px;
}
#character-guide .cg-option-copy strong {
  font-weight: 500;
  display: block;
  font-size: 14px;
}
#character-guide .cg-option-copy small {
  color: var(--cg-muted);
  font-size: 11px;
  margin-top: 3px;
  overflow-wrap: anywhere;
}
#character-guide .cg-art {
  height: 83px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cg-fill);
  position: relative;
  overflow: hidden;
}
#character-guide .cg-art-symbol {
  font-size: 32px;
  color: var(--cg-accent);
  opacity: 0.8;
}
#character-guide .cg-person {
  width: 60px;
  height: 70px;
  position: relative;
  margin-top: 13px;
  --hair: light-dark(#576779, #869db6);
}
#character-guide .cg-person .cg-body {
  position: absolute;
  left: 6px;
  bottom: -15px;
  height: 44px;
  width: 48px;
  border-radius: 23px 23px 4px 4px;
  background: var(--cg-accent);
  opacity: 0.78;
}
#character-guide .cg-person .cg-face {
  position: absolute;
  left: 14px;
  top: 12px;
  width: 32px;
  height: 38px;
  border-radius: 17px 17px 13px 13px;
  background: light-dark(#ead8c4, #c7a98b);
  z-index: 1;
}
#character-guide .cg-person .cg-hair {
  position: absolute;
  left: 10px;
  top: 6px;
  width: 40px;
  height: 24px;
  border-radius: 22px 22px 7px 7px;
  background: var(--hair);
  z-index: 2;
}
#character-guide .cg-person .cg-eyes {
  position: absolute;
  left: 7px;
  top: 18px;
  height: 2px;
  width: 5px;
  background: light-dark(#4c5863, #35404a);
  border-radius: 2px;
  box-shadow: 13px 0 0 light-dark(#4c5863, #35404a);
}
#character-guide .cg-person .cg-mouth {
  position: absolute;
  left: 13px;
  top: 27px;
  width: 8px;
  height: 3px;
  border-bottom: 1px solid light-dark(#876354, #715044);
  border-radius: 0 0 6px 6px;
}
#character-guide .cg-art[data-mood="lively"] .cg-mouth {
  height: 5px;
  width: 10px;
  left: 12px;
  background: light-dark(#b67b73, #a05d55);
  border-bottom: 0;
}
#character-guide .cg-art[data-mood="mysterious"] {
  background: light-dark(#e9e7f0, #302d43);
}
#character-guide .cg-art[data-mood="calm"] .cg-mouth {
  border-radius: 0;
}
#character-guide .cg-art[data-shape="long"] .cg-hair {
  height: 59px;
  width: 47px;
  left: 7px;
  border-radius: 21px 21px 4px 4px;
  z-index: 0;
}
#character-guide .cg-art[data-shape="shoulder"] .cg-hair {
  height: 45px;
  width: 47px;
  left: 7px;
  border-radius: 21px 21px 8px 8px;
  z-index: 0;
}
#character-guide .cg-art[data-shape="ponytail"] .cg-hair {
  box-shadow: 19px 5px 0 -3px var(--hair);
}
#character-guide .cg-art[data-world="modern"] .cg-buildings,
#character-guide .cg-art[data-world="future"] .cg-buildings {
  width: 25px;
  height: 36px;
  background: var(--cg-accent);
  box-shadow:
    -29px 11px 0 light-dark(#a9c4c9, #456b73),
    29px -10px 0 light-dark(#8baab3, #56818d);
  position: absolute;
  bottom: 0;
  opacity: 0.8;
  border-radius: 3px 3px 0 0;
}
#character-guide .cg-art[data-world="future"] {
  background: linear-gradient(145deg, var(--cg-fill), var(--cg-soft));
}
#character-guide .cg-art[data-world="fantasy"]:before {
  content: "";
  width: 85px;
  height: 85px;
  background: var(--cg-accent);
  position: absolute;
  left: 22%;
  top: 52px;
  transform: rotate(45deg);
  opacity: 0.28;
  border-radius: 7px;
}
#character-guide .cg-art[data-world="fantasy"]:after {
  content: "";
  width: 55px;
  height: 55px;
  background: var(--cg-accent);
  position: absolute;
  right: 19%;
  top: 53px;
  transform: rotate(45deg);
  opacity: 0.5;
  border-radius: 5px;
}
#character-guide .cg-art[data-world="ancient"] .cg-roof {
  height: 33px;
  width: 46px;
  background: var(--cg-accent);
  position: absolute;
  top: 34px;
  border-radius: 4px;
  opacity: 0.6;
}
#character-guide .cg-art[data-world="ancient"] .cg-roof:before,
#character-guide .cg-art[data-world="ancient"] .cg-roof:after {
  content: "";
  position: absolute;
  height: 11px;
  width: 66px;
  left: -10px;
  background: light-dark(#748b99, #66889d);
  border-radius: 50% 50% 3px 3px;
}
#character-guide .cg-art[data-world="ancient"] .cg-roof:before {
  top: -8px;
}
#character-guide .cg-art[data-world="ancient"] .cg-roof:after {
  top: 10px;
}
#character-guide .cg-swatch {
  height: 42px;
  width: 42px;
  border-radius: 50%;
  border: 3px solid var(--cg-panel);
  box-shadow: 0 3px 10px #00000010;
}
#character-guide .cg-art[data-style="watercolor"] {
  background:
    radial-gradient(
      ellipse at 25% 40%,
      light-dark(#c9e3e580, #31565c80),
      transparent 60%
    ),
    radial-gradient(
      ellipse at 65% 55%,
      light-dark(#ead2d880, #50354380),
      transparent 65%
    ),
    var(--cg-fill);
}
#character-guide .cg-art[data-style="watercolor"] .cg-person {
  filter: blur(0.5px);
  opacity: 0.75;
}
#character-guide .cg-art[data-style="painterly"] {
  background: repeating-linear-gradient(
    135deg,
    light-dark(#dacbb9, #514638) 0 8px,
    light-dark(#dce5d5, #344633) 8px 15px,
    light-dark(#d4dbdf, #364c59) 15px 22px
  );
}
#character-guide .cg-art[data-style="realistic"] {
  background: linear-gradient(
    120deg,
    light-dark(#e3d9c9, #4c4438),
    var(--cg-panel),
    light-dark(#c3d6d5, #354e4c)
  );
}
#character-guide .cg-other {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 12px;
  margin-top: 12px;
  border: 1px dashed var(--cg-dim);
  border-radius: 8px;
  background: var(--cg-panel);
  color: var(--cg-muted);
  min-height: 43px;
  font-size: 12px;
  text-align: left;
}
#character-guide .cg-other-panel {
  background: var(--cg-fill);
  border: 1px solid var(--cg-line);
  border-radius: 9px;
  margin-top: 12px;
  padding: 14px;
}
#character-guide .cg-inline {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
#character-guide .cg-input-line {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 7px;
}
#character-guide input[type="text"] {
  min-width: 0;
  width: 100%;
  padding: 9px 11px;
  border: 1px solid var(--cg-dim);
  background: var(--cg-panel);
  color: var(--cg-ink);
  border-radius: 7px;
  font-size: 16px;
}
#character-guide .cg-input-line input {
  flex: 1;
}
#character-guide .cg-field-label {
  display: block;
  margin-top: 12px;
  font-size: 12px;
  color: var(--cg-muted);
}
#character-guide .cg-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid var(--cg-line);
  background: var(--cg-panel);
  color: var(--cg-ink);
  font-size: 12px;
  text-align: center;
}
#character-guide .cg-button.primary {
  background: var(--cg-accent);
  border-color: var(--cg-accent);
  color: var(--cg-on);
}
#character-guide .cg-button.soft {
  background: var(--cg-soft);
  border-color: transparent;
  color: var(--cg-accent);
}
#character-guide .cg-button.quiet {
  background: transparent;
  border-color: transparent;
  color: var(--cg-muted);
  padding: 8px 2px;
}
#character-guide .cg-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  border-top: 1px solid var(--cg-line);
  padding-top: 18px;
  margin-top: 22px;
}
#character-guide .cg-foot-right {
  display: flex;
  gap: 9px;
  align-items: center;
  flex-wrap: wrap;
}
#character-guide .cg-note {
  font-size: 11px;
  color: var(--cg-muted);
  margin-top: 12px;
  overflow-wrap: anywhere;
}
#character-guide .cg-notice {
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--cg-soft);
  color: var(--cg-accent);
  font-size: 12px;
  margin-top: 14px;
  overflow-wrap: anywhere;
}
#character-guide .cg-error {
  color: light-dark(#a44f3a, #ffb69e);
  font-size: 12px;
  margin-top: 10px;
}
#character-guide .cg-custom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  background: var(--cg-soft);
  border-radius: 7px;
  padding: 9px 12px;
  font-size: 12px;
  margin-top: 10px;
  color: var(--cg-accent);
  overflow-wrap: anywhere;
}
#character-guide .cg-custom button {
  border: 0;
  background: transparent;
  color: var(--cg-accent);
  min-height: 30px;
  min-width: 30px;
}
#character-guide .cg-aside {
  padding: 18px;
  border: 1px solid var(--cg-line);
  border-radius: var(--cg-radius);
  background: var(--cg-panel);
  min-width: 0;
}
#character-guide .cg-aside-title {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
}
#character-guide .cg-aside h3 {
  font-size: 11px;
  font-weight: 400;
  color: var(--cg-muted);
  margin: 17px 0 8px;
}
#character-guide .cg-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
#character-guide .cg-tag {
  background: var(--cg-fill);
  border: 1px solid var(--cg-line);
  color: var(--cg-ink);
  border-radius: 6px;
  padding: 4px 7px;
  font-size: 11px;
  text-align: left;
  max-width: 100%;
  overflow-wrap: anywhere;
}
#character-guide .cg-tag:hover {
  border-color: var(--cg-accent);
  color: var(--cg-accent);
}
#character-guide .cg-empty {
  font-size: 12px;
  color: var(--cg-muted);
}
#character-guide .cg-live {
  font-size: 12px;
  line-height: 1.9;
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid var(--cg-line);
  overflow-wrap: anywhere;
}
#character-guide .cg-mobile-selected {
  display: none;
  margin-bottom: 16px;
  padding: 10px 12px;
  background: var(--cg-fill);
  border-radius: 8px;
}
#character-guide .cg-mobile-selected summary {
  font-size: 12px;
  color: var(--cg-muted);
  min-height: 25px;
}
#character-guide .cg-mobile-selected .cg-tags {
  margin-top: 9px;
}
#character-guide .cg-draft {
  margin-top: 21px;
  background: var(--cg-fill);
  border-left: 3px solid var(--cg-accent);
  padding: 20px;
  border-radius: 0 9px 9px 0;
}
#character-guide .cg-draft-label {
  font-size: 12px;
  color: var(--cg-accent);
  margin-bottom: 8px;
}
#character-guide .cg-description {
  font-size: 15px;
  line-height: 1.95;
  overflow-wrap: anywhere;
}
#character-guide .cg-draft .cg-tags {
  margin-top: 15px;
}
#character-guide .cg-preview-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
}
#character-guide .cg-optional {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 25px;
}
#character-guide .cg-optional button {
  padding: 20px;
  text-align: left;
  border: 1px solid var(--cg-line);
  border-radius: 9px;
  background: var(--cg-fill);
  color: var(--cg-ink);
  min-width: 0;
}
#character-guide .cg-optional strong {
  display: block;
  font-weight: 500;
  font-size: 15px;
}
#character-guide .cg-optional small {
  color: var(--cg-muted);
  font-size: 12px;
  margin-top: 6px;
}
#character-guide .cg-review-section {
  padding: 18px 0;
  border-bottom: 1px solid var(--cg-line);
}
#character-guide .cg-review-section h3 {
  font-size: 12px;
  color: var(--cg-accent);
  font-weight: 500;
  margin-bottom: 9px;
}
#character-guide .cg-review-section .cg-tags {
  margin-top: 12px;
}
#character-guide .cg-suggest {
  padding: 14px;
  margin-top: 15px;
  background: var(--cg-fill);
  border-radius: 9px;
}
#character-guide .cg-suggest label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: 44px;
  font-size: 13px;
}
#character-guide .cg-suggest small {
  color: var(--cg-muted);
  margin-top: 4px;
}
#character-guide input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--cg-accent);
  margin: 4px 0 0;
  flex: none;
}
@media (max-width: 940px) {
  #character-guide {
    grid-template-columns: 144px minmax(0, 1fr);
  }
  #character-guide .cg-layout {
    grid-template-columns: minmax(0, 1fr) 184px;
    gap: 12px;
  }
  #character-guide .cg-content {
    padding: 20px;
  }
  #character-guide .cg-aside {
    padding: 15px;
  }
  #character-guide .cg-layout.cg-wide {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 780px) {
  #character-guide {
    grid-template-columns: minmax(0, 1fr);
  }
  #character-guide .cg-heading {
    padding: 22px 0 17px;
  }
}
@media (max-width: 580px) {
  #character-guide h1 {
    font-size: 24px;
  }
  #character-guide .cg-heading p {
    font-size: 12px;
  }
  #character-guide .cg-stages {
    gap: 7px;
    margin-bottom: 17px;
  }
  #character-guide .cg-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  #character-guide .cg-aside {
    display: none;
  }
  #character-guide .cg-content {
    padding: 18px;
    min-height: 0;
  }
  #character-guide .cg-content h2 {
    font-size: 20px;
  }
  #character-guide .cg-entrances {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-top: 21px;
  }
  #character-guide .cg-entrance {
    padding: 18px;
    display: grid;
    grid-template-columns: 75px minmax(0, 1fr);
    gap: 14px;
  }
  #character-guide .cg-entrance-visual {
    height: auto;
    min-height: 88px;
    margin: 0;
    grid-row: 1/4;
  }
  #character-guide .cg-entrance strong {
    font-size: 17px;
  }
  #character-guide .cg-entrance small {
    font-size: 12px;
    margin: 0;
  }
  #character-guide .cg-entrance-end {
    font-size: 12px;
  }
  #character-guide .cg-options {
    gap: 10px;
    margin-top: 19px;
  }
  #character-guide .cg-option-copy {
    padding: 10px;
  }
  #character-guide .cg-option-copy small {
    font-size: 11px;
  }
  #character-guide .cg-button {
    min-height: 44px;
    padding: 9px 12px;
  }
  #character-guide .cg-button.quiet {
    padding: 8px 2px;
  }
  #character-guide .cg-mobile-selected {
    display: block;
  }
  #character-guide .cg-tag {
    min-height: 34px;
    padding: 6px 8px;
  }
  #character-guide .cg-description {
    font-size: 14px;
  }
  #character-guide .cg-optional button {
    padding: 15px;
  }
  #character-guide .cg-draft {
    padding: 16px;
  }
  #character-guide .cg-foot {
    gap: 9px;
  }
  #character-guide .cg-optional {
    gap: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #character-guide button {
    transition: none;
  }
}

#character-guide {
  display: block;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
#character-guide .cg-heading {
  padding-top: 0;
}
#character-guide .cg-content h2:focus {
  outline: none;
}
#character-guide button {
  cursor: pointer;
}
#character-guide button:focus-visible,
#character-guide input:focus-visible,
#character-guide textarea:focus-visible,
#character-guide summary:focus-visible {
  outline: 3px solid var(--cg-accent);
  outline-offset: 3px;
}
#character-guide .cg-swatch[data-color="black"] {
  background: #3e424b;
}
#character-guide .cg-swatch[data-color="brown"] {
  background: #987053;
}
#character-guide .cg-swatch[data-color="silver"] {
  background: #c5cbd3;
}
#character-guide .cg-swatch[data-color="pink"] {
  background: #d59dab;
}
#character-guide .cg-swatch[data-color="blue"] {
  background: #7795be;
}
#character-guide .cg-swatch[data-color="white"] {
  background: #e6e6dc;
}
#character-guide .cg-swatch[data-color="gold"] {
  background: #d5b770;
}
#character-guide .cg-swatch[data-color="red"] {
  background: #ab6057;
}
#character-guide .cg-final label {
  display: block;
  margin: 18px 0 8px;
  font-weight: 500;
}
#character-guide .cg-final textarea {
  display: block;
  width: 100%;
  min-height: 145px;
  resize: vertical;
  border: 1px solid var(--cg-line);
  border-radius: 8px;
  padding: 12px;
  background: var(--cg-panel);
  color: var(--cg-ink);
  font: inherit;
}
#character-guide .cg-final input {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--cg-line);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--cg-panel);
  color: var(--cg-ink);
}
#character-guide .cg-final .text-ai-tools label {
  margin: 0;
}
#character-guide .cg-final .text-ai-tools input {
  width: auto;
}
.cg-toolbar {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
#character-guide[data-guide-five] .cg-stages {
  max-width: none;
  flex-wrap: wrap;
}
#character-guide .cg-five-group { margin: 24px 0; }
#character-guide .cg-five-group h3 { margin-bottom: 10px; }
#character-guide .cg-five-group .cg-inline { margin-top: 10px; }
#character-guide .cg-preset-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
#character-guide .cg-preset-grid .cg-entrance { padding: 16px; }
#character-guide .cg-final input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  padding: 0;
  vertical-align: middle;
}
#character-guide[data-guide-five] input[type="text"],
#character-guide[data-guide-five] select { max-width: 100%; }
#character-guide[data-guide-five] .cg-aside p { overflow-wrap: anywhere; margin: 12px 0; }
#character-guide[data-guide-five] .cg-aside .cg-button { margin: 4px; }
@media (max-width: 580px) {
  #character-guide .cg-preset-grid { grid-template-columns: minmax(0, 1fr); }
  #character-guide[data-guide-five] .cg-stage { font-size: 11px; }
  #character-guide[data-guide-five] .cg-stages { gap: 8px; }
  #character-guide[data-guide-five] .cg-input-line { flex-wrap: wrap; }
}
@media (max-width: 580px) {
  #character-guide .cg-foot-right {
    width: 100%;
    justify-content: flex-end;
  }
  #character-guide .cg-optional,
  #character-guide .cg-entrances {
    grid-template-columns: minmax(0, 1fr);
  }
}
