body { overflow-x: hidden; }
.header-actions { display:flex; align-items:center; gap:10px; }
.account-button { border:1px solid #cbd5c8; border-radius:999px; background:#fff; color:#285a44; padding:5px 12px; font-size:11px; }
.account-dialog { width:min(92vw,520px); max-width:520px; height:auto; max-height:88vh; padding:30px; overflow:auto; border:1px solid #dfe2d9; border-radius:12px; background:#fbfaf6; color:var(--ink); box-shadow:0 24px 80px #17231d55; }
.account-dialog::backdrop { background:#1d2d25a8; backdrop-filter:blur(3px); }
.account-dialog h2 { margin:7px 0; font:26px/1.35 "Songti SC","SimSun",serif; }
.dialog-close { position:absolute; top:12px; right:14px; border:0; background:transparent; color:#58685f; font-size:25px; }
.auth-note { margin:6px 0 20px; color:var(--muted); font-size:12px; }
.auth-form { display:grid; gap:14px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.auth-form label { display:grid; gap:5px; color:#52645a; font-size:11px; }
.auth-form input { width:100%; border:1px solid #cfd8cc; border-radius:8px; background:#fff; padding:11px 12px; color:var(--ink); }
.auth-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:8px; }
.auth-actions button { border:1px solid var(--green); border-radius:7px; background:var(--green); color:#fff; padding:9px 15px; }
.auth-actions .quiet-button,#register-submit { background:transparent; color:var(--green); }
.oauth-separator{display:flex;align-items:center;gap:10px;margin:15px 0;color:#8a978f;font-size:11px}.oauth-separator::before,.oauth-separator::after{content:'';height:1px;flex:1;background:#e2e9e5}.feishu-login{width:100%;border:1px solid #3370ff;border-radius:7px;background:#3370ff;color:#fff;padding:10px 15px;font-weight:600}.feishu-login[hidden]{display:none}
.oauth-note{text-align:center;margin:7px 0 0!important;color:#738078!important}
.feishu-sync-panel{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid #e2e9e5}.feishu-sync-panel[hidden]{display:none}.feishu-sync-panel h3{margin:0;font-size:14px}.feishu-sync-panel input{width:100%;border:1px solid #cfd8cc;border-radius:7px;padding:10px 11px}.feishu-sync-panel button{border:1px solid var(--green);border-radius:7px;background:var(--green);color:#fff;padding:9px 14px}
.auth-error { min-height:20px; margin:0; color:#a14e31; font-size:11px; }
.user-admin-list { display:grid; gap:8px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.admin-user-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid #e7e8e1; font-size:11px; }
.admin-user-row select { border:1px solid #ccd5ca; border-radius:6px; padding:6px; background:#fff; }
.year-view { max-width: 1200px; margin: auto; padding: 40px 32px; }
.year-toolbar { display: flex; gap: 12px; flex-wrap: wrap; margin: 20px 0; }
.year-toolbar input { flex: 1; min-width: 160px; }
.year-toolbar input,.year-toolbar select { border: 1px solid #dce2d9; border-radius: 6px; padding: 10px; font: inherit; }
.year-search { margin-bottom:12px; }
.year-search input { min-height:48px; padding:0 16px; border-radius:10px; font-size:15px; }
#group-view { max-width:1200px; padding:40px 32px; }
#group-search-form { margin-top:28px; padding:16px 18px 12px; }
#group-search-form select { min-width:210px; }
.group-platform-filter { margin-bottom:10px; }
.platform-filter { display:flex; gap:10px; overflow-x:auto; padding:2px 0 12px; margin-bottom:10px; scrollbar-width:thin; scrollbar-color:#a4aaa5 transparent; }
.platform-filter-button { flex:0 0 auto; min-height:40px; padding:0 17px; border:1px solid #dce2d9; border-radius:999px; background:#fbfcfa; color:#617068; font:inherit; cursor:pointer; white-space:nowrap; transition:background .15s,border-color .15s,color .15s; }
.platform-filter-button:hover { border-color:#91aa9b; color:#245640; }
.platform-filter-button.active { border-color:#28674c; background:#28674c; color:#fff; }
.platform-filter-button:focus-visible { outline:2px solid #b56b3c; outline-offset:2px; }
.source-filters { padding-top:14px; padding-bottom:8px; border-bottom:1px solid #e3e5dc; }
.source-filters button { padding:7px 15px; font-weight:600; }
.page-jump { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:11px; }
.page-jump input { width:72px; min-width:72px; flex:none; padding:8px; }
.original-record { margin: 18px 0; border-left: 2px solid #dce2d9; padding-left: 14px; }
.own-record { border-left:0; padding:14px 16px; border:1px solid #e6cdb9; border-radius:9px; background:#fff8f1; }
.own-badge,.yijia-badge { display:inline-flex; align-items:center; min-height:21px; margin-right:4px; padding:1px 8px; border-radius:999px; background:#a95735; color:#fff; font-size:10px; font-weight:700; letter-spacing:.5px; }
.original-record small { color: #617368; }
.qa-answer { white-space: pre-wrap; overflow-wrap: anywhere; }
main, #group-view, .qa-grid, .qa-card, .qa-title { min-width: 0; }
.qa-title strong { overflow-wrap: anywhere; }
.platform-tags { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 3px; }
.platform-tag { padding:2px 7px; border:1px solid #d7e1d7; border-radius:999px; background:#f2f6f0; color:#35634e; font-size:11px; font-style:normal; font-weight:600; }
.message-quote { margin:12px 0 4px; padding:9px 12px; border-left:3px solid #b8c5b8; border-radius:0 6px 6px 0; background:#f2f3ef; color:#68736d; }
.message-quote small { margin-bottom:3px; color:#75837b; letter-spacing:0; }
.message-quote p { margin:0; white-space:pre-wrap; font-size:13px; line-height:1.65; }
.essence-record { margin:8px 0; padding:12px 14px; border:0; border-radius:8px; background:#f7f8f4; }
.essence-record.depth-1 { margin-left:18px; background:#f1f5ef; }
.essence-record.depth-2 { margin-left:36px; background:#ebf1ea; }
.essence-record.depth-3,.essence-record.depth-4,.essence-record.depth-5,.essence-record.depth-6 { margin-left:54px; background:#e5ede5; }
.essence-record small { display:flex; align-items:center; gap:7px; color:#65756b; letter-spacing:.35px; }
.essence-record small::before { content:''; width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#8da396; }
.essence-record .qa-answer { margin:7px 0 0; max-width:none; }
.yijia-record { position:relative; border:1px solid #e6c9b2; background:#fff7ef; box-shadow:inset 3px 0 0 #bd744f; }
.yijia-record.depth-1,.yijia-record.depth-2,.yijia-record.depth-3,.yijia-record.depth-4,.yijia-record.depth-5,.yijia-record.depth-6 { background:#fff7ef; }
.yijia-record small::before { display:none; }
.yijia-record .qa-answer { color:#263b33; font-weight:500; }
#image-dialog { box-sizing:border-box; width:min(96vw,1500px); height:94vh; max-width:none; max-height:none; margin:auto; padding:0; overflow:hidden; border:1px solid #ffffff1c; border-radius:12px; background:#101411; color:#fff; box-shadow:0 28px 90px #000a; }
#image-dialog::backdrop { background:#16221ddb; backdrop-filter:blur(4px); }
.image-stage { position:relative; display:grid; place-items:center; height:calc(94vh - 76px); padding:18px 72px; overflow:hidden; background:#0d100e; }
#image-dialog #dialog-image { display:block; width:auto; height:auto; max-width:100%; max-height:100%; margin:0; object-fit:contain; }
#close-image,.image-nav { position:absolute; z-index:2; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #ffffff26; border-radius:50%; background:#18201bcf; color:#fff; box-shadow:0 5px 20px #0005; transition:background .15s,transform .15s,border-color .15s; }
#close-image:hover,.image-nav:hover { background:#2c3a32; border-color:#ffffff52; transform:scale(1.04); }
#close-image { top:16px; right:16px; font-size:28px; line-height:1; }
.image-nav { top:50%; translate:0 -50%; font:38px/1 Arial,sans-serif; }
.image-nav-previous { left:16px; }
.image-nav-next { right:16px; }
.image-nav:disabled { opacity:.22; cursor:default; transform:none; }
.image-toolbar { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 22px; border-top:1px solid #ffffff17; background:#171c18; }
.image-caption { min-width:0; display:grid; gap:2px; }
.image-caption strong { overflow:hidden; color:#f1f3ef; font-size:13px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.image-caption span { color:#99a49d; font-size:10px; }
#image-position { flex:0 0 auto; min-width:52px; padding:5px 10px; border-radius:999px; background:#ffffff0d; color:#d7ddd8; font-size:11px; text-align:center; }
.year-view .qa-card summary { grid-template-columns:42px minmax(0,1fr) auto; gap:14px; padding:13px 16px; align-items:center; }
.year-card .year-number { align-self:stretch; display:flex; align-items:center; font-size:17px; }
.year-title { display:grid; gap:6px; }
.year-question-title { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow-wrap:anywhere; line-height:1.45; }
.year-summary-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.year-summary-meta small { margin:0; }
.year-statuses { display:inline-flex; gap:6px; }
.year-status { display:inline-flex; align-items:center; min-height:21px; padding:1px 8px; border:1px solid #d5ddd4; border-radius:999px; background:#f7f9f5; color:#56675d; font-size:10px; font-weight:600; white-space:nowrap; }
.year-status.answered { border-color:#bfd5c6; background:#edf5ef; color:#2e6749; }
.year-status.reviewed { border-color:#cad8c8; background:#f3f7f1; color:#42634e; }
.year-status.pending { border-color:#dfd9cb; background:#faf7ef; color:#786a4f; }
.year-summary-side { display:flex; align-items:center; gap:14px; min-width:0; }
.year-platform-tags { flex-wrap:nowrap; margin:0; }
.year-platform-tags .platform-tag { white-space:nowrap; }
.year-platform-tags .platform-more { min-width:28px; text-align:center; }
.year-card .qa-open { min-width:45px; text-align:right; white-space:nowrap; }
.year-card[open] .qa-open:after { content:'收起 ↑'; }
.year-card[open] .qa-open { font-size:0; }
.year-card .qa-content { padding-top:1px; }
@media (max-width:720px){.year-view{padding:24px 16px}.year-search{display:grid;grid-template-columns:1fr auto}.year-search input{grid-column:1/-1}.platform-filter-button{min-height:38px;padding:0 14px}.year-view .qa-card summary{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;padding:12px 10px}.year-summary-side{align-self:stretch;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:6px}.year-platform-tags .platform-tag:nth-child(n+2){display:none}.year-statuses{gap:4px}.year-status{padding:1px 6px}.essence-record{padding:10px 11px}.essence-record.depth-1{margin-left:8px}.essence-record.depth-2{margin-left:16px}.essence-record.depth-3,.essence-record.depth-4,.essence-record.depth-5,.essence-record.depth-6{margin-left:24px}#image-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.image-stage{height:calc(100dvh - 82px);padding:54px 12px 60px}.image-nav{top:auto;bottom:10px;translate:0}.image-nav-previous{left:calc(50% - 54px)}.image-nav-next{right:calc(50% - 54px)}#close-image{top:10px;right:10px}.image-toolbar{min-height:82px;padding:10px 14px}.image-caption strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.image-caption span{font-size:9px}}

/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4
 * component: expandable FAQ list · genre: editorial · theme: existing blue-green
 * states: default · hover · focus · active · disabled · loading · error · success
 */
.frequent-section{margin:28px 0 34px;padding:22px;border:1px solid #c9d9ff;border-radius:18px;background:linear-gradient(135deg,#f7faff 0%,#fff 58%,#f1fbf7 100%)}
.frequent-head{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:end;margin-bottom:16px}
.frequent-head .eyebrow{grid-column:1/-1;color:#1669ff;font-size:12px;font-weight:700;letter-spacing:.08em}
.frequent-head h2{margin:0;font-size:22px;color:#15243c}.frequent-note{margin:0;color:#65758d;font-size:13px}
.frequent-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.frequent-card{min-width:0;border:1px solid #d7e2f8;border-radius:13px;background:#fff;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.frequent-card:hover{border-color:#b9cdf5}.frequent-card:focus-within{outline:2px solid #8db2ff;outline-offset:2px}.frequent-card:active{border-color:#8db2ff}
.frequent-card[open]{grid-column:1/-1;border-color:#b8caf1;box-shadow:0 12px 34px #31588b12}
.frequent-card[open] summary{background:#f8faff}
.frequent-card summary{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;cursor:pointer;list-style:none}
.frequent-card-link{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;text-decoration:none}
.year-card-link{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 16px;text-decoration:none}
.record-page{max-width:980px;margin:0 auto;padding:46px 48px 80px}.record-page h1{font-size:36px}.record-back{display:inline-block;margin-bottom:28px;color:#1669ff;text-decoration:none}.record-conversation{margin-top:24px}.record-page .original-record{max-width:none}
.record-current-answer{margin:28px 0 34px;padding:22px 24px;border:1px solid #bcd3ff;border-left:4px solid #1769f5;border-radius:12px;background:#f5f8ff}.record-current-answer small{margin-bottom:8px;color:#1769f5;font-size:11px;font-weight:700}.record-current-answer p{margin:0;font-size:17px;line-height:1.95;color:#172b4d}.record-source-title{margin:34px 0 12px;font-size:15px;color:#68758d;font-weight:600}
.frequent-page-entry{display:inline-flex;margin:18px 0 8px;padding:9px 15px;border:1px solid #bcd3ff;border-radius:9px;background:#f5f8ff;color:#1769f5;text-decoration:none;font-size:13px;font-weight:600}.frequent-page{max-width:1480px;margin:0 auto;padding:42px 48px 80px}.frequent-page .frequent-section{margin-top:28px}
.collection-card-link{display:block;text-decoration:none}.collection-card-summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center;padding:19px 17px}.collection-card-link:hover{border-color:#b9cdf5;background:#fbfcff}.praise-quote-row{display:grid;text-decoration:none}.praise-quote-row:hover{background:#f7f9ff}.collection-record-page{max-width:1040px;margin:0 auto;padding:46px 48px 80px}
.secondary-feedback{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:14px 0 4px 16px;padding:9px 18px!important;border:1px solid #155fe8!important;border-radius:10px!important;background:#1769f5!important;color:#fff!important;font-size:13px!important;font-weight:600;box-shadow:0 8px 20px #1769f52b;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.secondary-feedback:before{content:'✦';margin-right:7px}.secondary-feedback:hover{background:#0f59db!important;transform:translateY(-1px);box-shadow:0 10px 24px #1769f53d}.secondary-feedback:focus-visible{outline:3px solid #a9c8ff;outline-offset:3px}
.frequent-card summary::-webkit-details-marker{display:none}.frequent-rank{font-size:18px;color:#1669ff;font-variant-numeric:tabular-nums}
.frequent-copy{display:grid;gap:5px;min-width:0}.frequent-copy strong{font-size:15px;line-height:1.45;color:#17243a}.frequent-copy small{color:#718099}
.frequent-meta{display:grid;justify-items:end;gap:5px;white-space:nowrap}.frequent-meta b{padding:3px 9px;border-radius:999px;background:#e7f7f0;color:#07845e;font-size:12px}.frequent-meta span{color:#1669ff;font-size:12px}
.frequent-body{max-width:980px;margin:0 auto;padding:14px 24px 18px;border-top:1px solid #edf1f8}.frequent-caution{margin:0 0 10px;color:#77859b;font-size:12px}.frequent-toggle{display:block;margin:14px auto 0}
.frequent-body>.original-record{margin:0;padding:11px 0;border:0;border-bottom:1px solid #e8edf4;border-radius:0;background:transparent;box-shadow:none}
.frequent-body>.original-record:last-child{border-bottom:0}.frequent-body>.original-record>small{display:block;margin-bottom:6px;color:#738096;font-size:10px}.frequent-body>.original-record>.qa-answer{margin:0;color:#24344d;font-size:15px;line-height:1.7}
.frequent-body>.original-record.own-record{margin:8px 0;padding:12px 14px;border:1px solid #cfe4da;border-left:3px solid #5f9d83;border-radius:10px;background:#f8fcfa}
.frequent-body .message-quote{margin:6px 0 9px;padding:8px 10px;border-radius:7px;background:#f2f4f1}.frequent-body .message-quote p{margin:3px 0 0;font-size:13px;line-height:1.55}
.frequent-current-answer{margin:12px 0 6px;padding:10px 12px;border:1px solid #bfe4d4;border-radius:10px;background:#f1fbf6;color:#176b4c;font-weight:700}
@media (max-width:720px){.frequent-section{margin:22px 0 28px;padding:14px}.frequent-head{display:block}.frequent-note{margin-top:7px}.frequent-grid{grid-template-columns:1fr}.frequent-card summary{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:12px 10px}.frequent-meta span{display:none}.frequent-body{padding:12px 12px 15px}}
