/* ComponentSpec + SharePage approved shared H5 layout. */
.share-design { --share-width: 1000px; --share-gutter: 24px; letter-spacing: 0; }
.share-design .web-layout, .share-design .site-header { width: min(calc(100% - var(--share-gutter) * 2), var(--share-width)); margin-inline: auto; }
.share-design .share-header.site-header { padding:8px 0; min-height:64px; border:0; gap:12px; }
.share-design .share-header .brand-home { font-size:1.125rem; gap:8px; letter-spacing:0; }
.share-design .share-header .brand-home img { width:32px; height:32px; }
.share-design .share-header .site-nav, .share-design .share-header .language-switch, .share-design .share-header .appearance, .share-design .share-header .mobile-menu { display:none; }
.share-design .page.detail-page { display:block; margin:8px auto 0; max-width:none; padding:0; }
.share-design main.with-action { padding:0; }
.share-hero { margin:0 0 20px; }
.share-design h1 { margin:0; font-size:1.75rem; font-weight:600; line-height:1.35; letter-spacing:0; text-wrap:wrap; overflow-wrap:anywhere; }
.share-design .event-status { margin:8px 0 0; font-size:.75rem; line-height:1.5; color:var(--secondary); }
.share-design .author { margin:20px 0 0; min-height:48px; gap:10px; }
.share-design .avatar { width:32px; height:32px; }
.share-design .author span { font-size:.875rem; font-weight:500; line-height:1.5; }
.share-design .author small { font-size:.75rem; line-height:1.5; }
.share-design .facts { margin:0; padding:0; gap:16px; }
.share-design .fact { grid-template-columns:28px minmax(0,1fr); gap:16px; }
.share-design .fact dt { font-size:.75rem; line-height:1.5; padding-top:2px; }
.share-design .fact dd { font-size:.875rem; line-height:1.6; }
.share-design .fact-action { width:48px; flex-basis:48px; margin-block:-12px; color:var(--text); }
.share-design .fact-action svg { width:20px; height:20px; }
.share-design .conditions { padding-left:44px; margin:16px 0 0; font-size:.75rem; }
.share-design .intro { margin-top:20px; }
.share-design h2 { font-size:1rem; font-weight:600; line-height:1.5; margin:0 0 12px; }
.share-design .prose { font-size:.9375rem; line-height:1.7; margin:0; }
.share-design .gallery { margin:0 0 24px; }
.share-design .gallery .web-video { display:block; width:100%; margin:0; border-radius:12px; background:#000; }
.share-design .gallery-more .web-video { margin-top:8px; }
.share-design .media { margin:0; border-radius:12px; content-visibility:visible; }
.share-design .gallery-more { margin-top:8px; }
.share-design main>section:last-child:not(.intro):not(.gallery) { margin-top:24px; }
.share-design main>section:last-child:not(.intro):not(.gallery) p { font-size:.8125rem; line-height:1.6; color:var(--secondary); margin:0 0 8px; }
.share-design .app-action { display:none; }
/* Identity, writing, skill comparison and invitation have distinct reading orders. */
.share-design .share-eyebrow { color:var(--secondary);font-size:.75rem;font-weight:400;line-height:1.5;margin:0 0 4px; }
.share-design .share-hero>.share-eyebrow { margin:8px 0 0; }
.share-design .profile { margin:0; }
.share-design .profile>.prose { margin-top:20px; }
.share-design .profile>.muted { font-size:.75rem;line-height:1.6;margin:12px 0 0; }
.share-design .share-identity { display:flex;align-items:center;gap:16px; }
.share-design .share-identity>div { min-width:0; }
.share-design .profile-avatar { width:64px;height:64px;flex:0 0 64px;object-fit:cover;object-position:50% 30%; }
.share-design .share-identity h1 { font-size:1.5rem;line-height:1.35; }
.share-design .object { margin:0;padding:16px;border-radius:16px;background:var(--quiet); }
.share-design .object+.object { margin-top:12px; }
.share-design .object:after { display:none; }
.share-design .object strong { font-size:1rem;line-height:1.5;font-weight:500; }
.share-design .object small { font-size:.75rem;line-height:1.5;margin-top:4px; }
.share-design .object span { font-size:.8125rem;line-height:1.6;margin-top:8px; }
.share-design .share-skill-card { display:flex;align-items:flex-start;gap:12px; }
.share-design .share-skill-thumb { width:72px;height:88px;flex:0 0 72px;object-fit:cover;object-position:50% 30%;border-radius:8px; }
.share-design .share-skill-copy { min-width:0;flex:1; }
.share-design .object .share-skill-facts { display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px; }
.share-design .object .share-skill-facts>span { margin:0; }
.share-design .object .share-skill-rate { color:var(--text);font-size:.875rem;font-weight:500; }
.share-design .object .share-skill-detail { font-size:.75rem; }
.share-design .share-service-photo { margin-bottom:24px; }
.share-design .share-service-price dd { font-size:1rem;font-weight:500; }
.share-design[data-share-kind="feed"] .author { margin:0 0 20px;gap:12px; }
.share-design[data-share-kind="feed"] .avatar { width:40px;height:40px; }
.share-design[data-share-kind="feed"] .author>span { font-size:1rem;font-weight:500; }
.share-design .author .feed-date { font-size:.75rem;font-weight:400;line-height:1.5;margin:2px 0 0;color:var(--secondary); }
.share-design .share-feed-media { display:grid;gap:12px;margin:20px 0 0; }
.share-design[data-share-kind="feed"] .feed-text { font-size:1rem;line-height:1.75; }
.share-design .invitation { text-align:center;margin:12px 0 0;padding:12px 0 20px; }
.share-design .invitation>.share-eyebrow { margin:0 0 24px; }
.share-design .invitation>.profile-avatar { display:block;margin:0 auto 20px;width:72px;height:72px; }
.share-design .invitation h1 { font-size:1.5rem;line-height:1.5;margin:0; }
.share-design .invitation>p:not(.share-eyebrow) { font-size:.875rem;line-height:1.7;max-width:22em;margin:16px auto 0; }
.share-design .invitation .inviter { color:var(--text); }
.share-design .notice { margin:12px 0 0;padding-block:12px; }
.share-design .notice h1 { margin:0 0 16px; }
.share-design .notice p { font-size:.875rem;line-height:1.7; }
/* ProfileHeader: real personal image, identity on the photograph, solid body. */
.share-design { --share-cover-height:224px;--share-cover-body-radius:24px;--share-cover-avatar:80px; }
.share-design .share-person-cover { position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:var(--share-cover-height);margin-inline:calc(-1 * var(--share-gutter));padding:96px var(--share-gutter) 44px;overflow:hidden; }
.share-design .share-person-background { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;z-index:-2; }
.share-design .share-person-cover[data-state="ready"] .share-person-background { opacity:1; }
.share-design .share-person-cover[data-state="ready"] .profile-avatar { border-color:#fff; }
.share-design .share-person-fade { position:absolute;inset:var(--cover-fade-start,0px) 0 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(0,0,0,var(--cover-shade,0)) var(--cover-fade-solid,100%)); }
.share-design .cover-identity { width:100%;gap:14px; }
.share-design .cover-identity .profile-avatar { width:var(--share-cover-avatar);height:var(--share-cover-avatar);flex-basis:var(--share-cover-avatar);border:2px solid currentColor; }
.share-design .cover-identity>div { min-width:0;flex:1;display:flex;flex-direction:column; }
.share-design .cover-identity h1,.share-design .cover-name { font-size:1.375rem;font-weight:600;line-height:1.35;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.share-design .cover-identity .share-eyebrow { order:2;margin:6px 0 0;color:inherit; }
.share-design .profile-account-id { margin:6px 0 0;font-size:.8125rem;font-weight:400;line-height:1.45;color:var(--secondary);overflow-wrap:anywhere; }
.share-design .share-person-cover .profile-account-id { color:inherit; }
.share-design .share-person-cover[data-ink="light"] { color:#fff; }
.share-design .share-person-cover[data-ink="dark"] { color:#0f0f0f; }
.share-design .share-person-content { position:relative;z-index:1;margin:calc(-1 * var(--share-cover-body-radius)) calc(-1 * var(--share-gutter)) 0;padding:24px var(--share-gutter) 0;border-radius:var(--share-cover-body-radius) var(--share-cover-body-radius) 0 0;background:var(--canvas); }
.share-design .share-person-content .profile>.prose { margin-top:0; }
.share-design .share-person-content .profile>.muted { margin-top:12px; }
.share-design .share-person-content section { margin-top:28px; }
.share-design .share-person-content .invitation { margin:0;padding:0;text-align:left; }
.share-design .share-person-content .invitation h1 { font-size:1.5rem; }
.share-design .share-person-content .invitation>p { margin:12px 0 0;max-width:none; }
.share-design .cover-identity-external { margin-bottom:20px;color:var(--text); }
.share-design .cover-identity-external .profile-avatar { border-color:var(--canvas); }
.share-design .share-person-cover[data-ink="separate"] { padding:0; }
/* Footer: secondary information has no card shell; disclosure rows retain targets. */
.share-design .site-footer { margin:36px 0 0; padding:24px 0 20px; background:none; border:0; border-top:1px solid var(--line); color:var(--secondary); }
.share-design .footer-intro { display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.share-design .footer-brand { gap:0; font-size:1rem; line-height:1.5; font-weight:600; letter-spacing:0; min-height:48px; flex:0 0 auto; }
.share-design .footer-brand img { width:32px; height:32px; margin:0; }
.share-design .footer-brand>span { display:none; }
.share-design .footer-message p { margin:0; font-size:.8125rem; line-height:1.5; }
.share-design .footer-message strong { display:block; font-size:.875rem; font-weight:500; color:var(--text); line-height:1.5; }
.share-design .footer-fold { margin:0; }
.share-design .footer-fold>summary { min-height:48px; padding:0; font-size:.8125rem; color:var(--text); font-weight:500; }
.share-design .footer-fold>summary:after { border-color:var(--text); }
.share-design .footer-fold nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding-bottom:8px; }
.share-design .footer-fold nav>a { font-size:.8125rem; min-height:48px; width:auto; line-height:1.5; }
.share-design .footer-fold nav>a[href^="mailto:"], .share-design .footer-fold nav>a[href*="miit.gov.cn"], .share-design .footer-fold nav>a[href*="beian.gov.cn"] { grid-column:1 / -1; font-size:.75rem; }
.share-design .site-footer-policies { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 8px; margin:4px 0 8px; }
.share-design .site-footer-policies>a { font-size:.75rem; min-height:48px; line-height:1.5; width:auto; }
.share-design .site-footer-records { padding:0; border:0; font-size:.75rem; line-height:1.5; }
.share-design .site-footer-records p { display:block; margin:0; line-height:1.5; }
.share-design .site-footer-records a { min-height:48px; display:flex; line-height:1.5; align-items:center; }
.share-design .site-footer-records p:first-child { margin-bottom:4px; }
.share-design .site-footer-records .site-footer-police { gap:6px; }
.share-design .site-footer-records img { width:14px; height:14px; }
@media(min-width:900px) {
 .share-design #main-content { display:block;max-width:680px;margin-inline:auto; }
 .share-design[data-share-kind="event"] #main-content,.share-design[data-share-kind="talent-service"] #main-content { display:grid;max-width:none;grid-template-columns:minmax(0,1fr) 320px;column-gap:64px;align-items:start; }
 .share-hero { grid-column:1; }
 .share-design .facts { grid-column:2; grid-row:1 / span 4; padding:24px; background:var(--quiet); border-radius:16px; }
 .share-design #main-content>section, .share-design .conditions, .share-design .author { grid-column:1; }
 .share-design h1 { font-size:2.25rem; }
 .share-design .intro { margin-top:0; }
 .share-design .share-service-photo { grid-column:1; }
 .share-design .site-footer { margin-top:48px; display:grid; grid-template-columns:1fr 1fr; column-gap:64px; }
 .share-design .footer-intro { grid-column:1 / -1; }
 .share-design .site-footer-policies, .share-design .site-footer-records { grid-column:1 / -1; }
 .share-design .site-footer-policies { display:flex; gap:24px; }
 .share-design .site-footer-records { display:flex; flex-wrap:wrap; gap:0 20px; align-items:center; }
 .share-design .site-footer-records p:first-child { margin:0; }
}
@media(max-width:359px) { .share-design { --share-gutter:20px; } .share-design .site-footer-policies { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.share-design .share-person-content .share-identity { margin-bottom:20px; }
.share-design .invitation>.share-identity { justify-content:center;margin-bottom:20px;text-align:left; }
.share-design .share-feed-media:empty { display:none; }
.share-design .share-person-cover[data-ink="separate"] { margin-bottom:0; }
.share-design .share-header .header-tools { min-width:0; flex-shrink:0; }

.share-design .footer-fold .web-qr { display:none; }
@media(min-width:1100px) { .share-design .footer-fold .web-qr { display:block;grid-column:1 / -1;padding:12px 0; } }

/* ProfilePage / VerifiedMark: nickname truncates, the verification seal never does. */
.share-design .share-person-name { display:flex;align-items:center;gap:6px;max-width:100%;min-width:0; }
.share-design .share-person-name>.share-nickname { display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:inherit;color:inherit; }
.share-design .share-person-name>.verified-mark { display:block;flex:0 0 18px;width:18px;height:auto;object-fit:contain; }
.share-design .author-copy { min-width:0; }
.share-design .cover-identity .share-person-name { font-size:1.375rem;font-weight:600;line-height:1.35;margin:0; }
.share-design .invitation .share-person-name { font-size:1.375rem;font-weight:600;line-height:1.35;margin:0; }
.share-design .author { max-width:100%; }
.share-design .author>.avatar { flex-shrink:0; }
.share-design .author-copy { flex:1;overflow:hidden; }
.share-design .share-identity>div { flex:1; }

.share-design .share-object-card { display:flex;align-items:flex-start;gap:12px; }
.share-design .share-object-thumb { width:72px;height:88px;flex:0 0 72px;object-fit:cover;border-radius:8px; }
.share-design .share-object-copy { min-width:0;flex:1; }
.share-design .share-object-copy strong { overflow-wrap:anywhere; }

/* Existing FormInput / Button surfaces, also used for the pre-install invitation step. */
.share-design .invitation-handoff { margin-top:24px; }
.share-design .invitation-handoff p,.share-design .handoff-consent { font-size:.875rem;line-height:1.7;color:var(--secondary); }
.share-design .invitation-handoff label { display:block;font-size:.875rem;line-height:1.5;min-width:0; }
.share-design .invitation-handoff input:not([type=checkbox]) { box-sizing:border-box;display:block;width:100%;min-width:0;min-height:48px;margin:8px 0 16px;padding:12px 16px;border:0;border-radius:12px;background:var(--quiet);color:var(--text);font:inherit; }
.share-design .handoff-code { display:flex;align-items:center;gap:12px; }
.share-design .handoff-code>label { flex:1; }
.share-design .handoff-secondary { border:0;border-radius:999px;background:var(--quiet);color:var(--secondary);padding:8px 16px;min-height:40px;font:inherit;font-size:.875rem; }
.share-design label.handoff-consent { display:flex;align-items:flex-start;gap:8px;margin-bottom:16px; }
.share-design .handoff-consent input { flex:none;margin-top:5px; }
.share-design .handoff-consent a { text-decoration:underline;color:var(--link); }
.share-design .invitation-handoff .primary { width:100%;min-height:48px;justify-content:center; }
.share-design .handoff-direct { display:inline-flex;align-items:center;min-height:48px;font-size:.8125rem;color:var(--secondary); }
.share-design .invitation-handoff [role=status]:empty { display:none; }

/* UserFollowVariant.profile / AppContactButton.profile: the Flutter pair. */
:root[data-theme="dark"] { --profile-element-bg:#272727; }
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --profile-element-bg:#272727; } }
.share-design .profile-social-counts { display:flex;flex-wrap:wrap;gap:4px 20px;margin:0 0 12px;font-size:.875rem;line-height:1.5;color:var(--secondary); }
.share-design .profile-social-counts strong { font-weight:500;color:var(--text); }
.share-design[data-share-kind="profile"] .profile>.prose { margin-top:0; }

/* TalentHomeInline: same published geometry and font roles as the App canvas. */
@font-face{font-family:NiagoHomeRoboto;src:url('fonts/Roboto-Variable.ttf');font-weight:100 900;font-display:swap}
@font-face{font-family:NiagoHomeCJK;src:url('fonts/NiagoCJK-Variable-subset.otf');font-weight:100 900;font-display:swap}
.share-design[data-share-kind=talent-skills] .web-layout{width:100%;max-width:430px;margin:0 auto}
.share-design[data-share-kind=talent-skills] .page.detail-page{width:100%;margin:0;padding:0}
.talent-home{--home-canvas:#fff;--home-ink:#0f0f0f;--home-muted:#606060;--home-quiet:#f5f5f5;font-family:NiagoHomeRoboto,NiagoHomeCJK,sans-serif;background:var(--home-canvas);color:var(--home-ink);font-weight:400;letter-spacing:0}
.talent-home *{box-sizing:border-box}.talent-home a{color:inherit;text-decoration:none}.talent-home p,.talent-home h1,.talent-home h2{margin:0;letter-spacing:0;text-wrap:wrap}.talent-home button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
/* 2026-11-12 user: the web page keeps the shared brand header, aligned to the canvas column; the reviews entry ends the identity row. */
.share-design[data-share-kind=talent-skills] .site-header{width:min(calc(100% - 40px),390px)}
/* The canvas column is full-bleed; the footer and the unavailable notice keep the canvas's 20 inset (2026-11-12 user: no side padding). */
.share-design[data-share-kind=talent-skills] .site-footer{width:auto;margin-inline:20px}.share-design[data-share-kind=talent-skills] .notice{padding-inline:20px}
.talent-home .home-identity-copy{flex:1;min-width:0}.talent-home .home-page-label{margin-top:2px;font-size:13px;line-height:1.45;color:var(--home-muted)}
.talent-home .home-reviews{min-width:48px;height:48px;display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-right:-4px;padding:0 4px;flex:none;color:var(--home-ink);text-decoration:none}.talent-home .home-reviews svg{width:22px;height:22px}.talent-home .home-reviews b{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.talent-home svg{width:24px;height:24px;flex:none}
.talent-home .home-canvas{position:relative;isolation:isolate;padding:12px 20px 24px}
.talent-home .home-kicker{padding-right:44px;margin-bottom:16px;font-size:12px;line-height:1.5;color:var(--home-muted);overflow-wrap:anywhere}.talent-home .home-identity{display:flex;gap:12px;align-items:center;min-width:0}.talent-home .home-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}.talent-home .home-avatar-empty{display:grid;place-items:center;background:var(--home-quiet);color:var(--home-muted)}.talent-home .home-identity h2{flex:1;min-width:0;font-size:20px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.talent-home .home-name{display:flex;align-items:center;gap:4px}.talent-home .home-name>.share-nickname{min-width:0;overflow-wrap:anywhere}.talent-home .home-name>.verified-mark{display:block;flex:0 0 18px;width:18px;height:auto}.talent-home .home-introduction{padding-right:44px;margin-top:12px;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.talent-home .home-blocks{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:20px}.talent-home .home-blocks.is-packed{display:block;position:relative}.talent-home .home-blocks.is-packed>.home-module{position:absolute}.talent-home .home-module{width:max(min(96px,100%),calc((100% + 12px)*var(--home-width,1) - 12px));min-width:0;margin:0;flex:none}.talent-home .home-module[data-home-kind="text"]{width:auto;max-width:max(min(96px,100%),calc((100% + 12px)*var(--home-width,1) - 12px))}.talent-home .home-module-frame{width:100%;aspect-ratio:var(--home-aspect,1.65);overflow:hidden;border-radius:12px;background:var(--home-quiet);position:relative}.talent-home .home-module-frame>img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--home-x,50%) var(--home-y,50%)}.talent-home .home-media-missing{min-height:96px;display:grid;place-items:center;color:var(--home-muted);font-size:14px;padding:12px}.talent-home .home-caption{margin-top:8px;font-size:12px;line-height:1.5;color:var(--home-muted);overflow-wrap:anywhere}
.talent-home .home-text{min-height:var(--home-height,0px);padding:2px 0;white-space:pre-wrap;overflow-wrap:anywhere}.talent-home [data-home-tone=heading]{font-size:20px;font-weight:600;line-height:1.4}.talent-home [data-home-tone=body]{font-size:16px;font-weight:400;line-height:1.6}.talent-home [data-home-tone=caption]{font-size:12px;font-weight:400;line-height:1.6;color:var(--home-muted)}
.talent-home .home-skill{display:block}.talent-home .home-skill-title{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin-top:10px;font-size:16px;font-weight:500;line-height:1.5}.talent-home .home-skill-title>span{max-width:100%;overflow-wrap:anywhere}.talent-home .home-skill-facts{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:6px}.talent-home .home-price{font-size:20px;font-weight:600;line-height:1.5}.talent-home .home-price small{font-size:12px;font-weight:400;color:var(--home-muted)}.talent-home .home-sold{font-size:12px;color:var(--home-muted);line-height:1.4}
.talent-home .home-skill-level{min-height:20px;padding:0 5px;border:1px solid;border-radius:4px;font-size:12px;font-weight:400;line-height:18px;flex:none}.talent-home .level-1{color:#606060;background:#f5f5f5;border-color:#dadada}.talent-home .level-2{color:#245a86;background:#edf5fc;border-color:#c7dcec}.talent-home .level-3{color:#735099;background:#f5effa;border-color:#dac9ec}.talent-home .level-4{color:#866020;background:#fbf5e8;border-color:#e6d4aa}
.talent-home .home-video{position:absolute;inset:0;background:#000}.talent-home .home-video>img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--home-x,50%) var(--home-y,50%)}.talent-home .home-video-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:none}.talent-home .home-video-play svg{width:44px;height:44px;background:#0008;border-radius:50%;padding:10px}.talent-home .home-video video{display:block;width:100%;height:100%;object-fit:contain}
.talent-home .home-empty{font-size:14px;line-height:1.5;color:var(--home-muted)}.talent-home .home-pagination{display:flex;justify-content:center}.talent-home .home-pagination a{min-height:48px;display:flex;align-items:center;font-size:14px;color:var(--home-muted)}
[data-theme=dark] .talent-home{--home-canvas:#0f0f0f;--home-ink:#f1f1f1;--home-muted:#aaa;--home-quiet:#272727}
[data-theme=dark] .talent-home .level-1{color:#c2c2c2;background:#292929;border-color:#454545}[data-theme=dark] .talent-home .level-2{color:#9fc7ef;background:#1d2c3b;border-color:#3d5671}[data-theme=dark] .talent-home .level-3{color:#d1b4ef;background:#30243d;border-color:#60466f}[data-theme=dark] .talent-home .level-4{color:#e5c17c;background:#352d20;border-color:#6f5833}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .talent-home{--home-canvas:#0f0f0f;--home-ink:#f1f1f1;--home-muted:#aaa;--home-quiet:#272727}}
@media(max-width:340px){.talent-home .home-module{width:100%}.talent-home .home-canvas{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.talent-home *{scroll-behavior:auto;animation:none;transition:none}}

/* 2026-11-12 user: the only strong action is a floating 「App 内打开」 pill, as on
   Xiaohongshu, raised off the bottom edge into easy thumb reach. Page content
   ends above it; desktop keeps QR. */
.share-open-bar { position:fixed; left:0; right:0; bottom:calc(72px + env(safe-area-inset-bottom)); z-index:40; display:flex; justify-content:center; pointer-events:none; }
.share-open-pill { position:relative; pointer-events:auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:0 26px 0 22px; border-radius:999px; background:linear-gradient(45deg,#ff0000 8%,#ff227d 100%); color:#fff; font-size:1rem; font-weight:600; line-height:1; white-space:nowrap; text-decoration:none; box-shadow:0 6px 20px rgba(255,20,80,.28); }
.share-open-pill svg { width:26px; height:20px; flex:none; }
.share-open-pill:focus-visible { outline:2px solid #065fd4; outline-offset:3px; }
/* 2026-11-15 user: 「App 优先，同时提供小程序按钮」. Inside WeChat only, once the
   open tag is ready, a neutral secondary pill sits left of the App pill (same
   height, 8 apart, like ActionPair: secondary left, primary right). */
.share-open-bar { gap:8px; }
.share-mini-pill { padding:0 22px; background:#fff; color:#0f0f0f; box-shadow:0 6px 20px rgba(0,0,0,.14); }
.share-mini-pill[hidden] { display:none; }
.share-mini-pill svg { width:22px; height:22px; flex:none; }
[data-theme=dark] .share-mini-pill { background:#272727; color:#f1f1f1; box-shadow:0 6px 20px rgba(0,0,0,.4); }
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .share-mini-pill { background:#272727; color:#f1f1f1; box-shadow:0 6px 20px rgba(0,0,0,.4); }}
.share-design .page.has-action, .share-design[data-share-kind=talent-skills] .page.has-action { padding-bottom:calc(148px + env(safe-area-inset-bottom)); }
@media(min-width:1100px) { .share-open-bar { display:none; } .share-design .page.has-action, .share-design[data-share-kind=talent-skills] .page.has-action { padding-bottom:0; } }
/* PrivateEventMark：私密活动封面左上「私密」照片前景胶囊（2026-11-13 用户确认原型）。
   58% 黑 + 12 模糊；不支持模糊、高对比或减少透明时实底 #1C2023；不随深色模式变化。 */
.share-private-cover { position:relative; }
.share-private-mark { position:absolute; left:16px; top:12px; z-index:1; display:inline-flex; align-items:center; gap:4px; height:24px; padding:0 8px; border-radius:12px; box-sizing:border-box; background:#1C2023; color:#fff; font-size:12px; font-weight:500; line-height:1; pointer-events:none; }
.share-private-mark svg { width:14px; height:14px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))) { .share-private-mark { background:rgb(0 0 0 / 58%); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); } }
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) { .share-private-mark { background:#1C2023; backdrop-filter:none; -webkit-backdrop-filter:none; } }
