/* Contact guidance follows the selected cream and Song type baseline. */
@font-face{font-family:QingheBindingKai;src:url('../assets/qinghe-binding-kai.woff2') format('woff2');font-weight:400;font-display:swap}
.feishu-masthead{height:190px;margin:0 0 38px;background:var(--paper,#fffef8) url('../assets/forms/qinghe-invitation-cover-v3-procession.png') right bottom / auto 290px no-repeat}
.feishu-guide-intro{max-width:700px}
.contact-role-switch{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 32px}
.contact-role-switch a{position:relative;flex:1;min-width:220px;display:flex;flex-direction:column;gap:9px;padding:20px 48px 20px 22px;border:1px solid var(--line,#dcdad4);text-decoration:none;color:var(--ink,#1d1b1c)}
.contact-role-switch a:hover{background:#faf6ec}
.contact-role-switch a[aria-current="page"]{border-color:#c4a56c;background:#fbf2df}
.contact-role-switch a[aria-current="page"]::after{content:"";position:absolute;top:24px;right:24px;width:8px;height:13px;border:solid #8c6a36;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.contact-role-switch strong{font-size:20px;font-weight:500}
.contact-role-switch span{font-size:14px;color:var(--muted,#635e56);line-height:1.7}
.contact-role-switch a:focus-visible{outline:2px solid #8c6a36;outline-offset:4px}
.contact-guide-role-label{font-size:14px;color:#8c6a36;margin-bottom:14px}
.feishu-steps{list-style:none;padding:0;margin:32px 0}
.feishu-steps li{display:grid;grid-template-columns:46px 1fr;gap:16px;padding:25px 0;border-top:1px solid var(--line,#dcdad4)}
.feishu-steps .step-number{color:#8c6a36;font-family:var(--song,serif);font-size:23px}
.feishu-steps h2{font-size:24px;margin:0 0 10px}
.feishu-steps p{line-height:1.9;margin:8px 0;max-width:680px}
.feishu-steps .actions{margin-top:17px;flex-wrap:wrap}
.feishu-guide-note{font-size:14px;color:var(--muted,#635e56);line-height:1.8}
.feishu-group-entry{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:24px;max-width:690px;margin:22px 0;padding:22px;border:1px solid var(--line,#dcdad4);background:#fffef8}
.feishu-group-qr{position:relative;width:180px;aspect-ratio:1;overflow:hidden;background:#fff}
/* Deterministic QR encoding preserves the supplied QR destination and its quiet border. */
.feishu-group-qr img{display:block;width:100%;height:100%;image-rendering:pixelated}
.feishu-group-entry .group-entry-title{margin:0 0 8px;font-family:var(--song,serif);font-size:22px;font-weight:400}
.feishu-group-entry .group-entry-copy p{margin:7px 0;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.feishu-group-entry .group-entry-copy .btn{margin:10px 0 5px}
.feishu-group-entry.is-compact{grid-template-columns:1fr;gap:14px;padding:18px}
.feishu-group-entry.is-compact .feishu-group-qr{width:160px}
.feishu-group-entry.is-compact .group-entry-copy{grid-row:1}
.feishu-guide .guide-questions{border-top:1px solid var(--line,#dcdad4);margin-top:38px;padding-top:20px}
.guide-questions details{padding:16px 0;border-bottom:1px solid var(--line,#dcdad4)}
.guide-questions summary{cursor:pointer;font-size:17px;line-height:1.7}
.guide-questions details p{max-width:680px;line-height:1.9}
.feishu-record-code{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0}
.feishu-record-code code{overflow-wrap:anywhere}
.feishu-join .actions{flex-wrap:wrap}
.feishu-join .form-aside{align-self:start}
.feishu-join .form-aside>h3{font-family:QingheBindingKai,serif;font-size:25px;font-weight:400;font-synthesis:none}
.contact-code-box{max-width:690px;margin:22px 0;padding:22px;border:1px solid #c4a56c;background:#fbf7ec}
.contact-code-box code{display:block;margin:10px 0;font:18px/1.8 monospace;letter-spacing:.04em;overflow-wrap:anywhere;user-select:all}
.contact-code-box p{font-size:14px;line-height:1.8}
/* Admission binding only: one painted round fan, with a copyable curved code. */
.admission-binding{display:grid;grid-template-columns:minmax(0,1fr) 268px;align-items:center;column-gap:22px;padding:24px 0;border:0;border-block:1px solid var(--line,#dcdad4);background:transparent}
.binding-copy{min-width:0}
.binding-copy>strong{display:block;font-family:QingheBindingKai,serif;font-size:23px;line-height:1.5;font-weight:400;font-synthesis:none;color:var(--theme-accent,#c74a4d)}
.admission-binding .binding-copy p{margin:16px 0 20px;font-size:14px;line-height:1.9;color:var(--ink)}
.admission-binding .binding-chat-link{font-weight:500;text-decoration-thickness:1px;text-underline-offset:5px}
.binding-fan-copy{appearance:none;display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}
.binding-fan-art{display:block;width:100%;height:auto;overflow:visible;transform-origin:50% 97%;transition:transform .25s ease}
.binding-code-arc{font:400 21.5px Consolas,monospace;fill:var(--ink);letter-spacing:.4px}
.binding-copy-label{pointer-events:none}
.binding-fan-copy:hover .binding-copy-label{background:#b54144}
.binding-fan-copy:focus-visible{outline:2px solid var(--theme-focus,#98414a);outline-offset:5px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.binding-fan-copy:hover .binding-fan-art{transform:rotate(-1.2deg)}}
[data-feishu-form] [hidden],[data-code-box][hidden]{display:none!important}
.how-contact-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:24px 0 0}
.how-contact-links a{font-size:15px;text-decoration:underline;text-underline-offset:7px}
@media(max-width:600px){
 .contact-role-switch{gap:10px;margin-bottom:26px}
 .contact-role-switch a{min-width:100%;padding:16px 18px}
 .feishu-masthead{height:112px;margin-bottom:28px;background-size:auto 112px;background-position:right bottom}
 .feishu-steps li{grid-template-columns:32px 1fr;gap:10px;padding:22px 0}
 .feishu-steps h2{font-size:21px}
 .how-contact-links{gap:20px}
 .feishu-group-entry{grid-template-columns:1fr;gap:14px;padding:18px}
 .feishu-group-entry .group-entry-copy{grid-row:1}
 .feishu-group-entry .feishu-group-qr{width:160px}
 .admission-binding{grid-template-columns:1fr;gap:22px;padding:22px 0}
 .binding-copy>strong{font-size:22px}
 .binding-fan-copy{width:min(100%,280px);justify-self:center}
}
