/* V7.5: scoped operational additions; original editorial cascade is unchanged. */
.ss-skip {
  position: fixed;
  top: 8px;
  left: -10000px;
  z-index: 200;
  background: #fff;
  padding: 12px;
  color: #17323d;
}
.ss-skip:focus {
  left: 8px;
}
:focus-visible {
  outline: 2px solid #9b794f;
  outline-offset: 4px;
}
.ss-request-details {
  margin: 18px 0;
}
.ss-request-details summary {
  cursor: pointer;
  font-size: 13px;
  color: #42675f;
  margin-bottom: 14px;
}
.ss-privacy-check {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
  margin: 20px 0;
  font-size: 12px;
  line-height: 1.7;
}
.ss-privacy-check input {
  width: 16px !important;
  min-width: 16px;
  height: 16px;
  margin-top: 3px;
}
.ss-inline-link {
  font: inherit;
  color: #42675f;
  background: transparent;
  border: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  padding: 0;
}
.request-reference {
  overflow-wrap: anywhere;
}
.ss-measure {
  position: fixed;
  z-index: 100;
  bottom: 20px;
  left: 20px;
  width: min(390px, calc(100vw - 40px));
  padding: 20px 22px;
  background: #f8faf7;
  border: 1px solid #bfcfc3;
  color: #17323d;
  box-shadow: 0 3px 20px #17323d0d;
  font:
    13px/1.7 -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Microsoft YaHei",
    sans-serif;
}
.ss-measure h2 {
  font:
    20px/1.3 Georgia,
    "Songti SC",
    serif;
  margin: 0 0 9px;
}
.ss-measure p {
  margin: 0 0 13px;
}
.ss-measure .ss-choices {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ss-measure button {
  padding: 8px 12px;
  font: inherit;
  border: 1px solid #42675f;
  background: transparent;
  color: #244d47;
  cursor: pointer;
}
.ss-measure button:first-child {
  background: #244d47;
  color: #fff;
}
.ss-measure a {
  color: inherit;
  text-underline-offset: 3px;
}
.ss-confirm {
  margin: 0;
  background: #f8faf7;
  color: #17323d;
  font:
    16px/1.7 -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}
.ss-confirm main {
  max-width: 620px;
  padding: 32px;
  margin: 10vh auto;
}
.ss-confirm h1 {
  font:
    42px/1.2 Georgia,
    "Songti SC",
    serif;
  font-weight: 400;
}
.ss-confirm label {
  display: block;
  padding: 16px 0;
  border-top: 1px solid #d8e0dc;
}
.ss-confirm button {
  background: #244d47;
  color: white;
  border: 0;
  padding: 12px 18px;
  font: inherit;
  margin-top: 20px;
  cursor: pointer;
}
.ss-eyebrow {
  font-size: 12px;
  letter-spacing: 0.1em;
}
.ss-confirm a {
  color: #42675f;
}
@media (max-width: 430px) {
  .ss-measure {
    bottom: 12px;
    left: 12px;
    width: calc(100vw - 24px);
    padding: 16px;
  }
  .ss-confirm main {
    padding: 22px;
    margin: 4vh auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .route-transition,
  .month-insight-change {
    animation: none !important;
  }
}
/* The old invitation heading width produced single-character / single-word lines in the longer request flow. */
#route-aside .request-inline h3 {
  max-width: none !important;
}
@media (max-width: 430px) {
  html.chinese #explore[data-route="invitation"] .route-title {
    font-size: clamp(26px, 7.2vw, 32px) !important;
  }
  .request-form .request-grid {
    grid-template-columns: 1fr !important;
  }
  .request-form .request-wide {
    grid-column: auto !important;
  }
}

