/* ============================================================
   Test Frames & Nameplate Frames Styles (테스트 카테고리 전용 스타일)
   - Nameplate Frames (name-label-01 ~ 10)
   - Study Frames (study-01 ~ 29)
   ============================================================ */

/* 1. Nameplate Frames (name-label-01 ~ name-label-10) */
.message-name-label {
  display: none;
}

.nameplate-frame .message-name-label {
  display: block;
  position: absolute;
  left: calc(var(--art-name-left, 18px) + var(--nameplate-offset-x, 0px));
  top: calc(var(--art-name-top, -7px) + var(--nameplate-offset-y, 0px));
  z-index: 5;
  width: var(--art-name-width, 128px);
  padding: 0;
  color: var(--art-name-color, var(--name));
  font-size: calc(var(--size) * var(--art-name-font-scale, .84));
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.35);
  transform: rotate(calc(var(--art-name-angle, 0deg) + var(--nameplate-rotation, 0deg))) scale(var(--nameplate-scale, 1));
  transform-origin: center center;
}

/* Reserve the full nine-slice corner area even for a single short message. */
body.v2-page .chat-wrap.nameplate-frame .message {
  width: min(calc(100% - 40px), var(--width)) !important;
  min-width: min(var(--art-frame-min-width), calc(100% - 40px));
}
.nameplate-frame .message::before {
  /* Keep the corner artwork fixed and stretch the side centers as the
     message grows. `round` tiled the left/right ornaments vertically. */
  border-image-repeat: stretch stretch;
}
.nameplate-frame .message {
  padding-top: var(--art-safe-top, 25px);
  padding-left: var(--art-safe-left, 70px);
}
.chat-wrap .message-content {
  /* Keep the message box layout independent from the font-size control for
     every frame. The dedicated line-height control remains responsible for
     changing the frame's vertical rhythm. */
  line-height: var(--fixed-frame-line-height, 26.1px);
}
.chat-wrap .message-content > strong,
.chat-wrap .message-content .badge {
  /* Inline nickname/badge glyph metrics otherwise add a few pixels to the
     line box at larger font sizes and resize the surrounding frame. */
  height: 18px;
  line-height: var(--fixed-frame-line-height, 26.1px);
  overflow: visible;
}
.stretch-safe-frame:is(.name-label-11,.name-label-12,.name-label-13,.name-label-14,.name-label-15) .message {
  min-height: max(var(--art-frame-min-height, 68px), 64px);
}
.nameplate-frame:is(.name-label-11,.name-label-12,.name-label-13,.name-label-14,.name-label-15) .message-name-label {
  box-sizing: border-box;
  padding: 1px 7px;
  border: 1px solid color-mix(in srgb, var(--accent), transparent 18%);
  border-radius: 999px;
  background: color-mix(in srgb, var(--bubble), white 12%);
  box-shadow: 0 1px 3px rgba(50,40,20,.12);
}

