/* Host runtime adjustments: the phone status UI is supplied by the mini-program/WebView. */
.masthead{height:98px;padding:9px 20px 14px}
.home-page .masthead,.ai-page .masthead,.products-page .masthead{height:94px;padding-top:8px}
.home-content{padding-top:20px}
.home-page .home-content{padding-bottom:136px}
.home-page .brief-more{min-height:44px;border-bottom:1px solid rgba(0,0,0,.05)}
.upload-page{padding-top:0}
.fastread-page{padding-top:29px}
.upload-file>i span{transition:width 80ms linear}
.upload-actions button:disabled{border-color:#dce7ea;background:#e8eff1;color:#a5b3b8;box-shadow:none;cursor:not-allowed}

/* Figma surface depth and exact home-section icon. */
.brief-list{
  border:1px solid rgba(255,255,255,.94);
  background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(240,255,252,.2));
  box-shadow:0 10px 26px rgba(50,72,91,.08),3px 3px 10px rgba(0,0,0,.05),inset 0 1px 0 #fff;
  backdrop-filter:blur(4px);
}

/* Blend the FGN artwork into the card instead of exposing a hard color seam. */
.product-grid>a:nth-child(2) .product-art::after{
  position:absolute;
  inset:0 0 auto;
  height:18px;
  background:linear-gradient(to bottom,#eef4fa 0,rgba(238,244,250,.68) 35%,rgba(238,244,250,0) 100%);
  content:"";
  pointer-events:none;
}

.solution-more{
  width:63px;
  height:16px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.solution-grid article{cursor:pointer}
.coming-page>button:first-child{display:grid;place-items:center;cursor:pointer}
.coming-page>button:first-child img{width:14px;height:14px}

.search-line input{font-size:12px}
.search-line input::placeholder{font-size:12px}
.filters .filter-trigger{
  display:flex;
  width:100%;
  min-width:0;
  height:38px;
  padding:0 13px;
  align-items:center;
  justify-content:space-between;
  border:1px solid #ced9ff;
  border-radius:12px;
  background:rgba(250,251,255,.76);
  color:#496484;
  font-size:12px;
  text-align:left;
}
.filters .filter-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filters .filter-trigger i{width:7px;height:7px;flex:0 0 auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.filter-backdrop{position:fixed;z-index:90;top:0;bottom:0;left:50%;display:flex;width:min(100%,402px);padding:70px 12px 0;align-items:flex-end;transform:translateX(-50%);background:rgba(15,30,39,.46);backdrop-filter:blur(2px)}
.filter-backdrop[hidden]{display:none}
.filter-sheet{display:flex;width:100%;max-height:min(74dvh,620px);overflow:hidden;flex-direction:column;border:1px solid rgba(255,255,255,.96);border-radius:22px 22px 0 0;background:#f9fbfc;box-shadow:0 -18px 45px rgba(20,43,58,.2)}
.filter-sheet>header{display:flex;padding:15px 16px 12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e3eaed;background:#fff}
.filter-sheet>header small{display:block;color:#25a999;font-size:9px;font-weight:700;letter-spacing:.12em}
.filter-sheet>header h2{margin:2px 0 0;color:#193742;font-size:16px}
.filter-sheet>header button{display:grid;width:31px;height:31px;padding:0;place-items:center;border:1px solid #dbe5e9;border-radius:50%;background:#fff;color:#6f858d;font-size:20px;line-height:1}
.filter-options{padding:10px 12px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.filter-option{display:flex;width:100%;min-height:42px;padding:9px 10px;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #edf1f3;background:transparent;color:#294852;font-size:12px;text-align:left}
.filter-option i{width:15px;height:15px;flex:0 0 auto;border:1px solid #aebdc2;border-radius:50%}
.filter-option.selected{color:#148c7e;font-weight:700}
.filter-option.selected i{border:4px solid #15998a;background:#fff}
.filter-group,.filter-subgroup{border-bottom:1px solid #e4ebee}
.filter-group>summary,.filter-subgroup>summary{display:flex;min-height:44px;padding:0 10px;align-items:center;justify-content:space-between;color:#173844;font-size:13px;font-weight:700;list-style:none;cursor:pointer}
.filter-subgroup{margin:0 8px;border:0;border-radius:10px;background:#f0f5f6}
.filter-subgroup>summary{min-height:39px;color:#526d76;font-size:11px}
.filter-group summary::-webkit-details-marker,.filter-subgroup summary::-webkit-details-marker{display:none}
.filter-group summary span,.filter-subgroup summary span{display:grid;min-width:23px;height:19px;padding:0 5px;place-items:center;border-radius:99px;background:#e7f3f0;color:#198c7d;font-size:9px}
.filter-group>div{padding:0 4px 7px}.filter-subgroup>div{padding:0 6px 5px}
.result-sort{display:flex;align-items:center;gap:6px;color:#8aacb2;font-size:10px}
.result-sort select{
  width:128px;
  height:32px;
  padding:0 27px 0 10px;
  appearance:none;
  border:1px solid #cddde4;
  border-radius:10px;
  background:rgba(255,255,255,.82) url('/mobile-v2/assets/figma-v2/health-select.svg') right 9px center/12px 12px no-repeat;
  color:#405c72;
  font-size:10.5px;
  outline:none;
  box-shadow:0 3px 9px rgba(31,60,57,.05);
}
.result-sort select:focus{border-color:#3bbfaf;box-shadow:0 0 0 3px rgba(59,191,175,.12)}
.search-line button:disabled,.result-sort select:disabled{opacity:.62;cursor:wait}
.library-empty{display:flex;min-height:150px;margin:0 16px 16px;padding:28px 20px;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:rgba(255,255,255,.58);color:#7e9298;text-align:center;box-shadow:0 8px 22px rgba(31,60,57,.05)}
.library-empty b{color:#3a5560;font-size:14px}
.library-empty span{font-size:11px;line-height:18px}
.library-empty.error b{color:#a65a55}

/* The impact factor is the primary literature-card signal. */
.lit-tags .impact-factor{
  order:-2;
  border:1px solid #78d1e5;
  background:#78d1e5;
  color:#fff;
  font-weight:700;
  letter-spacing:.2px;
  box-shadow:0 3px 8px rgba(120,209,229,.22),inset 0 1px 0 rgba(255,255,255,.28);
}
.lit-tags .impact-factor.is-missing{border-color:#e1e4e7;background:#f0f2f3;color:#899397;box-shadow:none}
.lit-tags .oa{order:-1}

/* Figma node 1:243 sits inside the 94px masthead, not over the intro. */
.mobile-app[data-route="ai"] #screen{overflow:hidden}
.ai-page .masthead{position:fixed;z-index:6;top:0;left:50%;width:min(100%,390px);transform:translateX(-50%)}
.ai-intro{position:absolute;top:100px;right:0;left:0;margin-top:0}
.ai-tools{position:fixed;top:37px;right:max(18px,calc((100vw - 390px)/2 + 18px));z-index:7;gap:6px}
.ai-tools button:first-child{width:68px;height:29px;border-radius:99px;font-size:10.5px;letter-spacing:0}
.ai-tools button:first-child img{width:12px;height:12px}
.ai-tools button:last-child{width:30px;height:30px;border-radius:9px}
.ai-tools button:last-child img{width:14px;height:14px}
.ai-tools button:disabled,.chat-input .send:disabled{opacity:.55;cursor:wait}

.ai-answer-panel{
  position:fixed;
  z-index:5;
  left:50%;
  right:auto;
  top:102px;
  bottom:192px;
  width:calc(min(100%,390px) - 24px);
  transform:translateX(-50%);
  display:flex;
  overflow:hidden;
  flex-direction:column;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.ai-answer-panel[hidden]{display:none}
.ai-intro{transition:opacity .22s ease,transform .22s ease}
.ai-page.conversation-active .ai-intro{opacity:0;transform:translateY(-7px);pointer-events:none}
.ai-answer-thread{display:flex;min-height:0;padding:12px 19px;overflow-y:auto;flex:1;flex-direction:column;gap:12px;scrollbar-width:none}
.ai-answer-thread::-webkit-scrollbar{display:none}
.ai-thread-message{max-width:91%;font-size:12px;line-height:20px}
.ai-thread-message p{margin:0}
.ai-thread-message.user{margin-left:auto;padding:11px 14px;border-radius:15px 15px 3px 15px;background:linear-gradient(135deg,#d7ddff,#cbd8ff);box-shadow:0 5px 13px rgba(52,71,118,.08)}
.ai-thread-message.assistant{padding:13px 14px;border:1px solid rgba(255,255,255,.96);border-radius:4px 16px 16px 16px;background:#fff;box-shadow:0 8px 19px rgba(24,42,76,.08)}
.ai-thread-message.assistant>b{display:block;margin-bottom:5px;color:#0d897d}
.ai-answer-body{color:#213541;font-size:12px;line-height:21px}
.ai-answer-body p{margin:0 0 10px}
.ai-answer-body p:last-child{margin-bottom:0}
.ai-answer-body h3{margin:15px 0 7px;color:#3678c8;font-size:13px;font-weight:800;line-height:20px}
.ai-answer-body h3:first-child{margin-top:2px}
.ai-answer-body ul,.ai-answer-body ol{margin:5px 0 10px;padding-left:19px}
.ai-answer-body li{margin:3px 0;padding-left:2px}
.ai-answer-body strong{font-weight:800}
.ai-answer-body mark{margin:0 .04em;padding:0 .08em;border-radius:0;background:linear-gradient(to bottom,transparent 48%,rgba(255,214,74,.38) 48%,rgba(255,214,74,.38) 88%,transparent 88%);color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ai-answer-body .ai-answer-lead{display:block;margin:1px 0 11px;padding:0 0 0 9px;border-left:2px solid rgba(236,190,49,.52);background:transparent}
.ai-answer-citation{color:#188a7a;font-size:.9em;font-weight:800;white-space:nowrap}
.ai-thread-message.assistant>small{display:flex;margin-top:9px;align-items:center;color:#35b0a1;font-size:9px}
.ai-thread-message.assistant>small img{width:13px;height:13px;margin-right:5px}
.ai-thread-message.assistant.error{border-color:#f2d3d3;color:#9d4d4d}
.ai-thread-message.is-loading{display:flex;align-items:center;gap:10px;color:#52717b}
.ai-thread-message.is-loading i{width:19px;height:19px;flex:0 0 auto;border:3px solid #d8e8f4;border-right-color:#3978ec;border-radius:50%;animation:ai-spin .85s linear infinite}
.ai-thread-message.is-loading b,.ai-thread-message.is-loading small{display:block}
.ai-thread-message.is-loading small{margin-top:2px;color:#94a6ad;font-size:9px}
.ai-thread-sources{display:flex;margin-top:10px;padding-top:8px;flex-direction:column;gap:5px;border-top:1px solid #edf2f4;color:#69818a;font-size:9px;line-height:15px}
.ai-thread-sources>b{color:#425f69}
.ai-thread-sources>a{display:flex;padding:5px 7px;align-items:center;justify-content:space-between;gap:8px;border-radius:7px;background:#f3f8f7;color:#386f68;text-decoration:none}
.ai-thread-sources>a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-thread-sources>a i{flex:0 0 auto;color:#159181;font-style:normal;font-size:8px}
.ai-page .chat-input{position:fixed;right:auto;left:50%;bottom:calc(max(31.378px,env(safe-area-inset-bottom)) + 92px);width:calc(min(100%,390px) - 22px);transform:translateX(-50%)}
.ai-page .upload-tip{position:fixed;right:auto;left:max(25px,calc((100vw - 390px)/2 + 25px));bottom:calc(max(31.378px,env(safe-area-inset-bottom)) + 162px)}
@keyframes ai-spin{to{transform:rotate(360deg)}}

/* Real upload/generation flow. */
.upload-file{grid-template-columns:36px minmax(0,1fr) 24px;overflow:hidden}
.upload-file>div{min-width:0;overflow:hidden}
.upload-file strong{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fast-file{display:grid;width:fit-content;max-width:calc(100% - 36px);margin-right:auto;margin-left:auto;grid-template-columns:24px minmax(0,1fr) auto}
.fast-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fast-file small{white-space:nowrap}
.progress-ring{border:0;background:transparent}
.progress-ring:before{display:none}
.progress-ring .ring-track,.progress-ring .ring-spinner{position:absolute;inset:0;border-radius:50%}
.progress-ring .ring-track{border:8px solid #dcebed}
.progress-ring .ring-spinner{background:conic-gradient(from -24deg,#31dcd3 0 24%,transparent 24% 27%,#22bee2 27% 49%,transparent 49% 52%,#4be6df 52% 74%,transparent 74% 77%,#19b8dd 77% 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));animation:fastread-ring 1.25s linear infinite}
.progress-ring img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(46,115,151,.14))}
.progress-ring.is-error .ring-spinner{animation:none;background:#d58c8c}
.fastread-page.is-error>button{display:inline-flex;width:148px;min-width:148px;height:44px;padding:0 20px;align-items:center;justify-content:center;white-space:nowrap;font-size:13px;line-height:1}
@keyframes fastread-ring{to{transform:rotate(360deg)}}
.quick-read-popup{position:fixed;z-index:100;top:0;bottom:0;left:50%;width:min(100%,390px);transform:translateX(-50%);background:#f3f7fb}
.quick-read-popup>section{display:grid;height:100%;grid-template-rows:auto minmax(0,1fr);background:#f3f7fb}
.quick-read-popup header{display:flex;min-height:76px;padding:18px 16px 12px;align-items:center;justify-content:space-between;border-bottom:1px solid #dce7ef;background:#fff;box-shadow:0 5px 16px rgba(25,48,61,.07)}
.quick-read-popup header>div{min-width:0}
.quick-read-popup header small{display:block;color:#159181;font-size:9px;font-weight:800;letter-spacing:.14em}
.quick-read-popup header h2{max-width:300px;margin:3px 0 0;overflow:hidden;color:#183746;font-size:14px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
.quick-read-popup header button{display:grid;width:32px;height:32px;flex:0 0 auto;padding:0;place-items:center;border:1px solid #d8e4e9;border-radius:50%;background:#fff;color:#607982;font-size:20px}
.quick-read-popup iframe{width:100%;height:100%;border:0;background:#fff}

/* Research daily archive. */
.reports-page{min-height:100dvh;padding:0 0 28px;background:linear-gradient(180deg,#f7f9fd,#eef3f6)}
.reports-header{display:flex;min-height:112px;padding:21px 18px 17px;align-items:flex-start;gap:12px;border-bottom:1px solid rgba(210,225,229,.9);background:#f9fbfe;box-shadow:0 7px 18px rgba(25,48,61,.07)}
.reports-header>button{display:grid;width:31px;height:31px;flex:0 0 auto;margin-top:3px;padding:0;place-items:center;border:1px solid #d8e4e8;border-radius:50%;background:#fff;color:#4b7180;font-size:23px;line-height:1}
.reports-header>div{min-width:0}
.reports-header small{color:#159181;font-family:Georgia,"Noto Serif SC",serif;font-size:9px;font-weight:800;letter-spacing:.15em}
.reports-header h1{margin:3px 0 2px;color:#183746;font-size:19px;line-height:27px}
.reports-header p{margin:0;color:#8ca0a7;font-size:10px}
.report-history-list{display:flex;padding:15px 14px 24px;flex-direction:column;gap:11px}
.report-history-card{display:grid;min-height:112px;padding:15px;grid-template-columns:72px minmax(0,1fr) 14px;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.95);border-radius:17px;background:rgba(255,255,255,.82);color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(31,60,57,.07),inset 0 1px 0 #fff}
.report-history-card time{display:flex;height:76px;padding:10px 7px;align-items:center;justify-content:center;flex-direction:column;border-radius:12px;background:linear-gradient(145deg,#e4f6f1,#edf3fb);color:#178c7d;text-align:center}
.report-history-card time b{font-size:10px;line-height:16px}
.report-history-card time small{margin-top:4px;color:#557f91;font-size:8px;font-weight:700;letter-spacing:.06em}
.report-history-card>div{min-width:0}
.report-history-card h2{margin:0;color:#183746;font-size:14px;line-height:20px}
.report-history-card p{display:-webkit-box;margin:4px 0 7px;overflow:hidden;color:#7e9298;font-size:10px;line-height:16px;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.report-history-card span{display:flex;gap:4px;flex-wrap:wrap}
.report-history-card span i{padding:2px 6px;border-radius:99px;background:#edf6f3;color:#168a7b;font-size:8px;font-style:normal}
.report-history-card>strong{color:#8aacb2;font-size:22px;font-weight:400}
.report-history-empty{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#92a5aa}
.report-history-empty b{color:#49646d;font-size:14px}.report-history-empty span{font-size:10px}
.brief-empty{display:grid;min-height:120px;place-items:center;color:#91a4a8;font-size:11px}
.brief-tags{display:flex;max-width:100%;gap:4px;overflow:hidden;white-space:nowrap}.brief-tags span{display:inline-flex;height:19px;min-width:0;padding:0 7px;align-items:center;flex:none;border-radius:5px;font-size:9px}.brief-row .brief-tags .blue{background:#dce7fb}.brief-row .brief-tags .purple{background:#ded8f5}.brief-row .brief-tags .more{padding:0 6px;background:#eef2f4;color:#788c91}
.news-archive-page{min-height:100dvh;padding:0 0 28px;background:linear-gradient(180deg,#f7f9fd,#eef3f6)}
.news-archive-header{display:flex;min-height:112px;padding:23px 20px 17px;align-items:flex-start;gap:13px;border-bottom:1px solid #dce7ea;background:rgba(255,255,255,.72)}
.news-archive-header button{display:grid;width:32px;height:32px;flex:none;place-items:center;border:1px solid #d8e4e8;border-radius:50%;background:#fff;color:#247d70;font-size:21px;line-height:1}
.news-archive-header small{color:#0d9d85;font-family:Georgia,serif;font-size:8px;font-weight:700;letter-spacing:.12em}.news-archive-header h1{margin:5px 0 1px;color:#173746;font-size:20px;line-height:26px}.news-archive-header p{margin:0;color:#8ba0a6;font-size:10px}
.news-archive-list{display:grid;gap:12px;padding:16px}
.news-archive-card{position:relative;display:block;padding:16px 38px 16px 17px;border:1px solid rgba(255,255,255,.96);border-radius:17px;background:rgba(255,255,255,.86);color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(31,60,57,.07),inset 0 1px #fff}
.news-archive-meta{display:flex;gap:8px;color:#82969c;font-size:9px}.news-archive-meta time{color:#178c7d;font-weight:700}.news-archive-card h2{margin:8px 0 6px;color:#183746;font-size:14px;line-height:21px}.news-archive-card>p{display:-webkit-box;margin:0 0 10px;overflow:hidden;color:#71858b;font-size:10px;line-height:17px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.news-archive-tags{display:flex;gap:5px;flex-wrap:wrap}.news-archive-tags span{padding:3px 7px;border-radius:99px;background:#e9f5f1;color:#167d6d;font-size:8px}.news-archive-card>i{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:#91a8ad;font-size:22px;font-style:normal}
.news-archive-empty{display:flex;min-height:240px;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#92a5aa}.news-archive-empty b{color:#49646d;font-size:14px}.news-archive-empty p{margin:0;font-size:10px}

/* Interactive AI answer settings */
.setting-pills button{cursor:pointer}.setting-pills button.is-off{border-color:#dce5e4;background:#f5f7f7;color:#829492}.settings-sheet label{cursor:pointer}.settings-sheet label input{right:16px;width:38px;height:22px;cursor:pointer}.settings-sheet label>i,.settings-sheet label:first-of-type input:not(:checked)+i{background:#ccd7d7;pointer-events:none;transition:background .18s ease}.settings-sheet label>i:after{left:3px;right:auto;box-shadow:0 1px 3px rgba(20,40,50,.18);transition:transform .18s ease}.settings-sheet label input:checked+i{background:#188a7a}.settings-sheet label:first-of-type input:checked+i{background:#5874b4}.settings-sheet label input:checked+i:after{transform:translateX(16px)}.settings-sheet label input:focus-visible+i{outline:2px solid #153e55;outline-offset:3px}
