/* POP ART STYLE v1.4 - 无圆点版 */

.pop-stage,
.pop-stage * {
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.01em;
  box-sizing: border-box;
}

.pop-stage {
  position: relative;
  display: block;
  margin: -12px -16px;
  padding: 22px 18px 18px;
  background-color: #fffdf5;
  border: 4px solid #0a0a0a;
  border-radius: 14px;
  box-shadow: 8px 8px 0 0 #0a0a0a;
  overflow: hidden;
  color: #0a0a0a;
}

.pop-stage::before {
  content: "POP CHRONICLE  N001  寒箫峰特别篇";
  display: block;
  margin: -22px -18px 16px;
  padding: 6px 14px;
  background: #ff2e4c;
  color: #ffffff;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.25em;
  text-align: center;
  border-bottom: 4px solid #0a0a0a;
}

.pop-stage::after {
  content: "BANG!";
  position: absolute;
  top: 30px;
  right: -18px;
  transform: rotate(18deg);
  background: #ffd60a;
  color: #0a0a0a;
  font-weight: 900;
  font-size: 14px;
  padding: 6px 22px;
  letter-spacing: 0.15em;
  border: 3px solid #0a0a0a;
  z-index: 5;
  pointer-events: none;
}

.pop-statusbar {
  position: relative;
  background: #ffd60a;
  border: 3px solid #0a0a0a;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 16px;
  box-shadow: 3px 3px 0 0 #0a0a0a;
}

.pop-status-title {
  display: inline-block;
  background: #0a0a0a;
  color: #ffd60a;
  font-weight: 900;
  font-size: 13px;
  padding: 4px 12px;
  margin-bottom: 10px;
  letter-spacing: 0.18em;
  border-radius: 4px;
  transform: skewX(-8deg);
}

.pop-status-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.pop-status-cell {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  border: 2px solid #0a0a0a;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 13px;
  color: #0a0a0a;
}

.pop-status-cell-wide {
  grid-column: 1 / -1;
}

.pop-status-icon {
  font-size: 16px;
}

.pop-status-label {
  background: #2dabff;
  color: #ffffff;
  font-weight: 800;
  font-size: 11px;
  padding: 2px 7px;
  border-radius: 3px;
  border: 1px solid #0a0a0a;
  letter-spacing: 0.05em;
}

.pop-status-value {
  color: #0a0a0a;
  font-weight: 600;
}

.pop-narrative {
  position: relative;
  background-color: #fffdf2;
  border: 3px solid #0a0a0a;
  border-radius: 12px;
  padding: 22px 20px 20px;
  margin: 0 0 20px 0;
  box-shadow: 6px 6px 0 0 #0a0a0a;
}

.pop-narrative::before {
  content: "NARRATIVE";
  position: absolute;
  top: -14px;
  left: 18px;
  background: #ff2e4c;
  color: #ffffff;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 0.2em;
  padding: 3px 12px;
  border: 2px solid #0a0a0a;
  border-radius: 4px;
}

.pop-narrative p {
  font-size: 15px;
  line-height: 1.95;
  color: #0a0a0a;
  margin: 0 0 12px 0;
  font-weight: 500;
}

.pop-panel {
  position: relative;
  background: #ffffff;
  border: 3px solid #0a0a0a;
  border-radius: 10px;
  margin: 12px 0;
  box-shadow: 3px 3px 0 0 #0a0a0a;
  overflow: hidden;
}

.pop-summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  font-weight: 900;
  font-size: 14px;
  color: #0a0a0a;
  background: #fff8e1;
  border-bottom: 2px solid #0a0a0a;
  letter-spacing: 0.04em;
  user-select: none;
}

.pop-summary::-webkit-details-marker {
  display: none;
}

.pop-summary-icon {
  font-size: 16px;
  background: #ffffff;
  border: 2px solid #0a0a0a;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
}

.pop-panel-body {
  padding: 12px 14px 14px 14px;
}

.pop-panel-user > .pop-summary {
  background: #2dabff;
  color: #ffffff;
}

.pop-panel-master > .pop-summary {
  background: #ff7ab6;
  color: #0a0a0a;
}

.pop-panel-body-info > .pop-summary {
  background: #ffd1e4;
  color: #0a0a0a;
}

.pop-panel-secret > .pop-summary {
  background: #0a0a0a;
  color: #ff2e4c;
}

.pop-panel-memory > .pop-summary {
  background: #ffd60a;
  color: #0a0a0a;
}

.pop-panel-options > .pop-summary {
  background: #ff2e4c;
  color: #ffffff;
}

.pop-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px dashed #cccccc;
  font-size: 14px;
  line-height: 1.7;
}

.pop-row:last-child {
  border-bottom: none;
}

.pop-row-block {
  flex-direction: column;
  align-items: stretch;
}

.pop-key {
  flex-shrink: 0;
  min-width: 64px;
  text-align: center;
  background: #0a0a0a;
  color: #ffd60a;
  font-weight: 800;
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 4px;
  letter-spacing: 0.08em;
}

.pop-val {
  color: #0a0a0a;
  font-weight: 500;
}

.pop-num {
  color: #ff2e4c;
  font-weight: 900;
}

