
/* 폰트 설정 */
.textggu--title3,
.textggu--title4,
.textggu--sub2,
.textggu--sub4 {
  font-family: var(--title-font-family);
}

.textggu--title1,
.textggu--sub1,
.textggu--sub3 {
  font-family: 'TtTogether';
}
.textggu--title6:after {
  font-family:'galmuri9';
}
.textggu--title2{
  font-family: 'NostalgicPopcorn';
}
.textggu--title7 {
  font-family: 'RomanticGumi';
}

.textggu--sub5,
.textggu--etc4 {
  font-family: 'galmuri11';
}
.textggu--etc6 {
  font-family: var(--content-font-family);
}


/* 전역 설정 */
:root {
  --effect-text: var(--card-bg-color);
  --effect-text2: var(--content-font-color);
  --effect-point: var(--primary-color);
  --effect-point2: var(--btn-primary-text);
  --effect-point3:  var(--btn-primary-bg);
  --effect-point4: var(--accent-color);
}

/* _manager.css.php에 편입시키면 위의 코드를
--effect-point: <?=$css['color_point'][0]?>; 로 수정하여
아보카도 관리자 설정의 포인트 색상을 자동 불러오기 할 수 있습니다 */
/* 텍꾸 스타일 */
.txt-box {display: inline-block; padding: 2px 6px; border: 1px solid rgba(0,0,0,0.15); border-radius: 4px; background: rgba(0,0,0,0.04);}
.blur-txt {filter: blur(3px); cursor: pointer; text-decoration: none; color: inherit; transition: filter 0.2s ease;}
.blur-txt:hover {filter: none;}
.blur-txt.none-blur {filter: none;}
.blurtext {filter: blur(3px); cursor: pointer; transition: filter 0.2s ease;}
.blurtext:hover {filter: none;}

/* RA0 markdown checklist */
.ra0-content .ra0-task-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 2px 0;
  color: inherit;
}

.ra0-content .ra0-task-checkbox {
  position: relative;
  flex: none;
  width: 15px;
  height: 15px;
  margin-top: 0;
  border: 1px solid color-mix(in srgb, var(--content-font-color) 30%, transparent);
  border-radius: 4px;
  background: transparent;
}

.ra0-content .ra0-task-checkbox::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 4px;
  height: 8px;
  border-right: 2px solid transparent;
  border-bottom: 2px solid transparent;
  transform: rotate(45deg);
}

.ra0-content .ra0-task-item.is-checked .ra0-task-checkbox {
  border-color: var(--primary-color);
  background: transparent;
}

.ra0-content .ra0-task-item.is-checked .ra0-task-checkbox::after {
  border-right-color: var(--primary-color);
  border-bottom-color: var(--primary-color);
}

.ra0-content .ra0-task-text {
  flex: 1;
  min-width: 0;
}

.ra0-content .ra0-task-item.is-checked .ra0-task-text {
  opacity: 0.66;
  text-decoration: line-through;
}

/* 서식들 */
.textggu--title1 {
  display: inline-block;
    font-size: 40px;
    line-height: 1em;
    margin-top: 0.2em;
  text-fill-color: transparent;
    -webkit-text-fill-color: transparent;
  text-stroke-width: 1px;
    -webkit-text-stroke-width: 1px;
  text-stroke-color: var(--effect-text2);
    -webkit-text-stroke-color: var(--effect-text2);
    text-shadow: 2px 2px var(--effect-point);
}

