:메시지/styles.css

식물 vs 좀비 위키
imported>Ljyee님의 2026년 7월 11일 (토) 21:15 판
/* =========================
Template:메시지/styles.css
========================= */

/* 메시지 전체 시작 */
.pvz-message {
  --message-color: #479745;
  --message-hole-bg: #fff2dc;
  --message-card-bg: #fffaf3;
  --message-text: #111;

  position: relative;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);

  width: 90%;
  max-width: 720px;
  margin: 12px auto;

  box-sizing: border-box;
  filter: drop-shadow(8px 9px 4px rgba(0, 0, 0, 0.22));
}
/* 메시지 전체 끝 */

.pvz-message-tag {
  position: relative;
  min-width: 0;
  padding: 14px 12px 14px 48px;

  background: var(--message-color);
  clip-path: polygon(23% 0, 100% 0, 100% 100%, 23% 100%, 0 50%);
  overflow: hidden;
}

.pvz-message-hole {
  position: absolute;
  left: 11.5%;
  top: 50%;

  width: 24px;
  height: 24px;

  background: var(--message-hole-bg);
  border-radius: 50%;
  transform: translate(-50%, -50%);

  box-shadow: inset 0 4px 5px -4px rgba(0, 0, 0, 0.38);
}

.pvz-message-image {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 23%;

  display: grid;
  place-items: center;

  min-width: 0;
  text-align: center;
  pointer-events: none;
}

.pvz-message-image a,
.pvz-message-image .mw-file-description {
  display: inline-block;
  max-width: 100%;
  pointer-events: auto;
}

.pvz-message-image img {
  display: block;
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto;

  object-fit: contain;
  filter: drop-shadow(2px 3px 1px rgba(0, 0, 0, 0.24));
}

.pvz-message-card {
  min-width: 0;
  margin-left: -1px;
  padding: 14px 12px 12px 14px;

  background: var(--message-card-bg);
  border: 3px solid var(--message-color);
}

.pvz-message-content {
  min-width: 0;
  padding: 6px 0 0 7px;

  color: var(--message-text);
  font-size: 1em;
  line-height: 1.58;
  text-align: left;
}

.pvz-message-heading {
  margin: 0 0 2px;
  padding: 0;

  color: var(--message-text);
  font-size: inherit;
  line-height: 1.55;
  text-align: left;
}

.pvz-message-heading p {
  display: inline;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
}

.pvz-message-text {
  min-width: 0;
  margin: 0;
  padding: 0;

  color: inherit;
  font-size: inherit;
  line-height: inherit;
  text-align: inherit;
}

.pvz-message-text p:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.pvz-message-text p:last-child {
  margin-bottom: 0;
}

/* 다크모드 대응 시작 */
@media (prefers-color-scheme: dark) {
  .pvz-message {
    --message-hole-bg: #352d23;
    --message-card-bg: #211e1a;
    --message-text: #f5efe6;
  }
}

html.skin-theme-clientpref-night .pvz-message,
html.client-dark-mode .pvz-message,
html.mw-theme-night .pvz-message,
html.theme-dark .pvz-message,
html.dark .pvz-message,
body.skin-theme-clientpref-night .pvz-message,
body.client-dark-mode .pvz-message,
body.mw-theme-night .pvz-message,
body.theme-dark .pvz-message,
body.dark .pvz-message {
  --message-hole-bg: #352d23;
  --message-card-bg: #211e1a;
  --message-text: #f5efe6;
}
/* 다크모드 대응 끝 */

/* 아이폰 가로 화면 부근 대응 시작 */
@media (min-width: 750px) and (max-width: 900px) {
  .pvz-message {
    grid-template-columns: 150px minmax(0, 1fr);
  }

  .pvz-message-tag {
    padding: 12px 8px 12px 30px;
  }

  .pvz-message-hole {
    width: 20px;
    height: 20px;
  }
}
/* 아이폰 가로 화면 부근 대응 끝 */

/* 반응형 대응 시작 */
@media (max-width: 749px) {
  .pvz-message {
    grid-template-columns: 112px minmax(0, 1fr);

    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .pvz-message-tag {
    padding: 16px 10px 16px 38px;
  }

  .pvz-message-card {
    padding: 12px 10px 10px 12px;
  }

  .pvz-message-content {
    padding: 5px 0 0 6px;
    font-size: 1em;
    line-height: 1.55;
  }
}

@media (max-width: 520px) {
  .pvz-message {
    grid-template-columns: 112px minmax(0, 1fr);

    width: 100%;
    max-width: none;
    margin: 12px 0;

    filter: drop-shadow(4px 5px 3px rgba(0, 0, 0, 0.18));
  }

  .pvz-message-tag {
    padding: 14px 8px 14px 34px;

    clip-path: polygon(25% 0, 100% 0, 100% 100%, 25% 100%, 0 50%);
  }

  .pvz-message-image {
    left: 25%;
  }

  .pvz-message-hole {
    left: 12.5%;
    width: 18px;
    height: 18px;
  }

  .pvz-message-card {
    padding: 9px 8px 8px 9px;
    border-width: 2px;
  }

  .pvz-message-content {
    padding: 4px 0 0 5px;
    font-size: 1em;
    line-height: 1.55;
  }

  .pvz-message-heading {
    width: 100%;
    margin-bottom: 1px;
    font-size: inherit;
  }

  .pvz-message-text {
    width: 100%;
  }
}
/* 반응형 대응 끝 */