/* Stage 1 permanent social-contact module */
.social-contact-v1{margin-top:18px}
.social-contact-list{display:grid;gap:14px;margin-top:14px}
.social-contact-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:14px 0;border-top:1px solid rgba(23,50,61,.12)}
.social-contact-item:first-child{border-top:0}
.social-contact-item h4{margin:0 0 4px;font:600 14px/1.35 system-ui,sans-serif;color:inherit}
.social-contact-id{margin:0 0 8px;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.social-contact-qr{width:104px;height:104px;object-fit:contain;background:#fff;border:1px solid rgba(23,50,61,.12);padding:6px;border-radius:3px}
.social-contact-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.social-contact-copy,.social-contact-link{font:600 12px/1.2 system-ui,sans-serif}
.social-contact-copy{border:1px solid rgba(23,50,61,.22);background:transparent;color:inherit;padding:7px 9px;border-radius:3px;cursor:pointer}
.social-contact-link{text-underline-offset:3px}
@media(max-width:760px){.social-contact-item{grid-template-columns:1fr}.social-contact-qr{width:160px;height:160px}.social-contact-copy{min-height:42px}}

.month-source{margin:.55rem 0 0;font:500 10px/1.45 var(--sans);letter-spacing:.015em;color:#718086}.month-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* Conversation surface: a single reading and interaction rhythm. */
.request-grid{gap:20px}
.request-grid label{min-width:0}
.request-grid small{display:block;font:14px/1.5 var(--sans);color:#526b6c;margin-top:6px}
.request-grid input,.request-grid select,.request-grid textarea,.code-row input{font:16px/1.5 var(--sans);padding:12px 14px;min-height:48px;border:1px solid #aabdb8;border-radius:6px;background:#fffdf8}
.request-grid textarea{min-height:120px;resize:vertical}
.request-form{margin-top:24px}
.request-inline h3{font-size:30px;line-height:1.25}
.request-inline .micro-button,.code-form .micro-button{min-height:48px}
.request-receipt{overflow-wrap:anywhere;padding:14px 0;border-block:1px solid #d2ded8}
.ss-request-details{margin:24px 0}
.ss-request-details summary,.ss-privacy-check,.form-privacy-note{font-size:14px;line-height:1.65}
.social-contact-item{grid-template-columns:104px minmax(0,1fr)}
.social-contact-qr{width:104px;height:104px}
.review-bar{position:fixed;z-index:1000;bottom:16px;left:16px;right:16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:14px 20px;border:1px solid #b4935b;border-radius:8px;background:#173b35;color:#fff;font:14px/1.4 system-ui}
.review-bar a{text-decoration:underline}.review-editable{outline:1px dashed #a48753;outline-offset:4px;cursor:text}
.review-dialog[open]{display:block;width:min(650px,calc(100vw - 32px));height:auto;inset:50% auto auto 50%;transform:translate(-50%,-50%);padding:28px;background:#fffdf8;overflow:auto;max-height:90svh}
.review-dialog textarea{display:block;box-sizing:border-box;width:100%;font:16px/1.6 system-ui;border:1px solid #aabdb8;margin:16px 0;padding:12px}
.review-dialog button{padding:12px;background:#244d47;color:#fff;border-radius:4px;margin:6px 6px 0 0}
@media(max-width:760px){.request-grid{grid-template-columns:1fr;gap:20px}.request-wide{grid-column:auto}.request-inline h3{font-size:28px}.review-bar{font-size:12px}.review-bar>span{display:none}}
.request-grid label>span,.invite-path-label{font:600 15px/1.5 var(--sans);letter-spacing:0}


/* V7.23.5 inline WeChat QR support module */
.social-contact-v1 .aside-label{margin-bottom:10px}
.social-contact-v1 .social-contact-copy{margin-top:8px}
.social-contact-preview{display:flex;flex-direction:column;align-items:center;gap:8px;width:104px;background:none;border:0;padding:0;cursor:pointer;color:inherit;font:600 11px/1.2 system-ui,sans-serif;text-align:center}
.social-contact-preview .social-contact-qr{display:block;transition:transform .16s ease, box-shadow .16s ease}
.social-contact-preview:hover .social-contact-qr,.social-contact-preview:focus-visible .social-contact-qr{transform:translateY(-1px);box-shadow:0 8px 18px rgba(23,50,61,.10)}
.social-contact-preview span{color:#466971}
@media(max-width:760px){.social-contact-preview{width:160px}.social-contact-preview .social-contact-qr{width:160px;height:160px}}




/* V7.23.6b — compact public WeChat utility. On desktop it occupies existing
   whitespace and therefore never increases the height of Page Two. */
.social-contact-v1{margin:18px 0 0;padding:15px 0 0;border-top:1px solid rgba(23,50,61,.12)}
.social-contact-item{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:13px!important;align-items:center!important;padding:0!important;border:0!important}
.social-contact-preview{display:grid!important;place-items:center!important;width:72px!important;height:72px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer!important;text-decoration:none!important}
.social-contact-preview .social-contact-qr{display:block!important;width:72px!important;height:72px!important;box-sizing:border-box!important;object-fit:contain!important;padding:5px!important;border:1px solid rgba(23,50,61,.16)!important;border-radius:5px!important;background:#fff!important;transition:transform .16s ease,box-shadow .16s ease}
.social-contact-preview:hover .social-contact-qr,.social-contact-preview:focus-visible .social-contact-qr{transform:translateY(-1px);box-shadow:0 7px 16px rgba(23,50,61,.10)}
.social-contact-placeholder{display:grid!important;place-items:center!important;position:relative!important;width:72px!important;height:72px!important;box-sizing:border-box!important;border:1px solid #c7d2cd!important;border-radius:5px!important;background:linear-gradient(145deg,#eef1ed,#dfe5e0)!important;overflow:hidden!important;color:#58706e!important}
.social-contact-placeholder::before,.social-contact-placeholder::after{content:"";position:absolute;width:13px;height:13px;border:1.5px solid currentColor;opacity:.42}
.social-contact-placeholder::before{left:9px;top:9px;border-right-width:.7px;border-bottom-width:.7px}
.social-contact-placeholder::after{right:9px;bottom:9px;border-left-width:.7px;border-top-width:.7px}
.social-contact-placeholder svg{width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.35!important}
.social-contact-meta{min-width:0}
.social-contact-v1 .social-contact-meta .aside-label{margin:0 0 5px!important;font-size:9px!important;letter-spacing:.09em!important}
.social-contact-item .ss-account-id{margin:0 0 4px!important;color:#60736e!important;font-size:9.5px!important;line-height:1.35!important}
.social-contact-item button:not(.social-contact-preview){min-height:22px!important;margin:0!important;padding:2px 0!important;border:0!important;background:transparent!important;color:#315e60!important;font:600 9.5px/1.3 system-ui,sans-serif!important;text-decoration:underline!important;text-underline-offset:3px!important;cursor:pointer!important}
.ss-contact-dialog .ss-placeholder-qr{display:grid;place-items:center;width:240px;height:240px;margin:20px auto 8px;border:1px solid #cad5d0;border-radius:6px;background:linear-gradient(145deg,#f0f2ee,#e1e6e1);color:#58706e}
.ss-contact-dialog .ss-placeholder-qr svg{width:54px;height:54px;stroke:currentColor;fill:none;stroke-width:1.3}
.ss-contact-dialog .ss-placeholder-note{text-align:center;color:#60736e;font-size:13px;line-height:1.5;max-width:32em;margin:12px auto 0}

@media(min-width:900px){
  html.v88[data-release="7.23"] body #explore[data-route="invitation"] #route-aside,
  html.v88[data-release="7.23"] body #explore[data-route="contact"] #route-content{position:relative!important}
  html.v88[data-release="7.23"] body #explore[data-route="invitation"] #route-aside>.social-contact-v1{
    position:absolute!important;left:var(--p2-rail-left)!important;right:var(--p2-rail-right)!important;bottom:15px!important;
    width:auto!important;max-width:none!important;margin:0!important;padding:11px 0 0!important;background:var(--p2-paper)!important;z-index:2!important;
  }
  html.v88[data-release="7.23"] body #explore[data-route="contact"] #route-content>.social-contact-v1{
    position:absolute!important;left:var(--p2-left)!important;bottom:24px!important;width:300px!important;max-width:calc(100% - var(--p2-left) - var(--p2-right))!important;
    margin:0!important;padding:11px 0 0!important;background:var(--p2-paper)!important;z-index:2!important;
  }
}
@media(min-width:900px) and (max-height:780px){
  html.v88[data-release="7.23"] body #explore:is([data-route="invitation"],[data-route="contact"]) .social-contact-item{grid-template-columns:58px minmax(0,1fr)!important;gap:10px!important}
  html.v88[data-release="7.23"] body #explore:is([data-route="invitation"],[data-route="contact"]) :is(.social-contact-preview,.social-contact-placeholder){width:58px!important;height:58px!important}
  html.v88[data-release="7.23"] body #explore:is([data-route="invitation"],[data-route="contact"]) .social-contact-preview .social-contact-qr{width:58px!important;height:58px!important;padding:4px!important}
  html.v88[data-release="7.23"] body #explore[data-route="invitation"] #route-aside>.social-contact-v1{bottom:7px!important;padding-top:8px!important}
  html.v88[data-release="7.23"] body #explore[data-route="contact"] #route-content>.social-contact-v1{bottom:12px!important;padding-top:8px!important;width:270px!important}
}
@media(max-width:899px){
  .social-contact-v1{position:static!important;width:auto!important;max-width:none!important;margin:18px 0 0!important;padding:15px 0 0!important}
  .social-contact-item{grid-template-columns:72px minmax(0,1fr)!important}
}

/* V7.26a: preserve the supplied QR and give its enlarged view a clear quiet zone. */
.ss-contact-dialog .ss-official-qr{
  width:min(100%,360px);height:auto;aspect-ratio:1;object-fit:contain;
  padding:clamp(24px,7vw,32px);background:#fff;box-sizing:border-box;
}