.textggu--title2 {
      font-size: 38px;
    line-height: 38px;
          margin-left: 3px;
    color: var(--effect-text);
    text-shadow: -1px 0px 0px var(--effect-point), 1px 0px 0px var(--effect-point),0px 1px 0px var(--effect-point), 0px -1px 0px var(--effect-point), 0px 0px 4px rgba(0,0,0,0.7);
      /* font-weight:bold; */
}
.textggu--title3 {
  background-image: url(https://images.unsplash.com/photo-1621799754526-a0d52c49fad5?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80) !important;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 35px;
    line-height: 35px;
  animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: linear;
    animation-name: background--flow;
    background-size: 200%;
  filter: drop-shadow(0px 0px 3px rgba(0,0,0,.3));
}
@keyframes background--flow {
  0% {
    background-position-y: 0%;
}
100% {
    background-position-y: 100%;
}
}
.textggu--title4 {
    color: var(--effect-text2);
    font-size: 35px;
    line-height: 35px;
    background-size: 100%;
    filter: drop-shadow(0px 0px 3px rgba(255,255,255,.3));
    animation: neon-text infinite 5s;
}
@keyframes neon-text {
  0% {
    opacity: 1;
    filter: drop-shadow(0px 0px 3px rgba(255,255,255,.3));
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0px 0px 10px rgba(255,255,255,.6));
  }
  69% {
    opacity: 1;
    filter: drop-shadow(0px 0px 3px rgba(255,255,255,.4));
  }
  70% {
    opacity: .5;
    filter: drop-shadow(0px 0px 0px rgba(255,255,255,.6));
  }
  75% {
    opacity: .5;
    filter: drop-shadow(0px 0px 0px rgba(255,255,255,.6));
  }
  80% {
    opacity: 1;
    filter: drop-shadow(0px 0px 3px rgba(255,255,255,.6));
  }
  81% {
    opacity: .5;
    filter: drop-shadow(0px 0px 0px rgba(255,255,255,.6));
  }
  100% {
    opacity: 1;
    filter: drop-shadow(0px 0px 3px rgba(255,255,255,.3));
  }
}

.textggu--title5{
  display:inline-block;
  font-size:24px;
  font-weight:600;
  letter-spacing:-0.2px;
  position:relative;

  /* 텍스트가 숨 쉬는 느낌 */
  animation: chatAlive 1.6s infinite steps(2, end);
  will-change: transform, filter, text-shadow;
}

/* 핵심: opacity 대신 미세 이동 + 잔광 + 또렷해졌다 흐려짐 */
@keyframes chatAlive{
  0%{
    transform: translateY(0);
    filter: contrast(1);
    text-shadow: 0 0 0 rgba(0,0,0,0);
  }
  50%{
    transform: translateY(-0.6px);
    filter: contrast(1.08);
    text-shadow: 0.6px 0 0 rgba(0,0,0,0.22), -0.4px 0 0 rgba(0,0,0,0.10);
  }
  100%{
    transform: translateY(0);
    filter: contrast(1);
    text-shadow: 0 0 0 rgba(0,0,0,0);
  }
}
.textggu--title5::before{
  content:"|";
  display:inline-block;
  margin: 0 4px;
  animation: chatCursor .9s steps(1) infinite;
}
@keyframes chatCursor{
  0%,49% { opacity:1; }
  50%,100% { opacity:0; }
}

.textggu--title5::after{
  content:"···";
  display:inline-block;
  margin:0 3px;
  animation: typingDots 1.2s infinite steps(1);
}

@keyframes typingDots{
  0%   { opacity:.2; }
  33%  { opacity:.5; }
  66%  { opacity:1; }
  100% { opacity:.2; }
}

.textggu--title6{
  --time-w: 42px;   /* 시간 자리(대충 4자리 기준) */
  --time-gap: 4px;  /* 말풍선과 시간 사이 간격 */

  display:inline-flex;
  align-items:center;

  position:relative;

  background:#2F6FDB;
  color:#fff;
  padding:6px 10px 6px 9px;
  border-radius:10px 10px 10px 0;

  line-height:1.25;
  font-size:15px;
  word-break:keep-all;

  /* ✅ 시간만큼 바깥 공간 예약 */
  margin-right: calc(var(--time-w) + var(--time-gap));
}

.textggu--title6::after{
  content: attr(data-text);
  position:absolute;

  /* ✅ 딱 붙게: gap만큼만 띄우고 바로 옆 */
  left: calc(100% + var(--time-gap));

  /* ✅ 바닥에 붙는 정렬 */
  bottom: 4px;

  width: var(--time-w);
  text-align: left;     /* 캡처처럼 바로 시작 */
  color:#ababab;
  font-size:11px;
  line-height:1;
  white-space:nowrap;
}


