
:root{
  --bg:#f4f6fa;--card:#fff;--text:#172033;--muted:#667085;--line:#e4e7ec;
  --blue:#175cd3;--bluebg:#eff8ff;--warn:#b54708;--warnbg:#fff7ed;
  --red:#b42318;--redbg:#fff1f0;--green:#067647;--greenbg:#ecfdf3;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
button,input,select{font:inherit}
[hidden]{display:none!important}
.loginView{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 0,#e8efff 0,transparent 34%),var(--bg)}
.loginCard{width:min(420px,100%);padding:30px;border:1px solid #dfe5ef;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(31,49,85,.12)}
.loginMark{color:#315fc2;font-size:13px;font-weight:850;letter-spacing:.18em}.loginCard h1{margin:8px 0 6px;font-size:27px}.loginCard p{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.6}
.loginCard label{display:grid;gap:6px;margin:13px 0;color:#344054;font-size:13px;font-weight:750}.loginCard input{width:100%;height:46px;padding:0 13px;border:1px solid #cfd7e5;border-radius:12px;background:#fff;outline:none}.loginCard input:focus{border-color:#6793ed;box-shadow:0 0 0 3px rgba(73,121,220,.13)}
.loginCard button{width:100%;height:46px;margin-top:9px;border:0;border-radius:12px;background:#245bc4;color:#fff;font-weight:800;cursor:pointer}.loginCard button:disabled{opacity:.58;cursor:wait}.loginError{min-height:20px;margin-top:12px;color:#b42318;font-size:12px;line-height:1.5}
.accountBar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px 2px;color:#344054;font-size:11px}.accountBar b{margin-right:9px}.accountBar span{color:var(--muted)}.accountBar button{border:1px solid #d7deea;border-radius:999px;background:#fff;color:#475467;padding:5px 10px;cursor:pointer}
.wrap{max-width:1440px;margin:auto;padding:0 14px 24px}
.siteMetaBar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 2px 0;color:#667085;font-size:11px}
.siteUpdated{padding:0;color:#667085;font-size:11px;text-align:right}
.searchDock{
  position:sticky;top:0;z-index:50;margin:0 -14px 8px;padding:9px 14px;
  background:rgba(244,246,250,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(228,231,236,.95)
}
.controls{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,320px) minmax(145px,190px);gap:8px}
.search,.filter{height:44px;background:#fff;border:1px solid #d0d5dd;border-radius:12px;padding:0 12px;color:var(--text)}
.search{font-size:15px;outline:none}
.search:focus{border-color:#84adff;box-shadow:0 0 0 3px #dbe8ff}
.filter{min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis}
.chipScroller{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:4px;align-items:center;min-height:41px;margin-bottom:2px;overflow:hidden}
.chips{display:flex;min-width:0;gap:6px;overflow-x:auto;padding:2px 0 9px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;cursor:grab;user-select:none}
.chipNav{width:32px;height:32px;border:1px solid #b2ccff;border-radius:50%;background:#fff;color:var(--blue);font-size:22px;line-height:1;cursor:pointer}
.chipNav:hover{background:var(--bluebg)}
.chips.dragging{cursor:grabbing;scroll-snap-type:none}
.chips::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:11px;color:#475467;cursor:pointer}
.chip.on{border-color:#84adff;background:var(--bluebg);color:var(--blue)}
.list{display:grid;gap:8px}
.person{
  display:grid;grid-template-columns:44px minmax(118px,155px) minmax(145px,210px) minmax(115px,1fr) minmax(195px,280px) 56px;gap:8px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;
  box-shadow:0 1px 2px rgba(16,24,40,.02)
}
.badPerson{background:#fff9f8;border-left:4px solid #d92d20;padding-left:8px}.pendingPerson{background:#fffdf7;border-left:4px solid #f79009;padding-left:8px}.ordinaryPerson{background:#fff;border-left:4px solid transparent;padding-left:8px}
.personAvatar{width:42px;height:42px;overflow:hidden;border:0;padding:0;border-radius:50%;display:grid;place-items:center;background:#dce8ff;color:#2455b8;font-weight:750;font-size:14px;flex:0 0 42px}.personAvatar img{width:100%;height:100%;object-fit:cover;grid-area:1/1}.hasAvatar .avatarLetters{display:none}.avatarLetters{grid-area:1/1}
.personDetailLink{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.personDetailLink:hover{transform:translateY(-1px);box-shadow:0 0 0 3px rgba(50,100,212,.14)}.personDetailLink:focus-visible{outline:2px solid #3264d4;outline-offset:2px}.personDetailLink.personChecking{opacity:.58;cursor:progress}
.softNotice{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));z-index:90;max-width:min(88vw,390px);padding:9px 14px;border:1px solid rgba(71,84,103,.18);border-radius:999px;background:rgba(30,41,59,.92);color:#fff;font-size:12px;font-weight:650;line-height:1.35;text-align:center;box-shadow:0 10px 30px rgba(15,23,42,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.softNotice.show{opacity:1;transform:translate(-50%,0)}
.dangerAvatar{background:#fee4e2;color:#b42318}
.identity .id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:750;font-size:13px;word-break:break-all}
.username{font-size:13px;font-weight:650;word-break:break-all}
.muted{color:var(--muted);font-size:11px;line-height:1.45}
.badge{display:inline-block;padding:3px 6px;margin:2px 3px 2px 0;border-radius:999px;font-size:10px;background:var(--warnbg);color:var(--warn)}
.badge.group{background:var(--bluebg);color:var(--blue)}
.badge.markGroup{background:#fee4e2;color:#b42318;border:1px solid #fecdca;font-weight:750}
.badge.active{background:var(--redbg);color:var(--red)}
.recordState{line-height:1.1}.dangerFlag,.pendingFlag,.ordinaryFlag{display:inline-block;border-radius:999px;padding:3px 6px;margin:2px 4px 2px 0;font-size:10px;font-weight:750}.dangerFlag{background:#fee4e2;color:#b42318;border:1px solid #fecdca}.pendingFlag{background:#fffaeb;color:#b54708;border:1px solid #fedf89}.ordinaryFlag{background:#f2f4f7;color:#344054;border:1px solid #eaecf0}
.markSource{margin:4px 0 2px;color:#b42318;font-size:11px;font-weight:800;line-height:1.35}
.badPerson .id,.badPerson .username{color:#b42318}.speakingCell{min-width:0;overflow:hidden}.speaking{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;max-height:31px;overflow:hidden;font-size:10px;line-height:1.35;color:#475467}.speakingSummary{display:flex;align-items:center;gap:6px;min-width:0;height:17px}.speaking b{font-size:11px;color:#344054}.speaking .reportCount{padding:1px 7px;border:1px solid #a9d8c6;border-radius:999px;background:#edf8f3;color:#176b52;font-size:12px;font-weight:850;line-height:1.2;white-space:nowrap;box-shadow:0 1px 2px rgba(23,107,82,.08)}.speaking .messageCount{font-weight:750;white-space:nowrap}.speakingFirst{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.speakingGroups{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.speaking.none{color:#667085;font-size:10px}.noSpeech{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detailBtn{height:30px;border:1px solid #fecdca;background:#fff5f3;color:#b42318;border-radius:8px;cursor:pointer;font-size:11px;font-weight:750}
.dangerDetail{border-color:#d92d20;background:#d92d20;color:#fff}.dangerDetail:hover{background:#b42318}.pendingDetail{border-color:#f79009;background:#fffaeb;color:#b54708}.ordinaryDetail{border-color:#98a2b3;background:#fff;color:#1d2939}.ordinaryDetail:hover{background:#f2f4f7}.verificationNote{margin:4px 0 12px;padding:9px 11px;border:1px solid #fedf89;border-radius:9px;background:#fffaeb;color:#93370d;font-size:12px;line-height:1.5}.memberSpeech{max-width:720px}.speechTotal{font-size:12px;color:#475467;margin:0 0 10px}.speechGroup{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.speechGroup b{display:block;font-size:13px}.speechGroup span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.deepAnalyses{max-width:820px}.analysisResult{margin-top:10px;padding:11px;border:1px solid #bfdbfe;border-radius:11px;background:#f8fbff}.analysisResult:first-of-type{border-color:#84adff;background:#eff8ff}.analysisSummary{margin-top:7px;white-space:pre-wrap;line-height:1.62;font-size:13px}.analysisTraits{margin:8px 0 0;padding-left:19px;font-size:12px;line-height:1.6}.analysisActivity,.analysisCaution,.analysisLocal,.analysisLimitations{margin-top:7px;padding-top:7px;border-top:1px solid #dbeafe;font-size:12px;line-height:1.55}.analysisCaution,.analysisCaveat{color:#93370d}.analysisCaveat{margin-top:3px}.analysisEvidence{margin-top:4px}.analysisEvidence a{margin-right:7px;color:#2563eb}.analysisTimeline{display:grid;gap:2px;margin-top:4px}.analysisTimeline span{display:block}.analysisLimitations ul{margin:4px 0 0;padding-left:18px}
.count{padding:0;color:var(--muted);font-size:11px}
dialog{width:min(1040px,96vw);max-height:92vh;border:0;padding:0;border-radius:18px;box-shadow:0 30px 90px rgba(15,23,42,.3)}
dialog::backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(3px)}
.modalHead{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid var(--line);padding:13px 15px;display:flex;align-items:flex-start;gap:10px}
.modalAvatar{width:42px;height:42px;flex:0 0 42px;overflow:hidden;border-radius:50%;display:grid;place-items:center;background:#e7eefc;color:#345fc7;font-size:14px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(52,95,199,.08)}.modalAvatar img{width:100%;height:100%;object-fit:cover;grid-area:1/1}.modalIdentity{min-width:0;flex:1;padding-top:1px}
.modalTitle{font-size:15px;font-weight:750;word-break:break-all}
.close{margin-left:auto;width:38px;height:38px;flex:0 0 38px;border:0;background:#f2f4f7;border-radius:50%;font-size:24px;cursor:pointer}
.modalBody{padding:13px 15px 22px;overflow:auto}
.section{margin:8px 0 20px}
.section h3{font-size:14px;margin:0 0 7px}
.event{border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0;background:#fcfcfd}
.event.openContextEvent{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.event.openContextEvent:hover,.event.openContextEvent:focus-visible{border-color:#9db8ef;box-shadow:0 6px 20px rgba(37,85,184,.09);outline:0;transform:translateY(-1px)}
.eventTop{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.reason{white-space:pre-wrap;line-height:1.6;font-size:13px;margin:6px 0}
.markOpenHint{margin:-2px 0 6px;color:#3563bd;font-size:11px;font-weight:750}
.tg{display:inline-flex;margin-top:5px;color:var(--blue);text-decoration:none;font-size:11px;font-weight:650}
.context{margin-top:8px;background:#f8fafc;border-radius:9px;padding:6px 9px}
.ctx{padding:5px 0;border-bottom:1px dashed #e4e7ec;font-size:11px;line-height:1.5}
.ctx:last-child{border-bottom:0}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-top:8px}
.mediaCard{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.mediaCard img,.mediaCard video{width:100%;height:170px;object-fit:contain;background:#111;cursor:pointer}
.mediaMeta{padding:5px 7px;font-size:10px;color:var(--muted);word-break:break-all}
#viewer{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.96)}
#viewer::backdrop{background:rgba(0,0,0,.96)}
.viewerStage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:48px}
.viewerStage img,.viewerStage video{max-width:100%;max-height:100%;object-fit:contain}
.viewerClose{position:absolute;right:12px;top:12px;z-index:5;width:42px;height:42px;border:0;border-radius:50%;font-size:26px;cursor:pointer}
.pending{color:#b54708}
@media(max-width:760px){
  .wrap{padding:0 8px 16px}
  .searchDock{margin:0 -8px 7px;padding:7px 8px}
  .controls{grid-template-columns:1fr 1fr;gap:6px}
  .search{grid-column:1/-1;font-size:16px;height:43px}
  .filter{min-width:0;width:100%;height:38px;font-size:12px;padding:0 7px}
  .chipScroller{display:flex;align-items:center;gap:4px;min-height:43px;margin:0 0 4px;overflow:hidden}
  .chipNav{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px}
  .chips{flex:1 1 auto;width:0;min-width:0;min-height:39px;padding:3px 1px 7px}
  .person{grid-template-columns:42px 1fr auto;gap:4px 7px;padding:9px}
  .person>.personAvatar{grid-row:1/3}
  .person>.identity{grid-column:2}
  .person>.names{grid-column:2/-1}
  .person>.recordState{grid-column:2/-1}
  .person>.speakingCell{grid-column:2/-1;padding-top:2px;overflow:visible}
  .person>.speakingCell .speaking{height:34px;max-height:34px;overflow:visible}
  .person>.speakingCell .speakingSummary{height:19px}
  .person>.speakingCell .speaking.none{height:19px;max-height:19px}
  .person>.detailBtn{grid-column:2/-1;width:100%}
  .identity .id{font-size:15px}
  .detailBtn{height:38px}
  .contextDialog .softNotice{bottom:calc(66px + env(safe-area-inset-bottom))}
  .speechGroup{align-items:flex-start;flex-direction:column;gap:3px}
  dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .modalHead{padding:10px}
  .modalAvatar{width:38px;height:38px;flex-basis:38px}
  .modalBody{padding:9px 9px 20px}
  .eventTop{flex-direction:column;gap:2px}
  .gallery{grid-template-columns:1fr}
  .mediaCard img,.mediaCard video{height:auto;min-height:180px;max-height:58vh}
  .viewerStage{padding:45px 5px 55px}
}

/* Source-backed Telegram-style nearby-message context. */
.ctx{display:flex;gap:8px;padding:8px 0;border-bottom:1px dashed #e4e7ec;font-size:12px;line-height:1.5}
.ctxAvatar{width:31px;height:31px;flex:0 0 31px;border:0;padding:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e7eefc;color:#345fc7;font-size:12px;font-weight:750}
.ctxAvatar img{width:100%;height:100%;object-fit:cover;display:block;grid-area:1/1}
.ctxContent{min-width:0;flex:1}.ctxMeta{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.ctxSender{font-weight:750;color:#202632}.ctxHandle,.ctxDate,.ctxMessageId{color:var(--muted);font-size:11px}.ctxMessageId{margin-left:auto;text-decoration:none}.ctxText{font-size:13px;white-space:pre-wrap;word-break:break-word;color:#111827}
.ctxForward{margin:2px 0 3px;color:#6953c7;font-size:12px}.ctxForward img{width:17px;height:17px;border-radius:50%;object-fit:cover;vertical-align:-4px;margin-right:3px}.ctxForward span{color:var(--muted);font-size:11px}
.ctxMedia{display:block;max-width:min(520px,100%);max-height:520px;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:#111;object-fit:contain}
.ctxMediaOpen{cursor:zoom-in}
.more{display:block;margin:0 auto 28px;padding:10px 22px;border:1px solid #89a9ff;border-radius:999px;background:#fff;color:#3264d4;font:inherit;cursor:pointer}.empty{text-align:center;padding:30px}
.reportInferred{display:inline-block;margin:2px 0 6px;padding:2px 8px;border-radius:999px;background:#fff3d6;color:#885400;font-size:.82em;font-weight:700}
@media(max-width:620px){.ctx{gap:7px}.ctxDate{width:100%;order:3}.ctxMessageId{margin-left:0;order:4}}

/* Live, source-backed personal history. */
.sectionTitleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.sectionTitleRow h3{margin:0}
.sectionTitleActions{display:flex;align-items:center;gap:6px}
.speechSearchToggle,.yukoSearchButton,.speechHistoryBtn,.historySortBtn,.historyMore,.speechSearchButton{
  border:1px solid #c9d7f7;background:#f8faff;color:#2455b8;border-radius:999px;
  padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease
}
.speechSearchToggle:hover,.yukoSearchButton:hover,.speechHistoryBtn:hover,.historySortBtn:hover,.historyMore:hover,.speechSearchButton:hover{background:#edf3ff;border-color:#90aef4}
.yukoSearchButton{border-color:#e2c6ae;background:linear-gradient(145deg,#fffaf4,#fff3e6);color:#9a4c19;font-size:0}
.yukoSearchButton::after{content:"◎ 个人快搜索";font-size:12px}
.yukoSearchButton:hover{border-color:#d69b70;background:#fff0df}.yukoSearchSummary{color:#6d4a2f}
.speechSearchPanel{margin:9px 0 13px;padding:10px;border:1px solid #dbe4f5;border-radius:13px;background:linear-gradient(145deg,#fbfdff,#f5f8ff)}
.speechSearchControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.speechSearchInput{min-width:0;height:38px;border:1px solid #dde2ea;border-radius:10px;background:#f1f3f6;color:#667085;padding:0 11px;outline:none;font-size:14px;transition:.18s ease}
.speechSearchInput::placeholder{color:#9aa3b2}
.speechSearchInput:focus{background:#fff;color:#172033;border-color:#779cf0;box-shadow:0 0 0 3px rgba(71,117,222,.12)}
.speechSearchResults{display:grid;gap:6px;margin-top:8px}.speechSearchHint{padding:9px 3px;color:var(--muted);font-size:12px}
.speechGroup{flex-wrap:wrap}.speechGroupMain{min-width:0;flex:1}.speechGroupActions{display:flex;align-items:center;gap:6px}
.speechHistoryPanel{flex:1 0 100%;padding:9px 0 2px;border-top:1px solid #edf0f5}
.historyToolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.historyOrder{display:flex;padding:2px;border-radius:999px;background:#eef2f8}.historySortBtn{border:0;background:transparent;color:#667085;padding:5px 9px}.historySortBtn.on{background:#fff;color:#1f4dac;box-shadow:0 1px 4px rgba(16,24,40,.12)}
.historyList{display:grid;gap:6px}.historyMessage,.speechSearchResult{width:100%;text-align:left;border:1px solid #e2e7f0;border-radius:11px;background:#fff;padding:9px 11px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.historyMessage:hover,.speechSearchResult:hover{transform:translateY(-1px);border-color:#9db8ef;box-shadow:0 5px 18px rgba(37,85,184,.08)}
.historyMessageMeta,.speechSearchMeta{display:flex;align-items:center;gap:7px;color:#667085;font-size:12px}.historyMessageMeta .historyGroup,.speechSearchMeta .historyGroup{color:#2455b8;font-weight:750}.historyMessageText,.speechSearchText{margin-top:4px;color:#172033;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.historyMore{display:block;margin:9px auto 0}.historyEmpty{padding:13px;text-align:center;color:#667085;font-size:13px}.speechSearchResults .historyEmpty{color:#39445a;font-weight:700;background:rgba(255,255,255,.72);border-radius:10px}
.historyComplete{padding:11px 4px 4px;text-align:center;color:#8a94a6;font-size:11px;letter-spacing:.08em}
.historyMore[hidden],.historyComplete[hidden],.contextEdge[hidden],.more[hidden]{display:none!important}

/* Immersive conversation reader. */
#contextDialog{width:min(920px,96vw);height:min(900px,94dvh);max-height:94dvh;border-radius:20px;background:#eef2f7;overflow:hidden}
.contextReader{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);background:linear-gradient(180deg,#f7f9fc 0,#edf2f8 100%)}
.readerHead{position:relative;z-index:5;display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid rgba(202,211,225,.9);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.readerClose{width:36px;height:36px;flex:0 0 36px;border:1px solid #d7dfeb;border-radius:50%;background:#fff;color:#344054;font-size:25px;line-height:1;cursor:pointer}.readerIdentity{min-width:0;flex:1}.readerTitle{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readerPosition{margin-top:2px;color:#667085;font-size:11px}.readerDesktopNav{display:flex;align-items:center;gap:6px}
.readerNav,.readerOrigin{height:34px;border:1px solid #d4deee;border-radius:10px;background:#fff;color:#344054;padding:0 11px;font-size:12px;font-weight:700;cursor:pointer}.readerOrigin{border-color:#9db8ef;background:#eff5ff;color:#2455b8}.readerNav:disabled,.readerOrigin:disabled{opacity:.38;cursor:default}
.contextScroller{overflow:auto;padding:0 15px 24px;overscroll-behavior:contain;scroll-behavior:auto;overflow-anchor:none}.contextStream{max-width:760px;margin:0 auto;padding:7px 0}.contextEdge{display:block;width:max-content;margin:10px auto 5px;border:0;background:rgba(255,255,255,.88);color:#47658f;border-radius:999px;padding:7px 13px;font-size:12px;cursor:pointer;box-shadow:0 1px 7px rgba(31,55,88,.08)}
.readerMessage{position:relative;display:flex;gap:9px;max-width:86%;margin:5px auto 5px 0;padding:9px 11px;border:1px solid #dfe5ee;border-radius:5px 15px 15px 15px;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(30,48,77,.045)}
.readerMessage.targetMessage{margin-left:auto;margin-right:0;border-color:#9cb9eb;background:linear-gradient(145deg,#f6f9ff,#eaf2ff);border-radius:15px 5px 15px 15px;box-shadow:0 4px 14px rgba(41,91,187,.09)}
.readerMessage.chainMessage{border-width:1.5px}
.readerMessage.chain-target{border-color:#9888cf;background:linear-gradient(145deg,#fbfaff,#f0edff);box-shadow:0 5px 18px rgba(102,78,173,.12)}
.readerMessage.chain-query{border-color:#62aeb1;background:linear-gradient(145deg,#f8ffff,#eaf7f7);box-shadow:0 5px 18px rgba(42,131,134,.11)}
.readerMessage.chain-reason{border-color:#d48767;background:linear-gradient(145deg,#fffaf7,#fff0e9);box-shadow:0 5px 18px rgba(181,87,51,.11)}
.readerMessage.activeTarget{border-color:#d06452;box-shadow:0 0 0 2px rgba(208,100,82,.18),0 8px 24px rgba(41,91,187,.12)}
.readerMessage.originTarget::after{content:"定位消息";position:absolute;right:10px;top:-9px;padding:2px 7px;border-radius:999px;background:#b42318;color:#fff;font-size:10px;font-weight:800;box-shadow:0 2px 7px rgba(180,35,24,.22)}
.readerAvatar{width:34px;height:34px;flex:0 0 34px;border:0;padding:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e2eaf8;color:#365b9a;font-size:12px;font-weight:800}.readerAvatar img{width:100%;height:100%;object-fit:cover;grid-area:1/1}.readerMessageBody{min-width:0;flex:1}.readerMeta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.readerSender{font-size:12px;font-weight:800;color:#243247}.readerDate,.readerMessageId,.readerBot{font-size:10px;color:#758195}.readerMessageId{margin-left:auto}.readerBot{padding:1px 5px;border-radius:999px;background:#eef0f4}.readerChainBadge{padding:2px 7px;border-radius:999px;background:rgba(88,76,151,.1);color:#6554a6;font-size:10px;font-weight:850}.chain-query .readerChainBadge{background:rgba(42,131,134,.11);color:#287d80}.chain-reason .readerChainBadge{background:rgba(181,87,51,.11);color:#a8492d}.readerText{margin-top:3px;white-space:pre-wrap;word-break:break-word;color:#111827;font-size:14px;line-height:1.52}.readerForward{margin:4px 0;padding:3px 7px;border-left:3px solid #8a78cf;border-radius:4px;background:rgba(115,91,190,.08);color:#6550b6;font-size:11px;font-weight:720}.readerReply{margin:3px 0;padding-left:7px;border-left:2px solid #91a8d2;color:#667085;font-size:11px}.readerMobileNav{display:none}.readerFlash{animation:readerFlash 1.05s ease}@keyframes readerFlash{0%,100%{filter:none}35%{filter:brightness(.92);box-shadow:0 0 0 5px rgba(43,101,214,.22)}}
.readerMedia{display:block;width:auto;max-width:min(520px,100%);max-height:520px;margin-top:7px;border:1px solid #d6deea;border-radius:10px;background:#111;object-fit:contain}.readerMedia.ctxMediaOpen{cursor:zoom-in}.readerAudio{display:block;width:min(420px,100%);margin-top:8px}.readerFile{display:inline-flex;margin-top:7px;padding:6px 10px;border:1px solid #cbd7eb;border-radius:9px;background:#f7f9fd;color:#315fb5;font-size:12px;font-weight:750}.readerMediaMissing{display:inline-flex;margin-top:7px;padding:6px 9px;border-radius:8px;background:#eef1f5;color:#7a8494;font-size:11px}
.readerLoading{padding:60px 20px;text-align:center;color:#667085;font-size:13px}.contextGap{max-width:760px;margin:7px auto;padding:7px;text-align:center;color:#667085;font-size:11px;border-top:1px dashed #cbd5e1;border-bottom:1px dashed #cbd5e1}
.readerReply{display:block;width:100%;margin:5px 0;padding:5px 8px;border:0;border-left:2px solid #91a8d2;border-radius:0 7px 7px 0;background:rgba(145,168,210,.1);color:#667085;font-size:11px;text-align:left}.readerReplyJump{cursor:pointer;transition:.16s ease}.readerReplyJump:hover{border-left-color:#2455b8;background:rgba(54,108,205,.13)}.readerReplyJump span{font-weight:750;color:#4a5f84}.readerReplyJump i{font-style:normal;color:#7383a0}.readerReplyJump b{display:block;margin-top:2px;overflow:hidden;color:#2e3b52;font-size:12px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.readerReplyJump em{display:block;margin-top:1px;color:#8090a9;font-size:10px;font-style:normal}

@media(max-width:760px){
  .sectionTitleRow{align-items:center}.sectionTitleActions{gap:4px}.speechSearchToggle,.yukoSearchButton{padding:6px 8px}.speechGroupActions{width:100%;justify-content:flex-end}.speechHistoryBtn{min-height:34px}
  #contextDialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
  .contextReader{grid-template-rows:auto minmax(0,1fr) auto}.readerHead{padding:8px 9px}.readerDesktopNav{display:none}.contextScroller{padding:0 8px 18px}.readerMessage{max-width:94%;padding:8px 9px}.readerText{font-size:14px}.readerMobileNav{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:6px;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #d8e0eb;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.readerMobileNav button{height:40px;padding:0 5px}
}
