/* Risa letter feature, isolated from the existing site */
.risa-letter-trigger{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 18px);max-width:310px;min-height:55px;margin:18px auto 0;padding:12px 18px;border:1px solid rgba(255,255,255,.92);border-radius:16px;background:linear-gradient(125deg,#fff9fc 0%,#ffe2ee 52%,#fff3f9 100%);box-shadow:0 5px 0 rgba(189,74,124,.14),0 12px 28px rgba(255,82,153,.22),inset 0 0 0 1px #f6bdd4;color:#a72e69;font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:800;letter-spacing:.04em;line-height:1.45;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.risa-letter-trigger::before{content:'';position:absolute;top:-7px;left:34px;width:13px;height:13px;background:#fff7fb;border-top:1px solid #f6bdd4;border-left:1px solid #f6bdd4;transform:rotate(45deg)}
.risa-letter-trigger:hover,.risa-letter-trigger:focus-visible{transform:translateY(-3px);box-shadow:0 7px 0 rgba(189,74,124,.13),0 17px 34px rgba(255,82,153,.29),inset 0 0 0 1px #f6bdd4}
.risa-letter-trigger:focus-visible{outline:3px solid #c52e77;outline-offset:4px}
.risa-letter-trigger svg{width:22px;height:22px;flex:none;stroke:#b73b78;stroke-width:1.65;fill:none}
.risa-letter-trigger .risa-letter-arrow{font-size:18px;line-height:1;opacity:.8}
.risa-letter-dialog{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:clamp(10px,3vw,30px);background:rgba(29,13,32,.76);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.risa-letter-dialog.is-open{display:flex}
.risa-letter-shell{position:relative;width:min(100%,750px);max-height:min(94dvh,980px);overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.65);border-radius:20px;background:linear-gradient(150deg,#fff7fb,#f7d5e6);box-shadow:0 25px 100px rgba(24,4,21,.4);padding:clamp(10px,2.7vw,23px)}
.risa-letter-close{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:center;margin:0 0 -36px auto;width:36px;height:36px;border:1px solid #edc6d8;border-radius:50%;background:#fff;color:#8d4868;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(91,27,59,.12)}
.risa-letter-paper{margin:0;padding:clamp(25px,6vw,56px) clamp(20px,6vw,62px);border:1px solid #eacbd8;border-radius:8px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 35px,rgba(224,169,191,.09) 36px),#fffdfb;box-shadow:inset 0 0 0 7px #fffafc,0 8px 24px rgba(132,55,87,.09)}
.risa-letter-kicker{margin:0 0 10px;text-align:center;color:#ad7b90;font:500 10px/1.5 'Noto Sans JP',sans-serif;letter-spacing:.28em}
.risa-letter-title{margin:0 0 30px;text-align:center;color:#5b414c;font:600 clamp(17px,3.6vw,22px)/1.6 'Zen Maru Gothic','Noto Sans JP',sans-serif;letter-spacing:.06em}
.risa-letter-body{color:#4b4044;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;font-size:clamp(14px,2.9vw,15.5px);font-weight:400;line-height:2.05;letter-spacing:.015em;white-space:pre-wrap;overflow-wrap:anywhere}
.risa-letter-body p{margin:0 0 1.55em;font:inherit;color:inherit;letter-spacing:inherit;white-space:pre-wrap}
.risa-letter-body p:last-child{margin-bottom:0}
body.risa-letter-locked{overflow:hidden!important}
@media(max-width:600px){.risa-letter-dialog{padding:8px}.risa-letter-shell{max-height:calc(100dvh - 16px);border-radius:15px;padding:9px}.risa-letter-paper{padding:34px 19px 28px}.risa-letter-close{width:38px;height:38px;margin-bottom:-38px}.risa-letter-trigger{font-size:12px;min-height:56px}}
@media(prefers-reduced-motion:reduce){.risa-letter-trigger{transition:none}}

/* v109: keep the member layout intact; full-width horizontal CTA below profile */
.member-feature-person > .risa-letter-trigger{box-sizing:border-box;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:min(100%,310px)!important;max-width:310px!important;min-width:0!important;height:auto!important;min-height:52px!important;margin:18px auto 0!important;padding:12px 17px!important;white-space:nowrap!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;word-break:keep-all!important;overflow-wrap:normal!important;line-height:1.5!important;text-shadow:none!important;transform:none!important}
.member-feature-person > .risa-letter-trigger span{display:inline!important;white-space:nowrap!important;writing-mode:horizontal-tb!important;word-break:keep-all!important;overflow-wrap:normal!important;font-size:clamp(11px,3vw,13px)!important;line-height:1.5!important}
.member-feature-person > .risa-letter-trigger svg{flex:0 0 21px!important}
.member-feature-person > .risa-letter-trigger:hover{transform:translateY(-2px)!important}
@media(max-width:580px){.member-feature-person > .risa-letter-trigger{grid-column:1 / -1!important;justify-self:center!important;margin:7px auto 9px!important;width:min(94%,320px)!important;max-width:none!important;min-height:50px!important;padding:11px 13px!important}}

/* v110: bring the CTA closer to Risa's profile and improve legibility. */
.member-feature-person > .risa-letter-trigger span:not(.risa-letter-arrow) {
  font-size: 16px !important;
}
@media (max-width: 580px) {
  .member-feature-person > .risa-letter-trigger {
    margin: -35px auto 9px !important;
    position: relative !important;
    z-index: 2 !important;
    min-height: 54px !important;
  }
  .member-feature-person > .risa-letter-trigger span:not(.risa-letter-arrow) {
    font-size: 16px !important;
  }
}

/* v111: target the actual sibling element immediately following Risa's profile. */
.member-feature-person.member-color-pink > .risa-letter-trigger {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  width: min(100%, 480px);
  max-width: 480px;
  min-width: 0;
  min-height: 65px;
  margin: -5px auto -5px;
  padding: 13px 24px;
  gap: 13px;
  border: 2px solid #fff;
  border-radius: 24px 24px 24px 10px;
  background: linear-gradient(115deg,#fffafd 0%,#ffe4f0 47%,#fff4fa 100%);
  box-shadow: 0 5px 0 #d96a9e66,0 12px 27px #701e6945,inset 0 0 0 2px #f6b5d2;
  color: #a22c68;
  font-family: 'Zen Maru Gothic','Noto Sans JP',sans-serif;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .015em;
  text-align: center;
  white-space: nowrap;
  writing-mode: horizontal-tb;
  isolation: isolate;
  z-index: 1;
}
.member-feature-person.member-color-pink > .risa-letter-trigger::before {
  top: -9px;
  left: 54px;
  width: 16px;
  height: 16px;
  background: #fff5fa;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  box-shadow: -2px -2px 0 #e9a4c5;
}

.member-feature-person.member-color-pink > .risa-letter-trigger span:not(.risa-letter-arrow) {
  display: inline;
  font-size: 19px;
  font-weight: 900;
  white-space: nowrap;
  writing-mode: horizontal-tb;
}
.member-feature-person.member-color-pink > .risa-letter-trigger svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
}
@media(max-width:580px) {
  .member-feature-person.member-color-pink > .risa-letter-trigger {
    width: calc(100% - 10px);
    max-width: none;
    min-height: 66px;
    margin: -15px auto -12px;
    padding: 12px 15px;
    gap: 10px;
    font-size: clamp(17px,4.7vw,20px);
  }
  .member-feature-person.member-color-pink > .risa-letter-trigger span:not(.risa-letter-arrow) {
    font-size: clamp(17px,4.7vw,20px);
  }
  .member-feature-person.member-color-pink > .risa-letter-trigger svg {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }
}

/* v112: button is nested inside Risa's article to preserve nth-child member alternation. */
.member-feature-person.member-color-pink > .risa-letter-trigger {grid-column:1 / -1;direction:ltr;}
@media(max-width:580px){.member-feature-person.member-color-pink > .risa-letter-trigger{margin-top: -4px !important; margin-bottom: -4px !important;}}