.textggu--title7{
  position: relative;
  display: inline-block;
  font-size: 22px;

  margin:5px;
  color: #510000;
  text-decoration: none;
  z-index: 1;

  /* 텍스트를 빛 속에 넣는 느낌 */
  text-shadow:
    0 0 6px rgb(255 0 0 / 80%),
    0 0 6px rgb(255 65 0 / 60%),
    0 0 9px rgb(255 240 199 / 40%);
}

.textggu--title7::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:110%;
  height:140%;
  transform: translate(-50%, -50%);
  z-index:-1;
  /* 타원형 발광 */
  background: radial-gradient(
    ellipse at center,
    rgb(255 0 0 / 95%) 0%,
    rgb(255 51 0 / 85%) 30%,
    rgba(255, 200, 0, 0.65) 55%,
    rgba(255, 240, 200, 0.35) 70%,
    transparent 85%
  );

  filter: blur(8px);
}

.textggu--title7:hover::before{
  filter: blur(12px);
  transform: translate(-50%, -50%) scale(1.05);
}

.textggu--sub1 {
  display:inline-block;
	position:relative;
	font-size:16px;
	line-height:100%;
	overflow:hidden;
	margin: 3px 0px -4px 0px;
	padding: 0px 10px 0px 0px;
}
.textggu--sub1:before {
	display:inline-block;
	content:'';
	background: var(--effect-point);
	width: 10px;
	height: 20px;
	vertical-align:middle;
	margin:0px 3px 0px 0px;
  translate:0px -2px;
}

.textggu--sub2 {
  position: relative;
  background-color: var(--effect-point3);
  color: var(--effect-point2);
  padding: 5px;
  font-size: 15px;
  line-height: 15px;

  display: inline-block;
	margin: 1px 8px;
}
.textggu--sub2::before {
  content: '';
  position: absolute;
  left: -7px;
  top: 0;
  width: 0;
  height: 0;
  border-right: 7px solid var(--effect-point3);
  border-bottom: 25px solid transparent;
}
.textggu--sub2::after {
  content: '';
  position: absolute;
  right: -7px;
  top: 0;
  width: 0;
  height: 0;
  border-left: 7px solid var(--effect-point3);
  border-top: 25px solid transparent;
}
.textggu--sub3 {
  display: inline-block;
  padding: 8px 8px 3px 8px;
  margin: 2px;
  font-size: 16px;
  position: relative;
}
.textggu--sub3::before,
.textggu--sub3::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  transition: 0.35s;
  background: transparent;
  z-index: 1;
}
.textggu--sub3::before {
  top: 0;
  left: 0;
  border-left: 4px solid var(--effect-point);
  border-top: 4px solid var(--effect-point);
}
.textggu--sub3::after {
  bottom: 0;
  right: 0;
  border-right: 4px solid var(--effect-point);
  border-bottom: 4px solid var(--effect-point);
}
.textggu--sub4 {
  display: inline-block;
  padding: 8px 8px 3px 8px;
  margin: 2px;
  font-size: 16px;
  position: relative;
}
.textggu--sub4::before,
.textggu--sub4::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  transition: 0.35s;
  background: transparent;
  z-index: 1;
}
.textggu--sub4::before {
  top: 2px;
  left: -2px;
  border-left: 6px double var(--effect-point);
  border-top: 6px double var(--effect-point);
}
.textggu--sub4::after {
  bottom: -3px;
  right: -3px;
  border-right: 6px double var(--effect-point);
  border-bottom: 6px double var(--effect-point);
}
.textggu--sub5 {
  display: inline-block;
  padding: 8px 8px 3px 8px;
  margin: 2px;
  font-size: 16px;
  line-height: 16px;
  position: relative;
  background: linear-gradient(to right,var(--effect-point), transparent);
  background-size: 90% 40%;
  background-repeat: no-repeat;
  background-position: 50% 70%;

}

.textggu--sub6.typing-active {
  white-space: pre-line;
}

.textggu--sub6.typing-active::before,
.textggu--sub6.typing-active::after {
  content: none;
}

.textggu--sub6 .typing-text {
  white-space: pre-line;
}

