.match-view { display: none; }
.match-view.active { display: block; animation: matchViewIn .45s ease both; }
.match-modal .modal-card { width: min(880px, calc(100vw - 32px)); max-height: min(86vh, 760px); overflow: auto; }
.match-data-note { display: block; margin-top: 18px; color: #9691a4; }
.prompt-box textarea.input-error { border-color: #ff5f9e; background: rgba(255,95,158,.04); }
.agent-orb { width: 94px; height: 94px; margin: 38px auto 22px; border-radius: 32px; display: grid; place-items: center; color: white; background: linear-gradient(135deg,#7758f6,#ff5f9e); box-shadow: 0 18px 50px rgba(119,88,246,.28); position: relative; }
.agent-orb b { font-size: 24px; position: relative; z-index: 1; }
.agent-orb i { position:absolute; inset:-10px; border:1px solid rgba(119,88,246,.22); border-radius:40px; animation:agentPulse 1.4s ease-in-out infinite; }
#matchLoadingView { text-align:center; min-height:380px; padding-top:20px; }
.analysis-steps { width:min(520px,100%); margin:34px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.analysis-steps span { padding:12px 8px; border-radius:14px; background:#f4f1f8; color:#9691a4; font-size:13px; transition:.35s ease; }
.analysis-steps span.active { color:#5d42d7; background:#eee8ff; box-shadow:inset 0 0 0 1px rgba(119,88,246,.15); }
.results-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; text-align:left; margin-bottom:18px; }
.results-head h2 { margin:8px 0 6px; font-size:clamp(28px,4vw,42px); }
.results-head p { margin:0; color:#777386; max-width:620px; }
.restart-match { border:1px solid rgba(119,88,246,.16); background:#f5f1ff; color:#5f45d9; padding:10px 14px; border-radius:999px; white-space:nowrap; cursor:pointer; }
.match-insights { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.match-insights>span { padding:12px 14px; border:1px solid rgba(119,88,246,.1); border-radius:16px; background:rgba(247,244,255,.78); }
.match-insights small { display:block; color:#9691a4; font-size:11px; margin-bottom:3px; }
.match-insights b { font-size:13px; color:#302449; }
.match-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.match-person { min-width:0; padding:18px; border-radius:22px; text-align:left; border:1px solid rgba(119,88,246,.12); background:linear-gradient(155deg,rgba(255,255,255,.95),rgba(238,230,255,.48)); box-shadow:0 12px 34px rgba(91,70,160,.08); animation:personIn .45s var(--delay) ease both; }
.match-person.pink { background:linear-gradient(155deg,#fff,#fff0f6); }.match-person.blue { background:linear-gradient(155deg,#fff,#edf6ff); }.match-person.mint { background:linear-gradient(155deg,#fff,#ecfff8); }.match-person.yellow { background:linear-gradient(155deg,#fff,#fff8dc); }
.person-top { display:flex; align-items:center; justify-content:space-between; }
.person-avatar { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; color:white; font-weight:800; background:linear-gradient(135deg,#7758f6,#ff7ead); box-shadow:0 7px 18px rgba(119,88,246,.22); }
.match-score { font-size:11px; color:#777386; }.match-score b { font-size:20px; color:#7758f6; }
.match-person h3 { margin:14px 0 2px; font-size:19px; }.person-role { color:#777386; font-size:12px; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.match-reason { font-size:13px; line-height:1.65; color:#514b61; min-height:64px; margin:13px 0; }
.person-tags { display:flex; flex-wrap:wrap; gap:6px; }.person-tags span { padding:5px 8px; border-radius:999px; background:rgba(119,88,246,.08); color:#654bd7; font-size:11px; }
.person-action { display:flex; flex-direction:column; align-items:stretch; gap:10px; margin-top:16px; padding-top:13px; border-top:1px solid rgba(119,88,246,.1); }.person-primary-actions{display:flex;gap:8px}.person-action button { min-height:40px;border:0; border-radius:11px; padding:9px 12px; background:#252036; color:white; font-size:11px;font-weight:700; cursor:pointer; transition:.25s ease; }.person-primary-actions button{flex:1}.person-action button:hover { transform:translateY(-2px); background:#7758f6; }.person-action button.sent { background:#48b996; }.person-action .profile-link{align-self:flex-start;min-height:auto;padding:2px 0;background:transparent;color:#6f6780;font-weight:600}.person-action .profile-link:hover{transform:none;background:transparent;color:#7457f6}.person-action .lecture-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#f0ebff;color:#6546dd;border:1px solid rgba(116,87,246,.16)}.person-action .lecture-button:hover{color:#fff}.person-action .lecture-button.booked{background:#e9faf4;color:#248c6c;border-color:#c9eee1}

.lecture-booking-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;visibility:hidden;opacity:0;transition:.25s ease}.lecture-booking-modal.open{visibility:visible;opacity:1}.lecture-booking-backdrop{position:absolute;inset:0;border:0;background:rgba(28,23,43,.54);backdrop-filter:blur(8px)}.lecture-booking-card{position:relative;width:min(920px,calc(100vw - 32px));max-height:min(90vh,780px);overflow:auto;border:1px solid rgba(116,87,246,.14);border-radius:28px;background:#fcfbff;box-shadow:0 28px 90px rgba(31,24,59,.25);transform:translateY(12px);transition:.25s ease}.open .lecture-booking-card{transform:none}.lecture-booking-close{position:sticky;top:16px;z-index:3;float:right;width:38px;height:38px;margin:16px 16px -54px 0;border:0;border-radius:50%;background:#f1edf8;color:#272139;font-size:24px;cursor:pointer}.booking-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(330px,1.15fr);gap:28px;padding:34px}.booking-event img{width:100%;aspect-ratio:4/5;object-fit:contain;border-radius:20px;background:#f4f1f8}.booking-kicker{margin:18px 0 8px;color:#7457f6;font-size:10px;font-weight:900;letter-spacing:.2em}.booking-event h2,.booking-success h2{margin:0;color:#17152b;font-size:clamp(28px,4vw,40px)}.booking-event h3{margin:18px 0 10px;color:#262136}.booking-event p:not(.booking-kicker){margin:6px 0;color:#777386;font-size:13px;line-height:1.55}.booking-form{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:15px;padding-top:30px}.booking-form label{display:grid;gap:7px;color:#4f485e;font-size:12px;font-weight:700}.booking-form input,.booking-form select,.booking-form textarea{width:100%;box-sizing:border-box;border:1px solid #e5e0f1;border-radius:13px;background:#fff;padding:12px;color:#242033;font:inherit;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#8d74f8;box-shadow:0 0 0 3px rgba(116,87,246,.09)}.booking-question,.booking-consent,.booking-error,.booking-submit{grid-column:1/-1}.booking-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;font-weight:500!important;line-height:1.5}.booking-consent input{width:17px;height:17px;margin:1px 0 0;flex:0 0 auto}.booking-error{min-height:18px;margin:0;color:#d94f72;font-size:12px}.booking-submit,.booking-success-actions button{min-height:48px;border:0;border-radius:14px;background:#241e37;color:#fff;font-weight:800;cursor:pointer}.booking-success{padding:58px 40px 42px;text-align:center}.booking-success-icon{width:64px;height:64px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#dcf8ed;color:#208d69;font-size:30px}.booking-success>p:not(.booking-kicker){color:#777386}.booking-summary{max-width:580px;margin:28px auto;display:grid;gap:8px;padding:22px;border:1px solid #e8e3f3;border-radius:18px;background:#fff;text-align:left}.booking-summary b{margin-bottom:5px;color:#242033}.booking-summary span{color:#777386;font-size:13px}.booking-success-actions{display:flex;justify-content:center;gap:10px}.booking-success-actions button{padding:0 20px}.booking-success-actions .subtle{border:1px solid #ded8ec;background:#fff;color:#625a70}
@keyframes matchViewIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes personIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes agentPulse { 50% { transform:scale(1.08); opacity:.35; } }
@media(max-width:760px){.match-modal .modal-card{padding:28px 20px 22px;max-height:92vh}.match-results{grid-template-columns:1fr}.match-insights{grid-template-columns:1fr}.results-head{align-items:flex-start;flex-direction:column}.analysis-steps{grid-template-columns:1fr}.match-reason{min-height:auto}.match-results-view{padding-top:12px}.person-primary-actions{display:grid;grid-template-columns:1fr 1fr}.person-action .profile-link{order:2}.lecture-booking-card{width:calc(100vw - 20px);border-radius:22px}.booking-layout{grid-template-columns:1fr;gap:8px;padding:24px 18px 28px}.booking-event{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start}.booking-event img{aspect-ratio:4/5}.booking-event .booking-kicker{margin-top:2px}.booking-event h2{font-size:25px}.booking-event h3{margin:10px 0 7px}.booking-form{grid-template-columns:1fr;padding-top:15px}.booking-form label,.booking-question,.booking-consent,.booking-error,.booking-submit{grid-column:1}.booking-success{padding:54px 20px 28px}.booking-success-actions{flex-direction:column}.booking-success-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.match-view.active,.match-person,.agent-orb i{animation:none!important}}

/* 活动弹窗统一海报展示：按原图比例显示，不添加内嵌留白边框 */
.lecture-booking-card{width:min(1120px,calc(100vw - 32px));max-height:min(92vh,860px);border:0}
.booking-layout{grid-template-columns:minmax(420px,1.18fr) minmax(330px,.82fr);gap:28px}
.booking-event img{display:block;width:100%;height:auto;max-height:calc(92vh - 68px);aspect-ratio:auto;object-fit:contain;border-radius:0;background:transparent}
@media(max-width:760px){.lecture-booking-card{width:calc(100vw - 20px);max-height:94vh}.booking-layout{grid-template-columns:1fr;gap:8px}.booking-event img{width:100%;max-height:none;border-radius:0}}

/* 统一 AI 语音入口与产品口碑榜 */
.home-primary-banner .banner-copy{max-width:640px}.home-primary-banner .banner-copy .voice-entry-button{display:inline-flex;align-items:center;gap:11px;padding:16px 22px;border-radius:18px;background:linear-gradient(100deg,#7457f6,#a16ef7 55%,#f35fa6);box-shadow:0 14px 34px rgba(116,87,246,.24);color:#fff;user-select:none;-webkit-user-select:none;touch-action:manipulation}.voice-entry-mic{width:18px;height:18px;border:3px solid #fff;border-radius:50%;font-size:0;position:relative}.voice-entry-mic:after{content:"";position:absolute;width:8px;height:5px;border:2px solid #fff;border-top:0;border-radius:0 0 8px 8px;left:2px;bottom:-8px}.home-primary-banner .banner-copy .banner-text-entry{display:block;margin-top:12px;padding:0;background:transparent;color:#615a70;box-shadow:none;font-weight:600;text-decoration:underline;text-underline-offset:4px}.banner-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.banner-examples span{padding:8px 11px;border:1px solid rgba(116,87,246,.12);border-radius:12px;background:rgba(255,255,255,.58);color:#706a7e;font-size:11px}
.unified-ai-input{text-align:center}.voice-record-button{width:220px;height:220px;margin:24px auto 4px;border:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;position:relative;overflow:visible;background:radial-gradient(circle at 38% 30%,#b7a5ff,#7457f6 58%,#6846df);color:#fff;box-shadow:0 24px 60px rgba(116,87,246,.3),0 0 0 12px rgba(116,87,246,.06);cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none}.voice-record-button strong{font-size:15px;position:relative;z-index:2}.voice-record-button small{font-size:10px;color:rgba(255,255,255,.78);position:relative;z-index:2}.voice-mic{width:38px;height:50px;border:4px solid #fff;border-radius:22px;font-size:0;position:relative;z-index:2}.voice-mic:after{content:"";position:absolute;left:8px;bottom:-13px;width:14px;height:8px;border:3px solid #fff;border-top:0;border-radius:0 0 12px 12px}.voice-rings{position:absolute;inset:-14px;border:1px solid rgba(116,87,246,.28);border-radius:50%}.voice-record-button.recording .voice-rings{animation:voiceRipple 1.3s ease-out infinite}.voice-wave{height:18px;display:none;align-items:center;gap:3px;position:relative;z-index:2}.recording .voice-wave{display:flex}.voice-wave em{display:block;width:3px;height:8px;border-radius:3px;background:#fff;animation:voiceBar .7s ease-in-out infinite alternate}.voice-wave em:nth-child(2),.voice-wave em:nth-child(4){animation-delay:.2s}.voice-wave em:nth-child(3){animation-delay:.35s}.cancel-recording,.text-input-toggle{min-height:44px;border:0;background:transparent;color:#6c55db;font-weight:700;cursor:pointer}.cancel-recording{color:#d65b70}.speech-status{min-height:20px;margin:4px auto;color:#817b8e;font-size:12px}.text-input-panel{max-height:0;overflow:hidden;opacity:0;transition:.35s ease}.text-input-panel.open{max-height:180px;opacity:1}.unified-ai-input .prompt-box{margin-top:8px}.unified-ai-input .prompt-hints{margin-top:12px}
.intent-confirm-card,.product-detail-card{grid-column:1/-1;padding:26px;border:1px solid #ece8f8;border-radius:24px;background:linear-gradient(145deg,#fff,#faf8ff);text-align:left}.confirm-product{display:flex;align-items:center;gap:14px}.confirm-product>span{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#e9e3ff;color:#6548df;font-size:22px;font-weight:800}.confirm-product small{color:#8a8495}.confirm-product h3{margin:3px 0 0}.intent-confirm-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.intent-confirm-card dl div{padding:13px;border-radius:14px;background:#f6f3fb}.intent-confirm-card dt{font-size:11px;color:#8a8495}.intent-confirm-card dd{margin:4px 0 0;font-weight:700}.intent-confirm-card blockquote,.product-detail-card blockquote{margin:18px 0;padding:16px;border-left:3px solid #7457f6;background:#faf9ff;color:#514b61}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-actions button,.unknown-actions button{min-height:44px;padding:0 18px;border:1px solid #e3def3;border-radius:13px;background:#fff;color:#302943;font-weight:700;cursor:pointer}.confirm-actions .primary{background:#241e37;color:#fff}.idea-label{color:#7457f6;font-size:10px;font-weight:800;letter-spacing:.2em}.idea-confirm h3{font-size:24px;outline:0}.unknown-actions{grid-column:1/-1;display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.detail-dimensions{display:flex;gap:12px;flex-wrap:wrap}.detail-dimensions span{padding:12px;border-radius:12px;background:#f7f4ff;color:#514b61}.privacy-note{color:#8c8796;font-size:12px}
.product-pulse{max-width:1320px;margin:72px auto;padding:0 42px}.pulse-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px}.pulse-heading>div>span{color:#7457f6;font-size:11px;font-weight:800;letter-spacing:.24em}.pulse-heading h2{margin:10px 0 8px;color:#17152b;font-size:clamp(34px,4vw,52px);letter-spacing:-.04em}.pulse-heading p{margin:0;color:#777386}.pulse-tabs{display:flex;gap:8px}.pulse-tabs button{min-height:44px;padding:0 16px;border:1px solid #ece8f8;border-radius:14px;background:#fff;color:#716b7c;cursor:pointer}.pulse-tabs button.active{background:#241e37;color:#fff}.pulse-ranking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pulse-product{min-width:0;padding:18px;display:grid;grid-template-columns:42px 48px minmax(0,1fr) auto auto;grid-template-areas:"rank logo main score arrow" "rank logo meta trend arrow";align-items:center;gap:4px 14px;border:1px solid #ece8f8;border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 12px 34px rgba(73,57,128,.05);text-align:left;cursor:pointer;transition:.25s}.pulse-product:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(73,57,128,.1)}.pulse-product.featured{background:linear-gradient(140deg,#fff,#faf7ff)}.pulse-rank{grid-area:rank;color:#a49eb0;font-weight:800}.pulse-logo{grid-area:logo;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#e9e3ff;color:#6044d4;font-weight:900}.pulse-main{grid-area:main;min-width:0}.pulse-main strong{display:block;color:#17152b}.pulse-main small{display:block;margin-top:4px;color:#8a8494;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse-score{grid-area:score;text-align:right}.pulse-score b{font-size:25px}.pulse-score small{display:block;color:#9a94a3;font-size:9px}.pulse-trend{grid-area:trend;text-align:right;font-size:12px}.pulse-trend.up{color:#39a979}.pulse-trend.down{color:#e56b73}.pulse-meta{grid-area:meta;color:#837e8d;font-size:11px}.pulse-arrow{grid-area:arrow;color:#7457f6;font-size:19px}
@keyframes voiceRipple{to{transform:scale(1.18);opacity:0}}@keyframes voiceBar{to{height:18px}}
@media(max-width:760px){.home-primary-banner .banner-copy{max-width:none}.home-primary-banner .voice-entry-button{margin-top:18px}.banner-examples{justify-content:center}.voice-record-button{width:188px;height:188px}.product-pulse{margin:54px auto;padding:0 18px}.pulse-heading{align-items:flex-start;flex-direction:column}.pulse-tabs{width:100%;overflow-x:auto}.pulse-tabs button{flex:0 0 auto}.pulse-ranking{grid-template-columns:1fr}.pulse-product{grid-template-columns:34px 44px minmax(0,1fr) auto;grid-template-areas:"rank logo main score" "rank logo meta trend"}.pulse-arrow{display:none}.intent-confirm-card dl{grid-template-columns:1fr}.confirm-actions{flex-direction:column}.confirm-actions button{width:100%}.match-modal .modal-card{width:calc(100vw - 20px);padding:26px 16px}.voice-record-button{touch-action:none}}

/* 活动弹窗最终覆盖：所有海报统一按原图比例自适应 */
.lecture-booking-card{width:min(1120px,calc(100vw - 32px));max-height:min(92vh,860px);border:0}
.booking-layout{grid-template-columns:minmax(420px,1.18fr) minmax(330px,.82fr);gap:28px}
.booking-event img{display:block;width:100%;height:auto;max-height:calc(92vh - 68px);aspect-ratio:auto;object-fit:contain;border-radius:0;background:transparent}
@media(max-width:760px){.lecture-booking-card{width:calc(100vw - 20px);max-height:94vh}.booking-layout{grid-template-columns:1fr;gap:8px}.booking-event img{width:100%;max-height:none;border-radius:0}}
@media(prefers-reduced-motion:reduce){.voice-record-button.recording .voice-rings,.voice-wave em{animation:none!important}}

/* 单击讲座预约：已预约状态与关注/点赞状态一致，不再打开后续流程。 */
.person-action .lecture-button.booked:disabled{background:#e9faf4;color:#248c6c;border-color:#c9eee1;cursor:default;opacity:1}
.person-action .lecture-button.booked:disabled:hover{transform:none;background:#e9faf4;color:#248c6c}