.pop-sub {
  color: #777777;
  font-size: 12px;
}

.pop-pending {
  color: #888888;
  font-style: italic;
  font-size: 13px;
}

.pop-tag {
  display: inline-block;
  padding: 2px 10px;
  font-size: 12px;
  font-weight: 800;
  border: 2px solid #0a0a0a;
  border-radius: 999px;
  margin: 0 2px;
  box-shadow: 2px 2px 0 0 #0a0a0a;
  letter-spacing: 0.05em;
}

.pop-tag-danger {
  background: #ff2e4c;
  color: #ffffff;
}

.pop-tag-info {
  background: #2dabff;
  color: #ffffff;
}

.pop-tag-soft {
  background: #fff8e1;
  color: #0a0a0a;
}

.pop-meter {
  display: inline-block;
  vertical-align: middle;
  width: 140px;
  height: 14px;
  background: #ffffff;
  border: 2px solid #0a0a0a;
  border-radius: 999px;
  overflow: hidden;
  margin-right: 6px;
  box-shadow: 2px 2px 0 0 #0a0a0a;
}

.pop-meter-fill {
  display: block;
  height: 100%;
  width: 0%;
  background-image: repeating-linear-gradient(45deg, #ff2e4c 0px, #ff2e4c 6px, #ff6b81 6px, #ff6b81 12px);
}

.pop-meter-num {
  font-weight: 900;
  color: #ff2e4c;
  font-size: 13px;
  margin-right: 6px;
}

.pop-quote {
  display: block;
  position: relative;
  background: #ffffff;
  border: 2px solid #0a0a0a;
  border-radius: 18px;
  padding: 12px 16px;
  margin: 6px 0 4px 14px;
  font-size: 14px;
  font-style: italic;
  color: #2a2a2a;
  box-shadow: 3px 3px 0 0 #0a0a0a;
}

.pop-quote::before {
  content: "";
  position: absolute;
  left: -10px;
  bottom: 8px;
  width: 14px;
  height: 14px;
  background: #ffff;
  border: 2px solid #0a0a0a;
  border-radius: 50%;
}

.pop-quote::after {
  content: "";
  position: absolute;
  left: -22px;
  bottom: 0;
  width: 8px;
  height: 8px;
  background: #ffffff;
  border: 2px solid #0a0a0a;
  border-radius: 50%;
}

.pop-locked {
  text-align: center;
  padding: 18px;
  font-weight: 900;
  letter-spacing: 0.3em;
  color: #ff2e4c;
  background-color: #1a1a1a;
  border: 2px dashed #ff2e4c;
  border-radius: 6px;
}

.pop-mem-group {
  margin-bottom: 10px;
}

.pop-mem-group:last-child {
  margin-bottom: 0;
}

.pop-mem-title {
  font-weight: 900;
  font-size: 13px;
  color: #0a0a0a;
  background: #ffd60a;
  display: inline-block;
  padding: 3px 10px;
  border: 2px solid #0a0a0a;
  border-radius: 4px;
  margin-bottom: 8px;
  letter-spacing: 0.1em;
}

.pop-mem-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pop-mem-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  margin-bottom: 6px;
  background: #ffffff;
  border: 2px solid #0a0a0a;
  border-left: 6px solid #2dabff;
  border-radius: 4px;
  font-size: 13px;
  box-shadow: 2px 2px 0 0 #0a0a0a;
}

.pop-mem-tag {
  font-weight: 900;
  font-size: 11px;
  padding: 2px 8px;
  border: 1px solid #0a0a0a;
  border-radius: 3px;
  letter-spacing: 0.08em;
}

.pop-mem-tag-perm {
  background: #ff2e4c;
  color: #ffffff;
}

.pop-mem-tag-short {
  background: #ffd60a;
  color: #0a0a0a;
}

.pop-mem-id {
  font-family: "Courier New", monospace;
  font-weight: 900;
  color: #999999;
  font-size: 12px;
}

.pop-mem-key {
  font-weight: 800;
  color: #0a0a0a;
  background: #fff8e1;
  padding: 1px 8px;
  border-radius: 3px;
}

.pop-mem-text {
  color: #2a2a2a;
  flex: 1;
  min-width: 60%;
}

.pop-options {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.pop-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background-color: #ffffff;
  border: 3px solid #0a0a0a;
  border-radius: 8px;
  box-shadow: 4px 4px 0 0 #0a0a0a;
  font-weight: 700;
  font-size: 14px;
  color: #0a0a0a;
  cursor: pointer;
}

.pop-option-num {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  background: #ff2e4c;
  color: #ffffff;
  font-weight: 900;
  border: 2px solid #0a0a0a;
  border-radius: 50%;
  font-size: 14px;
}

.pop-option-free {
  background-color: #ffd60a;
}

.pop-option-free .pop-option-num {
  background: #0a0a0a;
  color: #ffd60a;
}

@media (max-width: 520px) {
  .pop-status-grid {
    grid-template-columns: 1fr;
  }
  .pop-narrative p {
    font-size: 14px;
    line-height: 1.85;
  }
  .pop-meter {
    width: 100px;
  }
}