/* 温暖纸感 × 年轻刊物。具体组件的品牌红按主操作/选中/关键词及用户明确指定的聊天和导航例外使用。 */
html,body { background: var(--color-page); }
body { font-size: var(--font-size-body); line-height: 1.5; }
*,*::before,*::after { line-height: 1.5 !important; }
h1,h2,h3,h4,h5,h6,.h5-navbar-title { font-family: var(--font-family-heading); font-size: 14px; font-weight: 500; }
svg { stroke-width: 1.5; color: var(--color-text-primary); }
.h5-navbar { background: var(--color-page); }
.h5-navbar-title { font-size: 14px; }
.h5-tabbar { background: var(--color-bottom); }
.h5-tab { font-size: 10px; color: var(--color-text-secondary); }
.h5-tab.active,.h5-tab.active svg { color: var(--color-brand); }
.h5-tab-icon svg { width: 20px; height: 20px; }
.page { padding: 12px 12px 20px; }
.panel,.side-card,.h5-card,.center-item,.member-card,.profile-header,.state-example,.admin-entry,.review-question,.daily-full-panel,.daily-home,.opportunity-inbox,.opportunity-detail,.archive-card,.message-inbox,.message-conversation,.message-welcome { background: var(--color-surface); border-radius: 14px; border-color: var(--color-divider); }
.panel,.side-card,.h5-card,.center-item,.profile-header,.daily-full-panel,.daily-home,.opportunity-detail { padding: 12px; margin-bottom: 10px; }
.section-heading,.page-title,.center-title,.eco-section-head,.opportunity-page-heading { margin-bottom: 10px; gap: 8px; }
.member-grid,.members-grid,.archive-grid,.archive-editorial,.as-events-list,.state-grid,.admin-grid { gap: 10px; }
.btn { min-height: 40px; font-size: 13px; border-radius: 20px; padding: 0 12px; color: var(--color-text-primary); background: var(--color-surface); }
.btn.primary { background: var(--color-brand); border-color: var(--color-brand); color: var(--color-on-brand); }
.btn:disabled { background: var(--color-tag-surface); color: var(--color-text-secondary); border-color: var(--color-divider); }
.btn.text { color: var(--color-text-secondary); font-size: 11px; background: transparent; }
.icon-btn,.h5-nav-action { width: 44px; height: 44px; }
input,textarea { font-size: 13px !important; line-height: 1.5; }
input::placeholder,textarea::placeholder { color: var(--color-text-tertiary); opacity: 1; }
.tag,.pill,.status,.review-state,.opportunity-status,.data-label,.daily-pending,.daily-match-reasons span,.ml26-tags > span,.as25-state,.p27-capsule { min-height: 20px; display: inline-flex; align-items: center; padding: 2px 7px; border-radius: 9px; background: var(--color-tag-surface); color: var(--color-tag-text); font-size: 10px; font-weight: 400; }
.status.open,.review-state.published,.opportunity-status.active,.as25-state.is-ok,.ml26-tags > .ml26-signed { background: var(--color-ok-surface); color: var(--color-ok-text); }
.review-state.pending,.opportunity-status.pending,.as25-state.is-warn { background: var(--color-warn-surface); color: var(--color-warn-text); }
.review-state.changes,.opportunity-status.discussing { background: var(--color-tag-surface); color: var(--color-tag-text); }
.avatar,.project-logo,.as25-avatar { background: var(--color-tag-surface); color: var(--color-text-primary); width: 36px; height: 36px; font-size: 14px; }
.avatar.big { width: 40px; height: 40px; }
.avatar,.as25-avatar { font-family: var(--font-family-heading); }
.meta,.small,.hint,.caption,.optional,.results-count,.result-end,.source-line,.profile-contact-note,.contact-closed { color: var(--color-text-secondary); font-size: 11px; }
.notice,.change-note,.error-box,.as-error,.message-send-error { background: var(--color-surface); color: var(--color-text-primary); border: var(--hairline) solid var(--color-divider); border-radius: 14px; padding: 10px 12px; font-size: 11px; }
.p27-arrow { width: 16px; height: 16px; color: var(--color-brand); stroke-width: 1.5; }
.h5-chevron,.h5-nav-action svg { color: var(--color-text-primary); }
.h5-list-row,.message-thread,.opportunity-row { min-height: 44px; padding: 10px 0; }
.h5-menu-list .h5-list-row { padding: 8px 0; }
.h5-menu-list .h5-list-row > svg:first-child,.daily-kicker svg,.daily-subheading > svg,.message-welcome-icon,.login-card > svg { color: var(--color-text-primary); }
.single-chip-options span,.daily-choice-list span,.chip,.p27-choice,.p27-recommend button { min-height: 26px; font-size: 12px; border-radius: 13px; color: var(--color-tag-text); background: var(--color-surface); border: var(--hairline) solid var(--color-divider); }
.single-chip-options input:checked + span,.daily-choice-list input:checked + span,.p27-choice[aria-pressed=true],.p27-recommend button:active { background: var(--color-brand); border-color: var(--color-brand); color: var(--color-on-brand); font-weight: 500; }
.tabs a,.tabs button,.segmented a,.segmented button,.cohort-tabs button,.segment-tabs button,.center-nav a,.publish-types button { min-height: 30px; font-size: 12px; }
.tabs .active,.segmented .active,.cohort-tabs .active,.segment-tabs .active,.center-nav .active,.publish-types .active { background: var(--color-brand); color: var(--color-on-brand); }
.cohort-bar .active,.network-filters .active,.large-tabs .active,.opportunity-role-options .active,.network-toolbar .active,.opportunity-tabs .active,.opportunity-filters .active { color: var(--color-on-brand); }
.searchbox,.search { background: var(--color-input); border: 0; border-radius: 22px; height: 40px; padding-left: 12px; margin-bottom: 10px; }
.searchbox input,.search input { background: transparent; height: 38px; font-size: 13px !important; border-radius: 0; }
#app .searchbox input,#app .search input { background: transparent; border-radius: 0; }
.searchbox .btn,.search .btn { min-height: 38px; color: var(--color-text-primary); font-size: 13px; }
.searchbox > svg,.search > svg { color: var(--color-text-primary); width: 16px; height: 16px; }
.searchbox:focus-within,.search:focus-within { outline: 1.5px solid var(--color-text-secondary); outline-offset: 2px; }
.as-conversation { padding: 16px 12px 16px; }
.as-message-flow { gap: 12px; }
.p27-welcome { background: var(--color-surface); border: var(--hairline) solid var(--color-divider); border-radius: 14px; padding: 14px 12px 10px; position: relative; }
.p27-welcome h2 { font-size: 14px; }
.p27-welcome p { margin: 5px 0 8px; color: var(--color-text-secondary); font-size: 12.5px; }
.p27-taped { position: relative; }
.p27-taped::before { content: ''; position: absolute; z-index: 1; left: 20px; top: -7px; width: 60px; height: 14px; rotate: -3deg; background: var(--color-tape); opacity: .65; pointer-events: none; }
.p27-gateway.as-gateway { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; border: 0; border-radius: 0; margin: 0; background: transparent; overflow: visible; }
.p27-entry.as-entry { position: relative; min-height: 92px; padding: 10px 12px; border: 0; border-radius: 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; color: var(--color-text-primary); }
.p27-entry-0 { background: var(--color-gateway-apricot); }.p27-entry-1 { background: var(--color-gateway-sage); }.p27-entry-2 { background: var(--color-gateway-blue); }.p27-entry-3 { background: var(--color-gateway-rose); }
.p27-entry .as-entry-icon { width: 20px; height: 20px; background: transparent; border-radius: 0; color: var(--color-text-primary); }
.p27-entry .as-entry-icon svg { width: 20px; height: 20px; color: var(--color-text-primary); }
.p27-entry .as-entry-copy { width: 100%; gap: 3px; }
.p27-entry .as-entry-copy strong { font-size: 12.5px; color: var(--color-text-primary); }
.p27-entry .as-entry-copy > span { font-size: 11px; color: var(--color-tag-text); white-space: normal; max-width: calc(100% - 16px); }
.p27-entry > .p27-arrow { position: absolute; right: 10px; bottom: 10px; width: 14px; height: 14px; }
.p27-entry-badge { position: absolute; right: 10px; top: 10px; font-size: 10px; padding: 1px 7px; border-radius: 9px; color: var(--color-tag-text); background: rgb(255 255 255 / .6); }
.as-avatar { width: 36px; height: 36px; background: var(--color-brand-light); color: var(--color-brand); font-family: var(--font-family-heading); font-size: 11px; }
.as-row { gap: 8px; }
.as-bubble { max-width: 78%; font-size: 12.5px; padding: 10px 12px; border: var(--hairline) solid var(--color-divider); border-radius: 4px 13px 13px 13px; }
.as-reply .as-bubble { flex: initial; }
.as-user .as-bubble { max-width: 78%; border-radius: 13px 4px 13px 13px; background: var(--color-brand); border-color: var(--color-brand); color: var(--color-on-brand); }
.as-user .as-bubble * { color: var(--color-on-brand); }
.as-timestamp { color: var(--color-text-secondary); font-size: 11px; }
.p27-recommend { display: flex; flex-wrap: wrap; gap: 6px; }
.p27-recommend button { padding: 3px 9px; min-height: 26px; }
.p27-inline-card { flex: 1; min-width: 0; padding: 10px 12px; border: var(--hairline) solid var(--color-divider); border-radius: 14px; background: var(--color-surface); }
.as24-card-heading { position: relative; padding-top: 7px; padding-left: 0; min-height: 36px; }
.as24-card-heading::before { content: ''; position: absolute; left: 0; top: 0; width: 26px; height: 4px; border-radius: 2px; background: var(--color-brand); }
.as24-card-heading h2::before { display: none; }
.as24-card-heading h2 { font-size: 14px; }
.as24-close.icon-btn { width: 32px; height: 32px; }
.as24-groups { gap: 0; }
.as24-group { padding: 10px 0; border-bottom: var(--hairline) solid var(--color-divider); min-height: 40px; margin: 0; }
.as24-group legend { color: var(--color-text-secondary); font-size: 11px; margin-bottom: 4px; padding-top: 8px; }
.as24-choice,.as24-more { min-height: 32px; }
.as24-options { gap: 4px 6px; }
.as24-choice > span,.as24-more > span { min-height: 26px; padding: 0 9px; font-size: 12px; border-radius: 13px; background: var(--color-surface); color: var(--color-tag-text); border: var(--hairline) solid var(--color-divider); }
.as24-choice.is-single input:checked + span,.as24-choice.is-multiple input:checked + span { background: var(--color-brand); border-color: var(--color-brand); color: var(--color-on-brand); font-weight: 500; }
.as24-toggle > span { font-size: 11px; background: var(--color-tag-surface); color: var(--color-tag-text); padding: 3px 8px; }
.as24-toggle input:checked + span { background: var(--color-brand); color: var(--color-on-brand); }
.as24-confirm { margin-top: 10px; font-size: 13px; min-height: 40px; }
.as24-tools { margin: 2px 0 -4px; }
.as24-process-steps { display: flex; flex-direction: column; align-items: stretch; padding: 6px 0; gap: 8px; }
.as24-process-steps li { display: flex; flex-direction: row; align-items: center; min-height: 28px; gap: 8px; color: var(--color-text-secondary); font-size: 11px; }
.as24-process-steps li + li::before { display: none; }
.as24-step-mark { background: var(--color-surface); }
.as24-step-mark > span { background: var(--color-text-secondary); }
.as24-process-steps .is-active { color: var(--color-brand); }
.as24-process-steps .is-complete { color: var(--color-ok-text); }
.as24-process-steps .is-active .as24-step-mark { background: var(--color-surface); border-color: var(--color-brand); }
.as24-process-steps .is-complete .as24-step-mark { background: var(--color-ok-surface); border-color: var(--color-ok-text); }
.as24-process-steps .is-complete svg { color: var(--color-ok-text); }
.p27-skeleton { display: grid; gap: 6px; padding: 6px 0; }
.p27-skeleton span { height: 6px; width: 88%; border-radius: 3px; background: var(--color-tag-surface); }.p27-skeleton span + span { width: 62%; }
.as25-summary { min-height: 44px; padding: 4px 10px; border-radius: 14px; gap: 4px; }
.as25-summary h2 { font: 400 11px/1.5 var(--font-family); white-space: normal; }
.as25-adjust { color: var(--color-text-secondary); font-size: 11px; min-height: 36px; }
.as25-adjust > span { color: var(--color-brand); }
.as25-list { gap: 8px; margin-top: 8px; }
.as25-candidate { padding: 10px 12px; border-radius: 14px; }
.as25-person { gap: 8px; align-items: flex-start; }
.as25-person h3 { font-size: 14px; }.as25-person p { font-size: 11px; margin-top: 2px; }
.as25-person > .as25-state { flex: none; margin-top: 0; padding: 2px 6px; }
.as25-reason { margin-top: 8px; background: var(--color-reason); border-radius: 8px; padding: 7px 9px; }
.as25-reason-heading { gap: 4px; flex-wrap: wrap; }
.as25-reason-heading h4 { color: var(--color-brand); font: 500 11px/1.5 var(--font-family); }
.as25-reason-heading > span { color: var(--color-tag-text); font-size: 10px; }
.as25-reason p { font-size: 11px; color: var(--color-text-primary); line-height: 1.5; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.as25-reason strong { color: var(--color-brand); }
.as25-states { margin-top: 6px; gap: 4px; }
.p27-excerpt { margin: 7px 0 0; font-size: 12.5px; color: var(--color-text-primary); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.as25-details { margin: 0; }.as25-details > summary { min-height: 32px; font-size: 11px; }
.as25-detail-chevron { width: 12px; height: 12px; }
.as25-timeline { margin-bottom: 10px; }.as25-timeline li { grid-template-columns: 52px minmax(0,1fr); gap: 12px; padding-bottom: 10px; }
.as25-timeline li::before { left: 56px; background: var(--color-text-secondary); }.as25-timeline li:not(:last-child)::after { left: 57.5px; }
.as25-timeline-date,.p27-source-missing { color: var(--color-text-secondary); font-size: 10px; }
.as25-timeline h4,.as25-sources h4,.as25-contributions h4 { font-size: 12.5px; }
.as25-timeline p,.as25-contributions p { font-size: 11px; }.as25-timeline a,.as25-sources a { font-size: 11px; color: var(--color-text-secondary); min-height: 32px; gap: 4px; }
.as25-actions { display: flex; align-items: center; justify-content: space-between; padding-top: 8px; gap: 8px; }
.as25-actions .p27-contact { min-height: 36px; border-color: var(--color-brand); color: var(--color-brand); padding: 0 18px; font-size: 13px; background: var(--color-surface); }
.as25-actions .p27-later { min-height: 36px; font-size: 11px; }
.as25-list-note { margin: 8px 4px; color: var(--color-text-secondary); font-size: 11px; }
.p27-many .p27-excerpt,.p27-deferred .p27-excerpt,.p27-deferred .as25-details { display: none; }
.ml26-page.page { padding: 0 12px 16px; }
.ml26-stagebar,.ml26-event-tabs { background: var(--color-page); }
.ml26-stage-track { padding: 0 12px; gap: 6px; }
.ml26-stage-chip { min-height: 40px; }.ml26-stage-chip > span { height: 26px; font-size: 12px; padding: 0 10px; color: var(--color-tag-text); border-color: var(--color-divider); }
.ml26-stage-chip.active > span { color: var(--color-on-brand); }
.p27-search-row { padding: 10px 0 0; }.p27-search-row .searchbox { margin-bottom: 4px; }
.ml26-list-body { padding-top: 8px; }
.ml26-results-head { min-height: 36px; margin: 0 0 8px; font-size: 11px; }
.ml26-filter-button,.ml26-publish { min-height: 36px; color: var(--color-text-secondary); font-size: 11px; }
.filter-chips:empty { display: none; }
.ml26-project-list.project-list { background: transparent; border: 0; border-radius: 0; display: grid; gap: 8px; overflow: visible; }
.p27-project.ml26-project-card { position: relative; display: flex; align-items: flex-end; padding: 10px 12px 10px 15px; gap: 6px; border: var(--hairline) solid var(--color-divider); border-radius: 14px; background: var(--color-surface); min-height: 90px; overflow: hidden; }
.p27-project::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--color-gateway-apricot); }
.p27-category-1::before { background: var(--color-gateway-sage); }.p27-category-2::before { background: var(--color-gateway-blue); }.p27-category-3::before { background: var(--color-gateway-rose); }
.p27-project-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 6px; }
.p27-project-heading h3 { flex: 1; min-width: 0; font-size: 14px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.p27-project-heading .p27-capsule { flex: none; }
.p27-project .ml26-project-summary { font-size: 11px; color: var(--color-text-secondary); white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: 6px 0; }
.p27-project > .p27-arrow { width: 14px; height: 14px; margin-bottom: 2px; }
.ml26-tags { gap: 4px; }
.ml26-tags > span { min-height: 20px; padding: 2px 6px; font-size: 10px; }
.ml26-event-tabs > a { color: var(--color-text-secondary); font-size: 13px; min-height: 42px; }
.ml26-event-tabs > a.active { color: var(--color-text-primary); }.ml26-event-tabs > a.active::after { background: var(--color-text-primary); }
.ml26-list-note { font-size: 11px; margin-bottom: 12px; }
.p27-event.as-event-row { padding: 12px 10px 10px; gap: 10px; margin-bottom: 10px; }
.p27-event-art { width: 58px; height: 52px; flex: none; background: transparent; display: flex; align-items: center; justify-content: center; }
.p27-event.as-event-row > .p27-event-art { flex: 0 0 58px; width: 58px; }
.ml26-stage-chip.active > span { border-color: var(--color-brand); }
.p27-event-art svg { width: 58px; height: 48px; color: var(--color-text-primary); stroke-width: 1.5; }
.ml26-event-copy h2 { font-size: 14px; }
.p27-event-meta { margin: 4px 0; color: var(--color-text-secondary); font-size: 11px; }
.ml26-event-link { min-height: 30px; margin-top: 4px; font-size: 11px; color: var(--color-text-secondary); }
.ml26-event-detail-mark { height: 72px; background: var(--color-surface); border: var(--hairline) solid var(--color-divider); border-radius: 14px; }.ml26-event-detail-mark svg { color: var(--color-text-primary); }
.ml26-empty { min-height: 190px; padding: 20px 12px; gap: 12px; }.ml26-empty p { font-size: 12.5px; }.ml26-empty-art { width: 76px; height: 60px; color: var(--color-text-primary); stroke: var(--color-text-primary); }.ml26-empty .btn { color: var(--color-text-primary); }
.detail-header { padding: 12px; border-radius: 14px; }.detail-identity { gap: 10px; }.detail-header .detail-actions { margin-top: 10px; }
.reading,.archive-reading { background: var(--color-surface); border: var(--hairline) solid var(--color-divider); border-radius: 14px; padding: 12px; }
.reading section,.archive-reading section { margin: 16px 0; }.reading p,.archive-reading p { font-size: 12.5px; }
.p27-chapter { display: flex; align-items: center; gap: 5px; position: relative; width: fit-content; max-width: 100%; margin-bottom: 14px !important; padding-bottom: 2px; font-family: var(--font-family-heading); font-size: 13.5px; }
.p27-chapter-circle { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; flex: none; border: 1.4px solid var(--color-brand); border-radius: 50%; color: var(--color-brand); font: 400 13px/1.5 var(--font-family); }
.p27-chapter-end { margin-left: -3px; }.p27-wave { position: absolute; left: 24px; bottom: -7px; width: min(120px,calc(100% - 24px)); height: 7px; stroke: var(--color-wave); color: var(--color-wave); stroke-width: 1.2; }
.p27-chip-field { min-width: 0; width: 100%; }.p27-select-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.p27-choice { display: inline-flex; align-items: center; justify-content: center; padding: 4px 10px; min-height: 30px; text-align: left; }.p27-choice:disabled { color: var(--color-text-secondary); cursor: default; }
.p27-auth .h5-scroll { bottom: 0; }.p27-auth .h5-tabbar { display: none; }
.p27-auth .login-card { position: absolute; bottom: 0; left: 0; right: 0; max-height: 56%; min-height: 46%; overflow-y: auto; margin: 0; padding: 20px 16px calc(16px + var(--safe-bottom)); border-radius: 16px 16px 0 0; background: var(--color-bottom); animation: p27-sheet var(--motion-sheet) ease-out; }
.p27-auth .login-card::before { content: ''; display: block; height: 4px; width: 30px; border-radius: 2px; background: var(--color-divider); margin: -8px auto 12px; }
dialog { background: var(--color-bottom); border-radius: 16px 16px 0 0; padding: 22px 12px calc(12px + var(--safe-bottom)); max-height: min(56dvh,calc(var(--viewport-height) - 20px)); min-height: min(44dvh,calc(var(--viewport-height) - 20px)); }
dialog::before { content: ''; position: absolute; top: 8px; left: calc(50% - 15px); width: 30px; height: 4px; border-radius: 2px; background: var(--color-divider); }
.dialog-top { margin-bottom: 10px; }.dialog-top h2 { font-size: 14px; }.dialog-top .icon-btn { margin-right: -5px; }
.as-composer-bar,.h5-chatbar { background: var(--color-bottom); border-color: var(--color-divider); }
.as-composer-context { color: var(--color-text-secondary); font-size: 11px; }
#assistant-input,.message-reply textarea { font-size: 13px !important; line-height: 1.5; border-radius: 22px; background: var(--color-input); padding: 8px 12px; }
.as-send.btn.primary { border-radius: 22px; height: 40px; min-height: 40px; font-size: 13px; width: 56px; }
.as-composer-row { align-items: center; }.message-reply .btn.primary { border-radius: 22px; }
.message-bubble { max-width: 78%; background: var(--color-surface); border: var(--hairline) solid var(--color-divider); border-radius: 4px 13px 13px 13px; padding: 10px 12px; font-size: 12.5px; }.outgoing .message-bubble { border-radius: 13px 4px 13px 13px; background: var(--color-brand); color: var(--color-on-brand); border-color: var(--color-brand); }.outgoing .message-bubble * { color: var(--color-on-brand); }.message-kind { color: var(--color-text-secondary); font-size: 10px; }
.message-history { padding: 12px; }.message-bubble-row { margin-bottom: 10px; }.message-thread p { font-size: 12.5px; }
.profile-summary,.alumni-intro,.member-card p { font-size: 12.5px; }.profile-header .member-line h1,.profile-header .member-line h2,.member-card h3 { font-size: 14px; }
.p27-person-top { display: flex; gap: 12px; align-items: flex-start; }.p27-person-identity { flex: 1; min-width: 0; }.p27-person-identity h1 { margin: 4px 0; }.p27-person-identity .alumni-role { font-size: 11px; margin: 4px 0; color: var(--color-text-secondary); }.p27-person-identity .alumni-cohort,.p27-person-identity .alumni-birthday { font-size: 11px; color: var(--color-text-secondary); }.alumni-profile-copy > .alumni-bio { font-size: 12.5px; margin: 8px 0; }
.p27-person-top .alumni-profile-photo { width: 84px; flex: none; margin: 0; }.p27-person-top .alumni-profile-photo img { width: 84px; height: 96px; object-fit: cover; object-position: center 20%; border-radius: 14px; }
.p27-person-top .profile-photo-placeholder { flex: 0 0 84px; width: 84px; min-height: 96px; height: 96px; padding: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: 14px; background: var(--color-tag-surface); color: var(--color-text-primary); }.p27-person-top .profile-photo-placeholder > span { font: 500 14px/1.5 var(--font-family-heading); }.p27-person-top .profile-photo-placeholder p { font-size: 10px; color: var(--color-tag-text); margin: 0; text-align: center; }
.p27-photo-source summary { min-height: 24px; padding: 3px 0; font-size: 10px; color: var(--color-text-secondary); }.p27-photo-source p { margin: 0; font-size: 10px; overflow-wrap: anywhere; }
.alumni-interests { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }.alumni-interests span { min-height: 20px; padding: 2px 7px; border-radius: 9px; background: var(--color-tag-surface); color: var(--color-tag-text); font-size: 10px; }
.profile-tags,.daily-match-reasons { gap: 4px; }.profile-section,.alumni-section { margin-top: 16px; }
.resource-row { padding: 12px; grid-template-columns: 36px minmax(0,1fr); }.resource-row p,.team-member p,.need-mini p,.side-note p { font-size: 11px; }.team-member,.attachment { padding: 10px 0; }
.memory-space,.network-stage,.network-canvas { border-radius: 14px; }
.memory-center,.memory-caption-year,.memory-caption a { color: var(--color-text-secondary); }
.swatch-color { border-radius: 14px; }#toast { font-size: 11px; border-radius: 14px; color: var(--color-on-brand); }
/* 三种允许的反馈：按压、列表进入、底部 sheet；无循环装饰动画。 */
button,a.btn,.h5-tab,.h5-nav-action,.h5-list-row,.p27-project,.p27-event { transition: transform 100ms !important; }
button:active:not(:disabled),a.btn:active,.h5-tab:active,.h5-nav-action:active,.h5-list-row:active,.p27-project:active,.p27-event:active { transform: scale(.97); }
.p27-entry-0.as-entry:active { background: var(--color-gateway-apricot); }.p27-entry-1.as-entry:active { background: var(--color-gateway-sage); }.p27-entry-2.as-entry:active { background: var(--color-gateway-blue); }.p27-entry-3.as-entry:active { background: var(--color-gateway-rose); }
.daily-unread-dot,.message-unread-dot,.opportunity-unread-dot,.h5-unread-dot,.opportunity-dot { background: var(--color-text-primary); }
:focus-visible { outline-color: var(--color-text-primary); }
input[type=radio],input[type=checkbox] { accent-color: var(--color-text-primary); }
.h5-list-enter,.as-first-enter,.as25-candidate.as25-enter { animation: p27-list 150ms ease-out both; animation-delay: calc(var(--list-index,0) * 30ms); }
dialog[open] { animation: p27-sheet 250ms ease-out; }
@keyframes p27-list { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes p27-sheet { from { transform: translateY(100%); } to { transform: translateY(0); } }
@media (max-width:359px) { .as-conversation { padding-left: 10px; padding-right: 10px; }.p27-entry.as-entry { padding: 10px; }.as25-person { gap: 6px; }.as25-person p { max-width: 155px; }.as25-candidate { padding: 10px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation: none !important; transition: none !important; } }