/* 2. Study Frames (study-cloud-pocket ~ study-rose-letter) */
.chat-wrap.chat-wrap.study-cloud-pocket .message {
  position: relative;
  border-radius: 22px 22px 18px 18px;
  --trial-wash: radial-gradient(ellipse 90px 32px at 94% 100%, rgba(164,193,236,.25), transparent 100%), radial-gradient(circle at 22% 88%, rgba(118,153,222,.18) 0 1px, transparent 2px);
  background-color: var(--theme-fill, var(--bubble));
  background-image: var(--theme-wash, var(--trial-wash));
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  border: 2px solid var(--border-color, #6686c5);
  outline: 1px dashed rgba(118,153,222,.48);
  outline-offset: -6px;
  box-shadow: 0 7px 18px rgba(72,103,161,.16), inset 0 -5px 0 rgba(217,232,255,.34);
  padding: 14px 76px 14px 20px;
  box-sizing: border-box;
  overflow: visible;
  color: var(--text-color, #34445f);
}
.study-cloud-pocket .message::before {
  content: '';
  position: absolute;
  left: 18px;
  bottom: -5px;
  width: 42px;
  height: 11px;
  background: radial-gradient(ellipse at center, #d9e8ff 0 52%, transparent 55%) 0 0 / 14px 11px repeat-x;
  opacity: .85;
  pointer-events: none;
}
.frame-mini.study-cloud-pocket { border: 1px solid #6686c5; border-radius: 8px; background: linear-gradient(#fff,#eef5ff); box-shadow: inset 0 -3px #d9e8ff; }

.chat-wrap.chat-wrap.study-sakura-panel .message {
  position: relative;
  border-radius: 18px;
  --trial-wash: radial-gradient(ellipse 85px 45px at 94% 45px, rgba(217,138,158,.14), transparent 100%);
  background-color: var(--theme-fill, var(--bubble));
  background-image: var(--theme-wash, var(--trial-wash));
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  border: 2px solid var(--border-color, #76544e);
  outline: 1px solid rgba(217,138,158,.52);
  outline-offset: -5px;
  box-shadow: 0 8px 20px rgba(91,57,52,.12), inset 0 0 18px rgba(247,216,223,.38);
  padding: 14px 112px 14px 24px;
  box-sizing: border-box;
  overflow: visible;
  color: var(--text-color, #543c3a);
}
.study-sakura-panel .message::before {
  content: '✿';
  position: absolute;
  left: 12px;
  top: -9px;
  padding: 0 5px;
  color: var(--accent-color, #d98a9e);
  background: #fffaf8;
  font-size: 14px;
  line-height: 18px;
  pointer-events: none;
}
.frame-mini.study-sakura-panel { border: 1px solid #76544e; border-radius: 6px; background: linear-gradient(135deg,#fffaf8,#f9e7eb); box-shadow: inset 0 0 0 2px rgba(217,138,158,.22); }

.chat-wrap.chat-wrap.study-neon-label .message {
  position: relative;
  border-radius: 20px;
  --trial-wash: radial-gradient(ellipse 85px 35px at 96% 80%, rgba(255,110,119,.12), transparent 100%), radial-gradient(circle at 17% 84%, rgba(255,181,46,.22) 0 1px, transparent 2px), radial-gradient(circle at 68% 13%, rgba(255,210,142,.18) 0 1px, transparent 2px);
  background-color: var(--theme-fill, var(--bubble));
  background-image: var(--theme-wash, var(--trial-wash));
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  border: 2px solid var(--border-color, #ffb52e);
  outline: 1px solid rgba(255,110,119,.52);
  outline-offset: -5px;
  box-shadow: 0 0 16px rgba(255,181,46,.34), inset 0 0 14px rgba(255,110,119,.13), 0 8px 20px rgba(0,0,0,.36);
  padding: 14px 72px 14px 22px;
  box-sizing: border-box;
  overflow: visible;
  color: var(--text-color, #fff8e8);
}
.study-neon-label .message::before {
  content: '';
  position: absolute;
  left: 14px;
  right: 78px;
  bottom: 5px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ffb52e 20%, #ff6e77 80%, transparent);
  box-shadow: 0 0 7px rgba(255,181,46,.8);
  opacity: .7;
  pointer-events: none;
}
.frame-mini.study-neon-label { border: 1px solid #ffb52e; border-radius: 7px; background: #171126; box-shadow: 0 0 6px rgba(255,181,46,.55), inset 0 0 5px rgba(255,110,119,.25); }

.chat-wrap.chat-wrap.study-flower-whale .message,
.chat-wrap.chat-wrap.study-sky-ribbon .message {
  background: var(--theme-wash,var(--trial-wash)) center / 100% 100% no-repeat;
  background-color: var(--theme-fill,var(--bubble));
  border: 1px solid var(--outline); padding: 12px 102px 13px 19px;
  box-shadow: 0 3px 10px rgba(41, 74, 104, 0.06);
}
.chat-wrap.chat-wrap.study-flower-whale .message {
  --trial-wash: radial-gradient(ellipse 100px 35px at 97% 100%,#b8dfe83b,transparent 100%);
  min-height: 76px; border-radius: 13px 19px 19px 10px; border-bottom: 2px solid var(--outline);
}
.study-flower-whale .message-content > strong { display:block; margin:0 0 3px; font-size:.82em; letter-spacing:.04em; }
.chat-wrap.chat-wrap.study-sky-ribbon .message {
  --trial-wash: radial-gradient(ellipse 78px 30px at 8% 100%,#e9dff43b,transparent 100%);
  min-height: 58px; padding: 14px 76px 14px 19px; border-radius: 11px 11px 17px 11px;
  outline: 1px solid #c4d2eb55; outline-offset:-5px;
}
.frame-mini.study-flower-whale { border:1px solid #93b9d0;border-bottom-width:2px;background:#f7fcff;border-radius:6px 9px; }
.frame-mini.study-sky-ribbon { border:1px solid #acbee4;background:#fffcff;border-radius:6px;outline:1px solid #c4d2eb55;outline-offset:-4px; }

.chat-wrap.chat-wrap.study-sage-tea .message {
  --trial-wash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2296%22%20viewBox%3D%220%200%20104%2096%22%3E%3Cpath%20d%3D%22M43%2037h34v17q0%2015-17%2015T43%2054Z%22%20fill%3D%22%23e2ebd9%22%20stroke%3D%22%2391ab8c%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M77%2041h6q12%2012-6%2016M37%2072q24%207%2048%200%22%20fill%3D%22none%22%20stroke%3D%22%2391ab8c%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M50%2029q-5-6%200-12m12%2012q-5-6%200-12%22%20fill%3D%22none%22%20stroke%3D%22%23c4b886%22%20stroke-width%3D%221.2%22%2F%3E%3C%2Fsvg%3E");
  position:relative; min-height:78px; padding:14px 106px 16px 20px; border:1px solid var(--outline); border-radius:9px 24px 9px 9px; background-color:var(--theme-fill,var(--bubble));background-image:var(--theme-wash,var(--trial-wash));background-size:94px auto;background-position:right bottom;background-repeat:no-repeat;box-shadow:none;border-left:3px solid var(--accent);
}
.study-sage-tea .message-content > strong {display:block;margin:0 0 3px;font-size:.83em;letter-spacing:.03em;}

.chat-wrap.chat-wrap.study-apricot-post .message {
  --trial-wash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2296%22%20viewBox%3D%220%200%20104%2096%22%3E%3Ccircle%20cx%3D%2259%22%20cy%3D%2258%22%20r%3D%2223%22%20fill%3D%22%23f5c890%22%20stroke%3D%22%23dca56e%22%2F%3E%3Ccircle%20cx%3D%2259%22%20cy%3D%2258%22%20r%3D%2217%22%20fill%3D%22%23ffebbf%22%20stroke%3D%22%23e6b77e%22%2F%3E%3Cpath%20d%3D%22M59%2041v34M42%2058h34M47%2046l24%2024m0-24L47%2070%22%20stroke%3D%22%23e7b783%22%2F%3E%3Cpath%20d%3D%22M57%2032q6-17%2025-13q-6%2018-25%2013%22%20fill%3D%22%23bbc58f%22%2F%3E%3C%2Fsvg%3E");
  position:relative; min-height:78px; padding:14px 106px 16px 20px; border:1px solid var(--outline); border-radius:7px; background-color:var(--theme-fill,var(--bubble));background-image:var(--theme-wash,var(--trial-wash));background-size:94px auto;background-position:right bottom;background-repeat:no-repeat;box-shadow:none;border-left:3px double var(--outline);border-right:3px double var(--outline);
}
.study-apricot-post .message-content > strong {display:block;margin:0 0 3px;font-size:.83em;letter-spacing:.03em;}

.chat-wrap.chat-wrap.study-lavender-garden .message {
  --trial-wash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2296%22%20viewBox%3D%220%200%20104%2096%22%3E%3Cg%20transform%3D%22translate(24%2023)%22%3E%3Cpath%20d%3D%22M32%2039C4%2023%2013%208%2027%2019l6%2015C44%209%2060%2025%2037%2040C51%2048%2036%2060%2033%2043C25%2057%2013%2043%2032%2039Z%22%20fill%3D%22%23e6dcef%22%20stroke%3D%22%23b6a2c9%22%2F%3E%3Cpath%20d%3D%22M33%2034v11%22%20stroke%3D%22%23a48db8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  position:relative; min-height:78px; padding:14px 106px 16px 20px; border:1px solid var(--outline); border-radius:17px 5px 17px 5px; background-color:var(--theme-fill,var(--bubble));background-image:var(--theme-wash,var(--trial-wash));background-size:94px auto;background-position:right bottom;background-repeat:no-repeat;box-shadow:none;border-style:dashed;
}
.study-lavender-garden .message-content > strong {display:block;margin:0 0 3px;font-size:.83em;letter-spacing:.03em;}

.chat-wrap.chat-wrap.study-midnight-moon .message {
  --trial-wash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2296%22%20viewBox%3D%220%200%20104%2096%22%3E%3Cpath%20d%3D%22M61%2016C35%2023%2036%2061%2068%2064C49%2070%2028%2056%2031%2035C33%2022%2045%2014%2061%2016Z%22%20fill%3D%22%23d8c693%22%20stroke%3D%22%23ebdaac%22%2F%3E%3C%2Fsvg%3E");
  position:relative; min-height:78px; padding:14px 106px 16px 20px; border:1px solid var(--outline); border-radius:4px 14px 4px 14px; background-color:var(--theme-fill,var(--bubble));background-image:var(--theme-wash,var(--trial-wash));background-size:94px auto;background-position:right bottom;background-repeat:no-repeat;box-shadow:none;outline:1px solid #8492ad55;outline-offset:-5px;border-bottom-width:2px;
}
.study-midnight-moon .message-content > strong {display:block;margin:0 0 3px;font-size:.83em;letter-spacing:.03em;}

.chat-wrap.chat-wrap.study-rose-letter .message {
  --trial-wash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2296%22%20viewBox%3D%220%200%20104%2096%22%3E%3Cpath%20d%3D%22M55%2085V27%22%20stroke%3D%22%23a2b195%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M54%2051q-22-11-16-23q17%209%2016%2023m2%207q18-6%2016-18q-14%202-16%2018%22%20fill%3D%22%23becbb0%22%2F%3E%3Cpath%20d%3D%22M42%2016l9%205l6-9l5%2010l10-5q0%2024-15%2023T42%2016Z%22%20fill%3D%22%23e7b5c1%22%20stroke%3D%22%23c98fa3%22%2F%3E%3C%2Fsvg%3E");
  position:relative; min-height:78px; padding:14px 106px 16px 20px; border:1px solid var(--outline); border-radius:7px 7px 22px 7px; background-color:var(--theme-fill,var(--bubble));background-image:var(--theme-wash,var(--trial-wash));background-size:94px auto;background-position:right bottom;background-repeat:no-repeat;box-shadow:none;border-bottom:3px double var(--outline);
}
.study-rose-letter .message-content > strong {display:block;margin:0 0 3px;font-size:.83em;letter-spacing:.03em;}

/* Nickname badge placement for studies (positioned top-left as badge) */
:is(.chat-wrap.study-sage-tea,.chat-wrap.study-apricot-post,.chat-wrap.study-lavender-garden,.chat-wrap.study-midnight-moon,.chat-wrap.study-rose-letter) .message {
  margin-top: 14px;
  overflow: visible;
}
:is(.chat-wrap.study-sage-tea,.chat-wrap.study-apricot-post,.chat-wrap.study-lavender-garden,.chat-wrap.study-midnight-moon,.chat-wrap.study-rose-letter) .message-content > strong {
  display: table;
  position: relative;
  max-width: 100%;
  box-sizing: border-box;
  white-space: normal;
  overflow-wrap: anywhere;
  margin: -29px 0 12px;
  padding: 4px 11px;
  background: var(--accent);
  color: var(--bubble);
  border: 1px solid var(--outline);
  border-radius: 9px 9px 9px 2px;
  font-size: .85em;
  line-height: 1.4;
  letter-spacing: 0;
}

/* 3. Neon Studies (study-neon-tube ~ study-neon-arcade) */
.chat-wrap.study-neon-tube .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 20px 17px;border-radius:18px;background-image:none;background-color:transparent;border:2px solid var(--outline);box-shadow:0 0 5px var(--outline),0 0 15px color-mix(in srgb,var(--accent),transparent 65%),inset 0 0 5px color-mix(in srgb,var(--accent),transparent 65%);
}
.chat-wrap.study-neon-tube .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:color-mix(in srgb,var(--accent) 12%,#10121b);color:var(--name);border:1px solid var(--outline);border-radius:9px 9px 9px 2px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:0 0 6px color-mix(in srgb,var(--accent),transparent 55%);
}

.chat-wrap.study-neon-rail .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 20px 17px;border-radius:2px 13px 2px 13px;background-image:none;background-color:transparent;border:1px solid var(--outline);border-left:4px double var(--outline);border-right:4px double var(--outline);box-shadow:0 0 7px color-mix(in srgb,var(--accent),transparent 35%);outline:1px solid color-mix(in srgb,var(--accent2),transparent 45%);outline-offset:3px;
}
.chat-wrap.study-neon-rail .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:color-mix(in srgb,var(--accent) 12%,#10121b);color:var(--name);border:1px solid var(--outline);border-radius:9px 9px 9px 2px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:0 0 6px color-mix(in srgb,var(--accent),transparent 55%);
}

.chat-wrap.study-neon-capsule .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 20px 17px;border-radius:18px 18px 12px 12px;background-image:none;background-color:var(--theme-fill,var(--bubble));border:1px solid var(--outline);outline:1px solid color-mix(in srgb,var(--accent2),transparent 60%);outline-offset:-6px;box-shadow:0 0 12px color-mix(in srgb,var(--accent),transparent 65%),inset 0 -3px 0 color-mix(in srgb,var(--accent2),transparent 25%);
}
.chat-wrap.study-neon-capsule .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:color-mix(in srgb,var(--accent) 12%,#10121b);color:var(--name);border:1px solid var(--outline);border-radius:9px 9px 9px 2px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:0 0 6px color-mix(in srgb,var(--accent),transparent 55%);
}

.chat-wrap.study-neon-arcade .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 20px 17px;border-radius:3px 14px 3px 3px;background-image:none;background-color:var(--theme-fill,var(--bubble));border:1px solid color-mix(in srgb,var(--outline),transparent 30%);border-left:5px solid var(--accent);border-bottom:2px solid var(--accent2);box-shadow:-4px 0 10px color-mix(in srgb,var(--accent),transparent 65%);
}
.chat-wrap.study-neon-arcade .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:color-mix(in srgb,var(--accent) 12%,#10121b);color:var(--name);border:1px solid var(--outline);border-radius:9px 9px 9px 2px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:0 0 6px color-mix(in srgb,var(--accent),transparent 55%);
}

/* 4. Basic Studies (study-basic-line ~ study-basic-bottom) */
.chat-wrap.study-basic-line .message {
  position:relative;overflow:visible;margin-top:14px;min-height:64px;padding:14px 20px 17px;border:1px solid var(--outline);border-radius:10px;background-image:none;background-color:var(--theme-fill,var(--bubble));box-shadow:none;
}
.chat-wrap.study-basic-line .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:var(--accent);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

.chat-wrap.study-basic-double .message {
  position:relative;overflow:visible;margin-top:14px;min-height:64px;padding:14px 20px 17px;border:1px solid var(--outline);border-radius:5px;background-image:none;background-color:var(--theme-fill,var(--bubble));box-shadow:none;outline:1px solid var(--accent2);outline-offset:-5px;
}
.chat-wrap.study-basic-double .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:var(--accent);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

.chat-wrap.study-basic-bottom .message {
  position:relative;overflow:visible;margin-top:14px;min-height:64px;padding:14px 20px 17px;border:1px solid var(--outline);border-radius:10px 10px 5px 5px;background-image:none;background-color:var(--theme-fill,var(--bubble));box-shadow:none;border-bottom:4px solid var(--accent2);
}
.chat-wrap.study-basic-bottom .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:var(--accent);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

/* 5. Extra Studies (study-extra-neonbrackets ~ study-extra-ticketframe) */
.chat-wrap.study-extra-neonbrackets .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 22px 17px;border:1px solid transparent;border-radius:6px;background-image:none;background-color:transparent;box-shadow:none;
}
.chat-wrap.study-extra-neonbrackets .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:color-mix(in srgb,var(--accent) 12%,#10121b);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}
.chat-wrap.study-extra-neonbrackets .message::after {
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(var(--outline),var(--outline)) left top/22px 2px no-repeat,linear-gradient(var(--outline),var(--outline)) left top/2px 14px no-repeat,linear-gradient(var(--outline),var(--outline)) right top/22px 2px no-repeat,linear-gradient(var(--outline),var(--outline)) right top/2px 14px no-repeat,linear-gradient(var(--outline),var(--outline)) left bottom/22px 2px no-repeat,linear-gradient(var(--outline),var(--outline)) left bottom/2px 14px no-repeat,linear-gradient(var(--outline),var(--outline)) right bottom/22px 2px no-repeat,linear-gradient(var(--outline),var(--outline)) right bottom/2px 14px no-repeat;
  filter:drop-shadow(0 0 4px var(--accent));
}

.chat-wrap.study-extra-neoncircuit .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 22px 17px;border:1px solid var(--outline);border-radius:2px 22px 2px 22px;background-image:none;background-color:transparent;border-left-width:3px;border-right-width:3px;outline:1px solid var(--accent2);outline-offset:4px;box-shadow:0 0 8px color-mix(in srgb,var(--accent),transparent 50%);
}
.chat-wrap.study-extra-neoncircuit .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:color-mix(in srgb,var(--accent) 12%,#10121b);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

.chat-wrap.study-extra-neonhorizon .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 22px 17px;border:1px solid var(--outline);border-radius:4px;background-image:none;background-color:var(--theme-fill,var(--bubble));border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-bottom:3px solid var(--accent2);box-shadow:0 5px 10px color-mix(in srgb,var(--accent),transparent 65%);
}
.chat-wrap.study-extra-neonhorizon .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:color-mix(in srgb,var(--accent) 12%,#10121b);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

.chat-wrap.study-extra-neonhalo .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 22px 17px;border:1px solid var(--outline);border-radius:26px;background-image:none;background-color:var(--theme-fill,var(--bubble));border:2px solid var(--outline);box-shadow:0 0 3px var(--outline),0 0 17px color-mix(in srgb,var(--accent),transparent 65%),inset 0 0 12px color-mix(in srgb,var(--accent2),transparent 85%);
}
.chat-wrap.study-extra-neonhalo .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:color-mix(in srgb,var(--accent) 12%,#10121b);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

.chat-wrap.study-extra-sidestripe .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 22px 17px;border:1px solid var(--outline);border-radius:5px 14px 14px 5px;background-image:none;background-color:var(--theme-fill,var(--bubble));box-shadow:none;border-left:5px solid var(--accent2);
}
.chat-wrap.study-extra-sidestripe .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:var(--accent);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

.chat-wrap.study-extra-stitchednote .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 22px 17px;border:1px dashed var(--outline);outline:1px solid var(--accent2);outline-offset:-5px;border-radius:13px;background-image:none;background-color:var(--theme-fill,var(--bubble));box-shadow:none;
}
.chat-wrap.study-extra-stitchednote .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:var(--accent);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

.chat-wrap.study-extra-offsetcard .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 22px 17px;border:1px solid var(--outline);border-radius:3px;background-image:none;background-color:var(--theme-fill,var(--bubble));box-shadow:4px 4px 0 var(--accent2);
}
.chat-wrap.study-extra-offsetcard .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:var(--accent);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}

.chat-wrap.study-extra-ticketframe .message {
  position:relative;overflow:visible;margin-top:14px;min-height:66px;padding:14px 22px 17px;border:1px solid var(--outline);border-radius:7px;background-image:none;background-color:var(--theme-fill,var(--bubble));box-shadow:none;border-left:3px double var(--outline);border-right:3px double var(--outline);
}
.chat-wrap.study-extra-ticketframe .message-content > strong {
  display:table;position:relative;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;margin:-29px 0 12px;padding:4px 11px;background:var(--accent);color:var(--name);border:1px solid var(--outline);border-radius:7px;font-size:.85em;line-height:1.4;letter-spacing:0;box-shadow:none;
}
.chat-wrap.study-extra-ticketframe .message::after {
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;left:9px;right:9px;top:7px;bottom:7px;border-left:1px dashed var(--accent2);border-right:1px dashed var(--accent2);
}

/* 6. Illustrated Studies (study-flower-fox, study-jewel-cat, study-ribbon-note, study-train-ticket) */
.chat-wrap.study-flower-fox .message,
.chat-wrap.study-jewel-cat .message {
  position:relative; min-height:82px; padding:12px 112px 18px 19px;
  border:1px solid var(--outline); border-radius:12px 17px 12px 17px;
  background-color:var(--theme-fill,var(--bubble));
  background-image:var(--theme-wash,var(--trial-wash));
  background-size:100px auto; background-repeat:no-repeat; background-position:right bottom;
  box-shadow:none;
}
.chat-wrap.study-flower-fox .message {
  --trial-wash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22112%22%20height%3D%2274%22%20viewBox%3D%220%200%20112%2074%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23c6ac9c%22%20stroke-width%3D%221.2%22%3E%3Cpath%20d%3D%22M110%2069C75%2072%2087%2039%2061%2026M87%2058Q69%2060%2067%2047M79%2043Q94%2042%2097%2029%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23b9caba%22%3E%3Cpath%20d%3D%22M85%2056Q71%2063%2069%2051Q79%2047%2085%2056%22%2F%3E%3Cpath%20d%3D%22M86%2043Q98%2042%2097%2032Q88%2032%2086%2043%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23f2c4ce%22%20stroke%3D%22%23dba5b3%22%20stroke-width%3D%22.6%22%3E%3Cpath%20d%3D%22M64%2028C48%2027%2051%2017%2059%2019C52%205%2065%204%2067%2015C76%203%2085%2012%2075%2020C89%2021%2082%2033%2072%2027C74%2040%2060%2040%2064%2028Z%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2267%22%20cy%3D%2223%22%20r%3D%223%22%20fill%3D%22%23e0bc78%22%2F%3E%3Cpath%20d%3D%22M30%2063Q33%2053%2040%2057Q39%2066%2030%2063%22%20fill%3D%22%23f3d8dd%22%2F%3E%3C%2Fsvg%3E");
  border-bottom-width:2px;
}
.chat-wrap.study-jewel-cat .message {
  --trial-wash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22108%22%20height%3D%2288%22%20viewBox%3D%220%200%20108%2088%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b5b4d5%22%20stroke-width%3D%22.8%22%3E%3Cpath%20d%3D%22M31%2073L58%2058L79%2067L95%2041%22%2F%3E%3Ccircle%20cx%3D%2231%22%20cy%3D%2273%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2279%22%20cy%3D%2267%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M58%2048L65%2058L58%2068L51%2058Z%22%20fill%3D%22%23eee7fa%22%20stroke%3D%22%23aca5ce%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M93%2024Q93%2032%2087%2033Q93%2034%2093%2042Q94%2034%20100%2033Q94%2032%2093%2024Z%22%20fill%3D%22%23dbc58b%22%2F%3E%3Ccircle%20cx%3D%2276%22%20cy%3D%2217%22%20r%3D%221.5%22%20fill%3D%22%23cab789%22%2F%3E%3Cpath%20d%3D%22M16%2083H96%22%20stroke%3D%22%23d2c8e0%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
  border-radius:9px 16px 9px 16px;
  outline:1px solid rgba(199, 191, 214, 0.2); outline-offset:-5px;
}
.study-flower-fox .message-content > strong,
.study-jewel-cat .message-content > strong {display:block;margin:0 0 3px;font-size:.82em;letter-spacing:.03em;}

.chat-wrap.study-ribbon-note .message {
  --trial-wash: radial-gradient(ellipse 64px 36px at 38px 34px, rgba(215,168,190,.14), transparent 100%);
  background: var(--theme-wash, var(--trial-wash)) center / 100% 100% no-repeat;
  background-color: var(--theme-fill, var(--bubble));
  border: 1px solid var(--outline); border-radius: 14px 14px 24px 14px;
  outline: 1px solid rgba(191,143,168,.22); outline-offset: -5px;
  padding: 52px 22px 16px 22px; box-shadow: 0 5px 14px rgba(89, 64, 87, 0.08);
}
.chat-wrap.study-ribbon-note .message::before { content: ''; position: absolute; left: 22px; right: 22px; top: 43px; height: 1px; background: linear-gradient(90deg, #bd93aa55, transparent); pointer-events: none; }

.chat-wrap.study-train-ticket .message {
  --trial-wash: radial-gradient(ellipse 90px 44px at 95% 50px, rgba(134,172,145,.17), transparent 100%);
  background: var(--theme-wash, var(--trial-wash)) center / 100% 100% no-repeat;
  background-color: var(--theme-fill, var(--bubble));
  border: 1px solid var(--outline); border-left: 4px solid var(--accent); border-radius: 8px;
  padding: 14px 112px 14px 20px; box-shadow: 0 5px 14px rgba(32, 60, 48, 0.1);
}
.chat-wrap.study-train-ticket .message::before { content: ''; position: absolute; right: 96px; top: 12px; bottom: 12px; width: 1px; background: #738c7755; pointer-events: none; }

.frame-mini.study-ribbon-note { border: 1px solid #a97d98; border-radius: 7px 7px 12px 7px; background: #fffafc; }
.frame-mini.study-train-ticket { border: 1px solid #597664; border-left-width: 3px; border-radius: 4px; background: #f6f5ea; }
