| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507 |
- <!doctype html>
- <html lang="zh-CN">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1" />
- <title>医梦 × 深信服 FastGPT 医疗智能体联合方案</title>
- <style>
- :root {
- --ink: #162033;
- --muted: #667085;
- --line: #d9e2ec;
- --paper: #ffffff;
- --bg: #f6f3ed;
- --deep: #10233f;
- --emoon: #c75a1f;
- --emoon-soft: #fff0e3;
- --sxf: #2563eb;
- --sxf-soft: #eaf2ff;
- --hospital: #059669;
- --hospital-soft: #e7f8f0;
- --warn: #dc2626;
- --warn-soft: #ffebe8;
- --gold: #f59e0b;
- --black: #111827;
- --shadow: 0 28px 70px rgba(31, 41, 55, 0.14);
- }
- * { box-sizing: border-box; }
- html, body {
- margin: 0;
- min-height: 100%;
- font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;
- background:
- radial-gradient(circle at 16% 12%, rgba(37, 99, 235, 0.16), transparent 28%),
- radial-gradient(circle at 84% 10%, rgba(199, 90, 31, 0.16), transparent 26%),
- linear-gradient(135deg, #f8f5ef 0%, #eef5fb 48%, #f8f4ec 100%);
- color: var(--ink);
- }
- body {
- display: flex;
- justify-content: center;
- padding: 34px 28px;
- }
- .stage {
- width: min(1280px, calc(100vw - 56px));
- min-height: 840px;
- background: var(--paper);
- border-radius: 24px;
- box-shadow: var(--shadow);
- border: 1px solid rgba(16, 35, 63, 0.08);
- overflow: hidden;
- position: relative;
- }
- .stage::before {
- content: "";
- position: absolute;
- left: 0;
- top: 0;
- bottom: 0;
- width: 8px;
- background: linear-gradient(180deg, var(--emoon) 0%, var(--gold) 54%, var(--sxf) 100%);
- z-index: 5;
- }
- .topbar {
- padding: 34px 42px 0 54px;
- display: flex;
- justify-content: space-between;
- gap: 28px;
- align-items: flex-start;
- }
- .kicker {
- display: flex;
- align-items: center;
- gap: 10px;
- margin-bottom: 12px;
- color: var(--muted);
- font-weight: 700;
- font-size: 15px;
- }
- .dot {
- width: 9px;
- height: 9px;
- border-radius: 999px;
- background: var(--emoon);
- box-shadow: 16px 0 0 var(--sxf), 32px 0 0 var(--hospital);
- margin-right: 32px;
- }
- h1 {
- margin: 0;
- font-size: clamp(30px, 3.55vw, 46px);
- line-height: 1.08;
- letter-spacing: 0;
- color: #0d172a;
- max-width: 860px;
- }
- .term {
- display: inline-block;
- padding: 5px 15px 7px;
- border-radius: 12px;
- background: #111827;
- color: #fff;
- font-family: "JetBrains Mono", "SF Mono", Menlo, monospace;
- font-size: 0.82em;
- vertical-align: 3px;
- white-space: nowrap;
- }
- .headline-emoon { color: var(--emoon); }
- .headline-sxf { color: var(--sxf); }
- .meeting-card {
- flex: 0 0 292px;
- background: #101f38;
- color: #fff;
- border-radius: 18px;
- padding: 17px 19px;
- min-height: 132px;
- position: relative;
- overflow: hidden;
- }
- .meeting-card::after {
- content: "";
- position: absolute;
- width: 160px;
- height: 160px;
- border-radius: 50%;
- background: rgba(255,255,255,0.08);
- right: -58px;
- bottom: -76px;
- }
- .meeting-card strong {
- display: block;
- font-size: 21px;
- margin-bottom: 10px;
- }
- .meeting-card span {
- display: block;
- color: rgba(255,255,255,0.78);
- font-size: 15px;
- line-height: 1.55;
- position: relative;
- z-index: 1;
- }
- .tabs {
- display: grid;
- grid-template-columns: repeat(6, minmax(0, 1fr));
- gap: 10px;
- padding: 24px 42px 0 54px;
- }
- .tab {
- border: 1px solid var(--line);
- background: #f8fafc;
- color: #435166;
- border-radius: 14px;
- padding: 12px 10px;
- font-size: 15px;
- font-weight: 800;
- cursor: pointer;
- transition: transform 180ms ease, background 180ms ease, color 180ms ease, border 180ms ease;
- white-space: nowrap;
- }
- .tab:hover { transform: translateY(-1px); }
- .tab.active {
- background: #111827;
- border-color: #111827;
- color: #fff;
- }
- .content {
- padding: 28px 42px 40px 54px;
- position: relative;
- }
- .scene {
- display: none;
- min-height: 600px;
- animation: fadeUp 420ms ease both;
- }
- .scene.active { display: block; }
- @keyframes fadeUp {
- from { opacity: 0; transform: translateY(16px); }
- to { opacity: 1; transform: translateY(0); }
- }
- .quote {
- text-align: center;
- font-size: clamp(27px, 3.4vw, 48px);
- line-height: 1.18;
- font-weight: 900;
- color: #0f172a;
- margin: 8px auto 28px;
- max-width: 1080px;
- }
- .quote .left-word { color: var(--sxf); }
- .quote .right-word { color: var(--emoon); }
- .quote .sep { color: #b8a999; margin: 0 8px; }
- .split {
- display: grid;
- grid-template-columns: 1fr 230px 1fr;
- gap: 22px;
- align-items: stretch;
- margin-top: 20px;
- }
- .actor {
- border-radius: 20px;
- padding: 26px 26px;
- min-height: 395px;
- border: 2px solid;
- position: relative;
- overflow: hidden;
- }
- .actor.sxf {
- background: var(--sxf-soft);
- border-color: #bed3ff;
- }
- .actor.emoon {
- background: var(--emoon-soft);
- border-color: #ffd0a6;
- }
- .actor.hospital {
- background: var(--hospital-soft);
- border-color: #a9e9ce;
- }
- .actor-title {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 14px;
- margin-bottom: 10px;
- }
- .actor-name {
- font-size: 30px;
- font-weight: 900;
- letter-spacing: 0;
- }
- .actor.sxf .actor-name { color: var(--sxf); }
- .actor.emoon .actor-name { color: var(--emoon); }
- .actor.hospital .actor-name { color: var(--hospital); }
- .actor-tag {
- font-size: 14px;
- font-weight: 800;
- color: #fff;
- background: #111827;
- padding: 5px 10px;
- border-radius: 999px;
- white-space: nowrap;
- }
- .actor-sub {
- color: #6b7280;
- font-size: 17px;
- line-height: 1.45;
- margin-bottom: 18px;
- font-weight: 700;
- }
- .items {
- list-style: none;
- padding: 0;
- margin: 0;
- display: grid;
- gap: 9px;
- }
- .items li {
- display: flex;
- gap: 10px;
- align-items: flex-start;
- min-height: 34px;
- font-size: 18px;
- line-height: 1.45;
- color: #1f2937;
- font-weight: 700;
- }
- .check, .cross, .lock {
- min-width: 24px;
- height: 24px;
- border-radius: 999px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- color: #fff;
- font-size: 15px;
- font-weight: 900;
- margin-top: 1px;
- }
- .check { background: var(--hospital); }
- .cross { background: var(--warn); }
- .lock { background: #111827; }
- .protocol {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- gap: 12px;
- min-height: 395px;
- }
- .pill {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- min-height: 34px;
- padding: 8px 14px;
- border-radius: 999px;
- color: #fff;
- font-family: "JetBrains Mono", "SF Mono", Menlo, monospace;
- font-size: 14px;
- font-weight: 800;
- white-space: nowrap;
- box-shadow: 0 10px 20px rgba(17, 24, 39, 0.12);
- }
- .pill.sxf { background: var(--sxf); }
- .pill.emoon { background: var(--emoon); }
- .pill.hospital { background: var(--hospital); }
- .pill.dark { background: #111827; }
- .pill.warn { background: var(--warn); }
- .arrow-svg {
- width: 205px;
- height: 105px;
- overflow: visible;
- }
- .arrow-flow {
- stroke-dasharray: 12 10;
- animation: dash 1.6s linear infinite;
- }
- @keyframes dash {
- to { stroke-dashoffset: -44; }
- }
- .summary-grid {
- display: grid;
- grid-template-columns: 1.05fr 1.2fr;
- gap: 22px;
- align-items: stretch;
- margin-top: 18px;
- }
- .dark-panel {
- background: #101f38;
- color: #fff;
- border-radius: 22px;
- padding: 28px;
- min-height: 440px;
- position: relative;
- overflow: hidden;
- }
- .dark-panel::after {
- content: "";
- position: absolute;
- right: -96px;
- top: -96px;
- width: 230px;
- height: 230px;
- border-radius: 50%;
- border: 36px solid rgba(255,255,255,0.06);
- }
- .dark-panel h2, .panel h2 {
- margin: 0 0 18px;
- font-size: 30px;
- line-height: 1.18;
- letter-spacing: 0;
- }
- .dark-panel p {
- color: rgba(255,255,255,0.78);
- font-size: 18px;
- line-height: 1.6;
- margin: 0 0 18px;
- font-weight: 650;
- }
- .big-equation {
- display: grid;
- gap: 13px;
- margin-top: 24px;
- position: relative;
- z-index: 1;
- }
- .eq-row {
- display: grid;
- grid-template-columns: 46px 1fr;
- align-items: center;
- gap: 12px;
- color: #fff;
- }
- .eq-icon {
- width: 46px;
- height: 46px;
- border-radius: 14px;
- display: grid;
- place-items: center;
- font-weight: 900;
- font-size: 20px;
- }
- .eq-icon.sxf { background: var(--sxf); }
- .eq-icon.emoon { background: var(--emoon); }
- .eq-icon.hospital { background: var(--hospital); }
- .eq-text {
- background: rgba(255,255,255,0.09);
- border: 1px solid rgba(255,255,255,0.12);
- border-radius: 14px;
- padding: 12px 14px;
- font-size: 18px;
- font-weight: 850;
- }
- .panel {
- background: #f8fafc;
- border: 1px solid var(--line);
- border-radius: 22px;
- padding: 26px;
- min-height: 440px;
- }
- .chain {
- display: grid;
- grid-template-columns: repeat(5, 1fr);
- gap: 12px;
- align-items: stretch;
- margin-top: 20px;
- }
- .chain-card {
- border-radius: 18px;
- background: #fff;
- border: 1px solid var(--line);
- padding: 16px 14px;
- min-height: 155px;
- position: relative;
- overflow: hidden;
- transition: transform 240ms ease, box-shadow 240ms ease;
- }
- .chain-card.active-pulse {
- animation: pulseCard 2.4s ease-in-out infinite;
- }
- @keyframes pulseCard {
- 0%, 100% { transform: translateY(0); box-shadow: none; }
- 50% { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(37, 99, 235, 0.16); }
- }
- .chain-card .num {
- display: inline-flex;
- width: 30px;
- height: 30px;
- border-radius: 10px;
- align-items: center;
- justify-content: center;
- background: #111827;
- color: #fff;
- font-weight: 900;
- margin-bottom: 10px;
- }
- .chain-card h3 {
- margin: 0 0 8px;
- font-size: 18px;
- line-height: 1.22;
- }
- .chain-card p {
- margin: 0;
- color: #667085;
- font-size: 15px;
- line-height: 1.45;
- font-weight: 650;
- }
- .compare-wrap {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 22px;
- margin-top: 18px;
- }
- .route {
- border-radius: 22px;
- padding: 22px;
- border: 2px solid;
- min-height: 420px;
- position: relative;
- }
- .route.bad {
- background: var(--warn-soft);
- border-color: #ffc3bc;
- }
- .route.good {
- background: var(--hospital-soft);
- border-color: #a9e9ce;
- }
- .route h2 {
- margin: 0 0 18px;
- font-size: 29px;
- display: flex;
- align-items: center;
- gap: 10px;
- }
- .badge {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- min-width: 36px;
- height: 36px;
- border-radius: 999px;
- background: #111827;
- color: #fff;
- font-weight: 900;
- font-size: 18px;
- }
- .route-line {
- display: grid;
- gap: 10px;
- }
- .route-step {
- display: flex;
- align-items: center;
- gap: 12px;
- border-radius: 15px;
- padding: 12px 13px;
- background: rgba(255,255,255,0.72);
- border: 1px solid rgba(17,24,39,0.08);
- font-size: 17px;
- font-weight: 800;
- min-height: 48px;
- }
- .route-step strong { color: #0f172a; }
- .route-note {
- margin-top: 16px;
- border-radius: 16px;
- padding: 14px 15px;
- font-size: 17px;
- line-height: 1.48;
- font-weight: 850;
- }
- .route.bad .route-note { background: #fff; color: var(--warn); }
- .route.good .route-note { background: #fff; color: var(--hospital); }
- .boundary-grid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 18px;
- margin-top: 20px;
- }
- .boundary-card {
- border-radius: 22px;
- padding: 22px;
- min-height: 400px;
- background: #fff;
- border: 1px solid var(--line);
- position: relative;
- overflow: hidden;
- }
- .boundary-card:nth-child(1) { border-top: 7px solid var(--sxf); }
- .boundary-card:nth-child(2) { border-top: 7px solid var(--emoon); }
- .boundary-card:nth-child(3) { border-top: 7px solid var(--hospital); }
- .boundary-card h2 {
- margin: 0 0 10px;
- font-size: 26px;
- line-height: 1.15;
- }
- .boundary-card .owner {
- display: inline-flex;
- margin-bottom: 18px;
- padding: 7px 11px;
- border-radius: 999px;
- color: #fff;
- background: #111827;
- font-size: 14px;
- font-weight: 900;
- }
- .mini-list {
- list-style: none;
- margin: 0;
- padding: 0;
- display: grid;
- gap: 9px;
- }
- .mini-list li {
- font-size: 16px;
- line-height: 1.4;
- padding: 10px 12px;
- background: #f8fafc;
- border-radius: 13px;
- border: 1px solid #edf2f7;
- font-weight: 750;
- }
- .value-layout {
- display: grid;
- grid-template-columns: 390px 1fr;
- gap: 22px;
- margin-top: 18px;
- align-items: stretch;
- }
- .value-menu {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 10px;
- }
- .value-btn {
- border: 1px solid var(--line);
- background: #fff;
- border-radius: 16px;
- padding: 13px 12px;
- text-align: left;
- min-height: 90px;
- cursor: pointer;
- transition: transform 180ms ease, border 180ms ease, box-shadow 180ms ease;
- }
- .value-btn:hover { transform: translateY(-2px); }
- .value-btn.active {
- border-color: var(--emoon);
- box-shadow: 0 16px 30px rgba(199, 90, 31, 0.16);
- background: var(--emoon-soft);
- }
- .value-index {
- display: inline-flex;
- width: 28px;
- height: 28px;
- border-radius: 9px;
- align-items: center;
- justify-content: center;
- background: #111827;
- color: #fff;
- font-weight: 900;
- margin-bottom: 7px;
- }
- .value-btn strong {
- display: block;
- font-size: 15px;
- line-height: 1.28;
- color: #1f2937;
- }
- .value-detail {
- border-radius: 24px;
- background: #101f38;
- color: #fff;
- padding: 30px;
- min-height: 470px;
- position: relative;
- overflow: hidden;
- }
- .value-detail::after {
- content: "";
- position: absolute;
- right: -76px;
- bottom: -96px;
- width: 240px;
- height: 240px;
- border-radius: 50%;
- background: rgba(255,255,255,0.06);
- }
- .value-detail h2 {
- margin: 0 0 12px;
- font-size: 34px;
- line-height: 1.15;
- max-width: 760px;
- position: relative;
- z-index: 1;
- }
- .value-detail p {
- margin: 0 0 22px;
- font-size: 19px;
- line-height: 1.58;
- color: rgba(255,255,255,0.82);
- font-weight: 700;
- position: relative;
- z-index: 1;
- }
- .value-points {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 12px;
- position: relative;
- z-index: 1;
- }
- .value-point {
- min-height: 86px;
- background: rgba(255,255,255,0.09);
- border: 1px solid rgba(255,255,255,0.14);
- border-radius: 16px;
- padding: 14px;
- font-size: 17px;
- line-height: 1.4;
- font-weight: 800;
- }
- .guard-grid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 18px;
- margin-top: 20px;
- }
- .guard {
- border-radius: 22px;
- background: #fff;
- border: 1px solid var(--line);
- padding: 24px;
- min-height: 420px;
- position: relative;
- }
- .guard h2 {
- margin: 0 0 14px;
- font-size: 28px;
- color: #0f172a;
- }
- .guard .big-lock {
- width: 70px;
- height: 70px;
- border-radius: 22px;
- background: #111827;
- color: #fff;
- display: grid;
- place-items: center;
- font-size: 34px;
- font-weight: 900;
- margin-bottom: 18px;
- }
- .guard:nth-child(1) .big-lock { background: var(--sxf); }
- .guard:nth-child(2) .big-lock { background: var(--emoon); }
- .guard:nth-child(3) .big-lock { background: var(--hospital); }
- .guard-quote {
- margin-top: 18px;
- border-radius: 16px;
- padding: 14px;
- background: #f8fafc;
- border: 1px solid #edf2f7;
- color: #344054;
- font-size: 17px;
- line-height: 1.45;
- font-weight: 850;
- }
- .final-layout {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 22px;
- margin-top: 22px;
- }
- .final-card {
- border-radius: 24px;
- padding: 28px;
- min-height: 445px;
- border: 2px solid;
- }
- .final-card.must {
- background: #fff6eb;
- border-color: #ffd0a6;
- }
- .final-card.give {
- background: #edf6ff;
- border-color: #bed3ff;
- }
- .final-card h2 {
- margin: 0 0 18px;
- font-size: 34px;
- color: #111827;
- }
- .final-card.must h2 { color: var(--emoon); }
- .final-card.give h2 { color: var(--sxf); }
- .bottom-line {
- margin-top: 24px;
- border-radius: 20px;
- background: #111827;
- color: #fff;
- padding: 20px 24px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 22px;
- }
- .bottom-line strong {
- font-size: 24px;
- line-height: 1.3;
- }
- .bottom-line span {
- color: rgba(255,255,255,0.76);
- font-size: 17px;
- line-height: 1.45;
- font-weight: 700;
- max-width: 430px;
- }
- /* Apple-like visual refresh: restrained color, lighter type, soft cards. */
- :root {
- --ink: #1d1d1f;
- --muted: #6e6e73;
- --line: #e5e5ea;
- --paper: rgba(255, 255, 255, 0.92);
- --bg: #f5f5f7;
- --deep: #f5f5f7;
- --emoon: #b75a24;
- --emoon-soft: #fff7f0;
- --sxf: #0a84ff;
- --sxf-soft: #f3f8ff;
- --hospital: #30a46c;
- --hospital-soft: #f3fbf7;
- --warn: #d84f3f;
- --warn-soft: #fff5f4;
- --gold: #d99a2b;
- --black: #1d1d1f;
- --shadow: 0 24px 60px rgba(0, 0, 0, 0.08);
- }
- html, body {
- background:
- radial-gradient(circle at 18% 8%, rgba(10, 132, 255, 0.08), transparent 28%),
- radial-gradient(circle at 86% 12%, rgba(183, 90, 36, 0.08), transparent 28%),
- linear-gradient(135deg, #f5f5f7 0%, #fbfbfd 52%, #f5f5f7 100%);
- color: var(--ink);
- -webkit-font-smoothing: antialiased;
- text-rendering: optimizeLegibility;
- }
- .stage {
- border-radius: 30px;
- border: 1px solid rgba(0, 0, 0, 0.06);
- backdrop-filter: blur(18px);
- }
- .stage::before {
- width: 4px;
- background: linear-gradient(180deg, rgba(183, 90, 36, 0.9), rgba(10, 132, 255, 0.85));
- }
- .kicker {
- font-weight: 500;
- color: #7a7a80;
- }
- .dot {
- width: 7px;
- height: 7px;
- opacity: 0.72;
- box-shadow: 14px 0 0 rgba(10, 132, 255, 0.72), 28px 0 0 rgba(48, 164, 108, 0.72);
- margin-right: 28px;
- }
- h1 {
- font-weight: 650;
- letter-spacing: 0;
- color: #1d1d1f;
- }
- .term {
- background: rgba(255, 255, 255, 0.82);
- color: #1d1d1f;
- border: 1px solid rgba(0, 0, 0, 0.12);
- box-shadow: inset 0 -1px 0 rgba(0,0,0,0.04);
- font-weight: 650;
- font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;
- padding: 4px 13px 6px;
- }
- .meeting-card {
- background: rgba(245, 245, 247, 0.88);
- color: #1d1d1f;
- border: 1px solid rgba(0,0,0,0.08);
- box-shadow: 0 14px 35px rgba(0,0,0,0.05);
- border-radius: 22px;
- }
- .meeting-card::after {
- background: rgba(10, 132, 255, 0.08);
- }
- .meeting-card strong {
- font-weight: 650;
- color: #1d1d1f;
- }
- .meeting-card span {
- color: #6e6e73;
- font-weight: 450;
- }
- .tab {
- background: rgba(255, 255, 255, 0.72);
- color: #515154;
- border-color: rgba(0,0,0,0.08);
- border-radius: 999px;
- font-weight: 550;
- box-shadow: 0 4px 14px rgba(0,0,0,0.03);
- }
- .tab.active {
- background: rgba(10, 132, 255, 0.10);
- border-color: rgba(10, 132, 255, 0.30);
- color: #075ca8;
- box-shadow: 0 10px 24px rgba(10,132,255,0.10);
- }
- .quote {
- font-weight: 650;
- color: #1d1d1f;
- letter-spacing: 0;
- }
- .actor,
- .route,
- .boundary-card,
- .guard,
- .final-card,
- .panel,
- .chain-card,
- .value-btn {
- border-radius: 24px;
- box-shadow: 0 10px 28px rgba(0,0,0,0.04);
- }
- .actor {
- border-width: 1px;
- }
- .actor.sxf {
- background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
- border-color: rgba(10,132,255,0.20);
- }
- .actor.emoon {
- background: linear-gradient(180deg, #fffaf6 0%, #fff1e7 100%);
- border-color: rgba(183,90,36,0.22);
- }
- .actor-name {
- font-weight: 650;
- letter-spacing: 0;
- }
- .actor-tag,
- .owner {
- background: rgba(255,255,255,0.68);
- color: #515154;
- border: 1px solid rgba(0,0,0,0.08);
- font-weight: 550;
- }
- .actor-sub,
- .chain-card p,
- .route-note,
- .guard-quote {
- font-weight: 450;
- color: #6e6e73;
- }
- .items li,
- .mini-list li,
- .route-step {
- font-weight: 520;
- color: #2c2c2e;
- }
- .check,
- .cross,
- .lock,
- .badge,
- .big-lock,
- .eq-icon,
- .value-index,
- .chain-card .num {
- box-shadow: none;
- font-weight: 650;
- }
- .lock,
- .badge,
- .chain-card .num,
- .value-index {
- background: #e8e8ed;
- color: #3a3a3c;
- }
- .cross {
- background: #f2d7d3;
- color: #9f3228;
- }
- .check {
- background: #dff3e8;
- color: #227a4d;
- }
- .pill {
- background: rgba(255,255,255,0.85) !important;
- color: #3a3a3c;
- border: 1px solid rgba(0,0,0,0.10);
- box-shadow: 0 8px 20px rgba(0,0,0,0.04);
- font-weight: 550;
- font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;
- }
- .route.bad {
- background: #fff8f7;
- border-color: rgba(216,79,63,0.18);
- }
- .route.good {
- background: #f7fcfa;
- border-color: rgba(48,164,108,0.18);
- }
- .route h2,
- .boundary-card h2,
- .guard h2,
- .final-card h2,
- .dark-panel h2,
- .panel h2 {
- font-weight: 650;
- letter-spacing: 0;
- color: #1d1d1f;
- }
- .boundary-card:nth-child(1),
- .boundary-card:nth-child(2),
- .boundary-card:nth-child(3) {
- border-top-width: 1px;
- }
- .dark-panel,
- .value-detail,
- .bottom-line {
- background: rgba(255,255,255,0.82);
- color: #1d1d1f;
- border: 1px solid rgba(0,0,0,0.08);
- box-shadow: 0 14px 36px rgba(0,0,0,0.06);
- }
- .dark-panel::after,
- .value-detail::after {
- background: rgba(10,132,255,0.07);
- border-color: rgba(10,132,255,0.06);
- }
- .dark-panel p,
- .value-detail p,
- .bottom-line span {
- color: #6e6e73;
- font-weight: 450;
- }
- .value-detail h2 {
- color: #1d1d1f;
- font-weight: 650;
- }
- .value-point,
- .eq-text {
- background: #f5f5f7;
- color: #2c2c2e;
- border-color: rgba(0,0,0,0.08);
- font-weight: 520;
- }
- .value-btn.active {
- background: rgba(183, 90, 36, 0.08);
- border-color: rgba(183, 90, 36, 0.22);
- box-shadow: 0 12px 26px rgba(183,90,36,0.08);
- }
- .value-btn strong {
- font-weight: 520;
- }
- .guard .big-lock,
- .guard:nth-child(1) .big-lock,
- .guard:nth-child(2) .big-lock,
- .guard:nth-child(3) .big-lock {
- background: #f0f0f3;
- color: #1d1d1f;
- }
- .final-card.must,
- .final-card.give {
- background: rgba(255,255,255,0.78);
- border-color: rgba(0,0,0,0.08);
- }
- .final-card.must h2 {
- color: var(--emoon);
- }
- .final-card.give h2 {
- color: var(--sxf);
- }
- .bottom-line strong {
- color: #1d1d1f;
- font-weight: 650;
- }
- /* Claude / Anthropic-inspired warm technical palette. */
- :root {
- --ink: #2b2118;
- --muted: #7b6b5d;
- --line: #ead8c5;
- --paper: rgba(255, 252, 246, 0.94);
- --bg: #f7efe3;
- --deep: #3a2a20;
- --emoon: #b85c38;
- --emoon-soft: #fff0e6;
- --sxf: #8a5a3b;
- --sxf-soft: #fff7dc;
- --hospital: #8f6b2f;
- --hospital-soft: #fff8e9;
- --warn: #c95f4b;
- --warn-soft: #fff0ec;
- --gold: #d0933d;
- --black: #2b2118;
- --shadow: 0 26px 70px rgba(92, 54, 28, 0.14);
- }
- html, body {
- background:
- radial-gradient(circle at 14% 12%, rgba(216, 147, 61, 0.18), transparent 30%),
- radial-gradient(circle at 88% 10%, rgba(201, 95, 75, 0.15), transparent 28%),
- linear-gradient(135deg, #f7efe3 0%, #fff8ed 48%, #f4e7d7 100%);
- }
- .stage {
- background:
- linear-gradient(180deg, rgba(255,252,246,0.96), rgba(255,248,237,0.94)),
- var(--paper);
- border-color: rgba(122, 89, 58, 0.18);
- box-shadow: var(--shadow);
- }
- .stage::before {
- width: 5px;
- background: linear-gradient(180deg, #c7683f 0%, #d7a14c 46%, #b67a52 100%);
- }
- .kicker {
- color: #8a7461;
- }
- .dot {
- background: #b85c38;
- box-shadow: 14px 0 0 #d0933d, 28px 0 0 #c95f4b;
- opacity: 0.9;
- }
- h1,
- .quote,
- .meeting-card strong,
- .route h2,
- .boundary-card h2,
- .guard h2,
- .final-card h2,
- .dark-panel h2,
- .panel h2,
- .value-detail h2,
- .bottom-line strong {
- color: #2b2118;
- }
- .term {
- background: #fff7e8;
- color: #2b2118;
- border-color: rgba(142, 92, 50, 0.22);
- box-shadow: inset 0 -1px 0 rgba(142,92,50,0.08);
- }
- .headline-emoon,
- .actor.emoon .actor-name,
- .final-card.must h2 {
- color: #b85c38;
- }
- .headline-sxf,
- .actor.sxf .actor-name,
- .final-card.give h2,
- .quote .left-word {
- color: #9a673d;
- }
- .quote .right-word {
- color: #b85c38;
- }
- .quote .sep {
- color: #b9a28d;
- }
- .meeting-card {
- background: linear-gradient(145deg, #fff8ea 0%, #fff1e7 100%);
- border-color: rgba(184, 92, 56, 0.20);
- box-shadow: 0 18px 42px rgba(122, 76, 40, 0.10);
- }
- .meeting-card::after {
- background: rgba(201, 95, 75, 0.12);
- }
- .meeting-card span,
- .actor-sub,
- .chain-card p,
- .route-note,
- .guard-quote,
- .dark-panel p,
- .value-detail p,
- .bottom-line span {
- color: #7b6b5d;
- }
- .tab {
- background: rgba(255, 250, 241, 0.84);
- color: #6f5847;
- border-color: rgba(145, 105, 71, 0.18);
- box-shadow: 0 5px 16px rgba(122, 76, 40, 0.05);
- }
- .tab.active {
- background: #fff0df;
- border-color: rgba(184, 92, 56, 0.34);
- color: #a44f31;
- box-shadow: 0 12px 28px rgba(184,92,56,0.12);
- }
- .actor.sxf {
- background:
- linear-gradient(180deg, rgba(255,249,229,0.96) 0%, rgba(255,243,205,0.88) 100%);
- border-color: rgba(208, 147, 61, 0.32);
- }
- .actor.emoon {
- background:
- linear-gradient(180deg, rgba(255,246,237,0.98) 0%, rgba(255,231,218,0.86) 100%);
- border-color: rgba(184, 92, 56, 0.30);
- }
- .actor-tag,
- .owner,
- .pill {
- background: rgba(255, 249, 238, 0.88);
- color: #6f5847;
- border-color: rgba(145, 105, 71, 0.20);
- }
- .check {
- background: #f6dfb6;
- color: #79551d;
- }
- .cross {
- background: #f6d6cd;
- color: #9a4434;
- }
- .lock,
- .badge,
- .chain-card .num,
- .value-index {
- background: #f0ddc7;
- color: #6f4f35;
- }
- .route.bad {
- background: linear-gradient(180deg, #fff7f2 0%, #ffede8 100%);
- border-color: rgba(201, 95, 75, 0.25);
- }
- .route.good {
- background: linear-gradient(180deg, #fff9eb 0%, #fff1d1 100%);
- border-color: rgba(208, 147, 61, 0.30);
- }
- .route-step,
- .mini-list li,
- .value-point,
- .eq-text {
- background: rgba(255, 252, 246, 0.72);
- border-color: rgba(145, 105, 71, 0.16);
- color: #3a2a20;
- }
- .route.bad .route-note,
- .route.good .route-note,
- .guard-quote {
- background: rgba(255, 252, 246, 0.72);
- color: #7b5d45;
- border: 1px solid rgba(145, 105, 71, 0.14);
- }
- .boundary-card,
- .guard,
- .final-card,
- .panel,
- .chain-card,
- .value-btn {
- background: rgba(255, 252, 246, 0.84);
- border-color: rgba(145, 105, 71, 0.16);
- box-shadow: 0 14px 34px rgba(122, 76, 40, 0.08);
- }
- .boundary-card:nth-child(1) {
- background: linear-gradient(180deg, #fff9e8 0%, rgba(255,252,246,0.88) 100%);
- }
- .boundary-card:nth-child(2) {
- background: linear-gradient(180deg, #fff0e7 0%, rgba(255,252,246,0.88) 100%);
- }
- .boundary-card:nth-child(3) {
- background: linear-gradient(180deg, #fff6df 0%, rgba(255,252,246,0.88) 100%);
- }
- .value-detail {
- background:
- radial-gradient(circle at 94% 90%, rgba(201, 95, 75, 0.14), transparent 26%),
- linear-gradient(145deg, #fff7e8 0%, #fff0e7 54%, #fffaf4 100%);
- border-color: rgba(184, 92, 56, 0.22);
- box-shadow: 0 20px 48px rgba(122, 76, 40, 0.13);
- }
- .value-detail::after {
- background: rgba(208,147,61,0.13);
- }
- .value-btn {
- background: linear-gradient(180deg, rgba(255,252,246,0.96), rgba(255,247,235,0.86));
- }
- .value-btn:nth-child(3n + 1) {
- background: linear-gradient(180deg, #fff2e8, #fffaf3);
- }
- .value-btn:nth-child(3n + 2) {
- background: linear-gradient(180deg, #fff8e4, #fffbf4);
- }
- .value-btn:nth-child(3n) {
- background: linear-gradient(180deg, #fff0ec, #fffaf5);
- }
- .value-btn.active {
- background: linear-gradient(180deg, #fff0e2, #ffe6d7);
- border-color: rgba(184, 92, 56, 0.36);
- box-shadow: 0 14px 30px rgba(184,92,56,0.16);
- }
- .value-point {
- background: rgba(255, 252, 246, 0.76);
- }
- .value-point:nth-child(1) { background: #fff6e8; }
- .value-point:nth-child(2) { background: #fff1ea; }
- .value-point:nth-child(3) { background: #fff9df; }
- .value-point:nth-child(4) { background: #fff4ee; }
- .guard .big-lock,
- .guard:nth-child(1) .big-lock,
- .guard:nth-child(2) .big-lock,
- .guard:nth-child(3) .big-lock {
- background: linear-gradient(145deg, #ffe7d8, #fff2d4);
- color: #8f4b2d;
- border: 1px solid rgba(184, 92, 56, 0.18);
- }
- .final-card.must {
- background: linear-gradient(180deg, #fff3ea 0%, rgba(255,252,246,0.90) 100%);
- border-color: rgba(184, 92, 56, 0.24);
- }
- .final-card.give {
- background: linear-gradient(180deg, #fff8e5 0%, rgba(255,252,246,0.90) 100%);
- border-color: rgba(208, 147, 61, 0.28);
- }
- .bottom-line {
- background: linear-gradient(145deg, #fff4e8, #fff9ef);
- border-color: rgba(184, 92, 56, 0.24);
- box-shadow: 0 18px 42px rgba(122, 76, 40, 0.12);
- }
- .arrow-svg line {
- opacity: 0.72;
- }
- .arrow-svg line[stroke="#2563eb"] {
- stroke: #3ad4d8;
- opacity: 0.78;
- }
- .arrow-svg line[stroke="#c75a1f"] {
- stroke: #2b1f99;
- opacity: 0.72;
- }
- .arrow-svg path[fill="#2563eb"] {
- fill: #3ad4d8;
- }
- .arrow-svg path[fill="#c75a1f"] {
- fill: #2b1f99;
- }
- /* Medical brand palette: cyan + indigo, preserving the same layered color system. */
- :root {
- --ink: #14152f;
- --muted: #667085;
- --line: #d8e7ee;
- --paper: rgba(249, 253, 253, 0.94);
- --bg: #eef8f9;
- --deep: #2b1f99;
- --emoon: #2b1f99;
- --emoon-soft: #f0f1ff;
- --sxf: #167e90;
- --sxf-soft: #e9fbfb;
- --hospital: #209d8f;
- --hospital-soft: #edfbf7;
- --warn: #d68a42;
- --warn-soft: #fff6ec;
- --gold: #3ad4d8;
- --black: #14152f;
- --shadow: 0 26px 70px rgba(43, 31, 153, 0.12);
- }
- html, body {
- background:
- radial-gradient(circle at 14% 12%, rgba(58, 212, 216, 0.20), transparent 30%),
- radial-gradient(circle at 88% 10%, rgba(43, 31, 153, 0.13), transparent 28%),
- linear-gradient(135deg, #effbfb 0%, #fbffff 48%, #eef3ff 100%);
- }
- .stage {
- background:
- linear-gradient(180deg, rgba(249,253,253,0.97), rgba(245,250,255,0.94)),
- var(--paper);
- border-color: rgba(43, 31, 153, 0.12);
- box-shadow: var(--shadow);
- }
- .stage::before {
- background: linear-gradient(180deg, #3ad4d8 0%, #209d8f 44%, #2b1f99 100%);
- }
- .kicker {
- color: #6a7580;
- }
- .dot {
- background: #3ad4d8;
- box-shadow: 14px 0 0 #209d8f, 28px 0 0 #2b1f99;
- }
- h1,
- .quote,
- .meeting-card strong,
- .route h2,
- .boundary-card h2,
- .guard h2,
- .final-card h2,
- .dark-panel h2,
- .panel h2,
- .value-detail h2,
- .bottom-line strong {
- color: #14152f;
- }
- .term {
- background: rgba(255,255,255,0.78);
- color: #14152f;
- border-color: rgba(43, 31, 153, 0.16);
- }
- .headline-emoon,
- .actor.emoon .actor-name,
- .final-card.must h2,
- .quote .right-word {
- color: #2b1f99;
- }
- .headline-sxf,
- .actor.sxf .actor-name,
- .final-card.give h2,
- .quote .left-word {
- color: #167e90;
- }
- .quote .sep {
- color: #97a6b1;
- }
- .meeting-card {
- background: linear-gradient(145deg, #f0feff 0%, #f2f3ff 100%);
- border-color: rgba(58, 212, 216, 0.28);
- box-shadow: 0 18px 42px rgba(43, 31, 153, 0.08);
- }
- .meeting-card::after {
- background: rgba(43, 31, 153, 0.08);
- }
- .meeting-card span,
- .actor-sub,
- .chain-card p,
- .route-note,
- .guard-quote,
- .dark-panel p,
- .value-detail p,
- .bottom-line span {
- color: #667085;
- }
- .tab {
- background: rgba(255,255,255,0.82);
- color: #4f5f6f;
- border-color: rgba(43, 31, 153, 0.10);
- box-shadow: 0 5px 16px rgba(43, 31, 153, 0.04);
- }
- .tab.active {
- background: #e9fbfb;
- border-color: rgba(58, 212, 216, 0.62);
- color: #1b6f80;
- box-shadow: 0 12px 28px rgba(58,212,216,0.15);
- }
- .actor.sxf {
- background:
- linear-gradient(180deg, rgba(238,254,254,0.98) 0%, rgba(226,249,250,0.90) 100%);
- border-color: rgba(58, 212, 216, 0.42);
- }
- .actor.emoon {
- background:
- linear-gradient(180deg, rgba(247,247,255,0.98) 0%, rgba(237,239,255,0.90) 100%);
- border-color: rgba(43, 31, 153, 0.22);
- }
- .actor-tag,
- .owner,
- .pill {
- background: rgba(255,255,255,0.72);
- color: #4f5f6f;
- border-color: rgba(43, 31, 153, 0.12);
- }
- .check {
- background: #dff7f1;
- color: #167b70;
- }
- .cross {
- background: #fff0d9;
- color: #a86624;
- }
- .lock,
- .badge,
- .chain-card .num,
- .value-index {
- background: #e5fbfc;
- color: #167e90;
- }
- .route.bad {
- background: linear-gradient(180deg, #fffaf3 0%, #fff3e5 100%);
- border-color: rgba(214, 138, 66, 0.22);
- }
- .route.good {
- background: linear-gradient(180deg, #effefe 0%, #eaf5ff 100%);
- border-color: rgba(58, 212, 216, 0.36);
- }
- .route-step,
- .mini-list li,
- .value-point,
- .eq-text {
- background: rgba(255,255,255,0.74);
- border-color: rgba(43, 31, 153, 0.10);
- color: #25264a;
- }
- .route.bad .route-note,
- .route.good .route-note,
- .guard-quote {
- background: rgba(255,255,255,0.72);
- color: #5f6a75;
- border-color: rgba(43, 31, 153, 0.10);
- }
- .boundary-card,
- .guard,
- .final-card,
- .panel,
- .chain-card,
- .value-btn {
- background: rgba(255,255,255,0.84);
- border-color: rgba(43, 31, 153, 0.10);
- box-shadow: 0 14px 34px rgba(43, 31, 153, 0.07);
- }
- .boundary-card:nth-child(1) {
- background: linear-gradient(180deg, #eafefe 0%, rgba(255,255,255,0.88) 100%);
- }
- .boundary-card:nth-child(2) {
- background: linear-gradient(180deg, #f1f2ff 0%, rgba(255,255,255,0.88) 100%);
- }
- .boundary-card:nth-child(3) {
- background: linear-gradient(180deg, #edfdf8 0%, rgba(255,255,255,0.88) 100%);
- }
- .value-detail {
- background:
- radial-gradient(circle at 94% 90%, rgba(43, 31, 153, 0.10), transparent 26%),
- linear-gradient(145deg, #f0feff 0%, #f4f5ff 54%, #fbffff 100%);
- border-color: rgba(58, 212, 216, 0.36);
- box-shadow: 0 20px 48px rgba(43, 31, 153, 0.11);
- }
- .value-detail::after {
- background: rgba(58, 212, 216, 0.16);
- }
- .value-btn {
- background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(239,254,254,0.72));
- }
- .value-btn:nth-child(3n + 1) {
- background: linear-gradient(180deg, #effefe, #fbffff);
- }
- .value-btn:nth-child(3n + 2) {
- background: linear-gradient(180deg, #f3f4ff, #fbffff);
- }
- .value-btn:nth-child(3n) {
- background: linear-gradient(180deg, #edfdf8, #fbffff);
- }
- .value-btn.active {
- background: linear-gradient(180deg, #e8fcfd, #e4e7ff);
- border-color: rgba(43, 31, 153, 0.30);
- box-shadow: 0 14px 30px rgba(43,31,153,0.13);
- }
- .value-point:nth-child(1) { background: #eefefe; }
- .value-point:nth-child(2) { background: #f1f3ff; }
- .value-point:nth-child(3) { background: #eefbf6; }
- .value-point:nth-child(4) { background: #f5f6ff; }
- .guard .big-lock,
- .guard:nth-child(1) .big-lock,
- .guard:nth-child(2) .big-lock,
- .guard:nth-child(3) .big-lock {
- background: linear-gradient(145deg, #e5fbfc, #f0f2ff);
- color: #2b1f99;
- border-color: rgba(43, 31, 153, 0.14);
- }
- .final-card.must {
- background: linear-gradient(180deg, #f3f4ff 0%, rgba(255,255,255,0.90) 100%);
- border-color: rgba(43, 31, 153, 0.18);
- }
- .final-card.give {
- background: linear-gradient(180deg, #eafefe 0%, rgba(255,255,255,0.90) 100%);
- border-color: rgba(58, 212, 216, 0.32);
- }
- .bottom-line {
- background: linear-gradient(145deg, #f1f3ff, #effefe);
- border-color: rgba(43, 31, 153, 0.18);
- box-shadow: 0 18px 42px rgba(43, 31, 153, 0.10);
- }
- h1 { font-weight: 580; }
- h1 .term { font-weight: 600; }
- .quote {
- font-weight: 560;
- }
- .quote .term {
- background: transparent;
- border: 0;
- box-shadow: none;
- padding: 0;
- border-radius: 0;
- color: inherit;
- font-size: 1em;
- vertical-align: baseline;
- font-weight: 580;
- }
- .actor-name,
- .route h2,
- .boundary-card h2,
- .guard h2,
- .final-card h2,
- .dark-panel h2,
- .panel h2,
- .value-detail h2 {
- font-weight: 560;
- }
- .items li,
- .mini-list li,
- .route-step,
- .value-point,
- .eq-text {
- font-weight: 470;
- }
- .route-step strong,
- .items strong,
- strong {
- font-weight: 580;
- }
- .actor-tag,
- .owner,
- .pill,
- .tab,
- .value-btn strong {
- font-weight: 500;
- }
- .arrow-svg line {
- opacity: 0.58;
- stroke-width: 3;
- }
- /* Final flat medical style: no glow gradients, no AI-like purple-blue blends. */
- html, body {
- background: #f4f8f9;
- }
- .stage {
- background: #fbfdfd;
- box-shadow: 0 18px 48px rgba(43, 31, 153, 0.08);
- }
- .stage::before {
- background: #3ad4d8;
- }
- .meeting-card,
- .actor,
- .route,
- .boundary-card,
- .guard,
- .final-card,
- .panel,
- .chain-card,
- .value-btn,
- .value-detail,
- .bottom-line {
- box-shadow: 0 10px 28px rgba(20, 21, 47, 0.05);
- }
- .meeting-card {
- background: #f3fbfc;
- }
- .meeting-card::after,
- .value-detail::after {
- display: none;
- }
- .actor.sxf {
- background: #edfafa;
- border-color: rgba(58, 212, 216, 0.42);
- }
- .actor.emoon {
- background: #f2f3ff;
- border-color: rgba(43, 31, 153, 0.20);
- }
- .route.bad {
- background: #fff8ef;
- border-color: rgba(214, 138, 66, 0.20);
- }
- .route.good {
- background: #eefafa;
- border-color: rgba(58, 212, 216, 0.34);
- }
- .boundary-card:nth-child(1),
- .value-btn:nth-child(3n + 1),
- .value-point:nth-child(1) {
- background: #edfafa;
- }
- .boundary-card:nth-child(2),
- .value-btn:nth-child(3n + 2),
- .value-point:nth-child(2) {
- background: #f2f3ff;
- }
- .boundary-card:nth-child(3),
- .value-btn:nth-child(3n),
- .value-point:nth-child(3) {
- background: #eff9f5;
- }
- .value-detail {
- background: #f2f8fb;
- border-color: rgba(58, 212, 216, 0.36);
- }
- .value-point:nth-child(4) {
- background: #f5f7fb;
- }
- .value-btn {
- background: #ffffff;
- }
- .value-btn.active {
- background: #e9fbfb;
- border-color: rgba(58, 212, 216, 0.56);
- box-shadow: 0 12px 28px rgba(58, 212, 216, 0.12);
- }
- .guard .big-lock,
- .guard:nth-child(1) .big-lock,
- .guard:nth-child(2) .big-lock,
- .guard:nth-child(3) .big-lock {
- background: #e9fbfb;
- color: #2b1f99;
- }
- .final-card.must {
- background: #f2f3ff;
- border-color: rgba(43, 31, 153, 0.16);
- }
- .final-card.give {
- background: #edfafa;
- border-color: rgba(58, 212, 216, 0.34);
- }
- .bottom-line {
- background: #f3fbfc;
- border-color: rgba(58, 212, 216, 0.32);
- }
- .check {
- background: #dff7f1;
- color: #137a70;
- }
- .lock,
- .badge,
- .chain-card .num,
- .value-index {
- background: #e9fbfb;
- color: #167e90;
- }
- .cross {
- background: #eef0f4;
- color: #6b7280;
- }
- .value-layout {
- grid-template-columns: 390px 1fr;
- }
- .value-menu {
- grid-template-columns: 1fr;
- gap: 8px;
- }
- .value-btn {
- min-height: 50px;
- padding: 10px 12px;
- grid-template-columns: 32px 1fr;
- column-gap: 10px;
- }
- .value-btn,
- .value-btn:nth-child(3n + 1),
- .value-btn:nth-child(3n + 2),
- .value-btn:nth-child(3n) {
- background: #ffffff;
- border-color: #e4e8f0;
- }
- .value-index {
- width: 26px;
- height: 26px;
- }
- .value-btn strong {
- line-height: 1.25;
- }
- /* Strict final palette: brand cyan + brand indigo + neutrals only. */
- html, body {
- background: #f6f8fb;
- }
- .stage {
- background: #ffffff;
- border-color: #e5e7ef;
- box-shadow: 0 18px 48px rgba(20, 21, 47, 0.08);
- }
- .stage::before {
- background: #3ad4d8;
- }
- .dot {
- background: #3ad4d8;
- box-shadow: 14px 0 0 #2b1f99, 28px 0 0 #a9b0bd;
- }
- .meeting-card,
- .actor,
- .route,
- .boundary-card,
- .guard,
- .final-card,
- .panel,
- .chain-card,
- .value-btn,
- .value-detail,
- .bottom-line {
- box-shadow: 0 10px 28px rgba(20, 21, 47, 0.045);
- }
- .meeting-card,
- .actor.sxf,
- .route.good,
- .boundary-card:nth-child(1),
- .value-btn:nth-child(3n + 1),
- .value-point:nth-child(1),
- .final-card.give,
- .bottom-line {
- background: #eefcfd;
- border-color: rgba(58, 212, 216, 0.42);
- }
- .actor.emoon,
- .boundary-card:nth-child(2),
- .value-btn:nth-child(3n + 2),
- .value-point:nth-child(2),
- .final-card.must {
- background: #f2f2fb;
- border-color: rgba(43, 31, 153, 0.20);
- }
- .route.bad,
- .boundary-card:nth-child(3),
- .guard,
- .value-btn:nth-child(3n),
- .value-point:nth-child(3),
- .value-point:nth-child(4) {
- background: #f7f9fc;
- border-color: #e4e8f0;
- }
- .value-detail {
- background: #f3fbfc;
- border-color: rgba(58, 212, 216, 0.42);
- }
- .value-btn {
- display: grid;
- grid-template-columns: 34px 1fr;
- align-items: start;
- column-gap: 10px;
- background: #ffffff;
- border-color: #e4e8f0;
- }
- .value-btn.active {
- background: #eefcfd;
- border-color: rgba(43, 31, 153, 0.30);
- box-shadow: 0 12px 28px rgba(43, 31, 153, 0.10);
- }
- .value-index {
- margin: 0;
- width: 28px;
- height: 28px;
- background: #e9fbfb;
- color: #2b1f99;
- }
- .value-btn strong {
- padding-top: 1px;
- min-width: 0;
- }
- .check,
- .lock,
- .badge,
- .chain-card .num {
- background: #e9fbfb;
- color: #2b1f99;
- }
- .cross {
- background: #eef0f4;
- color: #6b7280;
- }
- .guard .big-lock,
- .guard:nth-child(1) .big-lock,
- .guard:nth-child(2) .big-lock,
- .guard:nth-child(3) .big-lock {
- background: #e9fbfb;
- color: #2b1f99;
- border-color: rgba(58, 212, 216, 0.42);
- }
- .route.bad .route-note,
- .route.good .route-note,
- .guard-quote,
- .route-step,
- .mini-list li,
- .value-point,
- .eq-text {
- background: #ffffff;
- border-color: #e4e8f0;
- color: #25264a;
- }
- .tab.active {
- background: #eefcfd;
- color: #2b1f99;
- border-color: rgba(58, 212, 216, 0.55);
- }
- .value-menu .value-btn:not(.active),
- .value-menu .value-btn:not(.active):nth-child(3n + 1),
- .value-menu .value-btn:not(.active):nth-child(3n + 2),
- .value-menu .value-btn:not(.active):nth-child(3n) {
- background: #ffffff;
- border-color: #e4e8f0;
- }
- .value-menu .value-btn.active {
- background: #eefcfd;
- border-color: rgba(58, 212, 216, 0.55);
- }
- @media (max-width: 980px) {
- body { padding: 18px; }
- .stage { width: calc(100vw - 36px); }
- .topbar { flex-direction: column; padding: 28px 28px 0 36px; }
- .meeting-card { flex-basis: auto; width: 100%; }
- .tabs { grid-template-columns: repeat(2, 1fr); padding: 20px 28px 0 36px; }
- .content { padding: 24px 28px 34px 36px; }
- .split, .summary-grid, .compare-wrap, .boundary-grid, .value-layout, .guard-grid, .final-layout {
- grid-template-columns: 1fr;
- }
- .protocol { min-height: 140px; }
- .chain { grid-template-columns: 1fr; }
- .value-menu { grid-template-columns: 1fr; }
- .value-points { grid-template-columns: 1fr; }
- .bottom-line { flex-direction: column; align-items: flex-start; }
- }
- </style>
- </head>
- <body>
- <main class="stage">
- <header class="topbar">
- <div>
- <div class="kicker"><span class="dot"></span>对外会议展示版 · 面向深信服技术与商务团队</div>
- <h1><span class="term">FastGPT</span> 做 AI 底座,<span class="headline-emoon">医梦</span> 做医疗闭环</h1>
- </div>
- <aside class="meeting-card">
- <strong>联合方案核心</strong>
- <span>FastGPT 的平台能力,与医梦的医疗场景、系统接口、医生确认和运营闭环结合,才能形成医院可上线、可验收、可复制的方案。</span>
- </aside>
- </header>
- <nav class="tabs" aria-label="展示场景">
- <button class="tab active" data-scene="scene-1">合作模式</button>
- <button class="tab" data-scene="scene-2">医疗落地难点</button>
- <button class="tab" data-scene="scene-3">技术分工</button>
- <button class="tab" data-scene="scene-4">医梦价值</button>
- <button class="tab" data-scene="scene-5">边界共识</button>
- <button class="tab" data-scene="scene-6">落地路径</button>
- </nav>
- <section class="content">
- <article id="scene-1" class="scene active">
- <div class="quote">
- <span class="left-word">深信服</span>提供 AI 底座<span class="sep">,</span><span class="right-word">医梦</span>补齐医疗闭环
- </div>
- <div class="split">
- <div class="actor sxf">
- <div class="actor-title">
- <span class="actor-name">深信服 FastGPT</span>
- <span class="actor-tag">AI 底座</span>
- </div>
- <div class="actor-sub">负责通用 AI 能力运行、部署和平台化支撑</div>
- <ul class="items">
- <li><span class="check">✓</span><span>智能体构建、Workflow 编排、RAG 运行</span></li>
- <li><span class="check">✓</span><span>模型接入、OCR、多模态、Embedding、Rerank</span></li>
- <li><span class="check">✓</span><span>算力、GPU、超融合、私有化部署和平台运维</span></li>
- <li><span class="lock">边</span><span>医疗业务系统由医梦控制层统一封装</span></li>
- <li><span class="lock">边</span><span>医疗写操作经医生 / 患者确认后执行</span></li>
- </ul>
- </div>
- <div class="protocol">
- <span class="pill sxf">AI 子流程</span>
- <svg class="arrow-svg" viewBox="0 0 205 105" aria-hidden="true">
- <defs>
- <marker id="arrR1" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
- <path d="M0,0 L12,6 L0,12 Z" fill="#2563eb"></path>
- </marker>
- <marker id="arrL1" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
- <path d="M12,0 L0,6 L12,12 Z" fill="#c75a1f"></path>
- </marker>
- </defs>
- <line class="arrow-flow" x1="20" y1="30" x2="178" y2="30" stroke="#2563eb" stroke-width="4" marker-end="url(#arrR1)"></line>
- <line class="arrow-flow" x1="178" y1="74" x2="28" y2="74" stroke="#c75a1f" stroke-width="4" marker-end="url(#arrL1)"></line>
- </svg>
- <span class="pill emoon">医疗主流程</span>
- </div>
- <div class="actor emoon">
- <div class="actor-title">
- <span class="actor-name">医梦控制层</span>
- <span class="actor-tag">医疗闭环</span>
- </div>
- <div class="actor-sub">负责把 AI 能力转成医院可上线、可验收的场景</div>
- <ul class="items">
- <li><span class="check">✓</span><span>统一入口、身份权限、医疗场景路由</span></li>
- <li><span class="check">✓</span><span>MCP Gateway 封装 HIS / LIS / EMR / 慢病</span></li>
- <li><span class="check">✓</span><span>Card Runtime 承接医生确认、患者确认和幂等审计</span></li>
- <li><span class="check">✓</span><span>知识库源资产、医生反馈、医疗安全规则</span></li>
- <li><span class="check">✓</span><span>能力值、场景计量、运营和商业闭环</span></li>
- </ul>
- </div>
- </div>
- </article>
- <article id="scene-2" class="scene">
- <div class="quote">医疗项目不是<span class="term">问答 Demo</span><span class="sep">,</span>而是可确认、可审计的业务闭环</div>
- <div class="compare-wrap">
- <div class="route bad">
- <h2><span class="badge">!</span> 通用平台单独落地的难点</h2>
- <div class="route-line">
- <div class="route-step"><span class="cross">!</span><strong>用户入口</strong> 需要身份、权限和端侧场景治理</div>
- <div class="route-step"><span class="cross">!</span><strong>院内接口</strong> 需要厂商差异适配和安全控制</div>
- <div class="route-step"><span class="cross">!</span><strong>模型输出</strong> 需要医疗安全校验和端侧表达转换</div>
- <div class="route-step"><span class="cross">!</span><strong>业务写操作</strong> 需要确认、审计、幂等和补偿</div>
- <div class="route-step"><span class="cross">!</span><strong>知识与反馈</strong> 需要医学审核和持续运营</div>
- </div>
- <div class="route-note">结论:FastGPT 能力很强,但医疗落地还需要行业控制层承接真实业务复杂度。</div>
- </div>
- <div class="route good">
- <h2><span class="badge">✓</span> FastGPT + 医梦后的闭环</h2>
- <div class="route-line">
- <div class="route-step"><span class="check">✓</span><strong>统一入口</strong> 承接患者端、医生端和终端设备</div>
- <div class="route-step"><span class="check">✓</span><strong>MCP Gateway</strong> 受控封装医院系统接口</div>
- <div class="route-step"><span class="check">✓</span><strong>FastGPT</strong> 只处理标准化后的 AI 子任务</div>
- <div class="route-step"><span class="check">✓</span><strong>Card Runtime</strong> 承接确认、幂等、审计和状态</div>
- <div class="route-step"><span class="check">✓</span><strong>反馈与计量</strong> 回到医梦,形成可复制场景包</div>
- </div>
- <div class="route-note">结论:深信服保持平台通用性,医梦承担医疗行业复杂度,联合方案更容易复制。</div>
- </div>
- </div>
- </article>
- <article id="scene-3" class="scene">
- <div class="quote"><span class="term">边界清楚</span>,双方能力才能形成联合方案</div>
- <div class="boundary-grid">
- <div class="boundary-card">
- <h2>AI 能力底座</h2>
- <span class="owner">深信服主责</span>
- <ul class="mini-list">
- <li>FastGPT Agent Builder</li>
- <li>Workflow 引擎与节点运行</li>
- <li>RAG、Embedding、Rerank</li>
- <li>LLM、OCR、多模态能力</li>
- <li>GPU、私有化部署、平台日志</li>
- </ul>
- </div>
- <div class="boundary-card">
- <h2>医疗控制层</h2>
- <span class="owner">医梦主责</span>
- <ul class="mini-list">
- <li>统一入口与身份权限</li>
- <li>医疗场景路由与任务状态机</li>
- <li>MCP Gateway 医疗工具语义</li>
- <li>Card Runtime 医疗关键动作</li>
- <li>医生反馈、知识源资产、计量账本</li>
- </ul>
- </div>
- <div class="boundary-card">
- <h2>联合交付场景包</h2>
- <span class="owner">双方协同</span>
- <ul class="mini-list">
- <li>报告解读智能体</li>
- <li>慢病任务生成智能体</li>
- <li>挂号与导诊智能体</li>
- <li>知识库运行副本同步</li>
- <li>PoC 验证、场景验收、联合复制</li>
- </ul>
- </div>
- </div>
- <div class="chain">
- <div class="chain-card active-pulse">
- <span class="num">1</span>
- <h3>用户入口</h3>
- <p>患者端、医生端、设备端先进入医梦统一入口。</p>
- </div>
- <div class="chain-card active-pulse">
- <span class="num">2</span>
- <h3>医疗控制</h3>
- <p>身份、权限、场景、任务状态由医梦判断。</p>
- </div>
- <div class="chain-card active-pulse">
- <span class="num">3</span>
- <h3>AI 子流程</h3>
- <p>FastGPT 执行 LLM、RAG、Workflow、OCR。</p>
- </div>
- <div class="chain-card active-pulse">
- <span class="num">4</span>
- <h3>卡片确认</h3>
- <p>医生或患者确认后,关键动作才继续。</p>
- </div>
- <div class="chain-card active-pulse">
- <span class="num">5</span>
- <h3>医院系统</h3>
- <p>写操作经医梦 MCP Gateway 进入院内系统。</p>
- </div>
- </div>
- </article>
- <article id="scene-4" class="scene">
- <div class="quote">医梦让 FastGPT 进入医疗项目的<span class="term">八大价值</span></div>
- <div class="value-layout">
- <div class="value-menu" id="valueMenu"></div>
- <div class="value-detail">
- <h2 id="valueTitle"></h2>
- <p id="valueText"></p>
- <div class="value-points" id="valuePoints"></div>
- </div>
- </div>
- </article>
- <article id="scene-5" class="scene">
- <div class="quote">三类共识:<span class="headline-emoon">入口</span>、<span class="headline-emoon">系统</span>、<span class="headline-emoon">医疗资产</span>需要医梦承接</div>
- <div class="guard-grid">
- <div class="guard">
- <div class="big-lock">1</div>
- <h2>用户入口统一进医梦</h2>
- <ul class="items">
- <li><span class="lock">边</span><span>患者端、医生端、门户、小程序、设备端统一进医梦入口</span></li>
- <li><span class="check">✓</span><span>FastGPT 输出经医梦做安全校验和卡片封装</span></li>
- <li><span class="check">✓</span><span>医梦负责端侧表达、卡片封装和风险提示</span></li>
- </ul>
- <div class="guard-quote">这样能保证不同终端体验一致,也方便医院验收。</div>
- </div>
- <div class="guard">
- <div class="big-lock">2</div>
- <h2>医院系统通过医梦封装</h2>
- <ul class="items">
- <li><span class="lock">边</span><span>HIS / LIS / EMR / 慢病 / 支付接口由医梦封装</span></li>
- <li><span class="check">✓</span><span>FastGPT 调用医梦提供的标准受控工具</span></li>
- <li><span class="check">✓</span><span>医梦处理权限、脱敏、幂等、审计和补偿</span></li>
- </ul>
- <div class="guard-quote">这样深信服不用陷入每家医院接口差异。</div>
- </div>
- <div class="guard">
- <div class="big-lock">3</div>
- <h2>医疗资产由医梦主控</h2>
- <ul class="items">
- <li><span class="lock">边</span><span>知识库源文件、医疗模板、医生反馈由医梦主控</span></li>
- <li><span class="check">✓</span><span>FastGPT 承载知识库运行副本和检索能力</span></li>
- <li><span class="check">✓</span><span>场景包、验收指标、能力值计量支撑商业闭环</span></li>
- </ul>
- <div class="guard-quote">这样平台能力才能沉淀为可复制的医疗场景包。</div>
- </div>
- </div>
- </article>
- <article id="scene-6" class="scene">
- <div class="quote">落地路径:先做<span class="term">报告解读 PoC</span>,再复制场景包</div>
- <div class="final-layout">
- <div class="final-card must">
- <h2>联合方案共识</h2>
- <ul class="items">
- <li><span class="check">✓</span><span>FastGPT 作为后方 AI 能力底座接入医梦控制层</span></li>
- <li><span class="check">✓</span><span>医院系统由医梦 MCP Gateway 统一封装</span></li>
- <li><span class="check">✓</span><span>医疗写操作经过医生 / 患者确认和审计</span></li>
- <li><span class="check">✓</span><span>医生反馈、知识源资产、医疗模板持续迭代</span></li>
- <li><span class="check">✓</span><span>双方共同形成可采购、可验收、可复制的场景包</span></li>
- </ul>
- </div>
- <div class="final-card give">
- <h2>第一阶段建议</h2>
- <ul class="items">
- <li><span class="check">✓</span><span>验证 FastGPT 外部 API / Tool / MCP 调用能力</span></li>
- <li><span class="check">✓</span><span>验证 RAG、OCR、Workflow 和结构化 JSON 输出</span></li>
- <li><span class="check">✓</span><span>打通 report.searchReports 和 report.getReportDetail</span></li>
- <li><span class="check">✓</span><span>医梦封装医生端摘要卡和患者端通俗解读卡</span></li>
- <li><span class="check">✓</span><span>形成 PoC 评估报告和下一阶段慢病任务方案</span></li>
- </ul>
- </div>
- </div>
- <div class="bottom-line">
- <strong>一句话结论:FastGPT 提供平台能力,医梦让平台能力进入医疗真实场景。</strong>
- <span>双方不是替代关系,而是“AI 底座 + 医疗控制层”的联合解决方案。</span>
- </div>
- </article>
- </section>
- </main>
- <script>
- const tabs = Array.from(document.querySelectorAll('.tab'));
- const scenes = Array.from(document.querySelectorAll('.scene'));
- let current = 0;
- let autoTimer = null;
- function showScene(index) {
- current = index;
- tabs.forEach((tab, i) => tab.classList.toggle('active', i === index));
- scenes.forEach((scene, i) => scene.classList.toggle('active', i === index));
- }
- tabs.forEach((tab, index) => {
- tab.addEventListener('click', () => {
- showScene(index);
- });
- });
- document.addEventListener('keydown', (event) => {
- if (event.key === 'ArrowRight') showScene((current + 1) % scenes.length);
- if (event.key === 'ArrowLeft') showScene((current - 1 + scenes.length) % scenes.length);
- });
- const values = [
- {
- title: '1. 从通用 Agent 平台变成医疗可交付系统',
- text: 'FastGPT 已经具备智能体、Workflow、RAG、模型调用等平台能力。医梦的价值是把这些平台能力组织成医院能上线、医生愿意用、患者看得懂、甲方能验收的医疗场景包。',
- points: ['定义报告解读、慢病任务、挂号导诊等医疗场景', '设计医疗任务状态机和关键确认点', '区分医生端专业摘要与患者端通俗表达', '补齐场景验收指标、样例数据和上线标准']
- },
- {
- title: '2. 掌握医疗业务接口语义',
- text: 'HIS、LIS、EMR、慢病平台不是普通 API。一个查报告、锁号或发任务动作背后包含权限、业务状态、厂商差异、补偿和审计责任,必须由医疗工具语义层统一封装。',
- points: ['报告查询要判断最终审核、作废、危急值和查看权限', '挂号锁号要处理身份确认、重复锁号、超时释放', '慢病任务要区分草案、医生确认、居民下发', '医梦 MCP Gateway 把复杂院内接口变成受控标准工具']
- },
- {
- title: '3. 负责医疗安全边界',
- text: '医疗 AI 输出不能只追求流畅。模型原始输出不能直接给患者或直接形成医疗事实,必须经过风险分层、禁止表达、患者端通俗化、医生确认和高风险转人工。',
- points: ['禁止自动诊断、自动处方和越权建议', '患者端避免恐慌表达,医生端保留专业结构', '危急值、高风险、用药相关内容进入确认或转人工', '所有关键输出经过 Schema 校验和审计留痕']
- },
- {
- title: '4. 拥有医疗知识库工程能力',
- text: 'FastGPT 可以承载知识库运行副本,但医疗知识库不是简单上传几份指南。医梦负责医学知识怎么拆、怎么写、怎么审核、怎么版本化,以及如何根据医生反馈持续迭代。',
- points: ['血常规拆成指标解释、异常组合、风险分层、趋势分析', '慢病拆成饮食、运动、用药提醒、复诊随访规则', '维护患者端表达、医生端模板和禁止表达库', '医学审核后发布版本,再同步到 FastGPT 运行副本']
- },
- {
- title: '5. 设计医生反馈闭环',
- text: '通用平台反馈通常是点赞、点踩和调用日志。医疗智能体需要知道医生是否采纳、改了哪里、哪个指标解释不准确、是否漏掉关键异常,并把这些反馈反哺知识库和 Workflow。',
- points: ['记录采纳率、修改率、错误类型和风险标注', '反馈关联指标、文本段落、知识条目和模型版本', '医生修正文案进入知识库源资产和 Prompt 优化池', '形成医疗场景 Benchmark,支撑持续运营和专病优化']
- },
- {
- title: '6. 用 Card Runtime 承接关键动作',
- text: '医疗场景不能只靠聊天输出。挂号、报告解读、慢病任务、随访计划都需要可确认、可审计、可过期、可回滚的医疗卡片,避免 AI 直接越权执行。',
- points: ['报告异常摘要卡、患者通俗解读卡、医生反馈卡', '慢病任务草案卡、医生审核卡、随访风险提醒卡', '卡片动作绑定幂等、过期、审计和状态流转', '医生或患者确认后,才进入受控工具调用链路']
- },
- {
- title: '7. 包装成甲方可采购的场景包',
- text: '医院不会单独验收“有没有 Workflow、有没有 RAG”。医院验收的是报告解读是否准确、慢病任务是否可审核、挂号导诊是否能闭环、业务系统是否真正打通。',
- points: ['每个场景包包含业务流程、工具清单、知识库结构', '提供 Prompt 模板、Card Schema、风险规则和测试用例', '定义结构化解析成功率、医生采纳率、严重错误率', '把平台能力转成可试点、可采购、可复制的交付物']
- },
- {
- title: '8. 补齐医疗商业化计量',
- text: 'FastGPT 的 usage 统计适合核算 AI 成本,但医疗商业化还需要按医院、科室、医生、设备、报告类型、场景包、采纳率和质量评分做运营计量。',
- points: ['按医院、科室、医生、患者端和医生端统计', '按智能体、设备、报告类型、任务类型归因', '结合采纳率、修改率、任务生成量和服务包转化', '支撑能力值、场景包授权、知识库建设和运营服务费']
- }
- ];
- const valueMenu = document.getElementById('valueMenu');
- const valueTitle = document.getElementById('valueTitle');
- const valueText = document.getElementById('valueText');
- const valuePoints = document.getElementById('valuePoints');
- let valueIndex = 0;
- let valueTimer = null;
- function renderValueButtons() {
- valueMenu.innerHTML = values.map((item, index) => `
- <button class="value-btn ${index === 0 ? 'active' : ''}" data-value="${index}">
- <span class="value-index">${index + 1}</span>
- <strong>${item.title.replace(/^[0-9]+\\.\\s*/, '')}</strong>
- </button>
- `).join('');
- Array.from(document.querySelectorAll('.value-btn')).forEach((btn) => {
- btn.addEventListener('click', () => {
- setValue(Number(btn.dataset.value));
- });
- });
- }
- function setValue(index) {
- valueIndex = index;
- const item = values[index];
- Array.from(document.querySelectorAll('.value-btn')).forEach((btn, i) => {
- btn.classList.toggle('active', i === index);
- });
- valueTitle.textContent = item.title;
- valueText.textContent = item.text;
- valuePoints.innerHTML = item.points.map(point => `<div class="value-point">${point}</div>`).join('');
- }
- function restartAutoValues() {}
- renderValueButtons();
- setValue(0);
- </script>
- </body>
- </html>
|