/* Member guide: intentionally scoped, with no administrative styles or actions. */
.ls-member-guide { max-width: 980px; margin: 0 auto; padding: 28px 20px 64px; color: #3e3546; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
.ls-member-guide * { box-sizing: border-box; }
.ls-member-guide a { color: #674479; text-decoration: underline; text-underline-offset: 3px; }
.ls-member-guide a:focus-visible,.ls-member-guide summary:focus-visible { outline: 3px solid #765988; outline-offset: 4px; }
.ls-member-guide h2 { font-size: clamp(1.35rem,3vw,1.8rem); color: #46344f; line-height: 1.5; margin: 0 0 16px; border: 0; background: none; padding: 0; }
.ls-member-guide h2::before,.ls-member-guide h2::after,.ls-member-guide h3::before,.ls-member-guide h3::after { display: none; }
.ls-member-guide h3 { font-size: 1.08rem; color: #46344f; margin: 22px 0 8px; border: 0; background: none; padding: 0; }
.ls-member-guide p { margin: 0 0 14px; }
.ls-mg-hero { padding: 34px; border: 1px solid #e3d6e8; border-radius: 20px; background: linear-gradient(130deg,#f8f0f7,#f0f5fa); }
.ls-mg-kicker { font-size: .76rem; letter-spacing: .12em; color: #665170; font-weight: 700; }
.ls-mg-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.ls-member-guide .ls-mg-link { display: inline-block; padding: 9px 17px; border: 1px solid #cbbbce; border-radius: 9px; background: #fff; font-weight: 700; font-size: .9rem; text-decoration: none; }
.ls-mg-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 0; margin: 24px 0; list-style: none; }
.ls-mg-flow li { margin: 0; padding: 18px; border: 1px solid #e2dbe6; border-radius: 12px; background: #fff; }
.ls-mg-flow strong,.ls-mg-flow span { display: block; }
.ls-mg-flow small { display: block; color: #6c5779; font-weight: 700; letter-spacing: .08em; }
.ls-mg-flow span { font-size: .9rem; margin-top: 6px; }
.ls-mg-toc { padding: 24px; background: #f8f6f9; border-radius: 12px; }
.ls-mg-toc ol { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 28px; margin: 0; padding-left: 24px; }
.ls-mg-section { padding: 36px 0; border-bottom: 1px solid #e6e0e9; scroll-margin-top: 105px; }
.ls-mg-section > ol { padding-left: 1.6em; }
.ls-mg-section li { margin-bottom: 10px; padding-left: 3px; }
.ls-member-guide .ls-mg-figure { width: 100%; max-width: 840px; margin: 24px auto; }
.ls-member-guide .ls-mg-figure > a { display: block; border-radius: 12px; cursor: zoom-in; }
.ls-member-guide .ls-mg-figure img { display: block; width: 100%; max-width: 100%; height: auto; border: 1px solid #e3dce7; border-radius: 12px; }
.ls-member-guide .ls-mg-figure figcaption { margin-top: 10px; color: #655c6b; font-size: .85rem; line-height: 1.7; text-align: center; }
.ls-mg-note,.ls-mg-ok { padding: 16px 20px; border-radius: 10px; margin: 18px 0; }
.ls-mg-note { background: #fff7e8; border-left: 4px solid #b28035; }
.ls-mg-ok { background: #edf6f2; border-left: 4px solid #4f8070; }
.ls-mg-note strong,.ls-mg-ok strong { display: block; }
.ls-mg-badge { display: inline-block; font-size: .76rem; padding: 2px 10px; border-radius: 6px; margin-bottom: 10px; color: #5a456a; background: #efe6f4; }
.ls-member-guide table { border-collapse: collapse; width: 100%; margin: 18px 0; font-size: .9rem; }
.ls-member-guide th,.ls-member-guide td { border: 1px solid #e3dce7; padding: 12px; text-align: left; vertical-align: top; }
.ls-member-guide th { background: #f3edf6; color: #46344f; }
.ls-member-guide details { border: 1px solid #dfd7e4; border-radius: 10px; margin: 12px 0; background: #fff; }
.ls-member-guide summary { padding: 17px; cursor: pointer; font-weight: 700; line-height: 1.65; }
.ls-member-guide details > div { padding: 0 18px 16px; }
.ls-member-guide details p:last-child { margin-bottom: 0; }
.ls-mg-footer { padding-top: 26px; color: #655c6b; font-size: .84rem; }
@media(max-width:640px) {
 .ls-member-guide { padding: 20px 16px 42px; font-size: 15px; }
 .ls-mg-hero { padding: 24px 20px; }
 .ls-mg-flow,.ls-mg-toc ol { grid-template-columns: 1fr; }
 .ls-mg-flow { gap: 8px; }
 .ls-mg-flow li { padding: 14px 18px; }
 .ls-member-guide th,.ls-member-guide td { padding: 9px 7px; font-size: .83rem; }
 .ls-mg-links { flex-direction: column; }
 .ls-mg-link { text-align: center; }
}
@media print {
 .ls-member-guide { max-width: none; padding: 0; color: #222; }
 .ls-mg-links,.ls-mg-toc,.ls-mg-back { display: none; }
 .ls-mg-section { break-inside: avoid; padding: 20px 0; }
 .ls-mg-hero { background: #fff; }
}