.textggu--sub6 .typing-caret {
  display: inline-block;
  width: 1px;
  height: 1em;
  margin-left: 2px;
  vertical-align: -0.12em;
  background: currentColor;
  animation: textggu-caret-blink 0.8s step-end infinite;
}

@keyframes textggu-caret-blink {
  50% {
    opacity: 0;
  }
}

.textggu--sub7 {
  display: inline-block;
  font-size: 15px;
  margin: 0 3px;
  opacity: .3;
  text-shadow: 0 0 .7px color-mix(in srgb, currentColor 22%, transparent);
  transition: opacity .25s ease;
}

.textggu--sub7:hover {
  opacity: 1;
}

/********* 기타 **********/

.textggu--etc1 {
  border-bottom: 3px double #ef535366;
  margin-bottom: -3px;
  display: inline-block;
  height: 16px;
}
.textggu--etc2 {
  background: linear-gradient(45deg, #ffd64973, #ffe14e57);
  border-left: 3px solid #fbdf5e;
  border-right: 3px solid #fbdf5e70;
  text-shadow: 0px 0px 1px var(--shadow);
}
.textggu--etc3 {
  font-size: 15px;
  display: inline-block;
    padding: 1px 7px;
    margin-bottom: 5px;
    border-radius: 5px;
  background-color: var(--effect-point3);
  color: var(--effect-point2);

    transition-duration: .2s;
}
.textggu--etc3:hover {
  translate: 0px -3px;
  box-shadow:0px 3px 0px rgba(0,0,0,.3);
}
.textggu--etc4 {

    display: inline-block;
    padding: 2px 7px;
    margin-bottom: 5px;
    line-height: 18px;
    border-radius: 5px;
  background-color: var(--effect-point3);
  color: var(--effect-point2);
    border: 1px solid var(--effect-point);
    transition-duration: 0.2s;
    box-shadow: 1px 1px 0px rgba(0,0,0,0.3);
}
.textggu--etc4:hover {
  background-color: var(--effect-point2);
  color: var(--effect-point3);
    border: 1px solid var(--effect-text2);
    box-shadow: 1px 1px 0px transparent;
    transform: translateX(1px) translateY(1px);
}
.textggu--etc5 {
  color: white;
    background: linear-gradient(to right, var(--effect-point), var(--effect-point4));
    display: inline-block;
    padding: 2px 12px;
    border-radius: 3px;
    box-shadow: 1px 1px 0px rgba(0,0,0,0.3);
}
.textggu--etc5:hover {
      background-image: url(https://images.unsplash.com/photo-1621799754526-a0d52c49fad5?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80) !important;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: linear;
    animation-name: background--flow;
    background-size: 200%;
    transform: translate(1px,1px);
    box-shadow: none;
}
.textggu--etc6 {
  font-size: 11px;
  color:var(--effect-text);
  text-shadow: -1px -1px 1px var(--effect-text2), 1px -1px 1px var(--effect-text2), -1px 1px 1px var(--effect-text2), 1px 1px 1px var(--effect-text2);
}

/* 양쪽 화살표가 글자를 가리키는 강조: 기타7[내용] */
.textggu--etc7 {
  position: relative;
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.12em 1.65em;
  font-weight: 700;
  line-height: 1.5;
  color: inherit;
  overflow-wrap: anywhere;
  isolation: isolate;
  animation: bounce; 
  animation-duration: 1s;
}

.textggu--etc7::before,
.textggu--etc7::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 1.15em;
  height: 0.8em;
  background: var(--effect-point, currentColor);
  clip-path: polygon(0 38%, 64% 38%, 64% 0, 100% 50%, 64% 100%, 64% 62%, 0 62%);
  pointer-events: none;
}

.textggu--etc7::before {
  left: 0.2em;
  transform: translateY(-50%);
}

.textggu--etc7::after {
  right: 0.2em;
  transform: translateY(-50%) rotate(180deg);
}

/* inline alignment tuning */
[class*="textggu--"] {
  vertical-align: middle;
}

.textggu--title1,
.textggu--title2,
.textggu--title3,
.textggu--title4,
.textggu--title5,
.textggu--title7,
.textggu--sub1,
.textggu--sub2,
.textggu--sub3,
.textggu--sub4,
.textggu--sub5,
.textggu--etc1,
.textggu--etc3,
.textggu--etc4,
.textggu--etc5 {
  vertical-align: middle;
}

.textggu--sub1 {
  margin-top: 0;
  margin-bottom: 0;
}

.textggu--sub1:before {
  translate: 0 -1px;
}

.textggu--sub2,
.textggu--sub3,
.textggu--sub4,
.textggu--sub5,
.textggu--etc3,
.textggu--etc4 {
  margin-top: 0;
  margin-bottom: 0;
}

.textggu--etc1 {
  margin-bottom: 0;
  line-height: 16px;
  vertical-align: baseline;
}

.textggu--title6 {
  vertical-align: middle;
}



/* ═════════════════════════════════════════════════════════════════
짱님 위젯 기워쓰기
═════════════════════════════════════════════════════════════════ */


.tgw-btn { cursor: pointer; }
.tgw-btn.is-open { background: rgba(0, 0, 0, 0.08); }

.tgw-menu {
  display: none;
  position: fixed;
  z-index: 100030;
  box-sizing: border-box;
  width: 320px;
  max-width: calc(100vw - 16px);
  max-height: min(420px, 68vh);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 10px;
  background: #fff;
  color: #333;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
}
.tgw-menu.show { display: block; }
.tgw-group { padding: 10px 0; border-top: 1px solid #f1f5f9; }
.tgw-group:first-child { padding-top: 0; border-top: 0; }
.tgw-group > strong {
  display: block; margin: 0 0 8px;
  color: #64748b; font-size: 11px; font-weight: 700; line-height: 1;
}
.tgw-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.tgw-item {
  display: flex; align-items: center; justify-content: center;
  box-sizing: border-box; width: 100%; height: 46px; min-height: 46px;
  padding: 4px 6px; margin: 0;
  border: 1px solid #e2e8f0; border-radius: 4px; background: #fff;
  overflow: hidden; line-height: 1.2; cursor: pointer; font: inherit; color: inherit;
  transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}
.tgw-item:hover, .tgw-item:focus-visible {
  background: #f8fafc; border-color: #cbd5e1; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08); outline: none;
}
.tgw-item > span, .tgw-item > strong {
  display: inline-flex; align-items: center; justify-content: center;
  max-width: 100%; max-height: 36px;
  pointer-events: none; white-space: nowrap;
  transform: scale(0.58); transform-origin: center;
}
.tgw-item > [class^="textggu--sub"], .tgw-item > [class^="textggu--etc"] { transform: scale(0.78); }

/* ═════════ 위젯이 추가로 제공하는 서식 (색은 textggu.css 맨 위 :root 의 --effect-* 를 따름) ═════════ */

/* 짧은 문법: *기울임*  **굵게**  ***굵게+기울임***  ``박스``  ||블러|| */
span.italictext { font-style: italic; font-family: inherit; }
span.txt-box {
  color: #3f3f3f;
  background-color: #e8e8e8;
  border: 1px solid #cecece;
  padding: 2px 5px;
  border-radius: 5px;
}
span.blur-txt { filter: blur(5px); cursor: pointer; }
span.none-blur { filter: blur(0px); }

/* 체크박스: 브라우저 기본 모양은 비활성일 때 색이 회색으로 고정되므로 직접 그림 (체크 색 = 포인트 색) */
.textggu--checkbox {
  display: block;
  margin: 2px 0;
  cursor: default;
}
.textggu--checkbox input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  flex: none;
  box-sizing: border-box;
  width: 1.1em;
  height: 1.1em;
  margin: 0 6px 0 0;
  vertical-align: -0.2em;
  border: 1.5px solid color-mix(in srgb, var(--effect-text) 45%, transparent);
  border-radius: 3px;
  background: #fff center / 80% no-repeat;
  opacity: 1;
  cursor: default;
}
.textggu--checkbox input[type="checkbox"]:checked {
  border-color: var(--effect-point);
  background-color: var(--effect-point);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.textggu--checkbox input[type="checkbox"]:checked + span {
  text-decoration: line-through;
  opacity: .7;
}

/* 인용 */
.textggu--quo1 {
  display: block;
  position: relative;
  margin: 40px 0 5px 11px;
  padding: 1.3em 2em;
  border-left: 2px solid var(--effect-point);
  border-radius: 0 5px 5px 0;
  background: color-mix(in srgb, var(--effect-point) 20%, transparent);
}
.textggu--quo1:after {
  content: "❝";
  position: absolute;
  top: -15px;
  left: -0.5em;
  width: 1em;
  margin-top: -0.5em;
  color: var(--effect-point);
  font-size: 30px;
  line-height: 1em;
  text-align: center;
}
/* 블록 뒤의 자동 <br> 은 빈 줄을 하나 더 만들므로 숨김 */
.textggu--quo1 + br { display: none; }

/* 요약(토글): 요약[제목]-내용- */
.textggu--summary-wrap {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  vertical-align: top;
}
.textggu--summary--btn {
  display: inline-block;
  margin-bottom: 5px;
  padding: 2px 5px;
  border: 1px solid color-mix(in srgb, var(--content-font-color, #000) 35%, transparent);
  border-radius: 5px;
  background-color: color-mix(in srgb, var(--content-font-color, #000) 10%, transparent);
  color: color-mix(in srgb, var(--content-font-color, #000) 60%, transparent);
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.textggu--summary--btn:hover {
  border-color: var(--effect-point);
  background: color-mix(in srgb, var(--effect-point) 20%, transparent);
  color: var(--effect-point);
}
.textggu--summary {
  display: none;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 5px;
  padding: 10px;
  border-radius: 5px;
  white-space: normal;
}
.textggu--summary.is-open {
  display: block;
  border: 1px solid var(--effect-point);
  background: color-mix(in srgb, var(--effect-point) 20%, transparent);
}

/* 주석: 주석1[윗글]  주석2[아랫글] */
.textggu--annotation1,
.textggu--annotation2 {
  position: relative;
  color: var(--effect-point2);
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
.textggu--annotation1 { top: -0.5em; }
.textggu--annotation2 { bottom: -0.25em; }

/* 주석3: 주석3[제목]-윗글-  (제목 위에 작은 글자가 붙음) */
.textggu--annotation3 {
  display: inline-block;
  position: relative;
  margin-top: 0.5em;
  margin-bottom: 0.1em;
  line-height: 1em;
  text-align: center;
}
.textggu--annotation3:after {
  content: attr(data-text);
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  color: var(--effect-point2);
  font-size: 70%;
  font-weight: lighter;
  white-space: nowrap;
}

/* 말풍선: 말1~말4 (이미지는 이 폴더의 img/talk1~4.png) */
.textggu--talk1 {
  border-image: url(./img/talk1.png);
  width: fit-content;
  display: inline-flex;
  align-items: center;
  padding: 0px 7px;
  height: 22px;
  border-image-width: 30px 30px;
  border-image-slice: 20;
  border-image-repeat: round;
  color: black;
}
.textggu--talk2 {
  border-image: url(./img/talk2.png);
  width: fit-content;
  display: inline-flex;
  align-items: center;
  padding: 0px 7px;
  height: 22px;
  border-image-width: 30px 30px;
  border-image-slice: 20;
  border-image-repeat: round;
  color: white;
}
  .textggu--talk3 {
  border-image: url(./img/talk3.png);
  width: fit-content;
  align-items: center;
  padding: 5px 10px;
  height: 28px;
  border-image-width: 30px 30px;
  border-image-slice: 17;
  border-image-repeat: round;
  font-size: 110%;
  font-weight: bold;
  font-style: italic;
  color: black;
  filter:drop-shadow(0px 0px 0px black);
}
.textggu--talk4 {
  border-image: url(./img/talk4.png);
  width: fit-content;
  display: inline-flex;
  align-items: center;
  padding: 0px 12px;
  height: 22px;
  border-image-width: 30px 30px;
  border-image-slice: 17;
  border-image-repeat: round;
  color: black;
}